@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--wine:#3a0b12;--deep:#27070c;--ember:#c8321a;--ember-hi:#e0481f;--flame:#f5a84a;--tin:#e6e1d8;--cream:#efe6d8;--ink:#241416;--muted:#6b5a58;--cream-dim:#c9b9a8;--line:rgba(239,230,216,.2);--line-d:rgba(36,20,22,.2);--gut:clamp(16px,5vw,64px);--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--wine);color:var(--cream);font:400 17px/1.6 Inter,Roboto,system-ui,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2{font-weight:800;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(2.75rem,7.4vw,6.25rem)}
h2{font-size:clamp(2rem,4.6vw,3.75rem)}
h3{font-size:1.3rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
:focus-visible{outline:3px solid var(--flame);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;z-index:50;background:var(--cream);color:var(--ink);padding:8px 12px}
.lede{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.55;max-width:34em}
.prose{max-width:36em}.prose p+p{margin-top:1em}
.btn{display:inline-block;padding:.8em 1.35em;border-radius:3px;font-weight:600;text-decoration:none;border:1.5px solid transparent;font-size:1rem;line-height:1.2;cursor:pointer;font-family:inherit}
.btn-a{background:var(--ember);color:#fff}.btn-a:hover{background:var(--ember-hi)}
.btn-b{border-color:currentColor;background:none;color:inherit}.btn-b:hover{background:rgba(127,127,127,.16)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* header */
.top{position:sticky;top:0;z-index:30;background:var(--deep);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand .em{width:50px;height:50px;object-fit:contain}.brand .wm{height:42px;width:auto}
.nav ul{display:flex;gap:26px}
.nav a{text-decoration:none;font-size:.97rem;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--flame)}
.top .btn{padding:.6em 1em;font-size:.95rem;white-space:nowrap}
.tog{display:none;background:none;border:1.5px solid var(--line);color:inherit;border-radius:3px;padding:.5em .75em;font:600 .95rem Inter,sans-serif;cursor:pointer}
@media(max-width:940px){
 .tog{display:block}.top .btn{display:none}
 .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--deep);border-bottom:1px solid var(--line);padding:8px var(--gut) 20px}
 .nav.open{display:block}.nav ul{flex-direction:column;gap:0}
 .nav a{display:block;padding:12px 0;font-size:1.15rem;border-bottom:1px solid var(--line)}
}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--wine);min-height:min(82vh,760px);display:flex;align-items:center}
.hero .wrap{position:relative;z-index:2;width:100%;padding-block:clamp(56px,9vw,110px)}
.hero h1{max-width:9.5em}
.hero .lede{margin-top:24px;max-width:29em}
.hero .now{margin-top:22px;color:var(--flame);font-weight:600}
.bird{position:absolute;z-index:1;right:-20vw;top:50%;width:min(72vw,860px);transform:translateY(-50%);animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both;pointer-events:none}
@keyframes rise{from{transform:translateY(-44%) rotate(-7deg)}to{transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){.bird{animation:none}html{scroll-behavior:auto}}
@media(max-width:820px){.hero{display:block;min-height:0}.hero .wrap{padding-top:44px;padding-bottom:270px}.bird{top:auto;bottom:-110px;right:-90px;width:430px;transform:none;animation:none}}

.bleed{width:100%;height:clamp(260px,52vw,620px);object-fit:cover}

/* sections */
.sec{padding-block:clamp(60px,9vw,120px)}
.sec.tin{background:var(--tin);color:var(--ink)}
.sec.deep{background:var(--deep)}
.sec.ember{background:var(--ember);color:#fff}
.sec-head{max-width:40em;margin-bottom:clamp(32px,5vw,56px)}
.sec-head p{margin-top:16px}
.pagehead{background:var(--wine);padding-block:clamp(48px,7vw,90px);position:relative;overflow:hidden}
.pagehead .wrap{position:relative;z-index:2}
.pagehead p{margin-top:18px}
.pagehead .bird{width:min(60vw,560px);right:-120px;animation:none;opacity:.55}
@media(max-width:820px){.pagehead .bird{display:none}}

/* feature rows */
.feat{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,5vw,72px);align-items:center}
.feat+.feat{margin-top:clamp(56px,8vw,104px)}
.feat.flip{grid-template-columns:5fr 7fr}.feat.flip figure{order:2}
.feat img{width:100%;height:clamp(280px,40vw,520px);object-fit:cover}
.feat h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.feat p{margin-top:16px;max-width:30em}
.link{font-weight:600;text-underline-offset:4px;display:inline-block;margin-top:18px}
@media(max-width:820px){.feat,.feat.flip{grid-template-columns:1fr}.feat.flip figure{order:0}}

/* offers */
.offers{display:grid;grid-template-columns:1fr 1fr;gap:0}
.offer{padding-block:6px;padding-right:clamp(20px,5vw,72px)}
.offer+.offer{border-left:1px solid rgba(255,255,255,.4);padding-left:clamp(20px,5vw,72px);padding-right:0}
.offer .big{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin:6px 0 12px}
.offer li{margin-top:2px}
.fine{font-size:.9rem;opacity:.88;margin-top:14px}
@media(max-width:760px){.offers{grid-template-columns:1fr;gap:36px}.offer,.offer+.offer{padding:0;border:0}}

/* rooms list */
.rooms{border-top:1px solid var(--line-d)}
.room{display:grid;grid-template-columns:5rem 1fr 1.2fr;gap:24px;padding-block:24px;border-bottom:1px solid var(--line-d);align-items:baseline}
.room b{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.room small{display:block;font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:4px}
@media(max-width:700px){.room{grid-template-columns:4.4rem 1fr}.room p{grid-column:1/-1}}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}
.tiles figure{position:relative;overflow:hidden}
.tiles img{width:100%;height:100%;object-fit:cover}
.tiles figcaption{position:absolute;left:0;bottom:0;background:var(--deep);color:var(--cream);padding:4px 10px;font-size:.88rem;font-weight:500}
.t-a{grid-column:span 5;grid-row:span 2}.t-b,.t-c{grid-column:span 4;height:clamp(180px,20vw,270px)}.t-c{grid-column:span 3}.t-d,.t-e{height:clamp(180px,20vw,270px)}.t-d{grid-column:span 3}.t-e{grid-column:span 4}
@media(max-width:760px){.tiles{grid-template-columns:1fr 1fr}.t-a{grid-column:span 2;grid-row:auto;height:300px}.t-b,.t-c,.t-d,.t-e{grid-column:span 1;height:180px}}

/* menus */
.chips{position:sticky;top:72px;z-index:20;background:var(--deep);border-bottom:1px solid var(--line)}
.chips ul{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.chips a{display:block;padding:.4em .85em;white-space:nowrap;text-decoration:none;border-radius:3px;font-weight:500;font-size:.95rem}
.chips a:hover{background:rgba(239,230,216,.14)}
.mgroup{scroll-margin-top:140px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,6vw,80px);padding-block:clamp(44px,6vw,76px);border-bottom:1px solid var(--line-d)}
.mgroup.nopic{grid-template-columns:minmax(0,1fr)}
.mgroup h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:8px}
.mnote{color:var(--muted);margin-bottom:10px;max-width:40em}
.mgroup figure{position:sticky;top:150px;align-self:start}
.mgroup figure img{width:100%;height:420px;object-fit:cover}
.mcols{columns:2;column-gap:clamp(24px,4vw,56px);margin-top:22px}
.mgroup:not(.nopic) .mcols{columns:1}
.item{break-inside:avoid;padding-block:11px}
.row{display:flex;align-items:baseline;gap:8px;font-weight:650}
.row i{flex:1;border-bottom:2px dotted currentColor;opacity:.35;transform:translateY(-4px);min-width:16px}
.row span{font-weight:600;white-space:nowrap}
.item p{font-size:.97rem;color:var(--muted);max-width:36em;margin-top:1px}
.dark .item p,.dark .mnote{color:var(--cream-dim)}
.dark .mgroup{border-bottom-color:var(--line)}
@media(max-width:900px){.mgroup{grid-template-columns:1fr}.mgroup figure{position:static;order:-1}.mgroup figure img{height:230px}.mcols{columns:1}}

