/* Practical AI Adoption guide: "the bottleneck moves".
   One reading column (680px, centred in the site grid); scenes keep the full container width. Every diagram sits full width straight after
   the text that explains it, and is scrubbed by scroll position as it passes through the viewport.
   The pile-vs-Better scene in 01 keeps its two columns.
   Colors are site tokens only: chapter-1 is the work (lines, lit stations, items),
   chapter-3 is where it breaks (the constraint, a skipped step, the added risk). */

.gai{
  --gai-accent:var(--chapter-1);
  --gai-accent-text:var(--chapter-1-text);
  --gai-warn:var(--chapter-3);
  --gai-warn-text:var(--chapter-3-text);
  --gai-text-w:680px;
  --gai-pad:clamp(16px,4vw,32px);
  overflow-x:clip;
}
.gai .wrap{padding-top:88px;padding-bottom:128px}

/* Type */
.gai-h1{margin:0;width:max-content;max-width:min(17ch,calc(100vw - 2 * var(--gai-pad)));font:500 clamp(40px,3.6vw + 22px,84px)/1.02 var(--font-serif);letter-spacing:-0.03em}
.gai-h1 em,.gai-h2 em,.gai-payoff-h em{font-style:italic}
.gai-lede{margin:0 0 32px;font:400 clamp(20px,.5vw + 17px,24px)/1.5 var(--font-serif);color:var(--ink-muted);text-wrap:pretty}
.gai-lede em{color:var(--ink)}
.gai-prose{max-width:62ch}
.gai-prose p{margin:0 0 24px;font:400 19px/1.7 var(--font-serif)}
.gai-prose p:last-child{margin-bottom:0}
.gai-prose em{font-style:italic}
.gai-aside{color:var(--ink-muted)}
.gai-strong{font-weight:600 !important}
.gai-h2{margin:0 0 36px;max-width:20ch;font:500 clamp(32px,2vw + 20px,54px)/1.06 var(--font-serif);letter-spacing:-0.025em;scroll-margin-top:24px}
.gai-sec{padding-top:176px}

/* Hero */
.gai-hero{max-width:var(--gai-text-w);margin-inline:auto}
.gai-hero-flow{margin-top:56px}
.gai-hero-b{margin-top:56px}
.gai-thesis{margin:0 0 32px;padding:0;max-width:24ch;font:500 clamp(30px,2.2vw + 16px,50px)/1.12 var(--font-serif);letter-spacing:-0.02em}
.gai-thesis::before{content:"";display:block;width:64px;height:4px;margin-bottom:24px;border-radius:var(--radius-pill);background:var(--gai-accent)}
.gai-thesis p{margin:0;text-wrap:balance}

/* The reading column and the full-width scenes. */
.gai-col{max-width:var(--gai-text-w);min-width:0;margin-inline:auto}
.gai-col .gai-prose{max-width:none}
.gai-scene{min-width:0}
.gai-scene > figure{margin:72px 0}
.gai-scene--brooks{margin-top:56px}
.gai-pull{margin:48px 0;padding:0;font:italic 400 clamp(24px,.9vw + 18px,32px)/1.32 var(--font-serif);letter-spacing:-0.01em}
.gai-pull p{margin:0;text-wrap:pretty}

/* 01: more vs better */
.gai-pile{max-width:1100px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:0 clamp(32px,6vw,96px);min-height:640px}
.gai-pole{display:flex;flex-direction:column;min-width:0}
.gai-pole-label{margin:0 0 20px;padding-bottom:14px;border-bottom:2px solid var(--ink);font:600 15px/1.4 var(--font-sans);color:var(--ink)}
.gai-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.gai-sheet{box-sizing:border-box;transform-origin:20% 50%;display:flex;align-items:center;min-height:50px;padding:0 18px;border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--line-input);box-shadow:var(--shadow-card);font:600 17px/1.3 var(--font-sans);color:var(--ink)}
.gai-sheet--blank{min-height:15px;padding:0;background:var(--surface);border-color:var(--line-input);box-shadow:var(--shadow-card)}
.gai-better{margin:0 0 20px;font:500 clamp(56px,3vw + 30px,92px)/1 var(--font-serif);letter-spacing:-0.035em}
.gai-better-line{display:block;height:3px;border-radius:var(--radius-pill);background:var(--gai-accent)}
.gai-better-note{margin:20px 0 0;max-width:24ch;font:400 16px/1.5 var(--font-sans);color:var(--ink-muted)}

/* 02: two lanes on one clock, read top to bottom */
.gai-lanes{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(32px,6vw,96px);align-items:start}
.gai-lane{min-width:0}
.gai-lane-name{margin:0;font:500 34px/1.15 var(--font-serif);letter-spacing:-0.015em}
.gai-lane-cap{margin:8px 0 28px;min-height:4.5em;padding-bottom:16px;border-bottom:2px solid var(--ink);font:400 15px/1.5 var(--font-sans);color:var(--ink-muted);transition:color 250ms ease-out}
.gai-lane-cap.is-wall{color:var(--gai-warn-text)}
.gai-track{position:relative;list-style:none;margin:0;padding:0 0 0 40px}
.gai-track::before{content:"";position:absolute;left:11px;top:var(--y0,12px);height:var(--y1,0);width:3px;border-radius:var(--radius-pill);background:var(--line-strong)}
.gai-track-fill{position:absolute;left:11px;width:3px;border-radius:var(--radius-pill);background:var(--gai-accent);transform-origin:50% 0;transform:scaleY(0);pointer-events:none}
.gai-lane.is-broken .gai-track-fill{background:var(--gai-warn)}
.gai-stop{position:relative;padding-bottom:22px}
.gai-stop:last-of-type{padding-bottom:0}
.gai-dot{position:absolute;z-index:1;left:-40px;top:1px;width:24px;height:24px;box-sizing:border-box;border-radius:50%;background:var(--bg);border:3px solid var(--line-input);transition:background-color 250ms ease-out,border-color 250ms ease-out}
.gai-stop.is-lit .gai-dot{background:var(--gai-accent);border-color:var(--gai-accent)}
.gai-stop-name{display:block;font:600 17px/1.5 var(--font-sans)}
.gai-stop-sub{display:block;margin-top:2px;font:600 14px/1.4 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}
.gai-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gai-check{padding:8px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--line-input);font:500 15px/1.35 var(--font-sans);color:var(--ink-muted);transition:background-color 250ms ease-out,border-color 250ms ease-out,color 250ms ease-out}
.gai-stop.is-lit .gai-check{background:var(--gai-accent);border-color:var(--gai-accent);color:var(--bg)}
.gai-step{min-height:72px}
.gai-step-btn{display:flex;align-items:baseline;gap:10px;min-height:44px;box-sizing:border-box;margin:-10px 0 0 -12px;padding:10px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);font:600 17px/1.4 var(--font-sans);text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color 150ms ease-out,color 250ms ease-out}
.gai-step.is-lit .gai-step-btn{color:var(--ink)}
@media (hover:hover){.gai-step-btn:hover{background:var(--surface-sunk)}}
@media (prefers-reduced-motion:no-preference){.gai-step-btn{transition-property:background-color,color,scale}.gai-step-btn:active{scale:.96}}
.gai-step-n{flex:none;min-width:14px;font:600 19px/1 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--gai-accent-text)}
.gai-step-lab{text-decoration-thickness:2px}
.gai-step-fail{display:none;margin:0 0 0 12px;padding-left:12px;border-left:2px solid var(--gai-warn);font:400 15px/1.45 var(--font-sans);color:var(--gai-warn-text)}
.gai-step.is-off .gai-step-fail{display:block}
.gai-step.is-off .gai-step-lab{text-decoration-line:line-through;color:var(--ink-muted)}
.gai-step.is-off .gai-step-n{color:var(--ink-muted)}
.gai-step.is-off .gai-dot,.gai-step.is-off.is-lit .gai-dot{background:var(--bg);border-color:var(--gai-warn);border-style:dashed}
.gai-lane.is-broken .gai-stop--reply.is-lit .gai-dot{background:var(--gai-warn);border-color:var(--gai-warn)}
.gai-stop--reply .gai-stop-name{font-size:19px}

/* 03: the rules, set large */
.gai-rules{display:flex;flex-direction:column;gap:56px;margin-top:56px}
.gai-rule{border-top:2px solid var(--ink);padding-top:20px}
.gai-rule-tag{margin:0;font:600 15px/1.4 var(--font-sans);color:var(--gai-accent-text)}
.gai-rule-name{margin:8px 0 18px;font:500 clamp(36px,2.4vw + 18px,60px)/1.02 var(--font-serif);letter-spacing:-0.03em}
.gai-rule-body{margin:0;max-width:54ch;font:400 19px/1.65 var(--font-serif)}

