@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#0a1820; --paper:#f4f3ee; --white:#fff; --mist:#dfe5e4; --muted:#607078; --signal:#ff5a36; --teal:#0b6973; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.topbar { height:76px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:white; position:sticky; top:0; z-index:20; border-bottom:1px solid #24343c; }
.brand { color:inherit; text-decoration:none; display:flex; gap:12px; align-items:center; font-weight:800; letter-spacing:.13em; font-size:14px; }
.brand-mark { width:35px; height:35px; background:var(--signal); color:white; display:grid; place-items:center; font-family:'DM Mono',monospace; letter-spacing:-.08em; font-size:12px; clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%); }
.nav { height:100%; display:flex; gap:34px; }
.nav-link { color:#91a0a6; background:none; border:0; cursor:pointer; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; position:relative; display:flex; align-items:center; text-decoration:none; }
.nav-link.active,.nav-link:hover { color:white; }
.nav-link.active:after { content:""; position:absolute; height:3px; background:var(--signal); bottom:0; left:0; right:0; }
.header-tools { display:flex; gap:10px; }
.icon-button,.refresh-button { border:1px solid #425159; color:white; background:transparent; min-height:39px; cursor:pointer; }
.icon-button { width:40px; font-size:24px; }
.refresh-button { padding:0 16px; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.08em; }
.refresh-button:hover { background:white; color:var(--ink); }
.signal-bar { height:40px; background:#0f2d35; color:white; display:flex; align-items:center; padding:0 4vw; font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.06em; overflow:hidden; }
.live-label { color:#ff795c; white-space:nowrap; border-right:1px solid #35505a; padding-right:22px; }
.pulse,.status-dot { width:7px; height:7px; border-radius:50%; background:var(--signal); display:inline-block; margin-right:8px; box-shadow:0 0 0 4px #ff5a3625; }
.ticker { flex:1; overflow:hidden; padding:0 22px; white-space:nowrap; color:#b8c3c6; }
.ticker span { display:inline-block; animation:ticker 55s linear infinite; }
@keyframes ticker { from { transform:translateX(70vw); } to { transform:translateX(-100%); } }
.utc { white-space:nowrap; color:#98a9ad; }
.search-panel { background:white; padding:22px 4vw; border-bottom:1px solid var(--mist); }
.search-panel label { display:block; font-family:'DM Mono'; font-size:10px; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.search-panel input { width:100%; border:0; border-bottom:2px solid var(--ink); padding:8px 0; font-size:24px; outline:none; }
.hero { height:min(690px,76vh); min-height:520px; background:#102631; color:white; position:relative; overflow:hidden; }
.hero-image-wrap,.hero-shade { position:absolute; inset:0; }
.hero-image-wrap img { width:100%; height:100%; object-fit:cover; opacity:.72; transform:scale(1.01); }
.hero-shade { background:linear-gradient(90deg,rgba(5,17,23,.94) 0%,rgba(5,17,23,.67) 43%,rgba(5,17,23,.1) 75%),linear-gradient(0deg,rgba(5,17,23,.55),transparent 50%); }
.hero-copy { position:absolute; left:7vw; top:50%; transform:translateY(-50%); width:min(760px,70vw); }
.eyebrow,.card-topline { display:flex; align-items:center; gap:12px; text-transform:uppercase; font-family:'DM Mono'; font-size:10px; letter-spacing:.12em; }
.eyebrow span:first-child { background:var(--signal); padding:6px 9px; }
.eyebrow span:last-child { color:#c3d0d2; }
.hero h1 { font-size:clamp(40px,5.4vw,78px); line-height:.98; letter-spacing:-.055em; margin:25px 0 20px; max-width:900px; }
.hero-copy>p { color:#d3dcde; max-width:650px; line-height:1.7; font-size:16px; }
.story-meta { font-family:'DM Mono'; font-size:10px; text-transform:uppercase; color:#b9c5c8; display:flex; gap:22px; margin:26px 0; }
.read-button { display:inline-flex; align-items:center; gap:30px; background:white; color:var(--ink); text-decoration:none; text-transform:uppercase; font-weight:800; letter-spacing:.08em; font-size:11px; padding:16px 18px; }
.hero-index { position:absolute; right:4vw; bottom:3vw; font-family:'DM Mono'; font-size:12px; color:#cfdbdc; border-top:1px solid #ffffff80; padding-top:10px; width:80px; }
.page-banner { background:#102b34; color:white; padding:72px 4vw 65px; position:relative; overflow:hidden; }
.page-banner:after { content:""; position:absolute; width:420px; height:420px; border:1px solid #ffffff1a; border-radius:50%; right:-100px; top:-210px; box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05; }
.page-banner p { color:#9fb1b5; max-width:650px; line-height:1.65; margin:16px 0 0; }
.page-banner h1 { font-size:clamp(44px,6vw,76px); line-height:1; letter-spacing:-.055em; margin:12px 0 0; }
.page-content { min-height:55vh; }
.page-content.media-section { padding-top:60px; }
.page-content .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-content .media-card h3 { font-size:24px; }
.dashboard,.media-section { padding:75px 4vw; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:30px; }
.kicker { font-family:'DM Mono'; color:var(--signal); letter-spacing:.16em; font-size:10px; font-weight:500; margin:0 0 8px; }
.section-heading h2 { font-size:clamp(30px,3.3vw,48px); letter-spacing:-.04em; margin:0; }
.result-count,.section-note { color:var(--muted); font-family:'DM Mono'; font-size:10px; text-transform:uppercase; }
.filters { display:flex; gap:8px; flex-wrap:wrap; border-top:1px solid #ccd3d1; padding-top:20px; margin-bottom:35px; }
.filter { border:1px solid #cbd2d0; padding:9px 14px; background:transparent; cursor:pointer; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.06em; }
.filter.active,.filter:hover { background:var(--ink); border-color:var(--ink); color:white; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:38px; }
.news-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-content:start; }
.story-card { background:white; min-width:0; border-bottom:3px solid transparent; transition:.2s ease; }
.story-card:hover { transform:translateY(-3px); border-color:var(--signal); box-shadow:0 15px 40px #10263112; }
.story-image { height:220px; display:block; overflow:hidden; background:#cfdbdc; }
.story-image img { width:100%; height:100%; object-fit:cover; transition:.4s; }
.story-card:hover .story-image img { transform:scale(1.035); }
.story-body { padding:22px; }
.card-topline { justify-content:space-between; color:var(--muted); }
.category { color:var(--teal); font-weight:500; }
.story-body h3 { font-size:21px; line-height:1.28; letter-spacing:-.025em; margin:16px 0 10px; }
.story-body h3 a { color:inherit; text-decoration:none; }
.story-summary { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.story-footer { border-top:1px solid #e5e9e7; margin-top:20px; padding-top:14px; display:flex; justify-content:space-between; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.arrow { color:var(--signal); font-size:15px; }
.briefs-panel { border-top:3px solid var(--ink); }
.aside-title { padding:17px 2px; border-bottom:1px solid #ccd3d1; display:flex; justify-content:space-between; font-weight:800; text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.brief { padding:20px 0; border-bottom:1px solid #ccd3d1; }
.brief-time { color:var(--signal); font-family:'DM Mono'; font-size:9px; text-transform:uppercase; }
.brief a { display:block; color:var(--ink); text-decoration:none; font-size:14px; line-height:1.45; font-weight:700; margin-top:8px; }
.brief-source { color:var(--muted); font-size:9px; text-transform:uppercase; margin-top:9px; }
.media-section { background:var(--ink); color:white; }
.media-section .kicker { color:#ff795c; }
.media-section .section-note { color:#92a2a8; }
.media-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.media-card { background:#132832; min-width:0; overflow:hidden; border-top:2px solid #38505a; }
.media-card.video { background:linear-gradient(145deg,#174952,#10232c); }
.media-player { width:100%; aspect-ratio:16/9; background:#071218; }
.media-player iframe { width:100%; height:100%; display:block; border:0; }
.media-player.audio-only { aspect-ratio:auto; height:92px; padding:0 18px; display:flex; align-items:center; background:linear-gradient(135deg,#102d36,#091920); }
.media-player.audio-only audio { width:100%; height:46px; margin:0; display:block; }
.media-copy { padding:20px 24px 24px; }
.media-type { font-family:'DM Mono'; font-size:9px; text-transform:uppercase; color:#87a5ab; }
.media-card h3 { margin:10px 0 9px; font-size:19px; line-height:1.3; }
.media-card p { color:#91a4aa; font-size:11px; margin:0; }
footer { padding:38px 4vw; display:flex; justify-content:space-between; gap:20px; align-items:center; background:#071218; color:#86969c; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.footer-brand { color:white; }
.footer-link { color:#d6e0e2; text-underline-offset:3px; }
.footer-link:hover { color:white; }
.legal-page { max-width:900px; margin:0 auto; padding:70px 4vw 100px; }
.legal-page h2 { margin:42px 0 10px; font-size:22px; }
.legal-page p { color:var(--muted); line-height:1.75; }
.empty { grid-column:1/-1; padding:55px; text-align:center; background:white; color:var(--muted); }
@media (max-width:900px) { .content-grid { grid-template-columns:1fr; } .briefs-panel { margin-top:25px; } .media-grid { grid-template-columns:1fr 1fr; } .hero-copy { width:85vw; } }
@media (max-width:650px) { .topbar { height:64px; padding:0 3vw; } .brand>span:last-child { display:none; } .nav { gap:15px; } .nav-link { font-size:10px; } .refresh-button { font-size:0; padding:0 12px; } .refresh-button span { font-size:18px; } .utc { display:none; } .hero { min-height:570px; } .hero-copy { left:6vw; } .hero h1 { font-size:42px; } .news-grid,.media-grid,.page-content .media-grid { grid-template-columns:1fr; } .story-image { height:210px; } .section-heading { align-items:start; gap:20px; flex-direction:column; } footer { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
