@charset "UTF-8";
/* Radio guide (/radio/): hero tuner, legends, finder with map, history. Builds on home.css and places.css. */
.radio-page{--studio:#101613;--panel:#1a221e;--glass:#0a100d;--glow:#e9fc82}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.radio-page [hidden]{display:none!important}
.fmt-news-talk{--fmt:#8fd3ff}.fmt-sports{--fmt:#ffb347}.fmt-public{--fmt:#7fd6c2}.fmt-classical-jazz{--fmt:#f5d67a}.fmt-rock{--fmt:#ff7a59}.fmt-alternative{--fmt:#ff9ecf}
.fmt-pop{--fmt:#e9fc82}.fmt-urban{--fmt:#d9a6ff}.fmt-adult{--fmt:#f2c9a0}.fmt-classic-hits{--fmt:#ffd166}.fmt-country{--fmt:#f2b880}.fmt-christian{--fmt:#b8e0a8}
.fmt-gospel{--fmt:#c7b8ff}.fmt-religious{--fmt:#cfd8c9}.fmt-spanish{--fmt:#ff8a80}.fmt-world{--fmt:#80cbc4}.fmt-freeform{--fmt:#e4e4dc}

/* Hero */
.radio-hero{background:radial-gradient(circle at 78% 20%,#2c3a2f 0,transparent 55%),var(--studio);color:var(--paper,#f0eee4);padding-block:58px 70px;overflow:hidden}
.radio-hero-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.radio-hero .eyebrow{color:#c0c7af;margin-bottom:26px;flex-wrap:wrap}
.on-air{display:inline-block;padding:6px 10px;border:2px solid #ff5b3a;color:#ff5b3a;letter-spacing:3px;font-size:11px;box-shadow:0 0 18px #ff5b3a55,inset 0 0 10px #ff5b3a33;animation:onair 2.4s ease-in-out infinite}
.radio-hero h1{font-size:clamp(54px,7.2vw,112px);line-height:.92;letter-spacing:-4px;margin:0 0 26px}
.radio-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--glow)}
.radio-lead{font-size:16px;line-height:1.75;max-width:560px;color:#dfe3d6;margin:0 0 30px}
.radio-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#ffffff22;border:1px solid #ffffff22;margin:0 0 30px;max-width:560px}
.radio-stats div{background:var(--studio);padding:14px 14px 12px}.radio-stats dt{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#aab39f;order:2}
.radio-stats dd{margin:0 0 4px;font-size:34px;font-weight:700;letter-spacing:-1.5px;color:var(--glow)}.radio-stats div{display:flex;flex-direction:column-reverse}
.radio-hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.radio-hero .text-link{color:var(--paper,#f0eee4)}
.radio-keep{margin:26px 0 0;font-size:12px;color:#aab39f;display:flex;gap:9px;align-items:center}.radio-keep span{color:var(--glow);font-size:16px}
.radio-noscript{border:1px dashed #ffffff55;padding:24px;font-size:13px}

/* Tuner */
.tuner{background:linear-gradient(180deg,#262f2a,#161d19);border:1px solid #ffffff1f;border-radius:18px;padding:22px 24px 24px;box-shadow:0 30px 60px #00000070,inset 0 1px 0 #ffffff14;position:relative}
.tuner::before{content:"";position:absolute;inset:8px;border-radius:12px;border:1px solid #ffffff0d;pointer-events:none}
.tuner-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.tuner-top h2{font-size:13px;letter-spacing:2px;text-transform:uppercase;margin:0 auto 0 0;color:#c0c7af}
.tuner-location{display:flex;align-items:center;gap:8px;font-size:11px;color:#aab39f}
.tuner select{background:#0e1411;color:var(--paper,#f0eee4);border:1px solid #ffffff2e;padding:8px 10px;font:inherit;font-size:12px}
.tuner-band{display:flex;border:1px solid #ffffff2e}.tuner-band button,.tuner-power,.tuner-controls button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.tuner-band button{padding:8px 12px;font-size:12px;font-weight:700;color:#aab39f}.tuner-band button[aria-pressed=true]{background:var(--glow);color:var(--ink,#19231f)}
.tuner-power{padding:8px 13px;border:1px solid #ffffff2e!important;font-size:12px;font-weight:700;color:#aab39f;display:flex;gap:7px;align-items:center}
.tuner-led{width:9px;height:9px;border-radius:50%;background:#3a2622;box-shadow:inset 0 0 2px #000}.tuner.is-on .tuner-led{background:#ff5b3a;box-shadow:0 0 8px #ff5b3a}.tuner.is-on .tuner-power{color:#ff5b3a;border-color:#ff5b3a!important;box-shadow:0 0 14px #ff5b3a44}
.tuner-display{background:var(--glass);border:1px solid #000;border-radius:8px;padding:16px 18px 14px;box-shadow:inset 0 0 30px #000c;position:relative;overflow:hidden;min-height:132px}
.tuner-display::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 3px);pointer-events:none}
.tuner-lcd{display:flex;align-items:baseline;gap:10px;font-family:"Courier New",monospace;color:#8a9a55;transition:color .3s,text-shadow .3s}
.tuner.is-on .tuner-lcd{color:var(--glow);text-shadow:0 0 14px #e9fc8288}
.tuner-freq{font-size:58px;font-weight:700;letter-spacing:-2px;line-height:1}.tuner-unit{font-size:14px;letter-spacing:2px}
.tuner-signal{margin-left:auto;display:flex;align-items:end;gap:3px;height:26px}.tuner-signal i{width:6px;background:#ffffff1c;display:block}
.tuner-signal i:nth-child(1){height:20%}.tuner-signal i:nth-child(2){height:40%}.tuner-signal i:nth-child(3){height:60%}.tuner-signal i:nth-child(4){height:80%}.tuner-signal i:nth-child(5){height:100%}
.tuner.is-on .tuner-signal i.on{background:var(--glow)}
.tuner-name{margin:10px 0 3px;font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--paper,#f0eee4);min-height:27px}
.tuner-info{margin:0;font-size:12px;color:#aab39f;line-height:1.6}.tuner-info a{color:#dfe3d6}.tuner-nostream{color:#ffb39c}
.tuner-scale{position:relative;height:92px;margin:18px 0 16px;background:linear-gradient(180deg,#0c120f,#141c17);border:1px solid #000;border-radius:6px;overflow:hidden}
.tuner-scale::before{content:"";position:absolute;left:0;right:0;top:34px;border-top:1px solid #ffffff33}
.tuner-ticks{position:absolute;inset:0 14px}
.tuner-mark{position:absolute;top:10px;transform:translateX(-50%);font-family:"Courier New",monospace;font-size:10px;color:#aab39f}
.tuner-mark::after{content:"";position:absolute;left:50%;top:16px;height:9px;border-left:1px solid #ffffff55}
.tuner-station{position:absolute;bottom:14px;width:3px;height:22px;margin-left:-1px;background:var(--fmt);opacity:.45;border-radius:1px}
.tuner-station.is-live{height:34px;opacity:1;box-shadow:0 0 8px var(--fmt)}
.tuner-needle{position:absolute;top:4px;bottom:4px;width:3px;left:calc(14px + (100% - 28px) * var(--p,50) / 100);margin-left:-1px;background:#ff5b3a;box-shadow:0 0 12px #ff5b3a;border-radius:2px;pointer-events:none;transition:left .08s linear}
.tuner-scale input{position:absolute;inset:0 14px;width:calc(100% - 28px);height:100%;margin:0;opacity:0;cursor:ew-resize}
.tuner-scale:focus-within{outline:2px solid var(--glow);outline-offset:3px}
.tuner-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tuner-controls>button{padding:10px 14px;border:1px solid #ffffff2e!important;font-size:12px;font-weight:700;color:var(--paper,#f0eee4)}
.tuner-controls>button:hover{background:#ffffff12}
.tuner-presets{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.tuner-presets button{padding:8px 9px;border:1px solid #ffffff2e!important;font-size:11px;color:#dfe3d6;min-width:62px;text-align:left}
.tuner-presets button b{color:var(--glow);margin-right:2px}.tuner-presets button:disabled{opacity:.35;cursor:default}

/* Cards */
.radio-card{display:grid;grid-template-columns:92px minmax(0,1fr);border:1px solid var(--ink,#19231f);background:#f7f5ec;min-height:168px;position:relative;transition:transform .2s,box-shadow .2s}
.radio-card:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--ink,#19231f)}
.radio-card-dial{background:var(--ink,#19231f);color:var(--paper,#f0eee4);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:14px 10px 12px;border-top:6px solid var(--fmt);position:relative;overflow:hidden}
.radio-freq{font-family:"Courier New",monospace;font-weight:700;font-size:24px;letter-spacing:-1px;line-height:1;color:var(--fmt)}
.radio-freq small{display:block;font-size:10px;letter-spacing:2px;margin-top:4px;color:#c0c7af}
.radio-call{font-size:11px;font-weight:700;letter-spacing:1.2px}
.radio-card-body{padding:14px 15px 13px;display:flex;flex-direction:column;min-width:0}
.radio-card-kicker{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted,#58635b)}
.radio-card h3{margin:0 0 6px;font-size:19px;line-height:1.15;letter-spacing:-.5px}.radio-card h3 a{text-decoration:none}.radio-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.radio-card-owner{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--muted,#58635b)}
.radio-status{margin:0 0 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#a53f2e}
.radio-card-actions{margin-top:auto;display:flex;align-items:center;gap:10px}
.radio-play{display:inline-flex;align-items:center;gap:9px;padding:9px 14px 9px 11px;background:var(--lime,#e9fc82);color:var(--ink,#19231f);text-decoration:none;font-size:12px;font-weight:700;border-radius:999px;border:1px solid var(--ink,#19231f)}
.radio-play:hover{background:#d8ef69}
.radio-play-icon{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.radio-play.is-active{background:var(--ink,#19231f);color:var(--lime,#e9fc82)}
.radio-play.is-active .radio-play-icon{width:10px;height:12px;border:0;background:linear-gradient(90deg,currentColor 0 3px,transparent 3px 7px,currentColor 7px 10px)}
.radio-play-large{padding:14px 22px 14px 18px;font-size:14px}.radio-play-small{padding:7px 12px 7px 10px;font-size:11px}
.radio-site{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.radio-fav{margin-left:auto;background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--ink,#19231f);padding:4px}
.radio-fav[aria-pressed=true]{color:#c98a00}
.radio-card.is-playing{box-shadow:6px 6px 0 var(--fmt),0 0 0 2px var(--ink,#19231f)}
.radio-card.is-playing .radio-card-dial::after{content:"";position:absolute;left:10px;right:10px;bottom:34px;height:18px;background:repeating-linear-gradient(90deg,var(--fmt) 0 3px,transparent 3px 6px);-webkit-mask:linear-gradient(0deg,#000 30%,transparent);mask:linear-gradient(0deg,#000 30%,transparent);animation:radio-eq .9s ease-in-out infinite alternate}

/* Legends */
.radio-legends{padding-block:72px 40px}
.radio-legend-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}

/* Detail */
.radio-detail{padding-block:48px 20px}
.radio-detail-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;margin-top:22px;align-items:start}
.radio-detail-dial{background:var(--ink,#19231f);border-top:10px solid var(--fmt);padding:26px 22px;display:flex;flex-direction:column;gap:30px;color:var(--paper,#f0eee4)}
.radio-detail-dial .radio-freq{font-size:52px}.radio-detail-dial .radio-call{font-size:16px}
.radio-detail h2{font-size:clamp(38px,5vw,70px);letter-spacing:-2.6px;line-height:1;margin:0 0 16px}
.radio-detail-lead{font-size:15px;line-height:1.75;max-width:700px}
.radio-detail .radio-card-actions{margin:22px 0 26px}
.radio-nostream{font-size:13px;margin:0;padding:10px 14px;border:1px dashed var(--ink,#19231f)}
.radio-facts{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0;border-top:1px solid var(--ink,#19231f);margin:0}
.radio-facts dt,.radio-facts dd{padding:10px 0;border-bottom:1px solid var(--line,#c9cabe);font-size:13px;margin:0}.radio-facts dt{font-weight:700;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;padding-top:13px}
.radio-links{display:flex;gap:24px;flex-wrap:wrap;margin:22px 0 0}.radio-links a{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}

/* Finder */
.radio-directory{padding-block:60px}
.radio-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;padding:24px;border:1px solid var(--ink,#19231f);background:#f7f5ec;margin-bottom:22px}
.radio-filters label{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px}
.radio-filters select,.radio-filters input[type=search]{width:100%;padding:11px 12px;border:1px solid var(--ink,#19231f);background:white;font:inherit;font-size:13px;color:var(--ink,#19231f)}
.radio-query{grid-column:1/-1}.radio-query input{font-size:16px!important;padding:14px 15px!important}
.radio-live-only{display:flex!important;align-items:center;gap:9px;font-size:12px!important;letter-spacing:.3px!important;text-transform:none!important;align-self:end;padding-bottom:12px}
.radio-live-only input{width:18px;height:18px;accent-color:var(--ink,#19231f)}
.radio-filter-actions{grid-column:span 3;display:flex;align-items:end;justify-content:flex-end;gap:20px}
.radio-results-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.radio-results-top p{margin:0;font-size:13px}.radio-results-top strong{font-size:22px}
.radio-results-top button{background:none;border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.radio-results-top button[aria-pressed=true]{background:var(--ink,#19231f);color:var(--lime,#e9fc82);padding:6px 10px}
.radio-directory-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}
.radio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}
.radio-map{position:sticky;top:20px;border:1px solid var(--ink,#19231f);background:#e9e7dc;padding:18px}
.radio-map h3{margin:0 0 6px;font-size:18px;letter-spacing:-.4px}.radio-map>p{margin:0 0 10px;font-size:12px;line-height:1.6;color:var(--muted,#58635b)}
.radio-map svg{width:100%;height:auto;display:block}
.radio-map-land{fill:#d5d8c8;stroke:var(--ink,#19231f);stroke-width:1.4;stroke-linejoin:round}
.radio-map circle{fill:#19231f55;stroke:var(--ink,#19231f);stroke-width:1;transition:opacity .2s}
.radio-map circle.has-live{fill:#bfe24b}.radio-map a:hover circle,.radio-map circle.is-current{fill:#ed7653;stroke-width:2.5}
.radio-map a.is-dim circle{opacity:.18}
.radio-map-legend{font-size:11px;display:flex;align-items:center;gap:6px;margin:10px 0 0}.radio-map-legend span{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid var(--ink,#19231f)}
.dot-live{background:#bfe24b}.dot-plain{background:#19231f55;margin-left:10px}
.radio-more{margin:28px auto 0;display:flex}.radio-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:26px}.radio-pages a{padding:8px 12px;border:1px solid var(--ink,#19231f);text-decoration:none;font-size:12px}.radio-pages a[aria-current]{background:var(--ink,#19231f);color:var(--paper,#f0eee4)}

/* History */
.radio-history{background:var(--ink,#19231f);color:var(--paper,#f0eee4);padding-block:72px}
.radio-history .eyebrow{color:var(--lime,#e9fc82)}.radio-history .section-heading>p{color:#c6cebd}
.radio-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#ffffff26;border:1px solid #ffffff26}
.radio-timeline li{background:var(--ink,#19231f);padding:22px 20px 24px;display:flex;flex-direction:column;gap:14px}
.radio-year{font-family:Georgia,serif;font-size:48px;letter-spacing:-2px;line-height:1;color:var(--lime,#e9fc82)}
.radio-timeline h3{margin:0 0 8px;font-size:18px}.radio-timeline h3 small{font-weight:400;color:#c6cebd;font-size:12px;display:block;margin-top:3px}
.radio-timeline p{margin:0 0 14px;font-size:13px;line-height:1.7;color:#dfe3d6}.radio-timeline .text-link{color:var(--lime,#e9fc82)}
.radio-sources{padding-block:40px 60px;font-size:12px;line-height:1.7;color:var(--muted,#58635b)}.radio-sources h2{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--ink,#19231f)}
.radio-sources ul{padding-left:18px;columns:2;column-gap:40px}.radio-sources p{max-width:900px}

@keyframes onair{50%{box-shadow:0 0 4px #ff5b3a33,inset 0 0 4px #ff5b3a22;opacity:.8}}
@keyframes radio-eq{to{height:6px}}

@media(max-width:1180px){.radio-hero-inner{grid-template-columns:1fr;gap:40px}.radio-legend-row{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.radio-filter-actions{grid-column:span 2}}
@media(max-width:980px){.radio-directory-grid{grid-template-columns:1fr}.radio-map{position:static;order:-1;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:6px 20px}.radio-map svg{grid-row:1/4;grid-column:2}}
@media(max-width:700px){.radio-hero{padding-block:34px 44px}.radio-hero h1{letter-spacing:-2.5px}.radio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.tuner{padding:16px 14px 18px;border-radius:12px}.tuner-freq{font-size:44px}.tuner-name{font-size:18px}.tuner-top h2{width:100%}.tuner-presets{margin-left:0;width:100%}.tuner-presets button{flex:1;min-width:0}
.radio-legend-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px}.radio-legend-row .radio-card{flex:0 0 84%;scroll-snap-align:start}
.radio-filters{grid-template-columns:1fr 1fr;padding:16px}.radio-filter-actions{grid-column:1/-1;justify-content:space-between}.radio-live-only{grid-column:1/-1;padding-bottom:0}
.radio-map{grid-template-columns:1fr}.radio-map svg{grid-row:auto;grid-column:auto;max-width:280px;margin:auto}
.radio-detail-grid{grid-template-columns:1fr;gap:22px}.radio-detail-dial{flex-direction:row;align-items:end;justify-content:space-between}.radio-facts{grid-template-columns:120px minmax(0,1fr)}
.radio-timeline{grid-template-columns:1fr}.radio-sources ul{columns:1}.section-heading{flex-direction:column;align-items:start;gap:14px}}
@media(prefers-reduced-motion:reduce){.on-air,.radio-card.is-playing .radio-card-dial::after{animation:none}.tuner-needle{transition:none}}
/* Maps: metro Detroit inset + state map with the Ontario shore */
.radio-map h4{margin:14px 0 6px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}
.radio-map-water{fill:#cfe0e3}.radio-map-canada{fill:#e4e2d6;stroke:#8f9488;stroke-width:1;stroke-dasharray:3 2}
.radio-map-metro circle{stroke-width:1.2}
.radio-map-label{font:700 11px Arial,Helvetica,sans-serif;fill:var(--ink,#19231f);paint-order:stroke;stroke:#f0eee4;stroke-width:3px;pointer-events:none}
