:root{
  --black:#080706;--black2:#11100f;--ivory:#f7f2e9;--paper:#fbf8f2;--gold:#c89b49;--gold-light:#e1bf79;--ink:#191715;--muted:#756f66;--line:rgba(200,155,73,.35);
  --serif:"Cormorant Garamond",Didot,"Times New Roman",serif;--sans:"Montserrat",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%}::selection{background:var(--gold);color:#111}
.page-loader{position:fixed;inset:0;background:var(--black);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .65s ease,visibility .65s ease}.page-loader.hide{opacity:0;visibility:hidden}.loader-monogram{position:relative;width:95px;height:100px;font-family:var(--serif);font-size:86px;color:var(--gold-light);line-height:1}.loader-monogram span{position:absolute}.loader-monogram span:first-child{left:0;top:0}.loader-monogram span:last-child{right:2px;bottom:0}.loader-name{letter-spacing:.26em;font-size:11px;margin-top:22px}.loader-name small{color:var(--gold-light)}
.header{position:fixed;z-index:100;top:0;left:0;right:0;height:84px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid transparent;transition:.35s ease}.header.scrolled{height:70px;background:rgba(8,7,6,.88);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.09)}.brand{display:flex;align-items:center;gap:14px;justify-self:start}.mini-monogram{position:relative;width:42px;height:44px;font-family:var(--serif);font-size:37px;color:var(--gold-light);line-height:1}.mini-monogram i{font-style:normal;position:absolute}.mini-monogram i:first-child{left:1px;top:0}.mini-monogram i:last-child{right:1px;bottom:0}.brand-wordmark{font-family:var(--serif);letter-spacing:.18em;font-size:16px;line-height:1}.brand-wordmark em{font-style:normal;color:var(--gold-light);font-family:var(--sans);font-size:8px;letter-spacing:.34em;display:block;margin-top:6px;text-align:center}.nav{display:flex;gap:34px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:500}.nav a{opacity:.78;transition:.25s}.nav a:hover{opacity:1;color:var(--gold-light)}.nav-book{justify-self:end;border:1px solid var(--gold);color:var(--gold-light);padding:11px 16px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:600;transition:.25s}.nav-book:hover{background:var(--gold);color:#111}.menu-toggle,.mobile-menu{display:none}
.hero{min-height:100vh;position:relative;color:#fff;display:flex;align-items:center;padding:130px 5vw 80px;overflow:hidden;background:#050505}.hero-media{position:absolute;inset:-3%;background:url('assets/hero.webp') 56% 45%/cover no-repeat;animation:heroZoom 16s ease-in-out infinite alternate;filter:saturate(.85) contrast(1.05)}@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 43%,rgba(0,0,0,.27) 70%,rgba(0,0,0,.35) 100%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%)}.hero-content{position:relative;max-width:700px;z-index:1}.kicker,.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.35em;font-weight:600;color:var(--gold);margin:0 0 21px}.hero .kicker{color:#eee}.hero h1,.section h2,.center-heading h2,.why-panel h2,.reviews-panel h2,.booking-intro h2,.visit h2{font-family:var(--serif);font-weight:500}.hero h1{font-size:clamp(60px,7.4vw,118px);line-height:.72;letter-spacing:.02em;margin:0}.hero h1 span{font-size:.66em;letter-spacing:.09em}.signature{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3vw,48px);line-height:1.05;color:var(--gold-light);margin:36px 0 24px}.hero-services{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#ddd}.hero-services b{color:var(--gold);margin:0 7px}.hero-actions{display:flex;gap:13px;margin-top:33px}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;padding:14px 22px;text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:600;transition:.25s}.btn-gold{background:var(--gold);color:#120f09}.btn-gold:hover{background:var(--gold-light)}.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff}.btn-outline-light:hover{border-color:var(--gold);color:var(--gold-light)}.scroll-down{position:absolute;z-index:1;bottom:30px;left:5vw;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:#cfc8bd;display:flex;align-items:center;gap:12px}.scroll-down span{display:grid;place-items:center;border:1px solid rgba(200,155,73,.55);width:26px;height:26px;border-radius:50%;color:var(--gold-light)}
.section{padding:120px 6vw}.philosophy{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:center;background:var(--paper)}.philosophy-copy h2{font-size:clamp(44px,5vw,74px);line-height:.94;margin:0 0 30px}.large-copy{font-family:var(--serif);font-size:30px;line-height:1.12;color:#2a2521;max-width:550px}.philosophy-copy>p:not(.section-kicker):not(.large-copy){max-width:570px;color:var(--muted);font-size:14px}.script-mark{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:30px}.philosophy-image{margin:0;overflow:hidden;min-height:600px}.philosophy-image img{height:100%;min-height:600px;object-fit:cover;transition:transform 1s ease}.philosophy-image:hover img{transform:scale(1.025)}
.section-dark{background:var(--black);color:#fff;padding:105px 0 70px}.center-heading{text-align:center;padding:0 5vw;margin-bottom:48px}.center-heading h2{font-size:clamp(44px,5vw,68px);margin:0;font-weight:500}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr)}.experience-card{position:relative;height:590px;overflow:hidden;background:#222}.experience-card img{height:100%;object-fit:cover;filter:saturate(.78);transition:transform .7s ease,filter .5s}.experience-card:hover img{transform:scale(1.055);filter:saturate(.95)}.card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.12) 68%)}.card-copy{position:absolute;left:34px;bottom:32px}.card-copy h3{font-family:var(--serif);font-size:39px;font-weight:500;margin:0}.card-copy p{font-family:var(--serif);font-style:italic;color:#ddd;margin:0 0 13px}.explore{border:0;background:none;color:var(--gold-light);padding:0;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.explore span{margin-left:8px}.secondary-services{display:flex;justify-content:center;gap:12px;margin:34px 5vw 0}.menu-chip{background:transparent;border:1px solid #2c2a27;color:#eee;padding:15px 22px;min-width:250px;text-align:left;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.menu-chip span{float:right;color:var(--gold-light)}
.collections{background:var(--paper)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:1450px;margin:0 auto}.collection-card img{aspect-ratio:1/1.18;object-fit:cover;filter:saturate(.85);transition:.5s}.collection-card:hover img{filter:saturate(1);transform:translateY(-4px)}.collection-card div{padding-top:15px}.collection-card h3{font-family:var(--serif);font-size:22px;margin:0 0 4px;font-weight:500}.collection-card button,.signature-item button{border:0;background:none;padding:0;color:#a67425;text-transform:uppercase;letter-spacing:.12em;font-size:8px}.section-soft{background:var(--ivory);padding:100px 6vw}.signature-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.signature-item{background:var(--ivory);text-align:center;padding:50px 42px}.line-icon{font-size:28px;color:var(--gold)}.signature-item h3{font-family:var(--serif);font-weight:500;font-size:30px;margin:12px 0}.signature-item p{font-size:12px;color:var(--muted);min-height:58px}.signature-item strong{display:block;font-family:var(--serif);font-size:22px;margin-bottom:8px;font-weight:500}
.why-reviews{display:grid;grid-template-columns:.8fr 1.2fr}.why-panel{background:linear-gradient(rgba(7,7,7,.93),rgba(7,7,7,.93)),url('assets/hero.webp') center/cover;color:#fff;padding:90px 7vw}.why-panel h2{font-size:clamp(40px,4vw,61px);line-height:1.08;font-weight:500;margin:0 0 40px}.reviews-panel{padding:90px 7vw;background:#fff}.reviews-panel h2{font-size:52px;margin:0 0 25px}.review-stat{display:flex;align-items:center;gap:25px;border-top:1px solid #e9e2d7;border-bottom:1px solid #e9e2d7;padding:22px 0;margin:26px 0}.review-stat span{font-family:var(--serif);font-size:60px;color:var(--gold)}.review-stat small{max-width:280px;color:var(--muted)}.review-note{font-size:13px;color:var(--muted);max-width:620px}.text-arrow{display:inline-block;margin-top:10px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:#9f711f}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:var(--black);color:#fff;padding:110px 7vw}.booking-intro h2{font-size:clamp(48px,5vw,72px);line-height:.95;margin:0 0 24px}.booking-intro p:not(.section-kicker){color:#aaa;max-width:480px}.booking-form{border:1px solid rgba(200,155,73,.3);padding:34px;background:rgba(255,255,255,.025)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:#cfc8bd;margin-bottom:16px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;background:#0c0b0a;border:1px solid #37322c;color:#fff;padding:13px 12px;outline:none;border-radius:0}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--gold)}.booking-form select{appearance:none}.full-btn{width:100%;margin-top:2px}.booking-disclaimer{font-size:10px;color:#777;margin:12px 0 0}.booking-success{margin-top:16px;border:1px solid var(--gold);padding:15px;color:#e7dfd0}.booking-success strong{display:block;color:var(--gold-light)}.booking-success span{font-size:11px}
.visit{display:grid;grid-template-columns:.82fr 1.18fr;background:#fff}.visit-details{padding:90px 7vw}.visit-details h2{font-size:56px;margin:0 0 25px}.visit address{font-style:normal;color:var(--muted);margin-bottom:15px}.phone{font-family:var(--serif);font-size:30px}.hours{margin:28px 0 32px}.hours div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #eee;padding:12px 0;font-size:11px}.hours b{font-weight:500}.btn-outline-dark{border-color:#b7aa98;color:#342f29}.map iframe{width:100%;height:100%;min-height:620px;border:0;filter:grayscale(.25) sepia(.08)}
.footer{background:#050505;color:#ddd;display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:50px;padding:55px 6vw 30px;border-top:1px solid #211e1a}.footer-brand{display:flex;align-items:center;gap:25px}.footer-monogram{font-family:var(--serif);font-size:67px;color:var(--gold-light)}.footer-brand strong{display:block;font-family:var(--serif);font-size:18px;letter-spacing:.14em}.footer-brand em{display:block;font-family:var(--serif);font-size:17px;line-height:1.1;color:#bba985;margin-top:9px}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;letter-spacing:.11em;font-size:8px;color:#aaa}.footer-links a:hover{color:var(--gold-light)}.footer-copy{grid-column:1/-1;border-top:1px solid #1c1a18;padding-top:20px;text-align:center;color:#666;font-size:8px;letter-spacing:.1em}.mobile-cta{display:none}
.menu-modal{padding:0;border:0;background:#111;max-width:min(92vw,850px);max-height:92vh;box-shadow:0 25px 100px rgba(0,0,0,.55)}.menu-modal::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.menu-modal img{max-height:82vh;object-fit:contain;background:#111}.modal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:25px;z-index:2}.modal-actions{padding:12px;background:#0b0a09;text-align:center}.modal-actions .btn{width:100%}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1050px){.nav{display:none}.header{grid-template-columns:1fr auto}.nav-book{margin-right:56px}.menu-toggle{display:block;position:absolute;right:5vw;width:34px;height:34px;border:0;background:none}.menu-toggle span{position:absolute;left:4px;width:26px;height:1px;background:#fff;transition:.3s}.menu-toggle span:first-child{top:12px}.menu-toggle span:last-child{top:21px}.menu-toggle.open span:first-child{transform:rotate(45deg);top:17px}.menu-toggle.open span:last-child{transform:rotate(-45deg);top:17px}.mobile-menu{display:flex;position:fixed;z-index:90;inset:0;background:#080706;color:#fff;flex-direction:column;align-items:center;justify-content:center;gap:27px;opacity:0;visibility:hidden;transition:.3s;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.mobile-menu.open{opacity:1;visibility:visible}.mobile-book{color:var(--gold-light);border-bottom:1px solid var(--gold);padding-bottom:5px}.experience-grid{grid-template-columns:repeat(2,1fr)}.collection-grid{grid-template-columns:repeat(3,1fr)}.collection-card:nth-child(4),.collection-card:nth-child(5){grid-column:auto}.why-reviews,.booking,.visit,.philosophy{grid-template-columns:1fr}.philosophy-image{order:-1;min-height:450px}.philosophy-image img{min-height:450px}.map iframe{min-height:470px}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){body{padding-bottom:58px}.header{height:68px;padding:0 18px}.header.scrolled{height:62px}.brand-wordmark{font-size:13px}.mini-monogram{width:34px;height:36px;font-size:31px}.nav-book{display:none}.menu-toggle{right:18px}.hero{padding:105px 22px 75px;min-height:92vh}.hero-media{background-position:48% 50%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.89),rgba(0,0,0,.53)),linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.hero h1{font-size:57px;line-height:.79}.signature{font-size:29px}.hero-services{line-height:1.9}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{min-width:210px}.scroll-down{left:22px}.section{padding:78px 22px}.philosophy{gap:45px}.philosophy-image{min-height:370px}.philosophy-image img{min-height:370px}.philosophy-copy h2{font-size:45px}.large-copy{font-size:25px}.section-dark{padding:75px 0 48px}.experience-grid{grid-template-columns:1fr}.experience-card{height:430px}.secondary-services{flex-direction:column;margin:24px 22px 0}.menu-chip{width:100%}.collections{padding:78px 20px}.collection-grid{display:flex;overflow-x:auto;gap:13px;scroll-snap-type:x mandatory;padding-bottom:10px}.collection-card{min-width:78vw;max-width:340px;scroll-snap-align:start}.section-soft{padding:75px 22px}.signature-grid{grid-template-columns:1fr}.signature-item p{min-height:0}.why-reviews{grid-template-columns:1fr}.why-panel,.reviews-panel{padding:72px 24px}.reviews-panel h2{font-size:43px}.booking{padding:75px 22px;grid-template-columns:1fr}.booking-form{padding:22px}.form-row{grid-template-columns:1fr}.visit-details{padding:72px 22px}.hours div{flex-direction:column;gap:2px}.footer{padding:45px 22px 25px;grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-links,.footer-contact{display:none}.mobile-cta{position:fixed;z-index:80;left:0;right:0;bottom:0;height:58px;display:grid;grid-template-columns:1fr 1fr;background:#080706;border-top:1px solid #30281d;color:#fff}.mobile-cta a{display:grid;place-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.mobile-cta a:last-child{background:var(--gold);color:#111;font-weight:600}.menu-modal{max-width:96vw}.menu-modal img{max-height:82vh}}

/* Production pass */
.skip-link{position:fixed;left:16px;top:-60px;z-index:300;background:var(--gold);color:#111;padding:10px 14px;font-size:11px;font-weight:600;transition:top .2s}.skip-link:focus{top:16px}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.heading-copy{max-width:640px;margin:14px auto 0;color:#a9a29a;font-size:13px}.heading-copy.dark{color:var(--muted)}
.experience-card:focus-visible{outline:2px solid var(--gold-light);outline-offset:-4px}.experience-card{cursor:pointer}
.inspiration-note{max-width:900px;margin:28px auto 0;text-align:center;font-size:10px;letter-spacing:.04em;color:#8b8479}
.booking-points{list-style:none;padding:0;margin:28px 0 0;color:#b4aea6;font-size:12px}.booking-points li{padding:10px 0;border-top:1px solid #26231f}.booking-points li::before{content:'—';color:var(--gold);margin-right:10px}
.booking-disclaimer a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;text-transform:none!important;letter-spacing:.02em!important;font-size:10px!important;line-height:1.5}.consent input{width:auto!important;margin-top:2px;accent-color:var(--gold)}
.review-note{font-size:14px;line-height:1.8}.visit-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-dark{background:#111;color:#fff;border-color:#111}.btn-dark:hover{background:#2a261f}.footer-contact a:hover{color:var(--gold-light)}
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:#f6f1e8}.faq-intro h2{font-family:var(--serif);font-size:clamp(48px,5vw,72px);line-height:.95;margin:0}.faq-list details{border-top:1px solid #d9d0c2;padding:19px 0}.faq-list details:last-child{border-bottom:1px solid #d9d0c2}.faq-list summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:26px;position:relative;padding-right:32px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;color:var(--gold);font-family:var(--sans);font-weight:300}.faq-list details[open] summary::after{content:'−'}.faq-list p{color:var(--muted);font-size:13px;max-width:760px;margin:12px 0 0}
.menu-modal{width:min(94vw,1180px);max-width:1180px;max-height:94vh;background:#0a0908;color:#fff;overflow:hidden}.modal-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);max-height:92vh}.modal-menu-image{overflow:auto;background:#0a0908}.modal-menu-image img{width:100%;max-height:none;object-fit:contain;background:#0a0908}.modal-service-copy{padding:58px 42px 38px;overflow:auto;border-left:1px solid #29251f}.modal-service-copy h2{font-family:var(--serif);font-weight:500;font-size:48px;line-height:.95;margin:0 0 26px}.modal-details{display:grid;gap:0;border-top:1px solid #2d2923}.modal-line{display:grid;grid-template-columns:1fr auto;gap:20px;padding:13px 0;border-bottom:1px solid #24211d;font-size:12px}.modal-line span:last-child{color:var(--gold-light);font-weight:500}.modal-price-note{color:#8f8981;font-size:10px;line-height:1.7;margin:20px 0}.modal-service-copy .btn{width:100%}.modal-close{z-index:5}
.simple-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--ivory)}.simple-card{width:min(760px,100%);background:#fff;padding:56px;border:1px solid #e3dbcf}.simple-card h1{font-family:var(--serif);font-size:clamp(44px,7vw,72px);line-height:.95;font-weight:500;margin:0 0 24px}.simple-card p{color:var(--muted);font-size:14px}.simple-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.privacy-card{max-width:860px}
@media(max-width:1050px){.faq{grid-template-columns:1fr;gap:35px}.modal-shell{grid-template-columns:1fr}.modal-service-copy{border-left:0;border-top:1px solid #29251f;padding:35px 28px}.modal-menu-image{max-height:58vh}.modal-service-copy h2{font-size:40px}}
@media(max-width:680px){.heading-copy{padding:0 22px}.inspiration-note{text-align:left;margin:22px 0 0}.faq{padding:75px 22px}.faq-list summary{font-size:23px}.modal-shell{display:block;overflow:auto;max-height:92vh}.modal-menu-image{max-height:none}.modal-service-copy{padding:30px 20px 24px}.modal-menu-image img{max-height:none}.simple-card{padding:34px 24px}.simple-actions{flex-direction:column}.simple-actions .btn{width:100%}.visit-actions{flex-direction:column}.visit-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}.reveal{opacity:1;transform:none;transition:none}.philosophy-image img,.experience-card img{transition:none}.page-loader{display:none}}
