/* ============================================================
   GROWXIA — pages.css
   The home's floor, for the inner pages (about, contact, process,
   work, case studies): a flat black floor, hairlines instead of
   panels, Outfit headlines in sentence case, red only on the one
   action, amber only when something is live. Shared chrome (nav,
   footer, chat) stays in styles.css.
   ============================================================ */

main.pg{padding:0;margin:0;max-width:none;width:100%;overflow-x:clip;background:var(--bg);
  --ease:cubic-bezier(.16,1,.3,1);--ease-out:cubic-bezier(.23,1,.32,1);--hair:rgba(238,241,250,.08)}
.pg ::selection{background:rgba(255,59,48,.35);color:#fff}
.pg a:focus-visible,.pg button:focus-visible,.pg summary:focus-visible,.pg input:focus-visible,.pg textarea:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:2px}
.pg img{max-width:100%}
.pg .btn{transition:transform 160ms var(--ease-out),background .2s,box-shadow .2s,border-color .2s,color .2s}
.pg .btn:active{transform:scale(.97)}
.pg .btn--ghost{border-color:var(--line);color:var(--ink)}
.pg .btn--ghost:hover{border-color:var(--ink);color:var(--ink)}

/* ---------- containers ---------- */
.pg-wrap{max-width:1400px;margin:0 auto;padding:0 clamp(22px,6vw,96px)}
.pg-sec{padding:0 0 clamp(72px,10vh,130px)}
.pg-sec>.pg-wrap{border-top:1px solid var(--line);padding-top:clamp(56px,8vh,96px)}
.pg-sec--flat>.pg-wrap{border-top:0;padding-top:0}
.pg-sec__head{margin-bottom:clamp(36px,5vh,60px)}
.pg-foot{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:44px}

/* ---------- type ---------- */
.pg-h1{font-family:var(--font-d);font-weight:700;letter-spacing:-.035em;line-height:.98;text-wrap:balance;font-size:clamp(38px,4.8vw,72px);color:var(--ink);max-width:16ch}
.pg-h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.03em;line-height:1.04;text-wrap:balance;font-size:clamp(30px,3.6vw,52px);color:var(--ink);max-width:18ch}
.pg-h3{font-family:var(--font-d);font-weight:600;letter-spacing:-.02em;line-height:1.2;font-size:clamp(20px,1.7vw,26px);color:var(--ink)}
.pg-lead{font-family:var(--font-b);font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--ink-dim);max-width:50ch;margin-top:20px}
.pg-lead--section{margin-top:14px}
.pg-body{font-family:var(--font-b);font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--ink);max-width:62ch}
.pg-body--dim{color:var(--ink-dim);font-size:clamp(15px,1.15vw,17.5px);line-height:1.6;max-width:66ch}
.pg-body+.pg-body{margin-top:22px}
.pg-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}
.pg-link{font-family:var(--font-b);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;padding-bottom:4px;display:inline-block}
.pg-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}
.pg-link:hover::after,.pg-link:focus-visible::after{transform:scaleX(1)}
.pg-link span{display:inline-block;transition:transform .35s var(--ease)}
.pg-link:hover span{transform:translateX(4px)}
.pg-links{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:26px}
.pg-links a,.pg-a{font-family:var(--font-b);font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color .3s,color .3s}
.pg-links a:hover,.pg-a:hover{border-color:var(--ink);color:#fff}
.pg-a{font-size:inherit;font-weight:inherit}
.pg-facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pg-facts li{font-family:var(--font-b);font-size:14px;color:var(--ink);display:flex;align-items:center;gap:12px}
.pg-facts i{width:6px;height:6px;border-radius:50%;background:var(--ink-dim);flex:none}
.pg-chip{font-family:var(--font-b);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(238,241,250,.05);border:1px solid rgba(238,241,250,.1)}
.pg-chip i{width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none}
.pg-crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:30px}
.pg-crumbs a{color:var(--ink-dim);text-decoration:none;transition:color .2s}
.pg-crumbs a:hover{color:var(--ink)}
.pg-crumbs [aria-current]{color:var(--ink)}

/* ---------- hero (one light from above, copy left, object right) ---------- */
.pg-hero{position:relative;padding:calc(84px + 4vh) 0 clamp(56px,8vh,96px);overflow:hidden;--cone-l:30%}
.pg-hero::before{content:"";position:absolute;left:var(--cone-l);top:-14vh;width:min(72vw,900px);height:110vh;transform:translateX(-50%);
  background:radial-gradient(ellipse 38% 60% at 50% 0%,rgba(238,241,250,.22) 0%,rgba(238,241,250,.06) 40%,rgba(238,241,250,0) 70%);
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);pointer-events:none}
.pg-hero--obj{--cone-l:68%}
.pg-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.pg-hero__copy{position:relative;z-index:1;max-width:640px}
.pg-hero__copy>*{animation:pg-in .7s var(--ease-out) both}
.pg-hero__copy>:nth-child(2){animation-delay:.06s}
.pg-hero__copy>:nth-child(3){animation-delay:.12s}
.pg-hero__copy>:nth-child(4){animation-delay:.18s}
.pg-hero__copy>:nth-child(5){animation-delay:.24s}
@keyframes pg-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.pg-hero__obj{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;animation:pg-in .9s var(--ease-out) .15s both}

