@font-face{font-family:Space;src:url('assets/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{font-family:Space,Arial,sans-serif;color:#f5f4ef;background:#08090b;font-synthesis:none;--pad:clamp(22px,4vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:6px}::selection{background:#ededdf;color:#08090b}.skip{position:fixed;left:20px;top:-80px;z-index:50;background:#fff;color:#000;padding:12px}.skip:focus{top:12px}
.header{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad);background:linear-gradient(#08090bd9,transparent);height:88px}.brand{display:flex;gap:10px;align-items:center;font-size:24px;font-weight:600;letter-spacing:-1px}.brand img{width:36px;height:36px;object-fit:contain;filter:invert(1)}.brand-star{display:inline-block;margin-left:8px;font-size:20px;font-weight:400;animation:star-turn 18s linear infinite}.header nav{display:flex;gap:32px;font-size:13px;align-items:center}.header nav a{padding:10px 0}.header nav a:last-child{border-bottom:1px solid #ffffff70}.menu-toggle{display:none}
.journey{height:700svh}.stage{height:100svh;position:sticky;top:0;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 56% 42%,#25272b 0,#101114 40%,#08090b 73%)}#world{position:absolute;inset:0;z-index:2;pointer-events:none}#world canvas{display:block;width:100%;height:100%}.scene-placeholder{width:38vw;position:absolute;left:34%;top:20%;opacity:.2;transition:opacity .4s}.ready .scene-placeholder{opacity:0}.vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,#08090b 0,transparent 34%,transparent 70%,#08090b55),radial-gradient(ellipse,transparent 40%,#08090b60)}.masthead{position:absolute;inset:15% var(--pad) auto;z-index:1;font-size:clamp(95px,16.5vw,330px);font-weight:600;line-height:.82;letter-spacing:-.085em;color:#d7d7d3;opacity:.19;will-change:transform,opacity;pointer-events:none}.masthead span{display:block}.masthead span:last-child{text-align:right;margin-top:8px}.stage-meta{position:absolute;z-index:4;top:108px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:#bbbcbf}.phase{font-variant-numeric:tabular-nums}.caption{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:140px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;pointer-events:none}.caption>div{max-width:590px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:500;display:block}.caption .eyebrow{margin:0 0 17px;color:#bbbcbf}.caption h1{font-size:clamp(35px,4.4vw,80px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0;text-wrap:balance}.caption p:not(.eyebrow){font-size:14px;color:#c7c7c9;line-height:1.5;margin:15px 0 0;max-width:370px}.chapter-link{pointer-events:auto;display:block;font-size:14px;margin-bottom:4px;min-width:165px;padding:16px 0;position:relative}.link-line{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#797a7d;transition:background .25s}.chapter-link:hover .link-line{background:white}.chapter-nav{position:absolute;z-index:6;bottom:61px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:18px;border-top:1px solid #ffffff25;padding-top:17px}.chapter-nav button{border:0;background:none;color:#77797e;display:flex;gap:10px;align-items:center;font-size:13px;padding:5px 0;transition:color .25s}.chapter-nav button span{font-size:9px;font-variant-numeric:tabular-nums;opacity:.7}.chapter-nav button[aria-current=step]{color:#fff}.chapter-nav button[aria-current=step]:after{content:'';width:4px;height:4px;border-radius:50%;background:#fff}.progress{position:absolute;z-index:7;bottom:109px;left:var(--pad);right:var(--pad);height:1px;pointer-events:none}.progress span{display:block;background:#fff;width:100%;height:100%;transform:scaleX(0);transform-origin:left}.motion{position:absolute;bottom:20px;right:var(--pad);z-index:6;border:0;background:none;font-size:9px;color:#96979b;letter-spacing:.08em;padding:6px 0}.motion span{color:#fff;margin-left:8px}.scroll-hint{position:absolute;z-index:5;bottom:25px;left:var(--pad);font-size:9px;color:#96979b;letter-spacing:.15em;display:flex;align-items:center;gap:12px}.scroll-hint span{width:32px;height:1px;background:#777;transform-origin:left;animation:breathe 2.4s ease-in-out infinite}.scene-error{position:absolute;right:var(--pad);top:135px;z-index:6;max-width:260px;font-size:12px;color:#bdbdbd}
.services{background:#eeeee7;color:#161719;padding:110px var(--pad);display:grid;grid-template-columns:1fr 1.35fr;gap:9vw}.section-intro h2,.continuity h2{font-size:clamp(34px,4.5vw,72px);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:35px 0 24px}.section-intro p{line-height:1.6;font-size:16px;max-width:340px;color:#61625f}.service-list>a{display:flex;align-items:center;gap:25px;border-bottom:1px solid #2223;padding:26px 0}.service-list>a:first-child{border-top:1px solid #2223}.service-list>a>span:first-child{font-size:11px;color:#70716c}.service-list h3{font-size:clamp(19px,2vw,30px);font-weight:500;letter-spacing:-.035em;margin:0}.service-list p{font-size:13px;color:#666760;line-height:1.4;margin:8px 0 0}.service-plus{font-size:27px;margin-left:auto;font-weight:300;transition:transform .3s}.service-list a:hover .service-plus{transform:rotate(90deg)}.continuity{padding:100px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:30px 9vw}.continuity>.eyebrow{grid-column:1/-1}.continuity h2{margin:0}.continuity>div{max-width:410px;padding-top:4px}.continuity p{font-size:17px;line-height:1.65;color:#b2b3b8;margin:0 0 32px}.text-link{border-bottom:1px solid #777;padding-bottom:8px;font-size:14px}.contact{padding:90px var(--pad) 80px;border-top:1px solid #ffffff20}.contact>a{display:block;font-size:clamp(44px,8.5vw,150px);letter-spacing:-.065em;line-height:1;margin:35px 0 50px;font-weight:500;max-width:1300px}.contact-dot{color:#8a8c92}.contact>div{display:flex;gap:35px;font-size:14px;color:#bcbec3}.contact>div a:hover{color:white}footer{border-top:1px solid #ffffff20;display:flex;gap:30px;align-items:center;padding:35px var(--pad);font-size:11px;color:#96979c}.footer-brand{font-size:20px;color:white;font-weight:500}footer>div{margin-left:auto;display:flex;gap:22px}
@keyframes star-turn{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scaleX(.4);opacity:.5}}
@media(min-width:1600px){.caption{bottom:160px}.chapter-nav{bottom:75px}.progress{bottom:123px}.motion{bottom:30px}.scroll-hint{bottom:35px}}
@media(max-width:900px){.header{height:74px;padding-top:18px;padding-bottom:18px}.brand{font-size:20px}.brand img{width:30px;height:30px}.header nav{display:none;position:absolute;top:74px;left:16px;right:16px;padding:24px;background:#16171af2;border:1px solid #ffffff20;border-radius:15px;backdrop-filter:blur(20px);gap:6px}.header nav.open{display:flex;flex-direction:column;align-items:stretch}.header nav a{font-size:19px;padding:12px}.header nav a:last-child{border-bottom:0}.menu-toggle{display:grid;width:38px;height:38px;border:1px solid #ffffff50;border-radius:50%;background:none;place-content:center;gap:4px}.menu-toggle span{display:block;width:13px;height:1px;background:white;transition:transform .3s}.menu-toggle span:nth-child(2){width:8px;margin-left:auto}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.stage-meta{top:91px;font-size:8px;letter-spacing:.12em}.masthead{top:19%;font-size:22vw;line-height:.86;opacity:.2}.masthead span:last-child{margin-top:12px}.caption{bottom:145px;display:block}.caption h1{font-size:clamp(30px,8.4vw,48px);max-width:520px}.caption .eyebrow{font-size:8px;margin-bottom:11px}.caption p:not(.eyebrow){font-size:12px;max-width:290px;margin-top:12px}.chapter-link{font-size:12px;width:max-content;min-width:0;padding:9px 0;margin-top:12px}.chapter-nav{bottom:58px;gap:0;justify-content:space-between;left:18px;right:18px;padding-top:12px}.chapter-nav button{font-size:10px;gap:0;flex-direction:column;justify-content:center;min-width:40px;min-height:42px}.chapter-nav button span{font-size:8px;margin-bottom:6px}.chapter-nav button[aria-current=step]:after{position:absolute;bottom:-7px;width:3px;height:3px}.progress{bottom:113px;left:18px;right:18px}.scroll-hint{font-size:7px;bottom:20px;letter-spacing:.1em}.motion{bottom:15px;font-size:8px}.scene-placeholder{width:80vw;left:10%;top:20%}.services{padding:65px var(--pad);grid-template-columns:1fr;gap:35px}.section-intro h2{margin:24px 0 18px}.section-intro p{font-size:14px}.service-list>a{gap:17px;padding:23px 0}.service-list p{font-size:12px}.service-plus{font-size:23px}.continuity{padding:65px var(--pad);grid-template-columns:1fr;gap:26px}.continuity p{font-size:15px}.contact{padding:60px var(--pad)}.contact>a{font-size:12vw;margin:30px 0}.contact>div{flex-direction:column;gap:16px;font-size:13px}footer{flex-wrap:wrap;padding:28px var(--pad);gap:18px}footer>div{margin:0;flex-wrap:wrap;gap:18px;width:100%;font-size:10px}.scene-error{top:113px;font-size:10px}.journey{height:640svh}}
@media(max-height:520px) and (min-width:701px){.caption{bottom:102px}.caption h1{font-size:32px}.caption p:not(.eyebrow){display:none}.stage-meta{top:84px}.chapter-nav{bottom:39px}.progress{bottom:87px}.motion{bottom:8px}.scroll-hint{bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Existing consent controller and preference version retained. */
.cookie-panel{position:fixed;z-index:200;bottom:16px;left:16px;width:min(460px,calc(100% - 32px));padding:24px;background:#151619;color:#f5f4ee;border:1px solid #ffffff40;box-shadow:0 16px 70px #0009}.cookie-panel[hidden]{display:none}.cookie-panel h2{font-size:20px;margin:0 0 12px}.cookie-panel p{font-size:14px;line-height:1.5}.cookie-panel>a{display:block;margin:12px 0;text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}.cookie-actions button,.cookie-preferences{padding:10px 12px;background:#24262a;border:1px solid #ffffff50;color:inherit;font:inherit;cursor:pointer}
