/* Approved Evening Line identity. Functional call/desk styles remain in style.css. */
:root { --night:#101d24; --walnut:#3a2f29; --amber:#d99a43; --ink:#f2e5cd; --muted:#c0b8a8; --rule:#66513b; --focus:#ffd68a; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body.branded { background:#0b191f; color:var(--ink); font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif; }
a { color:inherit; text-underline-offset:5px; }
a:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
.skip-link { position:fixed; z-index:10; top:8px; left:16px; transform:translateY(-160%); background:var(--ink); color:var(--night); padding:10px 18px; }
.skip-link:focus { transform:none; }
.branded .station { width:min(1456px,calc(100% - 80px)); padding:0 0 32px; }
.branded .masthead { position:relative; z-index:1; min-height:76px; align-items:center; margin:0; gap:32px; border-bottom:1px solid #ad65487a; }
.station-brand { display:flex; align-items:center; gap:22px; text-decoration:none; white-space:nowrap; color:#eeb577; }
.station-brand img { width:160px; height:38px; }
.station-brand span { text-transform:uppercase; font-size:14px; letter-spacing:.33em; }
.masthead nav { display:flex; gap:34px; margin-right:auto; }
.masthead nav a { text-decoration:none; font-size:15px; padding:12px 0; }
.masthead nav a:hover { color:var(--amber); }
.station-domain { font:16px Georgia,serif; letter-spacing:.12em; text-decoration:none; }
.brand-hero { position:relative; min-height:470px; display:flex; align-items:center; isolation:isolate; padding:35px 0 22px; }
.night-drive { position:absolute; z-index:-2; width:88%; height:100%; right:-2.7%; top:0; object-fit:cover; object-position:65% 57%; opacity:.92; mask-image:linear-gradient(90deg,transparent,black 25%),linear-gradient(0deg,transparent,black 12%,black 95%,transparent); mask-composite:intersect; }
.brand-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0b191f 0%,#0b191ff5 22%,#0b191f88 43%,transparent 70%); pointer-events:none; }
.hero-copy { width:43%; padding:5px 0 0 35px; }
.branded h1 { margin:0; line-height:1; }
.show-wordmark { display:block; width:100%; height:auto; }
.show-signature { display:grid; justify-items:center; gap:1px; margin:8px 0 15px; }
.show-signature img { width:98%; height:40px; }
.show-signature span { color:#eeb577; font-size:14px; letter-spacing:.45em; text-transform:uppercase; padding-left:.45em; }
.hero-tagline { font:clamp(19px,2vw,29px)/1.3 Georgia,serif; white-space:nowrap; text-align:center; margin:16px -18px 0; }
.hero-disclosure { margin:5px -12px 0; font-size:17px; line-height:1.5; text-align:center; }
.hero-note { position:absolute; top:30px; right:0; color:#c0a382; font-size:10px; line-height:1.9; letter-spacing:.22em; text-transform:uppercase; }
.hero-aside { position:absolute; bottom:38px; right:0; margin:0; color:#d3c1a2; font:italic 18px/1.4 Georgia,serif; }
.branded .receiver { position:relative; padding:17px; border:1px solid #bd8c53; border-radius:14px; background:repeating-linear-gradient(1deg,#251b15aa 0 1px,transparent 1px 3px,#bb825322 3px 5px),repeating-linear-gradient(178deg,#5f3e2870 0 2px,transparent 2px 7px),linear-gradient(90deg,#69462f,#3d2c23 35%,#795036 70%,#3c281e); box-shadow:inset 0 1px 2px #f8c68399,0 12px 30px #0005; scroll-margin-top:18px; }
.branded .receiver-face { grid-template-columns:minmax(0,1fr) 320px; gap:26px; padding:22px 24px; color:var(--ink); border:1px solid #060d10; background:radial-gradient(ellipse at 35% 0%,#242521,#0d1316 80%); border-radius:10px; box-shadow:inset 0 3px 10px #000,0 0 0 3px #503c29,0 0 0 5px #201c17; }
.branded .display { min-height:0; padding:0; border:0; background:none; box-shadow:none; color:var(--ink); }
.branded .display.powered { background:none; color:var(--ink); }
.branded .display-top { justify-content:flex-start; gap:20px; color:#c6b995; font-size:11px; letter-spacing:.1em; opacity:1; }
#connection { display:flex; align-items:center; gap:9px; }
#connection::before { content:""; display:inline-block; flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:#797569; }
.powered #connection::before { background:#ff8c48; box-shadow:0 0 14px #ff793777; }
.display-center { display:flex; align-items:center; gap:25px; min-height:57px; }
.branded .display-title { font:clamp(25px,2.5vw,40px)/1.15 Georgia,serif; margin:13px 0 11px; min-height:0; max-width:65%; }
.branded .tuner { flex:1; height:24px; min-width:100px; margin:8px 0 0; color:var(--amber); border:0; background:linear-gradient(#ad6548,#ad6548) center / 100% 1px no-repeat,repeating-linear-gradient(90deg,transparent 0 35px,#ad6548 35px 37px,transparent 37px 72px) center / 100% 15px no-repeat; }
.branded .tuner i { left:54%; top:-6px; height:37px; background:#efb35f; width:2px; }
.tuner i::after { content:""; width:11px; height:11px; border-radius:50%; background:#ffd68a; position:absolute; top:13px; left:-4.5px; box-shadow:0 0 16px 5px #e8943570; }
.radio-disclosure { margin:0 0 10px; color:#e9b56f; font-size:10px; line-height:1.7; letter-spacing:.22em; text-transform:uppercase; }
.branded .display-caption { font-size:12px; max-width:none; min-height:0; color:var(--muted); margin:0; opacity:1; }
.branded .now-playing { margin:5px 0 0; color:var(--muted); font-size:11px; }
.branded .display-bottom { margin-top:9px; color:#c0b8a8; font-size:10px; justify-content:flex-start; gap:22px; }
.branded .receiver-controls { display:grid; grid-template-columns:138px minmax(0,1fr); gap:24px; align-items:center; padding:0; }
.branded .power { width:126px; height:126px; min-width:0; display:flex; justify-content:center; flex-direction:column; gap:0; padding:13px 8px; border-radius:50%; color:#201910; background:linear-gradient(130deg,#f2bc64,#ce852d); border:2px solid #efc98f; outline:2px solid #7e4e23; box-shadow:0 0 0 5px #201b14,0 0 0 6px #896138,0 7px 14px #000b,inset 0 1px 6px #ffdc9e; }
.branded .power-symbol { height:auto; width:auto; margin-bottom:4px; font-size:39px; line-height:1; background:none; color:inherit; border:0; outline:none; border-radius:0; box-shadow:none; }
.branded .power[aria-pressed="true"] .power-symbol { color:inherit; box-shadow:none; }
.branded .power[aria-pressed="true"] { background:linear-gradient(130deg,#ffce82,#db973e); }
.branded .power:focus-visible { outline:3px solid var(--ink); outline-offset:7px; }
.branded #power-label { font:18px/1.1 Georgia,serif; }
.branded .volume-control { border-left:1px solid #ad654852; padding-left:21px; display:flex; flex-direction:column; width:100%; gap:5px; align-items:stretch; color:var(--muted); font-size:11px; }
.branded input[type="range"] { accent-color:var(--amber); width:100%; min-height:28px; margin:0; }
.branded .volume-control .quiet-button { color:var(--ink); align-self:flex-start; min-height:35px; padding:2px 0; }
.receiver-motto { color:#c0a382; letter-spacing:.16em; text-transform:uppercase; font-size:9px; line-height:1.9; }
.branded .notice { margin:13px auto 0; max-width:90ch; text-align:center; font-size:12px; min-height:19px; }
.invitation { position:relative; text-align:center; padding:23px 0 26px; }
.branded .invitation h2 { font:32px/1.2 Georgia,serif; margin:0 0 18px; }
.invitation-actions { display:flex; justify-content:center; gap:12px; }
.outline-link { display:flex; justify-content:center; align-items:center; gap:15px; min-width:245px; min-height:52px; padding:11px 25px; border:1px solid var(--amber); border-radius:10px; text-decoration:none; font:20px Georgia,serif; background:#07151c80; }
.outline-link span { color:var(--amber); font:25px sans-serif; }
.outline-link:hover { background:#d99a4317; }
.invitation > p { margin:11px 0 0; color:var(--muted); font-size:14px; }
.invitation-aside { position:absolute; left:0; bottom:18px; font-size:10px; line-height:1.9; letter-spacing:.2em; text-transform:uppercase; text-align:left; color:#b9a080; }
.broadcast-disclosure { display:flex; flex-direction:column; align-items:center; text-align:center; padding:16px 20px 24px; border-top:1px solid #ad654875; color:#d1c4ae; font:13px/1.65 Georgia,serif; }
.broadcast-disclosure p { margin:0; }
.station-drawer { border-top:1px solid #ad654850; border-bottom:0; scroll-margin-top:24px; }
.station-drawer > summary { padding:21px 4px; font:23px/1.3 Georgia,serif; }
.station-drawer > summary span { font:12px/1.5 "Avenir Next",sans-serif; padding-top:5px; }
.station-drawer[open] > summary { color:#eeb577; margin-bottom:20px; }
.branded .call-desk { gap:55px; padding:0 4px 32px; }
.branded .listener-desk,.branded .recordings-section { border:0; padding:0 4px 30px; margin:0; }
.branded .call-intro p,.branded .call-guidance { color:var(--muted); }
.branded input:not([type]),.branded input[type="text"],.branded textarea { background:#14242b; border-color:#71624f; color:var(--ink); font-size:16px; }
.branded .secondary-button { background:#1a2b31; border-color:#8c795b; }
.branded .primary-button { background:var(--amber); color:#152027; }
.branded .primary-button:hover:enabled { background:#edb264; }
.branded .conversation { border-top:1px solid #ad654850; margin:0; }
.branded .page-footer { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; font-size:11px; color:var(--muted); margin-top:28px; }
.page-footer p { max-width:85ch; }
.branded .desk-list { max-height:440px; overflow:auto; }
@media (min-width:1500px) { .brand-hero { min-height:480px; } }
@media (max-width:1150px) {
 .branded .station { width:calc(100% - 48px); }
 .station-brand { gap:12px; } .station-brand img { width:90px; } .station-brand span { font-size:12px; letter-spacing:.22em; }
 .station-domain { display:none; } .masthead nav { margin-right:0; margin-left:auto; gap:28px; }
 .hero-copy { width:49%; padding-left:12px; } .brand-hero { min-height:410px; }
 .branded .receiver-face { grid-template-columns:minmax(0,1fr) 270px; gap:20px; padding:20px; }
 .branded .receiver-controls { grid-template-columns:114px 1fr; gap:20px; }
 .branded .power { width:108px; height:108px; } .branded #power-label { font-size:17px; }
 .display-center { gap:16px; } .branded .tuner { min-width:70px; } .branded .display-title { font-size:30px; }
 .radio-disclosure { letter-spacing:.12em; } .invitation-aside { display:none; }
}
@media (max-width:760px) {
 .branded .station { width:calc(100% - 32px); }
 .branded .masthead { flex-wrap:wrap; justify-content:center; gap:0; padding:13px 0 10px; }
 .station-brand { width:100%; justify-content:center; } .station-brand img { width:84px; height:28px; } .station-brand span { font-size:11px; }
 .masthead nav { width:100%; justify-content:center; gap:32px; margin:3px 0 0; } .masthead nav a { font-size:13px; padding:5px 3px; }
 .brand-hero { min-height:0; padding:24px 0 25px; }
 .hero-copy { width:75%; padding:0; } .night-drive { width:100%; right:0; object-position:67% 55%; opacity:.68; }
 .brand-hero::before { background:linear-gradient(90deg,#0b191ff0,#0b191faa 35%,#0b191f22); }
 .hero-note { font-size:8px; top:22px; right:0; } .hero-aside { display:none; }
 .show-signature { margin:3px 0 9px; gap:0; } .show-signature img { height:26px; } .show-signature span { font-size:10px; letter-spacing:.32em; }
 .hero-tagline { font-size:clamp(15px,3.1vw,21px); margin:12px -5px 0; white-space:normal; }
 .hero-disclosure { margin:4px -5px 0; font-size:12px; }
 .branded .receiver { padding:12px; border-radius:11px; }
 .branded .receiver-face { grid-template-columns:1fr; gap:18px; padding:19px 17px; }
 .branded .display-title { font-size:29px; max-width:70%; }
 .branded .receiver-controls { display:flex; flex-direction:row; justify-content:space-between; padding:0 7px; gap:24px; }
 .branded .power { width:88px; height:88px; flex-shrink:0; } .branded .power-symbol { font-size:28px; margin-bottom:3px; } .branded #power-label { font-size:15px; }
 .branded .volume-control { flex:1; max-width:205px; display:grid; grid-template-columns:1fr auto; column-gap:15px; padding-left:20px; }
 .branded .volume-control label { grid-column:1/-1; } .branded .volume-control input { min-width:0; } .receiver-motto { grid-column:1/-1; font-size:8px; }
 .receiver-motto br { display:none; } .radio-disclosure { font-size:9px; letter-spacing:.07em; }
 .branded .display-caption,.branded .now-playing { font-size:11px; }
 .branded .display-bottom { font-size:10px; flex-wrap:wrap; gap:5px 18px; }
 .branded .notice { font-size:11px; padding:0 5px; line-height:1.6; }
 .invitation { padding:23px 0; } .branded .invitation h2 { font-size:27px; }
 .invitation-actions { gap:9px; } .outline-link { min-width:0; flex:1; min-height:49px; gap:8px; padding:10px 9px; font-size:16px; } .outline-link span { font-size:19px; }
 .invitation > p { font-size:12px; max-width:34ch; margin:12px auto 0; }
 .broadcast-disclosure { font-size:12px; padding:14px 3px 23px; }
 .station-drawer > summary { font-size:21px; padding:18px 3px; } .station-drawer > summary span { display:block; float:none; font-size:11px; margin-left:19px; }
 .branded .call-desk { display:block; } .branded .call-intro { margin-bottom:22px; }
 .branded .call-intro p,.branded .call-intro .privacy-note { max-width:none; }
 .branded .section-heading { flex-wrap:wrap; }
 .branded .form-actions { align-items:flex-start; flex-direction:column; gap:8px; }
 .branded .field-hint { max-width:none; font-size:11px; }
 .branded .desk-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:360px) { .hero-copy { width:86%; } .hero-note { display:none; } .branded .display-title { font-size:25px; } .outline-link { font-size:14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