/* ---------- product shots (same frames as the home) ---------- */
.pg-shots{position:relative;display:flex;justify-content:center;align-items:center;gap:14px;min-height:420px;padding:20px 0;max-width:100%}
.pg-art{width:min(44%,250px);max-width:44%;height:auto;flex:0 0 auto;border-radius:18px;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 80px -30px rgba(0,0,0,.8);transform:rotate(-3deg) translateY(10px)}
.pg-art--back{transform:rotate(4deg) translateY(-10px)}
.pg .phone{--ph-w:min(220px,44vw);width:var(--ph-w);aspect-ratio:9/19.5;border-radius:calc(var(--ph-w) * .14);padding:calc(var(--ph-w) * .028);
  background:linear-gradient(160deg,#20263a 0%,#0f1322 55%,#1b2135 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 -1px 0 rgba(0,0,0,.6) inset,0 40px 80px -30px rgba(0,0,0,.8),0 90px 120px -60px rgba(0,0,0,.9);position:relative;flex:none}
.pg .phone::before{content:"";position:absolute;top:calc(var(--ph-w) * .055);left:50%;transform:translateX(-50%);width:30%;height:calc(var(--ph-w) * .062);border-radius:999px;background:#05060b;z-index:3}
.pg .phone::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;background:linear-gradient(115deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 68%,rgba(255,255,255,.04) 100%)}
.pg .phone__screen{position:relative;width:100%;height:100%;border-radius:calc(var(--ph-w) * .115);overflow:hidden;background:#0d1020}
.pg .phone__screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.pg-shots--phones{align-items:flex-end;gap:0}
.pg-shots--phones .phone:not(.phone--back){position:relative;z-index:1;transform:translateX(-34%)}
.pg-shots--phones .phone--back{position:absolute;left:50%;bottom:44px;transform:translateX(18%) scale(.86) rotate(6deg);opacity:.9;z-index:0}
.pg-frame{display:block;border-radius:14px;overflow:hidden;background:#0f1322;border:1px solid var(--hair);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -30px rgba(0,0,0,.8)}
.pg-frame img{display:block;width:100%;height:auto}
.pg-frame--tall{width:min(300px,78vw);border-radius:18px}
.pg-frame--cover img{aspect-ratio:16/10;object-fit:cover;object-position:top}
.pg-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,34px)}
.pg-gallery figcaption,.pg-phones figcaption{font-family:var(--font-b);font-size:13px;color:var(--ink-faint);margin-top:12px;line-height:1.5}
.pg-gallery figure,.pg-phones figure{margin:0}
.pg-phones{display:flex;justify-content:center;gap:clamp(28px,6vw,96px);margin-top:clamp(40px,6vh,64px);flex-wrap:wrap}
.pg-phones figure{display:flex;flex-direction:column;align-items:center;text-align:center}

/* ---------- ledger: hairline rows, name left, text right ---------- */
.pg-ledger{margin:0;border-top:1px solid var(--line)}
.pg-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px 40px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pg-row dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.pg-row__name{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;color:var(--ink);line-height:1.2}
a.pg-row__name{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
a.pg-row__name:hover{border-color:var(--ink)}
.pg-row__meta{font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--ink-faint);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pg-row dd{margin:0;font-family:var(--font-b);font-size:15.5px;line-height:1.6;color:var(--ink-dim);max-width:58ch}
.pg-row dd p+p{margin-top:10px}
.pg-row__who{display:block;color:var(--ink);font-size:14.5px;margin-bottom:10px}
.pg-row__who b{font-weight:700;color:var(--ink)}
.pg-row dd b{color:var(--ink);font-weight:600}

/* ---------- steps / facts grids ---------- */
.pg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.pg-steps>li{padding-top:18px;border-top:1px solid var(--line)}
.pg-steps h3{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;line-height:1.2}
.pg-steps p{font-family:var(--font-b);font-size:14.5px;line-height:1.6;color:var(--ink-dim)}
.pg-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pg-steps--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pg-steps em{display:block;font-style:normal;font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--ink-faint);margin-bottom:8px;letter-spacing:.02em}
.pg-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.pg-stats>li{padding-top:18px;border-top:1px solid var(--line)}
.pg-stats b{display:block;font-family:var(--font-d);font-weight:700;font-size:clamp(30px,3.2vw,46px);letter-spacing:-.03em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.pg-stats span{display:block;margin-top:12px;font-family:var(--font-b);font-size:14px;line-height:1.5;color:var(--ink-dim)}
.pg-stats--5{grid-template-columns:repeat(5,minmax(0,1fr))}

/* ---------- people ---------- */
.pg-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.pg-people>li{padding-top:18px;border-top:1px solid var(--line)}
.pg-people h3{font-family:var(--font-d);font-weight:600;font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.pg-people em{display:block;font-style:normal;font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--ink-faint);margin-top:6px}
.pg-people p{font-family:var(--font-b);font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin-top:12px}

/* ---------- showcase grid (work) ---------- */
.pg-show{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vh,64px) clamp(24px,3vw,48px)}
.pg-case{display:block;color:inherit;text-decoration:none}
.pg-case__media{position:relative;border-radius:14px;overflow:hidden;background:#0f1322;border:1px solid var(--hair);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -30px rgba(0,0,0,.8);aspect-ratio:4/3}
.pg-case__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1s var(--ease)}
.pg-case:hover .pg-case__media img{transform:scale(1.03)}
.pg-case__chip{position:absolute;top:14px;left:14px;z-index:2;background:rgba(11,14,24,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pg-case__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:20px}
.pg-case h3{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;color:var(--ink);line-height:1.2}
.pg-case__kind{font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--ink-faint);white-space:nowrap}
.pg-case p{font-family:var(--font-b);font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin-top:8px;max-width:52ch}
.pg-case__open{margin-top:14px}
.pg-case__open .pg-link{font-size:12px}
.pg-ship{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center}
.pg-ship+.pg-ship{margin-top:clamp(40px,6vh,80px)}
.pg-ship:nth-child(even) .pg-shots{order:2}
.pg-ship h3{font-family:var(--font-d);font-weight:700;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;color:var(--ink)}
.pg-ship p{font-family:var(--font-b);font-size:clamp(15px,1.15vw,17px);line-height:1.6;color:var(--ink-dim);margin-top:14px;max-width:52ch}
.pg-ship .pg-facts{margin-top:22px}

/* ---------- quote ---------- */
.pg-quote{margin:clamp(40px,6vh,64px) 0 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:860px}
.pg-quote p{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,2vw,30px);letter-spacing:-.02em;line-height:1.25;color:var(--ink);text-wrap:balance}
.pg-quote footer{margin-top:14px;font-family:var(--font-b);font-size:13.5px;color:var(--ink-faint)}

/* ---------- FAQ ---------- */
.pg-faq__list{max-width:900px;margin-top:40px}
.pg .faq-item{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:0;overflow:visible}
.pg .faq-item summary{padding:20px 0;font-family:var(--font-d);font-weight:600;font-size:clamp(17px,1.4vw,21px);letter-spacing:-.01em;color:var(--ink);gap:24px}
.pg .faq-item summary:hover{color:var(--ink)}
.pg .faq-item p{padding:0 0 22px;max-width:62ch;font-family:var(--font-b);font-size:15.5px;line-height:1.6;color:var(--ink-dim)}
.pg .faq-item a{color:var(--ink);border-bottom:1px solid var(--line)}

/* ---------- contact: channels left, form right, no panel ---------- */
.pg-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);align-items:start}
.pg-contact__form .pg-h3{margin-bottom:6px}
.pg .form-mount[data-mount='contact']{min-height:420px}
.pg .form{margin:0;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.pg .form__grid{gap:0 28px}
.pg .form__field{margin-bottom:22px}
.pg .form__label{color:var(--ink-faint);font-size:11px;letter-spacing:.14em;margin-bottom:4px}
.pg .form__input{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;font-size:17px;font-weight:500;color:var(--ink);transition:border-color .3s}
.pg .form__input::placeholder{color:var(--ink-faint);font-weight:400}
.pg .form__input:hover{border-color:rgba(238,241,250,.35)}
.pg .form__input:focus{box-shadow:none;background:transparent;border-color:var(--ink)}
.pg .form__input.is-invalid{border-color:var(--red)}
.pg textarea.form__input{min-height:96px}
.pg .form__count{right:0;bottom:12px;color:var(--ink-faint)}
.pg .form__pills{gap:8px;padding-top:8px}
.pg .form__pill{background:transparent;border:1px solid rgba(238,241,250,.14);color:var(--ink-dim);font-size:13.5px;font-weight:600;padding:9px 16px;letter-spacing:0;transition:background .2s,color .2s,border-color .2s,transform 120ms var(--ease-out)}
.pg .form__pill:hover{border-color:var(--ink);color:var(--ink);background:transparent}
.pg .form__pill:active{transform:scale(.96)}
.pg .form__pill.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg);box-shadow:none}
.pg .form__row{margin-top:10px}
.pg .form__check{color:var(--ink-dim)}
.pg .form__check input{accent-color:var(--ink)}
.pg .form__privacy{font-family:var(--font-b);font-size:12.5px;line-height:1.5;color:var(--ink-faint);max-width:46ch}
.pg .form__privacy a{color:var(--ink-dim);border-bottom:1px solid var(--line)}
.pg .form__status--ok{color:var(--amber)}
.pg .btn.is-done{background:var(--ink);color:var(--bg);box-shadow:none}
.pg-channels{margin:0;border-top:1px solid var(--line)}
.pg-channels .pg-row{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);padding:20px 0;gap:6px 24px}
.pg-channels .pg-row__name{font-size:clamp(17px,1.3vw,20px)}
.pg-channels dd{font-size:14.5px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pg-steps,.pg-stats,.pg-people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-stats--5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .pg-hero{padding-top:calc(80px + env(safe-area-inset-top,0px))}
  .pg-hero::before{left:50%;height:100svh}
  .pg-hero__grid{grid-template-columns:1fr;gap:34px}
  .pg-hero__obj{order:2}
  .pg-shots{min-height:320px}
  .pg-shots--phones .phone:not(.phone--back){transform:translateX(-24%)}
  .pg-shots--phones .phone--back{left:52%;transform:translateX(0) scale(.86) rotate(6deg)}
  .pg-row,.pg-channels .pg-row{grid-template-columns:1fr;gap:8px}
  .pg-row__meta{white-space:normal}
  .pg-contact{grid-template-columns:1fr;gap:48px}
  .pg-show{grid-template-columns:1fr}
  .pg-ship{grid-template-columns:1fr}
  .pg-ship:nth-child(even) .pg-shots{order:0}
  .pg-gallery{grid-template-columns:1fr}
  .pg .form__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pg-steps,.pg-stats,.pg-people,.pg-stats--5{grid-template-columns:1fr}
  .pg-h1{font-size:clamp(32px,9vw,42px)}
  .pg-cta{gap:18px}
  .pg-shots{min-height:280px}
  .pg .phone{--ph-w:min(180px,40vw)}
  .pg-art{width:min(46%,200px);max-width:46%}
}
@media (prefers-reduced-motion:reduce){
  .pg *{animation:none !important;transition-duration:.01ms !important}
}

