@font-face{font-family:Jost;src:url('fonts/jost-300.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Karla;src:url('fonts/karla-300.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Karla;src:url('fonts/karla-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#1C1A17;--basalt:#2B2824;--walnut:#744020;--terra:#8B5031;--stone:#8C7D6D;--bone:#D8CCBD;--paper:#EFEAE3;--ember:#9B4912;--line:rgba(216,204,189,.25);--gutter:clamp(24px,4.3vw,82px);--display:Jost,sans-serif;--body:Karla,sans-serif;--travel:7836px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--ink);color:var(--paper);font:300 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;background:none;border:0;cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--bone);outline-offset:6px}img{display:block;max-width:100%}button{padding:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:300}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;flex:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--paper);color:var(--ink);z-index:100;padding:14px 24px}.skip-link:focus{top:15px}.overline{font-size:13px;text-transform:uppercase;letter-spacing:.2em;line-height:1.5}.site-head{position:absolute;top:0;left:0;right:0;z-index:20;height:112px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid rgba(216,204,189,.16)}.wordmark{width:clamp(205px,19vw,275px);display:block}.wordmark img{width:100%;height:auto}.head-links{display:flex;align-items:center;gap:34px;font-size:14px}.head-links>a{transition:opacity .3s}.head-links>a:hover{opacity:.6}.head-links .conversation{border-bottom:1px solid var(--line);padding-bottom:5px;display:flex;gap:18px;align-items:center}.conversation svg{width:15px;height:15px}.journey{height:calc(100svh + var(--travel));position:relative}.journey-pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--ink)}.journey-media{position:absolute;inset:0}.journey-poster,.journey-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.journey-video{opacity:0;transition:opacity .5s}.journey-video.is-ready{opacity:1}.journey-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,26,23,.38),transparent 25%,transparent 55%,rgba(28,26,23,.8)),linear-gradient(90deg,rgba(28,26,23,.18),transparent 65%);pointer-events:none}.opening-copy{position:absolute;left:var(--gutter);top:22%;will-change:opacity,transform;max-width:700px}.opening-copy .overline{margin-bottom:22px}.opening-copy h1{font-size:clamp(42px,5.6vw,88px);line-height:1.12;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px 35px rgba(28,26,23,.2)}.opening-copy h1 span{display:block}.opening-signature{font-size:15px;margin-top:25px;letter-spacing:.03em}.journey-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:38px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;z-index:4}.scroll-invitation{display:flex;align-items:center;gap:20px;font-size:14px}.scroll-invitation .vertical-line{display:block;width:1px;height:49px;background:var(--line);overflow:hidden;position:relative}.vertical-line::after{content:'';position:absolute;width:1px;height:25px;background:var(--paper);animation:line-drift 2.7s ease-in-out infinite}.scroll-invitation p span{display:block;color:var(--bone);font-size:12px;letter-spacing:.04em;margin-top:2px}.journey-actions{display:flex;align-items:center;gap:27px;font-size:13px}.journey-actions button{display:flex;align-items:center;gap:10px;min-height:44px}.journey-actions button:hover{color:var(--bone)}.sound-icon{display:flex;align-items:center;gap:3px;width:20px;height:20px}.sound-icon i{width:1px;height:5px;background:currentColor}.sound-icon i:nth-child(2){height:13px}.sound-icon i:nth-child(3){height:18px}.sound-icon i:nth-child(4){height:9px}.sound-on .sound-icon i{animation:sound-wave 1s ease-in-out infinite alternate}.sound-on .sound-icon i:nth-child(2){animation-delay:-.6s}.sound-on .sound-icon i:nth-child(3){animation-delay:-.3s}.journey-chapter{position:absolute;left:var(--gutter);bottom:135px;max-width:570px;opacity:0;will-change:opacity,transform}.journey-chapter .overline{color:var(--bone);margin-bottom:17px}.journey-chapter h2{font-size:clamp(31px,3.2vw,49px);letter-spacing:.035em;line-height:1.25}.journey-rail{position:absolute;right:var(--gutter);top:47%;z-index:3;display:grid;gap:20px}.journey-rail button{width:40px;height:25px;display:flex;justify-content:end;align-items:center}.journey-rail i{height:1px;width:16px;background:var(--bone);opacity:.5;transition:width .3s,opacity .3s}.journey-rail button[aria-current=true] i{width:35px;opacity:1}.journey-rail button:hover i{width:30px;opacity:1}.journey-progress{height:2px;background:rgba(216,204,189,.12);position:absolute;bottom:0;left:0;right:0}.journey-progress i{height:100%;width:100%;display:block;background:var(--bone);transform:scaleX(0);transform-origin:left}.journey-loading{position:absolute;top:130px;right:var(--gutter);font-size:12px;color:var(--bone);opacity:0;transition:opacity .3s}.journey-loading.is-loading{opacity:1}.journey-end{position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(28,26,23,.2) 50%,var(--ink));opacity:0;pointer-events:none}.chooser{padding:96px var(--gutter) 85px;position:relative;background:var(--ink);scroll-margin-top:0}.chooser-intro{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:47px}.chooser-intro .overline{color:var(--stone);margin-bottom:18px}.chooser-intro h2{font-size:clamp(36px,4.5vw,68px);line-height:1.14;letter-spacing:.025em}.chooser-intro h2 span{color:var(--bone)}.chooser-intro>p{max-width:270px;font-size:16px;color:var(--bone);padding-bottom:5px}.portals{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:560px}.portal{position:relative;display:block;overflow:hidden;min-height:560px;isolation:isolate;background:var(--basalt);border:1px solid rgba(216,204,189,.15)}.portal-image,.portal-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1),opacity .8s;z-index:-3}.portal-interiors .portal-image,.portal-interiors .portal-film{object-position:64% center}.portal-spatial .portal-image,.portal-spatial .portal-film{object-position:42% center}.portal-film{opacity:0}.portal-film.is-playing{opacity:1}.portal::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,26,23,.28) 0%,transparent 34%,rgba(28,26,23,.2) 45%,rgba(28,26,23,.86) 100%);z-index:-1;transition:background .8s}.portal::after{content:'';position:absolute;inset:16px;border:1px solid rgba(216,204,189,0);pointer-events:none;transition:border-color .7s,inset .7s}.portal:hover::after,.portal:focus-visible::after{border-color:rgba(216,204,189,.45);inset:12px}.portal:hover .portal-image,.portal:hover .portal-film,.portal:focus-visible .portal-image{transform:scale(1.045)}.portal-top{position:absolute;top:27px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.portal-top>span:last-child{color:var(--bone);font-size:11px}.portal-content{position:absolute;left:clamp(25px,3vw,47px);right:clamp(25px,3vw,47px);bottom:36px}.portal-wordmark{width:185px;height:auto;opacity:.9;margin-bottom:20px}.portal h3{font-size:clamp(43px,4.7vw,74px);line-height:1.1;letter-spacing:.065em;margin-bottom:17px}.portal-content>p{max-width:370px;font-size:17px;color:var(--bone);line-height:1.5}.portal-bottom{margin-top:30px;padding-top:22px;border-top:1px solid rgba(216,204,189,.32);display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.03em}.portal-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(216,204,189,.4);border-radius:50%;transition:background .4s,color .4s,transform .4s}.portal:hover .portal-arrow,.portal:focus-visible .portal-arrow{background:var(--paper);color:var(--ink);transform:rotate(45deg)}.chooser-foot{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:25px 0 37px;color:var(--stone);font-size:13px}.chooser-foot a{color:var(--bone);border-bottom:1px solid var(--line)}.home-footer{padding:0 var(--gutter) 35px;display:flex;justify-content:space-between;align-items:center;color:var(--stone);font-size:13px;gap:25px}.home-footer a{color:var(--bone)}.footer-note{display:flex;gap:25px}.motion-toggle{font-size:13px;color:var(--bone);min-height:44px}.division-dialog{width:min(1160px,94vw);max-height:92svh;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:0}.division-dialog::backdrop{background:rgba(28,26,23,.8);backdrop-filter:blur(10px)}.film-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);font-size:14px}.film-head button{width:44px;height:40px;font-size:27px}.film-video{display:block;width:100%;max-height:72svh;object-fit:contain}.film-foot{font-size:14px;color:var(--bone);padding:17px 22px}.no-motion .journey{height:100svh}.no-motion .journey-pin{position:relative}.no-motion .journey-rail{display:none}.no-motion .journey-video{display:none}.no-motion .journey-progress{display:none}.no-motion .scroll-invitation .vertical-line::after{animation:none}.no-motion .portal-film{display:none}.no-motion .portal:hover .portal-image{transform:none}.no-motion .journey-actions [data-watch-film]{display:flex}.no-motion .journey-end{display:none}.spatial-page .site-head{position:relative}.spatial-intro{padding:90px var(--gutter) 60px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.spatial-intro .overline{color:var(--stone);margin-bottom:25px}.spatial-intro h1{font-size:clamp(40px,5.6vw,85px);line-height:1.14;letter-spacing:.04em}.spatial-intro p{color:var(--bone);max-width:420px}.spatial-visual{margin:0 var(--gutter);position:relative;aspect-ratio:1672/941;overflow:hidden}.spatial-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.spatial-visual .spatial-drawing{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.spatial-divider{position:absolute;left:var(--split,50%);height:100%;top:0;width:1px;background:var(--paper);pointer-events:none}.spatial-divider span{position:absolute;left:-25px;top:50%;width:50px;height:50px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:24px}.spatial-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.spatial-range:focus-visible{opacity:.15}.spatial-label{position:absolute;bottom:22px;font-size:13px;padding:7px 13px;background:rgba(28,26,23,.75);pointer-events:none}.spatial-label:first-of-type{left:22px}.spatial-label:last-of-type{right:22px}.spatial-services{padding:55px var(--gutter) 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.spatial-services article{padding-top:20px;border-top:1px solid var(--line)}.spatial-services h2{font-size:27px;margin-bottom:15px}.spatial-services p{font-size:16px;color:var(--bone);max-width:320px}.spatial-actions{display:flex;align-items:center;justify-content:center;gap:40px;margin:0 var(--gutter) 100px;padding:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spatial-actions button,.spatial-actions a{font-size:15px;border-bottom:1px solid var(--bone);padding-bottom:6px}
@keyframes line-drift{0%{transform:translateY(-28px)}65%,100%{transform:translateY(55px)}}@keyframes sound-wave{to{transform:scaleY(.35)}}
@media(min-width:1700px){.portals,.chooser-intro,.chooser-foot{max-width:1700px;margin-left:auto;margin-right:auto}.portal{min-height:650px}.opening-copy{top:23%}}
@media(max-width:1000px){.site-head{height:94px}.head-links{gap:22px}.head-links .conversation{display:none}.opening-copy{top:22%}.portal{min-height:490px}.portals{min-height:490px}.portal-content>p{font-size:16px}.portal h3{font-size:46px}.portal-top{left:25px;right:25px}.portal-top>span:last-child{display:none}.portal-wordmark{width:160px}.chooser-intro>p{max-width:240px}.journey-actions{gap:18px}}
@media(max-width:700px){:root{--gutter:24px;--travel:4684px}.site-head{height:86px;gap:15px}.wordmark{width:200px}.head-links{font-size:13px}.head-links>a:not(:first-child){display:none}.journey-pin{min-height:600px}.journey-media{inset:0;}.journey-poster,.journey-video{object-fit:cover;object-position:52% center}.journey-shade{background:linear-gradient(180deg,var(--ink),transparent 20%,transparent 68%,var(--ink))}.opening-copy{top:17%;left:24px;right:24px;max-width:none}.opening-copy .overline{font-size:11px;letter-spacing:.15em;margin-bottom:17px}.opening-copy h1{font-size:clamp(33px,7.8vw,50px);letter-spacing:.08em;line-height:1.13}.opening-signature{font-size:13px;margin-top:16px}.journey-bottom{bottom:24px;gap:12px;align-items:end;flex-wrap:wrap}.scroll-invitation{font-size:13px;gap:12px}.scroll-invitation p span{font-size:11px}.scroll-invitation .vertical-line{height:40px}.journey-actions{gap:20px;font-size:12px;width:100%;justify-content:space-between;margin-top:10px;border-top:1px solid var(--line);padding-top:7px}.journey-actions svg{width:15px;height:15px}.journey-chapter{bottom:155px;right:30px}.journey-chapter h2{font-size:31px;max-width:320px}.journey-chapter .overline{font-size:11px;margin-bottom:13px}.journey-rail{right:20px;top:48%;gap:10px}.journey-rail button{width:28px}.journey-rail button[aria-current=true] i{width:25px}.journey-loading{top:100px;font-size:11px}.chooser{padding-top:65px;padding-bottom:45px}.chooser-intro{display:block;margin-bottom:30px}.chooser-intro h2{font-size:43px}.chooser-intro .overline{font-size:12px}.chooser-intro>p{margin-top:22px;max-width:330px;font-size:16px}.portals{grid-template-columns:1fr;gap:20px}.portal{min-height:510px}.portal h3{font-size:53px}.portal-content{bottom:28px;left:26px;right:26px}.portal-wordmark{width:180px}.portal-content>p{font-size:16px;max-width:300px}.portal-bottom{margin-top:24px;font-size:14px;padding-top:18px}.portal-top{left:26px;right:26px;top:24px;font-size:11px}.portal-top>span:last-child{display:block;font-size:10px}.chooser-foot{display:block;padding:23px 0 30px;line-height:1.8;font-size:12px}.chooser-foot a{display:inline-block;margin-top:12px}.home-footer{display:block;font-size:12px;padding-bottom:25px}.footer-note{margin-top:15px;justify-content:space-between;align-items:center}.spatial-intro{grid-template-columns:1fr;padding-top:55px;gap:25px}.spatial-intro h1{font-size:47px}.spatial-visual{margin:0;aspect-ratio:4/3}.spatial-services{grid-template-columns:1fr;padding-top:35px;padding-bottom:60px;gap:30px}.spatial-services p{max-width:none}.spatial-actions{margin-bottom:60px;padding:25px 0;flex-wrap:wrap;gap:23px}.spatial-label{bottom:14px;font-size:11px}.film-head,.film-foot{font-size:13px}.film-head{padding:10px 16px}.division-dialog{width:96vw}.film-foot{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}body:not(.motion-enabled) .journey{height:100svh}body:not(.motion-enabled) .journey-pin{position:relative}body:not(.motion-enabled) .journey-video,body:not(.motion-enabled) .journey-rail,body:not(.motion-enabled) .journey-progress,body:not(.motion-enabled) .portal-film{display:none}}

/* A quiet threshold: the client's own logo is the entire opening statement. */
.opening-veil{position:absolute;inset:0;background:var(--threshold);opacity:1;pointer-events:none}
.opening-copy{inset:0;left:0;top:0;max-width:none;text-align:center;pointer-events:none}
.hero-emblem{position:absolute;left:50%;top:47%;width:min(52vw,576px);max-width:none;height:auto;transform:translate(-50%,-50%)}
.opening-copy>.overline{position:absolute;top:calc(49% - 185px);left:0;right:0;font-size:12px;color:var(--bone);letter-spacing:.25em;margin:0}
.opening-signature{position:absolute;top:calc(49% + 158px);left:0;right:0;margin:0;font-size:17px;color:var(--bone);letter-spacing:.08em}
.scroll-mouse{display:block;width:24px;height:38px;border:1px solid rgba(216,204,189,.7);border-radius:20px;position:relative;flex:none}
.scroll-mouse i{position:absolute;left:10px;top:8px;width:2px;height:7px;border-radius:2px;background:var(--paper);animation:scroll-wheel 2s ease-in-out infinite}
.portal-brand{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:84%;max-width:520px;height:auto;pointer-events:none;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.portal::before{background:linear-gradient(180deg,rgba(28,26,23,.28),rgba(28,26,23,.24) 42%,rgba(28,26,23,.9))}
.portal:hover .portal-brand{transform:translate(-50%,-52%)}
.portal-content>p{margin-top:0}.portal h3.sr-only{font-size:1px;margin:0}
.no-motion .opening-veil{opacity:1!important}.no-motion .scroll-mouse i{animation:none}
@keyframes scroll-wheel{0%{transform:translateY(0);opacity:0}30%{opacity:1}80%,100%{transform:translateY(11px);opacity:0}}
@media(max-width:700px){.hero-emblem{top:45%;width:min(80vw,432px)}.opening-copy>.overline{top:calc(44% - 117px);font-size:10px;letter-spacing:.2em}.opening-signature{top:calc(44% + 95px);font-size:14px}.portal-brand{top:40%;width:91%;max-width:420px}.portal-content{bottom:26px}.portal-content>p{font-size:16px}.opening-copy{inset:0}.journey-media{inset:0}}

@media(max-width:700px){.journey-actions{gap:10px;font-size:11px;white-space:nowrap}.journey-actions button{gap:7px}.journey-actions .sound-icon{width:17px}}

.journey-enable{position:absolute;bottom:125px;left:var(--gutter);z-index:5;padding:12px 18px;border:1px solid var(--bone);background:var(--ink);font-size:15px}.journey-enable span{display:block;font-size:12px;color:var(--bone)}
@media(max-width:700px){.journey-enable{bottom:170px;font-size:14px}.no-motion .journey-actions{flex-wrap:wrap}}

/* Fill the visible viewport: no reserved black band beneath the scene. */
.journey{height:calc(100vh + var(--travel));height:calc(100dvh + var(--travel))}.journey-pin{height:100vh;height:100dvh;min-height:0}.journey-media{inset:0}.no-motion .journey{height:100vh;height:100dvh}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .journey{height:100vh;height:100dvh}}

/* The threshold: a warm basalt glow behind the logo, deepening to ink at the edges, with a fine grain.
   Shared by the welcome gate and the homepage veil so the handoff is seamless. */
:root{--threshold-y:47%;--threshold:radial-gradient(ellipse 42% 38% at 50% var(--threshold-y),rgba(155,73,18,.13),rgba(116,64,32,.05) 55%,transparent 100%),radial-gradient(ellipse 95% 85% at 50% var(--threshold-y),#2B2824 0%,#211F1B 45%,#1C1A17 72%,#12100E 100%);--grain:url('grain.svg')}
.opening-veil::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.07;pointer-events:none}
@media(max-width:700px){:root{--threshold-y:45%}}
/* Menus wait for the first scroll, then stay pinned while the journey plays. */
.menus-on-scroll .site-head{position:fixed;opacity:0;visibility:hidden}
.menus-on-scroll .journey-actions{opacity:0;visibility:hidden}
