:root {
  --bg: #070a0e;
  --panel: #0d1218;
  --panel-2: #111821;
  --line: #28313b;
  --text: #f2f5f7;
  --muted: #8f9aa5;
  --accent: #ff4136;
  --green: #61e688;
  --display: "IBM Plex Mono", monospace;
  --condensed: "Barlow Condensed", sans-serif;
  --sans: "Inter", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.signal-line { position: fixed; z-index: 20; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, transparent 0 9%, var(--accent) 32%, #ff9d3d 48%, var(--accent) 66%, transparent 91%); box-shadow: 0 0 16px rgba(255,65,54,.45); }
.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.site-header { position: relative; z-index: 10; width: min(1320px, calc(100% - 48px)); height: 108px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: grid; grid-template-columns: 44px auto; grid-template-rows: 34px 16px; column-gap: 12px; align-items: center; }
.brand-mark { grid-row: 1 / 3; width: 43px; height: 43px; position: relative; display: block; border: 1px solid #5c6671; transform: rotate(45deg); }
.brand-mark i { position: absolute; display: block; background: var(--accent); height: 2px; left: 7px; right: 7px; transform: rotate(-45deg); }
.brand-mark i:nth-child(1) { top: 12px; }.brand-mark i:nth-child(2) { top: 20px; }.brand-mark i:nth-child(3) { top: 28px; }
.brand-call { font: 800 2rem/1 var(--condensed); letter-spacing: .08em; }
.brand-meta { font: 500 .68rem/1 var(--display); letter-spacing: .15em; color: var(--muted); }
.main-nav { display: flex; align-items: center; gap: 30px; }
.main-nav a { position: relative; color: #aeb7bf; font: 600 .78rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
.main-nav a:hover, .main-nav a.active { color: white; }
.main-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -14px; height: 2px; background: var(--accent); }
.menu-toggle { display: none; color: var(--text); border: 1px solid var(--line); background: transparent; padding: 10px 14px; font: 600 .75rem var(--display); }

.hero { min-height: 660px; padding: 96px 0 76px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 12px; font: 600 .75rem var(--display); letter-spacing: .14em; text-transform: uppercase; color: #b7c0c8; }
.eyebrow span { width: 30px; height: 2px; background: var(--accent); box-shadow: 0 0 8px rgba(255,65,54,.5); }
.hero h1 { margin: 18px 0 0; font: 800 clamp(7rem, 14vw, 12.8rem)/.76 var(--condensed); letter-spacing: -.045em; text-transform: uppercase; }
.hero h1 span { color: transparent; -webkit-text-stroke: 2px #d5dbe0; }
.operator { margin: 29px 0 0; font: 700 1.05rem var(--display); letter-spacing: .17em; color: #d8dde1; }
.operator b { color: var(--accent); margin: 0 10px; }
.intro { max-width: 570px; margin: 26px 0 0; color: #abb4bd; font-size: 1.05rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 1px solid transparent; padding: 0 24px; font: 700 .76rem var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease, border .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--accent); box-shadow: 0 9px 28px rgba(255,65,54,.18); }
.btn-primary:hover { background: #ff584f; }
.btn-secondary { border-color: #3c4650; color: #dce1e5; background: #0b0f14; }
.mode-strip { margin-top: 48px; display: flex; gap: 8px; flex-wrap: wrap; }
.mode-strip span { min-width: 56px; padding: 7px 10px; text-align: center; border: 1px solid #29323b; background: #0a0e13; color: #89949d; font: 500 .7rem var(--display); }

.radio-console { position: relative; padding: 22px; border: 1px solid #36414d; border-radius: 6px; background: linear-gradient(145deg, #151c24, #090d12 56%, #10161d); box-shadow: 0 34px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.04); }
.radio-console::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.035); pointer-events: none; }
.console-top { display: flex; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid #2a333d; color: #818d98; font: 500 .63rem var(--display); letter-spacing: .08em; }
.status-row { min-height: 94px; display: flex; align-items: center; justify-content: space-between; }
.status-row small, .freq-label, .console-grid small, .s-meter small, .queue-state small { display: block; color: #77838e; font: 500 .64rem var(--display); letter-spacing: .12em; }
.status { margin-top: 7px; display: flex; align-items: center; gap: 9px; font: 600 .85rem var(--display); letter-spacing: .1em; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #ffb43d; box-shadow: 0 0 10px rgba(255,180,61,.7); }
.status.on-air .status-dot { background: var(--green); box-shadow: 0 0 10px rgba(97,230,136,.75); }
.status.qrt .status-dot { background: #697580; box-shadow: 0 0 8px rgba(105,117,128,.5); }
.signal-bars { height: 40px; display: flex; align-items: end; gap: 4px; }
.signal-bars i { width: 5px; background: #35414d; }.signal-bars i:nth-child(1){height:8px}.signal-bars i:nth-child(2){height:12px}.signal-bars i:nth-child(3){height:16px}.signal-bars i:nth-child(4){height:20px}.signal-bars i:nth-child(5){height:25px}.signal-bars i:nth-child(6){height:30px}.signal-bars i:nth-child(7){height:35px}.signal-bars i:nth-child(8){height:40px}
.signal-bars i:nth-child(-n+3) { background: var(--green); box-shadow: 0 0 5px rgba(97,230,136,.35); }
.frequency-wrap { position: relative; padding: 16px 14px 14px; border: 1px solid #263845; background: #071014; overflow: hidden; }
.frequency-wrap::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.018) 3px 4px); pointer-events: none; }
.frequency { display: block; margin-top: 6px; color: #89f0c5; text-shadow: 0 0 14px rgba(81,224,173,.24); font: 500 clamp(2rem, 4.1vw, 3.2rem)/1 var(--display); letter-spacing: -.055em; white-space: nowrap; }
.unit { position: absolute; right: 14px; top: 17px; color: #72857d; font: 500 .6rem var(--display); }
.console-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 14px; border: 1px solid #29333d; }
.console-grid div { padding: 13px 11px; border-right: 1px solid #29333d; }.console-grid div:last-child{border:0}
.console-grid strong { display: block; margin-top: 5px; font: 600 .76rem var(--display); color: #cfd6dc; }
.s-meter { margin-top: 19px; }
.meter-scale { display: flex; justify-content: space-between; color: #6f7b85; font: .58rem var(--display); }
.meter-track { height: 6px; margin: 6px 0 10px; background: #202a33; }
.meter-track i { display: block; width: 46%; height: 100%; background: linear-gradient(90deg, var(--green), #d5e55d, #ff9c3d); box-shadow: 0 0 8px rgba(97,230,136,.25); }

.ticker { min-height: 96px; border-block: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); padding-inline: max(24px, calc((100% - 1180px)/2)); background: #090d12; }
.ticker div { display: flex; align-items: center; gap: 17px; padding: 0 28px; border-right: 1px solid var(--line); }.ticker div:first-child{padding-left:0}.ticker div:last-child{border:0}
.ticker span { color: #65717c; font: .62rem var(--display); letter-spacing: .1em; }.ticker b { font: 600 .83rem var(--display); letter-spacing: .04em; }

.content-section { padding-block: 118px; }
.section-heading { display: grid; grid-template-columns: 62px 260px 1fr; align-items: end; gap: 26px; margin-bottom: 54px; }
.section-index { align-self: start; color: var(--accent); font: 600 .72rem var(--display); }
.section-heading p, .kicker { margin: 0 0 6px; color: var(--accent); font: 600 .68rem var(--display); letter-spacing: .15em; }
.section-heading h2, .queue-panel h2, .qsl-section h2 { margin: 0; font: 700 clamp(3rem, 6vw, 5.1rem)/.9 var(--condensed); letter-spacing: -.02em; text-transform: uppercase; }
.section-lead { justify-self: end; max-width: 500px; color: #9ca7b0 !important; font: 400 1rem/1.7 var(--sans) !important; letter-spacing: 0 !important; text-transform: none; }
.station-grid { display: grid; grid-template-columns: 1.3fr .85fr .85fr; gap: 14px; }
.station-subheading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:64px 0 22px; padding-bottom:15px; border-bottom:1px solid var(--line); }
.station-subheading span { color:var(--accent); font:600 .68rem var(--display); letter-spacing:.15em; }
.station-subheading p { margin:0; color:#7f8a94; font-size:.84rem; }
.radio-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.equipment-card { min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; border: 1px solid var(--line); background: linear-gradient(145deg,#11171e,#090d12); transition: border-color .25s ease, transform .25s ease; }
.equipment-card.compact { min-height:275px; padding:25px; }
.equipment-card.compact .radio-model { margin-top:auto; font-size:clamp(1.25rem,2.1vw,1.9rem); letter-spacing:-.035em; }
.equipment-card.compact h3 { font-size:1.45rem; }
.equipment-card:hover { transform: translateY(-4px); border-color: #4b5966; }
.card-label { margin-bottom: auto; color: #6f7b85; font: 500 .65rem var(--display); letter-spacing: .12em; }
.equipment-card h3 { margin: 22px 0 5px; font: 600 1.75rem var(--condensed); letter-spacing: .01em; text-transform: uppercase; }
.equipment-card p { margin: 0; color: #8f9ba5; font-size: .88rem; line-height: 1.6; }
.equipment-icon { color: #dfe6eb; font: 600 3rem var(--display); letter-spacing: -.08em; }.equipment-icon.small{font-size:1.8rem;letter-spacing:.05em}
.radio-face { display: flex; align-items: center; gap: 22px; height: 104px; padding: 18px 22px; border: 1px solid #3a4550; background: #0c1117; box-shadow: inset 0 0 28px #050608; }
.radio-screen { flex: 1; height: 65px; padding: 10px; color: #77e3bb; border: 1px solid #2f4b46; background: #06100f; font-family: var(--display); }
.radio-screen span { display: block; font-size: 1.25rem; }.radio-screen small { color: #67857a; }
.radio-knob { width: 62px; height: 62px; border-radius: 50%; border: 7px solid #262e36; background: radial-gradient(circle at 38% 34%, #65717b, #1b2229 52%, #090b0e); box-shadow: 0 0 0 1px #414c55; }

.antennas-section { padding-block: 118px; background: #0a0e13; border-block: 1px solid #1b232c; }
.antenna-board { min-height: 500px; display: grid; grid-template-columns: .9fr 1.1fr; border: 1px solid var(--line); background: #080c10; }
.mast-graphic { position: relative; min-height: 500px; overflow: hidden; background: radial-gradient(circle at 50% 42%, rgba(255,65,54,.08), transparent 37%), linear-gradient(140deg,#10161d,#080b0f); border-right: 1px solid var(--line); }
.mast { position: absolute; width: 5px; height: 330px; left: 50%; bottom: 0; background: linear-gradient(90deg,#77818a,#252c32,#8a949d); }
.beam { position: absolute; display:block; left: 15%; width: 70%; height: 2px; background: #79838c; box-shadow: 0 0 7px rgba(255,255,255,.15); }
.beam::after { content:""; position:absolute; left:50%; top:-28px; width:2px; height:56px; background:#525c65; }
.beam.b1{top:35%}.beam.b2{top:43%;left:22%;width:56%}.beam.b3{top:51%;left:29%;width:42%}
.wave { position:absolute; left:50%; top:43%; border:1px solid rgba(255,65,54,.22); border-radius:50%; transform:translate(-50%,-50%); animation:pulse 3.3s infinite ease-out; }.wave.w1{width:150px;height:150px}.wave.w2{width:260px;height:260px;animation-delay:.5s}.wave.w3{width:390px;height:390px;animation-delay:1s}
@keyframes pulse{0%{opacity:.2;transform:translate(-50%,-50%) scale(.86)}60%{opacity:.7}100%{opacity:.05;transform:translate(-50%,-50%) scale(1.08)}}
.antenna-list { display: grid; grid-template-columns: 1fr 1fr; }
.antenna-list>div { position: relative; padding: 40px 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.antenna-list>div:nth-child(even){border-right:0}.antenna-list>div:nth-child(n+3){border-bottom:0}
.antenna-list span { color: var(--accent); font: 600 .68rem var(--display); }.antenna-list h3{margin:34px 0 7px;font:600 1.6rem var(--condensed);text-transform:uppercase}.antenna-list p{margin:0;color:#87929c;font-size:.82rem}.antenna-list b{position:absolute;left:34px;bottom:32px;color:#c6cdd3;font:500 .68rem var(--display);letter-spacing:.07em}

.queue-section { padding-block: 118px; }
.queue-panel { position: relative; overflow: hidden; min-height: 420px; display: grid; grid-template-columns: 1.15fr .85fr; border: 1px solid #493238; background: linear-gradient(120deg,#171015,#0c1015 62%); box-shadow: inset 4px 0 0 var(--accent); }
.queue-panel::after { content:"9A5GG"; position:absolute; right:-32px; bottom:-82px; color:rgba(255,255,255,.023); font:800 13rem var(--condensed); pointer-events:none; }
.queue-copy { padding: 66px 68px; }
.queue-copy h2 { margin-top: 24px; font-size: clamp(3.6rem,7vw,6.4rem); }
.queue-copy p { max-width: 510px; color:#9ba5ae; }
.queue-state { z-index:1; align-self:center; margin-right:56px; padding:35px; border:1px solid #3a3338; background:rgba(7,10,14,.78); backdrop-filter:blur(10px); }
.queue-state>strong { display:block; margin:12px 0 24px; color:#ffb43d; font:700 2.2rem var(--display); }
.queue-state>strong.on-air { color:var(--green); text-shadow:0 0 15px rgba(97,230,136,.22); }
.queue-state>strong.qrt { color:#78848e; }
.queue-state>div { display:flex; justify-content:space-between; margin-bottom:25px; padding-block:13px; border-block:1px solid #30373e; color:#cbd2d8; font:500 .78rem var(--display); }
.queue-state .btn { width:100%; border:0; }
.live-sync { margin:15px 0 0; color:#68747f; font:500 .58rem/1.5 var(--display); letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.live-sync.connected { color:#76aa91; }
.qsl-section { padding-block: 40px 128px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.qsl-copy { padding-bottom:8px; }.qsl-copy p{max-width:460px;color:#929da6}.text-link{display:inline-flex;gap:12px;margin-top:18px;padding-bottom:5px;border-bottom:1px solid #57616a;font:600 .78rem var(--display);text-transform:uppercase;letter-spacing:.05em}.text-link span{color:var(--accent)}

.gallery-section { padding-block: 30px 128px; }
.home-page #station,
.home-page #antennas,
.home-page #gallery { display:none; }
.subpage-main { min-height:calc(100vh - 218px); }
.subpage-main .content-section,
.subpage-main .antennas-section { padding-block:90px; }
.subpage-main .gallery-section { padding-top:90px; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.gallery-item { position:relative; min-width:0; aspect-ratio:16/10; overflow:hidden; padding:0; color:white; border:1px solid var(--line); background:#0a0e13; cursor:zoom-in; text-align:left; }
.gallery-item.featured { grid-column:span 2; grid-row:span 2; }
.gallery-item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease, filter .45s ease; }
.gallery-item::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(5,7,10,.9)); pointer-events:none; }
.gallery-item:hover img { transform:scale(1.035); filter:brightness(1.08); }
.gallery-item:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.gallery-item>span { position:absolute; z-index:1; left:20px; right:20px; bottom:17px; display:flex; align-items:end; justify-content:space-between; gap:14px; font:600 1.16rem var(--condensed); letter-spacing:.02em; text-transform:uppercase; }
.gallery-item small { color:#b8c1c9; font:500 .57rem var(--display); letter-spacing:.09em; }
.gallery-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:34px; }
.gallery-footer p { margin:0; color:#7f8a94; font-size:.86rem; }
.gallery-footer .text-link { margin-top:0; }

.lightbox { width:min(1120px,calc(100% - 32px)); max-width:none; height:min(86vh,850px); padding:0; overflow:hidden; color:white; border:1px solid #46515c; background:#080b0f; box-shadow:0 25px 100px rgba(0,0,0,.75); }
.lightbox::backdrop { background:rgba(2,4,7,.9); backdrop-filter:blur(8px); }
.lightbox[open] { display:grid; grid-template-columns:64px 1fr 64px; align-items:center; }
.lightbox figure { min-width:0; height:100%; margin:0; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.lightbox figure img { width:100%; height:100%; min-height:0; object-fit:contain; }
.lightbox figcaption { min-height:58px; display:flex; align-items:center; justify-content:center; padding:12px 20px; color:#cbd2d8; border-top:1px solid var(--line); font:500 .72rem var(--display); letter-spacing:.05em; text-transform:uppercase; }
.lightbox button { color:white; border:0; background:transparent; cursor:pointer; }
.lightbox-nav { height:100%; font:400 1.5rem var(--display); transition:background .2s ease; }
.lightbox-nav:hover { background:#131920; }
.lightbox-close { position:absolute; z-index:2; top:12px; right:14px; width:42px; height:42px; border:1px solid #46515c !important; background:rgba(7,10,14,.8) !important; font-size:1.6rem; line-height:1; }
.site-footer { min-height: 130px; width:min(1320px,calc(100% - 48px)); margin:auto; border-top:1px solid var(--line); display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#7c8791;font:500 .7rem var(--display);letter-spacing:.07em}.site-footer div{display:flex;align-items:center;gap:15px}.site-footer b{color:white;font:800 1.8rem var(--condensed);letter-spacing:.05em}.site-footer p:nth-child(2){text-align:center}.site-footer p:last-child{text-align:right;color:#c8d0d6}

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.wave{animation:none} }

@media (max-width: 960px) {
  .site-header{height:88px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:88px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#0b1015;border:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{padding:15px}.main-nav a.active::after{display:none}
  .hero{grid-template-columns:1fr;gap:56px;padding-top:70px}.hero-copy{text-align:center}.eyebrow,.hero-actions,.mode-strip{justify-content:center}.intro{margin-inline:auto}.radio-console{max-width:620px;width:100%;margin:auto}
  .ticker{grid-template-columns:1fr 1fr}.ticker div{min-height:78px;border-bottom:1px solid var(--line)}.ticker div:nth-child(2){border-right:0}.ticker div:nth-child(n+3){border-bottom:0}.ticker div:first-child{padding-left:28px}
  .section-heading{grid-template-columns:45px 1fr}.section-lead{grid-column:2;justify-self:start;max-width:620px}.station-grid{grid-template-columns:1fr 1fr}.equipment-card.featured{grid-column:1/-1}.radio-grid{grid-template-columns:1fr 1fr}
  .antenna-board{grid-template-columns:1fr}.mast-graphic{min-height:390px;border-right:0;border-bottom:1px solid var(--line)}
  .queue-panel{grid-template-columns:1fr}.queue-copy{padding-bottom:25px}.queue-state{margin:0 56px 56px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 620px) {
  .section-shell,.site-header,.site-footer{width:min(100% - 28px,1180px)}.brand-meta{font-size:.58rem}.brand-call{font-size:1.7rem}.brand-mark{width:36px;height:36px}.brand{grid-template-columns:36px auto}
  .hero{padding:68px 0 54px}.hero h1{font-size:clamp(6.1rem,32vw,9rem)}.operator{font-size:.85rem}.intro{font-size:.95rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.mode-strip{margin-top:35px}.radio-console{padding:15px}.frequency{font-size:clamp(1.9rem,9vw,2.7rem)}.console-grid{grid-template-columns:1fr 1fr}.console-grid div:nth-child(2){border-right:0}.console-grid div:nth-child(-n+2){border-bottom:1px solid #29333d}
  .ticker{grid-template-columns:1fr}.ticker div,.ticker div:nth-child(n){padding-left:0;border-right:0;border-bottom:1px solid var(--line)}.ticker div:last-child{border:0}
  .content-section,.antennas-section,.queue-section{padding-block:82px}.section-heading{grid-template-columns:34px 1fr;gap:15px;margin-bottom:38px}.station-grid,.radio-grid{grid-template-columns:1fr}.station-subheading{align-items:flex-start;flex-direction:column;gap:8px;margin-top:48px}.equipment-card{min-height:310px}.equipment-card.compact{min-height:245px}.radio-face{padding:13px}.radio-knob{width:50px;height:50px}.antenna-list{grid-template-columns:1fr}.antenna-list>div:nth-child(n){min-height:210px;border-right:0;border-bottom:1px solid var(--line)}.antenna-list>div:last-child{border:0}
  .queue-copy{padding:48px 30px 22px}.queue-state{margin:0 22px 30px;padding:25px}.queue-panel::after{font-size:8rem}.qsl-section{grid-template-columns:1fr;gap:35px;padding-bottom:90px}
  .gallery-section{padding-block:20px 90px}.gallery-grid{grid-template-columns:1fr}.gallery-item.featured{grid-column:auto;grid-row:auto}.gallery-footer{align-items:flex-start;flex-direction:column}.lightbox[open]{grid-template-columns:45px 1fr 45px}.lightbox{height:78vh}.lightbox figcaption{font-size:.62rem}
  .site-footer{padding-block:32px;grid-template-columns:1fr;gap:10px}.site-footer p:nth-child(n){margin:0;text-align:left}
}