/* ============================================================
   .pg--svc — the 60 services pages (legacy svc-* markup, restyled)
   ============================================================ */
.pg--svc>section,.pg--svc>.svc-apps,.pg--svc>.svc-ai,.pg--svc>.svc-case,.pg--svc>.hub-grid,.pg--svc>.bb-layout{max-width:1400px;margin:0 auto;padding:clamp(56px,8vh,96px) clamp(22px,6vw,96px) clamp(72px,10vh,130px);background:none;border:0;border-radius:0;box-shadow:none;position:relative;overflow:visible}
.pg--svc>.svc-highlights,.pg--svc>.svc-pricing,.pg--svc>.svc-faq,.pg--svc>.svc-related,.pg--svc>.svc-apps,.pg--svc>.svc-ai,.pg--svc>.svc-case,.pg--svc>.price-group,.pg--svc>.hub-grid{border-top:1px solid var(--line);max-width:calc(1400px - 2 * clamp(22px,6vw,96px))}
.pg--svc>.svc-highlights,.pg--svc>.svc-pricing,.pg--svc>.svc-faq,.pg--svc>.svc-related,.pg--svc>.svc-apps,.pg--svc>.svc-ai,.pg--svc>.svc-case,.pg--svc>.price-group,.pg--svc>.hub-grid{padding-left:0;padding-right:0;box-sizing:content-box;padding-left:clamp(22px,6vw,96px);padding-right:clamp(22px,6vw,96px)}
.pg--svc>.svc-intro{padding-top:0;padding-bottom:clamp(40px,6vh,64px)}
.pg--svc>.svc-intro+.svc-intro{padding-top:0}
.pg--svc>.price-group{padding-top:clamp(40px,6vh,64px);padding-bottom:clamp(40px,6vh,64px)}
.pg--svc .crumbs{max-width:1400px;margin:0 auto;padding:calc(76px + 2vh) clamp(22px,6vw,96px) 0;font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.pg--svc .crumbs a{color:var(--ink-dim)}
.pg--svc .crumbs a:hover{color:var(--ink)}
.pg--svc .crumbs [aria-current]{color:var(--ink)}

/* hero */
.pg--svc>.svc-hero{min-height:0;display:block;padding:clamp(28px,4vh,44px) clamp(22px,6vw,96px) clamp(48px,7vh,80px);--cone-l:30%}
.pg--svc>.svc-hero::before{content:"";position:absolute;left:var(--cone-l);top:-30vh;width:min(72vw,900px);height:110vh;transform:translateX(-50%);
  background:radial-gradient(ellipse 38% 60% at 50% 0%,rgba(238,241,250,.20) 0%,rgba(238,241,250,.06) 40%,rgba(238,241,250,0) 70%);
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);pointer-events:none;z-index:0}
.pg--svc>.svc-hero>*{position:relative;z-index:1}
.pg--svc .svc-hero__title{display:block}
.pg--svc .svc-hero__title h1{font-family:var(--font-d);font-weight:700;letter-spacing:-.035em;line-height:.98;text-wrap:balance;font-size:clamp(38px,4.8vw,72px);color:var(--ink);max-width:16ch}
.pg--svc .svc-hero__short{font-family:var(--font-b);font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--ink-dim);max-width:50ch;margin-top:20px}
.pg--svc .svc-hero__meta{font-family:var(--font-b);font-size:13.5px;color:var(--ink-faint);margin-top:14px;max-width:60ch}
.pg--svc .svc-hero__cta{gap:26px;margin-top:34px;align-items:center}
.pg--svc .svc-hero__cta .btn--ghost{border:0;padding:0 0 4px;border-radius:0;font-size:13px;letter-spacing:.1em;color:var(--ink);position:relative;background:none;box-shadow:none}
.pg--svc .svc-hero__cta .btn--ghost::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}
.pg--svc .svc-hero__cta .btn--ghost:hover{transform:none;color:var(--ink)}
.pg--svc .svc-hero__cta .btn--ghost:hover::after{transform:scaleX(1)}
.pg--svc .svc-hero__img{margin-top:clamp(36px,5vh,56px);max-width:640px;border-radius:14px;overflow:hidden;border:1px solid var(--hair);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -30px rgba(0,0,0,.8)}
.pg--svc>.svc-hero:has(.svc-hero__img){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px) ;align-items:center;--cone-l:68%}
.pg--svc>.svc-hero:has(.svc-hero__img)>*{grid-column:1}
.pg--svc>.svc-hero:has(.svc-hero__img)>.svc-hero__img{grid-column:2;grid-row:1/span 5;margin-top:0;max-width:none;transform:rotate(-2deg)}
.pg--svc>.svc-hero>.svc-hero__title,.pg--svc>.svc-hero>.svc-hero__short,.pg--svc>.svc-hero>.svc-hero__meta,.pg--svc>.svc-hero>.svc-hero__cta,.pg--svc>.svc-hero>.svc-hero__img{animation:pg-in .7s var(--ease-out) both}
.pg--svc>.svc-hero>.svc-hero__short{animation-delay:.06s}
.pg--svc>.svc-hero>.svc-hero__meta{animation-delay:.12s}
.pg--svc>.svc-hero>.svc-hero__cta{animation-delay:.18s}
.pg--svc>.svc-hero>.svc-hero__img{animation-delay:.15s;animation-duration:.9s}

