/* =========================================================================
   Grit Blueprint — Workshops & Training page CSS.
   Self-contained Design Component export (styles.css + workshops.css prototype).
   The export design-system layout (styles.css) is scoped under .gb-app so the
   theme's global colors_and_type.css .gb-app h1..h4/p base rules cannot shrink
   the class-based headings; page-level resets + brand tokens are pinned to
   body.gb-workshops-and-training-tpl. gb-home.css is intentionally NOT loaded
   (the export ships its own component layer and would collide on
   .card/.sec/.faq-*). Icons use the shared local Lucide (all core icons; the
   stripped nav/footer held the only brand marks). The export's own sticky nav,
   mobile drawer, and master-sitemap footer were removed (coded chrome provides
   them). Header offset: the coded header is an in-flow sticky 78px bar (chrome
   forces --gb-header-h:78px on -tpl bodies), so this page needs NO negative
   margin. FAQ titles bumped (24/22) and a mobile 15px body-copy floor added per
   house rules. Enqueued ONLY on this template.
   ========================================================================= */

/* ---- header offset (coded in-flow sticky header, 78px) ---- */
body.gb-workshops-and-training-tpl #content,
body.gb-workshops-and-training-tpl .site-content{padding-top:0!important;margin-top:0!important}
.gb-app section[id]{scroll-margin-top:calc(var(--gb-header-h,78px) + 24px)}
html:has(body.gb-workshops-and-training-tpl){scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html:has(body.gb-workshops-and-training-tpl){scroll-behavior:auto}}

