/* ============================================================================
   PARTNER WITH GRIT BLUEPRINT — page stylesheet (self-contained)
   This page ships the design system's own production styles (styles.css) plus
   the page's component styles, so it does NOT depend on the site-wide
   gb-home.css (which has drifted). Tokens + @font-face come from the globally
   enqueued colors_and_type.css. Loaded only on body.gb-partner-tpl.
   ============================================================================ */

/* ---------- [1] Design-system production styles (layout + components + responsive) ---------- */
/* ===========================================================================
   GRIT BLUEPRINT — PRODUCTION STYLES (layout + components + responsive)
   The authority partner for the building industry.

   Import this ONE file to build a page. It pulls in colors_and_type.css
   (tokens + type) and adds the full layout system: containers, sections,
   nav, hero, cards, grids, CTA band, footer, FAQ, plus a mobile layer
   (swipe carousels, footer accordions, >=44px tap targets).

   Direction: faithful-to-live Grit Blueprint — navy authority + Stefanie
   pink signal, blue-ombre hero, two-tone headlines, pill buttons, premium
   rounding. Zuume Bold headlines, Helvetica body. No black, ever.
   =========================================================================== */

/* ---------- base -------------------------------------------------------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-sans);
  color:var(--fg1);
  background:var(--gb-navy-900);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--gb-blue-500);outline-offset:3px;}
::selection{background:var(--gb-pink);color:#fff;}
.display,.h2,.h3,h1,h2,h3,h4{text-wrap:balance;}
p,.lead{text-wrap:pretty;}

/* ---------- layout containers + sections -------------------------------- */
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
.wrap-narrow{max-width:960px;margin:0 auto;padding:0 40px;}
section{position:relative;scroll-margin-top:90px;}
.sec{padding:var(--sec-pad,104px) 0;}
.sec-sm{padding:72px 0;}

