/* growthsanity lab — scoped add-ons, CSS-only motion */
.gsh .lab-bar{background:var(--gs-ink);color:var(--gs-ground);font:500 12px/1.4 var(--gs-ui);text-align:center;padding:8px 12px}
.gsh .lab-bar a{color:inherit;text-decoration:underline}
.gsh .lab-bar .mono{font-family:var(--gs-mono);text-transform:uppercase;letter-spacing:.14em;margin-right:.5rem;color:var(--gs-red)}
.gsh .lab-h2{font:700 clamp(28px,4.4vw,48px)/1.08 var(--gs-head);letter-spacing:-.02em;margin:0}
.gsh .lab-h2 em{font-family:var(--gs-serif);font-weight:400;color:var(--gs-indigo)}
.gsh .mono{font:500 11px/1.3 var(--gs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gs-ink-3)}

.gsh .lens-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.25rem}
.gsh .lens-tabs button{font:600 14px/1 var(--gs-ui);padding:11px 16px;border-radius:999px;border:1px solid var(--gs-rule-2);background:transparent;color:var(--gs-ink);cursor:pointer;min-height:44px}
.gsh .lens-tabs button.on{background:var(--gs-ink);color:var(--gs-ground);border-color:var(--gs-ink)}
.gsh .lens-card{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:center;max-width:960px;margin:0 auto;padding:2rem;animation:labIn .45s var(--gs-ease)}
.gsh .lens-read{font:700 clamp(20px,2.4vw,28px)/1.25 var(--gs-head);margin:.6rem 0 1rem;color:var(--gs-ink)}
.gsh .lens-fix{color:var(--gs-ink-2);margin:0;font-size:16px}
.gsh .lens-stat{border-left:1px solid var(--gs-rule);padding-left:1.5rem;display:grid;gap:.4rem}
.gsh .lens-stat strong{font:700 clamp(30px,4vw,44px)/1 var(--gs-ui);color:var(--gs-green-active)}
.gsh .lens-stat small{color:var(--gs-ink-3);font-size:12px}

.gsh .lab-split{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.gsh .lab-split .lede{color:var(--gs-ink-2);font-size:17px;margin:1rem 0 1.5rem}
.gsh .quiz{display:grid;gap:.6rem}
.gsh .qq{font:700 20px/1.3 var(--gs-head);margin:0;color:var(--gs-ink)}
.gsh .qa{display:flex;flex-wrap:wrap;gap:.5rem}
.gsh .op-card{border-radius:28px;padding:1.8rem;display:grid;gap:1rem;min-height:300px;background:var(--gs-raised);border:1px solid var(--gs-rule);box-shadow:0 30px 60px -30px rgba(26,29,43,.35);transform:rotate(-2deg);transition:transform .5s var(--gs-ease),background .4s}
.gsh .op-card strong{font:700 clamp(26px,3.4vw,36px)/1.05 var(--gs-head);color:var(--gs-ink)}
.gsh .op-card p{margin:0;color:var(--gs-ink-2)}
.gsh .op-card.reveal{transform:rotate(0);animation:labPop .6s var(--gs-ease)}
.gsh .op-card.hue-green{border-color:var(--gs-green-active)}
.gsh .op-card.hue-indigo{border-color:var(--gs-indigo)}
.gsh .op-card.hue-red{border-color:var(--gs-red)}
.gsh .op-top,.gsh .op-bot{display:flex;justify-content:space-between;font:700 14px/1 var(--gs-ui);color:var(--gs-ink)}
.gsh .op-meter{height:8px;border-radius:99px;background:var(--gs-surface-2);overflow:hidden}
.gsh .op-meter span{display:block;height:100%;background:var(--gs-cta-gradient);transition:width .8s var(--gs-ease)}

.gsh .rc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gsh .rc-grid p{margin:.5rem 0 0;font:600 16px/1.35 var(--gs-ui);color:var(--gs-ink)}
.gsh .rc-note{text-align:center;color:var(--gs-ink-2);margin-top:2rem}

@keyframes labIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes labPop{0%{transform:rotate(-2deg) scale(.96)}60%{transform:rotate(1deg) scale(1.02)}100%{transform:none}}

@media (max-width:820px){
  .gsh .lens-card,.gsh .lab-split{grid-template-columns:1fr}
  .gsh .lens-stat{border-left:0;border-top:1px solid var(--gs-rule);padding:1.2rem 0 0}
  .gsh .rc-grid{grid-template-columns:1fr 1fr}
  .gsh .lens-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}
  .gsh .lens-tabs button{flex:none}
}
/* Lab: ambient desk props flanking the hero stage (desktop only) */
.gsh .lab-stage-row{width:100%;display:flex;justify-content:center}
.gsh .lab-flank{display:none}
@media (min-width:720px){
  .gsh .hero .hero-c .hero-h1{max-width:24ch}
  .gsh .hero .hero-c .lab-stage-row{display:grid;grid-template-columns:1fr minmax(380px,460px) 1fr;gap:clamp(48px,6vw,96px);align-items:stretch;margin-top:-2rem}
  .gsh .hero .hero-c .lab-stage-row .stage{max-width:460px;width:100%;align-self:end}
  .gsh .lab-flank{display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem;text-align:left;padding:0 0 .5rem}
  .gsh .lab-flank-l{align-items:flex-end}
  .gsh .lab-flank-r{align-items:flex-start}
  .gsh .lab-prop{max-width:240px;background:var(--gs-raised);border:1px solid var(--gs-rule);border-radius:16px;padding:.85rem 1rem;box-shadow:0 18px 36px -24px rgba(26,29,43,.35);color:var(--gs-ink);font:500 13px/1.4 var(--gs-ui);transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg));transition:transform .35s var(--gs-ease),box-shadow .35s var(--gs-ease)}
  .gsh .lab-prop:hover{transform:translate(var(--x,0),calc(var(--y,0px) - 3px)) rotate(0deg)}
  /* left: invite high & out, DM tucked in, tabs low & out */
  .gsh .lab-invite{--x:-40px;--y:-10px;--r:-3deg;display:grid;gap:.3rem;border-left:3px solid var(--gs-red)}
  .gsh .lab-invite strong{font:700 15px/1.25 var(--gs-head)}
  .gsh .lab-invite small{color:var(--gs-ink-2);font-size:12px}
  .gsh .lab-dm{--x:-28px;--y:0px;--r:1.5deg;max-width:220px;border-radius:18px 18px 18px 4px;display:grid;gap:.45rem}
  .gsh .lab-dm-who{display:flex;align-items:center;gap:.45rem;font-size:12px}
  .gsh .lab-dm-who i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--gs-indigo);color:var(--gs-ground);font:700 10px/1 var(--gs-ui)}
  .gsh .lab-dm-who small{color:var(--gs-ink-3);font-style:italic}
  .gsh .lab-dm p{margin:0;color:var(--gs-ink-2)}
  .gsh .lab-tabs{--x:-56px;--y:6px;--r:-1deg;display:flex;gap:.6rem;align-items:flex-start;color:var(--gs-ink-2);border-radius:999px 999px 999px 999px/40px;max-width:260px}
  .gsh .lab-dot{flex:none;width:8px;height:8px;margin-top:.4rem;border-radius:50%;background:var(--gs-red)}
  /* right: sticky high & in, ticket out, stamp low */
  .gsh .lab-sticky{--x:36px;--y:-24px;--r:3deg;position:relative;background:var(--gs-surface);border-radius:4px;padding-top:1.1rem}
  .gsh .lab-sticky p{margin:0;font:400 italic 15px/1.4 var(--gs-serif);color:var(--gs-ink)}
  .gsh .lab-pin{position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-12deg);font-size:18px}
  .gsh .lab-ticket{--x:52px;--y:0px;--r:-2deg;display:grid;gap:.35rem;border-radius:10px;max-width:230px}
  .gsh .lab-ticket-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
  .gsh .lab-ticket-id{font:600 11px/1 var(--gs-mono);letter-spacing:.08em;color:var(--gs-red-text,#B23A31)}
  .gsh .lab-chip{font:600 10px/1 var(--gs-ui);padding:3px 7px;border-radius:999px;border:1px solid var(--gs-rule-2);color:var(--gs-ink-2)}
  .gsh .lab-ticket strong{font:700 14px/1.3 var(--gs-head)}
  .gsh .lab-ticket small{color:var(--gs-ink-3);font-size:11px}
  .gsh .lab-stamp{--x:4px;--y:10px;--r:-1.5deg;display:grid;gap:.25rem;border-style:dashed}
  .gsh .lab-stamp em{font:400 italic 16px/1.3 var(--gs-serif);color:var(--gs-indigo)}
}
@media (min-width:720px) and (max-width:1100px){
  .gsh .lab-prop{max-width:190px;font-size:12px;padding:.7rem .8rem;--x:0px}
  .gsh .lab-dm,.gsh .lab-ticket{display:none}
}
@media (prefers-reduced-motion:reduce){
  .gsh .lens-card,.gsh .op-card,.gsh .op-card.reveal{animation:none;transition:none;transform:none}
  .gsh .lab-prop{transition:none}
  .gsh .op-meter span{transition:none}
}
/* Lab: card copy fades per stop without losing tilt */
@keyframes lab-fade{from{opacity:0}to{opacity:1}}
.gsh .lab-prop.swap,.gsh .lab-prop .swap{animation:lab-fade .5s var(--gs-ease) both}
@media (prefers-reduced-motion:reduce){.gsh .lab-prop.swap,.gsh .lab-prop .swap{animation:none}}
/* Lab: meeting card (top-left) + quirk card (top-right) */
.gsh .stage-peek.swap{animation:lab-fade .5s var(--gs-ease) both}
@media (min-width:720px){
  .gsh .lab-meet{--x:-8px;--y:-30px;--r:2deg;display:grid;gap:.3rem;max-width:230px;border-radius:12px;border-top:3px solid var(--gs-green-active)}
  .gsh .lab-meet-top{display:flex;align-items:center;gap:.45rem}
  .gsh .lab-meet-top .mono{color:var(--gs-green-active)}
  .gsh .lab-cam{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--gs-green-active);color:var(--gs-ground);font-size:8px}
  .gsh .lab-meet strong{font:700 14px/1.3 var(--gs-head)}
  .gsh .lab-meet small{color:var(--gs-ink-2);font-size:12px}
  .gsh .lab-quirk{--x:-6px;--y:-40px;--r:-2.5deg;display:grid;gap:.3rem;max-width:200px;border-radius:999px 999px 999px 999px/28px;padding:.8rem 1.2rem;background:var(--gs-surface)}
  .gsh .lab-quirk p{margin:0;font:600 13px/1.35 var(--gs-ui);color:var(--gs-ink)}
}
@media (min-width:720px) and (max-width:1100px){.gsh .lab-meet,.gsh .lab-quirk{display:none}}
@media (prefers-reduced-motion:reduce){.gsh .stage-peek.swap{animation:none}}
@media (min-width:720px){
  .gsh .hero .lab-prop.lab-meet,.gsh .hero .lab-prop.lab-quirk{display:grid}
  .gsh .hero .lab-flank-r .lab-sticky{--y:6px}
}
@media (min-width:720px) and (max-width:1100px){.gsh .hero .lab-prop.lab-meet,.gsh .hero .lab-prop.lab-quirk{display:none}}

/* Lab: compact the desk so all 8 cards sit above the fold */
@media (min-width:720px){
  .gsh .hero{padding-top:clamp(1.25rem,3vh,2.5rem);padding-bottom:clamp(1.25rem,3vh,2.5rem)}
  .gsh .hero .hero-c .lab-stage-row{margin-top:-2.75rem}
  .gsh .hero .lab-flank{gap:.7rem;justify-content:center;padding:0}
  .gsh .hero .lab-prop{padding:.6rem .85rem;font-size:12.5px;line-height:1.35}
  .gsh .hero .lab-meet{--y:0px}
  .gsh .hero .lab-quirk{--y:0px}
  .gsh .hero .lab-flank-r .lab-sticky{--y:0px}
  .gsh .hero .lab-stamp,.gsh .hero .lab-tabs{--y:0px}
}

/* Lab: keep the character clear of the CTAs at every stop/persona */
.gsh .hero .hero-c .stage .stage-peek{width:clamp(110px,19vh,180px);aspect-ratio:1;object-fit:contain;object-position:bottom center;margin-bottom:-10%}
@media (min-width:720px){
  .gsh .hero .hero-c .lab-stage-row{margin-top:clamp(.5rem,1.5vh,1rem)}
}