/* ---- brand tokens (redeclared so every var() resolves) + page reset ---- */
body.gb-workshops-and-training-tpl{
  --gb-navy:#18355E;--gb-navy-deep:#0E1E36;--gb-pink:#FF1894;--gb-white:#FFFFFF;--gb-blue:#0092D6;
  --gb-ombre:linear-gradient(180deg,#18355E 0%,#0F5C97 42%,#0092D6 100%);
  --gb-ombre-radial:radial-gradient(120% 90% at 50% -10%,#1d4a7e 0%,#0E1E36 70%);
  --gb-concrete:#94989B;--gb-plaster:#F9F7F2;
  --gb-navy-900:#0E1E36;--gb-navy-800:#18355E;--gb-navy-700:#123363;--gb-navy-600:#2A5687;--gb-navy-500:#356CA0;
  --gb-blue-700:#0F5C97;--gb-blue-500:#0092D6;--gb-blue-300:#4FB4E6;--gb-blue-100:#CDEAF7;
  --gb-pink-600:#D40D78;--gb-pink-500:#FF1894;--gb-pink-100:#FFD6EC;
  --gb-paper:#F9F7F2;--gb-paper-2:#EEEBE3;--gb-line:#DCDBD4;
  --gb-ink:#18355E;--gb-ink-2:#41526B;--gb-ink-3:#6F7682;
  --fg1:var(--gb-navy);--fg2:var(--gb-ink-2);--fg3:var(--gb-ink-3);
  --fg-on-dark-1:#FFFFFF;--fg-on-dark-2:#B9C6DA;--fg-on-dark-3:#7E8FAB;
  --font-display:"Zuume","Oswald","Arial Narrow",sans-serif;
  --font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-logo:"Alternox","Arial Narrow",sans-serif;
  --radius-pill:999px;--radius-card:10px;--radius-input:8px;--radius-sm:6px;
  --shadow-card:0 18px 40px -18px rgba(14,30,55,.22);
  --shadow-card-hover:0 26px 56px -20px rgba(14,30,55,.30);
  --shadow-pink-glow:0 10px 30px -8px rgba(255,24,148,.45);
  --shadow-blue-glow:0 10px 30px -8px rgba(0,146,214,.40);
  --ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:140ms;--dur:220ms;--dur-slow:420ms;
}
html:has(body.gb-workshops-and-training-tpl),body.gb-workshops-and-training-tpl{margin:0;padding:0}
body.gb-workshops-and-training-tpl{background:var(--gb-navy-900);color:var(--fg1);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.gb-app{font-family:var(--font-sans);color:var(--fg1)}

/* ========================= scoped design-system (styles.css) ============== */
@import "colors_and_type.css";

*{box-sizing:border-box;}
.gb-app a{color:inherit;text-decoration:none;}
.gb-app img{display:block;max-width:100%;height:auto;}
.gb-app button{font-family:inherit;}
.gb-app :focus-visible{outline:2px solid var(--gb-blue-500);outline-offset:3px;}
.gb-app ::selection{background:var(--gb-pink);color:#fff;}
.gb-app .display, .gb-app .h2, .gb-app .h3, .gb-app h1, .gb-app h2, .gb-app h3, .gb-app h4{text-wrap:balance;}
.gb-app p, .gb-app .lead{text-wrap:pretty;}
.gb-app .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
.gb-app .wrap-narrow{max-width:960px;margin:0 auto;padding:0 40px;}
.gb-app section{position:relative;scroll-margin-top:90px;}
.gb-app .sec{padding:var(--sec-pad,104px) 0;}
.gb-app .sec-sm{padding:72px 0;}
.gb-app .dark{background:var(--gb-navy-900);color:#fff;}
.gb-app .navy{background:var(--gb-navy-800);color:#fff;}
.gb-app .deep{background:var(--gb-navy-900);color:#fff;}
.gb-app .paper{background:var(--gb-paper);color:var(--fg1);}
.gb-app .white{background:#fff;color:var(--fg1);}
.gb-app .bluewash{background:linear-gradient(160deg,#0E1E36 0%,#15407a 45%,#0a6fb0 100%);color:#fff;}
.gb-app .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;}
.gb-app .eyebrow.center{justify-content:center;}
.gb-app .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);}
.gb-app .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);}
.gb-app .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);}
.gb-app .lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--fg2);}
.gb-app .measure{max-width:62ch;}
.gb-app .pink, .gb-app .accent-pink{color:var(--gb-pink);}
.gb-app .accent-blue{color:var(--gb-blue-500);}
.gb-app .dark .display, .gb-app .navy .display, .gb-app .deep .display, .gb-app .bluewash .display, .gb-app .hero .display, .gb-app .cta-band .display, .gb-app .dark .h2, .gb-app .dark .h3, .gb-app .navy .h2, .gb-app .navy .h3, .gb-app .deep .h2, .gb-app .deep .h3, .gb-app .bluewash .h2, .gb-app .bluewash .h3, .gb-app .dark h1, .gb-app .dark h2, .gb-app .dark h3, .gb-app .dark h4, .gb-app .navy h1, .gb-app .navy h2, .gb-app .navy h3, .gb-app .navy h4, .gb-app .deep h1, .gb-app .deep h2, .gb-app .deep h3, .gb-app .bluewash h1, .gb-app .bluewash h2, .gb-app .bluewash h3, .gb-app .cta-band h2{color:#fff;}
.gb-app .dark .lead, .gb-app .navy .lead, .gb-app .deep .lead, .gb-app .cta-band .lead{color:var(--fg-on-dark-2);}
.gb-app .bluewash .lead{color:rgba(255,255,255,.84);}
.gb-app .dark .accent-blue, .gb-app .navy .accent-blue, .gb-app .deep .accent-blue, .gb-app .bluewash .accent-blue{color:var(--gb-blue-300);}
.gb-app .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);}
.gb-app .btn svg{width:17px;height:17px;}
.gb-app .btn:active{transform:translateY(1px);}
.gb-app .btn-pink{background:var(--gb-pink);color:#fff;box-shadow:var(--shadow-pink-glow);}
.gb-app .btn-pink:hover{box-shadow:0 16px 40px -10px rgba(255,24,148,.6);transform:translateY(-2px);}
.gb-app .btn-pink:active{background:var(--gb-pink-600);}
.gb-app .btn-blue{background:var(--gb-blue-500);color:#fff;box-shadow:var(--shadow-blue-glow);}
.gb-app .btn-blue:hover{background:var(--gb-blue-700);transform:translateY(-2px);}
.gb-app .btn-white{background:#fff;color:var(--gb-navy);}
.gb-app .btn-white:hover{background:#eef2f7;transform:translateY(-2px);}
.gb-app .btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);}
.gb-app .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.gb-app .btn-outline-navy{background:transparent;color:var(--gb-navy);border:1.5px solid rgba(24,53,94,.3);}
.gb-app .btn-outline-navy:hover{border-color:var(--gb-navy);background:rgba(24,53,94,.05);}
.gb-app .btn-lg{padding:19px 38px;font-size:15px;min-height:56px;}
.gb-app .btn-sm{padding:11px 20px;font-size:12.5px;min-height:44px;}
.gb-app .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);}
.gb-app .textlink svg{width:15px;height:15px;}
.gb-app .textlink:hover{gap:12px;color:var(--gb-pink);}
.gb-app .dark .textlink, .gb-app .navy .textlink, .gb-app .deep .textlink, .gb-app .bluewash .textlink{color:var(--gb-blue-300);}
.gb-app .dark .textlink:hover, .gb-app .navy .textlink:hover, .gb-app .deep .textlink:hover, .gb-app .bluewash .textlink:hover{color:var(--gb-pink);}
.gb-app .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;}
.gb-app .bp-grid > *{position:relative;z-index:1;}
.gb-app .ombre{background:var(--gb-ombre-radial);}
.gb-app .watermark-mark{position:absolute;pointer-events:none;opacity:.05;z-index:0;}
.gb-app .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);}
.gb-app .util .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;}
.gb-app .util b{color:var(--gb-pink);font-weight:700;}
.gb-app .util .util-right{display:flex;gap:22px;align-items:center;}
.gb-app .util .util-right a{transition:color var(--dur);}
.gb-app .util .util-right a:hover{color:#fff;}
.gb-app .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);}
.gb-app .nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;}
.gb-app .nav-logo{height:24px;width:auto;cursor:pointer;}
.gb-app .nav-links{display:flex;align-items:center;gap:4px;}
.gb-app .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);}
.gb-app .nav-link:hover, .gb-app .nav-link.active{color:#fff;}
.gb-app .nav-cta{display:flex;align-items:center;gap:14px;}
.gb-app .nav-signal{position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--gb-pink),var(--gb-blue-500));}
.gb-app .nav-burger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:10px;min-width:44px;min-height:44px;}
.gb-app .nav-burger svg{width:24px;height:24px;}
.gb-app .mobile-nav{display:none;background:var(--gb-navy-900);border-bottom:1px solid rgba(255,255,255,.1);}
.gb-app .mobile-nav.open{display:block;}
.gb-app .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);}
.gb-app .mobile-nav a:last-child{border-bottom:none;}
.gb-app .mobile-nav .btn{margin-top:18px;width:100%;}
.gb-app .hero{position:relative;overflow:hidden;
  background:linear-gradient(112deg,#0E1E36 0%,#163B6E 40%,#0F5C97 72%,#0092D6 100%);}
.gb-app .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;}
.gb-app .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;}
.gb-app .hero-copy .eyebrow{margin-bottom:22px;}
.gb-app .hero-copy .display{font-size:clamp(40px,5vw,72px);line-height:.96;margin:0 0 34px;color:#fff;}
.gb-app .hero-copy .lead{max-width:48ch;color:var(--fg-on-dark-2);}
.gb-app .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;}
.gb-app .hero-tag .s{color:var(--gb-pink);margin:0 8px;}
.gb-app .hero-cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px;}
.gb-app .hero-trust{margin-top:44px;display:flex;gap:34px;flex-wrap:wrap;align-items:center;}
.gb-app .hero-trust .ht{display:flex;flex-direction:column;gap:3px;}
.gb-app .hero-trust .ht b{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:.9;color:#fff;}
.gb-app .hero-trust .ht span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);font-weight:700;}
.gb-app .hero-trust .div{width:1px;height:34px;background:rgba(255,255,255,.16);}
.gb-app .hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;}
.gb-app .hero-mono{position:relative;z-index:1;width:min(46vw,520px);}
.gb-app .hero-mono img{width:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35));}
.gb-app .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;}
.gb-app .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;}
.gb-app .marquee{display:flex;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#0E1E36 8%,#0E1E36 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#0E1E36 8%,#0E1E36 92%,transparent);}
.gb-app .marquee-track{display:flex;gap:54px;padding-right:54px;animation:scroll-x 46s linear infinite;white-space:nowrap;flex:none;}
.gb-app .proof:hover .marquee-track{animation-play-state:paused;}
.gb-app .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);}
.gb-app .marquee-item:hover{color:#fff;}
@keyframes scroll-x{to{transform:translateX(-50%);}}
.gb-app .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;}
.gb-app .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;}
.gb-app .ethos .s{color:var(--gb-pink);}
.gb-app .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;}
.gb-app .sec-head{max-width:760px;margin-bottom:52px;}
.gb-app .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.gb-app .sec-head .lead{margin-top:18px;}
.gb-app .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.gb-app .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.gb-app .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.gb-app .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);}
.gb-app .card.hov:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:transparent;}
.gb-app .dark .card, .gb-app .navy .card, .gb-app .deep .card, .gb-app .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);}
.gb-app .pillar{padding:32px 28px 30px;position:relative;overflow:hidden;}
.gb-app .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;}
.gb-app .pillar .picon svg{width:24px;height:24px;}
.gb-app .dark .pillar .picon, .gb-app .navy .pillar .picon, .gb-app .deep .pillar .picon{background:rgba(255,24,148,.16);color:var(--gb-pink);}
.gb-app .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;}
.gb-app .pillar p{font-size:15.5px;line-height:1.6;margin:0;color:var(--fg2);}
.gb-app .dark .pillar p, .gb-app .navy .pillar p, .gb-app .deep .pillar p{color:#fff;}
.gb-app .pillar .pnum{position:absolute;top:18px;right:22px;font-family:var(--font-display);font-size:34px;
  font-weight:700;color:var(--gb-pink);}
.gb-app .dark .pillar .pnum, .gb-app .navy .pillar .pnum, .gb-app .deep .pillar .pnum{color:var(--gb-pink);}
.gb-app .svc{display:flex;gap:18px;padding:22px 24px;align-items:flex-start;border-radius:18px;}
.gb-app .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);}
.gb-app .svc .sicon svg{width:20px;height:20px;}
.gb-app .svc.hov:hover .sicon{background:var(--gb-blue-500);color:#fff;}
.gb-app .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;}
.gb-app .svc p{font-size:13.5px;color:var(--fg2);margin:0;line-height:1.5;}
.gb-app .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;}
.gb-app .stat{background:rgba(18,51,99,.6);padding:34px 26px;}
.gb-app .stat .num{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,3.6vw,52px);line-height:.9;color:#fff;}
.gb-app .stat .num .pink{color:var(--gb-pink);}
.gb-app .stat .lbl{font-size:12px;letter-spacing:.04em;color:var(--fg-on-dark-2);margin-top:10px;
  text-transform:uppercase;font-weight:600;}
