:root { --navy:#0B1F3B; --navy-dark:#07172d; --cream:#F7F5EF; --coral:#FF6B57; --muted:#52637a; --line:#d9dedf; --white:#fff; --header-height:78px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 20px); }
body { margin:0; color:var(--navy); background:var(--cream); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
img { display:block; max-width:100%; }
a { color:inherit; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--navy); outline-offset:4px; box-shadow:0 0 0 4px var(--cream); }
main:focus,section[tabindex="-1"]:focus { outline:none; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.12; letter-spacing:-.045em; }
p+p { margin-top:16px; }
.shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:12px 20px; color:var(--white); background:var(--navy); transform:translateY(-180%); border-radius:8px; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:sticky; top:0; z-index:30; background:var(--cream); border-bottom:1px solid var(--line); }
.header-inner { min-height:var(--header-height); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:16px; font-weight:850; letter-spacing:-.035em; line-height:1.15; white-space:nowrap; }
.brand img { width:40px; height:40px; object-fit:contain; border-radius:9px; }
.brand-caption { display:block; color:var(--muted); font-size:10px; font-weight:500; letter-spacing:.09em; margin-top:5px; }
.brand { grid-column:1; grid-row:1; min-height:44px; }
.primary-nav { justify-self:end; grid-column:2; grid-row:1; }
.header-cta { grid-column:3; grid-row:1; }
.menu-toggle { grid-column:4; grid-row:1; }
.primary-nav ul { display:flex; align-items:center; gap:3px; list-style:none; padding:0; margin:0; }
.primary-nav a { display:flex; align-items:center; min-height:44px; padding:8px 10px; color:var(--muted); font-size:13px; font-weight:650; text-decoration:none; border-radius:8px; white-space:nowrap; }
.primary-nav a:hover { background:#eae8e2; color:var(--navy); }
.primary-nav a[aria-current] { color:var(--navy); background:#e9e8e2; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; font-size:14px; line-height:1.45; font-weight:750; text-decoration:none; border:1px solid transparent; border-radius:10px; text-align:center; transition:background-color .15s ease,border-color .15s ease; }
.button.primary { background:var(--coral); color:var(--navy-dark); }
.button.primary:hover { background:#ff7e6d; }
.button.secondary { border-color:#b6c0ca; color:var(--navy); background:transparent; }
.button.secondary:hover { background:#eeece5; border-color:var(--navy); }
.button.light { color:var(--navy); background:var(--white); }
.button.light:hover { background:#e7edf4; }
.header-cta { min-height:44px; padding:10px 16px; font-size:13px; }
.menu-toggle { display:none; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border-radius:8px; border:1px solid #b6c0ca; background:var(--cream); color:var(--navy); font-size:13px; font-weight:750; cursor:pointer; }
.menu-glyph { display:block; width:16px; height:10px; border-block:2px solid currentColor; position:relative; }
.menu-glyph::after { content:""; position:absolute; top:3px; width:16px; border-top:2px solid currentColor; }
.hero { padding-block:68px 62px; display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center; }
.eyebrow { font-size:11px; font-weight:800; letter-spacing:.13em; line-height:1.6; }
.hero .eyebrow { display:flex; align-items:center; gap:9px; }
.accent-line { width:24px; height:2px; background:var(--coral); flex-shrink:0; }
h1 { font-size:clamp(58px,6.3vw,86px); font-weight:850; letter-spacing:-.065em; margin-top:24px; }
h1>span { color:var(--navy); position:relative; display:inline-block; z-index:0; }
h1>span::after { content:""; position:absolute; bottom:7px; left:1px; right:-6px; height:13px; background:var(--coral); z-index:-1; }
.hero-subtitle { font-size:25px; line-height:1.35; font-weight:680; letter-spacing:-.035em; margin-top:26px; }
.lede { color:var(--muted); font-size:17px; line-height:1.75; margin-top:19px; max-width:490px; }
.actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.hero-note { color:var(--muted); font-size:13px; margin-top:16px; }
.launch-note { color:var(--muted); font-size:11px; line-height:1.55; margin-top:10px; display:flex; gap:7px; align-items:baseline; }
.status-dot { width:6px; height:6px; background:var(--navy); border-radius:50%; display:inline-block; flex:0 0 6px; }
.match-brief { border-radius:20px; background:var(--white); border:1px solid #cdd4dd; overflow:hidden; box-shadow:0 14px 40px #0b1f3b0c; }
.brief-heading { padding:24px 26px 20px; background:var(--navy); color:var(--white); }
.brief-kicker { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:10px; font-weight:800; letter-spacing:.14em; }
.sample-label { color:#dae4f1; font-size:10px; font-weight:500; letter-spacing:.02em; border:1px solid #56647a; border-radius:5px; padding:4px 7px; white-space:nowrap; }
.competition { color:#d1dbea; font-size:12px; margin-top:20px; }
.competition span { margin-inline:5px; color:#95a9c4; }
.match-brief h2 { font-size:26px; letter-spacing:-.03em; margin-top:8px; line-height:1.25; }
.versus { color:#b6c6dc; font-size:16px; font-weight:450; }
.kickoff { color:#d1dbea; font-size:12px; margin-top:12px; }
.kickoff>span { margin-right:6px; }
.local-time-toggle { border:0; border-bottom:1px dotted #a9bdd7; padding:6px 0; min-height:32px; background:transparent; color:#d1dbea; cursor:pointer; font-size:11px; line-height:1.4; }
.local-time { color:#d1dbea; font-size:11px; margin-top:4px; }
.brief-body { padding:20px 26px 22px; }
.verification-label { display:flex; align-items:center; gap:6px; border-radius:5px; background:#faf0df; color:#734813; padding:7px 10px; font-size:10px; line-height:1.4; font-weight:650; }
.verification-label>span { font-size:16px; line-height:1; }
.team-note { padding-block:17px; border-bottom:1px solid #e2e6eb; }
.team-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.team-title h3 { font-size:17px; font-weight:800; letter-spacing:-.025em; }
.team-title>span { font-size:9px; color:var(--muted); letter-spacing:.08em; font-weight:750; }
.team-note dl { margin:11px 0 0; display:grid; gap:6px; font-size:11px; line-height:1.6; }
.team-note dl>div { display:grid; grid-template-columns:86px 1fr; gap:10px; }
.team-note dt { color:var(--muted); font-weight:600; }
.team-note dd { margin:0; }
.brief-footer { padding-top:14px; }
.brief-footer p { color:var(--muted); font-size:10px; line-height:1.6; }
.brief-footer .text-link { font-size:12px; margin-top:6px; min-height:36px; }
.text-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:var(--navy); font-size:14px; font-weight:750; text-decoration-thickness:1px; text-underline-offset:5px; }
.text-link:hover { text-decoration-thickness:2px; }
.value-strip { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); padding-block:21px; gap:20px; }
.value-strip p { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:600; margin:0; }
.strip-marker { color:var(--muted); font-size:10px; font-weight:450; }
.section { padding-block:90px; }
.section-intro { max-width:660px; margin-bottom:36px; }
h2 { font-size:clamp(34px,3.7vw,49px); font-weight:800; letter-spacing:-.05em; }
.section-intro h2,.coverage-section h2 { margin-top:15px; }
.section-intro>p:last-child { color:var(--muted); font-size:16px; line-height:1.8; margin-top:20px; }
.three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card { padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--white); }
.step-number { display:block; color:var(--muted); font-size:11px; letter-spacing:.06em; margin-bottom:24px; }
.feature-card h3 { font-size:22px; margin-bottom:14px; letter-spacing:-.035em; }
.feature-card p { color:var(--muted); font-size:14px; line-height:1.8; }
.context-note { display:flex; align-items:flex-start; gap:14px; background:#eeece5; border-radius:10px; padding:18px 22px; margin-top:22px; color:var(--muted); }
.context-note p { font-size:13px; line-height:1.75; }
.context-note strong { color:var(--navy); }
.note-icon { margin-top:3px; border:1px solid #8794a5; border-radius:50%; width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; line-height:1; font-size:10px; flex-shrink:0; }
.audience-section { background:var(--navy); color:var(--white); }
.audience-section .eyebrow { color:#ff9b8d; }
.audience-section .section-intro>p:last-child { color:#c6d3e3; }
.audience-card { padding:30px 26px; border:1px solid #43546c; border-radius:16px; display:flex; flex-direction:column; }
.audience-number { color:#c6d3e3; font-size:10px; font-weight:650; letter-spacing:.09em; }
.audience-card h3 { font-size:27px; line-height:1.2; margin-block:24px 17px; letter-spacing:-.035em; }
.audience-card>p { color:#c6d3e3; font-size:14px; line-height:1.8; }
.audience-card .card-benefit { color:#ff9b8d; font-size:12px; font-weight:650; margin-top:auto; padding-top:24px; }
.coverage-section { display:grid; grid-template-columns:1fr .82fr; gap:70px; align-items:center; }
.coverage-section h2 { font-size:clamp(32px,3.1vw,43px); }
.coverage-copy p { color:var(--muted); font-size:15px; line-height:1.8; }
.coverage-copy .text-link { margin-top:14px; }
.channels-section { border-block:1px solid var(--line); background:#eeece5; }
.channel-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.channel-card { padding:32px; border:1px solid #cdd4dd; border-radius:18px; display:flex; flex-direction:column; background:var(--white); }
.channel-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.channel-title h3 { font-size:28px; }
.channel-status { font-size:10px; letter-spacing:.025em; font-weight:650; padding:5px 9px; border-radius:6px; border:1px solid #cdd4dd; }
.channel-tagline { font-size:19px; line-height:1.4; font-weight:700; letter-spacing:-.035em; margin-top:25px; }
.channel-card>p:not(.channel-tagline):not(.channel-footnote) { color:var(--muted); font-size:14px; line-height:1.8; margin-top:14px; }
.benefit-list { margin:24px 0 28px; padding:0; list-style:none; display:grid; gap:12px; }
.benefit-list li { position:relative; padding-left:24px; font-size:13px; line-height:1.65; }
.benefit-list li::before { content:"✓"; position:absolute; left:0; color:var(--navy); font-size:14px; }
.channel-card .button { width:100%; margin-top:auto; }
.channel-footnote { text-align:center; color:var(--muted); font-size:11px; margin-top:13px; }
.premium-card { color:var(--white); background:var(--navy); border-color:var(--navy); }
.premium-card .channel-status { color:#ffad9d; border-color:#7b655e; }
.premium-card>p:not(.channel-tagline):not(.channel-footnote),.premium-card .channel-footnote { color:#c6d3e3; }
.premium-card .benefit-list li::before { color:#ff9b8d; }
.channel-explainer { color:var(--muted); font-size:12px; margin-top:24px; }
.faq-section { display:grid; grid-template-columns:.78fr 1fr; gap:70px; align-items:start; }
.faq-section .section-intro { margin:0; }
.faq-list { border-top:1px solid #cbd2da; }
.faq-list details { border-bottom:1px solid #cbd2da; }
.faq-list summary { position:relative; padding:21px 38px 21px 0; font-size:15px; line-height:1.5; font-weight:700; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:3px; top:18px; font-size:24px; font-weight:350; line-height:1.4; }
.faq-list details[open]>summary::after { content:"−"; }
.faq-list details>p { margin:0; padding:0 25px 22px 0; font-size:14px; color:var(--muted); line-height:1.85; }
.faq-list a { font-weight:650; text-underline-offset:3px; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-bottom:80px; padding:40px 44px; border:1px solid #cdd4dd; border-radius:20px; background:#f0eee6; }
.final-cta h2 { margin-top:16px; font-size:38px; }
.final-cta p:last-child { margin-top:16px; color:var(--muted); font-size:14px; }
.final-cta>.button { flex-shrink:0; }
.site-footer { border-top:1px solid var(--line); padding-block:34px 26px; }
.footer-inner { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.footer-brand>a { text-decoration:none; font-weight:800; font-size:16px; letter-spacing:-.035em; display:inline-flex; align-items:center; min-height:32px; }
.footer-brand p { color:var(--muted); font-size:11px; margin-top:6px; }
.site-footer nav { display:flex; align-items:flex-start; justify-content:flex-end; flex-wrap:wrap; column-gap:17px; row-gap:3px; }
.site-footer nav a { display:inline-flex; align-items:center; min-height:32px; font-size:11px; font-weight:650; text-decoration:none; }
.site-footer nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { grid-column:1 / -1; display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid var(--line); padding-top:20px; color:var(--muted); }
.footer-bottom p { font-size:10px; }
.back-to-top { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:12px; font-weight:700; white-space:nowrap; text-underline-offset:5px; }
.not-found { min-height:62vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:80px; }
.not-found h1 { font-size:clamp(46px,7vw,78px); }
.not-found .actions { margin-top:28px; }
@media (max-width:1080px) {
  :root { --header-height:72px; }
  .header-inner { grid-template-columns:1fr auto auto; gap:12px; }
  .header-cta { grid-column:2; }
  .menu-toggle { grid-column:3; }
  .site-header { position:static; }
  .nav-ready .site-header { position:sticky; }
  .primary-nav { grid-column:1 / -1; grid-row:2; justify-self:stretch; padding-block:0 18px; }
  .primary-nav ul { flex-wrap:wrap; justify-content:center; gap:5px; }
  .nav-ready .primary-nav { display:none; position:absolute; top:100%; inset-inline:0; background:var(--cream); border-bottom:1px solid #c2cbd6; padding:12px 24px 18px; box-shadow:0 12px 22px #0b1f3b0e; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; }
  .nav-ready .primary-nav ul { display:grid; gap:3px; justify-content:stretch; max-width:720px; margin-inline:auto; }
  .nav-ready .primary-nav a { font-size:15px; padding:11px 14px; }
  .nav-ready .menu-toggle { display:inline-flex; }
  .nav-ready .menu-open .primary-nav { display:block; }
  .hero { gap:35px; padding-block:52px; }
  h1 { font-size:68px; }
  .hero-subtitle { font-size:23px; }
  .hero .actions { flex-direction:column; align-items:flex-start; }
  .coverage-section,.faq-section { gap:40px; }
  .brief-heading,.brief-body { padding-inline:22px; }
  .team-note dl>div { grid-template-columns:76px 1fr; gap:6px; }
  .feature-card { padding:24px; }
  .audience-card { padding:26px 23px; }
}
@media (max-width:780px) {
  .shell { width:calc(100% - 40px); }
  .hero { grid-template-columns:1fr; gap:38px; padding-block:46px 38px; }
  .hero-copy { max-width:590px; }
  h1 { font-size:72px; }
  .hero .actions { flex-direction:row; }
  .match-brief { width:100%; max-width:540px; justify-self:center; }
  .brief-heading { padding:24px 26px 20px; }
  .brief-body { padding:20px 26px 22px; }
  .team-note dl { font-size:12px; }
  .team-note dl>div { grid-template-columns:92px 1fr; gap:10px; }
  .verification-label { font-size:11px; }
  .value-strip { grid-template-columns:1fr 1fr; gap:14px 20px; }
  .section { padding-block:64px; }
  .three-grid { grid-template-columns:1fr; gap:16px; }
  .feature-card { padding:26px; }
  .step-number { margin-bottom:16px; }
  .audience-card { padding:28px; }
  .audience-card h3 br { display:none; }
  .audience-card h3 { margin-block:17px 14px; }
  .audience-card .card-benefit { padding-top:18px; }
  .coverage-section,.faq-section { grid-template-columns:1fr; gap:28px; }
  .channel-grid { grid-template-columns:1fr; gap:20px; }
  .channel-card { padding:28px; }
  .final-cta { flex-direction:column; align-items:flex-start; padding:30px; gap:25px; margin-bottom:64px; }
  .final-cta h2 { font-size:34px; }
  .footer-inner { grid-template-columns:1fr; gap:20px; }
  .site-footer nav { justify-content:flex-start; }
}
@media (max-width:480px) {
  :root { --header-height:66px; }
  .shell { width:calc(100% - 32px); }
  .header-inner { gap:7px; }
  .brand { font-size:13px; gap:7px; }
  .brand img { width:30px; height:30px; border-radius:7px; }
  .brand-caption { display:none; }
  .header-cta { padding-inline:10px; font-size:11px; gap:5px; }
  .menu-toggle { padding-inline:9px; font-size:11px; gap:6px; }
  .menu-glyph { width:14px; }
  .menu-glyph::after { width:14px; }
  .hero { padding-top:35px; gap:32px; }
  .hero .eyebrow { font-size:9px; letter-spacing:.09em; gap:7px; }
  .accent-line { width:18px; }
  h1 { font-size:clamp(50px,13vw,62px); margin-top:20px; }
  h1>span::after { height:9px; bottom:4px; }
  .hero-subtitle { font-size:22px; margin-top:22px; }
  .lede { font-size:15px; margin-top:17px; }
  .hero .actions { display:grid; gap:10px; }
  .button { font-size:13px; padding-inline:17px; }
  .hero-note { font-size:12px; }
  .launch-note { font-size:10px; }
  .match-brief { border-radius:16px; }
  .brief-heading { padding:20px 20px 16px; }
  .brief-body { padding:17px 20px 18px; }
  .match-brief h2 { font-size:24px; }
  .team-note dl { font-size:11px; }
  .team-note dl>div { grid-template-columns:78px 1fr; gap:8px; }
  .brief-kicker { letter-spacing:.1em; font-size:9px; gap:8px; }
  .sample-label { font-size:9px; }
  .verification-label { font-size:10px; }
  .value-strip { gap:15px 12px; }
  .value-strip p { font-size:10px; gap:8px; }
  .strip-marker { font-size:9px; }
  .section { padding-block:52px; }
  .eyebrow { font-size:10px; letter-spacing:.1em; }
  h2 { font-size:33px; }
  .section-intro>p:last-child { font-size:14px; margin-top:17px; }
  .section-intro { margin-bottom:26px; }
  .feature-card,.audience-card { padding:23px; }
  .context-note { padding:17px; gap:10px; }
  .context-note p { font-size:12px; }
  .coverage-section h2 { font-size:31px; }
  .coverage-copy p { font-size:14px; }
  .channel-card { padding:23px; }
  .channel-title h3 { font-size:27px; }
  .channel-status { font-size:9px; padding-inline:8px; }
  .channel-tagline { font-size:18px; }
  .faq-list summary { font-size:14px; }
  .faq-list details>p { font-size:13px; }
  .final-cta { padding:26px 23px; margin-bottom:52px; }
  .final-cta h2 { font-size:30px; }
  .final-cta>.button { width:100%; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; }
  .site-footer nav { gap:4px 18px; }
  .site-footer nav a { min-height:36px; }
}
@media (max-width:350px) {
  .brand { font-size:12px; gap:5px; }
  .brand img { width:26px; height:26px; }
  .header-cta { padding-inline:8px; }
  .menu-toggle { padding-inline:8px; }
  .header-inner { gap:5px; }
  .match-brief h2 { font-size:22px; }
  .brief-heading,.brief-body { padding-inline:16px; }
  .team-note dl>div { grid-template-columns:70px 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; }
}

/* Public Free-channel preview: content is rendered as text, with all caveats. */
.brief-news-list { margin:0; padding-left:14px; display:grid; gap:4px; }
.brief-news-list li { overflow-wrap:anywhere; }
.brief-sources { padding-top:15px; }
.brief-sources-title { font-size:11px; font-weight:750; }
.brief-sources ul { display:flex; flex-wrap:wrap; gap:7px 14px; list-style:none; padding:0; margin:5px 0 0; }
.brief-sources a { display:inline-flex; align-items:center; min-height:32px; font-size:11px; font-weight:600; text-underline-offset:3px; overflow-wrap:anywhere; }
.brief-message { font-size:13px; color:var(--muted); line-height:1.7; }
.brief-timing-note { font-size:11px; color:#d1dbea; margin-top:9px; line-height:1.5; }
.brief-footer .brief-sync { padding-top:10px; margin-top:8px; border-top:1px solid var(--line); font-size:10px; }
.sample-label { white-space:normal; text-align:right; max-width:155px; line-height:1.4; }

/* Premium contact links retain contrast on the blue card. */
.premium-card .channel-footnote a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
