/* Preserve the Cantina's grid, spacing, typography and responsive layout. */
.filter-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.skip-link { position:absolute; top:8px; left:8px; z-index:200; padding:12px 18px; background:var(--paper-light); color:var(--plum); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.brand { width:132px; height:86px; display:flex; flex-shrink:0; }
.brand img { width:100%; height:100%; object-fit:contain; filter:url(#logo-flat); }
.desktop-nav { gap:clamp(18px,2.3vw,36px); }
.desktop-nav .sister-link { color:var(--gold-pale); }
.header-contact { justify-self:end; display:inline-flex; align-items:center; gap:22px; border:1px solid #f8f2e859; padding:0 17px; min-height:44px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.header-contact:hover { background:var(--paper-light); color:var(--plum); }
.night-card { padding:27px 30px; bottom:8%; transform:rotate(1.5deg); }
.night-card > span { font-size:8px; color:var(--wine); text-transform:uppercase; letter-spacing:.16em; font-weight:800; }
.night-card > strong { font-family:Georgia,serif; font-size:clamp(26px,2.6vw,40px); line-height:1.05; font-weight:400; margin:14px 0 19px; display:block; }
.night-card p { border-top:1px solid #35102033; padding-top:13px; color:var(--wine); font-size:9px; letter-spacing:.08em; }
.proof-strip strong { font-size:clamp(20px,1.85vw,30px); }
.hero-room { object-position:48% center; }
.hero h1 { font-size:clamp(72px,8.6vw,152px); }
.hero h1 span { font-size:.77em; margin-left:6%; margin-top:.25em; }
.hero-lead { max-width:500px; padding-right:12px; }
.night-program { display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:center; padding-left:18.5%; }
.program-lead { font-family:Georgia,serif; font-size:clamp(29px,3.2vw,48px); line-height:1.2; letter-spacing:-.03em; margin:0 0 30px; }
.program-copy { color:#f8f2e8ad; font-family:Georgia,serif; font-size:17px; line-height:1.75; margin:0 0 34px; max-width:530px; }
.time-card { text-align:center; border:1px solid #f4d28d66; padding:45px 25px; }
.time-card > span { display:block; color:var(--gold-pale); font-size:9px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:28px; }
.time-card strong { display:block; font-family:Georgia,serif; font-size:clamp(42px,5.4vw,80px); font-weight:400; line-height:1.1; letter-spacing:-.06em; }
.time-card i { display:block; font-family:Georgia,serif; font-size:18px; color:var(--gold-pale); margin:12px 0; }
.time-card p { margin:30px 0 0; color:#f8f2e8ad; font-family:Georgia,serif; font-size:15px; line-height:1.6; }
.contact-email { display:inline-block; margin-top:28px; color:var(--gold-pale); font-size:12px; border-bottom:1px solid #f4d28d66; padding-bottom:4px; overflow-wrap:anywhere; }
.sister-strip { background:var(--gold); display:flex; align-items:center; justify-content:center; gap:35px; padding:30px 5.5vw; }
.sister-strip > span:first-child { font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.sister-strip a { font-family:Georgia,serif; font-size:26px; letter-spacing:-.04em; }
.sister-strip a:hover { text-decoration:underline; text-underline-offset:5px; }
.sister-divider { opacity:.4; font-family:Georgia,serif; font-size:35px; }
.mobile-contact { display:none; }
.visit-content h2 { font-size:clamp(50px,5.8vw,90px); }
@media (max-width:1120px) {
  .header-contact { margin-right:110px; }
  .night-program { padding-left:0; gap:6vw; }
  .hero h1 { font-size:clamp(68px,8.6vw,110px); }
}
@media (max-width:760px) {
  .site-header .brand { width:102px; height:68px; }
  .header-contact { display:none; }
  .hero h1 { font-size:clamp(68px,23vw,94px); }
  .hero h1 span { font-size:.76em; margin-left:3%; }
  .hero-lead { padding-right:0; }
  .hero-visual { height:500px; }
  .night-card { width:220px; padding:22px; }
  .night-card > strong { font-size:31px; }
  .night-program { display:flex; flex-direction:column; align-items:stretch; gap:48px; }
  .program-lead { font-size:32px; }
  .program-copy { font-size:16px; }
  .time-card { padding:32px 20px; }
  .time-card strong { font-size:64px; }
  .sister-strip { flex-wrap:wrap; gap:14px 20px; padding:30px 20px; }
  .sister-strip > span:first-child { flex-basis:100%; text-align:center; }
  .sister-strip a { font-size:21px; }
  .sister-divider { font-size:24px; }
  .mobile-contact { position:fixed; z-index:100; bottom:0; left:0; right:0; background:var(--gold); color:var(--plum-deep); min-height:60px; padding:0 20px; display:flex; justify-content:space-between; align-items:center; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.1em; }
  .visit-content h2 { font-size:clamp(50px,15vw,72px); }
}
