:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#29483f;background:#dce6dd;font-synthesis:none;--ink:#29483f;--muted:#698077;--paper:#f7f7ec}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #567e62;outline-offset:7px}button{border:0}a{color:inherit;text-decoration:none}#world,.vignette{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(233,238,221,.54),transparent 57%),linear-gradient(0deg,rgba(236,239,223,.72),transparent 18%);z-index:1}.header{position:fixed;z-index:10;left:4.8%;right:4.8%;top:34px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:750;letter-spacing:-1.4px}.brand>span:first-child{font-weight:350}.brand-dot{display:inline-block;vertical-align:top;font-size:10px;margin:4px 0 0 5px;letter-spacing:0}.header-caption{font-size:9px;letter-spacing:2.5px;margin-left:10px;opacity:.65}.index-toggle{background:rgba(252,252,238,.35);padding:13px 18px;display:flex;align-items:center;gap:22px;border:1px solid #516e4b22;border-radius:25px;font-size:11px;backdrop-filter:blur(12px)}.menu-icon{display:grid;gap:4px;width:16px}.menu-icon i{height:1px;background:currentColor;width:16px}.menu-icon i:last-child{width:11px;justify-self:end}.story{position:fixed;z-index:3;left:8.1%;top:25%;width:40%;max-width:590px;transition:opacity .35s,transform .35s}.eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;font-weight:550;letter-spacing:2.3px}.tiny-line{height:1px;width:25px;background:#557566}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(50px,5.8vw,92px);line-height:1.06;font-weight:400;letter-spacing:-4.5px;margin:24px 0 22px}h1 em,h2 em{font-weight:400;color:#5a7f69}p{line-height:1.8}.intro-description{font-size:12px;line-height:1.85;color:#60776b;letter-spacing:.1px}.app-summary{margin-top:29px;display:flex;gap:12px;align-items:center}.app-icon{background:#faf9e4;border:1px solid #ffffff90;box-shadow:0 5px 18px #48563b10;width:41px;height:41px;border-radius:12px;display:grid;place-items:center;font-size:25px}.app-name-row{display:flex;gap:12px;align-items:center}.app-name-row strong{font-size:13px;font-weight:600}.status{font-size:8px;background:#e9eddc88;border:1px solid #65775325;border-radius:12px;padding:4px 7px;color:#6d8066}.status::before{content:'';display:inline-block;background:#99a87d;width:4px;height:4px;border-radius:50%;margin-right:5px}.device-label{display:block;font-size:9px;letter-spacing:.2px;color:#758575;margin-top:6px}.discover{background:transparent;margin-top:23px;padding:0 0 8px;border-bottom:1px solid #47665066;font-size:11px;display:flex;gap:35px;align-items:center}.discover span{font-size:18px;transition:transform .2s}.discover:hover span{transform:translate(3px,-3px)}#app-copy h2{font:400 clamp(52px,6.1vw,94px)/1.08 Georgia,serif;letter-spacing:-4px;margin:30px 0 22px}#app-tagline{font:400 clamp(22px,2.4vw,36px)/1.35 Georgia,serif;max-width:380px;color:#5b7666}.world-caption{position:fixed;z-index:2;right:8%;bottom:19%;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:2px;color:#647d69}.caption-line{width:25px;height:1px;background:#79937d80}.footer{position:fixed;z-index:10;bottom:30px;left:4.8%;right:4.8%;display:flex;justify-content:space-between;align-items:center}.scroll-hint{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2px;background:transparent;padding:0}.scroll-symbol{display:grid;place-items:center;width:27px;height:37px;border:1px solid #78907866;border-radius:20px;font-size:15px;animation:breathe 3s ease-in-out infinite}#steps{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;max-width:38vw;overflow:auto;scrollbar-width:none;padding:10px}#steps button{padding:10px 5px;background:transparent;position:relative}#steps button::before{content:'';display:block;width:5px;height:5px;background:#72907865;border-radius:10px;transition:width .5s,background .5s}#steps button[aria-current=true]::before{width:32px;background:#456a56}.journey-count{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px}.journey-count>span:last-child{opacity:.45}.count-divider{width:36px;height:1px;background:#536e4f50}#loading{position:fixed;inset:0;z-index:30;background:#e7eadc;display:flex;justify-content:center;align-items:center;gap:15px;font-size:12px;letter-spacing:1px;transition:opacity .65s}#loading.done{opacity:0;pointer-events:none}.loading-flower{font-size:34px;animation:spin 7s linear infinite}.catalog{position:fixed;z-index:20;right:18px;top:18px;bottom:18px;width:min(430px,calc(100% - 36px));padding:30px;background:#f6f7edec;backdrop-filter:blur(24px);border:1px solid white;border-radius:18px;box-shadow:0 25px 90px #243f3520;transform:translateX(calc(100% + 30px));transition:transform .6s cubic-bezier(.22,1,.36,1);overflow:auto}.catalog.open{transform:translateX(0)}.catalog-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.8px}.catalog-heading button,.dialog-close{background:transparent;font-size:28px;font-weight:200;padding:0 5px}.catalog h2{font:400 42px/1.1 Georgia,serif;letter-spacing:-1.5px;margin:35px 0}.catalog nav{display:grid}.catalog nav button{display:flex;align-items:center;text-align:left;gap:17px;background:transparent;border-top:1px solid #54745622;padding:20px 0}.catalog nav button:hover{color:#8b8d52}.catalog .nav-number{font-size:10px;opacity:.45}.catalog .nav-title{font:23px Georgia,serif;flex:1}.catalog .nav-device{font-size:9px;opacity:.55}.catalog>p{font-size:10px;opacity:.6;margin-top:25px}dialog{border:1px solid #ffffffb0;color:var(--ink);border-radius:22px;background:#f5f6eefa;box-shadow:0 30px 150px #1c413640;width:min(530px,calc(100% - 32px));padding:45px;max-height:85vh}dialog::backdrop{background:#233a3445;backdrop-filter:blur(10px)}.dialog-close{position:absolute;top:17px;right:20px}dialog h2{font:52px Georgia,serif;letter-spacing:-2px;margin:25px 0 15px}#detail-tagline{font:24px/1.3 Georgia,serif;color:#72846c}#detail-description{font-size:13px;color:#687b70}#detail-tech{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0}#detail-tech span{font-size:10px;padding:7px 10px;border:1px solid #56725c33;border-radius:20px}#detail-link{font-size:12px;border-bottom:1px solid;padding-bottom:6px}.demo-note{font-size:9px;opacity:.5;margin-top:30px}#fallback,.no-js{position:fixed;inset:20% 10%;z-index:25;background:#f3f3e5;padding:35px;border-radius:20px}#fallback button{padding:12px 20px;background:#dce4d2;border-radius:20px}.no-js{z-index:40}body.modal-open{overflow:hidden}@keyframes breathe{50%{transform:translateY(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.story{top:26%}}@media(max-height:720px) and (min-width:901px){.story{top:20%}h1{font-size:64px;margin:15px 0}.app-summary{margin-top:18px}.discover{margin-top:14px}}@media(max-width:900px){.header{top:23px;left:6%;right:6%}.brand{font-size:23px}.header-caption{display:none}.index-toggle{padding:10px 14px;gap:13px;font-size:10px}.story{left:7%;top:auto;bottom:105px;width:86%;max-width:none;pointer-events:none}.story button{pointer-events:auto}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:46px;letter-spacing:-2px;line-height:1.02;margin:15px 0 10px}h1 br:first-child{display:initial}h1 br:first-child::after{content:' '}.intro-description{font-size:10px;line-height:1.6;margin:0}.app-summary{margin-top:14px}.app-icon{width:32px;height:32px;border-radius:9px;font-size:21px}.app-name-row strong{font-size:12px}.device-label{font-size:8px;margin-top:3px}.status{font-size:7px}.discover{position:absolute;bottom:4px;right:0;font-size:10px;gap:15px;margin:0}.world-caption{display:none}.footer{left:7%;right:7%;bottom:24px}.scroll-hint{font-size:9px;gap:8px}.scroll-symbol{width:22px;height:30px}#steps{bottom:43px;max-width:90vw;gap:3px}.journey-count{font-size:9px;gap:8px}.count-divider{width:20px}.vignette{background:linear-gradient(0deg,#e6ebde 0%,#e6ebdeeb 18%,#e6ebde88 32%,transparent 58%)}#app-copy h2{font-size:49px;letter-spacing:-2px;margin:15px 0 8px}#app-tagline{font-size:21px;line-height:1.25;max-width:90%;margin:0 0 20px}dialog{padding:35px 25px}.catalog{padding:25px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

