/* Christmas only: existing site palette, type, buttons and section rhythm. */
.xmas-container{max-width:1280px;margin:0 auto}.xmas-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--dark);overflow:hidden}.xmas-hero-media{position:absolute;inset:0}.xmas-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:48% center}.xmas-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,8,4,.74),rgba(12,8,4,.2) 62%,rgba(12,8,4,.08)),linear-gradient(0deg,var(--dark),transparent 65%)}.xmas-hero-copy{position:relative;z-index:1;max-width:700px;padding:150px 60px 85px}.xmas-hero-copy .section-label{color:var(--gold-light)}.xmas-hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(46px,5.8vw,82px);line-height:.98;color:var(--cream);margin:24px 0}.xmas-hero-copy>p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.55;max-width:520px;color:var(--cream)}.xmas-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.xmas-intro,.xmas-formats,.xmas-occasions,.xmas-faq{padding:110px 60px}.xmas-intro,.xmas-occasions{background:var(--dark)}.xmas-formats,.xmas-cta{background:var(--dark2);border-block:1px solid rgba(201,164,96,.12)}.xmas-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:76px}.xmas-split p,.xmas-format p,.xmas-faq p{color:var(--cream-mid);font-size:16px;line-height:1.9;margin-bottom:22px}.xmas-image{border:1px solid rgba(201,164,96,.15);background:var(--dark3)}.xmas-image img{display:block;width:100%;height:auto}.xmas-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}.xmas-format{padding:40px 32px;background:var(--dark3);border:1px solid rgba(201,164,96,.14);border-top:2px solid var(--gold-dim);display:flex;flex-direction:column}.xmas-number{font-size:11px;letter-spacing:.24em;color:var(--gold-light);margin-bottom:24px}.xmas-format h3,.xmas-faq h3{font-family:'Cormorant Garamond',serif;font-size:32px;line-height:1.12;font-weight:400;color:var(--cream);margin-bottom:22px}.xmas-format a{color:var(--gold-light);font-size:13px;line-height:1.7;margin-top:auto;text-decoration:underline;text-underline-offset:4px}.xmas-split-portrait{grid-template-columns:.85fr 1.15fr;gap:100px}.xmas-portrait{max-width:420px;width:100%;margin:auto}.xmas-occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0}.xmas-occasion-grid>div{padding:22px 18px;background:var(--dark3);border-left:2px solid var(--gold-dim);color:var(--cream);font-size:14px}.xmas-cta{text-align:center;padding:105px 28px}.xmas-cta p{font-size:17px;line-height:1.9;color:var(--cream-mid);max-width:690px;margin:0 auto 34px}.xmas-faq{background:var(--dark)}.xmas-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}.xmas-faq-item{padding:32px;background:var(--dark3);border:1px solid rgba(201,164,96,.12)}.xmas-faq h3{font-size:27px}.xmas-faq p{font-size:15px;margin:0}.xmas-hero .btn-outline{border-color:var(--cream-mid);color:var(--cream)}
@media(max-width:1000px){.xmas-split{gap:36px}.xmas-intro,.xmas-formats,.xmas-occasions,.xmas-faq{padding:80px 28px}.xmas-format{padding:32px 22px}.xmas-format h3{font-size:29px}}
@media(max-width:900px){.xmas-hero{min-height:100vh;min-height:100svh}.xmas-hero-media{bottom:auto;height:66%}.xmas-hero-media img{object-position:42% center}.xmas-hero-media:after{background:linear-gradient(0deg,var(--dark),rgba(12,8,4,.05) 48%,rgba(12,8,4,.05))}.xmas-hero-copy{padding:48px 28px 48px;max-width:680px}.xmas-hero h1{font-size:clamp(40px,7.8vw,64px);max-width:620px}.xmas-hero-copy>p{font-size:20px}.xmas-format-grid{grid-template-columns:1fr}.xmas-split{grid-template-columns:1fr}.xmas-split-portrait{grid-template-columns:.85fr 1.15fr;gap:34px}.xmas-faq-grid{grid-template-columns:1fr}.xmas-intro .xmas-image{max-width:750px}.xmas-occasion-grid{grid-template-columns:1fr}}
@media(max-width:600px){.xmas-hero-media{height:59%}.xmas-hero-copy{padding:340px 24px 44px}.xmas-hero h1{font-size:42px;line-height:1.02;margin:18px 0}.xmas-hero-copy>p{font-size:19px;line-height:1.5}.xmas-buttons{margin-top:25px;gap:12px}.xmas-buttons .btn{padding:16px 22px;font-size:9px;letter-spacing:.15em}.xmas-intro,.xmas-formats,.xmas-occasions,.xmas-faq{padding:64px 24px}.xmas-split-portrait{grid-template-columns:1fr;gap:46px}.xmas-portrait{max-width:330px}.xmas-format{padding:34px 26px}.xmas-cta{padding:80px 24px}.xmas-faq-item{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.xmas-hero *{animation:none!important}}

/* Retain the existing shared-menu appearance formerly supplied inline. */
    .mob-section { border-bottom: 1px solid rgba(201,164,96,0.10); width: 100%; }
    .mob-section-header { display: flex; align-items: center; width: 100%; }
    .mob-section-link {
      flex: 1; padding: 14px 28px;
      font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
      color: var(--cream-mid); text-decoration: none; display: block; transition: color 0.3s;
    }
    .mob-section-link:hover { color: var(--gold); }
    .mob-section-toggle {
      background: none; border: none; color: var(--gold);
      font-size: 18px; padding: 14px 20px 14px 0; cursor: pointer;
      transition: color 0.2s, transform 0.25s; line-height: 1; flex-shrink: 0; font-family: inherit;
    }
    .mob-section-toggle.open { transform: rotate(90deg); color: var(--gold); }
    .mob-section-children { display: none; flex-direction: column; width: 100%; }
    .mob-section-children.open { display: flex; }
    .mob-section-children a {
      font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
      padding: 11px 28px 11px 44px; color: var(--cream-mid);
      text-decoration: none; transition: color 0.2s;
    }
    .mob-section-children a:hover { color: var(--gold); }
    /* ── MOBILE SUB-NAV (Packages & Booking under Richie as a DJ) ── */
    .mob-sub-section { width: 100%; }
    .mob-sub-header { display: flex; align-items: center; width: 100%; }
    .mob-sub-link {
      flex: 1; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
      padding: 11px 28px 11px 44px; color: var(--cream-mid);
      text-decoration: none; transition: color 0.2s; display: block;
    }
    .mob-sub-link:hover { color: var(--gold); }
    .mob-sub-toggle {
      background: none; border: none; color: var(--gold);
      font-size: 16px; padding: 11px 20px 11px 0; cursor: pointer;
      transition: color 0.2s, transform 0.25s; line-height: 1; flex-shrink: 0; font-family: inherit;
    }
    .mob-sub-toggle.open { transform: rotate(90deg); color: var(--gold); }
    .mob-sub-children { display: none; flex-direction: column; width: 100%; }
    .mob-sub-children.open { display: flex; }
    .mob-sub-children a {
      font-size: 9px; letter-spacing: 0.20em; text-transform: uppercase;
      padding: 9px 28px 9px 60px; color: var(--cream-mid);
      text-decoration: none; transition: color 0.2s;
    }
    .mob-sub-children a:hover { color: var(--gold); }
    .mob-section-link { cursor: pointer; }

/* Final approved solo Christmas section; reuse existing page typography and palette. */
.xmas-classics .xmas-container{max-width:900px}.xmas-classics p{color:var(--cream-mid);font-size:16px;line-height:1.9;margin-bottom:22px}.xmas-classics a{color:var(--gold-light);font-size:14px;text-decoration:underline;text-underline-offset:3px}
