/* OneBonsai Gulf × Leema Clinic — proposal deck (L1)
   White-ground edition of the OBG deck system. Stage is 100 × 56.25 cqw; everything inside
   the stage is sized in cqw (1cqw = 1% of stage width). Chrome around the stage is in vw/px. */
@font-face{font-family:Hanken;src:url('assets/hanken-grotesk.woff2') format('woff2');font-display:swap}
@font-face{font-family:IBM;src:url('assets/ibm-plex-mono.woff2') format('woff2');font-display:swap}
:root{--ink:#0a0b0a;--paper:#f2f4ef;--paper2:#e7ebe6;--white:#fbfcf8;--lime:#dcff22;--lime-deep:#708500;--muted:#626862;--line:rgba(10,11,10,.18);--line-soft:rgba(10,11,10,.1);--dark:#090b0a;--graphite:#191c19;--line-dark:rgba(251,252,248,.18);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{display:grid;grid-template-rows:auto 1fr auto;background:var(--paper2);color:var(--ink);font-family:Hanken,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button{font-family:inherit}
.mono{font:400 11px/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
kbd{display:inline-block;margin-left:.45em;padding:.18em .42em;border:1px solid var(--line);border-radius:4px;font:400 10px/1 IBM,monospace;color:var(--muted)}

/* ---------- app chrome (outside the stage) ---------- */
.app-header{display:flex;align-items:center;gap:18px;padding:10px clamp(16px,2.2vw,32px);min-height:54px}
.app-brand img{display:block;height:22px;width:auto}
.breadcrumb{display:flex;align-items:center;gap:8px;font:400 11px/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);min-width:0;overflow:hidden;white-space:nowrap}
.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.breadcrumb span.sep{opacity:.5}
.breadcrumb .here{color:var(--ink)}
.utility{margin-left:auto;display:flex;gap:8px}
.utility button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13px;font-weight:560;cursor:pointer;transition:background .18s,border-color .18s}
.utility button:hover{border-color:var(--ink)}
.utility button[aria-expanded="true"]{background:var(--ink);color:var(--white)}.utility button[aria-expanded="true"] kbd{border-color:rgba(251,252,248,.3);color:var(--white)}
.utility button svg{width:15px;height:15px}
.deck-footer{padding:8px clamp(16px,2.2vw,32px) 10px;display:grid;gap:7px}
.footer-line{display:flex;align-items:center;gap:10px;min-width:0}
.home-btns{display:flex;gap:6px}
.home-btns button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:12px;font-weight:560;color:var(--ink);cursor:pointer}
.home-btns button#home{background:var(--ink);color:var(--white);border-color:var(--ink)}
.home-btns button svg{width:14px;height:14px}
#chapters{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
#chapters::-webkit-scrollbar{display:none}
#chapters a{white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--muted);text-decoration:none;transition:color .18s,background .18s}
#chapters a:hover{color:var(--ink)}#chapters a.active{background:rgba(10,11,10,.07);color:var(--ink)}
#chapters a b{font-weight:400;font-family:IBM,monospace;font-size:10px;margin-right:5px;color:var(--lime-deep)}
#sources-open{height:28px;padding:0 10px;border:0;background:transparent;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}#sources-open:hover{color:var(--ink)}
.presenter-line{display:flex;align-items:center;gap:14px}
#scene-label{font:400 10.5px/1 IBM,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.progress{width:min(34vw,420px);height:2px;background:rgba(10,11,10,.12)}.progress i{display:block;height:100%;width:0;background:var(--lime-deep);transition:width .5s var(--ease)}
.presenter-controls{display:flex;align-items:center;gap:8px}
.presenter-controls button{width:30px;height:28px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:14px;cursor:pointer;color:var(--ink)}
.presenter-controls button:hover{background:var(--ink);color:var(--white)}.presenter-controls button:disabled{opacity:.35;pointer-events:none}
#scene-counter{font:400 11px/1 IBM,monospace;letter-spacing:.06em;color:var(--muted);min-width:64px;text-align:center}

