
:root{--ink:#1E1B3A;--cream:#FFF8EE;--indigo:#4B32D6;--tomato:#F0532D;--sun:#FFC53D;--mint:#1F6F55;--soft:#4A4668;--muted:#6A6688;--line:rgba(30,27,58,.1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* metric-matched fallbacks (size-adjust measured against Arial/Arimo and Roboto in Chrome; see docs/REFRESH.md 'Fonts'): Arial/Arimo/Liberation (desktop, ChromeOS) and Roboto (Android) */@font-face{font-family:'Figtree Fallback';font-weight:400 500;src:local('Arial'),local('ArialMT'),local('Arimo Regular'),local('Arimo-Regular'),local('Liberation Sans'),local('LiberationSans');size-adjust:101.20%;ascent-override:93.87%;descent-override:24.70%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback R';font-weight:400 500;src:local('Roboto'),local('Roboto Regular'),local('Roboto-Regular');size-adjust:102.20%;ascent-override:92.95%;descent-override:24.46%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback';font-weight:600;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:95.70%;ascent-override:99.27%;descent-override:26.12%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback R';font-weight:600;src:local('Roboto Bold'),local('Roboto-Bold');size-adjust:101.20%;ascent-override:93.87%;descent-override:24.70%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback';font-weight:700 900;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:96.75%;ascent-override:98.19%;descent-override:25.84%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback R';font-weight:700 900;src:local('Roboto Bold'),local('Roboto-Bold');size-adjust:102.31%;ascent-override:92.85%;descent-override:24.43%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback S';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:103.30%;ascent-override:90.03%;descent-override:26.14%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback SR';font-weight:700 800;src:local('Roboto Bold'),local('Roboto-Bold'),local('Roboto');size-adjust:110.50%;ascent-override:84.16%;descent-override:24.43%;line-gap-override:0%}/* 'Bricolage Fallback S*' = small display text (15-21px: brand, ranks, row names, card titles), where Bricolage's optical size runs wider */@font-face{font-family:'Bricolage Fallback';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:99.00%;ascent-override:93.94%;descent-override:27.27%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback R';font-weight:700 800;src:local('Roboto Bold'),local('Roboto-Bold'),local('Roboto');size-adjust:106.50%;ascent-override:87.32%;descent-override:25.35%;line-gap-override:0%}/* holiday heroes (src/holiday-ui.mjs): 'M' = 36-40px phone h1, 'L' = 64-68px desktop h1, 'Figtree Fallback C' = 12px 800 caps eyebrows; size-adjust = median over all 62 holiday hero strings, see docs/REFRESH.md 'Fonts' */@font-face{font-family:'Bricolage Fallback M';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:100.40%;ascent-override:92.63%;descent-override:26.89%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback MR';font-weight:700 800;src:local('Roboto Bold'),local('Roboto-Bold'),local('Roboto');size-adjust:106.00%;ascent-override:87.74%;descent-override:25.47%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback L';font-weight:700 800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:97.00%;ascent-override:95.88%;descent-override:27.84%;line-gap-override:0%}@font-face{font-family:'Bricolage Fallback LR';font-weight:700 800;src:local('Roboto Bold'),local('Roboto-Bold'),local('Roboto');size-adjust:102.50%;ascent-override:90.73%;descent-override:26.34%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback C';font-weight:700 900;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arimo Bold'),local('Arimo-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');size-adjust:97.80%;ascent-override:97.14%;descent-override:25.56%;line-gap-override:0%}@font-face{font-family:'Figtree Fallback CR';font-weight:700 900;src:local('Roboto Bold'),local('Roboto-Bold');size-adjust:102.40%;ascent-override:92.77%;descent-override:24.41%;line-gap-override:0%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Figtree','Figtree Fallback','Figtree Fallback R',system-ui,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}
body.locked{overflow:hidden}
h1,h2,h3,p{margin:0}
a{color:var(--indigo)}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}
.disp{font-family:'Bricolage Grotesque','Bricolage Fallback','Bricolage Fallback R',sans-serif;font-weight:800;letter-spacing:-.03em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.head{position:sticky;top:0;z-index:30;background:rgba(255,248,238,.92);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.head.scrolled{border-bottom-color:var(--line)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.brand svg{width:34px;height:34px;flex:none}
.brand span{font-family:'Bricolage Grotesque','Bricolage Fallback S','Bricolage Fallback SR',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.02em;white-space:nowrap}
.head-nav{display:none;gap:26px}
.head-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;padding:10px 2px}
.head-nav a:hover{color:var(--indigo)}
.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap;border:0;cursor:pointer}

/* top picks hero */
.top{position:relative;overflow-x:clip;padding:18px 0 150px}
.top-blob{position:absolute;width:320px;height:320px;right:-140px;top:-30px;border-radius:50%;background:#FFE3A3;opacity:.75;pointer-events:none}
.top-head{position:relative;display:flex;flex-direction:column;gap:12px}
.date-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:5px 12px 5px 5px;font-size:13px;font-weight:700;box-shadow:0 0 0 1px var(--line)}
.date-tag b{background:var(--tomato);color:#fff;border-radius:999px;padding:3px 9px;font-size:11px;letter-spacing:.05em}
.h1{font-size:38px;line-height:1;letter-spacing:-.04em}
.h1 em{font-style:normal;color:var(--indigo)}
.top-sub{color:var(--soft);font-size:16px;max-width:520px}
.wx-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:4px -20px 0;padding:2px 20px}
.wx-strip::-webkit-scrollbar{display:none}
.wx-strip{min-height:59px;box-sizing:border-box}
.wx-off{margin:0;align-self:center;font-size:13px;color:var(--muted)}
.wx-day{flex:none;display:flex;align-items:center;gap:8px;background:#fff;border-radius:16px;padding:8px 12px 8px 8px;box-shadow:0 0 0 1px var(--line);font-size:13px}
.wx-day svg{width:28px;height:28px;flex:none}
.wx-day strong{display:block;font-size:13px}
.wx-day span{color:var(--muted);font-size:12px}

.picks-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:26px}
.picks-head h2{font-size:26px}
.swipe-hint{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}
.picks{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:14px -20px 0;padding:4px 20px 18px;scroll-padding-left:20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.picks::-webkit-scrollbar{display:none}
.pick{flex:0 0 84%;max-width:340px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border-radius:28px;overflow:hidden;border:0;padding:0;text-align:left;cursor:pointer;box-shadow:0 24px 40px -28px rgba(30,27,58,.55),0 0 0 1px rgba(30,27,58,.05);transition:transform .2s ease}
.pick:active{transform:scale(.985)}
.pick-art{position:relative;height:190px;display:flex;align-items:center;justify-content:center}
.pick-art svg.big{width:112px;height:112px;filter:drop-shadow(0 10px 14px rgba(30,27,58,.18))}
.pick-rank{position:absolute;left:16px;top:14px;font-family:'Bricolage Grotesque','Bricolage Fallback S','Bricolage Fallback SR',sans-serif;font-weight:800;font-size:15px;background:var(--ink);color:#fff;border-radius:999px;padding:5px 12px}
.pick-day{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.88);border-radius:999px;padding:5px 11px;font-weight:700;font-size:12px}
.pick-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.pick-name{font-size:23px;line-height:1.08}
.pick-short{color:var(--soft);font-size:15px}
.pick-meta{font-size:14px;font-weight:600;color:var(--ink)}
.pick-meta span{color:var(--muted);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:6px}
/* day filter (Top 5 + Find your thing) */
.pk-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -20px 0;padding:2px 20px;min-height:38px;box-sizing:border-box}
.pk-days::-webkit-scrollbar{display:none}
.dchip{flex:none;min-height:34px;padding:0 13px;border-radius:999px;border:0;background:#fff;box-shadow:0 0 0 1px rgba(30,27,58,.14);font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;color:var(--ink)}
.dchip[aria-pressed="true"]{background:var(--ink);color:var(--cream);box-shadow:none}
.dchip:focus-visible,.fchip:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}
.pick.past{cursor:default;opacity:.55;filter:grayscale(1)}
.pick.past .pick-rank{background:#6E6A86}
.pick.past:active{transform:none}
.row.past{opacity:.55;filter:grayscale(1)}
/* Sold out: stays in the list, muted (no opacity on text, so it stays readable), with a dark Sold out badge (white on #3B3654, 11:1) */
.row.sold{background:#F1EFF4;box-shadow:0 0 0 1px rgba(30,27,58,.12)}.row.sold .tile{filter:grayscale(1);opacity:.5}.row.sold .row-name{color:#4A4668}.row.sold .row-when,.row.sold .row-where{color:#5C5878}.row.sold .chip{background:#E4E1EA;color:#3B3654}
.pick.sold .pick-art{filter:grayscale(1)}.pick.sold .pick-body{background:#F1EFF4}
.sold-tag{display:inline-block;vertical-align:1px;background:#3B3654;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-right:6px}
.chip.sold{background:#3B3654;color:#fff}
.sheet-sold{margin-top:12px;font-size:15px;background:#fff;color:#3B3654;border-radius:14px;padding:10px 12px}.sheet-sold strong{color:#1E1B3A}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:#F3EFE7;color:var(--ink);white-space:nowrap}
.chip.free{background:#DDF1E7;color:#165A45}
.chip.in{background:#E3EDFF;color:#23409E}
.chip.brew{background:#FFF1D6;color:#7A4A00}
.chip.wx{background:#EEE8FF;color:#3A23B8}
.pick-cta{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--indigo);font-size:15px}
.pick-cta i{font-style:normal;width:36px;height:36px;border-radius:50%;background:var(--indigo);color:#fff;display:inline-flex;align-items:center;justify-content:center}

/* skyline */
.skyline{position:absolute;left:0;right:0;bottom:0;height:150px;pointer-events:none}
.car{position:absolute;left:0;bottom:-4px;width:150px;height:88px;animation:drive 26s linear infinite;will-change:transform;pointer-events:none}
.car img{width:100%;height:100%;display:block;position:relative}
.car.sky{bottom:var(--alt,120px);animation-duration:34s}
.car.water{bottom:-2px}
.car-wake{position:absolute;left:-30px;right:-10px;bottom:12px;height:16px;border-radius:50%;background:#7CC4EE;opacity:.75}
@keyframes drive{from{transform:translateX(-170px)}to{transform:translateX(calc(100vw + 40px))}}
@media (max-width:759px){.car{width:110px;height:64px}.car.sky{bottom:var(--alt-m,84px)}.car.water{bottom:-6px}.car-wake{bottom:8px;height:12px}}

/* sections */
.sec{padding:56px 0}
.sec-dark{background:var(--ink);color:var(--cream);border-radius:32px 32px 0 0}
.sec h2.h2{font-size:30px;line-height:1.02;letter-spacing:-.035em}
.sec .lead{color:var(--soft);font-size:16px;margin-top:10px;max-width:560px}
.sec-dark .lead{color:#CFCBE8}

/* saturday plan */
.plan{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.plan-step{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;cursor:pointer;background:rgba(255,255,255,.07);border-radius:20px;padding:14px;color:var(--cream)}
.plan-step:hover{background:rgba(255,255,255,.12)}
.plan-step .tile{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:none}
.plan-step .tile svg{width:34px;height:34px}
.plan-step small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--sun)}
.plan-step strong{display:block;font-size:17px;font-family:'Bricolage Grotesque','Bricolage Fallback S','Bricolage Fallback SR',sans-serif;letter-spacing:-.02em}
.plan-step span{display:block;font-size:14px;color:#CFCBE8}
.plan-step .go{margin-left:auto;font-size:20px;color:var(--sun)}
.plan-nap{display:flex;align-items:center;gap:14px;border-radius:20px;padding:12px 14px;background:repeating-linear-gradient(135deg,rgba(201,184,255,.18) 0 10px,rgba(201,184,255,.08) 10px 20px);color:#E4DEFF;font-size:14px}
.plan-nap .tile{width:52px;height:40px;display:flex;align-items:center;justify-content:center;flex:none;font-size:11px;font-weight:700;letter-spacing:.1em;color:#C9B8FF}

/* filters + list */
.filters{position:sticky;top:60px;z-index:20;background:rgba(255,248,238,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:20px -20px 0;padding:10px 20px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.fchip{flex:none;min-height:40px;padding:0 15px;border-radius:999px;border:0;background:#fff;box-shadow:0 0 0 1px rgba(30,27,58,.14);font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.fchip[aria-pressed="true"]{background:var(--ink);color:var(--cream);box-shadow:none}
.list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.row{display:grid;grid-template-columns:56px minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;text-align:left;border:0;cursor:pointer;background:#fff;border-radius:22px;padding:14px;box-shadow:0 0 0 1px rgba(30,27,58,.06)}
.row:hover{box-shadow:0 0 0 1px rgba(30,27,58,.16)}
.row .tile{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center}
.row .tile svg{width:36px;height:36px}
.row-when{font-size:13px;font-weight:700;color:#C93A17}
.row-name{font-family:'Bricolage Grotesque','Bricolage Fallback S','Bricolage Fallback SR',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.15;margin-top:1px}
.row-where{font-size:14px;color:var(--soft);margin-top:2px}
.row .chips{margin-top:8px}
.row .arrow{color:var(--muted);font-size:20px}
.list-note{margin:0 0 12px;padding:12px 16px;border-radius:16px;background:#fff;color:var(--ink);font-weight:600}
.pick-rank.soon{background:#fde68a;color:#3b2a00;font-size:13px;padding:6px 10px}
.pick-rank.soon~.pick-day{max-width:calc(100% - 128px)}
.empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border-radius:22px}

/* tour + upcoming carousels */
.scroller{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px !important;margin:24px -20px 0 !important;padding:0 20px 12px !important;scroll-padding-left:20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scroller::-webkit-scrollbar{display:none}
.tcard{flex:0 0 74%;scroll-snap-align:start}
.tcard svg{height:120px !important}
.ucard{flex:0 0 76%;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);background:#fff;border-radius:24px;padding:22px;box-shadow:0 0 0 1px rgba(30,27,58,.06)}
.ucard b{font-size:13px;color:#C93A17}
.ucard strong{font-family:'Bricolage Grotesque','Bricolage Fallback','Bricolage Fallback R',sans-serif;font-size:24px;letter-spacing:-.03em;line-height:1.05}
.ucard span{color:var(--soft);font-size:15px}
.ucard em{font-style:normal;font-weight:700;color:var(--indigo);margin-top:auto}

/* newsletter */
.nl{position:relative;overflow:hidden;background:var(--indigo);color:#fff;border-radius:28px;padding:34px 22px}
.nl::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--sun);right:-60px;top:-80px}
.nl h2{position:relative;font-size:30px;line-height:1.02}
.nl p{position:relative;color:#E4DEFF;margin-top:12px}
.nl form{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;padding:8px;border-radius:22px;margin-top:22px}
.nl input{min-height:50px;border:0;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);background:transparent;border-radius:16px}
.nl button{min-height:50px;border:0;border-radius:16px;background:var(--ink);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
footer{border-top:2px dashed var(--line);padding:28px 0 calc(40px + env(safe-area-inset-bottom));font-size:14px;color:var(--soft)}
footer .wrap{display:flex;flex-direction:column;gap:12px}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
footer a{color:var(--soft)}

/* detail sheet */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(30,27,58,.5);opacity:0;pointer-events:none;transition:opacity .25s}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:92vh;max-height:92dvh;background:var(--cream);border-radius:28px 28px 0 0;overflow-y:auto;overscroll-behavior:contain;transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom)}
.sheet.open{transform:none}
.sheet-top{position:relative;padding:12px 20px 22px}
.grab{width:44px;height:5px;border-radius:9px;background:rgba(30,27,58,.25);margin:0 auto 14px}
.x{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);cursor:pointer;display:flex;align-items:center;justify-content:center}
.sheet-hero{display:flex;gap:14px;align-items:center;padding-right:44px}
.sheet-hero .tile{width:72px;height:72px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.sheet-hero .tile svg{width:50px;height:50px}
.sheet-hero small{font-size:12px;font-weight:700;letter-spacing:.1em}
.sheet-hero h1,.sheet-hero h2{font-size:26px;line-height:1.05;margin-top:2px}
.sheet-short{margin-top:12px;font-size:16px;color:var(--ink)}
.sheet-actions{display:flex;gap:8px;margin-top:16px}
.sheet-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;border-radius:14px;font-weight:700;font-size:15px;text-decoration:none}
.a-dir{background:var(--ink);color:#fff}
.a-web{background:#fff;color:var(--ink);box-shadow:0 0 0 1px rgba(30,27,58,.15)}
.sheet-body{padding:6px 20px 32px;display:flex;flex-direction:column;gap:18px}
.glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.g{background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 0 0 1px rgba(30,27,58,.05)}
.g small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.g div{font-weight:700;font-size:15px;margin-top:3px;line-height:1.3}
.blk h2,.blk h3{font-family:'Bricolage Grotesque','Bricolage Fallback S','Bricolage Fallback SR',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.02em;margin-bottom:8px}
.blk p{color:var(--soft)}
.times{display:flex;flex-direction:column;gap:8px}
.time{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 0 0 1px rgba(30,27,58,.05)}
.time .d{min-width:0;flex:1}
.time .d strong{display:block;font-size:15px}
.time .d span{font-size:13px;color:var(--muted)}
.time .w{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;white-space:nowrap}
.time .w svg{width:28px;height:28px}
.time .w em{font-style:normal;font-weight:600;color:#2E4FB8;font-size:12px}
.todo{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.todo li{display:flex;gap:10px;color:var(--soft)}
.todo li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--tomato);margin-top:8px}
.facts{display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 0 0 1px rgba(30,27,58,.05)}
.fact{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px;border-top:1px solid var(--line)}
.fact:first-child{border-top:0}
.fact .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.fact .ic svg{width:22px;height:22px}
.fact small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.fact div div{margin-top:2px;font-size:15px}
.note{border:2px dashed #E9B949;background:#FFF6DB;border-radius:16px;padding:12px 14px;font-size:14px;color:#6B4A00}
.tbc{color:var(--muted);font-style:italic}

@media (min-width: 760px){
  .wrap{padding:0 32px}
  .head-row{height:72px}
  .head-nav{display:flex}
  .filters{top:72px;margin:24px 0 0;padding:10px 0}
  .top{padding:36px 0 200px}
  .top-blob{width:520px;height:520px;right:-140px;top:-40px}
  .h1{font-size:64px}
  .top-sub{font-size:19px}
  .wx-strip{margin:8px 0 0;padding:2px 0}
  .picks-head h2{font-size:34px}
  .swipe-hint{display:none}
  .picks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin:18px 0 0;padding:4px 0 0}
  .pk-days{margin:14px 0 0;padding:2px 0;flex-wrap:wrap}
  .pick{max-width:none}
  .pick:hover{transform:translateY(-4px)}
  .pick-art{height:170px}
  .pick-name{font-size:21px}
  .skyline{height:240px}
  .sec{padding:88px 0}
  .sec-dark{border-radius:48px 48px 0 0}
  .sec h2.h2{font-size:48px}
  .plan{flex-direction:row;align-items:stretch}
  .plan-step,.plan-nap{flex:1}
  .plan-nap{flex:0 0 170px;flex-direction:column;justify-content:center;text-align:center}
  .list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .scroller{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin:32px 0 0 !important;padding:0 !important}
  .upc{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .tcard,.ucard{flex:none}
  .nl{padding:56px;border-radius:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
  .nl::before{width:300px;height:300px;right:-90px;top:-120px}
  .nl h2{font-size:46px}
  .nl form{flex-direction:row;border-radius:999px;margin-top:0}
  .nl input{flex:1}
  .nl button{padding:0 26px;border-radius:999px}
  footer .wrap{flex-direction:row;justify-content:space-between;align-items:center}
  .sheet{left:50%;right:auto;bottom:auto;top:50%;width:min(640px,calc(100vw - 48px));max-height:86vh;border-radius:28px;transform:translate(-50%,-46%);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .2s}
  .sheet.open{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
  .grab{display:none}
  .sheet-top{padding:28px 28px 22px}
  .sheet-body{padding:6px 28px 32px}
  .glance{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sheet-hero h1,.sheet-hero h2{font-size:32px}
}
@media (prefers-reduced-motion: reduce){.car{animation:none;left:14%}}
/* Per-city parked spot (data/city-vehicles.json "place"): --park / --park-m are the x of the vehicle's left edge in the 1440x240 skyline art.
   The skyline is object-fit:cover, bottom center, so art x maps to center + (x - 720) * scale: max(1, width/1440) from 760px up, .625 below. */
@media (prefers-reduced-motion: reduce) and (min-width:760px){.car[style*="--park:"]{left:clamp(8px,calc(50% + (var(--park) - 720) * max(100vw,1440px) / 1440),calc(100% - 158px))}}
@media (prefers-reduced-motion: reduce) and (max-width:759px){.car[style*="--park-m:"]{left:clamp(4px,calc(50% + (var(--park-m) - 720) * .625px),calc(100% - 114px))}}
@media (prefers-reduced-motion: reduce){.sheet,.scrim,.pick{transition:none}}
/* multi-city additions */
.soon-dot{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-left:2px}
.head-nav a[aria-current]{color:var(--indigo)}
#picks,#plan,#all,#tour,#upcoming,#faq,#email,#cities{scroll-margin-top:calc(var(--head-h,72px) + 18px)}
.soon-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;background:#fff;border-radius:24px;padding:16px 18px;box-shadow:0 24px 40px -30px rgba(30,27,58,.5),0 0 0 1px var(--line);max-width:620px}
.soon-card div{flex:1 1 220px}.soon-card strong{display:block;font-size:16px}.soon-card span{color:var(--soft);font-size:14px}
.top.soon{padding-bottom:170px}
.hub{display:grid;gap:16px;margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.hub-card{display:flex;flex-direction:column;background:#fff;border-radius:28px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 24px 40px -30px rgba(30,27,58,.5),0 0 0 1px var(--line)}
.hub-sky{height:110px;background:#FFF1D6;position:relative;overflow:hidden}.hub-sky svg{position:absolute;inset:0;width:100%;height:100%}
.hub-row{display:flex;align-items:center;gap:12px;padding:16px 18px}.hub-row>svg{width:44px;height:44px;flex:none}
.hub-row div{flex:1}.hub-row strong{display:block;font-size:19px}.hub-row span{font-size:13px;color:var(--muted)}
.hub-row em{font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.hub-row em.live{background:#DDF1E7;color:var(--mint)}.hub-row em.soon{background:#F3EFE7;color:var(--soft)}
.lift{transition:transform .2s ease,box-shadow .2s ease}.lift:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.lift{transition:none}.lift:hover{transform:none}}
.top.hub-top{padding-bottom:56px}
.hub-row{flex-wrap:wrap}.hub-row div{min-width:0}
.hub-row em{margin-left:56px;margin-top:-4px}
.city-sel{width:100%;min-height:48px;border:0;border-radius:16px;padding:0 16px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);background:#F3EFE7;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E1B3A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.faq{display:grid;gap:10px;margin-top:24px;max-width:820px}
.faq details{background:#fff;border-radius:20px;padding:4px 20px;box-shadow:0 0 0 1px var(--line)}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;font-weight:800;color:var(--indigo)}.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 16px;color:var(--soft)}
.cotw-sec{padding-top:0}
.cotw{background:var(--ink);color:var(--cream);border-radius:32px;padding:28px}
.cotw-head{display:flex;align-items:center;gap:14px}.cotw-head>svg{width:56px;height:56px;flex:none}
.cotw h2{font-size:36px;line-height:1}
.cotw-why{color:#CFCBE8;margin:14px 0 0;max-width:640px}
.cotw-picks{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:20px 0 0;padding:0;list-style:none;counter-reset:p}
.cotw-picks a{display:block;background:rgba(255,255,255,.08);border-radius:18px;padding:14px 16px;color:var(--cream);text-decoration:none;counter-increment:p}
.cotw-picks a::before{content:"#" counter(p);color:var(--sun);font-weight:800;font-size:13px;display:block}
.cotw-picks strong{display:block}.cotw-picks span{font-size:13px;color:#CFCBE8}
.cotw-cta{margin-top:18px;background:var(--sun);color:var(--ink)}
/* Friday email signup — column layout; city select (hub only) above email row */
.nl form.nl-form,.nl form{display:flex;flex-direction:column;gap:10px;background:transparent;padding:0;border-radius:0;margin-top:22px;position:relative}
.nl .nl-row{display:flex;align-items:center;gap:8px;background:#fff;padding:8px;border-radius:22px;position:relative}
.nl .nl-row input{flex:1;min-width:0;min-height:50px;border:0;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);background:transparent;border-radius:16px}
.nl .nl-row button{flex:none;min-height:50px;padding:0 22px;border:0;border-radius:16px;background:var(--ink);color:#fff;font-weight:700;font-size:16px;cursor:pointer;white-space:nowrap}
.nl .nl-note{position:relative;font-size:13px;color:#E4DEFF;margin:0;line-height:1.4;max-width:36em}
.nl .nl-note a{color:#fff;font-weight:700}
footer .foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
footer a.foot-home{display:inline-flex;text-decoration:none}
footer .foot-meta{color:var(--soft);font-size:14px}
.legal{padding:40px 0 80px}.legal h1{font-size:clamp(32px,6vw,48px);line-height:1.05;margin:12px 0 8px}.legal .lead{color:var(--soft);max-width:640px;margin:0 0 28px}.legal h2{font-size:22px;margin:28px 0 10px}.legal p,.legal li{color:var(--soft);max-width:720px}.legal ul{padding-left:1.2em}.legal a{font-weight:600}
@media (min-width:760px){
  .nl form.nl-form,.nl form{flex-direction:column;margin-top:0}
  .nl .nl-row{border-radius:999px}
  .nl .nl-row input{border-radius:999px}
  .nl .nl-row button{border-radius:999px;padding:0 26px}
  .city-sel{border-radius:999px}
  footer .foot-brand{flex-direction:row;align-items:center;gap:14px}
}
/* keep pills inside cards */
.pick,.pick-body,.chips,.row>span{min-width:0}
.chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:1.35}
.cotw-picks a,.cotw-picks span,.cotw-picks strong{overflow-wrap:anywhere}
.pick-day{max-width:calc(100% - 74px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* card art */
.pick-art{overflow:hidden}
.pick-art .pick-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pick-art .pick-rank,.pick-art .pick-day{z-index:1}
.tile.art{overflow:hidden;padding:0}
.tile.art img{width:100%;height:100%;object-fit:cover;display:block}
.sheet-art{display:block;width:calc(100% + 0px);height:150px;object-fit:cover;border-radius:18px;margin:8px 0 12px}
.empty img{display:block;width:220px;max-width:70%;height:auto;margin:0 auto 12px;border-radius:16px}
.art-divider{margin-top:8px;margin-bottom:8px}
.art-divider img{display:block;width:100%;height:120px;object-fit:cover;border-radius:24px}
.nl .nl-art{position:absolute;right:-40px;bottom:-30px;width:300px;height:auto;opacity:.18;border-radius:24px;pointer-events:none}
.cotw{position:relative;overflow:hidden}
.cotw .cotw-art{position:absolute;right:-30px;top:-20px;width:280px;height:auto;opacity:.16;pointer-events:none;border-radius:24px}
.cotw>*:not(.cotw-art){position:relative}
@media (max-width:640px){.nl .nl-art,.cotw .cotw-art{width:180px}.art-divider img{height:80px}}
/* Littles Weekly brand marks (generic pages) */
.hub-wordmark{display:block;width:min(340px,78vw);height:auto;margin:0 0 14px}
.foot-logo{width:150px;height:auto;margin-bottom:8px}
.nf{text-align:center;padding:40px 0 60px}.nf-logo{width:96px;height:96px;margin:0 auto 18px;display:block}
.nf-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0}
/* signup + sponsors */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.signup-msg{margin:6px 4px 0;font-size:14px;font-weight:700;color:#FFD9CF;min-height:0}.signup-msg:empty{display:none}
.signup-done{position:relative;background:#fff;color:var(--ink);border-radius:22px;padding:16px 20px;margin-top:18px;font-size:15px}
.sp-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:24px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:0 0 0 2px var(--sun);margin-bottom:14px}
.sp-card img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none}.sp-card small{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sp-card strong{display:block;font-size:17px}.sp-card span{display:block;color:var(--soft);font-size:14px}.sp-card em{font-style:normal;font-weight:700;color:var(--indigo);font-size:14px}
.sp-cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;background:#DDF1E7;border-radius:28px;padding:24px}
.sp-cta>div:first-child{flex:1 1 380px}.sp-cta h2{font-size:24px;line-height:1.15;margin:6px 0 8px}.sp-cta p{margin:0;color:var(--soft);max-width:620px}
.sp-btns{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sp-link{font-size:14px;font-weight:600;color:var(--mint)}
.pk-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:18px 0 8px}
.pk{background:#fff;border-radius:24px;padding:20px;box-shadow:0 0 0 1px var(--line)}.pk strong{font-size:19px}
.pk-price{font-family:'Bricolage Grotesque','Bricolage Fallback','Bricolage Fallback R',sans-serif;font-weight:800;font-size:32px;color:var(--indigo);margin:6px 0}.pk-price small{font-size:13px;color:var(--muted);font-family:'Figtree','Figtree Fallback','Figtree Fallback R',system-ui,sans-serif;font-weight:600}
.pk p{margin:0;font-size:15px}
.fp{background:#FFF1D6;border-radius:24px;padding:20px 22px;margin:22px 0 6px;max-width:760px;box-shadow:0 0 0 2px var(--sun)}.fp strong{font-size:19px}.fp p{margin:6px 0 0}
.pk{min-width:0}.pk-tag{display:inline-block;margin-top:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#FFF1D6;color:#8A5A00;border-radius:999px;padding:4px 10px;box-shadow:0 0 0 1px var(--sun)}
.pk-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:8px 0 6px}.pk-row .pk-price{margin:0}.pk-row small{font-size:13px;color:var(--muted);font-weight:600}
.pk-price s,.pk-alt-p s{color:var(--muted);font-weight:600;font-size:.62em;margin-right:4px;text-decoration-thickness:2px}
.pk-alt{font-size:14px;color:var(--soft);margin-top:10px!important}.pk-alt-p{font-weight:800;color:var(--indigo)}
.pk strong{display:block}.pk-tag{display:table}.pk-alt-p s{font-size:.95em}
@media (max-width:520px){.nl .nl-row{flex-direction:column;align-items:stretch}.nl .nl-row input{width:100%;flex:none}.nl .nl-row button{width:100%}}

/* inline signup + share */
.nl-mini{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;align-items:center;background:var(--tint,#f1edff);border-radius:28px;padding:24px 28px}.nl-mini h2{font-size:26px;line-height:1.1;margin:0 0 6px}.nl-mini p{margin:0;font-size:15px;color:#4a3f75}.nl-mini .nl-row{display:flex;gap:8px;background:#fff;padding:6px;border-radius:999px}.nl-mini .nl-row input{flex:1;min-width:0;min-height:46px;border:0;padding:0 16px;font:inherit;font-size:16px;background:transparent;border-radius:999px}.nl-mini .nl-row button{min-height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}.nl-mini .signup-msg{margin:6px 0 0;font-size:14px}.nl-mini .share-btn{grid-column:1/-1;justify-self:start}.share-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}.nl .share-btn{border-color:#fff;color:#fff;margin-top:14px}#top .date-tag b{background:#C93A17}#tour .tour a.lift>div[style*="C93A17"]{color:#A3300F!important}#tour .g-note a{color:var(--indigo)}@media(max-width:720px){.nl-mini{grid-template-columns:1fr;padding:22px 20px}.nl-mini h2{font-size:23px}}
/* value prop: proof line + how we check */
.vp-proof{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--soft);max-width:560px;line-height:1.5}
.vp-proof a{color:var(--indigo);font-weight:700;white-space:nowrap}
.vp-proof a::after{content:" →"}
.top-head .vp-proof+.wx-strip{margin-top:12px}
.vp-how-sec{padding-top:8px;padding-bottom:8px}
.vp-how{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:vp}
.vp-how li{counter-increment:vp;background:#fff;border-radius:24px;padding:20px 22px;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;gap:6px}
.vp-how li::before{content:counter(vp);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--sun);color:var(--ink);font-weight:800;font-size:15px;margin-bottom:4px}
.vp-how strong{font-size:20px;line-height:1.15}
.vp-how span{font-size:15px;line-height:1.5;color:var(--soft)}
.vp-how-more{margin:14px 0 0;font-size:15px;font-weight:700}
.vp-how-more a{color:var(--indigo)}
.nl-mini>*{min-width:0}
/* ---------- City guide, visiting page, weekly teaser ---------- */
/* page tabs: This week / City guide / Visiting (the header nav is hidden on phones) */
.city-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:6px -20px 0;padding:2px 20px}
.city-tabs::-webkit-scrollbar{display:none}
a.fchip{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
a.fchip[aria-current="page"]{background:var(--ink);color:var(--cream);box-shadow:none}
.wx-note{font-size:13px;color:var(--soft);margin-top:6px;max-width:520px}
.note ul{margin:6px 0 0;padding-left:1.2em}
.head-nav a.opt{display:none}
@media (min-width:1120px){.head-nav a.opt{display:inline}}
@media (min-width:760px) and (max-width:1119px){.head-nav{gap:18px}}
@media (min-width:760px){.city-tabs{margin:8px 0 0;padding:2px 0}}
/* section blocks on the guide + visiting pages */
.gb{margin-top:56px;scroll-margin-top:130px}
.gb:first-of-type{margin-top:28px}
#faq,#plans,#stay,#eat,#rainy,#tips,#free,#happening,#this-week{scroll-margin-top:130px}
.gb .list{margin-top:18px}
.gb .picks,.gb .facts,.gb .upc{margin-top:18px}
.gb .picks{margin-left:0;margin-right:0;padding-left:0}
/* place rows */
.row.pl{grid-template-columns:56px minmax(0,1fr);align-items:start;cursor:default;color:var(--ink)}
a.row.pl.mini{grid-template-columns:56px minmax(0,1fr) 20px;align-items:center;cursor:pointer;text-decoration:none}
a.row.pl.mini:hover{box-shadow:0 0 0 1px rgba(30,27,58,.14)}
.row.pl .tile{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}
.row.pl .row-where{font-size:15px}
.pl-note{font-size:14px;color:var(--ink);margin-top:8px}
.pl-addr{display:block;font-size:13px;color:var(--muted);margin-top:8px}
.pl-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.pl-links a{font-size:14px;font-weight:700;padding:8px 0;min-height:36px;display:inline-flex;align-items:center}
.row.pl[id]{scroll-margin-top:130px}
.row.pl[id]:target{box-shadow:0 0 0 2px var(--indigo)}
/* weekly teaser + shared cards */
.tcard-art{display:block;width:100%;height:150px;object-fit:cover;border-radius:18px}
.tour-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pill-btn.ghost{background:#fff;color:var(--ink);box-shadow:0 0 0 1px rgba(30,27,58,.18)}
a.pick{color:inherit;text-decoration:none}
.plan-wrap{flex-wrap:wrap}
.plan-wrap a.plan-step{text-decoration:none}
.facts.tips .fact{display:block}
.facts.tips .fact strong{font-weight:700}
.ucard em{font-style:normal;font-weight:700;color:var(--indigo);margin-top:auto;font-size:14px}
.ucard span{font-size:15px;color:var(--soft)}
.sec-dark .eyebrow+h2{color:var(--cream)}
@media (min-width:760px){
  .gb:first-of-type{margin-top:36px}
  .tour.scroller{grid-template-columns:repeat(auto-fit,minmax(166px,1fr)) !important}
  .picks.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .picks.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .picks.n6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .picks.n1,.picks.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-wrap .plan-step{flex:1 1 240px}
  .plan-wrap .plan-nap{flex:0 0 170px}
  .row.pl{padding:16px}
}
.at-card[id]{scroll-margin-top:100px}
.at-card[id]:target{box-shadow:0 0 0 3px var(--indigo)}
/* Header nav: main page links only. On phones it becomes a second, swipeable row so every page link stays reachable. */
.head-nav a{white-space:nowrap}
.head-nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--sun)}
@media (max-width:759px){
  .head-row{flex-wrap:wrap;height:auto;padding-top:8px;column-gap:12px;row-gap:2px}
  .head-row .pill-btn{min-height:40px;padding:0 14px}
  .head-nav{display:flex;order:3;flex:0 0 calc(100% + 32px);gap:16px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;-webkit-overflow-scrolling:touch}
  .head-nav::-webkit-scrollbar{display:none}
  .head-nav a{font-size:14px;padding:8px 0 9px}
}
/* Jump row under each page intro: in-page sections only */
.jump-row{flex-wrap:nowrap}
@media (min-width:760px){.jump-row{flex-wrap:wrap}}
:root{--head-h:72px}
@media (max-width:759px){:root{--head-h:89px}}
#departures,#drive-times,#weekends,#from-city,#regions,#pack,#under3,#storytimes,#seasonal,#more{scroll-margin-top:calc(var(--head-h) + 18px)}

/* podcast/radio quotes on place cards (src/quotes.mjs) */
.pq{margin:0;padding:12px 14px 12px 16px;border-left:4px solid var(--sun,#FFC53D);background:#FFFBF2;border-radius:4px 14px 14px 4px;font-size:14.5px;line-height:1.45;color:var(--ink,#1E1B3A);text-align:left}
.pq blockquote{margin:0}.pq blockquote p{margin:0;font-style:italic}
.pq-lead{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6A6688)}
.pq figcaption{margin-top:6px;font-size:13px;color:var(--soft,#4A4668)}
.pq-who{font-weight:700}
.pq cite{font-style:normal}.pq a{color:var(--indigo,#4B32D6);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.pq a:focus-visible{outline:3px solid var(--sun,#FFC53D);outline-offset:2px}
.pq-pair{display:flex;flex-direction:column;gap:8px;min-width:0}
.pq-pair>.pq{flex:none}
.picks>.pq-pair{flex:0 0 84%;max-width:340px;scroll-snap-align:start}.picks>.pq-pair>.pick{flex:1 0 auto;max-width:none}
.scroller>.pq-pair{flex:0 0 74%;scroll-snap-align:start}.scroller>.pq-pair>.tcard{flex:1 0 auto}
.at-cat--stay .pq{background:rgba(255,248,238,.08);color:#E4E0F5}.at-cat--stay .pq figcaption{color:#C9C4E6}
@media (min-width:760px){.picks>.pq-pair{max-width:none}.scroller>.pq-pair{flex:none}}
/* ---------- Holiday pages (/<slug>/santa/, /<slug>/christmas-lights/; src/holiday.mjs) ---------- */
#style,#calendar,#breakfast,#photos,#evening,#trains,#drive,#tba,#prep,#pick,#season,#bedtime,#versus,#prices,#holiday,#next-season,#more-holiday{scroll-margin-top:calc(var(--head-h) + 18px)}
.hx-links{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.hx-link{display:flex;gap:14px;align-items:center;background:#fff;border-radius:22px;padding:14px 18px;box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink)}
.hx-link:hover{box-shadow:0 0 0 2px var(--indigo)}
.hx-link img{flex:none;width:40px;height:40px}
.hx-link strong{display:block;font-size:17px}
.hx-link em{display:block;font-style:normal;font-size:14px;color:var(--soft)}
.hx-tease{display:flex;gap:12px;align-items:center;background:#FFF1D6;border-radius:20px;padding:12px 18px;margin:0;font-size:15px;box-shadow:0 0 0 1px rgba(255,197,61,.6)}
.hx-tease img{flex:none}
.hx-tease a{color:var(--indigo);font-weight:700}
@media (min-width:760px){
  .hx-facts div{grid-template-columns:120px minmax(0,1fr)}
  .hx-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  #more-holiday .hx-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-tba{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Seasonal events: plain, low-key links at the bottom of each city weekly page (SEASONAL_PAGES in src/holiday.mjs) */
.seasonal-links{padding-top:8px;padding-bottom:28px}
.seasonal-links .sl-title{margin:0 0 6px;font-size:14px;font-weight:700;letter-spacing:0;color:var(--muted,#6A6688)}
.seasonal-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px}
.seasonal-links a{color:var(--soft,#4A4668);text-decoration:underline;text-underline-offset:2px}
/* Horizontal scroll rows must contain everything inside them. Screen-reader-only text (.sr, position:absolute) inside a
   card escapes overflow-x:auto unless the row itself is positioned, and then widens the whole document on phones
   (the page zooms out). Making each scroll row its containing block keeps it clipped. Checked by scripts/overflow-check.cjs. */
.scroller,.wx-strip,.city-tabs,.head-nav,.pickrow,.chips{position:relative}
/* ---------- Holiday pages, David's design (src/holiday-ui.mjs). Scoped to .hx2; fonts come from the site (.disp / body). ---------- */
.hx2{color:var(--ink);overflow-x:clip}
.hx2 h1,.hx2 h2,.hx2 h3,.hx2 p{margin:0}
.hx2 .disp{letter-spacing:-.035em}
.hx-eb{font-family:'Figtree','Figtree Fallback C','Figtree Fallback CR',system-ui,sans-serif;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hx-chk{font-size:13px;color:#6B6880;margin-top:14px!important}
.hx-chk a{color:inherit;font-weight:700;display:inline-flex;align-items:center;min-height:44px}
.hx-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--ink);color:#FFF8EE!important;text-decoration:none;font-weight:700;font-size:14px;max-width:100%;text-align:center}
.hx-pill.alt{background:#fff;color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink)}
.hx-pill.sun{background:var(--sun);color:var(--ink)!important}
.hx-pill.ghost{background:transparent;color:#FFF8EE!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.hx-pill.light{background:#FFF8EE;color:#E0322A!important}
.hx-jumpw{background:var(--cream,#FFF8EE)}.hx-jumpw .jump-row{padding:12px 0}
.hx-sec{padding:44px 0 8px}.hx-sec h2{font-size:32px;line-height:1.02;margin-top:6px}
.hx-lede{color:var(--soft);margin-top:8px!important;max-width:640px}
/* santa hero */
.hx-shero{background:#FFE9DF;position:relative;overflow:hidden}
.hx-shero .in{display:grid}
.hx-shero .hero-art{display:block;width:100%;height:auto;max-height:300px;object-fit:cover;object-position:50% 40%}
.hx-shero .copy{padding:22px 0 30px;min-width:0}
.hx2 .hx-shero h1,.hx2 .hx-lhero h1{font-family:'Bricolage Grotesque','Bricolage Fallback M','Bricolage Fallback MR',sans-serif;font-size:40px;line-height:.98;margin-top:10px;overflow-wrap:break-word}
.hx-shero h1 em{font-style:normal;color:#E0322A}
.hx2 .top-sub{color:#5A4650;margin-top:12px;font-size:17px;max-width:540px}
.hx-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hx-chips span{background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;box-shadow:0 0 0 1.5px #F3C9B2}.hx-chips b{color:#E0322A}
/* pick a style */
.hx-style3{display:grid;gap:12px;margin-top:18px}
.hx-style3 a{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);background:#fff;border-radius:22px;padding:16px;box-shadow:0 0 0 1.5px #EDE3D2;min-height:84px}
.hx-style3 .em{font-size:32px;width:58px;height:58px;border-radius:18px;background:#FFF1EA;display:grid;place-items:center;flex:0 0 auto}
.hx-style3 h3{font-size:21px}.hx-style3 p{font-size:14px;color:var(--soft)}.hx-style3 .ar{margin-left:auto;font-size:22px;color:#E0322A}
/* calendar */
.hx-cal{background:#fff;border-radius:24px;padding:10px;margin-top:18px;box-shadow:0 0 0 1.5px #EDE3D2}
.hx-cgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.hx-cw{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6B6880;text-align:center;padding:4px 0}
.hx-cd{min-height:50px;border-radius:10px;background:#F7F2EA;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0}
.hx-cd.on{background:#FFF1EA;box-shadow:inset 0 -4px #F7B7A3}.hx-cd.hol{background:#EEE9F7}
.hx-cd b{font-size:12px;white-space:nowrap}
.hx-cd .dots{display:flex;flex-wrap:wrap;gap:3px}.hx-cd .dots i,.hx-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}
.hx-cd .evs{display:none}
.hx-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px;color:var(--soft)}.hx-legend span{display:inline-flex;gap:6px;align-items:center}
.hx-legend i.day{width:18px;height:9px;border-radius:3px;background:#FFF1EA;box-shadow:inset 0 -3px #F7B7A3}
/* santa tag cards */
.hx-grp{margin-top:20px}.hx2 .hx-gh{font-size:26px;display:flex;align-items:center;gap:10px}
.hx-tags3{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;margin-top:40px}
.hx-gt{position:relative;background:#fff;border-radius:10px 26px 26px 26px;padding:22px 18px 18px;box-shadow:0 18px 36px -28px rgba(30,27,58,.5),0 0 0 1.5px #EDE3D2;border-top:10px solid var(--c);min-width:0}
.hx-gt .hole{position:absolute;left:18px;top:-24px;width:24px;height:24px;border-radius:50%;background:var(--cream,#FFF8EE);box-shadow:inset 0 0 0 4px var(--c)}
.hx-gt .hole:after{content:"";position:absolute;left:10px;top:-18px;width:3px;height:20px;background:#C98A4B;transform:rotate(-18deg)}
.hx-gt-h{display:flex;gap:12px;align-items:flex-start}.hx-gt.sold .hx-gt-h,.hx-lc.sold .hx-lc-top{padding-top:34px}.hx-gt-h>div:last-child,.hx-lc-top>div:last-child{min-width:0}
.hx-gt-ic{flex:0 0 auto;width:60px;height:60px;border-radius:18px;background:#FFF8EE;display:grid;place-items:center}
.hx-gt h3{font-size:22px;line-height:1.05;overflow-wrap:break-word;hyphens:manual}.hx-gt .where{font-size:14px;color:var(--soft);margin-top:4px}
.hx-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.hx-tags span{font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:#FFF1EA;color:#9C2F21}
.hx-tags span.sold{background:#FFE1D6;color:#A3300F}
.hx-gt dl{margin:14px 0 0;display:grid;gap:10px}.hx-gt dt{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6B6880}.hx-gt dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.hx-gt ul{margin:12px 0 0;padding-left:18px;color:var(--soft)}.hx-gt li{margin:4px 0}.hx-gt li::marker{color:var(--c)}
.hx-fam{margin-top:12px;background:#FFF4CC;border-radius:12px;padding:10px 12px;font-size:15px}
.hx-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hx-gt.sold dl,.hx-gt.sold ul{opacity:.75}
.hx-stamp{position:absolute;right:12px;top:14px;z-index:2;transform:rotate(9deg);border:3px solid #E0322A;color:#E0322A;font-weight:800;font-size:15px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:8px;background:#ffffffcc}
.hx-soon{margin-top:24px;display:flex;gap:14px;align-items:flex-start;background:#fff;border:2px dashed #C9B8FF;border-radius:22px;padding:16px;color:var(--ink)}
.hx-soon img{flex:none}.hx-soon ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}.hx-soon li{font-size:15px}.hx-soon li strong{font-size:18px}
.hx-soon li span,.hx-soon p{color:var(--soft);font-size:14px}.hx-soon p{margin-top:6px!important}
.hx-cheap{display:grid;gap:10px;margin-top:16px}.hx-cheap a{display:flex;gap:12px;align-items:center;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 0 0 1.5px #EDE3D2;text-decoration:none;color:var(--ink);font-size:15px}
.hx-cheap b.r{font-size:24px;color:#E0322A;width:28px;flex:none}
.hx-prep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.hx-prep div{background:#fff;border-radius:20px;padding:14px;box-shadow:0 0 0 1.5px #EDE3D2;font-weight:800;font-size:15px}.hx-prep small{display:block;font-weight:500;color:var(--soft);margin-top:4px;font-size:14px}
.hx-prep .n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#E0322A;color:#fff;font-size:14px;margin-bottom:6px}
.hx-cross2,.hx-cross{margin-top:48px;border-radius:28px;display:grid;overflow:hidden}
.hx-cross2{background:#141A3D;color:#FFF8EE}.hx-cross{background:#E0322A;color:#FFF8EE}
.hx-cross2 .c,.hx-cross .c{padding:24px 22px}.hx-cross2 h2,.hx-cross h2{font-size:30px;line-height:1.02;margin-top:6px}
.hx-cross2 p{color:#CFCBE6;margin:8px 0 16px!important}.hx-cross p{color:#FFE1DA;margin:8px 0 16px!important}
.hx-cross2 img,.hx-cross img{display:block;width:100%;height:200px;object-fit:cover}.hx-cross img{background:#FFE9DF}
.hx-ns{display:grid;gap:12px;margin-top:18px}
.hx-ns-c{background:#fff;border-radius:20px;padding:16px;box-shadow:0 0 0 1.5px #EDE3D2;border-left:8px solid var(--c);display:grid;gap:4px;min-width:0}
.hx-ns-c strong{font-size:19px}.hx-ns-c span{font-size:14px;color:var(--soft)}.hx-ns-c a{font-weight:700;font-size:14px;overflow-wrap:anywhere}
.hx-keep p{font-size:14px;color:var(--soft)}.hx-keep a{display:inline-flex;align-items:center;min-height:44px}
/* lights hero */
.hx-lhero{position:relative;background:#141A3D;color:#FFF8EE;overflow:hidden}
.hx-lhero .hero-art{display:block;width:100%;height:260px;object-fit:cover;object-position:60% 50%}
.hx-lhero .copy{position:relative;padding:22px 0 30px;background:#141A3D}
.hx-lhero h1 em{font-style:normal;color:var(--sun)}
.hx2 .hx-lhero .top-sub{color:#CFCBE6}
.hx-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;max-width:640px}
.hx-stats .stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px 14px}
.hx-stats b{display:block;font-size:28px;line-height:1;color:#fff}.hx-stats span{font-size:13px;color:#CFCBE6}
.hx-lhero .hx-chk{color:#9D98C8}
.hx-dark{background:#141A3D;color:#FFF8EE}.hx-dark .hx-lede{color:#CFCBE6}.hx-dark h2{color:#fff}
.hx-filt{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hx-filt input{position:absolute;opacity:0;width:1px;height:1px}
.hx-filt label{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);font-weight:700;font-size:14px;cursor:pointer;color:#FFF8EE}
.hx-filt label:has(input:checked){background:var(--sun);color:var(--ink);border-color:var(--sun)}
.hx-filt label:has(input:focus-visible){outline:3px solid var(--sun);outline-offset:3px}
.hx-lgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:18px;padding-bottom:40px}
.hx2:has(#f-drive:checked) #pick .hx-lc:not(.t-drive),.hx2:has(#f-walk:checked) #pick .hx-lc:not(.t-walk),.hx2:has(#f-free:checked) #pick .hx-lc:not(.t-free),.hx2:has(#f-stroller:checked) #pick .hx-lc:not(.t-stroller),.hx2:has(#f-sensory:checked) #pick .hx-lc:not(.t-sensory){display:none}
.hx-lc{position:relative;background:#1F2652;border-radius:26px;padding:20px 18px 18px;border:1px solid rgba(255,255,255,.08);min-width:0}
.hx-lc:before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:12px;background:radial-gradient(circle at 7px 6px,var(--c) 0 4px,transparent 5px) 0 0/22px 12px repeat-x;filter:drop-shadow(0 0 6px var(--c))}
.hx-lc-top{display:flex;gap:14px;align-items:flex-start}.hx-lc-ic{flex:0 0 auto;width:66px;height:66px;border-radius:20px;background:rgba(255,255,255,.07);display:grid;place-items:center}
.hx-lc h3{font-size:24px;line-height:1.05;margin-top:2px;color:#fff;overflow-wrap:break-word;hyphens:manual}.hx-lc .where{color:#B9B3E6;font-size:14px;margin-top:4px}
.hx-ltags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.hx-ltags .tg{font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.1);color:#E6E2FF}
.hx-ltags .tg-free{background:#7CE0A8;color:#123}.hx-ltags .tg-drive{background:#FF6B5B;color:#fff}.hx-ltags .tg-sensory{background:#C9B8FF;color:var(--ink)}
.hx-kv{display:grid;gap:8px;margin:16px 0 0}.hx-kv div{background:rgba(255,255,255,.06);border-radius:14px;padding:10px 12px;min-width:0}.hx-kv dt{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9D98C8}.hx-kv dd{margin:2px 0 0;font-weight:700;color:#fff;overflow-wrap:anywhere}
.hx-lfacts{margin:14px 0 0;padding:0 0 0 18px;color:#DCD8F5}.hx-lfacts li{margin:4px 0}.hx-lfacts li::marker{color:var(--c)}
.hx-sens{margin-top:12px!important;background:#2D2766;border-radius:14px;padding:10px 12px;color:#E6E2FF;font-size:14px}
.hx-verdict{margin-top:12px!important;color:#fff;font-size:15px;border-left:4px solid var(--c);padding-left:12px}
.hx-lc .hx-chk{color:#8F8ABF;margin-top:10px!important}.hx-lc .hx-chk a{color:#C9C4F0}
.hx-dark .hx-soon{margin-top:0}
.hx-sb{background:#fff;border-radius:24px;padding:16px;margin-top:18px;box-shadow:0 0 0 1.5px #EDE3D2}
.hx-sb-row{display:grid;gap:4px;margin-bottom:12px}.hx-sb-name{font-weight:800;font-size:14px}.hx-sb-name span{font-weight:600;color:var(--soft);white-space:nowrap}
.hx-sb-track{position:relative;height:22px;background:#F3EEE4;border-radius:10px;overflow:hidden}
.hx-sb-bar{position:absolute;top:0;bottom:0;border-radius:10px;box-shadow:inset 0 -3px rgba(0,0,0,.1)}
.hx-sb-ticks{position:relative;height:20px;margin-top:4px;font-size:12px;color:#6B6880}.hx-sb-ticks span{position:absolute;white-space:nowrap}
.hx-sb-ticks span:last-child{transform:translateX(-100%)}
.hx-sb-ticks span:before{content:"";position:absolute;left:0;top:-8px;height:6px;border-left:2px solid #CFC5B3}
.hx-sb-ticks span:last-child:before{left:auto;right:0}
.hx-bt{display:grid;gap:12px;margin-top:18px}
.hx-bt-row{background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 0 0 1.5px #EDE3D2;min-width:0}
.hx-bt-row h3{font-size:18px}.hx-bt-track{position:relative;height:34px;margin-top:10px;background:linear-gradient(90deg,#FFE3A3 0,#FFC98F 26%,#3A3170 32%,#1E1B3A 100%);border-radius:10px;overflow:hidden}
.hx-bt-seg{position:absolute;top:6px;bottom:6px;border-radius:7px;background:var(--sun);box-shadow:0 0 0 2px #fff,0 0 12px var(--sun)}.hx-bt-dusk{position:absolute;top:0;bottom:0;border-left:2px dashed #fff;opacity:.8}
.hx-bt-lab{font-size:13px;font-weight:700;color:#C9541E;margin-top:2px!important}
.hx-bt-scale{display:flex;justify-content:space-between;font-size:12px;color:#6B6880;margin-top:4px}
.hx-bt-note{font-size:14px;color:var(--soft);margin-top:6px!important}
.hx-vs{display:grid;gap:14px;margin-top:18px}.hx-vs>div{border-radius:24px;padding:20px}
.hx-vs h3{font-size:24px}.hx-vs ul{margin:10px 0 0;padding-left:18px}.hx-vs li{margin:5px 0}
.hx-vs .hx-vs-car{background:#FFE6DC}.hx-vs .hx-vs-feet{background:#DDF3E4}.hx-vs-pick{margin-top:10px!important;font-weight:700}
.hx-kit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.hx-kit div{background:#fff;border-radius:20px;padding:14px;box-shadow:0 0 0 1.5px #EDE3D2;font-weight:700;font-size:14px;display:flex;flex-direction:column;gap:6px}
.hx-kit small{font-weight:500;color:var(--soft);font-size:13px}
.hx-price{width:100%;border-collapse:separate;border-spacing:0 8px;margin-top:10px}
.hx-price th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6B6880;padding:0 12px}
.hx-price td{background:#fff;padding:12px;vertical-align:top;font-size:15px;overflow-wrap:anywhere}.hx-price td:first-child{border-radius:14px 0 0 14px;font-weight:800}.hx-price td:last-child{border-radius:0 14px 14px 0}
.hx-price td a{color:var(--ink);text-decoration:none}
@media (max-width:759px){.hx-price thead{display:none}.hx-price,.hx-price tbody,.hx-price tr,.hx-price td{display:block}.hx-price tr{background:#fff;border-radius:14px;margin-bottom:8px;padding:6px 0}.hx-price td{background:none;padding:4px 14px}.hx-price td:first-child,.hx-price td:last-child{border-radius:0}.hx-price td[data-l]:before{content:attr(data-l) ": ";font-weight:700;color:#6B6880}}
@media (max-width:374px){.hx2 .wrap{padding:0 14px}.hx-lc,.hx-gt{padding-left:14px;padding-right:14px}.hx-lc-ic,.hx-gt-ic{width:50px;height:50px;border-radius:16px}.hx-lc-ic img,.hx-gt-ic img{width:42px;height:42px}.hx-lc h3{font-size:22px}.hx-gt h3{font-size:21px}.hx2 .hx-lhero h1,.hx2 .hx-shero h1{font-size:36px}.hx-sec h2{font-size:28px}.hx-cd{min-height:46px;padding:3px}.hx-cgrid{gap:3px}.hx-cta .hx-pill{flex:1 1 100%}}
@media (min-width:760px){
.hx-gt.sold .hx-gt-h,.hx-lc.sold .hx-lc-top{padding-top:0;padding-right:120px}
.hx-sec h2{font-size:44px}
.hx-shero .in{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:30px}.hx-shero .hero-art{max-height:none;height:auto;order:2}.hx-shero .copy{padding:40px 0}
.hx2 .hx-shero h1{font-size:64px}.hx2 .hx-lhero h1{font-size:68px}.hx2 .hx-shero h1,.hx2 .hx-lhero h1{font-family:'Bricolage Grotesque','Bricolage Fallback L','Bricolage Fallback LR',sans-serif}
.hx-style3{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}.hx-style3.n2{--n:2}.hx-style3.n4{--n:4}.hx-style3 a{flex-direction:column;align-items:flex-start;min-height:180px}.hx-style3 .ar{margin-left:0;margin-top:auto}
.hx-cal{padding:12px}.hx-cd{min-height:96px;padding:8px}.hx-cd b{font-size:14px}.hx-cd .dots{display:none}.hx-cd .evs{display:flex;flex-direction:column;gap:3px}
.hx-cd .evs em{font-style:normal;font-size:12px;font-weight:700;line-height:1.15;padding:3px 5px;border-radius:6px;background:color-mix(in srgb,var(--k) 18%,white);border-left:3px solid var(--k);overflow-wrap:anywhere}
.hx-tags3{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-tags3.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.hx-prep{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-cheap{grid-template-columns:repeat(3,minmax(0,1fr))}.hx-ns{grid-template-columns:repeat(3,minmax(0,1fr))}
.hx-cross2,.hx-cross{grid-template-columns:1.1fr 1fr;align-items:center}.hx-cross2 img,.hx-cross img{height:100%;min-height:260px}
.hx-lhero .hero-art{position:absolute;inset:0;height:100%}.hx-lhero .copy{position:relative;min-height:520px;display:flex;align-items:flex-end;padding:64px 0 44px;background:linear-gradient(90deg,#141A3D 0,rgba(20,26,61,.88) 40%,rgba(20,26,61,0) 66%)}.hx-lhero .copy>.wrap{width:100%}.hx-lhero .copy .wrap>*{max-width:640px}
.hx-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-kv{grid-template-columns:repeat(3,minmax(0,1fr))}
.hx-vs{grid-template-columns:1fr 1fr}.hx-kit{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-bt{grid-template-columns:repeat(3,minmax(0,1fr))}
.hx-sb-row{grid-template-columns:260px minmax(0,1fr);align-items:center}.hx-sb-ticks{margin-left:264px}}

/* Seasonal hero sun (src/sun.mjs, art in src/art-suns): same box as the plain circle, so swapping art never moves anything */
.top-blob.has-art{background:none;opacity:1;border-radius:0;overflow:visible}
.top-blob .sun-art{display:block;width:100%;height:100%}
@media (max-width:759px){.top-blob.has-art{width:220px;height:220px;right:-90px;top:-70px}}
@media (prefers-reduced-motion:no-preference){.top-blob.has-art{animation:sunbob 6s ease-in-out infinite}}
@keyframes sunbob{50%{transform:translateY(8px) rotate(-3deg)}}
/* Keep headline words clear of the sun's character. Phones: a float notch at the end of the h1's first line (empty ::before,
   so the h1 text is unchanged). Desktop: right padding on the h1 so no line runs into the character. */
.top-blob.has-art~.wrap .h1::before{content:"";float:right;width:96px;height:1em;margin-left:6px}
@media (min-width:760px){.top-blob.has-art~.wrap .h1::before{content:none}.top-blob.has-art~.wrap .h1{padding-right:clamp(0px,calc(960px - 50vw),360px)}}
@media (min-width:760px) and (max-width:1199px){.top-blob.has-art{width:400px;height:400px;right:-150px;top:-30px}.top-blob.has-art~.wrap .h1{padding-right:236px}}

/* Holiday heroes: first paint in the tuned fallback; the HOLD_JS snippet in build.mjs adds .wf once the web font is loaded
   and only where the swap keeps the element's height. Without JS these stay in the (metric-matched) fallback. */
.hx2 .hx-shero h1:not(.wf),.hx2 .hx-lhero h1:not(.wf){font-family:'Bricolage Fallback M','Bricolage Fallback MR',sans-serif}
.hx2 h2.disp:not(.wf){font-family:'Bricolage Fallback','Bricolage Fallback R',sans-serif}
.hx2 .hx-eb:not(.wf){font-family:'Figtree Fallback C','Figtree Fallback CR',sans-serif}
.hx2 .top-sub:not(.wf),.hx2 .hx-chips:not(.wf){font-family:'Figtree Fallback','Figtree Fallback R',system-ui,sans-serif}
.hx2 .top-sub.wf,.hx2 .hx-chips.wf{font-family:'Figtree','Figtree Fallback','Figtree Fallback R',system-ui,sans-serif}
@media (min-width:760px){.hx2 .hx-shero h1:not(.wf),.hx2 .hx-lhero h1:not(.wf){font-family:'Bricolage Fallback L','Bricolage Fallback LR',sans-serif}}
/* Sold out holiday rows/cards stay listed: muted background, greyed art, dark readable text */
.row.pl.sold{background:#F1EFF4}.row.pl.sold .tile{filter:grayscale(1);opacity:.55}
.hx-tags span.sold{background:#3B3654;color:#fff}
/* Free, indoor play, Thanksgiving, Noon Year's Eve pages + guide "With a baby" (src/xpages.mjs). Own classes so the
   holiday-page redesign can change .hx-* freely. Mobile first; nothing here scrolls sideways. */
.xp-banner{margin-top:8px}
.xp-banner img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover;border-radius:28px}
.xp-card{min-width:0}
.xp-card>span:last-child{min-width:0}
.xp-card .tile img{width:34px;height:34px}
.xp-card .row-name{margin:2px 0 0;font-size:19px;line-height:1.2;overflow-wrap:anywhere}
.xp-card .row-where{margin:4px 0 0;overflow-wrap:anywhere}
.xp-card .chips{margin-top:8px}
.xp-card .pl-links{flex-wrap:wrap}
.xp-facts{display:grid;grid-template-columns:1fr;gap:6px;margin:10px 0 0}
.xp-facts div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.45}
.xp-facts dt{font-weight:800;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.xp-facts dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.xp-checked{font-size:13px;color:var(--muted);padding:8px 0;display:inline-flex;align-items:center}
.xp-tba,.xp-open{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.xp-tba li,.xp-open li{background:#fff;border-radius:20px;padding:14px 18px;box-shadow:0 0 0 1px var(--line);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;min-width:0}
.xp-tba li span{color:var(--soft);font-size:14px}
.xp-tba li em,.xp-open li em{flex:1 1 100%;font-style:normal;font-size:14px;color:var(--soft);overflow-wrap:anywhere}
.xp-tba a,.xp-open a{color:var(--indigo);font-weight:700}
.xp-tba .xp-checked{padding:0;display:inline}
.xp-st{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 10px}
.xp-st.is-open{background:#DDF1E7;color:#1F6F55}
.xp-st.is-closed{background:#FFE6DC;color:#C93A17}
.xp-st.is-check{background:#FFF3C4;color:#7A5A00}
.xp-links{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.xp-link{display:flex;gap:14px;align-items:center;background:#fff;border-radius:22px;padding:14px 18px;box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink);min-width:0}
.xp-link:hover{box-shadow:0 0 0 2px var(--indigo)}
.xp-link img{flex:none;width:40px;height:40px}
.xp-link strong{display:block;font-size:17px}
.xp-link em{display:block;font-style:normal;font-size:14px;color:var(--soft)}
.xp-sub{font-size:16px;margin:26px 0 0;color:var(--ink)}
.xp-sub+.list{margin-top:10px}
@media (min-width:760px){
  .xp-facts div{grid-template-columns:120px minmax(0,1fr)}
  .xp-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-tba,.xp-open{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* City topic pages: /<slug>/thanksgiving/, /noon-years-eve/, /free/, /indoor-play/ (src/topic-ui.mjs).
   From David's topic-page designs (designs-topic-1019). Every class is tp-* so nothing leaks into other pages. */
.tp{--tp-ink:#1E1B3A;--tp-body:#3D3A5C;--tp-muted:#6B6785;--tp-accent:#4B32D6;--tp-lav:#F1EDFF;--tp-line:#EDE4D3;--tp-line2:#E6DCC8;--tp-topic:#4B32D6;--tp-em:#4B32D6;--tp-cnt-bg:#F1EDFF;--tp-cnt-fg:#4B32D6;font-family:Figtree,system-ui,sans-serif;color:var(--tp-ink);font-size:17px;line-height:1.55;overflow-x:clip}
.tp *,.tp *::before,.tp *::after{box-sizing:border-box}
.tp h1,.tp h2,.tp h3,.tp p,.tp dl,.tp dd,.tp ul{margin:0}
.tp a{color:var(--tp-accent)}.tp a:hover{color:#2E1C9C}
.tp a:focus-visible,.tp button:focus-visible,.tp input:focus-visible,.tp select:focus-visible,.tp summary:focus-visible{outline:3px solid #4B32D6;outline-offset:3px}
.tp-free-pg{--tp-topic:#17603A;--tp-em:#17603A;--tp-cnt-bg:#DDF3E6;--tp-cnt-fg:#17603A}
.tp-indoor-pg{--tp-topic:#2A3E9C;--tp-em:#2A3E9C;--tp-cnt-bg:#EAF0FF;--tp-cnt-fg:#2A3E9C}
.tp-tg-pg{--tp-topic:#C93A17}
.tp-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.tp-d{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.04;color:var(--tp-ink)}
.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;line-height:1.2;text-align:center}
.tp a.tp-btn.dark,.tp .tp-btn.dark{background:#1E1B3A;color:#FFF8EE}.tp a.tp-btn.dark:hover{background:#38335F;color:#FFF8EE}
.tp a.tp-btn.ghost,.tp .tp-btn.ghost{background:#fff;color:#1E1B3A;border:1.5px solid #E6DCC8}.tp a.tp-btn.ghost:hover{border-color:#CFC2EE;color:#1E1B3A}
.tp-eb{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tp-accent)}
.tp-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;background:#fff;border:1px solid #E6DCC8;color:#1E1B3A;white-space:nowrap;line-height:1.35;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tp-chip.k-topic{background:var(--tp-topic);border-color:var(--tp-topic);color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.tp-chip.t-free,.tp-chip.t-open{background:#DDF3E6;color:#17603A;border-color:#BFE6CE}
.tp-chip.t-kid{background:#EAF0FF;color:#2A3E9C;border-color:#D3DEFF}
.tp-chip.t-warn{background:#FFF1C7;color:#6E4B00;border-color:#F3DE9A}
.tp-chip.t-closed{background:#FFE1DA;color:#962812;border-color:#F8C6BA}
.tp-chip.t-sold{background:#FFE1DA;color:#962812;border-color:#F8C6BA}
/* hero */
.tp-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:center;padding:36px 0 40px}
.tp-free-pg .tp-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.tp-indoor-pg .tp-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.tp-chips{display:flex;flex-wrap:wrap;gap:8px}
.tp-h1{font-size:62px;margin-top:18px}
.tp-h1 em{font-style:normal;color:var(--tp-em)}
.tp .top-sub{font-size:19px;color:var(--tp-body);max-width:600px;margin-top:18px}
.tp-meta{font-size:14px;color:var(--tp-muted);margin-top:14px}
.tp-hero-art img{display:block;width:100%;height:auto}
.tp-hero-mini{display:block;width:210px;height:210px;margin:-12px auto 4px}
.tp-quick{margin-top:28px;background:#fff;border:1px solid var(--tp-line);border-radius:22px;overflow:hidden}
.tp-quick-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:var(--tp-lav);font-size:14px;font-weight:700}
.tp-quick-h span+span{font-weight:500;color:#5A5677}
.tp a.tp-qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 20px;border-top:1px solid #F1EADB;text-decoration:none;color:var(--tp-ink)}
.tp a.tp-qrow:hover{background:#FFFBF4;color:var(--tp-ink)}
.tp-qq{display:block;font-weight:600}
.tp-qa{display:block;font-size:15px;color:var(--tp-body)}
/* sticky section chips */
.tp-jumpbar{position:sticky;top:var(--tp-head,64px);z-index:20;background:#FFF8EE;border-top:1px solid var(--tp-line);border-bottom:1px solid var(--tp-line)}
.tp-jumpbar .city-tabs.jump-row{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:12px 0;margin:0;scrollbar-width:none}
.tp-jumpbar .jump-row::-webkit-scrollbar{display:none}
.tp-jumpbar .jump-row a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #E6DCC8;color:var(--tp-ink);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.tp-jumpbar .jump-row a span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--tp-cnt-bg);color:var(--tp-cnt-fg);font-size:13px}
/* sections */
.tp-sec{position:relative;padding-top:60px;padding-bottom:60px;scroll-margin-top:calc(var(--tp-head,64px) + 72px)}
.tp-sec+.tp-sec{border-top:1px solid var(--tp-line)}
.tp-h2{font-size:42px;margin-top:8px}
.tp-intro{color:var(--tp-body);max-width:660px;margin-top:10px}
.tp-secart{position:absolute;right:32px;top:44px;width:150px;height:150px}
.tp-has-art>.tp-eb,.tp-has-art>.tp-h2,.tp-has-art>.tp-intro{padding-right:180px}
.tp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.tp-card{background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:20px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;min-width:0}
.tp-card.later{background:#FFFCF6;border-style:dashed;border-width:2px}
.tp-date{border-radius:16px;background:var(--tp-lav);text-align:center;padding:10px 0 9px;align-self:start}
.tp-date .m{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tp-accent)}
.tp-date .d{display:block;font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:30px;line-height:1.05}
.tp-date .w{display:block;font-size:12px;font-weight:600;color:var(--tp-muted)}
.tp-date.grey{background:#F3EFE6}.tp-date.grey .m{color:var(--tp-muted)}
.tp-ct{font-size:21px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.tp-place{font-size:15px;color:var(--tp-muted);margin-top:2px;overflow-wrap:anywhere}
.tp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tp-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin-top:14px;font-size:15px}
.tp-facts dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-muted);padding-top:2px}
.tp-facts dd{overflow-wrap:anywhere}
.tp-kidnote{margin-top:14px;background:#FFF8EE;border-radius:14px;padding:10px 14px;font-size:15px}
.tp-kidnote b{color:var(--tp-accent)}
.tp-lastyr{margin-top:14px;border-radius:14px;padding:12px 14px;font-size:15px;background:#F3EFE6}
.tp-lastyr b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-muted)}
.tp-cfoot{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--tp-muted)}
.tp-cfoot .go{font-weight:700;font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.tp-cfoot .rp-link,.tp-cfoot .tp-rep{margin-left:auto;color:var(--tp-muted);font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.tp-cfoot .tp-src{color:var(--tp-muted)}
.tp-tip{border:2px dashed #E6DCC8;border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:var(--tp-body);background:rgba(255,255,255,.45)}
.tp-tip img{width:84px;height:84px;display:block}
.tp-tip b{color:var(--tp-ink);font-size:18px}
.tp-tip .tp-btn{align-self:flex-start}
.tp-empty{border:2px dashed #E6DCC8;border-radius:22px;padding:24px;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center;margin-top:28px;background:rgba(255,255,255,.55)}
.tp-empty img{width:96px;height:96px;display:block}
.tp-empty b{font-size:19px}
.tp-empty p{margin-top:4px;color:var(--tp-body)}
/* Thanksgiving */
.tp-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.tp-day{background:#fff;border:1px solid var(--tp-line);border-radius:20px;padding:16px;min-height:170px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tp-day .dn{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:22px;line-height:1}
.tp-day .dd{font-size:13px;font-weight:600;color:var(--tp-muted)}
.tp a.tp-pill{display:block;padding:10px 12px;border-radius:12px;background:var(--tp-lav);color:var(--tp-ink);text-decoration:none;font-size:14.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.tp a.tp-pill.free{background:#DDF3E6}
.tp a.tp-pill small{display:block;font-weight:500;color:#5A5677;font-size:13px;margin-top:2px}
.tp-hours{margin-top:28px;background:#fff;border:1px solid var(--tp-line);border-radius:22px;overflow:hidden}
.tp-hrow{display:grid;grid-template-columns:minmax(0,1.2fr) 150px minmax(0,1.3fr) auto;gap:16px;align-items:center;padding:16px 20px;border-top:1px solid #F1EADB}
.tp-hrow:first-child{border-top:0}
.tp-hrow.head{background:#FFFBF4;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-muted);padding:10px 20px}
.tp-hrow .nm{font-weight:700;overflow-wrap:anywhere}
.tp-hrow .nt{font-size:15px;color:var(--tp-body)}
.tp-hrow .ck{font-size:13px;color:var(--tp-muted);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
/* Noon Year's Eve */
.tp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:32px;background:#1E1B3A;border-radius:24px;padding:28px;color:#FFF8EE}
.tp-step{padding:0 20px;border-left:1px dashed rgba(255,248,238,.28)}
.tp-step:first-child{border-left:0;padding-left:0}
.tp-step .tm{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:34px;line-height:1;color:#FFC53D}
.tp-step b{display:block;margin-top:12px;font-size:18px}
.tp-step span{display:block;margin-top:4px;color:#D8D3EA;font-size:15px}
.tp-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.tp-tipc{background:#fff;border:1px solid var(--tp-line);border-radius:20px;padding:20px}
.tp-tipc img{width:96px;height:96px;display:block;margin-bottom:6px}
.tp-tipc b{display:block;font-size:18px;margin-top:10px}
.tp-tipc span.tx{display:block;color:var(--tp-body);font-size:15px;margin-top:4px}
/* Free */
.tp-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tp a.tp-count{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--tp-line);text-decoration:none;color:var(--tp-ink);min-width:0}
.tp a.tp-count:hover{border-color:#BFE6CE;color:var(--tp-ink)}
.tp-count .n{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:48px;line-height:1;color:#17603A}
.tp-count .l{font-weight:600;font-size:16px;line-height:1.3}
.tp-count .s{font-size:14px;color:var(--tp-muted);overflow-wrap:anywhere}
.tp-dayf{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tp-dayf button{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #E6DCC8;background:#fff;color:var(--tp-ink);font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.tp-dayf button[aria-pressed="true"]{background:#1E1B3A;border-color:#1E1B3A;color:#FFF8EE}
.tp-wk{margin-top:18px;background:#fff;border:1px solid var(--tp-line);border-radius:22px;overflow:hidden}
.tp-wrow{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,220px);gap:20px;padding:18px 20px;border-top:1px solid #F1EADB;align-items:start}
.tp-wrow:first-child{border-top:0}
.tp-wrow[hidden]{display:none}
.tp-wrow .when{font-weight:700;font-size:15px;color:#17603A}
.tp-wrow .when small{display:block;font-weight:500;color:var(--tp-muted);font-size:13px}
.tp-wrow .ages{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tp-wrow .tp-ct{font-size:19px}
.tp-desc{font-size:15px;color:var(--tp-body);margin-top:8px}
.tp-wnone{padding:18px 20px;color:var(--tp-body)}
.tp-more{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:#FFFBF4;border-top:1px solid #F1EADB;font-weight:600}
.tp-who{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:14px;color:var(--tp-body);align-items:center}
.tp-fdays{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.tp-fday{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) minmax(0,260px);gap:20px;align-items:start;background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:20px}
.tp-fday .tp-cfoot{margin-top:12px}
.tp-dates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tp-dpill{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 8px;border-radius:12px;background:#DDF3E6;color:#17603A;line-height:1.1}
.tp-dpill b{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-size:22px;font-weight:800}
.tp-dpill span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tp-dpill.more b{font-size:16px}
.tp-dates .to{font-size:12px;font-weight:700;color:var(--tp-muted)}
.tp-dwhen{font-size:14px;font-weight:600;color:#17603A}
.tp-elig{border-radius:16px;padding:12px 14px;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.tp-elig b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.tp-elig.e-all{background:#DDF3E6;color:#14532F}
.tp-elig.e-res{background:#EAF0FF;color:#22337F}
.tp-elig.e-card{background:#FFF1C7;color:#5C3F00}
.tp-elig.e-other{background:#F3EFE6;color:#3D3A5C}
.tp-places{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.tp-plc{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--tp-line);min-width:0}
.tp-plc img{width:84px;height:84px;display:block;margin-bottom:4px}
.tp-plc h3{font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.tp-plc .ar{font-size:14px;color:var(--tp-muted);overflow-wrap:anywhere}
.tp-plc .nt{font-size:14.5px;color:var(--tp-body)}
.tp-plc .lk{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:auto;padding-top:6px}
.tp-plc .lk a{font-size:14px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.tp-plc .lk .rp-link{font-weight:400;font-size:13px}
.tp-cost{margin-top:16px;display:flex;gap:10px;align-items:center;font-size:15px;color:var(--tp-body);background:#FFF1C7;border-radius:16px;padding:12px 16px}
.tp-story{margin-top:24px;display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:24px;align-items:center;background:#F1EDFF;border-radius:24px;padding:28px}
.tp-story>img{width:130px;height:130px;display:block}
.tp-story .tp-ct{font-size:24px}
.tp-story .tp-desc{font-size:16px}
.tp-ages3{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
/* Indoor play */
.tp-decide{background:#fff;border:1px solid var(--tp-line);border-radius:24px;overflow:hidden}
.tp-decide-h{padding:16px 20px;background:#EAF0FF;font-weight:700;font-size:15px;display:flex;justify-content:space-between;gap:12px}
.tp-decide-h span+span{font-weight:500;color:#5A5677}
.tp a.tp-drow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 20px;border-top:1px solid #F1EADB;text-decoration:none;color:var(--tp-ink)}
.tp a.tp-drow:hover{background:#FFFBF4;color:var(--tp-ink)}
.tp-drow small{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-muted)}
.tp-drow b{font-size:17px}
.tp-drow .pr{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:22px;color:#2A3E9C}
.tp-dnone{padding:14px 20px;border-top:1px solid #F1EADB;font-size:15px;color:var(--tp-body)}
.tp-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-top:24px}
.tp-fl{display:flex;flex-wrap:wrap;gap:8px}
.tp-fl button{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #E6DCC8;background:#fff;color:var(--tp-ink);font:inherit;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.tp-fl button span{font-size:13px;color:var(--tp-muted)}
.tp-fl button[aria-pressed="true"]{background:#1E1B3A;border-color:#1E1B3A;color:#FFF8EE}
.tp-fl button[aria-pressed="true"] span{color:#D8D3EA}
.tp-sort{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.tp-sort button{min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid #E6DCC8;background:#fff;color:var(--tp-ink);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.tp-sort button[aria-pressed="true"]{border-color:#2A3E9C;background:#EAF0FF;color:#2A3E9C}
.tp-list{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.tp-pcard{background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:20px 22px;min-width:0}
.tp-pcard[hidden]{display:none}
.tp-ptop{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:start}
.tp-pic{width:80px;height:80px;display:block}
.tp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.tp-tile{border-radius:14px;background:#FFF8EE;padding:10px 12px;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.tp-tile b{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-muted);margin-bottom:2px}
.tp-tile.hi{background:#EAF0FF}.tp-tile.free{background:#DDF3E6}
.tp-tile.tp-na{color:var(--tp-muted)}
.tp-pdesc{margin-top:14px;font-size:15.5px;color:var(--tp-body)}
.tp-phours{margin-top:6px;font-size:14px;color:var(--tp-muted)}
.tp-pack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.tp-pk{background:#fff;border:1px solid var(--tp-line);border-radius:20px;padding:20px}
.tp-pk img{width:96px;height:96px;display:block;margin-bottom:6px}
.tp-pk b{display:block;font-size:18px;margin-top:10px}
.tp-pk span.tx{display:block;color:var(--tp-body);font-size:15px;margin-top:4px}
.tp-nores{padding:18px 20px;border:2px dashed #E6DCC8;border-radius:22px;color:var(--tp-body)}
/* keep planning, FAQ, cities, newsletter, skyline */
.tp-rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.tp a.tp-rcard{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--tp-line);text-decoration:none;color:var(--tp-ink);min-height:150px}
.tp a.tp-rcard:hover{border-color:#CFC2EE;color:var(--tp-ink)}
.tp-rcard img{width:72px;height:72px;display:block}
.tp-rcard b{font-size:17px;line-height:1.25}
.tp-rcard span{font-size:14px;color:var(--tp-muted)}
.tp-faq{margin-top:20px;max-width:840px}
.tp-q{border-top:1px solid #E6DCC8}
.tp-q:last-child{border-bottom:1px solid #E6DCC8}
.tp-q h3{margin:0;font-size:inherit}
.tp-q button{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:64px;padding:16px 0;background:none;border:0;font:inherit;font-weight:700;font-size:18px;text-align:left;color:var(--tp-ink);cursor:pointer}
.tp-q button i{font-style:normal;flex:none;width:32px;height:32px;border-radius:999px;background:var(--tp-lav);color:var(--tp-accent);display:grid;place-items:center;font-size:20px;font-weight:700}
.tp-q button i::before{content:"−"}.tp-q button[aria-expanded="false"] i::before{content:"+"}
.tp-q .a{padding:0 48px 20px 0;color:var(--tp-body);max-width:740px}
.tp-q .a[hidden]{display:none}
.tp-cities{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.tp-cities label{font-weight:600;font-size:15px}
.tp-cities select{min-height:48px;border-radius:14px;border:1.5px solid #E6DCC8;background:#fff;padding:0 14px;font:inherit;color:var(--tp-ink);min-width:240px;max-width:100%}
.tp-cities .or{color:var(--tp-muted);font-size:15px}
.tp-near{display:flex;flex-wrap:wrap;gap:8px}
.tp a.tp-nchip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #E6DCC8;text-decoration:none;color:var(--tp-ink);font-weight:600;font-size:15px}
.tp-allc{margin-top:18px}
.tp-allc summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--tp-accent);min-height:44px;display:inline-flex;align-items:center}
.tp-allc ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}
.tp-allc li a{display:inline-block;padding:6px 0}
.tp-nlw{padding-bottom:40px}
.tp-nlw #email{padding:0}
.tp-nlw #email .wrap{max-width:none;padding:0}
.tp-nlw .nl{background:#1E1B3A;color:#FFF8EE;border-radius:28px;padding:40px;display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;position:relative;overflow:hidden}
.tp-nlw .nl .nl-art{position:static;width:130px;height:130px;opacity:1;border-radius:0}
.tp-nlw .nl h2{color:#FFF8EE;font-size:38px;font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.04;margin:0}
.tp-nlw .nl p{color:#D8D3EA;margin-top:10px}
.tp-nlw .nl .nl-row button{background:#FFC53D;color:#1E1B3A}
.tp-nlw .nl .nl-note{color:#D8D3EA}
.tp-nlw .nl::before{width:180px;height:180px;right:-70px;top:-90px}
.tp-nlw .nl>*{position:relative}
.tp-sky{display:block;width:100%;height:auto;margin-top:24px}
@media (max-width:860px){
 .tp{font-size:16.5px}
 .tp-wrap{padding:0 20px}
 .tp-hero,.tp-free-pg .tp-hero,.tp-indoor-pg .tp-hero{grid-template-columns:minmax(0,1fr);gap:8px;padding:20px 0 28px}
 .tp-free-pg .tp-hero,.tp-indoor-pg .tp-hero{gap:24px}
 .tp-hero-art{order:-1;width:150px}
 .tp-hero-mini{width:150px;height:150px;margin:0 0 4px}
 .tp-h1{font-size:40px}
 .tp-h2{font-size:31px}
 .tp .top-sub{font-size:17px}
 .tp-sec{padding-top:44px;padding-bottom:44px}
 .tp-secart{right:20px;top:36px;width:80px;height:80px}
 .tp-has-art>.tp-eb,.tp-has-art>.tp-h2{padding-right:92px}
 .tp-has-art>.tp-intro{padding-right:0}
 .tp-cards,.tp-rel,.tp-tips,.tp-pack{grid-template-columns:minmax(0,1fr)}
 .tp-days{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tp-hrow{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
 .tp-hrow.head{display:none}
 .tp-hrow .nt,.tp-hrow .ck{grid-column:1/-1}
 .tp-empty{grid-template-columns:72px minmax(0,1fr)}
 .tp-empty img{width:72px;height:72px}
 .tp-empty .tp-btn{grid-column:1/-1}
 .tp-card{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:16px}
 .tp-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;padding:22px}
 .tp-step:nth-child(3){border-left:0;padding-left:0}
 .tp-count{padding:16px}
 .tp-count .n{font-size:38px}
 .tp-fday{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
 .tp-wrow{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px}
 .tp-wrow .ages{justify-content:flex-start}
 .tp-places{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tp-plc img{width:64px;height:64px}
 .tp-story{grid-template-columns:minmax(0,1fr);padding:22px}
 .tp-story>img{width:96px;height:96px}
 .tp-ptop{grid-template-columns:60px minmax(0,1fr)}
 .tp-ptop .tp-chip{grid-column:2;justify-self:start}
 .tp-pic{width:60px;height:60px}
 .tp-pcard{padding:16px}
 .tp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tp-fl{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}
 .tp-fl button{flex:none}
 .tp-nlw .nl{grid-template-columns:minmax(0,1fr);padding:28px;gap:18px}
 .tp-nlw .nl .nl-art{width:96px;height:96px}
 .tp-nlw .nl h2{font-size:30px}
 .tp-q .a{padding-right:0}
 .tp-cities select{min-width:0;width:100%}
}
@media (max-width:420px){.tp-places{grid-template-columns:minmax(0,1fr)}.tp-cfoot .rp-link{margin-left:0}}
.tp-dnone{margin:10px 0 0;font-size:13.5px;color:var(--tp-muted)}
/* Sold out: kept on the page, muted but readable (text stays dark; only art and dates are greyed), Sold out chip below */
.tp-card.tp-sold,.tp-wrow.tp-sold,.tp-fday.tp-sold{background:#F1EFF4}
.tp-card.tp-sold .tp-ct,.tp-wrow.tp-sold .tp-ct,.tp-fday.tp-sold .tp-ct{color:#4A4668}
.tp-card.tp-sold .tp-date,.tp-card.tp-sold img,.tp-fday.tp-sold .tp-dates,.tp-wrow.tp-sold .when{filter:grayscale(1);opacity:.7}
.tp-sold .tp-chip.t-sold{background:#3B3654;color:#fff;border-color:#3B3654}
/* Event pages (/<city>/events/<slug>/) and the share button on every event card (src/eventpages.mjs). */
.ev-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #E6DCC8;background:#fff;color:#1E1B3A;font:700 14px/1.2 Figtree,system-ui,sans-serif;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.ev-share:hover{border-color:#CFC2EE;color:#4B32D6}
.ev-share:focus-visible{outline:3px solid #4B32D6;outline-offset:3px}
.ev-share svg{flex:none}
.ev-share.done{background:#DDF3E6;border-color:#BFE6CE;color:#17603A}
/* card wrappers: the share button sits beside the card's own button/link (never nested inside it) */
.evw{position:relative;display:flex;min-width:0}
.evw>.pick,.evw>.row{flex:1 1 auto;min-width:0}
.picks>.evw{flex:0 0 84%;max-width:340px;scroll-snap-align:start}
.picks>.evw>.pick{max-width:none;flex:1 1 auto}
.ev-fab{position:absolute;right:12px;top:134px;width:44px;height:44px;padding:0;border:0;background:rgba(255,255,255,.94);box-shadow:0 6px 16px -8px rgba(30,27,58,.55)}
.ev-fab span,.ev-side span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evw-row>.row{padding-right:64px}
.evw-row>.row .arrow{display:none}
.ev-side{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0}
.ev-mini{min-height:36px;padding:0 12px;font-size:13px}
.ev-inline{min-height:40px;padding:0 14px;font-size:14px}
.ev-dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#FFF8EE}
.ev-dark:hover{color:#FFC53D;border-color:rgba(255,255,255,.5)}
.sheet-actions .a-share{flex:0 0 auto;min-height:46px;border-radius:14px;border:0;background:rgba(255,255,255,.6);padding:0 14px}
.sheet-link{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:rgba(30,27,58,.25)}
.sheet-link:hover{text-decoration-color:currentColor}
.sheet-page{margin:12px 0 0;font-size:14px;color:var(--ink)}
.sheet-page a{font-weight:700;color:var(--ink)}
.ev-li{position:relative}
.ev-li>.plan-step{padding-right:64px}.ev-li>.plan-step .go{display:none}
.cotw-picks li.ev-li{position:relative}.cotw-picks li.ev-li>a{padding-right:64px}
.cotw-picks .ev-side{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#FFF8EE}
.ev-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);z-index:2147483646;background:#1E1B3A;color:#FFF8EE;font:700 15px/1.3 Figtree,system-ui,sans-serif;padding:12px 18px;border-radius:999px;box-shadow:0 12px 30px -12px rgba(30,27,58,.6);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ev-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.ev-toast{transition:none}}
@media (min-width:900px){.picks>.evw{max-width:none}}
/* the event page */
.ev-pg{padding-bottom:8px}
.ev-wrap{max-width:860px}
.ev-crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:22px 0 0;font-size:14px;font-weight:600}
.ev-crumbs a{color:var(--tp-muted);text-decoration:none}.ev-crumbs a:hover{color:var(--tp-accent);text-decoration:underline}
.ev-crumbs span{color:#B8B2C9}
.ev-gone{margin-top:16px;background:#FFF1C7;border:1px solid #F3DE9A;border-radius:18px;padding:14px 16px;font-size:15px;color:#4A3800}
.ev-gone a{font-weight:700;color:#1E1B3A}
/* the card is the weekly detail sheet (.sheet-top/.sheet-hero/.glance/.blk/.times/.facts/.note from city-template.html), sat on the page */
.ev-stage{background:linear-gradient(180deg,var(--ev-bg,#FFF1D6) 0,var(--ev-bg,#FFF1D6) 220px,rgba(255,248,238,0) 560px);padding-bottom:12px}
.ev-sheet{position:relative;margin:14px auto 0;max-width:640px;background:var(--cream);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(30,27,58,.55),0 0 0 1px rgba(30,27,58,.06)}
.ev-sheet .sheet-top{padding:20px 20px 22px}
.ev-sheet .x{text-decoration:none;color:var(--ink);z-index:1}
.ev-sheet .x:focus-visible{outline:3px solid #4B32D6;outline-offset:2px}
.ev-sheet .sheet-art{margin:0 0 14px}
.ev-sheet .sheet-art+.sheet-hero{padding-right:0}
.ev-sheet .sheet-hero h1{overflow-wrap:anywhere;font-weight:800;letter-spacing:-.02em}
.ev-sheet .tile img{width:50px;height:50px}
.ev-chips{margin-top:12px}
.ev-chips .chip{background:rgba(255,255,255,.78)}
.ev-chips .chip.free{background:#DDF1E7}.ev-chips .chip.in{background:#E3EDFF}.ev-chips .chip.sold{background:#3B3654;color:#fff}
.ev-sheet .sheet-short{margin-top:12px}
.ev-sheet .sheet-sold{margin-top:12px}
.ev-sheet .sheet-actions .a-share{background:rgba(255,255,255,.72);color:var(--ink)}
.ev-sheet .sheet-body{padding-top:18px}
.ev-sheet .fact .ev-map{display:inline-flex;align-items:center;min-height:32px;font-weight:700;color:#1F6F55;white-space:nowrap}
.ev-sheet.sold .sheet-top{background:#E4E1EA !important}
.ev-sheet.sold .sheet-art,.ev-sheet.sold .tile{filter:grayscale(1);opacity:.6}
.ev-sheet.sold .sheet-hero h1{color:#4A4668}
.ev-is-past .ev-sheet .sheet-top{filter:grayscale(.7)}
.ev-chk{margin:0;font-size:13px;color:var(--muted)}
.ev-chk a{color:inherit;font-weight:600}
.ev-links{margin-top:-10px}
.ev-links .rp-link{margin-left:2px}
.ev-stage .ev-crumbs,.ev-stage .ev-gone{max-width:640px;margin-left:auto;margin-right:auto}
.ev-stage .ev-crumbs{padding-top:18px}
.ev-more{margin-top:40px}
.ev-rel{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ev-rc{position:relative;background:#fff;border:1px solid var(--tp-line);border-radius:20px;min-width:0}
.ev-rc>a{display:flex;flex-direction:column;gap:3px;padding:16px 16px 60px;color:var(--tp-ink);text-decoration:none;height:100%}
.ev-rc>a:hover strong{color:var(--tp-accent)}
.ev-rc-d{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#C93A17}
.ev-rc strong{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:19px;line-height:1.12;overflow-wrap:anywhere}
.ev-rc>a>span:last-child{font-size:14px;color:var(--tp-body)}
.ev-rc .ev-mini{position:absolute;left:16px;bottom:12px}
.ev-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media (max-width:640px){.ev-rel{grid-template-columns:minmax(0,1fr)}.ev-wrap{padding:0 16px}.ev-stage .ev-wrap{padding:0 12px}.ev-sheet{border-radius:24px}.ev-sheet .sheet-top{padding:16px 16px 20px}.ev-sheet .sheet-body{padding:16px 16px 26px}.ev-sheet .sheet-actions{gap:6px}.ev-sheet .sheet-actions a{font-size:14px;gap:4px}.ev-sheet .sheet-actions .a-share{padding:0 12px}.ev-cta>*{flex:1 1 100%}}
@media (min-width:760px){.ev-sheet{margin-top:22px}.ev-sheet .sheet-top{padding:28px 28px 24px}.ev-stage{padding-bottom:20px}}
/* the shared "already happened" page (404.html) */
.lw-gone{text-align:left;padding:40px 0 30px;max-width:680px}
.lw-gone-name{margin-top:12px;font-weight:700;color:var(--soft)}
.lw-gone-cta{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:22px}
.lw-gone-b{font-weight:700;color:var(--indigo)}
.lw-gone-list{margin-top:30px}
.lw-gone-list h2{font-size:24px}
.lw-gone-list ol{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.lw-gone-list a{display:flex;flex-direction:column;gap:2px;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 0 0 1px rgba(30,27,58,.08);color:var(--ink);text-decoration:none}
.lw-gone-list a:hover{box-shadow:0 0 0 2px var(--indigo)}
.lw-gone-list strong{font-family:'Bricolage Grotesque',Figtree,sans-serif;font-weight:800;font-size:18px}
.lw-gone-list span{font-size:14px;color:var(--soft)}
/* topic-page link colors must not leak into the sheet's buttons */
.ev-sheet .sheet-actions a.a-dir{color:#fff}
.ev-sheet .sheet-actions a.a-web{color:var(--ink)}
.ev-sheet .sheet-actions a:hover{filter:brightness(1.06)}

.skyline-img{display:block;width:100%;height:100%;object-fit:cover;object-position:bottom center}
