:root{--journey-cream:#f0f2eb;--journey-accent:#d0e1d5}
html:has(body.journey-reduced){scroll-behavior:auto}.scroll-site .journey-stage[data-intro=true] .journey-fallback img:not(:first-child){opacity:0}.scroll-site .journey-stage[data-intro=true] .journey-fallback img:first-child{opacity:1}#journey-scroll-cue[hidden]{display:none}
.scroll-site{background:#f2f3ee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scroll-journey{height:650svh;min-height:3900px;position:relative;background:#202a26;--journey-progress:0}.journey-start{position:absolute;left:0;top:0;width:1px;height:1px}.journey-stage{position:sticky;top:0;height:100svh;min-height:500px;width:100%;overflow:hidden;isolation:isolate;background:#353a33;color:var(--journey-cream)}#journey-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;touch-action:pan-y}.journey-fallback{position:absolute;inset:0;z-index:0;transition:opacity .6s;background:#17231d}.journey-fallback img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.journey-fallback img:first-child{opacity:1}.journey-stage[data-webgl=ready] .journey-fallback{opacity:0}.journey-stage[data-chapter="0"] .journey-fallback img:nth-child(2){opacity:1}.journey-stage[data-chapter="1"] .journey-fallback img:nth-child(3){opacity:1}.journey-stage[data-chapter="2"] .journey-fallback img:nth-child(4){opacity:1}.journey-stage[data-chapter="3"] .journey-fallback img:nth-child(5){opacity:1}.journey-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(9,17,17,.76),rgba(9,17,17,.48) 30%,rgba(9,17,17,.09) 66%,transparent 100%);pointer-events:none}.journey-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#091212b5,transparent 27%,transparent 79%,#09121269),radial-gradient(ellipse,transparent 55%,#09121230)}.journey-copy-frame{position:absolute;inset:0;z-index:3;pointer-events:none}.journey-copy{position:absolute;left:7.8%;top:24%;width:min(560px,43%);pointer-events:auto;will-change:opacity,transform}.journey-copy[hidden]{display:none}.journey-copy[inert]{pointer-events:none}.journey-copy .eyebrow{font-size:9px;letter-spacing:.19em;color:#d0ded5;margin-bottom:27px}.journey-copy h1,.journey-copy h2{font-family:var(--display);font-size:clamp(76px,7.55vw,122px);font-weight:400;line-height:.99;letter-spacing:-.065em;color:#f3f4ec;text-shadow:0 3px 45px #0001}.journey-copy h1 span,.journey-copy h2 span{color:#cbdccf;font-weight:350}.journey-copy .journey-lead{font-size:13px;line-height:1.85;color:#d6e0d7;margin-top:30px;margin-bottom:26px;max-width:340px}.journey-copy .button-light{background:#eef1e7;border:1px solid #ffffff33;box-shadow:0 8px 35px #0002;color:#192a26;padding:10px 10px 10px 22px;min-height:54px;gap:40px}.journey-copy .button-light:hover{background:#d3e3d1}.journey-copy .button-orb{background:#d9e2d3;color:#243a2c}.journey-chapter{transform:translateY(var(--chapter-y,0px));opacity:0}.journey-chapter h2{font-size:clamp(76px,7.2vw,112px)}.journey-chapter .eyebrow{font-size:9px;letter-spacing:.17em}.journey-project-link{background:none;border-bottom:1px solid #dfebdc77;padding:4px 0 10px;color:#e3ece0;display:inline-flex;align-items:center;gap:40px;font-size:11px;font-weight:400;transition:border-color .25s,color .25s}.journey-project-link span{font-size:21px}.journey-project-link:hover{border-color:#f1ffef;color:#f2ffef}.journey-nav{position:absolute;right:30px;top:42%;display:flex;flex-direction:column;gap:14px;z-index:4}.journey-nav button{display:flex;align-items:center;gap:10px;background:none;padding:5px;color:#eff4e4b0}.journey-nav button span{font-size:7px;letter-spacing:.1em;opacity:0;transform:translateX(4px);transition:opacity .25s,transform .25s}.journey-nav button i{width:5px;height:5px;background:#f4f9e666;border:1px solid #f4f9e633;border-radius:50%;box-shadow:0 0 0 5px #f0f9e900;transition:background .25s,box-shadow .25s}.journey-nav button:hover span,.journey-nav button:focus-visible span,.journey-nav button[aria-current=step] span{opacity:1;transform:none}.journey-nav button:hover i,.journey-nav button[aria-current=step] i{background:#f3ffed;box-shadow:0 0 0 4px #f4ffe81c}.journey-motion-toggle{position:absolute;z-index:4;top:133px;right:55px;background:#0e211a26;border:1px solid #efffea33;backdrop-filter:blur(12px);display:flex;align-items:center;gap:7px;padding:7px 11px;color:#e1ebdb;font-size:8px;border-radius:20px;letter-spacing:.02em}.journey-motion-toggle:hover{border-color:#efffea88}.motion-dot{width:4px;height:4px;background:#d8edcf;border-radius:50%}.journey-motion-toggle[aria-pressed=true] .motion-dot{background:#cfb591}.journey-bottom{position:absolute;left:56px;right:56px;bottom:34px;height:48px;z-index:4;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:8px;color:#d5e1d0}.journey-progress-track{position:absolute;top:0;left:0;right:0;height:1px;background:#f0f8e733}.journey-progress-track>span{display:block;width:100%;height:1px;background:#e4f7d8;transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #ddf8c42b}#journey-position{letter-spacing:.15em;font-size:9px;min-width:80px}#journey-scroll-cue{display:flex;align-items:center;gap:10px;font-size:7px;letter-spacing:.17em;color:#d1e1c8;transition:opacity .3s}#journey-scroll-cue i{font-style:normal;font-size:16px}.journey-skip{display:flex;align-items:center;gap:18px;font-size:9px;color:#d5e5ce}.journey-skip span{font-size:14px}.journey-skip:hover{color:#efffe8}.journey-concept-note{position:absolute;bottom:10px;right:57px;z-index:3;font-size:5px;letter-spacing:.11em;color:#c2d3ba80}.site-header{background:linear-gradient(#08120d33,transparent);border-bottom-color:#f6ffec24}.site-header.is-scrolled{background:#12221ced;backdrop-filter:blur(20px)}.site-header nav a{font-size:11px}.button-small{background:#ebeee4;color:#23392d;border-radius:2px}.intro-section{padding-top:95px}.intro-heading h2{font-weight:400}.project{transition:transform .6s}.project-image{box-shadow:0 18px 55px #25382a0d}.project-info strong{font-weight:450}.gallery-note{color:#7c8974}.project-pool{margin-top:48px}.journey-reduced .journey-chapter{transform:none}.journey-reduced .journey-copy{will-change:auto}
@media(min-width:1600px){.journey-copy{left:max(7.8%,calc((100vw - 1380px)/2))}.journey-copy h1{font-size:128px}.journey-copy h2{font-size:120px}.journey-bottom{left:max(56px,calc((100vw - 1450px)/2));right:max(56px,calc((100vw - 1450px)/2))}}
@media(max-width:1100px){.journey-copy{left:6.5%;top:26%;width:47%}.journey-copy h1{font-size:90px}.journey-copy h2{font-size:84px}.journey-copy .journey-lead{font-size:12px}.journey-bottom{left:36px;right:36px}.journey-motion-toggle{right:36px}.journey-nav{right:19px}.journey-concept-note{right:37px}.journey-project-link{font-size:10px}}
@media(max-width:800px){.scroll-journey{height:620svh;min-height:3200px}.journey-stage{min-height:500px}.journey-copy{left:7%;top:24%;width:75%;max-width:560px}.journey-copy h1{font-size:90px}.journey-copy h2{font-size:84px}.journey-copy .eyebrow{font-size:8px}.journey-copy .journey-lead{font-size:12px}.journey-chapter{top:auto;bottom:135px;width:75%}.journey-shade{background:linear-gradient(90deg,#0a15143b,transparent 90%),linear-gradient(0deg,#0a1514b3,transparent 70%)}.journey-vignette{background:linear-gradient(0deg,#0a1514bb,transparent 45%,transparent 78%,#0a15144d)}.journey-nav{right:17px;top:42%;gap:12px}.journey-bottom{left:26px;right:26px;bottom:28px;height:47px}.journey-motion-toggle{top:111px;right:26px;font-size:7px;padding:7px 10px}.journey-concept-note{right:27px;bottom:8px;font-size:5px}.intro-section{padding-top:70px}.project-pool{margin-top:36px}}
@media(max-width:520px){.scroll-journey{height:620svh;min-height:3100px}.journey-stage{height:100svh;min-height:500px}.journey-copy{left:26px;top:24%;width:calc(100% - 62px);max-width:360px}.journey-copy .eyebrow{font-size:6px;letter-spacing:.15em;margin-bottom:25px}.journey-copy h1{font-size:clamp(60px,17vw,76px);line-height:1.02;letter-spacing:-.06em}.journey-copy .journey-lead{font-size:11px;margin-top:24px;line-height:1.85;margin-bottom:24px;max-width:260px}.journey-copy .button-light{min-height:49px;font-size:10px;padding:8px 8px 8px 17px;gap:32px}.journey-copy .button-orb{width:31px;height:31px}.journey-chapter{top:auto;bottom:118px;width:calc(100% - 62px)}.journey-chapter h2{font-size:clamp(53px,15.6vw,69px);line-height:1}.journey-chapter .eyebrow{font-size:6px;letter-spacing:.13em;margin-bottom:21px}.journey-chapter .journey-lead{font-size:10px;margin-top:22px;margin-bottom:18px;max-width:270px}.journey-project-link{font-size:10px;padding-bottom:7px;gap:28px}.journey-project-link span{font-size:18px}.journey-motion-toggle{top:105px;right:22px;font-size:6px;gap:6px;padding:6px 9px}.journey-nav{right:12px;gap:12px;top:43%}.journey-nav button{padding:4px;gap:5px}.journey-nav button span{display:none}.journey-nav button i{width:4px;height:4px}.journey-bottom{left:20px;right:20px;bottom:25px;height:43px;gap:10px}#journey-position{font-size:7px;min-width:56px}#journey-scroll-cue{font-size:5px;letter-spacing:.1em;gap:6px}#journey-scroll-cue i{font-size:12px}.journey-skip{font-size:7px;gap:9px}.journey-skip span{font-size:12px}.journey-concept-note{right:22px;bottom:7px;font-size:4px}.intro-section{padding-top:55px}.intro-heading h2{font-size:37px}.service-row h3{font-size:24px}.project-pool{margin-top:36px}.site-header nav a{font-size:15px}.project-info strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.journey-copy,.journey-chapter{transform:none!important}.journey-fallback img{transition:none}.journey-copy{will-change:auto}}
.journey-motion-controls{position:absolute;z-index:4;top:126px;right:55px;display:flex;align-items:center;gap:8px}.journey-motion-controls .journey-motion-toggle{position:static;min-height:40px;padding:9px 13px;font-size:9px;white-space:nowrap}.journey-motion-controls .journey-motion-toggle:disabled{opacity:.7}.journey-pause-icon{font-size:11px;line-height:1;width:10px;text-align:center}.journey-entry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}.journey-entry-actions .journey-project-link{min-height:44px;gap:22px;align-items:center;padding-block:8px}.journey-door-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid #efffea55;border-radius:3px;background:#0b201d5e;backdrop-filter:blur(12px);font-size:10px;line-height:1.4;color:#edf3e8;white-space:nowrap;transition:background .2s,border-color .2s}.journey-door-toggle:hover{background:#d9e9dc20;border-color:#efffea99}.journey-door-toggle:disabled{opacity:.55}.journey-door-toggle[hidden],.journey-interaction-hint[hidden]{display:none}.journey-door-toggle[aria-pressed=true]{border-color:#d2ecd1a0;background:#d9e9dc15}.journey-door-icon{font-size:15px;line-height:1}.journey-interaction-hint{margin-top:12px;font-size:8px;letter-spacing:.03em;line-height:1.6;color:#d5e3d0b8;pointer-events:none}.journey-door-toggle:focus-visible,.journey-motion-controls button:focus-visible{outline:2px solid #dcf2d0;outline-offset:4px}
@media(max-width:1100px){.journey-motion-controls{right:36px}}
@media(max-width:800px){.journey-motion-controls{top:103px;right:26px;gap:7px}.journey-motion-controls .journey-motion-toggle{min-height:44px;font-size:8px;padding:8px 11px}.journey-entry-actions{gap:10px 13px}.journey-door-toggle{font-size:9px}.journey-interaction-hint{font-size:7px}}
@media(max-width:520px){.journey-motion-controls{top:94px;right:20px;left:20px;justify-content:flex-end;gap:6px}.journey-motion-controls .journey-motion-toggle{font-size:8px;padding:8px 10px}.journey-entry-actions{flex-wrap:nowrap;gap:8px}.journey-entry-actions .button-light{gap:9px;padding-left:12px}.journey-entry-actions .journey-project-link{font-size:9px;gap:10px;flex-shrink:0}.journey-door-toggle{font-size:8px;gap:6px;padding:9px 8px}.journey-door-icon{font-size:12px}.journey-interaction-hint{margin-top:10px;font-size:6px}.journey-chapter:has(.journey-door-toggle:not([hidden])){bottom:116px}}
@media(max-width:520px) and (max-height:700px){.journey-intro{top:27%}.journey-intro .eyebrow{margin-bottom:15px}.journey-intro h1{font-size:clamp(49px,15vw,65px)}.journey-intro .journey-lead{margin-top:15px;margin-bottom:15px;line-height:1.6;font-size:10px}.journey-intro .journey-entry-actions .button-light{min-height:44px}.journey-intro .journey-interaction-hint{margin-top:7px}}