/* ---------- stage ---------- */
.stage-wrap{display:grid;place-items:center;min-height:0;padding:0 clamp(16px,2.2vw,32px)}
.stage{position:relative;width:min(100%,calc((100vh - 150px) * 16 / 9),1440px);aspect-ratio:16/9;overflow:hidden;background:var(--white);border:1px solid var(--line-soft);container-type:size;perspective:1200px}
.slide{position:absolute;inset:0;z-index:1;overflow:hidden;opacity:0;visibility:hidden;isolation:isolate;color:var(--ink)}
.slide.is-active,.slide.is-in,.slide.is-out{opacity:1;visibility:visible}.slide.is-out{z-index:2}.slide.is-in{z-index:3}
.bg-panel{position:absolute;inset:-1px;z-index:-2;pointer-events:none;background:var(--white)}
.paper>.bg-panel{background:var(--white)}.tint>.bg-panel{background:var(--paper)}.dark>.bg-panel{background:var(--dark)}
.dark{color:var(--white)}
.stage.motion .slide{background:transparent!important}
.slide-head,.slide-foot{position:absolute;left:5.4cqw;right:5.4cqw;display:flex;align-items:center;justify-content:space-between;z-index:20;pointer-events:none}
.slide-head{top:2.3cqw}
.slide-head .brand{width:9.2cqw;height:auto;display:block}
.slide-head .client{width:7.4cqw;height:auto;display:block;margin-left:1.4cqw;opacity:.95}
.slide-head .marks{display:flex;align-items:center;gap:.6cqw}
.has-shade .kicker,.story .kicker{padding:.46cqw .66cqw;border-radius:.3cqw;background:rgba(251,252,248,.92)}
.kicker{font:400 .6cqw/1 IBM,monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);max-width:44cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.slide-foot{bottom:1.7cqw;padding-top:.7cqw;border-top:.08cqw solid var(--line);font:400 .56cqw/1 IBM,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dark .slide-foot{border-color:var(--line-dark);color:rgba(251,252,248,.6)}.dark .kicker{color:rgba(251,252,248,.7)}
.eyebrow{margin:0 0 1cqw;font:400 .6cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-deep)}
.dark .eyebrow{color:var(--lime)}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.055em;line-height:.9;text-wrap:balance}
h1{font-size:5.6cqw}h2{font-size:3.9cqw;max-width:12ch}h3{font-size:1.5cqw;letter-spacing:-.03em;line-height:1.05}
em{font-style:normal;color:var(--lime-deep)}.dark em{color:var(--lime)}
.lead{margin:1.3cqw 0 0;max-width:42ch;font-size:1.08cqw;line-height:1.45;color:var(--muted)}.dark .lead{color:rgba(251,252,248,.72)}
.illustrative{position:absolute;left:5.4cqw;bottom:3.3cqw;z-index:4;font:400 .5cqw/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.slide .reveal{opacity:1;transform:none}
.slide.is-in [data-morph],.slide.is-out [data-morph]{will-change:transform}

/* photo panels — a full-bleed image clipped to a region; story slides re-crop the same image */
.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1;clip-path:inset(0 0 0 50%);transition:none!important}
.scene-shade{position:absolute;inset:0;z-index:0;pointer-events:none}
.crop-right{clip-path:inset(0 0 0 50%)}.crop-right-narrow{clip-path:inset(0 0 0 62%)}.crop-left{clip-path:inset(0 50% 0 0)}.crop-left-wide{clip-path:inset(0 38% 0 0)}
.crop-top{clip-path:inset(0 0 48% 0)}.crop-full{clip-path:inset(0 0 0 0)}.crop-band{clip-path:inset(7.9cqw 0 0 56%)}.crop-card{clip-path:inset(9cqw 5.4cqw 7cqw 56cqw round 1.2cqw)}
.crop-left-card{clip-path:inset(9cqw 56cqw 7cqw 5.4cqw round 1.2cqw)}
.has-shade .scene-shade{background:linear-gradient(90deg,var(--white) 0%,var(--white) 44%,rgba(251,252,248,0) 60%)}

