:root{--wine:#42190f;--rust:#a94725;--cream:#f3eadb;--paper:#fffaf1;--ink:#251913;--sage:#81846c;--line:#cbbca8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{position:absolute;inset:0 0 auto;z-index:10;height:92px;padding:0 max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:white;border-bottom:1px solid rgba(255,255,255,.25)}.brand{font:700 1.45rem var(--serif);letter-spacing:.12em}.brand i{font-weight:400;color:#efb07e}.nav nav{display:flex;gap:28px;font-size:.7rem;font-weight:700;letter-spacing:.08em}.reserve-nav{justify-self:end;background:transparent;color:white;border:1px solid white;padding:13px 18px;text-transform:uppercase;font-size:.66rem;letter-spacing:.1em;cursor:pointer}.menu{display:none;background:none;border:0;color:white;font-size:1.4rem}.hero{height:890px;position:relative;display:flex;align-items:end;color:white}.hero>img,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,rgba(30,13,8,.86),rgba(30,13,8,.18) 68%),linear-gradient(0deg,rgba(30,13,8,.75),transparent 45%)}.hero-copy{position:relative;z-index:2;width:min(1240px,calc(100% - 48px));margin:0 auto 105px}.eyebrow{font-size:.65rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#f2c49f}.eyebrow.dark{color:var(--rust)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(4.5rem,9vw,9rem);line-height:.8;max-width:820px;margin:24px 0}.hero h1 em{color:#f0ab72}.hero p{max-width:600px;color:#f2e6dc}.button{border:1px solid transparent;padding:15px 22px;margin-top:20px;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.button.light{background:var(--paper);color:var(--ink)}.button.dark{background:var(--wine);color:white}.service-card{position:absolute;z-index:3;right:max(24px,calc((100vw - 1240px)/2));bottom:0;display:grid;grid-template-columns:1fr 1fr;background:var(--wine);min-width:460px}.service-card div{padding:24px;border-right:1px solid rgba(255,255,255,.18)}.service-card small,.service-card span{display:block;color:#d2bbae;font-size:.65rem}.service-card strong{display:block;font:400 1.4rem var(--serif);margin:3px 0}.reservation-strip{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;padding:26px max(24px,calc((100vw - 1240px)/2));background:var(--rust);color:white}.reservation-strip div{display:flex;gap:20px;align-items:center}.reservation-strip span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#ffd4bd}.reservation-strip button{background:none;border:0;color:white;font-weight:800;cursor:pointer}.intro{width:min(1240px,calc(100% - 48px));margin:auto;padding:125px 0;display:grid;grid-template-columns:130px 1.3fr .7fr;gap:55px;align-items:start}.intro-number{font:400 6rem/1 var(--serif);color:var(--rust)}.intro h2,.menu-section h2,.pass h2,.salon h2,.booking h2{font-size:clamp(3.3rem,6vw,6.4rem);line-height:.91;margin:12px 0}.intro p{color:#66574d}.menu-section{background:var(--paper);padding:110px max(24px,calc((100vw - 1240px)/2))}.menu-section>header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.menu-section>header p{color:#7b6a5f}.menu-layout{display:grid;grid-template-columns:190px 1fr .8fr;gap:45px}.menu-tabs{display:flex;flex-direction:column;align-items:stretch}.menu-tabs button{border:0;border-bottom:1px solid var(--line);background:none;text-align:left;padding:18px 0;color:#756459;cursor:pointer}.menu-tabs button.active{color:var(--rust);font-weight:800}.menu-list article{display:grid;grid-template-columns:1fr auto;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.menu-list h3{font:400 1.55rem var(--serif);margin:0}.menu-list p{font-size:.75rem;color:#76675c;margin:4px 0}.menu-list strong{font:400 1rem var(--serif)}.menu-layout figure{margin:0;height:520px;position:relative}.menu-layout figcaption{position:absolute;left:12px;bottom:12px;background:var(--paper);padding:8px 10px;font-size:.65rem}.pass{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:var(--wine);color:white}.pass-image{position:relative}.pass-image span{position:absolute;left:22px;bottom:22px;background:var(--wine);padding:8px 12px;font-size:.65rem}.pass-copy{padding:95px 70px;display:flex;flex-direction:column;justify-content:center}.pass-copy p{color:#dbc6b8}.pass ol{list-style:none;padding:0;margin:35px 0}.pass li{display:grid;grid-template-columns:120px 1fr;border-top:1px solid rgba(255,255,255,.2);padding:18px 0}.pass li span{color:#cbb5a7}.salon{height:760px;position:relative;color:white;display:flex;align-items:center}.salon:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,15,11,.85),rgba(27,15,11,.1))}.salon-copy{position:relative;z-index:2;margin-left:max(24px,calc((100vw - 1240px)/2));max-width:600px}.salon-copy p{max-width:430px}.moments{display:grid;grid-template-columns:repeat(3,1fr);background:var(--rust);color:white}.moments div{padding:50px max(24px,calc((100vw - 1240px)/6));border-right:1px solid rgba(255,255,255,.2)}.moments span{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:#f4c4aa}.moments strong{display:block;font:400 2rem var(--serif);margin:8px 0}.moments p{font-size:.78rem}.booking{padding:115px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.booking p{max-width:420px;color:#6e5e53}.booking form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking label{display:grid;gap:7px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.booking input,.booking select,.booking textarea{border:1px solid var(--line);background:var(--paper);padding:14px;color:var(--ink)}.booking textarea{min-height:105px}.booking .full{grid-column:1/-1}footer{background:var(--wine);color:#cab6aa;padding:40px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;font-size:.72rem}footer strong{color:white}.toast{position:fixed;right:22px;bottom:22px;background:var(--rust);color:white;padding:15px 20px;transform:translateY(150%);transition:.25s;z-index:30}.toast.show{transform:none}
@media(max-width:880px){.nav{grid-template-columns:1fr auto}.nav nav,.reserve-nav{display:none}.menu{display:block}.nav.open{position:fixed;height:100vh;background:var(--wine);align-items:start;padding-top:30px}.nav.open nav{display:flex;position:absolute;inset:120px 24px auto;flex-direction:column;font-size:1rem}.nav.open .menu{position:absolute;right:24px;top:30px}.service-card{left:24px;right:24px;min-width:0}.reservation-strip,.intro,.menu-layout,.pass,.booking{grid-template-columns:1fr}.reservation-strip{gap:12px}.reservation-strip div{justify-content:space-between}.intro{gap:25px}.menu-tabs{flex-direction:row;overflow:auto}.menu-tabs button{padding:14px;margin-right:20px;white-space:nowrap}.menu-layout figure{height:470px}.pass-image{min-height:560px}.pass-copy{padding:70px 24px}.moments{grid-template-columns:1fr}.moments div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}footer{display:block}footer span{display:block;margin-top:8px}}
@media(max-width:520px){.hero{height:780px}.hero-copy{margin-bottom:175px}.hero h1{font-size:4.2rem}.service-card{grid-template-columns:1fr}.service-card div{padding:13px 18px}.service-card div:last-child{display:none}.reservation-strip{display:block}.reservation-strip div{margin-bottom:10px}.intro,.menu-section,.booking{padding-top:75px;padding-bottom:75px}.menu-section>header{display:block}.menu-layout figure{height:390px}.pass-image{min-height:430px}.salon{height:650px}.booking form{grid-template-columns:1fr}.booking .full{grid-column:auto}}
.salon>img{position:absolute;inset:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}:focus-visible{outline:3px solid #f0ab72;outline-offset:4px}
