*{box-sizing:border-box}
body.portal-body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#16181d;background:#fff;line-height:1.45}
a{color:inherit;text-decoration:none}
.p-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.p-topbar{background:#111318;color:#dfe2e8;font-size:12px}
.p-topbar__inner{display:flex;align-items:center;gap:18px;height:36px;overflow:hidden}
.p-topbar__date{white-space:nowrap;opacity:.7}
.p-ticker{display:flex;align-items:center;gap:10px;overflow:hidden;flex:1}
.p-ticker__label{background:#c8102e;color:#fff;padding:2px 8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.p-ticker__track{display:flex;gap:14px;white-space:nowrap;animation:p-scroll 38s linear infinite}
.p-ticker__track a{opacity:.85}
.p-dot{opacity:.4}
@keyframes p-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.p-header{border-bottom:1px solid #e4e6ea;background:#fff;position:sticky;top:0;z-index:30}
.p-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.p-logo{display:flex;align-items:center;gap:10px}
.p-logo__mark{width:38px;height:38px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;border-radius:3px}
.p-logo__text{font-weight:800;font-size:19px;letter-spacing:-.02em;display:flex;flex-direction:column;line-height:1.1}
.p-logo__text em{font-style:normal;font-weight:400;font-size:11px;color:#6a7078;letter-spacing:0;margin-top:2px}
.p-nav{display:flex;gap:22px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.p-nav a{padding:26px 0;border-bottom:3px solid transparent}
.p-nav a:hover{border-color:#16181d}
.p-search{display:flex;border:1px solid #d7dae0;border-radius:2px;overflow:hidden}
.p-search input{border:0;padding:8px 10px;width:132px;outline:none;font-size:13px}
.p-search button{border:0;background:#16181d;color:#fff;padding:0 12px;cursor:pointer}
.p-main{padding:26px 20px 60px}
.p-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:0;border-bottom:1px solid #e4e6ea;padding-bottom:24px}
.p-hero__lead{padding-right:28px;border-right:1px solid #e4e6ea}
.p-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.p-hero__lead h1{font-size:40px;line-height:1.1;margin:10px 0 12px;letter-spacing:-.02em}
.p-hero__lead p{color:#555b63;font-size:15px;margin:0 0 14px}
.p-more{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #16181d;padding-bottom:2px}
.p-hero__side{padding-left:24px;display:flex;flex-direction:column;justify-content:space-between}
.p-hero__item{display:flex;gap:12px;padding:9px 0;border-bottom:1px dotted #dcdfe4}
.p-hero__item:last-child{border-bottom:0}
.p-hero__num{font-size:12px;font-weight:700;color:#a2a8b0;min-width:20px}
.p-hero__title{font-size:14px;font-weight:600;line-height:1.35}
.p-hero__item:hover .p-hero__title{text-decoration:underline}
.p-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #e4e6ea;font-size:12px}
.p-strip__label{font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#7c828a}
.p-strip a{display:inline-flex;gap:6px;align-items:center;border:1px solid #e0e3e8;padding:5px 10px;border-radius:2px;font-weight:600}
.p-strip a:hover{border-color:#16181d}
.p-strip b{color:#a2a8b0;font-weight:600}
.p-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;padding-top:26px}
.p-section{margin-bottom:38px}
.portal-section-head{display:flex;align-items:center;gap:12px;margin:0 0 6px}
.portal-section-head h2{font-size:20px;margin:0;letter-spacing:-.01em;text-transform:uppercase}
.portal-rule{flex:1;height:2px;background:#c8102e;opacity:.25}
.portal-seeall{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#555b63;white-space:nowrap}
.portal-seeall:hover{color:#16181d}
.p-section__desc{margin:0 0 16px;color:#6d737b;font-size:13px}
.p-cards{display:grid;gap:18px}
.p-cards--grid,.p-cards--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-cards--list{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-cards--wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-card{border:1px solid #e4e6ea;border-radius:3px;background:#fff;transition:box-shadow .15s,transform .15s}
.p-card:hover{box-shadow:0 6px 18px rgba(16,20,28,.09);transform:translateY(-1px)}
.p-card__link{display:block;padding:14px 16px 12px}
.p-card__badge{width:30px;height:30px;border-radius:2px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;margin-bottom:10px}
.p-card__title{font-size:15px;margin:0 0 6px;line-height:1.32;letter-spacing:-.01em}
.p-card__excerpt{font-size:12.5px;color:#6d737b;margin:0}
.p-card__facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.p-card__facts span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f2f4f7;color:#4a5058;padding:3px 7px;border-radius:2px}
.p-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.p-faq__item{border:1px solid #e4e6ea;border-radius:3px;padding:12px 14px;font-size:13.5px}
.p-faq__item summary{cursor:pointer;font-weight:700;list-style:none}
.p-faq__item summary::-webkit-details-marker{display:none}
.p-faq__item div{margin-top:8px;color:#666c74;font-size:13px}
.portal-side{display:flex;flex-direction:column;gap:22px}
.p-widget{border-top:3px solid #16181d;padding-top:10px}
.p-widget__title{font-size:13px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.1em}
.p-rank{margin:0;padding-left:18px;font-size:13px}
.p-rank li{padding:7px 0;border-bottom:1px dotted #dcdfe4;line-height:1.35}
.p-links{list-style:none;margin:0;padding:0;font-size:13px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.p-widget--cta{background:#f6f7f9;border-top-color:#c8102e;padding:14px;border-radius:3px}
.p-widget--cta p{font-size:12.5px;color:#5c626a;margin:0 0 10px}
.p-form{display:flex;gap:6px}
.p-form input{flex:1;border:1px solid #d7dae0;padding:8px;font-size:12px;min-width:0}
.p-form button{border:0;background:#16181d;color:#fff;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}
.p-footer{background:#111318;color:#b9bfc7;margin-top:20px;font-size:13px}
.p-footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:26px;padding:36px 20px 22px}
.p-footer__col h3{color:#fff;margin:0 0 8px;font-size:15px}
.p-footer__col p{margin:0;color:#8f959d;font-size:12.5px}
.p-footer__col a{display:block;padding:4px 0}
.p-footer__col a:hover{color:#fff}
.p-footer__legal{border-top:1px solid #23262d;padding:14px 20px;font-size:11.5px;color:#767c85}

.p-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #e4e6ea}
.p-news__item{display:block;padding:14px 16px 14px 0;border-bottom:1px solid #eef0f3}
.p-news__date{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a2a8b0;display:block;margin-bottom:4px}
.p-news__title{font-size:14.5px;font-weight:700;line-height:1.3;display:block}
.p-news__excerpt{font-size:12px;color:#747a82;display:block;margin-top:4px;line-height:1.4}
.p-news__item:hover .p-news__title{text-decoration:underline}
.p-footer__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 20px 26px;border-top:1px solid #23262d;margin-top:0}
.p-footer__links strong{display:block;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px}
.p-footer__links a{display:block;font-size:12px;color:#8f959d;padding:2px 0}
.p-footer__links a:hover{color:#fff}
@media(max-width:980px){.p-news{grid-template-columns:1fr}.p-footer__links{grid-template-columns:1fr 1fr}}
.portal-pagination{margin-top:24px;font-size:13px}
.portal-empty{color:#6d737b}
@media(max-width:980px){
 .p-hero{grid-template-columns:1fr}
 .p-hero__lead{border-right:0;padding-right:0}
 .p-hero__side{padding-left:0;margin-top:16px}
 .p-columns{grid-template-columns:1fr}
 .p-nav{display:none}
 .p-cards--grid,.p-cards--cards,.p-cards--list,.p-cards--wide,.p-faq{grid-template-columns:1fr}
 .p-footer__inner{grid-template-columns:1fr 1fr}
 .p-hero__lead h1{font-size:28px}
}


/* ===== SD: dark state-desk dashboard ===== */
.sd-body{background:#0f172a;color:#e2e8f0;font-family:'Segoe UI',Arial,sans-serif;margin:0}
.sd-body .sd-wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.sd-header{background:#0b1222;border-bottom:1px solid #1e293b;position:sticky;top:0;z-index:50}
.sd-head-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.sd-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#e2e8f0}
.sd-logo-badge{background:#10b981;color:#04281c;font-weight:900;font-size:13px;padding:7px 10px;border-radius:8px;letter-spacing:.04em}
.sd-logo-text{font-size:19px;font-weight:300;letter-spacing:.04em;line-height:1.1}
.sd-logo-text b{font-weight:900}
.sd-logo-text small{display:block;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#64748b}
.sd-nav{display:flex;gap:6px;flex-wrap:wrap}
.sd-nav a{color:#94a3b8;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 13px;border-radius:20px;border:1px solid transparent}
.sd-nav a:hover{color:#10b981;border-color:#134e3a;background:#0d241c}
.sd-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;margin-top:34px;align-items:center}
.sd-pill{display:inline-block;background:#052e21;color:#34d399;border:1px solid #134e3a;font-size:10.5px;font-weight:800;letter-spacing:.18em;padding:5px 12px;border-radius:20px;margin-bottom:16px}
.sd-hero-copy h1{font-size:34px;line-height:1.2;margin:0 0 14px;color:#f8fafc;font-weight:800}
.sd-hero-copy h1 em{color:#10b981;font-style:normal}
.sd-hero-copy p{font-size:14.5px;color:#94a3b8;margin:0 0 20px;line-height:1.7}
.sd-hero-chips{display:flex;gap:10px;flex-wrap:wrap}
.sd-chip{border:1px solid #334155;color:#cbd5e1;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em;padding:9px 16px;border-radius:22px;text-transform:uppercase}
.sd-chip:hover{border-color:#10b981;color:#34d399}
.sd-chip--g{background:#10b981;border-color:#10b981;color:#04281c}
.sd-chip--g:hover{background:#34d399;color:#04281c}
.sd-hero-card{border:1px solid #1e293b;border-radius:14px;overflow:hidden;background:#0b1222}
.sd-hero-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.sd-hero-card-txt{padding:16px 18px}
.sd-hero-card-txt h2{margin:8px 0 0;font-size:20px;line-height:1.3;color:#f1f5f9}
.sd-hero-card a{text-decoration:none;color:inherit}
.sd-tag{color:#34d399;font-size:10px;font-weight:800;letter-spacing:.2em}
.sd-sec{margin-top:44px}
.sd-sechead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sd-sechead h2{font-size:16px;letter-spacing:.22em;color:#e2e8f0;margin:0}
.sd-sechead a{color:#34d399;font-size:12px;text-decoration:none;letter-spacing:.06em;text-transform:uppercase}
.sd-state-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sd-state{background:#0b1222;border:1px solid #1e293b;border-radius:12px;padding:16px;text-decoration:none;display:block}
.sd-state:hover{border-color:#10b981;transform:translateY(-2px)}
.sd-state-abbr{display:inline-block;background:#0ea5e9;color:#06202e;font-weight:900;font-size:19px;padding:6px 10px;border-radius:8px}
.sd-state-name{display:block;color:#f1f5f9;font-weight:700;font-size:14px;margin-top:10px;line-height:1.3}
.sd-state-meta{display:block;color:#64748b;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.sd-cols{display:grid;grid-template-columns:2.05fr 1fr;gap:30px;margin-top:44px}
.sd-row a{display:grid;grid-template-columns:150px 1fr 30px;gap:16px;align-items:center;background:#0b1222;border:1px solid #1e293b;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;padding:12px;margin-bottom:12px}
.sd-row img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block}
.sd-row h3{margin:0 0 5px;font-size:17px;color:#f1f5f9}
.sd-row a:hover h3{color:#34d399}
.sd-row p{margin:0;font-size:12.5px;color:#94a3b8;line-height:1.55}
.sd-arrow{color:#10b981;font-size:20px}
.sd-mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sd-mini{background:#0b1222;border:1px solid #1e293b;border-radius:12px;overflow:hidden;text-decoration:none;display:block}
.sd-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.sd-mini b{display:block;padding:10px 12px;color:#f1f5f9;font-size:13.5px;line-height:1.35}
.sd-mini:hover{border-color:#f59e0b}
.sd-rail .sd-box{background:#0b1222;border:1px solid #1e293b;border-radius:12px;padding:16px;margin-bottom:16px}
.sd-box h4{margin:0 0 10px;font-size:12px;letter-spacing:.2em;color:#34d399}
.sd-list{list-style:none;margin:0;padding:0}
.sd-list li{border-bottom:1px solid #16213a}
.sd-list a{display:block;padding:8px 0;color:#cbd5e1;text-decoration:none;font-size:13px;font-weight:600}
.sd-list a:hover{color:#34d399}
.sd-terms{display:flex;flex-wrap:wrap;gap:8px}
.sd-terms a{background:#16213a;color:#94a3b8;font-size:11.5px;padding:5px 11px;border-radius:14px;text-decoration:none}
.sd-terms a:hover{color:#e2e8f0}
.sd-faq2{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.sd-faq2 details{background:#0b1222;border:1px solid #1e293b;border-radius:10px;padding:13px 16px}
.sd-faq2 summary{cursor:pointer;font-weight:700;font-size:14px;color:#e2e8f0}
.sd-faq2 div{font-size:12.5px;color:#94a3b8;line-height:1.65;margin-top:8px}
.sd-footer{background:#0b1222;border-top:1px solid #1e293b;margin-top:50px;color:#64748b}
.sd-footer .sd-wrap{padding:28px 20px}
.sd-footer b{color:#e2e8f0;letter-spacing:.1em}
.sd-footer nav{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0}
.sd-footer a{color:#94a3b8;text-decoration:none;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.sd-footer a:hover{color:#34d399}
.sd-footer>div>span{font-size:11.5px}
@media(max-width:960px){.sd-hero,.sd-cols,.sd-faq2{grid-template-columns:1fr}.sd-state-grid{grid-template-columns:1fr 1fr}.sd-mini3{grid-template-columns:1fr}.sd-head-inner{flex-direction:column;gap:10px}}
/* archive palette overrides (dark slate/emerald) */
.portal-body{background:#0f172a;color:#e2e8f0}
.portal-body .p-header,.portal-body .p-topbar,.portal-body .p-footer{background:#0b1222}
