/* Holiday lighting page. Night theme layered on styles.css + svc.css. */
.holiday{
  --night:#0a1118; --night-2:#101b25; --night-3:#16232f;
  --glow:#ffd48a; --glow-hot:#fff1cf; --glow-dim:rgba(255,196,110,.16);
  --snow:#efe8da; --mist:#a9b4bc; --rule:rgba(239,232,218,.12);
  background:var(--night); color:var(--snow);
}
.holiday ::selection{background:var(--glow);color:var(--night)}

/* header on dark */
.holiday .top{background:rgba(10,17,24,.78);border-bottom-color:transparent}
.holiday .top.is-scrolled{border-color:var(--rule)}
.holiday .nav a{color:var(--mist)}
.holiday .nav a:hover{color:var(--snow)}
.holiday .top__phone{color:var(--snow)}
.holiday .menu-btn{border-color:var(--rule)}
.holiday .menu-btn span{background:var(--snow)}
.holiday .mnav{background:var(--night-2)}
.holiday .mnav a{color:var(--snow)}
.holiday .btn{background:var(--glow);color:var(--night)}
.holiday .btn:hover{background:var(--glow-hot);color:var(--night)}
.holiday .btn--ghost{background:transparent;color:var(--snow);border:1px solid rgba(239,232,218,.35)}
.holiday .btn--ghost:hover{background:rgba(239,232,218,.08);color:var(--snow)}
.holiday .eyebrow{color:var(--glow)}
.holiday .crumbs{color:var(--mist)}
.holiday .crumbs a{border-color:var(--rule);color:var(--mist)}
.holiday .crumbs li + li::before{color:rgba(239,232,218,.25)}
.holiday h2 em,.holiday h1 em{color:var(--glow);font-style:italic}

