/* APS adaptations to the copied HSG design system. */
:root { --accent:#176947; --warn:#875501; --water:#187b81; }
body { overflow-wrap:break-word; }
img,canvas { max-width:100%; }
.skip { position:fixed;top:-80px;left:12px;z-index:100;padding:12px;background:#fff; }
.skip:focus {top:8px;}
:focus-visible { outline:3px solid #a44b00;outline-offset:4px; }
.nav-inner {flex-wrap:wrap;gap:10px 24px;padding:12px 24px;}
.brand {display:flex;gap:12px;align-items:center;white-space:normal;line-height:1.25;font-size:16px;}
.brand-logo {width:46px;height:46px;object-fit:contain;}
.brand small {font-family:Arial,sans-serif;font-size:11px;color:#4b4f60;font-weight:400;}
.nav-cta {margin-left:auto;display:inline-block;background:#2e2fa6;color:#fff!important;text-decoration:none;padding:10px 16px;border-radius:7px;font-size:13px;font-weight:600;}
.nav-links {width:100%;margin:0;gap:12px 24px;}
.nav-links a {font-size:13px;}
.hero {padding:64px 24px 70px;background:linear-gradient(115deg,#14163f,#3435a6);}
.hero.has-photo {background:linear-gradient(110deg,rgba(16,19,55,.96),rgba(31,35,103,.84) 58%,rgba(31,35,103,.50)),url('assets/aurora-hero.jpg') center 50%/cover;}
.hero-source {margin-top:24px;font-size:12px;color:#e1e3f7;}
.kicker {max-width:100%;border-radius:5px;letter-spacing:.1em;}
.hero h1 {max-width:920px;font-size:clamp(30px,4.2vw,52px);}
.statband-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.stat .num {font-size:27px;}
.source,.note {font-size:12px;color:#52566a;margin:12px 0;}
.stat .source {font-size:10px;margin:8px 0 0;}
.section {padding-top:38px;padding-bottom:28px;}
.section p {margin-bottom:14px;}
.section h3 {margin-top:12px;margin-bottom:10px;}
.grid2,.grid3 {grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;}
.grid2>*,.grid3>*,.section,.controls>* {min-width:0;}
.table-scroll {max-width:100%;border:1px solid #e3e5ee;border-radius:8px;margin:18px 0;}
table.data {margin-top:0;font-variant-numeric:tabular-nums;}
table.data caption {padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#52566a;background:#f5f6fc;}
table.data th {text-transform:none;letter-spacing:0;}
table.data tbody th {font-family:inherit;font-size:13px;color:#16171f;font-weight:500;border-bottom:1px solid #e3e5ee;padding:9px 10px;min-width:100px;}
table.data td {min-width:86px;vertical-align:top;}
table.heat td {background:#edf0fa;min-width:75px;white-space:nowrap;}
table.heat td:nth-child(3n) {background:#e0e6f5;}
.bounded {max-height:600px;overflow:auto;}
.bounded thead th {position:sticky;top:0;background:#f0f2fa;z-index:2;}
.controls {display:flex;flex-wrap:wrap;gap:16px;margin:20px 0;}
.controls label {display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:7px;flex:1 1 175px;max-width:100%;}
input,select,button {font:inherit;max-width:100%;}
input[type=search],select {width:100%;min-height:44px;padding:9px;border:1px solid #a9afc3;border-radius:6px;color:#222;background:#fff;}
button {padding:9px 16px;min-height:44px;color:#fff;background:#2e2fa6;border:0;border-radius:6px;cursor:pointer;}
.process {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;counter-reset:process;list-style:none;padding:0;margin:24px 0;}
.process li {border-top:3px solid #2e2fa6;padding:18px 0;counter-increment:process;}
.process li:before {content:'0' counter(process);font-family:'Space Grotesk',sans-serif;font-size:24px;color:#2e2fa6;}
.process p {font-size:14px;color:#4b4f60;}
.callout {background:#eef0fb;border-left:4px solid #2e2fa6;padding:22px;margin:20px 0;border-radius:0 10px 10px 0;}
details {border:1px solid #d7dbe8;border-radius:8px;padding:16px;margin:18px 0;background:#fff;}
summary {cursor:pointer;font-weight:600;}
details code {overflow-wrap:anywhere;font-size:11px;}
blockquote {font-size:21px;padding:20px;border-left:4px solid #187b81;background:#f0f7f7;}
.rate-group summary {font-size:17px;}
.weight-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0;}
.weight-grid label {display:grid;grid-template-columns:1fr auto;gap:9px;font-size:13px;}
.weight-grid input {grid-column:1/-1;width:100%;min-height:28px;accent-color:#2e2fa6;}
.weight-grid output {font-weight:700;color:#2e2fa6;}
.rule-list {columns:2;padding-left:22px;}
.rule-list li {break-inside:avoid;margin-bottom:12px;}
.gantt-months {text-align:right;font-size:12px;color:#52566a;padding:14px 0;}
.gantt-row {display:grid;grid-template-columns:42% 58%;align-items:center;border-top:1px solid #e3e5ee;padding:13px 0;gap:0;}
.gantt-row strong {font-size:13px;display:block;padding-right:14px;}
.gantt-row div>span:not(.gantt-track span) {font-size:12px;display:block;color:#52566a;}
.gantt-track {height:25px;position:relative;background:repeating-linear-gradient(90deg,#f0f1f7 0,#f0f1f7 calc(16.6% - 1px),#d8dcec 16.6%);border-radius:4px;}
.gantt-track>span {position:absolute;top:5px;height:15px;min-width:5px;background:#2e2fa6;border-radius:3px;}
.platform-intro {display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start;}
.platform-intro .callout {margin-top:0;}
.demo-band {max-width:1132px;margin:40px auto;padding:0 24px;}
.demo-band>a {display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px;background:#24257d;color:#fff;border-radius:12px;text-decoration:none;}
.db-t {font-size:22px;font-weight:600;}
.db-s {font-size:13px;color:#e8e9fa;margin-top:5px;}
.db-b {flex-shrink:0;border:1px solid #c3c6f3;border-radius:6px;padding:10px 14px;font-size:13px;}
.foot-inner {gap:32px;}
.foot-inner>p {max-width:620px;font-size:12px;}
.foot-note {display:block;font-size:11px;}
.foot-note p {max-width:none;margin-bottom:12px;}
footer a {color:#c9cbff;}
.foot-logo {width:60px;height:auto;}
@media(max-width:800px){.statband-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.nav{position:static;}.nav-links{gap:8px 18px;}.process{grid-template-columns:1fr;gap:4px;}.platform-intro{grid-template-columns:1fr;}.demo-band>a{flex-direction:column;align-items:flex-start;}}
@media(max-width:550px){.nav-inner{padding:12px 18px;gap:13px;}.brand{font-size:14px;}.brand-logo{width:36px;height:36px;}.nav-cta{margin-left:0;font-size:12px;width:100%;text-align:center;}.hero{padding:40px 20px 60px;}.hero p.lede{font-size:16px;}.kicker{font-size:10px;}.section{padding:30px 18px 15px;}.statband{padding:0 18px;}.stat{padding:15px 12px;}.stat .num{font-size:23px;}.grid2,.grid3,.weight-grid{grid-template-columns:1fr;}.card{padding:20px;}.rule-list{columns:1;}.gantt-row{grid-template-columns:1fr;gap:8px;}.gantt-months{text-align:left;}.foot-inner{display:block;padding:26px 18px;}.foot-inner>p{margin-top:20px;}.demo-band{padding:0 18px;}.chart-wrap{padding:16px;}.controls label{flex-basis:100%;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}

.nav-links{flex-wrap:wrap;white-space:normal;overflow:visible;}
footer a{color:#2e2fa6;}
.stat .num{text-align:left;}
.research-values {margin:0;font-size:12px;}
.research-values dt {font-weight:600;margin-top:8px;}
.research-values dd {margin:2px 0 10px;overflow-wrap:anywhere;}
.coverage td {min-width:40px;text-align:center;}
.coverage tbody th {min-width:180px;max-width:240px;background:#fff;}
.coverage tbody th,.coverage thead th:first-child {position:sticky;left:0;z-index:1;}
.coverage thead th:first-child {z-index:3;}
body[data-page=market] .data td {white-space:normal;}
body[data-page=market] .data details {padding:10px;min-width:170px;}
#market-results .data td:nth-child(7) {min-width:220px;}
#market-results .data td:last-child {min-width:200px;}
#market-results .data tbody th {min-width:150px;}
[hidden] {display:none!important;}
