:root{
  --navy:#101c2b;
  --navy-2:#16283d;
  --blue:#0066aa;
  --blue-dark:#004d82;
  --ink:#1b2733;
  --muted:#5b6875;
  --line:#d9e0e7;
  --soft:#eef3f8;
  --soft-2:#f6f8fa;
  --white:#fff;
  --max:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{color:var(--blue-dark)}
a:hover{color:var(--blue)}
img{max-width:100%;height:auto}
.container{max-width:var(--max);margin:auto;padding:25px}
.narrow{max-width:820px}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:15px;top:15px;background:#fff;color:#000;padding:10px;z-index:1000}
.site-header{background:var(--navy);color:#fff;border-bottom:3px solid var(--blue)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}
.logo{color:#fff;text-decoration:none;font-size:24px;letter-spacing:.02em;white-space:nowrap}
.logo:hover{color:#fff}
.site-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:2px}
.site-nav a{color:#fff;margin:0;padding:10px 11px;text-decoration:none;border-radius:3px;font-size:15px}
.site-nav a:hover,.site-nav a.active{background:rgba(255,255,255,.1);color:#fff}
.hero{padding:76px 0;background:var(--soft);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:48px;align-items:center}
.hero h1,.page-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.08;margin:.2em 0 .35em;color:var(--navy)}
.hero-copy{font-size:20px;color:#33485c;max-width:760px}
.hero-panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px;box-shadow:0 10px 30px rgba(16,28,43,.08)}
.hero-panel h2{margin-top:0}
.page-hero{padding:58px 0;background:var(--soft);border-bottom:1px solid var(--line)}
.page-hero p{font-size:19px;color:#3f5265}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:13px;font-weight:700;color:var(--blue);margin:0 0 8px}
.eyebrow.light{color:#8ecdf5}
.section{padding:48px 0}
.section.muted{background:var(--soft-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section h2{font-size:32px;line-height:1.2;color:var(--navy);margin-top:0}
.section-intro{font-size:19px;color:var(--muted);max-width:820px}
.cards{display:grid;gap:20px}
.cards-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:25px;border:1px solid var(--line);background:#fff;border-radius:4px;box-shadow:0 4px 14px rgba(16,28,43,.04)}
.card h2,.card h3{margin-top:0;color:var(--navy)}
.card h2{font-size:24px}.card h3{font-size:21px}
.card h2 a,.card h3 a{color:inherit;text-decoration:none}
.card h2 a:hover,.card h3 a:hover{color:var(--blue)}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-block;padding:12px 22px;background:var(--blue);color:#fff;text-decoration:none;border-radius:3px;font-weight:700;border:1px solid var(--blue)}
.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.button.secondary{background:var(--navy);border-color:var(--navy)}
.button.secondary:hover{background:#26384c;border-color:#26384c}
.text-link{font-weight:700;text-decoration:none}
.text-link:after{content:' →'}
.dark{background:var(--navy);color:#fff}
.dark h2,.dark h3{color:#fff}
.product-section{padding:58px 0}
.light-copy{color:#c9d5df}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.product-card{padding:30px;background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:4px}
.product-card.featured{border-top:4px solid #4ba9e8}
.product-card h2,.product-card h3{margin:8px 0 10px;font-size:28px}
.product-card ul{padding-left:21px}
.light-products{margin-top:0}
.light-card{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px rgba(16,28,43,.06)}
.light-card h2{color:var(--navy)}
.status{display:inline-block;padding:5px 9px;background:rgba(0,102,170,.14);color:#8ed0ff;border:1px solid rgba(142,208,255,.35);border-radius:999px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}
.light-card .status,.sidebar-card .status{color:var(--blue-dark);background:#e8f3fa;border-color:#bedbec}
.check-list{list-style:none;padding:0;margin:20px 0}
.check-list li{position:relative;padding:7px 0 7px 28px}
.check-list li:before{content:'✓';position:absolute;left:0;top:7px;color:var(--blue);font-weight:700}
.top-gap{margin-top:20px}
.split-section{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:45px;align-items:start}
.callout,.sidebar-card{background:var(--soft);border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px;border-radius:3px}
.callout h3,.sidebar-card h2{margin-top:0;color:var(--navy)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start}
.content-grid h2{margin-top:38px}
.content-grid h2:first-child{margin-top:0}
.sidebar-card{position:sticky;top:25px}
.sidebar-card ul{padding-left:20px}
.steps{padding-left:24px}
.steps li{padding:7px 0}
.fine-print{font-size:14px;color:var(--muted)}
.resource-cards .card{min-height:180px}
.contact-email{font-size:24px;font-weight:700}
.legal-copy{max-width:850px}
.legal-copy h2{margin-top:34px;font-size:25px}
.site-footer{background:#e9edf1;margin-top:0;border-top:1px solid var(--line);color:#344454}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;padding-top:42px;padding-bottom:30px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}
.footer-grid a{display:block;margin:3px 0;text-decoration:none}
.footer-heading{font-size:18px;color:var(--navy);margin:0 0 10px}
.footer-bottom{border-top:1px solid #cfd6dd;display:flex;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:22px;font-size:14px}
.footer-bottom p{margin:0}
@media(max-width:850px){
  .header-inner{display:block;padding-top:18px;padding-bottom:18px}
  .site-nav{justify-content:flex-start;margin-top:12px}
  .site-nav a{padding:8px 9px}
  .hero-grid,.split-section,.content-grid{grid-template-columns:1fr}
  .cards-three,.cards-two,.product-grid,.footer-grid{grid-template-columns:1fr}
  .sidebar-card{position:static}
  .hero{padding:50px 0}
}
@media(max-width:520px){
  .container{padding-left:18px;padding-right:18px}
  .logo{font-size:21px}
  .site-nav{display:grid;grid-template-columns:repeat(2,1fr);width:100%}
  .hero h1,.page-hero h1{font-size:37px}
  .button-row .button{width:100%;text-align:center}
  .footer-bottom{display:block}
  .footer-bottom p+p{margin-top:8px}
}

/* Mobile navigation */
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:4px;
  background:transparent;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  height:2px;
  margin:5px 0;
  background:#fff;
  border-radius:2px;
}

@media(max-width:760px){
  .container{padding-left:20px;padding-right:20px}
  .site-header{position:relative}
  .header-inner{
    display:flex;
    min-height:68px;
    padding-top:12px;
    padding-bottom:12px;
    gap:14px;
  }
  .logo{font-size:20px;letter-spacing:.015em}
  .menu-toggle{display:block;margin-left:auto;flex:0 0 auto}
  .site-nav{
    display:none;
    position:absolute;
    z-index:100;
    left:0;
    right:0;
    top:100%;
    padding:10px 20px 16px;
    background:var(--navy);
    border-bottom:3px solid var(--blue);
    box-shadow:0 12px 24px rgba(0,0,0,.22);
  }
  .site-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
  .site-nav a{
    display:block;
    margin:0;
    padding:11px 12px;
    font-size:16px;
    background:rgba(255,255,255,.035);
  }
  .site-nav a.active{background:rgba(255,255,255,.12)}

  .hero{padding:38px 0 42px}
  .hero-grid{gap:28px}
  .hero h1,.page-hero h1{
    font-size:clamp(32px,9vw,40px);
    line-height:1.08;
    margin-top:10px;
  }
  .hero-copy,.page-hero p,.section-intro{
    font-size:17px;
    line-height:1.55;
  }
  .eyebrow{font-size:12px;line-height:1.5}
  .hero-panel{padding:22px}
  .section{padding:38px 0}
  .section h2{font-size:27px}
  .cards,.cards-three,.cards-two,.product-grid,.footer-grid{grid-template-columns:1fr}
  .card,.product-card{padding:22px}
  .button-row{display:grid;grid-template-columns:1fr;gap:10px}
  .button-row .button{width:100%;margin:0;text-align:center}
  .product-section{padding:42px 0}
  .split-section,.content-grid{gap:28px}
  .contact-email{font-size:19px;overflow-wrap:anywhere}
  .footer-grid{gap:22px;padding-top:32px}
}

@media(max-width:390px){
  .container{padding-left:16px;padding-right:16px}
  .logo{font-size:18px}
  .hero h1,.page-hero h1{font-size:31px}
  .site-nav.open{grid-template-columns:1fr}
}

/* Nexus Broadcast header logo */
.nexus-broadcast-logo {
    display: block;
    width: clamp(220px, 25vw, 300px);
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.site-header a:has(.nexus-broadcast-logo),
header a:has(.nexus-broadcast-logo) {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    line-height: 0;
    text-decoration: none;
}

@media (max-width: 760px) {
    .nexus-broadcast-logo {
        width: min(240px, 68vw);
    }
}
