/* New Year's on Cape Cod 2026-27: midnight blue, champagne gold, dawn. Loaded after base.css. */
:root{--deep:#080F24;--main:#1C2C63;--lit:#34366E;--accent:#B5442A;--frost:#EEF2F8;--ink:#151C2C;--muted:#58607A;--line:#DFE3EE;--card-line:#E8E2D3;--paper:#FFFDF9;--link:#23407A;--hdr-muted:#C9D3EE;--eyebrow:#FFE7A3;--hero-p:#DCE3F5}
.foil{height:5px;background:linear-gradient(90deg,#B8862B,#FFE7A3 20%,#C99A2E 40%,#FFF1C4 60%,#B8862B 80%,#FFE7A3);background-size:200% 100%;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% 0}}
.hero{background:radial-gradient(50% 60% at 80% 25%,rgba(150,110,255,.25),transparent 60%),radial-gradient(40% 50% at 20% 30%,rgba(60,200,220,.18),transparent 60%),linear-gradient(180deg,#070D22 0%,#121F48 40%,#2E2F6E 70%,#7B4E6E 88%,#F0A372 100%)}
.stars,.stars2{position:absolute;inset:0;pointer-events:none;background-repeat:repeat}
.stars{background-image:radial-gradient(1.6px 1.6px at 30px 40px,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 140px 90px,#FFF6DA 50%,transparent 52%),radial-gradient(2px 2px at 220px 30px,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 300px 140px,#fff 50%,transparent 52%);background-size:340px 200px;animation:tw 5s ease-in-out infinite alternate}
.stars2{background-image:radial-gradient(2.2px 2.2px at 80px 120px,#F7D27A 50%,transparent 52%),radial-gradient(1.6px 1.6px at 260px 70px,#fff 50%,transparent 52%);background-size:300px 240px;animation:tw 7s ease-in-out infinite alternate-reverse}
@keyframes tw{from{opacity:.25}to{opacity:.85}}
.burst{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.9) 0 3%,transparent 9%),repeating-conic-gradient(from 0deg,var(--c,#F2B544) 0deg 2.2deg,transparent 2.2deg 15deg);-webkit-mask:radial-gradient(circle,#000 0 6%,transparent 12%,#000 26%,#000 52%,transparent 70%);mask:radial-gradient(circle,#000 0 6%,transparent 12%,#000 26%,#000 52%,transparent 70%);animation:boom 5s ease-out infinite;opacity:0}
@keyframes boom{0%{transform:scale(.15);opacity:0}8%{opacity:1}55%{opacity:.9}100%{transform:scale(1.12);opacity:0}}
.cf{position:absolute;top:-20px;width:7px;height:13px;border-radius:2px;pointer-events:none;animation:drop 10s linear infinite;opacity:.9}
@keyframes drop{from{transform:translateY(-30px) rotate(0deg)}to{transform:translateY(620px) rotate(560deg)}}
.yr{position:absolute;right:-1%;bottom:40px;font-family:var(--display);font-size:clamp(9rem,24vw,21rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(255,231,163,.22);pointer-events:none;letter-spacing:-.03em;z-index:1}
.horizon{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:radial-gradient(60% 100% at 50% 100%,rgba(255,196,140,.55),transparent 70%)}
.hero-in{padding-top:64px}
.big{background:linear-gradient(100deg,#C99A2E 0%,#FFF1C4 30%,#F2B544 50%,#FFE7A3 70%,#B8862B 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite;filter:drop-shadow(0 0 22px rgba(242,181,68,.45))}
.rail figure{box-shadow:0 0 0 1px rgba(242,181,68,.6),0 12px 26px -12px rgba(7,13,34,.8)}
.tile.t-night{background:radial-gradient(circle at 85% 15%,rgba(242,181,68,.35),transparent 45%),linear-gradient(160deg,#1C2C63,#0B1433)}.tile.t-night span{color:#FFE7A3}
.tile.t-foil{background:linear-gradient(120deg,#C99A2E,#FFF1C4 40%,#F2B544 60%,#B8862B);color:#2A1E05}.tile.t-foil span{color:#5B1A2E}
.tile.t-rose{background:linear-gradient(160deg,#7A2E5C,#3B1640)}.tile.t-rose span{color:#FFD2E2}
.tile.t-dawn{background:linear-gradient(170deg,#2E2F6E,#B5587A 60%,#F0A372)}.tile.t-dawn span{color:#FFF1C4}
.dl li{border-top-color:#1C2C63}
.dl li.hot{border-top:4px solid transparent;border-image:linear-gradient(90deg,#B8862B,#FFE7A3,#B8862B) 1}
.sec-head{background:linear-gradient(90deg,#B8862B,#FFE7A3 30%,#C99A2E 55%,#FFF1C4 80%,#B8862B) bottom/100% 4px no-repeat}
.spark{width:22px;height:22px;fill:#F2B544;flex:none;filter:drop-shadow(0 0 4px rgba(242,181,68,.6))}
.badge.b-night{background:#0B1433;color:#FFE7A3}.badge.b-foil{background:linear-gradient(120deg,#F2B544,#FFE7A3);color:#2A1E05}.badge.b-rose{background:#7A2E5C;color:#fff}.badge.b-sea{background:#1F6A86;color:#fff}
.ph-none{background:radial-gradient(circle at 50% 40%,#25336B,#0B1433);color:#FFE7A3}
.nl-card{background:radial-gradient(circle at 90% 10%,rgba(242,181,68,.25),transparent 45%),linear-gradient(160deg,#1C2C63,#0B1433);color:#fff}
.nl-card h2{color:#FFE7A3}.nl-card p{color:#DCE3F5}.nl-proof{color:#FFE7A3}
.nl-card .nl-btn{background:#F2B544;color:#151C2C}
.nl-end{background:linear-gradient(180deg,#070D22,#1C2C63)}
.nl-end p{color:#DCE3F5}
/* hour by hour + getting there */
.tl{list-style:none;margin:10px 0 0;padding:0;border-left:2px solid #E6E9F2;margin-left:10px}
.tl li{position:relative;padding:8px 0 12px 26px;border-radius:0 6px 6px 0}
.tl li:hover{background:#FFF8E8}
.tl li::before{content:"";position:absolute;left:-7px;top:13px;width:12px;height:12px;border-radius:50%;background:#F2B544;box-shadow:0 0 0 3px #fff,0 0 8px rgba(242,181,68,.8)}
.tl .t{font-family:var(--display);font-size:1.25rem;color:var(--main);display:block;line-height:1.1}
.tl a{color:var(--ink);font-weight:800;text-decoration:none}.tl a:hover{text-decoration:underline}
.tl span{color:var(--muted);font-size:.92rem}
.ladder{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 0%,rgba(242,181,68,.35),transparent 50%),linear-gradient(160deg,#FFF6DF,#FBEACB);border:1px solid #EBD39A}
.ladder dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:10px 0 0}
.ladder dt{font-weight:900;color:var(--main)}
.ladder dd{margin:0}
.tips h3{display:flex;gap:10px;align-items:center}
@media (max-width:820px){.yr{bottom:110px;opacity:.7}.hero-in{padding-top:40px}}
@media (prefers-reduced-motion:reduce){.burst{animation:none;opacity:.7}.cf{animation:none}.big,.foil{animation:none}}
.ph-none{background-image:radial-gradient(1.4px 1.4px at 20px 30px,rgba(255,255,255,.8) 50%,transparent 52%),radial-gradient(1px 1px at 70px 90px,rgba(255,231,163,.8) 50%,transparent 52%),radial-gradient(1.6px 1.6px at 120px 50px,rgba(255,255,255,.7) 50%,transparent 52%),radial-gradient(circle at 50% 40%,#25336B,#0B1433);background-size:150px 120px,150px 120px,150px 120px,100% 100%}
