
:root{--black:#0A0A0A;--ivory:#F3EFE7;--paper:#EBE6DC;--chalk:#C7C2B8;--oxblood:#6B1F25;--serif:"Bodoni Moda","GFS Didot","Times New Roman",serif;--sans:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--black);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ivory);padding:.8rem 1rem}.skip-link:focus{top:1rem}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.site-header{position:fixed;z-index:60;left:0;right:0;top:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2vw;color:var(--ivory);transition:background .35s,border-color .35s}.site-header.scrolled{background:rgba(10,10,10,.96);border-bottom:1px solid rgba(243,239,231,.16)}.brand{display:flex;align-items:center;gap:25px;text-decoration:none}.brand-mark{width:52px;height:52px}.brand-wordmark{width:245px}.desktop-nav{display:flex;gap:2.25rem}.desktop-nav a,.menu-button{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ivory);transition:right .25s}.desktop-nav a:hover:after{right:0}.menu-button{display:none;background:none;border:0;color:inherit}.menu-overlay{display:none}
.hero{position:relative;height:100vh;min-height:680px;background:var(--black);color:var(--ivory);overflow:hidden}.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero picture img{object-position:center 47%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.13) 48%,rgba(0,0,0,.36)),linear-gradient(0deg,rgba(0,0,0,.58),transparent 52%,rgba(0,0,0,.28))}.hero-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(660px,72vw);text-align:center}.hero-wordmark{width:100%;filter:drop-shadow(0 2px 10px rgba(0,0,0,.22))}.hero-center p{font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;margin:2rem 0 0}.hero-appointment{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);font-size:.63rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(243,239,231,.8);padding-bottom:.4rem}.hero-appointment:before{content:"";display:inline-block;width:9px;height:9px;background:var(--oxblood);margin-right:13px;transform:rotate(45deg)}
.section{padding:8.5rem 6vw}.eyebrow{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:2.5rem}.eyebrow:before{content:"";display:inline-block;width:30px;height:1px;background:var(--oxblood);vertical-align:middle;margin-right:1rem}.eyebrow.light{color:var(--ivory)}h2{font-family:var(--serif);font-weight:400;line-height:1.02;font-size:clamp(3.1rem,5.6vw,6.7rem);letter-spacing:-.03em;margin:0}.section-about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.about-copy .lead{font-family:var(--serif);font-size:1.75rem;line-height:1.36}.about-copy p:not(.lead){max-width:590px;color:#5f5a53}.about-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden}.about-grid figure img{width:100%;height:100%;object-fit:cover}
.section-process{background:var(--black);color:var(--ivory);display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.process-intro{position:sticky;top:130px;align-self:start}.process-intro>p{max-width:500px;color:var(--chalk);margin-top:2rem}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:62px 1fr;gap:1.4rem;padding:2rem 0;border-top:1px solid rgba(243,239,231,.23)}.process-list li:last-child{border-bottom:1px solid rgba(243,239,231,.23)}.process-list>li>span{font-size:.65rem;letter-spacing:.2em;color:var(--chalk)}.process-list h3{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0}.process-list p{color:var(--chalk);margin:.5rem 0 0;max-width:620px}
.appointment-section{background:var(--ivory)}.appointment-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}.appointment-copy p{max-width:590px;color:#5f5a53}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem}.appointment-form label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:0;border-bottom:1px solid var(--chalk);background:transparent;padding:.85rem 0;font:inherit;color:var(--black);border-radius:0}.appointment-form label[for=message],.appointment-form textarea,.appointment-form button{grid-column:1/-1}.appointment-form button{justify-self:start;border:1px solid var(--black);background:transparent;color:var(--black);padding:.95rem 1.35rem;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.appointment-form button:hover{background:var(--black);color:var(--ivory)}.honeypot{position:absolute;left:-9999px}
.site-footer{background:var(--black);color:var(--ivory);padding:4rem 4vw;display:grid;grid-template-columns:auto 1fr auto auto;gap:2.5rem;align-items:end;border-top:1px solid rgba(243,239,231,.14)}.site-footer img{width:78px}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem}.footer-links a,.site-footer p{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;margin:0}.site-footer p a{text-decoration:none}
@media(max-width:850px){.site-header{height:76px;padding:0 22px}.brand{gap:13px}.brand-mark{width:42px;height:42px}.brand-wordmark{width:172px}.desktop-nav{display:none}.menu-button{display:block;position:relative;width:58px;height:40px;text-align:left}.menu-button span{position:absolute;left:0;top:10px}.menu-button i{position:absolute;right:0;width:17px;height:1px;background:currentColor;transition:transform .3s,top .3s}.menu-button i:nth-of-type(1){top:13px}.menu-button i:nth-of-type(2){top:20px}.menu-button[aria-expanded=true] i:nth-of-type(1){top:16px;transform:rotate(45deg)}.menu-button[aria-expanded=true] i:nth-of-type(2){top:16px;transform:rotate(-45deg)}.menu-overlay{position:fixed;z-index:55;inset:0;background:var(--black);color:var(--ivory);padding:125px 28px 35px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.35s}.menu-overlay.open{opacity:1;visibility:visible}.menu-overlay nav{display:flex;flex-direction:column}.menu-overlay nav a{font-family:var(--serif);font-size:3.05rem;line-height:1.25;text-decoration:none}.menu-contact{display:flex;flex-direction:column;gap:.4rem;font-size:.68rem}.hero{min-height:620px}.hero-center{width:80vw}.hero-center p{font-size:.56rem}.hero-appointment{bottom:30px;white-space:nowrap}.section{padding:6rem 24px}.about-grid,.section-process,.appointment-grid{grid-template-columns:1fr}.about-grid,.appointment-grid{gap:4rem}.about-copy .lead{font-size:1.45rem}.process-intro{position:static}.appointment-form{grid-template-columns:1fr}.appointment-form label,.appointment-form input,.appointment-form select,.appointment-form textarea,.appointment-form button{grid-column:1}.site-footer{grid-template-columns:1fr;gap:1.5rem}.footer-links{flex-direction:column;gap:.55rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain{display:none}}