/* headings and copy */
.pg--svc .h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.03em;line-height:1.04;text-wrap:balance;font-size:clamp(30px,3.6vw,52px);color:var(--ink);max-width:18ch;margin-bottom:clamp(28px,4vh,44px)}
.pg--svc .svc-intro__text{border:0;padding:0;font-family:var(--font-b);font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--ink);max-width:62ch}
.pg--svc .svc-intro .h2+.svc-intro__text{color:var(--ink-dim);font-size:clamp(15px,1.15vw,17.5px);line-height:1.6;max-width:66ch}
.pg--svc .svc-intro__text b{font-weight:600;color:var(--ink)}
.pg--svc .svc-intro__text+.svc-intro__text{margin-top:18px}
.pg--svc .svc-pricing__lead,.pg--svc .svc-apps__lead,.pg--svc .svc-ai__lead,.pg--svc .svc-case__lead,.pg--svc .price-group__sub{font-family:var(--font-b);font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--ink-dim);max-width:50ch;margin:-14px 0 clamp(28px,4vh,44px)}
.pg--svc .price-group__sub{margin-top:8px}
.pg--svc .svc-pricing__note,.pg--svc .svc-ai__note{font-family:var(--font-b);font-size:13.5px;line-height:1.6;color:var(--ink-faint);max-width:62ch;margin-top:22px}
.pg--svc .pricing-link{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line);transition:border-color .3s}
.pg--svc .pricing-link:hover{color:#fff;border-color:var(--ink)}
.pg--svc .svc-intro .btn,.pg--svc .svc-pricing .btn,.pg--svc .svc-highlights .btn{margin-top:10px}
.pg--svc .btn--ghost:hover{border-color:var(--ink);color:var(--ink)}

/* highlight blocks: hairline tops, no cards */
.pg--svc .svc-highlights__grid,.pg--svc .svc-ai__grid,.pg--svc .price-cards,.pg--svc .svc-related__grid,.pg--svc .hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(28px,4vh,44px) clamp(24px,3vw,48px);margin-top:0;padding:0}
.pg--svc>.hub-grid{margin-top:0}
.pg--svc .svc-hl,.pg--svc .svc-ai__card,.pg--svc .price-card,.pg--svc .service-card,.pg--svc .hub-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0;box-shadow:none;transform:none;display:block;overflow:visible}
.pg--svc .hub-card::before{display:none}
.pg--svc .svc-hl:hover,.pg--svc .service-card:hover,.pg--svc .hub-card:hover,.pg--svc .price-card:hover{transform:none;border-color:var(--line);box-shadow:none}
.pg--svc .svc-hl h3,.pg--svc .svc-ai__card h3,.pg--svc .price-card h3,.pg--svc .service-card__name,.pg--svc .hub-card h3{font-family:var(--font-d);font-weight:600;font-size:clamp(19px,1.6vw,24px);letter-spacing:-.02em;line-height:1.2;color:var(--ink);margin-bottom:10px;display:block}
.pg--svc .svc-hl h3 em{font-style:normal;color:var(--ink-faint);font-family:var(--font-b);font-size:13px;font-weight:600;letter-spacing:.02em;margin-left:8px}
.pg--svc .svc-hl p,.pg--svc .svc-ai__card p,.pg--svc .service-card__txt,.pg--svc .hub-card p{font-family:var(--font-b);font-size:14.5px;line-height:1.6;color:var(--ink-dim);display:block}
.pg--svc a.svc-hl:hover h3,.pg--svc .service-card:hover .service-card__name,.pg--svc .hub-card:hover h3{text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}
.pg--svc .hub-card__go,.pg--svc .price-card__link{display:inline-block;margin-top:14px;font-family:var(--font-b);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:4px}
.pg--svc .hub-card__go::after,.pg--svc .price-card__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}
.pg--svc .hub-card:hover .hub-card__go::after,.pg--svc .price-card__link:hover::after{transform:scaleX(1)}
.pg--svc .svc-ai__glow,.pg--svc .svc-case__glow,.pg--svc .svc-case__eyebrow{display:none}
.pg--svc .svc-case__quote{margin-top:30px;padding:24px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:none;border-radius:0;max-width:860px}
.pg--svc .svc-case__quote p{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,2vw,30px);letter-spacing:-.02em;line-height:1.25;color:var(--ink)}
.pg--svc .store-btn{background:none;border:1px solid var(--hair);border-radius:2px}
.pg--svc .store-btn:hover{border-color:var(--ink);transform:none}

