:root {
  --forest: #1a7f8e;
  --forest-pale: #e7f5f7;
  --gold-pale: #fff3dc;
  --plum: #6b4d9b;
}

.hub-hero::before { background: linear-gradient(125deg, transparent 0 44%, rgba(26,127,142,.78) 44.3% 45.3%, transparent 45.7% 100%), linear-gradient(155deg, transparent 0 70%, rgba(239,162,1,.60) 70.3% 71.3%, transparent 71.7%); }
.hub-hero::after { background: var(--forest); }
.hub-hero .hero-card { border-top: 5px solid var(--orange); }
.hub-intro { max-width: 800px; margin-bottom: 30px; }
.hub-intro h2 { margin: 0 0 12px; color: var(--navy); font: 800 clamp(1.7rem,3vw,2.5rem)/1.1 var(--display); letter-spacing: -.025em; }
.hub-intro p { margin: 0; color: var(--gray); }
.navigator { padding: clamp(21px,3vw,32px); margin: 0 0 34px; border: 1px solid rgba(26,127,142,.28); border-radius: 16px; background: linear-gradient(135deg,#eff9f9 0%,#fff9ec 100%); box-shadow: var(--shadow); }
.navigator-top { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 20px; }
.navigator-top h3 { margin: 0; color: var(--navy); font: 800 clamp(1.4rem,2.4vw,1.95rem)/1.1 var(--display); }
.navigator-top p { max-width: 650px; margin: 8px 0 0; color: var(--gray); font-size: .86rem; }
.navigator-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.navigator-question { padding: 15px; border: 1px solid rgba(27,58,107,.12); border-radius: 11px; background: rgba(255,255,255,.92); }
.navigator-question label { display: block; min-height: 39px; color: var(--navy); font-size: .79rem; font-weight: 850; line-height: 1.25; }
.navigator-question select { width: 100%; min-height: 40px; margin-top: 10px; padding: 7px 8px; border: 1px solid #b9c7d4; border-radius: 6px; background: var(--white); }
.navigator-result { display: none; align-items: center; justify-content: space-between; gap: 17px; margin-top: 18px; padding: 15px; border-radius: 10px; color: var(--navy); background: var(--white); border-left: 4px solid var(--orange); }
.navigator-result.show { display: flex; }
.navigator-result strong { display: block; font: 800 1.12rem var(--display); }
.navigator-result p { margin: 3px 0 0; color: var(--gray); font-size: .79rem; }

.pathway-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin: 38px 0 18px; }
.pathway-heading h2 { margin: 0; color: var(--navy); font: 800 clamp(1.55rem,2.8vw,2.25rem)/1.1 var(--display); }
.pathway-heading p { max-width: 630px; margin: 8px 0 0; color: var(--gray); font-size: .88rem; }
.assessment-list { display: grid; gap: 16px; }
.assessment-module { overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: var(--white); box-shadow: var(--shadow); }
.assessment-summary { display: grid; grid-template-columns: auto 1fr auto; gap: 17px; align-items: center; padding: 19px 21px; cursor: pointer; list-style: none; }
.assessment-summary::-webkit-details-marker { display: none; }
.assessment-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--navy); background: var(--orange); font-size: .81rem; font-weight: 900; }
.assessment-summary h3 { margin: 0; color: var(--navy); font: 800 1.32rem/1.1 var(--display); }
.assessment-summary p { margin: 5px 0 0; color: var(--gray); font-size: .79rem; }
.assessment-summary .summary-meta { padding: 6px 9px; border-radius: 999px; color: var(--forest); background: var(--forest-pale); font-size: .67rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.assessment-module[open] .assessment-summary { border-bottom: 1px solid var(--border); background: #fbfdff; }
.assessment-content { padding: 21px; }
.assessment-content > p { max-width: 820px; margin: 0 0 16px; color: var(--gray); font-size: .88rem; }
.check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.check-option { display: flex; gap: 10px; align-items: flex-start; min-height: 67px; padding: 13px; border: 1px solid var(--border); border-radius: 9px; background: #fcfdff; cursor: pointer; }
.check-option input { width: 17px; height: 17px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--forest); }
.check-option span { color: var(--ink); font-size: .78rem; line-height: 1.32; }
.module-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.module-result { display: none; grid-template-columns: auto 1fr; gap: 16px; margin-top: 19px; padding: 18px; border-radius: 11px; color: var(--ink); background: var(--gold-pale); border: 1px solid rgba(239,162,1,.35); }
.module-result.show { display: grid; }
.module-result .result-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--orange); font: 900 1.15rem var(--display); }
.module-result h4 { margin: 0; color: var(--navy); font: 800 1.25rem var(--display); }
.module-result p { margin: 5px 0 0; color: var(--gray); font-size: .82rem; }
.module-result .next-action { margin-top: 9px; color: var(--navy); font-size: .78rem; font-weight: 800; }
.module-footer-note { margin: 14px 0 0; color: var(--gray); font-size: .73rem; }

.tool-row { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 34px; }
.tool-banner { padding: clamp(22px,3vw,32px); border-radius: 15px; color: var(--white); background: linear-gradient(135deg,var(--navy),var(--forest)); box-shadow: var(--shadow); }
.tool-banner .eyebrow { color: var(--orange); }
.tool-banner h2 { margin: 0; color: var(--white); font: 800 clamp(1.55rem,2.8vw,2.2rem)/1.1 var(--display); }
.tool-banner p { margin: 10px 0 0; color: rgba(255,255,255,.80); font-size: .88rem; }
.tool-banner .btn { margin-top: 17px; }
.planning-card { padding: 22px; border: 1px solid var(--border); border-radius: 15px; background: var(--white); box-shadow: var(--shadow); }
.planning-card h3 { margin: 0; color: var(--navy); font: 800 1.35rem var(--display); }
.planning-card p { margin: 8px 0 0; color: var(--gray); font-size: .82rem; }
.planning-list { display: grid; gap: 9px; margin: 15px 0 0; padding: 0; list-style: none; }
.planning-list li { padding: 10px; border-radius: 8px; color: var(--ink); background: var(--cream); font-size: .77rem; }
.planning-list strong { color: var(--navy); }
.resource-disclaimer { margin-top: 34px; padding: 15px 18px; border-left: 4px solid var(--forest); border-radius: 0 10px 10px 0; color: var(--gray); background: var(--forest-pale); font-size: .78rem; }

@media (max-width: 980px) { .navigator-grid { grid-template-columns: 1fr; } .tool-row { grid-template-columns: 1fr; } }
@media (max-width: 780px) { .navigator-top, .pathway-heading { align-items: flex-start; flex-direction: column; } .check-grid { grid-template-columns: 1fr; } }
@media (max-width: 580px) { .assessment-summary { grid-template-columns: auto 1fr; padding: 16px; } .assessment-summary .summary-meta { grid-column: 2; width: fit-content; } .navigator-result, .module-result { align-items: flex-start; flex-direction: column; } }
@media print { .navigator, .module-controls, .nav-toggle { display: none !important; } .assessment-module { box-shadow: none; break-inside: avoid; } .assessment-module:not([open]) .assessment-content { display: block !important; } }
