@font-face{font-family:Instrument Serif;src:url("../../assets/fonts/InstrumentSerif-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:Instrument Serif;src:url("../../assets/fonts/InstrumentSerif-Italic.ttf") format("truetype");font-style:italic;font-display:swap}
@font-face{font-family:Instrument Sans;src:url("../../assets/fonts/InstrumentSans-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url("../../assets/fonts/IBMPlexMono-Regular.ttf") format("truetype");font-display:swap}
:root{--night:#061426;--deep:#0a1f39;--blue:#183b5e;--mist:#d9d9ce;--paper:#efeee5;--amber:#f3a746;--ink:#0a1520;--white:#fbfaf5;--serif:"Instrument Serif",Georgia,serif;--sans:"Instrument Sans",Arial,sans-serif;--mono:"IBM Plex Mono",monospace;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}
.skip-link{position:fixed;z-index:999;top:8px;left:8px;transform:translateY(-160%);padding:12px 16px;background:var(--white);color:var(--ink)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:80;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px 38px;color:var(--white);mix-blend-mode:difference}
.site-header.is-scrolled{padding-block:14px}.brand{display:flex;gap:6px;align-items:baseline;text-decoration:none;font:30px/1 var(--serif)}.brand b{font:12px/1 var(--mono);border:1px solid;padding:4px}
.header-status{margin:0;font:10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.desktop-nav{justify-self:end;display:flex;gap:24px}.desktop-nav a,.menu-button{font:11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav a:focus-visible{border-color:currentColor}
.menu-button{display:none;border:0;background:none;color:inherit;padding:12px}.menu-button i{display:inline-block;width:24px;border-top:1px solid;margin-left:8px;vertical-align:middle}
.menu-drawer{position:fixed;z-index:70;inset:0;background:var(--paper);padding:110px 24px 40px;color:var(--ink)}.menu-drawer>p{font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.menu-drawer nav{display:grid}.menu-drawer a{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #18253742;text-decoration:none;font:clamp(28px,8vw,48px)/1 var(--serif)}.menu-drawer a span{font:10px var(--mono)}
.hero{position:relative;min-height:100svh;background:var(--night);color:var(--white);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(3,11,24,.64),rgba(3,11,24,.08) 48%,rgba(3,11,24,.28)),linear-gradient(0deg,rgba(3,9,20,.72),transparent 46%)}
.hero-mark{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.hero-mark span{width:min(56vw,760px);aspect-ratio:1.9;border:1px solid rgba(255,255,255,.28);transform:scaleX(0);opacity:0;animation:line-open 1.1s .2s var(--ease) forwards}
.hero-title-wrap{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:100px 24px 130px}.hero-title-wrap p{margin:8px;font:10px var(--mono);letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:0;font:clamp(84px,15vw,230px)/.72 var(--serif);font-weight:400;letter-spacing:-.07em}.hero h1 em{font-size:.33em;letter-spacing:0;vertical-align:top;margin-left:10px}
.hero-bottom{position:absolute;z-index:2;left:38px;right:38px;bottom:30px;display:flex;align-items:end;justify-content:space-between;gap:32px}.hero-note{max-width:360px;margin:0;font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}.hero-action{width:min(360px,32vw);display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid;text-decoration:none;text-transform:uppercase;font:11px var(--mono);letter-spacing:.08em}.hero-action b{font-size:22px;font-weight:400}
@keyframes line-open{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
.light-section{padding:150px 6vw 120px;background:var(--paper)}.eyebrow{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.opening-copy{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:9vw;align-items:end;margin-top:72px}.opening h2,.section-head h2,.visit h2,.principles h2,.limits h2{margin:0;font:clamp(52px,7.5vw,118px)/.9 var(--serif);font-weight:400;letter-spacing:-.04em}.opening h2 em,.section-head h2 em,.visit h2 em,.principles h2 em,.limits h2 em{color:var(--blue)}.opening-copy>div{font-size:17px;line-height:1.55}.truth-note{padding-top:24px;border-top:1px solid #14263c4a;font-size:13px}.light-line{height:1px;margin-top:110px;background:#0c223d40}.light-line i{display:block;width:18%;height:1px;background:var(--amber)}
.atmospheres{background:var(--deep);color:var(--white);padding:120px 0}.section-head{display:grid;grid-template-columns:1fr 2fr auto;gap:40px;align-items:end;padding:0 6vw 70px}.section-head .eyebrow{align-self:start}.section-head h2{font-size:clamp(58px,8vw,126px)}.section-head h2 em{color:#e6aa59}.rail-controls{display:flex;align-items:center;gap:12px}.rail-controls button{width:44px;height:44px;border:1px solid #ffffff57;background:none;color:white;cursor:pointer}.rail-controls button:disabled{opacity:.3}.rail-controls>span{position:relative;width:84px;height:1px;background:#ffffff3d;overflow:hidden}.rail-controls i{position:absolute;width:33.33%;height:100%;background:var(--amber);transform:translateX(0);transition:transform .3s}
.atmosphere-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(74vw,980px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6vw 30px;scrollbar-width:none}.atmosphere-rail::-webkit-scrollbar{display:none}.atmosphere-card{position:relative;min-height:620px;scroll-snap-align:start;overflow:hidden;background:#0b1930;border:1px solid #ffffff26}.card-number{position:absolute;z-index:3;top:24px;left:24px;font:10px var(--mono)}.card-scene{position:absolute;inset:0;overflow:hidden}.atmosphere-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061426e8 0%,transparent 64%)}.card-copy{position:absolute;z-index:2;left:38px;right:38px;bottom:36px}.card-copy p,.card-copy span{font:10px var(--mono);text-transform:uppercase;letter-spacing:.14em}.card-copy h3{margin:12px 0 28px;font:clamp(54px,7vw,98px)/.82 var(--serif);font-weight:400}
.atmosphere-ceremony{background:linear-gradient(145deg,#102d51,#0a1628)}.fabric{position:absolute;top:-12%;height:125%;width:30%;background:linear-gradient(90deg,transparent,#f2b66a66,transparent);filter:blur(2px);transform:skewX(-8deg)}.fabric-a{left:30%}.fabric-b{left:58%;opacity:.55}.atmosphere-table{background:radial-gradient(circle at 50% 48%,#b16f2361 0 8%,transparent 35%),#100f16}.table{position:absolute;left:10%;right:10%;bottom:27%;height:13%;background:linear-gradient(#5d3d26,#1d1613);transform:perspective(500px) rotateX(55deg);box-shadow:0 -25px 90px #f7a94e4f}.glow{position:absolute;width:8px;height:8px;background:#ffbf6d;border-radius:50%;box-shadow:0 0 35px 10px #ffb75f}.glow-a{left:38%;top:38%}.glow-b{left:62%;top:38%}.atmosphere-meeting{background:linear-gradient(#071a32 0 62%,#143351 62%)}.horizon{position:absolute;left:0;right:0;top:62%;height:1px;background:#fab45a}.beam{position:absolute;left:38%;top:0;width:32%;height:100%;background:linear-gradient(90deg,transparent,#f7a34b26,transparent);transform:skewX(-12deg)}
.visit{display:grid;grid-template-columns:1fr 1fr;min-height:980px;background:var(--mist)}.visit-image{position:relative;min-height:760px;overflow:hidden}.visit-image img{width:100%;height:100%;object-fit:cover;object-position:70% center;filter:saturate(.75)}.visit-image>p{position:absolute;left:24px;bottom:20px;max-width:310px;margin:0;padding:9px 12px;background:#071426d6;color:white;font:9px/1.4 var(--mono);text-transform:uppercase}.visit-panel{padding:110px clamp(34px,6vw,100px);align-self:center}.visit-panel>p:not(.eyebrow){max-width:570px;line-height:1.5}.visit h2{font-size:clamp(54px,6vw,92px);margin:36px 0}.visit-form{display:grid;gap:30px;margin-top:44px}.visit-form fieldset{border:0;padding:0;margin:0}.visit-form legend{margin-bottom:14px;font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.visit-form label{display:block;border-top:1px solid #0b1c2f38}.visit-form label:last-child{border-bottom:1px solid #0b1c2f38}.visit-form input{position:absolute;opacity:0}.visit-form label span{display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:10px 2px;cursor:pointer}.visit-form label span::after{content:"";width:13px;height:13px;border:1px solid;border-radius:50%}.visit-form input:checked+span::after{background:var(--amber);box-shadow:inset 0 0 0 3px var(--mist)}.visit-form input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.build-button{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 18px;background:var(--night);color:white;border:0;text-transform:uppercase;font:11px var(--mono);letter-spacing:.08em;cursor:pointer}.build-button b{font-size:20px}.visit-result{margin-top:28px;padding:24px;background:var(--paper);border-left:4px solid var(--amber)}.visit-result p,.visit-result span{font:9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}.visit-result strong{display:block;margin:14px 0;font:30px/1.1 var(--serif)}
.principles{position:relative;overflow:hidden;background:var(--night);color:white;padding:130px 6vw 150px}.beam-path{position:absolute;inset:0;opacity:.45;pointer-events:none}.beam-path svg{width:100%;height:100%}.beam-path path{fill:none;stroke:#f3a746;stroke-width:2;stroke-dasharray:8 14;vector-effect:non-scaling-stroke}.principles-title{position:relative;z-index:1}.principles h2{margin-top:42px}.principles h2 em{color:#efb25f}.principle-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:140px}.principle-list article{padding-top:20px;border-top:1px solid #ffffff44}.principle-list span{font:10px var(--mono)}.principle-list h3{font:38px/1 var(--serif);font-weight:400}.principle-list p{max-width:330px;color:#d2d7db;line-height:1.5}
.limits{padding:130px 6vw;background:var(--paper)}.limits h2{margin:50px 0 90px}.limits-grid{border-top:1px solid #10223b}.limits details{border-bottom:1px solid #10223b}.limits summary{display:flex;align-items:center;justify-content:space-between;min-height:82px;cursor:pointer;font:clamp(22px,3vw,40px) var(--serif);list-style:none}.limits summary::after{content:"+";font:22px var(--mono)}.limits details[open] summary::after{content:"−"}.limits details p{max-width:650px;margin:0 0 32px;line-height:1.55}
.site-footer{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:520px;padding:90px 6vw;background:#020b16;color:white;overflow:hidden}.site-footer>div p{font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.site-footer>div a{font:28px var(--serif)}.footer-mark{position:absolute;left:5vw;bottom:-4vw}.footer-mark::before{content:"Cais";font:clamp(120px,22vw,330px)/.75 var(--serif);letter-spacing:-.06em;color:#edf3f638}.footer-mark::after{content:"12";font:12px var(--mono);vertical-align:top;color:var(--amber);margin-left:12px}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding:18px 20px;mix-blend-mode:normal;background:linear-gradient(#071426cc,transparent)}.header-status,.desktop-nav{display:none}.menu-button{display:block}.hero-title-wrap{padding-inline:16px}.hero h1{font-size:clamp(86px,25vw,150px)}.hero-bottom{left:20px;right:20px;bottom:24px}.hero-note{max-width:48%;font-size:9px}.hero-action{width:46vw}.opening-copy{grid-template-columns:1fr;gap:48px}.section-head{grid-template-columns:1fr auto}.section-head>.eyebrow{grid-column:1/-1}.section-head h2{font-size:clamp(58px,12vw,100px)}.atmosphere-rail{grid-auto-columns:84vw}.atmosphere-card{min-height:560px}.visit{grid-template-columns:1fr}.visit-image{min-height:70svh}.principle-list{grid-template-columns:1fr;margin-top:90px}.principle-list article{display:grid;grid-template-columns:44px 1fr;column-gap:20px}.principle-list h3{margin-top:0}.principle-list p{grid-column:2}.site-footer{grid-template-columns:1fr}}
@media(max-width:560px){.hero-image{object-position:68% center}.hero-title-wrap{place-content:start center;padding-top:27vh}.hero-title-wrap p{font-size:8px}.hero h1{font-size:25vw}.hero-bottom{display:grid;gap:14px}.hero-note{max-width:100%;order:2}.hero-action{width:100%;padding:15px 0}.opening,.atmospheres,.principles,.limits{padding-top:90px;padding-bottom:90px}.opening-copy{margin-top:48px}.opening h2,.visit h2,.principles h2,.limits h2{font-size:13vw}.section-head{padding:0 20px 48px}.section-head h2{font-size:14vw}.rail-controls{grid-column:1/-1}.atmosphere-rail{grid-auto-columns:89vw;padding-inline:20px}.atmosphere-card{min-height:500px}.card-copy{left:24px;right:24px}.card-copy h3{font-size:17vw}.visit-panel{padding:80px 24px}.principles,.limits,.light-section{padding-inline:24px}.site-footer{padding:70px 24px;min-height:460px}.footer-mark{bottom:-1vw}.limits summary{font-size:27px}.visit-result strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-mark span{animation:none;transform:none;opacity:1}.js .reveal{opacity:1;transform:none;transition:none}.beam-path{opacity:.22}}
