:root{color-scheme:dark;--ink:#111411;--paper:#f0eee5;--quiet:#b3b6ab;--red:#db3c2d;--line:#f0eee52e;--pad:clamp(24px,4vw,72px);--ease:cubic-bezier(.22,.7,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;color:var(--paper);background:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:1px solid var(--paper);outline-offset:5px}::selection{background:var(--red);color:var(--paper)}
.skip-link{position:fixed;z-index:30;left:20px;top:15px;transform:translateY(-200%);padding:15px;background:var(--paper);color:var(--ink)}.skip-link:focus{transform:none}
#scene{position:fixed;inset:0;background:#21251f url('assets/espacio-3085.webp') center/cover}#scene canvas{display:block;width:100%;height:100%}.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#090c0ae8, #090c0a70 29%,transparent 60%),linear-gradient(0deg,#090c0aed,transparent 35%,transparent 78%,#090c0a90)}
header{position:fixed;inset:0 0 auto;z-index:8;display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:30px;padding:28px var(--pad)}.brand{display:block;width:138px}.brand img{display:block;width:100%;height:auto}.studio-descriptor{font-size:11px;line-height:1.5;margin:2px 0 0;color:#d4d6cd}.site-nav{display:flex;align-items:center;gap:27px;font-size:12px}.site-nav a{min-height:40px;display:flex;align-items:center;position:relative;gap:18px}.site-nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-nav a:hover::after,.site-nav a[aria-current]::after{transform:scaleX(1)}.site-nav .contact-link{margin-left:20px}.contact-link span{color:var(--red);font-size:18px}
main{position:relative;pointer-events:none}.chapter{height:150vh}.chapter:last-child{height:100vh}.copy{position:fixed;left:var(--pad);top:26vh;max-width:47vw;visibility:hidden;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .65s var(--ease);pointer-events:none}.chapter.active .copy{visibility:visible;opacity:1;transform:none}.eyebrow,.room-kicker{font-family:monospace;font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;margin:0 0 27px;color:var(--quiet)}.eyebrow::before{content:'';display:inline-block;vertical-align:1px;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:12px}h1,h2{font-weight:500;font-size:clamp(56px,6.7vw,104px);line-height:.96;letter-spacing:-.065em;margin:0 0 29px;text-wrap:balance}em{font:inherit;color:inherit}.copy>p:last-of-type{font-size:13px;line-height:1.7;color:#c9ccc1;margin:0;max-width:270px}.inline-button{pointer-events:auto;border:0;border-bottom:1px solid var(--line);background:none;margin-top:18px;min-height:40px;padding:8px 0;font-size:11px}
.set-selector{position:fixed;left:var(--pad);right:var(--pad);bottom:69px;z-index:5}.chapters{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.chapters a{display:grid;grid-template-columns:25px 1fr;column-gap:12px;padding:20px 22px 22px 0;border-top:1px solid var(--line);position:relative;color:#acb1a7;transition:color .3s}.chapters a::before{content:'';position:absolute;top:-1px;left:0;right:22px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.chapters a[aria-current]{color:var(--paper)}.chapters a[aria-current]::before{transform:scaleX(1)}.chapters a:hover{color:white}.chapters a span{font-family:monospace;font-size:10px;padding-top:3px;color:#93998f}.chapters a[aria-current] span{color:var(--red)}.chapters a strong{font-size:16px;font-weight:400;letter-spacing:-.02em}.chapters a small{grid-column:2;font-size:10px;line-height:1.5;margin-top:7px;color:#999f94}#set-status{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
.backdrop-controls{position:absolute;bottom:110px;right:0;display:flex;gap:5px;align-items:center;font-size:10px}.backdrop-controls[hidden]{display:none}.backdrop-controls>span{color:var(--quiet);margin-right:14px}.backdrop-controls button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid transparent;background:#111411aa;font-size:10px}.backdrop-controls button[aria-pressed=true]{border-color:#ffffff60}.backdrop-controls i{width:8px;height:8px;background:var(--swatch);border-radius:50%;border:1px solid #fff5}
footer{position:fixed;inset:auto var(--pad) 0;height:69px;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#b8bdb0}footer p{font-size:10px;margin:0}footer p span{margin:0 8px;color:#666e62}.scroll-cue{display:flex;align-items:center;gap:14px}.scroll-line{color:var(--paper);font-size:20px}.footer-tools{display:flex;align-items:center;gap:30px}footer button{min-height:44px;padding:8px 0;background:none;border:0;font-size:10px;color:inherit}.view-menu{position:relative}.view-menu summary{display:flex;align-items:center;gap:25px;min-height:44px;cursor:pointer;list-style:none}.view-menu summary::-webkit-details-marker{display:none}.view-menu summary span{font-size:17px}.view-controls{position:absolute;bottom:52px;right:0;width:160px;background:#141a15;padding:8px 16px;border:1px solid var(--line)}.view-controls button{display:block;width:100%;text-align:left}.view-controls button+button{border-top:1px solid var(--line)}.progress{position:fixed;bottom:0;left:0;right:0;height:1px;z-index:9;background:#ffffff12}.progress span{display:block;height:100%;background:var(--red);width:0}
.hide-copy .copy{opacity:0!important;visibility:hidden!important}.hide-copy .shade{background:linear-gradient(0deg,#090c0ae0,transparent 35%,transparent 80%,#090c0a70)}
#loading{position:fixed;inset:0;z-index:20;background:var(--ink);display:grid;place-items:center;margin:0;font-family:monospace;letter-spacing:.1em;font-size:11px;transition:opacity .6s}#loading.ready{opacity:0;pointer-events:none}
body.room-open,body.modal-open{overflow:hidden}.room-open .copy,.room-open .set-selector,.room-open footer,.room-open .progress{visibility:hidden!important;pointer-events:none!important;opacity:0!important}.room-open .shade{background:linear-gradient(90deg,#101510fc 0%,#101510ed 37%,#10151060 55%,#10151015 75%)}
#room-panel{position:fixed;z-index:6;top:135px;bottom:32px;left:var(--pad);width:min(520px,44vw);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff24 transparent;padding:0 35px 35px 0;scroll-padding-top:70px}#room-panel[hidden]{display:none}#room-panel:not([hidden]) #room-content{animation:enter .45s var(--ease)}.room-top{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:2;background:#111710f5;min-height:50px;border-bottom:1px solid var(--line);margin-bottom:32px}.panel-location{font-size:9px;font-family:monospace;letter-spacing:.05em;text-transform:uppercase;color:#a1a99a}.room-top button{font-size:11px;border:0;background:none;padding:10px 0;min-height:44px}.room-kicker{font-size:9px;margin-bottom:18px;color:var(--red)}#room-content h1{font-size:clamp(44px,5vw,69px);margin-bottom:25px;line-height:1}#room-content h2{font-size:30px;line-height:1.1;margin-bottom:20px}#room-content p{font-size:13px;line-height:1.8;color:#b8c0b1}#room-content .room-lead{font-size:14px;line-height:1.6;margin:0 0 28px;color:#dadcd3}.room-rule{height:1px;background:var(--line);margin:30px 0}.room-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;width:fit-content}.room-cta:hover{border-color:var(--paper)}#room-content .room-note,#room-content .draft-note{font-size:10px;color:#909b86;line-height:1.65}
.service-list{margin-top:30px;border-bottom:1px solid var(--line)}.service-option{border-top:1px solid var(--line)}.service-option summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;padding:20px 0;font-size:23px;letter-spacing:-.035em}.service-option summary::-webkit-details-marker{display:none}.service-number{align-self:flex-start;padding-top:5px;font-family:monospace;font-size:9px;color:var(--red);letter-spacing:0}.service-option summary small{display:block;font-size:10px;letter-spacing:.01em;color:#9ca58f;margin-top:9px}.service-plus{margin-left:auto;font-size:21px;transition:transform .3s}.service-option[open] .service-plus{transform:rotate(45deg)}.service-body{padding:0 0 18px 31px;animation:enter .3s var(--ease)}#room-content .service-body p{font-size:12px;margin:0 0 10px}.service-body .room-cta{width:100%;font-size:11px;border:0}.panel-primary{display:flex;justify-content:space-between;align-items:center;padding:17px 0;min-height:50px;margin:20px 0 12px;font-size:12px;border-bottom:1px solid var(--paper)}.panel-primary span{font-size:20px;color:var(--red)}
#room-content label{display:block;font-size:11px;margin:22px 0 8px}#room-content input,#room-content textarea,#room-content select{width:100%;display:block;padding:12px 0;border:0;border-bottom:1px solid #ffffff40;background:transparent;border-radius:0;font-size:14px;min-height:46px;color:var(--paper)}#room-content input::placeholder,#room-content textarea::placeholder{color:#89947e}#room-content input:focus-visible,#room-content textarea:focus-visible,#room-content select:focus-visible{outline:none;border-color:var(--paper)}#room-content textarea{min-height:95px;resize:vertical}#room-content option{background:var(--ink)}.submit-button{display:flex;justify-content:space-between;width:100%;padding:17px 18px;border:0;background:var(--paper);color:var(--ink);font-size:12px;min-height:48px}.draft-note{margin:23px 0}#form-status{padding:15px 0}
dialog{width:min(1040px,94vw);max-height:90dvh;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:30px}dialog::backdrop{background:#080c08eb}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:22px}.dialog-head span{display:block;margin-top:8px;font-size:11px;color:var(--quiet)}.dialog-head button{background:none;border:1px solid var(--line);padding:12px 16px;font-size:11px}dialog img{width:100%;display:block;margin-top:24px}dialog p{font-size:12px;line-height:1.7;color:var(--quiet)}.no-js{position:fixed;inset:0;padding:30px;background:var(--ink);z-index:30}.no-js img{width:100%;margin-top:30px}
@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.copy{top:28vh}}
@media(max-width:1000px){header{grid-template-columns:1fr auto}.studio-descriptor{display:none}.site-nav{gap:22px}.site-nav .contact-link{margin-left:4px}.copy{max-width:54vw;top:25vh}h1,h2{font-size:clamp(55px,7vw,80px)}.chapters a{column-gap:8px}.chapters a strong{font-size:14px}footer p{display:none}#room-panel{width:49vw}.room-open .shade{background:linear-gradient(90deg,#101510fc 0%,#101510e8 43%,#10151040 70%)}}
@media(max-width:700px){
 :root{--pad:22px}header{padding:20px var(--pad) 0;gap:17px;display:flex;flex-wrap:wrap;background:linear-gradient(#0b100b80,transparent)}.brand{width:110px}.site-nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}.site-nav a{min-height:40px}.site-nav .contact-link{margin:0;gap:12px}
 .copy{top:166px;max-width:calc(100% - 44px)}h1,h2{font-size:clamp(46px,12.2vw,68px);line-height:.96;margin-bottom:18px}.eyebrow{font-size:8px;margin-bottom:19px}.copy>p:last-of-type{font-size:11px;line-height:1.6}.inline-button{font-size:10px;min-height:32px;margin-top:8px}.shade{background:linear-gradient(180deg,#090c0ab8 0%,#090c0a65 34%,transparent 52%,#090c0a40 68%,#090c0aef 94%)}.chapter{height:155vh}.chapter:last-child{height:100vh}
 .set-selector{bottom:calc(68px + env(safe-area-inset-bottom))}.chapters a{grid-template-columns:1fr;gap:8px;padding:15px 8px 16px 0;min-height:72px}.chapters a span{font-size:9px;padding:0}.chapters a strong{font-size:11px}.chapters a small{display:none}.chapters a::before{right:10px}.backdrop-controls{bottom:90px;right:0;gap:0}.backdrop-controls>span{display:none}.backdrop-controls button{min-height:40px;padding:8px 10px;font-size:10px}
 footer{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);font-size:9px;gap:12px}.scroll-cue{max-width:120px;gap:9px;line-height:1.5}.scroll-line{font-size:18px}.footer-tools{gap:18px}footer button{font-size:9px}.view-menu summary{gap:12px}.view-controls button{font-size:11px}
 #room-panel{top:30svh;left:0;right:0;bottom:0;width:100%;padding:0 24px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(#111810f7,#111810f2);border-top:1px solid #ffffff45;scroll-padding-top:66px}.room-top{background:#111810;min-height:56px;margin-bottom:25px}.room-open .shade{background:linear-gradient(#090c0a60,transparent 40%)}#room-content h1{font-size:44px;margin-bottom:22px}#room-content .room-lead{font-size:13px}.room-kicker{font-size:9px}.service-option summary{font-size:21px;padding:19px 0}#room-content input,#room-content textarea,#room-content select{font-size:16px}#room-panel:has(input:focus,textarea:focus,select:focus){top:140px}dialog{padding:20px}
}
@media(max-width:700px) and (max-height:760px){.copy{top:147px}h1,h2{font-size:43px;margin-bottom:15px}.eyebrow{margin-bottom:15px}.copy>p:last-of-type{font-size:10px}}
@media(max-height:600px) and (min-width:701px){header{padding-top:18px}.brand{width:110px}.copy{top:23vh}h1,h2{font-size:52px}.eyebrow{margin-bottom:18px}.copy>p:last-of-type{font-size:11px}.set-selector{bottom:48px}.chapters a{padding-top:13px;padding-bottom:13px}.chapters a small{display:none}footer{height:48px}#room-panel{top:105px;bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}}

#loading{align-content:center;gap:28px}#loading img{display:block;width:40px;height:40px}#loading span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--quiet)}

/* v16: film finish over the 3D scene — soft vignette and fine grain. */
#scene::after{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 55% 48%,transparent 55%,#05070680 100%)}
#scene{isolation:isolate}
#scene::before{content:'';position:fixed;inset:-50%;z-index:2;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
@media (prefers-reduced-motion:no-preference){#scene::before{animation:grain 1.2s steps(6) infinite}}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
