:root{--ink:#20191a;--paper:#f4f1ee;--cream:#e4deda;--clay:#704b4e;--sage:#5c615d;--white:#fffdfb;--serif:'Italiana',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #20191a22;position:sticky;top:0;background:#f4f1eeeb;backdrop-filter:blur(12px);z-index:20}.brand{font-family:var(--serif);font-size:24px;letter-spacing:.14em}.brand span{display:block;font:500 8px var(--sans);letter-spacing:.45em;margin-bottom:-4px}.site-header nav{display:flex;align-items:center;gap:26px;font-size:13px}.nav-book{border:1px solid;padding:10px 18px}.menu-button{display:none;background:none;border:0}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.12fr .88fr}.hero-copy{padding:11vh 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600}.hero h1,.section h2,.split-offers h2,.booking h2{font:400 clamp(56px,7.2vw,112px)/.88 var(--serif);margin:24px 0}.hero h1 em,.section h2 em{color:var(--clay);font-style:italic}.hero-text{max-width:550px;font-size:19px;color:#50494a}.actions{display:flex;align-items:center;gap:28px;margin-top:25px}.button{display:inline-block;padding:15px 24px;border:1px solid var(--ink);border-radius:0;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.button.dark{background:var(--ink);color:white}.button.outline{background:transparent;color:inherit;border-color:currentColor}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:4px}.hero-art{background:linear-gradient(145deg,#604345,#241a1c);position:relative;overflow:hidden;color:#f7f0ed}.orb{position:absolute;width:40vw;height:40vw;border:1px solid #ffffff55;border-radius:50%;top:8%;left:15%;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff08}.line-art{font:400 33vw/1 var(--serif);position:absolute;right:-4vw;bottom:-7vw;color:#f7ede51a}.hero-art p{position:absolute;bottom:6vw;left:5vw;font-size:11px;letter-spacing:.4em}.trust-strip{padding:20px 4vw;display:flex;justify-content:space-around;border-top:1px solid #20191a22;border-bottom:1px solid #20191a22;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.trust-strip span:before{content:'✦';margin-right:12px;color:var(--clay)}.section{padding:120px 7vw}.section-heading{max-width:780px;margin-bottom:70px}.section-heading h2{font-size:clamp(48px,6vw,86px)}.section-heading>p:last-child{max-width:560px;color:#5b5555}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bcb6b2}.service-card{min-height:330px;background:var(--paper);padding:35px;display:flex;flex-direction:column;justify-content:space-between}.service-card.featured{background:var(--ink);color:var(--white);grid-column:span 2}.service-card span{font-size:10px;opacity:.6}.service-card h3{font:38px var(--serif);margin:18px 0}.service-card p{max-width:440px;color:inherit;opacity:.75}.service-card strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.gallery-section{background:#20191a;color:var(--white);padding:120px 7vw}.section-heading.light h2{font:clamp(52px,7vw,96px)/.98 var(--serif)}.section-heading.light em{color:#b38c91}.gallery-grid{height:700px;display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.gallery-tile{display:flex;align-items:flex-end;padding:20px;background-size:cover;background-position:center;position:relative;overflow:hidden}.gallery-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,var(--color1),var(--color2))}.gallery-tile:after{content:'SK';font:180px var(--serif);position:absolute;right:-10px;bottom:-70px;color:#ffffff16}.gallery-tile span{position:relative;font-size:9px;letter-spacing:.24em}.g1{grid-row:span 2;--color1:#61484a;--color2:#261c1e}.g2{--color1:#78585d;--color2:#342426}.g3{grid-row:span 2;--color1:#5c625e;--color2:#252a27}.g4{--color1:#69595a;--color2:#302627}.photo-note{text-align:center;font-size:11px;letter-spacing:.08em;opacity:.55;margin-top:25px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}.portrait-placeholder{height:650px;background:linear-gradient(160deg,#545b57,#202523);display:flex;align-items:center;justify-content:center;color:#fff;position:relative}.portrait-placeholder div{font:200px var(--serif);opacity:.14}.portrait-placeholder span{position:absolute;bottom:25px;font-size:9px;letter-spacing:.25em}.about-copy h2{font-size:80px}.about-copy .lead{font:28px/1.4 var(--serif)}.about-copy p{max-width:620px}.about-copy .text-link{display:inline-block;margin-top:20px}.split-offers{display:grid;grid-template-columns:1fr 1fr}.split-offers article{min-height:600px;padding:8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.split-offers article:first-child{background:var(--sage);color:white}.split-offers article:last-child{background:var(--cream)}.split-offers h2{font-size:75px}.split-offers p:not(.eyebrow){max-width:460px}.split-offers .button{margin-top:20px}.booking{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:#e9e4e0}.booking-intro h2{font-size:70px}.booking-panel{background:var(--white);padding:40px;min-height:570px}.booking-progress{display:flex;gap:24px;border-bottom:1px solid #d8d1cd;padding-bottom:18px;margin-bottom:35px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.booking-progress span{opacity:.35}.booking-progress span.active{opacity:1}.booking-step{display:none}.booking-step.active{display:block}.booking-step h3{font:35px var(--serif)}.booking-services{display:grid;gap:8px}.booking-services button{background:#fff;border:1px solid #d8d1cd;padding:18px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.booking-services button:hover,.booking-services button.selected{border-color:var(--clay);background:#f7f2f2}.booking-services span{display:flex;flex-direction:column}.booking-services small{color:#736c6c}.booking-services strong{font-size:13px}.back{border:0;background:none;padding:0;cursor:pointer;font-size:12px}.date-row,.times{display:flex;gap:10px;margin:30px 0}.date,.times button{border:1px solid #d8d1cd;background:white;padding:15px 20px;cursor:pointer}.date{display:flex;flex-direction:column}.date.active,.times button:hover,.times button.selected{background:var(--ink);color:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.form-grid input{display:block;width:100%;border:0;border-bottom:1px solid #7a7272;background:transparent;padding:10px 0;outline:none}.checkbox{display:block;font-size:12px;margin:30px 0}.summary{border-top:1px solid #d8d1cd;border-bottom:1px solid #d8d1cd;padding:20px 0;margin:20px 0}.summary p{display:flex;justify-content:space-between}.payment-placeholder{padding:25px;background:#f0ece9;display:flex;flex-direction:column;margin-bottom:20px}.payment-placeholder span,.payment-placeholder small{font-size:11px}.booking-panel button[disabled]{opacity:.45;cursor:not-allowed}footer{background:#141112;color:#eee9e7;padding:70px 7vw 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}footer p{font-size:13px}footer>div{display:flex;gap:25px;font-size:12px}footer small{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:20px;opacity:.5}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:white;padding:18px 24px;transform:translateY(130px);transition:.3s;z-index:50;font-size:13px}.toast.show{transform:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:70px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 6vw}.hero-art{min-height:480px}.trust-strip{overflow:auto;justify-content:flex-start;gap:40px}.trust-strip span{white-space:nowrap}.section,.gallery-section{padding:80px 6vw}.service-grid{grid-template-columns:1fr}.service-card.featured{grid-column:auto}.gallery-grid{height:900px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}.g1{grid-row:span 2}.g3{grid-row:span 2}.about{grid-template-columns:1fr}.portrait-placeholder{height:500px}.split-offers{grid-template-columns:1fr}.booking{grid-template-columns:1fr}.booking-progress{gap:10px;justify-content:space-between}.booking-progress span{font-size:8px}footer{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hero h1{font-size:58px}.actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:380px}.section-heading h2,.split-offers h2,.about-copy h2,.booking-intro h2{font-size:52px}.gallery-grid{display:grid;height:1200px;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr)}.g1,.g3{grid-row:auto}.split-offers article{padding:70px 7vw;min-height:500px}.booking-panel{padding:25px 18px}.booking-progress span{font-size:0}.booking-progress span:before{content:'●';font-size:10px}.date-row,.times{flex-wrap:wrap}footer{grid-template-columns:1fr}}
:root{--serif:'Bodoni MT',Didot,'Times New Roman',serif}
.studio-menu-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}.studio-menu-actions .service-page-link{margin:0}.public-contact-links{display:flex;gap:12px;flex-wrap:wrap}.public-contact-links a{text-decoration:underline}
.site-header #nav{gap:clamp(10px,1.25vw,24px)}.site-header #nav a{white-space:nowrap;font-size:clamp(9px,.72vw,11px)}