/* 03: complexity multiplies. Nodes and every pairwise line. */
.gai-brooks{max-width:var(--gai-text-w);margin:56px auto 0}
.gai-graph.gai-stage{position:sticky;top:0;z-index:2;margin:0;padding:12px 0;background:var(--bg);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px}
.gai-state{display:flex;flex-direction:column;gap:2px;margin:0}
.gai-state-name{font:500 clamp(40px,2vw + 24px,64px)/1.05 var(--font-serif);letter-spacing:-0.025em}
.gai-state-mult{font:600 clamp(40px,2vw + 24px,64px)/1.05 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--ink-muted);transition:color 250ms ease-out}
[data-level="2"] .gai-state-mult{color:var(--gai-accent-text)}
[data-level="3"] .gai-state-mult{color:var(--gai-warn-text)}
.gai-graph-svg{display:block;justify-self:center;height:min(30vh,270px);width:auto;aspect-ratio:1;max-width:100%;overflow:visible}
.gai-edge{stroke-linecap:round}
.gai-edge--l2{stroke:var(--gai-accent)}
.gai-edge--l3{stroke:var(--gai-warn);stroke-opacity:.75}
.gai-gnode{stroke:var(--bg)}
.gai-gnode--l1{fill:var(--ink)}
.gai-gnode--l2{fill:var(--gai-accent)}
.gai-gnode--l3{fill:var(--gai-warn)}
.gai-levels{list-style:none;margin:0;padding:48px 0 0;display:flex;flex-direction:column;gap:56px}
.gai-level{transition:opacity 250ms ease-out}
.gai-level-name{margin:0 0 16px;font:500 40px/1.1 var(--font-serif);letter-spacing:-0.02em}
.gai-level-body{margin:0;font:400 19px/1.7 var(--font-serif)}
.gai-level-body em{font-style:italic}

/* 04 */
.gai-steps{list-style:none;max-width:var(--gai-text-w);margin:0 auto 48px;padding:0;display:flex;flex-direction:column;gap:32px}
.gai-steps .jl-step{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:0;align-items:start;padding:0;border:0}
.gai-steps .jl-step-n{font:500 56px/.9 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--gai-accent-text)}
.gai-steps .jl-step-t{font:500 26px/1.2 var(--font-serif);letter-spacing:-0.01em;margin-bottom:6px;text-wrap:balance}
.gai-steps .jl-step-d{font:400 18px/1.6 var(--font-serif)}

/* 05: the constraint channel, full width */
/* 05: the constraint channel, full width */
.gai-flume{max-width:none;margin:72px 0 64px}
.gai-fig-head{display:flex;flex-direction:column;gap:8px}
.gai-fig-title{margin:0;font:500 32px/1.2 var(--font-serif);letter-spacing:-0.015em}
.gai-fig-sub{margin:0;font:400 16px/1.5 var(--font-sans);color:var(--ink-muted)}
.gai-chan{position:relative;margin-top:32px}
.gai-chan-svg{display:block;width:100%;height:auto;overflow:visible}
.gai-wall{fill:none;stroke:var(--line-input);stroke-width:2;stroke-linecap:round}
.gai-gate{fill:var(--ink-muted)}
.gai-gate.is-neck{fill:var(--gai-warn)}
.gai-item{fill:var(--gai-accent)}
.gai-gate-labs{position:relative;list-style:none;margin:0;padding:0;height:112px}
.gai-gate-lab{position:absolute;top:10px;left:var(--p);width:160px;margin-left:-80px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.gai-gate-tag{min-height:20px;font:600 14px/1.4 var(--font-sans);color:var(--gai-warn-text);white-space:nowrap}
.gai-gate-name{font:600 18px/1.35 var(--font-sans)}
.gai-gate-type{font:400 15px/1.4 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-muted);white-space:nowrap}
.gai-gate-starve{min-height:20px;font:600 14px/1.4 var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}
.gai-flume.is-vert .gai-chan{display:grid;grid-template-columns:130px minmax(0,1fr);gap:0 16px}
.gai-flume.is-vert .gai-chan-svg{width:130px}
.gai-flume.is-vert .gai-gate-labs{height:auto}
.gai-flume.is-vert .gai-gate-lab{top:var(--p);left:0;width:auto;margin:0;align-items:flex-start;text-align:start;transform:translateY(-50%)}
.gai-flume-foot{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px 48px;margin-top:16px;padding-top:24px;border-top:1px solid var(--line)}
.gai-flume-read{min-width:0;flex:1 1 420px}
.gai-tally{margin:0;max-width:52ch;font:400 20px/1.5 var(--font-serif)}
.gai-tally b{font-weight:700}
.gai-chan-ctl{display:flex;flex-wrap:wrap;gap:12px}
.gai-note{margin:10px 0 0;font:400 16px/1.5 var(--font-sans);color:var(--ink-muted);transition:color 250ms ease-out}
.gai-note.is-wall{color:var(--gai-warn-text)}
.gai-note b{font-weight:600;color:var(--ink)}

/* Close */
.gai-end{padding-top:112px;max-width:var(--gai-text-w);margin-inline:auto}
.gai-ctas{display:flex;flex-wrap:wrap;gap:12px}

/* Entrances start hidden only when they will play. */
.gai-live .gai-rise:not(.is-in){opacity:0}

/* The Brooks levels take enough room that one level is read at a time, under the stuck graph. */
.gai-live .gai-levels{gap:40px}
.gai-live .gai-level:not(.is-current){opacity:.35}

@media (max-width:899px){
.gai .wrap{padding-top:48px;padding-bottom:88px}
.gai-sec{padding-top:96px}
.gai-hero-flow{margin-top:36px}
.gai-hero-b{margin-top:36px}
.gai-scene > figure{margin:48px 0}
.gai-pile{min-height:0;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 24px}
.gai-pole-label{min-height:2.8em;font-size:14px}
.gai-sheet--label{min-height:44px;padding:0 12px;font-size:15px}
.gai-better{font-size:44px}
.gai-better-note{font-size:15px}
.gai-lanes{grid-template-columns:minmax(0,1fr);gap:64px}
.gai-lane-cap{min-height:0}
.gai-rules{margin-top:40px;gap:40px}
.gai-brooks{margin-top:40px}
.gai-graph.gai-stage{grid-template-columns:minmax(0,1fr) auto;padding-block:10px;column-gap:12px}
.gai-state-name,.gai-state-mult{font-size:30px}
.gai-graph-svg{height:min(30vh,200px)}
.gai-levels{padding-top:32px;gap:48px}
.gai-level-name{font-size:32px}
.gai-flume{margin:48px 0}
.gai-fig-title{font-size:26px}
.gai-flume-read{flex-basis:100%}
.gai-end{padding-top:72px}
}
.gai-levels{padding-bottom:56px}
/* Make It Make Sense guide ("the page edits itself"). Classes are gm-; every color is a site.css token.
   Signature color: chapter-3 (Writing). Linked after site.css. */

.gm{--gm-bar:64px;position:relative;transition:background-color 150ms ease-out}
.gm[data-view="original"]{background:var(--surface-sunk)}
.gm[data-view="edited"] .gm-v-raw,.gm[data-view="original"] .gm-v-edit{display:none}
.gm-wide{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px);box-sizing:border-box;width:100%}
.gm-sec{padding-block:var(--space-9)}
.gm em{font-style:italic}
.gm-nb{white-space:nowrap}

/* Type */
.gm-h2{margin:0;max-width:30ch;font:500 clamp(30px,1.6vw + 20px,44px)/1.12 var(--font-serif);letter-spacing:-0.02em}
.gm-intro{margin:20px 0 0;max-width:60ch;font:400 clamp(18px,.4vw + 16px,20px)/1.6 var(--font-serif);color:var(--ink-muted)}

/* The draft skin (Original view): one sans size, Title Case heads, no color, no rhythm. */
.gm-raw{max-width:76ch;display:flex;flex-direction:column;gap:20px}
.gm-raw-h1{margin:0;font:600 clamp(28px,1.4vw + 20px,38px)/1.25 var(--font-sans);letter-spacing:0}
.gm-raw-h2{margin:0;font:600 clamp(22px,.8vw + 18px,28px)/1.3 var(--font-sans);letter-spacing:0}
.gm-raw-sub{margin:0;font:400 18px/1.6 var(--font-sans);color:var(--ink-muted)}
.gm-raw-p{margin:0;font:400 16px/1.75 var(--font-sans)}
.gm-raw-btn{align-self:flex-start;margin:4px 0 0;padding:12px 22px;border-radius:var(--radius-pill);border:1.5px dashed var(--line-input);font:600 16px/1.2 var(--font-sans);color:var(--ink-muted)}

