/* The Gentle Holiday Watchlist: a nostalgic storybook Christmas look.
   Fonts: Fraunces (titles), Mountains of Christmas (hand lettered accents), DM Sans (reading). */
:root{
  color-scheme:light;
  --night:#14233A;--night2:#1C3350;--pine:#1F3B2E;--holly:#3E6B4E;--sage:#9DB49A;--sage-soft:#E4ECDC;
  --cran:#B23A3F;--cran-deep:#8E2A30;--rose:#F7E1DA;--gold:#D9A441;--gold-deep:#A87A22;--butter:#F6E5B8;
  --frost:#E3EEF2;--frost-deep:#5B7F98;--cream:#FBF4E6;--paper:#F4E8D2;--ink:#2A2420;--soft:#6B5F55;--line:#E6D6BB;
  --display:"Fraunces",Georgia,serif;--hand:"Mountains of Christmas",Georgia,cursive;--body:"DM Sans",system-ui,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;line-height:1.05;margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:200}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.script-eyebrow{font-family:var(--hand);font-weight:700;font-size:clamp(24px,2.6vw,32px);color:var(--gold);margin:0 0 4px;line-height:1.1}
.script-eyebrow.dark{color:var(--cran)}

/* ---------- hero: snowy night village ---------- */
.hero{position:relative;color:#FBF4E6;background:linear-gradient(180deg,#0F1C30 0%,var(--night) 38%,var(--night2) 72%,#2B4A5E 100%);overflow:hidden;padding:100px 0 0;isolation:isolate}
.lights-string{position:absolute;top:0;left:0;width:100%;height:70px;z-index:3;overflow:visible}
.bulb .glow{opacity:.35;filter:blur(6px);animation:glow var(--d,2s) ease-in-out infinite alternate;animation-delay:var(--o,0s)}
.bulb ellipse:first-of-type{animation:bright var(--d,2s) ease-in-out infinite alternate;animation-delay:var(--o,0s)}
@keyframes glow{from{opacity:.15}to{opacity:.6}}
@keyframes bright{from{filter:brightness(.8)}to{filter:brightness(1.25)}}
.sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.moon{position:absolute;right:9%;top:90px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#FFF8E2,#F1DDA8 60%,#D9BF83);box-shadow:0 0 60px 18px rgba(247,226,170,.28)}
.stars{position:absolute;inset:0;background-image:
  radial-gradient(1.6px 1.6px at 8% 20%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 22% 42%,#fff 50%,transparent 51%),
  radial-gradient(1.8px 1.8px at 35% 14%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 48% 32%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 62% 18%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 74% 40%,#fff 50%,transparent 51%),
  radial-gradient(1.7px 1.7px at 86% 12%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 94% 36%,#fff 50%,transparent 51%);
  animation:twinkle 4s ease-in-out infinite alternate}
.stars.s2{transform:scale(1.15) translate(2%,4%);animation-duration:5.5s;animation-delay:-2s;opacity:.7}
@keyframes twinkle{from{opacity:.45}to{opacity:1}}
.snow{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-inner{position:relative;z-index:2;padding-bottom:170px}
.topline{display:inline-block;margin:0 0 26px;font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#CFE0E8;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px}
.hero h1{font-weight:900;letter-spacing:-.015em;text-shadow:0 3px 0 rgba(0,0,0,.18)}
.hero h1 .h1a{display:block;font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:clamp(40px,5.5vw,70px);color:var(--gold);transform:rotate(-3deg);transform-origin:left;margin-bottom:-4px}
.hero h1 .h1b{display:block;font-size:clamp(52px,8.4vw,112px);color:#FBF4E6;max-width:11ch}
.lede{font-size:clamp(17px,1.6vw,20px);max-width:58ch;margin:22px 0 0;color:#E4ECF0}
.stats{display:flex;flex-wrap:wrap;gap:16px;margin:34px 0 0;padding:0;list-style:none}
.tag{position:relative;background:var(--cream);color:var(--ink);border-radius:10px;padding:12px 20px 12px 30px;min-width:150px;transform:rotate(var(--r,-2deg));box-shadow:0 8px 18px rgba(0,0,0,.25);transition:transform .4s}
.tag:nth-child(2){--r:1.5deg}.tag:nth-child(3){--r:-1deg}
.tag::before{content:"";position:absolute;left:11px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--night);box-shadow:inset 0 0 0 2px #C9B48C}
@media (hover:hover){.tag:hover{transform:rotate(0) translateY(-3px)}}
.tag b{display:block;font-family:var(--display);font-size:32px;font-weight:900;color:var(--cran);line-height:1}
.tag span{font-size:14px;color:var(--soft)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.village{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:260px;z-index:2;pointer-events:none}
.village .win{animation:flick 3.2s steps(1) infinite}
.village .win.w2{animation-delay:-1.1s}.village .win.w3{animation-delay:-2.3s;animation-duration:4.4s}
@keyframes flick{0%,100%{opacity:1}46%{opacity:.75}48%{opacity:1}72%{opacity:.85}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-variation-settings:"SOFT" 50;font-weight:800;font-size:18px;padding:15px 28px;border-radius:999px;background:var(--cran);color:#fff;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 6px 0 var(--cran-deep),0 12px 22px rgba(0,0,0,.2)}
@media (hover:hover){.btn:hover{transform:translateY(-2px)}}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--cran-deep)}
.btn.candy{border:5px solid transparent;background:linear-gradient(var(--cran),var(--cran)) padding-box,repeating-linear-gradient(45deg,#fff 0 9px,var(--cran) 9px 18px) border-box;background-size:auto,40px 40px}
@media (hover:hover){.btn.candy:hover{animation:roll 1s linear infinite}}
@keyframes roll{to{background-position:0 0,40px 0}}
.btn.ghost{background:transparent;color:#FBF4E6;box-shadow:inset 0 0 0 2px rgba(251,244,230,.7)}
@media (hover:hover){.btn.ghost:hover{background:rgba(255,255,255,.08)}}
.btn.small{font-size:15px;padding:10px 18px}

/* ---------- sections ---------- */
.section{padding:70px 0;position:relative}
.section h2{font-size:clamp(34px,4.4vw,56px);font-weight:900;color:var(--pine);margin-bottom:14px}
.section h2 em{font-family:var(--hand);font-style:normal;font-weight:700;font-variation-settings:normal;color:var(--cran);font-size:1.12em}
.intro{max-width:64ch;color:#433a33;margin:0 0 30px;font-size:17px}
.band{background:var(--paper)}
.band::before{content:"";position:absolute;left:0;right:0;top:-18px;height:20px;background:radial-gradient(circle at 12px 0,transparent 12px,var(--paper) 12.5px) 0 0/24px 20px repeat-x}
#how{background:var(--cream)}#how::before{display:none}

/* key ornaments */
.key{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.keyitem{position:relative;background:#fff;border-radius:20px;padding:26px 24px 22px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(74,52,30,.08)}
.keyitem .orn{display:block;width:54px;height:70px;margin:-56px 0 6px;transform-origin:30px 0;animation:swing 5s ease-in-out infinite}
.keyitem.preview .orn{animation-delay:-1.6s}.keyitem.notfit .orn{animation-delay:-3.1s}
@keyframes swing{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-5deg)}}
.keyitem h3{font-size:24px;font-weight:800;margin-bottom:6px}
.keyitem.gentle h3{color:var(--holly)}.keyitem.preview h3{color:var(--gold-deep)}.keyitem.notfit h3{color:var(--cran)}
.keyitem p{margin:0;font-size:15.5px}
.key2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:22px}
.key2 .keyitem{background:var(--frost);border-color:#CFE0E8}
.key2 h3{color:var(--frost-deep)}
.key2 ul{margin:8px 0 0;padding-left:18px;font-size:15.5px}

/* starter: advent calendar doors */
.starter{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.starter a{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;background:#fff;border:2px solid var(--line);border-radius:16px;padding:16px 14px 14px;text-decoration:none;transition:transform .3s,box-shadow .3s}
.starter li:nth-child(odd) a{background:#FFF9EE}
@media (hover:hover){.starter a:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 12px 24px rgba(74,52,30,.14);border-color:var(--gold)}}
.starter .num{font-family:var(--hand);font-weight:700;font-size:40px;line-height:1;color:var(--cran)}
.starter li:nth-child(3n+2) .num{color:var(--holly)}.starter li:nth-child(3n) .num{color:var(--gold-deep)}
.starter b{display:block;font-family:var(--display);font-weight:700;font-size:16.5px;line-height:1.25}
.starter small{color:var(--soft);font-size:13px}

/* ---------- gate: a wrapped gift ---------- */
.gate{display:none;position:relative;padding:60px 0 90px;overflow:hidden}
body.locked .gate{display:block}
body.locked .filters,body.locked main,body.locked .count{display:none}
.gate-peek{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1200px;margin:0 auto;padding:30px 28px 0;filter:blur(5px);opacity:.6;pointer-events:none;user-select:none;max-height:640px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.gate .wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.gate-card{position:relative;max-width:580px;width:100%;text-align:center;padding:52px 38px 32px;border-radius:24px;color:var(--ink);
  background:linear-gradient(90deg,transparent calc(50% - 16px),rgba(178,58,63,.10) calc(50% - 16px) calc(50% + 16px),transparent calc(50% + 16px)),#fff;
  border:1px solid var(--line);box-shadow:0 24px 60px rgba(31,40,30,.22)}
.gate-card::before{content:"";position:absolute;inset:10px;border:2px dashed #EBDCC2;border-radius:18px;pointer-events:none}
.bow{position:absolute;left:50%;top:-38px;width:120px;margin-left:-60px;transform-origin:50% 60%;animation:bow 3.5s ease-in-out infinite}
@keyframes bow{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-6deg) scale(1.04)}92%{transform:rotate(5deg)}}
.gate-card h2{font-size:clamp(32px,4vw,46px);font-weight:900;color:var(--pine);margin-bottom:12px}
.gate-card h2 em{font-family:var(--hand);font-style:normal;font-weight:700;font-variation-settings:normal;color:var(--cran)}
.gate-card p{margin:0 auto 20px;max-width:46ch;font-size:16px}
#gate-form{position:relative;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
#gate-email{flex:1 1 250px;font:inherit;font-size:16px;padding:14px 20px;border:2px solid var(--line);border-radius:999px;background:var(--cream)}
#gate-email:focus{border-color:var(--holly);outline:none;background:#fff}
#gate-form .btn[disabled]{opacity:.75;cursor:wait}
.gate-err{color:var(--cran);font-weight:700;font-size:14.5px;margin:10px auto 0!important}
.gate-fine{font-size:13.5px!important;color:var(--soft);margin:6px auto 0!important}
.unlocked-note{background:var(--holly);color:#fff;font-family:var(--hand);font-weight:700;font-size:24px;text-align:center;padding:14px 0}

/* ---------- filters ---------- */
.filters{position:relative;z-index:20;background:rgba(251,244,230,.95);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;backdrop-filter:blur(8px)}
@media (min-width:1100px){.filters{position:sticky;top:0}}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.frow+.frow{margin-top:10px}
.search{flex:1 1 280px;position:relative}
.search input{width:100%;font:inherit;font-size:16px;padding:12px 16px 12px 42px;border:2px solid var(--line);border-radius:999px;background:#fff}
.search input:focus{border-color:var(--holly);outline:none}
.search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--soft)}
select{font:inherit;font-size:15px;padding:11px 14px;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);max-width:100%}
.flabel{font-family:var(--hand);font-weight:700;font-size:21px;color:var(--cran);margin:0 4px 0 2px}
.chip{font:inherit;font-size:14.5px;font-weight:600;padding:8px 15px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap;transition:transform .2s,background .2s}
@media (hover:hover){.chip:hover{transform:translateY(-1px);border-color:var(--sage)}}
.chip[aria-pressed="true"]{background:var(--holly);border-color:var(--holly);color:#fff}
.chip.f-preview[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.chip.f-notfit[aria-pressed="true"]{background:var(--cran);border-color:var(--cran)}
.chip.mine[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.linkbtn{background:none;border:0;font:inherit;font-size:14.5px;font-weight:600;color:var(--cran);text-decoration:underline wavy;text-underline-offset:4px;cursor:pointer;padding:4px 6px}
.count{font-family:var(--hand);font-weight:700;font-size:24px;color:var(--holly);margin:26px 0 18px}

/* ---------- cards: stitched gift tags ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:34px 24px;padding:24px 0 50px}
.card{position:relative;min-width:0;background:#FFFCF6;border-radius:22px;padding:26px 24px 20px;display:flex;flex-direction:column;scroll-margin-top:190px;
  border:1px solid var(--line);box-shadow:0 2px 0 #EEE1C8,0 14px 30px rgba(74,52,30,.09)}
.card::before{content:"";position:absolute;inset:8px;border:2px dashed var(--seam,#EBDCC2);border-radius:16px;pointer-events:none}
.card.fit-gentle{--c:var(--holly);--cs:var(--sage-soft);--seam:#D7E3D0}
.card.fit-preview{--c:var(--gold-deep);--cs:var(--butter);--seam:#F0DFB2}
.card.fit-notfit{--c:var(--cran);--cs:var(--rose);--seam:#F1D2CA}
.card.flash{box-shadow:0 0 0 5px var(--gold),0 22px 40px rgba(74,52,30,.15)}
/* drift in as you scroll */
.card,.reveal{opacity:0;transform:translateY(22px)}
.card.in,.reveal.in{opacity:1;transform:none;transition:opacity .7s ease calc(var(--i,0)*60ms),transform .7s ease calc(var(--i,0)*60ms),box-shadow .35s}
@media (hover:hover){.card.in:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 2px 0 #EEE1C8,0 22px 40px rgba(74,52,30,.15);transition:transform .35s,box-shadow .35s}}
.sticker{position:absolute;left:18px;top:-18px;width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;box-shadow:0 6px 12px rgba(74,52,30,.12);transition:transform .5s}
.sticker svg{width:30px;height:30px}
@media (hover:hover){.card:hover .sticker{transform:rotate(-12deg) scale(1.06)}}
.hang{position:relative;display:flex;margin:14px 0 12px;transform-origin:20px 0}
.hang-string{display:none}
.hang-tag{position:relative;font-family:var(--hand);font-weight:700;font-size:19px;line-height:1;color:var(--c);background:var(--cs);padding:8px 16px 7px 26px;border-radius:0 999px 999px 0;clip-path:polygon(13px 0,100% 0,100% 100%,13px 100%,0 50%)}
.hang-tag::before{content:"";position:absolute;left:11px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#FFFCF6}
@media (hover:hover){.card:hover .hang{animation:tagswing 1.2s ease}}
@keyframes tagswing{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}55%{transform:rotate(3deg)}80%{transform:rotate(-1deg)}}
.save{position:absolute;top:18px;right:18px;z-index:2;display:flex;align-items:center;gap:5px;font:inherit;font-size:13.5px;font-weight:700;border:2px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;cursor:pointer;color:var(--soft)}
.save .star{font-size:16px;line-height:1;color:#D4C6AE;transition:transform .4s,color .3s}
@media (hover:hover){.save:hover .star{transform:rotate(72deg) scale(1.2)}}
.save.on{border-color:var(--gold);background:var(--butter);color:var(--ink)}
.save.on .star{color:var(--gold-deep);animation:pop .5s ease}
@keyframes pop{40%{transform:scale(1.6) rotate(40deg)}}
.showname{margin:0 0 2px;font-family:var(--hand);font-weight:700;font-size:20px;color:var(--frost-deep);line-height:1.1}
.card h3{font-size:26px;font-weight:800;color:var(--ink);margin-bottom:6px}
.meta{margin:0 0 12px;font-size:14px;color:var(--soft)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.badge{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--paper);color:var(--ink)}
.badge.free{background:#DDEFD8;color:#245032}
.badge.free::before{content:"\2605  ";color:var(--gold-deep)}
.badge.eyes,.badge.feel{background:var(--frost);color:#2C4D63}
.badge.quiet{background:#ECE5F4;color:#4B3A68}
.badge.sad{background:var(--rose);color:var(--cran-deep)}
.badge.faith{background:var(--butter);color:#6B4A0E}
.badge.older{background:#EDE6DA;color:#4A4339}

/* meters: little ornament bulbs */
.meters{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;background:var(--cream);border:1px solid #F0E4CF;border-radius:14px;padding:12px 14px;margin-bottom:16px}
.meter{display:flex;align-items:center;gap:8px;font-size:13.5px}
.meter .mk{font-weight:700;min-width:60px}
.dots{display:inline-flex;gap:5px;align-items:flex-end}
.dots i{position:relative;width:10px;height:11px;border-radius:50%/55% 55% 45% 45%;background:#E5DACA}
.dots i::before{content:"";position:absolute;left:3px;top:-3px;width:4px;height:3px;border-radius:1px;background:#C9B48C}
.meter.lv1 .dots i.on{background:var(--holly)}
.meter.lv2 .dots i.on{background:var(--gold)}
.meter.lv3 .dots i.on{background:var(--cran)}
.meter.lv0 .dots i.on{background:var(--frost-deep)}
.meter .mv{color:var(--soft)}

.sec{margin-bottom:13px}
.sec h4{font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:21px;color:var(--holly);margin-bottom:3px;line-height:1.1}
.sec.hard h4{color:var(--cran)}
.sec.know h4,.sec.eps h4{color:var(--frost-deep)}
.sec p{margin:0;font-size:15px}
.sec ul{margin:0;padding:0;list-style:none;font-size:15px}
.sec li{position:relative;padding-left:20px;margin:3px 0}
.sec li::before{content:"\2744";position:absolute;left:0;top:0;font-size:12px;color:var(--sage)}
.sec.hard li::before{content:"\2022";font-size:20px;line-height:1.1;color:var(--cran)}
.sec .none{color:var(--soft);font-style:italic}
.sec.eps p{font-size:14.5px;font-weight:600}
.sec.watch{margin-top:auto;padding-top:14px;border-top:2px dotted var(--line);margin-bottom:0}
.wgroup{margin-bottom:9px}
.wlab{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--soft);margin-bottom:5px}
.wrow{display:flex;flex-wrap:wrap;gap:7px}
.wbtn{display:inline-flex;flex-direction:column;justify-content:center;font-size:14px;font-weight:700;text-decoration:none;padding:8px 14px;border-radius:12px;background:var(--pine);color:#fff;line-height:1.2;transition:transform .2s,filter .2s;box-shadow:0 3px 0 rgba(0,0,0,.18)}
.wbtn small{font-weight:400;font-size:12px;opacity:.9}
@media (hover:hover){.wbtn:hover{transform:translateY(-2px);filter:brightness(1.1)}}
.wbtn.g-free{background:var(--holly)}
.wbtn.g-library{background:var(--frost-deep)}
.wbtn.g-sub{background:var(--pine)}
.wbtn.g-channel{background:#6A7A68}
.wbtn.g-buy{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.wbtn.g-check,.wbtn.lib{background:#fff;color:var(--cran);box-shadow:inset 0 0 0 2px var(--rose)}
.nowatch p{margin:0 0 6px;font-size:14.5px;color:var(--soft)}
.empty{grid-column:1/-1;text-align:center;padding:40px;background:#fff;border-radius:22px}

/* ---------- tips: little postcards ---------- */
.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px}
.tip{position:relative;background:#FFFCF6;border-radius:18px;padding:24px 22px 20px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(74,52,30,.08)}
.tip.in:nth-child(odd){transform:rotate(-.6deg)}.tip.in:nth-child(even){transform:rotate(.6deg)}
.tip-ico{position:absolute;right:16px;top:-16px;width:46px;height:46px;border-radius:10px;display:grid;place-items:center;font-size:24px;background:var(--cream);border:2px dashed var(--gold);transform:rotate(6deg)}
.tip h3{font-size:22px;font-weight:800;color:var(--pine);margin:0 50px 8px 0}
.tip p{margin:0;font-size:15.5px}

.fine{font-size:15px;color:#433a33;max-width:76ch}
.fine p{margin:0 0 12px}
.sources{columns:2;column-gap:32px;font-size:14px;padding-left:18px}
.sources li{margin-bottom:6px;break-inside:avoid}

footer{position:relative;background:var(--pine);color:#DCE6D8;padding:30px 0 40px;font-size:14px;text-align:center;margin-top:90px}
.foot-hills{position:absolute;left:0;right:0;top:-89px;width:100%;height:90px}
footer b{color:#fff}
footer .script-eyebrow{font-size:30px}

/* calm mode switch */
.calm-toggle{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:center;gap:8px;font:inherit;font-size:14px;font-weight:700;padding:10px 16px;border-radius:999px;border:2px solid rgba(255,255,255,.7);background:rgba(20,35,58,.9);color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.calm-toggle .ct-ico{font-size:17px;display:inline-block;animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.calm-toggle[aria-pressed="true"]{background:#fff;color:var(--night);border-color:var(--line)}

/* calm mode: everything holds still */
html.calm *,html.calm *::before,html.calm *::after{animation:none!important;transition:none!important}
html.calm .card,html.calm .reveal{opacity:1;transform:none}
html.calm .tip:nth-child(odd){transform:rotate(-.6deg)}html.calm .tip:nth-child(even){transform:rotate(.6deg)}
html.calm .snow{display:none}
html.calm{scroll-behavior:auto}

@media (max-width:980px){.starter{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .key,.tips{grid-template-columns:1fr}.key2{grid-template-columns:1fr}
  .key{gap:44px}
  .sources{columns:1}
  .gate-peek{grid-template-columns:minmax(0,1fr)}
  .moon{width:64px;height:64px;top:84px}
}
@media (max-width:600px){
  .wrap{padding:0 18px}
  body{font-size:16px}
  .hero{padding-top:84px}
  .hero-inner{padding-bottom:130px}
  .village{height:170px}
  .stats{gap:12px}.tag{min-width:0;flex:1 1 40%;padding:10px 14px 10px 26px}.tag b{font-size:26px}
  .btn{font-size:16.5px;padding:13px 22px}
  .grid{grid-template-columns:minmax(0,1fr);gap:38px}
  .card{padding:24px 18px 18px;scroll-margin-top:20px}
  .card h3{font-size:23px}
  .frow[role=group]{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scrollbar-width:none}
  .frow[role=group]::-webkit-scrollbar{display:none}
  .chip{font-size:14px;padding:7px 12px}
  .frow select{flex:1 1 45%}
  .gate{padding:40px 0 50px}.gate-peek{padding:30px 18px 0;max-height:700px}.gate .wrap{padding:0 14px}.gate-card{padding:46px 20px 26px}
  .calm-toggle{right:12px;bottom:12px;padding:9px 13px;font-size:13px}
}
@media print{
  .snow,.lights-string,.village,.sky,.hero-cta,.filters,.save,.calm-toggle,.gate,footer,.sticker,.topline{display:none!important}
  .hero{background:none;color:var(--ink);padding:10px 0}.hero-inner{padding:0}.hero h1 .h1b{color:var(--ink)}.lede{color:var(--ink)}
  body{background:#fff;font-size:12px}body::after{display:none}
  .section{padding:16px 0}.band::before{display:none}
  .card,.reveal{opacity:1!important;transform:none!important}
  .grid{display:block}
  .card{break-inside:avoid;margin-bottom:10px;border:1px solid #bbb;padding:12px;box-shadow:none}
  .wbtn{background:none!important;color:#000!important;box-shadow:none!important;padding:0 8px 0 0}
}

/* vintage TV illustration in the hero */
.tv-art{position:absolute;right:10px;top:140px;width:min(38vw,440px);height:auto;z-index:1;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
.tv-art .antenna{transform-origin:200px 96px;animation:wiggle 6s ease-in-out infinite}
@keyframes wiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.tv-snowman{transform-origin:160px 266px;animation:bob 3s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}
.tv-flakes{animation:tvsnow 4s linear infinite}
@keyframes tvsnow{from{transform:translateY(-30px)}to{transform:translateY(40px)}}
.tv-glow{animation:tvglow 2.6s ease-in-out infinite alternate}
@keyframes tvglow{from{opacity:.02}to{opacity:.12}}
.mini-tree .tl{animation:glow 1.4s ease-in-out infinite alternate}.mini-tree .t2{animation-delay:-.5s}.mini-tree .t3{animation-delay:-.9s}
.gift{transform-origin:45px 356px;animation:hop 4s ease-in-out infinite}
@keyframes hop{0%,85%,100%{transform:none}90%{transform:translateY(-8px) rotate(-3deg)}95%{transform:translateY(0) rotate(2deg)}}
.hero .moon{right:42%;top:70px;width:70px;height:70px}
@media (max-width:980px){.tv-art{display:none}.hero .moon{right:8%;top:150px}}
@media (max-width:600px){.hero .moon{width:52px;height:52px;top:170px;right:6%}.topline{font-size:11.5px;letter-spacing:.1em}}
@media (min-width:981px){.hero-inner>.lede{max-width:min(560px,52%)}.tv-art{right:0;top:170px;width:min(36vw,420px)}}
.starter .si{position:absolute;right:12px;top:12px;width:30px;height:30px;transition:transform .4s}.starter .si svg{width:100%;height:100%}@media (hover:hover){.starter a:hover .si{transform:rotate(-14deg) scale(1.15)}}

/* meter and gentle icon tiles */
.mini-head{font-family:var(--hand)!important;font-weight:700;font-variation-settings:normal!important;font-size:30px;color:var(--cran);margin:48px 0 16px;text-align:center}
.meter-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mtile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 14px 16px;text-align:center;box-shadow:0 8px 18px rgba(74,52,30,.07);transition:transform .3s}
@media (hover:hover){.mtile:hover{transform:translateY(-4px) rotate(-1deg)}}
.mtile svg{width:54px;height:54px;display:block;margin:0 auto 8px;transition:transform .4s}
@media (hover:hover){.mtile:hover svg{transform:rotate(-8deg) scale(1.08)}}
.mtile b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:800;font-size:20px;color:var(--pine)}
.mtile span{display:block;font-size:14px;color:var(--soft);margin-top:2px}
.bulb-key{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:16px 0 0;font-size:14px;color:var(--soft)}
.bulb-key span{display:inline-flex;align-items:center;gap:7px}
.bulb-key i{position:relative;display:inline-block;width:12px;height:13px;border-radius:50%/55% 55% 45% 45%}
.bulb-key i::before{content:"";position:absolute;left:4px;top:-3px;width:4px;height:3px;border-radius:1px;background:#C9B48C}
.bulb-key .g{background:var(--holly)}.bulb-key .y{background:var(--gold)}.bulb-key .r{background:var(--cran)}
.gentle-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:0 auto}
.gtile{display:flex;align-items:center;gap:16px;background:var(--frost);border:1px solid #CFE0E8;border-radius:18px;padding:18px 20px;transition:transform .3s}
.gtile:nth-child(2){background:var(--rose);border-color:#F1D2CA}
@media (hover:hover){.gtile:hover{transform:translateY(-3px)}}
.gtile svg{flex:0 0 auto;width:58px;height:48px}
@media (hover:hover){.gtile:hover svg{animation:beat .8s ease}}
@keyframes beat{30%{transform:scale(1.15)}60%{transform:scale(.97)}}
.gtile b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:800;font-size:19px;color:var(--pine);line-height:1.15}
.gtile span{font-size:14.5px;color:var(--soft)}
.key-tip{text-align:center;color:var(--soft);font-size:15px;margin:14px 0 0}
@media (max-width:860px){.meter-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.gentle-tiles{grid-template-columns:minmax(0,1fr)}}

/* icon key */
.icon-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ikey{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px 10px 10px;box-shadow:0 6px 14px rgba(74,52,30,.06)}
.ikey-ico{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:var(--cream);border:2px solid var(--line);display:grid;place-items:center}
.ikey-ico svg{width:28px;height:28px}
.ikey b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:800;font-size:17px;color:var(--pine);line-height:1.1}
.ikey small{display:block;font-size:13px;color:var(--soft);line-height:1.3}
.chip{display:inline-flex;align-items:center;gap:6px}
.chip-ico{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff}
.chip-ico svg{width:16px;height:16px}
@media (max-width:980px){.icon-key{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.icon-key{grid-template-columns:minmax(0,1fr)}}

/* ===== card v2: clear hierarchy, fewer words up front ===== */
.card{padding:30px 24px 20px}
.card .hang{margin:6px 0 10px}
.head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.head-txt{min-width:0}
.card h3{font-size:clamp(25px,2.2vw,30px);line-height:1.05;margin:0 0 4px;overflow-wrap:anywhere}
.showname{font-size:21px}
.meta{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin:0}
.time{flex:0 0 auto;width:74px;height:74px;border-radius:50%;background:var(--cs);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(6deg);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--cs)}
.time b{font-family:var(--display);font-weight:900;font-size:28px;line-height:1;color:var(--c)}
.time small{font-size:10.5px;font-weight:700;line-height:1.1;color:var(--c);max-width:60px}
.flags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.flag{font-size:12px;font-weight:700;letter-spacing:.03em;padding:3px 10px;border-radius:6px;background:var(--paper)}
.flag.free{background:#DDEFD8;color:#245032}
.flag.quiet{background:#ECE5F4;color:#4B3A68}
.flag.sad{background:var(--rose);color:var(--cran-deep)}
.flag.faith{background:var(--butter);color:#6B4A0E}
.flag.older{background:#EDE6DA;color:#4A4339}
.eps{margin:10px 0 0;font-size:13.5px;color:var(--soft)}
.eps b{color:var(--ink)}
.why{font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 0;font-style:italic;font-weight:600;font-size:18.5px;line-height:1.4;color:#3B322B;margin:14px 0 16px;padding-left:14px;border-left:4px solid var(--gold)}

.meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;background:none;border:0;padding:0;margin:0 0 16px}
.meter{flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;text-align:center;background:var(--cream);border:1px solid #F0E4CF;border-radius:14px;padding:9px 4px 8px;min-width:0}
.m-ico{width:26px;height:26px;color:var(--frost-deep)}
.m-ico svg{width:100%;height:100%}
.meter.lv1 .m-ico{color:var(--holly)}.meter.lv2 .m-ico{color:var(--gold)}.meter.lv3 .m-ico{color:var(--cran)}
.m-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.meter .mk{min-width:0;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.meter .mv{font-size:13.5px;font-weight:700;color:var(--ink)}
.meter .dots{gap:4px;margin-top:2px}
.meter .dots i{width:8px;height:9px}
.meter .dots i::before{left:2px;width:4px}

.hardbox{background:#FBEDE8;border-radius:14px;padding:12px 14px;margin-bottom:16px}
.hardbox h4{font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:21px;color:var(--cran);margin:0 0 4px;line-height:1}
.heads{margin:0;padding:0;list-style:none;font-size:14.5px;line-height:1.45}
.heads li{position:relative;padding-left:16px;margin:4px 0}
.heads li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--cran)}
.heads.none{font-style:italic;color:var(--soft)}

.watch{margin-top:auto;padding-top:14px;border-top:2px dotted var(--line)}
.watch h4{font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:21px;color:var(--holly);margin:0 0 8px;line-height:1}
.wline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:7px}
.wline .wlab{display:inline-block;margin:0 2px 0 0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.wbtn{font-size:13.5px;padding:7px 12px;border-radius:10px}
.nowatch{font-size:14px;color:var(--soft);margin:0}
.nowatch a{color:var(--cran);font-weight:700}
.more{margin-top:10px}
.more summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--frost-deep);padding:6px 12px;border-radius:999px;border:2px dashed #CFE0E8}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"\25BE";transition:transform .3s}
.more[open] summary::after{transform:rotate(180deg)}
.dsec{margin-top:12px}
.dsec h4{font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:19px;color:var(--frost-deep);margin:0 0 4px}
.dsec ul{margin:0;padding-left:18px;font-size:14px}
.dsec .wrow{display:flex;flex-wrap:wrap;gap:6px}

/* ===== filter panel v2 ===== */
.filters{position:relative!important;top:auto!important;padding:22px 0 14px;background:var(--paper)}
.frow.top{gap:10px}
.fpanel{display:grid;grid-template-columns:auto 1fr;gap:18px 34px;margin-top:18px;align-items:start}
.fgroup.wide{grid-column:1/-1}
.fpanel .flabel{display:block;margin:0 0 8px;font-size:22px}
.cat-tiles{display:flex;gap:10px;flex-wrap:wrap}
.cat-tile{font:inherit;cursor:pointer;width:96px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:20px;border:2px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:700;transition:transform .25s,box-shadow .25s,border-color .25s}
.cat-tile .ct-art{width:40px;height:40px;display:grid;place-items:center;transition:transform .4s}
.cat-tile .ct-art svg{width:100%;height:100%}
@media (hover:hover){.cat-tile:hover{transform:translateY(-3px)}}
@media (hover:hover){.cat-tile:hover .ct-art{transform:rotate(-10deg) scale(1.1)}}
.cat-tile[aria-pressed="true"]{border-color:var(--holly);background:var(--sage-soft);box-shadow:0 8px 18px rgba(62,107,78,.22);transform:translateY(-2px)}
.orn-toggles{display:flex;gap:16px;flex-wrap:wrap}
.orn-tog{font:inherit;cursor:pointer;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--ink);padding:0 4px;transition:opacity .3s,filter .3s}
.orn-tog svg{width:46px;height:58px;transform-origin:30px 0;transition:transform .3s}
.orn-tog[aria-pressed="false"]{opacity:.45;filter:grayscale(1)}
.orn-tog[aria-pressed="true"] svg{animation:swing 4s ease-in-out infinite}
.orn-tog.preview svg{animation-delay:-1.3s}.orn-tog.notfit svg{animation-delay:-2.6s}
@media (hover:hover){.orn-tog:hover svg{transform:scale(1.08)}}
.tag-toggles{display:flex;flex-wrap:wrap;gap:10px 12px}
.tag-tog{position:relative;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--ink);background:#fff;border:0;padding:9px 16px 9px 30px;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);border-radius:0 10px 10px 0;filter:drop-shadow(0 2px 2px rgba(74,52,30,.12));transition:transform .25s,background .25s}
.tag-tog::before{content:"";position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1.5px #C9B48C}
.tag-tog svg{width:19px;height:19px;flex:0 0 auto}
.tag-tog:nth-child(odd){transform:rotate(-1.2deg)}.tag-tog:nth-child(even){transform:rotate(1deg)}
@media (hover:hover){.tag-tog:hover{transform:rotate(0) translateY(-2px)}}
.tag-tog[aria-pressed="true"]{background:var(--butter);transform:rotate(0) scale(1.04)}
.tag-tog.mine[aria-pressed="true"]{background:var(--gold)}
.factions{display:flex;gap:8px;margin-top:12px}
@media (max-width:860px){.fpanel{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .cat-tiles{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px;padding:4px 18px 8px;scrollbar-width:none}
  .cat-tiles::-webkit-scrollbar{display:none}
  .cat-tile{flex:0 0 84px;width:84px;height:84px}
  .tag-tog{font-size:13.5px}
  .time{width:64px;height:64px}.time b{font-size:24px}
  .meter .mv{font-size:12.5px}
}
.head{overflow:visible}
.keyitem p{font-size:17px}.keyitem h3{font-size:26px}

/* tip jar */
.tipjar{padding:80px 0 40px}
.tip-card{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:center;max-width:920px;margin:0 auto;padding:40px 44px;border-radius:28px;background:linear-gradient(160deg,#FFF9EE,#F6E5B8);border:1px solid #EFD9A6;box-shadow:0 20px 50px rgba(74,52,30,.12)}
.tip-card::before{content:"";position:absolute;inset:12px;border:2px dashed rgba(168,122,34,.3);border-radius:20px;pointer-events:none}
.cocoa{width:100%;height:auto}
.cocoa .steam path{animation:steam 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.cocoa .steam .s2{animation-delay:-1.2s}.cocoa .steam .s3{animation-delay:-2.4s}
@keyframes steam{0%{opacity:0;transform:translateY(10px) scaleY(.8)}40%{opacity:.8}100%{opacity:0;transform:translateY(-14px) scaleY(1.1)}}
.cocoa .cane{transform-origin:150px 96px;animation:swing 5s ease-in-out infinite}
.tip-copy h2{font-size:clamp(36px,4.4vw,54px);font-weight:900;color:var(--pine);margin:0 0 14px}
.tip-copy h2 em{font-family:var(--hand);font-style:normal;font-weight:700;font-variation-settings:normal;color:var(--cran);font-size:1.12em}
.tip-copy p{font-size:17px;line-height:1.6;margin:0 0 14px;max-width:56ch}
.tip-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 16px}
.tip-alt{font-weight:700;color:var(--cran);text-decoration:underline wavy;text-underline-offset:5px}
.tip-soft{font-size:15px!important;color:var(--soft)}
.tip-sign{font-family:var(--hand);font-weight:700;font-size:30px!important;color:var(--cran);margin:6px 0 0!important;transform:rotate(-3deg);display:inline-block}
@media (max-width:760px){.tip-card{grid-template-columns:minmax(0,1fr);padding:30px 22px;text-align:center}.cocoa{width:160px;margin:0 auto}.tip-copy p{margin-left:auto;margin-right:auto}.tip-btns{justify-content:center}}
@media print{.tipjar{display:none}}

/* streaming buttons in each service's colors (names only, no logos) */
.wbtn.svc{box-shadow:0 3px 0 rgba(0,0,0,.25);border:0}
.svc-netflix{background:#141414!important;color:#fff!important;box-shadow:inset 4px 0 0 #E50914,0 3px 0 rgba(0,0,0,.25)!important}
.svc-prime{background:#0F171E!important;color:#fff!important;box-shadow:inset 0 -3px 0 #1A98FF,0 3px 0 rgba(0,0,0,.25)!important}
.svc-prime-store{background:#fff!important;color:#0F171E!important;box-shadow:inset 0 0 0 2px #1A98FF!important}
.svc-disney{background:linear-gradient(135deg,#0B1A4A,#163B8C)!important;color:#fff!important}
.svc-apple{background:#000!important;color:#fff!important}
.svc-apple-store{background:#fff!important;color:#000!important;box-shadow:inset 0 0 0 2px #000!important}
.svc-hulu{background:#1CE783!important;color:#0B0C0F!important}
.svc-max{background:linear-gradient(135deg,#0D27C9,#5B2BD0)!important;color:#fff!important}
.svc-paramount{background:#0064FF!important;color:#fff!important}
.svc-peacock{background:#000!important;color:#fff!important;box-shadow:inset 0 -3px 0 #FFC12E,0 3px 0 rgba(0,0,0,.25)!important}
.svc-tubi{background:#7408FF!important;color:#FFFF13!important}
.svc-pluto{background:#000!important;color:#FFF200!important}
.svc-roku{background:#662D91!important;color:#fff!important}
.svc-pbs{background:#2638C4!important;color:#fff!important;box-shadow:inset 0 -3px 0 #6BC04B,0 3px 0 rgba(0,0,0,.25)!important}
.svc-hoopla{background:#0094D6!important;color:#fff!important}
.svc-kanopy{background:#1D1D1F!important;color:#F5A623!important}
.svc-youtube{background:#FF0000!important;color:#fff!important}
.svc-fandango-free,.svc-fandango{background:#FF7300!important;color:#fff!important}
.svc-fandango{background:#fff!important;color:#C85A00!important;box-shadow:inset 0 0 0 2px #FF7300!important}
.svc-plex{background:#1F1F1F!important;color:#E5A00D!important}
.svc-philo{background:#3E2B7A!important;color:#fff!important}
.wbtn.svc small{opacity:.8}
.sources-box{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 18px}
.sources-box summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 0;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:800;font-size:21px;color:var(--pine)}
.sources-box summary::-webkit-details-marker{display:none}
.sources-box summary span{font-family:var(--body);font-weight:400;font-size:14px;color:var(--soft)}
.sources-box summary::after{content:"\25BE";margin-left:auto;color:var(--cran);transition:transform .3s}
.sources-box[open] summary::after{transform:rotate(180deg)}
.sources-box .sources{margin:4px 0 16px}
@media print{.sources-box{display:none}}

/* ===== VHS tape spine ===== */
.card{padding-top:26px}
.card .hang{margin:0 0 10px}
.vhs{position:relative;margin:4px -8px 10px;padding:7px;border-radius:9px;background:linear-gradient(180deg,#2B2523,#171311);box-shadow:0 10px 20px rgba(30,20,15,.28),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .35s}
.vhs::before,.vhs::after{content:"";position:absolute;left:12px;right:12px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 3px,transparent 3px 7px)}
.vhs::before{top:2px}.vhs::after{bottom:2px}
.vhs-face{position:relative;display:flex;align-items:stretch;border-radius:5px;overflow:hidden;min-height:86px;background:var(--t1)}
.vhs-strip{flex:0 0 14px;background:repeating-linear-gradient(180deg,var(--t2) 0 8px,var(--t1) 8px 16px)}
.vhs-label{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:8px 0 8px 8px;padding:9px 12px;border-radius:4px;background:
  repeating-linear-gradient(180deg,transparent 0 21px,rgba(91,127,152,.16) 21px 22px),#FCF8EE;box-shadow:0 1px 2px rgba(0,0,0,.25);transform:rotate(-.5deg)}
.vhs-label::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--t1);opacity:.75;border-radius:4px 4px 0 0}
.vhs-ico{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #EDE3CF}
.vhs-ico svg{width:22px;height:22px}
.vhs-txt{min-width:0}
.vhs .showname{margin:2px 0 0;font-size:18px;color:var(--soft)}
.vhs h3{font-size:clamp(21px,1.9vw,25px);line-height:1.05;margin:0;color:var(--ink);overflow-wrap:anywhere}
.vhs-end{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);
  background:repeating-linear-gradient(125deg,var(--t1) 0 10px,var(--t2) 10px 16px,var(--t3) 16px 20px)}
.vhs-end b{font-family:var(--display);font-weight:900;font-size:27px;line-height:1;background:var(--t3);padding:4px 7px 2px;border-radius:5px;text-shadow:none}
.vhs-end small{margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.12em;background:var(--t3);padding:1px 5px;border-radius:3px;text-shadow:none}
.vhs-sp{margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.2em;opacity:.9;border:1px solid rgba(255,255,255,.7);padding:0 4px;border-radius:2px}
.vhs-motif{position:absolute;right:62px;top:-20px;width:46px;height:46px;border-radius:50%;background:#FFFCF6;border:2px solid #EDE3CF;display:grid;place-items:center;box-shadow:0 6px 12px rgba(0,0,0,.15);transform:rotate(8deg);transition:transform .4s}
.vhs-motif svg{width:34px;height:34px}
@media (hover:hover){.card.in:hover .vhs{transform:translateY(-3px) rotate(-.6deg)}}
@media (hover:hover){.card:hover .vhs-motif{transform:rotate(-8deg) scale(1.1)}}
.card .meta{margin:0 0 2px 2px}
.card .save{top:14px}
@media (max-width:600px){.vhs{margin:4px -6px 10px}.vhs-end{flex-basis:60px}.vhs-end b{font-size:22px}.vhs h3{font-size:21px}.vhs-motif{right:52px;width:40px;height:40px}.vhs-motif svg{width:28px;height:28px}}
@media print{.vhs{box-shadow:none}.vhs-motif{display:none}}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.rating{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 6px;border:2px solid var(--ink);border-radius:4px;font-family:var(--body);font-weight:800;font-size:12px;letter-spacing:.04em;color:var(--ink);background:#fff;text-transform:none}
.rnote{font-size:10.5px;letter-spacing:.06em;color:var(--soft);margin-right:4px}
.fhint{font-family:var(--body);font-size:14px;font-weight:600;color:var(--soft);margin-left:6px;letter-spacing:0}

/* ===== 3D "spine first" tape on every card ===== */
.t3-stage{perspective:1100px;margin:2px 0 14px;padding:6px 4px 0}
.t3{--D:128px;--H:62px;position:relative;width:100%;height:var(--D);transform-style:preserve-3d;transform:rotateX(72deg) rotateZ(-6deg);transform-origin:50% 100%;margin-top:calc(var(--D) * -.62);transition:transform .6s}
@media (hover:hover){.card.in:hover .t3{transform:rotateX(66deg) rotateZ(-3deg) translateZ(10px)}}
.t3-top,.t3-front{position:absolute;backface-visibility:hidden}
.t3-top{inset:0;transform:translateZ(var(--H));border-radius:9px;background:linear-gradient(160deg,#2f2b2a,#151312);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.t3-lbl{position:absolute;left:12%;right:12%;top:10px;height:34px;border-radius:3px;background:#FCF8EE;overflow:hidden;display:flex;align-items:center;gap:6px;padding:6px 10px 0;font-family:var(--hand);font-weight:700;font-size:15px;color:var(--soft);white-space:nowrap}
.t3-lbl::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--t1)}
.t3-ico{width:18px;height:18px;flex:0 0 auto}.t3-ico svg{width:100%;height:100%}
.t3-well{position:absolute;left:16%;right:16%;bottom:12px;height:46px;border-radius:23px;background:#0a0909;box-shadow:inset 0 2px 5px rgba(0,0,0,.9)}
.t3-reel{position:absolute;bottom:16px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,#fff 0 5px,#d9d4cc 6px 8px,#5a3d2e 9px 17px,#2a1e1b 18px)}
.t3-reel::after{content:"";position:absolute;inset:11px;border-radius:50%;border:2px dashed rgba(255,255,255,.8)}
.t3-reel.l{left:24%}.t3-reel.r{right:24%}
@media (hover:hover){.card:hover .t3-reel{animation:spin 2.4s linear infinite}}
.t3-win{position:absolute;left:50%;bottom:24px;width:16%;height:20px;margin-left:-8%;border-radius:3px;background:rgba(140,128,118,.35)}
.t3-front{left:0;top:var(--D);width:100%;height:var(--H);transform-origin:top;transform:translateZ(var(--H)) rotateX(-90deg);background:linear-gradient(180deg,#262222,#0e0d0c);border-radius:0 0 6px 6px}
.t3-spl{position:absolute;left:10px;right:10px;top:6px;bottom:6px;border-radius:3px;background:#FCF8EE;display:flex;align-items:stretch;overflow:hidden}
.t3-band{flex:0 0 54px;background:repeating-linear-gradient(125deg,var(--t1) 0 9px,var(--t2) 9px 13px,var(--t1) 13px 22px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.t3-band b{font-family:var(--display);font-weight:900;font-size:21px;line-height:1;background:var(--t3);padding:2px 5px 1px;border-radius:4px}
.t3-band small{font-size:8.5px;font-weight:800;letter-spacing:.1em;margin-top:2px;background:var(--t3);padding:0 4px;border-radius:2px}
.t3-nm{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 10px;background:repeating-linear-gradient(180deg,transparent 0 15px,rgba(91,127,152,.14) 15px 16px)}
.t3-nm .showname{margin:0;font-size:14px;line-height:1;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t3-nm h3{margin:0;font-size:17px;line-height:1.08;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0}
.t3-end{flex:0 0 40px;background:var(--t3);color:#fff;font-weight:800;font-size:11px;display:grid;place-items:center;letter-spacing:.03em}
.rnote{font-size:12px;letter-spacing:.04em;text-transform:none;color:var(--soft)}
@media (max-width:600px){.t3{--D:116px;--H:58px}.t3-band{flex-basis:48px}.t3-band b{font-size:18px}.t3-nm h3{font-size:15.5px}.t3-end{flex-basis:34px;font-size:10px}}
html.calm .t3{transform:rotateX(72deg) rotateZ(-6deg)!important}
@media print{.t3-stage{perspective:none}.t3{transform:none!important;height:auto;margin:0}.t3-top{display:none}.t3-front{position:relative;top:0;transform:none}}
.t3-stage{position:relative;height:96px;margin:8px 0 12px;padding:0}
.t3{position:absolute;left:2px;right:2px;bottom:0;margin-top:0}
@media (max-width:600px){.t3-stage{height:88px}}

/* ===== retro animation: tape into the VCR ===== */
.press-play{display:flex;flex-direction:column;align-items:center;margin:34px 0 0}
.pp-stage{position:relative;width:300px;height:150px;border-radius:18px;background:linear-gradient(180deg,#1C2A3F,#14233A);overflow:hidden;perspective:500px;box-shadow:0 14px 30px rgba(20,35,58,.25)}
.pp-tape{position:absolute;left:50%;width:150px;height:88px;margin-left:-75px;top:4px;border-radius:8px;background:linear-gradient(180deg,#2a2726,#141211);transform:rotateX(52deg);animation:ppInsert 5s ease-in-out infinite}
.pp-lb{position:absolute;left:14px;right:14px;top:8px;height:28px;border-radius:2px;background:#FCF8EE;font-family:var(--display);font-weight:900;font-size:11px;padding:9px 8px 0;white-space:nowrap;overflow:hidden}
.pp-lb::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--cran)}
.pp-r{position:absolute;bottom:10px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,#fff 0 3px,#cfc8bd 4px 6px,#5a3d2e 7px 11px,#2a1e1b 12px)}
.pp-r.l{left:28px}.pp-r.rr{right:28px}
.pp-vcr{position:absolute;left:24px;right:24px;bottom:20px;height:50px;border-radius:7px;background:linear-gradient(180deg,#3a3a3a,#1e1e1e);box-shadow:0 6px 12px rgba(0,0,0,.45)}
.pp-slot{position:absolute;left:50%;width:160px;margin-left:-80px;top:10px;height:10px;border-radius:2px;background:#050505}
.pp-disp{position:absolute;right:12px;bottom:8px;font-family:"Courier New",monospace;font-weight:700;color:#7CFF8A;font-size:12px;text-shadow:0 0 6px #7CFF8A;animation:ppPlay 5s steps(1) infinite}
.pp-btns{position:absolute;left:14px;bottom:10px;display:flex;gap:6px}.pp-btns i{width:16px;height:6px;border-radius:2px;background:#555}
@keyframes ppInsert{0%,14%{top:-2px;opacity:1}52%{top:84px;opacity:1}53%,100%{top:84px;opacity:0}}
@keyframes ppPlay{0%,52%{opacity:.25}53%,100%{opacity:1}}
.pp-cap{font-family:var(--hand);font-weight:700;font-size:24px;color:var(--holly);margin:10px 0 0}
html.calm .pp-tape{top:-2px;opacity:1}

/* ===== retro animation: popcorn ===== */
.tips-head{display:flex;align-items:flex-end;gap:18px}
.tips-head h2{margin-bottom:14px}
.popcorn{position:relative;flex:0 0 96px;width:96px;height:120px;margin-bottom:16px}
.pc-bucket{position:absolute;bottom:0;left:6px;width:84px;height:76px;clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);background:repeating-linear-gradient(90deg,var(--cran) 0 14px,#FCF8EE 14px 28px)}
.pc-heap{position:absolute;left:4px;bottom:70px;width:88px;height:22px;background:radial-gradient(circle at 15% 60%,#FFF6DA 0 9px,transparent 10px),radial-gradient(circle at 35% 40%,#FFF6DA 0 10px,transparent 11px),radial-gradient(circle at 55% 55%,#FFF6DA 0 10px,transparent 11px),radial-gradient(circle at 75% 40%,#FFF6DA 0 9px,transparent 10px),radial-gradient(circle at 90% 65%,#FFF6DA 0 8px,transparent 9px)}
.pc-k{position:absolute;left:var(--x);bottom:76px;width:14px;height:12px;border-radius:50% 50% 45% 55%;background:#FFF6DA;box-shadow:inset -2px -2px 0 #F2D58C;opacity:0;animation:pcPop 2.8s ease-in infinite;animation-delay:var(--d)}
@keyframes pcPop{0%{transform:translateY(8px) scale(.5);opacity:0}20%{opacity:1}50%{transform:translateY(-46px) rotate(140deg) scale(1)}100%{transform:translateY(0) rotate(260deg);opacity:1}}
@media (max-width:600px){.pp-stage{width:260px}.popcorn{flex-basis:70px;width:70px;transform:scale(.75);transform-origin:bottom left}}

/* prominent section tabs on cards */
.tabhead{display:inline-flex!important;align-items:center;gap:8px;font-family:var(--hand)!important;font-weight:700;font-variation-settings:normal;font-size:23px!important;line-height:1!important;color:#fff!important;padding:7px 16px 6px 12px;border-radius:12px 12px 12px 4px;box-shadow:0 3px 0 rgba(0,0,0,.15);margin:0 0 10px!important}
.tabhead svg{width:22px;height:22px;flex:0 0 auto}
.tabhead.hu{background:var(--cran);transform:rotate(-1.5deg)}
.tabhead.wt{background:var(--holly);transform:rotate(1deg)}
.hardbox{position:relative;padding:0 14px 14px;border:2px solid #F1C9C0;background:#FDF1EC;margin-top:24px}
.hardbox .tabhead{margin:-16px 0 8px -4px!important}
.watch{border-top:0;padding-top:0;margin-top:14px;background:#F2F6EE;border:2px solid #D7E3D0;border-radius:14px;padding:0 14px 12px}
.watch .tabhead{margin:-16px 0 10px -4px!important}
.watch{margin-top:26px}
.card .meta{font-size:14px!important;font-weight:800;letter-spacing:.09em;color:var(--frost-deep)!important;margin:2px 0 4px 2px}
.card .meta .rnote{font-weight:600;letter-spacing:.02em;color:var(--soft)}

/* ===== "My List" video store front, fixed top right ===== */
.store{position:fixed;top:14px;right:16px;z-index:110;display:flex;flex-direction:column;align-items:stretch;width:170px;text-decoration:none;color:var(--ink);filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));transition:transform .3s}
@media (hover:hover){.store:hover{transform:translateY(-3px) rotate(-1deg)}}
.store-awning{height:20px;border-radius:6px 6px 0 0;background:repeating-linear-gradient(90deg,var(--cran) 0 17px,#FBF4E6 17px 34px);position:relative}
.store-awning::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:9px;background:radial-gradient(circle at 8.5px 0,var(--cran) 8px,transparent 8.5px) 0 0/34px 9px repeat-x,radial-gradient(circle at 25.5px 0,#FBF4E6 8px,transparent 8.5px) 0 0/34px 9px repeat-x}
.store-sign{position:relative;z-index:1;margin:10px 8px 0;display:flex;align-items:center;gap:7px;background:var(--night);border:3px solid var(--gold);border-radius:8px;padding:6px 10px;box-shadow:0 0 0 2px var(--night),0 0 14px rgba(217,164,65,.55)}
.store-tape{width:30px;height:20px;flex:0 0 auto;transform:rotate(-8deg)}
.store-txt{font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:19px;letter-spacing:.02em;color:var(--gold);text-transform:uppercase;line-height:1;text-shadow:0 0 8px rgba(217,164,65,.6);animation:signglow 3.5s ease-in-out infinite}
@keyframes signglow{0%,100%{text-shadow:0 0 6px rgba(217,164,65,.45)}50%{text-shadow:0 0 14px rgba(217,164,65,.9)}}
.store-count{margin-left:auto;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--cran);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}
.store-front{display:flex;gap:6px;margin:0 8px;padding:6px 6px 0;background:#E9DCC3;border-radius:0 0 6px 6px;border:2px solid #CDB993;border-top:0;height:30px}
.store-win{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#F7D57A,#E9B85A);box-shadow:inset 0 0 0 2px #8C5A44}
.store-door{flex:0 0 22px;border-radius:3px 3px 0 0;background:#8C5A44;position:relative}
.store-door::after{content:"";position:absolute;right:4px;top:11px;width:3px;height:3px;border-radius:50%;background:var(--gold)}
.calm-toggle{z-index:100}
@media (max-width:600px){.store{top:10px;right:10px;width:138px}.store-txt{font-size:15px}.store-tape{width:24px}.store-front{height:20px}.store-sign{padding:5px 8px;margin-top:9px}}
@media print{.store{display:none}}
.store{width:190px}.store-txt{white-space:nowrap}@media (max-width:600px){.store{width:150px}}

/* bolder fit tags with icons */
.card .hang{margin:0 0 6px}
.hang-tag{display:inline-flex;align-items:center;gap:9px;font-size:23px!important;color:#fff!important;background:var(--c)!important;padding:7px 18px 6px 30px!important;box-shadow:0 3px 0 rgba(0,0,0,.18);transform:rotate(-1.5deg)}
.card.fit-preview .hang-tag{color:#2A2420!important;background:var(--gold)!important}
.hang-tag::before{background:#FFFCF6!important;width:9px!important;height:9px!important;margin-top:-4.5px!important;left:12px!important;box-shadow:inset 0 0 0 2px rgba(0,0,0,.15)}
.ft-ico{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ft-ico svg{width:21px;height:21px}
@media (max-width:600px){.hang-tag{font-size:20px!important}.ft-ico{width:26px;height:26px}.ft-ico svg{width:18px;height:18px}}

/* ===== "My List" storefront building, fixed top right ===== */
.store2{position:fixed;top:10px;right:14px;z-index:110;display:block;width:230px;height:150px;text-decoration:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.3));transition:transform .3s}
@media (hover:hover){.store2:hover{transform:translateY(-3px)}}
.sb-roof{position:absolute;left:0;top:26px;width:92px;height:22px;background:repeating-linear-gradient(90deg,#B9473E 0 6px,#9C3A33 6px 8px);clip-path:polygon(0 100%,8% 0,100% 0,100% 100%);border-radius:2px}
.sb-wall{position:absolute;left:0;right:0;top:4px;bottom:52px;background:linear-gradient(180deg,#EADCC4,#DCCBAE);clip-path:polygon(0 30%,40% 30%,40% 12%,70% 0,100% 12%,100% 100%,0 100%);box-shadow:inset 0 -6px 0 rgba(0,0,0,.06)}
.sb-sign{position:absolute;left:58px;top:16px;width:162px;height:66px;transform:rotate(-7deg);background:var(--gold);border-radius:10px;padding:4px;box-shadow:0 4px 0 rgba(0,0,0,.25)}
.sb-sign-in{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;border-radius:7px;background:var(--night);box-shadow:inset 0 0 0 2px var(--gold),inset 0 0 0 5px var(--night),inset 0 0 0 6px rgba(217,164,65,.6)}
.sb-txt{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:27px;letter-spacing:.02em;text-transform:uppercase;color:var(--gold);transform:scaleY(1.15);text-shadow:0 0 8px rgba(217,164,65,.5);animation:signglow 3.5s ease-in-out infinite}
.sb-count{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--cran);color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:0 0 0 2px var(--gold)}
.sb-front{position:absolute;left:0;right:0;bottom:6px;height:50px;display:flex;align-items:stretch;gap:4px;padding:0 6px;background:#DCCBAE;border-top:5px solid #8C5A44}
.sb-pillar{flex:0 0 16px;background:repeating-linear-gradient(180deg,#A9583F 0 6px,#8C4632 6px 7px),#A9583F;background-size:100% 7px}
.sb-glass{position:relative;flex:1;display:flex;gap:4px;align-items:center;justify-content:center;background:linear-gradient(160deg,#2B3E58,#1A2638);border:2px solid #555;border-bottom:0}
.sb-glass i{width:18px;height:28px;border-radius:1px;background:var(--p);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.sb-soon{position:absolute;right:-6px;bottom:2px;width:24px;height:24px;border-radius:50%;background:#F7D23A;color:#B23A3F;font-size:5px;line-height:1.1;font-weight:900;display:grid;place-items:center;text-align:center;transform:rotate(-12deg)}
.sb-door{flex:0 0 26px;background:linear-gradient(160deg,#3a4e6a,#1A2638);border:2px solid #555;border-bottom:0;position:relative}
.sb-door::after{content:"";position:absolute;right:4px;top:22px;width:3px;height:8px;border-radius:2px;background:#C9B48C}
.store2::after{content:"";position:absolute;left:-4px;right:-4px;bottom:0;height:7px;border-radius:2px;background:#A9A39A}
@media (max-width:600px){.store2{transform:scale(.68);transform-origin:top right;top:6px;right:6px}@media (hover:hover){.store2:hover{transform:scale(.68)}}}
@media print{.store2{display:none}}
.sb-roof{z-index:1;top:24px;width:70px;height:16px}.sb-sign{z-index:2}
.ft-ico{display:none!important}.hang-tag{padding-left:28px!important}
/* storefront sign in blue and yellow */
.sb-sign{background:#FFD200}
.sb-sign-in{background:#0B3B9C;box-shadow:inset 0 0 0 2px #FFD200,inset 0 0 0 5px #0B3B9C,inset 0 0 0 6px rgba(255,210,0,.7)}
.sb-txt{color:#FFD200;text-shadow:0 0 8px rgba(255,210,0,.45)}
.sb-count{background:#FFD200;color:#0B3B9C;box-shadow:0 0 0 2px #0B3B9C}

/* ===== "My List" video store front (blue fascia, yellow letters, lit shelves) ===== */
.store3{position:fixed;top:10px;right:14px;z-index:110;display:flex;flex-direction:column;width:236px;text-decoration:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.32));transition:transform .3s}
@media (hover:hover){.store3:hover{transform:translateY(-3px)}}
.s3-roof{height:8px;background:linear-gradient(180deg,#C9C6C0,#A9A6A0);border-radius:4px 4px 0 0;margin:0 4px}
.s3-fascia{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;background:linear-gradient(180deg,#1E4FC2,#0B3B9C);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25),0 4px 0 #0A2F7A}
.s3-txt{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:28px;letter-spacing:.03em;text-transform:uppercase;color:#FFD200;transform:scaleY(1.1);text-shadow:0 2px 0 #0A2F7A,0 0 10px rgba(255,210,0,.35)}
.s3-count{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#FFD200;color:#0B3B9C;font-weight:900;font-size:14px;display:grid;place-items:center}
.s3-stripe{height:5px;background:#FFD200;margin-top:4px}
.s3-front{display:flex;align-items:stretch;gap:3px;height:62px;padding:0;background:#0B3B9C}
.s3-post{flex:0 0 10px;background:linear-gradient(90deg,#FFD200,#E8BC00)}
.s3-glass{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:6px 5px;background:linear-gradient(180deg,#FFF6D8,#FCE7A6);border:2px solid #0B3B9C;overflow:hidden}
.s3-glass::after{content:"";position:absolute;left:-30%;top:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg)}
.s3-shelf{height:16px;border-bottom:3px solid #B88A4A;background:repeating-linear-gradient(90deg,#B23A3F 0 5px,#2F5440 5px 9px,#1E4FC2 9px 14px,#D9A441 14px 18px,#7C6A9A 18px 23px,#C8782E 23px 28px);background-size:28px 13px;background-repeat:repeat-x}
.s3-poster{position:absolute;right:6px;top:6px;width:16px;height:22px;background:linear-gradient(160deg,#B23A3F,#3E6B4E);border:1.5px solid #fff}
.s3-door{flex:0 0 28px;position:relative;background:linear-gradient(180deg,#FFF6D8,#F6DB8A);border:2px solid #0B3B9C}
.s3-door::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#0B3B9C}
.s3-door::after{content:"OPEN";position:absolute;left:2px;right:2px;top:8px;font:800 6px/1 Arial,sans-serif;color:#B23A3F;text-align:center;letter-spacing:.05em}
.s3-walk{height:8px;margin:0 -6px;background:linear-gradient(180deg,#BDB8AF,#9E998F);border-radius:2px}
@media (max-width:600px){.store3{transform:scale(.68);transform-origin:top right;top:6px;right:6px}@media (hover:hover){.store3:hover{transform:scale(.68)}}}
@media print{.store3{display:none}}
/* smaller storefront */
.store3{transform:scale(.68);transform-origin:top right}
@media (hover:hover){.store3:hover{transform:scale(.68) translateY(-4px)}}
@media (max-width:600px){.store3{transform:scale(.5)}@media (hover:hover){.store3:hover{transform:scale(.5)}}}

/* ===== "My List" membership card, fixed top right ===== */
.mcard{position:fixed;top:12px;right:14px;z-index:110;display:flex;align-items:stretch;width:250px;height:150px;padding:9px 26px 9px 9px;border-radius:12px;text-decoration:none;
  background:linear-gradient(135deg,#FFFFFF,#F1F1EE 60%,#E4E3DE);box-shadow:0 10px 22px rgba(0,0,0,.32),inset 0 0 0 1px rgba(0,0,0,.12);transform:rotate(3deg) scale(.72);transform-origin:top right;transition:transform .35s}
@media (hover:hover){.mcard:hover{transform:rotate(0) scale(.76)}}
.mc-notch{position:absolute;left:-1px;top:50%;width:26px;height:44px;margin-top:-22px;border-radius:0 22px 22px 0;background:#F9F6EF;box-shadow:inset -2px 0 2px rgba(0,0,0,.12);z-index:2}
.mc-panel{flex:1;display:flex;padding:7px;background:#0B3B9C;border-radius:3px}
.mc-inner{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 10px 0 18px;border:3px solid #FFD200;border-radius:2px}
.mc-title{display:flex;align-items:center;gap:8px;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:34px;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:#FFD200;transform:scaleY(1.12);transform-origin:left}
.mc-count{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#FFD200;color:#0B3B9C;font-size:15px;display:grid;place-items:center;transform:scaleY(.9)}
.mc-rule{height:3px;background:#FFD200;margin:10px -10px 6px -18px}
.mc-sub{font-family:Arial,sans-serif;font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.mc-side{position:absolute;right:5px;top:10px;bottom:10px;writing-mode:vertical-rl;font-family:Arial,sans-serif;font-weight:800;font-size:9.5px;color:#0B3B9C;text-align:center;letter-spacing:.02em}
@media (max-width:600px){.mcard{transform:rotate(3deg) scale(.52);top:6px;right:6px}@media (hover:hover){.mcard:hover{transform:rotate(0) scale(.54)}}}
@media print{.mcard{display:none}}

/* ===== share buttons ===== */
.share{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sh-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;padding:10px 16px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);transition:transform .2s,background .2s}
.sh-btn svg{width:18px;height:18px;flex:0 0 auto}
@media (hover:hover){.sh-btn:hover{transform:translateY(-2px)}}
.sh-sms svg{color:var(--holly)}.sh-email svg{color:var(--cran)}.sh-copy svg{color:var(--frost-deep)}.sh-native svg{color:var(--gold-deep)}
.sh-btn.ok{background:#DDEFD8;border-color:#BFDDB8}
.sh-btn[hidden]{display:none}
.hero-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:22px}
.hs-lab{font-family:var(--hand);font-weight:700;font-size:22px;color:var(--gold)}
.share.on-dark .sh-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#FBF4E6;font-size:14px;padding:8px 14px}
.share.on-dark .sh-btn svg{color:var(--gold)}
.share.small .sh-btn{font-size:14px;padding:8px 13px}
.share-band{padding:30px 0 40px}
.share-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 30px;padding:28px 32px;border-radius:24px;background:linear-gradient(135deg,#FFF9EE,#E4ECDC);border:1px solid var(--line);box-shadow:0 14px 34px rgba(74,52,30,.1);position:relative}
.share-card::before{content:"";position:absolute;inset:10px;border:2px dashed rgba(62,107,78,.25);border-radius:18px;pointer-events:none}
.share-copy{flex:1 1 360px;min-width:0}
.share-copy h2{font-size:clamp(26px,3vw,36px);font-weight:900;color:var(--pine);margin:0 0 8px}
.share-copy p{margin:0;max-width:52ch;font-size:16px}
.share-card .share{position:relative;flex:0 1 auto}
.tip-copy .share{margin-top:12px}
@media (max-width:760px){.tip-copy .share{justify-content:center}.share-card{padding:24px 20px}}
@media print{.share,.share-band,.hero-share{display:none}}

/* retro C9 bulbs: warm halo that breathes slowly, hot glowing center */
.lights-string{height:90px}
.bulb .glow{opacity:.45;filter:blur(9px);mix-blend-mode:screen;animation:c9glow var(--d,3s) ease-in-out infinite alternate;animation-delay:var(--o,0s)}
.bulb .hot{animation:c9hot var(--d,3s) ease-in-out infinite alternate;animation-delay:var(--o,0s)}
.bulb path:first-of-type{animation:none}
.bulb ellipse:first-of-type{animation:c9glow var(--d,3s) ease-in-out infinite alternate}
@keyframes c9glow{from{opacity:.32}to{opacity:.62}}
@keyframes c9hot{from{opacity:.75}to{opacity:1}}

/* Rockwell style Main Street */
.village{height:300px}
.hero-inner{padding-bottom:230px}
.village .smoke circle{fill:#C9D3DB;opacity:0;animation:smoke 6s ease-out infinite}
.village .smoke circle:nth-child(2){animation-delay:2s}.village .smoke circle:nth-child(3){animation-delay:4s}
.village .smoke.s2 circle{animation-duration:7s}
@keyframes smoke{0%{opacity:0;transform:translateY(10px) scale(.6)}25%{opacity:.45}100%{opacity:0;transform:translateY(-26px) scale(1.4)}}
.village .smoke circle{transform-box:fill-box;transform-origin:center}
.village .lglow{animation:lamp 4s ease-in-out infinite alternate}.village .lglow.l2{animation-delay:-2s}
@keyframes lamp{from{opacity:.65}to{opacity:1}}
.village .tlights circle{animation:glow 2.4s ease-in-out infinite alternate}
.village .tlights circle:nth-child(2n){animation-delay:-1.2s}
@media (max-width:600px){.village{height:200px}.hero-inner{padding-bottom:150px}}

/* ===== top 10 as movie ticket stubs ===== */
#start{background:linear-gradient(180deg,#1C2A3F,#14233A);color:#FBF4E6}
#start h2{color:#FBF4E6}#start .intro{color:#CFE0E8}
.starter{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.starter li.tk{transform:rotate(var(--r,-1.2deg))}
.starter li.tk:nth-child(4n+2){--r:1deg}.starter li.tk:nth-child(4n+3){--r:.6deg}.starter li.tk:nth-child(4n){--r:-.8deg}
.starter .tk a{display:flex;flex-direction:row;align-items:stretch;gap:0;height:auto;min-height:92px;padding:0;border:0;border-radius:0;background:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));text-decoration:none;color:var(--ink);transition:transform .3s}
@media (hover:hover){.starter .tk a:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:none;border:0}}
.tk-stub{flex:0 0 82px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sc,#B23A3F);color:#FBF4E6;border-radius:8px 0 0 8px;border-right:3px dashed rgba(251,244,230,.85);
  -webkit-mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px);mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px)}
.tk-stub b{font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:40px;line-height:1}
.tk-stub small{font-size:8.5px;font-weight:800;letter-spacing:.2em}
.tk-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px 18px;background:var(--bc,#F7D57A);border-radius:0 8px 8px 0;position:relative;
  -webkit-mask:radial-gradient(circle at 100% 50%,transparent 9px,#000 9.5px);mask:radial-gradient(circle at 100% 50%,transparent 9px,#000 9.5px)}
.tk-body::before{content:"";position:absolute;inset:6px 12px 6px 6px;border:1.5px solid rgba(142,42,48,.35);border-radius:4px;pointer-events:none}
.tk-top{font-size:10.5px;font-weight:800;letter-spacing:.16em;color:#8E2A30}
.tk-title{font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:19px;line-height:1.1;color:#2A2420}
.tk-meta{font-size:12.5px;font-weight:600;color:#6B4A2A}
.starter li.tk:nth-child(even){--sc:#2F5440;--bc:#FBF1D6}
.starter li.tk:nth-child(even) .tk-top{color:#2F5440}
@media (max-width:760px){.starter{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.tk-stub{flex-basis:68px}.tk-stub b{font-size:32px}.tk-title{font-size:17px}}
#start{position:relative;overflow:hidden}
#start .snow2{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#start .wrap{position:relative;z-index:1}
html.calm #start .snow2{display:none}
/* ticket stub text and background fixes */
.starter li.tk a,.starter li.tk:nth-child(odd) a{background:none!important;border:0!important}
.tk-stub small{color:#F7D57A!important;font-size:9px!important;font-weight:800;letter-spacing:.22em}
.starter li.tk:nth-child(even) .tk-stub small{color:#F6E5B8!important}
.tk-stub b{color:#FBF4E6}
.village .win{animation:none!important;opacity:1}

/* ===== hero stats: wood grain retro flip clock ===== */
.fclock{position:relative;display:inline-flex;gap:14px;margin:34px 0 4px;padding:16px 20px 18px;border-radius:22px;background:linear-gradient(180deg,#9C6A44,#7A4E32);box-shadow:0 18px 30px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.25)}
.fclock::before{content:"";position:absolute;inset:0;border-radius:22px;background:repeating-linear-gradient(92deg,rgba(0,0,0,.07) 0 2px,transparent 2px 10px);pointer-events:none}
.fclock::after{content:"";position:absolute;left:30px;right:30px;bottom:-10px;height:12px;border-radius:0 0 10px 10px;background:#5A3A28}
.fc-knob{position:absolute;right:-8px;top:40%;width:10px;height:22px;border-radius:3px;background:#5A3A28}
.fc-unit{position:relative;z-index:1;display:flex;flex-direction:column;background:#0E0E0E;border-radius:14px;padding:6px 6px 0;box-shadow:inset 0 3px 8px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.3)}
.fc-win{display:flex;gap:5px;justify-content:center}
.fc-flap{position:relative;width:50px;height:70px;perspective:300px}
.fc-half,.fc-flip{position:absolute;left:0;right:0;height:50%;overflow:hidden;font:800 54px/70px "DM Sans",Arial,sans-serif;color:#FFFDF6;text-align:center;letter-spacing:-.02em}
.fc-top{top:0;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#333,#262626)}
.fc-bot{bottom:0;border-radius:0 0 6px 6px;background:#222;line-height:0}
.fc-bot span{display:block;transform:translateY(-35px);line-height:70px}
.fc-flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55);z-index:3}
.fc-flip{top:0;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#333,#262626);transform-origin:bottom;backface-visibility:hidden;z-index:2;animation:fcflip .9s ease-in forwards;animation-delay:var(--dl)}
@keyframes fcflip{0%{transform:rotateX(0);filter:brightness(1)}100%{transform:rotateX(-90deg);filter:brightness(.6)}}
.fc-plate{display:block;margin:6px -6px 0;padding:7px 10px 6px;border-radius:0 0 12px 12px;text-align:center;font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 2px 0 rgba(255,255,255,.35);white-space:nowrap}
html.calm .fc-flip{display:none}
@media (prefers-reduced-motion:reduce){.fc-flip{display:none}}
@media (max-width:600px){
  .fclock{gap:7px;padding:10px 12px 12px;border-radius:16px;margin-top:26px}
  .fc-unit{padding:4px 4px 0;border-radius:10px}
  .fc-win{gap:3px}
  .fc-flap{width:28px;height:40px}
  .fc-half,.fc-flip{font-size:30px;line-height:40px}
  .fc-bot span{transform:translateY(-20px);line-height:40px}
  .fc-plate{font-size:8.5px;letter-spacing:.04em;padding:5px 4px 4px;margin:4px -4px 0;border-radius:0 0 8px 8px}
  .fc-knob{display:none}
}
@media print{.fclock{box-shadow:none}}
.hs-lab{font-size:32px!important;line-height:1.05;color:#F7C873!important;-webkit-text-stroke:.6px #F7C873;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 14px rgba(247,200,115,.35)}@media (max-width:600px){.hs-lab{font-size:27px!important}}
/* bigger, bolder hand lettered intro */
.hero .script-eyebrow{font-size:clamp(30px,3.2vw,40px)!important;-webkit-text-stroke:.7px var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.3)}
.hero h1 .h1a{font-size:clamp(48px,6.6vw,84px)!important;-webkit-text-stroke:1.2px var(--gold);text-shadow:0 3px 0 rgba(0,0,0,.3)}

/* ===== hero buttons: holiday sweater ===== */
.hero-cta .btn.sweater{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;min-height:0;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--c);color:#FBF4E6;text-decoration:none;text-transform:none;letter-spacing:0;box-shadow:0 7px 12px rgba(0,0,0,.35);transition:transform .25s}
.hero-cta .btn.sweater .bd{display:block;height:12px;background:conic-gradient(from 45deg,#FBF4E6 25%,transparent 0 50%,#FBF4E6 0 75%,transparent 0) 0 0/12px 12px}
.hero-cta .btn.sweater b{display:block;padding:12px 24px;font-family:"Fraunces",serif;font-weight:900;font-size:19px;line-height:1.1;white-space:nowrap}
.hero-cta .btn.sweater b::before,.hero-cta .btn.sweater b::after{content:"\2744";color:#F7D57A;margin:0 10px;font-size:15px}
@media (hover:hover){.hero-cta .btn.sweater:hover,.hero-cta .btn.sweater:focus-visible{transform:translateY(-3px)}}
@media (hover:hover){.hero-cta .btn.sweater:hover .bd{animation:knit 1s linear infinite}}
.hero-cta .btn.sweater:focus-visible{outline:3px solid #F7D57A;outline-offset:3px}
@keyframes knit{to{background-position:24px 0}}
html.calm .hero-cta .btn.sweater .bd{animation:none!important}
@media (prefers-reduced-motion:reduce){.hero-cta .btn.sweater .bd{animation:none!important}@media (hover:hover){.hero-cta .btn.sweater:hover{transform:none}}}
@media (max-width:600px){.hero-cta .btn.sweater b{font-size:16px;padding:11px 14px;white-space:normal}.hero-cta .btn.sweater b::before,.hero-cta .btn.sweater b::after{margin:0 6px;font-size:12px}}

/* ===== four meters as retro TVs ===== */
.mtvs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px;align-items:end;margin-top:10px}
.mtv-item{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.mtv-fit{display:flex;justify-content:center;align-items:flex-end;height:226px}
.mtv-item>b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:24px;color:var(--pine);margin-top:26px}
.mtv-item>span{display:block;font-size:15px;color:var(--soft);margin-top:2px}
.mtvs .tv{position:relative;transition:transform .35s;flex:0 0 auto}
@media (hover:hover){.mtv-item:hover .tv{transform:translateY(-4px) rotate(-1deg)}}
.mtvs .scr{position:relative;overflow:hidden;background:#14233A}
.mtvs .scr::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.14),transparent 70%);pointer-events:none;z-index:9}
.mtvs i{font-style:normal}
/* pace: 70s wood console */
.mtvs .tv1{width:230px;height:170px;border-radius:14px;background:linear-gradient(180deg,#9C6A44,#7A4E32);padding:14px 64px 14px 14px;box-shadow:0 12px 20px rgba(74,52,30,.3);margin-bottom:18px}
.mtvs .tv1::before{content:"";position:absolute;inset:0;border-radius:14px;background:repeating-linear-gradient(95deg,rgba(0,0,0,.06) 0 2px,transparent 2px 9px);pointer-events:none}
.mtvs .tv1 .scr{height:100%;border-radius:18px/22px;box-shadow:inset 0 0 0 5px #3A2A20}
.mtvs .tv1 .knobs{position:absolute;right:14px;top:16px;bottom:16px;width:38px;border-radius:6px;background:#E8D9BE;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:6px 0}
.mtvs .tv1 .knobs i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#D9A441,#8C5A2A);box-shadow:0 2px 0 rgba(0,0,0,.25)}
.mtvs .tv1 .knobs i:nth-child(3){width:26px;height:10px;border-radius:2px;background:repeating-linear-gradient(90deg,#6B5F55 0 2px,#E8D9BE 2px 4px)}
.mtvs .tv1 .legs{position:absolute;left:30px;right:30px;bottom:-18px;display:flex;justify-content:space-between}
.mtvs .tv1 .legs i{width:8px;height:20px;background:#5A3A28;border-radius:0 0 3px 3px;transform:skewX(-8deg)}
.mtvs .tv1 .legs i:last-child{transform:skewX(8deg)}
.mtvs .film{position:absolute;left:0;top:50%;height:58px;margin-top:-29px;display:flex;gap:6px;animation:mtvFilm 9s linear infinite;padding:6px 0;background:#1A1A1A}
.mtvs .film i{flex:0 0 52px;height:46px;border-radius:3px;background:var(--c)}
.mtvs .film::before,.mtvs .film::after{content:"";position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,#FBF4E6 0 5px,transparent 5px 11px)}
.mtvs .film::before{top:0}.mtvs .film::after{bottom:0}
@keyframes mtvFilm{from{transform:translateX(0)}to{transform:translateX(-232px)}}
.mtvs .turtle{position:absolute;right:10px;top:8px;font-family:"Mountains of Christmas",cursive;font-weight:700;color:#F7D57A;font-size:15px}
/* sound: 80s silver */
.mtvs .tv2{width:240px;height:160px;border-radius:10px;background:linear-gradient(180deg,#D7DADC,#A9AEB2);padding:12px 70px 12px 12px;box-shadow:0 12px 20px rgba(40,40,50,.3),inset 0 1px 0 #fff;margin-bottom:12px}
.mtvs .tv2 .scr{height:100%;border-radius:10px;box-shadow:inset 0 0 0 4px #2A2C30;display:flex;align-items:center;justify-content:center;gap:5px;background:#1C3350}
.mtvs .tv2 .bar{width:9px;border-radius:3px;background:linear-gradient(180deg,#F7D57A,#5FAE7A);height:var(--h);animation:mtvEq var(--d) ease-in-out infinite alternate}
@keyframes mtvEq{from{height:12%}to{height:var(--h)}}
.mtvs .tv2 .spk{position:absolute;right:12px;top:12px;bottom:12px;width:48px;border-radius:6px;background:radial-gradient(#4A4E54 1.5px,transparent 2px) 0 0/7px 7px,#83888D}
.mtvs .tv2 .vol{position:absolute;left:18px;bottom:16px;font:700 10px "Courier New",monospace;color:#7CFF8A;text-shadow:0 0 6px #7CFF8A}
.mtvs .tv2 .foot{position:absolute;left:50%;bottom:-12px;width:120px;margin-left:-60px;height:12px;background:#7C8287;border-radius:0 0 8px 8px}
/* talking: 50s rabbit ears, snowmen chatting */
.mtvs .tv3{width:200px;height:170px;border-radius:40px 40px 26px 26px;background:linear-gradient(180deg,#5FA39A,#3E7F77);padding:16px 16px 40px;box-shadow:0 12px 20px rgba(30,70,64,.3)}
.mtvs .tv3 .scr{height:100%;border-radius:30px/36px;box-shadow:inset 0 0 0 5px #23443F;background:linear-gradient(180deg,#CFE3EC,#EEF5F7)}
.mtvs .tv3 .scr::after{background:repeating-linear-gradient(180deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px)}
.mtvs .tv3 .ears{position:absolute;left:50%;top:-6px}
.mtvs .tv3 .ears i{position:absolute;bottom:0;width:3px;height:52px;background:#BDB7AE;border-radius:2px;transform-origin:bottom}
.mtvs .tv3 .ears i::after{content:"";position:absolute;top:-5px;left:-3px;width:9px;height:9px;border-radius:50%;background:#D9A441}
.mtvs .tv3 .ears .l{transform:rotate(-28deg)}.mtvs .tv3 .ears .r{transform:rotate(24deg)}
.mtvs .tv3 .base{position:absolute;left:50%;top:-8px;width:34px;height:12px;margin-left:-17px;border-radius:8px 8px 0 0;background:#2F5F58}
.mtvs .tv3 .grill{position:absolute;left:30px;right:30px;bottom:12px;height:14px;border-radius:7px;background:repeating-linear-gradient(90deg,#23443F 0 3px,transparent 3px 7px)}
.mtvs .tv3 .floor{position:absolute;left:-10px;right:-10px;bottom:-16px;height:40px;border-radius:50%;background:#FBF8F1}
.mtvs .tv3 .sm{position:absolute;bottom:14px;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:inset -3px -3px 0 #DCE6EA;z-index:1}
.mtvs .tv3 .sm.l{left:22px}.mtvs .tv3 .sm.r{right:22px}
.mtvs .sm .hat{position:absolute;left:7px;top:-10px;width:20px;height:12px;background:#2A2420;border-radius:2px}
.mtvs .sm .hat::after{content:"";position:absolute;left:-4px;bottom:-2px;width:28px;height:4px;background:#2A2420;border-radius:2px}
.mtvs .tv3 .sm .eye{position:absolute;top:11px;width:4px;height:4px;border-radius:50%;background:#2A2420}
.mtvs .tv3 .sm.l .eye{left:19px;box-shadow:-7px 0 0 #2A2420}.mtvs .tv3 .sm.r .eye{left:11px;box-shadow:7px 0 0 #2A2420}
.mtvs .tv3 .sm .nose{position:absolute;top:16px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent}
.mtvs .tv3 .sm.l .nose{left:22px;border-left:9px solid #E07A2E}.mtvs .tv3 .sm.r .nose{left:3px;border-right:9px solid #E07A2E}
.mtvs .sm .scarf{position:absolute;left:3px;right:3px;bottom:2px;height:6px;border-radius:3px;background:#B23A3F}
.mtvs .sm.r .scarf{background:#3E6B4E}
.mtvs .tv3 .bub{position:absolute;top:16px;display:flex;gap:4px;padding:8px 10px;border-radius:14px;opacity:0;animation:mtvTurn 5s ease-in-out infinite;z-index:2}
.mtvs .tv3 .bub i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:mtvDot 1s ease-in-out infinite}
.mtvs .tv3 .bub i:nth-child(2){animation-delay:.15s}.mtvs .tv3 .bub i:nth-child(3){animation-delay:.3s}
.mtvs .tv3 .bub.a{left:30px;background:#fff;color:#B23A3F;border:2px solid #B23A3F;border-bottom-left-radius:3px}
.mtvs .tv3 .bub.b{right:30px;background:#3E6B4E;color:#fff;border-bottom-right-radius:3px;animation-delay:2.5s}
@keyframes mtvTurn{0%,4%{opacity:0;transform:translateY(6px) scale(.8)}12%,42%{opacity:1;transform:none}50%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes mtvDot{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
/* conflict: 90s gray TV on a VCR, snowmen arguing */
.mtvs .tv4{width:230px;height:176px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#4B4E55,#2F3136);padding:14px 14px 30px;box-shadow:0 12px 20px rgba(20,20,30,.35);margin-bottom:24px}
.mtvs .tv4 .scr{height:100%;border-radius:14px;box-shadow:inset 0 0 0 4px #17181B;background:linear-gradient(180deg,#9CC3E0,#E3EEF2)}
.mtvs .tv4 .scr::after{background:repeating-linear-gradient(180deg,rgba(0,0,0,.08) 0 1px,transparent 1px 3px)}
.mtvs .tv4 .brand{position:absolute;left:16px;bottom:9px;font:700 8px Arial,sans-serif;letter-spacing:.2em;color:#9AA0A8}
.mtvs .tv4 .pw{position:absolute;right:16px;bottom:9px;width:8px;height:8px;border-radius:50%;background:#E2574C;box-shadow:0 0 6px #E2574C}
.mtvs .tv4 .vcr{position:absolute;left:10px;right:10px;bottom:-24px;height:20px;border-radius:3px;background:#22242A}
.mtvs .tv4 .vcr::before{content:"";position:absolute;left:30px;width:90px;top:7px;height:5px;background:#000;border-radius:2px}
.mtvs .tv4 .vcr::after{content:"12:00";position:absolute;right:10px;top:4px;font:700 9px "Courier New",monospace;color:#7CFF8A}
.mtvs .tv4 .ground{position:absolute;left:-10px;right:-10px;bottom:-14px;height:40px;border-radius:50%;background:#FBF8F1}
.mtvs .tv4 .sm{position:absolute;bottom:14px;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:inset -3px -3px 0 #DCE6EA;z-index:2}
.mtvs .tv4 .sm .hat{left:10px;top:-11px}
.mtvs .tv4 .sm .br{position:absolute;top:10px;width:9px;height:2.5px;background:#2A2420;border-radius:2px}
.mtvs .tv4 .sm .br.a{left:9px;transform:rotate(20deg)}.mtvs .tv4 .sm .br.b{left:21px;transform:rotate(-20deg)}
.mtvs .tv4 .sm .ey{position:absolute;top:14px;width:4px;height:4px;border-radius:50%;background:#2A2420}
.mtvs .tv4 .sm .ey.a{left:11px}.mtvs .tv4 .sm .ey.b{left:24px}
.mtvs .tv4 .sm .no{position:absolute;top:18px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent}
.mtvs .tv4 .sm.l{left:26px;animation:mtvHuffL 4s ease-in-out infinite}.mtvs .tv4 .sm.r{right:26px;animation:mtvHuffR 4s ease-in-out infinite 2s}
.mtvs .tv4 .sm.l .no{left:27px;border-left:10px solid #E07A2E}.mtvs .tv4 .sm.r .no{left:3px;border-right:10px solid #E07A2E}
.mtvs .tv4 .sm .scarf{left:4px;right:4px;bottom:0;height:5px}
@keyframes mtvHuffL{0%,8%,30%,100%{transform:none}12%,20%{transform:translateX(4px)}}
@keyframes mtvHuffR{0%,8%,30%,100%{transform:none}12%,20%{transform:translateX(-4px)}}
.mtvs .gb2{position:absolute;top:8px;width:46px;opacity:0;z-index:3;animation:mtvYell 4s ease-in-out infinite}
.mtvs .gb2 svg{display:block;width:100%;height:auto}
.mtvs .gb2.a{left:46px}
.mtvs .gb2.b{right:44px;width:38px;animation-delay:2s;transform-origin:left bottom}
.mtvs .gb2.b svg{transform:scaleX(-1)}
@keyframes mtvYell{0%,4%{opacity:0;transform:scale(.7)}10%{opacity:1;transform:scale(1.08)}14%,42%{opacity:1;transform:none}50%,100%{opacity:0}}
/* calm and reduced motion: still pictures */
html.calm .mtvs *{animation:none!important}
html.calm .mtvs .bub,html.calm .mtvs .gb2{opacity:1}
@media (prefers-reduced-motion:reduce){.mtvs *{animation:none!important}.mtvs .bub,.mtvs .gb2{opacity:1}}
@media (max-width:1060px){.mtvs{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}}
@media (max-width:600px){
  .mtvs{gap:24px 8px}
  .mtv-fit{height:150px;zoom:.66}
  .mtv-item>b{font-size:20px;margin-top:14px}
  .mtv-item>span{font-size:13px}
}
@media print{.mtvs *{animation:none!important}.mtvs .bub,.mtvs .gb2{opacity:1}}

/* phone fit for TVs, bigger mini heads, darker icon key text */
@media (max-width:600px){.mtv-fit{height:140px;zoom:.56}}
@media (max-width:360px){.mtvs{grid-template-columns:minmax(0,1fr)}.mtv-fit{height:180px;zoom:.75}}
.mini-head{font-size:36px;line-height:1.1}
@media (max-width:600px){.mini-head{font-size:32px}}
.ikey small{font-size:14.5px;color:#4A4038;font-weight:500}
.section.band#how{padding-top:18px}
@media (max-width:600px){.mtv-fit{height:226px}}
@media (max-width:360px){.mtv-fit{height:226px}}
.village{bottom:-58px}
@media (max-width:600px){.village{bottom:-40px}}

/* ticket stub text centered */
.tk-stub{padding:0 2px 0 10px;text-align:center}
.tk-stub small{display:block;text-align:center;white-space:nowrap;letter-spacing:.14em!important;margin-right:-.14em}
@media (max-width:600px){.tk-stub{flex-basis:76px}.tk-stub small{font-size:8.5px!important;letter-spacing:.08em!important;margin-right:-.08em}}
/* filter labels bigger and bolder */
.fpanel .flabel,.flabel{font-size:28px;font-weight:700;color:#9A2A30;text-shadow:.4px 0 0 currentColor,-.4px 0 0 currentColor;line-height:1.1}
.flabel .fhint{text-shadow:none}
@media (max-width:600px){.fpanel .flabel,.flabel{font-size:25px}}

/* ===== two kinds of gentle: holiday postage stamps ===== */
.gstamps{display:flex;justify-content:center;align-items:center;gap:46px;flex-wrap:wrap;margin:10px auto 6px}
.gstamp-w{position:relative;filter:drop-shadow(0 7px 10px rgba(74,52,30,.25));transform:rotate(var(--r));transition:transform .35s}
@media (hover:hover){.gstamp-w:hover{transform:rotate(0) translateY(-4px)}}
.gstamp{width:252px;height:322px;padding:14px;background:#FFFDF6;
  -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 14px) calc(100% - 14px) no-repeat,radial-gradient(circle at 7px 7px,transparent 4.5px,#000 5px) -7px -7px/14px 14px;
  mask:linear-gradient(#000 0 0) center/calc(100% - 14px) calc(100% - 14px) no-repeat,radial-gradient(circle at 7px 7px,transparent 4.5px,#000 5px) -7px -7px/14px 14px}
.gs-in{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 14px 10px;background-color:var(--c);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 6px);color:#fff;outline:1.5px solid rgba(255,253,246,.65);outline-offset:-6px}
.gs-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%}
.gs-val{font-family:var(--display);font-weight:900;font-size:34px;line-height:.9;color:#F7D57A}
.gs-val small{font-size:17px;vertical-align:top;margin-left:1px}
.gs-cty{font-size:10px;font-weight:800;letter-spacing:.2em;color:rgba(255,253,246,.9);padding-top:4px}
.gs-art{width:100%;height:118px;margin:8px 0 10px;border-radius:3px;display:grid;place-items:center;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,253,246,.13) 0 8deg,transparent 8deg 16deg);box-shadow:inset 0 0 0 1.5px rgba(255,253,246,.35)}
.gs-medal{width:92px;height:92px;border-radius:50%;background:#FBF4E6;border:3px solid #F7D57A;box-shadow:0 0 0 3px var(--c),0 0 0 4.5px rgba(247,213,122,.7);display:grid;place-items:center}
.gs-medal svg{width:60px;height:46px}
.gstamp-w .gs-in b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:20px;line-height:1.1;color:#fff}
.gs-sub{display:block;font-size:14px;font-weight:600;color:#FFEFD2;margin-top:3px}
.gs-bot{margin-top:auto;font-size:9px;font-weight:800;letter-spacing:.24em;color:rgba(255,253,246,.75)}
.gs-pm{position:absolute;right:-96px;top:26px;width:180px;height:84px;color:rgba(42,36,32,.5);transform:rotate(-8deg);z-index:3;pointer-events:none}
@media (hover:hover){.gstamp-w:hover .gs-medal svg{animation:beat .8s ease}}
@media (max-width:620px){.gstamps{gap:30px}.gs-pm{right:-40px;top:10px;width:150px}}
@media print{.gstamp-w{filter:none}.gs-pm{display:none}}

/* ===== TVs in one box with dividers ===== */
.mtvs{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 24px rgba(74,52,30,.08);gap:0;padding:8px 0;align-items:stretch;overflow:hidden}
.mtv-item{padding:22px 18px 24px;justify-content:flex-start}
.mtv-item+.mtv-item{border-left:2px dashed #E6D6BB}
.mtv-item>b{margin-top:22px}
.mtv-item>span{font-weight:700;color:#4A4038}
.mtv-d{margin:8px 0 0;font-size:14.5px;line-height:1.45;color:#5A4E44;max-width:26ch}
@media (max-width:1060px){
  .mtvs{row-gap:0}
  .mtv-item:nth-child(3){border-left:0}
  .mtv-item:nth-child(n+3){border-top:2px dashed #E6D6BB}
}
@media (max-width:600px){
  .mtv-item{padding:16px 10px 18px}
  .mtv-item>b{margin-top:10px}
  .mtv-d{font-size:13px}
}
/* talking: two robins chatting on a branch at dusk */
.mtvs .tv3 .scr{background:linear-gradient(180deg,#F4C9A0,#FBE6C8 70%)}
.mtvs .tv3 .brn{position:absolute;left:-8px;right:-8px;bottom:22px;height:8px;border-radius:4px;background:#6B4433;transform:rotate(-3deg);box-shadow:0 -3px 0 #FFFDF6}
.mtvs .tv3 .brn::after{content:"";position:absolute;right:40px;top:-14px;width:5px;height:18px;background:#6B4433;border-radius:3px;transform:rotate(30deg)}
.mtvs .tv3 .rb{position:absolute;bottom:28px;width:34px;height:30px;border-radius:55% 55% 45% 45%;background:#7A5236;z-index:2;animation:mtvBob 5s ease-in-out infinite}
.mtvs .tv3 .rb::before{content:"";position:absolute;left:9px;bottom:1px;width:21px;height:19px;border-radius:50%;background:#E2774C}
.mtvs .tv3 .rb::after{content:"";position:absolute;left:-9px;top:10px;width:14px;height:7px;border-radius:2px 6px 6px 2px;background:#5E3F2A;transform:rotate(-20deg)}
.mtvs .tv3 .rb .ey{position:absolute;left:21px;top:8px;width:4px;height:4px;border-radius:50%;background:#2A2420}
.mtvs .tv3 .rb .bk{position:absolute;left:31px;top:11px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:7px solid #E9B24A}
.mtvs .tv3 .rb .wg{position:absolute;left:4px;top:12px;width:14px;height:10px;border-radius:50% 50% 50% 0;background:#5E3F2A}
.mtvs .tv3 .rb.l{left:30px}
.mtvs .tv3 .rb.r{right:30px;transform:scaleX(-1);animation-name:mtvBobR;animation-delay:2.5s}
@keyframes mtvBob{0%,10%,40%,100%{transform:none}18%,30%{transform:translateY(-3px) rotate(-6deg)}}
@keyframes mtvBobR{0%,10%,40%,100%{transform:scaleX(-1)}18%,30%{transform:scaleX(-1) translateY(-3px) rotate(-6deg)}}
.mtvs .tv3 .star{position:absolute;width:4px;height:4px;border-radius:50%;background:#FFFDF6;box-shadow:0 0 4px #fff}
.mtvs .tv3 .star.s1{left:26px;top:14px}.mtvs .tv3 .star.s2{right:40px;top:10px;width:3px;height:3px}
.mtvs .tv3 .bub.a{left:24px;color:#B23A3F}
.mtvs .tv3 .bub.b{right:24px}

/* ===== two kinds of gentle: grandma's recipe cards ===== */
.rcards{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin:10px auto 8px}
.rcard{position:relative;width:340px;min-height:190px;padding:14px 20px 18px;border-radius:5px;background-color:#FFFDF6;background-image:linear-gradient(#FFFDF6 0 54px,transparent 54px),repeating-linear-gradient(180deg,transparent 0 29px,#BFD3E3 29px 30px);box-shadow:0 8px 16px rgba(74,52,30,.18);transform:rotate(var(--r));transition:transform .35s}
.rcard::before{content:"";position:absolute;left:0;right:0;top:52px;height:2px;background:#E2574C}
@media (hover:hover){.rcard:hover{transform:rotate(0) translateY(-4px)}}
.rc-lab{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;color:#B23A3F;height:38px;padding-top:12px}
.rc-stamp{position:absolute;right:14px;top:10px;width:66px;height:66px;border-radius:50%;border:2.5px solid var(--c);box-shadow:inset 0 0 0 3px #FFFDF6,inset 0 0 0 4.5px var(--c);display:grid;place-items:center;background:#FFFDF6;transform:rotate(12deg)}
.rc-stamp svg{width:40px;height:32px}
@media (hover:hover){.rcard:hover .rc-stamp svg{animation:beat .8s ease}}
.rc-t{display:block;font-family:var(--hand);font-weight:700;font-size:31px;line-height:30px;color:#2A2420;margin-top:20px}
.rc-s{display:block;font-family:var(--hand);font-weight:700;font-size:24px;line-height:30px;color:#3E5B78}
@media (max-width:600px){.rcard{width:100%;max-width:340px}.rc-t{font-size:28px}}
#how .rcards .rcard{padding:14px 22px 18px!important}

/* ===== two kinds of gentle: glass ornaments ===== */
.gorns{display:flex;justify-content:center;align-items:flex-start;gap:48px;flex-wrap:wrap;margin:0 auto 10px}
.gorn{display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;animation:gornSway 7s ease-in-out infinite;animation-delay:var(--dl)}
@keyframes gornSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.go-str{width:2px;height:var(--hk);background:#B8A684}
.go-loop{width:16px;height:14px;border:2.5px solid #B8913A;border-bottom:0;border-radius:10px 10px 0 0;margin-bottom:-2px}
.go-cap{position:relative;z-index:2;width:46px;height:24px;border-radius:5px 5px 3px 3px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.14) 0 2px,transparent 2px 6px),linear-gradient(90deg,#8C6A2A,#F7D57A 35%,#D9B45A 60%,#8C6A2A);box-shadow:0 3px 0 #7A5A20}
.go-ball{position:relative;width:236px;height:236px;margin-top:-6px;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 30px 40px;color:#fff;
  background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.85) 0 4%,rgba(255,255,255,.35) 9%,transparent 24%),radial-gradient(circle at 70% 82%,rgba(255,255,255,.18) 0 6%,transparent 16%),radial-gradient(circle at 45% 40%,var(--c) 0 50%,var(--d) 100%);
  box-shadow:inset -16px -20px 34px rgba(0,0,0,.28),inset 8px 8px 20px rgba(255,255,255,.12),0 16px 24px rgba(74,52,30,.25)}
.go-ball::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:12px;opacity:.85;
  background:linear-gradient(135deg,#F7D57A 25%,transparent 25%) -6px 0/12px 12px,linear-gradient(225deg,#F7D57A 25%,transparent 25%) -6px 0/12px 12px}
.go-ball::before{content:"";position:absolute;left:0;right:0;top:16px;height:8px;background:radial-gradient(circle,#FFF6DA 0 1.6px,transparent 2px) 0 0/12px 8px;opacity:.75}
.go-ic{width:58px;height:58px;border-radius:50%;background:#FBF4E6;display:grid;place-items:center;box-shadow:0 0 0 3px #F7D57A;margin-bottom:8px}
.go-ic svg{width:38px;height:30px}
.gorn .go-ball b{display:block;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:19px;line-height:1.1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.go-s{display:block;font-size:13.5px;font-weight:700;color:#FFF1D8;margin-top:3px}
@media (hover:hover){.gorn:hover .go-ic svg{animation:beat .8s ease}}
html.calm .gorn{animation:none}
@media (prefers-reduced-motion:reduce){.gorn{animation:none}}
@media (max-width:600px){.gorns{gap:20px}.go-ball{width:210px;height:210px}}
/* top 10 heading bigger, starter brighter and bolder */
#start h2{font-size:clamp(40px,5.4vw,64px);line-height:1.05}
#start h2 em{color:#F0484F;-webkit-text-stroke:1.4px #F0484F;font-size:1.18em;text-shadow:0 2px 0 rgba(0,0,0,.35)}
#start .intro{font-size:19px}

/* ===== two kinds of gentle: plush bean bears with heart tags ===== */
.gbears{display:flex;justify-content:center;align-items:flex-end;gap:56px;flex-wrap:wrap;margin:6px auto 10px}
.gbear{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:260px}
.gb-art{position:relative;width:210px;height:236px;transition:transform .35s}
@media (hover:hover){.gbear:hover .gb-art{transform:rotate(-3deg) translateY(-4px)}}
.gb-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 10px rgba(74,52,30,.25))}
.gb-str{position:absolute;right:30px;top:40px;width:26px;height:2px;background:#F2C230;transform:rotate(38deg);transform-origin:left}
.gb-tag{position:absolute;right:-26px;top:44px;width:64px;height:60px;transform:rotate(14deg);transform-origin:20% 20%;animation:gbTag 5s ease-in-out infinite}
.gb-r .gb-tag{animation-delay:-2.5s}
.gb-tag svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
.gb-tag b{position:absolute;left:0;right:0;top:19px;text-align:center;font-family:var(--hand);font-weight:700;font-size:17px;color:#FFFDF6;text-shadow:0 1px 0 rgba(0,0,0,.25)}
@keyframes gbTag{0%,100%{transform:rotate(10deg)}50%{transform:rotate(20deg)}}
.gbear>b{display:block;margin-top:12px;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:21px;line-height:1.1}
.gb-g>b{color:#1F6B33}.gb-r>b{color:#B3161C}
.gb-s{display:block;font-size:15px;font-weight:600;color:#4A4038;margin-top:3px}
html.calm .gb-tag{animation:none}
@media (prefers-reduced-motion:reduce){.gb-tag{animation:none}}
@media (max-width:600px){.gbears{gap:24px}.gb-art{width:170px;height:191px}.gb-tag{width:54px;height:50px;right:-18px;top:36px}.gb-tag b{font-size:14px;top:15px}.gbear>b{font-size:19px}}

/* ===== two kinds of gentle: a string of C9 lights ===== */
#how{overflow-x:clip}
.glights{position:relative;width:100vw;margin:4px 0 6px calc(50% - 50vw);display:flex;justify-content:center;align-items:flex-start;overflow:hidden;padding-bottom:6px}
.gl-c{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:15px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'%3E%3Cpath d='M0 2 Q50 34 100 2' fill='none' stroke='%232F5440' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 0/100% 30px no-repeat}
.gl-sm{width:74px}
.gl-sm .gl-b{width:24px;height:42px;filter:drop-shadow(0 0 6px rgba(255,220,150,.55));animation:glTw 4s ease-in-out infinite;animation-delay:var(--dl)}
.gl-sm:nth-child(odd) .gl-b{transform:rotate(8deg)}.gl-sm:nth-child(even) .gl-b{transform:rotate(-7deg)}
@keyframes glTw{0%,100%{opacity:1}50%{opacity:.7}}
.gl-big{width:270px;padding-top:14px}
.gl-big .gl-b{width:62px;height:108px;filter:drop-shadow(0 0 16px var(--g)) drop-shadow(0 0 4px var(--g));transform-origin:50% 0;animation:glSway 6s ease-in-out infinite}
.gl-r .gl-b{animation-delay:-3s}
@keyframes glSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.gl-ic{display:grid;place-items:center;width:44px;height:44px;margin-top:10px;border-radius:50%;background:#FFFDF6;box-shadow:0 0 0 2px var(--g),0 4px 8px rgba(74,52,30,.12)}
.gl-ic svg{width:28px;height:22px}
.gl-big b{display:block;margin-top:8px;font-family:var(--display);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:900;font-size:21px;line-height:1.1}
.gl-g b{color:#1F6B33}.gl-r b{color:#B3161C}
.gl-s{display:block;font-size:15px;font-weight:600;color:#4A4038;margin-top:3px}
html.calm .glights *{animation:none!important}
@media (prefers-reduced-motion:reduce){.glights *{animation:none!important}}
@media (max-width:600px){
  .gl-big{width:166px}
  .gl-big .gl-b{width:48px;height:84px}
  .gl-big b{font-size:17px}
  .gl-s{font-size:13px}
  .gl-sm{width:58px}
  .gl-sm .gl-b{width:20px;height:35px}
}
.gl-big{width:226px}.gl-big b{max-width:210px}
@media (max-width:600px){.gl-big{width:168px}.gl-big b{max-width:150px}}

@media (hover:hover){/* ===== ticket stubs: no lift on hover, tear on click or tap ===== */
.starter .tk a:hover{transform:none!important}}
.starter .tk a{-webkit-tap-highlight-color:transparent}
.tk-stub{transform-origin:100% 0}
.tk a.torn .tk-stub{animation:tkTear .62s cubic-bezier(.5,0,.75,0) forwards}
.tk a.torn .tk-body{animation:tkTug .3s ease-out}
@keyframes tkTear{0%{transform:none;opacity:1}25%{transform:rotate(-6deg) translate(-3px,1px)}45%{transform:rotate(-4deg) translate(-6px,3px)}100%{transform:rotate(-38deg) translate(-40px,70px);opacity:0}}
@keyframes tkTug{0%{transform:none}35%{transform:translateX(4px)}100%{transform:none}}

/* eraser and printer icons on filter actions */
.factions .linkbtn{display:inline-flex;align-items:center;gap:8px}
.fa-ic{width:30px;height:26px;flex:0 0 auto}

/* ===== VCR play button under the filters ===== */
.vcr-go{display:flex;flex-direction:column;align-items:center;margin:22px auto 4px;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.vcr-body{position:relative;display:flex;align-items:center;gap:16px;width:min(460px,92vw);height:78px;padding:0 16px;border-radius:8px;background:linear-gradient(180deg,#3A3A3E,#222225 60%,#1A1A1C);box-shadow:0 10px 18px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.4);z-index:1}
.vcr-body::after{content:"";position:absolute;left:24px;right:24px;bottom:-8px;height:8px;background:#141416;border-radius:0 0 4px 4px}
.vcr-slot{position:relative;flex:0 0 150px;height:22px;border-radius:3px;background:#0C0C0D;box-shadow:inset 0 3px 5px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.15)}
.vcr-slot::before{content:"";position:absolute;left:6px;right:6px;top:3px;height:6px;border-radius:2px;background:linear-gradient(180deg,#4A4A50,#2E2E33);transform-origin:top;transition:transform .3s}
.vcr-tape{position:relative;z-index:0;display:flex;justify-content:center;gap:34px;align-items:center;width:132px;height:30px;margin-bottom:-16px;margin-right:calc(min(460px,92vw) - 132px - 36px);border-radius:4px 4px 0 0;background:linear-gradient(180deg,#2A2826,#141211);box-shadow:inset 0 0 0 2px #3A3633}
.vcr-tape::before{content:"";position:absolute;left:14px;right:14px;top:5px;height:9px;border-radius:2px;background:#FCF8EE;box-shadow:inset 0 -3px 0 #B23A3F}
.vcr-tape i{width:12px;height:12px;border-radius:50%;margin-top:12px;background:radial-gradient(circle,#fff 0 2px,#5a3d2e 3px 5px,#2a1e1b 6px)}
.vcr-disp{flex:1;display:flex;align-items:baseline;justify-content:center;gap:6px;height:40px;padding:0 10px;border-radius:4px;background:#0E1A12;box-shadow:inset 0 2px 6px rgba(0,0,0,.9);color:#7CFF8A;text-shadow:0 0 8px rgba(124,255,138,.7);font-family:"Courier New",monospace;line-height:40px;position:relative;overflow:hidden}
.vcr-disp b{font-size:26px;font-weight:900}
.vcr-disp small{font-size:12px;font-weight:700;letter-spacing:.14em}
.vcr-disp em{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-style:normal;font-weight:900;font-size:20px;letter-spacing:.12em}
.vcr-play{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:50px;border-radius:6px;background:linear-gradient(180deg,#F2F2F0,#BFC2C4);box-shadow:0 5px 0 #6B6E70,inset 0 1px 0 #fff;color:#B23A3F;transition:transform .12s,box-shadow .12s}
.vcr-play i{font-style:normal;font-size:22px;line-height:1}
.vcr-play small{font:900 9px Arial,sans-serif;letter-spacing:.16em;color:#2A2420}
.vcr-cap{margin-top:16px;font-family:var(--hand);font-weight:700;font-size:24px;color:var(--cran)}
.vcr-go:focus-visible .vcr-body{outline:3px solid #F7D57A;outline-offset:4px}
@media (hover:hover){.vcr-go:hover .vcr-play{background:linear-gradient(180deg,#FFFFFF,#D5D8DA)}.vcr-go:hover .vcr-tape{transform:translateY(-3px)}}
.vcr-tape{transition:transform .3s}
/* pressed: play sinks, tape slides into the slot, display reads PLAY */
.vcr-go.playing .vcr-play{transform:translateY(4px);box-shadow:0 1px 0 #6B6E70,inset 0 1px 0 #fff;background:linear-gradient(180deg,#FFE3A0,#F2B33D)}
.vcr-go.playing .vcr-tape{animation:vcrIn .6s ease-in forwards}
.vcr-go.playing .vcr-slot::before{transform:scaleY(-.2)}
.vcr-go.playing .vcr-disp b,.vcr-go.playing .vcr-disp small{visibility:hidden}
.vcr-go.playing .vcr-disp em{display:flex;animation:vcrBlink .5s steps(1) infinite}
@keyframes vcrIn{0%{transform:none}100%{transform:translateY(34px);opacity:0}}
@keyframes vcrBlink{50%{opacity:.35}}
@media (max-width:600px){
  .vcr-body{gap:10px;height:66px;padding:0 10px}
  .vcr-slot{flex-basis:96px;height:18px}
  .vcr-tape{width:90px;height:24px;gap:22px;margin-right:calc(92vw - 90px - 20px)}
  .vcr-tape i{width:10px;height:10px;margin-top:10px}
  .vcr-disp{height:36px;line-height:36px}.vcr-disp b{font-size:22px}.vcr-disp small{font-size:10px}
  .vcr-play{width:54px;height:44px}
  .vcr-cap{font-size:21px}
}
@media print{.vcr-go{display:none}}

/* ===== How gentle: snow globes, gentle to blizzard ===== */
.orn-toggles{gap:18px}
.orn-tog svg{width:58px;height:70px;transform-origin:50% 90%}
.orn-tog[aria-pressed="true"] svg{animation:none}
.orn-tog .flk{animation:sgFall 8s linear infinite}
.orn-tog.preview .flk{animation-duration:4.5s}
.orn-tog.notfit .flk{animation-duration:1.6s}
.orn-tog.notfit .flk circle{transform:skewX(-12deg)}
.orn-tog[aria-pressed="false"] .flk{animation-play-state:paused}
@keyframes sgFall{from{transform:translateY(0)}to{transform:translateY(52px)}}
.orn-tog:active svg,.orn-tog.shake svg{animation:sgShake .45s ease-in-out}
@keyframes sgShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-9deg)}45%{transform:rotate(8deg)}70%{transform:rotate(-5deg)}85%{transform:rotate(3deg)}}
@media (hover:hover){.orn-tog:hover svg{transform:rotate(-4deg)}}
html.calm .orn-tog .flk,html.calm .orn-tog svg{animation:none!important}
@media (prefers-reduced-motion:reduce){.orn-tog .flk,.orn-tog svg{animation:none!important}}

/* make Pick a holiday and How gentle clearly clickable: hint text plus a check on what's on */
.cat-tile,.orn-tog{position:relative}
.cat-tile[aria-pressed="true"]::after,.orn-tog[aria-pressed="true"]::after{content:"\2713";position:absolute;top:-7px;right:-7px;width:24px;height:24px;border-radius:50%;background:#2F5440;color:#fff;font:900 13px/24px "DM Sans",sans-serif;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.2),0 0 0 2px #FBF4E6}
.orn-tog[aria-pressed="true"]::after{top:-2px;right:0}
.orn-tog[aria-pressed="false"] span{text-decoration:line-through;text-decoration-thickness:1.5px}
.frow.top{justify-content:flex-start}

/* ===== handwritten tape labels: a mix of 10 hands and pens ===== */
.hw0{--hwf:"Permanent Marker";--hws:.86;--hwc:#1E1B16;--hwr:-1deg}
.hw1{--hwf:"Rock Salt";--hws:.66;--hwc:#24386E;--hwr:.6deg}
.hw2{--hwf:"Covered By Your Grace";--hws:1.12;--hwc:#1E1B16;--hwr:-.5deg}
.hw3{--hwf:"Reenie Beanie";--hws:1.32;--hwc:#2C4A8C;--hwr:1deg}
.hw4{--hwf:"Caveat Brush";--hws:1.06;--hwc:#7A1F25;--hwr:-1.4deg}
.hw5{--hwf:"Gloria Hallelujah";--hws:.82;--hwc:#1E1B16;--hwr:.4deg}
.hw6{--hwf:"Nanum Pen Script";--hws:1.32;--hwc:#23407A;--hwr:-.8deg}
.hw7{--hwf:"Just Another Hand";--hws:1.34;--hwc:#2F5440;--hwr:1.2deg}
.hw8{--hwf:"Shadows Into Light Two";--hws:1;--hwc:#1E1B16;--hwr:-.3deg}
.hw9{--hwf:"Homemade Apple";--hws:.66;--hwc:#4A2E1A;--hwr:.8deg}
.t3[class*="hw"] .t3-nm h3,.t3[class*="hw"] .t3-nm .showname,.t3[class*="hw"] .t3-lbl{font-family:var(--hwf),"Mountains of Christmas",cursive!important;font-weight:400!important;font-variation-settings:normal!important;letter-spacing:0}
.t3[class*="hw"] .t3-nm{padding:2px 10px 0}
.t3[class*="hw"] .t3-nm h3{font-size:calc(27px * var(--hws));line-height:1.02;color:var(--hwc);transform:rotate(var(--hwr));transform-origin:left center;-webkit-line-clamp:2}
.t3.hl2 .t3-nm h3{font-size:calc(22px * var(--hws))}
.t3.hl3 .t3-nm h3{font-size:calc(18px * var(--hws))}
.t3[class*="hw"] .t3-nm .showname{font-size:calc(16px * var(--hws));color:var(--hwc);opacity:.75;line-height:1.05}
.t3[class*="hw"] .t3-lbl{font-size:calc(15px * var(--hws));color:var(--hwc)}
@media (max-width:600px){
  .t3[class*="hw"] .t3-nm h3{font-size:calc(23px * var(--hws))}
  .t3.hl2 .t3-nm h3{font-size:calc(19px * var(--hws))}
  .t3.hl3 .t3-nm h3{font-size:calc(16px * var(--hws))}
}
.vs[class*="hw"] .n{font-family:var(--hwf),"Mountains of Christmas",cursive!important;font-weight:400!important;color:var(--hwc);font-size:calc(15px * var(--hws))}
.t3[class*="hw"] .t3-nm{overflow:hidden}
.t3[class*="hw"] .t3-nm h3{display:block;-webkit-line-clamp:unset;overflow:visible}

/* ===== holiday tiles: each one dressed for its holiday ===== */
.cat-tile .ct-art{width:46px;height:46px;border-radius:50%;background:#FFFDF6;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.cat-tile .ct-art svg{width:30px;height:30px}
.cat-tile{border-width:2px;text-shadow:none}
.cat-tile[data-cat="all"]{background:radial-gradient(circle,#E9C46A 0 1.4px,transparent 1.9px) 0 0/13px 13px,#FFF4D2;border-color:#E9C46A;color:#5A3E10}
.cat-tile[data-cat="xmas"]{background:radial-gradient(circle,rgba(255,255,255,.75) 0 1.3px,transparent 1.8px) 0 0/12px 12px,linear-gradient(180deg,#C9464A,#A3323A);border-color:#8E2A30;color:#FFF6EA}
.cat-tile[data-cat="thanks"]{background:repeating-linear-gradient(90deg,rgba(110,50,15,.28) 0 7px,transparent 7px 20px),repeating-linear-gradient(0deg,rgba(110,50,15,.28) 0 7px,transparent 7px 20px),#D98A3A;border-color:#A8611F;color:#FFF6EA}
.cat-tile[data-cat="winter"]{background:radial-gradient(circle,#fff 0 1.5px,transparent 2px) 0 0/13px 13px,radial-gradient(circle,#fff 0 1px,transparent 1.4px) 6px 7px/13px 13px,linear-gradient(180deg,#D7E8F2,#A9C8DC);border-color:#7FA3BC;color:#1F3B57}
.cat-tile[data-cat="calm"]{background:repeating-linear-gradient(0deg,#8A4A33 0 12px,#6E3826 12px 14px);border-color:#5A2E1E;color:#FFF6EA;position:relative}
.cat-tile[data-cat="calm"]::before{content:"";position:absolute;inset:0;border-radius:18px;background:repeating-linear-gradient(90deg,transparent 0 22px,#6E3826 22px 24px) 0 0/100% 14px;opacity:.6;pointer-events:none}
.cat-tile[data-cat="calm"] > *{position:relative}
.cat-tile[data-cat="xmas"] span:not(.ct-art),.cat-tile[data-cat="thanks"] span:not(.ct-art),.cat-tile[data-cat="calm"] span:not(.ct-art){text-shadow:0 1px 2px rgba(0,0,0,.35)}
.cat-tile[aria-pressed="true"]{border-color:#2F5440!important;box-shadow:0 0 0 3px #FBF4E6,0 0 0 6px #2F5440,0 8px 18px rgba(62,107,78,.25)}
.cat-tile[data-cat="all"][aria-pressed="true"]{background:radial-gradient(circle,#E9C46A 0 1.4px,transparent 1.9px) 0 0/13px 13px,#FFF4D2}
.cat-tile[aria-pressed="true"]::after{top:-10px;right:-10px}
@media (max-width:860px){.cat-tiles{padding-top:12px;padding-right:22px}}

/* grown ups funnel link */
.gu-link{display:flex;align-items:center;gap:12px;margin:16px auto 0;max-width:900px;padding:14px 18px;border-radius:18px;background:#3A2440;color:#FBF4E6;text-decoration:none;box-shadow:0 8px 18px rgba(58,36,64,.25);font-size:16px}
.gu-link b{color:#F7D57A}
.gu-ico{font-size:28px;line-height:1}
.gu-go{margin-left:auto;font-weight:900;font-size:20px;color:#F7D57A}
@media (hover:hover){.gu-link:hover{background:#4A2E52}}

.gate-pending{background:#FFF4D2;border:2px dashed #D9A441;border-radius:14px;padding:10px 14px;margin:0 0 14px;font-weight:700;color:#5A3E10;text-align:center}
#grid .card{scroll-margin-top:16px}

/* ===== grown ups promo: full size card, plum flannel ===== */
.gu-promo{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px 30px;align-items:center;margin:26px 0 0;padding:30px 32px;border-radius:24px;text-decoration:none;color:#FBF4E6;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 14px,transparent 14px 40px),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 14px,transparent 14px 40px),repeating-linear-gradient(90deg,rgba(0,0,0,.12) 0 4px,transparent 4px 40px),linear-gradient(135deg,#4A2A55,#2E1A36);
  box-shadow:0 16px 36px rgba(46,26,54,.35);border:3px solid #F7D57A}
.gu-art{width:130px;height:auto;transform:rotate(-6deg);filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.gu-eyebrow{margin:0;font-family:var(--hand);font-weight:700;font-size:clamp(22px,2.4vw,28px);color:#FF9DA1;line-height:1}
.gu-promo h2{margin:2px 0 8px;font-family:var(--display);font-weight:900;font-size:clamp(32px,4.2vw,50px);line-height:1.02;color:#FBF4E6}
.gu-promo h2 em{font-family:var(--hand);font-style:normal;font-weight:700;color:#F7D57A}
.gu-promo p:not(.gu-eyebrow){margin:0;color:#EADCF0;max-width:56ch;font-size:17px}
.gu-btn{display:inline-block;padding:18px 30px;border-radius:999px;background:#F7D57A;color:#2E1A36;font-family:var(--display);font-weight:900;font-size:20px;white-space:nowrap;box-shadow:0 6px 0 #B8913A,0 10px 18px rgba(0,0,0,.25);transition:transform .2s}
@media (hover:hover){.gu-promo:hover .gu-btn{transform:translateY(-3px)}}
.gu-promo:active .gu-btn{transform:translateY(3px);box-shadow:0 2px 0 #B8913A}
@media (max-width:760px){.gu-promo{grid-template-columns:minmax(0,1fr);text-align:center;padding:26px 20px}.gu-art{margin:0 auto;width:104px}.gu-promo p{margin:0 auto}.gu-btn{display:block;text-align:center;white-space:normal}}
.gu-eyebrow{font-size:clamp(30px,3.4vw,40px)!important;-webkit-text-stroke:1px #FF9DA1;text-shadow:0 2px 0 rgba(0,0,0,.35);margin-bottom:4px!important}

/* ===== grown ups promo: 90s Memphis style ===== */
.gu-promo.gu90{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cpath d='M14 30 q10 -14 20 0 t20 0 t20 0' fill='none' stroke='%2300C2C7' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M120 20 l18 30 h-36z' fill='%23FF3EA5'/%3E%3Ccircle cx='150' cy='110' r='7' fill='%23FFE14D'/%3E%3Ccircle cx='40' cy='120' r='5' fill='%23FFE14D'/%3E%3Cpath d='M80 150 q10 -14 20 0 t20 0' fill='none' stroke='%23FF3EA5' stroke-width='5' stroke-linecap='round'/%3E%3Crect x='90' y='80' width='16' height='16' fill='none' stroke='%237B3FD1' stroke-width='4' transform='rotate(20 98 88)'/%3E%3Cpath d='M20 170 l12 -20 l12 20z' fill='none' stroke='%2300C2C7' stroke-width='4'/%3E%3C/svg%3E") 0 0/180px 180px,#17142A!important;border:4px solid #111!important;border-radius:18px!important;box-shadow:10px 10px 0 #00C2C7,10px 10px 0 4px #111!important;overflow:visible;margin-top:34px!important}
.gu90 .gu-art{width:140px;transform:rotate(-8deg);filter:drop-shadow(5px 5px 0 rgba(0,0,0,.6))}
.gu90 .gu-eyebrow{margin:0 0 10px!important;line-height:1}
.gu90 .gu-eyebrow span{display:inline-block;background:#FF3EA5;color:#fff;font-family:var(--hand);font-weight:700;font-size:clamp(26px,3vw,34px);padding:6px 16px 8px;border:3px solid #111;border-radius:6px;transform:rotate(-3deg);box-shadow:4px 4px 0 #111;-webkit-text-stroke:0!important;text-shadow:none!important}
.gu90 h2{font-family:"Arial Black","Arial",sans-serif!important;font-weight:900!important;font-size:clamp(30px,4.4vw,52px)!important;letter-spacing:-.01em;line-height:1!important;color:#FFF8E6!important;text-transform:uppercase;text-shadow:3px 3px 0 #FF3EA5,6px 6px 0 #00C2C7,9px 9px 0 #111;margin:0 0 14px!important}
.gu90 h2 em{all:unset}
.gu90 .gu-sub{color:#E8E3FF!important;font-size:17px;max-width:56ch}
.gu90 .gu-btn{background:#FFE14D!important;color:#111!important;border:3px solid #111;border-radius:12px!important;font-family:"Arial Black","Arial",sans-serif!important;font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:18px!important;box-shadow:6px 6px 0 #FF3EA5,6px 6px 0 3px #111!important}
.gu90 .gu-btn span{display:inline-block;margin-left:6px;color:#FF3EA5}
@media (hover:hover){.gu90:hover .gu-btn{transform:translate(-2px,-2px)!important}}
.gu90:active .gu-btn{transform:translate(4px,4px)!important;box-shadow:2px 2px 0 #FF3EA5,2px 2px 0 3px #111!important}
.gu-cozy{position:absolute;top:-24px;left:-18px;z-index:3;width:84px;height:84px;display:grid;place-items:center;text-align:center;background:#FFE14D;color:#111;font:900 13px/1.05 "Arial Black",Arial,sans-serif;transform:rotate(-14deg);border:0;
  clip-path:polygon(50% 0,61% 13%,77% 6%,80% 23%,96% 26%,90% 41%,100% 54%,87% 63%,91% 80%,74% 81%,66% 97%,52% 88%,37% 98%,30% 82%,12% 83%,15% 66%,0 56%,10% 42%,4% 26%,21% 23%,24% 6%,40% 13%);filter:drop-shadow(3px 3px 0 #111)}
@media (max-width:760px){.gu-promo.gu90{box-shadow:7px 7px 0 #00C2C7,7px 7px 0 3px #111!important}.gu-cozy{top:-20px;left:-8px;width:70px;height:70px;font-size:11px}.gu90 h2{text-shadow:2px 2px 0 #FF3EA5,4px 4px 0 #00C2C7,6px 6px 0 #111}}
.gu90 .gu-copy{background:#17142A;border:3px solid #111;border-radius:14px;padding:16px 20px 18px;box-shadow:inset 0 0 0 2px rgba(0,194,199,.35)}
.gu90 .gu-eyebrow{margin-top:-34px!important}
@media (max-width:760px){.gu90 .gu-copy{padding:14px 14px 16px}}

/* ===== grown ups promo: 90s HOLIDAY (pine, red, gold, wrapping paper, C9 lights) ===== */
.gu-promo.gu90{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M18 40 q10 -14 20 0 t20 0' stroke='%23E8352F' stroke-width='5' stroke-dasharray='6 5'/%3E%3Cpath d='M100 150 q10 -14 20 0 t20 0' stroke='%23FBF4E6' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/g%3E%3Cpath d='M128 26 l4 10 11 1 -8 7 3 11 -10 -6 -10 6 3 -11 -8 -7 11 -1z' fill='%23F7D57A'/%3E%3Cg stroke='%23FBF4E6' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M40 104 v20 M30 114 h20 M33 107 l14 14 M47 107 l-14 14'/%3E%3C/g%3E%3Cg fill='%232E8B4A'%3E%3Cpath d='M92 80 c8 -10 18 -4 22 -12 c2 10 10 10 14 6 c-6 10 -18 6 -22 14 c-2 -8 -10 -10 -14 -8z'/%3E%3C/g%3E%3Ccircle cx='110' cy='86' r='4' fill='%23E8352F'/%3E%3Ccircle cx='117' cy='83' r='4' fill='%23E8352F'/%3E%3Ccircle cx='150' cy='112' r='4' fill='%23F7D57A'/%3E%3Ccircle cx='14' cy='150' r='3' fill='%23F7D57A'/%3E%3C/svg%3E") 0 0/170px 170px,radial-gradient(ellipse at 50% 0,#245C3C,#123522 70%)!important;border:4px solid #111!important;box-shadow:10px 10px 0 #C8202F,10px 10px 0 4px #111!important;padding-top:46px!important}
.gu-promo.gu90::before{content:"";position:absolute;left:0;right:0;top:-2px;height:34px;border-radius:14px 14px 0 0;pointer-events:none;
  background:radial-gradient(ellipse 7px 10px at 50% 70%,var(--b1,#E8352F) 0 98%,transparent 100%) 0 0/120px 34px repeat-x,radial-gradient(ellipse 7px 10px at 50% 70%,#F7D57A 0 98%,transparent 100%) 30px 0/120px 34px repeat-x,radial-gradient(ellipse 7px 10px at 50% 70%,#2BA3D9 0 98%,transparent 100%) 60px 0/120px 34px repeat-x,radial-gradient(ellipse 7px 10px at 50% 70%,#3CB04A 0 98%,transparent 100%) 90px 0/120px 34px repeat-x,linear-gradient(#111,#111) 0 7px/100% 3px no-repeat;filter:drop-shadow(0 0 4px rgba(255,230,150,.6))}
.gu90 .gu-copy{background:#0F2A1B!important;box-shadow:inset 0 0 0 2px rgba(247,213,122,.4)!important}
.gu90 .gu-eyebrow span{background:#C8202F!important;color:#FFF8E6!important;border-color:#111!important}
.gu90 h2{text-shadow:3px 3px 0 #C8202F,6px 6px 0 #F7D57A,9px 9px 0 #111!important}
.gu90 .gu-sub{color:#E7F1E9!important}
.gu90 .gu-btn{background:#F7D57A!important;box-shadow:6px 6px 0 #C8202F,6px 6px 0 3px #111!important}
.gu90 .gu-btn span{color:#C8202F!important}
.gu90:active .gu-btn{box-shadow:2px 2px 0 #C8202F,2px 2px 0 3px #111!important}
.gu-cozy{background:#F7D57A!important;color:#7E1F25!important}
.gu90 .gu-art{width:150px!important}
@media (max-width:760px){.gu-promo.gu90{box-shadow:7px 7px 0 #C8202F,7px 7px 0 3px #111!important}.gu90 h2{text-shadow:2px 2px 0 #C8202F,4px 4px 0 #F7D57A,6px 6px 0 #111!important}}
.gu90 .gu-art{width:180px!important}
@media (max-width:760px){.gu90 .gu-art{width:150px!important}}
/* grown ups card: no lights strip, softer title shadow */
.gu-promo.gu90::before{display:none!important}
.gu-promo.gu90{padding-top:30px!important}
.gu90 h2,.gu90 h2{text-shadow:2px 2px 0 #C8202F!important}
@media (max-width:760px){.gu90 h2{text-shadow:2px 2px 0 #C8202F!important}}

/* phone: easier taps and readable labels */
@media (max-width:700px){
  .wbtn{min-height:42px;padding-top:9px;padding-bottom:9px;display:inline-flex;align-items:center}
  .mk{font-size:12px}
  .wlab{font-size:12.5px}
  .fc-plate{font-size:9.5px}
  .tag-tog,.cat-tile,.orn-tog{min-height:44px}
  .sh-btn{min-height:44px}
}

/* tape labels: more air between the show name and the title, and between title lines */
.t3[class*="hw"] .t3-nm{justify-content:center;gap:3px}
.t3[class*="hw"] .t3-nm .showname{line-height:1.1;margin:0 0 2px!important}
.t3[class*="hw"] .t3-nm h3{line-height:1.16}
/* big bulbs: let the glow fade out instead of getting cut off */
.glights{padding-top:46px!important;margin-top:-40px!important;padding-bottom:24px!important}
/* flip clock fits the smallest phones */
@media (max-width:360px){.fclock{transform:scale(.88);transform-origin:left top;margin-bottom:-14px}}
@media (max-width:600px){.t3[class*="hw"] .t3-nm h3{line-height:1.1}.t3[class*="hw"] .t3-nm{gap:1px}}
.hw2{--hwf:"Caveat";--hws:1.12;--hwc:#1E1B16;--hwr:-.5deg}
.t3.hw2 .t3-nm h3,.t3.hw2 .t3-nm .showname,.t3.hw2 .t3-lbl,.vs.hw2 .n{font-weight:600!important}

/* How to read a card: snow globes instead of ornaments, same snow levels as the filter */
.keyitem .kglobe{width:58px;height:70px}
.keyitem .kglobe .flk{animation:sgFall 8s linear infinite}
.keyitem.preview .kglobe .flk{animation-duration:4.5s}
.keyitem.notfit .kglobe .flk{animation-duration:1.6s}
html.calm .keyitem .kglobe .flk{animation:none}
@media (prefers-reduced-motion:reduce){.keyitem .kglobe .flk{animation:none}}

/* holiday tiles: solid colors only, no patterns */
.cat-tile[data-cat="all"],.cat-tile[data-cat="all"][aria-pressed="true"]{background:#F2DC9A!important;border-color:#D9B45A!important;color:#4A3410!important}
.cat-tile[data-cat="xmas"]{background:#B23A3F!important;border-color:#8E2A30!important;color:#FFF6EA!important}
.cat-tile[data-cat="thanks"]{background:#C8742E!important;border-color:#A35A1F!important;color:#FFF6EA!important}
.cat-tile[data-cat="winter"]{background:#A9C8DC!important;border-color:#7FA3BC!important;color:#1F3B57!important}
.cat-tile[data-cat="calm"]{background:#7A4A36!important;border-color:#5A2E1E!important;color:#FFF6EA!important}
.cat-tile[data-cat="calm"]::before{display:none!important}
.cat-tile span:not(.ct-art){text-shadow:none!important}

/* all watch options visible, grouped (11/5) */
.watch .wline{display:block;margin:0 0 11px}
.watch .wline:last-child{margin-bottom:2px}
.watch .wline .wlab{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#4E5E48}
.watch .wline .wlab::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--holly);align-self:center}
.watch .wl-library .wlab::before{background:var(--frost-deep)}
.watch .wl-sub .wlab::before{background:var(--pine)}
.watch .wl-channel .wlab::before{background:#6A7A68}
.watch .wl-buy .wlab::before{background:#C8782E}
.watch .wl-check .wlab::before{background:var(--cran)}
.watch .wnote{text-transform:none;letter-spacing:0;font-weight:500;color:#6B6458;font-size:12.5px}
.watch .wnote::before{content:"\00B7";margin-right:6px}
.watch .wbtns{display:flex;flex-wrap:wrap;gap:7px}
.watch .wl-buy{padding-top:10px;border-top:2px dashed #D7E3D0}
.knowbox{margin-top:14px;background:#FBF6EA;border:2px solid #EADFC6;border-radius:14px;padding:10px 14px 10px}
.knowbox h4{font-family:var(--hand);font-weight:700;font-variation-settings:normal;font-size:20px;color:#8C5A44;margin:0 0 4px;line-height:1.1}
.knowbox ul{margin:0;padding-left:18px;font-size:14px;line-height:1.45}
.knowbox li+li{margin-top:3px}
@media print{.knowbox{background:none;border:1px solid #ccc}}

/* ultra subtle red polka dots on the beige backgrounds */
body,.band,#how{background-image:radial-gradient(rgba(178,58,63,.075) 1.5px,transparent 1.9px),radial-gradient(rgba(178,58,63,.075) 1.5px,transparent 1.9px);background-size:34px 34px;background-position:0 0,17px 17px}

/* tighter gap between the sources box and the tip section */
#about{padding-bottom:22px}
#tip.tipjar{padding-top:28px}

/* My Checkout List: two line title on the membership card */
.mc-two{display:flex;flex-direction:column;line-height:.92}
.mc-two small{font-size:17px;letter-spacing:.06em}

/* Save button: checkout card colors, easy to spot */
.save{font-size:15px;font-weight:800;border:0;background:#F6D23A;color:#2140A8;padding:9px 16px 9px 13px;gap:6px;box-shadow:0 3px 0 #B8962A,0 6px 12px rgba(33,64,168,.18)}
.save .star{font-size:19px;color:#2140A8}
.save:active{transform:translateY(2px);box-shadow:0 1px 0 #B8962A}
@media (hover:hover){.save:hover{background:#FFDD45}}
.save.on{background:#2140A8;color:#F6D23A;border:0;box-shadow:0 3px 0 #142A75}
.save.on .star{color:#F6D23A}

/* how to use the checkout list, near the top */
.howsave{padding:34px 0 6px;position:relative;z-index:2}
.hs-card{background:#FFFDF7;border:3px dashed #E6D6BB;border-radius:24px;padding:24px 26px 18px;box-shadow:0 10px 24px rgba(74,52,30,.08)}
.hs-card h2{margin:0 0 16px;text-align:center;font-size:clamp(28px,3.6vw,40px);font-weight:900;color:var(--pine)}
.hs-card h2 em{font-family:var(--hand);font-style:normal;font-weight:700;color:var(--cran)}
.hs-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hs-steps li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:10px 8px}
.hs-steps p{margin:0;font-size:15.5px;line-height:1.45;max-width:30ch}
.hs-n{position:absolute;left:6px;top:0;width:30px;height:30px;border-radius:50%;background:var(--cran);color:#fff;display:grid;place-items:center;font:900 16px/1 "Fraunces",serif}
.hs-vis{height:62px;display:grid;place-items:center}
.hs-save{display:inline-flex;align-items:center;gap:6px;font:800 17px/1 "DM Sans",sans-serif;background:#F6D23A;color:#2140A8;border-radius:999px;padding:11px 18px;box-shadow:0 3px 0 #B8962A;animation:hsPulse 2.4s ease-in-out infinite}
@keyframes hsPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.hs-mcard{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;width:150px;background:#2140A8;border:3px solid #F6D23A;outline:4px solid #fff;border-radius:6px;padding:6px 10px;color:#F6D23A;font:900 22px/.9 "Arial Narrow",Arial,sans-serif;transform:rotate(-3deg);box-shadow:0 6px 12px rgba(0,0,0,.18)}
.hs-mcard small{display:block;width:100%;font-size:11px;letter-spacing:.08em}
.hs-mcard i{font-style:normal;font-size:14px;background:#F6D23A;color:#2140A8;border-radius:999px;padding:2px 7px}
.hs-rcpt{display:flex;flex-direction:column;gap:5px;width:70px;padding:9px 9px 12px;background:#FBF8F0;box-shadow:0 6px 12px rgba(0,0,0,.14);transform:rotate(4deg);font:700 11px/1 "Courier New",monospace;color:#2A2A2A}
.hs-rcpt span{height:4px;background:#CFC5B1;border-radius:2px}.hs-rcpt span:nth-child(2){width:70%}
.hs-rcpt b{align-self:flex-end;margin-top:2px}
.hs-note{margin:8px 0 0;text-align:center;font-size:13.5px;color:var(--soft)}
html.calm .hs-save{animation:none}
@media (prefers-reduced-motion:reduce){.hs-save{animation:none}}
@media (max-width:700px){.hs-steps{grid-template-columns:1fr;gap:6px}.hs-steps li{flex-direction:row;text-align:left;padding:8px 0 8px 40px}.hs-n{left:0;top:50%;margin-top:-15px}.hs-vis{flex:none;width:118px;height:56px}.hs-mcard{width:112px;font-size:17px}.hs-card{padding:20px 16px 14px}}
@media print{.howsave{display:none}}

/* smaller checkout card */
.mcard{transform:rotate(3deg) scale(.6)}
@media (hover:hover){.mcard:hover{transform:rotate(0) scale(.64)}}
@media (max-width:600px){.mcard{transform:rotate(3deg) scale(.44)}@media (hover:hover){.mcard:hover{transform:rotate(0) scale(.46)}}}
/* the snow toggle is gone */
.calm-toggle{display:none!important}

/* how to box: mini copy of the real checkout card (no side text) */
.hs-mc{position:relative;display:flex;align-items:stretch;width:250px;height:150px;padding:9px 9px 9px 9px;border-radius:12px;background:linear-gradient(135deg,#FFFFFF,#F1F1EE 60%,#E4E3DE);box-shadow:0 10px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(0,0,0,.12);transform:rotate(-3deg);zoom:.5}
.hs-mc .mc-notch{background:#FFFDF7}
.hs-vis{height:auto;min-height:62px}
@media (max-width:700px){.hs-mc{zoom:.44}}

/* speed: instant jumps, quicker fade in, offscreen cards are not drawn */
html{scroll-behavior:auto}
.card.in,.reveal.in{transition:opacity .4s ease calc(var(--i,0)*35ms),transform .4s ease calc(var(--i,0)*35ms),box-shadow .3s}
#grid > .card{content-visibility:auto;contain-intrinsic-size:auto 980px}
.tk a.torn .tk-stub{animation-duration:.32s}

/* links to the public show guides, under the top 10 */
.guides-band{position:relative;z-index:2;margin:30px auto 0;max-width:760px;text-align:center;background:rgba(251,244,230,.08);border:2px dashed rgba(247,213,122,.55);border-radius:22px;padding:20px 18px 22px}
.gb-k{margin:0;font:700 26px/1.1 var(--hand);color:#F7D57A}
.gb-h{margin:4px 0 14px;font:900 clamp(20px,2.6vw,26px)/1.2 "Fraunces",Georgia,serif;color:#FBF4E6}
.gb-links{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.gb-links a{display:inline-block;padding:10px 14px;border-radius:999px;background:#FBF4E6;color:#15213D;text-decoration:none;font-weight:800;font-size:14.5px}
.gb-links a:hover{background:#F7D57A}
.gb-all{color:#F7D57A;font-weight:800}

/* faith or secular tag on every card */
.flag.faith,.flag.secular{display:inline-flex;align-items:center;gap:4px}
.flag svg{width:12px;height:12px;flex:none}
.flag.faith{background:#EFE6F7;color:#5E3A86}
.flag.secular{background:#E3ECFA;color:#2B4E9C}

.gb-k{display:inline-flex;align-items:center;gap:12px}
.gb-cam{width:58px;height:auto;flex:none;transform:rotate(-6deg);filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}
@media (max-width:600px){.gb-cam{width:46px}}
.gb-links a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px}
.gb-ico{width:28px;height:28px;flex:none;background:#fff;border-radius:50%;padding:2px;box-shadow:inset 0 0 0 2px #E6D6BB}

/* watch list card: number first and big, words larger, easy to read at a glance */
.mc-title{gap:12px;transform:none}
.mc-count{order:-1;min-width:58px;height:58px;padding:0 10px;font-size:32px;line-height:1;transform:none;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.mc-two{line-height:.9}
.mc-two small{font-size:25px;letter-spacing:.04em}
.mc-two{font-size:44px}
.mc-inner{padding:0 10px 0 16px}
.mc-rule{margin:8px -10px 5px -16px}
@media (max-width:600px){
  .mcard{transform:rotate(3deg) scale(.5)}
  .mc-sub,.mc-rule{display:none}
  .mc-two small{font-size:28px}
  .mc-two{font-size:48px}
  .mc-count{min-width:64px;height:64px;font-size:36px}
}
/* keep Be Kind, Rewind on phones, a little bigger so it reads */
@media (max-width:600px){.mc-sub,.mc-rule{display:block}.mc-sub{font-size:20px;letter-spacing:.04em}.mc-rule{margin:6px -10px 4px -16px}}
.mc-sub{white-space:nowrap}
@media (max-width:600px){.mc-sub{font-size:17px}.mc-two small{font-size:24px}.mc-two{font-size:42px}.mc-count{min-width:58px;height:58px;font-size:32px}.mc-title{gap:10px}}

/* holiday tiles: let a long label like Thanksgiving fit inside */
.cat-tile{width:auto;min-width:96px;padding:0 12px}
.cat-tile > span:not(.ct-art){white-space:nowrap;line-height:1.1}

.gb-h2{margin-top:18px!important;font-size:clamp(17px,2.2vw,20px)!important}
.gb-need{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.gb-need a{display:inline-block;padding:7px 12px;border-radius:999px;border:1.5px solid rgba(247,213,122,.55);color:#FBF4E6;text-decoration:none;font-weight:700;font-size:13.5px}
.gb-need a:hover{background:rgba(247,213,122,.15)}
