/* Christmas on Cape Cod 2026: pine, holly and gold. Loaded after base.css. */
:root{--deep:#0B2219;--main:#1E6B43;--lit:#2E6B4F;--accent:#C8232C;--frost:#EDF3EF;--ink:#18231F;--muted:#55645D;--line:#DCE5DF;--card-line:#E9E0CF;--paper:#FFFDF8;--link:#1B4434;--hdr-muted:#CFE3D7;--eyebrow:#F6D38A;--hero-p:#DCEBE2}
.candy{height:7px;background:repeating-linear-gradient(135deg,#C8232C 0 12px,#fff 12px 20px,#1E6B43 20px 32px,#fff 32px 40px)}
.site{box-shadow:inset 0 -1px 0 rgba(242,181,68,.4)}
.hero{background:radial-gradient(70% 70% at 78% 30%,rgba(255,196,92,.30),transparent 60%),radial-gradient(60% 60% at 15% 80%,rgba(200,35,44,.30),transparent 60%),radial-gradient(110% 90% at 60% 10%,#2C7450,#17432F 48%,#0A1F17)}
.garland{position:absolute;left:0;right:0;top:0;width:100%;height:120px;z-index:1;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35))}
.bokeh{position:absolute;border-radius:50%;pointer-events:none;filter:blur(1px);animation:glow 6s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.35;transform:scale(.9)}to{opacity:.95;transform:scale(1.08)}}
.snow,.snow2{position:absolute;inset:-40px 0 0;pointer-events:none;background-repeat:repeat}
.snow{background-image:radial-gradient(2.5px 2.5px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90px 120px,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(3px 3px at 160px 60px,rgba(255,255,255,.85) 50%,transparent 51%),radial-gradient(2px 2px at 230px 170px,#fff 50%,transparent 51%);background-size:200px 180px;opacity:.85;animation:fall 16s linear infinite}
.snow2{background-image:radial-gradient(1.5px 1.5px at 40px 80px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 130px 20px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 200px 140px,#fff 50%,transparent 51%);background-size:220px 180px;opacity:.6;animation:fall2 26s linear infinite}
@keyframes fall{from{background-position:0 0}to{background-position:40px 660px}}
@keyframes fall2{from{background-position:0 0}to{background-position:-30px 540px}}
.drift{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:1}
.big{background:linear-gradient(180deg,#FFE9A8 0%,#F2B544 45%,#C98A1B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(242,181,68,.45))}
.rail figure{transform:rotate(-1.2deg)}
.rail figure:nth-child(2n){transform:rotate(1.4deg)}
.rail figure::before{content:"";position:absolute;top:-2px;left:50%;width:46px;height:14px;margin-left:-23px;background:#C8232C;z-index:2;border-radius:0 0 3px 3px;box-shadow:0 0 0 2px #F2B544 inset}
.tile.t-red{background:linear-gradient(160deg,#C8232C,#8E1520)}.tile.t-red span{color:#FFE2A0}
.tile.t-green{background:linear-gradient(160deg,#246B47,#123F2A)}.tile.t-green span{color:#FFE2A0}
.tile.t-gold{background:linear-gradient(160deg,#FFE7A8,#F2B544);color:#3B2A06}.tile.t-gold span{color:#7A1D16}
.tile.t-plaid{background-color:#8E1520;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 12px,transparent 12px 24px),repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 12px,transparent 12px 24px),repeating-linear-gradient(0deg,transparent 0 5px,rgba(242,181,68,.55) 5px 6px,transparent 6px 24px),repeating-linear-gradient(90deg,transparent 0 5px,rgba(242,181,68,.55) 5px 6px,transparent 6px 24px)}
.tile.t-plaid span{color:#FFE2A0}
.dl li.hot{border-top:0;padding-top:14px;background:repeating-linear-gradient(135deg,#C8232C 0 8px,#fff 8px 14px) top/100% 4px no-repeat}
.sec-head{background:repeating-linear-gradient(135deg,#C8232C 0 10px,#fff 10px 15px,#1E6B43 15px 25px,#fff 25px 30px) bottom/100% 5px no-repeat}
.orn{width:24px;height:30px;flex:none}
.badge.b-red{background:#C8232C;color:#fff}.badge.b-green{background:#1E6B43;color:#fff}.badge.b-gold{background:#F2B544;color:#3B2A06}
.ph-none{background:radial-gradient(circle at 50% 40%,#FFF6DE,#F3E7C8)}
.nl-card{padding:12px;background-color:#8E1520;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 14px,transparent 14px 28px),repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 14px,transparent 14px 28px),repeating-linear-gradient(0deg,transparent 0 6px,rgba(242,181,68,.55) 6px 7px,transparent 7px 28px),repeating-linear-gradient(90deg,transparent 0 6px,rgba(242,181,68,.55) 6px 7px,transparent 7px 28px)}
.gift{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;background:#FFFBF0;border-radius:3px;padding:20px 22px 20px 66px;position:relative}
.gift::before{content:"";position:absolute;top:0;bottom:0;left:38px;width:14px;background:#F2B544;opacity:.9}
.gift>div{min-width:0;flex:1 1 380px}
.nl-card h2{color:#8E1520}.nl-proof{color:#C8232C}
.open-q .qa details{border-color:#EADFCB}
.nl-end{background:radial-gradient(80% 120% at 80% 0%,#B3202A,#7A0F18 55%,#4E0910)}
.nl-end p{color:#FBDCDC}
.hanu{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;padding:18px 22px;border-radius:6px;background:linear-gradient(120deg,#EAF1FB,#DCE7F7);border:1px solid #C7D7EF}
.hanu h2{font-size:1.8rem;color:#1F4787;display:flex;gap:10px;align-items:center}
.hanu p{margin:0;flex:1 1 380px;min-width:0}
@media (max-width:820px){.garland{height:96px}.gift{padding-left:22px}.gift::before{display:none}.rail figure,.rail figure:nth-child(2n){transform:none}}
@media (prefers-reduced-motion:reduce){.bokeh,.snow,.snow2{animation:none}}
.ph-none{background-image:radial-gradient(3px 3px at 20px 24px,rgba(200,35,44,.35) 50%,transparent 52%),radial-gradient(3px 3px at 80px 70px,rgba(30,107,67,.3) 50%,transparent 52%),radial-gradient(2.5px 2.5px at 130px 30px,rgba(242,181,68,.55) 50%,transparent 52%),radial-gradient(circle at 50% 40%,#FFF6DE,#F3E7C8);background-size:160px 110px,160px 110px,160px 110px,100% 100%}