/* ---------- cover ---------- */
.cover-copy{position:absolute;left:5.4cqw;top:15cqw;width:44cqw;z-index:3}
.cover-copy h1{font-size:5.4cqw;max-width:11ch}
.cover-copy .lead{font-size:1.15cqw;max-width:36ch}
.cover-tags{position:absolute;left:5.4cqw;bottom:6.4cqw;z-index:3;display:flex;gap:.6cqw;flex-wrap:wrap;width:44cqw}
.cover-tags span{padding:.5cqw .8cqw;border:.08cqw solid var(--line);border-radius:999px;font:400 .55cqw/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cover-tags span.on{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.cover-client-logo{width:15cqw;height:auto;display:block;padding:.7cqw 1cqw;border-radius:.6cqw;background:rgba(251,252,248,.94)}

/* ---------- generic layouts ---------- */
.body{position:absolute;left:5.4cqw;right:5.4cqw;top:8.4cqw;bottom:5.6cqw;display:flex;flex-direction:column;justify-content:center}
.body.right-half{left:50cqw}
.body.right-half h2{font-size:3cqw}.body.right-half .lead{font-size:.95cqw}.body.right-half .rows{margin-top:1.4cqw}.body.right-half .benefit{margin-top:1.2cqw;max-width:none}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:4.5cqw;align-items:center}
.split.even{grid-template-columns:1fr 1fr}
.split.wide-right{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr)}
.copy h2{font-size:3.4cqw}
.copy .lead{font-size:1cqw;max-width:40ch}
.benefit{margin-top:1.6cqw;padding:1.1cqw 1.2cqw;background:var(--lime);border-radius:.6cqw;max-width:34cqw}
.benefit small{display:block;font:400 .5cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(10,11,10,.65);margin-bottom:.5cqw}
.benefit p{margin:0;font-size:1cqw;line-height:1.35;color:var(--ink)}
.benefit.on-dark{background:var(--lime)}

/* feature grid: leaf cards with icon + label */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:.7cqw;align-content:start}
.features.three{grid-template-columns:repeat(3,1fr)}
.features article{position:relative;padding:1.1cqw 1.2cqw;border:.08cqw solid var(--line);border-radius:.8cqw;background:var(--white);min-height:7.6cqw;display:flex;flex-direction:column;gap:.45cqw}
.features article img{width:1.5cqw;height:1.5cqw;opacity:.85}
.features article b{font-weight:520;font-size:1.02cqw;letter-spacing:-.02em;line-height:1.1}
.features article p{margin:0;font-size:.78cqw;line-height:1.35;color:var(--muted)}
.features article.tint{background:var(--paper)}
.features article span.n{position:absolute;right:.9cqw;top:.8cqw;font:400 .5cqw/1 IBM,monospace;color:var(--muted)}

/* list block — hairline rows */
.rows{border-top:.08cqw solid var(--line)}
.rows div{display:grid;grid-template-columns:3cqw 1fr;gap:1cqw;padding:.85cqw 0;border-bottom:.08cqw solid var(--line);align-items:baseline}
.rows div span{font:400 .55cqw/1 IBM,monospace;color:var(--lime-deep)}
.rows div b{font-weight:500;font-size:1.05cqw;letter-spacing:-.02em}
.rows div p{margin:.25cqw 0 0;font-size:.8cqw;color:var(--muted);line-height:1.35}
.rows div i{display:block;font-style:normal}

