*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0908;--bg-elev:#100d0c;--fg:#ece7df;--muted:#8b8378;--line:rgba(236,231,223,0.14);--accent:#e0342b;--accent-deep:#7c1c17;--serif:var(--font-serif),"Times New Roman",Georgia,serif;--grotesk:var(--font-grotesk),"Helvetica Neue",system-ui,sans-serif;--pad-section:clamp(6rem,14vh,12rem);--gutter:6vw;color-scheme:dark}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0}html.is-loading,html.is-loading body,html.menu-open,html.menu-open body{overflow:hidden;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--grotesk);font-size:clamp(1rem,.92rem + .3vw,1.14rem);line-height:1.5;letter-spacing:.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;background:none;border:0}ol,ul{list-style:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:#0a0908}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.eyebrow{font-family:var(--grotesk);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.display{font-size:clamp(3rem,11vw,11rem);line-height:.95}.display,.h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}.h2{font-size:clamp(2.2rem,6vw,5rem);line-height:1.02}.lead{font-size:clamp(1.05rem,1.4vw,1.35rem);color:var(--muted);max-width:46ch}.container{width:min(92vw,1500px);margin-inline:auto}.section{position:relative;padding-block:var(--pad-section)}.section-head{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:clamp(3rem,8vw,6rem)}.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:9994;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:grain .7s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-4%)}75%{transform:translate(-2%,-2%)}to{transform:translate(3%,3%)}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9996;border-radius:50%;translate:-50% -50%;mix-blend-mode:difference}.cursor-ring{width:38px;height:38px;border:1px solid #fff}.cursor-dot{width:6px;height:6px;background:#fff}html.has-cursor,html.has-cursor [data-cursor],html.has-cursor a,html.has-cursor button{cursor:none}html.has-cursor input,html.has-cursor select,html.has-cursor textarea{cursor:text}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.preloader{position:fixed;inset:0;z-index:9999;background:var(--bg);justify-content:center;gap:1.5rem;overflow:hidden}.pl-content,.preloader{display:flex;flex-direction:column;align-items:center}.pl-content{gap:1rem}.pl-num{font-family:var(--serif);font-size:clamp(5rem,22vw,17rem);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-bar{position:absolute;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}.nav,.pl-bar{left:0;width:100%}.nav{position:fixed;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:clamp(1rem,2.2vw,1.9rem) var(--gutter);mix-blend-mode:difference;color:#fff}.nav-logo{font-family:var(--serif);font-size:1.5rem;letter-spacing:.02em;display:inline-flex;align-items:flex-start;gap:.15em}.nav-logo span{font-size:.6em;translate:0 .15em}.nav-links-desktop{display:flex;gap:2.4rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}.nav-links-desktop a{position:relative;padding-bottom:2px}.nav-links-desktop a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.16,1,.3,1)}.nav-links-desktop a:hover:after{transform:scaleX(1);transform-origin:left}.nav-toggle{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;display:none}.menu{position:fixed;inset:0;z-index:90;background:var(--bg-elev);-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);justify-content:center;gap:clamp(2rem,6vh,4rem);padding:14vh var(--gutter) 8vh}.menu,.menu-list{display:flex;flex-direction:column}.menu-list{gap:clamp(.2rem,1.4vw,1rem)}.menu-item a{display:flex;align-items:baseline;gap:clamp(1rem,3vw,2.5rem);font-family:var(--serif);font-size:clamp(2.6rem,10vw,7.5rem);line-height:1.05;color:var(--fg);transition:color .35s}.menu-item a:hover{color:var(--accent)}.menu-index{font-family:var(--grotesk);font-size:.8rem;letter-spacing:.2em;color:var(--muted)}.menu-link-mask{overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.menu-link-i,.menu-link-mask{display:inline-block}.menu-foot{display:flex;gap:clamp(2rem,8vw,8rem);opacity:0;color:var(--muted);font-size:.9rem}.menu-foot a:hover{color:var(--fg)}.rt-word{display:inline-flex;white-space:nowrap}.rt-mask{overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}.rt-i,.rt-mask{display:inline-block}.rt-i{will-change:transform}.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.hero-canvas,.hero-canvas-fallback{position:absolute;inset:0;z-index:0}.hero-canvas canvas{width:100%!important;height:100%!important;display:block}.hero-canvas-fallback{background:radial-gradient(60% 55% at 30% 25%,rgba(224,52,43,.5),transparent 70%),radial-gradient(50% 50% at 78% 72%,rgba(236,231,223,.18),transparent 70%),#0a0908}.hero-inner{position:relative;z-index:2;padding:0 var(--gutter) clamp(2rem,5vh,4rem);display:flex;flex-direction:column;gap:clamp(1.5rem,5vh,3.25rem)}.hero-top{position:absolute;top:clamp(5rem,13vh,8.5rem);left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:1rem}.hero-title,.hero-top .eyebrow{mix-blend-mode:difference;color:#fff}.hero-title{display:flex;flex-direction:column}.hero-line{display:block}.hero-line--italic .rt-i{font-style:italic}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}.hero-desc{max-width:40ch;color:var(--muted)}.hero-scroll{display:flex;align-items:center;gap:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.hero-scroll-line{width:64px;height:1px;background:var(--fg);transform-origin:left;animation:scrollLine 2.2s ease-in-out infinite}@keyframes scrollLine{0%,to{transform:scaleX(.15)}50%{transform:scaleX(1)}}.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:clamp(1rem,2.4vw,1.7rem);background:var(--bg)}.marquee-track{display:flex;gap:clamp(2rem,5vw,4rem);width:max-content;will-change:transform}.marquee-item{display:inline-flex;align-items:center;gap:clamp(2rem,5vw,4rem);font-family:var(--serif);font-size:clamp(1.4rem,4vw,2.8rem);text-transform:uppercase;white-space:nowrap}.marquee-star{color:var(--accent);font-size:.7em}.manifesto{padding-block:clamp(8rem,22vh,18rem)}.manifesto-text{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,5vw,4.2rem);line-height:1.22;letter-spacing:-.015em;max-width:22ch;margin-top:2rem}.mf-word{opacity:.16;transition:none}.mf-word--accent{color:var(--accent)}.gallery{background:var(--bg);overflow:hidden;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(4rem,10vh,8rem)}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,6vw,4.5rem);flex-wrap:wrap}.g-track{display:flex;gap:clamp(1.5rem,4vw,4rem);padding-inline:var(--gutter);width:max-content;will-change:transform}.g-card{position:relative;flex:0 0 auto;width:clamp(270px,40vw,620px);aspect-ratio:4/5;overflow:hidden;background:var(--bg-elev)}.g-card img{width:100%;height:100%;object-fit:cover;scale:1.28;filter:grayscale(1) contrast(1.05) brightness(.82);transition:filter .6s cubic-bezier(.16,1,.3,1)}.g-card:after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;opacity:0;transition:opacity .6s}.g-card:hover img{filter:grayscale(.35) contrast(1.08) brightness(.95)}.g-card:hover:after{opacity:.28}.g-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;mix-blend-mode:difference;color:#fff;z-index:2}.a-list{border-bottom:1px solid var(--line)}.a-row{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:clamp(1rem,4vw,3rem);gap:clamp(1rem,4vw,3rem);align-items:baseline;padding-block:clamp(1.4rem,4vw,2.6rem);padding-left:0;border-top:1px solid var(--line);transition:padding-left .55s cubic-bezier(.16,1,.3,1),color .4s ease}.a-row:hover{padding-left:clamp(.8rem,3vw,2.4rem);color:var(--accent)}.a-index{font-size:.8rem;letter-spacing:.16em;color:var(--muted)}.a-row:hover .a-index{color:inherit}.a-name{font-family:var(--serif);font-size:clamp(1.9rem,6vw,4.4rem);line-height:1}.a-style{color:var(--muted);text-align:right;font-size:.95rem}.a-row:hover .a-style{color:inherit}.a-arrow{font-size:1.1rem;opacity:0;transform:translate(-8px);transition:opacity .4s,transform .4s}.a-row:hover .a-arrow{opacity:1;transform:translate(0)}.a-media{position:fixed;top:0;left:0;width:clamp(220px,24vw,340px);aspect-ratio:3/4;translate:-50% -50%;pointer-events:none;z-index:60;overflow:hidden;opacity:0;visibility:hidden}.a-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.process-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,6vw,6rem);gap:clamp(2rem,6vw,6rem)}.process-aside{position:-webkit-sticky;position:sticky;top:18vh;align-self:start;display:flex;flex-direction:column;gap:1.6rem}.p-step{display:grid;grid-template-columns:auto 1fr;grid-gap:clamp(1rem,3vw,2.5rem);gap:clamp(1rem,3vw,2.5rem);padding-block:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--line)}.p-step:last-child{border-bottom:1px solid var(--line)}.p-n{font-size:1.4rem;color:var(--accent)}.p-n,.p-step h3{font-family:var(--serif)}.p-step h3{font-weight:400;font-size:clamp(1.5rem,3vw,2.4rem);margin-bottom:1rem}.p-step p{color:var(--muted);max-width:40ch}.booking{position:relative;overflow:hidden;padding-block:var(--pad-section)}.booking-blob{position:absolute;top:50%;left:50%;width:min(920px,92vw);height:min(620px,70vh);transform:translate(-50%,-50%);z-index:0;opacity:.55;filter:blur(7px);pointer-events:none;contain:layout paint size}.booking-blob canvas{width:100%!important;height:100%!important}.booking-blob:after{content:"";position:absolute;inset:-10%;background:radial-gradient(closest-side,transparent 55%,var(--bg) 100%)}.booking-inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:clamp(2rem,5vw,3.5rem);max-width:1100px}.booking-form{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:clamp(1.25rem,3vw,2.5rem);gap:clamp(1.25rem,3vw,2.5rem)}.field{display:flex;flex-direction:column;gap:.6rem}.field--full{grid-column:1/-1}.field label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.75rem 0;color:var(--fg);font-family:inherit;font-size:1.05rem;border-radius:0;transition:border-color .35s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field select option{background:var(--bg-elev);color:var(--fg)}.btn{display:inline-flex;align-items:center;gap:.8rem;background:var(--fg);color:var(--bg);padding:1.1rem 2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;cursor:pointer;transition:background .35s,color .35s}.btn:hover{background:var(--accent);color:var(--fg)}.booking-success{font-family:var(--serif);font-size:clamp(1.6rem,4vw,3rem);line-height:1.25;max-width:20ch}.footer{background:var(--bg);padding-top:clamp(4rem,10vh,8rem);overflow:hidden}.footer-grid{display:flex;justify-content:space-between;gap:3rem;flex-wrap:wrap;padding-block:clamp(3rem,7vw,6rem)}.footer-col{display:flex;flex-direction:column;gap:.75rem;font-size:.92rem}.footer-col a{color:var(--muted);transition:color .3s}.footer-col a:hover{color:var(--fg)}.footer-word{font-family:var(--serif);font-size:clamp(4rem,26vw,20rem);line-height:.8;text-align:center;letter-spacing:-.03em;color:rgba(236,231,223,0);-webkit-text-stroke:1px var(--muted);padding-inline:4vw;-webkit-user-select:none;-moz-user-select:none;user-select:none}.footer-bottom{display:flex;justify-content:space-between;padding-block:2.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;flex-wrap:wrap;gap:1rem}.magnetic{display:inline-block;will-change:transform}@media (max-width:900px){.nav-links-desktop{display:none}.nav-toggle{display:inline-block}.process-grid{grid-template-columns:1fr}.process-aside{position:static}.booking-form{grid-template-columns:1fr}.a-row{grid-template-columns:auto 1fr;grid-template-areas:"index name" "index style";row-gap:.4rem}.a-index{grid-area:index}.a-name{grid-area:name}.a-style{grid-area:style;text-align:left}.a-arrow,.a-media{display:none}}@media (prefers-reduced-motion:reduce){.grain,.hero-scroll-line{animation:none}.mf-word{opacity:1}*{scroll-behavior:auto!important}}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_dd5b2f{--font-grotesk:"Space Grotesk","Space Grotesk Fallback"}