@font-face{font-family:Manrope;src:url('assets/manrope.ttf');font-display:swap}@font-face{font-family:DM;src:url('assets/dm.ttf');font-display:swap}:root{--night:#0a1916;--deep:#10251f;--cream:#eeece3;--gold:#c5ad80;--muted:#9ca9a0;--line:#eeece329;--pad:5vw}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--night);color:var(--cream);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
::selection{background:var(--gold);color:var(--night)}
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,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}
button{border:0}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500}
em,.serif{font-family:Georgia,serif;font-weight:400}
em{color:var(--gold)}
img{display:block;width:100%;height:100%;object-fit:cover}
.skip{position:fixed;top:-100px;left:20px;background:var(--cream);color:var(--night);padding:12px;z-index:100}
.skip:focus{top:15px}
.reading-progress{height:2px;background:var(--gold);position:fixed;top:0;left:0;z-index:80;width:100%;transform:scaleX(0);transform-origin:left}
.hero{position:relative;min-height:760px;height:100svh;max-height:1200px;overflow:hidden}
.hero-image{position:absolute;inset:-7%;background:url('assets/hero.webp?v=a85593b2473a') center/cover;will-change:transform;transform:scale(1.04)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07171390 0%,transparent 75%),linear-gradient(0deg,#0a1916 0%,transparent 22%)}
.hero-topline{position:absolute;left:var(--pad);right:var(--pad);top:135px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#c2cdc5}
.hero-content{position:absolute;left:var(--pad);top:25%;width:64%;will-change:transform,opacity}
.overline{font-size:10px;letter-spacing:2.1px;line-height:1.6}
.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:middle}
h1{font-size:clamp(85px,10.5vw,170px);line-height:.97;letter-spacing:-.065em;margin:26px 0 30px}
h1>span{display:block}
h1 .serif{font-size:1.09em;letter-spacing:-.075em;color:var(--gold);font-style:italic;margin-left:4px}
.hero-bottom{display:flex;align-items:center;gap:60px}
.hero-bottom p{font-size:13px;line-height:1.8;color:#d1d8d1}
.round-link{display:flex;align-items:center;justify-content:center;border:1px solid #d1c7ac90;border-radius:50%;width:66px;height:66px;transition:background .3s}
.round-link:hover{background:var(--gold);color:var(--night)}
.round-link span{font-size:30px}
.hero-footer{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.6px;color:#a7b9ae}
.scroll-cue{display:flex;gap:15px;align-items:center}
.scroll-line{display:block;height:42px;width:1px;background:#a1a894;position:relative;overflow:hidden}
.scroll-line:after{content:'';position:absolute;background:#fff;width:1px;height:15px;animation:scrollCue 2s infinite}
.hero-index{position:absolute;right:var(--pad);top:51%;font-size:10px;writing-mode:vertical-rl;letter-spacing:4px;color:#d3c7a8}
@keyframes scrollCue{from{top:-15px}to{top:42px}}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:24px 0;color:#b9c0b2}
.ticker>div{width:max-content;display:flex;align-items:center;gap:45px;font-family:Manrope,sans-serif;font-size:16px;letter-spacing:5px;animation:marquee 36s linear infinite}
.ticker span{font-size:25px;color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}.manifesto{height:190vh;position:relative}
.manifesto-pin{position:sticky;top:0;height:100svh;min-height:620px;display:flex;flex-direction:column;justify-content:space-between;padding:65px var(--pad)}
.section-kicker{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:var(--muted)}
.manifesto-layout{display:grid;grid-template-columns:1fr 2.5fr;gap:9vw;align-items:center}
.reveal-words{font-size:clamp(32px,4.4vw,66px);line-height:1.23;letter-spacing:-2px;font-weight:500}
.reveal-words span{opacity:.2;transition:opacity .15s}
.reveal-words span.lit{opacity:1}
.manifesto-foot{display:flex;gap:25px;margin-top:35px;align-items:start}
.manifesto-foot p{color:var(--muted);font-size:12px;line-height:1.8}
.tiny-line{width:45px;height:1px;background:var(--gold);margin-top:10px}
.orbit{width:200px;height:200px;position:relative;display:grid;place-items:center;color:var(--gold);margin:auto}
.orbit-ring{position:absolute;inset:0;border:1px solid #c5ad8045;border-radius:50%}
.orbit-ring:before,.orbit-ring:after{content:'';position:absolute;inset:15px;border:1px solid #c5ad8025;border-radius:50%}
.orbit-ring:after{inset:-12px;border-style:dashed;opacity:.4}
.orbit>span{font-family:Georgia,serif;font-style:italic;font-size:90px;line-height:.8;text-align:center}
.orbit-small{font-family:DM,sans-serif;display:block;font-size:8px;letter-spacing:5px;font-style:normal;margin-top:15px}
.orbit small{position:absolute;bottom:-45px;font-size:8px;letter-spacing:1.5px;white-space:nowrap}
.chapter-track{height:1px;background:var(--line)}
.chapter-track span{display:block;height:1px;background:var(--gold);width:0}
.craft-scene{height:88svh;min-height:600px;position:relative;overflow:hidden}
.craft-scene>img{height:125%;position:absolute;top:-12%;will-change:transform}
.craft-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#0a1916e0,transparent 80%),linear-gradient(90deg,#0a191650,transparent)}
.craft-label{position:absolute;left:var(--pad);bottom:95px}
.craft-label .overline{color:#dfd4bb}
.craft-label h2{font-size:clamp(32px,4.7vw,70px);line-height:1.18;letter-spacing:-2px;margin-top:24px}
.craft-circle{position:absolute;right:8%;bottom:110px;border:1px solid #e4d6b980;border-radius:50%;width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;line-height:1.7;letter-spacing:1px;background:#11231d40;backdrop-filter:blur(6px)}
.craft-circle b{font-size:28px;font-weight:400}
.image-note{position:absolute;bottom:25px;right:var(--pad);font-size:8px;letter-spacing:2px;color:#b8c0b3}
.projects-scroll{height:260vh;position:relative;background:var(--cream);color:var(--night)}
.projects-pin{height:100svh;min-height:650px;position:sticky;top:0;padding:52px 0 28px;display:flex;flex-direction:column;justify-content:space-between}
.project-heading{display:flex;align-items:end;justify-content:space-between;padding:0 var(--pad) 30px}
.project-heading .overline{color:#526258;margin-bottom:15px}
.project-heading h2{font-size:clamp(34px,4.4vw,66px);line-height:1.1;letter-spacing:-2px}
.project-heading em{color:#79663f}
.project-counter{font-size:22px}
.project-counter>span:nth-child(2){color:#92998d;font-size:14px}
.project-counter small{font-size:8px;letter-spacing:1.4px;display:block;margin-top:8px}
.projects-window{overflow:hidden;width:100%;flex:1;min-height:0}
.projects-track{display:flex;gap:3vw;padding:0 var(--pad);height:100%;width:max-content;will-change:transform}
.project-card{position:relative;width:68vw;max-width:1100px;height:100%;min-height:340px;overflow:hidden;text-align:left;background:var(--night);color:var(--cream);padding:0}
.project-card img{transition:transform 1s;opacity:.87}
.project-card:hover img{transform:scale(1.035)}
.project-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071611ed,transparent 65%)}
.project-tag{position:absolute;top:25px;left:30px;font-size:9px;letter-spacing:2px;z-index:1}
.project-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;display:flex;justify-content:space-between;align-items:end}
.project-caption small{font-size:9px;letter-spacing:2px;color:#c5b899}
.project-caption h3{font-size:clamp(28px,3.4vw,48px);letter-spacing:-1.5px;margin:12px 0 8px}
.project-caption p{font-size:12px;color:#d0d6cc}
.project-arrow{border:1px solid #ffffff60;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:24px}
.projects-baseline{display:flex;justify-content:space-between;align-items:center;padding:23px var(--pad) 0;font-size:8px;letter-spacing:1px;color:#657164}
.slide-dots{display:flex;gap:8px}
.slide-dots i{width:22px;height:2px;background:#c4c9be}
.slide-dots i.active{background:#274b38}
.expertise{padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.expertise-side .overline{color:var(--gold)}
.expertise h2{font-size:clamp(32px,3.9vw,58px);letter-spacing:-1.7px;line-height:1.2;margin:27px 0}
.expertise h2 em{font-size:.86em}
.expertise-side p{font-size:13px;color:var(--muted);line-height:1.8}
.underlink{font-size:12px;display:inline-flex;gap:35px;padding-bottom:10px;border-bottom:1px solid var(--gold);margin-top:30px}
.material-strip{display:flex;gap:7px;margin-top:45px}
.material-strip span{height:80px;width:80px;display:flex;align-items:end;padding:8px;font-size:8px;letter-spacing:1px;background:repeating-linear-gradient(90deg,#705f41,#705f41 10px,#a38c60 11px,#4d452f 13px)}
.material-strip span:nth-child(2){background:linear-gradient(120deg,#26342e,#9a9d85,#3a493d)}
.material-strip span:nth-child(3){background:radial-gradient(ellipse at top,#365446,#091e18)}
.service-list details{border-top:1px solid var(--line);padding:25px 0}
.service-list details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px}
summary::-webkit-details-marker{display:none}
summary>span{font-size:9px;color:var(--gold)}
summary h3{font-size:22px;letter-spacing:-.5px}
summary b{margin-left:auto;font-size:27px;font-weight:400;color:var(--gold);transition:transform .3s}
details[open] summary b{transform:rotate(45deg)}
.service-body{padding:20px 35px 5px;font-size:13px;color:var(--muted);line-height:1.8}
.service-body span{display:block;font-size:8px;letter-spacing:1px;color:var(--gold);margin-top:24px}
.process{background:#142b23;padding:70px var(--pad) 60px}
.process-title{display:flex;align-items:end;justify-content:space-between;margin:45px 0}
.process-title h2{font-size:58px;letter-spacing:-2px}
.process-title p{font-size:12px;line-height:1.8;color:var(--muted)}
.process-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-tabs button{background:none;text-align:left;padding:25px 15px;display:flex;align-items:center;gap:15px;transition:background .25s;font-size:13px}
.process-tabs button small{font-size:9px;opacity:.6}
.process-tabs button span{margin-left:auto}
.process-tabs button[aria-selected=true]{background:var(--gold);color:var(--night)}
.process-panel{display:flex;align-items:center;gap:55px;min-height:240px;padding:40px 15px}
.process-big{font-family:Georgia,serif;font-size:120px;color:#c5ad803b;font-style:italic}
.process-panel h3{font-size:25px;letter-spacing:-.5px;margin-bottom:15px}
.process-panel p{max-width:540px;font-size:13px;line-height:1.8;color:#bbc6bc}
.process-symbol{font-size:90px;margin-left:auto;color:var(--gold)}
.contact{padding:85px var(--pad) 65px;background:#d1c3a7;color:#15281e}
.contact-top{display:flex;justify-content:space-between}
.availability{font-size:9px;letter-spacing:1.5px}
.availability i{display:inline-block;width:5px;height:5px;background:#375437;border-radius:50%;margin-right:9px}
.contact-head{display:flex;justify-content:space-between;align-items:center;padding:55px 0}
.contact-head h2{font-size:clamp(65px,10vw,155px);letter-spacing:-.06em;line-height:.98}
.contact-head em{color:inherit}
.contact-arrow{width:130px;height:130px;border:1px solid #15281e70;border-radius:50%;display:grid;place-items:center;font-size:70px;transition:background .3s}
.contact-head:hover .contact-arrow{background:#15281e;color:#d1c3a7}
.contact-bottom{border-top:1px solid #15281e40;padding-top:35px;display:flex;justify-content:space-between;gap:30px;font-size:12px;line-height:1.9}
.contact-bottom>div{display:flex;flex-direction:column}
.whatsapp{align-self:end;border-bottom:1px solid #15281e60;font-size:11px}
.pointer{position:fixed;z-index:20;width:90px;height:90px;border-radius:50%;background:var(--gold);color:var(--night);font-size:9px;letter-spacing:1px;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s,transform .2s}
.pointer.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
dialog{color:var(--cream);border:1px solid #d4c6a733;padding:0;background:var(--night)}
dialog::backdrop{background:#020c0bd6;backdrop-filter:blur(10px)}
.close-project{background:transparent;border:1px solid #ddd2bb50;border-radius:30px;padding:12px 20px;font-size:10px;letter-spacing:1px}
.project-dialog{width:min(1050px,94vw);max-height:90svh;overflow:auto}
.project-dialog>img{height:45vh;min-height:240px}
.close-project{position:absolute;right:18px;top:18px;background:#0a1916d9;z-index:1}
.project-dialog-copy{padding:38px 5%}
.project-dialog h2{font-size:42px;letter-spacing:-1px;margin:16px 0}
.project-description{color:var(--muted);font-size:14px;line-height:1.8;max-width:700px}
.project-facts{display:flex;gap:60px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0}
.project-facts span{font-size:9px;letter-spacing:1px;color:var(--muted)}
.project-facts b{display:block;color:var(--cream);margin-top:10px;font-size:12px;font-weight:400;letter-spacing:0}
.disclosure{font-size:11px;color:var(--muted);line-height:1.7}
.dialog-contact{display:inline-block;padding:14px 0;border-bottom:1px solid var(--gold);font-size:10px;letter-spacing:1px;margin-top:15px}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}
.reveal.visible{opacity:1;transform:none}

@media(min-width:1600px){:root{--pad:7vw}
}
@media(max-width:900px){.hero-topline{top:110px}
.hero-content{width:80%}
.manifesto-layout{grid-template-columns:1fr 3fr;gap:40px}
.orbit{width:135px;height:135px}
.orbit>span{font-size:65px}
.orbit small{font-size:6px}
.expertise{gap:5vw}
.process-tabs button{gap:8px;padding:22px 10px;font-size:11px}
.process-panel{gap:25px}
.contact-bottom{flex-wrap:wrap}
.craft-circle{width:110px;height:110px;right:5%}
.project-card{width:80vw}
}
@media(max-width:600px){:root{--pad:6vw}
.hero{min-height:690px;max-height:950px}
.hero-topline{top:102px;font-size:7px;letter-spacing:1px}
.hero-topline span:last-child{max-width:125px;text-align:right}
.hero-image{background-position:62% center;inset:-4%}
.hero-shade{background:linear-gradient(90deg,#071713a0,transparent),linear-gradient(0deg,#0a1916 1%,transparent 65%)}
.hero-content{top:29%;width:88%}
.hero-content .overline{font-size:7px;letter-spacing:1.5px}
h1{font-size:clamp(71px,18vw,105px);margin-top:25px}
.hero-bottom{gap:28px}
.hero-bottom p{font-size:12px}
.round-link{width:55px;height:55px}
.hero-footer{font-size:7px;bottom:25px}
.hero-caption{display:none}
.coordinates{font-size:7px}
.hero-index{display:none}
.ticker{padding:17px 0}
.ticker>div{font-size:11px;gap:25px;letter-spacing:3px}
.ticker span{font-size:18px}
.manifesto{height:145vh}
.manifesto-pin{min-height:650px;padding:40px var(--pad)}
.section-kicker{font-size:7px;letter-spacing:1px;gap:20px}
.manifesto-layout{display:block}
.orbit{display:none}
.reveal-words{font-size:clamp(31px,8vw,43px);letter-spacing:-1.4px}
.manifesto-foot{margin-top:35px}
.craft-scene{height:75svh;min-height:540px}
.craft-scene>img{object-position:60% center}
.craft-label{bottom:75px}
.craft-label .overline{font-size:7px;letter-spacing:1px}
.craft-label h2{font-size:34px;letter-spacing:-1px;max-width:330px}
.craft-circle{top:40px;bottom:auto;width:86px;height:86px;font-size:8px}
.craft-circle b{font-size:20px}
.projects-scroll{height:auto}
.projects-pin{height:auto;min-height:0;position:static;padding:45px 0 25px}
.project-heading{align-items:start;gap:20px;padding-bottom:25px}
.project-heading h2{font-size:35px;max-width:220px}
.project-heading .overline{font-size:8px;letter-spacing:1px}
.project-counter{font-size:18px;white-space:nowrap}
.project-counter small{display:none}
.projects-window{overflow:visible}
.projects-track{display:grid;width:auto;transform:none!important;padding:0 var(--pad);gap:18px}
.project-card{width:100%;max-width:none;height:440px;min-height:0}
.project-tag{top:20px;left:20px;font-size:8px}
.project-caption{bottom:24px;left:20px;right:20px}
.project-caption h3{font-size:31px}
.project-caption small{font-size:8px}
.project-arrow{width:40px;height:40px}
.projects-baseline{font-size:7px;letter-spacing:.4px}
.slide-dots{display:none}
.expertise{display:block;padding:65px var(--pad)}
.expertise h2{font-size:43px;line-height:1.12}
.material-strip{margin:30px 0 45px}
.material-strip span{height:55px;width:70px}
.service-list summary h3{font-size:20px}
.process{padding:40px var(--pad)}
.process-title{display:block;margin:35px 0}
.process-title h2{font-size:44px}
.process-title p{margin-top:20px}
.process-tabs{grid-template-columns:1fr 1fr}
.process-tabs button{padding:20px 10px;font-size:11px}
.process-panel{gap:20px;padding:30px 0;align-items:start}
.process-big{font-size:62px;line-height:1}
.process-panel h3{font-size:20px}
.process-panel p{font-size:12px}
.process-symbol{display:none}
.contact{padding:45px var(--pad)}
.contact-top .overline{font-size:8px;letter-spacing:1px}
.availability{display:none}
.contact-head{padding:40px 0;align-items:end;gap:10px}
.contact-head h2{font-size:clamp(49px,12vw,72px)}
.contact-arrow{width:55px;height:55px;font-size:33px;flex-shrink:0;margin-bottom:5px}
.contact-bottom{display:block;padding-top:25px}
.contact-bottom>div{margin:22px 0}
.whatsapp{display:inline-block}
.project-dialog-copy{padding:28px 6%}
.project-dialog h2{font-size:31px}
.project-facts{gap:20px;flex-wrap:wrap}
.pointer{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.hero-image,.hero-content,.craft-scene>img{transform:none!important}
.reveal{opacity:1;transform:none}
.reveal-words span{opacity:1}
.manifesto{height:auto}
.manifesto-pin{position:static;height:auto;min-height:600px;gap:70px}
.projects-scroll{height:auto}
.projects-pin{position:static;height:auto}
.projects-track{transform:none!important;display:grid;width:auto;gap:25px}
.project-card{width:100%;height:65vh}
.projects-window{overflow:visible}
.pointer{display:none}
}
@keyframes arrival{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-content h1>span{animation:arrival 1.1s cubic-bezier(.2,.8,.2,1) both}
.hero-content h1>span:last-child{animation-delay:.16s}
.hero-content .overline{animation:arrival .9s .1s both}
.hero-bottom{animation:arrival 1s .3s both}

@media(max-width:600px){.project-counter{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-content{opacity:1!important}
.hero-content h1>span,.hero-content .overline,.hero-bottom{animation:none!important}
.project-counter{display:none}
}

@media(max-width:760px){.hero-image{background-image:url('/assets/hero-mobile.webp?v=4566894c2b4f')}}
