/* Streamreporter.nl — On Air Signal design system */

:root{
  --bg:#0a0f14;
  --surface:#12181f;
  --surface-2:#171e26;
  --text:#eef1f4;
  --muted:#8b96a5;
  --muted-2:#5e6773;
  --accent:#ff4433;
  --accent-2:#ff6a52;
  --accent-ink:#0a0f14;
  --border:#1b232c;
  --glow:0 0 16px 2px rgba(255,68,51,0.45);
  --good:#3ecf8e;
  --warn:#e8b23d;
  --shadow:0 20px 50px -25px rgba(0,0,0,0.6);
}

html[data-theme="light"]{
  --bg:#f7f5f2;
  --surface:#ffffff;
  --surface-2:#f1efe9;
  --text:#171b21;
  --muted:#5f6772;
  --muted-2:#7a828d;
  --accent:#d8391f;
  --accent-2:#b82f18;
  --accent-ink:#ffffff;
  --border:#e7e2da;
  --glow:none;
  --good:#1f8f5f;
  --warn:#a86a11;
  --shadow:0 20px 50px -30px rgba(30,25,20,0.25);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  transition:background 0.2s ease, color 0.2s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{
  font-family:'Space Grotesk','Inter',sans-serif;
  text-wrap:balance;
  margin:0;
}
p{margin:0;line-height:1.65;}
.tabular{font-variant-numeric:tabular-nums;}
code{
  font-family:'Space Grotesk',ui-monospace,monospace;font-size:0.88em;
  background:var(--surface-2);padding:2px 6px;border-radius:5px;
}

.wrap{max-width:1120px;margin:0 auto;padding-left:24px;padding-right:24px;}

/* ---------- Header ---------- */
.site-header{
  border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--bg);z-index:50;
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:20px;padding-bottom:20px;
}
.brand{
  display:flex;align-items:center;
  text-decoration:none;color:var(--text);
}
.brand-mark{height:30px;width:auto;display:block;flex-shrink:0;}
.main-nav{display:flex;align-items:center;gap:8px;}
.main-nav a{
  font-size:0.9rem;color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:8px;
  transition:color 0.15s ease, background 0.15s ease;
}
.main-nav a:hover{color:var(--text);background:var(--surface);}
.main-nav a.active{color:var(--text);}
.header-right{display:flex;align-items:center;gap:12px;}
.nav-cta{
  background:var(--accent);color:var(--accent-ink);text-decoration:none;
  padding:9px 18px;border-radius:8px;font-weight:600;font-size:0.86rem;white-space:nowrap;
}
.theme-toggle{
  width:38px;height:38px;border-radius:8px;border:1px solid var(--border);background:var(--surface);
  color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
}
.theme-toggle:hover{color:var(--text);}
.theme-toggle svg{width:18px;height:18px;}
.theme-toggle .icon-sun{display:none;}
html[data-theme="light"] .theme-toggle .icon-moon{display:none;}
html[data-theme="light"] .theme-toggle .icon-sun{display:block;}
.menu-toggle{display:none;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:0.92rem;
  padding:13px 26px;border-radius:9px;text-decoration:none;cursor:pointer;border:1px solid transparent;
}
.btn-primary{background:var(--accent);color:var(--accent-ink);}
.btn-primary:hover{background:var(--accent-2);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border);}
.btn-ghost:hover{border-color:var(--muted-2);}

/* ---------- Hero ---------- */
.hero{padding:76px 0 0;}
.hero-sub{padding-bottom:0;}
.hero-sub h1{max-width:24ch;}
.text-link{color:var(--accent-2);text-decoration:underline;}
.eyebrow{
  font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-2);
  font-weight:600;margin-bottom:18px;display:inline-flex;align-items:center;gap:8px;
}
.hero h1{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.12;margin-bottom:22px;max-width:19ch;font-weight:600;}
.hero h1 .hl{color:var(--accent);}
.hero .lede{color:var(--muted);font-size:1.12rem;line-height:1.65;max-width:52ch;margin-bottom:34px;}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px;}