/* The reading bar: the Original / Edited switch in the top corner, the banner beside it in the Original view.
   It owns its row under the header, then sticks to the top of the viewport with a hairline. */
.gm-bar-sent{height:1px;margin-bottom:-1px}
.gm-bar{position:sticky;top:0;z-index:15;background:var(--bg);border-bottom:1px solid transparent;transition:border-color 150ms ease-out,background-color 150ms ease-out}
.gm[data-view="original"] .gm-bar{background-image:linear-gradient(var(--surface-sunk),var(--surface-sunk))}
.gm-bar.is-stuck{border-bottom-color:var(--line)}
.gm-bar-in{min-height:var(--gm-bar);box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;gap:16px 24px;padding-block:8px}
.gm-banner{flex:1 1 auto;min-width:0}
.gm-banner:empty{display:none}
.gm-banner-t{margin:0;font:400 15px/1.45 var(--font-sans);color:var(--ink)}
.gm-bar-ctl{flex:none}
.gm-bar-ctl .jl-seg-b{padding:12px 18px}

/* 1. Hero */
.gm-hero{padding-block:80px var(--space-7)}
.gm-h1{margin:0;max-width:18em;font:500 clamp(40px,4.2vw + 14px,80px)/1.06 var(--font-serif);letter-spacing:-0.025em}
.gm-h1 em{display:block;padding-bottom:.04em}
.gm-lede{margin:32px 0 0;max-width:44ch;font:400 clamp(19px,.5vw + 16px,23px)/1.55 var(--font-serif);color:var(--ink-muted)}

/* 2. Two lists in tension. The AI side bleeds off the left edge on a sunk plate. */
.gm-mis{overflow-x:clip}
.gm-poles{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;margin-top:56px}
.gm-pole{display:flex;flex-direction:column;gap:20px;padding-block:48px}
.gm-pole--ai{position:relative;padding-right:48px}
.gm-pole--ai::before{content:"";position:absolute;inset:0 0 0 -100vw;background:var(--surface-sunk);z-index:-1}
.gm-pole--reader{padding-left:48px}
.gm-pole-l{margin:0;font:600 14px/1.4 var(--font-sans);color:var(--ink-muted)}
.gm-pole--reader .gm-pole-l{color:var(--chapter-3-text)}
.gm-pole ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.gm-pole--ai li{font:500 clamp(19px,.6vw + 15px,23px)/1.35 var(--font-sans);color:var(--ink-muted)}
.gm-pole--reader li{font:500 clamp(24px,1.2vw + 16px,34px)/1.2 var(--font-serif);letter-spacing:-0.015em}
.gm-pole-note{margin:8px 0 0;max-width:30ch;font:italic 400 17px/1.55 var(--font-serif);color:var(--ink-muted)}
.gm-poles-arrow{align-self:center;display:grid;place-items:center;width:64px;height:64px;margin-inline:-32px;position:relative;z-index:1;border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--line);font:500 28px/1 var(--font-serif);color:var(--chapter-3-text)}
.gm-bridge{margin:64px 0 0;max-width:36ch;font:400 clamp(22px,.8vw + 18px,28px)/1.4 var(--font-serif);letter-spacing:-0.01em}

/* 3. The scene. The stage pins under the bar; the editor's margin (passes and the active note) sits beside the page,
   and the page is set at reading size with no card around it. */
.gm-run{border-top:1px solid var(--line);padding-bottom:0}
.gm-track{position:relative}
.gm-scene[data-mode="scroll"] .gm-track{height:calc(100vh * 5.4)}
.gm-scene[data-mode="scroll"] .gm-stage{position:sticky;top:var(--gm-stick,var(--gm-bar));height:calc(100vh - var(--gm-stick,var(--gm-bar)));box-sizing:border-box}
.gm-stage-in{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--space-6) clamp(48px,6vw,112px);align-items:start}
.gm-scene[data-mode="scroll"] .gm-stage-in{padding-top:max(var(--space-6),calc((100vh - var(--gm-stick,var(--gm-bar)) - 500px) / 2))}
.gm-scene[data-mode="static"] .gm-stage-in{padding-bottom:var(--space-9)}

/* The margin: a vertical rail of the passes with a hairline that fills as you go, and the active pass's note. */
.gm-rail{position:relative}
.gm-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.gm-rail::before,.gm-rail-fill{content:"";position:absolute;left:6px;width:2px;border-radius:1px}
.gm-rail::before{top:24px;bottom:24px;background:var(--line-strong)}
.gm-rail-fill{top:24px;height:0;background:var(--chapter-3);transform-origin:50% 0;transform:scaleY(0);z-index:1}
.gm-scene[data-mode="static"] .gm-rail-fill{display:none}
.gm-rail-a{display:flex;align-items:center;gap:10px;min-height:48px;box-sizing:border-box;padding-right:12px;font:500 17px/1.3 var(--font-sans);color:var(--ink-muted) !important;text-decoration:none !important;transition:color 150ms ease-out}
.gm-rail-m{position:relative;z-index:2;flex:none;box-sizing:border-box;width:14px;height:14px;margin-right:8px;border-radius:var(--radius-pill);border:2px solid var(--line-input);background:var(--bg);transition:background-color 150ms ease-out,border-color 150ms ease-out}
.gm[data-view="original"] .gm-rail-m{background-color:var(--bg);background-image:linear-gradient(var(--surface-sunk),var(--surface-sunk))}
.gm-rail-n{display:inline-block;width:1.1em;text-align:center;font:600 18px/1 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--chapter-3-text)}
@media (hover:hover){.gm-rail-a:hover{color:var(--ink) !important}}
.gm-rail-a.is-done,.gm-scene[data-mode="static"] .gm-rail-a{color:var(--ink) !important}
.gm-rail-a.is-done .gm-rail-m,.gm-scene[data-mode="static"] .gm-rail-m{border-color:var(--chapter-3);background:var(--chapter-3)}
.gm-rail-a[aria-current="step"]{color:var(--ink) !important;font-weight:600}
.gm-rail-a[aria-current="step"] .gm-rail-m{border-color:var(--chapter-3);border-width:4px}
.gm-notes{display:grid;margin-top:var(--space-6)}
.gm-note{margin:0}
.gm-scene[data-mode="scroll"] .gm-note{grid-area:1 / 1;opacity:0;visibility:hidden}
.gm-scene[data-mode="scroll"] .gm-note-l{display:none}
.gm-scene[data-mode="static"] .gm-notes{gap:24px}
.gm-note-l{margin:0 0 6px;font:600 14px/1.4 var(--font-sans);color:var(--chapter-3-text)}
.gm-note-t{margin:0;font:400 clamp(18px,.4vw + 14px,20px)/1.55 var(--font-serif)}

/* The page being edited. */
.gm-page{display:grid;align-content:start;min-width:0}
.gm-spec-p,.gm-result{grid-area:1 / 1;min-width:0}
.gm-spec-p{position:relative;margin:0;max-width:34em;font:400 clamp(20px,1vw + 11px,26px)/1.62 var(--font-serif)}
.gm-w{display:inline-block;white-space:nowrap;background-image:linear-gradient(var(--chapter-3),var(--chapter-3));background-repeat:no-repeat;background-position:0 60%;background-size:var(--s,0%) .1em;transition:color 200ms ease-out}
.gm-g{display:inline;white-space:nowrap}
.gm-gs{white-space:normal}
.gm-gs.is-tight .gm-sp,.gm-gs:last-child .gm-sp{display:none}
.gm-w.is-struck{color:var(--ink-muted)}
.gm-w.is-gone{display:none}
.gm-w.is-exiting{position:absolute;pointer-events:none}
.gm-scene[data-mode="static"] .gm-w:not([data-pass="keep"]){--s:100%;color:var(--ink-muted)}
.gm-result-l{margin:0 0 16px;font:600 15px/1.4 var(--font-sans);color:var(--chapter-3-text)}
.gm-result-t{margin:0;max-width:22em;font:400 clamp(28px,2vw + 10px,42px)/1.25 var(--font-serif);letter-spacing:-0.015em}
.gm-result-t strong{font-weight:600}
.gm-scene[data-mode="static"] .gm-result{grid-area:auto;margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--line)}

