:root{--navy:#003459;--cyan:#04aff3;--orange:#efa600;--link:#006b99;--ink:#102836;--mist:#eff8fc;--white:#fff;--line:#cfe5ef;--muted:#56707e;--shadow:0 18px 50px rgba(0,52,89,.12);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-height:100vh;line-height:1.65;background:var(--white)}a{color:var(--link)}button,input,select{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--navy);color:white;padding:.7rem 1rem;z-index:1000}.skip-link:focus{top:1rem}.account{position:fixed;right:1.25rem;bottom:1.25rem;z-index:70;display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;background:rgba(0,52,89,.94);color:white;border-radius:999px;font-size:.78rem;box-shadow:var(--shadow)}.account form{margin:0}.link-button{border:0;background:none;color:white;text-decoration:underline;padding:0;cursor:pointer}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;font-weight:800;color:var(--link)}h1,h2,h3{line-height:1.12;color:var(--navy);letter-spacing:-.035em}h1{font-size:clamp(2.5rem,7vw,6.7rem);margin:.15em 0}h2{font-size:clamp(2rem,4vw,4.1rem);margin:.12em 0 .55em}h3{font-size:1.3rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1.1rem;border-radius:.5rem;text-decoration:none;font-weight:750;border:1px solid transparent;cursor:pointer}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:#004876}.text-link{font-weight:750;color:var(--link);text-underline-offset:.2em}.auth-page{background:linear-gradient(140deg,var(--mist),white 60%)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-panel{width:min(100%,470px);background:white;padding:clamp(1.5rem,4vw,3.25rem);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow)}.wide-auth .auth-panel{width:min(100%,620px)}.auth-logo{display:block;width:min(300px,100%);height:auto;margin:0 0 2.25rem}.auth-panel h1{font-size:clamp(2rem,5vw,3.3rem)}.auth-foot{font-size:.88rem;color:var(--muted);margin-top:1.5rem}.form-stack{display:grid;gap:1rem;margin-top:1.5rem}.form-stack label,.admin-form label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:var(--navy)}.form-stack input,.admin-form input,.admin-form select,.inline-form input{width:100%;border:1px solid #9fbdcb;border-radius:.45rem;padding:.75rem;background:white;color:var(--ink)}.field-hint{font-weight:400;color:var(--muted);font-size:.78rem}.form-error,.form-success{padding:.75rem 1rem;border-left:4px solid #a82727;background:#fff0f0;color:#731d1d}.form-success{border-color:#237b57;background:#ecfaf4;color:#14553c}.qr-code{display:block;width:240px;height:240px;margin:1.5rem auto}.enrol-steps{padding-left:1.25rem}.compact-form{max-width:340px;margin-inline:auto}.recovery-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;list-style:none;padding:1rem;background:var(--mist);border-radius:.65rem}.recovery-list code{font-weight:750}.presentation-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:.8rem clamp(1rem,4vw,4rem);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.presentation-header img{width:220px;height:auto;display:block}.presentation-header>div{display:flex;gap:1.2rem;align-items:center;font-size:.74rem;color:var(--muted)}.toc-toggle,.toc button,.walk-actions button,.chapter-controls button{border:1px solid var(--navy);background:white;color:var(--navy);border-radius:.45rem;padding:.5rem .75rem;cursor:pointer;font-weight:700}.progress-rail{position:fixed;z-index:61;top:83px;left:0;width:100%;height:3px;background:transparent}.progress-rail span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--orange));transform-origin:left}.toc{width:min(420px,calc(100vw - 2rem));height:100vh;max-height:100vh;margin:0 0 0 auto;border:0;border-left:1px solid var(--line);padding:1.5rem;box-shadow:var(--shadow)}.toc::backdrop{background:rgba(0,31,53,.48)}.toc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.toc>a{display:grid;grid-template-columns:2rem 1fr;gap:.5rem;padding:.7rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy)}.toc>a span{color:var(--orange);font-weight:800}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);align-items:center;gap:4rem;padding:clamp(3rem,7vw,7rem) clamp(1.5rem,8vw,9rem);overflow:hidden}.hero-inner{max-width:820px}.hero-sub{font-size:clamp(1.25rem,2vw,1.7rem);color:var(--navy);font-weight:700}.hero-inner>p:not(.eyebrow):not(.hero-sub){font-size:1.15rem;max-width:65ch}.hero-flow{position:relative;height:420px}.hero-flow span{position:absolute;width:clamp(80px,10vw,145px);height:clamp(80px,10vw,145px);border:2px solid var(--cyan);border-radius:18px;background:var(--mist)}.hero-flow span:nth-child(1){left:0;top:15%}.hero-flow span:nth-child(2){left:34%;top:38%;border-color:var(--orange)}.hero-flow span:nth-child(3){left:68%;top:12%}.hero-flow span:nth-child(4){left:68%;top:66%;border-color:var(--orange)}.hero-flow:before,.hero-flow:after{content:"";position:absolute;left:15%;top:39%;width:65%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--orange),var(--cyan));transform:rotate(15deg);transform-origin:left}.hero-flow:after{top:58%;transform:rotate(-9deg)}.presentation-section{min-height:100vh;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,10vw,11rem);display:flex;align-items:center;border-top:1px solid var(--line);background:white}.presentation-section:nth-of-type(even){background:var(--mist)}.section-copy{width:min(100%,1120px);margin:0 auto}.section-number{font-size:.85rem;font-weight:900;color:var(--orange);letter-spacing:.16em}.lede{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.48;max-width:760px;color:var(--navy)}.section-copy>p:not(.lede):not(.section-number){max-width:75ch;font-size:1.02rem}.status{display:grid;grid-template-columns:minmax(110px,.25fr) 1fr;gap:1rem;margin:2rem 0;padding:1rem 1.2rem;border-top:2px solid var(--cyan);border-bottom:1px solid var(--line);background:white}.status span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.status strong{color:var(--navy)}.status-caution{border-top-color:var(--orange)}.status-positive{border-top-color:#18835a}.presenter-note{margin:1rem 0;max-width:760px}.presenter-note summary{cursor:pointer;font-weight:750;color:var(--link)}.matrix-wrap{overflow:auto;margin:2rem 0;border:1px solid var(--line);border-radius:.6rem;background:white}.matrix{width:100%;min-width:850px;border-collapse:collapse;font-size:.86rem}.matrix th{background:var(--navy);color:white;text-align:left}.matrix th,.matrix td{padding:.8rem .9rem;border:1px solid var(--line);vertical-align:top}.matrix tbody tr:nth-child(even){background:#f7fbfd}.journey{list-style:none;counter-reset:journey;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0;margin:2rem 0}.journey li{counter-increment:journey;background:white;border:1px solid var(--line);border-radius:.8rem;padding:1.15rem}.journey li:before{content:counter(journey,decimal-leading-zero);display:block;color:var(--orange);font-weight:900;font-size:.75rem;letter-spacing:.1em}.journey span{display:block;font-size:1.1rem;color:var(--navy);font-weight:800}.journey p{font-size:.9rem;line-height:1.5;margin:.4rem 0 0}.glossary{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem}.glossary>div{padding:1rem 0;border-bottom:1px solid var(--line)}.glossary dt{font-weight:800;color:var(--navy)}.glossary dd{margin:.25rem 0 0}.walkthrough-card{display:grid;grid-template-columns:minmax(260px,.8fr) 1fr;gap:1.5rem;align-items:center;margin:2.5rem 0;padding:1rem;background:var(--navy);color:white;border-radius:1rem;box-shadow:var(--shadow)}.walkthrough-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.6rem;background:#002946}.walkthrough-card h3{color:white;margin:.2rem 0}.walkthrough-card .eyebrow{color:#9adcf6}.walkthrough-card .text-link{color:white}.section-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line)}.section-nav a{max-width:45%;color:var(--link);font-weight:700}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem clamp(1.5rem,8vw,8rem);background:var(--navy);color:white}.site-footer img{width:220px;height:auto}.site-footer p{font-size:.78rem}.walk-page{--walk-bg:#002946;--walk-panel:#003459;--walk-text:#fff;--walk-muted:#b6d2df;--walk-node:#eff8fc;--walk-node-text:#102836;background:var(--walk-bg);color:var(--walk-text)}[data-walk-light] .walk-page{--walk-bg:#eff8fc;--walk-panel:#fff;--walk-text:#102836;--walk-muted:#456170;--walk-node:#fff;--walk-node-text:#102836}.walk-header{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.8rem 1.25rem;background:rgba(0,52,89,.97);border-bottom:1px solid rgba(255,255,255,.18);color:white}.walk-header img{width:220px;height:auto}.back-link{color:white;font-weight:750}.walk-actions{display:flex;justify-content:flex-end;gap:.4rem}.walk-actions button{background:transparent;border-color:rgba(255,255,255,.45);color:white}.walk-main{width:min(100%,1440px);margin:auto;padding:2rem clamp(1rem,3vw,3rem) 5rem}.walk-title{max-width:800px}.walk-title h1{font-size:clamp(2.2rem,5vw,4.6rem);color:var(--walk-text)}.walk-title p:not(.eyebrow){color:var(--walk-muted)}.chapter-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0}.chapter-controls button{background:transparent;border-color:var(--walk-muted);color:var(--walk-text)}.chapter-controls button.active{background:var(--orange);border-color:var(--orange);color:#102836}.chapter-note{min-height:3.5rem;color:var(--walk-muted);max-width:900px}.diagram-scroll{overflow:auto;border:1px solid rgba(154,220,246,.35);border-radius:1rem;background:var(--walk-panel);padding:1rem;box-shadow:var(--shadow)}.diagram-scroll svg{display:block;width:100%;min-width:940px;transition:width .15s}.diagram-scroll path{stroke:var(--cyan);stroke-width:2;fill:none}.diagram-scroll polygon{fill:var(--cyan)}.diagram-scroll [data-edge].is-inactive path{stroke:var(--orange);stroke-dasharray:8 7}.diagram-scroll [data-edge].is-inactive text{fill:var(--orange)}.diagram-scroll [data-edge] text{font:10px Inter,Arial,sans-serif;fill:var(--walk-muted);paint-order:stroke;stroke:var(--walk-panel);stroke-width:5px;stroke-linejoin:round}.diagram-scroll [data-node]{cursor:pointer;transition:opacity .16s}.diagram-scroll [data-node] rect{fill:var(--walk-node);stroke:var(--cyan);stroke-width:2}.diagram-scroll [data-node].kind-external rect,.diagram-scroll [data-node].kind-control rect{stroke:var(--orange)}.diagram-scroll [data-node].kind-data rect{stroke:#9adcf6}.diagram-scroll [data-node].kind-queue rect{stroke:var(--orange)}.diagram-scroll .node-title{font:700 13px Inter,Arial,sans-serif;fill:var(--walk-node-text)}.diagram-scroll .node-sub{font:10px Inter,Arial,sans-serif;fill:#456170}.diagram-scroll svg[data-focus] [data-node],.diagram-scroll svg[data-focus] [data-edge]{opacity:.12}.diagram-scroll svg[data-focus] .match{opacity:1}.diagram-scroll [data-node].active rect{stroke-width:5}.text-alternative{margin-top:2rem}.text-alternative h2{font-size:1.7rem;color:var(--walk-text)}.text-alternative details{padding:.7rem 0;border-bottom:1px solid rgba(154,220,246,.3)}.text-alternative summary{font-weight:750;cursor:pointer}.source-note{margin-top:2rem;color:var(--walk-muted);font-size:.85rem}.admin-main{width:min(1120px,calc(100% - 2rem));margin:4rem auto}.admin-main h1{font-size:clamp(2.5rem,6vw,5rem)}.admin-main section{margin:3rem 0}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem;background:var(--mist);border-radius:.75rem}.admin-form button{align-self:end}.inline-form{display:grid;grid-template-columns:1fr 100px auto;gap:.35rem;min-width:420px}.one-time{border:2px solid var(--orange);padding:1.5rem;border-radius:.75rem}.one-time code{font-size:1.2rem;font-weight:800}@media(max-width:900px){.presentation-header{align-items:flex-start;gap:.8rem;flex-direction:column}.presentation-header>div{width:100%;justify-content:space-between}.hero{grid-template-columns:1fr;min-height:auto}.hero-flow{height:220px}.journey{grid-template-columns:1fr 1fr}.walkthrough-card{grid-template-columns:1fr}.walk-header{grid-template-columns:1fr auto}.walk-header img{grid-row:1;grid-column:2;width:170px}.walk-actions{grid-column:1/-1;justify-content:flex-start;overflow:auto}.admin-form{grid-template-columns:1fr}}@media(max-width:620px){body{font-size:16px}.account{left:1rem;right:auto}.presentation-header img{width:220px}.presentation-header>div span{max-width:180px}.presentation-section{min-height:auto}.journey,.glossary{grid-template-columns:1fr}.status{grid-template-columns:1fr}.section-nav{flex-direction:column}.section-nav a{max-width:100%}.site-footer{align-items:flex-start;flex-direction:column}.recovery-list{grid-template-columns:1fr}.walk-header{position:relative}.walk-header img{width:150px}.diagram-scroll svg{min-width:760px}.admin-form{padding:1rem}.inline-form{min-width:380px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
