*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: #171a22;
  background: #fff;
  font-family: "Google Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, p { margin: 0; }
.skip {
  position: absolute;
  left: 12px;
  top: 0;
  transform: translateY(-160%);
  background: #171a22;
  color: #fff;
  padding: 8px 12px;
  z-index: 80;
}
.skip:focus { top: 12px; transform: translateY(0); }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.kicker { margin: 0 0 12px; color: #2f7ef6; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lead { color: #667085; font-size: 1.08rem; max-width: 46rem; }
.section { padding: 58px 0; }
.page-hero { padding: 48px 0 10px; }
.page-hero .lead, .narrow-head .lead { margin-top: 16px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 650;
  font-size: .95rem;
  cursor: pointer;
  background: transparent;
}
.btn-primary { background: #2f7ef6; color: #fff; box-shadow: 0 8px 20px rgba(47, 126, 246, .28); }
.btn-primary:hover { background: #1d64d8; }
.btn-ghost { background: #fff; border-color: #d5deea; color: #171a22; }
.btn-ghost:hover { border-color: #b7c5d8; }
.google-mark {
  display: inline-block;
  background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 43%, #fbbc05 0 67%, #ea4335 0 82%, #4285f4 0);
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  font-weight: 800;
}
.blog-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 36px; align-items: start; }
.blog-side { position: sticky; top: 88px; }
.blog-side nav { display: grid; gap: 4px; }
.blog-side nav a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px 12px; text-decoration: none; }
.blog-feed { display: grid; gap: 16px; min-width: 0; }
.blog-lead { display: grid; gap: 8px; padding: 14px; }
.blog-card { display: flex; flex-direction: column; gap: 10px; padding: 12px; }
.blog-card-media { display: block; overflow: hidden; }
.blog-lead .blog-card-media img { width: 100%; height: 360px; object-fit: cover; }
.blog-card .blog-card-media img { width: 100%; height: 168px; object-fit: cover; }
.blog-card-copy { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.blog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.blog-reading { min-width: 0; padding-bottom: 24px; }
.blog-reading .prose { max-width: none; }
.article { padding: 42px 0 72px; }
.cover { width: 100%; border-radius: 18px; margin: 8px 0 22px; }
.empty { color: #667085; }
.prose p { margin: 0 0 16px; font-size: 1.08rem; line-height: 1.75; }
.prose ul, .prose ol { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.prose li { position: relative; padding-left: 22px; }
.prose ul li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: #2f7ef6; }
.prose ol { counter-reset: prose; }
.prose ol li { counter-increment: prose; }
.prose ol li::before { content: counter(prose); position: absolute; left: 0; top: 0; color: #1d64d8; font-size: .85rem; font-weight: 700; }
.prose hr { height: 1px; margin: 1.8em 0; border: 0; background: #e6e8ee; }
.lightbox { width: fit-content; max-width: min(1120px, calc(100vw - 48px)); max-height: calc(100vh - 40px); margin: auto; padding: 0; border: 0; background: transparent; overflow: visible; }
.lightbox::backdrop { background: rgba(10, 16, 28, .78); }
.lightbox img { display: block; max-width: min(1120px, calc(100vw - 48px)); max-height: calc(100vh - 64px); width: auto; height: auto; border-radius: 16px; background: #111; }
.lightbox-close, .lightbox-nav { position: absolute; z-index: 2; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #1a2744; cursor: pointer; font-size: 1.45rem; line-height: 1; }
.lightbox-close { top: 12px; right: 12px; }
.lightbox-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 12px; top: 50%; transform: translateY(-50%); }
.inquiry-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.inquiry-actions { display: flex; justify-content: flex-end; }
.float-field { position: relative; display: block; }
.float-field input, .float-field textarea, .float-field select { width: 100%; border: 1px solid #e4ebf4; border-radius: 12px; background: #fff; padding: 16px 14px 6px; }
.float-field textarea { min-height: 88px; resize: vertical; }
.float-field select { appearance: none; padding: 11px 36px 11px 14px; background-image: linear-gradient(45deg, transparent 50%, #8b97a8 50%), linear-gradient(135deg, #8b97a8 50%, transparent 50%); background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.float-field span { position: absolute; left: 14px; top: 11px; color: #8b97a8; font-weight: 400; pointer-events: none; transition: .15s ease; }
.float-field input:focus + span, .float-field input:not(:placeholder-shown) + span,
.float-field textarea:focus + span, .float-field textarea:not(:placeholder-shown) + span { top: 3px; font-size: .68rem; color: #2f7ef6; }
.float-field.is-invalid input, .float-field.is-invalid textarea, .float-field.is-invalid select { border-color: #f3b4c0; background: #fffafa; }
.field-error { color: #be123c; font-size: .78rem; }
.inquiry .check { color: #667085; font-size: .9rem; }
.inquiry .check.is-invalid { color: #be123c; }
.check { display: flex; align-items: flex-start; gap: 10px; }
.check input { width: auto; margin-top: 4px; }
.errors { background: #fff1f1; color: #9f1239; border-radius: 12px; padding: 10px 12px; }
.errors p { margin: 4px 0; }
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.cookie { display: none; position: fixed; z-index: 60; left: 16px; bottom: 16px; width: min(420px, calc(100% - 32px)); }
html.needs-consent .cookie, .cookie.is-open { display: block; }
.cookie-card { background: #fff; border: 1px solid #e6e8ee; border-radius: 18px; box-shadow: 0 16px 40px rgba(18, 24, 38, .08); padding: 18px; }
.cookie-card h2 { font-size: 1.15rem; }
.cookie-card p { color: #667085; margin: 8px 0 14px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cookie-settings { display: grid; gap: 8px; margin-top: 12px; }
.cookie-settings label { display: flex; gap: 8px; align-items: flex-start; }
.cookie-card > a { display: inline-block; margin-top: 10px; color: #1d64d8; }
@media (max-width: 1100px) {
  .blog-grid { grid-template-columns: 1fr; }
  .blog-lead .blog-card-media img { height: 240px; }
}
@media (max-width: 800px) {
  .blog-shell { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .blog-side { position: static; }
  .blog-side nav { display: flex; gap: 8px; overflow-x: auto; }
  .blog-side nav a { flex: none; white-space: nowrap; }
}
@media (max-width: 720px) {
  .inquiry-row { grid-template-columns: 1fr; }
}

.pv {
  --pv-blue: #2f7ef6;
  --pv-ink: #171a22;
  --pv-muted: #667085;
  --pv-card: #f3f4f6;
  --pv-line: #e6e8ee;
  --pv-dark: #1c2030;
  color: var(--pv-ink);
  background: #fff;
  font-family: "Google Sans", sans-serif;
  font-size: 17px;
  line-height: 1.5;
}
.pv h1, .pv h2, .pv h3 { font-weight: 700; letter-spacing: -.04em; line-height: 1.05; }
.pv a { text-decoration: none; }
.pv .prose a { text-decoration: underline; }
.pv .prose h2, .pv .prose h3 {
  margin: 2.1em 0 .55em;
  padding: 0;
  border: 0;
  color: var(--pv-ink);
  letter-spacing: -.035em;
  line-height: 1.2;
}
.pv .prose h2 { font-size: clamp(1.7rem, 2.2vw, 2.05rem); font-weight: 700; }
.pv .prose h3 { font-size: 1.28rem; font-weight: 700; }
.pv-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.pv-note {
  margin: 0;
  padding: 10px 24px;
  background: #eef4ff;
  color: #3d4d66;
  font-size: .92rem;
  text-align: center;
}
.pv-note a { margin-left: 8px; color: var(--pv-blue); font-weight: 600; }

.pv-header { position: sticky; top: 0; z-index: 20; background: #fff; }
.pv-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
}
.pv-header.is-scrolled { background: transparent; }
.pv-header.is-scrolled::before { opacity: 1; box-shadow: inset 0 -1px 0 rgba(23, 26, 34, .08); }
.pv:has(.pv-drop:hover) .pv-header,
.pv:has(.pv-drop:focus-within) .pv-header,
.pv:has(.pv-drop.is-open) .pv-header { background: #fff; }
.pv:has(.pv-drop:hover) .pv-header::before,
.pv:has(.pv-drop:focus-within) .pv-header::before,
.pv:has(.pv-drop.is-open) .pv-header::before { opacity: 0; box-shadow: none; }
.pv-header-bar {
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(1180px, calc(100% - 48px));
  min-height: 64px;
  margin: 0 auto;
}
.pv-logo { flex: none; }
.pv-logo img { width: 142px; height: auto; }
.pv-nav { display: flex; align-items: center; gap: 26px; }
.pv-nav a, .pv-drop > button { color: #3c4048; font-weight: 500; white-space: nowrap; }
.pv-nav > a:hover, .pv-drop > button:hover { color: var(--pv-blue); }
.pv-drop { position: relative; }
.pv-drop::after { content: ""; position: absolute; left: -30px; right: -30px; top: 100%; height: 36px; }
.pv-drop > button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.pv-drop > button svg { width: 12px; height: 12px; transition: transform .2s ease; }
.pv-drop:hover > button svg, .pv-drop:focus-within > button svg, .pv-drop.is-open > button svg { transform: rotate(180deg); }
.pv-drop-menu {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: calc(var(--pv-menu-top, 80px) - 1px);
  z-index: 19;
  width: 100%;
  padding-top: 0;
}
.pv-drop:hover .pv-drop-menu, .pv-drop:focus-within .pv-drop-menu, .pv-drop.is-open .pv-drop-menu { display: block; }
.pv-shade {
  position: fixed;
  top: var(--pv-menu-top, 72px);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  background: rgba(23, 26, 34, .46);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.pv:has(.pv-drop:hover) .pv-shade,
.pv:has(.pv-drop:focus-within) .pv-shade,
.pv:has(.pv-drop.is-open) .pv-shade { opacity: 1; }
.pv-drop-panel {
  display: grid;
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
  gap: 24px 72px;
  align-items: center;
  width: 100%;
  padding: 40px max(28px, calc((100% - 1180px) / 2)) 26px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(23, 26, 34, .08);
}
.pv-drop-intro { display: grid; align-content: center; justify-items: start; gap: 22px; }
.pv-drop-slogan {
  max-width: 8.2em;
  margin: 0;
  color: var(--pv-ink);
  font-size: clamp(2.1rem, 3.1vw, 3.15rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.02;
}
.pv-nav a.pv-drop-all { display: inline-flex; align-items: center; gap: .35em; color: var(--pv-blue); font-weight: 600; font-size: 1.05rem; white-space: nowrap; }
.pv-chevron { display: block; width: .62em; height: .82em; flex: none; }
.pv-nav-mobile { display: none; }
.pv-nav a.pv-drop-all:hover { color: #1c64d6; }
.pv-drop-main { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 28px; }
.pv-drop-feature {
  display: grid;
  justify-items: start;
  min-width: 0;
  padding: 8px 12px 16px;
  border-radius: 20px;
  color: var(--pv-ink);
  white-space: normal;
}
.pv-drop-feature:hover { background: #f4f6f8; color: var(--pv-ink); }
.pv-drop-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--pv-blue);
  color: #fff;
}
.pv-drop-icon svg { width: 28px; height: 28px; }
.pv-drop-feature strong { font-size: 1.35rem; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; }
.pv-drop-note {
  display: -webkit-box;
  width: 100%;
  margin-top: 8px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #5c6573;
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
}
.pv-drop-rest {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 12px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #eef0f3;
}
.pv-drop-rest a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 12px;
  color: #3c4048;
  font-size: .98rem;
  font-weight: 500;
}
.pv-drop-rest a:hover { background: #f4f6f8; color: var(--pv-ink); }
.pv-drop-rest svg { width: 18px; height: 18px; flex: none; color: #667085; }
.pv-lang {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 40px;
  padding: 0 14px 0 12px;
  border-radius: 999px;
  background: #f1f3f4;
  color: var(--pv-ink);
  font-weight: 600;
  font-size: .92rem;
}
.pv-lang svg { width: 18px; height: 18px; }
.pv-lang:hover { background: #e6e8ec; color: var(--pv-ink); }
.pv-header-end { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.pv-header-cta {
  display: inline-flex;
  align-items: center;
  flex: none;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--pv-blue);
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
}
.pv-header-cta:hover { background: #1c64d6; color: #fff; }
.pv-burger {
  display: none;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f3f4;
  color: var(--pv-ink);
  cursor: pointer;
}
.pv-burger svg { width: 18px; height: 18px; }
.pv-burger-x { display: none; }
.pv-burger.is-open { background: var(--pv-ink); color: #fff; }
.pv-burger.is-open .pv-burger-lines { display: none; }
.pv-burger.is-open .pv-burger-x { display: block; }
.pv-nav-foot, .pv-nav-back { display: none; }
body.pv-menu-open { overflow: hidden; }

.pv-hero { padding: 54px 0 20px; }
.pv-hero h1 { max-width: 16ch; font-size: clamp(3.1rem, 6.2vw, 5.5rem); }
.pv-hero h1 span { display: block; color: var(--pv-blue); }
.pv-hero-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 64px; }
.pv-hero-card, .pv-offer-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 380px;
  padding: 34px 30px 30px;
  border-radius: 28px;
  background: var(--pv-card);
  color: inherit;
}
.pv-hero-card:hover, .pv-offer-card:hover { background: #eceef2; }
.pv-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 28px;
  border-radius: 50%;
  color: #fff;
  background: var(--pv-blue);
}
.pv-icon svg { width: 28px; height: 28px; }
.pv-icon-sm { width: 42px; height: 42px; margin: 0; }
.pv-icon-sm svg { width: 18px; height: 18px; }
.pv-hero-card h2, .pv-offer-card h2, .pv-offer-card h3 { font-size: clamp(1.7rem, 2vw, 2.15rem); }
.pv-hero-card p, .pv-offer-card p { margin-top: 14px; color: #4d5666; font-size: 1.02rem; line-height: 1.45; }
.pv-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; }
.pv-service-grid .pv-offer-card { min-width: 0; }

.pv-statement { position: relative; padding: 110px 0; overflow: hidden; }
.pv-statement::before, .pv-statement::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 10%;
  width: 46%;
  height: 80%;
  border: 1px solid #eceef2;
  transform: skewX(-18deg);
}
.pv-statement::before { left: 8%; }
.pv-statement::after { right: 8%; }
.pv-statement-row { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.pv-statement h2 { max-width: 8ch; font-size: clamp(3.4rem, 7vw, 6.2rem); }
.pv-statement h2 span { color: var(--pv-blue); }

.pv-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 14px 26px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  background: #fff;
  color: var(--pv-ink);
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(23, 26, 34, .06);
}
.pv-pill-dark { margin-top: 0; padding: 16px 28px; color: #fff; background: var(--pv-ink); box-shadow: none; flex: none; }

.pv-process { padding: 56px 0 96px; }
#process { scroll-margin-top: 88px; }
.pv-process:has(+ .pv-offer) { padding-bottom: 48px; }
.pv-process-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.pv-process h2 { max-width: 14ch; font-size: clamp(2.2rem, 4vw, 3.4rem); }
.pv-text-link, .pv-reasons-link { display: inline-flex; align-items: center; gap: .32em; }
.pv-text-link { color: var(--pv-blue); font-weight: 600; white-space: nowrap; }
.pv-process ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.pv-process li {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 22px 22px 26px;
  overflow: hidden;
  border: 1px solid #eceef3;
  border-radius: 24px;
  background: #fff;
}
.pv-step-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-end; margin-bottom: 36px; }
.pv-process h3, .pv-process p { position: relative; z-index: 1; }
.pv-process strong {
  position: static;
  display: block;
  margin: 0 0 16px;
  color: #d5dde6;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: -.07em;
  line-height: .8;
  pointer-events: none;
}
.pv-process ol.is-four strong { font-size: 3.6rem; }
.pv-process .pv-step-top { position: absolute; top: 22px; right: 18px; z-index: 1; margin: 0; }
.pv-process em {
  margin: 0;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--pv-ink);
  color: #fff;
  font-style: normal;
  font-weight: 600;
  font-size: .78rem;
  line-height: 1.2;
}
.pv-process h3 { font-size: 1.45rem; }
.pv-process p { margin-top: 10px; color: var(--pv-muted); }

.pv-offer { padding-bottom: 48px; }
.pv-offer:has(.pv-more) { padding: 0 0 56px; background: transparent; }
.pv-more-band { padding: 64px 36px 52px; border-radius: 36px; background: #f4f6f8; }
.pv-offer-title { margin: 0 0 36px; font-size: clamp(2.2rem, 4vw, 3.4rem); text-align: center; }
.pv-more { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; align-items: start; }
.pv-more-card { display: block; min-width: 0; color: inherit; }
.pv-more-art { display: grid; width: 40px; height: 40px; aspect-ratio: 1; place-items: center; margin: 0 0 16px; background: none; }
.pv-more-art svg { display: block; width: 40px; height: 40px; color: var(--pv-blue); }
.pv-more-card strong { display: block; margin-top: 14px; font-size: 1rem; letter-spacing: -.03em; line-height: 1.2; }
.pv-more-card p { margin: 8px 0 0; color: #667085; font-size: .82rem; line-height: 1.45; }
.pv-more-card:hover strong { color: var(--pv-blue); }
.pv-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
.pv-track::-webkit-scrollbar { display: none; }
.pv-offer-card { flex: 0 0 calc((100% - 36px) / 3); scroll-snap-align: start; min-height: 380px; }
.pv-offer-plus {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-top: auto;
  margin-left: auto;
  border-radius: 50%;
  background: var(--pv-ink);
  color: #fff;
  font-size: 1.55rem;
  line-height: 1;
}
.pv-hero-card:hover .pv-offer-plus, .pv-offer-card:hover .pv-offer-plus { background: var(--pv-blue); }
.pv-arrows { display: flex; gap: 12px; margin-top: 22px; }
.pv-arrows button {
  width: 58px;
  height: 58px;
  border: 1.5px solid #d5d8e0;
  border-radius: 50%;
  background: #fff;
  font-size: 1.2rem;
  cursor: pointer;
}
.pv-arrows button:hover { border-color: var(--pv-blue); color: var(--pv-blue); }

.pv-quote { padding: 90px 0 70px; text-align: center; }
.pv-quote .pv-icon { margin: 0 auto 22px; background: var(--pv-blue); }
.pv-quote blockquote {
  max-width: 14em;
  margin: 0 auto;
  color: #171a22;
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.12;
}
.pv-quote footer { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 28px; color: #4d5666; }
.pv-quote img, .pv-review img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }

.pv-work {
  position: relative;
  isolation: isolate;
  padding: 72px 0 52px;
  background: #f4f6f8;
}
.pv-work + section { background: #fff; }
.pv-work .pv-projects,
.pv-work .gallery-track {
  width: calc(100% + (100vw - 100%) / 2);
  margin-right: calc((100% - 100vw) / 2);
}
.pv-work .pv-projects .pv-project { flex-basis: calc((100% - 54px) / 3.28); }
.pv-work-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.pv-work-head h2 { flex: 1; min-width: 0; font-size: clamp(2.4rem, 4.4vw, 3.8rem); letter-spacing: -.04em; }
.pv-work-head > .pv-text-link { margin-bottom: 8px; }
.pv-work-tools { display: flex; align-items: center; gap: 18px; flex: none; margin-bottom: 6px; }
.pv-work-tools .pv-arrows { margin-top: 0; }
.pv-work-tools .pv-arrows button { width: 46px; height: 46px; }
.pv-project {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 36px) / 3);
  min-height: 520px;
  padding: 28px 26px 26px;
  scroll-snap-align: start;
  border-radius: 28px;
  background: #fff;
  color: inherit;
}
.pv-project-media {
  display: block;
  aspect-ratio: 4 / 3;
  background: transparent;
}
.pv-project-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.pv-project strong { display: block; margin: 22px 4px 0; font-size: 1.28rem; letter-spacing: -.025em; line-height: 1.2; }
.pv-project em { display: block; margin: 8px 4px 0; color: #5c6573; font-style: normal; font-weight: 400; font-size: .95rem; line-height: 1.35; }
.pv-project-cta {
  display: inline-flex;
  align-self: flex-start;
  margin: auto 4px 2px;
  padding: 11px 22px;
  border-radius: 999px;
  background: var(--pv-blue);
  color: #fff;
  font-size: .98rem;
  font-weight: 500;
}
.pv-project:hover .pv-project-cta { background: #1c64d6; }

.pv-roles { padding: 30px 0 90px; }
.pv-roles h2 { max-width: 16ch; margin-bottom: 48px; font-size: clamp(2.4rem, 4.5vw, 3.8rem); }
.pv-roles h2::first-line { color: var(--pv-blue); }
.pv-roles-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: center; }
.pv-avatar {
  display: grid;
  place-items: center;
  width: 210px;
  height: 210px;
  margin: 0 auto 18px;
  border-radius: 50%;
  color: var(--pv-blue);
  background: var(--pv-card);
}
.pv-avatar svg { width: 64px; height: 64px; }
.pv-roles h3 { font-size: 2rem; }
.pv-roles p { max-width: 26ch; margin: 8px auto 0; color: var(--pv-muted); }

.pv-facts { padding: 60px 0 88px; }
.pv-facts-title { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; font-size: clamp(2.6rem, 5vw, 4.2rem); }
.pv-reasons { display: grid; grid-template-columns: minmax(240px, .82fr) minmax(0, 1.18fr); gap: 36px 80px; align-items: start; margin-top: 92px; }
.pv-reasons h2 { max-width: 7em; margin: 0; font-size: clamp(2.7rem, 4.4vw, 4rem); letter-spacing: -.045em; line-height: 1.02; }
.pv-reasons-link { display: inline-flex; align-items: center; gap: .32em; margin-top: 22px; color: var(--pv-blue); font-weight: 500; font-size: 1.05rem; }
.pv-reasons-link:hover { color: #1c64d6; }
.pv-reasons-list { display: grid; gap: 28px; margin: 6px 0 0; padding: 0; list-style: none; }
.pv-reasons-list li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; align-items: start; }
.pv-reasons-list svg { width: 22px; height: 22px; margin-top: 3px; color: var(--pv-ink); }
.pv-facts .pv-reasons-list p { margin: 0; color: var(--pv-ink); font-size: 1.08rem; font-weight: 400; line-height: 1.45; }
.pv-reasons-list strong { font-weight: 600; }
.pv-fact {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 54px) / 3.38);
  min-height: 340px;
  padding: 36px 30px 32px;
  scroll-snap-align: start;
  border-radius: 28px;
  background: #eef4ff;
}
.pv-fact-value {
  display: block;
  margin-bottom: auto;
  padding-bottom: 36px;
  font-size: clamp(3.6rem, 4.6vw, 4.8rem);
  font-weight: 700;
  line-height: .85;
}
.pv-fact-value b { font-weight: inherit; letter-spacing: -.07em; }
.pv-fact-value i { margin-left: .04em; color: var(--pv-blue); font-style: normal; letter-spacing: -.03em; }
.pv-facts h3 { font-size: 1.45rem; letter-spacing: -.03em; }
.pv-facts p { margin-top: 10px; color: #4d5666; font-size: 1.02rem; line-height: 1.4; }
.pv-reviews { padding: 40px 0 32px; background: var(--pv-dark); color: #fff; }
.pv-reviews-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.pv-reviews h2 { max-width: 12em; font-size: clamp(2.15rem, 3.3vw, 3.25rem); line-height: 1.02; }
.pv-score { display: grid; justify-items: end; min-width: 200px; text-align: right; }
.pv-score-top { display: flex; align-items: center; gap: 8px; color: #c9ceda; font-weight: 600; }
.pv-score strong { font-size: 3.2rem; line-height: .9; letter-spacing: -.06em; }
.pv-stars { color: #f5b400; letter-spacing: .08em; font-size: 1.15rem; }
.pv-score small { color: #c9ceda; }
.pv-score a { display: inline-flex; align-items: center; gap: .32em; margin-top: 8px; color: #fff; font-weight: 600; }
.pv-score a:hover { color: #9ec2ff; }
.pv-review {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 36px) / 3);
  padding: 20px 22px 18px;
  scroll-snap-align: start;
  border-radius: 26px;
  background: #262b3d;
}
.pv-review p { margin-top: 12px; color: #d5d8e2; font-size: .98rem; line-height: 1.38; }
.pv-review footer { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 14px; }
.pv-reviews .pv-arrows { margin-top: 14px; }
.pv-reviews .pv-arrows button { color: #fff; background: transparent; border-color: rgba(255, 255, 255, .28); }
.pv-reviews .pv-arrows button:hover { border-color: #fff; color: #fff; }

.pv-consult { padding: 36px 0 28px; }
.pv-consult-card { padding: 72px 48px 40px; border-radius: 36px; background: #f4f6f8; text-align: center; }
.pv-consult-mark { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto; color: var(--pv-blue); }
.pv-consult-mark svg { display: block; width: 40px; height: 40px; }
.pv-consult h2 { max-width: 14em; margin: 18px auto 0; font-size: clamp(1.85rem, 3vw, 2.55rem); letter-spacing: -.035em; }
.pv-consult-card > p { max-width: 36em; margin: 14px auto 0; color: #4d5666; font-size: 1.05rem; line-height: 1.45; }
.pv-consult-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pv-consult-actions .pv-pill { margin-top: 0; border: 1.5px solid #d5d8e0; box-shadow: none; }
.pv-consult-actions .pv-pill-dark { border-color: var(--pv-ink); }
.pv-consult-actions .pv-pill:hover { border-color: var(--pv-blue); color: var(--pv-blue); }
.pv-consult-actions .pv-pill-dark:hover { background: var(--pv-blue); border-color: var(--pv-blue); color: #fff; }
.pv-consult-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--pv-ink);
  font: inherit;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
}
.pv-consult-toggle i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--pv-ink);
  color: #fff;
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1;
  transition: transform .35s ease, background .2s ease;
}
.pv-consult-card.is-open .pv-consult-toggle i { transform: rotate(45deg); background: var(--pv-blue); }
.pv-consult-more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s ease; }
.pv-consult-card.is-open .pv-consult-more { grid-template-rows: 1fr; }
.pv-consult-more-inner { min-height: 0; overflow: hidden; }
.pv-consult-points { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 28px 0 0; padding: 28px 0 0; border-top: 1px solid #e4e7ee; list-style: none; text-align: left; }
.pv-consult-points li { padding: 18px 16px 16px; border-radius: 18px; background: #fff; }
.pv-consult-points strong { display: block; font-size: 1rem; letter-spacing: -.02em; line-height: 1.25; }
.pv-consult-points em { display: block; margin-top: 6px; color: var(--pv-muted); font-style: normal; font-size: .9rem; line-height: 1.4; }
.pv-consult-note { max-width: 46em; margin: 16px auto 0; color: #4d5666; font-size: .92rem; }

.pv-host { display: inline-flex; align-items: center; color: #3d4454; font-weight: 700; }
.pv-host b { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 6px; border-radius: 6px; color: #fff; background: #f47a16; font-size: .8rem; font-weight: 700; }

.pv-footer { padding: 64px 0 36px; }
.pv-footer-cols { display: grid; grid-template-columns: 1.3fr 1fr 1.15fr .9fr; gap: 36px 48px; }
.pv-footer-cols h2 { margin-bottom: 22px; color: var(--pv-ink); font-size: 1.05rem; font-weight: 700; letter-spacing: -.02em; }
.pv-footer-cols a, .pv-footer-cols .pv-host { display: block; margin-top: 14px; color: #4e5561; font-weight: 300; font-size: .98rem; }
.pv-footer-cols a:hover { color: var(--pv-blue); }
.pv-footer-cols img { display: block; width: 132px; height: auto; margin-top: 14px; }
.pv-footer-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
  margin-top: 48px;
  padding-top: 18px;
  border-top: 1px solid var(--pv-line);
  color: #4e5561;
  font-size: .92rem;
  font-weight: 300;
}
.pv-footer-bar a, .pv-footer-bar button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.pv-footer-bar a:hover, .pv-footer-bar button:hover { color: var(--pv-blue); }
.pv-footer-bar small { margin-left: auto; }
.pv-footer .pv-social { margin-top: 36px; }
.pv-social { display: flex; align-items: center; gap: 10px; }
.pv-social a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f1f3f4;
  color: var(--pv-ink);
}
.pv-social a:hover { background: var(--pv-blue); color: #fff; }
.pv-social svg { width: 18px; height: 18px; }

@media (max-width: 980px) {
  .pv-hero-cards, .pv-service-grid, .pv-process ol, .pv-roles-row { grid-template-columns: 1fr 1fr; }
  .pv-more { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pv-offer-card, .pv-review, .pv-project, .pv-fact { flex-basis: calc((100% - 18px) / 2.18); }
  .pv-reasons { grid-template-columns: 1fr; gap: 32px; }
  .pv-footer-cols, .pv-consult-points { grid-template-columns: 1fr 1fr; }
  .pv-reviews-top, .pv-store-hero, .pv-compare, .pv-cost { grid-template-columns: 1fr; }
  .pv-score { justify-items: start; text-align: left; }
  .pv-statement h2 { max-width: none; }
}
@media (max-width: 720px) {
  .pv-wrap, .pv-crumb-bar { width: min(1180px, calc(100% - 32px)); }
  .pv-header-bar { width: min(1180px, calc(100% - 32px)); }
  .pv-header { z-index: 50; }
  .pv-header:has(.pv-nav.is-open) { background: #fff; }
  .pv-header:has(.pv-nav.is-open)::before { opacity: 0; box-shadow: none; }
  .pv-header:has(.pv-nav.is-open) .pv-header-bar { background: #fff; }
  .pv-header:has(.pv-nav.is-open) .pv-logo,
  .pv-header:has(.pv-nav.is-open) .pv-header-end { position: relative; z-index: 2; }
  .pv-burger { display: grid; }
  .pv-header-end .pv-header-cta { display: none; }
  .pv-nav {
    position: fixed;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    height: 100dvh;
    padding: calc(var(--pv-menu-top, 72px) + 12px) 28px max(28px, env(safe-area-inset-bottom));
    overflow: auto;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s;
  }
  .pv-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .pv-nav > a, .pv-nav > .pv-drop { display: none; }
  .pv-nav-mobile { display: flex; flex-direction: column; }
  .pv-nav-mobile a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 0;
    color: var(--pv-ink);
    font-size: clamp(1.65rem, 6.6vw, 2rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.15;
  }
  .pv-nav-mobile a[aria-current="page"], .pv-nav-mobile a:hover { color: var(--pv-blue); }
  .pv-nav-sub { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; row-gap: 6px; width: 100%; }
  .pv-nav .pv-nav-sub a {
    padding: 0;
    color: #8b93a3;
    font-size: .92rem;
    font-weight: 500;
    letter-spacing: -.015em;
    line-height: 1.35;
  }
  .pv-nav .pv-nav-sub a[aria-current="page"], .pv-nav .pv-nav-sub a:hover { color: var(--pv-ink); }
  .pv-nav:has(.pv-drop.is-open) > a,
  .pv-nav:has(.pv-drop.is-open) > .pv-nav-foot,
  .pv-nav:has(.pv-drop.is-open) > .pv-drop > button { display: none; }
  .pv-drop { width: 100%; }
  .pv-drop::after { display: none; }
  .pv-drop:hover .pv-drop-menu, .pv-drop:focus-within .pv-drop-menu { display: none; }
  .pv-drop.is-open .pv-drop-menu { display: flex; flex-direction: column; gap: 2px; }
  .pv:has(.pv-drop:hover) .pv-shade,
  .pv:has(.pv-drop:focus-within) .pv-shade,
  .pv:has(.pv-drop.is-open) .pv-shade { opacity: 0; }
  .pv-drop-menu { position: static; top: auto; width: 100%; padding: 0; }
  .pv-nav-back {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 13px 0;
    border: 0;
    background: transparent;
    color: var(--pv-ink);
    font: inherit;
    font-size: clamp(1.75rem, 7.2vw, 2.15rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.15;
    text-align: left;
    cursor: pointer;
  }
  .pv-nav-back svg { width: 18px; height: 18px; flex: none; }
  .pv-drop-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .pv-drop-services { order: 1; width: 100%; }
  .pv-drop-intro { order: 2; gap: 0; width: 100%; padding: 0; }
  .pv-drop-slogan, .pv-drop-icon, .pv-drop-note, .pv-drop-rest svg { display: none; }
  .pv-nav a.pv-drop-all,
  .pv-nav a.pv-drop-feature,
  .pv-nav .pv-drop-rest a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 13px 0;
    border-radius: 0;
    background: transparent;
    color: var(--pv-ink);
    font-size: clamp(1.75rem, 7.2vw, 2.15rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.15;
    white-space: normal;
  }
  .pv-nav a.pv-drop-feature:hover, .pv-nav .pv-drop-rest a:hover, .pv-nav a.pv-drop-all:hover, .pv-nav-back:hover { background: transparent; color: var(--pv-blue); }
  .pv-drop-main, .pv-drop-rest {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .pv-drop-feature strong { font: inherit; letter-spacing: inherit; color: inherit; }
  .pv-nav-foot { display: flex; flex-direction: column; align-items: flex-start; margin-top: 6px; padding-top: 0; }
  .pv-nav-foot .pv-social {
    justify-content: flex-start;
    width: 100%;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e6e8ec;
  }
  .pv-nav .pv-social a { width: 44px; height: 44px; padding: 0; font-size: 0; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
  .pv-hero-cards, .pv-service-grid, .pv-process ol, .pv-roles-row { grid-template-columns: 1fr; }
  .pv-offer-card, .pv-review, .pv-project, .pv-fact { flex-basis: 86%; }
  .pv-reviews-top { flex-direction: column; align-items: flex-start; }
  .pv-work-head { flex-direction: column; align-items: stretch; gap: 14px; }
  .pv-work-head h2 { flex: none; width: 100%; }
  .pv-work-tools { width: 100%; margin: 0; justify-content: space-between; }
  .pv-score strong { font-size: 3.4rem; line-height: 1; }
  .pv-stars { display: block; margin-top: 8px; }
  .pv-statement { padding: 72px 0; }
  .pv-statement-row, .pv-process-head { flex-direction: column; align-items: flex-start; }
  .pv-more { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
  .pv-more-band { padding: 40px 18px 32px; border-radius: 28px; }
  .pv-avatar { width: 160px; height: 160px; }
  .pv-footer-cols, .pv-consult-points { grid-template-columns: 1fr; }
  .pv-footer-bar small { margin-left: 0; }
  .pv-consult-card { padding: 48px 22px 28px; }
  .pv-benefits-grid, .pv-details-grid, .pv-process ol.is-four, .pv-cost { grid-template-columns: 1fr; }
  .pv-store-hero h1 { max-width: none; }
}

.pv-process h2.is-wide { max-width: 16em; }
.pv-kicker { margin-bottom: 14px; color: var(--pv-blue); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.pv-lead { max-width: 42em; margin-top: 18px; color: var(--pv-muted); font-size: 1.08rem; }
.pv-store-hero { padding: 48px 0 20px; }
.pv-store-hero-top { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 24px; align-items: start; }
.pv-store-hero-top:has(.is-art) { grid-template-columns: minmax(0, 1fr) minmax(300px, 480px); align-items: center; }
.pv-store-hero h1 { max-width: 11em; font-size: clamp(3rem, 5.2vw, 4.8rem); }
.pv-store-hero h1 span { display: block; color: var(--pv-blue); }
.pv-store-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pv-store-actions .pv-pill { margin-top: 0; border-color: #d5d8e0; box-shadow: none; }
.pv-store-actions .pv-pill-dark { border-color: var(--pv-ink); }
.pv-store-actions .pv-pill:hover { border-color: var(--pv-blue); color: var(--pv-blue); }
.pv-store-actions .pv-pill-dark:hover { background: var(--pv-blue); border-color: var(--pv-blue); color: #fff; }
.pv-band { padding: 88px 0 56px; }
.pv-band h2 { max-width: 16em; font-size: clamp(2.6rem, 5vw, 4.2rem); }
.pv-band p { max-width: 34em; margin-top: 16px; color: var(--pv-muted); font-size: 1.08rem; }
.pv-logo-knot { position: relative; height: 176px; margin-top: 8px; }
.pv-logo-knot.is-art { height: auto; margin-top: 0; }
.pv-logo-knot.is-art img { display: block; width: 100%; height: auto; }
.pv-logo-knot .is-cloud { position: absolute; top: 6px; left: 0; display: block; width: 248px; height: auto; transform: rotate(-7deg); }
.pv-logo-knot .is-shop {
  position: absolute;
  right: 0;
  bottom: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5e8e3e;
  transform: rotate(6deg);
}
.pv-logo-knot .is-shop img { width: 46px; height: 46px; }
.pv-logo-knot .is-shop strong { font-size: 1.85rem; font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.pv-logo-knot.is-sites .is-wp,
.pv-logo-knot.is-sites .is-laravel {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
}
.pv-logo-knot.is-sites .is-wp { top: 10px; left: 0; color: #21759b; transform: rotate(-7deg); }
.pv-logo-knot.is-sites .is-laravel { right: 0; bottom: 12px; color: #ff2d20; transform: rotate(6deg); }
.pv-logo-knot.is-sites img { width: 58px; height: 58px; }
.pv-logo-knot.is-sites strong { font-size: 1.85rem; font-weight: 700; letter-spacing: -.05em; line-height: 1; }
.pv-store-hero .pv-checks {
  margin: 48px 0 0;
  padding: 28px 32px;
  border-radius: 28px;
  background: #f4f6f8;
}
.pv-checks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin: 54px 0 8px; padding: 0; list-style: none; }
.pv-checks li { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pv-checks em { color: #8b93a3; font-style: normal; font-weight: 600; font-size: .95rem; letter-spacing: .04em; }
.pv-store-hero .pv-checks em { display: block; width: 44px; height: 44px; color: #171a22; }
.pv-store-hero .pv-checks em svg { display: block; width: 44px; height: 44px; }
.pv-checks span { color: var(--pv-ink); font-size: 1.12rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.28; }
.pv-benefits { padding: 20px 0 84px; }
.pv-benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pv-benefits article { display: flex; flex-direction: column; min-height: 280px; padding: 28px 24px; border-radius: 24px; background: var(--pv-card); }
.pv-benefits h2 { margin-top: 22px; font-size: 1.7rem; }
.pv-benefits p { margin-top: 10px; color: var(--pv-muted); }
.pv-compare-section { padding: 28px 0 84px; }
.pv-compare-section h2 { max-width: 14em; font-size: clamp(2.4rem, 4.5vw, 3.8rem); }
.pv-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.pv-compare article { padding: 28px 26px 12px; border-radius: 26px; background: var(--pv-card); }
.pv-compare article.is-chosen { background: #fff; border: 1.5px solid #c9dbf6; box-shadow: 0 18px 40px rgba(47, 126, 246, .08); }
.pv-compare header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.pv-compare header span { padding: 6px 10px; border-radius: 999px; background: #e7eef8; color: #3d4d66; font-size: .82rem; font-weight: 700; }
.pv-compare article.is-chosen header span { background: var(--pv-blue); color: #fff; }
.pv-compare h3 { font-size: 1.7rem; }
.pv-compare article > p { margin-top: 10px; color: var(--pv-muted); }
.pv-compare ul { margin: 18px 0 0; padding: 0; list-style: none; }
.pv-compare li { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid var(--pv-line); }
.pv-compare li span { color: var(--pv-muted); font-size: .92rem; }
.pv-cost-section { padding: 20px 0 100px; }
.pv-cost-section h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); }
.pv-cost { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.pv-cost article { padding: 24px 22px; border-radius: 22px; background: var(--pv-card); }
.pv-cost h3 { font-size: 1.35rem; }
.pv-cost article > p { color: var(--pv-muted); }
.pv-cost strong { display: block; margin-top: 18px; color: var(--pv-blue); font-size: 2.4rem; letter-spacing: -.04em; }
.pv-cost em { display: block; margin-top: 2px; font-style: normal; font-weight: 600; }
.pv-cost ul { margin: 16px 0 0; padding: 0; list-style: none; }
.pv-cost li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--pv-line); color: var(--pv-muted); font-size: .92rem; }
.pv-cost b { color: var(--pv-ink); font-weight: 700; }
.pv-footnote { margin-top: 16px; color: #8b93a3; font-size: .82rem; line-height: 1.45; }
.pv-details { padding: 72px 0; background: var(--pv-dark); color: #fff; }
.pv-details h2 { max-width: 14em; font-size: clamp(2.4rem, 4.6vw, 4rem); }
.pv-details .pv-lead { color: #c9ceda; }
.pv-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 32px; }
.pv-details article { padding: 22px; border-radius: 22px; background: #262b3d; }
.pv-details h3 { margin-top: 14px; font-size: 1.35rem; }
.pv-details p { margin-top: 8px; color: #c9ceda; }
.pv-process ol.is-four { grid-template-columns: repeat(4, 1fr); }
.pv-faq { padding: 36px 0 100px; }
.pv-work + .pv-roles,
.pv-work + .pv-faq,
.pv-work + .pv-process { padding-top: 88px; }
.pv-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: start; }
.pv-faq-intro { position: sticky; top: 110px; }
.pv-faq h2 { max-width: 8em; font-size: clamp(2.4rem, 4vw, 3.6rem); }
.pv-faq details { border-top: 1px solid var(--pv-line); }
.pv-faq details:last-child { border-bottom: 1px solid var(--pv-line); }
.pv-faq summary { position: relative; padding: 20px 40px 20px 0; font-size: 1.12rem; font-weight: 700; letter-spacing: -.02em; cursor: pointer; list-style: none; }
.pv-faq summary::-webkit-details-marker { display: none; }
.pv-faq summary::after { content: '+'; position: absolute; right: 0; top: 16px; color: var(--pv-blue); font-size: 1.5rem; font-weight: 500; }
.pv-faq details[open] summary::after { content: '–'; }
.pv-faq details p { margin: 0 0 20px; color: var(--pv-muted); }
@media (max-width: 980px) {
  .pv-store-hero-top, .pv-store-hero-top:has(.is-art), .pv-compare, .pv-details-grid, .pv-faq-grid { grid-template-columns: 1fr; }
  .pv-faq-intro { position: static; }
  .pv-logo-knot { width: min(100%, 460px); margin-left: auto; }
  .pv-checks { grid-template-columns: 1fr 1fr; }
  .pv-benefits-grid, .pv-cost, .pv-process ol.is-four { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .pv-benefits-grid, .pv-details-grid, .pv-cost { grid-template-columns: 1fr; }
  .pv-checks { grid-template-columns: 1fr 1fr; gap: 22px 10px; }
  .pv-store-hero .pv-checks { padding: 22px 12px 24px; }
  .pv-checks li { align-items: center; text-align: center; }
  .pv-store-hero .pv-checks span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.6em;
    font-size: .8rem;
    line-height: 1.25;
    letter-spacing: -.02em;
    text-align: center;
    text-wrap: balance;
  }
  .pv-store-hero .pv-case-facts span {
    display: block;
    min-height: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-align: center;
    text-wrap: balance;
  }
  .pv-store-hero .pv-case-facts span small { margin-bottom: 2px; font-size: .68rem; letter-spacing: .08em; }
}
.pv-process ol.is-four { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
.pv-process ol.is-four::-webkit-scrollbar { display: none; }
.pv-process ol.is-four li { flex: 0 0 calc((100% - 54px) / 3.38); min-height: 0; scroll-snap-align: start; align-self: flex-start; }
@media (max-width: 980px) {
  .pv-process ol.is-four li, .pv-peek-track > article { flex-basis: calc((100% - 18px) / 2.18); }
}
@media (max-width: 720px) {
  .pv-process ol.is-four li { flex-basis: 86%; }
}
.pv-platforms { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.pv-platforms article, .pv-case-note { padding: 28px 26px 16px; border-radius: 26px; background: var(--pv-card); }
.pv-platforms header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.pv-platforms header img { width: 36px; height: 36px; object-fit: contain; }
.pv-platforms header strong { font-size: 1.35rem; }
.pv-platforms .pv-fit { margin: 0 0 8px; color: var(--pv-ink); }
.pv-platforms article > p, .pv-case-note p { margin-top: 8px; color: var(--pv-muted); }
.pv-platforms ul { margin: 16px 0 0; padding: 0; list-style: none; }
.pv-platforms li { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid var(--pv-line); }
.pv-platforms li span { color: var(--pv-muted); font-size: .92rem; }
.pv-case-note h3 { margin-top: 16px; font-size: 1.35rem; }
.pv-benefits-grid { margin-top: 28px; }
.pv-peek { margin-top: 28px; }
.pv-peek-track {
  width: calc(100% + (100vw - 100%) / 2);
  margin-right: calc((100% - 100vw) / 2);
}
.pv-peek-track > article {
  flex: 0 0 calc((100% - 54px) / 3.28);
  min-height: 280px;
  scroll-snap-align: start;
}
@media (max-width: 720px) {
  .pv-track,
  .pv-process ol.is-four,
  .gallery-track {
    width: calc(100% + 16px);
    margin-right: -16px;
  }
  .pv-peek-track > article { flex: 0 0 86%; }
}
.pv-peek .pv-arrows { margin-top: 18px; }
.pv-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 0; list-style: none; }
.pv-filters a, .pv-filters li {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: #f1f3f4;
  color: #202124;
  font-weight: 500;
}
.pv-filters a:hover { background: #e8eaed; color: #202124; }
.pv-filters a.is-on, .pv-filters a.is-on:hover, .pv-pager a.is-on { background: var(--pv-blue); color: #fff; }
.pv-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pv-project-grid .pv-project { flex: none; min-height: 460px; }
.pv-catalog { padding-top: 28px; }
.pv-pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.pv-pager a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; background: #fff; color: var(--pv-ink); font-weight: 600; }
.pv-crumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0; color: #8b93a3; font-size: .92rem; font-weight: 500; }
.pv-crumb a { color: #5c6573; }
.pv-crumb a:hover { color: var(--pv-blue); }
.pv-crumb [aria-current="page"] { color: var(--pv-ink); }
.pv-crumb-bar { width: min(1180px, calc(100% - 48px)); margin: 18px auto 0; }
main > .pv-crumb-bar + .pv > .pv-store-hero,
main > .pv-crumb-bar + .pv-case > .pv-store-hero { padding-top: 22px; }
main > .pv-crumb-bar + .pv > .pv-contact,
main > .pv-crumb-bar + .page-hero { padding-top: 28px; }
.pv-case-stage { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 36px 56px; align-items: center; }
.pv-case-stage:not(:has(.pv-case-shot)) { grid-template-columns: minmax(0, 720px); }
.pv-case-hero h1 { max-width: none; font-size: clamp(2.15rem, 3.2vw, 3.35rem); }
.pv-case-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: .72em;
  height: .72em;
  margin-left: .18em;
  border-radius: 999px;
  background: var(--pv-blue);
  color: #fff;
  vertical-align: .08em;
  box-shadow: 0 8px 18px rgba(47, 126, 246, .28);
}
.pv-case-open svg { width: .42em; height: .42em; }
.pv-case-open:hover { background: #1b6adf; color: #fff; }
.pv-case-hero .pv-lead { margin-top: 14px; color: var(--pv-ink); font-size: 1.2rem; line-height: 1.45; }
.pv-case-shot { margin: 0; }
.pv-case-shot img { display: block; width: 100%; height: auto; margin: 0; border-radius: 28px; }
.pv-case-facts { margin-top: 0; }
.pv-case-facts a { color: inherit; }
.pv-case-hero .pv-checks span small {
  display: block;
  margin-bottom: 4px;
  color: #8b93a3;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pv-case-platforms { margin-top: 28px; }
.pv-case-platforms p { margin: 0; color: var(--pv-ink); font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; }
.pv-case-platforms ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.pv-case-platforms li { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px 0 10px; border-radius: 999px; background: #f1f3f4; font-weight: 600; }
.pv-case-story { display: grid; grid-template-columns: minmax(220px, .8fr) 1.2fr; gap: 48px; align-items: start; }
.pv-about-story { padding: 8px 0 56px; scroll-margin-top: 88px; }
.pv-story-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  width: calc(100% + (100vw - 100%) / 2);
  margin-right: calc((100% - 100vw) / 2);
  padding-bottom: 4px;
}
.pv-story-track::-webkit-scrollbar { display: none; }
.pv-story-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 32px) / 2.15);
  height: min(520px, calc(100svh - 180px));
  min-height: 440px;
  padding: 24px 28px 28px;
  border-radius: 28px;
  background: #f3f4f6;
  scroll-snap-align: start;
  overflow: hidden;
}
.pv-story-card.is-lead { background: #eef3fb; }
.pv-story-card.is-blue { background: #e8f1fe; }
.pv-story-card.is-ink { background: #1c2030; color: #fff; }
.pv-story-art { display: grid; flex: 1; place-items: center; min-height: 0; }
.pv-story-art svg { width: min(100%, 240px); max-height: 100%; height: auto; }
.pv-story-copy { margin-top: auto; }
.pv-story-card .pv-story-index { margin: 8px 0 0; color: #8b93a3; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pv-story-card.is-ink .pv-story-index { color: #a9b4c8; }
.pv-story-card h2, .pv-story-card h3 { margin: 0; font-size: clamp(1.7rem, 2.1vw, 2.35rem); letter-spacing: -.04em; line-height: 1.12; }
.pv-story-card h3 { margin-top: 8px; }
.pv-story-card.is-lead h2 { max-width: 11em; margin-top: auto; font-size: clamp(2rem, 2.6vw, 2.85rem); }
.pv-story-card p { margin: 14px 0 0; color: #4d5666; font-size: 1.02rem; line-height: 1.45; }
.pv-story-card.is-ink p { color: #c9ceda; }
.pv-case .prose p { margin: 0 0 16px; color: #3c4048; font-size: 1.05rem; line-height: 1.65; }
.pv-work .project-gallery .pv-arrows { margin-top: 0; }
.gallery-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gallery-track::-webkit-scrollbar { display: none; }
.pv-work .gallery-slide { flex: 0 0 calc((100% - 32px) / 2.35); margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: hidden; scroll-snap-align: start; cursor: zoom-in; }
.pv-work .gallery-slide img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
.pv .support-plans-section { background: transparent; }
.pv .support-switch {
  max-width: 460px;
  margin: 28px 0 0;
  border-radius: 999px;
  background: #f4f6f8;
  box-shadow: none;
}
.pv .support-switch button { border-radius: 999px; font-weight: 600; }
.pv .support-switch button.is-on { background: var(--pv-blue); box-shadow: none; }
.pv .support-panel-lead {
  max-width: 40em;
  margin: 22px 0 28px;
  color: var(--pv-muted);
  text-align: left;
}
.pv .support-plans { gap: 16px; }
.pv .support-plan {
  padding: 24px 22px 22px;
  border: 0;
  border-radius: 28px;
  background: #f4f6f8;
  box-shadow: none;
}
.pv .support-plan.is-picked {
  border: 0;
  background: #e8f1fe;
  box-shadow: none;
}
.pv .support-plan-top > strong { font-size: 1rem; }
.pv .support-plan .badge { background: #fff; color: var(--pv-ink); }
.pv .support-plan.is-picked .badge { background: var(--pv-blue); color: #fff; }
.pv .support-info { background: #fff; color: var(--pv-ink); }
.pv .support-info:hover { background: #fff; color: var(--pv-blue); }
.pv .support-plan-hours { margin-top: 20px; font-size: 2.15rem; font-weight: 700; letter-spacing: -.04em; }
.pv .support-plan-meta { margin-top: 10px; color: var(--pv-muted); }
.pv .support-plan ul { margin-top: 20px; padding-top: 18px; border-top-color: rgba(23, 26, 34, .08); }
.pv .support-plan li > svg { color: var(--pv-ink); }
@media (max-width: 980px) {
  .pv-platforms, .pv-case-story, .pv-project-grid { grid-template-columns: 1fr 1fr; }
  .pv-case-stage { grid-template-columns: 1fr; gap: 28px; }
}
.pv-details .pv-kicker { color: #8ebeff; }
.pv-facts .pv-benefits-grid .pv-fact { flex: none; min-height: 280px; }
.pv-facts .pv-reasons .pv-lead { margin-top: 16px; }
.pv-contact { padding: 48px 0 96px; }
.pv-contact-grid { display: grid; grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr); gap: 40px 64px; align-items: start; }
.pv-contact h1 { max-width: 9em; font-size: clamp(3rem, 5.2vw, 4.6rem); }
.pv-contact-links { display: grid; gap: 16px; margin-top: 36px; }
.pv-contact-links a { display: flex; align-items: center; gap: 14px; color: var(--pv-ink); font-size: 1.2rem; font-weight: 600; }
.pv-contact-links a:hover { color: var(--pv-blue); }
.pv-contact-links svg { width: 22px; height: 22px; color: var(--pv-blue); }
.pv .inquiry {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 28px 26px 22px;
  border: 0;
  border-radius: 28px;
  background: var(--pv-card);
  box-shadow: none;
}
.pv .inquiry h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.04em; line-height: 1.1; }
.pv .inquiry h2 span { color: var(--pv-blue); }
.pv .inquiry .float-field input,
.pv .inquiry .float-field textarea,
.pv .inquiry .float-field select {
  border: 0;
  border-radius: 16px;
  background-color: #fff;
  font-family: inherit;
  font-weight: 400;
}
.pv .inquiry .float-field span {
  font-size: .9rem;
  font-weight: 400;
}
.pv .inquiry .float-field select:has(option[value=""]:checked) {
  font-size: .9rem;
  font-weight: 400;
}
.pv .inquiry .check a { color: var(--pv-ink); text-decoration: underline; }
.pv .inquiry button { font-family: inherit; cursor: pointer; }
@media (max-width: 980px) {
  .pv-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .pv-platforms, .pv-case-story, .pv-project-grid { grid-template-columns: 1fr; }
  .pv-story-track { width: calc(100% + 16px); margin-right: -16px; }
  .pv-story-card { flex-basis: 86%; height: auto; min-height: 480px; }
  .pv-work .gallery-slide { flex-basis: calc((100% - 16px) / 1.18); }
  .pv-work .pv-projects .pv-project { flex-basis: 82%; }
  .pv .inquiry-actions .pv-pill { width: 100%; justify-content: center; }
  .pv .prose aside.blog-consult { flex-direction: column; align-items: flex-start; }
}

.pv .blog-hero,
.pv .blog-section,
.pv .article { background: #fff; }
.pv .blog-hero { padding: 8px 0 4px; }
.pv .blog-hero .container,
.pv .blog-section .container,
.pv .article .container { width: min(1180px, calc(100% - 48px)); }
.pv .blog-hero .kicker {
  margin-bottom: 14px;
  color: var(--pv-blue);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
}
.pv .blog-hero h1 { max-width: 12em; font-size: clamp(2.8rem, 5vw, 4.2rem); }
.pv .blog-hero .lead { max-width: 40em; color: var(--pv-muted); }
.pv .blog-section { padding-top: 28px; }
.pv .blog-side-label {
  margin-bottom: 14px;
  color: var(--pv-blue);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.pv .blog-side nav a {
  border-radius: 999px;
  color: var(--pv-ink);
  font-weight: 600;
}
.pv .blog-side nav a span { color: #8b93a3; }
.pv .blog-side nav a:hover { background: #f4f6f8; color: var(--pv-ink); }
.pv .blog-side nav a:hover span { color: #8b93a3; }
.pv .blog-side nav a.is-on,
.pv .blog-side nav a.is-on:hover { background: var(--pv-ink); color: #fff; }
.pv .blog-side nav a.is-on span,
.pv .blog-side nav a.is-on:hover span { color: rgba(255, 255, 255, .72); }
.pv .blog-lead,
.pv .blog-card {
  border: 0;
  border-radius: 28px;
  background: #f4f6f8;
  box-shadow: none;
}
.pv .blog-lead { background: #f4f6f8; }
.pv .blog-card-media { border-radius: 20px; background: #fff; }
.pv .blog-card-meta { color: #8b93a3; }
.pv .blog-card-meta span,
.pv .blog-card-meta a { background: #fff; color: var(--pv-ink); font-weight: 600; }
.pv .blog-card-copy p { color: var(--pv-muted); }
.pv .blog-lead h2,
.pv .blog-card h3 { color: var(--pv-ink); }
.pv .article { padding: 12px 0 88px; }
.pv .article h1 { max-width: 16em; font-size: clamp(2.4rem, 4vw, 3.6rem); }
.pv .cover { border: 0; border-radius: 28px; }
.pv .article-end { margin-top: 36px; }
.pv .article-end .pv-pill { margin-top: 0; }
.pv .prose blockquote {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin: 2em 0;
  padding: 28px 32px;
  border-radius: 28px;
  background: #f4f6f8;
  text-align: left;
}
.pv .prose blockquote::before,
.pv .prose blockquote::after { display: none; }
.pv .blog-quote-mark { display: block; width: 44px; height: 44px; color: var(--pv-ink); }
.pv .blog-quote-mark svg { display: block; width: 44px; height: 44px; }
.pv .prose blockquote p {
  margin: 0;
  color: var(--pv-ink);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.35;
}
.pv .prose aside.blog-consult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 2.2em 0;
  padding: 32px 36px;
  border-radius: 28px;
  background: #f4f6f8;
  box-shadow: none;
}
.pv .prose aside.blog-consult::before { display: none; }
.pv .blog-consult-copy { max-width: 38em; }
.pv .prose aside .kicker {
  color: var(--pv-blue);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pv .prose aside.blog-consult .blog-consult-title {
  margin: 0;
  color: var(--pv-ink);
  font-size: clamp(1.7rem, 2.4vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.15;
}
.pv .prose aside.blog-consult p { color: #4d5666; }
.pv .blog-consult-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: none;
  background: transparent;
  color: var(--pv-blue);
}
.pv .blog-consult-mark svg { display: block; width: 40px; height: 40px; fill: currentColor; }
.pv .prose aside.blog-consult a {
  min-height: 0;
  margin-top: 8px;
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--pv-ink);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}
.pv .prose aside.blog-consult a:hover { background: var(--pv-blue); color: #fff; }
.pv .prose aside.blog-consult a::after {
  content: "";
  display: inline-block;
  width: .55em;
  height: .72em;
  margin-left: .4em;
  vertical-align: -.08em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'><path d='M4.2 3.2 8.6 8 4.2 12.8' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'><path d='M4.2 3.2 8.6 8 4.2 12.8' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
}
@media (max-width: 720px) {
  .pv .blog-hero .container,
  .pv .blog-section .container,
  .pv .article .container { width: min(1180px, calc(100% - 32px)); }
}

.pv-thanks { padding: 36px 0 96px; }
.pv-thanks h1 { max-width: 14em; margin: 0; font-size: clamp(2.6rem, 6vw, 4.4rem); }
.pv-thanks p { max-width: 32em; margin: 18px 0 0; color: var(--pv-muted); font-size: 1.08rem; }
.pv-thanks-home {
  display: inline-flex;
  align-items: center;
  margin-top: 28px;
  height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--pv-blue);
  color: #fff;
  font-weight: 500;
  box-shadow: none;
}
.pv-thanks-home:hover { background: #1c64d6; color: #fff; }
.pv:has(.pv-contact) .pv-consult,
.pv:has(.pv-thanks) .pv-consult { display: none; }
