:root{--ink:#071019;--ink2:#0c1722;--ink3:#132232;--cream:#f4f2eb;--paper:#fffdf7;--white:#fff;--mint:#67e8c2;--mint2:#c8fff0;--violet:#a68cff;--violet2:#e5ddff;--amber:#f3c56d;--muted:#91a0b1;--line:rgba(255,255,255,.12);--max:1240px;--shadow:0 40px 90px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#eef3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:fixed;left:16px;top:10px;z-index:99;padding:10px 14px;background:#fff;color:#111;border-radius:10px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:14px;z-index:50;max-width:var(--max);margin:14px auto 0;padding:12px 14px 12px 16px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(7,16,25,.82);backdrop-filter:blur(20px);display:grid;grid-template-columns:max-content 1fr max-content;align-items:center;gap:28px;box-shadow:0 18px 50px rgba(0,0,0,.22)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:35px;height:35px;border-radius:12px;background:linear-gradient(155deg,#162536,#0a1720);border:1px solid rgba(255,255,255,.12);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:8px}.brand-mark i{display:block;width:4px;border-radius:4px;background:var(--mint)}.brand-mark i:nth-child(1){height:10px;opacity:.6}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:23px;opacity:.8}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:14px}.brand-copy small{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#718094;margin-top:5px}.desktop-nav{display:flex;justify-content:center;gap:24px}.desktop-nav a{font-size:12px;color:#aeb8c5;transition:.2s}.desktop-nav a:hover{color:#fff}.header-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:0 16px;border-radius:13px;font-size:12px;font-weight:800;border:1px solid transparent;transition:transform .18s,background .18s,border-color .18s}.btn:hover{transform:translateY(-1px)}.btn.large{min-height:52px;padding:0 22px;border-radius:16px;font-size:13px}.btn.mint{background:var(--mint);color:#06130f;box-shadow:0 14px 36px rgba(103,232,194,.13)}.btn.ghost{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.btn.ghost-light{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04)}.section-dark,.section-night,.section-cream,.section-paper{position:relative}.section-dark{background:var(--ink)}.section-night{background:#09131e}.section-cream{background:var(--cream);color:#111821}.section-paper{background:var(--paper);color:#111821}.eyebrow{display:flex;align-items:center;gap:10px;color:#96a5b8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.eyebrow span{width:28px;height:1px;background:var(--mint)}.eyebrow.dark{color:#6e7680}.hero{max-width:var(--max);margin:0 auto;padding:90px 0 100px;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.hero-copy h1{font-size:clamp(58px,6.7vw,92px);line-height:.92;letter-spacing:-.066em;margin:24px 0 28px;max-width:720px}.hero-copy h1 em{font-style:normal;color:var(--mint)}.lead{font-size:18px;line-height:1.72;color:#a8b4c1;max-width:690px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.text-link{font-size:12px;font-weight:800;color:#cbd3dc}.topic-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px;align-items:center}.topic-rail span{font-size:9px;color:#617082;letter-spacing:.16em;font-weight:900;margin-right:4px}.topic-rail b{font-size:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#aeb9c6;background:rgba(255,255,255,.025)}.signal-orbit{position:relative;min-height:620px;border-radius:34px;background:radial-gradient(circle at 50% 42%,rgba(103,232,194,.09),transparent 34%),linear-gradient(145deg,#111d2b,#0a121d 60%,#11162b);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);overflow:hidden;padding:24px}.signal-orbit:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(166,140,255,.12);filter:blur(70px);right:-80px;top:-80px}.orbit-head{display:grid;grid-template-columns:max-content 1fr;gap:0 9px;align-items:center}.orbit-head .live-dot{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 7px rgba(103,232,194,.08)}.orbit-head small{font-size:8px;letter-spacing:.16em;color:#77869a;font-weight:900}.orbit-head strong{font-size:12px;margin-top:4px}.orbit-stage{position:relative;height:455px;margin-top:24px}.ring{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:translate(-50%,-50%)}.ring-a{width:350px;height:350px}.ring-b{width:258px;height:258px;border-color:rgba(103,232,194,.15)}.ring-c{width:156px;height:156px;border-color:rgba(166,140,255,.2)}.orbit-core{position:absolute;left:50%;top:50%;width:114px;height:114px;transform:translate(-50%,-50%);border-radius:32px;background:linear-gradient(145deg,rgba(103,232,194,.2),rgba(166,140,255,.13));border:1px solid rgba(103,232,194,.28);display:grid;place-content:center;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.25)}.orbit-core span{font-size:9px;color:var(--mint);font-weight:900}.orbit-core strong{font-size:19px;margin:5px 0}.orbit-core small{font-size:9px;color:#8391a1}.orbit-node{position:absolute;width:165px;padding:14px 14px 12px;border-radius:17px;background:rgba(17,29,43,.94);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 36px rgba(0,0,0,.22)}.orbit-node span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(103,232,194,.1);color:var(--mint);font-size:9px;font-weight:900}.orbit-node strong{display:block;font-size:12px;margin-top:10px}.orbit-node small{display:block;color:#7c8a9a;font-size:9px;margin-top:4px;line-height:1.4}.orbit-node i{position:absolute;right:12px;top:12px;font-size:7px;font-style:normal;color:#baaaff;font-weight:900}.orbit-node.n1{left:10px;top:25px}.orbit-node.n2{right:4px;top:92px}.orbit-node.n3{left:5px;bottom:73px}.orbit-node.n4{right:12px;bottom:14px}.orbit-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px}.orbit-foot>div{padding:14px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.orbit-foot small{display:block;font-size:8px;color:#6f7d8d;letter-spacing:.14em}.orbit-foot strong{display:block;font-size:10px;margin-top:5px;color:#d9e1e8}.manifesto{padding:110px max(24px,calc((100vw - var(--max))/2));overflow:hidden}.manifesto-head{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:52px}.manifesto-head .eyebrow{grid-column:1/-1}.manifesto-head h2,.dialogue-copy h2,.matrix-header h2,.journey-intro h2,.related-head h2,.closing-card h2{font-size:clamp(44px,5.2vw,72px);line-height:.98;letter-spacing:-.055em;margin:0}.manifesto-head h2 em,.dialogue-copy h2 em,.related-head h2 em{font-style:normal;color:#6d55dd}.manifesto-head p,.related-head>p{max-width:520px;margin:0;color:#67717c;line-height:1.7}.lens-grid{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:14px}.lens{position:relative;min-height:330px;border:1px solid #dedfdc;border-radius:26px;padding:26px;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(16,24,32,.05)}.lens-a{background:#0d1924;color:#fff;border-color:#192939}.lens-no{position:absolute;right:22px;top:22px;font-size:54px;font-weight:900;letter-spacing:-.06em;color:rgba(28,36,45,.08)}.lens-a .lens-no{color:rgba(255,255,255,.055)}.lens-icon{width:47px;height:47px;border-radius:15px;display:grid;place-items:center;background:#ecf8f3;color:#177f66;font-size:20px;font-weight:900}.lens-a .lens-icon{background:rgba(103,232,194,.1);color:var(--mint)}.lens h3{font-size:24px;letter-spacing:-.035em;margin:44px 0 12px}.lens p{color:#707985;line-height:1.65;font-size:14px;max-width:330px}.lens-a p{color:#98a6b5}.mini-bars{display:flex;align-items:flex-end;gap:7px;height:68px;margin-top:28px}.mini-bars i{width:23px;border-radius:8px 8px 3px 3px;background:linear-gradient(#67e8c2,#3da98b)}.mini-bars i:nth-child(1){height:28%}.mini-bars i:nth-child(2){height:58%}.mini-bars i:nth-child(3){height:43%}.mini-bars i:nth-child(4){height:88%}.mini-bars i:nth-child(5){height:68%}.topic-cloud{display:flex;flex-wrap:wrap;gap:7px;margin-top:32px}.topic-cloud b{padding:8px 10px;border-radius:10px;background:#f2f0ff;color:#6c55cf;font-size:10px}.mini-path{position:relative;height:58px;margin-top:34px}.mini-path:before{content:"";position:absolute;left:5px;right:5px;top:28px;height:2px;background:#e5e5e0}.mini-path i{position:absolute;top:20px;width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid #d8c46f}.mini-path i:nth-child(1){left:0}.mini-path i:nth-child(2){left:32%}.mini-path i:nth-child(3){left:64%}.mini-path i:nth-child(4){right:0;border-color:#6d55dd}.dialogue{padding:100px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.dialogue-copy h2{font-size:clamp(42px,4.8vw,64px);margin-top:18px}.dialogue-copy p{color:#707985;line-height:1.7;max-width:470px}.conversation-board{display:grid;grid-template-columns:1fr 90px 1fr;gap:12px;align-items:center}.conversation{min-height:265px;border-radius:28px;padding:28px;display:flex;flex-direction:column;justify-content:center}.conversation span{font-size:9px;font-weight:900;letter-spacing:.16em}.conversation blockquote{font-size:29px;line-height:1.12;letter-spacing:-.035em;font-weight:850;margin:25px 0 14px}.conversation p{font-size:12px;line-height:1.6}.conversation.old{background:#f2efe8;border:1px solid #e3ded4;color:#20252c}.conversation.old span{color:#a88945}.conversation.old p{color:#81796a}.conversation.new{background:linear-gradient(145deg,#10251f,#0b1d1a);border:1px solid rgba(103,232,194,.24);color:#f4fffb;box-shadow:0 28px 70px rgba(34,120,94,.14)}.conversation.new span{color:var(--mint)}.conversation.new p{color:#94b4aa}.conversation-arrow{text-align:center;color:#7260d1}.conversation-arrow span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#ede8ff;margin:auto;font-size:20px}.conversation-arrow small{display:block;font-size:8px;line-height:1.3;margin-top:8px;letter-spacing:.08em;text-transform:uppercase}.matrix{padding:110px max(24px,calc((100vw - var(--max))/2))}.matrix-header{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end;margin-bottom:48px}.matrix-header h2{margin-top:17px}.matrix-header h2 em,.journey-intro h2 em,.closing-card h2 em{font-style:normal;color:var(--mint)}.matrix-header>p{color:#8b99a8;line-height:1.7;margin:0}.matrix-shell{border-radius:28px;border:1px solid rgba(255,255,255,.1);overflow:hidden;background:#0c1722;box-shadow:0 30px 70px rgba(0,0,0,.2)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:24px 26px;border-bottom:1px solid rgba(255,255,255,.07)}thead th{font-size:9px;letter-spacing:.14em;color:#687789;text-transform:uppercase;background:#0a141e}tbody th{width:25%}td{color:#a6b3c0;font-size:13px}td strong{display:block;color:#edf3f7;font-size:13px}.matrix-chip{display:inline-flex;padding:9px 11px;border-radius:11px;font-size:10px}.matrix-chip.violet{background:rgba(166,140,255,.12);color:#c8baff}.matrix-chip.mint{background:rgba(103,232,194,.1);color:var(--mint)}.matrix-chip.amber{background:rgba(243,197,109,.1);color:#f1ca7e}.impact-meter{display:block;margin-top:12px;width:100%;max-width:260px;height:3px;background:#1c2a37;border-radius:4px;overflow:hidden}.impact-meter i{display:block;width:var(--p);height:100%;background:linear-gradient(90deg,var(--violet),var(--mint))}.journey{padding:120px max(24px,calc((100vw - var(--max))/2));overflow:hidden}.journey:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;background:rgba(103,232,194,.045);filter:blur(100px);right:-300px;top:60px}.journey-intro{max-width:930px}.journey-intro h2{margin:18px 0 22px}.journey-intro p{max-width:720px;color:#8d9baa;line-height:1.75}.decision-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:56px}.decision-flow article{position:relative;min-height:280px;padding:25px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(145deg,#0f1c28,#0b151f);display:flex;flex-direction:column}.decision-flow .step{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(166,140,255,.1);color:#baaaff;font-size:10px;font-weight:900}.decision-flow article:nth-child(2) .step{background:rgba(243,197,109,.08);color:#eec97d}.decision-flow article:nth-child(3) .step{background:rgba(103,232,194,.09);color:var(--mint)}.decision-flow small{display:block;margin-top:38px;font-size:8px;letter-spacing:.14em;color:#637386}.decision-flow h3{font-size:23px;letter-spacing:-.035em;margin:8px 0 12px}.decision-flow p{font-size:13px;color:#8998a8;line-height:1.7;margin:0}.decision-flow b{position:absolute;right:22px;top:22px;font-size:17px;color:#33475a}.result-panel{margin-top:14px;border-radius:28px;border:1px solid rgba(103,232,194,.16);background:linear-gradient(90deg,rgba(103,232,194,.07),rgba(166,140,255,.06));padding:28px;display:grid;grid-template-columns:.55fr 1fr .85fr;gap:32px;align-items:center}.result-label span{display:block;font-size:8px;color:var(--mint);letter-spacing:.16em}.result-label strong{display:block;font-size:22px;margin-top:8px}.result-panel p{font-size:12px;line-height:1.65;color:#8fa0ae}.result-visual{position:relative;height:80px}.route-line{position:absolute;left:14px;right:14px;top:39px;height:2px;background:linear-gradient(90deg,#6e5ccf,#67e8c2)}.route-node{position:absolute;top:30px;width:20px;height:20px;border-radius:50%;background:#0b1721;border:5px solid var(--violet)}.route-node.a{left:0}.route-node.b{left:31%;border-color:#8e7be6}.route-node.c{left:64%;border-color:#79c7b0}.route-node.d{right:0;border-color:var(--mint);box-shadow:0 0 0 8px rgba(103,232,194,.06)}.related{padding:110px max(24px,calc((100vw - var(--max))/2))}.related-head{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end;margin-bottom:46px}.related-head h2{margin-top:18px}.related-stack{display:grid;gap:9px}.related-row{display:grid;grid-template-columns:54px 1fr .8fr 36px;align-items:center;padding:20px 20px;border:1px solid #dedfdc;background:#fff;border-radius:19px;transition:.18s}.related-row:hover{transform:translateX(5px);border-color:#cfc5ff;box-shadow:0 18px 35px rgba(19,28,36,.06)}.related-row>span{font-size:9px;color:#6d55dd;font-weight:900}.related-row small{display:block;color:#92979e;font-size:8px;letter-spacing:.14em}.related-row strong{display:block;margin-top:4px;font-size:17px}.related-row>b{font-size:11px;color:#69727d}.related-row>i{font-size:17px;color:#6d55dd;font-style:normal}.closing{padding:80px max(24px,calc((100vw - var(--max))/2)) 110px}.closing-card{border:1px solid rgba(255,255,255,.1);border-radius:32px;background:radial-gradient(circle at 80% 30%,rgba(166,140,255,.12),transparent 30%),linear-gradient(145deg,#0d1b27,#0a151f);padding:42px;display:grid;grid-template-columns:1fr .85fr;gap:70px;box-shadow:var(--shadow)}.closing-card h2{margin:18px 0 18px}.closing-card>div>p{color:#8999a8;line-height:1.7}.closing-manifest{padding:28px;border-radius:22px;background:rgba(166,140,255,.07);border:1px solid rgba(166,140,255,.14)}.closing-manifest>span{display:block;color:#c4b7ff;font-size:11px;font-weight:900}.closing-manifest p{color:#9ca8b6;font-size:12px;line-height:1.65}.closing-actions{display:flex;gap:8px;margin-top:20px}.site-footer{max-width:var(--max);margin:0 auto;padding:40px 0 55px;display:grid;grid-template-columns:.7fr 1fr 1.2fr;gap:30px;align-items:start;border-top:1px solid rgba(255,255,255,.07);color:#687789}.footer-brand{display:flex;gap:10px;align-items:center;color:#fff}.footer-brand>div{display:grid}.footer-brand strong{font-size:13px}.footer-brand small{font-size:8px;color:#5e6d7c;text-transform:uppercase;letter-spacing:.14em}.site-footer>p{font-size:10px;line-height:1.6;margin:0}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.site-footer nav a{font-size:10px;color:#92a0af}.site-footer>small{grid-column:1/-1;font-size:9px;color:#45515e;margin-top:20px}
@media(max-width:1050px){.site-header{margin-inline:12px}.desktop-nav{display:none}.hero{padding-inline:24px;grid-template-columns:1fr;gap:40px}.signal-orbit{max-width:720px;width:100%;margin:auto}.manifesto-head,.dialogue,.matrix-header,.related-head,.closing-card{grid-template-columns:1fr}.lens-grid{grid-template-columns:1fr 1fr}.lens-a{grid-column:1/-1}.decision-flow{grid-template-columns:1fr}.result-panel{grid-template-columns:1fr}.site-footer{margin-inline:24px;grid-template-columns:1fr 1fr}.conversation-board{grid-template-columns:1fr}.conversation-arrow{transform:rotate(90deg)}}
@media(max-width:680px){body{font-size:15px}.site-header{top:8px;border-radius:18px;grid-template-columns:1fr max-content}.header-actions .ghost{display:none}.brand-copy small{display:none}.hero{padding:66px 20px 76px}.hero-copy h1{font-size:48px;line-height:.94}.lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.topic-rail{margin-top:34px}.signal-orbit{min-height:590px;border-radius:26px;padding:18px}.orbit-stage{height:430px}.ring-a{width:290px;height:290px}.ring-b{width:214px;height:214px}.ring-c{width:136px;height:136px}.orbit-node{width:145px;padding:11px}.orbit-node.n1{left:0}.orbit-node.n2{right:0}.orbit-node.n3{left:0}.orbit-node.n4{right:0}.orbit-foot{grid-template-columns:1fr}.manifesto,.dialogue,.matrix,.journey,.related,.closing{padding:78px 20px}.manifesto-head{gap:24px}.manifesto-head h2,.dialogue-copy h2,.matrix-header h2,.journey-intro h2,.related-head h2,.closing-card h2{font-size:43px}.lens-grid{grid-template-columns:1fr}.lens-a{grid-column:auto}.conversation{min-height:auto}.matrix-shell{overflow-x:auto}table{min-width:720px}.decision-flow article{min-height:250px}.related-row{grid-template-columns:38px 1fr 28px}.related-row>b{display:none}.closing-card{padding:25px;gap:28px}.closing-actions{flex-direction:column}.site-footer{margin-inline:20px;grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}.header-actions .mint{min-height:38px;padding-inline:12px}.brand-mark{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* =========================================================
   V19.1 MOTION + TYPE SYSTEM
   Motion must explain hierarchy, never block content.
   No external libraries, no perpetual JS animation loop.
   ========================================================= */
:root{
  --ease-premium:cubic-bezier(.2,.75,.2,1);
  --ease-soft:cubic-bezier(.22,1,.36,1);
  --motion-fast:220ms;
  --motion-med:620ms;
  --motion-slow:900ms;
  --reading:68ch;
}
body{font-size:clamp(16px,1.04vw,18px);line-height:1.58}
p{max-width:var(--reading)}
.hero-copy h1{font-size:clamp(54px,6.7vw,94px);line-height:.94;letter-spacing:-.064em}
.manifesto-head h2,.story-sticky h2,.dialogue-copy h2,.matrix-header h2,.journey-intro h2,.related-head h2,.closing-card h2{font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-.055em}
.lead{font-size:clamp(17px,1.35vw,21px);line-height:1.65;max-width:62ch}

/* kinetic typography: full semantic h1 lives in aria-label; visual lines are aria-hidden */
.kinetic-title{overflow:visible}
.kinetic-line{display:block;transform:translate3d(0,28px,0);opacity:0;filter:blur(8px);transition:transform var(--motion-slow) var(--ease-soft),opacity var(--motion-med) ease,filter var(--motion-med) ease}
.motion-ready .kinetic-line{transform:none;opacity:1;filter:none}
.motion-ready .kinetic-line:nth-child(2){transition-delay:120ms}
.kinetic-accent{color:var(--mint);max-width:11.5ch;margin-top:.06em}

/* staged reveal, content remains readable with JS disabled */
.js .reveal-block{opacity:0;transform:translate3d(0,22px,0);transition:opacity var(--motion-med) ease,transform var(--motion-slow) var(--ease-soft)}
.js .reveal-block.is-visible{opacity:1;transform:none}

/* Hero spatial reaction: only vars update; no infinite RAF */
.reactive-signal{--rx:0deg;--ry:0deg;--mx:0px;--my:0px;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translate3d(var(--mx),var(--my),0);transform-style:preserve-3d;transition:transform 180ms ease-out,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease;will-change:transform}
.reactive-signal:hover{border-color:rgba(103,232,194,.25);box-shadow:0 42px 100px rgba(0,0,0,.34),0 0 0 1px rgba(103,232,194,.025) inset}
.reactive-signal .orbit-stage{transform:translateZ(18px)}
.orbit-node{transition:transform 520ms var(--ease-soft),border-color 520ms ease,background 520ms ease,opacity 520ms ease,box-shadow 520ms ease}
.orbit-node.is-signal-active{transform:translate3d(0,-5px,26px);border-color:rgba(103,232,194,.42);background:linear-gradient(145deg,rgba(103,232,194,.14),rgba(166,140,255,.10));box-shadow:0 16px 42px rgba(6,10,16,.28)}
.orbit-node.is-signal-active i{color:var(--mint)}
.ring{transition:opacity 700ms ease,transform 850ms var(--ease-soft)}
.motion-ready .ring-a{transform:translate(-50%,-50%) scale(1)}
.motion-ready .ring-b{transform:translate(-50%,-50%) scale(1)}
.motion-ready .ring-c{transform:translate(-50%,-50%) scale(1)}
.live-dot{animation:dt-pulse 2.6s ease-in-out infinite}
@keyframes dt-pulse{0%,100%{box-shadow:0 0 0 0 rgba(103,232,194,.24)}50%{box-shadow:0 0 0 8px rgba(103,232,194,0)}}

/* sticky storytelling */
.storytelling{padding:110px max(24px,calc((100vw - var(--max))/2));position:relative}
.story-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:clamp(56px,8vw,120px);align-items:start}
.story-sticky{position:sticky;top:128px;align-self:start;padding-bottom:8vh}
.story-sticky h2{margin:20px 0 24px;max-width:12ch}.story-sticky h2 em{font-style:normal;color:#7461d7}
.story-sticky>p{color:#707985;line-height:1.75;font-size:clamp(15px,1.2vw,18px)}
.story-progress{display:grid;grid-template-columns:1fr repeat(3,32px);align-items:center;gap:12px;margin-top:42px;color:#8a8f98;font-size:9px;font-weight:900;letter-spacing:.1em}
.story-progress:before{content:"";height:2px;background:#deddd7;grid-column:1;grid-row:1}
.story-progress i{height:2px;background:linear-gradient(90deg,#6d55dd,#48cfa7);grid-column:1;grid-row:1;transform-origin:left;transform:scaleX(var(--story-progress,0));transition:transform 180ms linear}
.story-steps{display:grid;gap:26px;padding:2vh 0 18vh}
.story-step{min-height:460px;display:flex;flex-direction:column;justify-content:center;position:relative;opacity:.42;transform:scale(.965);transition:opacity var(--motion-med) ease,transform var(--motion-slow) var(--ease-soft),box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}
.story-step.is-story-active,.story-step:focus-visible{opacity:1;transform:scale(1);box-shadow:0 32px 90px rgba(13,20,29,.12);border-color:#cfc7f5;outline:none}
.story-step .step-caption{margin-top:auto;padding-top:28px;font-size:9px;letter-spacing:.16em;font-weight:900;color:#8e7ae5}

/* premium transitions */
.motion-section{position:relative;isolation:isolate}
.motion-section:not(.hero)::before{content:"";position:absolute;left:50%;top:0;width:min(92%,1180px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(116,97,215,.18),rgba(103,232,194,.14),transparent);opacity:.75;pointer-events:none}
.section-dark.motion-section::after,.section-night.motion-section::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(600px 260px at var(--section-x,50%) 0%,rgba(103,232,194,.055),transparent 70%);opacity:var(--section-glow,.5);transition:opacity 600ms ease}

/* matrix choreography */
.js [data-matrix-row]{opacity:.22;transform:translate3d(0,14px,0);transition:opacity 520ms ease,transform 680ms var(--ease-soft),background 220ms ease}
.js [data-matrix-row].is-matrix-visible{opacity:1;transform:none}
[data-matrix-row]:hover{background:rgba(255,255,255,.025)}
.impact-meter i{transform:scaleX(0);transform-origin:left;transition:transform 900ms var(--ease-soft)}
.is-matrix-visible .impact-meter i{transform:scaleX(1)}

/* scroll-driven route */
.route-line{overflow:hidden;background:#263747}
.route-line i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#6e5ccf,#67e8c2);transform:scaleX(var(--route-progress,0));transform-origin:left;transition:transform 90ms linear}
.route-node{transition:transform 420ms var(--ease-soft),border-color 420ms ease,box-shadow 420ms ease}
.result-panel[data-route-step="1"] .route-node.a,
.result-panel[data-route-step="2"] .route-node.a,.result-panel[data-route-step="2"] .route-node.b,
.result-panel[data-route-step="3"] .route-node.a,.result-panel[data-route-step="3"] .route-node.b,.result-panel[data-route-step="3"] .route-node.c,
.result-panel[data-route-step="4"] .route-node{transform:scale(1.18);border-color:var(--mint);box-shadow:0 0 0 7px rgba(103,232,194,.06)}

/* microinteractions: keyboard and pointer parity */
.btn,.text-link,.related-row,.story-step,.conversation,.matrix-chip{transition-timing-function:var(--ease-premium)}
.btn:hover,.btn:focus-visible{transform:translateY(-2px)}
.btn:focus-visible,.text-link:focus-visible,.related-row:focus-visible,.story-step:focus-visible{outline:3px solid rgba(103,232,194,.5);outline-offset:4px}
.related-row:hover,.related-row:focus-visible{transform:translateX(7px)}
.conversation{transition:transform 520ms var(--ease-soft),box-shadow 520ms ease,border-color 520ms ease}
.conversation:hover{transform:translateY(-5px)}
.conversation.new:hover{box-shadow:0 34px 90px rgba(34,120,94,.20)}

/* calm mobile motion */
@media(max-width:1050px){
  .story-layout{grid-template-columns:1fr;gap:28px}.story-sticky{position:relative;top:auto;padding-bottom:0}.story-steps{padding:0;gap:14px}.story-step{min-height:330px;opacity:1;transform:none}.story-progress{display:none}
  .reactive-signal{transform:none!important;will-change:auto}
}
@media(max-width:680px){
  .hero-copy h1{font-size:clamp(45px,12vw,58px);line-height:.96;letter-spacing:-.055em}
  .lead{font-size:16px;line-height:1.62}
  .storytelling{padding:78px 20px}
  .story-sticky h2,.dialogue-copy h2,.matrix-header h2,.journey-intro h2,.related-head h2,.closing-card h2{font-size:clamp(38px,10.8vw,48px);line-height:1}
  .js .reveal-block{transform:translate3d(0,10px,0);transition-duration:420ms}
  .kinetic-line{transform:translate3d(0,14px,0);filter:blur(3px);transition-duration:520ms}
  .motion-section:not(.hero)::before{width:calc(100% - 40px)}
  .live-dot{animation-duration:3.4s}
}

/* Full reduced-motion fallback: same information, no spatial animation. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .kinetic-line,.js .reveal-block,.js [data-matrix-row],.story-step{opacity:1!important;transform:none!important;filter:none!important}
  .story-sticky{position:relative!important;top:auto!important}
  .story-steps{padding-bottom:0!important}.story-progress{display:none!important}
  .reactive-signal{transform:none!important;will-change:auto!important}
  .impact-meter i,.route-line i{transform:scaleX(1)!important}
}


/* =========================================================
   V19.2 STORY + READABILITY REFINEMENT
   User-facing copy remains product language; no prototype labels.
   ========================================================= */
body{font-size:clamp(16.5px,1.05vw,18.5px);line-height:1.62}
.desktop-nav a{font-size:13px;line-height:1.35}
.brand-copy strong{font-size:15px}.brand-copy small{font-size:9px;line-height:1.2}
.btn{font-size:13px}.btn.large{font-size:14px}
.text-link{font-size:13px}
.eyebrow{font-size:11px;line-height:1.4;letter-spacing:.13em}
.topic-rail span{font-size:10px}.topic-rail b{font-size:11px;line-height:1.35;padding:9px 11px}
.lead{color:#b7c2ce}

/* Signal panel: information must be legible before it is decorative. */
.signal-orbit{min-height:655px;padding:28px;border-color:rgba(255,255,255,.145)}
.orbit-head{grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;max-width:500px}
.orbit-head .live-dot{width:10px;height:10px}
.orbit-head small{font-size:10px;line-height:1.35;letter-spacing:.13em;color:#91a1b4}
.orbit-head strong{font-size:15px;line-height:1.45;margin-top:3px;color:#f3f7fa;font-weight:780;letter-spacing:-.015em}
.orbit-stage{height:475px;margin-top:22px}
.ring-a{width:370px;height:370px}.ring-b{width:278px;height:278px}.ring-c{width:170px;height:170px}
.orbit-core{width:134px;height:134px;border-radius:36px;padding:14px;place-content:center;transition:background 420ms ease,border-color 420ms ease,box-shadow 420ms ease}
.orbit-core span{font-size:8.5px;line-height:1.3;letter-spacing:.12em}
.orbit-core strong{font-size:15px;line-height:1.15;margin:7px 0 5px;letter-spacing:-.025em}
.orbit-core small{font-size:10px;line-height:1.4;color:#a4b1bf;max-width:12ch;margin:auto}
.orbit-node{width:184px;min-height:108px;padding:16px 16px 14px;border-radius:19px;background:rgba(15,27,40,.965)}
.orbit-node span{width:30px;height:30px;font-size:10px}
.orbit-node strong{font-size:14px;line-height:1.3;margin-top:11px;color:#f6f8fa;letter-spacing:-.02em}
.orbit-node small{font-size:11px;line-height:1.48;margin-top:5px;color:#aab6c4;max-width:18ch}
.orbit-node i{right:12px;top:12px;font-size:8px;line-height:1;padding:6px 7px;border-radius:999px;background:rgba(166,140,255,.09);border:1px solid rgba(166,140,255,.13);color:#c6baff;text-transform:none;letter-spacing:.02em}
.orbit-node.n1{left:4px;top:22px}.orbit-node.n2{right:0;top:95px}.orbit-node.n3{left:0;bottom:78px}.orbit-node.n4{right:8px;bottom:6px}
.orbit-foot{gap:12px}
.orbit-foot>div{padding:16px 17px;border-radius:17px}
.orbit-foot small{font-size:9px;line-height:1.3;letter-spacing:.11em;color:#8796a8}
.orbit-foot strong{font-size:12.5px;line-height:1.45;margin-top:6px;color:#edf3f7;letter-spacing:-.01em}

/* Reading rhythm: supporting copy should never look like legal fine print. */
.story-sticky>p,.dialogue-copy p,.matrix-header>p,.journey-intro p,.related-head>p{font-size:clamp(16px,1.12vw,18px);line-height:1.72}
.lens p,.conversation p,.decision-flow p{font-size:14.5px;line-height:1.65}
.lens h3{font-size:26px}.story-step .step-caption{font-size:10px}
.matrix-shell th,.matrix-shell td{font-size:13.5px;line-height:1.5}
.matrix-chip{font-size:10px}
.related-row strong{font-size:16px}.related-row b{font-size:12px}
.site-footer>p,.site-footer nav a{font-size:11px}.site-footer>small{font-size:10px}

/* Active signal is an explanatory focus state, not just a glow. */
.orbit-node.is-signal-active{transform:translate3d(0,-5px,26px) scale(1.02);border-color:rgba(103,232,194,.48);background:linear-gradient(145deg,rgba(103,232,194,.16),rgba(166,140,255,.11));box-shadow:0 20px 48px rgba(6,10,16,.34)}
.orbit-node.is-signal-active i{color:#092018;background:var(--mint);border-color:var(--mint)}

@media(max-width:1050px){
  .signal-orbit{max-width:760px}
}
@media(max-width:680px){
  body{font-size:16px}
  .signal-orbit{min-height:625px;padding:20px}
  .orbit-head small{font-size:9px}.orbit-head strong{font-size:13.5px;max-width:28ch}
  .orbit-stage{height:452px;margin-top:18px}
  .ring-a{width:292px;height:292px}.ring-b{width:220px;height:220px}.ring-c{width:142px;height:142px}
  .orbit-core{width:118px;height:118px;border-radius:31px;padding:11px}
  .orbit-core span{font-size:7.5px}.orbit-core strong{font-size:13px}.orbit-core small{font-size:9px}
  .orbit-node{width:151px;min-height:103px;padding:12px 12px 11px}
  .orbit-node span{width:27px;height:27px;font-size:9px}
  .orbit-node strong{font-size:12.5px;margin-top:9px}.orbit-node small{font-size:10px;line-height:1.42;max-width:15ch}
  .orbit-node i{font-size:7px;padding:5px 6px}
  .orbit-node.n1{left:0;top:22px}.orbit-node.n2{right:0;top:102px}.orbit-node.n3{left:0;bottom:72px}.orbit-node.n4{right:0;bottom:2px}
  .orbit-foot strong{font-size:11.5px}.orbit-foot small{font-size:8.5px}
  .site-footer>p,.site-footer nav a{font-size:11px}
}


/* =========================================================
   DIRECTIONAL STORYTELLING REFINEMENT
   Movement guides reading; it never transforms text-bearing cards.
   ========================================================= */

/* Signal cards: keep glyph rasterization sharp. No scale / 3D transform on text containers. */
.orbit-node{
  transform:none!important;
  filter:none!important;
  backface-visibility:visible;
  transition:background 260ms ease,border-color 260ms ease,box-shadow 320ms ease,color 260ms ease!important;
}
.orbit-node:hover,.orbit-node:focus-within,.orbit-node.is-signal-active{
  transform:none!important;
  filter:none!important;
  border-color:rgba(103,232,194,.52);
  background:linear-gradient(145deg,rgba(20,42,49,.98),rgba(24,31,56,.98));
  box-shadow:0 22px 52px rgba(5,11,18,.34),0 0 0 1px rgba(103,232,194,.08) inset;
}
.orbit-node:hover strong,.orbit-node:focus-within strong,.orbit-node.is-signal-active strong{color:#fff}
.orbit-node:hover small,.orbit-node:focus-within small,.orbit-node.is-signal-active small{color:#d2dbe4}
.orbit-node:hover span,.orbit-node:focus-within span,.orbit-node.is-signal-active span{background:rgba(103,232,194,.18);box-shadow:0 0 0 5px rgba(103,232,194,.04)}
.orbit-node:hover i,.orbit-node:focus-within i,.orbit-node.is-signal-active i{color:#092018;background:var(--mint);border-color:var(--mint)}

/* Reactive panel retains depth at container level only; text cards remain on a stable raster plane. */
.reactive-signal .orbit-stage{transform:none!important}
.reactive-signal{transform:perspective(1400px) rotateX(calc(var(--rx) * .55)) rotateY(calc(var(--ry) * .55));}

/* Signal rays: state-driven, one pulse per active signal. */
.signal-rays{position:absolute;inset:0;pointer-events:none;z-index:0}
.signal-rays .ray{position:absolute;left:50%;top:50%;width:155px;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(103,232,194,.38),rgba(166,140,255,.05));opacity:.22}
.signal-rays .ray::after{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 16px rgba(103,232,194,.72);opacity:0;transform:translateX(0)}
.signal-rays .r1{transform:rotate(218deg)}
.signal-rays .r2{transform:rotate(322deg);width:170px}
.signal-rays .r3{transform:rotate(142deg);width:165px}
.signal-rays .r4{transform:rotate(38deg);width:170px}
.signal-orbit[data-active-signal="1"] .r1,
.signal-orbit[data-active-signal="2"] .r2,
.signal-orbit[data-active-signal="3"] .r3,
.signal-orbit[data-active-signal="4"] .r4{opacity:.9;background:linear-gradient(90deg,rgba(103,232,194,.82),rgba(166,140,255,.18))}
.signal-orbit[data-active-signal="1"] .r1::after,
.signal-orbit[data-active-signal="2"] .r2::after,
.signal-orbit[data-active-signal="3"] .r3::after,
.signal-orbit[data-active-signal="4"] .r4::after{animation:signal-ray-pulse 620ms var(--ease-premium) 1}
@keyframes signal-ray-pulse{0%{opacity:0;transform:translateX(0)}18%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translateX(145px)}}

/* Storytelling: readability first. Active state uses light / edge / progress, not text scaling. */
.story-step{opacity:.62;transform:none!important;filter:none!important;transition:opacity 340ms ease,box-shadow 420ms ease,border-color 360ms ease,background 360ms ease!important}
.story-step.is-story-active,.story-step:focus-visible{opacity:1;transform:none!important;filter:none!important;box-shadow:0 30px 82px rgba(13,20,29,.11);border-color:#c9c0f5}
.story-step::after{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:999px;background:linear-gradient(180deg,transparent,#6d55dd,var(--mint),transparent);transform:scaleY(.18);transform-origin:50% 0;opacity:0;transition:transform 620ms var(--ease-premium),opacity 240ms ease}
.story-step.is-story-active::after{transform:scaleY(1);opacity:1}

/* Narrative bridges: thin directional connective tissue between sections. */
.narrative-bridge{position:relative;height:86px;display:grid;grid-template-columns:1fr auto auto auto 1fr;align-items:center;gap:18px;padding:0 max(24px,calc((100vw - var(--max))/2));font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;overflow:hidden}
.narrative-bridge::before,.narrative-bridge::after{content:"";height:1px;background:linear-gradient(90deg,transparent,rgba(109,85,221,.34),rgba(103,232,194,.34),transparent)}
.narrative-bridge>b,.narrative-bridge>em,.narrative-bridge>strong{font-style:normal;white-space:nowrap}
.narrative-bridge>b{color:#8f7fe6}.narrative-bridge>em{color:#6f7d89}.narrative-bridge>strong{color:#14745d}
.narrative-bridge>span{position:absolute;left:calc(50% - 190px);right:calc(50% - 190px);top:50%;height:1px;background:linear-gradient(90deg,rgba(109,85,221,.08),rgba(103,232,194,.38),rgba(109,85,221,.08));pointer-events:none}
.narrative-bridge>i{position:absolute;left:calc(50% - 188px);top:calc(50% - 3px);width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 20px rgba(103,232,194,.55);opacity:0}
.narrative-bridge.is-bridge-visible>i{animation:bridge-travel 1050ms var(--ease-premium) 1}
@keyframes bridge-travel{0%{opacity:0;transform:translateX(0)}12%{opacity:1}84%{opacity:1}100%{opacity:0;transform:translateX(375px)}}
.bridge-light{background:var(--cream);color:#111821}.bridge-paper{background:var(--paper);color:#111821}

/* Old reflex -> better question: turn the center from an icon into a readable flow lane. */
.conversation-board{grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr)}
.meaning-flow{display:grid;justify-items:center;gap:7px;color:#6554c7}
.meaning-track{position:relative;display:block;width:112px;height:18px}
.meaning-track::before{content:"";position:absolute;left:3px;right:18px;top:8px;height:1px;background:linear-gradient(90deg,rgba(109,85,221,.22),rgba(103,232,194,.72))}
.meaning-track>b{position:absolute;right:0;top:-4px;font-size:18px;color:#2c8f76}
.meaning-track>i{position:absolute;left:3px;top:5px;width:7px;height:7px;border-radius:50%;background:#6d55dd;box-shadow:0 0 15px rgba(109,85,221,.35);opacity:0}
.meaning-flow strong{font-size:11px;line-height:1.2;letter-spacing:.01em;color:#5c4fc0;text-transform:none}
.meaning-flow small{font-size:9px;line-height:1.35;color:#7c8290;letter-spacing:0;text-transform:none}
.meaning-flow.is-flowing .meaning-track>i{animation:meaning-travel 760ms var(--ease-premium) 1}
@keyframes meaning-travel{0%{opacity:0;transform:translateX(0)}15%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(90px);background:var(--mint)}}
.conversation{transform:none!important;filter:none!important}
.conversation:hover,.conversation:focus-within{transform:none!important;filter:none!important;border-color:#cfc5ff;box-shadow:0 28px 72px rgba(38,49,66,.11)}
.conversation.new:hover,.conversation.new:focus-within{border-color:rgba(103,232,194,.45);box-shadow:0 30px 82px rgba(34,120,94,.17)}

/* Matrix: the eye is guided left -> right without changing reading order. */
.matrix-shell td:last-child{position:relative;padding-bottom:36px}
.matrix-flow{position:absolute;left:26px;right:26px;bottom:14px;height:10px;display:block;pointer-events:none;opacity:.28}
.matrix-flow::before{content:"";position:absolute;left:0;right:14px;top:5px;height:1px;background:linear-gradient(90deg,rgba(166,140,255,.25),rgba(103,232,194,.55))}
.matrix-flow>b{position:absolute;right:0;top:-5px;font-size:13px;color:var(--mint)}
.matrix-flow>i{position:absolute;left:0;top:2px;width:6px;height:6px;border-radius:50%;background:#a68cff;opacity:0}
.is-matrix-visible .matrix-flow{opacity:.75}
.is-matrix-visible .matrix-flow>i{animation:matrix-travel 780ms var(--ease-premium) 1 280ms}
@keyframes matrix-travel{0%{opacity:0;transform:translateX(0)}20%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(min(210px,22vw));background:var(--mint)}}

/* Scroll route: show the current position as a travelling focus dot. */
.route-cursor{position:absolute;top:33px;left:clamp(14px,var(--route-left,14px),calc(100% - 14px));width:13px;height:13px;border-radius:50%;background:#f5fffb;border:3px solid var(--mint);box-shadow:0 0 0 8px rgba(103,232,194,.08),0 0 24px rgba(103,232,194,.42);transform:translateX(-50%);transition:left 100ms linear}

/* Related rows: let the directional arrow lead, not the whole text card. */
.related-row:hover,.related-row:focus-visible{transform:none!important;box-shadow:0 18px 35px rgba(19,28,36,.06);border-color:#cfc5ff}
.related-row>i{transition:transform 260ms var(--ease-premium),color 220ms ease}
.related-row:hover>i,.related-row:focus-visible>i{transform:translate(4px,-4px);color:#2a8a71}

@media(max-width:1050px){
  .narrative-bridge{height:72px;grid-template-columns:1fr auto auto auto 1fr;gap:12px;font-size:9px}
  .conversation-board{grid-template-columns:1fr}.meaning-flow{padding:2px 0 6px}.meaning-track{transform:rotate(90deg);width:68px}.meaning-flow strong,.meaning-flow small{display:none}
}
@media(max-width:680px){
  .narrative-bridge{height:64px;padding-inline:20px;grid-template-columns:1fr auto 1fr}.narrative-bridge>b,.narrative-bridge>strong{display:none}.narrative-bridge>em{font-size:9px}.narrative-bridge>span{left:25%;right:25%}.narrative-bridge>i{left:25%}
  .orbit-node:hover,.orbit-node:focus-within,.orbit-node.is-signal-active{box-shadow:0 14px 36px rgba(5,11,18,.26)}
  .signal-rays .ray{opacity:.16}
  .route-cursor{transition:left 140ms linear}
}
@media(prefers-reduced-motion:reduce){
  .signal-rays .ray::after,.narrative-bridge>i,.meaning-track>i,.matrix-flow>i{animation:none!important;display:none!important}
  .orbit-node,.orbit-node:hover,.orbit-node:focus-within,.orbit-node.is-signal-active,.conversation,.conversation:hover,.conversation:focus-within{transform:none!important;filter:none!important}
  .story-step::after{transition:none!important;transform:scaleY(1)!important;opacity:.55!important}
  .route-cursor{display:none!important}
}

/* =========================================================
   V19.5 PARENT CLARITY + FOUR-STEP HERO REFINEMENT
   Natural parent language, stronger reading hierarchy, no text blur.
   ========================================================= */

body{font-size:17px;line-height:1.5}
p{ text-wrap:pretty }
h1,h2,h3{ text-wrap:balance }
.desktop-nav a{font-size:12.5px}
.hero-copy h1{font-size:clamp(56px,6vw,86px);line-height:.94;letter-spacing:-.058em}
.lead{font-size:18.5px;line-height:1.68;max-width:720px;color:#b4bfca}
.topic-rail b{font-size:10.5px;padding:9px 11px}

.signal-orbit{--signal-progress:0%;min-height:720px;padding:28px;border-radius:36px;background:radial-gradient(circle at 50% 40%,rgba(103,232,194,.10),transparent 36%),radial-gradient(circle at 86% 12%,rgba(166,140,255,.12),transparent 27%),linear-gradient(145deg,#111d2b,#08121d 58%,#10152a)}
.orbit-head{gap:0 11px}
.orbit-head small{font-size:9px;color:#91a1b5}
.orbit-head strong{font-size:14px;line-height:1.4;max-width:44ch;color:#f3f7fa}
.orbit-stage{height:490px;margin-top:24px}
.ring-a{width:380px;height:380px}.ring-b{width:286px;height:286px}.ring-c{width:186px;height:186px}
.orbit-core{width:174px;height:174px;border-radius:38px;padding:20px;z-index:2;background:linear-gradient(145deg,rgba(103,232,194,.19),rgba(166,140,255,.13));box-shadow:0 24px 60px rgba(0,0,0,.30),0 0 0 1px rgba(103,232,194,.05) inset}
.orbit-core span{font-size:8.5px;line-height:1.3;letter-spacing:.08em;color:var(--mint)}
.orbit-core strong{font-size:18px;line-height:1.08;margin:7px 0;color:#fff}
.orbit-core small{font-size:10.5px;line-height:1.45;color:#a7b3bf}

.orbit-node{appearance:none;font:inherit;color:#eaf0f5;text-align:left;cursor:pointer;width:206px;min-height:132px;padding:17px 16px 15px;border-radius:20px;background:rgba(14,27,40,.96);border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 38px rgba(0,0,0,.24);z-index:3}
.orbit-node span{width:30px;height:30px;border-radius:10px;font-size:10px}
.orbit-node strong{font-size:14px;line-height:1.18;margin-top:13px;max-width:18ch;color:#f7fafc}
.orbit-node small{font-size:11px;line-height:1.48;margin-top:7px;color:#9eacbb;max-width:24ch}
.orbit-node i{top:15px;right:14px;max-width:128px;padding:5px 7px;border:1px solid rgba(166,140,255,.22);border-radius:999px;background:rgba(166,140,255,.08);font-size:7.3px;line-height:1;white-space:nowrap;color:#c9bbff;letter-spacing:.01em}
.orbit-node.n1{left:0;top:18px}.orbit-node.n2{right:0;top:86px}.orbit-node.n3{left:0;bottom:74px}.orbit-node.n4{right:0;bottom:5px}
.orbit-node:hover,.orbit-node:focus-visible,.orbit-node.is-signal-active{outline:none;border-color:rgba(103,232,194,.62);background:linear-gradient(145deg,rgba(18,43,48,.98),rgba(22,29,53,.98));box-shadow:0 22px 58px rgba(4,10,16,.38),0 0 0 1px rgba(103,232,194,.12) inset}
.orbit-node:hover strong,.orbit-node:focus-visible strong,.orbit-node.is-signal-active strong{color:#fff}
.orbit-node:hover small,.orbit-node:focus-visible small,.orbit-node.is-signal-active small{color:#edf4f7}
.orbit-node:hover i,.orbit-node:focus-visible i,.orbit-node.is-signal-active i{background:rgba(103,232,194,.15);border-color:rgba(103,232,194,.35);color:#cffff0}

.orbit-journey{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 2px 15px;padding-top:19px;color:#728294}
.orbit-journey::before{content:"";position:absolute;left:6%;right:6%;top:7px;height:1px;background:rgba(255,255,255,.10)}
.orbit-journey>i{position:absolute;left:6%;top:7px;height:1px;width:calc((88%) * var(--signal-progress));background:linear-gradient(90deg,var(--violet),var(--mint));transition:width 420ms cubic-bezier(.22,.61,.36,1)}
.orbit-journey>b{position:absolute;left:calc(6% + (88% * var(--signal-progress)));top:3px;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(103,232,194,.07),0 0 20px rgba(103,232,194,.45);transform:translateX(-50%);transition:left 420ms cubic-bezier(.22,.61,.36,1)}
.orbit-journey span{font-size:8px;font-weight:850;letter-spacing:.04em;text-align:center;color:#718195}
.signal-orbit[data-active-signal="1"] .orbit-journey span:nth-child(1),.signal-orbit[data-active-signal="2"] .orbit-journey span:nth-child(2),.signal-orbit[data-active-signal="3"] .orbit-journey span:nth-child(3),.signal-orbit[data-active-signal="4"] .orbit-journey span:nth-child(4){color:#eaf8f3}

.orbit-foot{gap:12px}
.orbit-foot>div{padding:16px 17px;min-height:92px}
.orbit-foot small{font-size:8.5px;color:#8291a2}
.orbit-foot strong{font-size:11.5px;line-height:1.52;color:#f0f4f7}
.orbit-foot a{display:inline-flex;margin-top:7px;font-size:10.5px;font-weight:850;color:var(--mint)}

.matrix-chip.sky{background:rgba(111,190,255,.1);color:#9dd0ff}
thead th{font-size:9.5px;color:#8190a1}
td{font-size:13.5px;line-height:1.55}td strong{font-size:13.5px;line-height:1.5}

/* Gentle editorial readability: keep copy human-scale, not dashboard-small. */
.story-sticky>p,.dialogue-copy p,.matrix-header>p,.journey-intro p,.closing-card>div>p{font-size:15.5px;line-height:1.75}
.story-step p{font-size:14.5px;line-height:1.7}
.story-step h3{font-size:25px}
.decision-flow p{font-size:14px;line-height:1.72}
.result-panel p{font-size:13.5px;line-height:1.68}
.closing-manifest p{font-size:13px}

@media(max-width:1050px){
  .signal-orbit{max-width:780px}
  .orbit-node{width:215px}
}
@media(max-width:680px){
  body{font-size:16px}
  .hero-copy h1{font-size:clamp(43px,12.3vw,52px);line-height:.96}
  .lead{font-size:16.5px;line-height:1.68}
  .signal-orbit{min-height:0;padding:20px;border-radius:28px}
  .orbit-head strong{font-size:13.5px;max-width:32ch}
  .orbit-stage{height:auto;min-height:0;margin-top:20px;padding-top:144px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ring,.signal-rays{display:none!important}
  .orbit-core{top:0;left:0;right:0;width:100%;height:128px;transform:none;border-radius:24px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
  .orbit-core span{font-size:8.5px}.orbit-core strong{font-size:17px}.orbit-core small{font-size:10.8px;max-width:38ch}
  .orbit-node,.orbit-node.n1,.orbit-node.n2,.orbit-node.n3,.orbit-node.n4{position:relative;inset:auto;width:auto;min-height:154px;padding:15px 14px}
  .orbit-node strong{font-size:13.5px;max-width:14ch}.orbit-node small{font-size:10.8px;max-width:18ch}.orbit-node i{position:static;display:inline-flex;margin-top:10px;max-width:100%;white-space:normal;font-size:7.5px}
  .orbit-journey{margin-top:15px;gap:4px}.orbit-journey span{font-size:7px;line-height:1.25}
  .orbit-foot{grid-template-columns:1fr}.orbit-foot>div{min-height:0}.orbit-foot strong{font-size:11.8px}
  .story-sticky>p,.dialogue-copy p,.matrix-header>p,.journey-intro p,.closing-card>div>p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .orbit-journey>i,.orbit-journey>b{transition:none!important}
}


/* V19.6 — whole-site orientation shell; page storytelling remains V19.5 */
.global-site-header{max-width:1360px;grid-template-columns:max-content minmax(0,1fr) max-content;gap:18px;padding-inline:15px}
.global-nav{gap:16px;align-items:center}.global-nav>a{position:relative;white-space:nowrap;font-size:11.5px}.global-nav>a.is-current{color:#fff}.global-nav>a.is-current:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:99px;background:var(--mint);box-shadow:0 0 12px rgba(103,232,194,.4)}
.explore-menu,.mobile-site-menu{position:relative}.explore-menu summary,.mobile-site-menu summary{list-style:none;cursor:pointer}.explore-menu summary::-webkit-details-marker,.mobile-site-menu summary::-webkit-details-marker{display:none}.explore-menu summary{font-size:11.5px;color:#aeb8c5;white-space:nowrap;padding:8px 4px}.explore-menu[open] summary,.explore-menu summary:hover{color:#fff}.explore-panel{position:absolute;right:0;top:calc(100% + 15px);width:250px;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(8,17,26,.98);box-shadow:0 28px 70px rgba(0,0,0,.38);backdrop-filter:blur(24px);display:grid;gap:2px}.explore-panel a{display:flex!important;justify-content:space-between;align-items:center;padding:12px 13px;border-radius:12px;color:#aeb8c5!important;font-size:12px!important}.explore-panel a:hover,.explore-panel a.is-current{background:rgba(255,255,255,.055);color:#fff!important}.explore-panel a i{font-style:normal;color:#5e6f80}.mobile-site-menu{display:none}.page-chapters{max-width:1240px;margin:18px auto -28px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;gap:18px;color:#77889a}.page-chapters span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:var(--mint)}.page-chapters a{font-size:11px;color:#8e9baa;transition:color .18s}.page-chapters a:hover,.page-chapters a:focus-visible{color:#fff}
.global-footer{max-width:1360px;grid-template-columns:.8fr 1.1fr 2fr;gap:40px}.global-footer .footer-map{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.global-footer .footer-map>div{display:grid;gap:8px;align-content:start}.global-footer .footer-map strong{font-size:10px;color:#dce4ea;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.global-footer .footer-map a{font-size:11px;color:#82909e}.global-footer .footer-map a:hover,.global-footer .footer-map a.is-current{color:#fff}.global-footer>small{grid-column:1/-1}

/* local review index and route shells; never production content */
.review-body{min-height:100vh;background:radial-gradient(circle at 78% 12%,rgba(166,140,255,.13),transparent 32%),radial-gradient(circle at 12% 42%,rgba(103,232,194,.08),transparent 28%),var(--ink)}.review-shell{max-width:1240px;margin:0 auto;padding:90px 24px 100px}.review-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--mint);font-weight:900}.review-shell h1{font-size:clamp(48px,7vw,88px);line-height:.95;letter-spacing:-.06em;margin:20px 0 24px;max-width:980px}.review-lead{font-size:18px;line-height:1.7;color:#9aa8b6;max-width:780px}.review-active{margin:42px 0 18px;padding:24px;border-radius:24px;border:1px solid rgba(103,232,194,.25);background:linear-gradient(120deg,rgba(103,232,194,.09),rgba(166,140,255,.06));display:grid;grid-template-columns:1fr max-content;gap:24px;align-items:center}.review-active strong{font-size:22px}.review-active p{margin:7px 0 0;color:#8ea0ae;font-size:13px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.route-card{min-height:190px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:rgba(13,26,38,.78);display:flex;flex-direction:column;transition:border-color .18s,transform .18s}.route-card:hover{transform:translateY(-2px);border-color:rgba(166,140,255,.32)}.route-card.active{border-color:rgba(103,232,194,.32);box-shadow:0 20px 60px rgba(50,160,130,.09)}.route-card small{font-size:8px;letter-spacing:.14em;color:#66788a;text-transform:uppercase}.route-card.active small{color:var(--mint)}.route-card strong{font-size:18px;margin:16px 0 8px}.route-card p{font-size:12px;line-height:1.6;color:#8796a4;margin:0}.route-card span{margin-top:auto;padding-top:20px;font-size:10px;color:#b9c4cd}.review-note{margin-top:34px;padding:18px 20px;border-left:2px solid var(--violet);background:rgba(166,140,255,.045);color:#9aa7b4;font-size:12px;line-height:1.65}.stub-main{max-width:1000px;margin:0 auto;padding:120px 24px 130px;min-height:72vh}.stub-main .review-kicker{margin-bottom:18px}.stub-main h1{font-size:clamp(52px,7vw,88px);line-height:.96;letter-spacing:-.06em;margin:0 0 24px}.stub-main>p{font-size:18px;line-height:1.7;color:#9ca9b6;max-width:760px}.stub-status{margin-top:38px;padding:20px 22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035);display:flex;gap:14px;align-items:flex-start}.stub-status i{width:9px;height:9px;border-radius:50%;background:var(--violet);margin-top:5px;box-shadow:0 0 0 7px rgba(166,140,255,.08)}.stub-status strong{display:block;font-size:12px}.stub-status span{display:block;margin-top:5px;font-size:11px;color:#8493a2;line-height:1.6}
@media(max-width:1160px){.global-site-header{margin-inline:12px}.global-nav{gap:11px}.global-nav>a,.explore-menu summary{font-size:10.5px}.header-actions .ghost{display:none}}
@media(max-width:1050px){.global-site-header{grid-template-columns:max-content 1fr max-content}.mobile-site-menu{display:block}.mobile-site-menu summary{min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;display:grid;place-items:center;font-size:11px;font-weight:850;color:#dbe4eb;background:rgba(255,255,255,.035)}.mobile-site-panel{position:absolute;right:0;top:calc(100% + 14px);width:min(340px,calc(100vw - 32px));padding:10px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#0a1520;box-shadow:0 28px 70px rgba(0,0,0,.42);display:grid;z-index:70}.mobile-site-panel a{padding:12px 13px;border-radius:12px;font-size:12px;color:#aeb9c5}.mobile-site-panel a:hover,.mobile-site-panel a.is-current{background:rgba(255,255,255,.05);color:#fff}.mobile-site-panel .mobile-info{margin-top:5px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:16px;color:var(--mint)}.page-chapters{margin-inline:24px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.page-chapters::-webkit-scrollbar{display:none}.page-chapters>*{white-space:nowrap}.global-footer{margin-inline:24px;grid-template-columns:1fr 1fr}.global-footer .footer-map{grid-column:1/-1}.review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.global-site-header{grid-template-columns:1fr max-content;gap:8px}.global-site-header .header-actions{gap:6px}.global-site-header .header-actions .mint{display:none}.mobile-site-menu summary{min-height:36px}.page-chapters{margin:12px 20px -18px;padding-inline:0;gap:14px}.global-footer{grid-template-columns:1fr;margin-inline:20px}.global-footer .footer-map{grid-template-columns:1fr 1fr}.review-shell{padding:70px 20px 80px}.review-shell h1{font-size:48px}.review-active{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.stub-main{padding:90px 20px 100px}.stub-main h1{font-size:48px}}

/* V19.6 typography correction: global navigation must remain readable, never tiny SaaS chrome. */
.global-nav>a,.explore-menu summary{font-size:13px;line-height:1.35;font-weight:650;letter-spacing:-.012em}
.explore-panel a{font-size:13px!important}.page-chapters a{font-size:12.5px}.page-chapters span{font-size:10px}.global-site-header .btn{font-size:12.5px}
@media(max-width:1160px){.global-nav>a,.explore-menu summary{font-size:11.75px}}


/* =========================================================
   V19.7 — IDLE GUIDED READING / CONTENT CONSUMPTION MOTION
   Scope: hero four-step panel only.
   Principle: when the visitor stops, the interface becomes a reader.
   Text-bearing ancestors never tilt/scale/filter: protects text clarity.
   ========================================================= */
.guided-reader.reactive-signal{transform:none!important;transform-style:flat!important;transition:border-color 220ms ease,box-shadow 220ms ease!important;will-change:auto!important}
.guided-reader{--reader-duration:3600ms;--signal-progress:0%;min-height:748px;background:radial-gradient(circle at 50% 44%,rgba(103,232,194,.105),transparent 36%),radial-gradient(circle at 88% 8%,rgba(166,140,255,.13),transparent 28%),linear-gradient(145deg,#111d2b,#07121c 57%,#11162c)}
.guided-reader .orbit-head{grid-template-columns:max-content minmax(0,1fr) max-content;gap:0 12px;align-items:center}
.guided-reader .orbit-head .live-dot{grid-row:auto}
.orbit-head-copy{display:grid;gap:4px;min-width:0}.guided-reader .orbit-head-copy small{font-size:9px;letter-spacing:.15em;color:#91a1b5;font-weight:900}.guided-reader .orbit-head-copy strong{font-size:13.5px;line-height:1.42;max-width:48ch;color:#f2f7fa}
.reader-toggle{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:#9eadbb;cursor:pointer;font:inherit;white-space:nowrap}.reader-toggle:hover,.reader-toggle:focus-visible{outline:none;border-color:rgba(103,232,194,.42);color:#fff}.reader-toggle span{display:grid;place-items:center;width:17px;height:17px;border-radius:7px;background:rgba(103,232,194,.10);color:var(--mint);font-size:8px;font-weight:900}.reader-toggle b{font-size:8.5px;letter-spacing:.02em}
.guided-reader .orbit-stage{position:relative;height:510px;margin-top:24px;display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,1.26fr) minmax(170px,1fr);grid-template-rows:1fr 1fr;gap:16px 14px;align-items:center}
.guided-reader .ring{z-index:0;opacity:.85}.guided-reader .ring-a{width:416px;height:416px}.guided-reader .ring-b{width:316px;height:316px}.guided-reader .ring-c{width:226px;height:226px}
.guided-reader .signal-rays{z-index:1}.guided-reader .signal-rays .ray{opacity:.16}.guided-reader[data-reader-state="reading"] .signal-rays .ray{opacity:.31}.guided-reader[data-active-signal="1"] .signal-rays .r1::after,.guided-reader[data-active-signal="2"] .signal-rays .r2::after,.guided-reader[data-active-signal="3"] .signal-rays .r3::after,.guided-reader[data-active-signal="4"] .signal-rays .r4::after{animation:reader-pulse-travel 900ms cubic-bezier(.22,.61,.36,1) 1}
@keyframes reader-pulse-travel{0%{opacity:0;transform:translateX(0)}14%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translateX(94%)}}
.guided-reader .orbit-node,.guided-reader .orbit-node.n1,.guided-reader .orbit-node.n2,.guided-reader .orbit-node.n3,.guided-reader .orbit-node.n4{position:relative;inset:auto;width:100%;min-height:144px;align-self:center;transform:none!important;filter:none!important;transition:border-color 260ms ease,background 260ms ease,box-shadow 260ms ease,opacity 260ms ease!important}
.guided-reader .orbit-node.n1{grid-column:1;grid-row:1}.guided-reader .orbit-node.n2{grid-column:3;grid-row:1}.guided-reader .orbit-node.n3{grid-column:1;grid-row:2}.guided-reader .orbit-node.n4{grid-column:3;grid-row:2}
.guided-reader .orbit-node strong{font-size:14.5px;line-height:1.18;max-width:15ch}.guided-reader .orbit-node small{font-size:11px;line-height:1.48;color:#96a6b6;max-width:22ch}.guided-reader .orbit-node i{font-size:7.4px}
.guided-reader[data-reader-state="reading"] .orbit-node{opacity:.48}.guided-reader[data-reader-state="reading"] .orbit-node.is-signal-active{opacity:1;border-color:rgba(103,232,194,.64);background:linear-gradient(145deg,rgba(17,45,49,.98),rgba(22,29,53,.98));box-shadow:0 22px 58px rgba(4,10,16,.38),0 0 0 1px rgba(103,232,194,.11) inset}
.guided-reader .reader-surface{position:relative;grid-column:2;grid-row:1/3;place-self:center;left:auto;top:auto;transform:none!important;width:100%;height:auto;min-height:258px;border-radius:34px;padding:24px 23px 22px;display:flex;flex-direction:column;justify-content:center;text-align:left;z-index:4;overflow:hidden;background:linear-gradient(155deg,rgba(19,45,49,.97),rgba(24,29,56,.97));border:1px solid rgba(103,232,194,.25);box-shadow:0 28px 72px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.025) inset;transition:border-color 280ms ease,box-shadow 280ms ease!important}
.guided-reader[data-reader-state="reading"] .reader-surface{border-color:rgba(103,232,194,.48);box-shadow:0 32px 84px rgba(0,0,0,.40),0 0 55px rgba(103,232,194,.08),0 0 0 1px rgba(103,232,194,.08) inset}
.reader-surface::before{content:"";position:absolute;inset:-55% -25% auto;height:72%;background:radial-gradient(circle,rgba(103,232,194,.14),transparent 64%);opacity:.6;pointer-events:none;transition:opacity 280ms ease}.guided-reader[data-reader-state="reading"] .reader-surface::before{opacity:1}
.reader-meta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;z-index:1}.reader-meta span{font-size:9px!important;line-height:1.25!important;letter-spacing:.09em!important;color:var(--mint)!important;font-weight:900}.reader-meta b{font-size:9px;letter-spacing:.12em;color:#8696a8;font-weight:900}
.guided-reader .reader-surface>strong{position:relative;font-size:clamp(23px,2vw,29px);line-height:1.02;letter-spacing:-.035em;margin:0 0 13px;color:#fff;z-index:1;text-wrap:balance}
.guided-reader .reader-surface>small{position:relative;font-size:13.5px;line-height:1.58;color:#c1cbd4;z-index:1;text-wrap:pretty}
.reader-progress{position:relative;height:2px;margin-top:22px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;z-index:1}.reader-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--mint))}.guided-reader[data-reader-state="reading"] .reader-progress i{animation:reader-progress var(--reader-duration) linear 1 both}@keyframes reader-progress{from{width:0}to{width:100%}}
.reader-surface em{position:relative;margin-top:10px;font-size:8.5px;line-height:1.4;font-style:normal;color:#728294;z-index:1}.guided-reader[data-reader-state="reading"] .reader-surface em{color:#8ba69f}
.guided-reader[data-reader-state="complete"] .reader-surface{border-color:rgba(166,140,255,.34);background:linear-gradient(155deg,rgba(22,36,48,.97),rgba(30,28,58,.97))}.guided-reader[data-reader-state="complete"] .reader-progress i{width:100%;background:linear-gradient(90deg,var(--violet),var(--mint))}
.guided-reader .orbit-journey{margin-top:4px}.guided-reader .orbit-journey span{font-size:8.5px}.guided-reader .orbit-foot strong{font-size:12px;line-height:1.52}

@media(max-width:1180px) and (min-width:681px){.guided-reader .orbit-stage{grid-template-columns:minmax(160px,1fr) minmax(210px,1.2fr) minmax(160px,1fr);gap:13px 10px}.guided-reader .orbit-node{padding:15px 14px}.guided-reader .orbit-node strong{font-size:13.5px}.guided-reader .orbit-node small{font-size:10.5px}.guided-reader .reader-surface>strong{font-size:22px}.guided-reader .reader-surface>small{font-size:12.5px}}
@media(max-width:680px){
 .guided-reader{padding:20px;min-height:0}
 .guided-reader .orbit-head{grid-template-columns:max-content 1fr;align-items:start}.guided-reader .reader-toggle{grid-column:2;margin-top:10px;justify-self:start}.guided-reader .orbit-head-copy strong{font-size:13px}
 .guided-reader .orbit-stage{height:auto;margin-top:20px;padding-top:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:10px}
 .guided-reader .reader-surface{grid-column:1/-1;grid-row:1;min-height:206px;width:100%;padding:21px;border-radius:25px}.guided-reader .reader-surface>strong{font-size:22px}.guided-reader .reader-surface>small{font-size:13px;line-height:1.55}
 .guided-reader .orbit-node.n1{grid-column:1;grid-row:2}.guided-reader .orbit-node.n2{grid-column:2;grid-row:2}.guided-reader .orbit-node.n3{grid-column:1;grid-row:3}.guided-reader .orbit-node.n4{grid-column:2;grid-row:3}
 .guided-reader .orbit-node{min-height:150px}.guided-reader .orbit-node strong{font-size:13.5px}.guided-reader .orbit-node small{font-size:10.8px}
 .guided-reader[data-reader-state="reading"] .orbit-node{opacity:.66}.guided-reader[data-reader-state="reading"] .orbit-node.is-signal-active{opacity:1}
 .guided-reader .orbit-journey span{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
 .reader-toggle{display:none!important}.guided-reader[data-reader-state] .orbit-node{opacity:1!important}.guided-reader .reader-progress i{animation:none!important;width:100%!important}.guided-reader .signal-rays .ray::after{animation:none!important;display:none!important}.reader-surface::before{transition:none!important}.guided-reader .reader-surface{transition:none!important}
}
/* V19.7 final legibility correction: compact route tags must never clip. */
.guided-reader .orbit-node i{position:static;display:inline-flex;margin-top:10px;max-width:100%;white-space:normal;line-height:1.25}
.guided-reader .reader-meta span{min-width:0}
.guided-reader .reader-meta b{flex:0 0 auto;white-space:nowrap}
@media(min-width:681px){
  .guided-reader .orbit-stage{grid-template-columns:minmax(0,1fr) minmax(190px,1.42fr) minmax(0,1fr);gap:16px 10px}
  .guided-reader .orbit-node{min-width:0;padding:15px 13px}
  .guided-reader .orbit-node strong{font-size:13.5px;max-width:none}
  .guided-reader .orbit-node small{font-size:10.5px;max-width:none}
}


/* =========================================================
   V19.8 — SEAMLESS GUIDED READING CORRECTION
   No visitor-facing implementation instructions.
   Nodes are a map; the center is the readable story surface.
   Unique asset filename prevents stale V19.x localhost CSS.
   ========================================================= */
.guided-reader{min-height:700px;padding:25px 24px 22px}
.guided-reader .orbit-head{grid-template-columns:max-content minmax(0,1fr) max-content;gap:0 13px;align-items:center}
.guided-reader .orbit-head-copy{gap:5px}
.guided-reader .orbit-head-copy small{font-size:9.5px;color:#8fa3b5}
.guided-reader .orbit-head-copy strong{font-size:14.5px;line-height:1.38;max-width:41ch;color:#f5f8fa;letter-spacing:-.012em}
.reader-step-dots{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025)}
.reader-step-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#354655;transition:width 260ms ease,background 260ms ease,box-shadow 260ms ease}
.guided-reader[data-reader-step="1"] .reader-step-dots i:nth-child(1),
.guided-reader[data-reader-step="2"] .reader-step-dots i:nth-child(2),
.guided-reader[data-reader-step="3"] .reader-step-dots i:nth-child(3),
.guided-reader[data-reader-step="4"] .reader-step-dots i:nth-child(4){width:18px;background:var(--mint);box-shadow:0 0 14px rgba(103,232,194,.35)}
.guided-reader .orbit-stage{height:474px;margin-top:20px;grid-template-columns:minmax(0,.9fr) minmax(235px,1.34fr) minmax(0,.9fr);gap:14px 12px}
.guided-reader .orbit-node,.guided-reader .orbit-node.n1,.guided-reader .orbit-node.n2,.guided-reader .orbit-node.n3,.guided-reader .orbit-node.n4{min-height:126px;padding:16px 14px 14px;justify-content:flex-start;overflow:visible}
.guided-reader .orbit-node strong{font-size:15px;line-height:1.16;max-width:15ch;margin-top:19px;color:#eef5f8}
.guided-reader .orbit-node i{margin-top:auto;padding-top:13px;font-size:8.4px;line-height:1.25;color:#8ea3b3}
.guided-reader[data-reader-state="reading"] .orbit-node{opacity:.43}
.guided-reader[data-reader-state="reading"] .orbit-node.is-signal-active{opacity:1;border-color:rgba(103,232,194,.64);box-shadow:0 22px 58px rgba(4,10,16,.36),0 0 0 1px rgba(103,232,194,.11) inset,0 0 42px rgba(103,232,194,.045)}
.guided-reader .reader-surface{min-height:282px;padding:28px 27px 25px;border-radius:32px}
.guided-reader .reader-surface>strong{font-size:clamp(27px,2.18vw,34px);line-height:1.01;margin-bottom:16px;letter-spacing:-.04em}
.guided-reader .reader-surface>small{font-size:15px;line-height:1.62;color:#c8d2db;max-width:33ch}
.reader-meta{margin-bottom:19px}.reader-meta span{font-size:9.5px!important}.reader-meta b{font-size:9.5px}
.reader-progress{height:3px;margin-top:25px;background:rgba(255,255,255,.075)}
.guided-reader .orbit-journey{margin-top:7px}
.guided-reader .orbit-foot{margin-top:14px}
.guided-reader .orbit-foot>div{min-height:102px}
.guided-reader .orbit-foot strong{font-size:12.5px;line-height:1.5}
/* This component never applies spatial transforms/filters to text-bearing surfaces. */
.guided-reader,.guided-reader .orbit-stage,.guided-reader .orbit-node,.guided-reader .reader-surface,
.guided-reader .orbit-node strong,.guided-reader .orbit-node i,.guided-reader .reader-surface>strong,.guided-reader .reader-surface>small{transform:none!important;filter:none!important}
@media(max-width:1180px) and (min-width:681px){
  .guided-reader{padding-inline:20px}
  .guided-reader .orbit-stage{grid-template-columns:minmax(0,.88fr) minmax(215px,1.38fr) minmax(0,.88fr);gap:12px 9px}
  .guided-reader .orbit-node{padding:14px 12px;min-height:122px}.guided-reader .orbit-node strong{font-size:14px}.guided-reader .orbit-node i{font-size:7.8px}
  .guided-reader .reader-surface>strong{font-size:25px}.guided-reader .reader-surface>small{font-size:14px}
}
@media(max-width:680px){
  .guided-reader{padding:19px;min-height:0}
  .guided-reader .orbit-head{grid-template-columns:max-content minmax(0,1fr);gap:0 11px}.reader-step-dots{grid-column:2;margin-top:10px;justify-self:start}
  .guided-reader .orbit-head-copy strong{font-size:13.5px;max-width:32ch}
  .guided-reader .orbit-stage{height:auto;margin-top:18px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:9px}
  .guided-reader .reader-surface{grid-column:1/-1;grid-row:1;min-height:224px;padding:23px;border-radius:24px}
  .guided-reader .reader-surface>strong{font-size:25px}.guided-reader .reader-surface>small{font-size:14px}
  .guided-reader .orbit-node{min-height:126px}.guided-reader .orbit-node strong{font-size:14px;margin-top:16px}.guided-reader .orbit-node i{font-size:7.8px;padding-top:10px}
}
@media(prefers-reduced-motion:reduce){.reader-step-dots i{transition:none!important}}

/* === V19.9 — conversation flow bridge + hash-free back-to-top === */
/* The two conversation cards stay still. The bridge carries the motion and the arrow is geometrically centered. */
.conversation-board{grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr);gap:0}
.meaning-flow{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:0 10px;color:#6554c7}
.meaning-track{position:relative!important;display:block!important;width:100%!important;height:54px!important;margin:0!important;border-radius:0!important;background:transparent!important;font-size:initial!important;place-items:initial!important;overflow:visible}
.meaning-track::before{content:"";position:absolute;left:-10px;right:-10px;top:50%;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(109,85,221,.20),rgba(109,85,221,.52) 33%,rgba(103,232,194,.56) 67%,rgba(103,232,194,.20));z-index:0}
.meaning-track::after{content:"";position:absolute;left:-10px;right:-10px;top:50%;height:2px;transform:translateY(-50%) scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#6d55dd 0%,#8d7be7 42%,#67e8c2 100%);box-shadow:0 0 14px rgba(103,232,194,.22);opacity:0;z-index:1}
.meaning-track>b{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;width:46px;height:46px;transform:translate(-50%,-50%)!important;border-radius:50%;display:grid!important;place-items:center;background:#f0edff;border:1px solid rgba(109,85,221,.18);box-shadow:0 10px 26px rgba(68,54,142,.10);font-size:20px!important;line-height:1;color:#2d8e76!important;z-index:3}
.meaning-track>i{position:absolute!important;left:-8px!important;top:50%!important;width:8px!important;height:8px!important;margin-top:-4px;border-radius:50%;background:#6d55dd;box-shadow:0 0 0 5px rgba(109,85,221,.08),0 0 15px rgba(109,85,221,.32);opacity:0;z-index:2}
.meaning-flow.is-flowing .meaning-track::after{animation:meaning-line-sweep-v199 1550ms cubic-bezier(.22,.61,.36,1) 1}
.meaning-flow.is-flowing .meaning-track>b{animation:meaning-arrow-breathe-v199 1550ms cubic-bezier(.22,.61,.36,1) 1}
.meaning-flow.is-flowing .meaning-track>i{animation:meaning-travel-v199 1550ms cubic-bezier(.22,.61,.36,1) 1!important}
@keyframes meaning-line-sweep-v199{0%{opacity:0;transform:translateY(-50%) scaleX(0)}10%{opacity:.8}78%{opacity:.88;transform:translateY(-50%) scaleX(1)}100%{opacity:0;transform:translateY(-50%) scaleX(1)}}
@keyframes meaning-arrow-breathe-v199{0%,30%{background:#f0edff;box-shadow:0 10px 26px rgba(68,54,142,.10)}48%{background:#e4fbf4;border-color:rgba(103,232,194,.48);box-shadow:0 0 0 9px rgba(103,232,194,.09),0 12px 30px rgba(50,135,109,.14)}68%,100%{background:#f0edff;box-shadow:0 10px 26px rgba(68,54,142,.10)}}
@keyframes meaning-travel-v199{0%{opacity:0;left:-8px;background:#6d55dd}8%{opacity:1}45%{opacity:1;background:#7764d7}53%{left:calc(50% - 4px);opacity:.8}61%{opacity:1;background:#67e8c2}91%{opacity:1}100%{left:calc(100% + 2px);opacity:0;background:#67e8c2}}

/* Global shell control. It is a button, not an anchor: clicking it never creates /# in the address bar. */
.back-to-top{position:fixed;right:clamp(16px,2vw,30px);bottom:clamp(16px,2vw,28px);z-index:48;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;background:rgba(9,20,30,.88);color:#eef7f4;box-shadow:0 16px 42px rgba(0,0,0,.28),0 0 0 1px rgba(103,232,194,.035) inset;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);appearance:none;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s,border-color .2s ease,background .2s ease}
.back-to-top span{display:block;font-size:21px;line-height:1;transform:translateY(-1px)}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{border-color:rgba(103,232,194,.48);background:#102a28;color:var(--mint);outline:none}
.back-to-top:focus-visible{box-shadow:0 0 0 3px rgba(103,232,194,.18),0 16px 42px rgba(0,0,0,.28)}

@media(max-width:1050px){
  .conversation-board{grid-template-columns:1fr;gap:0}
  .meaning-flow{min-height:112px;padding:8px 0}
  .meaning-track{width:54px!important;height:92px!important;transform:none!important}
  .meaning-track::before{left:50%;right:auto;top:-8px;bottom:-8px;width:1px;height:auto;transform:translateX(-50%);background:linear-gradient(180deg,rgba(109,85,221,.20),rgba(109,85,221,.52) 33%,rgba(103,232,194,.56) 67%,rgba(103,232,194,.20))}
  .meaning-track::after{left:50%;right:auto;top:-8px;bottom:-8px;width:2px;height:auto;transform:translateX(-50%) scaleY(0);transform-origin:center top;background:linear-gradient(180deg,#6d55dd 0%,#8d7be7 42%,#67e8c2 100%)}
  .meaning-track>b{left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(90deg)!important}
  .meaning-track>i{left:50%!important;top:-6px!important;margin-left:-4px;margin-top:0}
  .meaning-flow.is-flowing .meaning-track::after{animation:meaning-line-sweep-mobile-v199 1550ms cubic-bezier(.22,.61,.36,1) 1}
  .meaning-flow.is-flowing .meaning-track>i{animation:meaning-travel-mobile-v199 1550ms cubic-bezier(.22,.61,.36,1) 1!important}
  .meaning-flow strong,.meaning-flow small{display:none}
  @keyframes meaning-line-sweep-mobile-v199{0%{opacity:0;transform:translateX(-50%) scaleY(0)}10%{opacity:.8}78%{opacity:.88;transform:translateX(-50%) scaleY(1)}100%{opacity:0;transform:translateX(-50%) scaleY(1)}}
  @keyframes meaning-travel-mobile-v199{0%{opacity:0;top:-6px;background:#6d55dd}8%{opacity:1}53%{top:calc(50% - 4px);opacity:.8}61%{opacity:1;background:#67e8c2}91%{opacity:1}100%{top:calc(100% - 2px);opacity:0;background:#67e8c2}}
}
@media(max-width:680px){.back-to-top{right:14px;bottom:14px;width:46px;height:46px}.back-to-top span{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.meaning-flow.is-flowing .meaning-track::after,.meaning-flow.is-flowing .meaning-track>b,.meaning-flow.is-flowing .meaning-track>i{animation:none!important}.meaning-track::after{display:none!important}.meaning-track>i{display:none!important}.back-to-top{transition:none!important}}
/* Draw the center arrow geometrically instead of relying on a font glyph's optical metrics. */
.meaning-track>b{font-size:0!important;color:transparent!important}
.meaning-track>b::before{content:"";position:absolute;left:50%;top:50%;width:15px;height:2px;border-radius:999px;background:#2d8e76;transform:translate(-50%,-50%)}
.meaning-track>b::after{content:"";position:absolute;left:calc(50% + 4px);top:50%;width:7px;height:7px;border-top:2px solid #2d8e76;border-right:2px solid #2d8e76;transform:translate(-50%,-50%) rotate(45deg)}
/* Automatic handoff: the cards participate in the story without moving or blurring their text. */
.conversation-board.is-flow-sequence .conversation.old{animation:conversation-old-cue-v199 1550ms ease 1}
.conversation-board.is-flow-sequence .conversation.new{animation:conversation-new-cue-v199 1550ms ease 1}
@keyframes conversation-old-cue-v199{0%,12%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}34%{border-color:#d9c995;box-shadow:0 18px 44px rgba(166,130,55,.10);background:#f6f1e5}66%,100%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}}
@keyframes conversation-new-cue-v199{0%,48%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}72%{border-color:rgba(103,232,194,.52);box-shadow:0 30px 82px rgba(34,120,94,.22),0 0 0 1px rgba(103,232,194,.06) inset}100%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}}
@media(prefers-reduced-motion:reduce){.conversation-board.is-flow-sequence .conversation.old,.conversation-board.is-flow-sequence .conversation.new{animation:none!important}}

/* =========================================================
   V19.11 — guided-reading pacing + compact completion state
   + continuous conversation handoff + parent-support copy
   ========================================================= */
.guided-reader{--reader-duration:4800ms}
/* During step reading the center surface remains generous; after completion it compacts so the header and footer rails stay unobstructed. */
.guided-reader[data-reader-state="complete"] .reader-surface{
  min-height:228px;
  padding:22px 24px 20px;
  align-self:center;
}
.guided-reader[data-reader-state="complete"] .reader-surface>strong{
  font-size:clamp(24px,1.82vw,29px);
  line-height:1.04;
  margin-bottom:12px;
  max-width:16ch;
}
.guided-reader[data-reader-state="complete"] .reader-surface>small{
  font-size:13.5px;
  line-height:1.54;
  max-width:31ch;
}
.guided-reader[data-reader-state="complete"] .reader-meta{margin-bottom:14px}
.guided-reader[data-reader-state="complete"] .reader-progress{margin-top:18px}

/* The old reflex label is intentionally stronger: it should read as the starting state, not as decoration. */
.conversation.old>span{
  color:#896317;
  font-size:10px;
  letter-spacing:.18em;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
.conversation.new>span{font-size:10px;letter-spacing:.18em}

/* Slower, continuous handoff. Cards stay spatially stable; only emphasis and the bridge carry motion. */
.meaning-flow.is-flowing .meaning-track::after{animation-duration:2450ms}
.meaning-flow.is-flowing .meaning-track>b{animation-duration:2450ms}
.meaning-flow.is-flowing .meaning-track>i{animation-duration:2450ms!important}
.conversation-board.is-flow-sequence .conversation.old{animation:conversation-old-cue-v1910 2450ms ease 1}
.conversation-board.is-flow-sequence .conversation.new{animation:conversation-new-cue-v1910 2450ms ease 1}
@keyframes conversation-old-cue-v1910{
  0%,10%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}
  28%{border-color:#d6be78;box-shadow:0 18px 44px rgba(166,130,55,.13);background:#f7f1e2}
  56%{border-color:#ddcfaa;box-shadow:0 12px 32px rgba(166,130,55,.07);background:#f4f0e8}
  100%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}
}
@keyframes conversation-new-cue-v1910{
  0%,42%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}
  68%{border-color:rgba(103,232,194,.56);box-shadow:0 30px 82px rgba(34,120,94,.24),0 0 0 1px rgba(103,232,194,.07) inset}
  100%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}
}

@media(max-width:1180px) and (min-width:681px){
  .guided-reader[data-reader-state="complete"] .reader-surface{min-height:214px;padding:20px}
  .guided-reader[data-reader-state="complete"] .reader-surface>strong{font-size:23px}
  .guided-reader[data-reader-state="complete"] .reader-surface>small{font-size:12.8px}
}
@media(max-width:680px){
  .guided-reader{--reader-duration:5000ms}
  .guided-reader[data-reader-state="complete"] .reader-surface{min-height:192px;padding:19px 20px}
  .guided-reader[data-reader-state="complete"] .reader-surface>strong{font-size:22px;max-width:none}
  .guided-reader[data-reader-state="complete"] .reader-surface>small{font-size:13px;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .conversation-board.is-flow-sequence .conversation.old,.conversation-board.is-flow-sequence .conversation.new{animation:none!important}
}

/* V19.11 R1 — exact user review corrections */
.guided-reader[data-reader-state="complete"] .reader-surface{
  min-height:0;
  height:auto;
  max-height:286px;
  padding:18px 22px 17px;
  justify-content:center;
}
.guided-reader[data-reader-state="complete"] .reader-surface>strong{
  font-size:clamp(22px,1.55vw,25px);
  line-height:1.03;
  margin-bottom:10px;
  max-width:none;
}
.guided-reader[data-reader-state="complete"] .reader-surface>small{
  font-size:12.6px;
  line-height:1.48;
  max-width:none;
}
.guided-reader[data-reader-state="complete"] .reader-meta{margin-bottom:10px}
.guided-reader[data-reader-state="complete"] .reader-progress{margin-top:13px}

/* Labels are states in the story, therefore both must be instantly legible. */
.conversation.old>span,.conversation.new>span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  letter-spacing:.15em;
}
.conversation.old>span{
  color:#795611;
  background:#fff7e4;
  border:1px solid rgba(121,86,17,.22);
  text-shadow:none;
}
.conversation.new>span{
  color:#45d7ae;
  background:rgba(103,232,194,.075);
  border:1px solid rgba(103,232,194,.19);
}

/* True continuous narrative loop while the bridge is in view.
   4.8 s cycle: slower old-reflex cue -> handoff -> correct-support cue -> reset. */
.meaning-flow.is-flow-looping .meaning-track::after{
  animation:meaning-line-loop-v1910 4800ms cubic-bezier(.22,.61,.36,1) infinite;
}
.meaning-flow.is-flow-looping .meaning-track>b{
  animation:meaning-arrow-loop-v1910 4800ms ease-in-out infinite;
}
.meaning-flow.is-flow-looping .meaning-track>i{
  animation:meaning-travel-loop-v1910 4800ms cubic-bezier(.22,.61,.36,1) infinite!important;
}
.conversation-board.is-flow-looping .conversation.old{
  animation:conversation-old-loop-v1910 4800ms ease-in-out infinite;
}
.conversation-board.is-flow-looping .conversation.new{
  animation:conversation-new-loop-v1910 4800ms ease-in-out infinite;
}
@keyframes meaning-line-loop-v1910{
  0%,7%{opacity:0;transform:translateY(-50%) scaleX(0)}
  15%{opacity:.72}
  61%{opacity:.9;transform:translateY(-50%) scaleX(1)}
  76%{opacity:.45;transform:translateY(-50%) scaleX(1)}
  88%,100%{opacity:0;transform:translateY(-50%) scaleX(1)}
}
@keyframes meaning-arrow-loop-v1910{
  0%,28%,100%{background:#f0edff;border-color:rgba(109,85,221,.18);box-shadow:0 10px 26px rgba(68,54,142,.10)}
  45%,62%{background:#e4fbf4;border-color:rgba(103,232,194,.48);box-shadow:0 0 0 9px rgba(103,232,194,.09),0 12px 30px rgba(50,135,109,.14)}
  76%{background:#edf9f5;border-color:rgba(103,232,194,.28);box-shadow:0 10px 26px rgba(50,135,109,.08)}
}
@keyframes meaning-travel-loop-v1910{
  0%,7%{opacity:0;left:-8px;background:#6d55dd}
  14%{opacity:1}
  39%{opacity:1;background:#7764d7}
  49%{left:calc(50% - 4px);opacity:.9}
  56%{opacity:1;background:#67e8c2}
  69%{opacity:1}
  78%{left:calc(100% + 2px);opacity:0;background:#67e8c2}
  100%{left:calc(100% + 2px);opacity:0}
}
@keyframes conversation-old-loop-v1910{
  0%,6%,100%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}
  18%,31%{border-color:#d1b55f;box-shadow:0 18px 46px rgba(166,130,55,.14);background:#f8f1dd}
  45%{border-color:#ddcfaa;box-shadow:0 10px 28px rgba(166,130,55,.06);background:#f4f0e8}
  58%,100%{border-color:#e3ded4;box-shadow:none;background:#f2efe8}
}
@keyframes conversation-new-loop-v1910{
  0%,38%,100%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}
  55%,72%{border-color:rgba(103,232,194,.58);box-shadow:0 30px 84px rgba(34,120,94,.24),0 0 0 1px rgba(103,232,194,.07) inset}
  86%,100%{border-color:rgba(103,232,194,.24);box-shadow:0 28px 70px rgba(34,120,94,.14)}
}
@media(max-width:1050px){
  .meaning-flow.is-flow-looping .meaning-track::after{animation:meaning-line-loop-mobile-v1910 4800ms cubic-bezier(.22,.61,.36,1) infinite}
  .meaning-flow.is-flow-looping .meaning-track>i{animation:meaning-travel-loop-mobile-v1910 4800ms cubic-bezier(.22,.61,.36,1) infinite!important}
  @keyframes meaning-line-loop-mobile-v1910{
    0%,7%{opacity:0;transform:translateX(-50%) scaleY(0)}15%{opacity:.72}61%{opacity:.9;transform:translateX(-50%) scaleY(1)}76%{opacity:.45;transform:translateX(-50%) scaleY(1)}88%,100%{opacity:0;transform:translateX(-50%) scaleY(1)}
  }
  @keyframes meaning-travel-loop-mobile-v1910{
    0%,7%{opacity:0;top:-6px;background:#6d55dd}14%{opacity:1}49%{top:calc(50% - 4px);opacity:.9}56%{opacity:1;background:#67e8c2}69%{opacity:1}78%{top:calc(100% - 2px);opacity:0;background:#67e8c2}100%{top:calc(100% - 2px);opacity:0}
  }
}
@media(max-width:680px){
  .guided-reader[data-reader-state="complete"] .reader-surface{max-height:none;min-height:184px;padding:17px 19px}
  .guided-reader[data-reader-state="complete"] .reader-surface>strong{font-size:21px}
  .guided-reader[data-reader-state="complete"] .reader-surface>small{font-size:12.8px}
}
@media(prefers-reduced-motion:reduce){
  .meaning-flow.is-flow-looping .meaning-track::after,.meaning-flow.is-flow-looping .meaning-track>b,.meaning-flow.is-flow-looping .meaning-track>i,
  .conversation-board.is-flow-looping .conversation.old,.conversation-board.is-flow-looping .conversation.new{animation:none!important}
}

/* =========================================================
   V19.11 — shared guidance manifesto
   Parent page language, student-inclusive product philosophy.
   ========================================================= */
.dialogue{grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start}
.dialogue-experience{min-width:0;display:grid;gap:18px}
.dialogue-experience .conversation-board{grid-template-columns:minmax(0,.82fr) 150px minmax(0,1.18fr);align-items:stretch}
.dialogue-experience .conversation{min-height:318px;justify-content:center}
.dialogue-experience .conversation.new{padding:28px 30px}
.dialogue-experience .conversation.new blockquote{font-size:clamp(22px,1.72vw,28px);line-height:1.14;margin:22px 0 16px}
.dialogue-experience .conversation.old blockquote{font-size:clamp(24px,1.9vw,29px)}
.dialogue-experience .meaning-flow{min-height:318px}
.dialogue-experience .meaning-flow strong{font-size:10px;line-height:1.35;max-width:14ch}
.dialogue-experience .meaning-flow small{font-size:7.8px;line-height:1.35;max-width:14ch}

.shared-roadmap-band{position:relative;overflow:hidden;border:1px solid #dddfe1;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fbfaf5 48%,#f4fbf8 100%);padding:22px 24px 20px;box-shadow:0 20px 55px rgba(17,26,34,.055)}
.shared-roadmap-band::before{content:"";position:absolute;inset:auto -70px -100px auto;width:240px;height:240px;border-radius:50%;background:rgba(103,232,194,.12);filter:blur(42px);pointer-events:none}
.shared-roadmap-head{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #e7e7e2}
.shared-roadmap-head span{font-size:8.5px;font-weight:900;letter-spacing:.18em;color:#6d55dd}
.shared-roadmap-head strong{font-size:14px;letter-spacing:-.02em;color:#1e2831}
.shared-roadmap-stage{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:14px}
.roadmap-line{position:absolute;left:16.5%;right:16.5%;top:36px;height:2px;background:linear-gradient(90deg,rgba(109,85,221,.22),rgba(103,232,194,.38),rgba(109,85,221,.22));border-radius:999px;overflow:visible}
.roadmap-line::before,.roadmap-line::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);background:#fff;border:2px solid #8f80df;z-index:2}
.roadmap-line::before{left:-2px}.roadmap-line::after{right:-2px;border-color:#50b99a}
.roadmap-line i{position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:#6d55dd;box-shadow:0 0 0 5px rgba(109,85,221,.08),0 0 16px rgba(109,85,221,.22);opacity:0}
.roadmap-line i:nth-child(2){animation-delay:2.35s!important}
.roadmap-role{position:relative;min-height:126px;padding:44px 14px 14px;border:1px solid #e5e6e4;border-radius:18px;background:rgba(255,255,255,.82);text-align:center;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}
.roadmap-role b{position:absolute;left:50%;top:-2px;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f0edff;border:1px solid #ded7ff;color:#6d55dd;font-size:8px;letter-spacing:.06em;box-shadow:0 8px 20px rgba(75,59,151,.09)}
.roadmap-role.system b{background:#e9fbf5;border-color:#c7eee2;color:#1b876b}
.roadmap-role.parent b{background:#fff7e7;border-color:#efdfb7;color:#896317}
.roadmap-role strong{display:block;font-size:14px;color:#17212a;letter-spacing:-.025em}
.roadmap-role small{display:block;margin-top:7px;font-size:10.5px;line-height:1.5;color:#707b84}
.roadmap-role.system{background:#f6fffb;border-color:#d7eee7}
.shared-roadmap-result{position:relative;z-index:2;margin-top:12px;padding:14px 16px;border-radius:16px;background:#0e211d;color:#f4fffb;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(103,232,194,.22)}
.shared-roadmap-result span{font-size:8px;font-weight:900;letter-spacing:.16em;color:var(--mint);white-space:nowrap}
.shared-roadmap-result strong{font-size:12px;line-height:1.45;text-align:right}

.shared-roadmap-band.is-roadmap-alive .roadmap-line i{animation:roadmap-travel-v1911 4700ms cubic-bezier(.22,.61,.36,1) infinite}
.shared-roadmap-band.is-roadmap-alive .roadmap-role.student{animation:roadmap-student-v1911 4700ms ease-in-out infinite}
.shared-roadmap-band.is-roadmap-alive .roadmap-role.system{animation:roadmap-system-v1911 4700ms ease-in-out infinite}
.shared-roadmap-band.is-roadmap-alive .roadmap-role.parent{animation:roadmap-parent-v1911 4700ms ease-in-out infinite}
.shared-roadmap-band.is-roadmap-alive .shared-roadmap-result{animation:roadmap-result-v1911 4700ms ease-in-out infinite}
@keyframes roadmap-travel-v1911{0%,8%{opacity:0;left:0;background:#6d55dd}14%{opacity:1}42%{left:50%;background:#53c5a3;opacity:1}70%{left:100%;background:#d6a84b;opacity:1}83%,100%{left:100%;opacity:0}}
@keyframes roadmap-student-v1911{0%,8%,100%{border-color:#e5e6e4;box-shadow:none}14%,28%{border-color:#b8acef;box-shadow:0 14px 34px rgba(109,85,221,.09)}42%,100%{border-color:#e5e6e4;box-shadow:none}}
@keyframes roadmap-system-v1911{0%,25%,100%{border-color:#d7eee7;box-shadow:none}38%,55%{border-color:#89d7bf;box-shadow:0 14px 38px rgba(54,153,123,.11)}70%,100%{border-color:#d7eee7;box-shadow:none}}
@keyframes roadmap-parent-v1911{0%,51%,100%{border-color:#e5e6e4;box-shadow:none}64%,78%{border-color:#e0ca8f;box-shadow:0 14px 34px rgba(166,130,55,.09)}90%,100%{border-color:#e5e6e4;box-shadow:none}}
@keyframes roadmap-result-v1911{0%,62%,100%{border-color:rgba(103,232,194,.22);box-shadow:none}76%,88%{border-color:rgba(103,232,194,.48);box-shadow:0 15px 38px rgba(34,120,94,.12)}}

@media(max-width:1050px){
  .dialogue{grid-template-columns:1fr;gap:42px}
  .dialogue-experience .conversation-board{grid-template-columns:1fr;gap:0}
  .dialogue-experience .conversation{min-height:0}
  .dialogue-experience .meaning-flow{min-height:112px}
}
@media(max-width:680px){
  .shared-roadmap-band{padding:19px 17px 17px;border-radius:22px}
  .shared-roadmap-head{display:grid;gap:5px}
  .shared-roadmap-head strong{font-size:13px}
  .shared-roadmap-stage{grid-template-columns:1fr;gap:9px;padding-top:0}
  .roadmap-line{display:none}
  .roadmap-role{min-height:0;padding:14px 14px 14px 52px;text-align:left}
  .roadmap-role b{left:16px;top:50%;transform:translateY(-50%)}
  .roadmap-role strong{font-size:13px}.roadmap-role small{font-size:10px}
  .shared-roadmap-result{display:grid;gap:5px}.shared-roadmap-result strong{text-align:left;font-size:11px}
  .dialogue-experience .conversation.new blockquote{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
  .shared-roadmap-band.is-roadmap-alive .roadmap-line i,.shared-roadmap-band.is-roadmap-alive .roadmap-role,.shared-roadmap-band.is-roadmap-alive .shared-roadmap-result{animation:none!important}
}

/* =========================================================
   V19.11 R1 — MOBILE ACCEPTANCE CLOSURE
   Protected V19.11 visual language; mobile usability only.
   ========================================================= */

/* viewport-fit=cover is enabled; interactive chrome must respect safe areas. */
@supports (padding: max(0px)) {
  .global-site-header{top:max(8px,env(safe-area-inset-top))}
  .back-to-top{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
  .global-footer{padding-bottom:max(55px,calc(34px + env(safe-area-inset-bottom)))}
}

/* Coarse-pointer baseline: do not rely on mouse precision. */
@media (pointer:coarse){
  .global-site-header .brand{min-height:44px}
  .mobile-site-menu summary{min-height:44px}
  .mobile-site-panel a{min-height:44px;display:flex;align-items:center}
  .hero-actions .text-link{min-height:44px;display:inline-flex;align-items:center}
  .orbit-foot a{min-height:36px;display:inline-flex;align-items:center}
}

@media(max-width:1050px){
  /* Viewport-owned drawer: never escapes left/right edges on tablets. */
  .mobile-site-panel{
    position:fixed;
    left:max(16px,env(safe-area-inset-left));
    right:max(16px,env(safe-area-inset-right));
    top:calc(max(8px,env(safe-area-inset-top)) + 62px);
    width:auto;
    max-width:420px;
    margin-left:auto;
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - 82px - env(safe-area-inset-bottom));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-site-panel a{min-height:44px}
  body.mobile-menu-open{overflow:hidden}
}

@media(max-width:680px){
  /* The three navigation families fit in one scan line on phones. */
  .global-footer .footer-map{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .global-footer .footer-map>div{gap:2px;min-width:0}
  .global-footer .footer-map strong{font-size:9px;line-height:1.25;margin-bottom:5px}
  .global-footer .footer-map a{
    min-width:0;
    min-height:32px;
    display:flex;
    align-items:center;
    font-size:10px;
    line-height:1.28;
    overflow-wrap:anywhere;
  }

  /* Mobile decision matrix: consume vertically; no horizontal swipe is required. */
  .matrix-shell{overflow:visible;border:0;background:transparent;box-shadow:none}
  .matrix-shell table{display:block;width:100%;min-width:0}
  .matrix-shell thead{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
  }
  .matrix-shell tbody{display:grid;gap:12px;width:100%}
  .matrix-shell tbody tr{
    display:block;
    width:100%;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(145deg,#0e1b27,#0a151f);
  }
  .matrix-shell tbody th,.matrix-shell tbody td{
    display:block;
    width:100%;
    padding:15px 16px;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .matrix-shell tbody td:last-child{padding:15px 16px 34px;border-bottom:0}
  .matrix-shell tbody th::before,.matrix-shell tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:8px;
    color:#718195;
    font-size:8px;
    line-height:1.35;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .matrix-shell tbody th::before{color:#8c7ce4}
  .matrix-shell .matrix-flow{left:16px;right:16px;bottom:12px}
  .matrix-shell .impact-meter{max-width:none}
}

@media(max-width:340px){
  .global-footer{margin-inline:16px}
  .global-footer .footer-map{gap:7px}
  .global-footer .footer-map strong{font-size:8.5px;letter-spacing:.09em}
  .global-footer .footer-map a{font-size:9.5px}
}

/* Touch tablets/landscape phones also keep footer destinations comfortably tappable. */
@media (pointer:coarse){
  .global-footer .footer-map a{min-height:32px;display:flex;align-items:center}
}

/* In-page mobile navigation must land below the sticky shell, not behind it. */
@media(max-width:1050px){
  main section[id]{scroll-margin-top:96px}
}

/* =========================================================
   V19.11 R2 — PREMIUM MOBILE SHELL RESTORATION
   Source baseline: accepted V19.11 + production v16.5 premium drawer.
   R1 mobile reflow/touch fixes are preserved; simple dropdown shell is superseded.
   ========================================================= */
body.nav-open{overflow:hidden}
.menu-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);color:#fff;align-items:center;justify-content:center;align-content:center;justify-items:center;grid-template-rows:repeat(3,2px);gap:5px;cursor:pointer;flex:0 0 auto}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:4px;background:currentColor}
.menu-toggle:hover,.menu-toggle:focus-visible,.drawer-close:hover,.drawer-close:focus-visible{border-color:rgba(103,232,194,.45);outline:none;box-shadow:0 0 0 3px rgba(103,232,194,.09)}
.mobile-nav-backdrop{position:fixed;inset:0;z-index:180;background:rgba(3,6,12,.58);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.mobile-nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-drawer{position:fixed;z-index:190;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:16px;background:linear-gradient(155deg,rgba(20,28,42,.99),rgba(8,12,21,.99));border:1px solid rgba(255,255,255,.13);border-radius:22px;box-shadow:0 34px 100px rgba(0,0,0,.58);display:flex;flex-direction:column;transform:translateX(calc(100% + 28px));opacity:.35;visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility .3s ease;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mobile-drawer.is-open{transform:none;opacity:1;visibility:visible}
.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-drawer .brand-copy small{display:block;max-width:220px;line-height:1.35;color:#8792a5;letter-spacing:.1em}
.drawer-close{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);color:#dce3ed;font-size:28px;line-height:1;cursor:pointer}
.mobile-nav-links{display:grid;padding:16px 0}
.mobile-nav-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:51px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.065);color:#e6ebf2;font-size:14px;font-weight:750;border-radius:10px}
.mobile-nav-links a:hover,.mobile-nav-links a:focus-visible,.mobile-nav-links a.is-current{background:rgba(103,232,194,.055);color:#fff;outline:none}
.mobile-nav-label{color:inherit}
.mobile-nav-meta{font-size:10px;color:#778397;font-weight:750;white-space:nowrap}
.mobile-nav-links a.is-current .mobile-nav-label,.mobile-nav-links a.is-current .mobile-nav-meta{color:var(--mint)}
.mobile-drawer-actions{display:grid;gap:9px;margin-top:auto;padding-top:10px}
.mobile-drawer-actions>.btn{width:100%;min-height:52px}
.mobile-drawer .btn-whatsapp{background:#22c976;color:#04130d;border-color:#22c976}
.mobile-drawer .btn-outline-light{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.035);color:#f5f7f9}
.mobile-drawer .btn-solid{background:var(--mint);color:#06130f}
.drawer-member{display:grid;gap:8px;margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.drawer-member small{font-size:8px;letter-spacing:.14em;color:#738095;font-weight:900}

@media(max-width:1050px){
  .global-site-header{gap:12px}
  .global-site-header .header-actions{margin-left:auto;align-items:center}
  .menu-toggle{display:grid}
  .mobile-site-menu{display:none!important}
}
@media(max-width:680px){
  .global-site-header{top:max(8px,env(safe-area-inset-top));margin:8px max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));padding:0 8px 0 12px;min-height:64px;border-radius:19px;grid-template-columns:minmax(0,1fr) max-content;gap:8px}
  .global-site-header .brand{min-width:0}
  .global-site-header .brand-copy strong{font-size:14px}
  .global-site-header .brand-copy small{display:none}
  .global-site-header .brand-mark{width:32px;height:32px}
  .global-site-header .header-actions{gap:6px}
  .global-site-header .header-actions>.btn.mint{display:inline-flex;min-height:44px;padding:0 13px;border-radius:12px;font-size:10px;white-space:nowrap}
  .global-site-header .header-actions>.btn.ghost{display:none}
  .menu-toggle{width:44px;height:44px;border-radius:12px}
}
@media(max-width:360px){
  .global-site-header{padding-left:10px}
  .global-site-header .brand{gap:7px}
  .global-site-header .brand-mark{width:30px;height:30px}
  .global-site-header .header-actions>.btn.mint{padding-inline:10px;font-size:9.5px}
  .menu-toggle{width:42px;height:42px}
}
@media(max-height:650px) and (max-width:1050px){
  .mobile-nav-links{padding:8px 0}
  .mobile-nav-links a{min-height:44px}
  .mobile-drawer-actions>.btn{min-height:46px}
  .drawer-member{padding-top:10px;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  .mobile-nav-backdrop,.mobile-drawer{transition:none}
}