.gb-app .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.gb-app .step{padding:34px 28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:var(--gb-navy-700);}
.gb-app .step .snum{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--gb-pink);letter-spacing:.12em;margin-bottom:18px;}
.gb-app .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;}
.gb-app .step p{font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.55;margin:0;}
.gb-app .feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.gb-app .feature.flip .feat-media{order:2;}
.gb-app .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;}
.gb-app .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;}
.gb-app .checks{display:flex;flex-direction:column;gap:16px;margin:26px 0 0;}
.gb-app .check{display:flex;gap:14px;align-items:flex-start;}
.gb-app .check svg{flex:none;width:22px;height:22px;color:var(--gb-pink);margin-top:1px;}
.gb-app .check .ct{font-weight:700;color:inherit;font-size:15.5px;}
.gb-app .check .cd{font-size:14px;color:var(--fg2);margin-top:2px;line-height:1.5;}
.gb-app .dark .check .cd, .gb-app .navy .check .cd, .gb-app .deep .check .cd{color:var(--fg-on-dark-2);}
.gb-app .idx{border-top:1.5px solid var(--gb-line);}
.gb-app .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);}
.gb-app .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);}
.gb-app .idx-row:hover{padding-left:24px;background:linear-gradient(90deg,rgba(255,24,148,.05),transparent 60%);}
.gb-app .idx-row:hover::before{transform:scaleY(1);}
.gb-app .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);}
.gb-app .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;}
.gb-app .idx-pain{font-size:14px;color:var(--fg2);line-height:1.45;}
.gb-app .idx-arrow{justify-self:end;color:var(--gb-ink-3);display:flex;transition:color var(--dur),transform var(--dur);}
.gb-app .idx-arrow svg{width:22px;height:22px;}
.gb-app .idx-row:hover .idx-num, .gb-app .idx-row:hover .idx-title{color:var(--gb-pink);}
.gb-app .idx-row:hover .idx-arrow{color:var(--gb-pink);transform:translateX(5px);}
.gb-app .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;padding-top:14px;}
.gb-app .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);}
.gb-app .tier:hover{transform:translateY(-5px);box-shadow:0 32px 70px -28px rgba(0,0,0,.7);}
.gb-app .tier.featured{border-color:var(--gb-pink);box-shadow:0 28px 64px -26px rgba(255,24,148,.42);}
.gb-app .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;}
.gb-app .tier .tk{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gb-blue-300);margin-bottom:11px;}
.gb-app .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;}
.gb-app .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);}
.gb-app .tier ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1;}
.gb-app .tier li{display:flex;gap:10px;font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.45;align-items:flex-start;}
.gb-app .tier li svg{flex:none;width:16px;height:16px;color:var(--gb-pink);margin-top:2px;}
.gb-app .before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gb-app .ba{border-radius:14px;padding:24px 22px;border:1px solid var(--gb-line);}
.gb-app .ba.bad{background:var(--gb-paper);}
.gb-app .ba.good{background:#fff;border-color:var(--gb-pink);box-shadow:var(--shadow-card);}
.gb-app .ba .balabel{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;}
.gb-app .ba.bad .balabel{color:var(--gb-ink-3);}
.gb-app .ba.good .balabel{color:var(--gb-pink);}
.gb-app .ba ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.gb-app .ba li{font-size:13.5px;color:var(--fg2);line-height:1.4;display:flex;gap:9px;align-items:flex-start;}
.gb-app .ba li svg{flex:none;width:16px;height:16px;margin-top:2px;}
.gb-app .ba.bad li svg{color:var(--gb-concrete);}
.gb-app .ba.good li svg{color:var(--gb-pink);}
.gb-app .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.gb-app .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);}
.gb-app .member .photo .ph-note{text-align:center;font-size:11px;color:var(--fg-on-dark-3);font-style:italic;padding:0 14px;}
.gb-app .member .photo img{width:100%;height:100%;object-fit:cover;}
.gb-app .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;}
.gb-app .white .member .mname, .gb-app .paper .member .mname{color:var(--gb-navy);}
.gb-app .member .mrole{font-size:12.5px;color:var(--gb-pink);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.gb-app .member .mbio{font-size:13px;color:var(--fg-on-dark-2);margin-top:9px;line-height:1.5;}
.gb-app .white .member .mbio, .gb-app .paper .member .mbio{color:var(--fg2);}
.gb-app .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;}
.gb-app .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;}
.gb-app .cta-strip .cs-t .pink{color:var(--gb-pink);}
.gb-app .cta-strip .cs-s{font-size:13.5px;color:var(--fg-on-dark-2);margin-top:6px;}
.gb-app .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;}
.gb-app .tquote .pink{color:var(--gb-pink);}
.gb-app .tmeta{display:flex;align-items:center;gap:16px;}
.gb-app .tmeta .tavatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(150deg,#1f568f,#0E1E36);flex:none;}
.gb-app .tmeta .tn{font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--gb-navy);}
.gb-app .tmeta .tr{font-size:13px;color:var(--fg3);}
.gb-app .tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gb-app .tcard{padding:28px 26px;}
.gb-app .tcard p{font-size:15px;line-height:1.6;color:var(--fg1);margin:0 0 20px;}
.gb-app .tcard .ta{font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gb-navy);}
.gb-app .tcard .tc{font-size:12.5px;color:var(--fg3);margin-top:2px;}
.gb-app .tstars{display:flex;gap:3px;margin-bottom:16px;color:var(--gb-pink);}
.gb-app .tstars svg{width:16px;height:16px;}
.gb-app .faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start;}
.gb-app .faq-list{border-top:1px solid var(--gb-line);}
.gb-app .faq-item{border-bottom:1px solid var(--gb-line);}
.gb-app .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;}
.gb-app .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;}
.gb-app .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);}
.gb-app .faq-q .qico svg{width:16px;height:16px;}
.gb-app .faq-item.open .qico{background:var(--gb-pink);border-color:var(--gb-pink);color:#fff;transform:rotate(45deg);}
.gb-app .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease-out);}
.gb-app .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;}
.gb-app .faq-item.open .faq-a{grid-template-rows:1fr;}
.gb-app .faq-item.open .faq-a p{padding-bottom:26px;}
.gb-app .cta-band{position:relative;overflow:hidden;text-align:center;padding:120px 0;
  background:var(--gb-ombre);}
