:root {
  --navy: #063f50;
  --navy-deep: #032f3d;
  --mint: #65d5b0;
  --mint-soft: #dff7ee;
  --cream: #fbf5e9;
  --paper: #fffdf8;
  --ink: #14272e;
  --muted: #617077;
  --line: #d7ded9;
  --warning: #d8893d;
  --danger: #b64f52;
  --shadow: 0 18px 45px rgba(3, 47, 61, .10);
  --radius: 18px;
}

/* Profile depth, campus context and editorial pages */
.footer-links { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 18px; font-size: .82rem; }
.footer-links a { color: var(--mint); }
.profile-hero-inner { display: grid; grid-template-columns: 1fr 180px; gap: 60px; align-items: end; }
.profile-kicker { display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--mint); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.button-ghost { color: white; background: transparent; border-color: rgba(255,255,255,.55); }
.university-layout { padding-block: 58px 90px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.headline-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.headline-metrics article { min-height: 145px; padding: 20px; display: flex; flex-direction: column; background: var(--cream); border-radius: 14px; }
.headline-metrics span, .headline-metrics small { color: var(--muted); font-size: .7rem; }
.headline-metrics strong { margin: 16px 0 6px; color: var(--navy); font: 1.65rem Georgia, serif; }
.headline-metrics small { margin-top: auto; }
.coverage-badge { width: fit-content; padding: 5px 9px; display: inline-flex; color: var(--navy); background: var(--mint-soft); border-radius: 999px; font-size: .7rem; font-weight: 850; letter-spacing: .02em; }
.coverage-panel { margin-top: -26px; padding: 22px 26px; display: grid; grid-template-columns: 250px 1fr; gap: 34px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); position: relative; z-index: 2; }
.coverage-panel > div:first-child { display: grid; gap: 7px; }
.coverage-panel p { margin: 0; color: var(--muted); font-size: .82rem; }
.coverage-lenses { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.coverage-lenses div { display: grid; grid-template-columns: 1fr auto; gap: 5px 8px; align-items: center; font-size: .72rem; text-transform: capitalize; }
.coverage-lenses i { height: 5px; grid-column: 1 / -1; overflow: hidden; background: #e8eeec; border-radius: 999px; }
.coverage-lenses i::after { width: var(--score); height: 100%; display: block; content: ""; background: var(--mint); border-radius: inherit; }
.compact-warning { margin-top: 20px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.section-heading h2, .section-heading p { margin-bottom: 0; }
.place-type { padding: 8px 12px; color: var(--navy); background: var(--mint-soft); border-radius: 999px; font-size: .78rem; font-weight: 800; }
.map-frame { margin-top: 24px; overflow: hidden; background: #dbe7e2; border-radius: 24px; }
.map-frame iframe { width: 100%; height: 390px; display: block; border: 0; }
.map-frame > a { padding: 9px 14px; display: block; color: var(--navy); background: white; font-size: .72rem; text-align: right; }
.visual-placeholder { min-height: 280px; margin-top: 24px; padding: 34px; display: grid; place-content: center; text-align: center; color: white; background: radial-gradient(circle at 30% 20%, #2f7d81, var(--navy)); border-radius: 24px; }
.visual-placeholder span { font: 2rem Georgia, serif; }
.location-facts, .place-grid, .experience-grid, .route-grid, .event-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.location-facts article, .place-grid article, .route-grid article { padding: 20px; display: grid; gap: 7px; background: var(--cream); border: 1px solid var(--line); border-radius: 15px; }
.location-facts span, .place-grid span, .route-grid span, .experience-grid span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.location-facts strong, .place-grid strong, .route-grid strong { color: var(--navy); }
.location-facts small, .place-grid small, .route-grid small { color: var(--muted); line-height: 1.4; }
.place-grid p { margin: 0; font-size: .84rem; }
.experience-grid { grid-template-columns: repeat(6, 1fr); }
.experience-grid div { min-height: 100px; padding: 16px; display: grid; align-content: space-between; background: var(--navy); color: white; border-radius: 14px; }
.experience-grid strong { color: var(--mint); font: 2rem Georgia, serif; }
.feature-section { margin-top: 28px; }
.feature-section h3 { color: var(--navy); font: 1.25rem Georgia, serif; }
.tag-list { display: flex; flex-wrap: wrap; gap: 9px; }
.tag-list span { padding: 8px 12px; color: var(--navy); background: var(--mint-soft); border-radius: 999px; font-size: .78rem; font-weight: 750; }
.feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.feature-list div { padding: 13px 15px; display: flex; justify-content: space-between; gap: 15px; background: var(--cream); border-radius: 10px; }
.feature-list span { color: var(--muted); font-size: .78rem; }
.course-search { margin: 22px 0 18px; }
.course-search label { margin-bottom: 7px; display: block; font-size: .76rem; font-weight: 800; }
.course-search > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.course-search input { width: 100%; }
.pagination { margin-top: 20px; display: flex; justify-content: center; gap: 22px; font-size: .82rem; }
.pagination a { color: var(--navy); font-weight: 800; }
.empty-inline { margin-top: 18px; padding: 18px; color: var(--muted); background: var(--cream); border-radius: 12px; }
.event-grid a { min-height: 190px; padding: 20px; display: grid; align-content: end; gap: 7px; color: white; background: linear-gradient(0deg, rgba(3,47,61,.94), rgba(3,47,61,.18)), var(--event-image, linear-gradient(135deg, #27717a, #063f50)); background-size: cover; background-position: center; border-radius: 18px; }
.event-grid span, .event-grid small { font-size: .72rem; }
.inline-section { margin: 26px 0; padding-top: 22px; border-top: 1px solid var(--line); }
.inline-heading { margin-bottom: 14px; display: flex; justify-content: space-between; gap: 20px; }
.inline-heading small { color: var(--muted); }
.inline-form { margin-bottom: 12px; padding: 14px; display: grid; grid-template-columns: 1.1fr 2fr 1fr 1fr 1fr; gap: 10px; background: var(--cream); border-radius: 13px; }
.compact-inline { grid-template-columns: 1fr 1.2fr 1.2fr .8fr auto; }
.inline-form .field { margin: 0; }
.inline-form label { font-size: .68rem; }
.inline-form input, .inline-form select { min-width: 0; }
.material-layout { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.35fr); gap: 30px; align-items: start; }
.material-list { display: grid; gap: 16px; }
.privacy-inline { padding: 18px; display: grid; gap: 5px; color: white; background: var(--navy); border-radius: 14px; }
.privacy-inline span { color: rgba(255,255,255,.75); font-size: .82rem; }
.material-card { padding: 24px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.material-card h2 { margin: 9px 0 2px; color: var(--navy); font: 1.5rem Georgia, serif; }
.material-feedback { margin-top: 18px; padding: 16px; display: flex; gap: 16px; align-items: center; background: var(--cream); border-radius: 13px; }
.draft-score { width: 76px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; color: var(--navy); background: var(--mint); border-radius: 50%; }
.draft-score strong { font: 1.8rem Georgia, serif; }
.draft-score span { font-size: .58rem; }
.material-feedback p { margin: 4px 0 0; color: var(--muted); font-size: .82rem; }
.check-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.check-grid div { padding: 12px; display: grid; grid-template-columns: 1fr auto; gap: 5px; border: 1px solid var(--line); border-radius: 10px; }
.check-grid small { grid-column: 1 / -1; color: var(--muted); }
.material-actions { margin-top: 16px; display: flex; gap: 10px; align-items: center; }
.material-actions form { margin: 0; }
.about-hero { padding: 86px 0; color: white; background: var(--navy); }
.about-hero-grid { display: grid; grid-template-columns: 1.35fr .75fr; gap: 70px; align-items: center; }
.about-hero h1 { max-width: 780px; margin: 12px 0 20px; font-size: clamp(2.8rem, 6vw, 5.6rem); line-height: .98; }
.about-hero .lead { max-width: 760px; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.65; }
.about-manifesto { padding: 32px; display: grid; gap: 15px; color: var(--navy); background: var(--mint); border-radius: 28px; transform: rotate(1.5deg); }
.about-manifesto strong { font: 2rem Georgia, serif; line-height: 1.15; }
.story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 70px; }
.story-grid h2 { color: var(--navy); font: 2.2rem Georgia, serif; }
.founder-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.founder-principles article { padding: 28px; background: white; border: 1px solid var(--line); border-radius: 18px; }
.founder-principles span { color: #2f8f78; font-weight: 900; }
.founder-principles h3 { color: var(--navy); font: 1.5rem Georgia, serif; }
.scorecard-explainer { display: grid; gap: 14px; }
.scorecard-explainer article { padding: 26px; display: grid; grid-template-columns: 90px 1fr; gap: 26px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 18px; }
.score-orb { width: 82px; aspect-ratio: 1; display: grid; place-content: center; color: var(--navy); background: var(--mint); border-radius: 50%; font: 2rem Georgia, serif; }
.scorecard-explainer h2 { margin: 0 0 6px; color: var(--navy); }
.scorecard-explainer p { margin: 0; color: var(--muted); }
.methodology-rule { padding: 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; color: white; background: var(--navy); border-radius: 24px; }
.methodology-rule h2 { font: 2rem Georgia, serif; }
.methodology-rule li { margin-bottom: 10px; }
.video-layout { display: grid; grid-template-columns: 1.5fr .7fr; gap: 40px; align-items: center; }
.video-frame { padding: 10px; background: var(--navy); border-radius: 22px; box-shadow: var(--shadow); }
.video-frame video { width: 100%; display: block; border-radius: 14px; }

@media (max-width: 900px) {
  .coverage-panel, .about-hero-grid, .material-layout, .story-grid, .methodology-rule, .video-layout, .university-layout { grid-template-columns: 1fr; }
  .headline-metrics { grid-template-columns: repeat(2, 1fr); }
  .coverage-lenses { grid-template-columns: repeat(2, 1fr); }
  .location-facts, .place-grid, .route-grid, .event-grid, .founder-principles { grid-template-columns: 1fr; }
  .experience-grid { grid-template-columns: repeat(3, 1fr); }
  .inline-form, .compact-inline { grid-template-columns: 1fr 1fr; }
  .feature-list { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .coverage-lenses, .experience-grid, .check-grid { grid-template-columns: 1fr 1fr; }
  .inline-form, .compact-inline, .scorecard-explainer article { grid-template-columns: 1fr; }
  .about-hero { padding: 58px 0; }
  .about-hero h1 { font-size: 2.8rem; }
  .map-frame iframe { height: 300px; }
  .profile-hero-inner, .headline-metrics { grid-template-columns: 1fr; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button, input, select { font: inherit; }
.shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.site-header { min-height: 76px; padding: 0 max(20px, calc((100% - 1160px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 32px; color: white; background: var(--navy); position: sticky; top: 0; z-index: 20; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-family: Georgia, serif; font-size: 1.45rem; letter-spacing: -.03em; }
.brand img { border-radius: 50%; }
.site-nav { display: flex; align-items: center; gap: 30px; font-weight: 650; font-size: .95rem; }
.site-nav a { opacity: .86; }
.site-nav a:hover, .site-nav a:focus { opacity: 1; color: var(--mint); }
.site-nav form { margin: 0; }
.nav-auth { padding: 0; color: white; background: none; border: 0; cursor: pointer; font-weight: 650; opacity: .86; }
.nav-pill { padding: 8px 14px; color: var(--navy) !important; background: var(--mint); border-radius: 999px; opacity: 1 !important; }
.nav-toggle { display: none; color: white; background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 8px; padding: 7px 11px; }
.hero { min-height: 640px; padding-block: 88px 76px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 84px; align-items: center; }
.eyebrow { margin: 0 0 14px; color: #258f76; font-weight: 800; font-size: .74rem; letter-spacing: .15em; text-transform: uppercase; }
.hero h1, .page-hero h1, .profile-hero h1 { max-width: 780px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6vw, 5.5rem); font-weight: 500; line-height: 1.02; letter-spacing: -.055em; }
.lede { max-width: 670px; margin: 28px 0 0; color: var(--muted); font-size: 1.25rem; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button { appearance: none; display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: var(--navy); }
.button-primary:hover { background: var(--navy-deep); }
.button-secondary { color: var(--navy); background: transparent; border-color: var(--navy); }
.button-quiet { color: var(--muted); background: #f3f4ef; }
.button-light { color: var(--navy); background: var(--cream); }
.button-outline-light { color: white; border-color: rgba(255,255,255,.55); }
.full { width: 100%; }
.trust-line { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--muted); font-size: .83rem; font-weight: 700; }
.trust-line span::before { content: "✓"; margin-right: 7px; color: #238c73; }
.hero-card { padding: 34px; color: white; background: var(--navy); border-radius: 30px; box-shadow: var(--shadow); transform: rotate(1.5deg); }
.orbit-mark { width: 94px; height: 94px; display: grid; place-items: center; margin-bottom: 38px; background: var(--cream); border-radius: 50%; }
.mini-label { color: var(--mint); font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.journey-list { padding: 0; margin: 22px 0 0; list-style: none; }
.journey-list li { padding: 18px 0; display: grid; grid-template-columns: 40px 1fr; gap: 14px; border-top: 1px solid rgba(255,255,255,.17); }
.journey-list li > span { color: var(--mint); font-weight: 800; }
.journey-list strong, .journey-list small { display: block; }
.journey-list strong { font-size: 1.12rem; }
.journey-list small { margin-top: 3px; color: rgba(255,255,255,.66); }
.metric-strip { width: min(1240px, 100%); margin-inline: auto; padding: 34px max(20px, calc((100% - 1160px) / 2)); display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; color: white; background: var(--navy); }
.metric-strip.small { margin-top: 20px; }
.metric-strip div { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.24); }
.metric-strip strong, .metric-strip span { display: block; }
.metric-strip strong { color: var(--mint); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.metric-strip span { color: rgba(255,255,255,.7); font-size: .82rem; }
.section-block { padding-block: 86px; }
.section-heading { margin-bottom: 34px; }
.section-heading h2, .detail-section h2, .source-card h2, .planner-form h2, .explain-panel h2, .roi-summary h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.split-heading { display: grid; grid-template-columns: 1fr .75fr; gap: 80px; align-items: end; }
.split-heading > p { margin: 0; color: var(--muted); font-size: 1.05rem; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.feature-grid article { min-height: 260px; padding: 28px 24px 24px 0; border-right: 1px solid var(--line); }
.feature-grid article + article { padding-left: 24px; }
.feature-grid article:last-child { border-right: 0; }
.feature-number { color: #258f76; font-size: .75rem; font-weight: 800; }
.feature-grid h3 { margin: 52px 0 10px; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 500; }
.feature-grid p { margin: 0; color: var(--muted); }
.university-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.university-card { min-height: 230px; padding: 24px; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 24px rgba(3,47,61,.05); }
.card-topline { display: flex; justify-content: space-between; gap: 20px; color: #258f76; font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.university-card h3, .result-card h3 { margin: 28px 0 4px; font-family: Georgia, serif; font-size: 1.55rem; line-height: 1.15; }
.university-card > p, .result-card > div > p { margin: 0; color: var(--muted); }
.mini-metrics { margin: auto 0 0; padding-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-top: 1px solid var(--line); }
.mini-metrics dt { color: var(--muted); font-size: .67rem; }
.mini-metrics dd { margin: 3px 0 0; font-weight: 800; }
.text-link { color: #167e67; font-weight: 800; }
.callout-band { margin-bottom: 86px; padding: 54px; display: flex; justify-content: space-between; align-items: end; gap: 50px; color: white; background: var(--navy); border-radius: 28px; }
.callout-band .eyebrow { color: var(--mint); }
.callout-band h2 { max-width: 760px; margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 4.5vw, 3.7rem); font-weight: 500; line-height: 1.04; }
.page-hero { padding-block: 72px 28px; }
.page-hero.compact h1 { font-size: clamp(2.6rem, 5vw, 4.7rem); }
.page-hero > p:last-child { max-width: 720px; color: var(--muted); font-size: 1.1rem; }
.explorer-layout { padding-block: 44px 90px; display: grid; grid-template-columns: 260px 1fr; gap: 44px; align-items: start; }
.filter-panel, .planner-form { padding: 24px; background: var(--cream); border-radius: var(--radius); }
.filter-panel { position: sticky; top: 98px; }
.filter-panel h2, .results-heading h2 { margin: 0 0 20px; font-size: 1rem; }
.field { margin-bottom: 17px; }
.field label { margin-bottom: 6px; display: block; font-weight: 750; font-size: .82rem; }
.field input, .field select { width: 100%; min-height: 43px; padding: 9px 11px; color: var(--ink); background: white; border: 1px solid #cbd3ce; border-radius: 9px; }
.field small { margin-top: 5px; display: block; color: var(--muted); font-size: .7rem; }
.dependent-form-intro { margin: -.2rem 0 .9rem; color: var(--muted); line-height: 1.55; }
.dependent-form-status { margin: .4rem 0 1rem; padding: .75rem .85rem; border-radius: 12px; background: var(--mint-soft); color: var(--ink); font-size: .85rem; line-height: 1.45; }
.planner-form select[multiple] { min-height: 10.5rem; padding: .45rem; }
.planner-form select[multiple] option { padding: .42rem .5rem; border-radius: 6px; }
.planner-form select[multiple] option:checked { background: var(--mint); color: var(--ink); }
.planner-form select:disabled { opacity: .55; cursor: not-allowed; }
.field-error { display: block; color: var(--danger); font-size: .75rem; }
.data-warning { padding: 12px 14px; color: #6f4518; background: #fff1d9; border: 1px solid #edc98e; border-radius: 10px; }
.clear-link { margin-top: 14px; display: inline-block; color: var(--muted); background: transparent; border: 0; cursor: pointer; text-decoration: underline; }
.results-heading { margin-bottom: 20px; display: flex; justify-content: space-between; align-items: end; }
.results-heading > div { display: flex; gap: 9px; align-items: baseline; }
.result-count { color: var(--navy); font-family: Georgia, serif; font-size: 2.1rem; }
.compare-chip { padding: 8px 14px; color: var(--navy); background: var(--mint-soft); border-radius: 999px; font-size: .8rem; font-weight: 800; }
.result-card { margin-bottom: 15px; padding: 25px; display: grid; grid-template-columns: minmax(260px, 1.2fr) minmax(250px, .8fr) auto; gap: 26px; align-items: center; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.result-card h3 { margin-top: 15px; }
.score-row { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.score-row > div { display: grid; grid-template-columns: 1fr auto; gap: 5px; align-items: center; }
.score-row span { color: var(--muted); font-size: .68rem; }
.score-row strong { font-size: .8rem; }
.score-row i, .lens-list i, .projection-list i { grid-column: 1 / -1; height: 5px; display: block; background: linear-gradient(90deg, var(--mint) var(--score), #e8ece9 var(--score)); border-radius: 999px; }
.result-metrics { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 20px; }
.result-metrics dt { color: var(--muted); font-size: .68rem; }
.result-metrics dd { margin: 3px 0 0; font-weight: 800; }
.result-actions { display: grid; gap: 8px; }
.result-actions form, .result-actions button { width: 100%; }
.empty-state { padding: 70px 30px; text-align: center; background: var(--cream); border-radius: var(--radius); }
.empty-state h2 { margin: 0; font-family: Georgia, serif; font-size: 2.1rem; }
.empty-state p { color: var(--muted); }
.profile-hero { padding-block: 72px; color: white; background: var(--navy); }
.profile-hero .eyebrow { color: var(--mint); }
.profile-hero h1 { font-size: clamp(2.8rem, 6vw, 5.4rem); }
.profile-head { display: grid; grid-template-columns: 1fr 180px; gap: 60px; align-items: end; }
.hero-score { width: 175px; height: 175px; padding: 18px; display: grid; place-content: center; text-align: center; color: var(--navy); background: var(--mint); border-radius: 50%; transform: rotate(3deg); }
.hero-score span, .hero-score small { font-size: .7rem; font-weight: 750; }
.hero-score strong { font-family: Georgia, serif; font-size: 4rem; line-height: .95; }
.profile-grid { display: grid; grid-template-columns: 1fr 310px; gap: 60px; align-items: start; }
.metric-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.metric-cards article { min-height: 145px; padding: 20px; display: flex; flex-direction: column; background: var(--cream); border-radius: 14px; }
.metric-cards span, .metric-cards small { color: var(--muted); font-size: .7rem; }
.metric-cards strong { margin: 16px 0 6px; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.metric-cards small { margin-top: auto; }
.metric-cards.two-col { grid-template-columns: repeat(2, 1fr); }
.detail-section { margin-top: 60px; }
.lens-list { margin-top: 28px; }
.lens-list > div { padding: 13px 0; display: grid; grid-template-columns: 120px 1fr 38px; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.lens-list i { grid-column: auto; height: 8px; }
.lens-list strong { text-align: right; }
.evidence-card { padding: 28px; background: var(--navy); color: white; border-radius: var(--radius); position: sticky; top: 100px; }
.evidence-card .eyebrow { color: var(--mint); }
.evidence-card h2 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; line-height: 1.08; }
.evidence-card dl { margin-block: 25px; }
.evidence-card dl div { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.18); }
.evidence-card dt { color: rgba(255,255,255,.6); font-size: .7rem; }
.evidence-card dd { margin: 3px 0 0; font-weight: 750; }
.evidence-card .text-link { color: var(--mint); }
.fine-print, .table-note { color: var(--muted); font-size: .75rem; }
.evidence-card .fine-print { color: rgba(255,255,255,.62); }
.program-list { margin-top: 20px; }
.program-list > div { padding: 13px 0; display: grid; grid-template-columns: 1fr 130px 120px; border-bottom: 1px solid var(--line); }
.comparison-wrap { overflow-x: auto; }
.comparison-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { min-width: 170px; padding: 18px; text-align: left; border-bottom: 1px solid var(--line); }
.comparison-table thead th { vertical-align: bottom; background: var(--cream); }
.comparison-table thead th:first-child { min-width: 130px; }
.comparison-table thead a { font-family: Georgia, serif; font-size: 1.2rem; }
.comparison-table thead small { display: block; color: var(--muted); font-weight: 400; }
.comparison-table tbody th { font-size: .8rem; }
.score-cell { color: var(--navy); font-family: Georgia, serif; font-size: 2rem; }
.planner-layout { display: grid; grid-template-columns: 360px 1fr; gap: 56px; align-items: start; }
.planner-form h2 { margin-bottom: 24px; font-size: 2rem; }
.roi-summary { padding: 36px; color: white; background: var(--navy); border-radius: var(--radius); }
.roi-summary .eyebrow { color: var(--mint); }
.roi-summary > p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.roi-summary .metric-cards article { color: var(--ink); background: var(--cream); }
.projection-list { margin-top: 20px; }
.projection-list > div { padding: 12px 0; display: grid; grid-template-columns: 75px 100px 1fr 180px; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.projection-list i { grid-column: auto; height: 8px; }
.projection-list small { color: var(--muted); text-align: right; }
.explain-panel { padding: 45px; background: var(--cream); border-radius: var(--radius); }
.explain-panel p, .explain-panel li { color: var(--muted); }
.source-list { display: grid; gap: 16px; }
.source-card { padding: 26px; display: grid; grid-template-columns: 115px 1fr 360px 130px; gap: 28px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); }
.source-card h2 { font-size: 1.55rem; }
.source-card p { margin-bottom: 0; color: var(--muted); }
.source-status { padding: 8px 10px; text-align: center; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.status-current { color: #12604e; background: var(--mint-soft); }
.status-due { color: #7d4818; background: #faead7; }
.status-legacy, .status-blocked { color: #743335; background: #f7dfdf; }
.status-planned { color: #42525a; background: #e8edef; }
.status-internal { color: #6b4a10; background: #fae9bd; }
.source-card dl { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.source-card dt { color: var(--muted); font-size: .66rem; }
.source-card dd { margin: 2px 0 0; font-size: .82rem; font-weight: 750; }
.site-footer { min-height: 180px; padding: 48px max(20px, calc((100% - 1160px) / 2)); display: flex; justify-content: space-between; align-items: end; gap: 40px; color: white; background: var(--navy-deep); }
.site-footer p { margin: 4px 0 0; color: rgba(255,255,255,.62); }
.footer-note { max-width: 480px; text-align: right; font-size: .78rem; }
.auth-shell { min-height: calc(100vh - 256px); padding-block: 72px; display: grid; grid-template-columns: 1fr 440px; gap: 90px; align-items: start; }
.auth-copy h1, .onboarding-grid h1, .dashboard-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 500; line-height: 1.02; letter-spacing: -.05em; }
.auth-copy > p, .onboarding-grid > div > p { color: var(--muted); font-size: 1.05rem; }
.auth-card, .onboarding-card { padding: 32px; background: var(--cream); border-radius: var(--radius); box-shadow: var(--shadow); }
.auth-card h2 { margin: 0 0 24px; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.auth-foot { margin: 20px 0 0; color: var(--muted); text-align: center; font-size: .85rem; }
.auth-foot a { color: #167e67; font-weight: 800; }
.form-alert { margin-bottom: 18px; padding: 12px; color: #743335; background: #f7dfdf; border-radius: 9px; }
.plain-checks { padding: 0; list-style: none; }
.plain-checks li { margin: 10px 0; color: var(--muted); }
.plain-checks li::before { content: "✓"; margin-right: 9px; color: #258f76; font-weight: 800; }
.onboarding-shell { min-height: calc(100vh - 256px); padding-block: 44px 80px; }
.onboarding-progress { margin-bottom: 54px; display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; align-items: center; color: var(--muted); font-size: .78rem; }
.onboarding-progress i { height: 8px; background: linear-gradient(90deg, var(--mint) var(--score), #e8ece9 var(--score)); border-radius: 999px; }
.onboarding-grid { display: grid; grid-template-columns: minmax(0, 1fr) 600px; gap: 64px; align-items: start; }
.choice-field ul { margin: 8px 0 0; padding: 0; list-style: none; }
.choice-field li { margin: 8px 0; }
.choice-field li label { display: flex; gap: 9px; align-items: center; font-weight: 500; }
.choice-field input { width: auto; min-height: auto; }
.onboarding-card input[type="checkbox"] { width: auto; min-height: auto; accent-color: var(--forest); }
.boolean-field { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.boolean-field input { order: -1; }
.boolean-field label { margin: 0; }
.boolean-field small, .boolean-field .field-error { flex-basis: 100%; }
.onboarding-intro { position: sticky; top: 96px; }
.adaptive-guidance { margin-top: 28px; padding: 22px; background: #eef6f1; border: 1px solid #d7e7dc; border-radius: 16px; }
.adaptive-guidance h3 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 1.35rem; }
.adaptive-guidance p { margin: 0; color: var(--muted); font-size: .86rem; }
.adaptive-guidance ol { margin: 15px 0 0; padding-left: 20px; color: var(--ink); font-size: .8rem; }
.adaptive-guidance li + li { margin-top: 6px; }
.onboarding-card select[multiple] { min-height: 112px; padding: 7px; }
.onboarding-card select[multiple] option { padding: 7px 8px; border-radius: 6px; }
.onboarding-card select[multiple] option:checked { color: var(--ink); background: linear-gradient(0deg, var(--mint), var(--mint)); }
.home-location-row { grid-template-columns: 1fr 1fr; align-items: end; }
.home-location-row .airport-match { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .72rem; }
.test-attempt { margin-bottom: 14px; padding: 15px; background: white; border: 1px solid #dfe5e1; border-radius: 14px; }
.test-attempt-heading { margin-bottom: 10px; display: flex; justify-content: space-between; gap: 12px; }
.test-attempt-heading small { color: var(--forest); font-weight: 700; }
.test-grid { margin: 0; padding: 0; background: transparent; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.course-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.course-row [data-field-name="subject"] { grid-column: span 2; }
.budget-note { margin: 4px 0 20px; padding: 14px 16px; display: grid; gap: 4px; background: #eef6f1; border-radius: 12px; font-size: .78rem; }
.budget-note span { color: var(--muted); }
.onboarding-card input[type="range"] { padding: 0; accent-color: var(--forest); }
.dependent-form-status { margin: -3px 0 18px; padding: 11px 13px; color: var(--muted); background: white; border: 1px solid #dfe5e1; border-radius: 10px; font-size: .75rem; }
.dashboard-hero { padding-block: 62px; color: white; background: var(--navy); }
.dashboard-hero .eyebrow { color: var(--mint); }
.dashboard-hero p:last-child { color: rgba(255,255,255,.7); }
.dashboard-grid { display: grid; grid-template-columns: 1fr 310px; gap: 48px; align-items: start; }
.setup-callout { margin-bottom: 28px; padding: 28px; display: flex; justify-content: space-between; gap: 28px; align-items: center; background: var(--mint-soft); border-radius: var(--radius); }
.setup-callout h2 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.setup-callout p:last-child { margin-bottom: 0; color: var(--muted); }
.action-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.action-grid > a { min-height: 250px; padding: 26px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); }
.action-grid > a:hover { border-color: #55b99d; box-shadow: var(--shadow); }
.action-grid span { color: #258f76; font-size: .75rem; font-weight: 800; }
.action-grid h2 { margin: 38px 0 8px; font-family: Georgia, serif; font-size: 1.75rem; font-weight: 500; }
.action-grid p { margin: 0; color: var(--muted); }
.action-grid strong { margin-top: auto; padding-top: 24px; color: #167e67; }
.profile-summary { padding: 27px; color: white; background: var(--navy); border-radius: var(--radius); position: sticky; top: 100px; }
.profile-summary .eyebrow, .profile-summary .text-link { color: var(--mint); }
.profile-summary h2 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; line-height: 1.08; }
.profile-summary dl { margin-block: 25px; }
.profile-summary dl div { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.18); }
.profile-summary dt { color: rgba(255,255,255,.58); font-size: .68rem; }
.profile-summary dd { margin: 2px 0 0; }
.evidence-summary { margin-bottom: 26px; padding: 28px; display: grid; grid-template-columns: 1fr 250px; gap: 35px; background: var(--mint-soft); border-radius: var(--radius); }
.evidence-summary h2 { margin: 0; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; line-height: 1.08; }
.evidence-summary p:last-child { color: var(--muted); }
.evidence-summary dl { margin: 0; }
.evidence-summary dl div { padding: 10px 0; border-top: 1px solid rgba(3,47,61,.15); }
.evidence-summary dt { color: var(--muted); font-size: .68rem; }
.evidence-summary dd { margin: 2px 0 0; font-weight: 750; }
.pathway-list { border-top: 1px solid var(--line); }
.pathway-head, .pathway-list article { padding: 15px 12px; display: grid; grid-template-columns: 1fr 135px 110px; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); }
.pathway-head { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.pathway-list article strong, .pathway-list article small { display: block; }
.pathway-list article small { color: var(--muted); font-size: .72rem; }
.pathway-list article .model-estimate { margin-top: 6px; color: var(--teal); font-weight: 750; }
.pathway-list article .concentration-estimate { margin-top: 6px; color: var(--ink); font-weight: 750; }
.pathway-list article .concentration-missing { margin-top: 6px; color: var(--muted); font-style: italic; }
.pathway-list article .major-outcome { margin-top: 4px; }
.index-pill { width: 54px; height: 54px; display: grid; place-items: center; color: var(--navy); background: var(--mint); border-radius: 50%; font-weight: 850; }
.method-note { margin-top: 22px; padding: 18px; background: var(--cream); border-radius: 12px; }
.method-note summary { cursor: pointer; font-weight: 800; }
.method-note p { color: var(--muted); }
.model-validation { padding-top: 10px; border-top: 1px solid rgba(3,47,61,.15); font-size: .78rem; }
.peer-fallback { margin-top: 42px; }
.peer-fallback > h2 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.peer-fallback > p:not(.eyebrow) { color: var(--muted); }
.peer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.peer-grid article { padding: 20px; display: grid; gap: 9px; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-soft); }
.peer-grid article > span { color: var(--teal); font-family: Georgia, serif; font-size: 2rem; }
.peer-grid article p, .peer-grid article small, .peer-grid details p { margin: 0; color: var(--muted); font-size: .75rem; }
.peer-grid details summary { cursor: pointer; color: var(--navy); font-size: .75rem; font-weight: 800; }
.message-stack { padding-top: 18px; }
.message { padding: 12px 16px; color: #12604e; background: var(--mint-soft); border: 1px solid #b8e9d9; border-radius: 10px; font-weight: 700; }
.filter-support { margin-top: 22px; padding-top: 18px; display: grid; gap: 7px; border-top: 1px solid rgba(3,47,61,.14); font-size: .78rem; }
.filter-support a { color: #167e67; font-weight: 800; }
.compact-choices ul { padding: 0; list-style: none; }
.compact-choices li { margin: 5px 0; }
.compact-choices li label { font-size: .78rem; }
.evidence-warning { margin-bottom: 14px; padding: 14px 16px; color: #6b4a10; background: #fae9bd; border-radius: 10px; font-size: .82rem; }
.scenario-strip { margin-bottom: 18px; padding: 20px; display: grid; grid-template-columns: 1fr 300px; gap: 24px; background: var(--navy); color: white; border-radius: var(--radius); }
.scenario-strip strong, .scenario-strip span { display: block; }
.scenario-strip strong { font-family: Georgia, serif; font-size: 1.6rem; font-weight: 500; }
.scenario-strip span, .scenario-strip small { color: rgba(255,255,255,.68); }
.scenario-strip .eyebrow { color: var(--mint); }
.expanded-result { grid-template-columns: minmax(260px, 1.1fr) minmax(250px, .9fr); align-items: start; }
.expanded-result .result-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; }
.expanded-result .result-actions .button { min-width: 150px; }
.expanded-result .result-actions form { width: auto; margin: 0; }
.expanded-result .result-actions form .button { width: auto; }
.decision-lenses { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.decision-lens { min-height: 175px; padding: 20px 18px 20px 0; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--line); }
.decision-lens + .decision-lens { padding-left: 18px; }
.decision-lens:last-child { border-right: 0; }
.decision-lens > span { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.decision-lens > strong { margin-top: 8px; color: var(--navy); font-family: Georgia, serif; font-size: 1.22rem; font-weight: 500; line-height: 1.1; }
.decision-lens > b { font-size: .75rem; }
.decision-lens > small { margin-top: auto; color: var(--muted); font-size: .7rem; }
.fit-badge { width: fit-content; padding: 6px 9px; border-radius: 999px; font-family: inherit !important; font-size: .7rem !important; font-weight: 850 !important; letter-spacing: .03em; text-transform: uppercase; }
.fit-super_reach { color: #743335 !important; background: #f7dfdf; }
.fit-reach { color: #7d4818 !important; background: #faead7; }
.fit-target { color: #164d65 !important; background: #dceef5; }
.fit-safety { color: #12604e !important; background: var(--mint-soft); }
.fit-super_safety { color: #5b4b14 !important; background: #f3e9b9; }
.fit-insufficient { color: #42525a !important; background: #e8edef; }
.evidence-form-layout { display: grid; grid-template-columns: minmax(360px, 520px) 1fr; gap: 60px; align-items: start; }
.privacy-card { padding: 30px; color: white; background: var(--navy); border-radius: var(--radius); }
.privacy-card h2 { margin: 0; font-family: Georgia, serif; font-size: 2.4rem; font-weight: 500; line-height: 1.05; }
.privacy-card p, .privacy-card li { color: rgba(255,255,255,.7); }
.privacy-card .eyebrow, .privacy-card .text-link { color: var(--mint); }
.scenario-layout { display: grid; grid-template-columns: 360px 1fr; gap: 56px; align-items: start; }
.scenario-list { display: grid; gap: 14px; }
.scenario-list article { padding: 22px; display: flex; justify-content: space-between; gap: 28px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); }
.scenario-list article span, .scenario-list article small { color: #258f76; font-size: .72rem; font-weight: 800; }
.scenario-list h3 { margin: 7px 0 3px; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 500; }
.scenario-list p { margin: 0; color: var(--muted); }
.scenario-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: end; }
.journey-map { margin-top: 58px; }
.journey-map h2 { max-width: 760px; margin: 0; font-family: Georgia, serif; font-size: 2.4rem; font-weight: 500; line-height: 1.08; }
.journey-map ol { margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 2px solid var(--line); }
.journey-map li { min-height: 150px; padding: 20px 18px 0 0; position: relative; }
.journey-map li::before { content: ""; width: 12px; height: 12px; position: absolute; top: -7px; left: 0; background: white; border: 3px solid var(--mint); border-radius: 50%; }
.journey-map li > span, .journey-map li > strong, .journey-map li > small { display: block; }
.journey-map li > span { color: #258f76; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.journey-map li > strong { margin-top: 14px; }
.journey-map li > small { margin-top: 5px; color: var(--muted); }
.dashboard-scenarios { margin-top: 58px; }
.mini-scenario-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.mini-scenario-grid a { padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.mini-scenario-grid strong, .mini-scenario-grid span { display: block; }
.mini-scenario-grid span { margin-top: 4px; color: var(--muted); font-size: .75rem; }
.tier-word { font-size: .82rem !important; }
.record-layout, .tracker-layout, .funding-layout { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 42px; align-items: start; }
.tracker-layout { grid-template-columns: minmax(0, 1fr) 360px; }
.record-list, .application-list, .funding-list { display: grid; gap: 16px; }
.record-card, .application-card, .funding-list article { padding: 24px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.record-card-head, .application-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.record-card h2, .application-card h2, .funding-list h2 { margin: 8px 0 3px; color: var(--navy); font: 1.65rem Georgia, serif; }
.record-card p, .application-card p, .funding-list p { margin: 3px 0; color: var(--muted); }
.record-card-head > strong { color: var(--navy); font: 1.35rem Georgia, serif; }
.record-actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.record-actions form { margin: 0 0 0 auto; }
.term-list { margin-top: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.term-list div { padding: 11px 13px; display: grid; background: var(--cream); border-radius: 10px; }
.term-list span { color: var(--muted); font-size: .75rem; }
.narrow-form { max-width: 650px; }
.tracker-summary { margin-top: -28px; display: grid; grid-template-columns: repeat(4, 1fr); background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); position: relative; z-index: 2; }
.tracker-summary article { padding: 22px; display: grid; border-right: 1px solid var(--line); }
.tracker-summary article:last-child { border-right: 0; }
.tracker-summary span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.tracker-summary strong { color: var(--navy); font: 2rem Georgia, serif; }
.tracker-add { display: grid; gap: 16px; position: sticky; top: 100px; }
.tracker-add details { padding: 22px; background: var(--cream); border-radius: var(--radius); }
.tracker-add summary { cursor: pointer; color: var(--navy); font: 1.45rem Georgia, serif; }
.tracker-add details form { margin-top: 22px; }
.compact-privacy { padding: 24px; }
.compact-privacy h2 { font-size: 1.8rem; }
.status-chip { padding: 5px 9px; display: inline-flex; color: var(--navy); background: #e8edef; border-radius: 999px; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.status-accepted, .status-committed { color: #12604e; background: var(--mint-soft); }
.status-rejected { color: #743335; background: #f7dfdf; }
.status-waitlisted, .status-interview { color: #7d4818; background: #faead7; }
.deadline { min-width: 120px; text-align: right; }
.deadline span, .deadline strong { display: block; }
.deadline span { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.checklist-progress { margin-top: 20px; }
.checklist-progress > div { display: flex; justify-content: space-between; color: var(--muted); font-size: .76rem; }
.checklist-progress i { height: 7px; margin-top: 7px; display: block; background: linear-gradient(90deg, var(--mint) var(--score), #e8ece9 var(--score)); border-radius: 999px; }
.requirement-list { margin-top: 14px; border-top: 1px solid var(--line); }
.requirement-list form { margin: 0; }
.requirement-row { width: 100%; padding: 10px 2px; display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; text-align: left; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.requirement-row small { color: var(--muted); }
.requirement-row.done strong { color: var(--muted); text-decoration: line-through; }
.status-form { margin-top: 18px; padding: 16px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; align-items: end; background: var(--cream); border-radius: 13px; }
.status-form .field { margin: 0; }
.status-form .compact-consent { grid-column: 1 / 3; font-size: .75rem; }
.status-form .compact-consent input { width: auto; min-height: auto; }
.welcome-callout { margin-top: 18px; padding: 16px; display: grid; color: var(--navy); background: var(--mint); border-radius: 12px; }
.welcome-callout span { font-size: .78rem; }
.tracker-shortlist, .history-section { margin-top: 46px; }
.tracker-shortlist .tag-list a { padding: 8px 12px; color: var(--navy); background: var(--mint-soft); border-radius: 999px; font-size: .78rem; font-weight: 750; }
.history-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.history-grid article { padding: 16px; display: grid; border: 1px solid var(--line); border-radius: 12px; }
.history-grid span, .history-grid small { color: var(--muted); font-size: .72rem; }
.history-grid b { margin-top: 6px; color: #258f76; font-size: .7rem; }
.funding-layout { grid-template-columns: 300px minmax(0, 1fr); }
.funding-layout > aside { display: grid; gap: 18px; }
.loan-panel { display: grid; gap: 12px; }
.loan-panel h2 { margin: -5px 0 4px; color: var(--navy); font: 1.55rem Georgia, serif; }
.loan-result { display: grid; gap: 5px; padding: 15px; background: var(--mint-soft); border-radius: 12px; color: var(--navy); }
.loan-result strong { font-size: 1.05rem; }
.loan-result span { color: var(--muted); font-size: .78rem; }
.funding-list article { display: grid; gap: 12px; }
.funding-list dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.funding-list dl div { padding: 11px; background: var(--cream); border-radius: 10px; }
.funding-list dt { color: var(--muted); font-size: .67rem; }
.funding-list dd { margin: 3px 0 0; font-size: .78rem; font-weight: 750; }
.funding-list .button { justify-self: start; }
.ranking-grid, .context-metric-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ranking-grid article, .context-metric-grid article { min-height: 135px; padding: 18px; display: grid; align-content: space-between; background: var(--cream); border-radius: 13px; }
.ranking-grid span, .ranking-grid small, .context-metric-grid span, .context-metric-grid small { color: var(--muted); font-size: .7rem; }
.ranking-grid strong { color: var(--navy); font: 2rem Georgia, serif; }
.context-metric-grid strong { color: var(--navy); }
.context-metric-grid b { font: 1.4rem Georgia, serif; }
.city-signal-tags { margin-top: 18px; }
@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; gap: 44px; }
  .hero-card { max-width: 620px; transform: none; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .university-grid { grid-template-columns: repeat(2, 1fr); }
  .result-card { grid-template-columns: 1fr 1fr; }
  .result-actions { grid-column: 1 / -1; display: flex; }
  .profile-grid { grid-template-columns: 1fr; }
  .evidence-card { position: static; }
  .metric-cards { grid-template-columns: repeat(2, 1fr); }
  .source-card { grid-template-columns: 110px 1fr; }
  .source-card dl { grid-column: 2; }
  .auth-shell, .onboarding-grid { grid-template-columns: 1fr; gap: 42px; }
  .onboarding-intro { position: static; }
  .auth-card, .onboarding-card { max-width: 600px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .profile-summary { position: static; }
  .decision-lenses { grid-template-columns: 1fr; }
  .decision-lens, .decision-lens + .decision-lens { min-height: auto; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .decision-lens:last-child { border-bottom: 0; }
  .evidence-form-layout, .scenario-layout { grid-template-columns: 1fr; }
  .scenario-strip { grid-template-columns: 1fr; }
  .journey-map ol { grid-template-columns: repeat(2, 1fr); }
  .record-layout, .tracker-layout, .funding-layout { grid-template-columns: 1fr; }
  .tracker-add { position: static; }
  .tracker-summary { grid-template-columns: repeat(2, 1fr); }
  .tracker-summary article:nth-child(2) { border-right: 0; }
  .ranking-grid, .context-metric-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .shell { width: min(100% - 24px, 1160px); }
  .site-header { min-height: 66px; padding-inline: 12px; flex-wrap: wrap; }
  .nav-toggle { display: block; }
  .site-nav { width: 100%; padding: 0 0 16px; display: none; flex-direction: column; align-items: flex-start; gap: 12px; }
  .site-nav.open { display: flex; }
  .site-nav form { width: 100%; }
  .hero { min-height: auto; padding-block: 60px; }
  .hero h1 { font-size: 3.2rem; }
  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .split-heading { grid-template-columns: 1fr; gap: 20px; }
  .feature-grid, .university-grid { grid-template-columns: 1fr; }
  .feature-grid article { min-height: 210px; padding-left: 0 !important; border-right: 0; }
  .callout-band { padding: 34px 24px; flex-direction: column; align-items: flex-start; }
  .explorer-layout, .planner-layout { grid-template-columns: 1fr; }
  .filter-panel { position: static; }
  .result-card { grid-template-columns: 1fr; }
  .result-actions { grid-column: auto; }
  .profile-head { grid-template-columns: 1fr; }
  .hero-score { width: 135px; height: 135px; }
  .metric-cards { grid-template-columns: 1fr; }
  .lens-list > div { grid-template-columns: 90px 1fr 32px; }
  .program-list > div, .projection-list > div { grid-template-columns: 1fr 1fr; }
  .program-list > div > :last-child, .projection-list i { grid-column: 1 / -1; }
  .projection-list small { text-align: left; }
  .source-card { grid-template-columns: 1fr; }
  .source-card dl { grid-column: auto; }
  .site-footer { align-items: flex-start; flex-direction: column; }
  .footer-note { text-align: left; }
  .auth-shell { padding-block: 50px; }
  .onboarding-progress { grid-template-columns: 1fr; }
  .test-grid, .course-row, .home-location-row { grid-template-columns: 1fr; }
  .course-row [data-field-name="subject"], .home-location-row .airport-match { grid-column: auto; }
  .action-grid { grid-template-columns: 1fr; }
  .setup-callout { align-items: flex-start; flex-direction: column; }
  .evidence-summary { grid-template-columns: 1fr; }
  .pathway-head, .pathway-list article { grid-template-columns: 1fr 90px 65px; }
  .peer-grid { grid-template-columns: 1fr; }
  .expanded-result { grid-template-columns: 1fr; }
  .scenario-list article { align-items: flex-start; flex-direction: column; }
  .scenario-actions { justify-content: start; }
  .journey-map ol, .mini-scenario-grid { grid-template-columns: 1fr; }
  .tracker-summary, .term-list, .history-grid, .ranking-grid, .context-metric-grid, .funding-list dl { grid-template-columns: 1fr; }
  .tracker-summary article { border-right: 0; border-bottom: 1px solid var(--line); }
  .record-card-head, .application-head { flex-direction: column; }
  .deadline { text-align: left; }
  .status-form { grid-template-columns: 1fr; }
  .status-form .compact-consent { grid-column: auto; }
}

/* Account-first workspace, shortlist and degree profiles */
.site-nav { gap: 23px; font-size: .88rem; }
.site-nav a { padding-block: 8px; position: relative; }
.site-nav a.active:not(.nav-pill) { color: white; opacity: 1; }
.site-nav a.active:not(.nav-pill)::after { width: 18px; height: 2px; position: absolute; right: 0; bottom: 1px; left: 0; margin: auto; content: ""; background: var(--mint); border-radius: 999px; }
.nav-secondary { color: rgba(255,255,255,.68); }

.dashboard-hero-grid, .account-hero-grid, .program-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 205px; gap: 48px; align-items: center; }
.dashboard-hero-grid > div:first-child > p:last-child, .account-hero-grid > div:first-child > p:last-child { max-width: 680px; }
.dashboard-account-link { min-height: 145px; padding: 24px; display: grid; align-content: center; color: var(--navy); background: var(--mint); border-radius: 22px; box-shadow: 0 15px 38px rgba(1,23,30,.2); transition: transform .18s ease; }
.dashboard-account-link:hover { transform: translateY(-3px); }
.dashboard-account-link span, .dashboard-account-link small { font-size: .72rem; font-weight: 800; }
.dashboard-account-link strong { font: 2.8rem Georgia, serif; line-height: 1.05; }

.dashboard-overview { margin-top: -25px; display: grid; grid-template-columns: repeat(4, 1fr); background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); position: relative; z-index: 2; }
.dashboard-overview article { min-height: 130px; padding: 22px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.dashboard-overview article:last-child { border-right: 0; }
.dashboard-overview span, .dashboard-overview small { color: var(--muted); font-size: .7rem; font-weight: 750; }
.dashboard-overview strong { margin-top: 7px; color: var(--navy); font: 2.2rem Georgia, serif; line-height: 1; }
.dashboard-overview .date-value { font-size: 1.72rem; }
.dashboard-overview a { margin-top: auto; color: #197f69; font-size: .74rem; font-weight: 850; }
.dashboard-focus { padding-top: 45px; }
.next-action { padding: 28px 32px; display: flex; justify-content: space-between; gap: 36px; align-items: center; background: var(--cream); border: 1px solid #efe3cc; border-radius: var(--radius); }
.next-action h2 { margin: 0; color: var(--navy); font: 2rem Georgia, serif; }
.next-action p:last-child { max-width: 700px; margin: 7px 0 0; color: var(--muted); }
.next-action .button { flex: 0 0 auto; }
.dashboard-two-column { margin-top: 44px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 42px; align-items: start; }
.dashboard-section + .dashboard-section { margin-top: 50px; padding-top: 45px; border-top: 1px solid var(--line); }
.dashboard-section .section-heading { margin-bottom: 20px; }
.dashboard-section h2, .shortlist-chart h2, .account-section h2, .degree-chart h2, .related-programs h2 { margin-top: 0; color: var(--navy); font: 2.15rem Georgia, serif; line-height: 1.1; }
.recommendation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.recommendation-grid article { min-height: 310px; padding: 22px; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-soft); }
.recommendation-grid .card-topline, .shortlist-card .card-topline { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.recommendation-grid h3 { margin: 15px 0 3px; color: var(--navy); font: 1.45rem Georgia, serif; line-height: 1.15; }
.recommendation-grid p, .recommendation-grid small { margin: 0; color: var(--muted); }
.recommendation-grid small { min-height: 38px; margin-top: 8px; }
.recommendation-grid dl { margin: 20px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.recommendation-grid dl div { padding: 9px; background: var(--cream); border-radius: 9px; }
.recommendation-grid dt { color: var(--muted); font-size: .62rem; }
.recommendation-grid dd { margin: 2px 0 0; color: var(--navy); font-size: .76rem; font-weight: 800; }
.card-actions { margin-top: auto; padding-top: 18px; display: flex; gap: 8px; }
.card-actions form { margin: 0; }
.card-actions .button { min-height: 40px; padding-inline: 16px; }
.dashboard-shortlist { display: grid; gap: 9px; }
.dashboard-shortlist > a { padding: 16px 18px; display: grid; grid-template-columns: 105px 1fr auto; gap: 15px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 12px; transition: border-color .15s ease, transform .15s ease; }
.dashboard-shortlist > a:hover { border-color: #79bea9; transform: translateX(2px); }
.dashboard-shortlist span { color: #197f69; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.dashboard-shortlist small { color: var(--muted); text-align: right; }
.dashboard-sidebar { display: grid; gap: 16px; }
.dashboard-sidebar .profile-summary { position: static; }
.dashboard-pathways, .dashboard-tools { padding: 23px; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.dashboard-pathways > a:not(.text-link), .dashboard-tools > a { padding: 12px 0; display: grid; border-top: 1px solid var(--line); }
.dashboard-pathways strong, .dashboard-tools strong { color: var(--navy); }
.dashboard-pathways span, .dashboard-tools span { color: var(--muted); font-size: .72rem; }
.dashboard-pathways .text-link { margin-top: 12px; display: inline-block; }

.account-hero { padding-block: 54px; }
.completion-ring { width: 170px; aspect-ratio: 1; padding: 16px; display: grid; place-content: center; justify-self: end; text-align: center; color: white; background: radial-gradient(circle closest-side, var(--navy) 77%, transparent 78% 99%), conic-gradient(var(--mint) var(--score), rgba(255,255,255,.13) 0); border-radius: 50%; }
.completion-ring strong { font: 2.3rem Georgia, serif; line-height: 1; }
.completion-ring span { color: rgba(255,255,255,.65); font-size: .66rem; text-transform: uppercase; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 45px; align-items: start; }
.account-main { display: grid; gap: 50px; }
.preference-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.preference-grid a { min-height: 190px; padding: 22px; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 16px; transition: transform .15s ease, border-color .15s ease; }
.preference-grid a:hover { transform: translateY(-2px); border-color: #79bea9; }
.preference-grid span { color: #21866f; font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.preference-grid strong { margin-top: 17px; color: var(--navy); font: 1.4rem Georgia, serif; }
.preference-grid small { margin-top: 6px; color: var(--muted); }
.preference-grid b { margin-top: auto; padding-top: 15px; color: #197f69; font-size: .74rem; }
.account-resource-list { border-top: 1px solid var(--line); }
.account-resource-list a { padding: 16px 2px; display: grid; grid-template-columns: 1fr 115px 1.6fr; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); }
.account-resource-list span { color: var(--navy); font-weight: 800; }
.account-resource-list strong { color: #197f69; font-size: .76rem; text-align: right; }
.account-resource-list small { color: var(--muted); }
.eligibility-radar { margin-top: 22px; padding: 20px; background: var(--cream); border-radius: 16px; }
.eligibility-radar article { padding: 12px 0; display: grid; grid-template-columns: 1.3fr 1.4fr auto; gap: 16px; border-top: 1px solid #dfe5e1; align-items: center; }
.eligibility-radar article div { display: grid; gap: 3px; }
.eligibility-radar article span, .eligibility-radar article small, .eligibility-radar > p:last-child { color: var(--muted); font-size: .72rem; }
.eligibility-radar article a { font-size: .72rem; font-weight: 700; }
.privacy-overview { padding: 30px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items: center; color: white; background: var(--navy); border-radius: 24px; }
.privacy-overview h2 { margin: 0; font: 2rem Georgia, serif; line-height: 1.1; }
.privacy-overview p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.privacy-overview .eyebrow { color: var(--mint); }
.privacy-overview dl { margin: 0; }
.privacy-overview dl div { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.16); }
.privacy-overview dt { color: rgba(255,255,255,.56); font-size: .66rem; }
.privacy-overview dd { margin: 2px 0 0; }
.privacy-overview .button { grid-column: 1 / -1; justify-self: start; }
.account-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); position: sticky; top: 100px; }
.account-card form { margin: 0; }
.account-links { margin: 22px 0; display: grid; border-top: 1px solid var(--line); }
.account-links a { padding: 11px 0; color: #197f69; border-bottom: 1px solid var(--line); font-size: .76rem; font-weight: 800; }

.shortlist-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 36px; align-items: start; }
.shortlist-filter { top: 96px; }
.shortlist-filter h2 { margin: 0 0 20px; color: var(--navy); font: 1.7rem Georgia, serif; }
.shortlist-filter details { margin: 15px 0; padding: 13px 0; border-block: 1px solid var(--line); }
.shortlist-filter summary { cursor: pointer; color: var(--navy); font-size: .78rem; font-weight: 850; }
.advanced-filter-grid { padding-top: 12px; }
.shortlist-filter .clear-link { margin-top: 10px; display: block; color: var(--muted); font-size: .75rem; text-align: center; text-decoration: underline; }
.shortlist-results { min-width: 0; display: grid; gap: 24px; }
.shortlist-chart { padding: 24px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.shortlist-chart .section-heading { margin-bottom: 18px; }
.shortlist-chart .section-heading > small { max-width: 235px; color: var(--muted); text-align: right; }
.shortlist-chart article { padding: 12px 0; display: grid; grid-template-columns: minmax(135px, .7fr) 1fr 1fr; gap: 16px; align-items: center; border-top: 1px solid var(--line); }
.shortlist-chart article > a { color: var(--navy); font-weight: 800; }
.shortlist-chart article > div { display: grid; grid-template-columns: 75px 1fr 72px; gap: 8px; align-items: center; }
.shortlist-chart article span { color: var(--muted); font-size: .62rem; }
.shortlist-chart article i { height: 9px; overflow: hidden; background: #edf0ed; border-radius: 999px; }
.shortlist-chart article i::after { width: var(--score); height: 100%; display: block; content: ""; border-radius: inherit; }
.shortlist-chart .cost-bar::after { background: #e5a669; }
.shortlist-chart .earnings-bar::after { background: var(--mint); }
.shortlist-chart article b { color: var(--navy); font-size: .68rem; text-align: right; }
.shortlist-cards { display: grid; gap: 15px; }
.shortlist-card { padding: 24px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.shortlist-card-head { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; }
.shortlist-card h2 { margin: 8px 0 2px; color: var(--navy); font: 1.75rem Georgia, serif; }
.shortlist-card p { margin: 0; color: var(--muted); }
.shortlist-metrics { margin: 20px 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; }
.shortlist-metrics div { padding: 10px; background: var(--cream); border-radius: 9px; }
.shortlist-metrics dt { color: var(--muted); font-size: .61rem; }
.shortlist-metrics dd { margin: 3px 0 0; color: var(--navy); font-size: .76rem; font-weight: 800; }
.shortlist-edit { padding: 15px; display: grid; grid-template-columns: 1fr 1fr 1.5fr auto; gap: 10px; align-items: end; background: #f6f7f3; border-radius: 12px; }
.shortlist-edit .field { margin: 0; }
.shortlist-edit label { font-size: .65rem; }
.shortlist-edit textarea { min-height: 45px; resize: vertical; }
.shortlist-card > .result-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.shortlist-card > .result-actions form { margin: 0; }

.program-hero { padding: 42px 0 58px; color: white; background: linear-gradient(120deg, var(--navy-deep), var(--navy)); }
.program-hero .eyebrow { color: var(--mint); }
.program-hero h1 { max-width: 830px; margin: 0; font: clamp(2.8rem, 5vw, 5rem) Georgia, serif; font-weight: 500; line-height: 1.01; letter-spacing: -.045em; }
.program-hero p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.breadcrumbs { margin-bottom: 38px; display: flex; flex-wrap: wrap; gap: 8px; color: rgba(255,255,255,.63); font-size: .72rem; }
.breadcrumbs a { color: var(--mint); font-weight: 800; }
.program-confidence { min-height: 180px; padding: 24px; display: flex; flex-direction: column; justify-content: center; color: var(--navy); background: var(--mint); border-radius: 24px; transform: rotate(1.5deg); }
.program-confidence span { font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.program-confidence strong { margin: 8px 0; font: 1.7rem Georgia, serif; line-height: 1.05; }
.program-confidence small { opacity: .75; }
.program-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 45px; align-items: start; }
.program-main { display: grid; gap: 45px; min-width: 0; }
.program-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.program-metric-grid article { min-height: 155px; padding: 20px; display: flex; flex-direction: column; background: var(--cream); border: 1px solid #efe3cc; border-radius: 15px; }
.program-metric-grid article.featured { grid-column: span 2; color: white; background: var(--navy); border-color: var(--navy); }
.program-metric-grid span, .program-metric-grid small { color: var(--muted); font-size: .7rem; }
.program-metric-grid .featured span, .program-metric-grid .featured small { color: rgba(255,255,255,.65); }
.program-metric-grid strong { margin: 14px 0 7px; color: var(--navy); font: 1.8rem Georgia, serif; }
.program-metric-grid .featured strong { color: var(--mint); font-size: 2.35rem; }
.program-metric-grid small { margin-top: auto; }
.degree-chart { padding: 26px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.degree-chart .section-heading > span { color: var(--muted); font-size: .7rem; text-align: right; }
.bar-chart { margin-top: 18px; }
.bar-row { padding: 13px 0; display: grid; grid-template-columns: minmax(150px, .8fr) 1.5fr 92px; gap: 14px; align-items: center; border-top: 1px solid var(--line); }
.bar-row > span { font-size: .75rem; font-weight: 750; }
.bar-row > i { height: 12px; overflow: hidden; background: #edf0ed; border-radius: 999px; }
.bar-row > i::after { width: var(--score); height: 100%; display: block; content: ""; background: #9fb7b1; border-radius: inherit; }
.bar-row.primary > i::after { background: var(--mint); }
.bar-row.primary > span, .bar-row.primary > strong { color: var(--navy); font-weight: 850; }
.bar-row > strong { font-size: .74rem; text-align: right; }
.estimate-explainer { padding: 30px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; color: white; background: var(--navy); border-radius: 24px; }
.estimate-explainer h2 { margin: 0; font: 2rem Georgia, serif; line-height: 1.1; }
.estimate-explainer .eyebrow { color: var(--mint); }
.estimate-explainer p { margin-top: 10px; color: rgba(255,255,255,.67); }
.related-program-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.related-program-grid a { min-height: 140px; padding: 19px; display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 14px; }
.related-program-grid strong { color: var(--navy); }
.related-program-grid span { margin-top: 5px; color: var(--muted); font-size: .74rem; }
.related-program-grid b { margin-top: auto; padding-top: 14px; color: #197f69; font-size: .73rem; }
.degree-sidebar { padding: 25px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); position: sticky; top: 100px; }
.degree-sidebar h2 { margin: 0; color: var(--navy); font: 1.8rem Georgia, serif; }
.degree-sidebar dl { margin: 22px 0; }
.degree-sidebar dl div { padding: 11px 0; border-top: 1px solid var(--line); }
.degree-sidebar dt { color: var(--muted); font-size: .65rem; }
.degree-sidebar dd { margin: 2px 0 0; }
.degree-sidebar .text-link { margin-top: 16px; display: inline-block; }
.program-list > a { padding: 13px 0; display: grid; grid-template-columns: 1fr 130px 165px; gap: 12px; border-bottom: 1px solid var(--line); }
.program-list > a:hover strong { color: #197f69; }
.program-list > a span { color: var(--muted); font-size: .76rem; }
.program-list > a span:last-child { color: #197f69; text-align: right; }

@media (max-width: 1040px) {
  .site-nav { gap: 15px; font-size: .8rem; }
  .shortlist-chart article { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .dashboard-two-column, .account-layout, .shortlist-layout, .program-layout { grid-template-columns: 1fr; }
  .dashboard-overview { grid-template-columns: repeat(2, 1fr); }
  .dashboard-overview article:nth-child(2) { border-right: 0; }
  .dashboard-overview article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .account-card, .degree-sidebar, .shortlist-filter { position: static; }
  .shortlist-filter form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 14px; align-items: end; }
  .shortlist-filter h2, .shortlist-filter details, .shortlist-filter .button, .shortlist-filter .clear-link { grid-column: 1 / -1; }
  .shortlist-filter .field { margin: 0; }
  .shortlist-filter details { margin: 5px 0; }
  .advanced-filter-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 14px; }
  .shortlist-metrics { grid-template-columns: repeat(3, 1fr); }
  .shortlist-edit { grid-template-columns: repeat(2, 1fr); }
  .shortlist-edit .notes-field { grid-column: 1 / -1; }
}

@media (max-width: 840px) {
  .site-header { min-height: 66px; padding-inline: 14px; flex-wrap: wrap; }
  .nav-toggle { display: block; }
  .site-nav { width: 100%; padding: 0 0 16px; display: none; flex-direction: column; align-items: stretch; gap: 2px; font-size: .9rem; }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 9px 2px; }
  .site-nav a.active:not(.nav-pill)::after { right: auto; bottom: 3px; }
  .site-nav .nav-pill { margin-top: 6px; text-align: center; }
}

@media (max-width: 720px) {
  .dashboard-hero-grid, .account-hero-grid, .program-hero-grid { grid-template-columns: 1fr; }
  .dashboard-account-link { min-height: 110px; }
  .completion-ring { width: 145px; justify-self: start; }
  .dashboard-overview { margin-top: -16px; }
  .next-action { align-items: flex-start; flex-direction: column; }
  .recommendation-grid, .preference-grid, .privacy-overview, .estimate-explainer, .related-program-grid { grid-template-columns: 1fr; }
  .privacy-overview .button { grid-column: auto; }
  .dashboard-shortlist > a { grid-template-columns: 1fr; gap: 3px; }
  .dashboard-shortlist small { text-align: left; }
  .account-resource-list a { grid-template-columns: 1fr auto; gap: 5px 12px; }
  .account-resource-list strong { text-align: right; }
  .account-resource-list small { grid-column: 1 / -1; }
  .eligibility-radar article { grid-template-columns: 1fr; gap: 6px; }
  .shortlist-chart .section-heading { align-items: flex-start; flex-direction: column; }
  .shortlist-chart .section-heading > small { text-align: left; }
  .shortlist-chart article > div { grid-template-columns: 70px 1fr 70px; }
  .shortlist-card-head { flex-direction: column; }
  .shortlist-metrics { grid-template-columns: repeat(2, 1fr); }
  .shortlist-edit, .shortlist-filter form, .advanced-filter-grid { grid-template-columns: 1fr; }
  .shortlist-filter h2, .shortlist-filter details, .shortlist-filter .button, .shortlist-filter .clear-link, .shortlist-edit .notes-field { grid-column: auto; }
  .program-metric-grid { grid-template-columns: 1fr; }
  .program-metric-grid article.featured { grid-column: auto; }
  .bar-row { grid-template-columns: 1fr 70px; }
  .bar-row > i { grid-column: 1 / -1; grid-row: 2; }
  .program-list > a { grid-template-columns: 1fr auto; }
  .program-list > a span:last-child { grid-column: 1 / -1; text-align: left; }
}

/* Pathway, finance and geography workspace refinements */
@media (min-width: 981px) {
  .filter-panel,
  .scenario-layout > .planner-form,
  .planner-layout > .planner-form,
  .tracker-add,
  .evidence-card,
  .degree-sidebar,
  .account-card {
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(3,47,61,.3) transparent;
  }
  .scenario-layout > .planner-form,
  .planner-layout > .planner-form { position: sticky; top: 98px; }
}

.filter-panel details { margin: 12px 0; padding-block: 11px; border-top: 1px solid rgba(3,47,61,.13); }
.filter-panel details:last-of-type { border-bottom: 1px solid rgba(3,47,61,.13); }
.filter-panel summary { cursor: pointer; color: var(--navy); font-size: .75rem; font-weight: 850; }
.filter-group-grid { padding-top: 11px; display: grid; gap: 10px; }
.filter-group-grid .field { margin: 0; }

.checkbox-multi,
.choice-field > div[id^="id_"] { max-height: 220px; padding: 6px; display: grid; gap: 3px; overflow-y: auto; background: white; border: 1px solid var(--line); border-radius: 10px; }
.choice-field > div[id^="id_"] > div { min-width: 0; }
.choice-field > div[id^="id_"] label,
.checkbox-choice { padding: 8px 9px; display: flex; gap: 9px; align-items: flex-start; color: var(--ink); border-radius: 7px; cursor: pointer; font-size: .78rem; font-weight: 650; line-height: 1.25; }
.choice-field > div[id^="id_"] label:hover,
.checkbox-choice:hover { background: var(--mint-soft); }
.choice-field input[type="checkbox"], .checkbox-choice input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 0; accent-color: #167e67; }

.clarity-workflow { margin: 4px 0 16px; padding: 15px 17px; display: grid; gap: 3px; background: var(--mint-soft); border-left: 3px solid var(--mint); border-radius: 9px; }
.clarity-workflow strong { color: var(--navy); }
.clarity-workflow span { color: var(--muted); font-size: .78rem; }
.degree-suggestion-strip { margin: 12px 0 18px; padding: 16px; background: #f6f7f3; border-radius: 12px; }
.degree-suggestion-strip > div { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.degree-suggestion-strip span { padding: 7px 9px; background: white; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); font-size: .69rem; font-weight: 750; }

.priority-funding-block, .priority-builder, .consent-block { margin-bottom: 20px; padding: 18px; background: #f7f8f4; border: 1px solid var(--line); border-radius: 14px; }
.priority-block-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.priority-block-grid fieldset { min-width: 0; margin: 0; padding: 13px; display: grid; gap: 7px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.priority-block-grid legend { padding-inline: 5px; color: var(--navy); font-size: .72rem; font-weight: 850; }
.priority-block-grid label { display: flex; gap: 8px; align-items: flex-start; color: var(--ink); font-size: .72rem; line-height: 1.3; cursor: pointer; }
.priority-block-grid input { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 1px; accent-color: #167e67; }
.preference-sliders { margin-top: 14px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
.preference-sliders .field { margin: 0; padding: 12px; background: white; border-radius: 10px; }

.degree-overlap-panel { margin-top: 34px; padding: 26px; background: #f7f8f4; border: 1px solid var(--line); border-radius: var(--radius); }
.degree-overlap-panel .section-heading > small { max-width: 310px; color: var(--muted); text-align: right; }
.degree-overlap-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.degree-overlap-grid article { padding: 18px; display: grid; gap: 8px; background: white; border: 1px solid var(--line); border-radius: 12px; }
.degree-overlap-grid article > span { color: #167e67; font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.degree-overlap-grid h3 { margin: 0; color: var(--navy); font: 1.3rem Georgia,serif; }
.degree-overlap-grid p, .degree-overlap-grid small { margin: 0; color: var(--muted); font-size: .72rem; }
.degree-overlap-grid article > div { display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: center; }
.degree-overlap-grid i, .market-demand-bar, .geography-bars i { height: 8px; display: block; overflow: hidden; background: #e9ece7; border-radius: 999px; }
.degree-overlap-grid i::after, .market-demand-bar::after, .geography-bars i::after { width: var(--score); height: 100%; display: block; content: ""; background: var(--mint); border-radius: inherit; }
.degree-overlap-grid b { color: var(--navy); font-size: .67rem; }
.degree-overlap-grid a { color: #167e67; font-size: .72rem; font-weight: 800; }
.compact-overlap { margin-block: 22px; }

.roi-comparison { margin-top: 28px; padding: 24px; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.roi-comparison h2 { margin: 0; color: var(--navy); font: 2rem Georgia,serif; }
.comparison-table { margin-top: 18px; }
.comparison-table > div { padding: 11px 0; display: grid; grid-template-columns: minmax(140px,1.2fr) 1fr 1fr; gap: 12px; border-top: 1px solid var(--line); }
.comparison-table span { color: var(--muted); font-size: .7rem; }
.comparison-table b, .comparison-table strong { color: var(--navy); font-size: .78rem; }
.comparison-delta { margin-bottom: 0; padding: 14px; background: var(--mint-soft); border-radius: 9px; color: var(--navy); }

.geography-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 38px; align-items: start; }
.compact-filter { top: 96px; }
.geography-results { min-width: 0; }
.geography-results > .section-heading { margin-bottom: 20px; }
.geography-results > .section-heading > small { max-width: 360px; color: var(--muted); text-align: right; }
.market-filter-panel { padding-right: 10px; }
.compact-market-choices > .field-label { display: block; margin-bottom: 7px; font-size: .78rem; font-weight: 800; }
.compact-market-choices > div[id^="id_"] { max-height: 310px; }
.career-market-map { padding: 18px; overflow: hidden; color: white; background: var(--navy); border-radius: 20px; box-shadow: var(--shadow-soft); }
.map-title-row { padding: 4px 5px 15px; display: flex; justify-content: space-between; gap: 18px; align-items: end; }
.map-title-row > div:first-child { display: grid; gap: 2px; }
.map-title-row span { color: #a7d9ce; font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.map-title-row strong { font: 1.2rem Georgia,serif; font-weight: 500; }
.map-legend { display: flex; gap: 5px; align-items: center; }
.map-legend i { width: 20px; height: 7px; display: block; border-radius: 999px; }
.map-legend i:nth-of-type(1) { background: hsl(155 55% 67%); }
.map-legend i:nth-of-type(2) { background: hsl(125 62% 62%); }
.map-legend i:nth-of-type(3) { background: hsl(84 68% 57%); }
.map-legend i:nth-of-type(4) { background: hsl(35 72% 51%); }
.market-map-stage { position: relative; overflow: hidden; background: #e7f1ed; border-radius: 14px; }
.market-map-stage svg { width: 100%; height: auto; display: block; }
.map-boundary-region { fill: rgba(255,255,255,.82); stroke: rgba(6,63,74,.28); stroke-width: .8; transition: fill .18s ease; }
.map-boundary-region:hover { fill: rgba(224,246,238,.94); }
.map-divider { stroke: rgba(6,63,74,.18); stroke-width: 1; }
.map-region-label { fill: rgba(6,63,74,.55); font: 800 11px Inter,sans-serif; letter-spacing: 1.5px; }
.map-loading-label { fill: rgba(6,63,74,.55); font: 700 12px Inter,sans-serif; letter-spacing: .5px; }
.market-marker { cursor: pointer; outline: none; }
.market-marker circle:first-child { stroke: rgba(255,255,255,.95); stroke-width: 4; filter: drop-shadow(0 4px 7px rgba(6,63,74,.22)); transition: transform .18s ease, stroke-width .18s ease; }
.market-marker:hover circle:first-child, .market-marker:focus circle:first-child { transform: scale(1.18); stroke-width: 6; }
.market-map-tooltip { min-width: 170px; padding: 10px 12px; position: absolute; z-index: 3; transform: translate(-50%,-115%); pointer-events: none; color: white; background: rgba(6,47,61,.94); border-radius: 9px; box-shadow: 0 10px 25px rgba(6,47,61,.22); }
.market-map-tooltip strong, .market-map-tooltip span, .market-map-tooltip em { display: block; }
.market-map-tooltip span { margin-top: 2px; color: #d7eee7; font-size: .66rem; }
.market-map-tooltip em { margin-top: 4px; color: #91dec9; font-size: .61rem; font-style: normal; }
.map-method { margin: 13px 4px 0; color: rgba(255,255,255,.75); font-size: .68rem; }
.map-attribution { margin: 4px 4px 0; color: rgba(255,255,255,.48); font-size: .57rem; }
.map-attribution a { color: rgba(190,239,226,.8); text-decoration: underline; text-underline-offset: 2px; }
.industry-trend-panel, .market-list-section { margin-top: 42px; }
.industry-trend-panel > .section-heading, .market-list-section > .section-heading { margin-bottom: 17px; }
.industry-trend-panel .section-heading > small, .market-list-section .section-heading > small { max-width: 390px; color: var(--muted); text-align: right; }
.industry-trend-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.industry-trend-list article { padding: 13px 15px; display: grid; grid-template-columns: minmax(0,1fr) 90px 65px; gap: 12px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 11px; }
.industry-trend-list article > div:first-child { display: grid; grid-template-columns: 27px 1fr; column-gap: 6px; align-items: baseline; }
.industry-trend-list article > div:first-child > span { grid-row: 1 / 3; color: #9eaaa5; font: 700 .65rem Georgia,serif; }
.industry-trend-list strong { color: var(--navy); font-size: .75rem; }
.industry-trend-list small { color: var(--muted); font-size: .58rem; }
.industry-trend-list i { height: 7px; overflow: hidden; background: #e8ece9; border-radius: 999px; }
.industry-trend-list i::after { width: var(--score); height: 100%; display: block; content: ""; background: linear-gradient(90deg,var(--mint),#f1b65c); border-radius: inherit; }
.industry-trend-list article > div:last-child { display: grid; justify-items: end; }
.industry-trend-list b { color: var(--navy); font-size: .72rem; }
.industry-trend-list em, .market-card-foot em { color: var(--muted); font-size: .56rem; font-style: normal; font-weight: 750; }
.trend-up { color: #168169 !important; }
.trend-down { color: #b45e48 !important; }
.market-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.market-card { padding: 19px; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-soft); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.market-card.has-current-market { border-top: 3px solid var(--mint); }
.market-card.is-map-selected { transform: translateY(-3px); border-color: #35a98a; box-shadow: 0 14px 28px rgba(6,63,74,.14); }
.market-card-head { display: flex; justify-content: space-between; gap: 12px; }
.market-card-head span { color: #167e67; font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.market-card h3 { margin: 5px 0 1px; color: var(--navy); font: 1.45rem Georgia,serif; }
.market-card-head small, .market-card > p { color: var(--muted); font-size: .66rem; }
.market-card-head > strong { color: var(--navy); font-size: 1.45rem; }
.market-card-head > strong > small { display: block; margin-top: 2px; color: var(--muted); font: 650 .55rem/1.1 Inter,sans-serif; text-align: right; text-transform: uppercase; letter-spacing: .04em; }
.market-demand-bar { margin: 14px 0; }
.market-card dl { margin: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.market-card dl div { padding: 8px; background: var(--cream); border-radius: 8px; }
.market-card dt { color: var(--muted); font-size: .57rem; }
.market-card dd { margin: 3px 0 0; color: var(--navy); font-size: .7rem; font-weight: 800; }
.market-card-foot { margin-top: 11px; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.market-card-foot > span { color: var(--muted); font-size: .58rem; }
.geography-history { margin-top: 28px; }
.geography-bars { display: grid; gap: 10px; }
.geography-bars article { display: grid; grid-template-columns: 180px 1fr 80px; gap: 15px; align-items: center; }
.geography-bars article > div { display: grid; }
.geography-bars strong { color: var(--navy); }
.geography-bars span { color: var(--muted); font-size: .66rem; }
.geography-bars b { color: var(--navy); font-size: .75rem; text-align: right; }

.campus-market-pulse { margin: 20px 0; padding: 18px; display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 18px; align-items: center; background: var(--navy); color: white; border-radius: 13px; }
.campus-market-pulse > div { display: grid; gap: 3px; }
.campus-market-pulse span, .campus-market-pulse dt { color: #a5d9ca; font-size: .63rem; text-transform: uppercase; }
.campus-market-pulse small { color: rgba(255,255,255,.7); }
.campus-market-pulse dl { margin: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.campus-market-pulse dl div { padding: 9px; background: rgba(255,255,255,.08); border-radius: 8px; }
.campus-market-pulse dd { margin: 3px 0 0; font-weight: 850; }
.campus-market-pulse a { color: white; font-size: .72rem; font-weight: 800; }

@media (max-width: 980px) {
  .priority-block-grid, .market-grid, .industry-trend-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .geography-layout { grid-template-columns: 1fr; }
  .compact-filter { position: static; max-height: none; overflow: visible; }
}

@media (max-width: 640px) {
  .priority-block-grid, .preference-sliders, .degree-overlap-grid, .market-grid, .industry-trend-list { grid-template-columns: 1fr; }
  .map-title-row, .market-heading, .industry-trend-panel .section-heading, .market-list-section .section-heading { align-items: flex-start; flex-direction: column; }
  .market-heading > small, .industry-trend-panel .section-heading > small, .market-list-section .section-heading > small { text-align: left; }
  .industry-trend-list article { grid-template-columns: minmax(0,1fr) 70px 60px; }
  .map-legend { display: none; }
  .market-map-stage { overflow-x: auto; }
  .market-map-stage svg { min-width: 760px; }
  .comparison-table > div { grid-template-columns: 1fr 1fr; }
  .comparison-table > div > span { grid-column: 1 / -1; }
  .geography-bars article { grid-template-columns: 1fr 60px; }
  .geography-bars article > div { grid-column: 1 / -1; }
  .campus-market-pulse { grid-template-columns: 1fr; }
}

/* September local preview: distinct discovery, planning and application workflows. */
html { scroll-padding-top: 160px; }
.skip-link { position: fixed; top: -60px; left: 12px; padding: 12px 20px; z-index: 1000; background: var(--navy); color: white; }
.skip-link:focus { top: 8px; }
:focus-visible { outline: 3px solid #258475; outline-offset: 4px; }
.nav-group { position: relative; font-size: .85rem; }
.nav-group summary { cursor: pointer; padding: 12px 3px; font-weight: 700; }
.nav-group summary.active { color: var(--mint); text-decoration: underline; text-underline-offset: 6px; }
.nav-group > div { position: absolute; right: 0; top: 44px; width: 260px; padding: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); z-index: 100; }
.nav-group > div a { display: block; padding: 12px; border-radius: 8px; color: var(--navy); opacity: 1; }
.nav-group > div a:hover, .nav-group > div a:focus { color: var(--navy-deep); }
.nav-group > div a:hover { background: var(--mint-soft); }
.nav-group small { display: block; margin-top: 4px; font-weight: 400; color: var(--muted); }
.section-nav { position: sticky; top: 80px; z-index: 8; display: flex; gap: 6px; overflow-x: auto; padding-block: 12px; background: var(--paper); border-bottom: 1px solid var(--line); }
.section-nav a { flex: 0 0 auto; padding: 9px 15px; border-radius: 30px; color: var(--navy); font-size: .84rem; font-weight: 700; }
.section-nav a:hover, .section-nav a:focus-visible { background: var(--mint-soft); }
.section-nav + .coverage-panel { margin-top: 24px; }
.journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding-top: 28px; }
.journey-grid > a { padding: 24px; display: grid; gap: 10px; border: 1px solid var(--line); border-radius: 16px; background: white; transition: border-color .15s; }
.journey-grid > a:hover { border-color: var(--navy); }
.journey-grid span { color: #34796c; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.journey-grid strong { font: 1.35rem Georgia,serif; color: var(--navy); }
.journey-grid small { color: var(--muted); }
.workspace-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 26px; }
.workspace-main { min-width: 0; display: grid; gap: 24px; }
.workspace-panel { background: white; padding: 28px; border: 1px solid var(--line); border-radius: 18px; }
.workspace-panel h2 { font-size: 1.75rem; }
.workspace-panel > .text-link { display: inline-block; margin-block: 12px; }
.workspace-aside { position: sticky; top: 158px; max-height: calc(100vh - 180px); overflow-y: auto; display: grid; gap: 18px; }
.workspace-aside .workspace-panel { padding: 24px; }
.back-link { display: inline-block; margin-bottom: 18px; color: var(--mint); }
.next-actions { padding-left: 20px; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.next-actions li { padding: 0 0 16px 6px; }
progress { display: block; width: 100%; height: 8px; border: 0; border-radius: 99px; overflow: hidden; background: #e7eeea; accent-color: #258475; }
progress::-webkit-progress-bar { background: #e7eeea; }
progress::-webkit-progress-value { background: #258475; }
.task-list { margin-top: 20px; }
.task-editor { display: grid; grid-template-columns: minmax(0,1fr) 135px 165px auto; align-items: end; gap: 12px; padding-block: 20px; border-bottom: 1px solid var(--line); }
.task-editor > div:first-of-type { align-self: center; }
.task-editor strong { display: block; font-size: .91rem; line-height: 1.5; }
.task-editor small { display: block; margin-top: 5px; color: var(--muted); font-size: .7rem; }
.task-editor .field { margin: 0; }
.task-editor .field label { font-size: .72rem; }
.task-editor input, .task-editor select { width: 100%; min-width: 0; padding: 9px; font-size: .82rem; }
.task-editor details { font-size: .75rem; margin-top: 8px; }
.task-editor details p { overflow-wrap: anywhere; }
.plan-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.plan-form .field { margin: 0; }
.plan-form input, .plan-form select, .plan-form textarea { width: 100%; }
.deadline-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; margin: 24px 0; }
.deadline-options > * { display: flex; flex-direction: column; padding: 18px; border-radius: 12px; background: var(--cream); border: 1px solid var(--line); }
.deadline-options strong { color: var(--navy); }
.deadline-options b { margin-top: 12px; font: 1.4rem Georgia,serif; }
.deadline-options p { font-size: .8rem; color: var(--muted); line-height: 1.6; flex: 1; }
.deadline-options .button { white-space: normal; font-size: .75rem; }
.next-items { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0; }
.next-items span { padding: 7px 10px; background: var(--cream); border-radius: 8px; font-size: .75rem; }
.overdue-note { color: #993d37; font-size: .85rem; }
.application-status-editor { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 16px; }
.application-status-editor summary, .history-section > summary { cursor: pointer; color: var(--navy); font-size: .88rem; font-weight: 700; }
.tracker-summary .date-value { font-size: 1.5rem; }
.city-resource-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.city-resource-grid a { padding: 20px; display: grid; gap: 8px; background: var(--cream); border: 1px solid var(--line); border-radius: 14px; }
.city-resource-grid strong { color: var(--navy); font-size: .93rem; }
.city-resource-grid span { font-size: .8rem; color: var(--muted); line-height: 1.5; }
.climate-card { padding: 24px; margin-top: 20px; border-radius: 18px; background: #f1f8f4; border: 1px solid #d5e5dd; }
.climate-card .section-heading { align-items: start; }
.climate-card .section-heading p, .climate-card .section-heading > span { color: var(--muted); font-size: .8rem; }
.climate-chart { width: 100%; display: block; margin-block: 15px; }
.climate-chart text { font: 12px system-ui,sans-serif; fill: var(--navy); }
.climate-card summary { cursor: pointer; font-size: .83rem; color: var(--navy); }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: .83rem; font-variant-numeric: tabular-nums; }
.data-table caption { text-align: left; padding: 18px 0; font-size: .8rem; color: var(--muted); }
.data-table th, .data-table td { padding: 11px 14px; border-bottom: 1px solid var(--line); text-align: right; }
.data-table th:first-child { text-align: left; }
.data-table thead { color: var(--navy); background: #e2efe6; }
@media(max-width:1100px) {
  .workspace-grid { grid-template-columns: minmax(0,1fr) 270px; }
  .task-editor { grid-template-columns: 1fr 1fr auto; }
  .task-editor > div:first-of-type { grid-column: 1 / -1; }
}
@media(max-width:900px) {
  .nav-group > div { position: static; width: 100%; box-shadow: none; }
  .workspace-grid { grid-template-columns: 1fr; }
  .workspace-aside { position: static; max-height: none; }
  .section-nav { top: 72px; }
  .journey-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
  .workspace-panel { padding: 20px; }
  .task-editor { grid-template-columns: 1fr 1fr; }
  .task-editor button { grid-column: 1 / -1; }
  .plan-form, .city-resource-grid { grid-template-columns: 1fr; }
  .climate-card { padding: 14px; }
  .climate-card .section-heading { display: block; }
  .climate-chart text { font-size: 14px; }
}