/* step strip (workflows) */
.steps{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.55cqw;align-items:stretch}
.steps article{padding:1.1cqw 1cqw;border:.08cqw solid var(--line);border-radius:.7cqw;background:var(--white);display:flex;flex-direction:column;gap:.55cqw;min-height:12.5cqw}
.steps article span{font:400 .55cqw/1 IBM,monospace;color:var(--lime-deep)}
.steps article b{font-weight:520;font-size:1cqw;letter-spacing:-.02em;line-height:1.1}
.steps article p{margin:0;font-size:.76cqw;line-height:1.3;color:var(--muted)}
.steps article.on{background:var(--lime);border-color:var(--lime)}.steps article.on span{color:rgba(10,11,10,.6)}
.steps.tall article{min-height:13cqw}
.steps-title{margin:0 0 1.2cqw;font:400 .55cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- section dividers (white, photo on the right) ---------- */
.divider .scene-image{clip-path:inset(0 0 0 50%)}
.divider-copy{position:absolute;left:5.4cqw;bottom:7.4cqw;width:42cqw;z-index:3}
.divider-copy .eyebrow{margin-bottom:.5cqw}
.divider-no{display:block;font:500 9cqw/.82 Hanken,sans-serif;letter-spacing:-.07em;color:var(--ink);margin:0 0 .6cqw -.3cqw}
.divider-title{margin:0;font-size:4.6cqw;line-height:.92;letter-spacing:-.055em;max-width:12ch}
.divider-rule{display:block;width:8cqw;height:.3cqw;background:var(--lime);margin:1.2cqw 0 1cqw}
.divider-copy .lead{max-width:40ch;font-size:1.02cqw;margin:0}
.divider-index{position:absolute;right:5.4cqw;top:8.4cqw;z-index:3;width:19cqw;padding:1cqw 1.2cqw;background:rgba(251,252,248,.9);border:.08cqw solid var(--line-soft);border-radius:.8cqw;backdrop-filter:blur(.4cqw)}
.divider-index small{display:block;font:400 .5cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.6cqw}
.divider-index ol{margin:0;padding:0;list-style:none;display:grid;gap:.3cqw}
.divider-index li{display:grid;grid-template-columns:1.6cqw 1fr;gap:.4cqw;font-size:.8cqw;line-height:1.25}
.divider-index li span{font:400 .5cqw/1.6 IBM,monospace;color:var(--lime-deep)}
.title-ghost{position:absolute;z-index:70;display:block;font:500 4.6cqw/.92 Hanken,sans-serif;letter-spacing:-.055em;color:var(--ink);pointer-events:none;white-space:normal;text-align:left}
.label-ghost{position:absolute;z-index:70;font:400 .6cqw/1 IBM,monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);pointer-events:none;white-space:nowrap}

/* ---------- story (same photo, new crop) ---------- */
.story .scene-image{clip-path:inset(9cqw 5.4cqw 7cqw 52cqw round 1.2cqw)}
.story-copy{position:absolute;left:5.4cqw;top:9cqw;width:42cqw;z-index:3}
.story-copy h2{font-size:3.2cqw}
.beats{margin-top:1.6cqw;border-top:.08cqw solid var(--line)}
.beats article{display:grid;grid-template-columns:4cqw 1fr;gap:1cqw;padding:.9cqw 0;border-bottom:.08cqw solid var(--line)}
.beats article span{font:400 .55cqw/1.5 IBM,monospace;color:var(--lime-deep)}
.beats article b{display:block;font-weight:520;font-size:1cqw;letter-spacing:-.02em}
.beats article p{margin:.25cqw 0 0;font-size:.8cqw;line-height:1.35;color:var(--muted)}
.story-tag{position:absolute;right:6.6cqw;bottom:8.3cqw;z-index:4;padding:.55cqw .8cqw;background:var(--white);border-radius:.4cqw;font:400 .52cqw/1 IBM,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}

/* ---------- relationship (who we are) ---------- */
.relation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1cqw;margin-top:1.8cqw;position:relative}
.relation:before{content:"";position:absolute;left:8%;right:8%;top:3.2cqw;height:.08cqw;background:var(--line);z-index:0}
.relation article{position:relative;z-index:1;padding:1.3cqw 1.3cqw 1.4cqw;border:.08cqw solid var(--line);border-radius:1cqw;background:var(--white);min-height:15.5cqw;display:flex;flex-direction:column}
.relation article .logo{height:3cqw;display:flex;align-items:center;margin-bottom:1.2cqw}
.relation article .logo img{max-height:2.2cqw;max-width:11cqw;width:auto;height:auto}
.relation article .logo img.tall{max-height:3.6cqw;max-width:15cqw}
.relation article small{font:400 .52cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-deep);margin-bottom:.5cqw}
.relation article b{font-weight:520;font-size:1.25cqw;letter-spacing:-.03em;line-height:1.05}
.relation article p{margin:.6cqw 0 0;font-size:.82cqw;line-height:1.38;color:var(--muted)}
.relation article.on{background:var(--paper)}
.relation article i.pin{position:absolute;top:-.55cqw;left:50%;width:1cqw;height:1cqw;margin-left:-.5cqw;border-radius:50%;background:var(--white);border:.08cqw solid var(--line)}
.relation article.on i.pin{background:var(--lime);border-color:var(--lime)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.8cqw;margin-top:1.4cqw}
.facts div{padding:.9cqw 1cqw;border-top:.08cqw solid var(--line)}
.facts strong{display:block;font-weight:500;font-size:2.2cqw;letter-spacing:-.05em;line-height:1}
.facts span{display:block;margin-top:.35cqw;font-size:.72cqw;color:var(--muted);line-height:1.3}

