/* SOA typography: official Google Fonts; no assets from the institutional site. */
@font-face{font-family:'Open Sans';src:url('/fonts/OpenSans.ttf') format('truetype');font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:'Yeseva One';src:url('/fonts/YesevaOne.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root {
  --font-body: 'Open Sans', Arial, sans-serif;
  --font-heading: 'Yeseva One', Georgia, serif;
  --text-xs: .875rem;
  --text-sm: .9375rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-body: 1.7;
  --leading-ui: 1.5;
  --leading-heading: 1.25;
  --tracking-heading: 0;
  --tracking-label: .06em;
}

:root{--primary:#c8102e;--ink:#25272b;--muted:#595d65;--line:#e3e4e7}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:17px/1.6 system-ui,sans-serif}a{color:var(--primary);text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #25272b;outline-offset:5px}header{max-width:1240px;margin:auto;padding:25px 28px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line)}#brand{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;font-size:14px;line-height:1.5}.brand-name{font-size:22px;font-weight:800}#brand img{max-width:220px;max-height:70px;object-fit:contain}nav{display:flex;gap:24px}nav a{font-weight:700;text-decoration:none}main{max-width:1184px;margin:0 auto;padding:42px 28px 70px;min-height:65vh}h1{font-size:clamp(32px,5vw,64px);line-height:1.12;letter-spacing:-1.5px;margin:18px 0}h2{font-size:27px;line-height:1.2;margin:45px 0 22px}h3{font-size:23px;line-height:1.3;margin:12px 0}p{max-width:75ch}.eyebrow{color:var(--primary);font-weight:800;letter-spacing:1.2px;font-size:13px;text-transform:uppercase}.hero{padding:36px;background:#f7f7f8;border-left:6px solid var(--primary);border-radius:4px}.hero p{margin:12px 0}.cta{display:inline-block;border-radius:6px;padding:13px 22px;background:var(--primary);color:#fff;text-decoration:none;font-weight:750;margin-top:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}.card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}.card a{font-weight:700}.meta{color:var(--muted);font-size:15px}.tag{display:inline-block;font-size:12px;font-weight:800;padding:4px 10px;border-radius:4px;background:#ffedf0;color:#961026}.demo{background:#fff3cc;color:#634500;margin:10px 0}.notice{border-left:4px solid var(--primary);padding:15px 20px;background:#fff1f3}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.live-grid section{padding:24px;border:1px solid var(--line);border-top:5px solid var(--primary);border-radius:7px}.live-grid h2{margin:0 0 20px}.live-grid article{border-top:1px solid var(--line);padding:15px 0}.live-grid h3{font-size:25px}.time{font-size:23px;font-weight:800}.schedule{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}th,td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}th{background:#f6f6f7}.empty{padding:24px;color:var(--muted);background:#f7f7f8;border-radius:6px}.network{color:#961026;background:#fff1f3;padding:14px}.updated{font-size:14px;color:var(--muted)}footer{padding:30px max(28px,calc((100vw - 1128px)/2));background:#25272b;color:#fff;font-size:14px}footer a{color:#fff}footer>p:first-child{font-size:24px;font-weight:800}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:12px;z-index:10}button{font:inherit;border:1px solid var(--line);border-radius:6px;padding:10px 16px;background:#fff;color:var(--ink);cursor:pointer}.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.sponsor{margin-right:20px}@media(max-width:650px){header{padding:18px;align-items:flex-start;flex-direction:column;gap:15px}.brand-name{font-size:20px}main{padding:28px 18px 45px}.hero{padding:24px}.live-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr}h1{letter-spacing:-.5px}nav{gap:28px}}@media(min-width:1600px){body.monitor{font-size:24px}.monitor main{max-width:1800px}.monitor .live-grid h3{font-size:34px}.monitor .time{font-size:32px}}

/* Public portal: institutional scale with responsive editorial headings. */
:root{--heading-1:clamp(2rem,1.5rem + 2vw,3rem);--heading-2:clamp(1.75rem,1.4rem + 1vw,2.25rem);--heading-3:1.5rem}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}
h1,h2,h3,.brand-name,footer>p:first-child{font-family:var(--font-heading);font-weight:var(--weight-normal);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}
h1{font-size:var(--heading-1);line-height:var(--leading-heading)}
h2{font-size:var(--heading-2);line-height:1.2}
h3{font-size:var(--heading-3);line-height:var(--leading-heading)}
.brand-name{font-size:1.5rem;line-height:var(--leading-heading)}
#brand{font-size:var(--text-xs)}
nav a{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-ui)}
button,.cta{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-ui);max-width:100%;overflow-wrap:anywhere}
.meta,table{font-size:var(--text-sm);line-height:var(--leading-ui)}
.tag,.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-ui);letter-spacing:var(--tracking-label)}
.tag{overflow-wrap:anywhere}
.card a{font-weight:var(--weight-semibold)}
.updated,footer{font-size:var(--text-xs);line-height:var(--leading-body)}
.time{font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-ui)}
.live-grid h3{font-size:var(--heading-3);line-height:var(--leading-heading)}
body.monitor{font-size:var(--text-lg)}
.monitor .meta,.monitor .updated{font-size:var(--text-base)}
@media(min-width:1600px){body.monitor{font-size:var(--text-xl)}.monitor h1{font-size:3.5rem}.monitor h2{font-size:2.5rem}.monitor .live-grid h3{font-size:2.125rem}.monitor .time{font-size:2rem}.monitor .meta,.monitor .updated{font-size:var(--text-lg)}}