.gb-app .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;}
.gb-app .cta-band > *{position:relative;z-index:1;}
.gb-app .cta-band .display{font-size:clamp(40px,5.2vw,72px);color:#fff;}
.gb-app .cta-band .lead{color:var(--fg-on-dark-2);max-width:600px;margin:22px auto 36px;}
.gb-app .cta-band .hero-cta{justify-content:center;}
.gb-app .cta-band .watermark-mark{opacity:.05;right:-120px;top:50%;transform:translateY(-50%);width:520px;}
.gb-app .foot{background:var(--gb-navy-900);color:#fff;}
.gb-app .foot-news{border-bottom:1px solid rgba(255,255,255,.1);padding:42px 0;}
.gb-app .foot-news .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.gb-app .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;}
.gb-app .foot-news .fn-s{font-size:13.5px;color:var(--fg-on-dark-2);}
.gb-app .foot-news form{display:flex;gap:10px;flex-wrap:wrap;}
.gb-app .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);}
.gb-app .foot-news input::placeholder{color:var(--fg-on-dark-3);}
.gb-app .foot-news input:focus{outline:none;border-color:var(--gb-blue-500);box-shadow:0 0 0 3px rgba(0,146,214,.25);}
.gb-app .foot-main{padding:64px 0 48px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:36px;}
.gb-app .foot-logo{width:215px;height:auto;max-width:100%;margin-bottom:20px;}
.gb-app .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;}
.gb-app .foot-soc{display:flex;gap:14px;margin-top:22px;}
.gb-app .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;}
.gb-app .foot-soc a:hover{opacity:1;transform:translateY(-2px);}
.gb-app .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;}
.gb-app .foot-col-toggle{display:block;width:100%;background:none;border:none;padding:0;margin:0;
  cursor:default;text-align:left;font-family:inherit;}