/* ---------- reference wall ---------- */
.reference-title{position:absolute;left:5.4cqw;top:8.4cqw;width:23cqw;z-index:3}
.reference-title h2{font-size:3.3cqw}
.logo-wall{position:absolute;left:31cqw;right:5.4cqw;top:7.4cqw;bottom:5.3cqw;display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(6,1fr);border-top:.08cqw solid var(--line);border-left:.08cqw solid var(--line)}
.logo-wall figure{margin:0;border-right:.08cqw solid var(--line);border-bottom:.08cqw solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqw;padding:.38cqw;min-width:0;overflow:hidden}
.logo-wall img{width:4.9cqw;height:2cqw;object-fit:contain;filter:grayscale(1);opacity:.82}
.logo-wall figcaption{max-width:100%;font:400 .42cqw/1.05 IBM,monospace;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- tailor-made ---------- */
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;margin-top:1.6cqw}
.contrast article{padding:1.4cqw 1.5cqw;border:.08cqw solid var(--line);border-radius:1cqw;min-height:21cqw}
.contrast article.on{background:var(--ink);color:var(--white);border-color:var(--ink)}
.contrast article small{display:block;font:400 .52cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.9cqw}
.contrast article.on small{color:var(--lime)}
.contrast article b{display:block;font-weight:500;font-size:1.7cqw;letter-spacing:-.04em;line-height:1;margin-bottom:1cqw}
.contrast ul{margin:0;padding:0;list-style:none;display:grid;gap:.45cqw}
.contrast li{position:relative;padding-left:1.2cqw;font-size:.86cqw;line-height:1.35;color:var(--muted)}
.contrast article.on li{color:rgba(251,252,248,.8)}
.contrast li:before{content:"";position:absolute;left:0;top:.5cqw;width:.6cqw;height:.08cqw;background:currentColor;opacity:.5}