/* surface treatments */
.dark{background:var(--gb-navy-900);color:#fff;}
.navy{background:var(--gb-navy-800);color:#fff;}
.deep{background:var(--gb-navy-900);color:#fff;}
.paper{background:var(--gb-paper);color:var(--fg1);}
.white{background:#fff;color:var(--fg1);}
.bluewash{background:linear-gradient(160deg,#0E1E36 0%,#15407a 45%,#0a6fb0 100%);color:#fff;}

/* ---------- type helpers ----------------------------------------------- */
.eyebrow{
  font-family:var(--font-sans);font-weight:700;font-size:13px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gb-pink);
  margin:0 0 20px;display:inline-flex;align-items:center;gap:11px;
}
.eyebrow.center{justify-content:center;}
.display{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:.92;letter-spacing:.005em;margin:0;
  font-size:clamp(42px,6.4vw,96px);
}
.h2{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:.96;letter-spacing:.01em;margin:0;
  font-size:clamp(32px,4.2vw,52px);
}
.h3{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:1.0;letter-spacing:.015em;margin:0;font-size:clamp(22px,2.4vw,30px);
}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--fg2);}
.measure{max-width:62ch;}
.pink,.accent-pink{color:var(--gb-pink);}
.accent-blue{color:var(--gb-blue-500);}

/* headline color on dark surfaces */
.dark .display,.navy .display,.deep .display,.bluewash .display,.hero .display,.cta-band .display,
.dark .h2,.dark .h3,.navy .h2,.navy .h3,.deep .h2,.deep .h3,.bluewash .h2,.bluewash .h3,
.dark h1,.dark h2,.dark h3,.dark h4,.navy h1,.navy h2,.navy h3,.navy h4,
.deep h1,.deep h2,.deep h3,.bluewash h1,.bluewash h2,.bluewash h3,.cta-band h2{color:#fff;}
.dark .lead,.navy .lead,.deep .lead,.cta-band .lead{color:var(--fg-on-dark-2);}
.bluewash .lead{color:rgba(255,255,255,.84);}
.dark .accent-blue,.navy .accent-blue,.deep .accent-blue,.bluewash .accent-blue{color:var(--gb-blue-300);}

/* ---------- buttons ----------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-sans);font-weight:700;font-size:14px;letter-spacing:.08em;
  text-transform:uppercase;border:none;border-radius:var(--radius-pill);
  padding:16px 30px;min-height:48px;cursor:pointer;white-space:nowrap;
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background var(--dur),border-color var(--dur),color var(--dur);
}
.btn svg{width:17px;height:17px;}
.btn:active{transform:translateY(1px);}
.btn-pink{background:var(--gb-pink);color:#fff;box-shadow:var(--shadow-pink-glow);}
.btn-pink:hover{box-shadow:0 16px 40px -10px rgba(255,24,148,.6);transform:translateY(-2px);}
.btn-pink:active{background:var(--gb-pink-600);}
.btn-blue{background:var(--gb-blue-500);color:#fff;box-shadow:var(--shadow-blue-glow);}
.btn-blue:hover{background:var(--gb-blue-700);transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--gb-navy);}
.btn-white:hover{background:#eef2f7;transform:translateY(-2px);}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-outline-navy{background:transparent;color:var(--gb-navy);border:1.5px solid rgba(24,53,94,.3);}
.btn-outline-navy:hover{border-color:var(--gb-navy);background:rgba(24,53,94,.05);}
.btn-lg{padding:19px 38px;font-size:15px;min-height:56px;}
.btn-sm{padding:11px 20px;font-size:12.5px;min-height:44px;}

.textlink{
  font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gb-blue-500);display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  transition:gap var(--dur) var(--ease-out),color var(--dur);
}
.textlink svg{width:15px;height:15px;}
.textlink:hover{gap:12px;color:var(--gb-pink);}
.dark .textlink,.navy .textlink,.deep .textlink,.bluewash .textlink{color:var(--gb-blue-300);}
.dark .textlink:hover,.navy .textlink:hover,.deep .textlink:hover,.bluewash .textlink:hover{color:var(--gb-pink);}

/* ---------- motifs ------------------------------------------------------ */
/* Blueprint grid — the signature motif. Fine drafting grid + major lines,
   faded at the edges like a real drawing sheet. */
.bp-grid::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(120% 90% at 50% 0%, transparent 38%, rgba(14,30,54,.92) 92%),
    linear-gradient(rgba(83,140,196,.10) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,rgba(83,140,196,.10) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(rgba(83,140,196,.22) 1px,transparent 1px) 0 0/104px 104px,
    linear-gradient(90deg,rgba(83,140,196,.22) 1px,transparent 1px) 0 0/104px 104px;
}
.bp-grid > *{position:relative;z-index:1;}
.ombre{background:var(--gb-ombre-radial);}
.watermark-mark{position:absolute;pointer-events:none;opacity:.05;z-index:0;}

/* ---------- top utility bar -------------------------------------------- */
.util{
  background:var(--gb-navy-900);color:var(--fg-on-dark-3);
  font-size:12px;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.07);
}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;}
.util b{color:var(--gb-pink);font-weight:700;}
.util .util-right{display:flex;gap:22px;align-items:center;}
.util .util-right a{transition:color var(--dur);}
.util .util-right a:hover{color:#fff;}

/* ---------- nav --------------------------------------------------------- */
.nav{
  position:sticky;top:0;z-index:80;background:rgba(14,30,55,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(79,180,230,.16);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;}
.nav-logo{height:24px;width:auto;cursor:pointer;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-link{
  display:flex;align-items:center;gap:5px;padding:12px 14px;cursor:pointer;
  font-size:12.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#C7D2E2;
  transition:color var(--dur);background:transparent;border:none;font-family:var(--font-sans);
}
.nav-link:hover,.nav-link.active{color:#fff;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-signal{position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--gb-pink),var(--gb-blue-500));}

/* mobile nav */
.nav-burger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:10px;min-width:44px;min-height:44px;}
.nav-burger svg{width:24px;height:24px;}
.mobile-nav{display:none;background:var(--gb-navy-900);border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;padding:16px 0;font-weight:700;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:#C7D2E2;border-bottom:1px solid rgba(255,255,255,.07);}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav .btn{margin-top:18px;width:100%;}

/* ---------- HERO (blue ombre + GB monogram) ----------------------------- */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(112deg,#0E1E36 0%,#163B6E 40%,#0F5C97 72%,#0092D6 100%);}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 60% at 78% 42%, rgba(0,146,214,.34), transparent 70%),
    linear-gradient(rgba(173,216,255,.05) 1px,transparent 1px) 0 0/30px 30px,
    linear-gradient(90deg,rgba(173,216,255,.05) 1px,transparent 1px) 0 0/30px 30px;}
.hero-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.18fr .82fr;
  gap:44px;align-items:center;padding-top:120px;padding-bottom:92px;}
.hero-copy .eyebrow{margin-bottom:22px;}
.hero-copy .display{font-size:clamp(40px,5vw,72px);line-height:.96;margin:0 0 34px;color:#fff;}
.hero-copy .lead{max-width:48ch;color:var(--fg-on-dark-2);}
.hero-tag{margin-top:22px;font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(15px,1.5vw,19px);letter-spacing:.04em;color:#fff;}
.hero-tag .s{color:var(--gb-pink);margin:0 8px;}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px;}
.hero-trust{margin-top:44px;display:flex;gap:34px;flex-wrap:wrap;align-items:center;}
.hero-trust .ht{display:flex;flex-direction:column;gap:3px;}
.hero-trust .ht b{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:.9;color:#fff;}
.hero-trust .ht span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);font-weight:700;}
.hero-trust .div{width:1px;height:34px;background:rgba(255,255,255,.16);}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;}
.hero-mono{position:relative;z-index:1;width:min(46vw,520px);}
.hero-mono img{width:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35));}

/* ---------- proof / logo strip ----------------------------------------- */
.proof{background:var(--gb-navy-800);border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);padding:34px 0;overflow:hidden;}
.proof-head{text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-on-dark-3);font-weight:700;margin-bottom:24px;}
.marquee{display:flex;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;gap:54px;padding-right:54px;animation:scroll-x 46s linear infinite;white-space:nowrap;flex:none;}
.proof:hover .marquee-track{animation-play-state:paused;}
.marquee-item{font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:22px;letter-spacing:.03em;color:rgba(255,255,255,.6);transition:color var(--dur);}
.marquee-item:hover{color:#fff;}
@keyframes scroll-x{to{transform:translateX(-50%);}}

/* ---------- ethos strip (be seen / known / chosen) ---------------------- */
.ethos{background:var(--gb-navy-800);border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);padding:26px 0;}
.ethos .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(20px,2.4vw,30px);color:#fff;letter-spacing:.02em;}
.ethos .s{color:var(--gb-pink);}
.ethos .ethos-um{font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  color:var(--gb-pink);font-size:clamp(24px,3.2vw,40px);letter-spacing:.02em;text-align:center;}