/* drinks strip */
.pours{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pours img{width:100%;height:clamp(180px,24vw,340px);object-fit:cover}
@media(max-width:700px){.pours{grid-template-columns:repeat(3,1fr)}.pours img:nth-child(n+4){display:none}}

/* steps, details */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:block;font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:var(--ember);line-height:1;margin-bottom:10px}
.steps p{margin-top:6px;font-size:.98rem}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--line-d);padding-block:14px}
summary{font-weight:650;cursor:pointer;font-size:1.08rem}
details p{margin-top:8px;max-width:42em}
.faq{max-width:48em;border-top:1px solid var(--line-d)}

/* timeline */
.tl li{display:grid;grid-template-columns:7.5rem 1fr;gap:20px;padding-block:20px;border-top:1px solid var(--line)}
.tl b{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--flame)}
.tl p{max-width:38em}
@media(max-width:560px){.tl li{grid-template-columns:1fr;gap:4px}}

/* visit */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px)}
@media(max-width:860px){.two{grid-template-columns:1fr}}
.hours{width:100%;border-collapse:collapse;margin-top:10px}
.hours th{text-align:left;font-weight:500}
.hours td{text-align:right}
.hours th,.hours td{padding:9px 0;border-bottom:1px solid var(--line-d)}
.deep .hours th,.deep .hours td,.wineb .hours th,.wineb .hours td{border-bottom-color:var(--line)}
.block+.block{margin-top:36px}
.block h3{margin-bottom:6px}
.map{width:100%;height:420px;border:0;display:block}
@media(max-width:700px){.map{height:300px}}

/* form */
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.full{grid-column:1/-1}
label{display:block;font-weight:550;font-size:.95rem}
input,select,textarea{display:block;width:100%;margin-top:5px;padding:.7em .8em;border:1.5px solid #a79c94;border-radius:3px;background:#fff;color:var(--ink);font:400 1rem Inter,sans-serif}
.sent{grid-column:1/-1;font-weight:600;min-height:1.5em}
@media(max-width:520px){form{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--deep);padding-block:56px 28px;font-size:.97rem}
.foot .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.foot h3{font-size:1rem;margin-bottom:8px}
.foot a{text-underline-offset:3px}
.foot li{margin-top:4px}.foot ul a{text-decoration:none}.foot ul a:hover{text-decoration:underline}
.foot .logo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.foot .logo .em{width:64px;height:64px}.foot .logo .wm{height:52px;width:auto}
.legal{margin-top:36px;padding-top:16px;border-top:1px solid var(--line);font-size:.87rem;color:var(--cream-dim)}
@media(max-width:820px){.foot .grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot .grid{grid-template-columns:1fr}}
.callbar{display:none}
@media(max-width:640px){.callbar{display:grid;grid-template-columns:1fr 1fr;position:sticky;bottom:0;z-index:25}.callbar a{text-align:center;padding:13px;font-weight:600;text-decoration:none;background:var(--deep);border-top:1px solid var(--line)}.callbar a+a{background:var(--ember);color:#fff}}