/* Lab: toggle micro-caption */
.gsh .lab-whose-wrap { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.gsh .lab-whose-cap { font-family: "Space Grotesk", Arial, sans-serif; font-size: 11px; letter-spacing: .04em; color: var(--gs-ink-2); }

/* Lab: spread flank cards top-to-bottom, lifting the top tier beside the headline */
@media (min-width:1101px){
  .gsh .hero .hero-c .lab-stage-row{align-items:stretch}
  .gsh .hero .lab-flank{justify-content:space-between;gap:1.5rem;margin-top:clamp(-220px,-22vh,-120px);padding-bottom:.5rem}
  .gsh .hero .lab-meet{--x:-36px;--r:2deg}
  .gsh .hero .lab-invite{--x:-4px}
  .gsh .hero .lab-dm{--x:-44px}
  .gsh .hero .lab-tabs{--x:-12px}
  .gsh .hero .lab-quirk{--x:40px;--r:-2.5deg}
  .gsh .hero .lab-flank-r .lab-sticky{--x:4px}
  .gsh .hero .lab-ticket{--x:48px}
  .gsh .hero .lab-stamp{--x:10px}
}
@media (min-width:1101px){
  .gsh .hero .lab-meet{--x:clamp(-90px,-4vw,-36px)}
  .gsh .hero .lab-quirk{--x:clamp(40px,4vw,90px)}
}

/* Four hot seats */
.gsh .lab-seats-wrap { display: flex; flex-direction: column; gap: 6px; margin-top: .9rem; }
.gsh .lab-seats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; border: 1px solid var(--gs-rule); border-radius: 14px; padding: 4px; background: var(--gs-raised); }
.gsh .lab-seats button { display: flex; flex-direction: column; align-items: center; gap: 2px; border: 0; background: none; border-radius: 10px; padding: 7px 4px; cursor: pointer; color: var(--gs-ink-2); font-family: "Space Grotesk", Arial, sans-serif; transition: background .2s, color .2s; }
.gsh .lab-seats button b { font-size: 13px; font-weight: 700; color: var(--gs-ink); }
.gsh .lab-seats button small { font-size: 10px; letter-spacing: .03em; white-space: nowrap; }
.gsh .lab-seats button:hover { background: var(--gs-surface, rgba(0,0,0,.04)); }
.gsh .lab-seats button[aria-pressed="true"] { background: var(--gs-ink); color: var(--gs-ground, #F7F3EE); }
.gsh .lab-seats button[aria-pressed="true"] b { color: inherit; }
.gsh .lab-seats button:focus-visible { outline: 2px solid var(--gs-indigo); outline-offset: 2px; }
.gsh .stage-foot .lab-whose-cap { align-self: center; }
@media (prefers-reduced-motion: reduce) { .gsh .lab-seats button { transition: none; } }

/* Lab v3: compact player label, two-line seat names, smaller uniform art */
.gsh .stage-bar .lab-bar-id{margin-left:auto;display:inline-flex;align-items:center;gap:6px;letter-spacing:.08em}
.gsh .stage-bar .lab-bar-id b{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border-radius:5px;background:var(--gs-ink);color:var(--gs-ground);font:700 10px/1 var(--gs-ui);letter-spacing:.04em}
.gsh .hero[data-stop="2"] .stage-bar .lab-bar-id b,.gsh .hero[data-stop="3"] .stage-bar .lab-bar-id b,.gsh[data-theme="dark"] .stage-bar .lab-bar-id b{background:var(--gs-ground);color:var(--gs-ink)}
.gsh .lab-seats button b{display:flex;flex-direction:column;align-items:center;line-height:1.15}
.gsh .lab-seats button b span{display:block}
.gsh .lab-seats button small{margin-top:2px}
.gsh .hero .hero-c .stage .stage-peek{width:clamp(100px,15vh,140px);margin-bottom:-1px;object-position:bottom center}

@media (min-width:720px){
  .gsh .hero .hero-c .lab-stage-row{margin-top:clamp(.25rem,1vh,.75rem)}
}
/* Desktop: wider desk, cards clear of the headline, bottom cards lifted, organic scatter */
@media (min-width:1101px){
  .gsh .hero .wrap.hero-c{max-width:min(1380px,calc(100vw - 48px))}
  .gsh .hero .hero-c .lab-stage-row{grid-template-columns:1fr minmax(400px,460px) 1fr;gap:clamp(56px,5vw,88px)}
  .gsh .hero .lab-flank{margin-top:clamp(-150px,-15vh,-90px);justify-content:space-between;gap:1.1rem;padding-bottom:clamp(2.5rem,6vh,4.5rem)}
  .gsh .hero .lab-flank-l{align-items:flex-start}
  .gsh .hero .lab-flank-r{align-items:flex-end}
  .gsh .hero .lab-prop{max-width:236px}
  /* left: meet far out, invite drifts in, DM sits between */
  .gsh .hero .lab-meet{--x:0px;--y:0px;--r:2.5deg}
  .gsh .hero .lab-invite{--x:clamp(36px,4vw,72px);--y:-6px;--r:-1.5deg;align-self:flex-start}
  .gsh .hero .lab-dm{--x:clamp(10px,1.5vw,28px);--y:-18px;--r:1deg}
  /* right: different rhythm — pill in a touch, sticky out, ticket in */
  .gsh .hero .lab-quirk{--x:-18px;--y:-2px;--r:-3deg}
  .gsh .hero .lab-flank-r .lab-sticky{--x:6px;--y:0px;--r:1.8deg}
  .gsh .hero .lab-ticket{--x:clamp(-64px,-4.5vw,-30px);--y:-12px;--r:-1.5deg}
}

/* Lab: brand pin as inline SVG (same on every OS), red head, ink needle */
.gsh .gs-pin{display:inline-block;flex:none;overflow:visible}
.gsh .gs-pin .pin-head{fill:#E0382B}
.gsh .gs-pin .pin-shade{fill:#A8241B}
.gsh .gs-pin .pin-shine{fill:#fff;opacity:.55}
.gsh .gs-pin .pin-needle{fill:#8A8F99}

/* Lab: mobile menu (CSS-only <details>, ports to static site) */
.gsh .lab-mnav{display:none;position:relative}
.gsh .lab-mnav summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--gs-rule);color:var(--gs-ink)}
.gsh .lab-mnav summary::-webkit-details-marker{display:none}
.gsh .lab-mnav-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;display:grid;padding:6px;border:1px solid var(--gs-rule);border-radius:16px;background:var(--gs-raised);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.gsh .lab-mnav-panel a{padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--gs-ink);font:500 15px/1 var(--gs-ui)}
.gsh .lab-mnav-panel a:hover{background:var(--gs-surface)}
@media(max-width:720px){.gsh .lab-mnav{display:block}.gsh .tseg{margin-left:auto}}
.gsh .hpill .hpin{width:.84em;height:.84em;color:var(--h-ink)}
.gsh .lab-sticky .lab-pin{width:22px;height:22px;top:-12px;color:var(--gs-ink);font-size:inherit}
.gsh .lab-cam svg{width:8px;height:8px}

/* Lab: one-line player controls — play button sits inside the scrubber row */
.gsh .hero .stage-card .lab-scrub{margin:.85rem 0 0;max-width:none;width:100%;gap:.3rem}
.gsh .hero .stage-card .lab-scrub .scrub-row{display:flex;align-items:center;gap:.6rem}
.gsh .hero .stage-card .lab-play{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border-radius:50%}
.gsh .hero .stage-card .lab-play svg{width:11px;height:11px}
.gsh .hero .stage-card .lab-scrub .scrub-ticks{padding-left:calc(34px + .6rem)}
.gsh .hero .stage-card .lab-drill{display:block;text-align:center;margin-top:.45rem}
/* Lab: tighter player rhythm so the whole card clears a 900px laptop fold */
.gsh .hero .stage-card .stage-bar{padding:.6rem 0;margin-bottom:.6rem}
.gsh .hero .stage-card .lab-seats-wrap{margin-top:0}
.gsh .hero .stage-card .lab-seats button{padding:6px 4px}
.gsh .hero .stage-card .lab-scrub{margin-top:.7rem}
.gsh .hero .stage-card .lab-drill{margin-top:.3rem}
.gsh .hero .stage-card{padding-bottom:.8rem}

/* Mobile: seat buttons dropped (one working control = scrubber); positioning line stays */
/* Mobile: compact 4-column seat bar — first name + role, no scroll */
@media (max-width:719px){
  .gsh .hero .stage-card .lab-seats-wrap .lab-whose-cap{display:block;text-align:center;margin-bottom:.2rem}
  .gsh .hero .stage-card .lab-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:3px}
  .gsh .hero .stage-card .lab-seats button{padding:6px 2px;min-height:40px;min-width:0}
  .gsh .hero .stage-card .lab-seats button b{font-size:12px}
  .gsh .hero .stage-card .lab-seats button b span+span{display:none}
  .gsh .hero .stage-card .lab-seats button small{font-size:9.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}
/* One-line hero subhead: copy kept short so it never wraps; height reserved */
.gsh .hero .lab-sub1{white-space:nowrap;min-height:1.35em}
@media (max-width:719px){.gsh .hero .lab-sub1{white-space:normal;min-height:calc(2 * 1.35em)}}
/* CTAs: above the player on mobile, below it on desktop (CSS order only) */
.gsh .hero .hero-c{display:flex;flex-direction:column;align-items:center}
@media (min-width:720px){
  .gsh .hero .hero-c .lab-ctas{order:10;margin-top:clamp(.75rem,2vh,1.5rem)}
}

/* Hygiene pass: taller desktop hero, CTAs with breathing room, bigger art, clean mid-width */
@media (min-width:720px){
  .gsh .hero{padding-top:clamp(2.5rem,5vh,4rem);padding-bottom:clamp(2.5rem,5vh,4rem)}
  .gsh .hero .hero-c .lab-ctas{margin-top:clamp(2rem,4vh,3rem)}
  .gsh .hero .hero-c .stage .stage-peek{width:clamp(130px,18vh,165px)}
  .gsh .hero .hero-c .lab-stage-row{margin-top:clamp(1rem,2.5vh,1.75rem)}
}
@media (min-width:720px) and (max-width:1100px){
  .gsh .hero .hero-c .lab-stage-row{display:flex;justify-content:center}
  .gsh .hero .lab-flank{display:none}
}

/* Lab: "pinned" pill, Direction A — crisp lifted paper chip, bold pin. Theme + late-night stops. */
.gsh .hero .hpill{background:#FFFFFF;color:#14161F;border:1px solid rgba(20,22,31,.08);box-shadow:0 1px 0 rgba(20,22,31,.04),0 6px 18px -8px rgba(20,22,31,.22);gap:.18em;padding:.04em .42em .08em .26em}
.gsh .hero .hpill .hpin{width:1.02em;height:1.02em;font-size:inherit;transform:translateY(-.03em);filter:drop-shadow(0 .05em .04em rgba(20,22,31,.28))}
.gsh[data-theme="dark"] .hero .hpill,.gsh .hero[data-stop="2"] .hpill,.gsh .hero[data-stop="3"] .hpill{background:#1E2233;color:#F2F3F8;border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px -10px rgba(0,0,0,.7)}
.gsh[data-theme="dark"] .hero .hpill .gs-pin .pin-head,.gsh .hero[data-stop="2"] .hpill .gs-pin .pin-head,.gsh .hero[data-stop="3"] .hpill .gs-pin .pin-head{fill:#FF5A4C}
.gsh[data-theme="dark"] .hero .hpill .gs-pin .pin-shade,.gsh .hero[data-stop="2"] .hpill .gs-pin .pin-shade,.gsh .hero[data-stop="3"] .hpill .gs-pin .pin-shade{fill:#C7342A}
.gsh[data-theme="dark"] .gs-pin .pin-needle,.gsh .hero[data-stop="2"] .gs-pin .pin-needle,.gsh .hero[data-stop="3"] .gs-pin .pin-needle{fill:#C3C8D4}
/* Align "pinned" to the headline baseline: the text sets the badge baseline, the pin just centres. */
.gsh .hero .hpill{align-items:baseline}
.gsh .hero .hpill .hpin{align-self:center}
/* Give the "pinned" badge breathing room from the first headline line (margins on the badge grow line 2 only). */
.gsh .hero .hpill{margin:.16em .04em .02em;padding:.06em .44em .1em .28em}
/* Note card — Apple Notes-style widget (replaces corkboard sticky) */
.gsh .hero .lab-prop.lab-sticky{display:grid;gap:.3rem;background:var(--gs-raised);border-radius:16px;border-left:3px solid #E5A93C;padding:.7rem .9rem;--r:1.5deg}
.gsh .lab-sticky .lab-note-top{display:flex;align-items:center;gap:.4rem;color:var(--gs-ink-2)}
.gsh .lab-sticky .lab-note-dot{width:8px;height:8px;border-radius:2px;background:#E5A93C;flex:none}
.gsh .lab-sticky .lab-note-when{margin-left:auto;font:500 11px/1 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .lab-sticky strong{font:700 14px/1.3 var(--gs-head);color:var(--gs-ink)}
.gsh .lab-sticky small{font:400 12.5px/1.4 var(--gs-ui);color:var(--gs-ink-2)}

/* Sanity Desk v2 — fits one desktop screen, carries the hero's personas */
.gsh .dk-sec{padding-top:clamp(28px,5vh,56px);padding-bottom:clamp(40px,7vh,72px)}
.gsh .dk-head{margin-bottom:clamp(1rem,2.5vh,1.6rem);gap:.6rem}
.gsh .dk-head h2{font-size:clamp(28px,min(4vw,5.4vh),46px)}
.gsh .dk{--dk-acc:var(--gs-red);max-width:1040px;margin:0 auto;border:1px solid var(--gs-rule);border-radius:22px;background:var(--gs-raised);box-shadow:0 1px 0 rgba(26,29,43,.04),0 40px 80px -40px rgba(26,29,43,.35);overflow:hidden;position:relative}
.gsh .dk-bar{display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;border-bottom:1px solid var(--gs-rule);background:var(--gs-surface)}
.gsh .dk-title{font:600 14px/1 var(--gs-ui);color:var(--gs-ink);white-space:nowrap}.gsh .dk-title span{color:var(--gs-ink-3);font-weight:500}
.gsh .dk-idx{margin-left:auto;display:flex;align-items:center;gap:.55rem}
.gsh .dk-idx strong{font:700 18px/1 var(--gs-ui);color:var(--gs-red);font-variant-numeric:tabular-nums;min-width:3.2ch;text-align:right;transition:color .3s}
.gsh .dk-idx strong.ok{color:var(--gs-green-active)}
.gsh .dk-meter{display:flex;gap:3px}
.gsh .dk-meter i{width:18px;height:6px;border-radius:99px;background:var(--gs-surface-2);transition:background .4s var(--gs-ease)}
.gsh .dk-meter i.on{background:var(--gs-red)}
/* seats */
.gsh .dk-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;border-bottom:1px solid var(--gs-rule)}
.gsh .dk-seats button{display:flex;align-items:center;gap:.6rem;min-width:0;border:1px solid var(--gs-rule);border-radius:14px;padding:6px 10px 6px 6px;background:var(--gs-ground);color:var(--gs-ink);cursor:pointer;text-align:left;transition:background .2s,border-color .2s,transform .2s var(--gs-ease)}
.gsh .dk-seats button:hover{border-color:var(--gs-rule-2);transform:translateY(-1px)}
.gsh .dk-seats img{width:40px;height:40px;flex:none;border-radius:11px;object-fit:cover;object-position:top center;background:var(--gs-surface-2)}
.gsh .dk-who{display:grid;gap:2px;min-width:0}
.gsh .dk-who b{font:700 13.5px/1.1 var(--gs-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .dk-who small{font:500 11px/1.1 var(--gs-ui);color:var(--gs-ink-3)}
.gsh .dk-seats button.on{background:var(--gs-ink);border-color:var(--gs-ink);color:var(--gs-ground)}
.gsh .dk-seats button.on small{color:inherit;opacity:.75}
.gsh .dk-seats button.on img{background:var(--gs-ground)}
.gsh .dk-seats button:focus-visible,.gsh .dk-fire:focus-visible{outline:2px solid var(--gs-indigo);outline-offset:2px}
/* body */
.gsh .dk-cols{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.gsh .dk-list{list-style:none;margin:0;padding:12px;display:grid;gap:8px;align-content:start;border-right:1px solid var(--gs-rule);animation:lab-fade .4s var(--gs-ease) both}
.gsh .dk-fire{width:100%;display:grid;gap:.4rem;text-align:left;border:1px solid var(--gs-rule);border-radius:14px;padding:.8rem .95rem;background:var(--gs-ground);color:var(--gs-ink);cursor:pointer;position:relative;transition:border-color .25s,background .25s,transform .25s var(--gs-ease)}
.gsh .dk-fire:hover{transform:translateX(2px)}
.gsh .dk-fire.sel{border-color:var(--gs-ink);background:var(--gs-raised);box-shadow:inset 3px 0 0 var(--gs-red)}
.gsh .dk-fire-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.gsh .dk-id{font:600 11px/1 var(--gs-mono);letter-spacing:.08em;color:var(--gs-red-text);display:inline-flex;align-items:center;gap:6px}
.gsh .dk-id::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gs-red);animation:dk-ember 1.8s ease-in-out infinite}
.gsh .dk-chip{font:600 10px/1 var(--gs-ui);padding:4px 8px;border-radius:999px;border:1px solid var(--gs-rule-2);color:var(--gs-ink-2)}
.gsh .dk-t{font:600 15px/1.35 var(--gs-ui)}
.gsh .dk-fire.done{background:var(--gs-surface)}
.gsh .dk-fire.done .dk-t{text-decoration:line-through;color:var(--gs-ink-3)}
.gsh .dk-fire.done .dk-id{color:var(--gs-green-active)}
.gsh .dk-fire.done .dk-id::before{background:var(--gs-green-active);animation:none}
.gsh .dk-fire.done .dk-chip{border-color:var(--gs-green-active);color:var(--gs-green-active)}
.gsh .dk-fire.done.sel{box-shadow:inset 3px 0 0 var(--gs-green-active)}
@keyframes dk-ember{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gs-red) 45%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--gs-red) 0%,transparent)}}
.gsh .dk-pane{padding:clamp(1.1rem,2.5vh,1.6rem) clamp(1.1rem,2vw,1.8rem);background:var(--gs-cream);display:grid;align-content:center;min-height:300px}
.gsh[data-theme="dark"] .dk-pane{background:var(--gs-surface)}
.gsh .dk-rx{display:grid;gap:.75rem;justify-items:start}
.gsh .dk-rx h3{margin:0;font:700 clamp(19px,1.7vw,23px)/1.25 var(--gs-head);color:var(--gs-ink)}
.gsh .dk-move{display:grid;gap:.35rem;padding:.8rem .95rem;border-radius:14px;background:var(--gs-raised);border:1px solid var(--gs-rule);border-left:3px solid var(--gs-green-active)}
.gsh .dk-move-tag{font:600 11px/1 var(--gs-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gs-green-active)}
.gsh .dk-move p{margin:0;font:500 15px/1.45 var(--gs-ui);color:var(--gs-ink)}
.gsh .dk-stat{display:grid;gap:.2rem}
.gsh .dk-delta{display:flex;align-items:baseline;gap:.5rem;font:700 clamp(22px,2.2vw,28px)/1.1 var(--gs-ui);font-variant-numeric:tabular-nums}
.gsh .dk-delta s{color:var(--gs-ink-3);font-weight:600;text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--gs-red) 70%,transparent)}
.gsh .dk-delta span{color:var(--gs-ink-3);font-weight:500}
.gsh .dk-delta strong{color:var(--gs-green-active)}
.gsh .dk-stat small{color:var(--gs-ink-3);font-size:11.5px}
.gsh .dk-cure{margin-top:.15rem}
.gsh .dk-zero{display:grid;justify-items:center;text-align:center;gap:.55rem}
.gsh .dk-zero img{width:96px;height:96px;object-fit:contain;object-position:bottom}
.gsh .dk-zero h3{margin:0;font:700 22px/1.25 var(--gs-head)}
.gsh .dk-zero p{margin:0;color:var(--gs-ink-2)}
.gsh .dk-zero .mono{color:var(--gs-green-active)}
.gsh .dk-zero-ctas{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:.3rem}
.gsh .dk-pane .swap{animation:lab-fade .4s var(--gs-ease) both}
/* phone */
@media (max-width:719px){
  .gsh .dk{border-radius:18px}
  .gsh .dk-bar{padding:.55rem .8rem;gap:.5rem}
  .gsh .dk-bar .dots{display:none}
  .gsh .dk-title{font-size:13px}
  .gsh .dk-meter i{width:12px}
  .gsh .dk-idx strong{font-size:18px}
  .gsh .dk-idx .mono{font-size:10px}
  .gsh .dk-seats{gap:4px;padding:6px}
  .gsh .dk-seats button{flex-direction:column;gap:4px;padding:6px 2px;text-align:center}
  .gsh .dk-seats img{width:34px;height:34px;border-radius:50%}
  .gsh .dk-who{justify-items:center}
  .gsh .dk-who b{font-size:12px}
  .gsh .dk-who small{font-size:10px}
  .gsh .seat-last{display:none}
  .gsh .dk-cols{grid-template-columns:1fr}
  .gsh .dk-list{border-right:0;border-bottom:1px solid var(--gs-rule);padding:8px;gap:6px}
  .gsh .dk-fire{padding:.65rem .8rem;gap:.3rem}
  .gsh .dk-t{font-size:14px}
  .gsh .dk-pane{min-height:0;padding:1rem}
  .gsh .dk-move p{font-size:14px}
}
@media (min-width:720px) and (max-width:900px){.gsh .seat-last{display:none}}
@media (prefers-reduced-motion:reduce){
  .gsh .dk-id::before,.gsh .dk-list,.gsh .dk-pane .swap{animation:none}
  .gsh .dk-seats button,.gsh .dk-fire{transition:none;transform:none}
}
@media (min-width:720px){.gsh .dk-list{align-content:stretch;grid-auto-rows:1fr}.gsh .dk-list li{display:grid}.gsh .dk-fire{align-content:center}}
/* Desk v3: compact fix card, 4 fires */
.gsh .dk-fix{margin:0;font:500 15px/1.5 var(--gs-ui);color:var(--gs-ink);padding-left:.8rem;border-left:3px solid var(--gs-green-active)}
.gsh .dk-fix b{color:var(--gs-green-active);font-weight:700}
.gsh .dk-act{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;width:100%}
.gsh .dk-chipstat{display:grid;gap:.15rem;padding:.5rem .8rem;border-radius:12px;background:var(--gs-raised);border:1px solid var(--gs-rule)}
.gsh .dk-chipstat .mono{font-size:10.5px}
.gsh .dk-chipstat .dk-delta{font-size:clamp(18px,1.7vw,21px)}
.gsh .dk-act .dk-cure{margin:0 0 0 auto}
.gsh .dk-note{color:var(--gs-ink-3);font-size:11.5px}
.gsh .dk-note b{color:var(--gs-red-text,var(--gs-red))}
.gsh .dk-fire{padding:.6rem .9rem;gap:.3rem}
@media (max-width:719px){.gsh .dk-fix{font-size:14px}.gsh .dk-fire{padding:.55rem .75rem}}
@media (max-width:719px){.gsh .dk-title span{display:none}.gsh .dk-meter i{width:10px}}

/* Micro-fires shelf above the marquee */
.gsh .mq-shelf { padding-top: 56px; }
.gsh .mq-head { text-align: center; max-width: 640px; margin: 0 auto 24px; padding: 0 20px; }
.gsh .mq-head h2 { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.1; margin: .7rem 0 .4rem; }
.gsh .mq-head p { margin: 0; color: var(--gs-ink-2); font-size: 15px; }
@media (max-width: 720px) { .gsh .mq-shelf { padding-top: 36px; } .gsh .mq-head { margin-bottom: 18px; } }

/* Tools fold */
.gsh .tl-sec{padding-top:clamp(48px,7vh,80px)}
.gsh .tl-head{margin-bottom:clamp(1.5rem,3vh,2.4rem)}
.gsh .tl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);max-width:1040px;margin:0 auto}
.gsh .tl-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--gs-rule);border-radius:22px;background:var(--gs-raised);color:var(--gs-ink);text-decoration:none;overflow:hidden;box-shadow:0 1px 0 var(--gs-rule),0 18px 40px -28px color-mix(in srgb,var(--gs-ink) 35%,transparent);transition:transform .3s var(--gs-ease),box-shadow .3s,border-color .3s}
.gsh .tl-card:hover{transform:translateY(-3px);border-color:var(--gs-rule-2);box-shadow:0 1px 0 var(--gs-rule),0 26px 50px -28px color-mix(in srgb,var(--gs-ink) 45%,transparent)}
.gsh .tl-card:focus-visible{outline:2px solid var(--gs-indigo);outline-offset:3px}
.gsh .tl-screen{margin:10px 10px 0;padding:12px 16px 14px;border-radius:14px;background:var(--gs-cream);border:1px solid var(--gs-rule);display:grid;gap:12px}
.gsh[data-theme="dark"] .tl-screen{background:var(--gs-surface)}
.gsh .tl-bar{display:flex;justify-content:space-between;align-items:center}
.gsh .tl-bar .mono{font-size:10px;color:var(--gs-ink-3)}
.gsh .tl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gsh .tl-stats small{display:block;font:600 10px/1.2 var(--gs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-3);margin-bottom:4px}
.gsh .tl-stats b{font:700 clamp(18px,2vw,24px)/1 var(--gs-ui);font-variant-numeric:tabular-nums}
.gsh .tl-split,.gsh .tl-score{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--gs-rule)}
.gsh .tl-split i:first-child{background:var(--gs-green-active)}
.gsh .tl-split i:last-child{flex:1;background:var(--gs-indigo)}
.gsh .tl-score i{background:linear-gradient(90deg,var(--gs-indigo),var(--gs-green-active));transform-origin:left;animation:tl-grow 1.2s var(--gs-ease) both}
.gsh .tl-legend{display:flex;justify-content:space-between;font:600 10.5px/1 var(--gs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gs-ink-3)}
.gsh .tl-legend b{color:var(--gs-ink)}
.gsh .tl-checks{display:flex;flex-wrap:wrap;gap:6px}
.gsh .tl-checks span{font:600 12px/1 var(--gs-ui);padding:6px 10px;border-radius:99px;border:1px solid var(--gs-rule-2);display:inline-flex;gap:6px;align-items:center}
.gsh .tl-checks span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gs-green-active)}
.gsh .tl-checks .warn::before{background:var(--gs-red)}
.gsh .tl-body{padding:clamp(1rem,2vw,1.5rem) clamp(1.1rem,2vw,1.6rem) clamp(1.1rem,2vw,1.5rem);display:grid;gap:.6rem;align-content:start}
.gsh .tl-tags{display:flex;gap:6px;flex-wrap:wrap}
.gsh .tl-tags>*{font:600 10.5px/1 var(--gs-mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:99px;border:1px solid var(--gs-rule-2);color:var(--gs-ink-2)}
.gsh .tl-tags b{background:var(--gs-ink);color:var(--gs-ground);border-color:var(--gs-ink)}
.gsh .tl-body h3{margin:.2rem 0 0;font:700 clamp(22px,2.2vw,27px)/1.15 var(--gs-head)}
.gsh .tl-body h3 em{font-family:var(--gs-serif);font-style:italic;font-weight:400}
.gsh .tl-roi h3 em{color:var(--gs-green-active)}
.gsh .tl-li h3 em{color:var(--gs-indigo)}
.gsh .tl-q{margin:0;font:600 15px/1.4 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .tl-body ul{margin:.2rem 0 .4rem;padding:0;list-style:none;display:grid;gap:.4rem}
.gsh .tl-body li{font-size:14.5px;color:var(--gs-ink-2);padding-left:1.2rem;position:relative}
.gsh .tl-body li::before{content:"✓";position:absolute;left:0;color:var(--gs-green-active);font-weight:700}
.gsh .tl-go{justify-self:start;margin-top:.3rem;font:700 14px/1 var(--gs-ui);padding:.8rem 1.1rem;border-radius:99px;background:var(--gs-ink);color:var(--gs-ground);display:inline-flex;gap:.4rem}
.gsh .tl-go span{transition:transform .25s var(--gs-ease)}
.gsh .tl-card:hover .tl-go span{transform:translateX(3px)}
.gsh .tl-foot{text-align:center;margin:1.4rem 0 0;font-size:13px;color:var(--gs-ink-3)}
.gsh .tl-foot a{color:var(--gs-ink);font-weight:600}
@keyframes tl-grow{from{transform:scaleX(0)}}
@media (max-width:759px){.gsh .tl-grid{grid-template-columns:1fr}.gsh .tl-body ul{display:none}}
@media (prefers-reduced-motion:reduce){.gsh .tl-card,.gsh .tl-go span{transition:none}.gsh .tl-card:hover{transform:none}.gsh .tl-score i{animation:none}}
/* Tools v2: uniform widgets + personality */
.gsh .tl-sec{position:relative;isolation:isolate}
.gsh .tl-sec::before{content:"";position:absolute;inset:24px 0 0;z-index:-1;background-image:radial-gradient(color-mix(in srgb,var(--gs-ink) 14%,transparent) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 55%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 65% at 50% 55%,#000 30%,transparent 80%)}
.gsh .tl-card{position:relative}
.gsh .tl-roi{--tl-c:var(--gs-green-active)}
.gsh .tl-li{--tl-c:var(--gs-indigo)}
.gsh .tl-card::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tl-c)}
.gsh .tl-no{position:absolute;right:18px;bottom:6px;font:italic 400 88px/1 var(--gs-serif);color:color-mix(in srgb,var(--tl-c) 14%,transparent);pointer-events:none;transition:color .3s}
.gsh .tl-card:hover .tl-no{color:color-mix(in srgb,var(--tl-c) 26%,transparent)}
.gsh .tl-screen{grid-template-rows:auto 52px auto auto;gap:12px;background-image:linear-gradient(color-mix(in srgb,var(--tl-c) 6%,transparent),transparent 70%)}
.gsh .tl-bar .mono{display:inline-flex;align-items:center;gap:6px}
.gsh .tl-live{width:6px;height:6px;border-radius:50%;background:var(--tl-c);animation:tl-pulse 2.4s ease-in-out infinite}
@keyframes tl-pulse{50%{opacity:.3}}
.gsh .tl-stats,.gsh .tl-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end}
.gsh .tl-checks{grid-template-columns:repeat(4,1fr)}
.gsh .tl-checks span{display:block;padding:0;border:0;border-radius:0}
.gsh .tl-checks span::before{display:none}
.gsh .tl-checks small{display:block;font:600 10px/1.2 var(--gs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-3);margin-bottom:4px}
.gsh .tl-checks b{font:700 clamp(18px,2vw,24px)/1 var(--gs-ui);color:var(--gs-green-active)}
.gsh .tl-checks .warn b{color:var(--gs-red-text,var(--gs-red))}
.gsh .tl-legend b{font-weight:700}
.gsh .tl-body{display:flex;flex-direction:column;gap:.6rem}

.gsh .tl-go{margin-top:auto;align-self:flex-start;position:relative;z-index:1}
.gsh .tl-stamp{display:inline-block;margin-right:.6rem;padding:4px 10px;border:1.5px dashed var(--gs-rule-2);border-radius:6px;font:600 10.5px/1.2 var(--gs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-2);transform:rotate(-1.5deg)}
@media (max-width:759px){.gsh .tl-q{min-height:0}.gsh .tl-no{font-size:64px}.gsh .tl-stamp{display:block;width:max-content;margin:0 auto .5rem}}
@media (prefers-reduced-motion:reduce){.gsh .tl-live{animation:none}}

/* Marquee spacing: tight, balanced transition strip */
.gsh .dk-sec{padding-bottom:clamp(20px,3vw,36px)}
.gsh .mq-shelf{padding-top:clamp(12px,2vw,24px)}
@media (max-width:720px){.gsh .mq-shelf{padding-top:12px}}

/* Tools v3: dark slate workbench */
.gsh .tl-sec{--tl-bg:var(--gs-fold);--tl-ink:var(--gs-fold-ink);--tl-ink2:var(--gs-fold-ink-2);--tl-rule:var(--gs-fold-rule);
  background:radial-gradient(ellipse 60% 50% at 20% 0%,color-mix(in srgb,var(--gs-fold-green) 14%,transparent),transparent 70%),radial-gradient(ellipse 55% 50% at 85% 100%,color-mix(in srgb,var(--gs-fold-indigo) 16%,transparent),transparent 70%),var(--tl-bg);
  color:var(--tl-ink);padding-block:clamp(48px,7vw,88px);margin-top:0}
.gsh .tl-sec::before{inset:0;background-image:radial-gradient(color-mix(in srgb,var(--gs-fold-ink) 10%,transparent) 1px,transparent 1.2px)}
.gsh .tl-sec .sec-head h2{color:var(--tl-ink)}
.gsh .tl-sec .sec-head p{color:var(--tl-ink2)}
.gsh .tl-sec .eyebrow{color:var(--tl-ink2);border-color:var(--tl-rule)}
.gsh .tl-sec .sec-head em.g{color:var(--gs-fold-green)}
.gsh .tl-roi{--tl-c:var(--gs-fold-green)}
.gsh .tl-li{--tl-c:var(--gs-fold-indigo)}
.gsh .tl-card{background:color-mix(in srgb,var(--gs-fold-ink) 5%,var(--tl-bg));border-color:var(--tl-rule);color:var(--tl-ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.gsh .tl-card:hover{border-color:color-mix(in srgb,var(--tl-c) 50%,transparent);box-shadow:0 30px 60px -30px rgba(0,0,0,.7),0 0 0 1px color-mix(in srgb,var(--tl-c) 25%,transparent)}
.gsh .tl-screen,.gsh[data-theme="dark"] .tl-screen{background:color-mix(in srgb,#000 30%,var(--tl-bg));border-color:var(--tl-rule);background-image:linear-gradient(color-mix(in srgb,var(--tl-c) 10%,transparent),transparent 70%),linear-gradient(var(--tl-rule) 1px,transparent 1px);background-size:auto,100% 22px}
.gsh .tl-bar .mono,.gsh .tl-stats small,.gsh .tl-checks small,.gsh .tl-legend{color:var(--tl-ink2)}
.gsh .tl-eng{color:var(--tl-c)!important;letter-spacing:.1em;text-transform:uppercase}
.gsh .tl-stats b,.gsh .tl-legend b{color:var(--tl-ink)}
.gsh .tl-checks b{color:var(--gs-fold-green)}
.gsh .tl-checks .warn b{color:#FF7A70}
.gsh .tl-split,.gsh .tl-score{background:var(--tl-rule)}
.gsh .tl-split i:first-child{background:var(--gs-fold-green);box-shadow:0 0 10px var(--gs-fold-green)}
.gsh .tl-split i:last-child{background:var(--gs-fold-indigo)}
.gsh .tl-score i{background:linear-gradient(90deg,var(--gs-fold-indigo),var(--gs-fold-green))}
.gsh .tl-live{box-shadow:0 0 8px var(--tl-c)}
.gsh .tl-tags>*{border-color:var(--tl-rule);color:var(--tl-ink2)}
.gsh .tl-tags b{background:var(--tl-c);border-color:var(--tl-c);color:var(--tl-bg)}
.gsh .tl-roi h3 em,.gsh .tl-li h3 em{color:var(--tl-c)}
.gsh .tl-q{color:var(--tl-ink)}
.gsh .tl-d{margin:0 0 .4rem;font-size:14.5px;line-height:1.5;color:var(--tl-ink2)}
.gsh .tl-go{background:var(--tl-ink);color:var(--tl-bg)}
.gsh .tl-card:hover .tl-go{background:var(--tl-c)}
.gsh .tl-no{color:color-mix(in srgb,var(--tl-c) 16%,transparent)}
.gsh .tl-foot{color:var(--tl-ink2)}
.gsh .tl-foot a{color:var(--tl-ink)}
.gsh .tl-stamp{border-color:var(--tl-rule);color:var(--tl-ink2)}
@media (max-width:759px){.gsh .tl-d{font-size:14px}}
.gsh section.sec.dk-sec{padding-bottom:clamp(20px,3vw,36px)!important}
.gsh .tl-sec .eyebrow{background:color-mix(in srgb,var(--gs-fold-ink) 8%,transparent)}
.gsh .tl-screen,.gsh[data-theme="dark"] .tl-screen{background-size:auto,0 0}
/* Tools: white ground in light mode */
.gsh:not([data-theme="dark"]) .tl-sec{--tl-bg:#FFFFFF;--tl-ink:#11131C;--tl-ink2:#5D5348;--tl-rule:rgba(0,0,0,.1);--gs-fold-ink:#11131C;--gs-fold-green:#1B6B38;--gs-fold-indigo:#485289;background:#FFFFFF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-card{background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 40px -26px rgba(17,19,28,.25)}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen{background-color:#F6F3EF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-checks .warn b{color:#B23A31}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all{background:#F6F3EF}

/* Desktop resize hygiene: height-aware hero + tamed flank drift */
@media (min-width:720px){
  .gsh .hero{padding-top:clamp(1rem,2.2vh,2rem);padding-bottom:clamp(1.25rem,3vh,2.5rem)}
  .gsh .hero .hero-c .stage .stage-peek{width:clamp(96px,13vh,140px)}
  .gsh .hero .hero-c .lab-stage-row{margin-top:clamp(.5rem,1.5vh,1.25rem)}
  .gsh .hero .hero-c .lab-ctas{margin-top:clamp(1.25rem,3vh,2.25rem)}
}
@media (min-width:1101px) and (max-width:1320px){
  .gsh .hero .hero-c .lab-stage-row{grid-template-columns:1fr minmax(380px,440px) 1fr;gap:clamp(28px,3vw,48px)}
  .gsh .hero .lab-prop{max-width:210px;font-size:12.5px}
  .gsh .hero .lab-meet,.gsh .hero .lab-invite,.gsh .hero .lab-dm,.gsh .hero .lab-tabs,
  .gsh .hero .lab-quirk,.gsh .hero .lab-flank-r .lab-sticky,.gsh .hero .lab-ticket,.gsh .hero .lab-stamp{--x:0px}
  .gsh .hero .lab-flank{margin-top:clamp(-110px,-11vh,-60px)}
}
@media (min-width:720px) and (max-height:820px){
  .gsh .hero .lab-flank{margin-top:clamp(-90px,-9vh,-40px);gap:.8rem;padding-bottom:1rem}
  .gsh .hero .lab-prop{padding:.65rem .85rem}
}
@media (min-width:720px) and (max-width:1100px){
  .gsh .hero .hero-c .lab-stage-row{grid-template-columns:minmax(0,480px);justify-content:center;gap:0}
}
@media (min-width:720px){.gsh .hero .hero-c{padding-top:clamp(0px,1vh,12px)}}
@media (min-width:720px) and (max-height:820px){.gsh .hero{padding-top:.5rem}}

/* Tools v4: no watermark numbers, no top stripes, shelf link */
.gsh .tl-card::after,.gsh .tl-no{display:none!important}
.gsh .tl-all{margin-top:clamp(14px,2vw,22px);display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px dashed var(--tl-rule);border-radius:18px;color:var(--tl-ink);text-decoration:none;background:color-mix(in srgb,var(--gs-fold-ink) 3%,transparent);transition:border-color .25s,background .25s}
.gsh .tl-all:hover{border-style:solid;border-color:color-mix(in srgb,var(--gs-fold-ink) 30%,transparent);background:color-mix(in srgb,var(--gs-fold-ink) 6%,transparent)}
.gsh .tl-all-slots{display:flex;gap:5px;flex:none}
.gsh .tl-all-slots i{width:14px;height:20px;border-radius:4px;border:1px dashed var(--tl-rule)}
.gsh .tl-all-slots i.on{border:0;background:var(--gs-fold-green)}
.gsh .tl-all-slots i.on+i.on{background:var(--gs-fold-indigo)}
.gsh .tl-all-txt{display:grid;gap:3px;min-width:0;flex:1}
.gsh .tl-all-txt b{font:600 15px/1.2 var(--gs-ui)}
.gsh .tl-all-txt small{font:500 12.5px/1.3 var(--gs-ui);color:var(--tl-ink2)}
.gsh .tl-all-go{flex:none;padding:9px 16px;border-radius:999px;background:var(--tl-ink);color:var(--tl-bg);font:600 14px/1 var(--gs-ui)}
.gsh .tl-all:hover .tl-all-go{background:var(--gs-fold-green)}
@media (max-width:559px){.gsh .tl-all{flex-wrap:wrap}.gsh .tl-all-go{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){.gsh .tl-all{transition:none}}
.gsh .tl-all{max-width:1040px;margin-inline:auto}

/* ---------- Roles fold (lab): compact friction → bridge tickets, one viewport ---------- */
.gsh .lab-roles{padding-block:clamp(3rem,7vh,5rem)}
.gsh .lab-roles .sec-head{margin-bottom:clamp(1.4rem,3.5vh,2.4rem)}
.gsh .lab-roles .sec-head p{max-width:60ch;margin-inline:auto}
.gsh .lab-roles h2{text-wrap:balance}
.gsh .lr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gsh .lr-card{--t:var(--gs-green);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.8rem;padding:1.1rem 1.2rem 1.15rem;border-radius:18px;background:var(--gs-raised);border:1px solid var(--gs-rule);box-shadow:0 1px 0 var(--gs-rule),0 12px 28px -22px color-mix(in oklab,var(--gs-ink) 40%,transparent);transition:transform .3s var(--gs-ease),box-shadow .3s var(--gs-ease),border-color .3s var(--gs-ease)}
.gsh .lr-t1{--t:var(--gs-indigo)}
.gsh .lr-t2{--t:var(--gs-red)}
.gsh .lr-t3{--t:color-mix(in oklab,var(--gs-green) 55%,var(--gs-indigo))}
.gsh .lr-card::before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--t) 16%,transparent),transparent 70%);transition:transform .5s var(--gs-ease);pointer-events:none}
.gsh .lr-card:hover{transform:translateY(-3px) rotate(-.25deg);border-color:color-mix(in oklab,var(--t) 40%,var(--gs-rule));box-shadow:0 1px 0 var(--gs-rule),0 20px 36px -24px color-mix(in oklab,var(--t) 55%,transparent)}
.gsh .lr-card:hover::before{transform:scale(1.35)}
.gsh .lr-home{border-color:color-mix(in oklab,var(--gs-green) 40%,var(--gs-rule))}
.gsh .lr-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.gsh .lr-role{display:inline-flex;align-items:center;gap:.45rem;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-ink-2)}
.gsh .lr-role::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--t);transform:rotate(45deg)}
.gsh .lr-role em{font-family:"Libre Caslon Text",Georgia,serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:13px;color:var(--gs-green)}
.gsh .lr-n{font-size:10.5px;letter-spacing:.08em;color:var(--gs-ink-3);font-variant-numeric:tabular-nums}
.gsh .lr-gripe{position:relative;margin:0;font-weight:700;font-size:clamp(18px,1.45vw,21px);line-height:1.25;letter-spacing:-.015em;color:var(--gs-ink);flex:1}
.gsh .lr-bridge{margin:0;display:flex;flex-direction:column;gap:.3rem;padding:.7rem .85rem;border-radius:12px;background:color-mix(in oklab,var(--gs-green-active) 9%,var(--gs-raised));border:1px solid color-mix(in oklab,var(--gs-green-active) 18%,transparent);font-size:14px;line-height:1.45;color:var(--gs-ink)}
.gsh .lr-fix{display:inline-flex;align-items:center;gap:.35rem;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-green-active);font-weight:600}
.gsh .lr-fix::before{content:"✓";font-family:var(--gs-ui);font-weight:700;letter-spacing:0}
@media (max-width:900px){.gsh .lr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .gsh .lr-grid{grid-template-columns:1fr;gap:10px}
  .gsh .lr-card{padding:.95rem 1rem;gap:.6rem}
  .gsh .lr-gripe{font-size:17px}
  .gsh .lr-bridge{font-size:13.5px;padding:.6rem .75rem}
}
@media (prefers-reduced-motion:reduce){.gsh .lr-card,.gsh .lr-card::before{transition:none}.gsh .lr-card:hover{transform:none}.gsh .lr-card:hover::before{transform:none}}