/* ---------- three doors (one address) ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1cqw;margin-top:1.3cqw}
.doors article{padding:0;border:.08cqw solid var(--line);border-radius:1cqw;overflow:hidden;background:var(--white);display:flex;flex-direction:column;min-height:24cqw}
.doors .url{padding:.9cqw 1.2cqw;background:var(--paper);border-bottom:.08cqw solid var(--line);font:400 .66cqw/1 IBM,monospace;letter-spacing:.02em;color:var(--ink)}
.doors .url b{font-weight:400;color:var(--lime-deep)}
.doors .who{padding:1.1cqw 1.2cqw 0;font:400 .5cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.doors h3{padding:.5cqw 1.2cqw 0;font-size:1.5cqw}
.doors ul{margin:.8cqw 1.2cqw 1.2cqw;padding:0;list-style:none;display:grid;gap:.4cqw}
.doors li{font-size:.8cqw;line-height:1.3;color:var(--muted);padding-left:1cqw;position:relative}
.doors li:before{content:"";position:absolute;left:0;top:.5cqw;width:.5cqw;height:.08cqw;background:var(--line)}
.doors article.on .url{background:var(--lime)}.doors article.on .url b{color:var(--ink)}
.doors .shot{margin-top:auto;height:8.6cqw;overflow:hidden;border-top:.08cqw solid var(--line);background:var(--paper)}.doors .shot img{display:block;width:118%;margin:.9cqw 0 0 -9%;height:auto}.doors article.on .shot img{width:92%;margin:.6cqw auto 0}
.doors .foot{padding:.8cqw 1.2cqw;border-top:.08cqw solid var(--line);font-size:.72cqw;color:var(--muted)}

/* ---------- journey (one picture) ---------- */
.journey{display:grid;grid-template-columns:repeat(9,1fr);gap:.5cqw;margin-top:2.4cqw;position:relative}
.journey:before{content:"";position:absolute;left:3%;right:3%;top:3.2cqw;height:.08cqw;background:var(--line)}
.journey article{position:relative;padding:4.6cqw .5cqw 0;text-align:center}
.journey article i{position:absolute;left:50%;top:2.4cqw;width:1.6cqw;height:1.6cqw;margin-left:-.8cqw;border-radius:50%;background:var(--white);border:.08cqw solid var(--line)}
.journey article.on i{background:var(--lime);border-color:var(--lime)}
.journey article img{width:2.6cqw;height:2.6cqw;opacity:.85}
.journey article b{display:block;margin-top:.6cqw;font-weight:520;font-size:1.05cqw;letter-spacing:-.02em;line-height:1.1}
.journey article p{margin:.4cqw 0 0;font-size:.74cqw;line-height:1.3;color:var(--muted)}
.journey article span{display:block;font:400 .55cqw/1 IBM,monospace;color:var(--lime-deep);margin:.5cqw 0 .3cqw}
.journey-systems{margin-top:2.6cqw;display:flex;gap:.45cqw;flex-wrap:wrap}
.journey-systems span{padding:.45cqw .7cqw;border:.08cqw solid var(--line);border-radius:999px;font:400 .52cqw/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ---------- screens (mock-ups) ---------- */
.shot-image{position:absolute;right:3.6cqw;top:7.2cqw;width:55cqw;z-index:2;display:block;height:auto;filter:drop-shadow(0 1.4cqw 2.2cqw rgba(10,11,10,.14))}
.shot-image.phones{right:4.5cqw;top:6.6cqw;width:49cqw}
.shot-copy{position:absolute;left:5.4cqw;top:8.6cqw;width:36cqw;z-index:3}
.shot-copy h2{font-size:3.1cqw}
.shot-copy .lead{font-size:.98cqw;max-width:36ch}
.shot-points{margin:1.4cqw 0 0;padding:0;list-style:none;display:grid;gap:.5cqw;max-width:30cqw}
.shot-points li{display:grid;grid-template-columns:1.6cqw 1fr;gap:.6cqw;font-size:.84cqw;line-height:1.35;color:var(--muted)}
.shot-points li span{font:400 .52cqw/1.7 IBM,monospace;color:var(--lime-deep)}
.shot-points li b{color:var(--ink);font-weight:520}

/* ---------- tiles (counts, categories) ---------- */
.impact-copy{position:absolute;left:5.4cqw;top:8.4cqw;width:60cqw;z-index:3}
.impact-copy h2{font-size:3.3cqw}.impact-copy .lead{max-width:62ch;margin-top:.9cqw}
.impact-tiles{position:absolute;left:5.4cqw;right:5.4cqw;bottom:6.2cqw;display:grid;grid-template-columns:repeat(3,1fr);gap:.9cqw}
.impact-tiles.four{grid-template-columns:repeat(4,1fr)}
.impact-tiles article{padding:1.4cqw 1.5cqw;border:.08cqw solid var(--line);border-radius:1cqw;background:var(--white);min-height:23cqw;display:flex;flex-direction:column}
.impact-tiles article.on{background:var(--paper)}
.impact-tiles small{font:400 .52cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-deep)}
.impact-tiles strong{display:block;margin:.8cqw 0 .6cqw;font-weight:500;font-size:2.4cqw;letter-spacing:-.05em;line-height:.95}
.impact-tiles b{display:block;font-weight:520;font-size:1.2cqw;letter-spacing:-.03em;line-height:1.05;margin:.8cqw 0 .6cqw}
.impact-tiles ul{margin:0;padding:0;list-style:none;display:grid;gap:.3cqw}
.impact-tiles li{font-size:.84cqw;line-height:1.3;color:var(--muted);padding-left:.9cqw;position:relative}
.impact-tiles li:before{content:"";position:absolute;left:0;top:.48cqw;width:.45cqw;height:.08cqw;background:var(--line)}
.impact-tiles p{margin:0;font-size:.92cqw;line-height:1.35;color:var(--muted)}
.impact-tiles article .fine{margin-top:auto;padding-top:.8cqw;font:400 .5cqw/1.4 IBM,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

/* ---------- phases (roadmap) ---------- */
.plan-track{position:absolute;left:5.4cqw;right:5.4cqw;top:22.5cqw;bottom:6cqw;display:grid;grid-template-columns:repeat(6,1fr);gap:.55cqw}
.plan-track article{padding:1cqw 1cqw;border:.08cqw solid var(--line);border-radius:.8cqw;background:var(--white);display:flex;flex-direction:column}
.plan-track article.on{background:var(--paper)}
.plan-track span{font:400 .52cqw/1 IBM,monospace;color:var(--lime-deep)}
.plan-track b{display:block;margin:.7cqw 0 .8cqw;font-weight:520;font-size:1.25cqw;letter-spacing:-.03em;line-height:1.05}
.plan-track ul{margin:0;padding:0;list-style:none;display:grid;gap:.4cqw}
.plan-track li{font-size:.82cqw;line-height:1.3;color:var(--muted)}
.plan-track i.bar{display:block;height:.3cqw;background:var(--line);margin-top:auto;border-radius:999px;overflow:hidden}
.plan-track i.bar:before{content:"";display:block;height:100%;width:100%;background:var(--lime)}
.plan-track .gate{margin-top:.8cqw;font:400 .48cqw/1.3 IBM,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

/* ---------- close ---------- */
.close-copy{position:absolute;left:5.4cqw;top:11cqw;width:50cqw;z-index:3}
.close-copy h1{font-size:4.8cqw}
.closing-outcomes{position:absolute;left:5.4cqw;right:5.4cqw;bottom:6.2cqw;display:grid;grid-template-columns:repeat(4,1fr);gap:.8cqw}
.closing-outcomes article{padding:1.1cqw 1.2cqw;border:.08cqw solid var(--line);border-radius:.9cqw;background:var(--white)}
.closing-outcomes article.on{background:var(--lime);border-color:var(--lime)}
.closing-outcomes small{font:400 .5cqw/1 IBM,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.closing-outcomes article.on small{color:rgba(10,11,10,.6)}
.closing-outcomes b{display:block;margin-top:.6cqw;font-weight:520;font-size:1.05cqw;letter-spacing:-.03em;line-height:1.15}

/* ---------- motion helpers ---------- */
.wipe-blade{position:absolute;inset:0;z-index:60;pointer-events:none;display:none}
.stage.is-wiping .wipe-blade{display:block}
.wipe-blade i{position:absolute;top:-10%;bottom:-10%;left:0;width:100%;transform:skewX(-14deg);display:block}
.wipe-blade .blade-a{background:var(--lime);width:8cqw;left:46cqw}
.wipe-blade .blade-b{background:var(--ink);width:3.2cqw;left:56cqw;opacity:.9}
.nav-arrow,.mobile-index,.rotate-note,.hint{display:none}

/* ---------- talk track drawer ---------- */
.cue{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);z-index:90;background:var(--dark);color:var(--white);transform:translateX(102%);transition:transform .42s var(--ease);display:grid;grid-template-rows:auto 1fr auto;padding:22px 26px;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
.cue.open{transform:none}
.cue-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line-dark)}
.cue-head .mono{color:rgba(251,252,248,.55);display:block;margin-bottom:8px}
.cue-head strong{font-weight:500;font-size:26px;letter-spacing:-.04em}
.cue-head button{border:0;background:transparent;color:var(--white);font-size:22px;cursor:pointer;width:32px;height:32px}
.cue-body{overflow:auto;padding:20px 0}
.cue-body section{margin-bottom:24px}
.cue-body .mono{color:var(--lime);display:block;margin-bottom:10px}
.cue-body p{margin:0;font-size:17px;line-height:1.42;color:rgba(251,252,248,.9)}
.cue-body p.ask{font-size:16px;color:rgba(251,252,248,.78)}
.cue-body button.next{margin-top:8px;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--line-dark);border-radius:999px;background:transparent;color:var(--white);font-size:13px;cursor:pointer}
.cue-body button.next:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.cue-body .empty{color:rgba(251,252,248,.45);font-size:14px}
.cue-foot{margin:0;padding-top:14px;border-top:1px solid var(--line-dark);color:rgba(251,252,248,.45)}

