:root{--navy:#1c2458;--teal:#4eb2b8;--paper:#f4f5f7;--pale:#eef6f6;--darkteal:#246d75;--ink:#fff;--quiet:#56617c;font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;color:var(--navy);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button.text-link{border:0;background:none;padding:10px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:500;min-height:44px}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;background:#fff;padding:14px}.skip-link:focus{top:15px}
.site-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 3.2vw;color:var(--navy);background:rgba(244,245,247,.72);-webkit-backdrop-filter:blur(16px) saturate(1.08);backdrop-filter:blur(16px) saturate(1.08);border-bottom:1px solid rgba(28,36,88,.10)}.brand{display:block;line-height:0;background:none;border:0;padding:0}.brand img{width:139px;height:auto}.header-nav{display:flex;gap:18px;margin-left:auto;align-items:center}.header-nav a,.header-nav button.text-link{font-size:12.5px;text-decoration:none;padding:12px 0;white-space:nowrap}.header-nav a:hover,.header-nav button:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:12px 21px;background:var(--navy,#1c2458);border:1px solid var(--navy,#1c2458);color:#fff;text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.005em;border-radius:2px}.button:link,.button:visited,.button:hover,.button:focus{color:#fff}.button:hover{background:#303d7b}.button .arrow{font-size:20px;font-weight:400}.site-header>.button{font-size:12px;min-height:44px;padding:10px 16px}
h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.03;margin:0;font-size:clamp(42px,6vw,88px)}h2{font-size:clamp(38px,5.5vw,80px)}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}.line{display:block}.line>span{display:block}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 20px;line-height:1.4}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:23px;height:2px;background:var(--teal);margin-right:12px}.body-copy{font-size:16px;line-height:1.6;max-width:39ch;margin:20px 0 18px}.proof{font-size:12px;line-height:1.5;margin:16px 0 0}.scene-footer{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:20px;align-items:center}.scene-footer a,.scene-footer button.text-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.scene-footer a{text-underline-offset:4px}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Semantic still-image layout is also the reduced-motion and no-script page. */
.world-stage,.world-controls,.scroll-hint,.progress{display:none}.scene{padding:40px max(6vw,22px) 70px;scroll-margin-top:100px}.scene-image{width:100%;height:auto;max-height:65vh;object-fit:cover;display:block;margin-bottom:34px}.copy{max-width:1050px;margin:0 auto}.scene-detail{max-width:470px}.scene-conversation .scene-detail{max-width:600px}.motion-note,.noscript-note{padding:12px max(6vw,22px);font-size:14px;line-height:1.5}.motion-note{display:block}#decoders{display:none}
/* The canvas remains untouched; stage-wide gradients reserve readable edges. */
.enhanced .site-header{position:fixed;inset:0 0 auto;color:var(--navy)}.enhanced .world-stage{display:block;position:fixed;inset:0;z-index:0;background:var(--paper);pointer-events:none}.world-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,19,43,.64) 0,rgba(12,19,43,.18) 37%,transparent 55%,rgba(12,19,43,.50) 100%)}#film,#poster{position:absolute;inset:0;width:100%;height:100%;display:block}#poster{object-fit:cover;object-position:50% 50%;background:var(--paper)}#film{opacity:0;transition:opacity .22s ease}#film.has-frame{opacity:1}.enhanced #world{position:relative;z-index:2}.enhanced .scene{position:absolute;left:0;width:100%;height:100vh;padding:0;scroll-margin-top:0;pointer-events:none}.enhanced .scene-image{display:none}.enhanced .copy{position:fixed;inset:0;max-width:none;margin:0;color:var(--ink);visibility:hidden;pointer-events:none;overflow:hidden}.enhanced .composition{position:absolute;inset:0;transform:translateY(calc(var(--section-offset,0) * 100%))}.enhanced .scene.is-presenting .copy{visibility:visible}.enhanced .scene.is-presenting .copy a,.enhanced .scene.is-presenting .copy button{pointer-events:auto}.enhanced .scene-heading,.enhanced .scene-detail{position:absolute;text-shadow:0 2px 24px rgba(6,12,32,.2)}.enhanced .line{overflow:hidden;padding:0 5px 24px;margin:0 -5px -24px}.enhanced .scene-detail .button{text-shadow:none}.enhanced .motion-note{display:none}
.enhanced .scene-community .scene-heading{top:clamp(128px,17vh,210px);left:12%;right:12%;text-align:center}.enhanced .scene-community h1{font-size:clamp(58px,6.8vw,108px)}.enhanced .scene-community .scene-detail{left:50%;bottom:17vh;transform:translateX(-50%);text-align:center;max-width:500px;width:90%}.enhanced .scene-community .body-copy{max-width:39ch;margin:0 auto 21px}.enhanced .scene-community .proof{margin-top:15px}
.enhanced .scene-everyday .scene-heading{top:18vh;left:6%;max-width:58%;transform-origin:0 0}.enhanced .scene-everyday .scene-detail{right:6%;bottom:19vh;width:350px;max-width:32%}.enhanced .scene-everyday .body-copy{margin-top:0}
.enhanced .scene-records .scene-heading{top:16vh;right:19%;text-align:right;max-width:65%;transform-origin:100% 0}.enhanced .scene-records .scene-detail{left:6%;bottom:18vh;width:365px;max-width:34%}.enhanced .scene-records .body-copy{margin-top:0}
.enhanced .scene-enforcement .scene-heading{top:19vh;left:6%;max-width:86%;transform-origin:0 0}.enhanced .scene-enforcement h2{font-size:clamp(64px,8vw,124px)}.enhanced .scene-enforcement .secondary-line{font-size:.49em;letter-spacing:-.04em;margin-top:13px}.enhanced .scene-enforcement .scene-detail{right:6%;bottom:18vh;width:350px;max-width:34%}.enhanced .scene-enforcement .body-copy{margin-top:0}
.enhanced .scene-conversation .scene-heading{top:19vh;left:10%;right:10%;text-align:center}.enhanced .scene-conversation .scene-detail{left:50%;top:53vh;width:600px;max-width:80%;text-align:center;transform:translateX(-50%)}.enhanced .scene-conversation .body-copy{margin:0 auto 24px;max-width:43ch}.enhanced .scene-conversation .scene-footer{justify-content:center}
/* Route navigation remains stable while each story beat changes position. */
.enhanced .world-controls{position:fixed;z-index:20;left:3.2vw;right:3.2vw;bottom:18px;display:flex;align-items:center;gap:25px;color:var(--ink)}.route-nav{display:flex;align-items:center;gap:26px}.route-nav a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px;text-decoration:none;opacity:.68}.route-nav a[aria-current]{opacity:1}.route-nav .number{font-size:10px;letter-spacing:.08em}.route-nav a[aria-current] .number{color:var(--teal)}.route-nav .label{position:relative}.route-nav a[aria-current] .label:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--teal)}.imagery-link{font:inherit;font-size:11px;min-height:44px;border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;margin-left:auto;white-space:nowrap}.scene-count{font-size:11px;letter-spacing:.1em;white-space:nowrap}.enhanced .progress{display:block;position:fixed;z-index:31;inset:auto 0 0;height:2px;background:#ffffff25}.progress span{display:block;height:100%;background:var(--teal);transform-origin:0 50%;transform:scaleX(0)}.enhanced .scroll-hint{display:block;position:fixed;z-index:15;right:3.2vw;top:49%;font-size:11px;letter-spacing:.035em;color:var(--ink);writing-mode:vertical-rl}.scroll-hint span{margin-top:15px}.scroll-hint.is-hidden{display:none}#film-status{position:fixed;z-index:35;top:94px;right:24px;font-size:13px;max-width:310px;background:var(--paper);color:var(--navy);margin:0}#film-status:not(:empty){padding:12px 16px}#retry-film{position:fixed;top:165px;right:24px;z-index:35;min-height:44px;padding:10px 18px;border:1px solid var(--navy);background:white;font-size:13px}
/* Dialogs retain readable, opaque surfaces independent of the film. */
dialog{border:0;background:var(--paper);color:var(--navy);padding:48px;width:min(640px,calc(100vw - 36px));max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 24px 100px #0004}dialog::backdrop{background:#0d163c99}dialog h2{font-size:36px;line-height:1.1;max-width:95%;letter-spacing:-.045em}dialog h3{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.015em;margin:28px 0 10px;color:var(--navy)}dialog h3:before{content:"";display:inline-block;vertical-align:middle;width:18px;height:2px;background:var(--teal);margin-right:10px}dialog p{font-size:16px;line-height:1.65}dialog .eyebrow{font-size:11px;line-height:1.4}.close-dialog{position:absolute;right:12px;top:10px;border:0;background:none;font-size:30px;line-height:1;width:44px;height:44px}.details-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.details-links button.text-link{font-size:16px}
@media(max-width:1050px){.header-nav{gap:20px}.route-nav{gap:18px}.route-nav .number{display:none}.enhanced .scene-everyday .scene-detail,.enhanced .scene-enforcement .scene-detail{max-width:39%}.enhanced .scene-records .scene-detail{max-width:39%}.enhanced .scene-community h1{font-size:8vw}}
/* Portrait matches the desktop intent: one full-bleed cover scene (still + film) with the copy overlaid on the legibility gradient. */
@media(max-width:760px) and (orientation:portrait){
 .site-header,.enhanced .site-header{height:76px;padding:10px 18px;gap:12px;color:var(--navy);background:rgba(244,245,247,.82);-webkit-backdrop-filter:blur(14px) saturate(1.06);backdrop-filter:blur(14px) saturate(1.06)}.brand{padding:0;background:none;border:0}.brand img{width:106px}.header-nav{display:none}.site-header>.button{font-size:11px;line-height:1.3;min-height:43px;padding:8px 11px;max-width:192px;gap:7px}.site-header>.button .arrow{font-size:17px}
 .world-stage:after{background:linear-gradient(180deg,rgba(12,19,43,.66) 0,rgba(12,19,43,.26) 30%,rgba(12,19,43,.30) 52%,rgba(12,19,43,.76) 100%)}
 .enhanced .copy{color:var(--ink)}.enhanced .scene-heading,.enhanced .scene-detail{text-shadow:0 1px 2px rgba(6,12,32,.4),0 2px 24px rgba(6,12,32,.45)}
 .enhanced .scene-heading,.enhanced .scene-community .scene-heading,.enhanced .scene-everyday .scene-heading,.enhanced .scene-records .scene-heading,.enhanced .scene-enforcement .scene-heading,.enhanced .scene-conversation .scene-heading{position:absolute;top:calc(76px + 5vh);left:22px;right:22px;bottom:auto;width:auto;max-width:none;text-align:left;transform:none}
 .enhanced .scene-detail,.enhanced .scene-community .scene-detail,.enhanced .scene-everyday .scene-detail,.enhanced .scene-records .scene-detail,.enhanced .scene-enforcement .scene-detail,.enhanced .scene-conversation .scene-detail{position:absolute;top:auto;left:22px;right:22px;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;max-width:none;text-align:left;transform:none}
 h1,h2,.enhanced .scene-community h1,.enhanced h2,.enhanced .scene-enforcement h2{font-size:36px;line-height:1.02;letter-spacing:-.055em}.enhanced .scene-enforcement .secondary-line{font-size:.78em;margin-top:7px;line-height:1.08}.enhanced .line{padding-bottom:12px;margin-bottom:-12px}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:11px;line-height:1.4}.eyebrow:before{width:17px;margin-right:8px}.body-copy,.enhanced .scene-community .body-copy,.enhanced .scene-conversation .body-copy{font-size:16px;line-height:1.43;max-width:none;margin:0 0 13px}.enhanced .scene-everyday .body-copy,.enhanced .scene-records .body-copy,.enhanced .scene-enforcement .body-copy{margin-top:0}.proof,.enhanced .scene-community .proof{font-size:11px;margin:11px 0 0}.copy .button{font-size:13px;min-height:46px;padding:10px 15px}.scene-footer,.enhanced .scene-conversation .scene-footer{justify-content:flex-start;flex-wrap:wrap;gap:0 14px;margin-top:10px}.scene-footer a,.scene-footer button.text-link{font-size:11px;min-height:34px}
 .enhanced .world-controls{left:22px;right:22px;bottom:calc(9px + env(safe-area-inset-bottom));gap:14px;color:var(--ink)}.route-nav{gap:11px}.route-nav a{min-width:28px;min-height:44px;justify-content:center}.route-nav .number{display:inline;font-size:11px}.route-nav .label{display:none}.route-nav a[aria-current] .number{color:var(--ink);border-bottom:2px solid var(--teal);padding:7px 0}.imagery-link{font-size:10px;min-height:44px;padding:8px 0}.scene-count{display:none}.enhanced .scroll-hint{display:none}
 .scene{padding:25px 22px 40px}.scene-image{margin-bottom:25px}.body-copy{margin:15px 0 13px}dialog{padding:42px 24px 26px}dialog h2{font-size:32px}
}
@media(max-width:760px) and (max-height:700px) and (orientation:portrait){.enhanced .scene-heading,.enhanced .scene-community .scene-heading,.enhanced .scene-everyday .scene-heading,.enhanced .scene-records .scene-heading,.enhanced .scene-enforcement .scene-heading,.enhanced .scene-conversation .scene-heading{top:calc(76px + 3vh)}h1,h2,.enhanced .scene-community h1,.enhanced h2,.enhanced .scene-enforcement h2{font-size:34px}.enhanced .scene-community .eyebrow,.enhanced .scene-conversation .eyebrow{display:none}.enhanced .scene-community .body-copy,.enhanced .scene-conversation .body-copy{margin:0 0 13px}.scene-footer,.enhanced .scene-conversation .scene-footer{gap:0 12px;margin-top:8px}.scene-footer a,.scene-footer button.text-link{font-size:10px}.enhanced .scene-conversation .scene-footer a:last-child{margin-right:0}}
@media(max-height:550px) and (orientation:landscape){.site-header{padding:9px 3vw;gap:20px}.brand{padding:7px 10px}.brand img{width:104px}.header-nav{gap:18px}.site-header>.button{min-height:38px;font-size:11px}.enhanced h1,.enhanced h2,.enhanced .scene-community h1,.enhanced .scene-enforcement h2{font-size:clamp(34px,5vw,54px)}.enhanced .scene-heading,.enhanced .scene-community .scene-heading,.enhanced .scene-everyday .scene-heading,.enhanced .scene-records .scene-heading,.enhanced .scene-enforcement .scene-heading,.enhanced .scene-conversation .scene-heading{top:25vh;left:5%;right:auto;width:47%;max-width:none;text-align:left}.enhanced .scene-detail,.enhanced .scene-community .scene-detail,.enhanced .scene-everyday .scene-detail,.enhanced .scene-records .scene-detail,.enhanced .scene-enforcement .scene-detail,.enhanced .scene-conversation .scene-detail{top:26vh;right:5%;left:auto;bottom:auto;width:39%;max-width:none;transform:none;text-align:left}.enhanced .body-copy,.enhanced .scene-community .body-copy,.enhanced .scene-conversation .body-copy{font-size:15px;line-height:1.4;margin:0 0 12px}.eyebrow{font-size:9px;margin-bottom:10px}.copy .button{font-size:12px;min-height:42px;padding:9px 12px}.proof{font-size:10px;margin-top:9px}.scene-footer,.enhanced .scene-conversation .scene-footer{justify-content:flex-start;gap:0 14px;margin-top:8px}.scene-footer a,.scene-footer button.text-link{min-height:30px;font-size:10px}.enhanced .world-controls{bottom:6px;gap:15px}.route-nav{gap:18px}.route-nav a{font-size:10px;min-height:35px}.imagery-link{font-size:10px;min-height:35px}.scene-count{display:none}.enhanced .scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scene{min-height:auto}.motion-note{display:block}}

@media(max-width:1200px){.header-nav{display:none}}
