:root {
  --c-primary: #0B0B0B;          
  --c-secondary: #1F1F1F;        
  --c-text: #FFFFFF;             
  --c-accent: #A8A8A8;           
  --c-burgundy: #7A0038;         
  --c-gold: #D9C68F;             
  --c-burgundy-deep: #350018;    
  --c-field-border: #69727D;     
  --c-nav-hover: #3F444B;        
  --c-nav-panel: #1F1F1FC4;      
  --c-divider-soft: #A8A8A852;   
  --c-divider-faint: #A8A8A821;  
  --c-credit: #00A365;           
  --font-body: "Poppins", sans-serif;
  --font-eyebrow: "Orbitron", sans-serif;
  --font-404: "Preahvihear", sans-serif;
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --fs-primary: 64px;            
  --fs-secondary: 48px;          
  --fs-hero: 64px;               
  --fs-title: 35px;              
  --fs-accent: 24px;             
  --fs-card-title: 24px;         
  --fs-card-text: 16px;          
  --fs-text: 16px;               
  --fs-subtitle: 16px;           
  --fs-eyebrow: 16px;            
  --fs-label: 16px;              
  --fs-small: 12px;              
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1;                 
  --lh-text: 1.5;                
  --container: 1250px;           
  --gutter: 10px;                
  --widget-gap: 20px;            
  --section-gap-sm: 60px;
  --section-gap: 80px;
  --header-h: 98px;              
  --radius-field: 3px;
  --radius-btn: 8px;
  --radius-card: 12px;
  --radius-panel: 16px;
  --border-gold: 1px solid var(--c-gold);
  --rule-gold: 2px solid var(--c-gold);
  --shadow-card: 0 0 15px 0 rgba(219, 186, 0, .5);     
  --shadow-feature: 0 0 15px 0 rgba(191, 202, 0, .5);  
  --shadow-btn: 0 0 10px 0 rgba(148, 137, 0, .5);      
  --gradient-wine: linear-gradient(180deg, var(--c-primary) 0%, var(--c-burgundy-deep) 100%);
  --gradient-wine-30: linear-gradient(180deg, var(--c-primary) 30%, var(--c-burgundy-deep) 100%);
  --t-fast: .3s;                 
  --t-nav: .4s;                  
  --t-entrance: 1.25s;           
}
@media (max-width: 1024px) {
  :root {
    --container: 1024px;
    --fs-card-title: 18px;
    --fs-card-text: 14px;
  }
}
@media (max-width: 767px) {
  :root {
    --container: 767px;
    --fs-hero: 40px;
    --fs-title: 27px;
    --fs-subtitle: 13px;
  }
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/poppins-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/poppins-400-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/poppins-500-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/poppins-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/poppins-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Orbitron";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/orbitron-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Preahvihear";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/preahvihear-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: var(--header-h);
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
html:has(dialog[open]) { overflow: hidden; scrollbar-gutter: stable; }  
body {
  margin: 0;
  background-color: var(--c-primary);
  color: var(--c-text);
  font-family: var(--font-body);
  font-size: var(--fs-text);
  font-weight: var(--fw-regular);
  line-height: var(--lh-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: var(--fw-medium); line-height: var(--lh-tight); }
p { margin: 0 0 .9rem; }
a { color: inherit; text-decoration: none; }
b, strong { font-weight: var(--fw-bold); }
ul, ol { margin: 0; padding: 0; }
img, picture, video, svg { max-width: 100%; }
img, video { height: auto; vertical-align: middle; }
button, input, textarea, select { font: inherit; color: inherit; margin: 0; }
button { cursor: pointer; }
[hidden] { display: none !important; }
dialog:not([open]) { display: none; }  
:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 2px; }
main:focus { outline: 0; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; }
.col { padding: var(--gutter); }                       
.stack > * + * { margin-top: var(--widget-gap); }      
.text-center { text-align: center; }
.text-left { text-align: left; }
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.t-eyebrow {
  margin: 0;
  color: var(--c-gold);
  font-family: var(--font-eyebrow);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  text-transform: uppercase;
}
.t-title { color: var(--c-text); font-size: var(--fs-title); font-weight: var(--fw-regular); line-height: var(--lh-tight); }
.t-hero { color: var(--c-text); font-size: var(--fs-hero); font-weight: var(--fw-medium); line-height: var(--lh-tight); }
.t-accent { font-size: var(--fs-accent); font-weight: var(--fw-medium); }
.t-label { font-size: var(--fs-label); font-weight: var(--fw-medium); line-height: var(--lh-tight); }
.t-subtitle { font-size: var(--fs-subtitle); }
.t-muted { color: var(--c-accent); }
.prose { font-family: var(--font-system); }
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { line-height: 1.2; margin-block: .5rem 1rem; }
.prose h1 { font-size: 2.5rem; }
.prose h2 { font-size: 2rem; }
.prose h3 { font-size: 1.75rem; }
.prose h4 { font-size: 1.5rem; }
.prose h5 { font-size: 1.25rem; }
.prose h6 { font-size: 1rem; }
.prose ul, .prose ol { padding-inline-start: 40px; margin-block: 1em; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes slideInUp { from { transform: translate3d(0, 100%, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } }
@keyframes reveal-safety { to { opacity: 1; } }
.anim-ready [data-animate]:not(.is-animated) { opacity: 0; animation: reveal-safety 0s 6s forwards; }
@media (max-width: 767px) {
  .anim-ready [data-animate-mobile]:not(.is-animated) { opacity: 0; animation: reveal-safety 0s 6s forwards; }
}
.is-animated { animation-duration: var(--t-entrance); }
@media (prefers-reduced-motion: reduce) {
  html *, html *::before, html *::after {
    animation: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
  .anim-ready [data-animate]:not(.is-animated), .anim-ready [data-animate-mobile]:not(.is-animated) { opacity: 1; }
}
@media print {
  .anim-ready [data-animate]:not(.is-animated), .anim-ready [data-animate-mobile]:not(.is-animated) { opacity: 1; }
}
.skip-link {
  position: fixed;
  top: 8px; left: 8px;
  z-index: 10000;
  padding: 12px 24px;
  background: var(--c-burgundy);
  color: var(--c-text);
  border: var(--border-gold);
  border-radius: var(--radius-btn);
  font-weight: var(--fw-medium);
  transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  background-color: var(--c-primary);
  border-bottom: var(--rule-gold);
}
.site-header__inner {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: var(--container);
  min-height: 96px;
  margin-inline: auto;
}
.site-header__logo { width: 20%; padding: var(--gutter); }
.site-header__logo a { display: inline-block; vertical-align: top; }
.site-header__logo img { display: block; width: 64px; height: 64px; }
.site-header__nav { width: 60%; padding: var(--gutter); display: flex; justify-content: center; }
.site-header__cta { width: 19.664%; padding: var(--gutter); text-align: right; }
.nav-toggle { display: none; }
.site-nav ul { display: flex; flex-wrap: wrap; list-style: none; }
.site-nav a {
  display: flex;
  align-items: center;
  padding: 13px 20px;
  color: var(--c-text);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 20px;
  white-space: nowrap;
  transition: color var(--t-nav), transform var(--t-nav);
}
.site-nav a:focus { color: var(--c-accent); transform: scale(1.2); }
@media (hover: hover) { .site-nav a:hover { color: var(--c-accent); transform: scale(1.2); } }
.site-nav a[aria-current], .site-nav a[aria-current]:hover, .site-nav a[aria-current]:focus { color: var(--c-gold); }
@media (min-width: 768px) {
  .site-nav a[aria-current] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }  
}
@media (max-width: 1024px) {
  .site-header__logo { width: 15%; }
  .site-header__nav { width: 65%; }
}
@media (max-width: 767px) {
  .site-header__logo { width: 55%; }
  .site-header__nav { width: 13%; display: block; }
  .site-header__cta { width: 32%; }
  .site-header__cta .btn { padding-inline: clamp(6px, calc(16vw - 40.5px), 24px); white-space: nowrap; }
  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33px; height: 33px;
    margin: 0 auto;
    padding: 5.5px;
    background: transparent;
    border: 0;
    border-radius: var(--radius-field);
    color: var(--c-gold);
    position: relative;
  }
  .nav-toggle::before { content: ""; position: absolute; inset: -6px; }   
  .nav-toggle svg { display: block; width: 22px; height: 22px; fill: currentColor; }
  .nav-toggle .nav-toggle__close, .nav-toggle[aria-expanded="true"] .nav-toggle__open { display: none; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }
  .site-nav {
    position: absolute;
    top: calc(100% + 1.5px);
    left: 0; right: 0;
    z-index: 9997;
    max-height: 0;
    overflow: hidden;
    background-color: var(--c-nav-panel);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-radius: 0 0 var(--radius-card) var(--radius-card);
    transform: scaleY(0);
    transform-origin: top;
    visibility: hidden;
    transition: max-height var(--t-fast), transform var(--t-fast), visibility 0s var(--t-fast);
  }
  .site-nav.is-open {
    max-height: calc(100vh - 97.5px);   
    max-height: calc(100dvh - 97.5px);
    overflow-y: auto;
    transform: scaleY(1);
    visibility: visible;
    transition: max-height var(--t-fast), transform var(--t-fast);
  }
  .site-nav ul { display: block; }
  .site-nav a {
    justify-content: center;
    padding: 15px 0;
    transition: none;
  }
  .site-nav li:last-child a { border-radius: 0 0 var(--radius-card) var(--radius-card); }
  .site-nav a:focus { background-color: var(--c-nav-hover); color: var(--c-text); transform: none; }
  @media (hover: hover) { .site-nav a:hover { background-color: var(--c-nav-hover); color: var(--c-text); transform: none; } }
  .site-nav a[aria-current] { background-color: var(--c-nav-hover); color: var(--c-gold); }
  html:not(.js) .nav-toggle { display: none; }
  html:not(.js) .site-header__inner { flex-wrap: wrap; }
  html:not(.js) .site-header__nav { order: 3; width: 100%; padding: 0; }
  html:not(.js) .site-nav { position: static; max-height: none; transform: none; visibility: visible; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  html:not(.js) .site-nav ul { display: flex; justify-content: center; }
  html:not(.js) .site-nav a { padding: 13px 10px; border: 0; }
  html:not(.js) .site-header__logo { width: 68%; }
}
@media (max-height: 500px) {
  :root { --header-h: 0px; }
  .site-header { position: relative; }
}
.footer-main {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: var(--container);
  min-height: 290px;
  margin-inline: auto;
}
.footer-brand { width: 25%; padding: var(--gutter); text-align: center; }
.footer-brand a { display: inline-block; width: 100%; max-width: 308px; vertical-align: top; }
.footer-brand img { display: block; width: 100%; height: auto; }
.footer-social {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 5px;   
  list-style: none;
}
.footer-social a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  transition: transform var(--t-fast);
}
.footer-social a::before { content: ""; position: absolute; inset: -5px; }  
.footer-social a:focus { transform: scale(1.1); opacity: .9; }
.footer-social svg { display: block; width: 17px; height: 17px; fill: var(--c-gold); }
@media (hover: hover) {
  .footer-social a:hover { transform: scale(1.1); opacity: .9; }
  .footer-social a:hover svg { fill: var(--c-text); }
}
.footer-info { display: flex; width: 75%; padding-left: 150px; }
.footer-contact { width: 61.521%; padding: var(--gutter); }
.footer-hours { width: 38.328%; padding: var(--gutter); }
.footer-heading { margin-bottom: var(--widget-gap); font-size: var(--fs-label); font-weight: var(--fw-medium); line-height: var(--lh-tight); }
.footer-contact__text { margin-bottom: 14.4px; line-height: 30px; }
.footer-contact__text a { text-decoration: underline; text-underline-offset: 3px; transition: color var(--t-fast); }
@media (hover: hover) { .footer-contact__text a:hover { color: var(--c-gold); } }
.hours { width: 100%; margin-bottom: var(--gutter); border-collapse: collapse; line-height: 24px; }
.hours th, .hours td { padding: 0 0 16px; font-weight: var(--fw-regular); }
.hours tr:last-child th, .hours tr:last-child td { padding-bottom: 0; }
.hours th { padding-left: var(--gutter); text-align: start; }
.hours td { padding-right: var(--gutter); text-align: end; }
.footer-legal { width: 100%; max-width: var(--container); margin-inline: auto; padding: var(--gutter); }
.footer-legal__text { margin: 19px 0 14.4px; font-size: var(--fs-small); text-align: center; }
.footer-legal__text a { color: var(--c-credit); }
@media (max-width: 1024px) {
  .footer-main { display: block; }
  .footer-brand { width: 100%; padding: 0; }
  .footer-info { width: 100%; padding-left: 0; }
  .footer-contact { width: 60%; }
  .footer-hours { width: 40%; }
}
@media (max-width: 1024px), (pointer: coarse) {
  .footer-contact__email, .footer-contact__phone { position: relative; display: inline-block; }
  .footer-contact__email::after, .footer-contact__phone::after { content: ""; position: absolute; inset: 0; }
  .footer-contact__email::after { top: -14px; }
  .footer-contact__phone::after { bottom: -14px; }
  .footer-contact__map { padding-block: 3px; }
}
@media (max-width: 767px) {
  .footer-main { padding: var(--gutter); }
  .footer-social { margin-top: var(--widget-gap); }
  .footer-info { display: block; }
  .footer-contact, .footer-hours { width: 100%; }
  .footer-contact__text { font-size: 14px; }
  .footer-legal { padding-bottom: 76px; }  
}
.booking-dialog {
  width: 700px;
  max-width: 100%;
  height: fit-content;
  max-height: 100%;
  margin: auto;
  padding: 0;
  border: 0;
  overflow: hidden;
  background-color: var(--c-secondary);
  color: var(--c-text);
  box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
}
.booking-dialog::backdrop { background: rgba(0, 0, 0, .8); }
.booking-dialog__scroll { max-height: 100vh; max-height: 100dvh; overflow: auto; overscroll-behavior: contain; }
.booking-dialog__close {
  position: absolute;
  top: 5%;
  right: 6%;
  z-index: 1;
  display: flex;
  width: 24px; height: 24px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--c-gold);
}
.booking-dialog__close::before { content: ""; position: absolute; inset: -10px; }  
.booking-dialog__close svg { display: block; width: 24px; height: 24px; fill: currentColor; }
@media (max-width: 767px) { .booking-dialog__close { top: 8px; right: 8px; } }
.wa {
  --wa-sep: 20px;
  --wa-size: 60px;
  --wa-header: max(50px, calc(var(--wa-size) * 1.166667));
  --wa-color: hsl(142 70% 49%);
  --wa-hover: hsl(142 70% 69%);
  --wa-dark: hsl(142 70% 39%);
  --wa-tint: hsl(142 70% 49% / 4%);
  --wa-msg-bg: #fff;
  --wa-msg-text: #4a4a4a;
  --wa-box-bg: #fff;
  position: fixed;
  z-index: 9000;
  right: var(--wa-sep);
  bottom: var(--wa-sep);
  color: #fff;
  font: normal normal normal 16px/1.625em -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  transform-origin: calc(var(--wa-size) / -2) calc(var(--wa-size) / -4);
}
.js .wa { display: none; }
.js .wa.wa--show { display: block; animation: wa-show .5s cubic-bezier(.18, .89, .32, 1.28) 10ms both; }
.wa__button {
  position: absolute;
  z-index: 2;
  right: 8px;
  bottom: 8px;
  display: block;
  width: var(--wa-size);
  height: var(--wa-size);
  border-radius: 50%;
  background: #25d366 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M3.516 3.516c4.686-4.686 12.284-4.686 16.97 0s4.686 12.283 0 16.97a12 12 0 0 1-13.754 2.299l-5.814.735a.392.392 0 0 1-.438-.44l.748-5.788A12 12 0 0 1 3.517 3.517zm3.61 17.043.3.158a9.85 9.85 0 0 0 11.534-1.758c3.843-3.843 3.843-10.074 0-13.918s-10.075-3.843-13.918 0a9.85 9.85 0 0 0-1.747 11.554l.16.303-.51 3.942a.196.196 0 0 0 .219.22zm6.534-7.003-.933 1.164a9.84 9.84 0 0 1-3.497-3.495l1.166-.933a.79.79 0 0 0 .23-.94L9.561 6.96a.79.79 0 0 0-.924-.445l-2.023.524a.797.797 0 0 0-.588.88 11.754 11.754 0 0 0 10.005 10.005.797.797 0 0 0 .88-.587l.525-2.023a.79.79 0 0 0-.445-.923L14.6 13.327a.79.79 0 0 0-.94.23z'/%3E%3C/svg%3E") 50% / 60% no-repeat;
  box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
  cursor: pointer;
  transition: background-color .2s linear;
}
@media (hover: hover) { .wa__button:hover { background-color: #128c7e; transition-duration: 1.5s; } }
.wa__button:active { background-color: #128c7e; transition: none; }
.wa--chat .wa__button { display: none; }
.wa__box {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: calc(100vw - var(--wa-sep) * 2);
  max-width: 400px;
  max-height: calc(100vh - var(--wa-sep) * 2);
  overflow: hidden;
  border-radius: 32px;
  background: var(--wa-box-bg) linear-gradient(180deg, var(--wa-color), var(--wa-color) var(--wa-header), var(--wa-tint) var(--wa-header), var(--wa-tint));
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .5);
  text-align: left;
  opacity: 0;
  transform: scale3d(0, 0, 0);
  visibility: hidden;
  transition: opacity .4s ease-out, transform 0s linear .3s, visibility 0s linear .3s;
}
.wa--chat .wa__box {
  opacity: 1;
  transform: none;
  visibility: visible;
  transition: opacity .2s ease-out, transform 0s linear;
}
.wa__header { position: relative; display: flex; align-items: center; flex-shrink: 0; height: var(--wa-header); padding: 0 70px 0 26px; }
.wa__logo { display: block; fill: currentColor; opacity: .8; }
.wa__close {
  position: absolute;
  top: calc(50% - 17px);
  right: 24px;
  width: 34px; height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .4) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M24 2.4 21.6 0 12 9.6 2.4 0 0 2.4 9.6 12 0 21.6 2.4 24l9.6-9.6 9.6 9.6 2.4-2.4-9.6-9.6z'/%3E%3C/svg%3E") 50% / 12px no-repeat;
  transition: background-color var(--t-fast) ease-out;
}
@media (hover: hover) { .wa__close:hover { background-color: rgba(0, 0, 0, .6); } }
.wa__close::before { content: ""; position: absolute; inset: -5px; }  
.wa__box :focus-visible { outline-color: var(--c-primary); box-shadow: 0 0 0 2px #fff; }
.wa__content { display: flex; flex-direction: column; width: calc(100% + 4px); padding: 20px 0 8px; }
.wa__bubble {
  position: relative;
  align-self: flex-start;
  max-width: calc(100% - 52px);
  min-height: 56px;
  margin: 0 26px 16px;
  padding: 15px 20px;
  border-radius: 26px;
  background: var(--wa-msg-bg);
  color: var(--wa-msg-text);
  word-break: break-word;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .3));
  transform-origin: 0 50%;
}
.wa--chat .wa__bubble { animation: wa-show .25s cubic-bezier(0, 0, .58, 1.19) 10ms both; }
.wa__bubble::before {
  content: "";
  position: absolute;
  bottom: 18px;
  left: -15px;
  width: 17px; height: 25px;
  background: inherit;
  clip-path: path("M17 25V0C17 12.877 6.082 14.9 1.031 15.91c-1.559.31-1.179 2.272.004 2.272C9.609 18.182 17 18.088 17 25z");
}
.wa__open {
  align-self: flex-end;
  display: flex;
  min-width: var(--wa-size);
  height: var(--wa-size);
  margin: 10px 8px 0;
  border-radius: 30px;
  background: var(--wa-color);
  color: var(--c-primary);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .3);
  overflow: hidden;
  transition: background-color .2s linear;
}
.wa__open:active { background: var(--wa-hover); color: var(--c-primary); }
@media (hover: hover) { .wa__open:hover { background: var(--wa-hover); color: var(--c-primary); } }
.wa__open-text {
  max-width: min(400px - 16px - var(--wa-size), 100vw - 16px - var(--wa-size) - 2 * var(--wa-sep));
  padding: 0 4px 0 24px;
  font-weight: 600;
  line-height: var(--wa-size);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wa__open-icon { flex-shrink: 0; width: var(--wa-size); height: var(--wa-size); padding: 10.8px; overflow: hidden; }
.wa__open-icon path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 33px; }
.wa__open-icon .wa__pa { --stroke: 1097; }
.wa__open-icon .wa__pb { --stroke: 1020; }
.wa--chat .wa__open-icon path { stroke-dasharray: var(--stroke); stroke-dashoffset: var(--stroke); }
.wa--chat .wa__open-icon .wa__pa { animation: wa-send 3s .2s ease-in-out both; }
.wa--chat .wa__open-icon .wa__pb { animation: wa-draw .3s 3.2s ease-in-out both; }
@keyframes wa-show { 0% { transform: scale3d(0, 0, 0); } to { transform: scaleX(1); } }
@keyframes wa-send { 0%, to { stroke-dashoffset: var(--stroke); } 10%, 90% { stroke-dashoffset: 0; } }
@keyframes wa-draw { from { stroke-dashoffset: var(--stroke); } to { stroke-dashoffset: 0; } }
@media (orientation: landscape) and (max-height: 480px), (max-width: 480px) {
  .wa { --wa-sep: 6px; --wa-header: max(50px, calc(var(--wa-size) * .9166667)); }
  .wa__close { top: calc(50% - 14px); width: 28px; height: 28px; }
  .wa__close::before { inset: -8px; }
  .wa__bubble { max-width: calc(100% - 40px); margin: 0 20px 10px; padding: 16px; line-height: 24px; }
}
@media (max-width: 356px) {
  .wa__box { overflow-y: auto; }
  .wa__open { height: auto; min-height: var(--wa-size); }
  .wa__open-text { align-self: center; padding-block: 10px; line-height: 1.3; white-space: normal; }
}
@media (orientation: landscape) and (max-height: 480px) {
  body:has(.site-nav.is-open) .wa { display: none; }
}
@media (prefers-color-scheme: dark) {
  .wa { --wa-msg-bg: #505050; --wa-msg-text: #d8d8d8; --wa-box-bg: #1a1a1a; --wa-color: hsl(142 70% 49%); }
  .wa__box { background: #1a1a1a linear-gradient(180deg, var(--wa-dark), var(--wa-dark) var(--wa-header), var(--wa-tint) var(--wa-header), var(--wa-tint)); }
}
@media (prefers-reduced-motion: reduce) {
  .wa__open-icon path { stroke-dasharray: 0 !important; stroke-dashoffset: 0 !important; }
}
.btn {
  display: inline-block;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: var(--radius-btn);
  background-color: var(--c-burgundy);
  color: var(--c-text);
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: var(--lh-tight);
  text-align: center;
  cursor: pointer;
  transition: background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);
}
.btn__inner { display: flex; align-items: center; justify-content: center; gap: 10px; }
.btn__icon { display: flex; align-items: center; }
.btn__icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.btn--primary { border-color: var(--c-gold); }
.btn--primary:focus-visible { border-color: var(--c-burgundy); color: var(--c-gold); }
@media (hover: hover) { .btn--primary:hover { border-color: var(--c-burgundy); color: var(--c-gold); } }
.btn--header { border-color: var(--c-text); }
.btn--header:focus-visible { border-color: var(--c-burgundy); }
@media (hover: hover) { .btn--header:hover { border-color: var(--c-burgundy); } }
@media (max-width: 767px) { .btn--header { font-size: var(--fs-small); } }
.btn--light { background-color: var(--c-text); border-color: var(--c-gold); color: var(--c-burgundy); }
.btn--light:focus-visible { background-color: var(--c-burgundy); border-color: var(--c-accent); color: var(--c-gold); }
@media (hover: hover) { .btn--light:hover { background-color: var(--c-burgundy); border-color: var(--c-accent); color: var(--c-gold); } }
.btn--soft { border-color: var(--c-gold); border-radius: var(--radius-card); }
.btn--soft:focus-visible { box-shadow: var(--shadow-btn); }
@media (hover: hover) { .btn--soft:hover { box-shadow: var(--shadow-btn); } }
.btn--block {
  display: block;
  width: 100%;
  min-height: 40px;
  padding: 0 24px;
  border: 0;
}
@media (hover: hover) { .btn--block:hover { color: var(--c-gold); } }
.heading-group { display: flow-root; margin-bottom: var(--widget-gap); }
.heading-group:last-child { margin-bottom: 0; }
.heading-group--center { text-align: center; }
.heading-group--left { text-align: left; }
@media (max-width: 1024px) { .heading-group--left-center { text-align: center; } }
.heading-group__eyebrow { margin-bottom: var(--widget-gap); }
.heading-group__title {
  margin-bottom: 10px;
  color: var(--c-text);
  font-size: var(--heading-title-size, var(--fs-title));
  font-weight: var(--heading-title-weight, var(--fw-regular));
  line-height: var(--lh-tight);
}
.heading-group__title:last-child { margin-bottom: 0; }
.heading-group__subtitle { margin-bottom: 14.4px; font-size: var(--fs-subtitle); }
.page-hero {
  --hero-min: 400px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(var(--hero-min) + 2px);
  padding: var(--gutter);
  border-bottom: var(--rule-gold);
  overflow: hidden;
  background-color: var(--c-primary);
}
.page-hero__image, .page-hero picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.page-hero__image { object-fit: cover; object-position: center; }
.page-hero__title { position: relative; color: var(--c-text); font-size: var(--fs-hero); font-weight: var(--fw-medium); line-height: var(--lh-tight); text-align: center; }
@media (max-width: 1024px) { .page-hero { --hero-min: 313px; } }
@media (max-width: 767px) { .page-hero { --hero-min: 173px; } }
.divider { height: 0; margin: var(--divider-gap, 15px) 0; border: 0; border-top: var(--divider-weight, 1px) solid var(--divider-color, var(--c-secondary)); }
.divider--gold { --divider-gap: 9px; --divider-weight: 1.5px; --divider-color: var(--c-gold); }
.divider--wide { --divider-gap: 50px; --divider-weight: 2px; --divider-color: var(--c-divider-faint); }
.divider--soft { --divider-gap: 15px; --divider-weight: 1px; --divider-color: var(--c-divider-soft); }
.divider--dark { --divider-gap: 15px; --divider-weight: 1px; --divider-color: var(--c-secondary); }
.event-card { padding: var(--gutter); text-align: center; }
.event-card__link { display: block; width: fit-content; max-width: 100%; margin-inline: auto; border-radius: var(--radius-card); }  
.event-card img {
  display: inline-block;
  width: 352px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 352 / 432;
  object-fit: cover;
  border: var(--border-gold);
  border-radius: var(--radius-card);
  vertical-align: middle;
}
.reservation { padding: 20px; }
.form-panel {
  width: 70%;
  margin-inline: auto;
  padding: 40px;
  border-radius: var(--radius-card);
  background-color: var(--c-secondary);
}
@media (max-width: 767px) {
  .form-panel { width: 100%; padding: 20px; }
}
.form-grid { display: flex; flex-wrap: wrap; margin: 0 -5px -20px; }
.field { width: 100%; margin-bottom: 20px; padding-inline: 5px; }
.field--half { width: 50%; }
@media (max-width: 767px) { .field--full-sm { width: 100%; } }
@media (max-width: 359px) { .field--full-xs { width: 100%; } }
@media (min-width: 768px) { .field--half-md { width: 50%; } }
.field__label { display: block; padding-bottom: 7px; color: var(--c-text); font-size: var(--fs-text); font-weight: var(--fw-regular); line-height: 1; }
.field__req { font-size: .75em; }
.field__input {
  display: block;
  width: 100%;
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid var(--c-field-border);
  border-radius: var(--radius-field);
  background-color: var(--c-secondary);
  color: var(--c-text);
  color-scheme: dark;
  font-family: var(--font-body);
  font-size: var(--fs-text);
  font-weight: var(--fw-regular);
  line-height: 1.4;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
input[type="date"].field__input, input[type="time"].field__input { min-width: 0; }
input::-webkit-date-and-time-value { text-align: left; }
textarea.field__input { padding: 5px 14px; overflow: auto; resize: vertical; }
input[type="time"].field__input { padding: 5px 14px; }
@media (min-width: 768px) {
  input[type="time"].field__input { margin-block: 1px; }  
}
.field__input:focus { outline: 0; border-color: var(--c-gold); box-shadow: inset 0 0 0 1px var(--c-gold); }
.field__input[aria-invalid="true"] { border-color: var(--c-gold); }
.field__error, .form-status {
  color: var(--c-gold);
  font-size: var(--fs-text);
  line-height: 1.3;
}
.field__error { margin: 10px 0 0; }
.form-status { position: relative; margin: 10px 0 0; padding-inline-start: calc(1em + 5px); scroll-margin-bottom: 20px; }
.form-status:empty { margin: 0; padding: 0; }
.form-status:empty::before { content: none; }
.form-status::before {
  content: "";
  position: absolute;
  top: .15em;
  inset-inline-start: 0;
  width: 1em; height: 1em;
  background: currentColor;
  -webkit-mask: var(--status-icon) center / contain no-repeat;
  mask: var(--status-icon) center / contain no-repeat;
}
.form-status--success { --status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E"); }
.form-status--error { --status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E"); }
.field--submit .btn[aria-disabled="true"] { opacity: .7; cursor: progress; }
.hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 767px) {
  .form-panel .field__label { font-size: 14px; }
  .form-panel .field__input { padding-block: 6px; font-size: var(--fs-text); }
  .form-panel textarea.field__input { height: 79.2px; padding-block: 5px; }
  .form-panel input[type="date"].field__input, .form-panel input[type="time"].field__input { padding-right: 4px; }
  .form-panel input::-webkit-calendar-picker-indicator { width: 16px; margin: 0; padding: 0; }
}
@media (max-width: 400px) {
  .form-panel .field--datetime { width: 100%; }
}
.form-plain .field__label { padding-bottom: 5px; }
.form-plain .field__input { background-color: transparent; border-radius: var(--radius-btn); }
.gallery { --row-h: 180px; display: flex; flex-wrap: wrap; gap: 10px; padding: var(--gutter); }
.gallery::after { content: ""; flex: 45 1 0; }
.gallery__item {
  position: relative;
  display: block;
  flex: var(--ar) 1 calc(var(--ar) * var(--row-h));
  aspect-ratio: var(--ar);
  overflow: hidden;
}
.gallery__item picture, .gallery__item img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.gallery__item img { object-fit: cover; }
.gallery__overlay { position: absolute; inset: 0; transition: background-color .8s; }
.gallery__item:focus-visible .gallery__overlay { background-color: rgba(0, 0, 0, .5); }
@media (hover: hover) { .gallery__item:hover .gallery__overlay { background-color: rgba(0, 0, 0, .5); } }
@media (max-width: 1024px) { .gallery { --row-h: calc((100vw - 40px) * .178); } }
@media (max-width: 767px) { .gallery { --row-h: 115px; } }
.lightbox {
  width: 100vw;
  height: 100vh;
  height: 100dvh;  
  max-width: none; max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(238, 238, 238, .9);
  overflow: hidden;
}
.lightbox::backdrop { background: rgba(0, 0, 0, .8); }
.lightbox__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; touch-action: pan-y pinch-zoom; }
.lightbox__image { max-width: min(90vw, calc(100vw - 2 * 120px)); max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); width: auto; height: auto; animation: lightbox-in .25s ease-out; }
.lightbox__counter { position: absolute; top: 18.75px; left: 20px; font-size: 15px; line-height: 22.5px; }
.lightbox__button {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
}
@media (hover: hover) { .lightbox__button:hover { color: #fff; } }
.lightbox__button svg { display: block; width: 25px; height: 25px; fill: currentColor; }
.lightbox__close { top: 6px; right: 8px; }
.lightbox__prev { top: 50%; left: 7vw; transform: translate(-50%, -50%); }
.lightbox__next { top: 50%; right: 7vw; transform: translate(50%, -50%); }
@keyframes lightbox-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
  .lightbox__image { max-width: 100vw; }
  .lightbox__prev { left: 0; transform: translateY(-50%); }
  .lightbox__next { right: 0; transform: translateY(-50%); }
  .lightbox__prev, .lightbox__next { background-color: rgba(0, 0, 0, .45); border-radius: 50%; }  
}
@media (max-height: 500px) {
  .lightbox__image { max-width: calc(100vw - 104px); max-height: 100vh; max-height: 100dvh; }
}
.is-zoomed .lightbox__stage, .is-zoomed .carousel[data-ready] .carousel__track { touch-action: auto; }
.carousel {
  --per: var(--per-d, 1);
  --gap: 10px;
  --speed: 500ms;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) { .carousel { --per: var(--per-t, var(--per-d, 1)); } }
@media (max-width: 766px) { .carousel { --per: var(--per-m, var(--per-t, var(--per-d, 1))); } }
.carousel--dots { margin-bottom: -6px; padding-bottom: 34px; }  
.carousel__track {
  display: flex;
  gap: var(--gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__slide { flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); min-width: 0; scroll-snap-align: start; }
.carousel[data-ready] .carousel__track {
  overflow: visible;
  scroll-snap-type: none;
  touch-action: pan-y pinch-zoom;
  transform: translate3d(calc((100% + var(--gap)) / var(--per) * var(--i, 0) * -1 + var(--drag, 0px)), 0, 0);
  transition: transform var(--speed) ease;
}
.carousel[data-ready] .carousel__track.is-dragging, .carousel[data-ready] .carousel__track.no-anim { transition: none; }
.carousel[data-ready] .carousel__track img { -webkit-user-drag: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.carousel.is-static { margin-bottom: 0; padding-bottom: 0; }
.carousel.is-static [data-clone], .carousel.is-static .carousel__dots { display: none; }
.carousel.is-static .carousel__track { justify-content: center; }
.carousel--fade .carousel__track,
.carousel--fade[data-ready] .carousel__track { display: grid; overflow: hidden; transform: none; }
.carousel--fade .carousel__slide { grid-area: 1 / 1; opacity: 0; pointer-events: none; transition: opacity var(--speed) ease; }
.carousel--fade .carousel__slide.is-active { opacity: 1; pointer-events: auto; }
.carousel__dots { position: absolute; left: 0; right: 0; bottom: 6px; display: flex; justify-content: center; }
.carousel__dot {
  position: relative;
  width: 18px; height: 18px;
  margin: 0 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--c-gold);
  opacity: .5;  
  transition: background-color var(--t-fast), opacity var(--t-fast);
}
.carousel__dot::before { content: ""; position: absolute; inset: -20px -6px -6px; }  
@media (hover: hover) { .carousel__dot:hover { background-color: var(--c-text); opacity: 1; } }
.carousel__dot:focus-visible { opacity: 1; }  
.carousel__dot[aria-current="true"] { opacity: 1; }
@media (forced-colors: active) {
  .carousel__dot { border: 1px solid ButtonText; opacity: 1; }
  .carousel__dot[aria-current="true"] { background: Highlight; forced-color-adjust: none; }
}
.stats-band {
  display: flex;
  align-items: flex-end;
  min-height: 503px;
  margin-top: var(--stats-mt, 0);
  border-bottom: var(--rule-gold);
  background-image: var(--gradient-wine-30);
}
.stats-band__row { display: flex; flex-wrap: wrap; margin-bottom: 50px; padding: var(--gutter); }
.stat { width: 25%; padding: var(--gutter); }
.stat__number {
  display: flex;
  margin: 0;
  color: var(--c-gold);
  font-size: var(--fs-primary);
  font-weight: var(--fw-medium);
  line-height: var(--lh-tight);
}
.stat__number [data-count-to] { display: inline-block; }
.stat__title { display: flex; align-items: center; min-height: 2.5em; margin: 0; color: var(--c-text); font-size: var(--fs-accent); font-weight: var(--fw-medium); line-height: 1.25; }
.stat__text { margin: 5px 0 14.4px; font-size: var(--fs-text); }
@media (max-width: 1024px) { .stat__title { font-size: 20px; } }
@media (max-width: 767px) {
  .stat { width: 50%; }
  .stat__title { display: block; min-height: 0; line-height: 1.4em; }
  .stat__text { margin-top: 10px; font-size: var(--fs-small); }
}
@media (max-width: 340px) { .stat__number { font-size: 52px; } }  
.icon-card {
  --icon-card-icon: 40px;
  --icon-card-gap: 0px;
  --icon-card-title-gap: 0px;
  --icon-card-title-weight: var(--fw-medium);
  border: var(--border-gold);
  border-radius: var(--radius-panel);
  background-color: var(--c-secondary);
  padding: 20px;
  transition: background var(--t-fast), border var(--t-fast), border-radius var(--t-fast), box-shadow var(--t-fast);
}
.icon-card--feature {
  --icon-card-icon: 50px;
  --icon-card-gap: 10px;
  --icon-card-title-gap: 2px;
  --icon-card-title-weight: var(--fw-semibold);
  border-radius: var(--radius-card);
  padding: 30px;
}
@media (hover: hover) { .icon-card--feature:hover { box-shadow: var(--shadow-feature); } }
.icon-card--value { --icon-card-icon: 97px; --icon-card-title-gap: 5px; text-align: center; }
.icon-card__icon { display: block; color: var(--c-gold); line-height: 0; padding-bottom: var(--icon-card-gap); }
.icon-card__icon img, .icon-card__icon svg { display: inline-block; height: var(--icon-card-icon); width: auto; fill: currentColor; }
.icon-card__title {
  margin: 8px 0 var(--icon-card-title-gap);
  color: var(--c-text);
  font-size: var(--fs-accent);
  font-weight: var(--icon-card-title-weight);
  line-height: 1.2;
  transition: color var(--t-fast);
}
.icon-card:focus-within .icon-card__title { color: var(--c-gold); }
@media (hover: hover) { .icon-card:hover .icon-card__title { color: var(--c-gold); } }
.icon-card__text { margin: 0; }
.icon-card__link { display: block; color: inherit; }
.image-card {
  border: var(--border-gold);
  border-radius: var(--radius-card);
  background-color: var(--c-secondary);
  transition: background var(--t-fast), border var(--t-fast), border-radius var(--t-fast), box-shadow var(--t-fast);
}
@media (hover: hover) { .image-card--glow:hover { box-shadow: var(--shadow-card); } }
.image-card__image img, .image-card img { display: block; width: 100%; height: auto; border-radius: var(--radius-card) var(--radius-card) 0 0; }
.image-card__title { margin: 20px 0 10px; padding-inline: 10px 0; color: var(--c-text); font-size: var(--fs-card-title); font-weight: var(--fw-medium); line-height: var(--lh-tight); }
.image-card__text { padding-inline: 10px; color: var(--c-accent); font-size: var(--fs-card-text); }
.image-card__text p { margin-bottom: 14.4px; }
.image-card__text ul { padding-inline-start: 40px; margin-bottom: 20px; }
.cta-band {
  display: flex;
  align-items: center;
  min-height: 300px;
  margin-top: var(--section-gap-sm);
  margin-bottom: var(--cta-mb, 0);
}
.cta-band__panel {
  padding: 40px;
  border-radius: var(--radius-card);
  background-color: var(--c-burgundy);
  text-align: center;
}
.cta-band .heading-group { margin-bottom: 10px; }
@media (min-width: 1025px) and (max-width: 1270px) { .cta-band { padding-inline: var(--gutter); } }
@media (max-width: 1024px) { .cta-band { padding-inline: 20px; } }
@media (max-width: 767px) {
  .cta-band { min-height: 320px; padding: 10px; }
  .cta-band__panel { padding: 20px; }
  .cta-band br { display: none; }
  .cta-band .heading-group__subtitle { text-wrap: balance; }
}
.blog-more {
  width: min(660px, 100% - 40px);
  margin: 40px auto 0;
  padding-top: 40px;
  border-top: 1px solid var(--c-divider-soft);
}
.blog-more h2 { margin-block: 0 8px; font-size: 1.5rem; }
.blog-more ul { margin-block: 0; padding-inline-start: 0; list-style: none; }
.blog-more a {
  display: inline-block;
  padding-block: 9px;  
  color: var(--c-gold);
  line-height: 1.65;
  text-decoration: underline;
  text-underline-offset: .2em;
  transition: color var(--t-fast);
}
@media (hover: hover) { .blog-more a:hover { color: var(--c-text); } }
@media (max-width: 767px) {
  .blog-more { margin-top: 32px; padding-top: 32px; }
}
