:root{color-scheme:dark;--ink:#101619;--paper:#f0eee6;--mint:#c4f5d0;--muted:#a8b2af}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#7e9887 #101619}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--mint);outline-offset:6px}#world{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 75% 45%,#294039 0,#101619 64%)}#world canvas{display:block;width:100%;height:100%;touch-action:pan-y}.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}header{position:fixed;z-index:10;top:0;left:0;width:100%;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:screen}.wordmark{font-size:39px;letter-spacing:-3px;font-weight:700;line-height:.85;display:flex;gap:7px;align-items:flex-start}.wordmark span{font-size:9px;letter-spacing:-.1px;font-weight:400;line-height:1.1;max-width:32px;margin-top:4px}.header-link{font-size:12px;border-bottom:1px solid #68766d;padding:9px 0}.header-link span{margin-left:20px;color:var(--mint)}.chapter{position:relative;min-height:125svh;display:flex;align-items:center;padding:140px 8%;pointer-events:none}.chapter a,.chapter button{pointer-events:auto}.copy{width:47%;max-width:660px;opacity:.1;transform:translateY(32px);transition:opacity .7s,transform .8s}.chapter.active .copy{opacity:1;transform:none}.hero{min-height:110svh}.hero .copy{width:62%;max-width:900px}.eyebrow{font-size:10px!important;letter-spacing:2px;line-height:1.6!important;color:var(--mint)!important;margin:0 0 30px!important}h1,h2{font-size:clamp(58px,7.6vw,118px);font-weight:400;line-height:.96;letter-spacing:-6px;margin:0 0 30px}h2{font-size:clamp(55px,6.4vw,100px);letter-spacing:-4px}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--mint);letter-spacing:-.065em}.copy>p{font-size:16px;line-height:1.8;color:#bbc5bf;max-width:370px}.intro{font-size:18px!important}.button{display:inline-flex;background:var(--mint);color:#14231c;min-height:54px;padding:18px 23px;border-radius:3px;align-items:center;gap:40px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#edffe9;transform:translateY(-3px)}.button span{font-size:20px;line-height:.8}.hero .button{margin-top:18px}.hero-note{margin-top:25px;font-size:10px;color:#a8b2af;letter-spacing:.3px}.status-dot{display:inline-block;background:var(--mint);width:5px;height:5px;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #b7fac8}.bottom-line{position:absolute;bottom:85px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#899a91}.object-label{position:absolute;right:12%;bottom:24%;font-size:8px;letter-spacing:2px;color:#9eafa5}.detail-line{display:flex;gap:20px;margin:35px 0 25px;font-size:9px;letter-spacing:1px;color:var(--mint)}.concept,.terms{display:block;font-size:9px;line-height:1.8;color:#8b9b92;letter-spacing:.8px}.pill{display:flex;justify-content:space-between;width:230px;border-bottom:1px solid #62776b;padding:18px 0;font-size:10px;letter-spacing:1px;color:var(--mint)}.project-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:30px 0}.project-tabs button{border:1px solid #596a60;background:#101d19aa;border-radius:20px;padding:10px 13px;font-size:10px}.project-tabs .active{background:var(--mint);color:#14231c;border-color:var(--mint)}.project-caption{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.project-caption strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.project-caption span{font-size:12px;color:var(--muted)}.language-toggle{display:flex;gap:30px;align-items:center;border:1px solid #748b7d;border-radius:30px;padding:13px 25px;background:#17302799;margin-top:25px}.language-toggle i{color:var(--mint);font-style:normal}.package-list{margin:25px 0;width:100%;max-width:370px}.package-list a{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #5c6e6266}.package-list a>span{font-family:Georgia,serif;font-size:23px}.package-list small{font:9px Arial;display:block;color:var(--muted);margin-top:5px}.package-list strong{font-size:28px;font-weight:400;letter-spacing:-1px}.package-list strong small{display:inline;font-size:9px;letter-spacing:0}.terms{letter-spacing:0;max-width:350px}.finale{min-height:125svh;padding-bottom:210px}.finale .copy{width:60%}.launch{margin:25px 0}.launch>span{font-size:8px;letter-spacing:2px;color:var(--mint)}.launch strong{display:block;font-size:38px;letter-spacing:-1.6px;margin:10px 0}.launch strong em{font:italic 24px Georgia;color:var(--mint)}.launch p{font-size:11px;color:#abbcaf}.contact-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:21px;margin:22px 0}.social{font-size:11px;border-bottom:1px solid #607667;padding-bottom:8px}footer{position:absolute;bottom:80px;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:8px;line-height:1.9;letter-spacing:1px;color:#8e9f95}footer>a:last-child{font-size:10px}.rail{position:fixed;right:25px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:10}.rail a{width:4px;height:4px;border-radius:50%;background:#67776e;transition:all .4s}.rail a.active{background:var(--mint);box-shadow:0 0 12px #c4f5d0;transform:scale(1.7)}.journey-status{position:fixed;bottom:0;left:0;right:0;padding:15px 5%;display:flex;gap:18px;align-items:center;background:linear-gradient(transparent,#101619e8);z-index:8;font-size:9px;letter-spacing:1px;color:#b0c2b6}.journey-status>span:first-child{color:var(--mint)}.journey-status button{background:none;border:1px solid #536a5c;border-radius:20px;padding:6px 10px;font-size:10px}.journey-status #motion-toggle{margin-left:auto}#loader{position:fixed;inset:0;background:#101619;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s}#loader.done{opacity:0;visibility:hidden}.load-logo{font-size:80px;font-weight:700;letter-spacing:-7px}.load-logo span{font-size:16px;vertical-align:top;letter-spacing:0}#loader p{font:italic 20px Georgia;color:var(--mint);margin:20px}.load-track{width:180px;height:1px;background:#304738;margin:35px 0 15px}.load-track i{display:block;width:0;height:100%;background:var(--mint);transition:width .3s}#loader small{font-size:9px;color:#a0b0a5;letter-spacing:1px}.word{display:inline-block;opacity:0;transform:translateY(28px) rotate(2deg);transition:opacity .65s,transform .8s;transition-delay:calc(var(--i)*65ms)}.active .word{opacity:1;transform:none}#fallback-note{position:fixed;bottom:55px;left:5%;font-size:10px;color:#aabaae;max-width:260px;z-index:9}.fallback #world{background:radial-gradient(ellipse at 85% 40%,#365443,#101619 65%)}.fallback .chapter{border-bottom:1px solid #38524455}.fallback .copy{opacity:1;transform:none}.fallback .word{opacity:1;transform:none}@media(max-width:700px){header{padding:25px 6%}.wordmark{font-size:34px}.header-link{font-size:10px}.header-link span{margin-left:8px}.chapter{min-height:140svh;padding:110px 7% 48svh;align-items:flex-start}.hero{min-height:115svh;padding-top:145px}.copy,.hero .copy,.finale .copy{width:100%;max-width:100%}h1{font-size:clamp(49px,12.7vw,84px);letter-spacing:-3.7px}h2{font-size:clamp(48px,12.2vw,74px);letter-spacing:-3px}.eyebrow{font-size:8px!important;letter-spacing:1.7px;margin-bottom:22px!important}.copy>p{font-size:13px;line-height:1.7;max-width:300px}.intro{font-size:14px!important}.hero .button{margin-top:10px}.hero-note{font-size:9px}.object-label{bottom:19%;right:9%;font-size:7px}.bottom-line{left:7%;right:7%;bottom:75px;font-size:7px;letter-spacing:1px}.bottom-line span:first-child{max-width:130px;line-height:1.8}.rail{right:11px;gap:13px}.rail a{width:3px;height:3px}.journey-status{padding:13px 6%;font-size:7px;gap:12px}.project-tabs{gap:5px;margin:20px 0}.project-tabs button{font-size:9px;padding:9px 11px}.project-caption{margin-bottom:14px}.concept{font-size:7px}.language-toggle{margin-top:18px}.package-list{margin:18px 0;max-width:330px}.package-list a{padding:12px 0}.package-list a>span{font-size:21px}.package-list strong{font-size:24px}.packages-chapter{min-height:155svh}.finale{min-height:145svh;padding-bottom:60svh}.launch strong{font-size:33px}.launch{margin:20px 0}footer{bottom:75px;left:7%;right:7%;flex-wrap:wrap}footer>span{font-size:7px}footer>a:last-child{width:100%;font-size:9px}.terms{font-size:8px}.detail-line{font-size:8px;gap:18px;margin:24px 0}.button{min-height:49px;font-size:11px;padding:16px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.word{opacity:1;transform:none}.copy{transform:none}}

/* Mobile chapters reserve a ~55svh scene slot directly below the copy; the 3D world scrolls with it. */
@media(max-width:700px){
  header{position:absolute}
  .chapter{min-height:0;padding:84px 7% calc(55svh + 26px)}
  .hero{min-height:100svh;padding:100px 7% 0}
  .packages-chapter{min-height:0;padding-bottom:calc(40svh + 26px)}
  .gallery-chapter{padding-bottom:calc(46svh + 26px)}
  .finale{min-height:0;padding-bottom:calc(40svh + 196px)}
  .finale footer{bottom:64px;min-height:95px;align-content:start}
  .bottom-line,.object-label{display:none}
  .journey-status{padding-bottom:max(13px,env(safe-area-inset-bottom))}
  .copy>p{margin:0 0 14px}
  h1,h2{margin-bottom:20px}
}
@media(min-width:701px){.finale{padding-bottom:250px}.finale footer{bottom:85px}}
#world:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 55%,#0a0f1155 100%)}