/* hero */
.hl-hero{position:relative;overflow:hidden;padding:clamp(28px,5vw,64px) 0 0;
  background:
    radial-gradient(900px 420px at 50% 100%, rgba(255,190,100,.09), transparent 65%),
    linear-gradient(180deg,#070d13 0%,#0b1520 55%,#0f1c28 100%)}
.hl-stars{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:
    radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 27% 8%,#fff 50%,transparent 51%),
    radial-gradient(1.2px 1.2px at 44% 22%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 63% 12%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 78% 26%,#fff 50%,transparent 51%),
    radial-gradient(1.3px 1.3px at 88% 9%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 6% 36%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 55% 5%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 35% 34%,#fff 50%,transparent 51%),
    radial-gradient(1px 1px at 94% 38%,#fff 50%,transparent 51%)}
.hl-hero__copy{position:relative;max-width:760px;margin:0 auto;text-align:center}
.hl-hero h1{font-size:clamp(46px,7vw,96px);line-height:.98;letter-spacing:-.03em;margin:0 0 22px;color:var(--snow)}
.hl-hero__lede{font-size:clamp(17px,1.5vw,20px);color:var(--mist);max-width:34em;margin:0 auto 28px}
.hl-price{display:inline-flex;align-items:baseline;gap:10px;border:1px solid rgba(255,212,138,.35);border-radius:999px;padding:8px 18px;margin-bottom:28px;background:rgba(255,212,138,.06)}
.hl-price small{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.hl-price strong{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--glow)}
.hl-hero .hero__actions{justify-content:center}
.hl-house{position:relative;display:block;width:min(1100px,100%);height:auto;margin:clamp(24px,4vw,48px) auto 0}
.hl-bulb{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .hl-bulb.tw{animation:hlTwinkle 3.6s ease-in-out infinite}
  .hl-bulb.tw2{animation:hlTwinkle 4.8s ease-in-out infinite 1.2s}
}
@keyframes hlTwinkle{0%,100%{opacity:1}50%{opacity:.72}}

/* four steps */
.hl-steps{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--rule)}
.hl-steps .section-head{margin-left:auto;margin-right:auto;text-align:center}
.hl-steps h2{color:var(--snow)}
.hl-steps__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.hl-steps__row li{background:var(--night);padding:32px 26px 30px;position:relative}
.hl-steps__row li::before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:var(--glow);box-shadow:0 0 10px 3px rgba(255,212,138,.55),0 0 26px 8px rgba(255,190,100,.18);margin-bottom:22px}
.hl-steps__row h3{font-size:clamp(30px,3vw,40px);margin:0 0 10px;color:var(--snow)}
.hl-steps__row p{margin:0;color:var(--mist);font-size:16px}
.hl-steps__row .n{position:absolute;top:26px;right:24px;font-size:12px;letter-spacing:.16em;color:rgba(239,232,218,.35)}

/* package */
.hl-pkg{padding:0 0 clamp(80px,10vw,140px)}
.hl-pkg__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.hl-pkg h2{color:var(--snow)}
.hl-pkg__lede{color:var(--mist);font-size:18px;max-width:32em}
.hl-card{position:relative;border-radius:8px;padding:clamp(28px,4vw,44px);background:linear-gradient(180deg,var(--night-3),var(--night-2));border:1px solid rgba(255,212,138,.28);box-shadow:0 30px 80px -30px rgba(255,180,90,.25)}
.hl-card__lights{position:absolute;left:18px;right:18px;top:-6px;height:12px;background:radial-gradient(circle,var(--glow) 0 3px,transparent 4px) 0 50%/28px 12px repeat-x;filter:drop-shadow(0 0 6px rgba(255,200,110,.8))}
.hl-card small{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.hl-card h3{font-size:clamp(30px,3vw,38px);margin:8px 0 6px;color:var(--snow)}
.hl-card__price{font-family:var(--serif);font-size:clamp(44px,5vw,60px);color:var(--glow);line-height:1;margin:14px 0 4px}
.hl-card__price span{font-family:var(--sans);font-size:15px;color:var(--mist);margin-right:6px;letter-spacing:.02em}
.hl-card__note{color:var(--mist);font-size:14.5px;margin:6px 0 22px}
.hl-card ul{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--rule)}
.hl-card li{padding:12px 0 12px 26px;border-bottom:1px solid var(--rule);position:relative;color:var(--snow)}
.hl-card li::before{content:"";position:absolute;left:3px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--glow);box-shadow:0 0 8px 2px rgba(255,212,138,.5)}

/* next year */
.hl-next{padding:clamp(64px,8vw,100px) 0;border-top:1px solid var(--rule);background:var(--night-2)}
.hl-next__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.hl-next h2{color:var(--snow)}
.hl-next p{color:var(--mist);font-size:17px}
.hl-soon{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.hl-soon li{border:1px dashed rgba(239,232,218,.25);border-radius:999px;padding:8px 16px;font-size:14.5px;color:var(--mist)}

/* faq on dark */
.holiday .faq{border-top:1px solid var(--rule)}
.holiday .faq h2{color:var(--snow)}
.holiday .faq details{border-color:var(--rule)}
.holiday .faq summary{color:var(--snow)}
.holiday .faq details p{color:var(--mist)}
.holiday .area{border-top:1px solid var(--rule)}
.holiday .area h2{color:var(--snow)}
.holiday .area__towns{color:var(--snow)}
.holiday .area__towns span{color:var(--mist)}

/* quote on dark */
.holiday .quote{background:linear-gradient(180deg,var(--night-2),#070d13);border-top:1px solid var(--rule)}
.holiday .quote__phone{color:var(--glow)}
.holiday .form .btn{background:var(--night);color:var(--snow)}
.holiday .form .btn:hover{background:#1d2c3a}
.holiday .related{border-top:1px solid var(--rule)}
.holiday .related a{color:var(--snow);border-color:var(--rule)}
.holiday .related small{color:var(--mist)}

@media (max-width:900px){
  .hl-steps__row{grid-template-columns:1fr 1fr}
  .hl-pkg__grid,.hl-next__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .hl-steps__row{grid-template-columns:1fr}
  .hl-hero .hero__actions{flex-direction:column;gap:14px}
  .hl-price strong{font-size:22px}
}

/* fixes after preview */
.holiday .faq__list{border-top-color:rgba(239,232,218,.3)}
.holiday .related a{background:var(--night-2)}
.holiday .related a:hover{border-color:rgba(255,212,138,.45)}
.holiday .related small{color:var(--glow)}
.hl-house{overflow:visible}
.hl-pkg__grid{align-items:start}
.hl-hero{padding-top:clamp(16px,3vw,36px)}
.hl-hero .crumbs{padding-top:0;margin-bottom:clamp(20px,3vw,36px)}
.hl-pkg h2,.hl-next h2{margin-bottom:18px}
@media (max-width:560px){.hl-house{width:160%;max-width:none;margin-left:-30%}}

/* music toggle */
.hl-music{position:fixed;right:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:999px;border:1px solid rgba(255,212,138,.35);background:rgba(10,17,24,.82);color:var(--snow);font:600 14px/1 var(--sans);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 30px -10px rgba(0,0,0,.6)}
.hl-music:hover{border-color:var(--glow)}
.hl-music__icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,212,138,.12);color:var(--glow)}
.hl-music__icon svg{width:16px;height:16px}
.hl-music .on{display:none}
.hl-music[aria-pressed="true"] .on{display:block}
.hl-music[aria-pressed="true"] .off{display:none}
.hl-music[aria-pressed="true"] .hl-music__icon{background:var(--glow);color:var(--night);box-shadow:0 0 14px 2px rgba(255,212,138,.45)}
@media print{.hl-music{display:none}}

/* scheduling & deposit */
.hl-terms{padding:0 0 clamp(72px,9vw,120px)}
.hl-terms__title{font-size:clamp(28px,3vw,38px);color:var(--snow);margin:0 0 22px}
.hl-terms__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.hl-terms__row li{background:var(--night-2);padding:24px 24px 26px}
.hl-terms__row strong{display:block;font-family:var(--serif);font-weight:400;font-size:24px;color:var(--glow);margin-bottom:8px}
.hl-terms__row span{color:var(--mist);font-size:15.5px}
@media (max-width:760px){.hl-terms__row{grid-template-columns:1fr}}
