:root{
  --navy:#061426;--navy2:#0a2340;--navy3:#0d3158;--gold:#ffc400;--gold2:#ff9f0a;
  --blue:#29aef3;--text:#f4f8ff;--muted:#b9c7d9;--ink:#071426;--paper:#f4f7fb;
  --line:rgba(255,255,255,.14);--radius:20px;--shadow:0 18px 50px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.skip-link{position:fixed;left:12px;top:-60px;background:white;color:#000;padding:10px 14px;border-radius:8px;z-index:1000}.skip-link:focus{top:12px}
.topbar{background:#04101e;color:#dce7f6;font-size:.86rem}.topbar .wrap{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.topbar strong{color:var(--gold)}
.hero-header{position:relative;overflow:hidden;color:white;background:radial-gradient(circle at 68% 30%,rgba(41,174,243,.24),transparent 28%),linear-gradient(120deg,#03101d 0%,#082744 58%,#03111f 100%)}.hero-header::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(41,174,243,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(41,174,243,.07) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,transparent,black 42%,black)}
.header-grid{position:relative;min-height:330px;display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:center;padding:22px 0}.logo-shell{filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}.brand-panel{position:relative}.brand-panel h1{font-size:clamp(3.4rem,7vw,6.2rem);margin:0;line-height:.9;letter-spacing:.04em;text-shadow:0 4px 0 rgba(0,0,0,.25)}.brand-panel .gmrs{font-size:1.4rem;font-weight:900;letter-spacing:.22em;color:#eef5ff;margin:14px 0 8px}.tagline{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.13em}.radio-art{margin-top:24px;display:flex;align-items:center;gap:18px;color:#cbe8ff}.tower{width:60px;height:92px;position:relative;border-bottom:5px solid var(--gold)}.tower::before,.tower::after{content:"";position:absolute;bottom:0;width:5px;height:86px;background:#d9ebff;transform-origin:bottom}.tower::before{left:17px;transform:rotate(12deg)}.tower::after{right:17px;transform:rotate(-12deg)}.waves{font-size:3.2rem;color:var(--blue);letter-spacing:-.24em;transform:rotate(90deg)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(4,18,34,.97);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:0 5px 18px rgba(0,0,0,.18)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:15px}.brand-mini{display:none;color:var(--gold);font-weight:1000;letter-spacing:.08em;text-decoration:none}.site-nav{display:flex;align-items:stretch;overflow-x:auto}.site-nav a{color:#eef5ff;text-decoration:none;font-weight:800;font-size:.92rem;white-space:nowrap;padding:17px 14px;border-bottom:3px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--gold);background:rgba(255,255,255,.045);border-bottom-color:var(--gold)}.menu-button{display:none;background:#0c2a49;color:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-weight:800}
.page-hero{background:linear-gradient(135deg,#07182d,#0c3156);color:white;padding:46px 0;border-bottom:5px solid var(--gold)}.page-hero .eyebrow,.section-kicker{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem}.page-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);margin:.15em 0 .25em;line-height:1}.page-hero p{max-width:780px;color:#c9d8e9;font-size:1.08rem}
main{min-height:50vh}.section{padding:64px 0}.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:.25em 0 .5em}.lead{font-size:1.12rem;color:#4f6075;max-width:820px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid #dfe7f0;border-radius:var(--radius);padding:24px;box-shadow:0 8px 24px rgba(6,20,38,.06)}.card h3{margin:.2em 0 .45em;color:#092a4a}.card p:last-child{margin-bottom:0}.icon-card .icon{font-size:2rem}.dark-section{background:#06182c;color:white}.dark-section .card{background:#0a2847;border-color:rgba(255,255,255,.12);box-shadow:none}.dark-section .card h3{color:white}.dark-section .card p{color:#c5d4e4}
.frequency-strip{background:linear-gradient(90deg,#05182e,#0a3157);color:white;border-radius:16px;padding:16px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:26px}.frequency-strip strong{color:var(--gold);font-size:1.35rem}.badge{display:inline-block;background:var(--gold);color:#071426;font-weight:900;border-radius:999px;padding:5px 10px;font-size:.75rem}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid #e7edf4}.checklist li::before{content:"✓";position:absolute;left:0;color:#0a6da8;font-weight:1000}.spec-table{width:100%;border-collapse:collapse;background:white;border-radius:15px;overflow:hidden;box-shadow:0 7px 20px rgba(0,0,0,.06)}.spec-table th,.spec-table td{padding:13px 15px;border-bottom:1px solid #e6edf4;text-align:left}.spec-table th{background:#092a4a;color:white}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource{display:block;text-decoration:none;background:white;border:1px solid #dfe7f0;border-left:5px solid var(--gold);padding:18px;border-radius:12px}.resource strong{display:block;color:#082b4e}.resource span{color:#53657a;font-size:.93rem}.cta{background:linear-gradient(135deg,#092a4a,#0c3d68);color:white;border-radius:22px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.button{display:inline-flex;text-decoration:none;font-weight:900;border-radius:999px;padding:11px 17px}.button.gold{background:var(--gold);color:#071426}.button.outline{border:1px solid rgba(255,255,255,.35);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{min-height:210px;border-radius:18px;background:linear-gradient(145deg,#092c4f,#0b5b8e);color:white;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.gallery-card::before{content:"";position:absolute;width:150px;height:150px;border:2px solid rgba(255,196,0,.7);border-radius:50%;top:-45px;right:-35px}.gallery-card h3,.gallery-card p{position:relative;margin:.2em 0}.gallery-card p{color:#d1e4f4}.contact-box{background:white;border-radius:20px;border:1px solid #dde7f0;padding:28px}.contact-box a{color:#0a5d96;font-weight:800}.notice{padding:15px 18px;border-left:5px solid var(--gold);background:#fff7cf;border-radius:0 10px 10px 0;color:#493b00}
.site-footer{background:#03101e;color:#c2d0df;padding:30px 0;border-top:5px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.footer-title{color:white;font-weight:900}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{color:#c2d0df}.small{font-size:.86rem;color:#8295aa}
@media(max-width:900px){.header-grid{grid-template-columns:240px 1fr;min-height:270px}.grid-4,.grid-3,.resource-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.site-nav a{padding:15px 10px;font-size:.83rem}}
@media(max-width:720px){.topbar .wrap{flex-direction:column;gap:0}.header-grid{grid-template-columns:1fr;text-align:center;padding:22px 0 28px}.logo-shell{max-width:270px;margin:auto}.brand-panel h1{font-size:3.8rem}.radio-art{justify-content:center}.brand-mini{display:inline}.menu-button{display:block}.nav-wrap{min-height:58px}.site-nav{display:none;position:absolute;top:58px;left:0;right:0;background:#06182c;flex-direction:column;padding:8px 18px;max-height:72vh;overflow:auto}.site-nav.open{display:flex}.site-nav a{padding:11px 8px}.grid-2,.grid-3,.grid-4,.resource-grid,.gallery-grid{grid-template-columns:1fr}.frequency-strip,.cta,.footer-grid{flex-direction:column;align-items:flex-start}.footer-grid{display:flex}.section{padding:50px 0}}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.resource-arrl{display:flex;align-items:center;gap:18px}.resource-arrl .arrl-logo{width:48px;height:auto;flex:0 0 48px}.resource-arrl>div{min-width:0}

/* Fluid layouts shared by every page. */
body{overflow-wrap:anywhere}
img,video{max-width:100%;height:auto}
.wrap{width:min(1180px,calc(100% - clamp(24px,4vw,48px)))}
.header-grid>*,.grid-2>*,.grid-3>*,.grid-4>*,.resource-grid>*,.gallery-grid>*,.footer-grid>*{min-width:0}
.header-grid{grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:clamp(20px,3vw,44px)}
.home-hero-header .header-grid{grid-template-columns:minmax(180px,280px) minmax(0,1fr) auto}
.brand-panel h1{font-size:clamp(2.6rem,5.8vw,5rem)}
.logo-shell{width:100%;max-width:300px}
.radio-art{flex-wrap:wrap;gap:12px}.tower,.waves{flex-shrink:0}
.section{padding:clamp(32px,5vw,64px) 0}
.card,.contact-box{padding:clamp(16px,2.4vw,28px)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3,.resource-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.frequency-strip,.cta{flex-wrap:wrap}
.site-nav{flex-wrap:wrap;min-width:0}
.spec-table{table-layout:fixed}.spec-table th,.spec-table td{overflow-wrap:anywhere}
@media(max-width:1100px){
 .home-hero-header .header-grid{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}
 .banner-club-logos{grid-column:1 / -1;justify-self:center}
 .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .grid-3,.resource-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .header-grid,.home-hero-header .header-grid{grid-template-columns:minmax(0,1fr);text-align:center;gap:24px}
 .logo-shell{max-width:270px;margin:auto}
 .brand-panel h1{font-size:clamp(2.4rem,11vw,3.8rem)}
 .banner-club-logos{--club-size:90px;--logo-gap:12px}
 .grid-2,.grid-3,.grid-4,.resource-grid,.gallery-grid{grid-template-columns:minmax(0,1fr)}
 .site-nav{flex-wrap:nowrap;max-height:70dvh}
 .site-nav a,.menu-button{min-height:44px}
 .frequency-strip,.cta{align-items:flex-start;gap:12px}
 .page-hero{padding:32px 0}
 .page-hero h1{font-size:clamp(2rem,9vw,3rem)}
 .section h2{font-size:clamp(1.7rem,7vw,2.5rem)}
 .spec-table th,.spec-table td{padding:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Banner logos use fixed tracks so image dimensions cannot squeeze the callsign. */
.banner-club-logos{--club-size:100px;--logo-gap:12px;display:grid;width:318px;max-width:100%;grid-template-columns:94px repeat(2,minmax(0,1fr));grid-template-rows:auto 100px 100px;gap:12px;align-items:center;justify-self:end}
.banner-club-logos>*{min-width:0}
.banner-arrl{grid-column:1;grid-row:2 / 4;display:block;background:transparent}
.banner-arrl img{width:94px;height:212px;object-fit:contain}
.banner-rowan{grid-column:2;grid-row:2}
.banner-cabarrus{grid-column:2;grid-row:3}
.banner-ve{grid-column:3;grid-row:2}
.banner-rowan,.banner-cabarrus,.banner-ve{display:block;width:100%;max-width:100px}
.banner-rowan img,.banner-cabarrus img,.banner-ve img{width:100%;height:auto;max-height:100px;object-fit:contain}
.banner-skywarn{grid-column:3;grid-row:3;display:block;justify-self:center}
.banner-skywarn img{height:100px;width:auto}
.banner-military{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-width:0}
.banner-military .banner-usaf{width:132px;flex:0 0 132px}
.banner-usaf img{width:100%;height:auto}
.banner-military .banner-navy{width:144px;height:auto;flex:0 1 144px;order:1}
.home-hero-header .header-grid{grid-template-columns:minmax(180px,260px) minmax(0,1fr) 318px;gap:24px}
@media(max-width:1100px){
 .home-hero-header .header-grid{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}
 .banner-club-logos{grid-column:1 / -1;justify-self:center}
}
@media(max-width:720px){
 .home-hero-header .header-grid{grid-template-columns:minmax(0,1fr)}
 .banner-club-logos{width:280px;grid-template-columns:80px repeat(2,minmax(0,1fr));grid-template-rows:auto 88px 88px;gap:10px}
 .banner-arrl img{width:80px;height:186px}
 .banner-rowan img,.banner-cabarrus img,.banner-ve img{max-height:88px}
 .banner-skywarn img{height:88px}
}
.banner-military .banner-usaf{order:2;flex-shrink:1}.banner-military{flex-wrap:nowrap}

/* Preserve each badge's natural aspect ratio in all banner layouts. */
.logo-shell img,.banner-club-logos img{object-fit:contain}.banner-rowan img,.banner-cabarrus img,.banner-ve img,.banner-usaf img,.banner-navy{height:auto;aspect-ratio:auto}.banner-military img{display:block;max-width:100%}