@media(min-width:701px) and (max-width:900px){.story{bottom:125px;left:8%;width:84%}h1{font-size:62px}.intro-description{font-size:12px}.app-summary{margin-top:22px}.discover{right:14%;font-size:12px}#app-copy h2{font-size:68px}#app-tagline{font-size:27px;max-width:65%}.header-caption{display:block;font-size:8px}.footer{bottom:35px}#steps{bottom:0}}

@media(max-width:900px) and (max-height:540px) and (orientation:landscape){.header{top:15px}.story{top:23%;bottom:auto;left:7%;width:43%}h1{font-size:35px;margin:10px 0}.intro-description{display:none}.app-summary{margin-top:13px}.discover{position:static;margin-top:12px;width:max-content}.footer{bottom:16px}.header-caption{display:none}#steps{bottom:0;max-width:30vw}#app-copy h2{font-size:42px;margin:12px 0}#app-tagline{font-size:18px;margin:0 0 12px}.vignette{background:linear-gradient(90deg,#e6ebde88,transparent 65%)}.world-caption{display:none}}

/* V2 is opt-in after its assets have loaded. All V1 styles remain the fallback. */
body.cinematic{background:#1f293c}
.cinematic .header,.cinematic .story,.cinematic .footer{color:#fff5e8}
.cinematic .vignette{background:linear-gradient(90deg,rgba(13,23,41,.65),rgba(13,23,41,.22) 28%,transparent 53%),linear-gradient(0deg,rgba(13,23,41,.7),transparent 18%),linear-gradient(180deg,rgba(18,25,42,.3),transparent 16%)}
.cinematic .brand{font-weight:460;font-size:29px;letter-spacing:-1.2px}
.cinematic .header-caption{opacity:.85;letter-spacing:3.3px;text-shadow:0 1px 10px #162036}
.cinematic .index-toggle{background:#1a233835;border-color:#fff2dd44;color:#fff5e9}
.cinematic .story{top:25%;left:7%;width:36%;text-shadow:0 2px 22px #17243b50}
.cinematic h1{font-size:clamp(48px,5.1vw,78px);letter-spacing:-3px;line-height:1.04;font-weight:400}
.cinematic h1 em{color:#ffd5aa}
.cinematic .eyebrow{color:#f8d4af;letter-spacing:2.4px}
.cinematic .tiny-line,.cinematic .caption-line{background:#e7bd8f}
.cinematic .intro-description{color:#ece2df;font-size:12px;line-height:1.9}
.cinematic .app-summary{margin-top:27px}
.cinematic .app-icon{color:#35463d;text-shadow:none;box-shadow:0 6px 25px #0004}
.cinematic .status{background:#d6a26526;color:#f8d7ac;border-color:#ffdaae45}
.cinematic .status::before{background:#ffd499;box-shadow:0 0 8px #ffc27e}
.cinematic .device-label{color:#e2dce0}
.cinematic .discover{border-color:#f0c69985;color:#fff1dc;font-size:12px}
.cinematic #app-copy h2{font-size:clamp(46px,5.7vw,80px)}
.cinematic #app-tagline{color:#ecd9ce;font-size:clamp(22px,2.4vw,32px)}
.cinematic .world-caption{color:#ffe7c5;text-shadow:0 1px 9px #1a294e;bottom:17%}
.cinematic .scroll-symbol{border-color:#fff0d377}
.cinematic #steps button::before{background:#eee2d57a}
.cinematic #steps button[aria-current=true]::before{background:#f7c38b;box-shadow:0 0 12px #f4b47366}
.cinematic .count-divider{background:#ffe6bf66}
.cinematic .journey-count>span:last-child{opacity:.7}
.cinematic button:focus-visible,.cinematic a:focus-visible{outline-color:#ffc380}
@media(max-width:900px){
 .cinematic .header .brand{font-size:25px}
 .cinematic .story{top:auto;bottom:108px;left:7%;width:86%}
 .cinematic h1{font-size:43px;letter-spacing:-1.8px;line-height:1.02;margin:15px 0 11px}
 .cinematic .intro-description{font-size:10px;line-height:1.65}
 .cinematic .app-summary{margin-top:15px}
 .cinematic .discover{font-size:10px}
 .cinematic #app-copy h2{font-size:48px}
 .cinematic #app-tagline{font-size:21px;max-width:90%}
 .cinematic .vignette{background:linear-gradient(0deg,#152137f5 0%,#19283bdd 17%,#1a293e99 30%,transparent 60%),linear-gradient(180deg,#14213b44,transparent 15%)}
}
@media(min-width:701px) and (max-width:900px){.cinematic .story{bottom:125px;left:8%;width:84%}.cinematic h1{font-size:59px}.cinematic #app-copy h2{font-size:65px}.cinematic #app-tagline{font-size:27px;max-width:65%}}
@media(max-height:720px) and (min-width:901px){.cinematic .story{top:20%}.cinematic h1{font-size:57px}.cinematic .app-summary{margin-top:15px}}
@media(max-width:900px) and (max-height:540px) and (orientation:landscape){.cinematic .story{top:23%;bottom:auto;width:43%}.cinematic h1{font-size:35px;margin:10px 0}.cinematic .app-summary{margin-top:13px}.cinematic #app-copy h2{font-size:42px}.cinematic #app-tagline{font-size:18px}.cinematic .vignette{background:linear-gradient(90deg,#142138bb,transparent 65%)}}