/* ---------- section heads + grids -------------------------------------- */
.sec-head{max-width:760px;margin-bottom:52px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head .lead{margin-top:18px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}

/* ---------- cards ------------------------------------------------------- */
.card{background:#fff;border:1px solid var(--gb-line);border-radius:18px;
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur);}
.card.hov:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:transparent;}
.dark .card,.navy .card,.deep .card,.bluewash .card{background:var(--gb-navy-700);
  border-color:rgba(255,255,255,.12);box-shadow:0 24px 60px -30px rgba(0,0,0,.5);}

/* pillar / discipline card */
.pillar{padding:32px 28px 30px;position:relative;overflow:hidden;}
.pillar .picon{width:48px;height:48px;border-radius:12px;background:rgba(255,24,148,.12);
  display:flex;align-items:center;justify-content:center;color:var(--gb-pink);margin-bottom:20px;}
.pillar .picon svg{width:24px;height:24px;}
.dark .pillar .picon,.navy .pillar .picon,.deep .pillar .picon{background:rgba(255,24,148,.16);color:var(--gb-pink);}
.pillar h4{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;
  margin:0 0 10px;letter-spacing:.02em;color:inherit;}
.pillar p{font-size:15.5px;line-height:1.6;margin:0;color:var(--fg2);}
.dark .pillar p,.navy .pillar p,.deep .pillar p{color:#fff;}
.pillar .pnum{position:absolute;top:18px;right:22px;font-family:var(--font-display);font-size:34px;
  font-weight:700;color:var(--gb-pink);}
.dark .pillar .pnum,.navy .pillar .pnum,.deep .pillar .pnum{color:var(--gb-pink);}

/* service row */
.svc{display:flex;gap:18px;padding:22px 24px;align-items:flex-start;border-radius:18px;}
.svc .sicon{flex:none;width:44px;height:44px;border-radius:12px;background:var(--gb-blue-100);
  display:flex;align-items:center;justify-content:center;color:var(--gb-blue-700);
  transition:background var(--dur),color var(--dur);}
.svc .sicon svg{width:20px;height:20px;}
.svc.hov:hover .sicon{background:var(--gb-blue-500);color:#fff;}
.svc h4{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:18px;
  color:var(--gb-navy);margin:0 0 5px;letter-spacing:.015em;}
.svc p{font-size:13.5px;color:var(--fg2);margin:0;line-height:1.5;}

/* ---------- stats band -------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;}
.stat{background:rgba(18,51,99,.6);padding:34px 26px;}
.stat .num{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,3.6vw,52px);line-height:.9;color:#fff;}
.stat .num .pink{color:var(--gb-pink);}
.stat .lbl{font-size:12px;letter-spacing:.04em;color:var(--fg-on-dark-2);margin-top:10px;
  text-transform:uppercase;font-weight:600;}

/* ---------- framework steps -------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.step{padding:34px 28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:var(--gb-navy-700);}
.step .snum{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--gb-pink);letter-spacing:.12em;margin-bottom:18px;}
.step h4{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:26px;color:#fff;margin:0 0 12px;letter-spacing:.02em;}
.step p{font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.55;margin:0;}

/* ---------- feature split ----------------------------------------------- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.feature.flip .feat-media{order:2;}
.feat-media{position:relative;border-radius:18px;overflow:hidden;min-height:380px;
  background:linear-gradient(150deg,#1f568f,#0E1E36);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;}
.feat-media .ph-note{position:absolute;bottom:16px;left:0;right:0;text-align:center;
  font-size:11.5px;color:var(--fg-on-dark-3);font-style:italic;letter-spacing:.02em;}

/* checklist */
.checks{display:flex;flex-direction:column;gap:16px;margin:26px 0 0;}
.check{display:flex;gap:14px;align-items:flex-start;}
.check svg{flex:none;width:22px;height:22px;color:var(--gb-pink);margin-top:1px;}
.check .ct{font-weight:700;color:inherit;font-size:15.5px;}
.check .cd{font-size:14px;color:var(--fg2);margin-top:2px;line-height:1.5;}
.dark .check .cd,.navy .check .cd,.deep .check .cd{color:var(--fg-on-dark-2);}

/* ---------- services index (editorial rows) ----------------------------- */
.idx{border-top:1.5px solid var(--gb-line);}
.idx-row{display:grid;grid-template-columns:74px minmax(0,1.05fr) minmax(0,1.15fr) 36px;gap:22px;
  align-items:center;padding:26px 10px;border-bottom:1.5px solid var(--gb-line);cursor:pointer;
  position:relative;transition:padding var(--dur) var(--ease-out),background var(--dur);}
.idx-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gb-pink);
  transform:scaleY(0);transform-origin:top;transition:transform var(--dur) var(--ease-out);}
.idx-row:hover{padding-left:24px;background:linear-gradient(90deg,rgba(255,24,148,.05),transparent 60%);}
.idx-row:hover::before{transform:scaleY(1);}
.idx-num{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--gb-ink-3);letter-spacing:.02em;transition:color var(--dur);}
.idx-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.012em;
  font-size:clamp(19px,1.9vw,28px);color:var(--gb-navy);line-height:.98;}
.idx-pain{font-size:14px;color:var(--fg2);line-height:1.45;}
.idx-arrow{justify-self:end;color:var(--gb-ink-3);display:flex;transition:color var(--dur),transform var(--dur);}
.idx-arrow svg{width:22px;height:22px;}
.idx-row:hover .idx-num,.idx-row:hover .idx-title{color:var(--gb-pink);}
.idx-row:hover .idx-arrow{color:var(--gb-pink);transform:translateX(5px);}