/* 4. The spine: How it works and What each pass does as one path, drawn on with scroll. */
.gm-how{border-top:1px solid var(--line)}
.gm-how .gm-v-raw{display:flex;flex-direction:column;gap:var(--space-7)}
.gm-fig{--pad:112px;--spine:76px;--back:28px;position:relative;margin:var(--space-8) 0 0;padding:0}
.gm-art{position:absolute;inset:0;pointer-events:none;z-index:0}
.gm-art svg{display:block;overflow:visible}
.gm-main{fill:none;stroke:var(--chapter-3);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.gm-back{fill:none;stroke:var(--ink-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gm-arrow{fill:none;stroke:var(--chapter-3);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.gm-arrow--back{stroke:var(--ink-muted);stroke-width:2}
.gm-runner{fill:var(--chapter-3);stroke:var(--bg);stroke-width:3;opacity:0}
.gm-entry,.gm-yes{position:relative;z-index:1;margin:0;padding-left:var(--pad);min-height:56px;display:flex;align-items:center}
.gm-entry{font:500 17px/1.4 var(--font-sans);color:var(--ink-muted)}
.gm-yes{font:600 20px/1.4 var(--font-sans);color:var(--chapter-3-text);margin-top:8px}
.gm-passes{list-style:none;margin:0;padding:0}
.gm-node{position:relative;z-index:1;padding:var(--space-6) 0 var(--space-6) var(--pad)}
.gm-node:first-child{padding-top:var(--space-5)}
.gm-mark{position:absolute;left:calc(var(--spine) - 9px);top:calc(var(--space-6) + 17px);width:18px;height:18px;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--chapter-3);border:3px solid var(--bg)}
.gm-node:first-child .gm-mark{top:calc(var(--space-5) + 17px)}
.gm-mark--gate{background:var(--ink)}
.gm-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.gm-pill{display:inline-flex;align-items:center;min-height:52px;box-sizing:border-box;padding:0 24px;border-radius:var(--radius-pill);border:1.5px solid var(--line-input);background:var(--surface);font:600 19px/1.2 var(--font-sans);white-space:nowrap}
.gm-pill--gate{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.gm-gate{margin:0;font:400 17px/1.45 var(--font-sans);color:var(--ink-muted)}
.gm-cols{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:16px var(--space-7);margin-top:var(--space-5);align-items:start}
.gm-q{margin:0;max-width:22ch;text-wrap:balance;font:500 clamp(28px,1.4vw + 18px,38px)/1.12 var(--font-serif);letter-spacing:-0.02em}
.gm-list{list-style:none;margin:0;padding:6px 0 0;display:flex;flex-direction:column;gap:12px}
.gm-list li{position:relative;padding-left:28px;font:400 18px/1.5 var(--font-sans)}
.gm-list li::before{content:"→";position:absolute;left:0;color:var(--chapter-3-text)}
.gm-no{margin:var(--space-5) 0 0;max-width:40ch;font:500 17px/1.45 var(--font-sans);color:var(--ink-muted)}

/* 6. Payoff: the page inverts, ink for paper. Clean edges, full bleed. */
.gm-pay-band{background:var(--ink);color:var(--bg);padding-block:var(--space-9)}
.gm-pay-h{margin:0;max-width:18em;font:500 clamp(36px,3.4vw + 14px,72px)/1.08 var(--font-serif);letter-spacing:-0.025em}
.gm-pay-h em{display:block;padding-bottom:.04em}
.gm-pay-p{margin:32px 0 0;max-width:54ch;font:400 clamp(18px,.5vw + 15px,21px)/1.6 var(--font-serif);color:color-mix(in oklab,var(--bg) 76%,var(--ink))}
.gm-pay-raw{padding-block:var(--space-9)}

/* 7. Run it */
.gm-get-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-6) var(--space-8);align-items:start}
.gm-h2--big{font-size:clamp(34px,2.4vw + 20px,56px);max-width:14ch}
.gm-cmds{display:flex;flex-direction:column;gap:10px}
.gm-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* Commands stay on one line and scroll inside their block. */
.gm-cmds .jl-code{border:1px solid var(--line)}
.gm-cmds .jl-code code{white-space:nowrap;min-width:0}

/* Narrow screens: every scene stacks and reads top to bottom. */
@media (max-width:899px){
.gm{--gm-bar:60px}
.gm-sec{padding-block:var(--space-7) var(--space-8)}
.gm-hero{padding-block:56px var(--space-7)}
.gm-bar-in{gap:10px 16px}
.gm-banner-t{font-size:14px}
.gm-bar-ctl .jl-seg-b{padding:11px 14px}
.gm-poles{grid-template-columns:minmax(0,1fr);margin-top:32px}
.gm-pole{padding-block:32px}
.gm-pole--ai{padding-right:0}
.gm-pole--ai::before{inset:0 -100vw}
.gm-pole--reader{padding-left:0;padding-top:48px}
.gm-poles-arrow{justify-self:center;margin:-32px 0;width:56px;height:56px;rotate:90deg}
.gm-bridge{margin-top:24px}
.gm-run{padding-bottom:0}

.gm-scene[data-mode="scroll"] .gm-track{height:calc(100vh * 5)}
.gm-stage-in{grid-template-columns:minmax(0,1fr);gap:20px}
.gm-scene[data-mode="scroll"] .gm-stage-in{padding-top:20px}
/* The rail turns into one row: numbers, with the current pass spelled out. */
.gm-rail::before,.gm-rail-fill{display:none}
.gm-rail ol{flex-direction:row;flex-wrap:nowrap;gap:6px}
.gm-rail li{flex:none}
.gm-rail-a{gap:6px;min-width:44px;justify-content:center;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);font-size:15px}
.gm-rail-m{display:none}
.gm-rail-n{font-size:16px}
.gm-scene[data-mode="scroll"] .gm-rail-a:not([aria-current="step"]) .gm-rail-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.gm-rail-a[aria-current="step"]{background:var(--ink);border-color:var(--ink);color:var(--bg) !important}
.gm-rail-a[aria-current="step"] .gm-rail-n{color:var(--bg)}
.gm-scene[data-mode="static"] .gm-rail ol{flex-wrap:wrap}
.gm-notes{margin-top:16px}
.gm-note-t{font-size:17px;line-height:1.5}
.gm-spec-p{font-size:19px;line-height:1.55}
.gm-result-t{font-size:27px}
.gm-fig{--pad:64px;--spine:36px;--back:10px;margin-top:var(--space-7)}
.gm-cols{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:var(--space-4)}
.gm-q{max-width:none}
.gm-list li{font-size:17px}
.gm-pill{min-height:48px;padding:0 20px;font-size:18px}
.gm-mark{top:calc(var(--space-6) + 15px)}
.gm-node:first-child .gm-mark{top:calc(var(--space-5) + 15px)}
.gm-gate{font-size:16px}
.gm-yes{font-size:18px}
.gm-get-in{grid-template-columns:minmax(0,1fr)}
.gm-ctas .jl-btn{flex:1 1 auto;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
.gm,.gm-w,.gm-rail-a,.gm-rail-m,.gm-bar{transition:none}
}
/* strike runs across the word space so a struck phrase reads as one line */
.gm-g:has(+ .gm-gs:not(.is-tight) + .gm-g .gm-w.is-struck) .gm-w.is-struck:last-child{padding-right:.3em;margin-right:-.3em}
/* Prove Your Value guide. Every rule is prefixed gv- and uses site.css tokens only.
   Modules map to chapter-1..3. Ordered proof strength uses the ord scale (charts.md):
   ord-1 yellow, ord-2 coral, ord-3 magenta, ord-4 navy (sky in dark).
   Layout: content spans the full 1136px wrap. Scenes pair a 440px text column with a figure of 600px or more.
   Every numbered sequence reads top to bottom. */
.gv{--gv-ord-1:var(--chapter-4);--gv-ord-2:var(--chapter-3);--gv-ord-3:var(--chapter-2);--gv-ord-4:var(--chapter-1);--gv-bar-h:58px;--gv-text:440px;--gv-gap:72px}
.gv main{padding-bottom:var(--space-9)}

/* ---------- Type ---------- */
.gv-display{margin:0;font:500 clamp(36px,2.4vw + 24px,60px)/1.06 var(--font-serif);letter-spacing:-0.025em;max-width:17ch}
.gv-h3{margin:0 0 var(--space-5);font:500 clamp(28px,1.2vw + 22px,38px)/1.12 var(--font-serif);letter-spacing:-0.018em;max-width:22ch;scroll-margin-top:calc(var(--gv-bar-h) + 32px)}
.gv-p{margin:0 0 var(--space-5);font:400 18px/1.7 var(--font-serif);max-width:64ch}
.gv-p:last-child{margin-bottom:0}
.gv-p strong,.gv-p em{color:var(--ink)}
.gv-strong{font-size:20px}
.gv-lede{margin:0;font:400 clamp(19px,.4vw + 17px,22px)/1.55 var(--font-serif);color:var(--ink-muted);max-width:56ch}
.gv-cap{margin:0;font:500 14px/1.45 var(--font-sans);color:var(--ink-muted)}
.gv-cap-ink{color:var(--ink);font-weight:600}
.gv-lab{margin:0;font:600 15px/1.4 var(--font-sans);color:var(--chapter-3-text)}
.gv-quote{margin:var(--space-9) 0 0;padding:0 0 0 var(--space-6);border-left:6px solid var(--c,var(--ink));font:500 clamp(28px,1.6vw + 20px,44px)/1.2 var(--font-serif);letter-spacing:-0.02em;max-width:26ch;text-wrap:balance}
.gv-quote em{font-style:italic}
.gv-quote-p{max-width:30ch;margin-top:var(--space-8)}
.gv-quote-p strong{font-weight:600}
.gv-sec{padding-top:var(--space-9)}
.gv-prose{max-width:720px}
.gv-nw{white-space:nowrap}

/* ---------- Landing ---------- */
.gv-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:start;padding-block:var(--space-8) var(--space-9)}
.gv-hero .gv-mods{max-width:720px}
@media (min-width:1200px){.gv-hero{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:var(--space-9);align-items:center;padding-block:var(--space-9) calc(var(--space-9) + var(--space-5))}}
.gv-hero-copy{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
.gv-intro{margin:0;font:400 18px/1.65 var(--font-sans);color:var(--ink);max-width:54ch}

/* Module rows: a vertical course, module one above two above three. The left bar is the chapter color and fills top to bottom
   with the reader's progress through that module. */
.gv-mods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gv-mrow-a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:var(--space-4);align-items:start;padding:var(--space-5) 0 var(--space-5) var(--space-6);text-decoration:none !important;color:var(--ink)}
.gv-mrow + .gv-mrow .gv-mrow-a{border-top:1px solid var(--line)}
.gv-mrow-bar{position:absolute;left:0;top:0;bottom:0;width:6px;background:color-mix(in oklab,var(--c) 22%,transparent);overflow:hidden}
.gv-mrow-bar::after{content:"";position:absolute;inset:0;background:var(--c);transform-origin:top;transform:scaleY(var(--pp,0))}
.gv-mrow[data-done="true"] .gv-mrow-bar::after{transform:none}
.gv-mrow:first-child .gv-mrow-bar{border-radius:3px 3px 0 0}
.gv-mrow:last-child .gv-mrow-bar{border-radius:0 0 3px 3px}
.gv-mrow-b{display:flex;flex-direction:column;gap:var(--space-1);padding-top:2px;min-width:0}
.gv-mrow-t{font:500 clamp(21px,.6vw + 17px,26px)/1.2 var(--font-serif);letter-spacing:-0.01em;color:var(--ink);text-wrap:balance}
.gv-mrow-d{font:400 16px/1.5 var(--font-sans);color:var(--ink-muted);margin-top:var(--space-1)}
.gv-mrow-k{display:grid;place-items:center;width:28px;height:28px;color:var(--success-text)}
@media (hover:hover){a.gv-mrow-a:hover .gv-mrow-t{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.2em}}
a.gv-mrow-a:focus-visible{outline-offset:4px;border-radius:var(--radius-xs)}

/* ---------- Course bar (sticky). ChapterNav runs horizontally; each tab's track fills left to right. ---------- */
.gv-bar{position:sticky;top:0;z-index:10;background:var(--bg);border-block:1px solid var(--line)}
.gv-bar-in{display:flex;align-items:center;min-height:var(--gv-bar-h)}
.gv-bar .jl-chapters{flex-direction:row;gap:var(--space-2);overflow:hidden;padding-block:6px;width:100%}
/* Titles only: the three tabs share the row and a long title wraps instead of running off the edge. */
.gv-bar .jl-chapter{flex:1 1 0;min-width:0;padding:8px 14px 8px 12px;gap:12px;white-space:normal;font-size:14px;line-height:1.25}
.gv-bar .jl-chapter span{min-width:0;text-wrap:balance}
/* bundle.css's `.jl-chapter span{position:relative}` outranks `.jl-chapter-bg`, which collapses the current tab's card. */
.gv-bar .jl-chapter-bg{position:absolute;inset:0}
.gv-bar .jl-chapter i{width:56px;height:6px;overflow:hidden;transform-origin:center}
.gv-bar .jl-chapter i::after{content:"";position:absolute;inset:0;background:var(--bg);opacity:.74;transform-origin:right}
.gv-bar .jl-chapter[aria-current="page"] i::after{background:var(--surface)}
.gv-bar .jl-chapter:nth-child(1) i::after{transform:scaleX(calc(1 - var(--p1,0)))}
.gv-bar .jl-chapter:nth-child(2) i::after{transform:scaleX(calc(1 - var(--p2,0)))}
.gv-bar .jl-chapter:nth-child(3) i::after{transform:scaleX(calc(1 - var(--p3,0)))}

/* ---------- Module heads ---------- */
.gv-mod{scroll-margin-top:var(--gv-bar-h)}
.gv-mod-head{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start;padding-top:var(--space-9);margin-top:var(--space-9);border-top:6px solid var(--c)}
.gv-mod:first-child .gv-mod-head{margin-top:var(--space-8)}
.gv-mod-hb{display:flex;flex-direction:column;gap:var(--space-5)}
.gv-mod-t{margin:0;font:500 clamp(34px,2vw + 22px,56px)/1.05 var(--font-serif);letter-spacing:-0.025em;max-width:22ch;text-wrap:balance;scroll-margin-top:calc(var(--gv-bar-h) + 40px)}

/* ---------- Split: text column + figure column ---------- */
.gv-split{display:grid;grid-template-columns:minmax(0,var(--gv-text)) minmax(0,1fr);gap:var(--space-7) var(--gv-gap);align-items:start}
.gv-split-top{margin-top:var(--space-9)}
.gv-split-fig{position:sticky;top:calc(var(--gv-bar-h) + 40px);min-width:0}
.gv-split-flush .gv-split-fig{padding-top:6px}

/* ---------- Pinned scenes ---------- */
.gv-scene{display:grid;grid-template-columns:minmax(0,var(--gv-text)) minmax(0,1fr);gap:var(--gv-gap);align-items:start;margin-top:var(--space-8)}
.gv-scene-text{display:flex;flex-direction:column;padding-bottom:28vh}
.gv-step{padding-bottom:26vh}
.gv-scene-text > .gv-step:last-child,.gv-scene-text > section:last-child > .gv-step:last-child{padding-bottom:0}
.gv-scene-fig{position:sticky;top:max(calc(var(--gv-bar-h) + 24px),calc(50vh - 320px + var(--gv-bar-h) / 2));margin:0;min-width:0}
@media (prefers-reduced-motion:no-preference){
.gv[data-motion="on"] .gv-scene .gv-step{transition:opacity 300ms var(--ease-out)}
.gv[data-motion="on"] .gv-scene .gv-step[data-active="false"]{opacity:.32}
}

/* Relay vs loop */
.gv-relay{position:relative;width:100%;max-width:640px;margin-inline:auto}
.gv-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gv-track{fill:none;stroke:var(--line-strong);stroke-width:3}
.gv-ink{fill:none;stroke:var(--chapter-1);stroke-width:5;stroke-linecap:butt}
.gv-st{fill:var(--bg);stroke:var(--line-input);stroke-width:2.5;transition:fill 200ms ease-out,stroke 200ms ease-out}
.gv-st[data-s="on"]{fill:var(--ink);stroke:var(--ink)}
.gv-st[data-s="cur"]{fill:var(--chapter-1);stroke:var(--chapter-1)}
.gv-baton{fill:var(--chapter-1);stroke:var(--bg);stroke-width:4}
.gv[data-motion="reduce"] .gv-baton{display:none}
.gv-relay-h{position:absolute;margin:0;font:500 32px/1.15 var(--font-serif);letter-spacing:-0.015em}
.gv-relay-tag{position:absolute;margin:0;font:400 16px/1.45 var(--font-sans);color:var(--ink-muted);max-width:100%}
.gv-relay-tag span{color:var(--chapter-1-text);font-weight:600;margin-right:2px}
.gv-node{position:absolute;font:600 17px/1.2 var(--font-sans);color:var(--ink-muted);white-space:nowrap;transition:color 200ms ease-out}
.gv-node[data-a="b"]{transform:translate(-50%,0)}
.gv-node[data-a="bs"]{transform:translate(0,0)}
.gv-node[data-a="be"]{transform:translate(-100%,0)}
.gv-node[data-a="s"]{transform:translate(0,-50%)}
.gv-node[data-a="e"]{transform:translate(-100%,-50%)}
.gv-node[data-a="ae"]{transform:translate(-100%,-100%)}
.gv-node[data-s="on"]{color:var(--ink)}
.gv-node[data-s="cur"]{color:var(--chapter-1-text)}
/* The half of the story not in play steps back. */
.gv-relay :is(.gv-a,.gv-o,.gv-h){transition:opacity 300ms var(--ease-out)}
.gv-relay[data-phase="relay"] .gv-o,.gv-relay[data-phase="relay"] .gv-h{opacity:.35}
.gv-relay[data-phase="loop"] .gv-a{opacity:.4}

/* Attribution ladder */
.gv-tier{display:flex;flex-direction:column;gap:var(--space-3);padding-left:var(--space-5);border-left:6px solid var(--tc)}
.gv-tier h4{margin:0;font:500 30px/1.15 var(--font-serif);letter-spacing:-0.015em}
.gv-tier p{margin:0;font:400 18px/1.6 var(--font-serif)}
.gv-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}
.gv-tags li{padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line-strong);font:500 15px/1.3 var(--font-sans)}
.gv-pstr{display:flex;align-items:center;gap:var(--space-3);font:600 14px/1.3 var(--font-sans);color:var(--ink-muted)}
.gv-pbars{display:flex;gap:4px}
.gv-pbars i{width:28px;height:8px;border-radius:var(--radius-pill);background:var(--line-strong);transition:background-color 300ms ease-out}
.gv-tier[data-lit="true"] .gv-pbars i:nth-child(1),
.gv-tier[data-lit="true"][data-n="2"] .gv-pbars i:nth-child(2),
.gv-tier[data-lit="true"][data-n="3"] .gv-pbars i{background:var(--tc)}
.gv[data-motion="reduce"] .gv-tier .gv-pbars i:nth-child(1),
.gv[data-motion="reduce"] .gv-tier[data-n="2"] .gv-pbars i:nth-child(2),
.gv[data-motion="reduce"] .gv-tier[data-n="3"] .gv-pbars i{background:var(--tc)}

