@font-face{font-family:Montserrat;src:url('assets/Montserrat.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/Montserrat600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('assets/Cormorant.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--olive:#032C20;--cream:#FFF5DF;--ink:#032C20;--muted:#434321;--line:#d8cfb9;--gold:#C99B3C}
body{font-family:Montserrat,Arial,sans-serif;font-size:16px;background:var(--cream)}
h1,h2,h3,legend,.menu-panel>a>span,.capacity strong,.contact-option strong{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600!important}
.button,.eyebrow,.menu-toggle,summary{font-weight:600}
header .logo,footer img{width:480px;height:auto;max-width:100%;object-fit:contain;padding:14px 0}
header>a:first-child{width:480px;max-width:55%;flex-shrink:1}header{height:auto;min-height:102px}footer img{max-width:45%}
.family-section,.experiences,.romance-plan,.stay-panel{background:#f2e8d2}
.family-card,.menu-panel,.contact-option{background:#FFF5DF}.closing,.floating{background:#032C20}.button:hover{background:#124c39}
.text-link,.menu-toggle,.contact-option,.family-card{border-color:#C99B3C}
.intro p,.experience-grid p:not(.eyebrow),.family-card p,.location p,.contact-section p,details p,.romance-copy>p:not(.eyebrow),.help,.booking p{font-size:16px!important;color:#434321}
.hero-content>p:not(.eyebrow),.closing p{color:#FFF5DF}.button.light{background:#FFF5DF}.button.glass-gold{border-color:#C99B3C;color:#FFF5DF}.button.glass-gold svg{color:#C99B3C}
.event-hero{background-color:#032C20}.eyebrow{color:inherit}.family-note,.panel-bottom,.form-note{color:#434321}
input,select,textarea{font-size:16px}.section-head>p{font-size:16px}.benefits{font-size:12px}
@media(max-width:700px){header{flex-wrap:wrap;gap:10px;padding:16px 5%}header>a:first-child{max-width:100%;width:100%}header .logo{width:min(480px,100%);padding:12px 0}.header-actions{width:100%;justify-content:flex-end}footer img{max-width:100%;width:480px}.menu-panel{top:100%;max-height:65dvh}html{scroll-padding-top:180px}.event-hero h1{font-size:48px}}
@media(max-width:700px){header.site-header{flex-wrap:nowrap;min-height:78px;gap:12px;padding:12px 4%}.site-header>a:first-child{width:auto;max-width:none;flex:1;min-width:0}.site-header .logo{width:100%;height:auto;padding:8px 0}.site-header .header-actions{width:auto;flex:0 0 auto}.site-header .header-actions>.online-booking{display:none}.site-header .menu-toggle{padding:10px 12px;gap:10px;min-height:44px}.site-header .menu-lines{width:18px}.site-header .menu-lines i{width:18px}html{scroll-padding-top:95px}}
@media(max-width:700px){html:root{scroll-padding-top:95px}}
/* White surfaces for data entry; retain native date and select behavior. */
form :is(input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, option, optgroup, textarea) {
  background-color: #fff;
  color: #032c20;
  color-scheme: light;
}
form input:is([type="checkbox"], [type="radio"]) {
  appearance: none;
  -webkit-appearance: none;
  display: inline-grid;
  place-content: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid #67766c;
}
form input[type="radio"] { border-radius: 50%; }
form input[type="checkbox"]:checked::after {
  content: "";
  width: .32em;
  height: .58em;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: translateY(-1px) rotate(45deg);
}
form input[type="radio"]:checked::after {
  content: "";
  width: .5em;
  height: .5em;
  border-radius: 50%;
  background: currentColor;
}
form :is(input, select, textarea):focus-visible {
  outline: 2px solid #032c20;
  outline-offset: 2px;
}