/* Roles v3: balanced line boxes, no blur glows, crisper fix panel */
.gsh .lr-card::before{display:none}
.gsh .lr-card:hover{transform:translateY(-3px)}
.gsh .lr-gripe{flex:none;min-height:2.5em;display:flex;align-items:flex-start}
.gsh .lr-bridge{margin-top:auto;min-height:calc(2 * 1.45em + 1.4rem + 1.3em);background:color-mix(in oklab,var(--gs-green-active) 7%,var(--gs-surface));border:1px solid color-mix(in oklab,var(--gs-green-active) 32%,transparent);border-left:3px solid var(--gs-green-active)}
.gsh[data-theme="dark"] .lr-bridge{background:color-mix(in oklab,#35BD6B 10%,var(--gs-raised));border-color:color-mix(in oklab,#35BD6B 35%,transparent);border-left-color:#35BD6B}
.gsh[data-theme="dark"] .lr-fix{color:#35BD6B}
@media (max-width:560px){.gsh .lr-gripe{min-height:0}.gsh .lr-bridge{min-height:0}}
.gsh .lr-gripe,.gsh .lr-bridge{min-height:0}
.gsh .lr-gripe{white-space:nowrap}
.gsh .lr-bridge span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .lr-bridge{background:color-mix(in srgb,var(--gs-green-active) 10%,#fff)}
@media (max-width:1100px){.gsh .lr-gripe{white-space:normal}.gsh .lr-bridge span:last-child{white-space:normal}}

/* Tools v5: one-line headline, single desktop fold */
.gsh .tl-head{max-width:1040px;margin-bottom:clamp(18px,2.6vh,28px)}
.gsh .tl-head h2{font-size:clamp(28px,3vw,40px);line-height:1.1}
.gsh .tl-nb{white-space:nowrap}
@media (min-width:760px){
  .gsh .tl-sec{padding-block:clamp(32px,5vh,56px)}
  .gsh .tl-screen{padding:10px 14px 12px;gap:10px}
  .gsh .tl-body{gap:.45rem}
  .gsh .tl-all{padding:10px 16px}
}
@media (max-width:420px){.gsh .tl-head h2{font-size:26px}}

/* ---------- Day passing without changing the ground (light mode) ---------- */
/* Desk shadow: sun angle swings across the day; 2 AM becomes a lamp pool. */
.gsh .hero .hero-c .stage{position:relative;isolation:isolate}
.gsh .lab-desk-shadow{position:absolute;z-index:-1;left:50%;bottom:-18px;width:92%;height:46px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(60,42,24,.26),rgba(60,42,24,0));
  transform:translateX(-50%) translateX(var(--sx,0)) skewX(var(--sk,0deg)) scaleX(var(--sw,1));
  opacity:var(--so,1);transition:transform .9s var(--gs-ease),opacity .9s var(--gs-ease),background .9s var(--gs-ease);pointer-events:none}
.gsh .hero[data-time="0"] .lab-desk-shadow{--sx:14%;--sk:-38deg;--sw:1.2;--so:.75}
.gsh .hero[data-time="1"] .lab-desk-shadow{--sx:0%;--sk:0deg;--sw:.82;--so:1}
.gsh .hero[data-time="2"] .lab-desk-shadow{--sx:-18%;--sk:48deg;--sw:1.45;--so:.85;background:radial-gradient(closest-side,rgba(72,50,90,.3),rgba(72,50,90,0))}
.gsh .hero[data-time="3"] .lab-desk-shadow{--sx:0%;--sk:0deg;--sw:1.1;--so:1;height:70px;bottom:-30px;background:radial-gradient(closest-side,rgba(72,82,137,.22),rgba(72,82,137,0))}
.gsh .hero[data-time="3"] .stage-card{box-shadow:0 0 0 1px rgba(72,82,137,.12),0 24px 60px -24px rgba(72,82,137,.45)}

/* Sun/moon dial riding above the time ticks */
.gsh .hero .stage-card .lab-dial{position:relative;height:22px;margin:0 0 -2px calc(34px + .6rem)}
.gsh .lab-dial svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gsh .lab-dial .arc{fill:none;stroke:var(--gs-ink-2,#5D5348);stroke-width:1;stroke-dasharray:2 4;opacity:.45;vector-effect:non-scaling-stroke}
.gsh .lab-dial .hz{stroke:var(--gs-ink-2,#5D5348);stroke-width:1;opacity:.25;vector-effect:non-scaling-stroke}
.gsh .lab-dial .orb{position:absolute;width:12px;height:12px;border-radius:50%;left:var(--ox,0%);top:var(--oy,50%);transform:translate(-50%,-50%);
  background:#E8A33D;box-shadow:0 0 0 3px rgba(232,163,61,.18);transition:left .9s var(--gs-ease),top .9s var(--gs-ease),background .6s,box-shadow .6s}
.gsh .lab-dial .orb::before{content:"";position:absolute;inset:-7px;border-radius:50%;opacity:0;transform:scale(.6) rotate(0deg);
  background:repeating-conic-gradient(#F2B53A 0 7deg,transparent 7deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 9px,#000 9.5px,#000 12.5px,transparent 13px);mask:radial-gradient(circle,transparent 9px,#000 9.5px,#000 12.5px,transparent 13px);
  transition:opacity .6s,transform .9s var(--gs-ease)}
/* 10 AM: soft, pale rising sun — hollow ring, low glow, no rays */
.gsh .hero[data-time="0"] .lab-dial .orb{--ox:3%;--oy:62%;width:11px;height:11px;background:#FBE7BF;box-shadow:inset 0 0 0 1.5px #E8A33D,0 0 0 3px rgba(232,163,61,.12)}
/* 2 PM: full overhead sun — solid gold core with crisp rays */
.gsh .hero[data-time="1"] .lab-dial .orb{--ox:36%;--oy:0%;width:13px;height:13px;background:#F2B53A;box-shadow:0 0 0 2px #F7F3EE,0 0 10px 3px rgba(242,181,58,.45)}
.gsh .hero[data-time="1"] .lab-dial .orb::before{opacity:1;transform:scale(1) rotate(15deg)}
.gsh .hero[data-time="2"] .lab-dial .orb{--ox:68%;--oy:72%;background:#D8643A;box-shadow:0 0 0 3px rgba(216,100,58,.2)}
.gsh .hero[data-time="3"] .lab-dial .orb{--ox:97%;--oy:30%;background:transparent;box-shadow:inset -4px -1px 0 0 #485289}
.gsh[data-theme="dark"] .hero[data-time="3"] .lab-dial .orb{box-shadow:inset -4px -1px 0 0 #7D8BDE}
@media (prefers-reduced-motion:reduce){.gsh .lab-desk-shadow,.gsh .lab-dial .orb{transition:none}}
.gsh .lab-art-cache{position:absolute;width:1px;height:1px;overflow:hidden;opacity:.001;pointer-events:none;left:0;top:0}.gsh .lab-art-cache img{width:4px;height:4px}

/* Mobile: CTAs sit under the player so the story reads uninterrupted; still in the first fold */
@media (max-width:719px){
  .gsh .hero .hero-c .lab-ctas{order:10;margin-top:14px}
}

/* World clocks and member card: two separate sections */
.gsh .lab-card-sec{border-top:1px solid rgba(255,255,255,.08)}
.gsh .lab-card-sec .idwrap{margin-top:0;align-items:center}
.gsh .lab-card-sec h2{font-size:clamp(28px,3.4vw,42px)}
.gsh .lab-card-sec .lab-card-sub{margin:0 0 1.25rem;color:rgba(255,255,255,.72);font:500 15px/1.5 var(--gs-ui)}
.gsh .lab-card-sec .rituals{margin-top:clamp(2.5rem,5vw,4rem)}

/* World clocks (lab): white telemetry wall in light mode, dark band in dark mode; one-line heading on every screen */
.gsh:not([data-theme="dark"]) .lab-clock-sec{background:#FFFFFF;color:#1A1D2B;--gs-ink:#1A1D2B;--gs-ink-2:#5D5348;--gs-ink-3:#6E655B;--gs-rule:#E5E0D8;--gs-green:#173D24;--gs-indigo:#485289}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock{background:#FDFCF9;border-color:#E5E0D8;box-shadow:0 1px 2px rgba(26,29,43,.04)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .mono{color:#1A1D2B}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .st{color:#1B6B38}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .ping{background:#1B6B38}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s1 .st{color:#8A5A00}.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s1 .ping{background:#D9961F}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s2 .st{color:#485289}.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s2 .ping{background:#485289}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .st{color:#B23A31}.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .ping{background:#C8443A}
.gsh:not([data-theme="dark"]) .lab-clock-sec .lab-clock-h em.g{color:#173D24}
.gsh[data-theme="dark"] .lab-clock-sec .lab-clock-h{color:#fff}
.gsh .lab-clock-sec .sec-head{max-width:none;margin-bottom:clamp(18px,2.4vw,28px)}
.gsh .lab-clock-h{white-space:nowrap;font-size:clamp(21px,5.6vw,46px);margin:0}
@media(max-width:719px){.gsh .lab-clock-sec .clock{padding:.7rem}.gsh .lab-clock-sec .clock .tm{font-size:20px}}

/* Light mode two-tone rhythm: warm linen #F6F3EF and white #FFFFFF alternate by section */
.gsh:not([data-theme="dark"]){--gs-ground:#FFFFFF;background:#FFFFFF}
.gsh:not([data-theme="dark"]) .hero{--h-bg:#F6F3EF}
.gsh:not([data-theme="dark"]) .dk-sec,.gsh:not([data-theme="dark"]) .mq-shelf{background:#FFFFFF}
.gsh:not([data-theme="dark"]) .lab-roles{background:#F6F3EF}
.gsh:not([data-theme="dark"]) .lab-clock-sec{background:#FFFFFF}
.gsh:not([data-theme="dark"]) .lab-receipts{background:#F6F3EF}
.gsh:not([data-theme="dark"]) .close{background:#FFFFFF}
.gsh:not([data-theme="dark"]) .lab-roles .rl-card,.gsh:not([data-theme="dark"]) .lab-receipts .card{background:#FFFFFF}

/* Clock tiles: crisp contrast on white */
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock{position:relative;background:#F6F3EF;border:1px solid rgba(26,29,43,.13);box-shadow:0 2px 6px -1px rgba(26,29,43,.06)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .tm{color:#11131C;font-weight:700}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .mono{color:#11131C;font-weight:600}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .st{display:inline-block;padding:3px 7px;border-radius:999px;background:#E8F2EC}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s1 .st{background:#FBEFD6}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s2 .st{background:#E7E9F5}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .st{background:#F8E3E0}
/* Mumbai = home base: quiet spruce accent, not a spotlight */
.gsh .lab-clock-sec .clock.lab-base{position:relative}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.lab-base{background:#FFFFFF;border:1.5px solid rgba(23,61,36,.45);box-shadow:0 6px 16px -8px rgba(23,61,36,.35)}
.gsh[data-theme="dark"] .lab-clock-sec .clock.lab-base{border-color:rgba(53,189,107,.55)}
.gsh .lab-base-chip{position:absolute;top:-9px;right:10px;font:600 9.5px/1 var(--gs-mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#E8F2EC;color:#173D24;border:1px solid rgba(23,61,36,.25)}
.gsh[data-theme="dark"] .lab-base-chip{background:#12291B;color:#35BD6B;border-color:rgba(53,189,107,.35)}

/* Member card section: linen in light mode, dark band only in dark mode */
.gsh:not([data-theme="dark"]) #card{background:#F6F3EF;color:#1A1D2B;--gs-ink:#1A1D2B;--gs-ink-2:#5D5348;--gs-ink-3:#6E655B;--gs-rule:#E5E0D8;--gs-rule-2:rgba(26,29,43,.18);--gs-green:#173D24;--gs-indigo:#485289;--gs-raised:#FFFFFF;border-top:0}
.gsh:not([data-theme="dark"]) #card .lab-card-sub{color:#5D5348}
.gsh:not([data-theme="dark"]) #card .idform input{background:#FFFFFF;border-color:rgba(26,29,43,.18)}
.gsh[data-theme="dark"] #card h2{color:#fff}

/* Tools hybrid: dark workbench cards + gradient telemetry screens, both modes. Section ground stays as-is. */
.gsh .tl-sec .tl-card,.gsh .tl-sec .tl-all{--tl-ink:#F4F6FB;--tl-ink2:#A3ACC2;--tl-rule:rgba(255,255,255,.1);--gs-fold-ink:#F4F6FB;--gs-fold-green:#35BD6B;--gs-fold-indigo:#7D8BDE;--tl-bg:#0D121F;background:#0D121F!important;border:1px solid rgba(255,255,255,.08);color:#F4F6FB}
.gsh .tl-sec .tl-card{box-shadow:0 1px 2px rgba(0,0,0,.08),0 24px 50px -28px rgba(13,18,31,.55)}
.gsh .tl-sec .tl-roi{--tl-c:#35BD6B}
.gsh .tl-sec .tl-li{--tl-c:#7D8BDE}
.gsh .tl-sec .tl-screen{border-color:rgba(255,255,255,.08);background:linear-gradient(135deg,#1E2B4D 0%,#112D20 100%)!important}
.gsh .tl-sec .tl-li .tl-screen{background:linear-gradient(135deg,#202D52 0%,#12242B 100%)!important}
.gsh .tl-sec .tl-checks .warn b{color:#FF7A70}
.gsh .tl-sec .tl-tags b{color:#0D121F}
.gsh .tl-sec .tl-go{background:linear-gradient(135deg,#2A3B6B,#1A4A36);color:#FFFFFF}
.gsh .tl-sec .tl-card:hover .tl-go{background:linear-gradient(135deg,#4F6DF5,#22C55E)}
.gsh .tl-sec .tl-all{border-style:solid}
.gsh .tl-sec .tl-all:hover{background:#121A2C!important;border-color:rgba(255,255,255,.18)}
.gsh .tl-sec .tl-all-go{background:linear-gradient(135deg,#2A3B6B,#1A4A36);color:#FFFFFF}
.gsh .tl-sec .tl-all:hover .tl-all-go{background:linear-gradient(135deg,#4F6DF5,#22C55E)}
.gsh[data-theme="dark"] .tl-sec .tl-card,.gsh[data-theme="dark"] .tl-sec .tl-all{--tl-bg:#0A0E18;background:#0A0E18!important}
.gsh[data-theme="dark"] .tl-sec .tl-go,.gsh[data-theme="dark"] .tl-sec .tl-all-go{background:linear-gradient(135deg,#4F6DF5,#22C55E)}

/* Close section on white: readable ink, dark CTA, linen agenda cards */
.gsh:not([data-theme="dark"]) .close{color:#11131C}
.gsh:not([data-theme="dark"]) .close h2,.gsh:not([data-theme="dark"]) .close em{color:#11131C}
.gsh:not([data-theme="dark"]) .close em{color:#173D24}
.gsh:not([data-theme="dark"]) .close .mono{color:#6E655B}
.gsh:not([data-theme="dark"]) .close .lede{color:#5D5348}
.gsh:not([data-theme="dark"]) .close .btn-cream{background:#11131C;color:#FFFFFF}
.gsh:not([data-theme="dark"]) .close .ulink{color:#11131C}
.gsh:not([data-theme="dark"]) .close .agenda li{background:#F6F3EF;border-color:rgba(26,29,43,.12);color:#5D5348}
.gsh:not([data-theme="dark"]) .close .agenda li .mono{color:#1B6B38}
.gsh:not([data-theme="dark"]) .close .agenda b{color:#11131C}
.gsh:not([data-theme="dark"]) .close .founders{color:#5D5348}

/* Member card: theme-aware ink (dark mode pastel gradient gets black text, like the header CTA) */
.gsh .idcard-chip{color:rgba(255,255,255,.8)}
.gsh[data-theme="dark"] .idcard-in{color:var(--gs-on-accent,#07080D)}
.gsh[data-theme="dark"] .idcard-in .idcard-chip{color:rgba(7,8,13,.75)}

/* Footer — matches live site */
.gsh .lft{--lft-bg:#FFFFFF;--lft-h:#2B3A2F;--lft-t:#3E4250;--lft-m:#6E7280;--lft-ring:#D6D9E0;background:var(--lft-bg);padding:4rem 0 3.5rem}
.gsh[data-theme="dark"] .lft{--lft-bg:#0B0E1C;--lft-h:#FFFFFF;--lft-t:#B9C0CF;--lft-m:#8E97AB;--lft-ring:#2C3247}
.gsh .lft-top{display:grid;gap:2.5rem;padding-bottom:2.2rem;border-bottom:1px solid var(--lft-ring)}
@media(min-width:900px){.gsh .lft-top{grid-template-columns:1fr auto;align-items:start}}
.gsh .lft-share{display:flex;align-items:center;gap:.9rem;margin-top:1.4rem}
.gsh .lft-mono,.gsh .lft-cols a,.gsh .lft-legal{font-family:var(--gs-mono);text-transform:uppercase;letter-spacing:.14em}
.gsh .lft-mono{font-size:13px;color:var(--lft-m);margin-right:.2rem}
.gsh .lft-ic{width:52px;height:52px;border-radius:50%;border:1px solid var(--lft-ring);display:grid;place-items:center;color:var(--lft-t);background:transparent;cursor:pointer;transition:border-color .2s,transform .2s}
.gsh .lft-ic:hover{border-color:var(--lft-m);transform:translateY(-1px)}
.gsh[data-theme="dark"] .lft-ic.wa{color:#25D366}
.gsh[data-theme="dark"] .lft-ic.li{color:#0A66C2}
.gsh[data-theme="dark"] .lft-ic.x{color:#FFFFFF}
.gsh[data-theme="dark"] .lft-ic.cp{color:#5EC8C0}
.gsh .lft-cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media(min-width:900px){.gsh .lft-cols{grid-template-columns:auto auto auto;gap:4rem}}
.gsh .lft h4{font:700 20px/1.2 "Helvetica Neue",Arial,sans-serif;color:var(--lft-h);margin:0 0 1.3rem;letter-spacing:-.01em;text-transform:none}
.gsh .lft ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.gsh .lft-cols a{font-size:14px;color:var(--lft-t);text-decoration:none;display:inline-flex;align-items:center;gap:.6rem}
.gsh .lft-cols a:hover{color:var(--lft-h)}
.gsh .lft-li svg{color:#485289;flex:none}
.gsh[data-theme="dark"] .lft-li svg{color:#FFFFFF}
.gsh .lft-legal{padding-top:1.8rem;font-size:12px;line-height:2;color:var(--lft-m);max-width:1000px}
.gsh .lft-legal p{margin:0 0 .8rem}
.gsh .lft-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.gsh .lft-ic{transition:none}.gsh .lft-ic:hover{transform:none}}

/* ---- World clocks v2: flags, UTC offsets, split workday, night tiles ---- */
.gsh .lab-clock-sec .clock{display:flex;flex-direction:column;gap:6px}
.gsh .lab-ck-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.gsh .lab-ck-city{display:inline-flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .lab-flag{flex:none;width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 .5px rgba(0,0,0,.18)}
.gsh .lab-ck-off{flex:none;font:500 10px/1 var(--gs-mono);letter-spacing:.04em;opacity:.7;font-variant-numeric:tabular-nums}
.gsh .lab-clock-sec .clock .st{display:inline-flex;align-items:center;gap:6px;align-self:flex-start}
.gsh .lab-clock-sec .clock .st .ping{position:static;margin:0}
.gsh .lab-base-chip{position:static;flex:none;padding:3px 6px;font-size:9px}
/* war room (s4) */
.gsh .lab-clock-sec .clock.s4 .st{color:#9A4A12}.gsh .lab-clock-sec .clock.s4 .ping{background:#D2691E}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s4 .st{background:#F7E6DA}
.gsh[data-theme="dark"] .lab-clock-sec .clock.s4 .st{color:#F0A46B}
/* night tiles: proves the headline */
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3{background:linear-gradient(160deg,#141A2C,#0D121F);border-color:#0D121F;box-shadow:0 8px 20px -10px rgba(13,18,31,.6)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .tm,.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .mono{color:#fff}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .lab-ck-off{color:#B9C0CF;opacity:1}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .st{background:rgba(255,122,112,.14);color:#FF9A90}
.gsh .lab-clock-sec .clock.s3 .ping{background:#FF7A70;box-shadow:0 0 0 0 rgba(255,122,112,.6);animation:labNightPing 2.4s ease-out infinite}
.gsh[data-theme="dark"] .lab-clock-sec .clock.s3{background:#05070D;border-color:rgba(255,122,112,.3)}
@keyframes labNightPing{0%{box-shadow:0 0 0 0 rgba(255,122,112,.55)}70%,100%{box-shadow:0 0 0 6px rgba(255,122,112,0)}}
@media (prefers-reduced-motion:reduce){.gsh .lab-clock-sec .clock.s3 .ping{animation:none}}
@media(max-width:719px){.gsh .lab-ck-off{display:none}.gsh .lab-base-chip{font-size:8.5px}}
@media(max-width:719px){.gsh .lab-base-off{display:none}}
.gsh .lab-clock-sec .clock .st{gap:7px}
.gsh .lab-base-chip{margin-left:auto}

/* ---- World clocks v3: one card ground, clean pills, bigger flags, lit borders ---- */
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3{background:#F6F3EF;border-color:rgba(26,29,43,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 8px rgba(26,29,43,.05)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .tm,.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .mono{color:#11131C}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .st{background:#F8E3E0;color:#B23A31}
.gsh[data-theme="dark"] .lab-clock-sec .clock.s3{background:transparent;border-color:var(--gs-rule)}
.gsh .lab-clock-sec .clock{transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 8px rgba(26,29,43,.05)}
.gsh[data-theme="dark"] .lab-clock-sec .clock{box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock:hover{border-color:#173D24;box-shadow:0 0 0 1px #173D24,0 10px 24px -8px rgba(23,61,36,.28);transform:translateY(-2px)}
.gsh[data-theme="dark"] .lab-clock-sec .clock:hover{border-color:#35BD6B;box-shadow:0 0 0 1px #35BD6B,0 0 22px -4px rgba(53,189,107,.45);transform:translateY(-2px)}
.gsh .lab-clock-sec .clock .st,.gsh:not([data-theme="dark"]) .lab-clock-sec .clock .st{display:inline-flex;align-items:center;gap:7px;padding:4px 9px 4px 8px}
.gsh .lab-clock-sec .clock .st .ping{flex:none;margin:0!important;width:7px;height:7px}
.gsh .lab-flag{width:22px;height:15px;border-radius:2.5px;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
.gsh[data-theme="dark"] .lab-flag{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.gsh .lab-ck-off{padding:3px 6px;border-radius:6px;border:1px solid rgba(26,29,43,.12);background:rgba(255,255,255,.7);opacity:1;color:#4A4F5E;font-weight:600}
.gsh[data-theme="dark"] .lab-ck-off{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#B9C0CF}
.gsh .lab-ck-off.is-base{border-color:#173D24;color:#173D24;background:#E8F2EC;text-transform:uppercase}
.gsh[data-theme="dark"] .lab-ck-off.is-base{border-color:#35BD6B;color:#35BD6B;background:rgba(53,189,107,.1)}
@media(max-width:719px){.gsh .lab-ck-off{display:none}.gsh .lab-ck-off.is-base{display:inline-block;font-size:8.5px}.gsh .lab-flag{width:20px;height:14px}}
.gsh .lab-clock-h{white-space:normal;text-wrap:balance;max-width:30ch;margin-inline:auto;font-size:clamp(26px,5.6vw,46px)}
@media(prefers-reduced-motion:reduce){.gsh .lab-clock-sec .clock{transition:none}.gsh .lab-clock-sec .clock:hover{transform:none}}
.gsh .lab-ck-off.is-base .lab-off-n{margin-left:.3em}
.gsh .lab-ck-off.is-base .lab-off-n{display:none}
.gsh .lab-clock-h em.g{white-space:nowrap}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3 .lab-ck-off{color:#4A4F5E}

/* ---- World clocks v4: inverted (linen ground, white cards), uniform tiles ---- */
.gsh:not([data-theme="dark"]) .lab-clock-sec{background:#F6F3EF}
.gsh:not([data-theme="dark"]) #card{background:#FFFFFF}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock,.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.s3{background:#FFFFFF;border:1px solid rgba(26,29,43,.12)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.lab-base{background:#FFFFFF;border:1.5px solid rgba(23,61,36,.45)}
.gsh .lab-clock-sec .clocks{grid-auto-rows:1fr;align-items:stretch}
.gsh .lab-clock-sec .clock{height:100%;min-width:0;box-sizing:border-box}
.gsh .lab-clock-sec .clock .st{margin-top:auto}
@media(min-width:720px) and (max-width:999px){.gsh .lab-clock-sec .clocks{grid-template-columns:repeat(3,1fr)}}
/* World clocks v5 — single clean border (no spread ring) */
.gsh .lab-clock-sec .clock,.gsh .lab-clock-sec .clock.lab-base,.gsh .lab-clock-sec .clock.s3{border-width:1px!important;border-style:solid}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock.lab-base{border-color:rgba(23,61,36,.5);box-shadow:0 2px 8px rgba(26,29,43,.05)}
.gsh:not([data-theme="dark"]) .lab-clock-sec .clock:hover{border-color:#173D24;box-shadow:0 8px 20px -6px rgba(23,61,36,.18)}
.gsh[data-theme="dark"] .lab-clock-sec .clock:hover{border-color:#35BD6B;box-shadow:0 8px 22px -6px rgba(53,189,107,.3)}

/* Footer share bubbles v2: icons fill ~55% of the circle */
.gsh .lft-ic svg{width:28px;height:28px}
.gsh .lft-ic.li svg{width:29px;height:29px}
.gsh .lft-ic.x svg{width:25px;height:25px}
@media(max-width:719px){
  .gsh .lft-share{gap:.7rem}
  .gsh .lft-ic{width:46px;height:46px}
  .gsh .lft-ic svg{width:25px;height:25px}
  .gsh .lft-ic.li svg{width:26px;height:26px}
  .gsh .lft-ic.x svg{width:22px;height:22px}
}

/* Close v2: compact two-column consultation block */
.gsh .close.close2.close2{padding:clamp(56px,7vw,88px) 0}
.gsh .close.close2.close2 .c2-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.gsh .close.close2.close2 h2{font-size:clamp(28px,3vw,40px);line-height:1.08;margin:.6rem 0 .9rem;max-width:20ch}
.gsh .close.close2.close2 .lede{font-size:clamp(15px,1.2vw,17px);line-height:1.55;max-width:46ch;margin:0 0 1.3rem!important}
.gsh .close.close2.close2 .c2-cta{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center}
.gsh .close.close2.close2 .founders{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(128,128,128,.22);display:flex;gap:.8rem;flex-wrap:wrap;justify-content:space-between;font-size:14px}
.gsh .close.close2.close2 .c2-card{border:1px solid rgba(128,128,128,.22);border-radius:18px;padding:18px;background:rgba(128,128,128,.06)}
.gsh .close.close2.close2 .c2-head{display:flex;justify-content:space-between;padding:2px 4px 12px;font-size:11px}
.gsh .close.close2.close2 .c2-free{color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .close.close2.close2 .c2-free{color:#35BD6B}
.gsh .close.close2.close2 .agenda{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gsh .close.close2.close2 .agenda li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(128,128,128,.18);margin:0;font-size:14px;line-height:1.45;min-height:0}
.gsh .close.close2.close2 .agenda li .mono{font-size:11px;padding-top:3px}
.gsh .close.close2.close2 .agenda b{display:block;font-size:15px;margin-bottom:2px}
.gsh:not([data-theme="dark"]) .close.close2.close2 .c2-card{background:#F6F3EF;border-color:rgba(26,29,43,.1)}
.gsh:not([data-theme="dark"]) .close.close2.close2 .agenda li{background:#FFFFFF}
@media (max-width:860px){.gsh .close.close2.close2 .c2-grid{grid-template-columns:1fr}.gsh .close.close2.close2 h2{max-width:none}}

/* Lab: centered persona prompt above seat buttons */
.gsh .hero .stage-card .lab-seats-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;margin-bottom:.45rem}
.gsh .hero .stage-card .lab-seats-title{font:700 15px/1.15 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.01em;color:var(--h-ink,var(--gs-ink))}
.gsh .hero .stage-card .lab-seats-head .lab-whose-cap{display:block;margin:0;text-align:center;font-size:12px;letter-spacing:.01em;color:var(--h-ink-2,var(--gs-ink-2))}
@media (max-width:719px){.gsh .hero .stage-card .lab-seats-title{font-size:14px}.gsh .hero .stage-card .lab-seats-head .lab-whose-cap{font-size:11px}}

/* Lab: persona title centred in the window title bar */
.gsh .hero .stage-card .stage-bar.lab-titlebar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:0;padding:.5rem 0;margin-bottom:.55rem}
.gsh .hero .stage-card .lab-titlebar .lab-dots{display:inline-flex;gap:5px;margin:0}
.gsh .hero .stage-card .lab-titlebar .lab-dots i{width:8px;height:8px}
.gsh .hero .stage-card .lab-titlebar .lab-dots-spacer{margin:0}
.gsh .hero .stage-card .lab-titlebar .lab-seats-title{justify-self:center;text-align:center;text-transform:none;font:700 13px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.01em;color:var(--h-ink,var(--gs-ink))}
.gsh .hero .stage-card .lab-seats-head{margin:0 0 .4rem}
@media (max-width:719px){.gsh .hero .stage-card .lab-titlebar .lab-seats-title{font-size:12px}.gsh .hero .stage-card .lab-seats-wrap .lab-whose-cap{margin-bottom:0}}
/* Shelf: prevent tablet overflow (3 cols only from 1024px) */
.gsh #hub .g3>*,.gsh .pcard.shelf{min-width:0}
@media (min-width:720px) and (max-width:1023px){.gsh .grid.g3:has(>.pcard.shelf){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Lab: vibrant player — warm card, tinted tray, persona-coloured seats, solid play */
.gsh .hero .hero-c .stage-card{background:#FDFCFA;border-color:rgba(60,42,24,.1);box-shadow:0 1px 0 rgba(60,42,24,.04),0 26px 56px -24px rgba(60,42,24,.28)}
.gsh .hero .stage-card .lab-titlebar .lab-dots i:nth-child(1){background:#FF5F56}
.gsh .hero .stage-card .lab-titlebar .lab-dots i:nth-child(2){background:#FFBD2E}
.gsh .hero .stage-card .lab-titlebar .lab-dots i:nth-child(3){background:#27C93F}
.gsh .hero .stage-card .lab-seats{background:#F4EFE9;border-color:rgba(60,42,24,.08)}
.gsh .hero .stage-card .lab-seats button{--seat:#1E432A;--seat-ink:#FFFFFF;transition:background .25s var(--gs-ease),color .25s var(--gs-ease),box-shadow .25s var(--gs-ease)}
.gsh .hero .stage-card .lab-seats button.s-sales{--seat:#1E3456}
.gsh .hero .stage-card .lab-seats button.s-prod{--seat:#7F3025}
.gsh .hero .stage-card .lab-seats button.s-ceo{--seat:#6B4412}
.gsh .hero .stage-card .lab-seats button:hover{background:rgba(255,255,255,.7)}
.gsh .hero .stage-card .lab-seats button[aria-pressed="true"]{background:var(--seat);color:var(--seat-ink);box-shadow:0 6px 14px -8px var(--seat)}
.gsh .hero .stage-card .lab-play{background:#173D24;border-color:#173D24;color:#FFFFFF;box-shadow:0 8px 18px -8px rgba(23,61,36,.6);transition:transform .2s var(--gs-ease),box-shadow .2s var(--gs-ease)}
.gsh .hero .stage-card .lab-play:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(23,61,36,.7)}
.gsh .hero .stage-card .lab-play:active{transform:scale(.95)}
.gsh .hero .stage-card .lab-play:focus-visible{outline:2px solid #35BD6B;outline-offset:3px}
.gsh .hero .stage-card .scrub-ticks button[aria-current="true"]{font-weight:700}
/* Dark card (dark theme, or the evening/night stops) */
.gsh[data-theme="dark"] .hero .hero-c .stage-card,.gsh .hero[data-stop="2"] .hero-c .stage-card,.gsh .hero[data-stop="3"] .hero-c .stage-card{background:#141724;border-color:rgba(255,255,255,.08);box-shadow:0 26px 60px -24px rgba(0,0,0,.6)}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats,.gsh .hero[data-stop="2"] .stage-card .lab-seats,.gsh .hero[data-stop="3"] .stage-card .lab-seats{background:#0E101A;border-color:rgba(255,255,255,.07)}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button,.gsh .hero[data-stop="2"] .stage-card .lab-seats button,.gsh .hero[data-stop="3"] .stage-card .lab-seats button{--seat:#1C3B24;--seat-ink:#4AD17D}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button.s-sales,.gsh .hero[data-stop="2"] .stage-card .lab-seats button.s-sales,.gsh .hero[data-stop="3"] .stage-card .lab-seats button.s-sales{--seat:#152945;--seat-ink:#7FB6FF}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button.s-prod,.gsh .hero[data-stop="2"] .stage-card .lab-seats button.s-prod,.gsh .hero[data-stop="3"] .stage-card .lab-seats button.s-prod{--seat:#3F1A17;--seat-ink:#FA8A75}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button.s-ceo,.gsh .hero[data-stop="2"] .stage-card .lab-seats button.s-ceo,.gsh .hero[data-stop="3"] .stage-card .lab-seats button.s-ceo{--seat:#38230D;--seat-ink:#FFB866}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button:hover,.gsh .hero[data-stop="2"] .stage-card .lab-seats button:hover,.gsh .hero[data-stop="3"] .stage-card .lab-seats button:hover{background:rgba(255,255,255,.05)}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats button[aria-pressed="true"],.gsh .hero[data-stop="2"] .stage-card .lab-seats button[aria-pressed="true"],.gsh .hero[data-stop="3"] .stage-card .lab-seats button[aria-pressed="true"]{background:var(--seat);color:var(--seat-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--seat-ink) 45%,transparent)}
.gsh[data-theme="dark"] .hero .stage-card .lab-play,.gsh .hero[data-stop="2"] .stage-card .lab-play,.gsh .hero[data-stop="3"] .stage-card .lab-play{background:#1F4D2F;border-color:rgba(53,189,107,.5);color:#35BD6B;box-shadow:0 0 18px -2px rgba(53,189,107,.3)}
@media (prefers-reduced-motion:reduce){.gsh .hero .stage-card .lab-play,.gsh .hero .stage-card .lab-seats button{transition:none}}

/* Lab: bespoke player controls — custom rail + thumb, ringed play, tick pills */
.gsh .hero .stage-card .lab-scrub input[type=range]{--rail:#E6DED3;--fillc:#1F9D55;-webkit-appearance:none;appearance:none;flex:1;height:22px;background:transparent;cursor:pointer;margin:0}
.gsh .hero .stage-card .lab-scrub input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:99px;background:linear-gradient(to right,var(--fillc) var(--fill,0%),var(--rail) var(--fill,0%))}
.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-track{height:5px;border-radius:99px;background:var(--rail)}
.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-progress{height:5px;border-radius:99px;background:var(--fillc)}
.gsh .hero .stage-card .lab-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6.5px;border-radius:50%;background:#fff;border:3px solid var(--fillc);box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .15s var(--gs-ease)}
.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--fillc);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.gsh .hero .stage-card .lab-scrub input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}
.gsh .hero .stage-card .lab-scrub input[type=range]:focus-visible{outline:2px solid var(--fillc);outline-offset:4px;border-radius:99px}
.gsh[data-theme="dark"] .hero .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="2"] .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="3"] .stage-card .lab-scrub input[type=range]{--rail:#2A2E40;--fillc:#35BD6B}
.gsh .hero .stage-card .lab-play{box-shadow:0 0 0 3px rgba(31,157,85,.18),0 8px 18px -8px rgba(23,61,36,.6)}
.gsh .hero .stage-card .lab-play:hover{box-shadow:0 0 0 4px rgba(31,157,85,.26),0 10px 22px -8px rgba(23,61,36,.7)}
.gsh[data-theme="dark"] .hero .stage-card .lab-play,.gsh .hero[data-stop="2"] .stage-card .lab-play,.gsh .hero[data-stop="3"] .stage-card .lab-play{box-shadow:0 0 0 3px rgba(53,189,107,.22),0 0 18px -2px rgba(53,189,107,.35)}
.gsh .hero .stage-card .scrub-ticks button{padding:3px 7px;border-radius:99px;transition:background .2s var(--gs-ease),color .2s var(--gs-ease)}
.gsh .hero .stage-card .scrub-ticks button:hover{color:var(--h-ink,var(--gs-ink))}
.gsh .hero .stage-card .scrub-ticks button[aria-current="true"]{background:rgba(31,157,85,.13);color:#1B6B38}
.gsh[data-theme="dark"] .hero .stage-card .scrub-ticks button[aria-current="true"],.gsh .hero[data-stop="2"] .stage-card .scrub-ticks button[aria-current="true"],.gsh .hero[data-stop="3"] .stage-card .scrub-ticks button[aria-current="true"]{background:rgba(53,189,107,.16);color:#4AD17D}
@media (prefers-reduced-motion:reduce){.gsh .hero .stage-card .scrub-ticks button,.gsh .hero .stage-card .lab-scrub input[type=range]::-webkit-slider-thumb{transition:none}}

/* Lab: full persona names on phones — two-line name, card grows instead of cramming */
@media (max-width:719px){
  .gsh .hero .stage-card .lab-seats button{padding:7px 2px 6px;min-height:52px}
  .gsh .hero .stage-card .lab-seats button b{font-size:11.5px;line-height:1.15}
  .gsh .hero .stage-card .lab-seats button b span+span{display:block;font-weight:600;opacity:.85}
  .gsh .hero .stage-card .lab-seats button small{font-size:9px;margin-top:3px}
}
.gsh .hero .stage-card .scrub-ticks button{white-space:nowrap}
@media (max-width:719px){.gsh .hero .stage-card .scrub-ticks button{padding:3px 5px}}

/* Lab: neutral player controls — green reserved for brand + Felix seat */
.gsh .hero .stage-card .lab-play{background:#1A1D2B;border-color:#1A1D2B;color:#FFFFFF;box-shadow:0 0 0 3px rgba(26,29,43,.08),0 8px 18px -8px rgba(26,29,43,.5)}
.gsh .hero .stage-card .lab-play:hover{box-shadow:0 0 0 4px rgba(26,29,43,.12),0 10px 22px -8px rgba(26,29,43,.6)}
.gsh .hero .stage-card .lab-play:focus-visible{outline-color:#1A1D2B}
.gsh[data-theme="dark"] .hero .stage-card .lab-play,.gsh .hero[data-stop="2"] .stage-card .lab-play,.gsh .hero[data-stop="3"] .stage-card .lab-play{background:#222638;border-color:rgba(255,255,255,.14);color:#FFFFFF;box-shadow:0 0 0 3px rgba(255,255,255,.06),0 8px 18px -8px rgba(0,0,0,.6)}
.gsh[data-theme="dark"] .hero .stage-card .lab-play:focus-visible,.gsh .hero[data-stop="2"] .stage-card .lab-play:focus-visible,.gsh .hero[data-stop="3"] .stage-card .lab-play:focus-visible{outline-color:#E6E8EF}
.gsh .hero .stage-card .lab-scrub input[type=range]{--rail:#E6DED3;--fillc:#2A2E40}
.gsh[data-theme="dark"] .hero .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="2"] .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="3"] .stage-card .lab-scrub input[type=range]{--rail:#2A2E40;--fillc:#8E97AB}
.gsh .hero .stage-card .scrub-ticks button[aria-current="true"]{background:rgba(60,42,24,.08);color:#1A1D2B}
.gsh[data-theme="dark"] .hero .stage-card .scrub-ticks button[aria-current="true"],.gsh .hero[data-stop="2"] .stage-card .scrub-ticks button[aria-current="true"],.gsh .hero[data-stop="3"] .stage-card .scrub-ticks button[aria-current="true"]{background:rgba(255,255,255,.12);color:#FFFFFF}

/* Lab: play button matches header CTA gradient; precision-minimal scrubber */
.gsh .hero .stage-card .lab-play,.gsh[data-theme="dark"] .hero .stage-card .lab-play,.gsh .hero[data-stop="2"] .stage-card .lab-play,.gsh .hero[data-stop="3"] .stage-card .lab-play{background:var(--gs-cta-gradient);border-color:transparent;color:var(--gs-on-accent);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--gs-indigo) 55%,transparent)}
.gsh .hero .stage-card .lab-play:hover,.gsh[data-theme="dark"] .hero .stage-card .lab-play:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--gs-indigo) 65%,transparent)}
.gsh .hero .stage-card .lab-play:focus-visible{outline:2px solid var(--gs-indigo);outline-offset:3px}
.gsh .hero .stage-card .lab-scrub input[type=range]{--rail:rgba(26,29,43,.12);--fillc:rgba(26,29,43,.55)}
.gsh[data-theme="dark"] .hero .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="2"] .stage-card .lab-scrub input[type=range],.gsh .hero[data-stop="3"] .stage-card .lab-scrub input[type=range]{--rail:rgba(255,255,255,.12);--fillc:rgba(255,255,255,.6)}
.gsh .hero .stage-card .lab-scrub input[type=range]::-webkit-slider-runnable-track{height:3px}
.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-track,.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-progress{height:3px}
.gsh .hero .stage-card .lab-scrub input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5.5px;background:#FFFFFF;border:1px solid rgba(26,29,43,.18);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.gsh .hero .stage-card .lab-scrub input[type=range]::-moz-range-thumb{width:14px;height:14px;box-sizing:border-box;background:#FFFFFF;border:1px solid rgba(26,29,43,.18);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.gsh .hero .stage-card .lab-scrub input[type=range]:focus-visible{outline-color:var(--gs-indigo)}

/* Lab header: frosted glass pill, seamless with hero ground, corner breathing room */
.gsh{--hd-h:72px}
.gsh .hd{padding-top:16px;background:transparent;pointer-events:none}
.gsh .hd-in{pointer-events:auto;background:color-mix(in srgb,var(--gs-ground) 88%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-color:rgba(26,29,43,.08);box-shadow:0 4px 20px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.8)}
.gsh[data-theme="dark"] .hd-in{background:color-mix(in srgb,var(--gs-ground) 86%,transparent);border-color:rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12)}
.gsh .hd + .hero{margin-top:calc(var(--hd-h) * -1);padding-top:calc(var(--hd-h) + clamp(1.25rem,3vh,2.5rem))}
@media(max-width:719px){.gsh{--hd-h:66px}.gsh .hd{padding-top:12px}.gsh .hd + .hero{padding-top:var(--hd-h)}}

/* Lab: quirk card as OS notification + mobile dock + rotate hint + tablet/landscape flanks */
.gsh .lab-notif{display:grid;gap:.25rem;text-align:left;background:var(--gs-raised);border:1px solid var(--gs-rule);border-radius:16px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 36px -22px rgba(26,29,43,.4);color:var(--gs-ink)}
.gsh .hero .lab-prop.lab-quirk{border-radius:16px;padding:.7rem .85rem;max-width:236px;background:color-mix(in srgb,var(--gs-raised) 92%,transparent);backdrop-filter:blur(12px)}
.gsh .lab-notif-top{display:flex;align-items:center;gap:.45rem;margin-bottom:.1rem}
.gsh .lab-notif-ico{display:grid;place-items:center;flex:none;width:18px;height:18px;border-radius:5px;background:var(--gs-ink);color:var(--gs-raised);font:700 10px/1 var(--gs-ui)}
.gsh .lab-notif-top b{flex:1;min-width:0;font:600 11px/1.2 var(--gs-ui);letter-spacing:.01em;color:var(--gs-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .lab-notif-top small{font:500 10.5px/1 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .lab-notif strong{font:700 13px/1.3 var(--gs-ui);color:var(--gs-ink)}
.gsh .lab-notif-rest{font:500 12px/1.35 var(--gs-ui);color:var(--gs-ink-2)}
.gsh[data-theme="dark"] .lab-notif{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 36px -22px rgba(0,0,0,.7)}
.gsh .lab-dock,.gsh .lab-rotate{display:none}
@media (max-width:719px){.gsh .hero .lab-dock{display:grid;margin:.7rem auto 0;width:100%;max-width:460px;padding:.7rem .9rem}}
@media (max-width:719px) and (orientation:portrait){
  .gsh .hero .stage-card .stage-bar.lab-titlebar{grid-template-columns:1fr auto 1fr}
  .gsh .hero .stage-card .lab-titlebar .lab-dots-spacer{display:none}
  .gsh .hero .lab-rotate{display:inline-flex;justify-self:end;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--gs-rule);border-radius:999px;font:600 10px/1 var(--gs-ui);color:var(--gs-ink-2);white-space:nowrap}
}
@media (max-width:359px){.gsh .hero .lab-rotate{font-size:0;gap:0;padding:4px}}
/* Tablets + landscape phones: bring the desk back (2 cards per side) */
@media (min-width:720px) and (max-width:1100px){
  .gsh .hero .hero-c .lab-stage-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px) minmax(0,1fr);gap:14px;justify-content:stretch}
  .gsh .hero .lab-flank{display:flex;justify-content:center;gap:.8rem;margin-top:0;padding:0}
  .gsh .hero .lab-flank-l{align-items:flex-end}.gsh .hero .lab-flank-r{align-items:flex-start}
  .gsh .hero .lab-prop{max-width:180px;font-size:11.5px;padding:.55rem .7rem;--x:0px;--y:0px}
  .gsh .hero .lab-prop.lab-meet,.gsh .hero .lab-ticket{display:none}
  .gsh .hero .lab-prop.lab-quirk{display:grid;max-width:180px}
  .gsh .lab-notif strong{font-size:12px}.gsh .lab-notif-rest{font-size:11px}
}

/* Shoulder notification: phones + mid screens (≤1100px) show one compact card beside the persona; full desk only on wide desktop or landscape phones */
.gsh .lab-shoulder{display:none}
@media (max-width:1100px){
  .gsh .hero .hero-c .stage{position:relative}
  .gsh .hero .hero-c .stage .stage-peek{translate:-62px 0}
  .gsh .hero .lab-shoulder{display:grid;gap:.15rem;position:absolute;z-index:2;top:10px;left:calc(50% + 12px);width:min(210px,calc(50% - 14px));text-align:left;padding:.5rem .65rem;border:1px solid var(--gs-rule);border-radius:14px;background:color-mix(in srgb,var(--gs-raised) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 30px -18px rgba(26,29,43,.45);transform:rotate(1.5deg)}
  .gsh .hero .lab-shoulder strong{font-size:11.5px;line-height:1.25}
  .gsh .hero .lab-shoulder .lab-notif-rest{font-size:10.5px;line-height:1.3}
  .gsh .hero .lab-shoulder .lab-notif-top b{font-size:10px}
  .gsh .hero .lab-shoulder .lab-notif-top small{font-size:9.5px}
  .gsh .hero .lab-shoulder .lab-notif-ico{width:15px;height:15px;font-size:9px;border-radius:4px}
  .gsh[data-theme="dark"] .hero .lab-shoulder{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px -18px rgba(0,0,0,.75)}
  .gsh .hero .lab-dock{display:none!important}
  .gsh .hero .hero-c .lab-stage-row{display:flex;justify-content:center}
  .gsh .hero .hero-c .lab-stage-row .stage{max-width:500px;width:100%}
  .gsh .hero .lab-flank{display:none}
  /* Rotate device: prominent chip */
  .gsh .hero .stage-card .stage-bar.lab-titlebar{grid-template-columns:1fr auto 1fr}
  .gsh .hero .stage-card .lab-titlebar .lab-dots-spacer{display:none}
  .gsh .hero .lab-rotate{display:inline-flex;justify-self:end;align-items:center;gap:5px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--gs-ink) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--gs-ink) 6%,transparent);font:700 10.5px/1 var(--gs-ui);letter-spacing:.02em;text-transform:none;color:var(--gs-ink);white-space:nowrap}
  .gsh .hero .lab-rotate svg{width:13px;height:13px;animation:lab-tilt 3.2s var(--gs-ease) infinite}
}
@keyframes lab-tilt{0%,60%,100%{transform:rotate(0)}75%,90%{transform:rotate(-90deg)}}
@media (prefers-reduced-motion:reduce){.gsh .hero .lab-rotate svg{animation:none}}
@media (max-width:359px){.gsh .hero .lab-rotate{font-size:0;gap:0;padding:5px}}
/* Landscape phones: rotation unlocks the desk (2 cards per side), shoulder card + chip hide */
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){
  .gsh .hero .lab-shoulder,.gsh .hero .lab-rotate{display:none}
  .gsh .hero .hero-c .stage .stage-peek{translate:none}
  .gsh .hero .hero-c .lab-stage-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px) minmax(0,1fr);gap:14px}
  .gsh .hero .lab-flank{display:flex;flex-direction:column;justify-content:center;gap:.8rem;margin-top:0;padding:0}
  .gsh .hero .lab-flank-l{align-items:flex-end}.gsh .hero .lab-flank-r{align-items:flex-start}
  .gsh .hero .lab-prop{max-width:180px;font-size:11.5px;padding:.55rem .7rem;--x:0px;--y:0px}
  .gsh .hero .lab-prop.lab-meet,.gsh .hero .lab-ticket{display:none}
  .gsh .hero .lab-prop.lab-quirk{display:grid}
}
/* Rotate device: only on touch devices that can physically rotate (hides on desktop browsers/mouse) */
@media not ((hover:none) and (pointer:coarse)){.gsh .hero .lab-rotate{display:none}}

/* Rotate device: one neutral look per theme, never tinted by persona or time */
.gsh .hero .lab-rotate{border-color:color-mix(in srgb,var(--gs-ink) 22%,transparent);background:color-mix(in srgb,var(--gs-ink) 6%,transparent);color:var(--gs-ink)}
/* Compact portrait screens (<1024px): drop duplicate time pill, tighten vertical rhythm so CTAs clear the fold */
@media (max-width:1023px) and (not ((orientation:landscape) and (max-height:520px))){
  .gsh .hero .tpill{display:none}
  .gsh .hero .hero-h1{margin-top:.2rem;margin-bottom:.35rem}
  .gsh .hero .lab-sub1{margin-bottom:.4rem}
  .gsh .hero .hero-c .lab-stage-row{margin-top:.2rem}
}

/* Bell icon in notification badge */
.gsh .lab-notif-ico{display:inline-grid;place-items:center}
.gsh .lab-notif-ico svg{width:62%;height:62%}
/* Phones (portrait): breathing room around rotating subline + CTAs off the player */
@media (max-width:719px) and (not ((orientation:landscape) and (max-height:520px))){
  .gsh .hero .lab-sub1{margin-top:.5rem;margin-bottom:.85rem}
  .gsh .hero .hero-c .lab-ctas{margin-top:24px}
}
@media (min-width:720px) and (max-width:1023px) and (not ((orientation:landscape) and (max-height:520px))){
  .gsh .hero .lab-sub1{margin-top:.45rem;margin-bottom:.7rem}
}
/* Landscape phones: balanced 2+2 flanks, compact cards */
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){
  .gsh .hero .lab-sub1{margin-top:.3rem;margin-bottom:.5rem}
  .gsh .hero .lab-prop.lab-meet{display:grid}
  .gsh .hero .lab-prop{max-width:152px;font-size:10.5px;padding:.4rem .55rem;line-height:1.3}
  .gsh .hero .lab-prop strong{font-size:11px}
  .gsh .hero .lab-flank{gap:.55rem}
}
/* Sanity Desk: prescription pane + mobile inline accordion */
.gsh .dk-rx-tag{color:var(--gs-green-active);letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.gsh .dk-rx h3{font-size:clamp(18px,1.6vw,22px);line-height:1.3}
.gsh .dk-why{margin:0;font:400 14.5px/1.5 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .dk-rx{gap:.65rem}
.gsh .dk-inline{display:none}
@media (max-width:719px){
  .gsh .dk-inline{display:block;margin-top:.4rem;padding:.9rem .95rem;border-radius:14px;background:var(--gs-cream);border:1px solid var(--gs-rule)}
  .gsh[data-theme="dark"] .dk-inline{background:var(--gs-surface)}
  .gsh .dk-pane-rx{display:none}
  .gsh .dk-pane:has(.dk-pane-rx){display:none}
  .gsh .dk-rx h3{font-size:17px}
  .gsh .dk-why{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){.gsh .dk-inline.swap{animation:none}}

/* Desk v4: prescription docket card on the right pane */
.gsh .dk-pane-rx{width:100%}
.gsh .dk-pane-rx .dk-rx{background:var(--gs-raised);border:1px solid var(--gs-rule);border-radius:18px;padding:clamp(1rem,2vw,1.4rem);box-shadow:0 1px 0 var(--gs-rule),0 18px 36px -26px color-mix(in oklab,var(--gs-ink) 45%,transparent);gap:.7rem;justify-items:stretch}
.gsh .dk-rx-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-bottom:.65rem;border-bottom:1px dashed var(--gs-rule)}
.gsh .dk-rx-id{font-size:12px;letter-spacing:.06em;color:var(--gs-red-text,var(--gs-red));font-weight:600}
.gsh .dk-rx-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:.32rem .6rem;border-radius:999px;color:var(--gs-green-active);background:color-mix(in srgb,var(--gs-green-active) 10%,transparent);border:1px solid color-mix(in srgb,var(--gs-green-active) 25%,transparent)}
.gsh .dk-rx-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.gsh .dk-rx.is-done .dk-rx-tag::before{display:none}
.gsh[data-theme="dark"] .dk-rx-tag{color:#35BD6B;background:rgba(53,189,107,.12);border-color:rgba(53,189,107,.3)}
.gsh .dk-rx h3{margin-top:.15rem}
.gsh .dk-why{margin:0;color:var(--gs-ink-2);font-size:14.5px;line-height:1.45}
.gsh .dk-act{justify-content:flex-start;gap:.75rem;margin-top:.25rem}
.gsh .dk-act .dk-cure{margin:0;align-self:stretch;display:inline-flex;align-items:center}
.gsh .dk-note{padding-top:.55rem;border-top:1px solid var(--gs-rule)}
@media (max-width:719px){.gsh .dk-inline .dk-rx-top{padding-bottom:.5rem}.gsh .dk-act .dk-cure{align-self:center}}
.gsh .dk-rx .dk-rx-id{color:var(--gs-red-text,var(--gs-red))}
.gsh .dk-inline .dk-rx{justify-items:stretch}
@media (max-width:719px){.gsh #desk .dk-head h2 .dk-h1{display:block}}

/* Tools Direction A: browser-window chrome; light mode = white chassis, dark telemetry screen kept */
.gsh .tl-sec .tl-card{grid-template-rows:auto auto 1fr}
.gsh .tl-chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--tl-rule)}
.gsh .tl-dots{display:flex;gap:6px;flex:none}
.gsh .tl-dots i{width:10px;height:10px;border-radius:50%;background:#FF5F56}
.gsh .tl-dots i:nth-child(2){background:#FFBD2E}
.gsh .tl-dots i:nth-child(3){background:#27C93F}
.gsh .tl-url{flex:1;min-width:0;font-size:10.5px;color:var(--tl-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,var(--tl-ink) 5%,transparent);margin-right:42px}
.gsh:not([data-theme="dark"]) .tl-sec .tl-card{--tl-ink:#11131C;--tl-ink2:#5D5348;--tl-rule:rgba(17,19,28,.09);--gs-fold-ink:#11131C;--tl-bg:#FFFFFF;background:#FFFFFF!important;border:1px solid rgba(17,19,28,.1);color:#11131C;box-shadow:0 1px 2px rgba(17,19,28,.05),0 22px 44px -28px rgba(17,19,28,.3)}
.gsh:not([data-theme="dark"]) .tl-sec .tl-roi{--tl-c:#1B6B38}
.gsh:not([data-theme="dark"]) .tl-sec .tl-li{--tl-c:#485289}
.gsh:not([data-theme="dark"]) .tl-sec .tl-chrome{background:#F6F3EF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-tags b{color:#FFFFFF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-card:hover{border-color:color-mix(in srgb,var(--tl-c) 40%,transparent)}
/* keep the dark monitor's own ink inside the screen */
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen{--tl-ink:#F4F6FB;--tl-ink2:#A3ACC2;--tl-rule:rgba(255,255,255,.1);--gs-fold-ink:#F4F6FB;margin-top:10px}
.gsh:not([data-theme="dark"]) .tl-sec .tl-roi .tl-screen{--tl-c:#35BD6B}
.gsh:not([data-theme="dark"]) .tl-sec .tl-li .tl-screen{--tl-c:#7D8BDE}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen .tl-checks b{color:#35BD6B}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen .tl-checks .warn b{color:#FF7A70}
@media (max-width:420px){.gsh .tl-url{margin-right:0}}
@media (max-width:759px){.gsh .tl-sec .tl-grid{grid-template-columns:minmax(0,1fr)}}
.gsh .tl-sec .tl-card{min-width:0;grid-template-columns:minmax(0,1fr)}
.gsh .tl-chrome{min-width:0}

/* Tools Direction B (light mode): paper data screens, white cards that pop without dark tones */
.gsh:not([data-theme="dark"]) .tl-sec .tl-card{box-shadow:0 1px 3px rgba(17,19,28,.05),0 22px 44px -22px rgba(17,19,28,.18)}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen{--tl-ink:#11131C;--tl-ink2:#5D5348;--tl-rule:rgba(17,19,28,.09);--gs-fold-ink:#11131C;border-color:rgba(17,19,28,.08);background:#F6F3EF!important;background-image:linear-gradient(160deg,color-mix(in srgb,var(--tl-c) 7%,transparent),transparent 65%)!important}
.gsh:not([data-theme="dark"]) .tl-sec .tl-roi .tl-screen{--tl-c:#1B6B38}
.gsh:not([data-theme="dark"]) .tl-sec .tl-li .tl-screen{--tl-c:#485289}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen .tl-checks b{color:#1B6B38}
.gsh:not([data-theme="dark"]) .tl-sec .tl-screen .tl-checks .warn b{color:#B23A31}
.gsh:not([data-theme="dark"]) .tl-sec .tl-go{background:#11131C;color:#FFFFFF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-card:hover .tl-go{background:var(--tl-c)}

/* Tool shelf pill: frosted glass in both modes */
.gsh .tl-sec .tl-all{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 30px -20px rgba(0,0,0,.6)}
.gsh .tl-sec .tl-all:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.2)}
.gsh .tl-sec .tl-all-go,.gsh[data-theme="dark"] .tl-sec .tl-all-go{background:#F4F6FB;color:#0A0E18}
.gsh .tl-sec .tl-all:hover .tl-all-go{background:#FFFFFF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all{--tl-ink:#11131C;--tl-ink2:#5D5348;--tl-rule:rgba(17,19,28,.14);--gs-fold-ink:#11131C;color:#11131C;background:rgba(255,255,255,.78)!important;border-color:rgba(17,19,28,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 3px rgba(17,19,28,.04),0 14px 30px -18px rgba(17,19,28,.16)}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all:hover{background:rgba(255,255,255,.95)!important;border-color:rgba(17,19,28,.16)}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all-go{background:#11131C;color:#FFFFFF}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all:hover .tl-all-go{background:#1B6B38}
.gsh:not([data-theme="dark"]) .tl-sec .tl-all-slots i.on{background:#1B6B38}

/* Mobile: swipe carousel with next-card peek */
@media (max-width:759px){
  .gsh .tl-sec .tl-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:calc(var(--gs-pad,20px) * -1);padding:4px var(--gs-pad,20px) 22px;scroll-padding-inline:var(--gs-pad,20px)}
  .gsh .tl-sec .tl-grid::-webkit-scrollbar{display:none}
  .gsh .tl-sec .tl-grid>.tl-card{scroll-snap-align:start}
  .gsh .tl-sec .tl-all{margin-top:4px}
}

/* Lab: tool chrome breadcrumb (no truncation) */
.gsh .tl-sec .tl-url{font:500 12px/1.2 var(--gs-ui);letter-spacing:0;text-transform:none;color:var(--gs-ink-3);white-space:nowrap;overflow:visible;text-overflow:clip}
.gsh .tl-sec .tl-url b{font-weight:700;color:var(--gs-ink)}

/* Lab: universal CTA rule — tool CTAs use the brand gradient per theme */
.gsh .tl-sec .tl-go,.gsh .tl-sec .tl-all-go,
.gsh:not([data-theme="dark"]) .tl-sec .tl-go,.gsh:not([data-theme="dark"]) .tl-sec .tl-all-go,
.gsh[data-theme="dark"] .tl-sec .tl-go,.gsh[data-theme="dark"] .tl-sec .tl-all-go{background:var(--gs-cta-gradient);color:var(--gs-on-accent);transition:transform .2s var(--gs-ease),box-shadow .2s var(--gs-ease)}
.gsh .tl-sec .tl-card:hover .tl-go,.gsh .tl-sec .tl-all:hover .tl-all-go,
.gsh:not([data-theme="dark"]) .tl-sec .tl-card:hover .tl-go,.gsh:not([data-theme="dark"]) .tl-sec .tl-all:hover .tl-all-go{background:var(--gs-cta-gradient);box-shadow:0 8px 22px color-mix(in srgb,var(--gs-indigo) 22%,transparent)}

/* Lab: Sanity Desk tabs use each persona's first-fold colour */
.gsh .dk-seats button{--seat:#1E432A;--seat-ink:#FFFFFF}
.gsh .dk-seats button.dk-s-chase{--seat:#1E3456}
.gsh .dk-seats button.dk-s-sasha{--seat:#7F3025}
.gsh .dk-seats button.dk-s-rohan{--seat:#6B4412}
.gsh .dk-seats button.on{background:var(--seat);border-color:var(--seat);color:var(--seat-ink);box-shadow:0 6px 14px -8px var(--seat)}
.gsh[data-theme="dark"] .dk-seats button{--seat:#1C3B24;--seat-ink:#4AD17D}
.gsh[data-theme="dark"] .dk-seats button.dk-s-chase{--seat:#152945;--seat-ink:#7FB6FF}
.gsh[data-theme="dark"] .dk-seats button.dk-s-sasha{--seat:#3F1A17;--seat-ink:#FA8A75}
.gsh[data-theme="dark"] .dk-seats button.dk-s-rohan{--seat:#38230D;--seat-ink:#FFB866}
.gsh[data-theme="dark"] .dk-seats button.on{border-color:color-mix(in srgb,var(--seat-ink) 45%,transparent);box-shadow:0 0 18px -6px color-mix(in srgb,var(--seat-ink) 50%,transparent)}
.gsh .dk-seats button.on img{background:#FFFFFF}

/* Sanity Desk: browser-capsule title bar (matches Tools) + insanity meter above fires */
.gsh .dk-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:10px 14px}
.gsh .dk-bar .dots,.gsh .tl-dots{display:flex!important;gap:6px;flex:none}
.gsh .dk-bar .dots i,.gsh .tl-dots i{width:10px;height:10px}
.gsh .dk-bar .dots i:nth-child(1){background:#FF5F56}.gsh .dk-bar .dots i:nth-child(2){background:#FFBD2E}.gsh .dk-bar .dots i:nth-child(3){background:#27C93F}
.gsh .dk-bar-sp{width:42px}
.gsh .dk-title{min-width:0;justify-self:stretch;text-align:center;font:500 12.5px/1.2 var(--gs-ui);color:var(--gs-ink-2);padding:5px 12px;border-radius:99px;background:color-mix(in srgb,var(--gs-ink) 5%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .dk-title b{font-weight:700;color:var(--gs-ink)}
.gsh .dk-title span{color:var(--gs-ink-2);font-weight:500;display:inline!important}
.gsh .dk-left{display:flex;flex-direction:column;border-right:1px solid var(--gs-rule);min-width:0}
.gsh .dk-left .dk-list{border-right:0;flex:1}
.gsh .dk-lhead{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:10px 14px;border-bottom:1px solid var(--gs-rule)}
.gsh .dk-lcount{font:600 12px/1 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .dk-lcount b{color:var(--gs-ink)}
.gsh .dk-lhead .dk-idx{margin-left:0}
.gsh .dk-lhead .dk-idx strong{font-size:16px}
.gsh .dk-lhead .dk-meter i{width:14px}
@media (max-width:719px){
  .gsh .dk-bar{padding:8px 10px;gap:8px}
  .gsh .dk-bar .dots i,.gsh .tl-dots i{width:9px;height:9px}
  .gsh .dk-bar-sp{width:0}
  .gsh .dk-title{font-size:11.5px}
  .gsh .dk-left{border-right:0;border-bottom:1px solid var(--gs-rule)}
  .gsh .dk-left .dk-list{border-bottom:0}
  .gsh .dk-lhead{padding:8px 10px}
  .gsh .dk-lhead .dk-meter i{width:10px}
}

/* Desk v5: clean rx card, mobile breathing room */
/* Universal anchor clearance: any section/element with an id lands just below the floating header */
html:has(.gsh){scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html:has(.gsh){scroll-behavior:auto}}
.gsh [id]{scroll-margin-top:calc(var(--hd-h,72px) + 16px)}
@media (max-width:719px){
  .gsh .dk-sec{padding-top:calc(var(--hd-h,72px) + 8px)}
  .gsh .dk-list{gap:6px}
  .gsh .dk-fire{padding:.52rem .75rem}
  .gsh .dk-seats button{padding-top:4px;padding-bottom:4px}
}

/* Desk v5: Option A — fix card + separate impact/action card */
.gsh .dk-pane-rx .dk-rx.dk-rx2{background:none;border:0;box-shadow:none;padding:0;gap:.75rem;align-content:start}
.gsh .dk-rxcard,.gsh .dk-actcard{background:var(--gs-raised);border:1px solid var(--gs-rule);border-radius:18px;padding:clamp(1rem,2vw,1.35rem);box-shadow:0 18px 36px -26px color-mix(in oklab,var(--gs-ink) 45%,transparent);display:grid;gap:.55rem}
.gsh .dk-rx2 h3{margin:0;white-space:normal;text-wrap:balance}
.gsh .dk-rx2 .dk-why{text-wrap:pretty}
.gsh .dk-actcard .dk-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem;margin:0}
.gsh .dk-actcard .dk-act .dk-cure{align-self:center;flex:0 0 auto;margin:0;padding:.7rem 1.25rem;border-radius:999px;line-height:1;min-height:0;height:auto}
.gsh .dk-actcard .dk-note{border-top:1px solid var(--gs-rule);padding-top:.55rem}
.gsh .dk-inline .dk-rx.dk-rx2{gap:.6rem}
@media (max-width:719px){.gsh .dk-rxcard,.gsh .dk-actcard{padding:.9rem 1rem;border-radius:14px}}

/* Motion v2 — CSS only. Gliding seat pill, dealt desk cards, push-drop shoulder card, pin tack-in. */
@keyframes lab-deal{from{opacity:0;translate:0 10px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes lab-deal-l{from{opacity:0;translate:-14px 4px}to{opacity:1;translate:0 0}}
@keyframes lab-deal-r{from{opacity:0;translate:14px 4px}to{opacity:1;translate:0 0}}
@keyframes lab-push{0%{opacity:0;translate:0 -10px;scale:.96}70%{opacity:1;translate:0 1px;scale:1.01}100%{opacity:1;translate:0 0;scale:1}}
@keyframes lab-step{from{opacity:0;translate:var(--peek-x,0px) 8px}to{opacity:1;translate:var(--peek-x,0px) 0}}
@keyframes lab-tack{0%{translate:0 -.35em;rotate:-14deg;opacity:0}55%{translate:0 .04em;rotate:3deg;opacity:1}75%{translate:0 -.02em;rotate:-1deg}100%{translate:0 0;rotate:0deg;opacity:1}}
.gsh .hero .lab-flank .lab-prop.swap{animation:lab-deal .55s cubic-bezier(.22,1,.36,1) both}
.gsh .hero .lab-flank-l .lab-prop.swap{animation-name:lab-deal-l}
.gsh .hero .lab-flank-r .lab-prop.swap{animation-name:lab-deal-r}
.gsh .hero .lab-flank-l .lab-prop:nth-child(2){animation-delay:.06s}
.gsh .hero .lab-flank-l .lab-prop:nth-child(3){animation-delay:.12s}
.gsh .hero .lab-flank-r .lab-prop:nth-child(1){animation-delay:.09s}
.gsh .hero .lab-flank-r .lab-prop:nth-child(2){animation-delay:.15s}
.gsh .hero .lab-flank-r .lab-prop:nth-child(3){animation-delay:.21s}
.gsh .hero .lab-shoulder.swap{animation:lab-push .45s cubic-bezier(.22,1,.36,1) .12s both}
.gsh .hero .stage-peek.swap{animation:lab-step .4s cubic-bezier(.22,1,.36,1) both}
@media (max-width:1100px){.gsh .hero .hero-c .stage .stage-peek{--peek-x:-62px;translate:var(--peek-x) 0}}
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){.gsh .hero .hero-c .stage .stage-peek{--peek-x:0px;translate:none}}
.gsh .hero .hpill .hpin{animation:lab-tack .6s cubic-bezier(.22,1,.36,1) .15s both;transform-origin:50% 90%}
/* Seat pill glides between personas instead of snapping */
.gsh .hero .stage-card .lab-seats{--pad:4px;--gap:4px;position:relative;isolation:isolate}
.gsh .hero .stage-card .lab-seats::before{content:"";position:absolute;z-index:-1;top:var(--pad);bottom:var(--pad);left:var(--pad);width:calc((100% - 2 * var(--pad) - 3 * var(--gap)) / 4);border-radius:10px;background:var(--pill,#1E432A);box-shadow:0 6px 14px -8px var(--pill,#1E432A);translate:calc(var(--i,0) * (100% + var(--gap))) 0;transition:translate .45s cubic-bezier(.22,1,.36,1),background-color .35s var(--gs-ease),box-shadow .35s var(--gs-ease)}
.gsh .hero .stage-card .lab-seats[data-who="chase"]{--pill:#1E3456}
.gsh .hero .stage-card .lab-seats[data-who="maya"]{--pill:#7F3025}
.gsh .hero .stage-card .lab-seats[data-who="rohan"]{--pill:#6B4412}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats,.gsh .hero[data-stop="2"] .stage-card .lab-seats,.gsh .hero[data-stop="3"] .stage-card .lab-seats{--pill:#1C3B24}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats[data-who="chase"],.gsh .hero[data-stop="2"] .stage-card .lab-seats[data-who="chase"],.gsh .hero[data-stop="3"] .stage-card .lab-seats[data-who="chase"]{--pill:#152945}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats[data-who="maya"],.gsh .hero[data-stop="2"] .stage-card .lab-seats[data-who="maya"],.gsh .hero[data-stop="3"] .stage-card .lab-seats[data-who="maya"]{--pill:#3F1A17}
.gsh[data-theme="dark"] .hero .stage-card .lab-seats[data-who="rohan"],.gsh .hero[data-stop="2"] .stage-card .lab-seats[data-who="rohan"],.gsh .hero[data-stop="3"] .stage-card .lab-seats[data-who="rohan"]{--pill:#38230D}
.gsh .hero .stage-card .lab-seats button,.gsh .hero .stage-card .lab-seats button[aria-pressed="true"]{background:transparent!important;box-shadow:none!important;transition:color .3s var(--gs-ease)}
@media (max-width:719px){.gsh .hero .stage-card .lab-seats{--pad:3px;--gap:3px}}
@media (prefers-reduced-motion:reduce){
  .gsh .hero .lab-flank .lab-prop.swap,.gsh .hero .lab-shoulder.swap,.gsh .hero .stage-peek.swap,.gsh .hero .hpill .hpin{animation:none}
  .gsh .hero .stage-card .lab-seats::before{transition:none}
}

/* Landscape phones v2: panoramic desk — airy flanks, slim header, whole fold in view */
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){
  .gsh{--hd-h:54px}
  .gsh .hd{padding-top:6px}
  .gsh .hd-in{padding-top:6px;padding-bottom:6px}
  .gsh .hd + .hero{padding-top:calc(var(--hd-h) + .5rem);padding-bottom:1rem}
  .gsh .hero .tpill{display:none}
  .gsh .hero .hero-h1{font-size:clamp(22px,3.4vw,30px);line-height:1.12;margin:0 0 .2rem}
  .gsh .hero .lab-sub1{margin-top:.15rem;margin-bottom:.35rem}
  .gsh .hero .hero-c .stage .stage-peek{width:clamp(72px,19vh,92px)}
  .gsh .hero .hero-c .lab-stage-row{grid-template-columns:minmax(0,1fr) minmax(320px,380px) minmax(0,1fr);gap:clamp(24px,3.5vw,40px);margin-top:.25rem}
  .gsh .hero .lab-flank{justify-content:space-evenly;gap:.9rem}
  .gsh .hero .lab-flank-l,.gsh .hero .lab-flank-r{align-items:center}
  .gsh .hero .lab-prop{max-width:164px;width:100%}
  .gsh .hero .lab-flank-l .lab-prop:nth-child(odd){translate:-6px 0}
  .gsh .hero .lab-flank-r .lab-prop:nth-child(even){translate:6px 0}
  .gsh .hero .hero-c .lab-ctas{margin-top:.9rem}
}
@media (orientation:landscape) and (max-height:520px) and (min-width:640px) and (max-width:780px){
  .gsh .hero .wrap.hero-c{padding-inline:12px}
  .gsh .hero .hero-c .lab-stage-row{grid-template-columns:minmax(0,1fr) minmax(300px,330px) minmax(0,1fr);gap:14px}
  .gsh .hero .lab-prop{max-width:100%;font-size:10px}
  .gsh .hero .lab-flank-l .lab-prop,.gsh .hero .lab-flank-r .lab-prop{translate:none}
}
/* Small landscape phones (<720px wide): card styles don't exist here, so keep the clean centered desk */
@media (orientation:landscape) and (max-height:520px) and (min-width:640px) and (max-width:719px){
  .gsh .hero .hero-c .lab-stage-row{display:flex;justify-content:center}
  .gsh .hero .hero-c .lab-stage-row .stage{max-width:420px;width:100%}
  .gsh .hero .lab-flank{display:none}
}

/* Desk v6: shared status shelf (meter on the right) + severity pill beside ticket ID */
.gsh .dk-shelf{padding:10px 16px}
.gsh .dk-shelf .dk-idx strong{font-size:18px}
.gsh .dk-shelf .dk-meter i{width:16px}
.gsh .dk-fire-top{justify-content:flex-start;gap:8px}

/* Landscape phones: Sanity Desk + Tools fit a panoramic view (portrait/desktop untouched) */
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){
  .gsh .sec.dk-sec,.gsh .sec.tl-sec{padding-top:32px!important;padding-bottom:32px!important}
  .gsh .tl-sec .tl-screen{padding:8px 12px}
  .gsh .tl-sec .tl-stats b,.gsh .tl-sec .tl-checks b{font-size:17px}
  .gsh .dk-head,.gsh .tl-head{margin-bottom:14px}
  .gsh .dk-head h2,.gsh .tl-head h2{font-size:clamp(22px,3.2vw,28px);line-height:1.15}
  .gsh .dk-head p{font-size:13.5px;margin-top:4px}
  .gsh .dk-bar{padding:6px 12px}
  .gsh .dk-seats{padding:6px 10px;gap:6px}
  .gsh .dk-seats button{padding:4px 10px 4px 4px}
  .gsh .dk-seats img{width:28px;height:28px}
  .gsh .dk-shelf{padding:7px 14px}
  .gsh .dk-shelf .dk-idx strong{font-size:16px}
  .gsh .dk-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gsh .dk-left{border-right:1px solid var(--gs-rule);border-bottom:0}
  .gsh .dk-list{padding:8px;gap:6px}
  .gsh .dk-fire{padding:.5rem .75rem;gap:.25rem}
  .gsh .dk-t{font-size:13.5px}
  .gsh .dk-inline{display:none}
  .gsh .dk-pane,.gsh .dk-pane:has(.dk-pane-rx){display:block;min-height:0;padding:10px}
  .gsh .dk-pane-rx{display:block}
  .gsh .dk-seats img{width:28px;height:28px}
  .gsh .seat-last{display:inline}
  .gsh .tl-sec .tl-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr 1fr;gap:14px;overflow:visible;margin-inline:auto;padding:0}
  .gsh .tl-sec .tl-grid>.tl-card{scroll-snap-align:none}
  .gsh .tl-card{width:auto;min-width:0}
  .gsh .tl-screen{padding:10px 12px}
  .gsh .tl-body{padding:12px 14px 14px}
  .gsh .tl-body h3{font-size:19px}
  .gsh .tl-d{font-size:13px;line-height:1.45}
  .gsh .tl-all{margin-top:12px;padding:8px 12px}
}

/* Desk: one size for every persona (Felix/Sasha baseline) */
.gsh .dk-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .dk-rxcard{min-height:calc(23px*1.25 + 15px*1.5*2 + .55rem + 2*clamp(1rem,2vw,1.35rem))}
.gsh .dk-rxcard{align-content:start}
@media (min-width:720px){.gsh .dk-pane{min-height:420px}}
@media (max-width:719px){.gsh .dk-rxcard{min-height:0}.gsh .dk-why{min-height:2.9em}}
@media (orientation:landscape) and (max-height:520px) and (min-width:640px){.gsh .dk-pane{min-height:0}.gsh .dk-rxcard{min-height:0}.gsh .dk-why{min-height:2.9em}}
@media (max-width:719px){.gsh .dk-actcard .dk-act{flex-wrap:nowrap;gap:.6rem}.gsh .dk-actcard .dk-chipstat{min-width:0}.gsh .dk-actcard .dk-delta{font-size:17px;gap:.35rem;white-space:nowrap}.gsh .dk-actcard .dk-act .dk-cure{padding:.65rem 1rem}}
@media (max-width:719px){.gsh .dk-actcard .dk-chipstat .mono{white-space:nowrap;font-size:10px;letter-spacing:.06em}.gsh .dk-inline .dk-rxcard h3{min-height:2.5em}}
@media (max-width:380px){.gsh .dk-inline .dk-rxcard h3{font-size:16px;min-height:0}.gsh .dk-actcard .dk-delta{font-size:15px}.gsh .dk-actcard .dk-chipstat{padding:.45rem .6rem}.gsh .dk-actcard .dk-act .dk-cure{padding:.6rem .85rem;font-size:14px}}

/* About kicker: breathing // (CSS only) */
.ab-kicker .ab-slash{display:inline-block;font-weight:700;animation:abSlash 2.4s ease-in-out infinite}
@keyframes abSlash{0%,100%{opacity:.4}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ab-kicker .ab-slash{animation:none;opacity:1}}

@keyframes abRest{0%,42%{max-width:5em;opacity:1}50%,92%{max-width:0;opacity:0}100%{max-width:5em;opacity:1}}

/* Living terminal prompt: reusable on mono kickers (not dense data rows) */
.gs-cursor{display:inline-block;width:.6em;height:1.05em;margin-left:.3em;vertical-align:-.18em;background:var(--gs-green);animation:gsBlink 1.1s steps(1) infinite}
@keyframes gsBlink{0%,55%{opacity:1}56%,100%{opacity:0}}
.gs-scan{animation:gsScan 5s ease-in-out infinite}
.gs-scan-2{animation-delay:.5s}
@keyframes gsScan{0%,82%,100%{text-shadow:none}90%{text-shadow:0 0 .55em color-mix(in srgb,var(--gs-green) 70%,transparent)}}
@media (prefers-reduced-motion:reduce){.gs-cursor,.gs-scan{animation:none}}
@keyframes abPin{0%,42%{transform:none}45%{transform:translateY(-4px) rotate(-25deg)}48%{transform:translateY(1px) rotate(4deg)}51%,92%{transform:none}96%{transform:rotate(-8deg)}100%{transform:none}}

/* Operator card page (/card) */
.gsh .lab-card-sec h1{font-size:clamp(30px,4vw,48px);line-height:1.05}
.gsh .lab-card-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-ink-3)}
.gsh.gs-card-page #card{min-height:calc(100svh - var(--hd-h,74px) - 3rem);display:flex;align-items:center}
.gsh.gs-card-page #card .wrap{width:100%}
.gsh .gs-card-back{text-align:center;margin:0;padding:0 0 2.5rem;font-size:12px}
.gsh .gs-card-back a{color:var(--gs-indigo);text-decoration:none}
.gsh .gs-card-back a:hover{text-decoration:underline}

/* World clocks: the "2 mins" ping each city is getting right now */
.gsh .clock .lab-ck-msg{margin:.85rem 0 0;padding-top:.75rem;border-top:1px dashed color-mix(in srgb,var(--gs-ink-2) 30%,transparent);font-family:"Libre Caslon Text",Georgia,serif;font-style:italic;font-size:15px;line-height:1.4;color:var(--gs-ink-2);min-height:4.2em;text-wrap:pretty}

/* World clocks v6: font roles (mono meta, Helvetica time + quote, Caslon italic accent) and tap-to-flip */
.gsh .lab-ck-hint{margin:.6rem 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-ink-3)}
.gsh .lab-clock-sec .clock .tm{font-family:var(--gs-head);font-weight:700;letter-spacing:-.01em}
.gsh .lab-clock-sec .clock .st{font-family:var(--gs-mono)}
.gsh .lab-ck-flip{all:unset;box-sizing:border-box;cursor:pointer;display:grid;margin-top:.75rem;padding-top:.7rem;border-top:1px dashed color-mix(in srgb,var(--gs-ink-2) 30%,transparent);min-height:6.4em;width:100%}
.gsh .lab-ck-flip:focus-visible{outline:2px solid var(--gs-green-active,#1B6B38);outline-offset:4px;border-radius:6px}
.gsh .lab-ck-face{grid-area:1/1;display:flex;flex-direction:column;gap:5px;transition:opacity .25s ease,transform .25s ease}
.gsh .lab-ck-back{opacity:0;transform:translateY(6px);pointer-events:none}
.gsh .clock.is-flip .lab-ck-front{opacity:0;transform:translateY(-6px)}
.gsh .clock.is-flip .lab-ck-back{opacity:1;transform:none}
.gsh .lab-ck-k{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-ink-3)}
.gsh .lab-ck-k::after{content:" ↻";opacity:.6}
.gsh .lab-ck-q{font:700 14px/1.35 var(--gs-head);color:var(--gs-ink);text-wrap:pretty}
.gsh .lab-ck-q em.i{font:italic 400 14.5px/1.35 "Libre Caslon Text",Georgia,serif;color:var(--gs-green)}
.gsh[data-theme="dark"] .lab-ck-q em.i{color:#35BD6B}
.gsh .lab-ck-copy{align-self:flex-start;margin-top:4px;padding:5px 10px;border-radius:999px;border:1px solid var(--gs-rule);background:transparent;color:var(--gs-ink);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.gsh .lab-ck-copy:hover{border-color:var(--gs-green-active,#1B6B38);color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-ck-copy:hover{border-color:#35BD6B;color:#35BD6B}
@media(max-width:719px){.gsh .lab-ck-q,.gsh .lab-ck-q em.i{font-size:13px}.gsh .lab-ck-flip{min-height:7.2em}}
@media(prefers-reduced-motion:reduce){.gsh .lab-ck-face{transition:none;transform:none!important}}

/* Lab: lower folds share one browser-window frame (Shelf, Community, Close) */
.gsh .lw{border:1px solid var(--gs-rule);border-radius:28px;overflow:hidden;background:var(--gs-raised);box-shadow:0 30px 60px -40px rgba(27,30,44,.35)}
.gsh .lw-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--gs-rule);background:var(--gs-surface,#F2ECE4);min-width:0}
.gsh[data-theme="dark"] .lw-bar{background:rgba(255,255,255,.04)}
.gsh .lw-tab{font:600 12px/1 var(--gs-ui);padding:7px 12px;border-radius:9px 9px 0 0;background:var(--gs-raised);border:1px solid var(--gs-rule);border-bottom:0;margin-bottom:-11px;white-space:nowrap}
.gsh .lw-url{flex:1;min-width:0;font:500 12px/1 var(--gs-ui);color:var(--gs-ink-2);padding:7px 12px;border-radius:999px;border:1px solid var(--gs-rule);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gsh .lw-body{padding:clamp(1rem,2.4vw,1.8rem)}
.gsh .lw-body.grid .pcard{border-radius:20px}
.gsh .lw-bench{margin-top:clamp(2.5rem,6vw,4.5rem)}
.gsh .lw-bench .bench{border:0;border-radius:0}
@media (max-width:640px){.gsh .lw{border-radius:20px}.gsh .lw-tab{display:none}}

/* Desk v7: inbox (left, persona accent) + chat reply (right, you are the sender) */
.gsh .dk{--pc:#1E432A}
.gsh .dk.dk-chase{--pc:#1E3456}.gsh .dk.dk-sasha{--pc:#7F3025}.gsh .dk.dk-rohan{--pc:#6B4412}
.gsh[data-theme="dark"] .dk{--pc:#4ADE80}
.gsh[data-theme="dark"] .dk.dk-chase{--pc:#60A5FA}.gsh[data-theme="dark"] .dk.dk-sasha{--pc:#FB7185}.gsh[data-theme="dark"] .dk.dk-rohan{--pc:#FBBF24}
.gsh .dk-fire{border-radius:12px;overflow:hidden;background:var(--gs-raised)}
.gsh .dk-fire::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:color-mix(in srgb,var(--pc) 22%,transparent);transition:background .25s}
.gsh .dk-fire:hover::before,.gsh .dk-fire.sel::before{background:var(--pc)}
.gsh .dk-fire.sel{box-shadow:none;border-color:var(--gs-ink);background:color-mix(in srgb,var(--pc) 5%,var(--gs-raised))}
.gsh .dk-id{color:var(--pc)}
.gsh .dk-id::before{background:var(--pc);animation:none}
.gsh .dk-fire.sel .dk-id::before{animation:dk-ember 1.8s ease-in-out infinite}
.gsh .dk-ts{margin-left:auto;font:500 11px/1 var(--gs-mono);color:var(--gs-ink-3);letter-spacing:.02em}
.gsh .dk-fire.done::before,.gsh .dk-fire.done.sel::before{background:var(--gs-green-active)}
.gsh .dk-fire.done.sel{box-shadow:none}
/* chat reply */
.gsh .dk-chat{gap:.7rem}
.gsh .dk-chat-hd{display:flex;align-items:center;gap:10px}
.gsh .dk-chat-av{flex:0 0 auto;width:34px;height:34px;border-radius:9px;overflow:hidden;background:var(--gs-surface-2);box-shadow:0 0 0 2px var(--pc)}
.gsh .dk-chat-av img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.gsh .dk-chat-who{display:grid;gap:2px;min-width:0}
.gsh .dk-chat-who b{font:700 14px/1.1 var(--gs-ui);color:var(--gs-ink)}
.gsh .dk-chat-who small{font:500 11px/1.2 var(--gs-mono);color:var(--gs-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh .dk-chat-ts{margin-left:auto;white-space:nowrap;font:500 11px/1 var(--gs-mono);color:var(--gs-ink-3)}
.gsh .dk-chat-body{display:grid;gap:.4rem;padding-left:44px}
.gsh .dk-chat-rx{justify-self:start;margin-left:44px;font:600 11.5px/1 var(--gs-ui);padding:5px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--pc) 35%,transparent);background:color-mix(in srgb,var(--pc) 8%,transparent);color:var(--gs-ink-2)}
@media (max-width:719px){.gsh .dk-chat-who small{white-space:normal}.gsh .dk-chat-body{padding-left:0}.gsh .dk-chat-rx{margin-left:0}.gsh .dk-chat-av{width:28px;height:28px;font-size:10px}}
@media (prefers-reduced-motion:reduce){.gsh .dk-fire.sel .dk-id::before{animation:none}}

/* Header v2: The Shelf dropdown + icon theme toggle + mobile drawer */
.gsh .nav{align-items:center}
.gsh .tico{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:999px;border:1px solid var(--gs-rule);background:transparent;color:var(--gs-ink);cursor:pointer;transition:background-color .2s,border-color .2s}
.gsh .tico:hover{background:var(--gs-surface)}
.gsh .tico:focus-visible,.gsh .shf-dd summary:focus-visible{outline:2px solid var(--gs-indigo);outline-offset:2px}
.gsh .shf-dd{position:relative}
.gsh .shf-dd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:var(--gs-ink-2);border-radius:999px}
.gsh .shf-dd summary::-webkit-details-marker{display:none}
.gsh .shf-dd summary:hover,.gsh .shf-dd[open] summary{color:var(--gs-ink)}
.gsh .shf-dd summary svg{transition:transform .2s}
.gsh .shf-dd[open] summary svg{transform:rotate(180deg)}
.gsh .shf-dd .shf{position:absolute;top:calc(100% + 22px);left:50%;width:min(560px,90vw);transform:translateX(-50%);animation:shfIn .18s var(--gs-ease,ease) both}
@keyframes shfIn{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.gsh .shf{border:1px solid rgba(26,29,43,.1);border-radius:22px;background:color-mix(in srgb,var(--gs-ground) 97%,transparent);backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 20px 50px -18px rgba(26,29,43,.35),inset 0 1px 0 rgba(255,255,255,.75);overflow:hidden;text-align:left}
.gsh[data-theme="dark"] .shf{border-color:rgba(255,255,255,.12);box-shadow:0 20px 50px -18px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1)}
.gsh .shf-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--gs-rule);font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;color:var(--gs-ink-3)}
.gsh .shf-dots{display:inline-flex;gap:5px}
.gsh .shf-dots i{width:9px;height:9px;border-radius:50%;background:#FF5F56}
.gsh .shf-dots i:nth-child(2){background:#FFBD2E}.gsh .shf-dots i:nth-child(3){background:#27C93F}
.gsh .shf-cols{display:grid;grid-template-columns:1fr 1fr}
.gsh .shf-g{display:grid;align-content:start;gap:2px;padding:14px 10px}
.gsh .shf-cols .shf-g+.shf-g{border-left:1px solid var(--gs-rule)}
.gsh .shf-sp{border-top:1px solid var(--gs-rule)}
.gsh .shf-h{display:flex;gap:8px;padding:0 8px 6px;font:500 10.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-3)}
.gsh .shf-h b{color:var(--wm-g,#173D24)}
.gsh[data-theme="dark"] .shf-h b{color:#35BD6B}
.gsh .shf-i{display:grid;gap:3px;padding:9px 8px;border-radius:12px;text-decoration:none;color:var(--gs-ink)}
.gsh a.shf-i:hover{background:color-mix(in srgb,var(--gs-ink) 5%,transparent)}
.gsh .shf-i b{font:600 14px/1.25 var(--gs-ui)}
.gsh .shf-i small{font:400 12.5px/1.35 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .shf-off b{color:var(--gs-ink-2)}
.gsh .shf-soon{display:inline-block;margin-left:6px;padding:3px 7px;border:1px solid var(--gs-rule);border-radius:999px;font:500 10px/1 "JetBrains Mono",ui-monospace,monospace;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--gs-ink-3);vertical-align:2px}
.gsh .shf-all{display:flex;justify-content:space-between;padding:13px 18px;border-top:1px solid var(--gs-rule);background:color-mix(in srgb,var(--gs-ink) 3%,transparent);font:600 13.5px/1 var(--gs-ui);color:var(--gs-ink);text-decoration:none}
.gsh .shf-all:hover{background:color-mix(in srgb,var(--gs-ink) 7%,transparent)}
/* mobile drawer */
.gsh .lab-mnav-panel{min-width:min(320px,calc(100vw - 32px));gap:6px;padding:8px;border-radius:20px;background:color-mix(in srgb,var(--gs-ground) 98%,transparent);backdrop-filter:blur(20px) saturate(1.4)}
.gsh .shf-m{border-radius:14px;box-shadow:none;background:color-mix(in srgb,var(--gs-ink) 3%,transparent)}
.gsh .shf-lbl{display:block;padding:12px 14px 2px;font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gs-ink)}
.gsh .shf-m .shf-cols{grid-template-columns:1fr}
.gsh .shf-m .shf-cols .shf-g+.shf-g{border-left:0;border-top:1px solid var(--gs-rule)}
.gsh .shf-m .shf-g{padding:10px 6px}
.gsh .lab-mnav-panel .shf-i{padding:9px 8px}
.gsh .lab-mnav-panel .mn-a{padding:13px 14px}
.gsh .lab-mnav-panel .mn-cta{display:flex;justify-content:center;padding:13px 14px;color:var(--gs-ground)}
.gsh .lab-mnav-panel .mn-cta:hover{background:var(--gs-ink)}
@media(max-width:720px){.gsh .tico{margin-left:auto}.gsh .hd-in .lab-mnav-panel .btn{display:flex}}
@media(prefers-reduced-motion:reduce){.gsh .shf-dd .shf{animation:none}.gsh .shf-dd summary svg{transition:none}}

/* Header v3: segmented sun/moon pill + opaque shelf dropdown with pillar accents */
.gsh .tico{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;width:60px;height:32px;padding:2px;place-items:stretch;border-radius:999px;border:1px solid var(--gs-rule);background:transparent}
.gsh .tico:hover{background:transparent}
.gsh .tico::before{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:999px;background:var(--gs-ink);transition:transform .25s var(--gs-ease,ease)}
.gsh .tico.is-dark::before{transform:translateX(28px)}
.gsh .tico button{position:relative;z-index:1;display:grid;place-items:center;border:0;background:none;padding:0;border-radius:999px;color:var(--gs-ink-2);cursor:pointer;transition:color .2s}
.gsh .tico button[aria-pressed="true"]{color:var(--gs-ground)}
.gsh .tico button:focus-visible{outline:2px solid var(--gs-indigo);outline-offset:2px}
.gsh .shf-dd .shf{z-index:90}
.gsh .shf{background:#FFFFFF;backdrop-filter:none;box-shadow:0 24px 60px -16px rgba(10,12,20,.28)}
.gsh[data-theme="dark"] .shf{background:#141721}
.gsh .lab-mnav-panel .shf-m{background:color-mix(in srgb,var(--gs-ink) 3%,transparent)}
.gsh .shf-g{--sa:#1B6B38}
.gsh .shf-cols .shf-g:nth-child(2){--sa:#B24A32}
.gsh .shf-sp{--sa:#1E3456}
.gsh[data-theme="dark"] .shf-g{--sa:#35BD6B}
.gsh[data-theme="dark"] .shf-cols .shf-g:nth-child(2){--sa:#FF8A65}
.gsh[data-theme="dark"] .shf-sp{--sa:#7FB2F0}
.gsh .shf-h{align-items:center;color:var(--gs-ink-2)}
.gsh .shf-h b,.gsh[data-theme="dark"] .shf-h b{color:var(--sa);padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--sa) 12%,transparent)}
.gsh .shf-i{position:relative}
.gsh .shf-i b{font:700 15px/1.25 var(--gs-head);font-style:normal;letter-spacing:-.005em;color:var(--gs-ink)}
.gsh .shf-off b{color:var(--gs-ink-2)}
.gsh a.shf-i:hover{background:color-mix(in srgb,var(--sa) 8%,transparent)}
.gsh a.shf-i:hover b{color:var(--sa)}
.gsh .shf-all{font:700 14px/1 var(--gs-head)}
.gsh .btn,.gsh .nav{font-family:var(--gs-head)}
.gsh .nav{font-weight:700}
@media(prefers-reduced-motion:reduce){.gsh .tico::before{transition:none}}

/* Instant theme flip: every colour swaps in one frame (class set for one frame by ThemeIcon) */
html.gs-flip .gsh,html.gs-flip .gsh *{transition:none!important}
.gsh .lab-mnav-panel{background:var(--gs-ground);box-shadow:0 24px 60px -16px rgba(10,12,20,.28)}

/* Lab byline (dark): Acquret mark filled with the CTA gradient via the official white PNG as a mask; "by" in white */
.gsh[data-theme="dark"] .wm{--wm-by:#FFFFFF}
.gsh .wm .wm-grad{width:43px;height:12px;background:var(--gs-cta-gradient);-webkit-mask:url("/assets/acquret-logo-white.png") no-repeat left center/contain;mask:url("/assets/acquret-logo-white.png") no-repeat left center/contain}

/* Pill CTAs: Helvetica Neue Bold everywhere; gradient pills use --gs-on-accent (white light / near-black dark) */
.gsh .btn{font-family:var(--gs-head);font-weight:700;letter-spacing:-.01em}
.gsh .btn-solid{color:var(--gs-on-accent)}

/* Hero time kicker: pill-free JetBrains Mono status line with living cursor */
.gsh .hero .tpill.tkick{border:0;padding:0;gap:.6em;background:none;font:500 11.5px/1 var(--gs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--h-ink-2,var(--gs-ink-3))}
.gsh .hero .tpill.tkick b{background:none;padding:0;border-radius:0;font:700 11.5px/1 var(--gs-mono);letter-spacing:.12em;color:var(--h-ink,var(--gs-ink))}
.gsh .hero .tpill.tkick i{font-style:normal;color:var(--gs-green)}
.gsh .hero .tpill.tkick .gs-cursor{margin-left:.1em;height:1.1em;vertical-align:-.2em}

/* Desktop hero: pull flank cards in toward the desk so the whole fold reads at a glance */
@media (min-width:1321px){
  .gsh .hero .hero-c .lab-stage-row{max-width:1240px;margin-inline:auto;grid-template-columns:1fr minmax(400px,460px) 1fr;gap:clamp(40px,3.6vw,60px)}
  .gsh .hero .lab-flank-l{align-items:flex-end}
  .gsh .hero .lab-flank-r{align-items:flex-start}
  .gsh .hero .lab-meet{--x:-24px}
  .gsh .hero .lab-invite{--x:-10px}
  .gsh .hero .lab-dm{--x:4px}
  .gsh .hero .lab-quirk{--x:16px}
  .gsh .hero .lab-flank-r .lab-sticky{--x:12px}
  .gsh .hero .lab-ticket{--x:20px}
  .gsh .hero .lab-flank{margin-top:-24px;padding-bottom:1.5rem}
}

/* Shelf dropdown: neutral badges + CTA-gradient wash on hover (both modes) */
.gsh .shf-g,.gsh .shf-cols .shf-g:nth-child(2),.gsh .shf-sp{--sa:var(--gs-ink-2)}
.gsh .shf-h b,.gsh[data-theme="dark"] .shf-h b{color:var(--gs-ink-2);background:var(--gs-surface)}
.gsh[data-theme="dark"] .shf-h b{background:rgba(255,255,255,.06)}
.gsh a.shf-i{border:1px solid transparent}
.gsh a.shf-i:hover{background:linear-gradient(120deg,color-mix(in srgb,var(--gs-indigo) 9%,transparent),color-mix(in srgb,var(--gs-green) 9%,transparent));border-color:color-mix(in srgb,var(--gs-indigo) 18%,transparent)}
.gsh a.shf-i:hover b{color:var(--gs-ink)}

/* Pill CTAs: arrows are one inline SVG (Arrow component), laid out inline so text + arrow stay centred */
.gsh .btn,.gs-btn{display:inline-flex;align-items:center;justify-content:center}
.gsh .btn,.gs-btn{gap:.5em}
.gsh .btn .gs-arr,.gs-btn .gs-arr{margin:0!important}

/* Desk v7: whole fold fits one laptop screen; mobile accordion without dead space */
@media (min-width:720px){
  .gsh section.sec.dk-sec{padding-top:clamp(14px,2.2vh,28px)!important;padding-bottom:clamp(14px,2.2vh,28px)!important}
  .gsh .dk-head{margin-bottom:clamp(10px,1.6vh,18px)}
  .gsh .dk-head h2{font-size:clamp(26px,min(3.6vw,4.6vh),42px)}
  .gsh .dk-bar{padding:.5rem 1rem}
  .gsh .dk-seats{padding:6px}
  .gsh .dk-seats button{padding:4px 10px 4px 4px}
  .gsh .dk-seats img{width:34px;height:34px}
  .gsh .dk-shelf{padding:7px 14px}
  .gsh .dk-list{padding:10px;gap:6px}
  .gsh .dk-fire{padding:.5rem .85rem;gap:.25rem}
  .gsh .dk-t{font-size:14.5px}
  .gsh .dk-pane{min-height:clamp(300px,40vh,380px);padding:clamp(.8rem,1.8vh,1.2rem) clamp(1rem,2vw,1.6rem)}
  .gsh .dk-rxcard,.gsh .dk-actcard{padding:.85rem 1.1rem}
  .gsh .dk-rx.dk-rx2{gap:.6rem}
}
@media (max-width:719px){
  .gsh .dk-inline{padding:.55rem .6rem;margin-top:.35rem}
  .gsh .dk-rxcard,.gsh .dk-actcard{padding:.7rem .8rem}
  .gsh .dk-inline .dk-rxcard h3{min-height:0}
  .gsh .dk-why{min-height:0}
  .gsh .dk-inline .dk-rx.dk-rx2{gap:.45rem}
  .gsh .dk-chat{gap:.45rem}
  .gsh .dk-chat-body{gap:.25rem}
}

/* Hero cards: mono = source, Helvetica = headline, Grotesk = body */
.gsh .lab-dm-who b{font-family:var(--gs-head);font-weight:700}
.gsh .lab-dm-who small{font-family:var(--gs-mono);letter-spacing:.04em}
.gsh .lab-notif-top b{font-family:var(--gs-mono);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}
.gsh .lab-notif strong{font-family:var(--gs-head);font-weight:700}
.gsh .lab-notif-rest,.gsh .lab-dm p{font-family:var(--gs-ui)}
@media (max-width:719px){.gsh .dk-inline .dk-rx2 .dk-rxcard h3,.gsh .dk-inline .dk-rx2 .dk-why{min-height:0!important;margin:0}}
@media(max-width:719px){.gsh .lab-clock-sec .clocks{grid-auto-rows:auto}.gsh .lab-clock-sec .clock .st{margin-top:0}.gsh .lab-clock-sec .clock{height:auto}.gsh .lab-ck-flip{min-height:0}}

/* World clocks v3 — Option A telemetry tile: whole card flips, no status pill, fixed rhythm */
.gsh .lab-clock-sec .clock.lab-ck-card{cursor:pointer;display:flex;flex-direction:column;height:auto;transition:border-color .2s ease,transform .2s ease}
.gsh .lab-clock-sec .clock.lab-ck-card:hover{border-color:color-mix(in srgb,var(--gs-green-active,#1B6B38) 55%,transparent)}
.gsh[data-theme="dark"] .lab-clock-sec .clock.lab-ck-card:hover{border-color:rgba(53,189,107,.55)}
.gsh .lab-clock-sec .clock.lab-ck-card:focus-visible{outline:2px solid var(--gs-green-active,#1B6B38);outline-offset:3px}
.gsh .lab-clock-sec .clock.lab-ck-card .st{display:none}
.gsh .lab-ck-card .lab-ck-flip{display:grid;cursor:inherit;margin-top:.8rem;padding-top:.8rem;min-height:0;flex:1}
.gsh .lab-ck-card .lab-ck-face{gap:0;transition:opacity .28s cubic-bezier(.4,0,.2,1)}
.gsh .lab-ck-card .lab-ck-back,.gsh .lab-ck-card.is-flip .lab-ck-front{transform:none}
.gsh .lab-ck-card .lab-ck-k{margin-bottom:8px;letter-spacing:.14em}
.gsh .lab-ck-card .lab-ck-q{font:700 14px/1.45 var(--gs-head);min-height:2.9em;text-wrap:balance}
.gsh .lab-ck-card .lab-ck-front .lab-ck-q{min-height:4.35em}
.gsh .lab-ck-acc{display:block;margin-top:8px;font:italic 400 13.5px/1.3 "Libre Caslon Text",Georgia,serif;color:var(--gs-green-active,#1B6B38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsh[data-theme="dark"] .lab-ck-acc{color:#35BD6B}
.gsh .lab-ck-card .lab-ck-copy{margin-top:10px}
.gsh .lab-ck-card:not(.is-flip) .lab-ck-copy{visibility:hidden}
@media(max-width:719px){.gsh .lab-ck-card .lab-ck-q{font-size:13px}.gsh .lab-ck-acc{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.gsh .lab-ck-card .lab-ck-face,.gsh .lab-clock-sec .clock.lab-ck-card{transition:none}}
.gsh .lab-clock-sec .clock em.lab-ck-acc{display:block;margin-top:8px;font:italic 400 13px/1.35 "Libre Caslon Text",Georgia,serif;letter-spacing:0;white-space:normal}
.gsh .lab-clock-sec .lab-ck-card .lab-ck-q{min-height:2.9em}
.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q{min-height:0}
@media(max-width:719px){.gsh .lab-clock-sec .clock em.lab-ck-acc{font-size:12.5px}.gsh .lab-clock-sec .lab-ck-card .lab-ck-q{min-height:0}}

/* World clocks v4: no copy button, compact tiles, locked baselines (front/back both 2-line quotes) */
.gsh .lab-clock-sec .clock.lab-ck-card{padding:10px 12px;gap:0}
.gsh .lab-ck-card .lab-ck-top{height:18px}
.gsh .lab-clock-sec .lab-ck-card .tm{height:26px;line-height:26px;margin:6px 0 0;font-size:21px}
.gsh .lab-ck-card .lab-ck-flip{margin-top:8px;padding-top:8px;flex:none}
.gsh .lab-ck-card .lab-ck-face{justify-content:flex-start}
.gsh .lab-ck-card .lab-ck-k{margin-bottom:6px;line-height:1}
.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q{font-size:13.5px;line-height:1.4;min-height:4.2em;text-wrap:pretty}
.gsh .lab-clock-sec .clock em.lab-ck-acc{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:719px){.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q{font-size:12.5px;min-height:5.6em}.gsh .lab-clock-sec .clock em.lab-ck-acc{white-space:normal}}
.gsh .lab-ck-card .lab-ck-flip{grid-template-columns:minmax(0,1fr);width:100%}
.gsh .lab-ck-card .lab-ck-face{min-width:0}
.gsh .lab-ck-card .lab-ck-back .lab-ck-q{min-height:0}
@media(max-width:719px){.gsh .lab-clock-sec .clocks{grid-auto-rows:auto!important}.gsh .lab-clock-sec .clock.lab-ck-card{height:auto!important;min-height:0!important}}
.gsh .lab-clock-sec .clock em.lab-ck-acc{white-space:normal!important;overflow:visible;text-overflow:clip;text-wrap:balance}
@media(max-width:719px){.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q{min-height:4.2em}}

/* World clocks v5: translator hint, louder kicker chips, locked 2-line slots, roomier inset */
.gsh .lab-clock-sec .lab-ck-hint{font-size:11.5px;letter-spacing:.12em;color:var(--gs-ink-2)}
.gsh .lab-ck-hint-lead{color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-ck-hint-lead{color:#35BD6B}
.gsh .lab-ck-hint-m{display:none}
@media(max-width:719px){.gsh .lab-ck-hint-lead,.gsh .lab-ck-hint-d{display:none}.gsh .lab-ck-hint-m{display:inline}}
.gsh .lab-clock-sec .clock.lab-ck-card{padding:12px 16px}
@media(max-width:719px){.gsh .lab-clock-sec .clock.lab-ck-card{padding:12px 14px}}
.gsh .lab-ck-card .lab-ck-k{align-self:flex-start;font-size:10.5px;line-height:1;padding:4px 7px;margin-bottom:8px;border:1px solid var(--gs-rule);border-radius:4px;color:var(--gs-ink-2);font-weight:600}
.gsh .lab-ck-card .lab-ck-back .lab-ck-k{color:var(--gs-green-active,#1B6B38);border-color:color-mix(in srgb,var(--gs-green-active,#1B6B38) 40%,transparent)}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-back .lab-ck-k{color:#35BD6B;border-color:rgba(53,189,107,.4)}
.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-back .lab-ck-q{font-size:13.5px;line-height:1.4;height:2.8em;min-height:2.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-wrap:balance}
.gsh .lab-clock-sec .clock em.lab-ck-acc{height:1.4em;line-height:1.4;margin-top:6px;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.gsh .lab-ck-card .lab-ck-front::after{content:"";display:block;height:calc(1.4em + 6px)}
@media(max-width:719px){.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-back .lab-ck-q{font-size:12.5px;height:4.2em;min-height:4.2em;-webkit-line-clamp:3}.gsh .lab-clock-sec .clock em.lab-ck-acc{font-size:12px}}
/* v5b: 4-up on desktop so each line gets room for a clean 2-line read */
@media(min-width:1000px){.gsh .lab-clock-sec .clocks{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:1080px;margin-inline:auto}}
@media(min-width:720px){.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-back .lab-ck-q{font-size:14px}}
@media(max-width:719px){.gsh .lab-clock-sec .clock em.lab-ck-acc{white-space:normal!important;height:2.8em;text-overflow:clip!important}.gsh .lab-ck-card .lab-ck-front::after{height:calc(2.8em + 6px)}.gsh .lab-clock-sec .clock.lab-ck-card .lab-ck-flip{flex:none!important}}

/* World clocks v7: pure typographic prompt kickers (no pills) + em-dash punchline */
.gsh .lab-ck-card .lab-ck-k,.gsh .lab-ck-card .lab-ck-front .lab-ck-k,.gsh .lab-ck-card .lab-ck-back .lab-ck-k{border:0;padding:0;border-radius:0;background:none;font-family:var(--gs-mono);font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1;margin-bottom:10px;color:var(--gs-ink-2)}
.gsh .lab-ck-card .lab-ck-back .lab-ck-k{color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-front .lab-ck-k{color:var(--gs-ink-2)}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-back .lab-ck-k{color:#35BD6B}
.gsh .lab-ck-card .lab-ck-k::after{content:none}
.gsh .lab-ck-card .lab-ck-front .lab-ck-k::before{content:"> ";color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-front .lab-ck-k::before{color:#35BD6B}
.gsh .lab-ck-card .lab-ck-back .lab-ck-k::before{content:"// "}
.gsh .lab-clock-sec .clock em.lab-ck-acc::before{content:"— ";font-style:normal;opacity:.7}

/* World clocks v8: nothing clipped on any device; high-contrast terminal kickers */
.gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-back .lab-ck-q{height:auto!important;min-height:2.8em;overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important;color:var(--gs-ink)}
.gsh .lab-clock-sec .clock em.lab-ck-acc{height:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.gsh .lab-ck-card .lab-ck-front::after{content:none}
.gsh .lab-ck-card .lab-ck-flip{flex:1}
.gsh .lab-ck-card .lab-ck-k,.gsh .lab-ck-card .lab-ck-front .lab-ck-k,.gsh .lab-ck-card .lab-ck-back .lab-ck-k{font-weight:700;font-size:11.5px}
.gsh:not([data-theme="dark"]) .lab-ck-card .lab-ck-front .lab-ck-k{color:#11131C}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-front .lab-ck-k{color:#E6EDF3}
.gsh .lab-ck-card .lab-ck-front .lab-ck-k::before{content:"❯ "}
.gsh[data-theme="dark"] .lab-ck-card .lab-ck-back .lab-ck-k,.gsh[data-theme="dark"] .lab-ck-card .lab-ck-front .lab-ck-k::before{color:#22C55E}
.gsh .lab-ck-hint .lab-ck-hint-lead{display:inline!important;font-weight:700}
@media(max-width:719px){.gsh .lab-clock-sec .lab-ck-card .lab-ck-q{min-height:0}}

/* Shelf v2: open canvas, 4-col rack matching the clocks */
.gsh .lab-sh-head{text-align:center;max-width:720px;margin:0 auto clamp(1.6rem,3.5vw,2.4rem)}
.gsh .lab-sh-kick{display:block;font:600 11px/1.4 var(--gs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gs-ink-2)}
.gsh .lab-sh-kick b{color:var(--gs-green-active,#1B6B38);font-weight:700}
.gsh .lab-sh-kick b::before{content:"❯ "}
.gsh[data-theme="dark"] .lab-sh-kick b{color:#22C55E}
.gsh .lab-sh-head h2{margin:.6rem 0 .5rem}
.gsh .lab-sh-sub{margin:0 auto;max-width:560px;font:400 17px/1.5 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .lab-sh-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.gsh .lab-sh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.gsh .lab-sh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gsh .lab-sh-card{min-width:0;background:var(--gs-raised);border:1px solid var(--gs-rule);border-radius:8px;padding:18px 18px 8px;display:grid;grid-template-rows:auto 1fr}
.gsh .lab-sh-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--gs-rule-2,var(--gs-rule))}
.gsh .lab-sh-cat{font:700 11px/1 var(--gs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gs-ink)}
.gsh .lab-sh-n{font:500 11px/1 var(--gs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-2)}
.gsh .lab-sh-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(3,minmax(128px,auto))}
.gsh .lab-sh-card li{min-width:0;display:flex}
.gsh .lab-sh-card li+li{border-top:1px solid var(--gs-rule)}
.gsh .lab-sh-i{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 0;text-decoration:none;color:var(--gs-ink);width:100%;border-radius:4px}
.gsh .lab-sh-i>span{min-width:0;overflow-wrap:anywhere}
.gsh .lab-sh-i b{display:block;min-height:2.5em;font:700 18px/1.25 var(--gs-head);letter-spacing:0;text-wrap:pretty}
.gsh .lab-sh-i small{display:block;margin-top:3px;font:400 14px/1.45 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .lab-sh-i svg{flex:none;margin-top:4px;color:var(--gs-ink-2);transition:transform .2s var(--gs-ease)}
.gsh .lab-sh-i:hover b,.gsh .lab-sh-i:focus-visible b{color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-sh-i:hover b,.gsh[data-theme="dark"] .lab-sh-i:focus-visible b{color:var(--gs-green)}
.gsh .lab-sh-i:hover,.gsh .lab-sh-i:focus-visible{background:color-mix(in srgb,var(--gs-green) 6%,var(--gs-raised))}
.gsh .lab-sh-i:focus-visible{outline:2px solid var(--gs-green);outline-offset:3px}
.gsh .lab-sh-i:hover svg{transform:translate(2px,-2px);color:var(--gs-ink)}
.gsh .lab-sh-note{text-align:center}
.gsh .lab-bench-open{border-radius:20px}
@media(prefers-reduced-motion:reduce){.gsh .lab-sh-i svg{transition:none}}

/* Shared content-sized tracks align each divider without clipping longer picks. */
@supports(grid-template-rows:subgrid){
  .gsh .lab-sh-card{grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
  .gsh .lab-sh-card ul{grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
}
@media(max-width:619px){
  .gsh .lab-sh-card ul{grid-template-rows:repeat(3,auto)}
  .gsh .lab-sh-i b{min-height:0}
  .gsh .lab-sh-card{grid-row:auto;grid-template-rows:auto 1fr}
}
/* Headline-to-stage rhythm replaces the removed rotating subheadline. */
.gsh .hero .hero-c .lab-stage-row{margin-top:20px}
@media(max-width:1023px){.gsh .hero .hero-c .lab-stage-row{margin-top:16px}}
@media(orientation:landscape) and (max-height:520px){.gsh .hero .hero-c .lab-stage-row{margin-top:8px}}

/* Header v3: clean shelf flyout kicker (no faux browser) + lean mobile drawer */
.gsh .shf-bar{padding:12px 18px;font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink)}
.gsh .shf-bar b{color:var(--gs-green-active,#1B6B38);margin-right:4px}
.gsh .shf-bar i{font-style:normal;color:var(--gs-green-active,#1B6B38);margin:0 4px}
.gsh[data-theme="dark"] .shf-bar b,.gsh[data-theme="dark"] .shf-bar i{color:#35BD6B}
.gsh .lab-mnav-panel{min-width:min(280px,calc(100vw - 32px))}
.gsh .lab-mnav-panel .mn-shelf{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.2}
.gsh .lab-mnav-panel .mn-shelf span{display:grid;gap:4px}
.gsh .lab-mnav-panel .mn-shelf b{font:600 15px/1.2 var(--gs-ui)}
.gsh .lab-mnav-panel .mn-shelf small{font:400 12.5px/1.3 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .lab-mnav-panel .mn-shelf svg{flex:none;color:var(--gs-ink-2)}

/* World clocks v9: whole section fits one desktop screen; punchlines stay on one line on phones */
@media(min-width:1000px){
  .gsh .lab-clock-sec{padding-top:36px;padding-bottom:36px;scroll-margin-top:calc(var(--hd-h,74px) + 12px)}
  .gsh .lab-clock-sec .sec-head{margin-bottom:16px}
  .gsh .lab-clock-h{font-size:clamp(26px,2.8vw,34px)}
  .gsh .lab-clock-sec .clocks{gap:10px;max-width:1100px}
  .gsh .lab-clock-sec .clock.lab-ck-card{padding:10px 14px}
  .gsh .lab-clock-sec .lab-ck-card .tm{font-size:20px;margin:4px 0 0;height:24px;line-height:24px}
  .gsh .lab-ck-card .lab-ck-flip{margin-top:6px;padding-top:6px}
  .gsh .lab-ck-card .lab-ck-k,.gsh .lab-ck-card .lab-ck-front .lab-ck-k,.gsh .lab-ck-card .lab-ck-back .lab-ck-k{margin-bottom:6px}
  .gsh .lab-clock-sec .lab-ck-card .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-front .lab-ck-q,.gsh .lab-clock-sec .lab-ck-card .lab-ck-back .lab-ck-q{font-size:13px;line-height:1.35;min-height:2.7em}
  .gsh .lab-clock-sec .clock em.lab-ck-acc{font-size:12.5px;margin-top:4px}
}
@media(max-width:719px){
  .gsh .lab-clock-sec .clock.lab-ck-card{padding:11px 10px}
  .gsh .lab-clock-sec .clock em.lab-ck-acc{font-size:11.5px;line-height:1.3;white-space:nowrap!important;text-wrap:nowrap}
}
@media(max-width:370px){.gsh .lab-clock-sec .clock.lab-ck-card{padding:10px 8px}.gsh .lab-clock-sec .clock em.lab-ck-acc{font-size:11px}}

/* Shelf flyout v4: illuminated kicker + inset workbench tiles (CSS-only motion) */
.gsh .shf-bar{background:var(--gs-surface);gap:10px}
.gsh[data-theme="dark"] .shf-bar{background:#0D0F17}
.gsh .shf-bar b,.gsh .shf-bar i{text-shadow:0 0 8px color-mix(in srgb,var(--gs-green-active,#1B6B38) 45%,transparent)}
.gsh[data-theme="dark"] .shf-bar b,.gsh[data-theme="dark"] .shf-bar i{text-shadow:0 0 10px rgba(53,189,107,.6)}
.gsh .shf-bar b{animation:shfBreath 2.4s ease-in-out infinite}
@keyframes shfBreath{50%{opacity:.55}}
.gsh .shf-led{position:relative;width:6px;height:6px;flex:none;border-radius:50%;background:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .shf-led{background:#35BD6B}
.gsh .shf-led::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:shfPing 2.4s ease-out infinite}
@keyframes shfPing{0%{transform:scale(1);opacity:.6}80%,100%{transform:scale(3);opacity:0}}
.gsh .shf-g{gap:8px;padding:14px 12px}
.gsh .shf-dd .shf-i{position:relative;gap:4px;padding:11px 34px 11px 12px;border:1px solid var(--gs-rule)!important;border-radius:10px;background:var(--gs-ground);transition:border-color .15s,transform .15s}
.gsh[data-theme="dark"] .shf-dd .shf-i{background:rgba(255,255,255,.03)}
.gsh .shf-dd a.shf-i:hover,.gsh .shf-dd a.shf-i:focus-visible{border-color:var(--gs-green-active,#1B6B38)!important;transform:translateY(-1px)}
.gsh[data-theme="dark"] .shf-dd a.shf-i:hover,.gsh[data-theme="dark"] .shf-dd a.shf-i:focus-visible{border-color:#35BD6B!important}
.gsh .shf-tt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.gsh .shf-tag,.gsh .shf-soon{display:inline-block;margin:0;padding:3px 6px;border:1px solid var(--gs-rule);border-radius:4px;font:600 9.5px/1 "JetBrains Mono",ui-monospace,monospace;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-ink-2);vertical-align:0}
.gsh .shf-dd .shf-i .gs-arr{position:absolute;right:12px;top:13px;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s;color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .shf-dd .shf-i .gs-arr{color:#35BD6B}
.gsh .shf-dd a.shf-i:hover .gs-arr,.gsh .shf-dd a.shf-i:focus-visible .gs-arr{opacity:1;transform:none}
.gsh .shf-dd .shf-off{border-style:dashed!important;background:transparent}
.gsh .shf-soon::before{content:"● ";color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .shf-soon::before{color:#35BD6B}
@media(prefers-reduced-motion:reduce){.gsh .shf-bar b,.gsh .shf-led::after{animation:none}.gsh .shf-dd .shf-i,.gsh .shf-dd .shf-i .gs-arr{transition:none}.gsh .shf-dd a.shf-i:hover{transform:none}}

/* Shelf flyout v5: no beacon, uniform card anatomy (tag / title / note), rows aligned across columns */
.gsh .shf-led,.gsh .shf-soon::before{display:none}
.gsh .shf-bar b{animation:none}
.gsh .shf-dd .shf-cols{grid-template-rows:auto auto auto;column-gap:0}
.gsh .shf-dd .shf-cols .shf-g{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:8px}
.gsh .shf-dd .shf-i{display:grid;grid-template-rows:auto auto auto;align-content:start;justify-items:start;gap:6px;min-height:92px;padding:12px 34px 12px 12px}
.gsh .shf-dd .shf-i .shf-tag{justify-self:start}
.gsh .shf-dd .shf-i b{font:700 14.5px/1.25 var(--gs-head);white-space:nowrap}
.gsh .shf-dd .shf-i small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gsh .shf-dd .shf-off b{white-space:normal}
.gsh .shf-dd .shf-i .gs-arr{top:12px}

/* Cure CTA: thin-stroke inline icon instead of system glyph */
.gsh .dk-cure{display:inline-flex;align-items:center;gap:.45em}
.gsh .dk-cure .gs-ico{flex:none}

/* Section headline accents: Caslon italic with a per-section mark (hero keeps its own) */
.gsh .sec-head h2 em.hl,.gsh .close h2 em.hl{font-family:var(--gs-serif);font-style:italic;font-weight:400;position:relative;color:inherit}
.gsh h2 em.hl-fire,.gsh h2 em.hl-hand,.gsh h2 em.hl-ink{white-space:nowrap}
.gsh h2 em.hl-fire::after,.gsh h2 em.hl-hand::after,.gsh h2 em.hl-ink::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.06em;height:.2em;background:no-repeat center/100% 100%;pointer-events:none}
.gsh h2 em.hl-fire::after,.gsh h2 em.hl-ink::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M2 9 C 40 3, 90 12, 130 6 S 185 4, 198 8' fill='none' stroke='%23C24A3A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh h2 em.hl-hand::after{height:.16em;opacity:.8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 50 5, 120 10, 197 6' fill='none' stroke='%231B6B38' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh[data-theme="dark"] h2 em.hl-hand::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 50 5, 120 10, 197 6' fill='none' stroke='%2335BD6B' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh h2 em.hl-line{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em;text-decoration-color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] h2 em.hl-line{text-decoration-color:#35BD6B}
.gsh .lab-clock-h em.hl-q{white-space:nowrap;color:var(--gs-ink)}

/* Mobile first fold: hero fills the screen, time kicker returns, rhythm spreads evenly, CTAs stay above the fold */
@media (max-width:719px) and (orientation:portrait){
  .gsh .hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
  .gsh .hero .wrap.hero-c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:clamp(8px,1.6svh,20px);padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .gsh .hero .tpill.tkick{display:inline-flex;align-items:center;gap:.4em;margin:0;font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
  .gsh .hero .hero-h1{margin:0}
  .gsh .hero .hero-c .lab-stage-row{margin-top:0}
  .gsh .hero .hero-c .lab-ctas{margin-top:0}
}
@media (max-width:719px) and (orientation:portrait) and (min-height:800px){
  .gsh .hero .hero-c .stage .stage-peek{width:clamp(120px,17svh,170px)}
}

/* Shelf flyout v6: no tags, spotlight focus (pointer only), coming-soon header, action footer */
.gsh .shf-dd .shf-i{grid-template-rows:auto auto;min-height:0;gap:4px;padding:12px 34px 12px 14px;transition:border-color .15s,transform .15s,opacity .18s}
.gsh .shf-dd .shf-cols .shf-g{row-gap:8px}
.gsh .shf-dd .shf-cols{grid-template-rows:auto auto auto}
.gsh .shf-cs{margin-left:6px;font:600 10px/1 "JetBrains Mono",ui-monospace,monospace;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .shf-cs{color:#35BD6B}
@media(hover:hover) and (pointer:fine){
  .gsh .shf-dd .shf:has(a.shf-i:hover) .shf-i:not(:hover){opacity:.45}
}
@media(hover:none){.gsh .shf-dd a.shf-i:active{transform:scale(.99);border-color:var(--gs-green-active,#1B6B38)!important}}
.gsh .shf-all{align-items:center;gap:12px;padding:14px 18px;transition:background-color .15s,border-color .15s}
.gsh .shf-all span{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.gsh .shf-all b{font:700 14px/1.2 var(--gs-head)}
.gsh .shf-all small{font:400 12.5px/1.3 var(--gs-ui);color:var(--gs-ink-2)}
.gsh .shf-all .gs-arr{flex:none;color:var(--gs-green-active,#1B6B38);transition:transform .15s}
.gsh[data-theme="dark"] .shf-all .gs-arr{color:#35BD6B}
.gsh .shf-all:hover,.gsh .shf-all:focus-visible{background:color-mix(in srgb,var(--gs-green-active,#1B6B38) 7%,var(--gs-surface));border-top-color:var(--gs-green-active,#1B6B38)}
.gsh .shf-all:hover .gs-arr,.gsh .shf-all:focus-visible .gs-arr{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.gsh .shf-dd .shf-i,.gsh .shf-all,.gsh .shf-all .gs-arr{transition:none}.gsh .shf-all:hover .gs-arr{transform:none}}

/* Shelf flyout v7: 2x2 grid (03 spaces + 04 stealth) and centred gradient pill CTA */
.gsh .shf-soonrow{border-top:1px solid var(--gs-rule)}
.gsh .shf-soonrow .shf-sp{border-top:0}
.gsh .shf-dd .shf-soonrow{grid-template-rows:auto auto}
.gsh .shf-dd .shf-soonrow .shf-g{grid-row:span 2}
.gsh .shf-dd .shf-soonrow .shf-h{white-space:nowrap}
.gsh .shf-allw{display:flex;justify-content:center;padding:6px 16px 16px}
.gsh .shf-all,.gsh .shf-all:hover,.gsh .shf-all:focus-visible{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:11px 22px;border:0;border-radius:999px;background:var(--gs-cta-gradient);color:var(--gs-on-accent);font:700 13.5px/1 var(--gs-head);letter-spacing:-.01em;text-decoration:none;transition:transform .2s var(--gs-ease),box-shadow .2s var(--gs-ease)}
.gsh .shf-all .gs-arr,.gsh[data-theme="dark"] .shf-all .gs-arr{color:currentColor}
.gsh .shf-all:hover,.gsh .shf-all:focus-visible{transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--gs-indigo) 28%,transparent)}
.gsh .shf-all:hover .gs-arr,.gsh .shf-all:focus-visible .gs-arr{transform:translateX(3px)}
.gsh .shf-m .shf-soonrow{grid-template-columns:1fr}
.gsh .shf-m .shf-soonrow .shf-g+.shf-g{border-left:0;border-top:1px solid var(--gs-rule)}
@media(prefers-reduced-motion:reduce){.gsh .shf-all,.gsh .shf-all .gs-arr{transition:none}.gsh .shf-all:hover,.gsh .shf-all:hover .gs-arr{transform:none}}
@media(min-width:721px){.gsh .shf-dd .shf{width:min(640px,92vw)}}
.gsh .shf-dd .shf-h{white-space:nowrap}
.gsh .hd .shf a.shf-all,.gsh .hd .shf a.shf-all:hover,.gsh .hd .shf a.shf-all:focus-visible{color:var(--gs-on-accent)}

/* Desk v8: one shared disclaimer + compact phone desk (no content removed) */
.gsh .dk-foot{margin:0;padding:8px 14px;border-top:1px solid var(--gs-rule);font:400 11.5px/1.3 var(--gs-ui);color:var(--gs-ink-3);text-align:center;background:var(--gs-surface)}
@media (max-width:719px){
  .gsh section.sec.dk-sec{padding-top:24px}
  .gsh .dk-head{margin-bottom:14px;gap:.4rem}
  .gsh .dk-head p{font-size:14.5px;line-height:1.4}
  .gsh .dk-seats{padding:5px;gap:4px}
  .gsh .dk-seats button{flex-direction:row;justify-content:center;gap:5px;padding:4px 3px}
  .gsh .dk-seats img{width:24px;height:24px}
  .gsh .dk-who{justify-items:start;gap:1px}
  .gsh .dk-who b{font-size:11.5px}
  .gsh .dk-who small{font-size:9.5px}
  .gsh .dk-shelf{padding:6px 12px}
  .gsh .dk-list{padding:6px;gap:5px}
  .gsh .dk-fire{padding:.45rem .7rem;gap:.2rem}
  .gsh .dk-inline{padding:.45rem;margin-top:.3rem}
  .gsh .dk-rxcard,.gsh .dk-actcard{padding:.6rem .75rem}
  .gsh .dk-chat-rx{padding:3px 8px}
  .gsh .dk-actcard .dk-chipstat{padding:.35rem .6rem}
  .gsh .dk-actcard .dk-act .dk-cure{padding:.55rem .9rem}
  .gsh .dk-foot{padding:6px 10px;font-size:11px}
}
@media (max-width:380px){.gsh .dk-seats img{display:none}}

/* Shelf page: reuses the header directory inline (same cards on desktop + phone) */
.gsh .shp-sec{padding-top:clamp(2rem,6vw,4rem)}
.gsh .shp-h{margin:0;font:700 clamp(32px,5vw,56px)/1.08 var(--gs-head);letter-spacing:-.02em}
.gsh .shf.shf-page{max-width:760px;margin:clamp(1.5rem,4vw,2.5rem) auto 0}
@media(max-width:640px){
  .gsh .shf.shf-page .shf-cols{grid-template-columns:1fr}
  .gsh .shf.shf-page .shf-cols .shf-g+.shf-g{border-left:0;border-top:1px solid var(--gs-rule)}
}
.gsh .shf-dd.shp-wrap .shf{position:static;transform:none;width:auto;animation:none;z-index:auto}
@media(max-width:640px){
  .gsh .shp-wrap .shf-cols{grid-template-rows:none}
  .gsh .shp-wrap .shf-cols .shf-g{grid-row:auto;grid-template-rows:none}
  .gsh .shp-wrap .shf-i b,.gsh .shp-wrap .shf-i small{white-space:normal}
}

/* Header/footer brand axis v1 — one shared inset for the wordmark.
   --hd-pad-l clears the wordmark past the pill's semicircular cap (cap radius = half the
   capsule height), and the footer brand block takes the identical inset, so the wordmark
   lands on the exact same x in header and footer on every page and viewport.
   Port note (Claude Code / static site): move these three rules into /site.css. */
.gsh{--hd-pad-l:32px}
.gsh .hd-in{padding-left:var(--hd-pad-l)}
.gsh .lft-brand{padding-left:calc(var(--hd-pad-l) + 1px)}
@media (max-width:719px){.gsh{--hd-pad-l:31px}}

/* Unified headline accent: one brand-green hand stroke on every section punchline (hero pill and clock quote excluded) */
.gsh h2 em.hl-fire,.gsh h2 em.hl-hand,.gsh h2 em.hl-ink,.gsh h2 em.hl-line{position:relative;white-space:nowrap;text-decoration:none}
.gsh h2 em.hl-fire::after,.gsh h2 em.hl-hand::after,.gsh h2 em.hl-ink::after,.gsh h2 em.hl-line::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.06em;height:.16em;opacity:1;pointer-events:none;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 50 5, 120 10, 197 6' fill='none' stroke='%231B6B38' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh[data-theme="dark"] h2 em.hl-fire::after,.gsh[data-theme="dark"] h2 em.hl-hand::after,.gsh[data-theme="dark"] h2 em.hl-ink::after,.gsh[data-theme="dark"] h2 em.hl-line::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 50 5, 120 10, 197 6' fill='none' stroke='%2335BD6B' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh .tl-head h2 em.hl-line{font-family:var(--gs-serif);font-style:italic;font-weight:400}

/* Headline accent v2: hero "all day" signature on every section punchline — indigo Caslon + terracotta double-crest wave, clear of descenders */
.gsh.gsh h2 em.hl-fire,.gsh.gsh h2 em.hl-hand,.gsh.gsh h2 em.hl-ink,.gsh.gsh h2 em.hl-line{color:color-mix(in srgb,var(--gs-indigo) 80%,var(--gs-ink))}
.gsh[data-theme="dark"] h2 em.hl-fire,.gsh[data-theme="dark"] h2 em.hl-hand,.gsh[data-theme="dark"] h2 em.hl-ink,.gsh[data-theme="dark"] h2 em.hl-line{color:var(--gs-indigo)}
.gsh h2 em.hl-fire::after,.gsh h2 em.hl-hand::after,.gsh h2 em.hl-ink::after,.gsh h2 em.hl-line::after{bottom:-.14em;height:.22em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M2 9 C 40 3, 90 12, 130 6 S 185 4, 198 8' fill='none' stroke='%23C24A3A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh[data-theme="dark"] h2 em.hl-fire::after,.gsh[data-theme="dark"] h2 em.hl-hand::after,.gsh[data-theme="dark"] h2 em.hl-ink::after,.gsh[data-theme="dark"] h2 em.hl-line::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M2 9 C 40 3, 90 12, 130 6 S 185 4, 198 8' fill='none' stroke='%23E05D52' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Shelf v3: inset workbench tiles + format tags; phones switch categories with tabs (no 1,400px stack) */
.gsh .lab-sh-tabs{display:none}
.gsh .lab-sh-card{padding:14px 14px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 8px rgba(26,29,43,.05)}
.gsh[data-theme="dark"] .lab-sh-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.gsh .lab-sh-top{padding:0 4px 12px;margin-bottom:8px}
.gsh .lab-sh-cat::before{content:"❯ ";color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .lab-sh-cat::before{color:#35BD6B}
.gsh .lab-sh-n{padding:3px 6px;border:1px solid var(--gs-rule);border-radius:4px}
.gsh .lab-sh-card ul{gap:8px;grid-template-rows:repeat(3,auto)}
.gsh .lab-sh-card li+li{border-top:0}
.gsh .lab-sh-i{padding:12px 12px 13px;border:1px solid var(--gs-rule);border-radius:6px;background:var(--gs-surface,#F2ECE4);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.gsh[data-theme="dark"] .lab-sh-i{background:rgba(255,255,255,.035)}
.gsh .lab-sh-i b{min-height:0;font-size:16.5px}
.gsh .lab-sh-i small{font-size:13.5px}
.gsh .lab-sh-fmt{display:block;margin-bottom:6px;font:600 10px/1 var(--gs-mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-ink-2)}
.gsh .lab-sh-fmt::before{content:"[ "}.gsh .lab-sh-fmt::after{content:" ]"}
.gsh .lab-sh-i:hover,.gsh .lab-sh-i:focus-visible{border-color:var(--gs-green-active,#1B6B38);transform:translateY(-1px);box-shadow:0 6px 16px -8px rgba(23,61,36,.3)}
.gsh[data-theme="dark"] .lab-sh-i:hover,.gsh[data-theme="dark"] .lab-sh-i:focus-visible{border-color:#35BD6B;box-shadow:0 6px 18px -8px rgba(53,189,107,.35)}
.gsh .lab-sh-i:hover svg,.gsh .lab-sh-i:focus-visible svg{color:var(--gs-green-active,#1B6B38);transform:translate(2px,-2px)}
.gsh[data-theme="dark"] .lab-sh-i:hover svg,.gsh[data-theme="dark"] .lab-sh-i:focus-visible svg{color:#35BD6B}
@supports(grid-template-rows:subgrid){.gsh .lab-sh-card ul{row-gap:8px}}
@media(max-width:619px){
  .gsh .lab-sh-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 10px}
  .gsh .lab-sh-tab{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1px solid var(--gs-rule);border-radius:999px;background:var(--gs-surface,#F2ECE4);font:600 13px/1 var(--gs-ui);color:var(--gs-ink-2);text-align:center}
  .gsh .lab-sh-tab .mono{font:600 9.5px/1 var(--gs-mono);letter-spacing:.1em}
  .gsh .lab-sh-tab[aria-selected="true"]{background:var(--gs-ink);color:var(--gs-ground,#fff);border-color:var(--gs-ink)}
  .gsh .lab-sh-tab:focus-visible{outline:2px solid var(--gs-green-active,#1B6B38);outline-offset:2px}
  .gsh .lab-sh-card{display:none}
  .gsh .lab-sh-card.is-on{display:grid}
  .gsh .lab-sh-i{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){.gsh .lab-sh-i{transition:none}.gsh .lab-sh-i:hover{transform:none}}

/* Headline accent v3 (Direction A): dark mode italic text goes off-white so the terracotta wave is the single accent */
.gsh[data-theme="dark"] .hero .hero-h1 em.ink,
.gsh.gsh[data-theme="dark"] h2 em.hl-fire,.gsh.gsh[data-theme="dark"] h2 em.hl-hand,.gsh.gsh[data-theme="dark"] h2 em.hl-ink,.gsh.gsh[data-theme="dark"] h2 em.hl-line{color:var(--gs-ink)}

/* Hero time kicker: green timestamp + slashes, muted place — same pattern as the other terminal kickers */
.gsh .hero .tpill.tkick b,.gsh .hero .tpill.tkick i{color:var(--gs-green-active,#1B6B38)}
.gsh[data-theme="dark"] .hero .tpill.tkick b,.gsh[data-theme="dark"] .hero .tpill.tkick i{color:#35BD6B}
.gsh .hero .tpill.tkick{color:var(--gs-ink-2)}

/* Headline accent v4 (lab only — .gsh[data-lab]): every Caslon punchline reads as pure ink in BOTH modes.
   The terracotta hand-wave is the only graphic accent a headline carries; brand green stays reserved for
   terminal kickers, live dots and the CTA gradient. Production "/" has no data-lab, so it keeps the
   previous treatment until this block is copied back by hand.
   Port note (Claude Code / static site): the same two rules belong in /site.css. */
.gsh[data-lab].gsh .hero .hero-h1 em.ink{color:var(--gs-ink)}
.gsh[data-lab].gsh :is(h1,h2) em.hl-fire,
.gsh[data-lab].gsh :is(h1,h2) em.hl-hand,
.gsh[data-lab].gsh :is(h1,h2) em.hl-ink,
.gsh[data-lab].gsh :is(h1,h2) em.hl-line{color:var(--gs-ink)}

/* Headline accent v5 (lab only): the /shelf headline is an h1, so it now carries the same terracotta
   double-crest wave as every h2 fold punchline. Wave rules above are h2-scoped, hence this h1 twin. */
.gsh[data-lab].gsh h1 em.hl-fire,.gsh[data-lab].gsh h1 em.hl-hand,.gsh[data-lab].gsh h1 em.hl-ink,.gsh[data-lab].gsh h1 em.hl-line{position:relative;white-space:nowrap}
.gsh[data-lab].gsh h1 em.hl-fire::after,.gsh[data-lab].gsh h1 em.hl-hand::after,.gsh[data-lab].gsh h1 em.hl-ink::after,.gsh[data-lab].gsh h1 em.hl-line::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.14em;height:.22em;opacity:1;pointer-events:none;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M2 9 C 40 3, 90 12, 130 6 S 185 4, 198 8' fill='none' stroke='%23C24A3A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.gsh[data-lab].gsh[data-theme="dark"] h1 em.hl-fire::after,.gsh[data-lab].gsh[data-theme="dark"] h1 em.hl-hand::after,.gsh[data-lab].gsh[data-theme="dark"] h1 em.hl-ink::after,.gsh[data-lab].gsh[data-theme="dark"] h1 em.hl-line::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M2 9 C 40 3, 90 12, 130 6 S 185 4, 198 8' fill='none' stroke='%23E05D52' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Headline accent v6 (lab only): the hero "all day" wave lived in gs-home.css at bottom:-.08em, so the
   'y' descender sat on top of the stroke. Nudge it to the same -.14em clearance every h2 punchline uses. */
.gsh[data-lab].gsh .hero .hero-h1 em.ink::after{bottom:-.14em}

/* Fold rhythm v1: marquee sits above the footer; one even gap between folds below the Desk */
.gsh .mq-shelf.mq-end{padding-block:0!important;background:transparent!important}
.gsh[data-lab] section.sec.tl-sec,.gsh[data-lab] section.sec.lab-clock-sec,.gsh[data-lab] section.sec.lab-shelf-sec{padding-block:clamp(44px,6.5vh,72px)!important}
.gsh[data-lab] section.sec.tl-sec+section.sec,.gsh[data-lab] section.sec.lab-clock-sec+section.sec,.gsh[data-lab] section.sec.lab-shelf-sec+section{border-top:1px solid var(--gs-rule)}
@media (max-width:719px){.gsh[data-lab] section.sec.tl-sec,.gsh[data-lab] section.sec.lab-clock-sec,.gsh[data-lab] section.sec.lab-shelf-sec{padding-block:40px!important}}

/* Launch pass: preserve the hero; all refinements below it are lab-scoped. */
.gsh[data-lab] .lab-desk-next{display:flex;justify-content:center;padding:16px;border-top:1px solid var(--gs-rule)}
.gsh[data-lab] .dk-awaiting .dk-zero-ctas{display:none}
.gsh[data-lab] .lab-world-zones{display:none}
.gsh[data-lab] .lab-acquret-kick{color:var(--gs-green-active);letter-spacing:0}
.gsh[data-lab][data-theme="dark"] .lab-acquret-kick{color:var(--gs-green)}
.gsh[data-lab] :is(.lab-bench-sec,.lab-acquret-note){padding-block:56px;border-top:1px solid var(--gs-rule);background:var(--gs-ground);color:var(--gs-ink)}
.gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) .sec-head{text-align:left;align-items:start;margin:0;gap:12px}
.gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) h2{font:700 36px/1.2 var(--gs-head);letter-spacing:0;margin:0;text-wrap:pretty}
.gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) h2 em{white-space:normal}
.gsh[data-lab] .lab-acquret-inner h2 em{white-space:nowrap}
.gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) p{font:400 16px/1.55 var(--gs-ui);color:var(--gs-ink-2);margin:0}
.gsh[data-lab] .lab-acquret-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.gsh[data-lab] .lab-story-link{display:inline-flex;align-items:center;gap:8px;color:var(--gs-ink);font:700 14px/1.3 var(--gs-head);text-underline-offset:4px}
.gsh[data-lab] .lab-bench-form fieldset{border:0;padding:0;margin:0 0 16px;display:grid;gap:8px}
.gsh[data-lab] .lab-bench-form legend{font:700 16px/1.4 var(--gs-head);margin-bottom:10px}
.gsh[data-lab] .lab-bench-form label{display:flex;align-items:center;gap:10px;min-height:32px;font:400 14px/1.4 var(--gs-ui);cursor:pointer}
.gsh[data-lab] .lab-bench-form input[type="radio"]{accent-color:var(--gs-green-active);width:18px;height:18px;flex:none}
.gsh[data-lab] .lab-bench-signup{display:flex;gap:8px}
.gsh[data-lab] .lab-bench-signup input{min-width:0;flex:1;border:1px solid var(--gs-rule);border-radius:6px;background:var(--gs-surface);color:var(--gs-ink-2);padding:12px;font:400 15px/1.4 var(--gs-ui)}
.gsh[data-lab] .lab-bench-form .note{font-size:12px;margin-top:10px}
.gsh[data-lab] .lab-sh-tab,.gsh[data-lab] .lab-world-zones button{font-family:var(--gs-head);letter-spacing:0}
@media(min-width:720px) and (max-width:999px){
  .gsh[data-lab] .lab-clock-sec .clocks{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .gsh[data-lab] .lab-sh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gsh[data-lab] .tl-sec .tl-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;margin-inline:auto;padding:0}
  .gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner){gap:24px}
  .gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) h2{font-size:30px}
}
@media(min-width:1000px){.gsh[data-lab] .lab-sh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:719px){
  .gsh[data-lab] .dk-pane.dk-awaiting{display:none}
  .gsh[data-lab] .lab-desk-next{padding:12px}
  .gsh[data-lab] .lab-world-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
  .gsh[data-lab] .lab-world-zones button{height:auto;min-height:44px;border:1px solid var(--gs-rule);border-radius:999px;background:var(--gs-surface);color:var(--gs-ink-2);display:flex;flex-direction:column;gap:4px;padding:8px 4px;font-size:13px}
  .gsh[data-lab] .lab-world-zones button small{font:400 10px/1 var(--gs-mono)}
  .gsh[data-lab] .lab-world-zones button[aria-selected="true"]{background:var(--gs-ink);color:var(--gs-on-accent);border-color:var(--gs-ink)}
  .gsh[data-lab] .lab-clock-sec .clocks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gsh[data-lab] .lab-clock-sec .clock.lab-ck-card:not(.zone-on){display:none}
  .gsh[data-lab] .lab-sh-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}
  .gsh[data-lab] .lab-sh-tab{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;border-bottom:2px solid var(--gs-rule);font:700 13px/1.2 var(--gs-head);color:var(--gs-ink-2);cursor:pointer}
  .gsh[data-lab] .lab-sh-tab[aria-selected="true"]{color:var(--gs-ink);border-color:var(--gs-green-active);background:transparent}
  .gsh[data-lab] .lab-sh-tab .mono{font-size:9px;letter-spacing:0}
  .gsh[data-lab] .lab-sh-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:auto;grid-auto-columns:88%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0 10px;position:relative}
  .gsh[data-lab] .lab-sh-grid::-webkit-scrollbar{display:none}
  .gsh[data-lab] .lab-sh-card,.gsh[data-lab] .lab-sh-card.is-on{display:grid;grid-row:auto;grid-template-rows:auto 1fr;scroll-snap-align:start;padding:12px}
  .gsh[data-lab] .lab-sh-card ul{grid-row:auto;grid-template-rows:repeat(3,1fr);gap:8px}
  .gsh[data-lab] .lab-sh-i{padding:10px}
  .gsh[data-lab] .lab-sh-i b{font-size:16px}
  .gsh[data-lab] .lab-sh-i small{font-size:13px}
  .gsh[data-lab] .lab-sh-fmt{font-size:9px;margin-bottom:4px;letter-spacing:0}
  .gsh[data-lab] .tl-sec .tl-grid{padding-bottom:12px}
  .gsh[data-lab] .tl-sec .tl-all{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
  .gsh[data-lab] .tl-all-slots{display:none}
  .gsh[data-lab] :is(.lab-bench-sec,.lab-acquret-note){padding-block:36px}
  .gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner){grid-template-columns:minmax(0,1fr);gap:22px}
  .gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) h2{font-size:28px;line-height:1.25}
  .gsh[data-lab] :is(.lab-bench-inner,.lab-acquret-inner) p{font-size:14px;line-height:1.5}
  .gsh[data-lab] .lab-bench-form .note{font-size:12px}
  .gsh[data-lab] .lab-acquret-actions{gap:18px;margin-top:18px}
}
.gsh[data-lab] :is(.lab-sh-tab,.lab-world-zones button,.lab-story-link):focus-visible{outline:2px solid var(--gs-green-active);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.gsh[data-lab] :is(.lab-sh-grid,.clocks){scroll-behavior:auto}}

/* Desk v9 (lab): persona-tinted labels + free-tools CTA floats outside the desk; Tools headline breathes like the Shelf */
.gsh[data-lab] .dk-zero .mono,.gsh[data-lab] .dk-title span{color:var(--pc)}
.gsh[data-lab] .lab-desk-next{border-top:0;padding:0;margin-top:clamp(20px,3vh,32px)}
@media(max-width:719px){.gsh[data-lab] .lab-desk-next{padding:0;margin-top:20px}}
.gsh[data-lab] .tl-head{margin-bottom:clamp(28px,4vh,40px)}
.gsh[data-lab] .dk-zero .mono.dk-ok{color:var(--gs-green-active)}

/* Desktop first fold (lab): hero fills one screen so the next fold never peeks under the CTAs */
@media (min-width:720px) and (min-height:521px){
  .gsh[data-lab] .hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding-bottom:max(2rem,4vh)}
}

/* Launch essentials: header clearance on resized/tiled windows + kicker restored 720–1023 + clean anchor landings */
.gsh[data-lab] .hd + .hero{padding-top:calc(var(--hd-h) + clamp(20px,3.5vh,32px))}
@media (min-width:720px) and (max-width:1023px) and (not ((orientation:landscape) and (max-height:520px))){
  .gsh[data-lab] .hero .tpill.tkick{display:inline-flex}
}
@media (max-height:620px) and (not ((orientation:landscape) and (max-height:520px))){
  .gsh[data-lab] .hero{justify-content:flex-start !important;gap:clamp(8px,1.8vh,18px)}
}
.gsh[data-lab] [id]{scroll-margin-top:calc(var(--hd-h,72px) + 28px)}
/* Desk anchor: land on the section's own ground so no hero buttons ghost above the header */
.gsh[data-lab] #desk{scroll-margin-top:0;padding-top:calc(var(--hd-h,72px) + 24px) !important}

/* Hero kicker v2 (lab): live visitor clock · story stop, plus guaranteed air above the headline */
.gsh[data-lab] .hero .tpill.tkick{margin-bottom:clamp(14px,2.2vh,22px)!important;white-space:nowrap}
.gsh[data-lab] .hero .hero-h1{margin-top:0!important}
.gsh[data-lab] .hero .tpill.tkick .tk-live{font:700 inherit;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gs-green-active,#1B6B38)}
.gsh[data-lab][data-theme="dark"] .hero .tpill.tkick .tk-live{color:#35BD6B}
.gsh[data-lab] .hero .tpill.tkick .tk-dot{font-style:normal;color:var(--gs-ink-2)}
@media (max-width:359px){.gsh[data-lab] .hero .tpill.tkick{letter-spacing:.04em}}

/* Lab: smooth scrubber — custom rail/thumb glide; linear sweep while playing (interval 2.6s) */
.gsh .hero .stage-card .lab-track{--gl:.38s cubic-bezier(.16,1,.3,1);--tw:14px;position:relative;flex:1;height:22px;display:block;--fc:rgba(26,29,43,.55);--rc:rgba(26,29,43,.12)}
.gsh[data-theme="dark"] .hero .stage-card .lab-track,.gsh .hero[data-stop="2"] .stage-card .lab-track,.gsh .hero[data-stop="3"] .stage-card .lab-track{--fc:rgba(255,255,255,.6);--rc:rgba(255,255,255,.12)}
.gsh .hero .stage-card .lab-track[data-playing]{--gl:.75s cubic-bezier(.2,.8,.2,1)}
.gsh .hero .stage-card .lab-track{cursor:pointer}
.gsh .hero .stage-card .lab-track input[type=range]{cursor:grab}
.gsh .hero .stage-card .lab-track input[type=range]:active{cursor:grabbing}
.gsh .hero .stage-card .scrub-ticks button{cursor:pointer;transition:transform .15s var(--gs-ease),color .15s}
@media (hover:hover){.gsh .hero .stage-card .scrub-ticks button:hover{transform:translateY(-1px)}}
.gsh .lab-track .lt-rail{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:99px;background:var(--rc);overflow:hidden}
.gsh .lab-track .lt-fill{position:absolute;inset:0;border-radius:inherit;background:var(--fc);transform-origin:left center;
  transform:scaleX(var(--pos));transition:transform var(--gl);will-change:transform}
.gsh .lab-track .lt-thumb{position:absolute;top:50%;left:calc(var(--tw) / 2 + (100% - var(--tw)) * var(--pos));width:var(--tw);height:var(--tw);margin:calc(var(--tw) / -2) 0 0 calc(var(--tw) / -2);border-radius:50%;
  background:#FFFFFF;border:1px solid rgba(26,29,43,.18);box-shadow:0 1px 4px rgba(0,0,0,.18);transition:left var(--gl),transform .15s var(--gs-ease);pointer-events:none}
.gsh .lab-track:hover .lt-thumb{transform:scale(1.12)}
.gsh .hero .stage-card .lab-track input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}
.gsh .hero .stage-card .lab-track:has(input:focus-visible) .lt-thumb{outline:2px solid var(--gs-indigo);outline-offset:3px}
.gsh .hero:has(.lab-track[data-playing]) .lab-dial .orb{transition:left .75s cubic-bezier(.2,.8,.2,1),top .75s cubic-bezier(.2,.8,.2,1),background .6s,box-shadow .6s}
@media (prefers-reduced-motion:reduce){.gsh .lab-track .lt-fill,.gsh .lab-track .lt-thumb,.gsh .hero .lab-dial .orb{transition:none!important}}

/* ===== Claude pass: closing card, shelf subgrid, founders, shelf pages ===== */
/* ============================================================================
   Unified closing section — Bench + Acquret note + work-in-progress strip.
   Paste into gs-lab.css, REPLACING the old .lab-bench-* / .lab-acquret-* block
   (currently gs-lab.css lines 2023-2040, plus the media-query entries at 2046,
   2047, 2074-2079). Keep line 2081's focus-visible rule — .lab-story-link
   survives into the new markup.

   Locked tokens only. No --gs-indigo, no coloured headline text; the terracotta
   hand wave (.hl-hand) stays the single headline accent.
   ========================================================================= */

.gsh[data-lab] .lab-close {
  padding-block: 56px;
  border-top: 1px solid var(--gs-rule);
  background: var(--gs-ground);
  color: var(--gs-ink);
}

/* One container, one border. Internal hairlines do the separating that three
   stacked <section>s used to do with three top borders. */
.gsh[data-lab] .lab-close-card {
  border: 1px solid var(--gs-rule);
  border-radius: 20px;
  background: var(--gs-raised);
  overflow: clip;
}

.gsh[data-lab] .lab-close-band {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  padding: clamp(24px, 3.4vw, 40px);
}

.gsh[data-lab] .lab-close-band + .lab-close-band {
  border-top: 1px solid var(--gs-rule);
}

.gsh[data-lab] .lab-close-say {
  display: grid;
  gap: 12px;
  align-content: start;
  text-align: left;
}

.gsh[data-lab] .lab-close-kick {
  color: var(--gs-green-active);
  letter-spacing: 0;
}
.gsh[data-lab][data-theme="dark"] .lab-close-kick {
  color: var(--gs-green);
}

/* Section headline. Pure ink in both themes — the wave is the only accent. */
.gsh[data-lab] .lab-close-say h2 {
  font: 700 36px/1.2 var(--gs-head);
  letter-spacing: 0;
  margin: 0;
  color: var(--gs-ink);
  text-wrap: pretty;
}

.gsh[data-lab] .lab-close-say p {
  font: 400 16px/1.55 var(--gs-ui);
  color: var(--gs-ink-2);
  margin: 0;
}

/* --- Acquret band: demoted while the bench is above it ------------------- */
/* This is the fix for banner fatigue. Two 36px Caslon headlines stacked read
   as two competing sections; one headline plus a clearly subordinate band
   reads as one section with a footnote. */
.gsh[data-lab] .lab-close-note:not(.is-lead) .lab-close-say h2 {
  font-size: 23px;
  line-height: 1.3;
}
.gsh[data-lab] .lab-close-note:not(.is-lead) .lab-close-say h2 em.hl-hand {
  background-size: 100% 0.42em; /* lighter wave to match the smaller type */
}

.gsh[data-lab] .lab-close-notebody {
  display: grid;
  gap: 0;
}
.gsh[data-lab] .lab-close-notebody p {
  font: 400 16px/1.55 var(--gs-ui);
  color: var(--gs-ink-2);
  margin: 0;
}
.gsh[data-lab] .lab-close-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 22px;
}

/* --- Bench form ---------------------------------------------------------- */
.gsh[data-lab] .lab-close-form fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 16px;
  display: grid;
  gap: 8px;
}
.gsh[data-lab] .lab-close-form legend {
  font: 700 16px/1.4 var(--gs-head);
  color: var(--gs-ink);
  margin-bottom: 10px;
  padding: 0;
}
.gsh[data-lab] .lab-close-form label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  font: 400 14px/1.4 var(--gs-ui);
  color: var(--gs-ink);
  cursor: pointer;
}
.gsh[data-lab] .lab-close-form input[type="radio"] {
  accent-color: var(--gs-green-active);
  width: 18px;
  height: 18px;
  flex: none;
}
.gsh[data-lab][data-theme="dark"] .lab-close-form input[type="radio"] {
  accent-color: var(--gs-green);
}

.gsh[data-lab] .lab-close-signup {
  display: flex;
  gap: 8px;
}
.gsh[data-lab] .lab-close-signup input {
  min-width: 0;
  flex: 1;
  border: 1px solid var(--gs-rule);
  border-radius: 10px;
  background: var(--gs-surface);
  color: var(--gs-ink-2);
  padding: 12px;
  font: 400 14px/1.2 var(--gs-ui);
}
.gsh[data-lab] .lab-close-signup input:disabled {
  cursor: not-allowed;
  opacity: 0.75;
}

/* A disabled control must not wear the primary gradient — it currently reads
   as the main CTA of the whole page while doing nothing. Flat, quiet, and
   obviously inert instead. */
.gsh[data-lab] .lab-close-join {
  flex: none;
  border: 1px solid var(--gs-rule-2);
  border-radius: 999px;
  padding: 12px 22px;
  background: var(--gs-surface-2);
  color: var(--gs-ink-3);
  font: 700 14px/1 var(--gs-head);
  cursor: not-allowed;
}

.gsh[data-lab] .lab-close-pending {
  font-size: 12px;
  line-height: 1.5;
  color: var(--gs-ink-3);
  margin: 10px 0 0;
}

/* --- Status strip -------------------------------------------------------- */
.gsh[data-lab] .lab-close-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 14px clamp(24px, 3.4vw, 40px);
  border-top: 1px solid var(--gs-rule);
  background: var(--gs-surface);
  font-size: 12px;
  line-height: 1.5;
  color: var(--gs-ink-3);
}
.gsh[data-lab] .lab-close-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gs-ink-2);
  font-weight: 700;
}
.gsh[data-lab] .lab-close-status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gs-green-active);
  flex: none;
}
.gsh[data-lab][data-theme="dark"] .lab-close-status i {
  background: var(--gs-green);
}
.gsh[data-lab] .lab-close-ask {
  flex: 1 1 260px;
  min-width: 0;
}
.gsh[data-lab] .lab-close-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-left: auto;
}
.gsh[data-lab] .lab-close-links a {
  display: inline-flex;
  align-items: center;
  color: var(--gs-ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gsh[data-lab] .lab-close-links a:hover {
  color: var(--gs-green-active);
}
.gsh[data-lab][data-theme="dark"] .lab-close-links a:hover {
  color: var(--gs-green);
}

.gsh[data-lab] :is(.lab-close-links a, .lab-close-join):focus-visible {
  outline: 2px solid var(--gs-green-active);
  outline-offset: 3px;
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
  .gsh[data-lab] .lab-close-band {
    gap: 24px;
  }
  .gsh[data-lab] .lab-close-say h2 {
    font-size: 30px;
  }
  .gsh[data-lab] .lab-close-note:not(.is-lead) .lab-close-say h2 {
    font-size: 21px;
  }
}

@media (max-width: 760px) {
  .gsh[data-lab] .lab-close {
    padding-block: 36px;
  }
  .gsh[data-lab] .lab-close-band {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  .gsh[data-lab] .lab-close-say h2 {
    font-size: 28px;
    line-height: 1.25;
  }
  .gsh[data-lab] .lab-close-note:not(.is-lead) .lab-close-say h2 {
    font-size: 20px;
  }
  .gsh[data-lab] :is(.lab-close-say p, .lab-close-notebody p) {
    font-size: 14px;
    line-height: 1.5;
  }
  .gsh[data-lab] .lab-close-actions {
    gap: 18px;
    margin-top: 18px;
  }
  .gsh[data-lab] .lab-close-links {
    margin-left: 0;
  }
}
/* ============================================================================
   Task 1 — Shelf rack: subgrid alignment + inset workbench tiles.
   Append to the END of gs-lab.css (it must come after the "Shelf v3" block at
   ~line 1948, which is what currently breaks the alignment).

   THE BUG
   gs-lab.css:1742 already sets the card's <ul> to subgrid:
       @supports(grid-template-rows:subgrid){
         .gsh .lab-sh-card ul{grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
       }
   ...but line 1958, in the later "Shelf v3" block, overrides it at equal
   specificity:
       .gsh .lab-sh-card ul{gap:8px;grid-template-rows:repeat(3,auto)}
   Later rule wins, so the <ul> falls back to its own three auto rows and each
   column sizes independently — which is exactly the ragged divider alignment in
   screenshot 1. Line 1970 then re-opens an @supports block but only restores
   row-gap, not the subgrid.

   Re-declaring it here, after both, puts the subgrid back. The repeat(3,auto)
   at 1958 stays as the non-subgrid fallback, so nothing regresses on older
   browsers. Do NOT delete line 1958.
   ========================================================================= */

@supports (grid-template-rows: subgrid) {
  @media (min-width: 620px) {
    /* Card spans the four shared tracks the grid creates (header + 3 picks). */
    .gsh .lab-sh-card {
      grid-row: span 4;
      grid-template-rows: subgrid;
      row-gap: 0;
    }
    /* The fix: the list re-adopts the three shared pick tracks, so tile tops
       and dividers land on one baseline across all four columns regardless of
       how many lines each description wraps to. */
    .gsh .lab-sh-card ul {
      grid-row: span 3;
      grid-template-rows: subgrid;
      row-gap: 8px;
    }
    /* Tiles fill their shared track instead of sitting at natural height. */
    .gsh .lab-sh-card li {
      display: grid;
    }
    .gsh .lab-sh-i {
      height: 100%;
      align-items: flex-start;
    }
  }
}

/* ---------------------------------------------------------------------------
   Inset workbench tiles. The card is the bench surface; each pick is a tile
   recessed into it. Depth comes from one inner shadow plus a light top edge,
   not from a drop shadow — a raised tile on a raised card reads as two floating
   objects, which is what flattens the current hierarchy.
   ------------------------------------------------------------------------ */

.gsh .lab-sh-card {
  background: var(--gs-surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 1px 2px rgba(26, 29, 43, 0.04);
}

.gsh .lab-sh-i {
  background: var(--gs-raised);
  box-shadow:
    inset 0 1px 2px rgba(26, 29, 43, 0.06),
    inset 0 0 0 1px rgba(26, 29, 43, 0.02);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

/* Hover lifts the tile out of the well rather than translating the whole card:
   the recess fills, the edge picks up the brand green. */
.gsh .lab-sh-i:hover,
.gsh .lab-sh-i:focus-visible {
  transform: none;
  background: var(--gs-raised);
  border-color: var(--gs-green-active);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 4px 14px -8px rgba(23, 61, 36, 0.35);
}

.gsh[data-theme="dark"] .lab-sh-card {
  background: var(--gs-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.gsh[data-theme="dark"] .lab-sh-i {
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}
.gsh[data-theme="dark"] .lab-sh-i:hover,
.gsh[data-theme="dark"] .lab-sh-i:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 4px 16px -8px rgba(53, 189, 107, 0.4);
}

/* The header rule is the bench's edge — make it read as a scored line in the
   surface rather than a border between two cards. */
.gsh .lab-sh-top {
  border-bottom: 1px solid var(--gs-rule-2, var(--gs-rule));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
.gsh[data-theme="dark"] .lab-sh-top {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}

@media (prefers-reduced-motion: reduce) {
  .gsh .lab-sh-i {
    transition: none;
  }
}

/* Phone carousel keeps its own flow — subgrid off, tiles equal height so the
   snap points stay even. */
@media (max-width: 619px) {
  .gsh[data-lab] .lab-sh-card ul {
    grid-row: auto;
    grid-template-rows: repeat(3, 1fr);
  }
}
/* Task 3 — founders cards. Append to gs-lab.css.
   Scoped CSS rather than Tailwind utilities so this block ports to the static
   build by hand, like the rest of the lab. Locked tokens only. */

.gsh[data-lab] .ab-founders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start; /* no stagger — see about-edits.md, Edit 2 */
}

.gsh[data-lab] .ab-founder {
  margin: 0;
  min-width: 0;
}

.gsh[data-lab] .ab-founder-img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  object-fit: cover;
  object-position: 50% 22%;
  border: 1px solid var(--gs-rule);
  background: var(--gs-surface);
}

/* Monogram plate for a founder without a portrait yet. Deliberately quiet:
   a gradient block the size of a photo competes with the real photo beside it
   and makes the pair look unfinished in a way a flat plate does not. */
.gsh[data-lab] .ab-founder-mono {
  display: grid;
  place-items: center;
  background: var(--gs-surface-2);
  box-shadow: inset 0 1px 2px rgba(26, 29, 43, 0.06);
}
.gsh[data-lab] .ab-founder-mono span {
  font: 700 clamp(30px, 4vw, 42px) / 1 var(--gs-head);
  letter-spacing: 0.02em;
  color: var(--gs-ink-3);
}
.gsh[data-lab][data-theme="dark"] .ab-founder-mono {
  background: rgba(255, 255, 255, 0.045);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.gsh[data-lab] .ab-founder figcaption {
  display: grid;
  gap: 2px;
  margin-top: 14px;
}
.gsh[data-lab] .ab-founder figcaption b {
  font: 700 18px/1.3 var(--gs-head);
  color: var(--gs-ink);
}
.gsh[data-lab] .ab-founder figcaption small {
  font: 400 14px/1.4 var(--gs-ui);
  color: var(--gs-ink-2);
}

.gsh[data-lab] .ab-founder-li {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gs-ink-2);
  text-decoration: underline;
  text-underline-offset: 3px;
  justify-self: start;
}
.gsh[data-lab] .ab-founder-li:hover {
  color: var(--gs-green-active);
}
.gsh[data-lab][data-theme="dark"] .ab-founder-li:hover {
  color: var(--gs-green);
}
.gsh[data-lab] .ab-founder-li:focus-visible {
  outline: 2px solid var(--gs-green-active);
  outline-offset: 3px;
}

@media (max-width: 560px) {
  .gsh[data-lab] .ab-founders {
    gap: 14px;
  }
  .gsh[data-lab] .ab-founder figcaption b {
    font-size: 16px;
  }
}
/* ============================================================================
   Tasks 4 & 5 — /shelf, /playlists, /films.
   Append to gs-lab.css, after gs-shelf.css.

   Locked tokens only. Both themes defined at token level so an explicit theme
   choice and the OS default resolve the same way. No new typefaces: Helvetica
   Neue bold for headings, Space Grotesk for body, JetBrains Mono for kickers
   and badges, Libre Caslon italic only inside .hl-hand.
   ========================================================================= */

/* --- Jump bar ------------------------------------------------------------ */
.gsh[data-lab] .shp-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 26px 0 8px;
}
.gsh[data-lab] .shp-jump a {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 7px 12px 7px 8px;
  border: 1px solid var(--gs-rule);
  border-radius: 999px;
  background: var(--gs-raised);
  color: var(--gs-ink-2);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.gsh[data-lab] .shp-jump a:hover {
  border-color: var(--gs-green-active);
  color: var(--gs-ink);
}
.gsh[data-lab][data-theme="dark"] .shp-jump a:hover {
  border-color: var(--gs-green);
}
.gsh[data-lab] .shp-jump a:focus-visible {
  outline: 2px solid var(--gs-green-active);
  outline-offset: 3px;
}

/* --- Sections ------------------------------------------------------------ */
.gsh[data-lab] .shp-sections {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.gsh[data-lab] .shp-sec-block {
  border: 1px solid var(--gs-rule);
  border-radius: 18px;
  background: var(--gs-surface);
  padding: clamp(20px, 2.6vw, 30px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.gsh[data-lab][data-theme="dark"] .shp-sec-block {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* A pending section must look pending without looking broken: same frame,
   lower contrast, and an explicit flag rather than a grey ghost. */
.gsh[data-lab] .shp-sec-block.is-pending {
  background: transparent;
  border-style: dashed;
  box-shadow: none;
}

.gsh[data-lab] .shp-sec-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  margin-bottom: 18px;
}
.gsh[data-lab] .shp-sec-head h2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font: 700 clamp(21px, 2.3vw, 26px) / 1.2 var(--gs-head);
  letter-spacing: 0;
  color: var(--gs-ink);
}
.gsh[data-lab] .shp-sec-head p {
  margin: 0;
  font: 400 15px/1.5 var(--gs-ui);
  color: var(--gs-ink-2);
}
.gsh[data-lab] .shp-flag {
  margin-left: auto;
  padding: 4px 9px;
  border: 1px solid var(--gs-rule-2);
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gs-ink-3);
}

/* --- Rows ---------------------------------------------------------------- */
.gsh[data-lab] .shp-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.gsh[data-lab] .shp-i {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--gs-rule);
  border-radius: 12px;
  background: var(--gs-raised);
  color: var(--gs-ink);
  text-decoration: none;
  box-shadow: inset 0 1px 2px rgba(26, 29, 43, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.gsh[data-lab][data-theme="dark"] .shp-i {
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}
.gsh[data-lab] .shp-i > span {
  min-width: 0;
}
.gsh[data-lab] .shp-i b {
  display: block;
  font: 700 16.5px/1.3 var(--gs-head);
  color: var(--gs-ink);
}
.gsh[data-lab] .shp-i small {
  display: block;
  margin-top: 3px;
  font: 400 13.5px/1.5 var(--gs-ui);
  color: var(--gs-ink-2);
}
.gsh[data-lab] .shp-i svg {
  flex: none;
  margin-top: 4px;
  color: var(--gs-ink-2);
}
.gsh[data-lab] a.shp-i:hover,
.gsh[data-lab] a.shp-i:focus-visible {
  border-color: var(--gs-green-active);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 4px 14px -8px rgba(23, 61, 36, 0.35);
}
.gsh[data-lab][data-theme="dark"] a.shp-i:hover,
.gsh[data-lab][data-theme="dark"] a.shp-i:focus-visible {
  border-color: var(--gs-green);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 16px -8px rgba(53, 189, 107, 0.4);
}
.gsh[data-lab] a.shp-i:focus-visible {
  outline: 2px solid var(--gs-green-active);
  outline-offset: 3px;
}

.gsh[data-lab] .shp-off {
  background: transparent;
  border-style: dashed;
  box-shadow: none;
  cursor: default;
}
.gsh[data-lab] .shp-off b {
  color: var(--gs-ink-2);
}

.gsh[data-lab] .shp-more {
  display: inline-flex;
  align-items: center;
  margin-top: 16px;
  color: var(--gs-ink);
  font: 700 14px/1.3 var(--gs-head);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.gsh[data-lab] .shp-more:hover {
  color: var(--gs-green-active);
}
.gsh[data-lab][data-theme="dark"] .shp-more:hover {
  color: var(--gs-green);
}

/* --- Playlist & film cards ----------------------------------------------- */
.gsh[data-lab] .pl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 14px;
  margin-top: 26px;
}

.gsh[data-lab] .pl-card {
  display: grid;
  align-content: start;
  gap: 4px;
  min-height: 190px;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--gs-rule);
  border-radius: 18px;
  background: var(--tone-bg);
  color: var(--gs-ink);
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.gsh[data-lab] .pl-card b {
  font: 700 clamp(20px, 2.2vw, 25px) / 1.2 var(--gs-head);
  color: var(--gs-ink);
}
.gsh[data-lab] .pl-card small {
  font: 400 14px/1.5 var(--gs-ui);
  color: var(--gs-ink-2);
}
.gsh[data-lab] .pl-kick {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tone-ink);
}
.gsh[data-lab] .pl-why {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--gs-rule);
  font: 400 13.5px/1.55 var(--gs-ui);
  color: var(--gs-ink-2);
}
.gsh[data-lab] .pl-go {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  padding-top: 14px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tone-ink);
}
.gsh[data-lab] a.pl-card:hover,
.gsh[data-lab] a.pl-card:focus-visible {
  border-color: var(--tone-ink);
  box-shadow: 0 6px 20px -10px rgba(26, 29, 43, 0.3);
}
.gsh[data-lab] a.pl-card:focus-visible {
  outline: 2px solid var(--gs-green-active);
  outline-offset: 3px;
}
.gsh[data-lab] .pl-card.is-pending {
  background: transparent;
  border-style: dashed;
}

/* Tones reuse the persona hues already locked for the Sanity Desk seats, so the
   site has one colour vocabulary rather than a second palette for downtime. */
.gsh[data-lab] .pl-tone-green  { --tone-bg: color-mix(in srgb, #1E432A 7%, var(--gs-surface)); --tone-ink: #1E432A; }
.gsh[data-lab] .pl-tone-blue   { --tone-bg: color-mix(in srgb, #1E3456 7%, var(--gs-surface)); --tone-ink: #1E3456; }
.gsh[data-lab] .pl-tone-coral  { --tone-bg: color-mix(in srgb, #7F3025 7%, var(--gs-surface)); --tone-ink: #7F3025; }
.gsh[data-lab] .pl-tone-ochre  { --tone-bg: color-mix(in srgb, #6B4412 7%, var(--gs-surface)); --tone-ink: #6B4412; }

.gsh[data-lab][data-theme="dark"] .pl-tone-green  { --tone-bg: color-mix(in srgb, #4ADE80 9%, var(--gs-surface)); --tone-ink: #4ADE80; }
.gsh[data-lab][data-theme="dark"] .pl-tone-blue   { --tone-bg: color-mix(in srgb, #60A5FA 9%, var(--gs-surface)); --tone-ink: #60A5FA; }
.gsh[data-lab][data-theme="dark"] .pl-tone-coral  { --tone-bg: color-mix(in srgb, #FB7185 9%, var(--gs-surface)); --tone-ink: #FB7185; }
.gsh[data-lab][data-theme="dark"] .pl-tone-ochre  { --tone-bg: color-mix(in srgb, #FBBF24 9%, var(--gs-surface)); --tone-ink: #FBBF24; }

@media (prefers-reduced-motion: reduce) {
  .gsh[data-lab] :is(.shp-i, .pl-card) {
    transition: none;
  }
}

@media (max-width: 620px) {
  .gsh[data-lab] .shp-sec-head {
    gap: 6px;
  }
  .gsh[data-lab] .shp-flag {
    margin-left: 0;
  }
  .gsh[data-lab] .pl-card {
    min-height: 0;
  }
}
/* Letter badge. A filled chip rather than bare type, so the rack's mark reads
   as a different system from the directory's 01-04 at a glance. */
.gsh .lab-sh-key {
  display: inline-grid;
  place-items: center;
  min-width: 1.45em;
  height: 1.45em;
  margin-right: 0.15em;
  padding: 0 0.3em;
  border-radius: 4px;
  background: var(--gs-green-active);
  color: var(--gs-on-accent);
  font: 700 10px/1 var(--gs-mono);
  letter-spacing: 0.04em;
  vertical-align: 0.05em;
}
.gsh[data-theme="dark"] .lab-sh-key {
  background: var(--gs-green);
  color: var(--gs-on-accent);
}

/* In the phone tab strip the badge sits inline ahead of the label. */
.gsh .lab-sh-tab .lab-sh-key {
  margin-right: 0.4em;
}
.gsh .lab-sh-tab[aria-selected="true"] .lab-sh-key {
  background: var(--gs-ink);
  color: var(--gs-ground);
}


/* ===== About page (scoped .gsh, Claude pass 2) ===== */
/* ============================================================================
   About page — scoped .gsh CSS, replacing the Tailwind utility layout.
   Append to gs-lab.css.

   DELETE FIRST: the `.gs-about` block at gs-lab.css:1365-1388 and the
   `.gs-about` selectors in the flip-guard at line 1543. The page no longer has
   a gs-about / gs-dark scope — everything lives inside .gsh[data-theme], so
   those rules can never match again. Line 1543 becomes:
       html.gs-flip .gsh,html.gs-flip .gsh *{transition:none!important}
   The @keyframes abSlash / abRest / abPin are still used — keep them.

   No colour is hard-coded. Every value resolves through var(--gs-*), so this
   page follows the token table automatically in both themes.
   ========================================================================= */

.gsh.ab {
  overflow-x: clip;
}

.gsh .ab-head {
  position: sticky;
  top: 0;
  z-index: 50;
  background: transparent;
}

/* --------------------------------------------------------------- Hero --- */
.gsh .ab-hero {
  padding: 32px 0 64px;
}
@media (min-width: 900px) {
  .gsh .ab-hero {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100svh - 74px);
    padding-block: 48px;
  }
}

.gsh .ab-hero-grid {
  display: grid;
  gap: 36px;
  align-items: center;
}
@media (min-width: 900px) {
  .gsh .ab-hero-grid {
    grid-template-columns: 1.4fr 1fr;
    column-gap: 40px;
    row-gap: 0;
  }
  .gsh .ab-hero-say { grid-column: 1; grid-row: 1; align-self: end; }
  .gsh .ab-hero-sub { grid-column: 1; grid-row: 2; align-self: start; }
  .gsh .ab-hero-cta { grid-column: 1 / -1; grid-row: 3; padding-top: 56px; }
  .gsh .ab-hero-art { grid-column: 2; grid-row: 1 / span 2; align-self: start; margin-top: 28px; }
}

/* Phone order: headline, art, copy, buttons. */
.gsh .ab-hero-say { order: 1; min-width: 0; text-align: center; }
.gsh .ab-hero-art { order: 2; min-width: 0; width: 100%; max-width: 440px; margin-inline: auto; }
.gsh .ab-hero-sub { order: 3; min-width: 0; text-align: center; }
.gsh .ab-hero-cta { order: 4; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (min-width: 900px) {
  .gsh .ab-hero-say,
  .gsh .ab-hero-sub { text-align: left; }
  .gsh .ab-hero-cta { justify-content: flex-start; }
  .gsh .ab-hero-art { margin-inline: 0 0; margin-left: auto; }
}

.gsh .ab-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2px 8px;
  margin: 0 0 20px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gs-ink-3);
}
.gsh .ab-kicker > span { display: inline-block; white-space: nowrap; }
.gsh .ab-kicker strong { font-weight: 700; color: var(--gs-ink); }
.gsh .ab-kicker i { font-style: normal; color: var(--gs-ink-2); }
.gsh .ab-kicker .ab-slash { color: var(--gs-green-active); }
.gsh[data-theme="dark"] .ab-kicker .ab-slash { color: var(--gs-green); }
@media (min-width: 900px) {
  .gsh .ab-kicker { justify-content: flex-start; }
}

/* Headline: pure ink in both themes, terracotta wave the only accent. */
.gsh .ab-h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28em;
  margin: 0;
  font: 700 clamp(30px, 4.4vw, 58px) / 1.15 var(--gs-head);
  letter-spacing: -0.035em;
  color: var(--gs-ink);
  text-wrap: balance;
}
@media (min-width: 900px) {
  .gsh .ab-h1 { align-items: flex-start; }
}

/* "marketers" chip. Replaces the rocket-emoji pill — the icon is an SVG so it
   renders the same shape on every device. */
.gsh .ab-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.22em;
  padding: 0.04em 0.4em 0.04em 0.32em;
  border: 1px solid var(--gs-rule-2);
  border-radius: 999px;
  background: var(--gs-raised);
  color: var(--gs-green-active);
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.1;
}
.gsh[data-theme="dark"] .ab-pill { color: var(--gs-green); }
.gsh .ab-ico { flex: none; }

.gsh .ab-hero-sub p {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  font-family: var(--gs-ui);
  color: var(--gs-ink-2);
  text-wrap: balance;
}
.gsh .ab-hero-sub p + p { margin-top: 12px; }
/* Specificity matches `.ab-hero-sub p` so margin:0 can't pin it left (stacked layout <900px). */
.gsh .ab-hero-sub p.ab-sub-phone { max-width: 360px; margin-inline: auto; font-size: 16px; }
@media (min-width: 600px) and (max-width: 899px) {
  .gsh .ab-hero-sub p.ab-sub-phone { max-width: 520px; font-size: 17px; }
}
.gsh .ab-sub-wide { display: none; max-width: 620px; }
@media (min-width: 900px) {
  .gsh .ab-sub-phone { display: none; }
  .gsh .ab-sub-wide { display: block; }
  .gsh .ab-hero-sub { margin-top: 24px; }
}

/* ------------------------------------------------- Browser-window art --- */
.gsh .ab-win {
  border: 1px solid var(--gs-rule);
  border-radius: 22px;
  background: var(--gs-raised);
  /* The old markup used var(--gs-shadow), which is never defined anywhere in
     gs-home.css or gs-lab.css — so the card has been shipping with no shadow
     at all. Real value here. */
  box-shadow: 0 18px 40px -24px rgba(26, 29, 43, 0.4);
  overflow: hidden;
}
.gsh[data-theme="dark"] .ab-win {
  box-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.7);
}

.gsh .ab-win-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px 0;
  border-bottom: 1px solid var(--gs-rule);
  background: var(--gs-surface);
}
.gsh .ab-dots { display: flex; flex: none; gap: 6px; padding-bottom: 10px; }
.gsh .ab-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gs-rule-2);
  box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.18);
}
/* Window-chrome dots read as chrome, not as status — kept neutral rather than
   red/amber/green, which collides with the brand's own semantic colours. */

.gsh .ab-tabs {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  gap: 4px;
  overflow: hidden;
}
.gsh .ab-tab {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--gs-rule);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--gs-raised);
  overflow: hidden;
  white-space: nowrap;
  cursor: default;
  /* --wm-g/--wm-i are set on .wm itself in gs-home.css, so they don't cascade
     to .ab-wm. Re-declared here from the same tokens rather than re-typed as
     hex, so the tab wordmark tracks the header lockup. */
  --wm-g: var(--gs-green);
  --wm-i: var(--gs-indigo);
}
.gsh .ab-tab-off {
  padding: 6px 8px;
  font-size: 10px;
  color: var(--gs-ink-3);
  opacity: 0.7;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The tab wordmark reuses the header's own --wm tokens, so it can't drift from
   the real lockup. (The old .gs-about overrides existed only because the card
   sat outside .gsh — it no longer does.) */
.gsh .ab-wm {
  display: inline-flex;
  align-items: baseline;
  padding-right: 0.15em;
  font: italic 400 16px/1.3 var(--gs-serif);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.gsh .ab-wm .ab-g { color: var(--wm-g, var(--gs-green)); }
.gsh .ab-wm .ab-s { color: var(--wm-i, var(--gs-indigo)); }
.gsh .ab-pin { color: var(--gs-ink-3); transform-origin: 50% 90%; animation: abPin 4.8s cubic-bezier(0.16, 1, 0.3, 1) infinite; }
.gsh .ab-rest {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding: 0 0.12em 0.22em 0;
  margin: 0 -0.12em -0.22em 0;
  max-width: 5em;
  animation: abRest 4.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}
@media (prefers-reduced-motion: reduce) {
  .gsh .ab-rest,
  .gsh .ab-pin,
  .gsh .ab-kicker .ab-slash { animation: none; }
}

.gsh .ab-win-body { padding: 20px 16px; }
@media (min-width: 560px) { .gsh .ab-win-body { padding: 24px; } }

.gsh .ab-promise { list-style: none; display: grid; gap: 18px; margin: 0; padding: 0; }
.gsh .ab-promise li { display: flex; gap: 12px; }
.gsh .ab-promise-n {
  flex: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--gs-green-active);
}
.gsh[data-theme="dark"] .ab-promise-n { color: var(--gs-green); }
.gsh .ab-promise b { display: block; font: 700 15px/1.35 var(--gs-head); color: var(--gs-ink); }
.gsh .ab-promise small { display: block; margin-top: 4px; font: 400 13px/1.6 var(--gs-ui); color: var(--gs-ink-2); }

.gsh .ab-win-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border-top: 1px solid var(--gs-rule);
  font-size: 10px;
  color: var(--gs-ink-3);
}
.gsh .ab-credit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: var(--gs-ink);
  text-underline-offset: 4px;
}
.gsh .ab-credit:hover { text-decoration: underline; }
.gsh .ab-li { display: inline-flex; color: var(--gs-indigo); }

/* ---------------------------------------------------------------- Why --- */
.gsh .ab-why {
  padding-block: 72px;
  border-top: 1px solid var(--gs-rule);
  background: var(--gs-surface);
}
@media (min-width: 640px) { .gsh .ab-why { padding-block: 88px; } }

.gsh .ab-why-head { display: flex; flex-direction: column; align-items: center; text-align: center; }
.gsh .ab-why-head h2 {
  margin: 0;
  font: 700 clamp(28px, 3.6vw, 48px) / 1.08 var(--gs-head);
  letter-spacing: -0.035em;
  color: var(--gs-ink);
  text-wrap: balance;
}
.gsh .ab-why-head p {
  max-width: 620px;
  margin: 16px auto 0;
  font: 400 17px/1.6 var(--gs-ui);
  color: var(--gs-ink-2);
}
.gsh .ab-flip-all { margin-top: 24px; }

.gsh .ab-cards {
  display: grid;
  gap: 16px;
  margin-top: 40px;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .gsh .ab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gsh .ab-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.gsh .ab-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 24px;
  border: 1px solid var(--gs-rule);
  border-radius: 22px;
  background: var(--gs-raised);
  color: var(--gs-ink);
  text-align: left;
  font-family: var(--gs-ui);
  cursor: pointer;
  transition: transform 0.3s var(--gs-ease, ease), border-color 0.3s ease;
}
.gsh .ab-card:hover { transform: translateY(-2px); }
.gsh .ab-card.is-on { border-color: var(--gs-green-active); }
.gsh[data-theme="dark"] .ab-card.is-on { border-color: var(--gs-green); }
.gsh .ab-card:focus-visible { outline: 2px solid var(--gs-green-active); outline-offset: 3px; }

.gsh .ab-card-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  font-size: 10px;
  color: var(--gs-ink-3);
}
.gsh .ab-card-tag {
  padding: 2px 8px;
  border: 1px solid var(--gs-rule-2);
  border-radius: 999px;
}
.gsh .ab-card.is-on .ab-card-tag { border-color: var(--gs-green-active); color: var(--gs-green-active); }
.gsh[data-theme="dark"] .ab-card.is-on .ab-card-tag { border-color: var(--gs-green); color: var(--gs-green); }

.gsh .ab-card-body { display: block; margin-top: 20px; }
.gsh .ab-card-body b { display: block; font: 700 20px/1.35 var(--gs-head); color: var(--gs-ink); }
.gsh .ab-card-body small { display: block; margin-top: 12px; font: 400 15px/1.6 var(--gs-ui); color: var(--gs-ink-2); }

/* The resolved state is the only place a non-ink colour carries meaning here:
   green = the move we made. The checkmark is CSS so it can't be copied into a
   headline by accident. */
.gsh .ab-card-move { font-size: 22px; color: var(--gs-green-active); }
.gsh[data-theme="dark"] .ab-card-move { color: var(--gs-green); }
.gsh .ab-card-move::before { content: "✓ "; }

.gsh .ab-card-foot { margin-top: auto; padding-top: 20px; font-size: 10px; color: var(--gs-indigo); }

@media (prefers-reduced-motion: reduce) {
  .gsh .ab-card { transition: none; }
  .gsh .ab-card:hover { transform: none; }
}

/* ----------------------------------------------------------- Founders --- */
.gsh .ab-founders-sec {
  padding-block: 88px;
  border-top: 1px solid var(--gs-rule);
  background: var(--gs-surface);
}

.gsh .ab-founders-grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 1024px) { .gsh .ab-founders-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; } }

.gsh .ab-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid var(--gs-rule-2);
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gs-ink-2);
}
.gsh .ab-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gs-green-active);
}
.gsh[data-theme="dark"] .ab-eyebrow::before { background: var(--gs-green); }

.gsh .ab-founders-say h2 {
  margin: 24px 0 0;
  font: 700 clamp(34px, 4.4vw, 56px) / 1.05 var(--gs-head);
  letter-spacing: -0.035em;
  color: var(--gs-ink);
  text-wrap: balance;
}
.gsh .ab-founders-say p {
  max-width: 520px;
  margin: 20px 0 0;
  font: 400 17px/1.6 var(--gs-ui);
  color: var(--gs-ink-2);
}

.gsh .ab-founders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start; /* no stagger — one photo + one plate reads as a bug */
}
.gsh .ab-founder { margin: 0; min-width: 0; }
.gsh .ab-founder-img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  object-fit: cover;
  object-position: 50% 22%;
  border: 1px solid var(--gs-rule);
  background: var(--gs-surface-2);
}
.gsh .ab-founder-mono {
  display: grid;
  place-items: center;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}
.gsh .ab-founder-mono span {
  font: 700 clamp(30px, 4vw, 42px) / 1 var(--gs-head);
  letter-spacing: 0.02em;
  color: var(--gs-ink-3);
}
.gsh .ab-founder figcaption { display: grid; gap: 2px; margin-top: 14px; }
.gsh .ab-founder figcaption b { font: 700 18px/1.3 var(--gs-head); color: var(--gs-ink); }
.gsh .ab-founder figcaption small { font: 400 14px/1.4 var(--gs-ui); color: var(--gs-ink-2); }
.gsh .ab-founder-li {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  margin-top: 8px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gs-ink-2);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gsh .ab-founder-li:hover { color: var(--gs-green-active); }
.gsh[data-theme="dark"] .ab-founder-li:hover { color: var(--gs-green); }
.gsh .ab-founder-li:focus-visible { outline: 2px solid var(--gs-green-active); outline-offset: 3px; }

@media (max-width: 560px) {
  .gsh .ab-founders { gap: 14px; }
  .gsh .ab-founder figcaption b { font-size: 16px; }
  .gsh .ab-why { padding-block: 56px; }
  .gsh .ab-founders-sec { padding-block: 56px; }
  .gsh .ab-card { min-height: 0; padding: 20px; }
}