.gv-lad{--lv:0;display:flex;flex-direction:column;gap:var(--space-5)}
.gv-lad-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.gv-lad-h{margin:0;font:500 32px/1.15 var(--font-serif);letter-spacing:-0.015em}
.gv-lad-body{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-5)}
.gv-meter{position:relative;border-radius:var(--radius-pill);background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--line)}
.gv-meter-fill{position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,1fr);border-radius:var(--radius-pill);overflow:hidden;clip-path:inset(calc((1 - var(--lv)) * 100%) 0 0 0)}
.gv-meter-fill i:nth-child(1){background:var(--gv-ord-4)}
.gv-meter-fill i:nth-child(2){background:var(--gv-ord-3)}
.gv-meter-fill i:nth-child(3){background:var(--gv-ord-2)}
.gv-meter-fill i:nth-child(4){background:var(--gv-ord-1)}
.gv-rungs{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(4,1fr)}
.gv-rung{--rc:var(--gv-ord-4);display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:var(--space-2) var(--space-5);align-items:start;padding-block:var(--space-4);border-top:1px solid var(--line);opacity:.3;transition:opacity 350ms var(--ease-out)}
.gv-rung:last-child{border-bottom:1px solid var(--line)}
.gv-rung[data-r="2"]{--rc:var(--gv-ord-3)}
.gv-rung[data-r="3"]{--rc:var(--gv-ord-2)}
.gv-rung[data-r="4"]{--rc:var(--gv-ord-1)}
.gv-lad[data-lv="1"] .gv-rung[data-r="4"],
.gv-lad[data-lv="2"] .gv-rung:is([data-r="4"],[data-r="3"]),
.gv-lad[data-lv="3"] .gv-rung:not([data-r="1"]),
.gv-lad[data-lv="4"] .gv-rung{opacity:1}
.gv-rung-n{font:500 48px/.9 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--rc)}
.gv-rung[data-r="4"] .gv-rung-n{color:var(--chapter-4-text)}
.gv-rung[data-r="3"] .gv-rung-n{color:var(--chapter-3-text)}
.gv-rung[data-r="2"] .gv-rung-n{color:var(--chapter-2-text)}
.gv-rung[data-r="1"] .gv-rung-n{color:var(--chapter-1-text)}
.gv-rung h5{margin:0 0 var(--space-1);font:600 19px/1.3 var(--font-sans)}
.gv-rung-b p{margin:0;font:400 16px/1.5 var(--font-sans);color:var(--ink-muted)}
.gv-ex{display:flex;flex-direction:column;gap:2px}
.gv-ex span:first-child{font:600 14px/1.4 var(--font-sans);color:var(--ink-muted)}
.gv-ex span:last-child{font:400 17px/1.45 var(--font-serif);color:var(--ink)}