/* pricing tables and price cards: ledgers */
.pg--svc .pricing-table{max-width:860px;margin-top:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;overflow:visible}
.pg--svc .pricing-row{padding:22px 0;border-bottom:1px solid var(--line);gap:24px}
.pg--svc .pricing-row__opt{font-family:var(--font-b);font-size:15.5px;line-height:1.5;color:var(--ink-dim)}
.pg--svc .pricing-row__price{font-family:var(--font-d);font-weight:700;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.pg--svc .price-group>h3{font-family:var(--font-d);font-weight:700;letter-spacing:-.03em;line-height:1.04;font-size:clamp(30px,3.6vw,52px);color:var(--ink)}
.pg--svc .price-card__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:6px}
.pg--svc .price-card__head h3{margin-bottom:0}
.pg--svc .price-card__model{margin-left:0;font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-faint);border:0;padding:0;border-radius:0}
.pg--svc .price-card__rows{margin-top:6px}
.pg--svc .price-card .price-row{border-top:1px solid var(--hair);padding:14px 0;gap:18px}
.pg--svc .price-card .price-row__opt{font-family:var(--font-b);font-size:14.5px;color:var(--ink)}
.pg--svc .price-card .price-row__note{font-size:12.5px;color:var(--ink-faint)}
.pg--svc .price-card .price-row__price{font-family:var(--font-d);font-weight:700;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}