.gb-app .foot-col-chev{display:none;}
.gb-app .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);}
.gb-app .foot-col-links a:hover{color:#fff;}
.gb-app .foot-contact{font-size:13.5px;color:var(--fg-on-dark-2);line-height:1.7;font-style:normal;}
.gb-app .foot-contact a{color:#fff;transition:color var(--dur);}
.gb-app .foot-contact a:hover{color:var(--gb-pink);}
.gb-app .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);}
.gb-app .foot-bot .fb-links{display:flex;gap:20px;}
.gb-app .foot-bot a:hover{color:#fff;}
.gb-app .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.gb-app .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
.gb-app .reveal{opacity:1;transform:none;transition:none;}
.gb-app .marquee-track{animation:none;}
}
@media(max-width:1080px){
.gb-app .grid-4{grid-template-columns:repeat(2,1fr);}
.gb-app .steps{grid-template-columns:1fr 1fr;}
.gb-app .stats{grid-template-columns:repeat(2,1fr);}
.gb-app .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:920px){
.gb-app .nav-links{display:none;}
.gb-app .nav-burger{display:inline-flex;align-items:center;justify-content:center;}
.gb-app .nav-cta .btn:not(.nav-book){display:none;}
.gb-app .hero-wrap{grid-template-columns:1fr;gap:36px;padding-top:104px;padding-bottom:64px;text-align:center;}
.gb-app .hero-copy .eyebrow, .gb-app .hero-trust{justify-content:center;}
.gb-app .hero-copy .lead{margin-left:auto;margin-right:auto;}
.gb-app .hero-cta{justify-content:center;}
.gb-app .hero-art{order:-1;min-height:240px;}
.gb-app .hero-mono{width:min(60vw,300px);}
.gb-app .feature, .gb-app .faq-grid, .gb-app .grid-3, .gb-app .grid-2, .gb-app .tcards, .gb-app .tiers{grid-template-columns:1fr;gap:40px;}
.gb-app .feature.flip .feat-media{order:0;}
.gb-app .steps{grid-template-columns:1fr 1fr;}
.gb-app .foot-main{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
.gb-app .sec{padding:56px 0;}
.gb-app .sec-sm{padding:40px 0;}
.gb-app .sec-head{margin-bottom:32px;}
.gb-app .wrap, .gb-app .wrap-narrow{padding:0 20px;}
.gb-app .grid-4, .gb-app .stats{grid-template-columns:1fr 1fr;}
.gb-app .steps{grid-template-columns:1fr;}
.gb-app .team-grid{grid-template-columns:1fr 1fr;}
.gb-app .before-after{grid-template-columns:1fr;}
.gb-app .idx-row{grid-template-columns:44px 1fr;gap:6px 14px;padding:20px 6px;}
.gb-app .idx-pain{grid-column:2;}
.gb-app .idx-arrow{display:none;}
.gb-app .cta-strip{padding:24px 22px;}
.gb-app .hero-cta .btn{flex:1 1 auto;}
.gb-app .grid-3.swipe, .gb-app .tcards.swipe, .gb-app .steps.swipe, .gb-app .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);}
.gb-app .tiers.swipe{padding-top:22px;}
.gb-app .grid-3.swipe > *, .gb-app .tcards.swipe > *, .gb-app .steps.swipe > *, .gb-app .tiers.swipe > *{flex:0 0 84%;scroll-snap-align:start;min-width:0;}
.gb-app .swipe::-webkit-scrollbar{height:5px;}
.gb-app .swipe::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
.gb-app .swipe::-webkit-scrollbar-track{background:rgba(140,150,170,.22);border-radius:99px;}
.gb-app .foot-main{grid-template-columns:1fr;gap:0;padding:40px 0 28px;}
.gb-app .foot-col{border-bottom:1px solid rgba(255,255,255,.1);}
.gb-app .foot-col-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
    padding:16px 0;cursor:pointer;min-height:44px;}