/* Name the gaps */
.gv-gaps{display:grid;grid-template-columns:minmax(0,var(--gv-text)) minmax(0,1fr);gap:var(--space-6) var(--gv-gap);margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--line)}
.gv-gaps-head{display:flex;flex-direction:column;gap:var(--space-2)}
.gv-gaps-head h4{margin:0;font:500 clamp(30px,1.4vw + 22px,40px)/1.1 var(--font-serif);letter-spacing:-0.02em;max-width:14ch;text-wrap:balance}
.gv-gaps dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.gv-gaps dl div{padding-top:var(--space-4);border-top:6px solid var(--gv-ord-1);display:flex;flex-direction:column;gap:var(--space-2)}
.gv-gaps dt{font:600 20px/1.3 var(--font-sans)}
.gv-gaps dd{margin:0;font:400 17px/1.55 var(--font-serif);color:var(--ink)}
.gv-after{margin-top:var(--space-8);margin-left:calc(var(--gv-text) + var(--gv-gap))}

/* ---------- Sorting: two bins, large chips ---------- */
.gv-sort{margin-top:var(--space-8);position:relative}
.gv-qstem{margin:0 0 var(--space-6);font:500 clamp(22px,.6vw + 19px,28px)/1.35 var(--font-serif);letter-spacing:-0.01em;max-width:44ch}
.gv-qstem em{font-style:italic}
.gv-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.gv-bin{display:flex;flex-direction:column;gap:var(--space-5);min-width:0;min-height:360px;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-sunk);border:2px solid transparent;box-sizing:border-box;transition:border-color 150ms ease-out,background-color 150ms ease-out}
.gv-bin-h{margin:0;display:flex;align-items:center;gap:var(--space-3);font:500 40px/1.05 var(--font-serif);letter-spacing:-0.02em}
.gv-bin-h::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--line-input)}
.gv-bin[data-bin="i"] .gv-bin-h::before{background:var(--chapter-1)}
.gv-bins[data-over="a"] .gv-bin[data-bin="a"],.gv-bins[data-over="i"] .gv-bin[data-bin="i"]{border-color:var(--ink);border-style:dashed}
.gv-binlist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3);align-content:flex-start;flex:1}
.gv-chip,.gv-ghost{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--space-2);min-height:60px;padding:12px 22px 12px 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-card);font:500 19px/1.3 var(--font-sans);color:var(--ink);cursor:grab;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;max-width:100%;position:relative}
.gv-chip-g{display:grid;place-items:center;color:var(--ink-muted);flex:none}
.gv-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.gv-chip[data-drag="true"]{opacity:.35;cursor:grabbing}
.gv-ghost{position:absolute;z-index:20;margin:0;cursor:grabbing;pointer-events:none;touch-action:none;box-shadow:0 2px 4px rgba(17,29,94,.08),0 18px 36px rgba(17,29,94,.16);transition:opacity 150ms ease-out}
.gv-ghost[data-miss="true"]{opacity:.6}
.gv[data-dragging] *{cursor:grabbing !important;user-select:none;-webkit-user-select:none}
@media (hover:hover){.gv-chip:not(:disabled):hover{border-color:var(--line-input)}}
@media (prefers-reduced-motion:no-preference){.gv-chip:not(:disabled):not([data-drag]):active{scale:.96}.gv-chip{transition:scale 150ms ease-out,border-color 150ms ease-out}}
.gv-chip:disabled{cursor:default}
.gv-chip.is-right{border-color:var(--success-text);box-shadow:inset 0 0 0 1px var(--success-text)}
.gv-chip.is-wrong .gv-chip-t{text-decoration:line-through;text-decoration-thickness:from-font;color:var(--ink-muted)}
.gv-chip:disabled .gv-chip-g{display:none}
.gv-chip:disabled{padding-left:22px}
.gv-mark{display:grid;place-items:center;color:var(--success-text);margin-right:-6px}
.gv-seed{list-style:none;margin:0;padding:var(--space-4) 0 0;border-top:1px dashed var(--line-input);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.gv-seed li{font:400 16px/1.4 var(--font-sans);color:var(--ink-muted)}
.gv-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.gv-actions .jl-btn:disabled{opacity:.45;cursor:not-allowed}
.gv-expl{margin-top:var(--space-5);max-width:68ch}
.gv-expl p{margin:0;padding-left:var(--space-5);border-left:4px solid var(--c,var(--ink));font:400 18px/1.65 var(--font-serif)}

/* ---------- Module 2 ---------- */
.gv-pillars{list-style:none;margin:var(--space-6) 0 var(--space-7);padding:0;display:flex;flex-direction:column;position:relative}
.gv-pillar{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:baseline;padding-block:var(--space-6);border-top:1px solid var(--line)}
.gv-pillar:last-child{border-bottom:1px solid var(--line)}
.gv-pillar-n{font:500 96px/.8 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-0.04em;color:color-mix(in oklab,var(--chapter-2-text) 30%,var(--bg));transition:color 400ms var(--ease-out)}
.gv-pillar[data-on="true"] .gv-pillar-n,.gv[data-motion="reduce"] .gv-pillar-n{color:var(--chapter-2-text)}
.gv-pillar-h{margin:0;font:500 34px/1.12 var(--font-serif);letter-spacing:-0.02em}
.gv-pillar-h a{text-decoration:none !important}
@media (hover:hover){.gv-pillar-h a:hover{text-decoration:underline !important;text-decoration-thickness:from-font !important}}
.gv-pillar p{margin:0;font:400 19px/1.55 var(--font-serif);color:var(--ink-muted)}

.gv-model{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-sunk)}
.gv-segwrap{overflow-x:auto;scrollbar-width:none;padding:4px;margin:-4px}
.gv-segwrap .jl-seg-b{white-space:nowrap}
.gv-chain{display:flex;flex-direction:column;gap:var(--space-3)}
.gv-chain-c{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}
.gv-chain-v{font:500 clamp(24px,.8vw + 20px,32px)/1.2 var(--font-serif);letter-spacing:-0.015em;color:var(--ink)}
.gv-chain-c:first-child .gv-chain-v{color:var(--chapter-2-text)}
.gv-chain-x{display:grid;place-items:center;color:var(--chapter-2-text)}