/* FAQ */
.pg--svc .svc-faq__list{max-width:900px;margin-top:0}

/* city service list (location pages) */
.pg--svc .city-svc-list{gap:0 clamp(24px,3vw,48px);margin-top:0}
.pg--svc .city-svc{background:none;border:0;border-top:1px solid var(--hair);border-radius:0;padding:12px 0;transform:none}
.pg--svc .city-svc:hover{border-color:var(--hair);transform:none}
.pg--svc .city-svc:hover .city-svc__name{text-decoration:underline;text-underline-offset:4px}
.pg--svc .city-svc img{border-radius:6px}
.pg--svc .city-svc__name{font-family:var(--font-b);font-size:14px;letter-spacing:0;color:var(--ink)}
.pg--svc .city-svc__go{color:var(--ink-dim)}

@media (max-width:900px){
  .pg--svc>.svc-hero:has(.svc-hero__img){grid-template-columns:1fr;gap:34px}
  .pg--svc>.svc-hero:has(.svc-hero__img)>.svc-hero__img{grid-column:1;grid-row:auto;transform:none;max-width:640px}
  .pg--svc>.svc-hero::before{left:50%;height:100svh}
  .pg--svc .pricing-row{flex-direction:column;gap:6px;align-items:flex-start}
}
@media (max-width:560px){
  .pg--svc .svc-hero__title h1{font-size:clamp(32px,9vw,42px)}
  .pg--svc .svc-hero__cta{gap:18px}
}
.pg--svc>p{max-width:1400px;margin:0 auto;padding:0 clamp(22px,6vw,96px) clamp(28px,4vh,40px);font-family:var(--font-b);font-size:15px;color:var(--ink-dim)}

