/* Autumn Palette */
:root{
  --bg:#12110f;
  --card:#1b1916;
  --text:#fbf7ef;
  --muted:#d7cbb7;
  --leaf:#b85c38;
  --pumpkin:#d37b2c;
  --gold:#e2b44a;
  --pine:#2a5f5c;
  --sage:#6b8f71;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1100px,92%);margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:#fff;color:#000;border-radius:.25rem;z-index:1000}

/* Header */
.site-header{position:sticky;top:0;background:rgba(18,17,15,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #2a2621;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.5rem}
.logo{font-size:1.5rem}
.brand-name{font-weight:800;letter-spacing:.2px}
.main-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.main-nav a, .main-nav button{padding:.4rem .6rem;border-radius:.35rem;border:0;background:transparent;color:var(--text);cursor:pointer}
.main-nav a:hover, .main-nav button:hover{background:#24211d}
.has-submenu{position:relative}
.submenu{position:absolute;inset:auto auto auto 0;background:#171512;border:1px solid #2a2621;padding:.5rem;border-radius:.5rem;display:none;min-width:220px}
.submenu a{display:block;padding:.4rem .5rem;border-radius:.35rem}
.submenu a:hover{background:#24211d}
.menu-toggle{display:none}
.social{display:flex;gap:.5rem}

/* Hero collage */
.hero-collage{position:relative;min-height:60vh;border-bottom:1px solid #2a2621;background:radial-gradient(1200px 600px at 10% 10%, rgba(226,180,74,.12), transparent), radial-gradient(900px 480px at 90% 80%, rgba(184,92,56,.12), transparent)}
.hero-collage .overlay{position:relative;z-index:2;padding:12vh 0}
.hero-collage h1{font-size:clamp(1.6rem,3vw,3rem);margin:0 0 .5rem}
.hero-collage p{color:var(--muted);max-width:60ch;margin:0 0 1rem}
.collage{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;opacity:.22;filter:saturate(95%);z-index:1}
.collage .tile{background:#000/20;mask-image:linear-gradient(180deg, black, transparent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;background:#24211d;border:1px solid #2f2a24;padding:.7rem 1rem;border-radius:.6rem}
.btn.small{padding:.5rem .75rem;font-size:.9rem}
.btn.primary{background:linear-gradient(90deg,var(--pumpkin),var(--gold));border-color:transparent;color:#1a1205;font-weight:800}
.btn.ghost{background:transparent;border-color:#3a352e}

/* Sections */
section{padding:3rem 0}
.section-subtitle{color:var(--muted)}

/* Family Grid */
.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1rem}
.card-char{background:var(--card);border:1px solid #2a2621;border-radius:.75rem;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.card-char:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.card-char .body{padding:.8rem}
.card-char h3{margin:.2rem 0 .25rem;font-size:1.05rem}
.card-char p{margin:0;color:var(--muted);font-size:.9rem}
.voice-btn{margin-top:.7rem;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;background:linear-gradient(90deg,var(--pumpkin),var(--gold));border:0;border-radius:.5rem;color:#1a1205;font-weight:800;cursor:pointer}
.voice-btn.playing{animation:pulse 1s infinite}
@keyframes pulse{0%{filter:brightness(1)}50%{filter:brightness(1.25)}100%{filter:brightness(1)}}

/* Adventures */
.adventures-section{background:linear-gradient(180deg, rgba(42,95,92,.12), transparent)}
.adventure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.adventure-card .adventure-thumb{height:160px;background:#201d19;border-bottom:1px solid #2a2621}
.adventure-thumb.waterpark{background:linear-gradient(135deg, rgba(226,180,74,.25), rgba(107,143,113,.2))}
.adventure-thumb.colorado{background:linear-gradient(135deg, rgba(184,92,56,.28), rgba(42,95,92,.22))}
.adventure-thumb.school{background:linear-gradient(135deg, rgba(211,123,44,.28), rgba(226,180,74,.22))}
.card{background:var(--card);border:1px solid #2a2621;border-radius:.75rem;overflow:hidden;display:flex;flex-direction:column}
.card-body{padding:1rem;display:flex;flex-direction:column;gap:.6rem}

/* Watch */
.video-embed{position:relative;padding-top:56.25%;border-radius:.75rem;overflow:hidden;border:1px solid #2a2621;background:#000}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%}

/* CTA Strip */
.cta-strip{background:linear-gradient(90deg,var(--pumpkin),var(--gold));color:#1a1205}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cta-text{font-weight:800}

/* Contact */
.contact-form{display:grid;gap:.9rem;max-width:640px}
.contact-form input,.contact-form textarea{width:100%;padding:.7rem;border-radius:.5rem;border:1px solid #3a352e;background:#151310;color:var(--text)}
.contact-form button{justify-self:start}

/* Footer */
.site-footer{border-top:1px solid #2a2621;padding:2rem 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.site-footer nav{display:flex;gap:1rem}

/* Responsive */
@media (max-width: 900px){
  .main-nav ul{display:none;position:absolute;right:1rem;top:64px;background:#171512;border:1px solid #2a2621;border-radius:.5rem;padding:.5rem;width:min(300px,90vw);flex-direction:column}
  .main-nav ul.show{display:flex}
  .menu-toggle{display:inline-flex}
  .cta-inner{flex-direction:column;align-items:flex-start}
}

/* Prevent character pictures from being clickable */
.card-char img { pointer-events: none; }
