/* uiGradients: Mango (#ffe259, #ffa751), Lush (#56ab2f, #a8e063),
   Summer Breeze (#fbed96, #abecd6). Dark greens are derived for readable controls.
   Lightened variants requested by the user.
   Source: https://github.com/ghosh/uiGradients (MIT). */
:root {
  --ink: #183e30;
  --muted: #435c50;
  --ground: #fffefd;
  --blue: #eaf5df;
  --yellow: #ffda59;
  --soft: #f4f7e9;
  --ocean: linear-gradient(125deg, #234d25 0%, #377329 100%);
  --sunrise: linear-gradient(125deg, #fff0a6 0%, #ffd2a2 100%);
  --deep-ocean: linear-gradient(125deg, #183e30 0%, #285c32 100%);
  --warm-field: linear-gradient(125deg, #fdf5c4 0%, #d5f6e8 100%);
  --cool-field: linear-gradient(125deg, #d9edcb 0%, #ecf8db 100%);
  --lush: linear-gradient(125deg, #d5ebcb 0%, #e8f5d6 100%);
}

body {background:var(--ground)}
.header-call {background:var(--sunrise);color:var(--ink)}
.header nav a {transition:color .2s}
.header nav a:hover {color:#377329}
.menu-toggle {background:var(--cool-field)}

.invitation {
  background:var(--sunrise);
  color:var(--ink);
  isolation:isolate;
}
.invitation h1 {color:var(--ink)}
.hero-copy {color:var(--ink)}
.hero-details {color:var(--ink)}
.outside .button {
  --button-fill:var(--sunrise);
  background:var(--button-fill);
  color:var(--ink);
}
.invitation .button {--button-fill:var(--ocean);background:var(--button-fill);color:#fff}
.invitation a:focus-visible {outline-color:#183e30}
.hero-photo {background:#e1f2cf}
.photo-link {background:var(--sunrise);color:var(--ink)}
.photo-link:hover {background:var(--sunrise);filter:brightness(1.04)}

.button {
  --button-fill:var(--ocean);
  background:var(--button-fill);
  background-size:130% 100%;
  color:#fff;
  transition:transform .18s ease,filter .18s ease,background-position .3s ease;
}
.button:hover {
  background:var(--button-fill);
  background-size:130% 100%;
  background-position:100% 50%;
  filter:brightness(1.05);
}
.birthday {background:var(--warm-field)}
.day-picker {background:rgba(255,255,255,.72)}
.day-picker button[aria-pressed=true] {background:var(--ocean);color:white}
.packages tbody tr {border-color:rgba(89,59,68,.2)}
.price-row strong {color:#285c32}
.packages .price-row {background:rgba(255,255,255,.36)}
.packages .price-row th {padding-left:12px}
.packages thead h3 {color:#183e30}
.entry-table thead {background:var(--cool-field)}
.entry-table td {color:#285c32}
.attractions {background:linear-gradient(125deg,#fff7cf 0%,#ffeb99 55%,#ffdf78 100%);color:#14331e}
.attractions h2,.attractions h3,.attractions p,.attractions li,.attractions .text-link {color:#14331e}
.text-link {text-decoration-color:#ba580b;text-decoration-thickness:2px}
.text-link:hover {text-decoration-color:currentColor}
.gallery-grid a:hover span {color:#285c32}

.outside {background:var(--deep-ocean);color:white}
.outside details {background:rgba(255,255,255,.08)}
.outside details[open] {background:rgba(255,255,255,.13)}
.outside a:focus-visible,.outside summary:focus-visible {outline-color:#ffe579}
.reviews {background:linear-gradient(125deg,#fff4c7 0%,#ffe6cd 100%)}
.references {background:rgba(255,255,255,.78)}
.references-grid img {background:#f5f7ef}
.faq details {background:linear-gradient(125deg,#f3f8e9,#e8f6ed)}
.faq details[open] {background:var(--cool-field)}
.contact {background:var(--sunrise)}
.contact-phone {color:#183e30}
.footer {background:var(--deep-ocean)}
.subhero {background:var(--cool-field)}
.lightbox-close {background:var(--ocean)}

@media(prefers-reduced-motion:reduce) {
  .button {transition:none}
}
@media print {
  .invitation,.birthday,.attractions,.outside,.reviews,.contact,.footer,.subhero {
    background:white!important;color:#183e30!important;
  }
  .invitation h1,.hero-copy,.hero-details {color:#183e30!important}
}

/* Evening content update: generous type, consistent outline icons and local brand artwork. */
.brand img{width:104px;height:98px}
.invitation h1{font-size:clamp(38px,3.45vw,52px);max-width:none;line-height:1.07}
.hero-since{display:block;font-size:20px;line-height:1.4;letter-spacing:0;margin-bottom:18px}
.hero-location{display:block;margin-top:12px;font-size:.69em;line-height:1.15;letter-spacing:-.025em}
.story-section,.parents-expanded{display:block}
.story-intro,.parents-intro{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.story-intro h2,.parents-intro h2{font-size:clamp(32px,3.1vw,44px);margin-bottom:24px}
.story-intro .eyebrow{margin-bottom:16px}
.story-intro>img,.parents-intro>img{width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:var(--radius)}
.story-advantages{margin-top:64px;padding:40px;border-radius:var(--radius);background:linear-gradient(125deg,#f3f8e9,#e8f6ed)}
.story-advantages>h2{font-size:clamp(28px,2.4vw,36px);max-width:32ch;margin-bottom:36px}
.advantage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.advantage-grid article{border-top:1px solid #b8cfbb;padding-top:24px}
.advantage-grid .section-icon{width:42px;height:42px;margin-bottom:16px}
.advantage-grid h3{font-size:23px;margin-bottom:12px;line-height:1.2;text-wrap:initial}
.advantage-grid p{font-size:17px;line-height:1.55}
.amenities-heading{margin-top:42px;margin-bottom:24px}
.parent-amenities{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin-top:28px;align-items:start}
.parent-amenities details{border-bottom:1px solid #bfd0bf;padding-block:6px;border-radius:0;background:none}
.parent-amenities summary::after{display:none}
.parent-amenities summary{list-style:none;display:flex;align-items:center;gap:14px;padding:19px 0;font-weight:700;font-size:19px;line-height:1.3}
.parent-amenities summary::-webkit-details-marker{display:none}
.parent-amenities summary>.icon{flex:0 0 26px;width:26px;height:26px;color:#35704a}
.parent-amenities summary>.detail-plus{margin-left:auto;flex:0 0 20px;text-align:center;font-size:26px;line-height:1}
.parent-amenities details[open] .detail-plus{transform:rotate(45deg)}
.parent-amenities details>p{padding:0 34px 20px 40px;font-size:17px;line-height:1.6}
.parents-closing{font-size:21px;font-weight:700;max-width:48ch;margin-top:36px}
.family-content>h2{max-width:28ch}
.family-visit{margin-top:56px;max-width:720px}
.family-visit p{margin-block:22px}
body:has(.family-content) .subhero h1{font-size:clamp(34px,3.7vw,54px)}
.packages th{overflow-wrap:anywhere}
@media(max-width:1100px){
 .story-intro,.parents-intro{gap:32px}
 .advantage-grid{gap:24px}
 .story-advantages{padding:30px}
 .brand img{width:92px;height:87px}
}
@media(max-width:800px){
 .invitation h1{font-size:36px}
 .story-intro,.parents-intro{grid-template-columns:1fr}
 .story-intro>img,.parents-intro>img{aspect-ratio:1.65}
 .advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .parent-amenities{column-gap:24px}
 .parent-amenities summary{font-size:18px}
}
@media(max-width:600px){
 .brand img{width:79px;height:74px}
 .invitation h1{font-size:39px}
 .hero-since{font-size:18px}
 .hero-location{font-size:.72em}
 .parent-amenities,.advantage-grid{grid-template-columns:1fr}
 .story-advantages{padding:26px;margin-top:40px}
 .story-advantages>h2{font-size:28px}
 .story-intro>img,.parents-intro>img{aspect-ratio:1.3}
 .parent-amenities summary{font-size:19px}
 .parents-closing{font-size:20px}
}
@media(max-width:370px){
 .brand img{width:66px;height:63px}
 .invitation h1{font-size:34px}
 .hero-since{font-size:17px}
 .hero-location{font-size:.76em}
 .story-advantages{padding:22px}
}
