body[data-townline-magazine]{background:#f3f7f6;color:#16394b;font-family:Inter,system-ui,sans-serif}.tl-magazine-header{background:#082b42;border-bottom:1px solid #b9d2dc}.tl-magazine-header .tl-header-inner{width:min(1240px,92%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.tl-magazine-header img{display:block;width:360px;max-width:100%;height:auto}.tl-magazine-header nav{display:flex;flex-wrap:wrap;gap:12px 24px}.tl-magazine-header nav a{color:#eef6fa;text-decoration:none;font:600 14px/1.5 system-ui;padding:8px 0}.tl-magazine-header a:focus-visible{outline:3px solid #b5d9e9;outline-offset:4px}
body[data-townline-home] .hero{min-height:620px;min-height:clamp(560px,76svh,800px);align-items:flex-end;background:#173c51}body[data-townline-home] .hero>img{object-position:center 42%;filter:none}body[data-townline-home] .hero:after{background:linear-gradient(180deg,transparent 10%,#071f3422 42%,#071f34e6 100%)}body[data-townline-home] .hero .w{width:min(1160px,92vw);padding:100px 0 56px}body[data-townline-home] .hero h1{font:600 clamp(48px,6.8vw,94px)/1.03 Georgia,serif;letter-spacing:-.03em;color:#fff;max-width:850px}body[data-townline-home] .hero h1 em{background:none;-webkit-text-fill-color:currentColor;color:#edf6f9}body[data-townline-home] .hero .brand{color:#edf6f9;font-size:12px}body[data-townline-home] .hero .sub{color:#f3f7fa;font-size:clamp(18px,2vw,22px);max-width:650px}body[data-townline-home] .hero .b{border-radius:5px;padding:14px 24px}body[data-townline-home] .hero .b1{background:#f2f6f4;color:#12394f}body[data-townline-home] .hero .b2{border-color:#f2f6f4;color:#fff;background:#0c2c46aa}
.tl-feature-grid{width:min(1200px,92vw);margin:36px auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}.tl-feature-grid>*{min-width:0;margin:0;border:1px solid #cadce1;border-radius:8px;overflow:hidden;box-shadow:0 12px 30px #16394b0a;padding:26px;background:#fff;color:#16394b}.tl-feature-grid>*:before{content:"";display:block;height:190px;margin:-26px -26px 24px;background-size:cover;background-position:center}.tl-feature-grid>.sc-network:before{background-image:url('/assets/photos/intelligence/sports-arena-960.webp')}.tl-feature-grid>.election-feature:before{background-image:url('/townline/assets/towns/kelowna-card.jpg')}.tl-feature-grid .sc-network-inner,.tl-feature-grid .ef-inner{max-width:none;margin:0}.tl-feature-grid .sc-network-heading{display:block}.tl-feature-grid h2{font:500 clamp(27px,3vw,36px)/1.16 Georgia,serif!important;color:#143e54!important;margin:10px 0 18px!important}.tl-feature-grid p{color:#375c6e;font-size:16px;line-height:1.7}.tl-feature-grid .sc-eyebrow,.tl-feature-grid .ef-kicker{color:#427284;font:700 11px/1.6 system-ui;letter-spacing:.12em}.tl-feature-grid .sc-primary{display:inline-flex;min-height:44px;align-items:center;background:#164c68;color:#fff!important;font-size:14px;border-radius:4px;padding:12px 18px}.tl-feature-grid .sc-network nav{display:flex;flex-wrap:wrap;gap:4px 15px}.tl-feature-grid .sc-network nav a{color:#1a526e;font-size:13px;border-color:#d1e2e7}.tl-sports-links{margin-top:20px}.tl-sports-links summary{cursor:pointer;color:#1a526e;font:600 14px/1.6 system-ui;padding:10px 0;border-top:1px solid #d6e4e9}.tl-feature-grid .ef-links{display:flex;flex-wrap:wrap;gap:12px 20px}.tl-feature-grid .ef-links a{color:#164c68;font-weight:650}.tl-feature-grid small{color:#597584;font-size:12px;line-height:1.6}.tl-feature-grid .sc-network-note{font-size:13px;color:#597584}.tl-feature-grid .election-local-results{color:#294d60}.tl-feature-grid .election-local-riding{background:#f2f7f7;border-color:#ccdee4}.tl-feature-grid .election-table-wrap{overflow:auto}.tl-feature-grid table{font-size:13px;min-width:360px}.tl-feature-grid .election-local-results a{color:#164c68}
.tl-editions{width:min(1200px,92vw);margin:48px auto;color:#143e54}.tl-editions h2{font:500 clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:12px 0}.tl-editions>p{color:#517283}.tl-city-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 36px}.tl-city-links a{color:#164c68;padding:8px 0;text-underline-offset:5px}.tl-store-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #c4d9e2;border-radius:8px;overflow:hidden;background:#fff}.tl-store-feature img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}.tl-store-feature>div{padding:38px}.tl-store-feature h3{font:500 34px/1.16 Georgia,serif;margin:10px 0}.tl-store-feature p{color:#517283}.tl-store-feature a{display:inline-flex;margin-top:10px;padding:12px 20px;border:1px solid #164c68;border-radius:4px;color:#fff;background:#164c68;text-decoration:none}.tl-store-feature small{display:block;color:#597584;margin-top:12px}
@media(max-width:800px){.tl-magazine-header .tl-header-inner{flex-direction:column;gap:8px;padding:12px 0}.tl-magazine-header img{width:min(340px,88vw)}.tl-magazine-header nav{justify-content:center;gap:10px 22px}.tl-magazine-header nav a{font-size:13px;padding:4px 0}.tl-feature-grid{grid-template-columns:minmax(0,1fr);gap:22px;margin:24px auto}.tl-store-feature{grid-template-columns:minmax(0,1fr)}body[data-townline-home] .hero .w{padding:80px 0 38px}body[data-townline-home] .hero h1{font-size:clamp(46px,11vw,72px)}body[data-townline-home] .hero{min-height:580px}.tl-feature-grid>*:before{height:180px}.tl-store-feature>div{padding:26px}.tl-editions{margin:36px auto}}
@media(prefers-reduced-motion:reduce){body[data-townline-magazine] *{scroll-behavior:auto!important}}
body[data-townline-magazine] .tl-feature-grid .sc-network .sc-network-note{color:#597584!important}body[data-townline-magazine] .tl-feature-grid .sc-network .sc-eyebrow{color:#427284!important}

/* Election source layout is full-page; constrain it inside magazine columns. */
body[data-townline-magazine] .tl-feature-grid .ef-inner,body[data-townline-magazine] .tl-feature-grid .sc-network-inner{box-sizing:border-box;width:100%;min-width:0;max-width:100%}body[data-townline-magazine] .tl-feature-grid p,body[data-townline-magazine] .tl-feature-grid h2{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Keep the existing arrival control inline, gold and comfortably tappable. */
body[data-townline-home] .arqs-owner-signature>.tl-replay-arrival{display:inline-flex;align-items:center;min-height:44px;margin:4px max(4vw,20px);padding:6px 0;color:#e6c46e;font:600 15px/1.5 system-ui;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;border-radius:0;background:transparent}
body[data-townline-home] .tl-replay-arrival:focus-visible{outline:3px solid #e6c46e;outline-offset:4px}
