@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@300;400;500&family=Inter:wght@300;400;500;600&display=swap');
:root{--black:#090909;--bone:#f1eee7;--red:#9f1739;--wine:#571023;--grey:#b7b4ae;--line:rgba(241,238,231,.22);--display:'Archivo Black',Impact,sans-serif;--mono:'DM Mono',monospace;--sans:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--bone);font-family:var(--sans);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip{position:fixed;top:-100px;left:20px;z-index:2000;background:var(--bone);color:var(--black);padding:12px}.skip:focus{top:10px}.progress{position:fixed;z-index:9999;left:0;top:0;width:100%;height:3px;background:#ef315e;transform:scaleX(0);transform-origin:left}.topline{height:34px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;padding:0 3vw;background:var(--red);font:9px var(--mono);letter-spacing:.1em}.topline p{text-align:center;margin:0}.topline a{text-align:right}header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3vw;background:rgba(9,9,9,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}.logo{font:24px/1 var(--display);letter-spacing:-.08em;width:max-content}.logo span{display:block;font:6px var(--mono);letter-spacing:.35em;margin-top:5px}.logo::first-letter{color:#ef315e}nav{display:flex;align-items:center;gap:29px;font:9px var(--mono);letter-spacing:.09em}nav>a{padding:9px 0;border-bottom:1px solid transparent}nav>a:hover{border-color:var(--bone)}.nav-book,.nav-x{display:none}.book-head{justify-self:end;background:transparent;border:0;color:var(--bone);font:9px var(--mono);letter-spacing:.12em;display:flex;gap:15px;align-items:center}.book-head svg,.nav-book svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.2}.hamb{display:none}
.hero{height:calc(100vh - 116px);min-height:670px;display:grid;grid-template-columns:54% 46%;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{position:relative;z-index:2;padding:6vh 0 4vh 5vw;display:flex;flex-direction:column;justify-content:space-between}.tag{font:9px var(--mono);letter-spacing:.15em}.tag span{color:#ef315e;margin-right:20px}.hero h1{font:clamp(75px,10vw,174px)/.74 var(--display);letter-spacing:-.085em;margin:0;text-transform:uppercase}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--bone)}.hero-bottom{display:flex;align-items:end;gap:7vw}.hero-bottom p{font-size:12px;line-height:1.65;color:var(--grey);margin:0}.hero-bottom button,.service-detail>button{background:var(--red);color:white;border:0;padding:18px 20px;font:9px var(--mono);letter-spacing:.1em;display:flex;align-items:center;gap:30px}.hero-bottom svg,.service-detail>button svg,.space-copy>a svg,.contact button svg,.booking form button svg,.map svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.2;transition:.3s}.hero-bottom button:hover svg,.service-detail>button:hover svg,.space-copy>a:hover svg,.contact button:hover svg,.booking form button:hover svg,.map:hover svg{transform:translateX(7px)}.hero-image{position:relative;height:100%;overflow:hidden}.hero-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--black) 0%,transparent 25%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.85) contrast(1.08);transform:scale(1.02);animation:heroZoom 8s ease-out forwards}.image-code{position:absolute;z-index:2;right:20px;bottom:20px;background:var(--bone);color:var(--black);padding:10px 13px;font:8px var(--mono)}.hero-image>i{position:absolute;z-index:2;top:20px;right:20px;font:11px var(--mono);font-style:normal}.hero-rail{position:absolute;z-index:3;right:2vw;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;display:flex;align-items:center;gap:15px;font:7px var(--mono);letter-spacing:.2em}.hero-rail svg{width:18px;height:18px;fill:none;stroke:white;stroke-width:1}.ticker{height:54px;background:var(--bone);color:var(--black);overflow:hidden;white-space:nowrap;display:flex;align-items:center}.ticker div{font:19px var(--display);word-spacing:30px;animation:ticker 20s linear infinite}.ticker b{color:var(--red)}
.manifest{background:var(--bone);color:var(--black);padding:130px 5vw;display:grid;grid-template-columns:17% 58% 25%;gap:0;border-bottom:1px solid #999}.index,.section-top>span,.work-head>span,.space-copy>span,.process-title>span,.faq-title>span,.contact-big>span{font:8px var(--mono);letter-spacing:.13em}.manifest h2{font:clamp(43px,5.3vw,88px)/.97 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:0 0 45px}.manifest h2 span{color:var(--red)}.manifest>div:nth-child(2)>p{max-width:670px;margin:0 0 0 25%;font-size:14px;line-height:1.85}.manifest aside{border-left:1px solid #aaa;padding-left:30px;display:flex;flex-direction:column;gap:19px;font:9px var(--mono)}.manifest aside b{margin-bottom:20px;color:var(--red)}
.service-section{background:var(--black);padding:120px 5vw}.section-top{display:grid;grid-template-columns:16% 1fr 25%;align-items:end;margin-bottom:80px}.section-top h2,.work-head h2,.process-title h2,.faq-title h2,.contact h2{font:clamp(55px,7vw,112px)/.78 var(--display);letter-spacing:-.075em;margin:0;text-transform:uppercase}.section-top h2 i,.work-head h2 i,.process-title h2 i,.faq-title h2 i,.contact h2 i{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--bone)}.section-top>p{font:10px/1.7 var(--mono);color:var(--grey)}.service-body{display:grid;grid-template-columns:62% 38%;border-top:1px solid var(--line)}.service-menu button{width:100%;height:100px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--bone);display:grid;grid-template-columns:50px 1.2fr 1fr 30px;gap:10px;align-items:center;text-align:left;padding:0 20px;transition:.3s}.service-menu button span{font:10px var(--mono);color:#777}.service-menu button b{font:23px var(--display);letter-spacing:-.04em;text-transform:uppercase}.service-menu button em{font:10px var(--mono);font-style:normal;color:#999}.service-menu button i{font-style:normal}.service-menu button:hover,.service-menu button.active{background:var(--bone);color:var(--black)}.service-menu button.active span,.service-menu button.active em{color:var(--red)}.service-detail{background:var(--red);padding:55px;display:flex;flex-direction:column;min-height:400px}.service-detail>span{font:8px var(--mono)}.service-detail h3{font:48px/1 var(--display);letter-spacing:-.05em;margin:70px 0 25px}.service-detail>p{font-size:13px;line-height:1.8;max-width:400px}.service-detail footer{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.35);padding-top:18px}.service-detail footer small{font:8px var(--mono)}.service-detail footer b{font:10px var(--mono)}.service-detail>button{margin-top:25px;background:var(--black);justify-content:space-between}
.work{background:var(--bone);color:var(--black);padding:120px 5vw}.work-head{display:grid;grid-template-columns:17% 1fr auto;align-items:end;margin-bottom:75px}.work-head h2 i{color:transparent;-webkit-text-stroke:1px var(--black)}.work-head p{font:8px var(--mono)}.work-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:580px 440px;gap:14px}.work figure{margin:0;position:relative;overflow:hidden;cursor:zoom-in;background:#222}.work figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .7s}.work figure:hover img{transform:scale(1.035);filter:saturate(.65)}.work-a{grid-row:1/3}.work-b{grid-column:2}.work-c{grid-column:2}.work-c img{object-position:center}.work figcaption{position:absolute;left:0;right:0;bottom:0;background:var(--bone);border-top:1px solid var(--black);padding:16px;display:flex;justify-content:space-between;font:8px var(--mono)}.work figcaption b{color:var(--red)}
.space{display:grid;grid-template-columns:60% 40%;background:#111}.space-image{height:720px;position:relative}.space-image img{width:100%;height:100%;object-fit:cover}.space-image>span{position:absolute;left:20px;bottom:20px;background:var(--black);padding:10px 12px;font:8px var(--mono)}.space-copy{padding:85px 5vw;display:flex;flex-direction:column}.space-copy h2{font:clamp(45px,4.7vw,76px)/.92 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:70px 0 35px}.space-copy h2 i{font-style:normal;color:#ef315e}.space-copy>p{font-size:13px;line-height:1.8;color:#aaa}.space-copy ul{list-style:none;padding:0;margin:50px 0}.space-copy li{border-top:1px solid var(--line);padding:17px 0;font:10px var(--mono)}.space-copy li:last-child{border-bottom:1px solid var(--line)}.space-copy li b{color:#ef315e;margin-right:25px}.space-copy>a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid white;font:9px var(--mono)}
.process{background:var(--red);padding:120px 5vw}.process-title{display:grid;grid-template-columns:17% 1fr;margin-bottom:80px}.process-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35)}.process-list article{padding:25px;border-right:1px solid rgba(255,255,255,.35);min-height:270px;display:flex;flex-direction:column}.process-list article>span{font:10px var(--mono)}.process-list h3{font:23px var(--display);margin:auto 0 15px}.process-list p{font:11px/1.7 var(--mono);color:#e8c9d1}.quote{background:var(--black);min-height:680px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 5vw}.quote-star{font-size:50px;color:#ef315e;animation:spin 8s linear infinite}.quote blockquote{font:clamp(38px,5vw,80px)/1.05 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:30px 0}.quote blockquote i{font-style:normal;color:transparent;-webkit-text-stroke:1px white}.quote>span{font:8px var(--mono)}
.faq{background:var(--bone);color:var(--black);padding:120px 5vw;display:grid;grid-template-columns:45% 55%;gap:5%}.faq-title h2{font-size:clamp(55px,6vw,95px);margin:65px 0 35px}.faq-title h2 i{color:transparent;-webkit-text-stroke:1px var(--black)}.faq-title p{max-width:360px;font:10px/1.8 var(--mono)}.faq-list article{border-top:1px solid #999}.faq-list article:last-child{border-bottom:1px solid #999}.faq-list button{width:100%;background:none;border:0;padding:25px 0;display:grid;grid-template-columns:45px 1fr 25px;align-items:center;text-align:left}.faq-list button span{font:9px var(--mono);color:var(--red)}.faq-list button b{font-size:14px}.faq-list button i{font-style:normal;font-size:23px}.faq-list article>div{display:grid;grid-template-rows:0fr;transition:.4s}.faq-list article>div p{overflow:hidden;margin:0;padding-left:45px;padding-right:30px;font:11px/1.8 var(--mono);color:#555}.faq-list article.active>div{grid-template-rows:1fr}.faq-list article.active>div p{padding-bottom:25px}
.contact{background:var(--wine);display:grid;grid-template-columns:68% 32%;padding:110px 5vw}.contact-big h2{font-size:clamp(65px,8vw,135px);margin:65px 0 50px}.contact-big button{background:var(--bone);color:var(--black);border:0;padding:19px 22px;display:flex;align-items:center;gap:60px;font:9px var(--mono)}.contact-info{border-left:1px solid rgba(255,255,255,.3);padding-left:40px;display:flex;flex-direction:column}.contact-info>div{border-top:1px solid rgba(255,255,255,.3);padding:20px 0}.contact-info small{font:8px var(--mono);color:#d89aaa}.contact-info p{font:12px/1.8 var(--mono);margin:10px 0 0}.map{margin-top:auto;border-top:1px solid rgba(255,255,255,.3);padding:20px 0;display:flex;justify-content:space-between;font:9px var(--mono)}
.site-footer{padding:60px 5vw 30px;background:var(--black);display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.foot-logo{font-size:46px}.site-footer>p{text-align:right;font:9px var(--mono)}.site-footer>div{display:flex;gap:25px;font:8px var(--mono)}.site-footer>small{text-align:right;font:7px var(--mono);color:#777}.mobile-actions{display:none}
.booking-wrap{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:1000;display:flex;justify-content:flex-end;backdrop-filter:blur(8px);animation:fade .25s}.static-book[hidden]{display:none}.booking{width:min(680px,100%);height:100%;overflow:auto;background:var(--bone);color:var(--black);padding:55px;position:relative;animation:slide .45s cubic-bezier(.2,.8,.2,1)}.close{position:absolute;right:25px;top:25px;width:48px;height:48px;border:1px solid #777;background:none;display:grid;place-items:center}.close svg,.lightbox button svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.4}.booking>span{font:8px var(--mono)}.booking h2{font:54px/.86 var(--display);letter-spacing:-.06em;margin:80px 0 25px}.booking h2 i{font-style:normal;color:var(--red)}.booking>p{font:10px/1.7 var(--mono)}.booking form{display:grid;gap:18px;margin-top:35px}.booking label{display:grid;gap:8px;font:8px var(--mono)}.booking form>div{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking input,.booking select,.booking textarea{background:transparent;border:0;border-bottom:1px solid #777;padding:14px 0;outline:none;border-radius:0}.booking input:focus,.booking select:focus,.booking textarea:focus{border-color:var(--red)}.booking .consent{display:flex;align-items:start;line-height:1.5}.booking .consent input{margin:1px 8px 0 0}.booking form>button{background:var(--red);color:white;border:0;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font:9px var(--mono)}.lightbox{position:fixed;inset:0;z-index:1100;background:#000;display:grid;place-items:center;padding:4vw}.static-lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:90vh}.lightbox button{position:absolute;right:25px;top:25px;background:white;border:0;width:48px;height:48px;display:grid;place-items:center}
[data-in]{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}[data-in].seen{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1.08)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{from{opacity:0}}@keyframes slide{from{transform:translateX(100%)}}
@media(max-width:1000px){nav{gap:17px}.hero h1{font-size:95px}.manifest{grid-template-columns:15% 60% 25%}.section-top{grid-template-columns:14% 1fr 25%}.service-detail{padding:35px}.work-grid{grid-template-rows:480px 380px}.space{grid-template-columns:55% 45%}.contact{grid-template-columns:62% 38%}}
@media(max-width:800px){.topline{grid-template-columns:1fr 1fr}.topline p{display:none}.book-head{display:none}.hamb{display:block;justify-self:end;width:40px;height:40px;border:0;background:none}.hamb i{display:block;width:26px;height:1px;background:white;margin:7px auto}header{grid-template-columns:1fr auto}.logo{font-size:20px}nav{position:fixed;inset:0;background:var(--red);z-index:10;flex-direction:column;align-items:flex-start;justify-content:center;padding:10vw;gap:19px;font:42px var(--display);letter-spacing:-.04em;transform:translateX(100%);transition:.45s}nav.open{transform:none}.nav-x{display:grid;place-items:center;position:absolute;right:25px;top:25px;width:50px;height:50px;background:none;border:1px solid white;color:white}.nav-x svg{width:22px;fill:none;stroke:currentColor}.nav-book{display:flex;background:var(--black);color:white;border:0;padding:17px 20px;font:9px var(--mono);letter-spacing:.1em;gap:40px}.hero{height:auto;min-height:0;grid-template-columns:1fr}.hero-copy{min-height:650px;padding:70px 7vw 55px}.hero h1{font-size:clamp(75px,18vw,130px)}.hero-image{height:720px}.hero-image:before{background:linear-gradient(180deg,var(--black),transparent 20%)}.hero-rail{display:none}.manifest{grid-template-columns:1fr;padding:90px 7vw;gap:45px}.manifest>div:nth-child(2)>p{margin-left:0}.manifest aside{max-width:400px}.section-top,.work-head{grid-template-columns:1fr;gap:35px}.service-section,.work{padding:90px 6vw}.service-body{grid-template-columns:1fr}.service-menu button{grid-template-columns:35px 1fr 30px;height:92px}.service-menu button em{display:none}.service-detail{min-height:470px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:670px 420px}.work-a{grid-column:1/3;grid-row:1}.work-b{grid-column:1;grid-row:2}.work-c{grid-column:2;grid-row:2}.space{grid-template-columns:1fr}.space-image{height:600px}.space-copy{min-height:620px;padding:70px 7vw}.process{padding:90px 6vw}.process-title{grid-template-columns:1fr;gap:35px}.process-list{grid-template-columns:1fr 1fr}.faq{grid-template-columns:1fr;padding:90px 7vw;gap:60px}.contact{grid-template-columns:1fr;padding:90px 7vw;gap:70px}.contact-info{border-left:0;padding-left:0}.contact-info .map{margin-top:45px}.mobile-actions{display:grid;position:fixed;z-index:99;left:0;right:0;bottom:0;height:58px;grid-template-columns:1fr 1.2fr 1.2fr;background:var(--bone);color:var(--black);box-shadow:0 -5px 25px rgba(0,0,0,.25)}.mobile-actions a,.mobile-actions button{border:0;border-right:1px solid #aaa;background:none;display:grid;place-items:center;font:8px var(--mono)}.mobile-actions button{background:var(--red);color:white}.site-footer{padding-bottom:90px}}
@media(max-width:520px){.topline{padding:0 5vw}.topline span{font-size:7px}.hero-copy{min-height:570px}.hero h1{font-size:72px}.hero-bottom{align-items:flex-start;flex-direction:column}.hero-bottom button{width:100%;justify-content:space-between}.hero-image{height:590px}.ticker{height:45px}.ticker div{font-size:15px}.manifest h2{font-size:42px}.section-top h2,.work-head h2,.process-title h2,.faq-title h2,.contact h2{font-size:53px}.service-menu button b{font-size:18px}.service-detail h3{font-size:38px}.work-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}.work figure{flex:0 0 82vw;height:530px;scroll-snap-align:start}.work-a{grid-row:auto}.space-image{height:430px}.space-copy{min-height:650px}.process-list{grid-template-columns:1fr}.process-list article{min-height:215px}.quote{min-height:550px}.quote blockquote{font-size:37px}.faq{padding-left:6vw;padding-right:6vw}.contact{padding-left:6vw;padding-right:6vw}.contact-big button{width:100%;justify-content:space-between}.site-footer{grid-template-columns:1fr}.site-footer>p,.site-footer>small{text-align:left}.booking{padding:42px 22px}.booking h2{font-size:43px}.booking form>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-in]{opacity:1;transform:none}}