.gb-app .foot-col .foot-h{margin:0;}
.gb-app .foot-col-chev{display:inline-flex;color:rgba(255,255,255,.55);transition:transform var(--dur) var(--ease-out);}
.gb-app .foot-col.open .foot-col-chev{transform:rotate(45deg);color:var(--gb-pink);}
.gb-app .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);}
.gb-app .foot-col.open .foot-col-links{max-height:720px;opacity:1;padding-bottom:14px;}
.gb-app .foot-col-links a{padding:10px 0;}
.gb-app .foot-brand{margin-bottom:28px;}
.gb-app .cta-band{padding:80px 0;}
}
@media(max-width:380px){
.gb-app .hero-copy .display{font-size:clamp(34px,9vw,40px);}
}

/* ========================= page-specific (workshops.css) ================== */
/* progress bar — appended to <body> by the page JS, so it stays unscoped */
.gb-prog{position:fixed;top:0;left:0;height:3px;width:0%;z-index:300;background:linear-gradient(90deg,#FF1894,#0092D6);pointer-events:none;transition:width .08s linear}

/* ghost-wordmark hero + pink sweep */
.gb-app .gw-hero{position:relative;overflow:hidden}
.gb-app .ghostword{position:absolute;left:0;right:0;bottom:-1.5vw;display:flex;justify-content:center;pointer-events:none;z-index:0}
.gb-app .ghostword span{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:31vw;line-height:.78;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:2px rgba(173,216,255,.11);white-space:nowrap}
.gb-app .sweep::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-55%;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,24,148,.13),transparent);animation:gwSweep 6.5s ease-in-out 1.2s infinite}
@keyframes gwSweep{0%{left:-55%}55%,100%{left:135%}}
@media(prefers-reduced-motion:reduce){.gb-app .sweep::after{animation:none}}

/* gallery hover + gradient scrim */
.gb-app .gallery .gcell img{transition:transform .45s ease}
.gb-app .gallery .gcell:hover img{transform:scale(1.05)}
.gb-app .gallery .gcell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(14,30,54,.5));pointer-events:none}

/* workshop rows + tap-open modal */
.gb-app .wk-tag{display:inline-block;font:800 10px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-blue-500);background:var(--gb-blue-100);padding:5px 9px;border-radius:6px;margin-top:8px}
.gb-app .wk-item{transition:background .25s ease}
.gb-app .wk-item:hover{background:linear-gradient(90deg,rgba(255,24,148,.10),transparent 72%)}
.gb-app .wk-arrow{transition:transform .25s ease}
.gb-app .wk-item:hover .wk-arrow{transform:translate(3px,-3px)}
.gb-app .wk-item:focus-visible{outline:2px solid var(--gb-blue-500);outline-offset:-2px}
.gb-app .wk-modal[hidden]{display:none!important}

/* hovers ported from the export's style-hover attributes */
.gb-app .stat-panel:hover{transform:translateY(-4px);box-shadow:0 26px 54px -28px rgba(0,0,0,.65)}
.gb-app .pov-card{transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.gb-app .pov-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}

/* ========================= house rules =================================== */
/* FAQ item titles ship too small by default — bump desktop 24 / mobile 22 */
.gb-app .faq-q .qtext{font-size:24px}