.shot-frame{
  border-radius:14px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface);
}
.shot-frame img{width:100%;height:auto;}
.shot-frame .bar{
  display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border);
}
.shot-frame .bar span{width:9px;height:9px;border-radius:50%;background:var(--border);}
.shot-frame figcaption{
  padding:12px 20px;font-size:0.82rem;color:var(--muted-2);border-top:1px solid var(--border);
}
figure{margin:0;}

.stat-strip{display:flex;border-top:1px solid var(--border);flex-wrap:wrap;}
.stat-strip .stat{flex:1;min-width:150px;padding:22px 24px;border-right:1px solid var(--border);}
.stat-strip .stat:last-child{border-right:none;}
.stat-strip .n{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;font-weight:700;}
.stat-strip .l{font-size:0.8rem;color:var(--muted);margin-top:4px;}

/* ---------- Sections ---------- */
section{padding:88px 0;}
section.tight{padding:56px 0;}
.section-head{max-width:60ch;margin-bottom:48px;}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h2{font-size:clamp(1.6rem,2.6vw,2.15rem);margin-bottom:14px;font-weight:600;}
.section-head p{color:var(--muted);font-size:1.02rem;}
.on-surface{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}

.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;
}
.card .icon{
  width:40px;height:40px;border-radius:9px;background:var(--surface-2);display:flex;align-items:center;
  justify-content:center;margin-bottom:18px;color:var(--accent);
}
.card .icon svg{width:20px;height:20px;}
.card h3{font-size:1.05rem;margin-bottom:10px;font-weight:600;}
.card p{color:var(--muted);font-size:0.94rem;}
.card-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--accent-2);
  text-decoration:none;font-size:0.86rem;font-weight:600;
}
.card-link svg{width:14px;height:14px;transition:transform 0.15s ease;}
.card-link:hover svg{transform:translateX(2px);}
.eco-note{
  color:var(--muted-2);font-size:0.82rem;margin-top:-28px;margin-bottom:40px;
}

.faq-list{display:flex;flex-direction:column;gap:12px;max-width:78ch;}
.faq-item{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:6px 24px;
}
.faq-item summary{
  padding:16px 0;font-weight:600;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";flex-shrink:0;color:var(--accent);font-size:1.2rem;font-weight:400;
}
.faq-item[open] summary::after{content:"\2212";}
.faq-item p{color:var(--muted);font-size:0.94rem;padding-bottom:20px;}

.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.feature-row + .feature-row{margin-top:96px;}
.feature-row.reverse .feature-text{order:2;}
.feature-row.reverse .feature-visual{order:1;}
.feature-text .eyebrow{margin-bottom:14px;}
.feature-text h3{font-size:1.6rem;margin-bottom:16px;font-weight:600;text-wrap:balance;}
.feature-text p{color:var(--muted);margin-bottom:20px;}
.feature-text ul{margin:0 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.feature-text li{display:flex;gap:10px;color:var(--text);font-size:0.95rem;}
.feature-text li svg{width:18px;height:18px;color:var(--good);flex-shrink:0;margin-top:2px;}

.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.provider-card{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px;
}
.provider-card .name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:8px;}
.provider-card .status{
  display:inline-flex;align-items:center;gap:6px;font-size:0.76rem;color:var(--good);font-weight:600;
  margin-bottom:14px;text-transform:uppercase;letter-spacing:0.04em;
}
.provider-card .status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--good);}
.provider-card p{color:var(--muted);font-size:0.9rem;}
.provider-card .meta{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:0.82rem;color:var(--muted-2);}