/* ============================================================
   .pg--blog — blog index and posts (legacy blog-*/post-* markup, restyled)
   ============================================================ */
.pg--blog .crumbs{max-width:1400px;margin:0 auto;padding:calc(76px + 2vh) clamp(22px,6vw,96px) 0;font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.pg--blog .crumbs a{color:var(--ink-dim)}
.pg--blog .crumbs a:hover{color:var(--ink)}
.pg--blog .crumbs [aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.pg--blog>.blog-hero{min-height:0;display:block;max-width:1400px;margin:0 auto;padding:clamp(28px,4vh,44px) clamp(22px,6vw,96px) clamp(40px,6vh,64px);position:relative;--cone-l:30%}
.pg--blog>.blog-hero::before{content:"";position:absolute;left:var(--cone-l);top:-30vh;width:min(72vw,900px);height:110vh;transform:translateX(-50%);
  background:radial-gradient(ellipse 38% 60% at 50% 0%,rgba(238,241,250,.20) 0%,rgba(238,241,250,.06) 40%,rgba(238,241,250,0) 70%);
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);pointer-events:none;z-index:0}
.pg--blog>.blog-hero>*{position:relative;z-index:1}
.pg--blog .blog-hero__title{font-family:var(--font-d);font-weight:700;letter-spacing:-.035em;line-height:.98;text-wrap:balance;font-size:clamp(36px,4.4vw,64px);color:var(--ink);max-width:18ch}
.pg--blog .blog-hero__short,.pg--blog .blog-hero__sub{font-family:var(--font-b);font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--ink-dim);max-width:50ch;margin-top:20px}
.pg--blog .post-meta{margin-top:18px;gap:8px 18px;font-family:var(--font-b);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-faint)}
.pg--blog .post-meta__date{color:var(--ink)}
.pg--blog .post-hero__img{margin-top:clamp(32px,5vh,48px);max-width:820px;border-radius:14px;border:1px solid var(--hair);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -30px rgba(0,0,0,.8)}
.pg--blog>.blog-hero>.blog-hero__title,.pg--blog>.blog-hero>.blog-hero__short,.pg--blog>.blog-hero>.blog-hero__sub,.pg--blog>.blog-hero>.post-meta,.pg--blog>.blog-hero>.post-hero__img{animation:pg-in .7s var(--ease-out) both}
.pg--blog>.blog-hero>.blog-hero__short,.pg--blog>.blog-hero>.blog-hero__sub{animation-delay:.06s}
.pg--blog>.blog-hero>.post-meta{animation-delay:.12s}
.pg--blog>.blog-hero>.post-hero__img{animation-delay:.15s;animation-duration:.9s}
/* posts read in one column */
.pg--post .crumbs,.pg--post>.blog-hero,.pg--post .post-body,.pg--post .post-cta,.pg--post .post-share{max-width:calc(820px + 2 * clamp(22px,6vw,96px));padding-left:clamp(22px,6vw,96px);padding-right:clamp(22px,6vw,96px)}
.pg--post>.blog-hero{--cone-l:50%}
.pg--post .blog-hero__title{max-width:none}

/* index */
.pg--blog .blog-grid{max-width:1400px;margin:0 auto;padding:clamp(24px,4vh,40px) clamp(22px,6vw,96px) clamp(72px,10vh,130px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(32px,5vh,56px) clamp(24px,3vw,48px)}
.pg--blog .blog-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0;gap:10px;overflow:visible;transform:none;box-shadow:none}
.pg--blog .blog-card::before{display:none}
.pg--blog .blog-card:hover{transform:none;border-color:var(--line);box-shadow:none}
.pg--blog .blog-card__meta{font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-faint);gap:14px;flex-wrap:wrap}
.pg--blog .blog-card__meta .cat{color:var(--ink)}
.pg--blog .blog-card h3{font-family:var(--font-d);font-weight:600;font-size:clamp(20px,1.7vw,24px);letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.pg--blog a.blog-card:hover h3{text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}
.pg--blog .blog-card p{font-family:var(--font-b);font-size:14.5px;line-height:1.6;color:var(--ink-dim)}
.pg--blog .blog-card__go{display:inline-block;margin-top:auto;padding-top:8px;font-family:var(--font-b);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);position:relative}
.pg--blog .blog-card__go::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}
.pg--blog .blog-card:hover .blog-card__go::after{transform:scaleX(1)}
.pg--blog .blog-card__img{aspect-ratio:16/10;border-radius:14px;border:1px solid var(--hair);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -30px rgba(0,0,0,.8);margin-bottom:8px}
.pg--blog div.blog-card .btn{align-self:flex-start;margin-top:8px}