@media(max-width:760px){
  /* FAQ questions align with the H3 / card-title tier of the mobile type scale */
  .gb-app .faq-q .qtext{font-size:24px}
  /* mobile 15px body-copy floor (readable prose only, not tracked labels) */
  .gb-app .pov-card p{font-size:15px}
  .gb-app .ba li{font-size:15px}
}

/* ========================= responsive (workshops.css mobile layer) ======== */
@media(max-width:760px){
  .gb-app .sec{padding:52px 0!important}
  .gb-app .hero-grid,.gb-app .two-track,.gb-app .qa-grid,.gb-app .fmt-grid,.gb-app .pov-routes,
  .gb-app .spk-grid,.gb-app .who-grid,.gb-app .prob-grid,.gb-app .hiw-grid{grid-template-columns:1fr!important}
  .gb-app .who-wall,.gb-app .proof-rest{columns:1!important}
  .gb-app .fmt-row{grid-template-columns:1fr!important;gap:6px!important}
  .gb-app .stat-grid{grid-template-columns:1fr 1fr!important}
  .gb-app .gallery{grid-template-columns:1fr 1fr!important;grid-auto-rows:128px!important}
  .gb-app .faq-grid{grid-template-columns:1fr!important;gap:34px!important}
  .gb-app .faq-aside{position:static!important}

  /* CTA buttons: keep the label on ONE line. nowrap + tighter side padding +
     a viewport-capped font-size, so the longest CTA ("Plan a Workshop or
     Training") never wraps and never overflows, down to ~320px. */
  .gb-app .btn{white-space:nowrap!important;max-width:100%!important;width:auto!important;
    font-size:min(15px,4.2vw)!important;padding-left:20px!important;padding-right:20px!important}
  .gb-app .btn-lg{padding-top:15px!important;padding-bottom:15px!important;min-height:48px!important}

  /* compact workshop rows: number + title + arrow; description opens in the popup */
  .gb-app .wk-row{grid-template-columns:auto 1fr auto!important;align-items:center!important;padding:20px 4px!important;gap:14px!important}
  .gb-app .wk-row > span:nth-child(3){display:none!important}

  /* visual card rows become horizontal swipe carousels with a peek + pink cue */
  .gb-app .gallery,.gb-app .proof-rest,.gb-app .hiw-grid{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;
    grid-template-columns:none!important;columns:auto!important;grid-auto-rows:auto!important;
    scroll-snap-type:x mandatory;gap:14px!important;margin:0 -20px!important;padding:4px 20px 18px!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(140,150,170,.22)}
  .gb-app .gallery>.gcell,.gb-app .proof-rest>figure,.gb-app .hiw-grid>div{
    flex:0 0 84%!important;scroll-snap-align:start;min-width:0;width:auto!important;margin:0!important;
    grid-column:auto!important;grid-row:auto!important;break-inside:auto!important}
  .gb-app .gallery>.gcell{height:228px!important}
  .gb-app .gallery::-webkit-scrollbar,.gb-app .proof-rest::-webkit-scrollbar,.gb-app .hiw-grid::-webkit-scrollbar{height:5px}
  .gb-app .gallery::-webkit-scrollbar-thumb,.gb-app .proof-rest::-webkit-scrollbar-thumb,.gb-app .hiw-grid::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px}
  .gb-app .gallery::-webkit-scrollbar-track,.gb-app .proof-rest::-webkit-scrollbar-track,.gb-app .hiw-grid::-webkit-scrollbar-track{background:rgba(140,150,170,.2);border-radius:99px}

  .gb-app .ghostword span{font-size:54vw}
}

/* =========================================================================
   REVISION PASS (design review)
   1) Proof Wall: uniform, equal-height cards (was CSS-columns masonry — one
      card ran taller than the rest). Desktop/tablet only; the mobile carousel
      rule for .proof-rest stays intact below its own breakpoint.
   2) Mobile: larger hero title, an overall text bump, and a hard 15px floor on
      every text element (per house rule — no text under 15px on phones).
   3) Mobile: breathing room between the first carousel card and the screen edge.
   ========================================================================= */
@media(min-width:761px){
  .gb-app .proof-rest{columns:auto!important;
    display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;
    row-gap:22px!important;column-gap:40px!important;align-items:stretch}
  .gb-app .proof-rest > figure{margin:0!important;height:100%;break-inside:auto;
    display:flex;flex-direction:column}
  .gb-app .proof-rest > figure > blockquote{flex:1 0 auto}

  /* The Problem pink callout: the inline 30ch cap made it a cramped narrow
     column on desktop; let it use the full left column width instead. */
  .gb-app [style*="max-width:30ch"]{max-width:none!important}
}