/* ---------- pricing tiers / ways in -------------------------------------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;padding-top:14px;}
.tier{position:relative;display:flex;flex-direction:column;background:var(--gb-navy-700);
  border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:32px 28px;
  box-shadow:0 24px 56px -30px rgba(0,0,0,.6);
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out);}
.tier:hover{transform:translateY(-5px);box-shadow:0 32px 70px -28px rgba(0,0,0,.7);}
.tier.featured{border-color:var(--gb-pink);box-shadow:0 28px 64px -26px rgba(255,24,148,.42);}
.tier-badge{position:absolute;top:-13px;left:28px;background:var(--gb-pink);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:99px;padding:5px 13px;}
.tier .tk{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gb-blue-300);margin-bottom:11px;}
.tier h3{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:25px;
  line-height:1.02;color:#fff;margin:0 0 10px;letter-spacing:.01em;}
.tier-d{font-size:14px;line-height:1.5;color:var(--fg-on-dark-2);margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14);}
.tier ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1;}
.tier li{display:flex;gap:10px;font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.45;align-items:flex-start;}
.tier li svg{flex:none;width:16px;height:16px;color:var(--gb-pink);margin-top:2px;}

/* ---------- before / after ----------------------------------------------- */
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ba{border-radius:14px;padding:24px 22px;border:1px solid var(--gb-line);}
.ba.bad{background:var(--gb-paper);}
.ba.good{background:#fff;border-color:var(--gb-pink);box-shadow:var(--shadow-card);}
.ba .balabel{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;}
.ba.bad .balabel{color:var(--gb-ink-3);}
.ba.good .balabel{color:var(--gb-pink);}
.ba ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.ba li{font-size:13.5px;color:var(--fg2);line-height:1.4;display:flex;gap:9px;align-items:flex-start;}
.ba li svg{flex:none;width:16px;height:16px;margin-top:2px;}
.ba.bad li svg{color:var(--gb-concrete);}
.ba.good li svg{color:var(--gb-pink);}

/* ---------- team grid ----------------------------------------------------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.member .photo{aspect-ratio:3/4;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#1f568f,#0E1E36);position:relative;
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);}
.member .photo .ph-note{text-align:center;font-size:11px;color:var(--fg-on-dark-3);font-style:italic;padding:0 14px;}
.member .photo img{width:100%;height:100%;object-fit:cover;}
.member .mname{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:19px;
  color:#fff;margin:16px 0 2px;letter-spacing:.02em;}
.white .member .mname,.paper .member .mname{color:var(--gb-navy);}
.member .mrole{font-size:12.5px;color:var(--gb-pink);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.member .mbio{font-size:13px;color:var(--fg-on-dark-2);margin-top:9px;line-height:1.5;}
.white .member .mbio,.paper .member .mbio{color:var(--fg2);}

/* ---------- slim mid-page CTA strip --------------------------------------- */
.cta-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--gb-navy-800);border:1px solid rgba(255,255,255,.12);border-radius:18px;
  padding:30px 36px;color:#fff;}
.cta-strip .cs-t{font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(22px,2.2vw,30px);letter-spacing:.015em;line-height:1;}
.cta-strip .cs-t .pink{color:var(--gb-pink);}
.cta-strip .cs-s{font-size:13.5px;color:var(--fg-on-dark-2);margin-top:6px;}

/* ---------- testimonial ------------------------------------------------- */
.tquote{font-family:var(--font-display);text-transform:uppercase;font-weight:700;line-height:1.04;
  letter-spacing:.01em;font-size:clamp(26px,3vw,40px);color:var(--gb-navy);margin:0 0 26px;}
.tquote .pink{color:var(--gb-pink);}
.tmeta{display:flex;align-items:center;gap:16px;}
.tmeta .tavatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(150deg,#1f568f,#0E1E36);flex:none;}
.tmeta .tn{font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--gb-navy);}
.tmeta .tr{font-size:13px;color:var(--fg3);}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tcard{padding:28px 26px;}
.tcard p{font-size:15px;line-height:1.6;color:var(--fg1);margin:0 0 20px;}
.tcard .ta{font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gb-navy);}
.tcard .tc{font-size:12.5px;color:var(--fg3);margin-top:2px;}
.tstars{display:flex;gap:3px;margin-bottom:16px;color:var(--gb-pink);}
.tstars svg{width:16px;height:16px;}

/* ---------- FAQ --------------------------------------------------------- */
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start;}
.faq-list{border-top:1px solid var(--gb-line);}
.faq-item{border-bottom:1px solid var(--gb-line);}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;
  background:none;border:none;cursor:pointer;padding:24px 4px;text-align:left;min-height:44px;}
.faq-q .qtext{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;
  color:var(--gb-navy);letter-spacing:.03em;line-height:1.12;}
.faq-q .qico{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--gb-line);
  display:flex;align-items:center;justify-content:center;color:var(--gb-navy);
  transition:background var(--dur),color var(--dur),border-color var(--dur),transform var(--dur);}