/* ---------- dialogs: command centre, search, sources ---------- */
dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:none;max-height:none}
dialog::backdrop{background:rgba(9,11,10,.42);backdrop-filter:blur(3px)}
dialog .panel{width:min(880px,92vw);max-height:86vh;overflow:auto;margin:auto;background:var(--white);border-radius:20px;padding:26px 30px 30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
dialog .panel.wide{width:min(1080px,94vw)}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.dialog-head h2{font-size:30px;max-width:none}
.dialog-head .mono{display:block;margin-bottom:8px;color:var(--lime-deep)}
.dialog-head button{border:0;background:transparent;font-size:24px;cursor:pointer;width:34px;height:34px;color:var(--ink)}
#global-search{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:400 16px Hanken,sans-serif;background:var(--paper);color:var(--ink);outline:none}
#global-search:focus{border-color:var(--ink)}
#search-summary{margin:10px 0 6px;color:var(--muted)}
#search-results{display:grid;gap:4px}
#search-results button{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:15px;color:var(--ink)}
#search-results button:hover{background:var(--paper)}
#search-results button span{font:400 10px/1 IBM,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--lime-deep)}
#search-results button small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hub-grid button{text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--white);cursor:pointer;display:grid;gap:6px;transition:border-color .18s,transform .32s var(--ease)}
.hub-grid button:hover{border-color:var(--ink);transform:translateY(-2px)}
.hub-grid button span{font:400 10px/1 IBM,monospace;letter-spacing:.08em;color:var(--lime-deep)}
.hub-grid button b{font-weight:520;font-size:17px;letter-spacing:-.03em;line-height:1.1}
.hub-grid button small{font:400 10px/1.3 IBM,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.hub-grid button.current{background:var(--paper)}
.hub-quick{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0}
.hub-quick button{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:13px;cursor:pointer;color:var(--ink)}
.hub-quick button:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.hub-quick button.on{background:var(--lime);border-color:var(--lime)}
.hub-foot{margin:18px 0 0;color:var(--muted)}
#source-content{font-size:14.5px;line-height:1.5;color:var(--ink)}
#source-content p{margin:0 0 10px}
#source-content .mono{display:block;margin:14px 0 6px;color:var(--lime-deep)}
#source-content a{color:var(--ink)}

/* ---------- responsive / print ---------- */
@media(max-width:900px){.utility button span.txt,.breadcrumb,#chapters,#sources-open{display:none}.stage{width:min(100%,calc((100vh - 130px)*16/9))}.progress{width:30vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{html,body{overflow:visible;background:white}.app-header,.deck-footer,.cue,dialog{display:none!important}.stage{width:13.333in;height:auto;aspect-ratio:auto;overflow:visible;border:0}.slide{position:relative;width:13.333in;height:7.5in;opacity:1!important;visibility:visible!important;transform:none!important;page-break-after:always;background:white!important}.bg-panel,.wipe-blade{display:none}@page{size:13.333in 7.5in;margin:0}}

.reference-title .lead.short{font-size:.95cqw;max-width:26ch}
.steps-wrap{margin-top:2.2cqw}
.lead.note{font-size:.8cqw;max-width:78ch;margin-top:1.3cqw}
.photo-card{position:absolute;left:5.4cqw;top:9cqw;width:38.6cqw;height:40.25cqw;object-fit:cover;object-position:center;border-radius:1.2cqw;z-index:1}
.photo-card.pos-60{object-position:62% center}.photo-card.pos-75{object-position:82% center}.photo-card.pos-40{object-position:40% center}

/* L1.2 photographs on explanation and workflow slides */
.copy .photo-strip{display:block;width:100%;max-width:36cqw;height:11.5cqw;object-fit:cover;border-radius:1cqw;margin-top:1.4cqw}
.copy .photo-strip+.benefit{margin-top:1.1cqw}
.steps-head{display:grid;grid-template-columns:minmax(0,1fr) 36cqw;gap:3cqw;align-items:end}
.photo-wide{display:block;width:36cqw;height:15cqw;object-fit:cover;border-radius:1cqw;justify-self:end}
.steps-head .copy .lead{max-width:48ch}
.photo-strip.pos-l{object-position:0% center}.photo-strip.pos-r{object-position:100% center}