.gv-steps{position:relative}
.gv-steps .jl-step{grid-template-columns:72px minmax(0,1fr);padding:var(--space-5) 0}
.gv-steps .jl-step:last-child{border-bottom:1px solid var(--line)}
.gv-steps .jl-step-n{font-size:64px;line-height:.85;transition:opacity 400ms var(--ease-out);opacity:.3}
.gv-steps .jl-step[data-on="true"] .jl-step-n,.gv[data-motion="reduce"] .gv-steps .jl-step-n{opacity:1}
.gv-steps .jl-step-t{font-size:22px;margin-bottom:4px}
.gv-steps .jl-step-d{font-size:18px;line-height:1.5}

/* Quizzes: stem on the left, options on the right */
.gv-quiz{display:grid;grid-template-columns:minmax(0,var(--gv-text)) minmax(0,1fr);gap:var(--space-6) var(--gv-gap);margin-top:var(--space-9);padding-top:var(--space-7);border-top:1px solid var(--line);min-width:0}
.gv-quiz .gv-qstem{margin:0}
.gv-quiz-b{min-width:0}
.gv-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.gv-opt{all:unset;box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-4);align-items:start;width:100%;min-height:60px;padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font:400 18px/1.5 var(--font-sans);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:no-preference){.gv-opt{transition:scale 150ms ease-out,background-color 150ms ease-out,border-color 150ms ease-out}.gv-opt:not(:disabled):active{scale:.98}}
.gv-opt:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media (hover:hover){.gv-opt:not(:disabled):hover{border-color:var(--line-input)}}
.gv-opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.gv-opt:disabled{cursor:default}
.gv-box{width:22px;height:22px;margin-top:2px;box-sizing:border-box;border:1.5px solid var(--line-input);border-radius:6px;display:grid;place-items:center;color:var(--bg)}
.gv-opt.is-radio .gv-box{border-radius:50%}
.gv-opt[aria-pressed="true"] .gv-box{background:var(--ink);border-color:var(--ink)}
.gv-opt.is-right{border-color:var(--success-text);box-shadow:inset 0 0 0 1px var(--success-text)}
.gv-opt.is-right .gv-box{background:transparent;border-color:transparent;color:var(--success-text)}
.gv-opt.is-wrong .gv-txt{text-decoration:line-through;text-decoration-thickness:from-font;color:var(--ink-muted)}
.gv-opt.is-fade{opacity:.5}
.gv-q3 .gv-opt{font:400 19px/1.55 var(--font-serif)}

/* ---------- Module 3 ---------- */
.gv-hyp{margin:var(--space-8) 0 0;padding:var(--space-7) 0;border-block:1px solid var(--line)}
.gv-hyp-text{margin:var(--space-4) 0 0;font:400 clamp(28px,1.8vw + 18px,46px)/1.45 var(--font-serif);letter-spacing:-0.015em;max-width:38ch}
.gv-slot{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;min-width:5em;min-height:1.1em;padding:0 .2em;border-bottom:3px solid var(--chapter-3);color:var(--chapter-3-text);cursor:pointer;border-radius:6px 6px 0 0;-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:no-preference){.gv-slot{transition:scale 150ms ease-out,background-color 150ms ease-out}.gv-slot:active{scale:.96}}
.gv-slot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media (hover:hover){.gv-slot:hover{background:var(--surface-sunk)}}
.gv-fill{display:inline;border-bottom:3px solid var(--chapter-3);color:var(--ink);font-style:italic;padding-bottom:1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}

.gv-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gv-ck{all:unset;box-sizing:border-box;display:grid;grid-template-columns:64px minmax(0,1fr) 24px;gap:var(--space-4);align-items:start;width:100%;padding:var(--space-4) 0;border-top:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent}
.gv-checks li:last-child .gv-ck{border-bottom:1px solid var(--line)}
.gv-ck:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.gv-ck .gv-box{margin-top:6px}
.gv-ck[aria-checked="true"] .gv-box{background:var(--chapter-3);border-color:var(--chapter-3);color:var(--bg)}
.gv-ck-n{font:500 48px/.9 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--chapter-3-text);opacity:.3;transition:opacity 400ms var(--ease-out)}
.gv-checks li[data-on="true"] .gv-ck-n,.gv[data-motion="reduce"] .gv-ck-n{opacity:1}
.gv-ck-b{display:flex;flex-direction:column;gap:2px}
.gv-ck-h{font:600 20px/1.35 var(--font-sans)}
.gv-ck-p{font:400 17px/1.5 var(--font-sans);color:var(--ink-muted)}
@media (hover:hover){.gv-ck:hover .gv-ck-h{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.2em}}

.gv-lever{margin-top:var(--space-8)}
.gv-lever-big{margin:0 0 var(--space-7);font:500 clamp(40px,3vw + 20px,68px)/1.02 var(--font-serif);letter-spacing:-0.03em;max-width:16ch;text-wrap:balance}
.gv-lever-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7);align-items:stretch}
.gv-lc{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-4);border-top:6px solid var(--line-input)}
.gv-lc-strong{border-top-color:var(--chapter-3)}
.gv-lc-h{margin:0;font:500 clamp(24px,.8vw + 18px,32px)/1.15 var(--font-serif);letter-spacing:-0.015em}
.gv-lc-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}
.gv-lc-l li{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--line)}
.gv-lc-t{font:600 20px/1.35 var(--font-sans)}
.gv-lc-d{font:400 18px/1.5 var(--font-sans);color:var(--ink-muted)}
.gv-lc-weak .gv-lc-t,.gv-lc-weak .gv-lc-h{color:var(--ink)}

