/* Townline Banner look (2026-10-08, founder order): the founder's own banner on top of every Townline page,
   a bright sky / lake-turquoise / silver-chrome / sunset look, no dark blocks, no gold outside the banner image,
   no rainbow. Loaded LAST by scripts/inject-townline-fresh.mjs. Header/footer markup: assets/arqs-brand.js.
   Contrast: white on #1a66cc 5.5:1, on #08798a 5.1:1; #1557b0 on white 6.9:1; #3b5573 on #eef7ff 7.1:1. */
html:root{--tlb-sky:#1e6fd9;--tlb-sky-d:#1557b0;--tlb-turq:#22c3cf;--tlb-turq-d:#08798a;--tlb-ink:#0f2a47;--tlb-ink-2:#3b5573;
  --tlb-silver:#e9eff6;--tlb-peach:#ffb48a;--tlb-blossom:#f3b6d8;--tlb-lav:#c7b3f0;--tlb-r:20px;--tlb-r-sm:14px;
  --tlb-shadow:0 10px 30px rgba(20,70,140,.10),0 2px 6px rgba(20,70,140,.06);--tlb-shadow-h:0 22px 48px rgba(20,70,140,.18),0 4px 10px rgba(20,70,140,.08);
  --tlb-btn:linear-gradient(135deg,#1a6fd6 0%,#1760c4 50%,#0f4fa8 100%);--tlb-ease:cubic-bezier(.2,.7,.2,1)}
html:root body:is(.tlf,.townline-brand-unified,.tlp-global){
  --tle-spectrum:linear-gradient(90deg,#1a6fd6,#0f4fa8);
  --tlf-btn:linear-gradient(135deg,#ffffff 0%,#e6f2ff 55%,#d5f5f6 100%);--tlf-btn-soft:linear-gradient(135deg,#ffffff,#eef6ff);
  --tlf-ink:var(--tlb-ink);--tlf-ink-2:var(--tlb-ink-2);--tle-ink:var(--tlb-ink);--tle-ink-2:var(--tlb-ink-2);--tle-paper:#f4f9ff;--tle-paper-2:#eaf4ff;--tle-accent:var(--tlb-sky-d);
  --tlp-gold:#1e6fd9;--tlp-gold-2:#22c3cf;--accent:#1557b0!important;--accent-2:#08798a!important;--ink:var(--tlb-ink)!important;--muted:var(--tlb-ink-2)!important;
  background:linear-gradient(180deg,#eef7ff 0,#ffffff 28%,#f4faff 70%,#fff5ee 100%) fixed!important;color:var(--tlb-ink)!important}
html:root body:is(.tlf,.tlp-global)::before{background:none!important}

/* ---------- header v2 (founder, 2026-10-08 21:35): cropped banner art (top only: wordmark, mountains, heartbeat,
   tagline) + a deep-sky glass bar that rebuilds the picture's icons, search and town strip as REAL working HTML.
   The bar is the banner's own sky; the nav stays pinned. No gold here (gold lives only inside the art). ---------- */
html:root body .tl-master-header.tlb-header.tlb-header{position:sticky!important;top:calc(-1 * var(--tlb-mh,9999px))!important;z-index:9999!important;display:block!important;background:#0b3570!important;border:0!important;box-shadow:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#fff!important;max-width:100vw;box-sizing:border-box}
html:root body.tle-scrolled .tl-master-header.tlb-header.tlb-header,html:root body.tlb-scrolled .tl-master-header.tlb-header.tlb-header{box-shadow:0 14px 30px -14px rgba(8,30,70,.55)!important}
html:root body .tlb-header .tlb-banner{display:block!important;position:relative;overflow:hidden;line-height:0;background:#0e3f80;margin:0!important;padding:0!important;width:100%!important}
html:root body .tlb-header .tlb-banner img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:1983/330;object-fit:cover!important;object-position:50% 50%;filter:none!important;border-radius:0!important;transform-origin:50% 60%}
html:root body .tlb-header .tlb-banner::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 47%,rgba(190,240,255,.22) 52%,transparent 64%) 160% 0/260% 100% no-repeat;mix-blend-mode:screen}
/* the glass bar: same deep sky as the bottom of the art, soft light from above, hairline chrome edge */
html:root body .tlb-header .tlb-bar{position:relative;display:block!important;background:radial-gradient(120% 90% at 50% -30%,rgba(110,190,255,.30),transparent 60%),linear-gradient(180deg,#0f4589 0%,#0c3a78 55%,#0b3570 100%)!important;border-top:1px solid rgba(190,225,255,.28);padding:10px max(14px,env(safe-area-inset-left)) 12px!important;color:#fff!important}
html:root body .tlb-header .tlb-bar *{-webkit-text-fill-color:currentColor;text-shadow:none!important}
html:root body .tlb-header .tlb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html:root body .tlb-header .tlb-radar{display:flex!important;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 12px;padding:0 0 8px!important;text-align:center;background:none!important}
html:root body .tlb-header .tlb-radar strong{font:900 12.5px/1.2 "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:.26em!important;color:#fff!important;background:none!important}
html:root body .tlb-header .tlb-radar strong span{color:#8fe9f0!important}
html:root body .tlb-header .tlb-radar em{font:600 12.5px/1.2 "TL Inter",Inter,system-ui,sans-serif!important;font-style:normal!important;color:#d6e8ff!important}
/* round glossy icon buttons */
html:root body .tlb-header nav.tlb-icons{display:flex!important;justify-content:center;gap:4px 6px;margin:0 auto!important;padding:2px 0 4px!important;max-width:1180px;background:none!important;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
html:root body .tlb-header nav.tlb-icons::-webkit-scrollbar{display:none}
html:root body .tlb-header a.tlb-ib{flex:1 0 0;min-width:92px;max-width:140px;display:flex!important;flex-direction:column;align-items:center;gap:3px;padding:4px 2px 6px!important;border-radius:16px!important;text-decoration:none!important;color:#fff!important;background:none!important;border:0!important;box-shadow:none!important;scroll-snap-align:start;transition:background .2s}
html:root body .tlb-header .tlb-ib-orb{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;background:radial-gradient(70% 55% at 50% 18%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%),linear-gradient(160deg,#3d8ff0 0%,#1a66cc 50%,#0c4fa3 100%);border:1.5px solid rgba(225,240,255,.85);box-shadow:0 6px 16px rgba(4,20,60,.45),inset 0 -4px 8px rgba(5,40,100,.35),0 0 0 3px rgba(120,200,255,.16);transition:transform .25s var(--tlb-ease),box-shadow .25s}
html:root body .tlb-header .tlb-ib-orb svg{width:26px;height:26px;display:block;stroke:#fff;filter:drop-shadow(0 1px 1px rgba(0,20,60,.35))}
html:root body .tlb-header .tlb-ib-l{font:800 13px/1.15 "TL Inter",Inter,system-ui,sans-serif!important;color:#fff!important;white-space:nowrap;margin-top:3px}
html:root body .tlb-header .tlb-ib-s{font:700 9.5px/1.1 "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;color:#bfe0ff!important;white-space:nowrap}
html:root body .tlb-header a.tlb-ib:hover .tlb-ib-orb,html:root body .tlb-header a.tlb-ib:focus-visible .tlb-ib-orb{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 24px rgba(4,20,60,.5),inset 0 -4px 8px rgba(5,40,100,.35),0 0 0 4px rgba(143,233,240,.35)}
html:root body .tlb-header a.tlb-ib:focus-visible{outline:2px solid #8fe9f0;outline-offset:2px}
/* white rounded search bar, town dropdown, bright SEARCH button */
html:root body .tlb-header form.tlb-search{display:flex!important;align-items:center;width:min(880px,100%);margin:8px auto 8px!important;padding:5px!important;background:#fff!important;border-radius:999px!important;border:0!important;box-shadow:0 10px 26px rgba(4,20,60,.35),0 0 0 3px rgba(150,205,255,.25)!important;box-sizing:border-box}
html:root body .tlb-header .tlb-search-ic{display:grid;place-items:center;padding:0 4px 0 12px;color:#1557b0}
html:root body .tlb-header .tlb-search-ic svg,html:root body .tlb-header .tlb-search-town svg{width:20px;height:20px;stroke:#1557b0}
html:root body .tlb-header form.tlb-search input{flex:1 1 auto;min-width:0;min-height:44px;border:0!important;outline:0;background:transparent!important;color:#0f2a47!important;font:600 15.5px "TL Inter",Inter,system-ui,sans-serif!important;padding:0 8px!important;box-shadow:none!important;border-radius:0!important}
html:root body .tlb-header form.tlb-search input::placeholder{color:#5b7088!important;-webkit-text-fill-color:#5b7088}
html:root body .tlb-header .tlb-search-town{display:flex;align-items:center;gap:2px;padding-left:10px;border-left:1px solid rgba(21,87,176,.18)}
html:root body .tlb-header form.tlb-search select{min-height:44px;border:0!important;background:transparent!important;color:#1557b0!important;font:800 14.5px "TL Inter",Inter,system-ui,sans-serif!important;padding:0 6px!important;cursor:pointer;box-shadow:none!important;max-width:170px}
html:root body .tlb-header form.tlb-search button{flex:none;min-height:44px;border:0!important;border-radius:999px!important;padding:0 26px!important;background:var(--tlb-btn)!important;color:#fff!important;font:900 14px "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px rgba(22,100,190,.35),inset 0 1px 0 rgba(255,255,255,.35)!important;transition:transform .2s var(--tlb-ease),filter .2s}
html:root body .tlb-header form.tlb-search button:hover{transform:translateY(-1px);filter:brightness(1.08)}
html:root body .tlb-header form.tlb-search :is(input,select,button):focus-visible{outline:3px solid rgba(34,195,207,.7)!important;outline-offset:2px}
/* town strip: real links */
html:root body .tlb-header nav.tlb-towns{display:flex!important;flex-wrap:wrap;justify-content:center;gap:2px 4px;margin:0 auto!important;padding:2px 0 0!important;max-width:1180px;background:none!important}
html:root body .tlb-header nav.tlb-towns a{flex:none;color:#e6f1ff!important;background:none!important;border:0!important;border-radius:999px!important;padding:5px 9px!important;font:700 13px/1.2 "TL Inter",Inter,system-ui,sans-serif!important;text-decoration:none!important;white-space:nowrap;box-shadow:none!important;transition:background .2s,color .2s}
html:root body .tlb-header nav.tlb-towns a:hover,html:root body .tlb-header nav.tlb-towns a:focus-visible{background:rgba(255,255,255,.14)!important;color:#fff!important}
html:root body .tlb-header nav.tlb-towns a.on{background:rgba(143,233,240,.22)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(143,233,240,.6)!important}
/* pinned nav: same glass, translucent pills */
html:root body .tlb-header.tlb-header .tl-master-nav{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px!important;width:100%!important;max-width:none!important;margin:0!important;padding:8px 14px 9px!important;background:linear-gradient(180deg,#0b3570,#0a3068)!important;border-top:1px solid rgba(190,225,255,.18)!important;-webkit-mask-image:none!important;mask-image:none!important;box-sizing:border-box}
html:root body .tlb-header.tlb-header .tl-master-nav a,html:root body .tlb-header.tlb-header .tl-master-nav a:not(.tle-here):not(.join){flex:none;color:#fff!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(200,228,255,.30)!important;border-radius:999px!important;padding:8px 15px!important;font:800 13px/1 "TL Inter",Inter,system-ui,sans-serif!important;text-decoration:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;transition:transform .2s var(--tlb-ease),background .2s!important;white-space:nowrap!important;-webkit-text-fill-color:currentColor}
html:root body .tlb-header.tlb-header .tl-master-nav a:hover,html:root body .tlb-header.tlb-header .tl-master-nav a:focus-visible{transform:translateY(-1px);background:rgba(255,255,255,.2)!important}
html:root body .tlb-header.tlb-header .tl-master-nav a:is(.tle-here,.tlb-here,.join){background:var(--tlb-btn)!important;color:#fff!important;border-color:rgba(200,240,255,.55)!important;box-shadow:0 6px 16px rgba(4,20,60,.35),inset 0 1px 0 rgba(255,255,255,.35)!important}
html:root body .tlb-header .tle-mast-sweep,html:root body .tlb-header .tlb-hot{display:none!important}
@media(max-width:900px){html:root body .tlb-header nav.tlb-icons{justify-content:flex-start}html:root body .tlb-header a.tlb-ib{flex:0 0 auto;min-width:84px}}
@media(max-width:640px){
  html:root body .tlb-header .tlb-banner img{aspect-ratio:1300/330;object-position:50% 50%}
  html:root body .tlb-header .tlb-bar{padding-top:8px!important;padding-bottom:10px!important}
  html:root body .tlb-header .tlb-radar :is(strong,em){font-size:11.5px!important}
  html:root body .tlb-header nav.tlb-icons{margin:0 -14px!important;padding:2px 10px 4px!important}
  html:root body .tlb-header a.tlb-ib{min-width:78px}
  html:root body .tlb-header .tlb-ib-orb{width:46px;height:46px}
  html:root body .tlb-header .tlb-ib-orb svg{width:23px;height:23px}
  html:root body .tlb-header .tlb-ib-l{font-size:12px!important}
  html:root body .tlb-header .tlb-ib-s{font-size:8.5px!important}
  html:root body .tlb-header form.tlb-search{padding:4px!important}
  html:root body .tlb-header .tlb-search-ic{padding-left:8px}
  html:root body .tlb-header form.tlb-search input{font-size:16px!important;padding:0 4px!important}
  html:root body .tlb-header .tlb-search-town{padding-left:4px}
  html:root body .tlb-header .tlb-search-town svg{display:none}
  html:root body .tlb-header form.tlb-search select{max-width:104px;font-size:13.5px!important;padding:0 2px!important}
  html:root body .tlb-header form.tlb-search button{padding:0 14px!important;font-size:12.5px!important;letter-spacing:.08em}
  html:root body .tlb-header nav.tlb-towns{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -14px!important;padding:2px 10px 0!important;scroll-snap-type:x proximity}
  html:root body .tlb-header nav.tlb-towns::-webkit-scrollbar{display:none}
  html:root body .tlb-header nav.tlb-towns a{scroll-snap-align:start;background:rgba(255,255,255,.08)!important;padding:7px 12px!important}
  html:root body .tlb-header.tlb-header .tl-master-nav{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;scrollbar-width:none;padding:7px 12px 8px!important}
  html:root body .tlb-header.tlb-header .tl-master-nav::-webkit-scrollbar{display:none}
}
/* phones: the eight buttons wrap neatly into two rows of four (nothing hidden off-screen) */
@media(max-width:640px){
  html:root body .tlb-header nav.tlb-icons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 2px;margin:0 -6px!important;padding:0 0 2px!important;overflow:visible}
  html:root body .tlb-header a.tlb-ib{min-width:0;max-width:none;padding:3px 0 4px!important}
  html:root body .tlb-header .tlb-ib-l{font-size:11.5px!important;white-space:normal;text-align:center;line-height:1.1}
  html:root body .tlb-header .tlb-ib-s{display:none}
}
/* one type voice with the banner: clean heavy sans headings everywhere on Townline (was a serif display face) */
html:root body:is(.tlf,.townline-brand-unified,.tlp-global){--display:"TL Inter",Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
html:root body:is(.tlf,.townline-brand-unified,.tlp-global) :is(h1,h2){letter-spacing:-.02em}
/* entrance: soft fade + scale-in, then one light shimmer; JS adds a gentle parallax. Reduced motion: static. */
@media (prefers-reduced-motion:no-preference){
  html:root.tlb-arrive body .tlb-header .tlb-banner img{animation:tlb-in 1.4s var(--tlb-ease) backwards}
  html:root.tlb-arrive body .tlb-header .tlb-banner::after{animation:tlb-shimmer 2.6s .9s ease-in-out both}
  html:root.tlb-arrive body .tlb-header .tlb-bar>*{animation:tlb-up .8s .3s var(--tlb-ease) backwards}
}
@keyframes tlb-in{0%{opacity:0;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes tlb-shimmer{0%{opacity:0;background-position:160% 0}20%{opacity:1}80%{opacity:1}100%{opacity:0;background-position:-60% 0}}
@keyframes tlb-up{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}

/* ---------- LOCAL INTELLIGENCE RADAR ticker: continues the banner's deep-sky glass ---------- */
html:root body:is(.tlf,.townline-brand-unified,.tlp-global) .ticker{background:linear-gradient(180deg,#0a3068,#0d3f7e)!important;color:#fff!important;border-top:1px solid rgba(190,225,255,.18)!important;border-bottom:0!important;box-shadow:0 10px 24px -18px rgba(8,30,70,.6)!important}
html:root body:is(.tlf,.townline-brand-unified,.tlp-global) .ticker.ticker.ticker :is(li,a,span,div,b,small,p,strong){color:#eaf3ff!important;-webkit-text-fill-color:currentColor;background-color:transparent!important;text-shadow:none!important}
html:root body:is(.tlf,.townline-brand-unified,.tlp-global) .ticker.ticker.ticker .live,html:root body:is(.tlf,.townline-brand-unified,.tlp-global) .ticker.ticker.ticker .live *{color:#8fe9f0!important;font-weight:900!important;letter-spacing:.14em}
html:root body:is(.tlf,.townline-brand-unified,.tlp-global) .ticker .live i{background:#22c3cf!important;box-shadow:0 0 0 4px rgba(34,195,207,.28)!important}

/* ---------- footer: light sky/lake gradient, banner thumbnail, RADAR line ---------- */
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer,html:root body footer.tl-master-footer.tlb-footer.tlb-footer{background:linear-gradient(180deg,#e3f2ff 0%,#d6f4f4 55%,#fff1e6 100%)!important;background-image:linear-gradient(180deg,#e3f2ff 0%,#d6f4f4 55%,#fff1e6 100%)!important;color:var(--tlb-ink)!important;border:0!important;border-top:1px solid rgba(30,111,217,.15)!important;text-align:center!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer::before{background:linear-gradient(90deg,#1a6fd6,#0f4fa8)!important;height:3px!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer img{width:100%!important;height:auto!important;aspect-ratio:1983/330!important;object-fit:cover!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer .tlb-foot-banner{display:block;width:min(720px,94%);margin:0 auto 16px;border-radius:18px;overflow:hidden;line-height:0;box-shadow:0 14px 34px rgba(20,70,140,.18)}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer :is(a,p,h4,b,span,small,strong,div,nav a){color:var(--tlb-sky-d)!important;background:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer .tl-foot-brand{font:900 15px/1.3 "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:.24em!important;color:var(--tlb-sky-d)!important;margin:0 0 4px!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer .tl-foot-brand span{color:var(--tlb-turq-d)!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer :is(.tl-foot-tag,.powered){color:var(--tlb-ink-2)!important;opacity:1!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer nav{justify-content:center!important}
html:root body.tlf.tlf footer.tl-master-footer.tlb-footer nav a{font:800 14px "TL Inter",Inter,system-ui,sans-serif!important;opacity:1!important}

/* ---------- retire rainbow + gold + dark in the interface ---------- */
/* every icon is the banner's round glossy sky/navy button with a white line icon (no multi-colour tiles) */
html:root body .tle-icon,html:root body .tle-icon[class*=tle-icon--]{--ia:#1a66cc!important;--ib:#0c4fa3!important;background:radial-gradient(70% 55% at 50% 18%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),linear-gradient(160deg,#3d8ff0 0%,#1a66cc 50%,#0c4fa3 100%)!important;border-radius:50%!important;border:1.5px solid rgba(225,240,255,.9)!important;box-shadow:0 8px 18px -6px rgba(8,40,100,.45),inset 0 -4px 8px rgba(5,40,100,.3)!important}
html:root body .tle-icon::after{border-radius:50%!important}
html:root body :is(.kicker,.ey,.eyebrow,.tag,.sumtag,.pill,.badge):not(.wx *):not(#aqi):not(.tlf-photohero *):not(.hero *):not(.tlf-herofill *){background:#fff!important;border:1.5px solid #9cc4f2!important;color:var(--tlb-sky-d)!important}
html:root body :is(.tlf-photohero,.hero,.tlf-herofill) :is(.kicker,.ey,.eyebrow,.tag,.pill,.badge){background:rgba(255,255,255,.95)!important;border:1.5px solid #9cc4f2!important;color:var(--tlb-sky-d)!important;text-shadow:none!important}
html:root body .chip:not(.wx *):not(#aqi){background:#fff!important;border:1.5px solid #9cc4f2!important;color:var(--tlb-sky-d)!important}
html:root body:is(.tlf,.tlp-global) :is(.ey,.eyebrow,.kicker,.tagline):not(.tlp-chrome *):not(.hero *):not(.tlf-photohero *):not(.tlf-herofill *):not(.tl-pulse-hero *){color:var(--tlb-sky-d)!important}
html:root body:is(.tlf,.tlp-global) :is(.hero,.tlf-photohero,.tlf-herofill) .tagline:not(.pill):not(.kicker){color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.55)!important}
/* primary calls to action: glossy sky-to-lake pill, white text; secondary: white pill, blue text */
html:root body:is(.tlf,.tlp-global) :is(.btn.primary,a.btn.primary,.room-button.primary,.join,.links .join,button[type=submit],main form button:not([type=button]),.cta a:first-child,.btns a:first-child,.actions a:first-child,#arqs-site-arrival button,.appbar a.post):not(.iconbtn):not(.ghost):not(.line){background:var(--tlb-btn)!important;color:#fff!important;border:1px solid transparent!important;text-shadow:none!important;box-shadow:0 10px 24px rgba(22,100,190,.28),inset 0 1px 0 rgba(255,255,255,.35)!important;-webkit-text-fill-color:#fff}
html:root body:is(.tlf,.tlp-global) :is(.btn.primary,.join,button[type=submit],main form button:not([type=button]),.cta a:first-child,.btns a:first-child,.actions a:first-child,#arqs-site-arrival button) *{color:#fff!important;stroke:#fff}
html:root body:is(.tlf,.tlp-global) :is(.btn,a.btn,button.btn,.button,.cta a,.btns a,.actions a):not(.primary):not(.join):not(.iconbtn):not(:first-child){background:#fff!important;color:var(--tlb-sky-d)!important;border:1px solid rgba(30,111,217,.28)!important;text-shadow:none!important;box-shadow:0 6px 16px rgba(20,70,140,.10)!important;-webkit-text-fill-color:currentColor}
html:root body:is(.tlf,.tlp-global) :is(.btn,a.btn,button.btn,.button,.cta a,.btns a,.actions a,.join){border-radius:999px!important;font-weight:800!important;transition:transform .25s var(--tlb-ease),box-shadow .25s,filter .25s!important}
html:root body:is(.tlf,.tlp-global) :is(.btn,a.btn,button.btn,.button,.cta a,.btns a,.actions a,.join):hover{transform:translateY(-2px);filter:none}
html:root body .appbar a.post svg{stroke:#fff!important}
html:root body .townline-breaking-news__flag{background:var(--tlb-btn)!important;color:#fff!important}
html:root body:is(.tlf,.tlp-global) :is(.townline-shady-radar-city,.townline-intelligence-brand,.tl-live-four,.townline-breaking-news,.townline-ticket-hub-city) :is(a.btn,.btn,[class*=__a],a[class*=button]){background:var(--tlb-btn)!important;color:#fff!important}
html:root body.tlp-global :is(.card,.panel,.place,.reason,.tile,.member,.trivia-card,.game-stage):hover{border-color:rgba(30,111,217,.35)!important}
html:root body .network-promo{background:linear-gradient(125deg,#e6f2ff,#dff7f7 60%,#fff1e8)!important;color:var(--tlb-ink)!important;border:1px solid rgba(30,111,217,.18)!important}
html:root body .network-promo :is(h2,h3,p,.eyebrow,span,small){color:var(--tlb-ink)!important}
html:root body .game-cover span{background:var(--tlb-btn)!important;color:#fff!important}
html:root body .game-cover::after{background:linear-gradient(transparent,rgba(10,40,80,.32))!important}
html:root body:is(.tlf,.tlp-global,.townline-brand-unified) :is(header.top,.top,.game-bar,.arcade-bar){background:rgba(255,255,255,.94)!important;color:var(--tlb-ink)!important;border-color:rgba(30,111,217,.18)!important;box-shadow:0 6px 18px rgba(20,70,140,.08)!important}
html:root body:is(.tlf,.tlp-global,.townline-brand-unified) :is(header.top,.top,.game-bar,.arcade-bar) :is(a,b,span,label,small,strong){color:var(--tlb-sky-d)!important}
html:root body .tlp-chrome{display:none!important}
html:root body .cryptoCampaign{background:linear-gradient(135deg,#e6f2ff,#e0f7f7 60%,#fff2e9)!important;color:var(--tlb-ink)!important;border-block:1px solid rgba(30,111,217,.16)!important}
html:root body .cryptoCampaign :is(h2,p){color:var(--tlb-ink)!important}html:root body .cryptoCampaign .k{color:var(--tlb-sky-d)!important}
html:root body .cryptoCampaignBtns a{background:var(--tlb-btn)!important;color:#fff!important;border:0!important}html:root body .cryptoCampaignBtns a.alt{background:#fff!important;color:var(--tlb-sky-d)!important;border:1px solid rgba(30,111,217,.3)!important}
html:root body .appbar{background:rgba(255,255,255,.96)!important;border-top:1px solid rgba(30,111,217,.15)!important}
html:root body .appbar a{color:var(--tlb-sky-d)!important}

/* ---------- premium system: one type scale, consistent radius/shadow, generous whitespace ---------- */
html:root body:is(.tlf,.tlp-global) main :is(h2){letter-spacing:-.015em!important}
html:root body:is(.tlf,.tlp-global) main > :is(section,.section){scroll-margin-top:72px}
html:root body:is(.tlf,.tlp-global) :is(.card,.panel,.place,.reason,.member,.plan,.feature,.ticket-card,.event-card,.business-card,.cal,.agenda,.status,.notice){border-radius:var(--tlb-r)!important}
html:root body:is(.tlf,.tlp-global) :is(.card,.panel,.reason,.member,.plan,.feature,.ticket-card,.event-card,.business-card):not(.tlf-photohero *){box-shadow:var(--tlb-shadow)!important;transition:transform .35s var(--tlb-ease),box-shadow .35s var(--tlb-ease)!important}
html:root body:is(.tlf,.tlp-global) :is(a.card,a.place,a.feature,a.town,a.tile,.towngrid>a):hover{transform:translateY(-4px);box-shadow:var(--tlb-shadow-h)!important}
html:root body:is(.tlf,.tlp-global) :is(.town,.tile,.tlf-ph){border-radius:var(--tlb-r)!important;overflow:hidden}
html:root body:is(.tlf,.tlp-global) :is(a.town,a.tile){transition:transform .35s var(--tlb-ease),box-shadow .35s var(--tlb-ease)!important}
html:root body:is(.tlf,.tlp-global) img{image-rendering:auto}
html:root body{overflow-x:clip!important}
/* fade-up on scroll (JS adds .tlb-fx then .tlb-in); off for reduced motion */
@media (prefers-reduced-motion:no-preference){
  html:root body .tlb-fx{opacity:0;transform:translateY(22px);transition:opacity .8s var(--tlb-ease),transform .8s var(--tlb-ease)}
  html:root body .tlb-fx.tlb-in{opacity:1;transform:none}
}

/* WOW section must stay bright even though the photo layer marks it as a photo hero */
html:root body.tlf .tl-pulse-hero.tlb-wow.tlb-wow.tlb-wow,html:root body .tl-pulse-hero.tlb-wow.tlb-wow.tlb-wow{background:radial-gradient(120% 80% at 85% 0%,rgba(255,180,138,.22),transparent 55%),radial-gradient(90% 70% at 0% 10%,rgba(199,179,240,.20),transparent 60%),linear-gradient(180deg,#ffffff,#eef7ff)!important;color:var(--tlb-ink)!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow::before,html:root body .tl-pulse-hero.tlb-wow.tlb-wow::after{display:none!important;background:none!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow :is(h1,h2,h3,p,.lead,.tl-pulse-slogan,.tlb-wow-sub){text-shadow:none!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow :is(.tl-pulse-slogan,.tlb-cards-head h2){color:var(--tlb-ink)!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-wow-sub{color:var(--tlb-ink-2)!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-cards-head a{color:var(--tlb-sky-d)!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-card :is(span,b,small){color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.45)!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-picker button.tlb-go{background:var(--tlb-btn)!important;color:#fff!important;-webkit-text-fill-color:#fff;border:0!important;opacity:1!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-picker :is(input,select){background:#fff!important;color:var(--tlb-ink)!important;text-shadow:none!important}
html:root body .tl-pulse-hero.tlb-wow.tlb-wow .tlb-picker select{color:var(--tlb-sky-d)!important}
/* ---------- front page WOW: hub hero becomes a bright town picker + postcard row ---------- */
html:root body .tl-pulse-hero.tlb-wow{min-height:0!important;display:block!important;background:radial-gradient(120% 80% at 85% 0%,rgba(255,180,138,.22),transparent 55%),radial-gradient(90% 70% at 0% 10%,rgba(199,179,240,.20),transparent 60%),linear-gradient(180deg,#ffffff,#eef7ff)!important;color:var(--tlb-ink)!important;overflow:visible!important;padding:0!important}
html:root body .tlb-wow :is(.tl-pulse-bg,.tl-mountains,.tl-pulse-line){display:none!important}
html:root body .tlb-wow .tl-pulse-in{padding:clamp(26px,4vw,52px) 0 clamp(30px,4vw,56px)!important;width:min(1200px,92vw)!important}
html:root body .tlb-wow h1.tl-logo-new{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
html:root body .tlb-wow .tl-pulse-slogan{font:800 clamp(22px,3.4vw,38px)/1.12 "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:-.02em!important;color:var(--tlb-ink)!important;text-shadow:none!important;margin:0 0 6px!important}
html:root body .tlb-wow .tlb-wow-sub{margin:0 auto 22px;max-width:640px;color:var(--tlb-ink-2);font:500 clamp(15px,1.6vw,18px)/1.5 "TL Inter",Inter,system-ui,sans-serif}
/* v2: the header bar now carries the icons, search and town picker; hide the hub's copies so nothing appears twice */
html:root body .tlb-wow :is(.tl-iconbar,.tl-town-search,.tlb-picker,.tl-pulse-slogan,.tlb-wow-sub){display:none!important}
html:root body .tlb-wow .tlb-cards-head{margin-top:0!important}
.tlb-cards-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:clamp(30px,4vw,48px) 0 14px;text-align:left}
.tlb-cards-head h2{margin:0!important;font:800 clamp(22px,2.6vw,30px)/1.1 "TL Inter",Inter,system-ui,sans-serif!important;letter-spacing:-.02em!important;color:var(--tlb-ink)!important}
.tlb-cards-head a{color:var(--tlb-sky-d)!important;font:800 14px "TL Inter",Inter,system-ui,sans-serif;text-decoration:none;white-space:nowrap}
.tlb-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 22px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:#9cc4f2 transparent}
.tlb-card{position:relative;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;scroll-snap-align:start;text-decoration:none!important;background:#cfe6fb;box-shadow:var(--tlb-shadow);transform:translateZ(0);transition:transform .45s var(--tlb-ease),box-shadow .45s var(--tlb-ease)}
.tlb-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--tlb-ease)}
.tlb-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,40,80,.70) 100%)}
.tlb-card span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;text-align:left;color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.tlb-card b{display:block;font:800 22px/1.05 "TL Inter",Inter,system-ui,sans-serif;letter-spacing:-.01em;color:#fff!important}
.tlb-card small{display:block;margin-top:4px;font:600 12.5px/1.3 "TL Inter",Inter,system-ui,sans-serif;color:#fff!important;opacity:.95}
.tlb-card:hover,.tlb-card:focus-visible{transform:translateY(-6px);box-shadow:var(--tlb-shadow-h)}
.tlb-card:hover img{transform:scale(1.06)}
@media(min-width:1100px){.tlb-cards{grid-auto-flow:row;grid-template-columns:repeat(6,1fr);grid-auto-columns:auto;overflow:visible}}
@media(max-width:640px){
  .tlb-cards{grid-auto-columns:72%}
  html:root body .tlb-wow .tl-iconbar{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;scrollbar-width:none;padding:2px 2px 6px!important;margin-left:-4vw!important;margin-right:-4vw!important;padding-left:4vw!important}
  html:root body .tlb-wow .tl-iconbar a{flex:none!important}
}
@media (prefers-reduced-motion:reduce){.tlb-card,.tlb-card img,html:root body .tlb-header .tlb-banner img{transition:none!important;animation:none!important;transform:none!important}}

/* Townline AI dock on Townline: sky pill, white text (was dark with a gold ring); light panel */
html:root[data-place="townline"]{--arqs-ai-bg:#1a66cc;--arqs-ai-panel:#ffffff;--arqs-ai-text:#0f2a47;--arqs-ai-muted:#3b5573;--arqs-ai-accent:#1e6fd9;--arqs-ai-line:#b9d3ee}
html:root body .arqs-ai-dock .arqs-ai-launch.arqs-ai-launch{background:var(--tlb-btn)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 12px 28px rgba(22,100,190,.35)!important}
html:root body .arqs-ai-dock .arqs-ai-launch.arqs-ai-launch::before{background:#fff!important;color:#1557b0!important}
/* section grounds: photo sections keep their photo under a light sky veil; plain sections get a soft sky-to-peach wash (no flat cream) */
html:root body.tlf .tlf-sec.tlf-sec:not(.tlf-panel){background:linear-gradient(180deg,rgba(244,250,255,.30),rgba(244,250,255,.10) 50%,rgba(255,246,238,.30)),var(--tlf-sec-img,linear-gradient(180deg,#f1f8ff 0%,#ffffff 55%,#fff6ef 100%)) center/cover no-repeat!important}
html:root body.tlf .tlf-sec.tlf-sec.tlf-alt:not(.tlf-panel):not([style*="--tlf-sec-img"]){background:linear-gradient(180deg,rgba(244,250,255,.30),rgba(244,250,255,.10) 50%,rgba(255,246,238,.30)),var(--tlf-sec-img,linear-gradient(180deg,#eaf6fb 0%,#ffffff 50%,#f4f0ff 100%)) center/cover no-repeat!important}
html:root body.tlf .tlf-sec.tlf-panel.tlf-panel.tlf-panel{background:linear-gradient(180deg,rgba(244,250,255,.90),rgba(244,250,255,.80) 50%,rgba(255,246,238,.90)),var(--tlf-sec-img,linear-gradient(180deg,#f1f8ff,#fff)) center/cover no-repeat!important}
html:root body.tlf .tlf-glass{background:rgba(255,255,255,.95)!important;box-shadow:0 10px 28px rgba(20,70,140,.12)!important}
/* photo frames while the photo loads: light sky, never a dark slab */
html:root body:is(.tlf,.tlp-global) :is(a.ph,.ph,.town,.tile,.tlf-ph){background-color:#d9e9f7!important}
/* game boards: the photo layer paints board squares with the button token inline; give the dark squares a real
   board colour through the token (inline var() resolves per element) so light/dark squares stay distinct */
html:root body :is(#chess-board,#checkers-board) .board-square{--tlf-btn:#eef5fd}
html:root body :is(#chess-board,#checkers-board) .board-square.dark{--tlf-btn:linear-gradient(135deg,#6e9fd8,#4d86c9)}
html:root body :is(#chess-board,#checkers-board){box-shadow:0 18px 44px rgba(20,70,140,.20)!important;border-radius:14px;overflow:hidden}
html:root body .portfolio-scroll-progress{background:linear-gradient(90deg,#1a6fd6,#0f4fa8)!important;box-shadow:none!important}
/* trivia answers: white pills with sky edge (correct/wrong states keep the game's colours) */
html:root body #answers .answer:not(.correct):not(.wrong){background:#fff!important;border:1px solid rgba(30,111,217,.22)!important;color:var(--tlb-ink)!important;box-shadow:0 4px 12px rgba(20,70,140,.06)!important;transition:transform .2s var(--tlb-ease),box-shadow .2s!important}
html:root body #answers .answer:not(.correct):not(.wrong):hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,70,140,.14)!important}
/* the header never widens the page, whatever layout the host page uses */
html:root body .tl-master-header.tlb-header{max-width:100vw;box-sizing:border-box}
/* 2026-10-08 v2 (founder): one banner style for every icon, chip and button; no multi-colour or spectrum fills */
html:root body .event-cta.event-cta,html:root body .controls .briefBtn.briefBtn{background:var(--tlb-btn)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(200,228,255,.6)!important;box-shadow:0 8px 20px rgba(22,90,180,.28),inset 0 1px 0 rgba(255,255,255,.3)!important}
html:root body .event-cta.event-cta *{color:#fff!important}
html:root body .swatch{background:linear-gradient(90deg,#1a6fd6,#0f4fa8)!important}
html:root body :is(.avatar,#requestTab.active).tlf-inlight{background:var(--tlb-btn)!important;color:#fff!important}
/* emoji pictograms become white glyphs in the banner's round glossy sky/navy button */
html:root body:is(.tlf,.townline-brand-unified) :is(div.icon,span.icon,.reason .icon,.tool .icon,.wx .sym,#sym){display:inline-grid!important;place-items:center;width:52px;height:52px;border-radius:50%!important;font-size:24px!important;line-height:1!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:0 0 0 #fff!important;background:radial-gradient(70% 55% at 50% 18%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),linear-gradient(160deg,#3d8ff0 0%,#1a66cc 50%,#0c4fa3 100%)!important;border:1.5px solid rgba(225,240,255,.9)!important;box-shadow:0 8px 18px -6px rgba(8,40,100,.45),inset 0 -4px 8px rgba(5,40,100,.3)!important;flex:none}
html:root body:is(.tlf,.townline-brand-unified) :is(.wx .sym,#sym){width:58px;height:58px;font-size:28px!important}
html:root body .tlb-emo{display:inline-grid;place-items:center;width:1.75em;height:1.75em;margin-right:.45em;vertical-align:middle;border-radius:50%;font-size:.82em;line-height:1;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:0 0 0 #fff!important;background:radial-gradient(70% 55% at 50% 18%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),linear-gradient(160deg,#3d8ff0 0%,#1a66cc 50%,#0c4fa3 100%)!important;border:1px solid rgba(225,240,255,.9);box-shadow:0 4px 10px -4px rgba(8,40,100,.45);flex:none}
/* single banner palette: the photo layer's blossom/coral/lavender/sun accents resolve to the banner sky blues */
html:root body:is(.tlf,.townline-brand-unified,.tlp-global){--tlf-blossom-deep:#1557b0!important;--tlf-blossom:#dceaff!important;--tlf-coral-deep:#1557b0!important;--tlf-coral:#cfe3ff!important;--tlf-lav-deep:#1557b0!important;--tlf-lavender:#e3eeff!important;--tlf-sun:#e3f0ff!important;--tle-accent:#1557b0!important}
html:root body .tlb-emo.tlb-emo.tlb-emo{color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:0 0 0 #fff!important}
/* vNext layer (2026-10-08 22:27) under the banner rules: its coral/sun/near-black accents resolve to the banner sky palette,
   one sans voice for headings, and the hub's own search + category rail are hidden (the header bar already has them) */
html:root body:is(.tlf,.townline-brand-unified,.tlp-global){--coral:#1a66cc!important;--tx-coral:#1a66cc!important;--sun:#1557b0!important;--tx-sun:#1557b0!important;--navy:#0c3a78!important;--tx-navy:#0c3a78!important;--lake:#1557b0!important;--lake2:#0f4fa8!important;--tx-lake:#1557b0!important}
html:root body.townline-brand-unified.townline-brand-unified :is(h1,h2,h3,h4){font-family:"TL Inter",Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-style:normal!important}
html:root body.townline-brand-unified :is(#townlineSearch.search-shell,.catrail,.tlx-mast,.tlx-nav){display:none!important}
html:root body.townline-brand-unified :is(.tag,.ey,.kicker,.eyebrow,.badge,.pill):not(.tlb-header *):not(.tlb-footer *){color:#1557b0!important;border-color:#9cc4f2!important}
html:root body.townline-brand-unified :is(.hero,.tlf-photohero,.leadstory,.story,.discover) :is(.tag,.ey,.kicker,.eyebrow,.badge,.pill){background:rgba(255,255,255,.95)!important;color:#1557b0!important}
.tlb-postcards{background:linear-gradient(180deg,#eef7ff,#ffffff);padding:clamp(26px,4vw,48px) 0 clamp(18px,3vw,36px)}
.tlb-postcards .tlb-pc-in{width:min(1200px,92vw);margin:0 auto}
.tlb-postcards .tlb-cards-head{margin-top:0}
html:root body.townline-brand-unified .search-hint{display:none!important}
html:root body.townline-brand-unified .signal strong{font-family:"TL Inter",Inter,system-ui,sans-serif!important;font-weight:800!important}
html:root body.townline-brand-unified .tlb-card.tlb-card :is(b,small){color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;text-shadow:0 2px 10px rgba(0,0,0,.55)!important}
.tlb-ticker{overflow:hidden;font:600 12.5px/1.3 "TL Inter",Inter,system-ui,sans-serif}
.tlb-ticker .wrap{display:flex;align-items:center;gap:16px;min-height:38px;width:min(1200px,94vw);margin:0 auto}
.tlb-ticker .live{display:flex;align-items:center;gap:8px;flex:none;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900}
.tlb-ticker .live i{width:7px;height:7px;border-radius:50%}
.tlb-ticker .track{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tlb-ticker .track ul{display:flex;gap:42px;margin:0;padding:0;list-style:none;width:max-content;animation:tlb-tick 60s linear infinite}
.tlb-ticker .track li{white-space:nowrap}
.tlb-ticker:hover .track ul{animation-play-state:paused}
@keyframes tlb-tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tlb-ticker .track ul{animation:none}.tlb-ticker .track{overflow-x:auto}}
/* market ticker strip (shared asset) inside Townline: never widens the phone page; label in banner turquoise, not gold */
html:root body .amt-inner{grid-template-columns:auto minmax(0,1fr) auto!important;max-width:100%}
html:root body .amt-track{min-width:0!important}
html:root body .amt-label{color:#8fe9f0!important}
/* leftovers: shared press-feed link colour, /townline/live/ ribbon never widens the phone page */
html:root body.townline-brand-unified a[style*="#8b1820"]{color:#1557b0!important}
html:root body main.live-shell{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:clip}
html:root body .tlim-ribbon{max-width:100%!important;min-width:0!important}
html:root body main.live-shell *{min-width:0}
/* label pills above hero headlines: white pill always carries banner-blue text (phones included) */
html:root body:is(.tlf,.townline-brand-unified).townline-brand-unified :is(.hero,.tlf-photohero,.tlf-herofill,.tl-pulse-hero,header.hero,section) :is(.ey,.kicker,.eyebrow,.tag,.pill,.badge).tlf-inlight,html:root body.tlf.tlf :is(.hero,.tlf-photohero,.tlf-herofill) :is(.ey,.kicker,.eyebrow,.tag,.pill,.badge),html:root body.tlf.tlf :is(.hero,.tlf-photohero,.tlf-herofill) :is(.ey,.kicker,.eyebrow,.tag,.pill,.badge) *{color:#1557b0!important;-webkit-text-fill-color:#1557b0!important}

/* ==== 2026-10-09 founder: front-page sections in the banner look (TLH) — towns postcards, feature cards, Ticket Hub card, magazine news ==== */
html:root body{--tlh-card:#fff;--tlh-line:rgba(21,87,176,.14);--tlh-shadow:0 10px 28px rgba(10,45,100,.12),0 2px 6px rgba(10,45,100,.06);--tlh-blue:#1557b0;--tlh-ink:#0f2a47;--tlh-muted:#4a5f78;--tlh-orb:radial-gradient(70% 55% at 50% 18%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%),linear-gradient(160deg,#3d8ff0 0%,#1a66cc 50%,#0c4fa3 100%)}
html:root body .tlh-open{display:inline-flex;align-items:center;gap:4px;color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important;font:800 13px/1.2 var(--display,Inter,system-ui,sans-serif)!important;text-decoration:none!important;letter-spacing:.01em}
html:root body .tlh-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--tlh-orb);border:1.5px solid rgba(225,240,255,.85);box-shadow:0 6px 16px rgba(4,20,60,.35),inset 0 -4px 8px rgba(5,40,100,.3)}
html:root body .tlh-ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root body .tlh-ico-lg{width:64px;height:64px}html:root body .tlh-ico-lg svg{width:32px;height:32px}

/* towns: photo postcards — swipe carousel on phones, grid on desktop */
html:root body .towns.tlh-towns{columns:auto!important;column-count:auto!important;border:0!important;padding:4px 0 6px!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px!important}
html:root body .tlh-towns > a.tlh-town{position:relative;display:block!important;aspect-ratio:4/5;border-radius:18px!important;overflow:hidden;padding:0!important;border:0!important;background:#0e3f80!important;box-shadow:var(--tlh-shadow);text-decoration:none!important;isolation:isolate;transition:transform .3s var(--tlb-ease,ease),box-shadow .3s}
html:root body .tlh-towns > a.tlh-town img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--tlb-ease,ease)}
html:root body .tlh-towns > a.tlh-town::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,40,90,0) 40%,rgba(8,40,90,.78) 100%);z-index:1}
html:root body .tlh-town-copy{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;flex-direction:column;gap:2px;background:transparent!important}
html:root body .tlh-town-copy small{font:800 10px/1.2 var(--display,Inter,system-ui,sans-serif)!important;letter-spacing:.12em;text-transform:uppercase;color:#d9ecff!important;-webkit-text-fill-color:#d9ecff!important;text-shadow:0 1px 6px rgba(0,20,50,.6)}
html:root body .tlh-town-copy b{font:850 20px/1.1 var(--display,Inter,system-ui,sans-serif)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 10px rgba(0,20,50,.55)}
html:root body .tlh-towns > a.tlh-town:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(10,45,100,.22)}html:root body .tlh-towns > a.tlh-town:hover img{transform:scale(1.05)}
html:root body .tlh-towns-more{margin:14px 0 0;text-align:right}
@media (max-width:720px){
  html:root body .towns.tlh-towns{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;margin:0 -3vw;padding:4px 3vw 10px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  html:root body .towns.tlh-towns::-webkit-scrollbar{display:none}
  html:root body .tlh-towns > a.tlh-town{flex:0 0 42vw;max-width:190px;scroll-snap-align:start}
  html:root body .tlh-town-copy b{font-size:18px!important}
  html:root body .tlh-towns-more{text-align:left}
}
/* reused town link lists elsewhere (e.g. Music & Live) become sky chips */
html:root body .towns:not(.tlh-towns){columns:auto!important;display:flex!important;flex-wrap:wrap;gap:8px!important;border:0!important}
html:root body .towns:not(.tlh-towns) > a{display:inline-flex!important;padding:9px 14px!important;border-radius:999px!important;border:1px solid var(--tlh-line)!important;background:#fff!important;color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 3px 10px rgba(10,45,100,.08)}

/* feature cards */
html:root body .usegrid.tlh-features{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;border:0!important}
html:root body .useitem.tlh-feature{display:flex!important;flex-direction:column;padding:0!important;border:1px solid var(--tlh-line)!important;border-radius:18px!important;background:var(--tlh-card)!important;box-shadow:var(--tlh-shadow)!important;overflow:hidden;text-decoration:none!important;color:var(--tlh-ink)!important;transition:transform .3s var(--tlb-ease,ease),box-shadow .3s}
html:root body .useitem.tlh-feature:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(10,45,100,.2)!important}
html:root body .tlh-feature-ph{position:relative;display:block;height:132px;background:#0e3f80}
html:root body .tlh-feature-ph img{width:100%;height:100%;object-fit:cover;display:block}
html:root body .tlh-feature-ph .tlh-ico{position:absolute;left:14px;bottom:-22px;z-index:2}
html:root body .tlh-feature-sky{display:grid!important;place-items:center;background:linear-gradient(160deg,#dcebff 0%,#bcd9fb 55%,#9cc4f2 100%)!important}
html:root body .tlh-feature-sky .tlh-ico{position:static}
html:root body .tlh-feature-body{display:flex;flex-direction:column;gap:6px;padding:28px 18px 18px;flex:1;background:transparent!important}
html:root body .tlh-feature-sky + .tlh-feature-body{padding-top:16px}
html:root body .tlh-feature-body small{font:800 10px/1.2 var(--display,Inter,system-ui,sans-serif)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important}
html:root body .tlh-feature-body h3{margin:0!important;font:850 21px/1.15 var(--display,Inter,system-ui,sans-serif)!important;color:var(--tlh-ink)!important;-webkit-text-fill-color:var(--tlh-ink)!important}
html:root body .tlh-feature-body p{margin:0!important;font:500 14px/1.45 var(--display,Inter,system-ui,sans-serif)!important;color:var(--tlh-muted)!important;-webkit-text-fill-color:var(--tlh-muted)!important}
html:root body .tlh-feature-body .tlh-open{margin-top:auto;padding-top:8px}
@media (max-width:1020px){html:root body .usegrid.tlh-features{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:520px){html:root body .usegrid.tlh-features{gap:12px!important}html:root body .tlh-feature-ph{height:96px}html:root body .tlh-feature-body{padding:26px 13px 14px}html:root body .tlh-feature-body h3{font-size:17px!important}html:root body .tlh-feature-body p{font-size:12.5px!important}}

/* products, Ticket Hub, Also on Townline */
html:root body .products.tlh-products{gap:16px!important}
html:root body .tlh-products > .product{position:relative;border:1px solid var(--tlh-line)!important;border-radius:18px!important;background:var(--tlh-card)!important;box-shadow:var(--tlh-shadow)!important;padding:20px!important;overflow:hidden}
html:root body .tlh-products > .product .price{color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important}
html:root body .tlh-products > .product > a{color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important;font-weight:800;text-decoration:none!important}
html:root body .tlh-products > .product.tlh-ticket{background:linear-gradient(165deg,#eef6ff 0%,#dcebff 60%,#cfe4fb 100%)!important;padding-top:0!important}
html:root body .tlh-ticket-ph{display:block;width:calc(100% + 40px);margin:0 -20px 14px;height:120px;object-fit:cover}
html:root body .tlh-products .price.tlh-badge{display:inline-flex!important;align-items:center;margin:8px 0 10px!important;padding:7px 14px;border-radius:999px;background:var(--tlb-btn,linear-gradient(135deg,#1a6fd6 0%,#1760c4 50%,#0f4fa8 100%))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font:850 18px/1.1 var(--display,Inter,system-ui,sans-serif)!important;box-shadow:0 6px 16px rgba(21,87,176,.3)}
html:root body .tlh-products > .product > a.tlh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--tlb-btn,linear-gradient(135deg,#1a6fd6 0%,#1760c4 50%,#0f4fa8 100%))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;box-shadow:0 6px 16px rgba(21,87,176,.28)}
html:root body .extras.tlh-extras{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin-top:22px!important;padding:18px!important;border:1px solid var(--tlh-line)!important;border-radius:18px;background:linear-gradient(165deg,#f3f8ff,#e6f1ff)!important;box-shadow:var(--tlh-shadow)}
html:root body .tlh-extras-h{grid-column:1/-1;color:var(--tlh-ink)!important;font:850 15px var(--display,Inter,system-ui,sans-serif)}
html:root body .tlh-extras > a.tlh-extra{display:flex!important;align-items:center;gap:10px;min-height:52px;padding:8px 8px 8px 14px;border-radius:14px;background:#fff!important;border:1px solid var(--tlh-line);text-decoration:none!important;color:var(--tlh-ink)!important;-webkit-text-fill-color:var(--tlh-ink)!important;font:750 14px/1.25 var(--display,Inter,system-ui,sans-serif)!important}
html:root body .tlh-extra-name{flex:1}
html:root body .tlh-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html:root body .tlh-chip{padding:5px 10px;border-radius:999px;background:#e3efff;color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important;font:850 13px var(--display,Inter,system-ui,sans-serif);white-space:nowrap}
html:root body .tlh-go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tlb-btn,linear-gradient(135deg,#1a6fd6 0%,#1760c4 50%,#0f4fa8 100%));color:#fff!important;-webkit-text-fill-color:#fff!important;font-style:normal;font-weight:900}
@media (max-width:640px){html:root body .extras.tlh-extras{grid-template-columns:1fr}}

/* newsroom: magazine card list */
html:root body #news.tlh-news .ey{color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important}
html:root body #news.tlh-news h2{font-family:var(--display,Inter,system-ui,sans-serif)!important}
html:root body .tlh-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
html:root body a.tlh-news-card{display:flex!important;gap:14px;align-items:stretch;padding:12px!important;border-radius:18px!important;background:var(--tlh-card)!important;border:1px solid var(--tlh-line)!important;box-shadow:var(--tlh-shadow);text-decoration:none!important;color:var(--tlh-ink)!important;transition:transform .3s var(--tlb-ease,ease),box-shadow .3s}
html:root body a.tlh-news-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,45,100,.18)}
html:root body a.tlh-news-card img{flex:0 0 132px;width:132px;height:auto;min-height:104px;object-fit:cover;border-radius:12px}
html:root body .tlh-news-body{display:flex;flex-direction:column;gap:5px;min-width:0;background:transparent!important}
html:root body .tlh-news-body small{font:800 10px/1.2 var(--display,Inter,system-ui,sans-serif)!important;letter-spacing:.12em;color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important}
html:root body .tlh-news-body strong{font:850 17px/1.2 var(--display,Inter,system-ui,sans-serif)!important;color:var(--tlh-ink)!important;-webkit-text-fill-color:var(--tlh-ink)!important}
html:root body .tlh-news-lead{font:500 13px/1.45 var(--display,Inter,system-ui,sans-serif)!important;color:var(--tlh-muted)!important;-webkit-text-fill-color:var(--tlh-muted)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:760px){html:root body .tlh-news-list{grid-template-columns:1fr}html:root body a.tlh-news-card img{flex-basis:104px;width:104px;min-height:96px}html:root body .tlh-news-body strong{font-size:16px!important}}

/* soft sky band behind the feature cards (was a dark band) */
html:root body section.tlh-band-sky{background:linear-gradient(180deg,#e4f0ff 0%,#eef6ff 100%)!important;color:var(--tlh-ink)}
html:root body section.tlh-band-sky .section-head h2{color:var(--tlh-ink)!important;-webkit-text-fill-color:var(--tlh-ink)!important}
html:root body section.tlh-band-sky .section-head p,html:root body section.tlh-band-sky .section-head .ey{color:var(--tlh-muted)!important;-webkit-text-fill-color:var(--tlh-muted)!important}
html:root body section.tlh-band-sky .section-head .ey{color:var(--tlh-blue)!important;-webkit-text-fill-color:var(--tlh-blue)!important}
