:root { color:#f6e6d1; background:#21181d; font-family:Georgia,serif; --ink:#21181d; --wine:#33232a; --gold:#ebc9a4; --rule:#765b58; }
*,*::before,*::after { box-sizing:border-box; }
body,h1,h2,p,figure { margin:0; }
body { line-height:1.6; }
a { color:inherit; }
img { display:block; width:100%; height:auto; object-fit:cover; }
.wrap { width:min(1080px,calc(100% - 86px)); margin-inline:auto; }
.skip { position:absolute; top:-100px; left:10px; z-index:3; padding:8px; background:white; color:var(--ink); }
.skip:focus { top:8px; }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.concept-bar { display:flex; justify-content:space-between; gap:8px; padding:7px max(18px,calc((100% - 1080px)/2)); color:#f6e6d1; background:#38272c; font: .73rem/1.6 Arial,sans-serif; }
.site-header { background:var(--ink); border-bottom:1px solid var(--rule); }
.header-inner { display:grid; justify-items:center; padding:18px 0 13px; gap:14px; }
.brand { display:flex; align-items:center; gap:8px; text-decoration:none; font-size:1.58rem; line-height:1; letter-spacing:-.04em; }
.brandmark { color:var(--gold); font-size:.72em; }
.brand small { display:block; text-align:center; margin-top:5px; color:var(--gold); font:700 .53rem/1 Arial,sans-serif; letter-spacing:.28em; }
nav { display:flex; justify-content:center; flex-wrap:wrap; gap:7px 26px; font: .82rem/1.5 Arial,sans-serif; }
nav a { text-decoration:none; }
nav a:hover, nav [aria-current] { text-decoration:underline; text-underline-offset:5px; }
nav a:last-child { color:var(--gold); }
.kicker { color:var(--gold); font:700 .67rem/1.45 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
h1,h2 { font-weight:400; letter-spacing:-.05em; line-height:.99; }
h1 { font-size:clamp(3.5rem,9vw,8.5rem); }
h2 { font-size:clamp(2.1rem,5.4vw,4.4rem); }
h1 em,h2 em { color:var(--gold); }
.venue-hero { position:relative; isolation:isolate; min-height:min(680px,80svh); display:grid; place-items:center; text-align:center; background:#4a3028; }
.venue-hero img { position:absolute; inset:0; height:100%; z-index:-2; object-position:center 53%; }
.venue-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at center,#22131dc7 1%,#22131d75 56%,#22131d65); }
.venue-hero-copy { padding:55px 24px; }
.venue-hero-copy h1 { margin:13px 0; }
.venue-hero-copy p:not(.kicker) { font-size:1.16rem; }
.venue-hero .button { margin-top:23px; }
.hero-caption { position:absolute; bottom:11px; right:16px; color:#f6e6d1; font:700 .62rem/1.2 Arial,sans-serif; letter-spacing:.14em; }
.button { display:inline-flex; min-height:44px; align-items:center; padding:10px 16px; color:var(--ink); background:var(--gold); border:1px solid var(--gold); font:700 .82rem/1.2 Arial,sans-serif; text-decoration:none; cursor:pointer; }
.button:hover { background:#f3d9bc; }
.text-link { display:inline-block; color:var(--gold); text-underline-offset:6px; }
.venue-feature { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:clamp(24px,6vw,85px); padding-block:clamp(47px,9vw,112px); }
.venue-feature-photo img { aspect-ratio:1.08; }
.venue-feature h2 { margin:12px 0 16px; }
.venue-feature .text-link { margin-top:14px; }
.page-intro { text-align:center; padding-block:clamp(50px,9vw,108px) 42px; }
.page-intro h1 { margin:13px 0 16px; }
.page-intro > p:last-child { max-width:565px; margin-inline:auto; font-size:1.06rem; }
.venue-gallery { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.venue-gallery figure { margin:0; background:var(--wine); }
.venue-gallery figure:first-child { grid-column:span 2; }
.venue-gallery img { aspect-ratio:1.42; }
.venue-gallery figure:first-child img { aspect-ratio:2.26; }
.venue-gallery figcaption { padding:19px; }
.venue-gallery h2 { margin:8px 0 10px; font-size:clamp(1.65rem,3.8vw,3rem); }
.venue-cta { padding:36px 0 70px; text-align:center; }
.event-layout,.visit-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(20px,5vw,66px); padding-bottom:clamp(45px,9vw,92px); }
.event-layout img,.visit-layout img { aspect-ratio:.98; }
.event-list article { padding:14px 0; border-top:1px solid var(--rule); }
.event-list h2 { font-size:clamp(1.75rem,3.7vw,2.7rem); margin-bottom:7px; }
.event-list .text-link { margin-top:11px; }
.demo-form { background:var(--wine); border:1px solid var(--rule); padding:clamp(19px,3vw,35px); }
.demo-form label { display:grid; gap:6px; margin-bottom:16px; }
.demo-form select { width:100%; min-height:44px; border:1px solid var(--rule); background:#fff3e6; color:var(--ink); font:inherit; padding:8px; }
.form-note,.form-result { font:.83rem/1.6 Arial,sans-serif; margin-top:12px; }
.form-result { border:1px solid var(--gold); padding:10px; }
footer { border-top:1px solid var(--rule); background:#180f14; }
footer .wrap { padding-block:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:.84rem; }
@media(max-width:760px) {
  .wrap { width:calc(100% - 36px); }
  nav { gap:7px 15px; }
  .venue-hero { min-height:550px; }
  .venue-feature,.venue-gallery,.event-layout,.visit-layout { grid-template-columns:1fr; }
  .venue-gallery figure:first-child { grid-column:auto; }
  .venue-gallery figure:first-child img { aspect-ratio:1.42; }
}