/* Five elements: a vertical timeline that draws down as the reader passes it. */
.gv-five{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;position:relative}
.gv-five::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:3px;border-radius:2px;background:var(--line)}
.gv-five::after{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:3px;border-radius:2px;background:var(--chapter-3);transform-origin:top;transform:scaleY(var(--p,0))}
.gv-five li{position:relative;z-index:1;display:grid;grid-template-columns:58px minmax(0,1fr);gap:var(--space-5);align-items:start;padding-block:var(--space-3) var(--space-5)}
.gv-five-n{display:grid;place-items:center;width:58px;height:58px;box-sizing:border-box;border-radius:50%;background:var(--bg);border:3px solid var(--line-strong);font:500 26px/1 var(--font-serif);font-variant-numeric:lining-nums tabular-nums;color:var(--ink-muted);transition:background-color 300ms ease-out,border-color 300ms ease-out,color 300ms ease-out}
.gv-five li[data-on="true"] .gv-five-n,.gv[data-motion="reduce"] .gv-five-n{border-color:var(--chapter-3);color:var(--chapter-3-text)}
.gv-five li:is(:first-child,:last-child)[data-on="true"] .gv-five-n,.gv[data-motion="reduce"] .gv-five li:is(:first-child,:last-child) .gv-five-n{background:var(--chapter-3);color:var(--bg)}
.gv-five h4{margin:12px 0 var(--space-1);font:600 22px/1.3 var(--font-sans)}
.gv-five p{margin:0;font:400 18px/1.5 var(--font-sans);color:var(--ink-muted)}

.gv-report{margin-top:var(--space-9);padding:var(--space-7);border-radius:var(--radius-lg);background:var(--surface-sunk)}
.gv-report-stage{display:grid;margin-top:var(--space-6)}
.gv-report-q{grid-area:1 / 1;margin:0;max-width:36ch}
.gv-report-q[data-on="false"]{visibility:hidden}
.gv-report-q.is-weak{font:400 clamp(24px,1vw + 20px,32px)/1.4 var(--font-sans);color:var(--ink-muted)}
.gv-report-q.is-strong{font:500 clamp(28px,1.6vw + 20px,44px)/1.25 var(--font-serif);letter-spacing:-0.015em;color:var(--ink)}

/* ---------- Module nav ---------- */
@media (hover:hover){.gv-modnav a:hover .gv-modnav-t{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.2em}}

/* ---------- Conclusion ---------- */
.gv-concl{padding-top:var(--space-9);margin-top:var(--space-9);border-top:6px solid var(--ink);scroll-margin-top:var(--gv-bar-h)}
.gv-concl .gv-mod-t{margin-top:var(--space-4);font-size:clamp(32px,1.6vw + 22px,48px)}
.gv-concl .gv-split-text .gv-p{margin-top:var(--space-5)}
.gv-journey .gv-mrow-a{grid-template-columns:minmax(0,1fr) 28px}
.gv-mrow-end .gv-mrow-bar{background:color-mix(in oklab,var(--ink) 14%,transparent)}
.gv-mrow-end[data-done="true"] .gv-mrow-bar::after{background:var(--ink)}
.gv-mrow-end .gv-mrow-bar::after{transform:scaleY(0)}
.gv-end{font:600 22px/1.3 var(--font-sans);color:var(--ink-muted)}
.gv-mrow-end[data-done="true"] .gv-end{color:var(--ink)}
.gv-star{display:inline-block;color:var(--chapter-4-text)}
.gv-mrow-end[data-done="false"] .gv-star{opacity:.4}
.gv-closing{margin:var(--space-9) 0 0;font:500 clamp(30px,2vw + 20px,52px)/1.15 var(--font-serif);letter-spacing:-0.025em;max-width:28ch;text-wrap:balance}
.gv-ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-7)}

/* ---------- Medium screens ---------- */
@media (max-width:1099px){
.gv{--gv-text:400px;--gv-gap:48px}
.gv-rung{grid-template-columns:44px minmax(0,1fr)}
.gv-rung .gv-ex{grid-column:2}
.gv-pillar{grid-template-columns:120px minmax(0,1fr)}
.gv-pillar p{grid-column:2}
}

@media (max-width:599px){
.gv-bar .jl-chapter:not([aria-current="page"]){flex:0 0 40px;padding-inline:0;justify-content:center}
.gv-bar .jl-chapter:not([aria-current="page"]) span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gv-bar .jl-chapter:not([aria-current="page"]) i{width:28px}
.gv-bar .jl-chapter[aria-current="page"]{flex:1 1 auto}
}
@media (max-width:759px){.gv-lever-cols{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}}

/* ---------- Narrow screens (site breakpoint) ---------- */
@media (max-width:899px){
.gv{--gv-bar-h:52px}
.gv-display{font-size:36px;max-width:none}
.gv-hero{grid-template-columns:minmax(0,1fr);gap:var(--space-7);padding-block:var(--space-7) var(--space-8)}
.gv-intro{font-size:17px}
.gv-mrow-a{grid-template-columns:minmax(0,1fr) 24px;gap:var(--space-3);padding:var(--space-4) 0 var(--space-4) var(--space-5)}
.gv-mrow-t{font-size:21px}
.gv-bar .jl-chapters{gap:var(--space-1);margin-inline:-6px;width:calc(100% + 12px)}
.gv-bar .jl-chapter{padding:8px 8px;gap:8px;font-size:13px}
.gv-bar .jl-chapter i{width:16px}
.gv-mod-head{grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding-top:var(--space-7);margin-top:var(--space-8)}
.gv-mod:first-child .gv-mod-head{margin-top:var(--space-7)}
.gv-mod-t{font-size:34px}
.gv-sec{padding-top:var(--space-8)}
.gv-h3{font-size:28px}
.gv-split,.gv-scene,.gv-quiz,.gv-gaps{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.gv-split-fig,.gv-scene-fig{position:static}
.gv-scene-text{padding-bottom:0}
.gv-step{padding-bottom:var(--space-6)}
.gv-scene{margin-top:var(--space-6)}
.gv-relay-h,.gv-lad-h{font-size:24px}
.gv-relay-tag{font-size:15px}
.gv-node{font-size:15px}
.gv-tier{padding-left:var(--space-4)}
.gv-tier h4{font-size:24px}
.gv-lad-body{grid-template-columns:14px minmax(0,1fr);gap:var(--space-4)}
.gv-rung{grid-template-columns:36px minmax(0,1fr);gap:var(--space-2) var(--space-3)}
.gv-rung .gv-ex{grid-column:2}
.gv-rung-n{font-size:36px}
.gv-rung h5{font-size:18px}
.gv-ex span:last-child{font-size:16px}
.gv-gaps dl{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.gv-after{margin-left:0}
.gv-bins{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
.gv-bin{padding:var(--space-4);min-height:0;gap:var(--space-4);border-radius:var(--radius-md)}
.gv-bin-h{font-size:26px;gap:var(--space-2)}
.gv-bin-h::before{width:10px;height:10px}
.gv-binlist{gap:var(--space-2);min-height:56px}
.gv-chip,.gv-ghost{min-height:56px;padding:10px 12px 10px 8px;font-size:16px;gap:4px}
.gv-chip:disabled{padding-left:12px}

.gv-seed li{font-size:15px}
.gv-pillar{grid-template-columns:72px minmax(0,1fr);gap:var(--space-2) var(--space-4);padding-block:var(--space-5)}
.gv-pillar-n{font-size:60px;grid-row:1 / span 2}
.gv-pillar-h{font-size:26px}
.gv-pillar p{font-size:17px}
.gv-model{padding:var(--space-4);margin-inline:0}
.gv-segwrap .jl-seg-b{padding:8px 10px}
.gv-steps .jl-step{grid-template-columns:52px minmax(0,1fr)}
.gv-steps .jl-step-n{font-size:48px}
.gv-quote{margin-top:var(--space-8);font-size:28px;padding-left:var(--space-4)}
.gv-opt{font-size:17px;padding:14px 16px}
.gv-hyp-text{font-size:26px}
.gv-ck{grid-template-columns:44px minmax(0,1fr) 24px;gap:var(--space-3)}
.gv-ck-n{font-size:38px}
.gv-ck-h{font-size:18px}
.gv-ck-p{font-size:16px}
.gv-lever-big{font-size:38px;margin-bottom:var(--space-6)}
.gv-lever-cols{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.gv-five li{grid-template-columns:48px minmax(0,1fr);gap:var(--space-4)}
.gv-five-n{width:48px;height:48px;font-size:22px}
.gv-five::before,.gv-five::after{left:22px}
.gv-five h4{margin-top:8px;font-size:20px}
.gv-five p{font-size:17px}
.gv-report{padding:var(--space-5)}
.gv-closing{font-size:30px}
.gv-ctas > *{flex:1 1 auto;justify-content:center}
}
.gv-endmark{height:1px;margin:0;pointer-events:none}
@media (max-width:599px){
.gv-segwrap{overflow:visible;padding:0;margin:0}
.gv-segwrap .jl-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-radius:var(--radius-lg)}
.gv-segwrap .jl-seg-b{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 8px;text-align:center;border-radius:var(--radius-md)}
.gv-segwrap .jl-seg-pill{border-radius:var(--radius-md)}
}