@media(max-width:760px){
  /* ---------- structural mobile fixes ---------- */
  /* hero eyebrow + sub-line to the floor; lead nudged up */
  .gb-app .gw-hero .hero-grid > div:first-child > p:not(.lead){font-size:15px!important}
  .gb-app .gw-hero .lead{font-size:16.5px!important}

  /* 15px floor on every non-display text element (labels, eyebrows, captions,
     buttons, names/roles, quote attributions) + a small bump on tiny body copy.
     Display headings are handled by the type scale below, not here. */
  .gb-app .eyebrow,.gb-app .wk-tag,.gb-app .cs-s,.gb-app .balabel,
  .gb-app [style*="font:400 12.5px"],.gb-app [style*="font:400 13.5px"],.gb-app [style*="font:400 13px"],
  .gb-app [style*="font:400 14.5px"],.gb-app [style*="font:600 13px"],.gb-app [style*="font:600 14px"],
  .gb-app [style*="font:700 11.5px"],.gb-app [style*="font:700 9.5px"],.gb-app [style*="font:800 10.5px"],
  .gb-app [style*="font:800 10px"],.gb-app [style*="font:800 11px"],.gb-app [style*="font:800 12.5px"],
  .gb-app [style*="font:800 12px"],.gb-app [style*="font:800 13px"]{font-size:15px!important}
  .gb-app [style*="font:400 15.5px"]{font-size:16px!important}
  /* keep the hero stat-overlay micro-labels tidy at the 15px floor */
  .gb-app .gw-hero [style*="font:700 9.5px"]{letter-spacing:.06em!important;line-height:1.25!important}

  /* first carousel card clears the screen edge (peek stays on the right) */
  .gb-app .gallery,.gb-app .proof-rest,.gb-app .hiw-grid{
    margin:0 -20px 0 0!important;padding-left:0!important;scroll-padding-left:0!important}

  /* section headings + capped callouts span full width (drop inline ch caps) */
  .gb-app h2,.gb-app [style*="max-width:30ch"],.gb-app [style*="clamp(18px,2vw,26px)"]{max-width:none!important}

  /* pink trailing clauses drop onto their own line */
  .gb-app .cs-t .pink,.gb-app [style*="clamp(30px,4.4vw,54px)"] > span{display:block}

  /* =======================================================================
     MOBILE DISPLAY TYPE SCALE  (single source of truth for phone headings)
     The export authored every Zuume heading with a clamp() whose MIN was a
     desktop-safe small value; at <=760px the vw term collapses to that min,
     so headings render far too small. This block resets the entire display
     scale for phones in one place. Each rule targets a distinct inline clamp
     signature (verified unique per element), plus the class-based headings.
     Tiers:  hero > finale > section H2 / statements > H3 / card+row titles.
     Body copy is unaffected (it keeps the 15px floor above).
     ===================================================================== */
  /* -- tier 1: hero -- */
  .gb-app .gw-hero h1{font-size:clamp(48px,13vw,64px)!important}
  /* -- tier 2: closing CTA-band finale -- */
  .gb-app [style*="clamp(36px,5.2vw,68px)"]{font-size:clamp(40px,10vw,54px)!important}
  /* -- tier 3: section H2 + big statement lines / pull-quotes (~30-34px) -- */
  .gb-app .h2{font-size:34px!important}
  .gb-app [style*="clamp(30px,4.4vw,54px)"]{font-size:clamp(34px,8.5vw,44px)!important}   /* Point of View */
  .gb-app .cs-t{font-size:clamp(32px,8.5vw,34px)!important}                               /* mid-CTA strip */
  .gb-app [style*="clamp(24px,3vw,40px)"]{font-size:clamp(27px,7vw,32px)!important}       /* featured-proof quote */
  .gb-app [style*="clamp(22px,2.4vw,30px)"]{font-size:clamp(26px,6.8vw,30px)!important}   /* quick-answer closing */
  .gb-app [style*="clamp(22px,2.6vw,32px)"]{font-size:clamp(26px,7vw,32px)!important}     /* the-problem callout */
  .gb-app [style*="clamp(20px,2.3vw,30px)"]{font-size:clamp(25px,6.4vw,30px)!important}   /* proof-wall lead quote */
  .gb-app [style*="clamp(18px,2vw,26px)"]{font-size:clamp(26px,7.2vw,32px)!important}     /* why-now statement */
  .gb-app [style*="clamp(26px,3vw,38px)"]{font-size:clamp(27px,7vw,32px)!important}       /* POV route-card H3 */
  .gb-app [style*="clamp(26px,3.2vw,38px)"]{font-size:clamp(27px,7vw,32px)!important}     /* workshop modal title */
  /* -- tier 4: H3 + card / row titles (~23-25px) -- */
  .gb-app .h3{font-size:24px!important}
  .gb-app [style*="clamp(19px,1.8vw,26px)"]{font-size:clamp(23px,6.2vw,27px)!important}   /* workshop row titles */
  .gb-app [style*="clamp(18px,1.8vw,24px)"]{font-size:clamp(23px,6.2vw,26px)!important}   /* formats row titles */
  /* -- formats pink row number keeps pace with its title -- */
  .gb-app .fmt-row > div:first-child > span:first-child{font-size:22px!important}
}

/* HubSpot auto-resizing booker (JS upgrades the direct iframe to this). The
   embed script sets the iframe height inline to fit the content, so no fixed
   height traps the taller mobile widget in an internal scroll. */
.gb-app .meetings-iframe-container{min-height:640px}
.gb-app .meetings-iframe-container iframe{width:100%!important;min-width:100%!important;border:0;display:block}