/* post body */
.pg--blog .post-body{max-width:calc(820px + 2 * clamp(22px,6vw,96px));margin:0 auto;padding-top:clamp(24px,4vh,40px);padding-bottom:0;font-family:var(--font-b);font-size:17px;line-height:1.7;color:var(--ink-dim)}
.pg--blog .post-body h2{font-family:var(--font-d);font-weight:700;font-size:clamp(26px,2.8vw,36px);letter-spacing:-.03em;line-height:1.1;color:var(--ink);margin:clamp(44px,6vh,64px) 0 16px}
.pg--blog .post-body h3{font-family:var(--font-d);font-weight:600;font-size:clamp(19px,1.6vw,22px);letter-spacing:-.02em;color:var(--ink);margin:32px 0 10px}
.pg--blog .post-body a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .3s,color .3s}
.pg--blog .post-body a:hover{color:#fff;border-color:var(--ink)}
.pg--blog .post-body blockquote{border-left:1px solid var(--line);padding:2px 0 2px 24px;margin:30px 0;font-family:var(--font-d);font-weight:600;font-size:clamp(19px,1.8vw,24px);letter-spacing:-.02em;line-height:1.35;color:var(--ink)}
.pg--blog .post-body blockquote p{margin:0}
.pg--blog .post-body th,.pg--blog .post-body td{border:0;border-bottom:1px solid var(--line);padding:12px 14px 12px 0}
.pg--blog .post-body th{font-family:var(--font-d);font-weight:600;font-size:15px;color:var(--ink);background:none;border-bottom-color:var(--ink-faint)}
.pg--blog .post-body tr:nth-child(even) td{background:none}
.pg--blog .post-body td:first-child{color:var(--ink)}
.pg--blog .post-body .post-note{background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:20px 0;margin:30px 0;font-size:15.5px}
.pg--blog .post-body .post-note strong{color:var(--ink)}
.pg--blog .post-body .svc-faq{padding:clamp(40px,6vh,64px) 0 0}
.pg--blog .post-body .svc-faq h2{margin-top:0}
.pg--blog .post-body .svc-faq__list{margin-top:24px;max-width:none}
.pg--blog .post-body .faq-item p{padding-left:0;padding-right:0}

/* post CTA and share */
.pg--blog .post-cta{max-width:calc(820px + 2 * clamp(22px,6vw,96px));margin:clamp(56px,8vh,96px) auto 0;text-align:left;border:0;border-radius:0;padding-top:0;padding-bottom:0;background:none;overflow:visible}
.pg--blog .post-cta::before{display:none}
.pg--blog .post-cta>h3{font-family:var(--font-d);font-weight:700;letter-spacing:-.03em;line-height:1.04;font-size:clamp(30px,3.6vw,52px);color:var(--ink);margin:0 0 20px;padding-top:clamp(48px,7vh,80px);border-top:1px solid var(--line)}
.pg--blog .post-cta>div:not(.form-mount){display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.pg--blog .post-cta .btn{margin:0}
.pg--blog .post-cta .btn--ghost{border:0;padding:0 0 4px;border-radius:0;font-size:13px;letter-spacing:.1em;color:var(--ink);position:relative;background:none;box-shadow:none}
.pg--blog .post-cta .btn--ghost::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}
.pg--blog .post-cta .btn--ghost:hover{transform:none}
.pg--blog .post-cta .btn--ghost:hover::after{transform:scaleX(1)}
.pg--blog .post-cta .form-mount{margin-top:clamp(40px,6vh,64px);text-align:left}
.pg--blog .post-share{max-width:calc(820px + 2 * clamp(22px,6vw,96px));margin:0 auto;padding-top:clamp(40px,6vh,64px);padding-bottom:clamp(72px,10vh,130px);display:flex;flex-wrap:wrap;gap:12px 26px;text-transform:none;letter-spacing:0;font-family:var(--font-b);font-size:13.5px;font-weight:600}
.pg--blog .post-share a{color:var(--ink);border-bottom:1px solid var(--line);margin:0;padding-bottom:3px}
.pg--blog .post-share a:hover{color:#fff;border-color:var(--ink)}