.faq-q .qico svg{width:16px;height:16px;}
.faq-item.open .qico{background:var(--gb-pink);border-color:var(--gb-pink);color:#fff;transform:rotate(45deg);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease-out);}
.faq-a p{overflow:hidden;min-height:0;font-size:15px;line-height:1.65;color:var(--fg2);margin:0;padding:0 4px;max-width:64ch;}
.faq-item.open .faq-a{grid-template-rows:1fr;}
.faq-item.open .faq-a p{padding-bottom:26px;}

/* ---------- CTA band (blueprint sheet on blue ombre) ---------------------- */
.cta-band{position:relative;overflow:hidden;text-align:center;padding:120px 0;
  background:var(--gb-ombre);}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130% 125% at 50% 45%, transparent 52%, rgba(14,30,55,.45) 100%),
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0/104px 104px,
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px) 0 0/104px 104px;}
.cta-band > *{position:relative;z-index:1;}
.cta-band .display{font-size:clamp(40px,5.2vw,72px);color:#fff;}
.cta-band .lead{color:var(--fg-on-dark-2);max-width:600px;margin:22px auto 36px;}
.cta-band .hero-cta{justify-content:center;}
.cta-band .watermark-mark{opacity:.05;right:-120px;top:50%;transform:translateY(-50%);width:520px;}

/* ---------- footer ------------------------------------------------------ */
.foot{background:var(--gb-navy-900);color:#fff;}
.foot-news{border-bottom:1px solid rgba(255,255,255,.1);padding:42px 0;}
.foot-news .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.foot-news .fn-t{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:26px;letter-spacing:.02em;color:#fff;margin:0 0 6px;}
.foot-news .fn-s{font-size:13.5px;color:var(--fg-on-dark-2);}
.foot-news form{display:flex;gap:10px;flex-wrap:wrap;}
.foot-news input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:99px;
  padding:14px 22px;color:#fff;font-size:14px;min-width:280px;font-family:var(--font-sans);}
.foot-news input::placeholder{color:var(--fg-on-dark-3);}
.foot-news input:focus{outline:none;border-color:var(--gb-blue-500);box-shadow:0 0 0 3px rgba(0,146,214,.25);}
.foot-main{padding:64px 0 48px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:36px;}
.foot-logo{width:215px;height:auto;max-width:100%;margin-bottom:20px;}
.foot-blurb{font-family:var(--font-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(22px,2vw,29px);line-height:1.02;letter-spacing:.01em;color:#fff;max-width:320px;margin:4px 0 22px;}
.foot-soc{display:flex;gap:14px;margin-top:22px;}
.foot-soc a{opacity:.8;transition:opacity var(--dur),transform var(--dur);
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.foot-soc a:hover{opacity:1;transform:translateY(-2px);}
.foot-col .foot-h{font-family:var(--font-sans);font-weight:800;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gb-pink);margin:0 0 18px;}
.foot-col-toggle{display:block;width:100%;background:none;border:none;padding:0;margin:0;
  cursor:default;text-align:left;font-family:inherit;}
.foot-col-chev{display:none;}
.foot-col-links a{display:block;font-size:13.5px;color:var(--fg-on-dark-2);padding:6px 0;cursor:pointer;transition:color var(--dur);}
.foot-col-links a:hover{color:#fff;}
.foot-contact{font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.7;font-style:normal;}
.foot-contact a{color:#fff;transition:color var(--dur);}
.foot-contact a:hover{color:var(--gb-pink);}
.foot-bot{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--fg-on-dark-3);}
.foot-bot .fb-links{display:flex;gap:20px;}
.foot-bot a:hover{color:#fff;}

/* ---------- reveal animation (progressive enhancement) ------------------ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .marquee-track{animation:none;}
  html{scroll-behavior:auto;}
}

/* ===========================================================================
   RESPONSIVE
   =========================================================================== */
@media(max-width:1080px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:920px){
  .nav-links{display:none;}
  .nav-burger{display:inline-flex;align-items:center;justify-content:center;}
  .nav-cta .btn:not(.nav-book){display:none;}
  .hero-wrap{grid-template-columns:1fr;gap:36px;padding-top:104px;padding-bottom:64px;text-align:center;}
  .hero-copy .eyebrow,.hero-trust{justify-content:center;}
  .hero-copy .lead{margin-left:auto;margin-right:auto;}
  .hero-cta{justify-content:center;}
  .hero-art{order:-1;min-height:240px;}
  .hero-mono{width:min(60vw,300px);}
  .feature,.faq-grid,.grid-3,.grid-2,.tcards,.tiers{grid-template-columns:1fr;gap:40px;}
  .feature.flip .feat-media{order:0;}
  .steps{grid-template-columns:1fr 1fr;}
  .foot-main{grid-template-columns:1fr 1fr;}
}

/* ---------- mobile layer (<=760px): tighten + carousels + accordions ---- */
@media(max-width:760px){
  .sec{padding:56px 0;}
  .sec-sm{padding:40px 0;}
  .sec-head{margin-bottom:32px;}
  .wrap,.wrap-narrow{padding:0 20px;}

  .grid-4,.stats{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .before-after{grid-template-columns:1fr;}
  .idx-row{grid-template-columns:44px 1fr;gap:6px 14px;padding:20px 6px;}
  .idx-pain{grid-column:2;}
  .idx-arrow{display:none;}
  .cta-strip{padding:24px 22px;}
  .hero-cta .btn{flex:1 1 auto;}

  /* tall card rows become swipe carousels with a peek + pink scroll cue */
  .grid-3.swipe,.tcards.swipe,.steps.swipe,.tiers.swipe{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;scroll-padding-left:20px;gap:14px;
    margin:0 -20px;padding:4px 20px 18px;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(140,150,170,.22);
  }
  .tiers.swipe{padding-top:22px;}
  .grid-3.swipe > *,.tcards.swipe > *,.steps.swipe > *,.tiers.swipe > *{flex:0 0 84%;scroll-snap-align:start;min-width:0;}
  .swipe::-webkit-scrollbar{height:5px;}
  .swipe::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
  .swipe::-webkit-scrollbar-track{background:rgba(140,150,170,.22);border-radius:99px;}

  /* footer collapses to tap-to-open accordions */
  .foot-main{grid-template-columns:1fr;gap:0;padding:40px 0 28px;}
  .foot-col{border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-col-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
    padding:16px 0;cursor:pointer;min-height:44px;}
  .foot-col .foot-h{margin:0;}
  .foot-col-chev{display:inline-flex;color:rgba(255,255,255,.55);transition:transform var(--dur) var(--ease-out);}
  .foot-col.open .foot-col-chev{transform:rotate(45deg);color:var(--gb-pink);}
  .foot-col-links{overflow:hidden;max-height:0;opacity:0;
    transition:max-height .32s var(--ease-out),opacity .2s var(--ease-out),padding .32s var(--ease-out);}
  .foot-col.open .foot-col-links{max-height:720px;opacity:1;padding-bottom:14px;}
  .foot-col-links a{padding:10px 0;}
  .foot-brand{margin-bottom:28px;}
  .cta-band{padding:80px 0;}
}
@media(max-width:380px){
  .hero-copy .display{font-size:clamp(34px,9vw,40px);}
}

/* ---------- [2] Page component styles (hero detail, ways, proof, lightbox, video, kenburns) ---------- */
@keyframes reveal-in { from { opacity:0; transform:translateY(34px); } to { opacity:1; transform:none; } }
.reveal { animation:reveal-in linear both; animation-timeline:view(); animation-range:entry 0% cover 24%; }
@supports not (animation-timeline: view()) { .reveal { opacity:1; transform:none; animation:none; } }
.reveal-cascade > * { animation:reveal-in linear both; animation-timeline:view(); animation-range:entry 0% cover 16%; }
@supports not (animation-timeline: view()) { .reveal-cascade > * { opacity:1; transform:none; animation:none; } }
.vid-play:hover{transform:scale(1.07);box-shadow:0 16px 40px -6px rgba(255,24,148,.78);}
.vid-play:active{transform:scale(.98);}
.vid-wrap.playing .vid-play{opacity:0;visibility:hidden;}
.proof-photo img{transition:transform .7s cubic-bezier(.22,1,.36,1);}
.proof-photo:hover img{transform:scale(1.085);}
.proof-photo:hover{border-color:rgba(255,24,148,.5)!important;}
.pp-expand{opacity:0;transform:translateY(-4px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);}
.proof-photo:hover .pp-expand{opacity:1;transform:none;}
.pg-lightbox.open{display:flex!important;}
@media(max-width:760px){.pg-lb-card{grid-template-columns:1fr!important;max-height:90vh;overflow:auto;}.pg-lb-card>div:first-child{min-height:240px!important;}}
.yt-facade{cursor:pointer;}
.yt-facade:hover .yt-thumb{transform:scale(1.045);}
.yt-facade.playing .yt-ui{opacity:0;visibility:hidden;}
@media(max-width:760px){.stage-grid{grid-template-columns:1fr!important;gap:18px!important;}}
.yt-facade .yt-thumb{transition:transform .6s var(--ease-out);}
@keyframes gb-kenburns { 0% { transform:scale(1.05) translate(0,0); } 100% { transform:scale(1.13) translate(-1.5%,-2%); } }
.kb-img{animation:gb-kenburns 20s ease-in-out infinite alternate;transform-origin:60% 40%;will-change:transform;}
@keyframes gb-pulse { 0%,100% { opacity:.35; transform:translateX(-50%) scale(1); } 50% { opacity:.7; transform:translateX(-50%) scale(1.12); } }
.kb-glow{animation:gb-pulse 6s ease-in-out infinite;}
@keyframes gb-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes gb-glow { 0%,100% { opacity:.42; transform:scale(1); } 50% { opacity:.72; transform:scale(1.08); } }
@keyframes gb-drift { 0%,100% { transform:translate(0,0); } 50% { transform:translate(-6%,5%); } }
.display{line-height:1.0;padding-bottom:.16em;}
.sec .h2,.cta-band .display{line-height:1.02;padding-bottom:.18em;}
.feature .h2{padding-bottom:.2em;}
.faq-q .qtext{line-height:1.22;}
.tquote,.cs-quote{line-height:1.12;}
.logo-tile{height:78px;border:1px solid var(--gb-line);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:16px 18px;background:#fff;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1);}
.logo-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(14,30,55,.3);}
.logo-tile img{max-height:42px;width:auto;object-fit:contain;}
.logo-tile .ph{font-family:var(--font-display);text-transform:uppercase;font-weight:700;letter-spacing:.02em;color:var(--gb-navy);font-size:18px;line-height:1;text-align:center;}
.logo-tile .ph small{display:block;font-family:var(--font-sans);font-size:8.5px;letter-spacing:.14em;color:var(--gb-ink-3);margin-top:5px;font-weight:700;}
.cs-quote{font-family:var(--font-display);text-transform:uppercase;font-weight:700;line-height:1.06;letter-spacing:.01em;font-size:clamp(20px,2vw,27px);color:#fff;margin:0;}
.cs-quote .pink{color:var(--gb-pink);}
.ways-acc{border-bottom:1.5px solid var(--gb-line);}
.way{border-top:1.5px solid var(--gb-line);}
.way-head{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:22px;align-items:center;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:26px 8px;font-family:inherit;position:relative;transition:padding .25s var(--ease-out);}
.way-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gb-pink);transform:scaleY(0);transform-origin:center;transition:transform .25s var(--ease-out);}
.way.open .way-head::before,.way-head:hover::before{transform:scaleY(1);}
.way-head:hover{padding-left:16px;}
.way-num{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--gb-ink-3);transition:color .25s;}
.way-titlewrap{display:flex;flex-direction:column;gap:6px;min-width:0;}
.way-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.012em;font-size:clamp(19px,1.9vw,27px);color:var(--gb-navy);line-height:1.04;}
.way-sum{font-size:14.5px;color:var(--fg2);line-height:1.45;}
.way.open .way-num,.way.open .way-title,.way-head:hover .way-num,.way-head:hover .way-title{color:var(--gb-pink);}
.way-ico{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gb-line);display:flex;align-items:center;justify-content:center;color:var(--gb-navy);flex:none;transition:transform .25s,background .25s,color .25s,border-color .25s;}
.way-ico svg{width:16px;height:16px;}
.way.open .way-ico{background:var(--gb-pink);border-color:var(--gb-pink);color:#fff;transform:rotate(45deg);}
.way-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease-out);}
.way.open .way-body{grid-template-rows:1fr;}
.way-body-inner{overflow:hidden;min-height:0;}
.way-detail{padding:2px 8px 30px 84px;display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;}
.way-card .wk{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gb-pink);margin-bottom:8px;}
.way-card p{font-size:14px;color:var(--fg2);line-height:1.55;margin:0;}
.proof-card{position:relative;border-radius:18px;padding:30px 32px 22px;overflow:hidden;background:linear-gradient(160deg,#1b3e72 0%,#0c1d39 100%);border:1px solid rgba(120,170,225,.28);box-shadow:0 34px 70px -34px rgba(0,0,0,.75);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.proof-card:hover{transform:translateY(-4px);box-shadow:0 44px 84px -32px rgba(0,0,0,.82);}
.proof-card::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.proof-card.stages::after{background:linear-gradient(90deg,var(--gb-pink),#ff7ac4);}
.proof-card.press::after{background:linear-gradient(90deg,var(--gb-blue-500),var(--gb-blue-300));}
.proof-card .pc-head{display:flex;align-items:center;gap:13px;margin-bottom:8px;}
.proof-card .pc-ico{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;}
.proof-card.stages .pc-ico{background:rgba(255,24,148,.16);color:var(--gb-pink);}
.proof-card.press .pc-ico{background:rgba(0,146,214,.2);color:var(--gb-blue-300);}
.proof-card .pc-ico svg{width:21px;height:21px;}
.proof-card .pc-title{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:20px;letter-spacing:.02em;color:#fff;line-height:1;}
.proof-card .pc-count{margin-left:auto;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:99px;}
.proof-card.stages .pc-count{background:rgba(255,24,148,.16);color:var(--gb-pink);}
.proof-card.press .pc-count{background:rgba(0,146,214,.28);color:#E6F4FC;}
.cs-stats{gap:12px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important;}
.cs-stats .stat{background:rgba(255,255,255,.045)!important;border:1px solid rgba(120,170,225,.22);border-radius:14px;padding:22px 20px!important;position:relative;overflow:hidden;transition:border-color .25s var(--ease-out),background .25s,transform .25s var(--ease-out);}
.cs-stats .stat:hover{transform:translateY(-3px);border-color:rgba(255,24,148,.45);background:rgba(255,24,148,.06)!important;}
.cs-stats .stat::after{content:"";position:absolute;top:0;left:0;width:32px;height:3px;background:var(--gb-pink);}
.cs-stats .num{font-size:clamp(30px,3vw,42px)!important;line-height:.9;}
.cs-stats .lbl{margin-top:9px!important;font-size:11px!important;letter-spacing:.05em;}
@media(max-width:760px){.way-head{grid-template-columns:42px 1fr auto;gap:14px;padding:22px 6px;}.way-detail{padding:2px 6px 24px 6px;grid-template-columns:1fr;gap:16px;}}
@media (prefers-reduced-motion: reduce){ .reveal,.reveal-cascade > *,.kb-img,.kb-glow,.gb-anim{animation:none!important;opacity:1!important;transform:none!important;} }
@media (max-width:760px){
  .reveal,.reveal-cascade > *{opacity:1!important;transform:none!important;animation:none!important;}
  .kb-img{animation:none!important;transform:none!important;}
  .hero > .gb-spot,.hero .gb-anim{display:none!important;}
  .m-swipe{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px!important;padding:4px 20px 18px!important;grid-template-columns:none!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(140,150,170,.22);}
  .m-swipe>*{flex:0 0 84%!important;scroll-snap-align:start;min-width:0;}
  .m-swipe::-webkit-scrollbar{height:5px;}
  .m-swipe::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
  .idx-pain{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s var(--ease-out),opacity .2s;}
  .idx-row.open .idx-pain{max-height:240px;opacity:1;margin-top:6px;}
  .idx-arrow{display:flex!important;justify-self:end;transition:transform .25s;}
  .idx-row.open .idx-arrow{transform:rotate(90deg);}
  .hero-copy .display{font-size:clamp(34px,8.5vw,44px)!important;}
  .cs-stats{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:760px){
  /* tighter vertical rhythm */
  .sec{padding:52px 0;}
  .sec-head{margin-bottom:26px;}
  .cta-band .display{font-size:clamp(30px,7.8vw,42px);}
  /* hero: hide the floating proof card on mobile (its dark gradient blended into the bg and read as dead space) and lead with the headline */
  .hero-art{display:none!important;}
  .hero-wrap{padding-top:84px!important;padding-bottom:8px!important;}
  /* persistent tap affordance for the gallery lightbox expand icon */
  .proof-photo .pp-expand{opacity:1;transform:none;}
  /* keep testimonial cards readable in the swipe row */
  #testimonials .tcard{white-space:normal;}
}
@media(hover:none){
  .proof-photo .pp-expand{opacity:1!important;transform:none!important;}
}

/* ---- jump menu + simple-answer cards + featured ---- */
html{scroll-behavior:smooth;}
.jump-menu{background:#fff;border-bottom:1px solid var(--gb-line);position:relative;z-index:5;}
.jump-inner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 0;}
.jump-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ink-3);margin-right:4px;}
.jump-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;border:1.5px solid var(--gb-line);background:#fff;color:var(--gb-navy);font-size:13.5px;font-weight:600;text-decoration:none;min-height:42px;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),background .2s var(--ease-out),transform .2s var(--ease-out);}
.jump-chip:hover{border-color:var(--gb-pink);color:var(--gb-pink);background:rgba(255,24,148,.05);transform:translateY(-1px);}
.sa-card{position:relative;background:#fff;border-radius:14px;border-left:6px solid var(--gb-pink);box-shadow:0 26px 60px -30px rgba(8,18,36,.5);padding:30px 34px 28px;margin-bottom:42px;}
.sa-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gb-pink);margin-bottom:15px;}
.sa-head{font-family:var(--font-sans);font-weight:800;color:var(--gb-navy);font-size:clamp(19px,2vw,25px);line-height:1.3;margin:0;}
.sa-head .pk{color:var(--gb-pink);}
.sa-sub{font-family:var(--font-sans);font-weight:400;color:var(--fg2);font-size:clamp(15px,1.35vw,17px);line-height:1.55;margin:13px 0 0;}
@media(max-width:760px){
  .sa-card{padding:24px 22px;margin-bottom:30px;}
  .jump-inner{flex-wrap:nowrap;overflow-x:auto;padding:16px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .jump-inner::-webkit-scrollbar{display:none;}
  .jump-chip,.jump-label{flex:0 0 auto;white-space:nowrap;}
  .feat-quote{grid-template-columns:1fr!important;justify-items:center;text-align:center;}
}

.feature > div{min-width:0;}
.cs-gallery{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;min-width:0;max-width:100%;margin-bottom:20px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(140,150,170,.2);-webkit-overflow-scrolling:touch;}
.cs-gallery::-webkit-scrollbar{height:6px;}
.cs-gallery::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
.cs-gallery::-webkit-scrollbar-track{background:rgba(140,150,170,.18);border-radius:99px;}
.cs-gallery .proof-photo{flex:0 0 156px;height:150px;}
@media(max-width:760px){.hero-trust{flex-direction:column;gap:18px;}.hero-trust .div{display:none!important;}.qfeat{padding:28px 22px!important;}.qfeat div[style*="font-size:84px"]{font-size:52px!important;line-height:.8!important;}.qfeat div[style*="min-width:280px"]{min-width:0!important;}.featrow span[style*="gb-blue-300"]{display:none!important;}}

/* ============================================================
   PARTNER — header offset (transparent sticky Elementor header)
   Pulls the app up under the header so the hero bg fills behind it,
   then pads the hero content down to clear it. Scoped to this template.
   ============================================================ */
body.gb-partner-tpl { --gb-header-h: 130px; }
@media (max-width:920px){ body.gb-partner-tpl { --gb-header-h: 120px; } }
@media (max-width:760px){ body.gb-partner-tpl { --gb-header-h: 100px; } }
body.gb-partner-tpl #content,
body.gb-partner-tpl .site-content { padding-top:0 !important; margin-top:0 !important; }
body.gb-partner-tpl .gb-app { margin-top: calc(-1 * var(--gb-header-h)) !important; }
body.gb-partner-tpl .hero .hero-wrap { padding-top: calc(var(--gb-header-h) + 28px) !important; }

/* ============================================================================
   LIVE-ENVIRONMENT GUARDS (scoped to body.gb-partner-tpl)
   The site-wide gb-home.css still loads on this page on the live server, and its
   generic paragraph rules (e.g. ".gb-app .deep p") outrank a single class on a
   <p>, flattening .sa-head and .cs-quote to body-text size, weight, and color.
   Both are <p> elements, so we re-assert their full treatment with !important to
   guarantee they win regardless of the offender's specificity or load order.
   ============================================================================ */

/* Simple Answer headline: bold navy sans, with the pink accent span (.pk). */
body.gb-partner-tpl .gb-app .sa-head {
	font-family: var(--font-sans) !important;
	font-weight: 800 !important;
	color: var(--gb-navy) !important;
	font-size: clamp(19px, 2vw, 25px) !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}
body.gb-partner-tpl .gb-app .sa-head .pk { color: var(--gb-pink) !important; }

/* Case-study quotes: heavy uppercase Zuume, white on the dark cards, pink accent. */
body.gb-partner-tpl .gb-app .cs-quote {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: clamp(20px, 2vw, 27px) !important;
	line-height: 1.06 !important;
	letter-spacing: .01em !important;
	color: #fff !important;
	margin: 0 !important;
}
body.gb-partner-tpl .gb-app .cs-quote .pink { color: var(--gb-pink) !important; }

/* Gallery photos already have rotation baked into the pixels (no EXIF tag), so
   honor embedded orientation if any future image ships one, and never let a
   global "image-orientation:none" reset flip a correct file onto its side. */
body.gb-partner-tpl .proof-photo img,
body.gb-partner-tpl .pg-grid img,
body.gb-partner-tpl .pg-lb-card img {
	image-orientation: from-image;
}