.security-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.security-item{
  display:flex;gap:16px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;
}
.security-item .icon{
  width:38px;height:38px;border-radius:9px;background:var(--surface-2);display:flex;align-items:center;
  justify-content:center;color:var(--good);flex-shrink:0;
}
.security-item .icon svg{width:19px;height:19px;}
.security-item h3{font-size:1rem;margin-bottom:8px;font-weight:600;}
.security-item p{color:var(--muted);font-size:0.9rem;}

.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.audience-card{
  background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:34px;
}
.audience-card .tag{
  font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-2);font-weight:600;margin-bottom:16px;display:block;
}
.audience-card h3{font-size:1.3rem;margin-bottom:14px;font-weight:600;}
.audience-card p{color:var(--muted);margin-bottom:0;}

.cta-band{
  border-radius:16px;padding:56px;text-align:left;background:var(--surface);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.cta-band h2{font-size:1.7rem;margin-bottom:10px;font-weight:600;max-width:22ch;}
.cta-band p{color:var(--muted);max-width:44ch;}
.cta-band .ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- Table ---------- */
.data-table{width:100%;border-collapse:collapse;font-size:0.88rem;}
.data-table th{
  text-align:left;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted-2);
  padding:10px 14px;border-bottom:1px solid var(--border);font-weight:600;
}
.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.table-wrap .data-table{border:none;}

/* ---------- Form ---------- */
.form-card{
  background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:40px;max-width:640px;
}
.field{margin-bottom:20px;}
.field label{display:block;font-size:0.86rem;font-weight:600;margin-bottom:8px;}
.field .hint{font-size:0.8rem;color:var(--muted-2);margin-top:6px;}
.field input,.field select,.field textarea{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);
  padding:12px 14px;font-family:inherit;font-size:0.94rem;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}
.field textarea{resize:vertical;min-height:120px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-note{display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:0.88rem;margin-top:24px;}
.form-note svg{width:20px;height:20px;flex-shrink:0;color:var(--muted-2);margin-top:2px;}
.form-msg{
  display:none;border-radius:10px;padding:16px 18px;margin-bottom:24px;font-size:0.92rem;
}
.form-msg.show{display:block;}
.form-msg.ok{background:rgba(62,207,142,0.12);border:1px solid rgba(62,207,142,0.35);color:var(--good);}
.form-msg.err{background:rgba(232,68,51,0.1);border:1px solid rgba(232,68,51,0.3);color:var(--accent-2);}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--border);padding:56px 0 40px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-grid .brand{margin-bottom:14px;}
.footer-grid .desc{color:var(--muted);font-size:0.9rem;max-width:36ch;}
.footer-col h4{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted-2);margin-bottom:16px;font-weight:600;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-col a{color:var(--muted);text-decoration:none;font-size:0.9rem;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{
  border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;
  color:var(--muted-2);font-size:0.82rem;flex-wrap:wrap;gap:12px;
}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .site-header .wrap{flex-wrap:wrap;}
  .main-nav{
    display:none;width:100%;flex-direction:column;align-items:stretch;gap:2px;
    order:3;padding-top:16px;margin-top:16px;border-top:1px solid var(--border);
  }
  .main-nav.open{display:flex;}
  .main-nav a{padding:12px 14px;}
  .menu-toggle{
    display:flex;width:38px;height:38px;border-radius:8px;border:1px solid var(--border);background:var(--surface);
    color:var(--text);align-items:center;justify-content:center;cursor:pointer;
  }
  .grid-2,.grid-3,.grid-4,.feature-row,.provider-grid,.security-grid,.audience-grid,.footer-grid{grid-template-columns:1fr;}
  .feature-row.reverse .feature-text{order:1;}
  .feature-row.reverse .feature-visual{order:2;}
  .feature-row + .feature-row{margin-top:64px;}
  .field-row{grid-template-columns:1fr;}
  .cta-band{padding:36px 24px;}
  section{padding:60px 0;}
}
@media (max-width:640px){
  .hero{padding:48px 0 0;}
  .hero h1{max-width:none;}
  .stat-strip .stat{min-width:auto;flex:1 1 45%;}
}
