/* Townline editorial cohesion — 2026-09-30. Shared by hub, business and ticket pages. */
html[data-tl-city="hub"]{--bg:#f0f4f2;--bg-2:#fff;--bg-3:#dce7e3;--panel:#fff;--panel-2:#e3ece8;--line:#d0dbd7;--line-2:#a6bab3;--ink:#142e31;--ink-2:#2c4a4d;--muted:#526b6b;--accent:#087577;--on-accent:#fff;--glow:rgba(8,117,119,.2);color-scheme:light}
html[data-tl-city="hub"] .top{background:rgba(255,255,255,.97)}
html[data-tl-city="hub"] .ticker{background:#12363c;color:#edf5f2}
html[data-tl-city="hub"] .ticker .live{color:#a7e8df}
html[data-tl-city="hub"] .hero{min-height:clamp(680px,86vh,920px);background:#17383e}
html[data-tl-city="hub"] .hero .bg{background-position:center 45%}
html[data-tl-city="hub"] .hero .bg:before{display:none}
html[data-tl-city="hub"] .hero:after{background:linear-gradient(90deg,rgba(3,27,33,.77),rgba(3,27,33,.18) 78%),linear-gradient(0deg,rgba(3,27,33,.75),transparent 55%)}
html[data-tl-city="hub"] .hero .wrap{padding-bottom:100px}
html[data-tl-city="hub"] .hero h1{font-size:clamp(62px,8vw,120px)}
html[data-tl-city="hub"] .quick{margin-top:0;padding:34px 0 18px;background:#f0f4f2}
html[data-tl-city="hub"] .tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html[data-tl-city="hub"] .tile{min-height:230px;padding:22px;justify-content:flex-end;border:0;border-radius:6px;color:#fff;background-color:#1e4145;background-position:center;background-size:cover;font:700 24px/1.1 var(--display);box-shadow:0 14px 32px rgba(8,39,43,.13)}
html[data-tl-city="hub"] .tile:before{content:"";opacity:1;position:absolute;inset:0;width:auto;height:auto;border-radius:0;background:linear-gradient(180deg,transparent 15%,rgba(2,21,26,.85));pointer-events:none}
html[data-tl-city="hub"] .tile .ico,html[data-tl-city="hub"] .tile span{position:relative;z-index:1}
html[data-tl-city="hub"] .tile .ico,html[data-tl-city="hub"] .tile small{color:#fff}
html[data-tl-city="hub"] .tile small{font:500 12px/1.3 var(--ui);margin-top:8px}
html[data-tl-city="hub"] .tile:nth-child(1){grid-column:span 2;background-image:url("https://images.unsplash.com/photo-1576374596452-9cbf667a7d62?auto=format&fit=crop&w=1000&q=82")}
html[data-tl-city="hub"] .tile:nth-child(2){background-image:url("https://images.unsplash.com/photo-1517457373958-b7bdd4587205?auto=format&fit=crop&w=900&q=82")}
html[data-tl-city="hub"] .tile:nth-child(3){background-image:url("/assets/photos/self-hosted/townline-hub-tile3-900.jpg")}
html[data-tl-city="hub"] .tile:nth-child(4){background-image:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=82")}
html[data-tl-city="hub"] .tile:nth-child(5){background-image:url("/assets/photos/self-hosted/townline-shopfront-open-900.jpg")}
html[data-tl-city="hub"] .tile:nth-child(6){background-image:url("https://images.unsplash.com/photo-1725380054710-0fa441148da1?auto=format&fit=crop&w=900&q=82")}
html[data-tl-city="hub"] .tile:nth-child(7){grid-column:span 2;background-image:url("https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1200&q=82")}
html[data-tl-city="hub"] .section{background:#f0f4f2;color:#142e31}
html[data-tl-city="hub"] .appbar{background:#fff}
html[data-tl-city="hub"] .appbar a{color:#39595a}
html[data-tl-city="hub"] .appbar .post{background:#087577;color:#fff}
@media(max-width:760px){html[data-tl-city="hub"] .hero{min-height:690px}html[data-tl-city="hub"] .hero .wrap{padding:130px 0 62px}html[data-tl-city="hub"] .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-tl-city="hub"] .tile{min-height:180px;font-size:21px}html[data-tl-city="hub"] .tile:nth-child(1),html[data-tl-city="hub"] .tile:nth-child(7){grid-column:span 2;min-height:225px}}
/* Business: strong ink, readable form, genuine city image, no public counters. */
body.tl-business{background:#eef3f0!important;color:#17383c!important}
body.tl-business .hero{min-height:510px;background:linear-gradient(90deg,rgba(3,28,36,.83),rgba(3,28,36,.22)),url("/assets/photos/self-hosted/townline-kelowna-hero-2000.jpg") center/cover!important;display:flex;align-items:flex-end}
body.tl-business .hero .wrap{padding:65px 0}
body.tl-business .hero :is(h1,.ey,.lead){color:#fff!important}
body.tl-business .hero h1 em{color:#c2f0e5!important}
body.tl-business .card{background:#11333b!important;border:1px solid #315c60!important;color:#f7faf7!important;box-shadow:0 18px 42px rgba(6,36,40,.12)!important}
body.tl-business .card :is(h2,h3,.price,.benefit,label,.rules li){color:#f7faf7!important}
body.tl-business .card :is(p,.fine,.rules,.consent,.consent span){color:#d5e5e2!important}
body.tl-business .card .tag{background:#d6ece6!important;color:#164547!important}
body.tl-business .card input,body.tl-business .card select{background:#fff!important;color:#17383c!important;border-color:#a6c3c0!important}
body.tl-business .card input::placeholder{color:#52676b!important}
body.tl-business .card .button.orange,body.tl-business .card button.orange{background:#087577!important;color:#fff!important}
body.tl-business .card .benefit:before{color:#127659!important}
body.tl-business footer{background:#0a2d35!important;color:#e2efeb!important}
/* Ticket Hub: photograph instead of the cream ticket mockup. */
body.tl-ticket{background:#eef3f0;color:#17383c;font-family:Inter,system-ui,sans-serif}
body.tl-ticket .w{width:min(1120px,92vw);margin:28px auto}
body.tl-ticket .w>a{color:#15555b!important}
body.tl-ticket .hero{border:0;border-radius:7px;background:#fff;color:#17383c;box-shadow:0 14px 38px rgba(7,39,42,.13);padding:35px}
body.tl-ticket .w>.hero:first-of-type{min-height:650px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(5,27,36,.03),rgba(5,27,36,.89)),url("https://images.unsplash.com/photo-1517457373958-b7bdd4587205?auto=format&fit=crop&w=1800&q=85") center/cover;color:#fff}
body.tl-ticket .hero h1{font-size:clamp(46px,7vw,88px);line-height:.95;max-width:850px;margin:16px 0}
body.tl-ticket .w>.hero:first-of-type .muted{color:#e3efeb!important;max-width:750px}
body.tl-ticket .w>.hero:first-of-type strong{color:#fff}
body.tl-ticket .hero .btn{background:#d3efe7;color:#15474b;text-decoration:none}
body.tl-ticket .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px}
body.tl-ticket .step{background:rgba(4,30,37,.7);border:1px solid rgba(255,255,255,.42);color:#fff}
body.tl-ticket .step b{color:#c4f0e7}
body.tl-ticket .w>.w{width:100%}
body.tl-ticket .w>.w .hero{background:#fff;color:#17383c}
body.tl-ticket .w>.w .hero .muted{color:#365b5f!important}
body.tl-ticket .w>.w .hero .btn{background:#087577;color:#fff}
@media(max-width:760px){body.tl-business .hero{min-height:420px}body.tl-business .card{padding:22px}body.tl-ticket .w>.hero:first-of-type{min-height:740px}body.tl-ticket .steps{grid-template-columns:repeat(2,1fr)}body.tl-ticket .hero{padding:24px}}

/* Keep the photograph above legacy opaque hero backgrounds. */
html[data-tl-city="hub"] .hero .bg{z-index:0!important}
html[data-tl-city="hub"] .hero:after{z-index:1!important}
html[data-tl-city="hub"] .hero .wrap{position:relative;z-index:2!important}
html[data-tl-city="hub"] .hero .credit{z-index:3!important}

/* Business editorial surface: clear reading cards beneath the photographic lead. */
body.townline-brand-unified.tl-business main{background:#e8f2f0!important;color:#16333b!important}
body.townline-brand-unified.tl-business main .section{background:#e8f2f0!important;color:#16333b!important}
body.townline-brand-unified.tl-business main .card{background:#f7fbfa!important;border:1px solid #bfd5d0!important;box-shadow:0 12px 32px rgba(12,53,61,.1)!important;color:#16333b!important}
body.townline-brand-unified.tl-business main .card :is(h2,h3,h4,p,li,small,label,.note,.fine){color:#16333b!important}
body.townline-brand-unified.tl-business main .card :is(.kicker,.tag,.ey){color:#087579!important}
body.townline-brand-unified.tl-business main .card :is(input,select,textarea){background:#fff!important;color:#12313b!important;border-color:#97b8b2!important}
body.townline-brand-unified.tl-business main .card :is(input,select,textarea)::placeholder{color:#596d71!important}
body.townline-brand-unified.tl-business main .card .btn,body.townline-brand-unified.tl-business main .card button{background:#087579!important;color:#fff!important;border-color:#087579!important}

body.townline-brand-unified.tl-business main .card :is(.price,.sub,.muted,.desc,strong,b){color:#16333b!important}
