/* Brand accents follow the original logo; the logo artwork remains unchanged. */
:root {
  --ink:#20375c;
  --body:#58667c;
  --cream:#fafbfd;
  --paper:#fff;
  --line:#e0e7f1;
  --sage:#edf3ff;
  --orange:#d92750;
  --peach:#fff0f3;
  --muted:#758197;
  --brand-blue:#255fea;
  --brand-red:#dc2450;
}
body { background:var(--cream); }
.header { border-top:3px solid var(--brand-blue); background:#ffffffed; }
.navigation { gap:20px; }
.navigation a[aria-current=page],.navigation a:hover { color:var(--brand-blue); }
.brand-logo { object-fit:contain; }
.button { background:var(--brand-blue); border-color:var(--brand-blue); color:#fff; }
.button:hover { background:#194bd0; border-color:#194bd0; }
.button-quiet { background:#fff; border-color:#d6e0f2; color:var(--ink); }
.button-quiet:hover { background:#edf3ff; border-color:#adc3f1; }
.text-link:hover,.text-button:hover { color:var(--brand-blue); }
.eyebrow { color:#536c96; }
.tiny-star,.hero-spark { color:var(--brand-red); }
.hero-search button { background:var(--brand-blue); }
.hero-stamp { background:#fff1f4; color:#a92d49; border-color:#f0c6d1; }
.hero-note { border-color:#e0e7f1; }
.hero-photo:after { background:linear-gradient(transparent 45%,#11213abc); }
.tools-section,.how-section { background:#edf3fc; }
.counselling { background:#20375c; }
.counselling :is(p,small) { color:#c2cfe3; }
.enquiry-form :is(p,small) { color:var(--body); }
.counselling .eyebrow { color:#b4c8ed; }
.enquiry-form .eyebrow { color:#536c96; }
.tool-tile-peach { background:#fff0f3; }
.filter-tabs button.active { background:var(--ink); border-color:var(--ink); }
.contact-symbol,.tool-icon { background:#e9f0ff; color:#2455ba; }
.contact-person strong { color:var(--ink); }
.footer { background:#f0f4fb; }
.principles { background:#f2f5fb; border-color:#e2e9f5; }
.principles svg { color:#496ca7; }
.cookie-panel { border-color:#d7e2f5; }
.college-card { display:flex; flex-direction:column; border:1px solid #e0e6f0; border-radius:16px; box-shadow:0 3px 9px #18386603; }
.college-card:hover { box-shadow:0 14px 32px #173d7410; border-color:#becff0; }
.college-image { height:184px; background:#eaf0fa; }
.college-image img { filter:saturate(.9); }
.college-image-fallback { background:linear-gradient(135deg,#edf3ff,#e6edf8 65%,#f9edf1); position:relative; }
.college-image-fallback:before { content:''; position:absolute; width:180px; height:180px; border:1px solid #c8d8f1; border-radius:50%; right:-30px; top:-60px; }
.college-fallback-line { position:absolute; height:3px; width:44px; background:#d92750; bottom:40px; left:calc(50% - 22px); border-radius:8px; }
.college-monogram { color:#7695c9; font-family:var(--head); font-size:44px; font-weight:700; font-style:normal; letter-spacing:-2px; }
.type-badge { background:#fffffff5; padding:5px 10px; border-radius:5px; color:#263e63; font-size:11px; }
.save-button { width:35px; height:35px; box-shadow:0 2px 8px #173d7410; }
.save-button[aria-pressed=true] { color:#fff; background:var(--brand-red); }
.college-card-body { padding:23px; display:flex; flex-direction:column; flex:1; }
.college-location { font-size:12px; color:#687890; gap:4px; margin-bottom:10px; }
.college-card h3 { font-size:20px; line-height:1.35; min-height:54px; letter-spacing:-.6px; }
.college-evidence-label { font-size:11px; color:#7a879a; margin:12px 0 0; display:flex; align-items:center; gap:6px; }
.college-evidence-label.has-source { color:#355e9d; }
.college-evidence-label.has-source span { font-weight:700; }
.college-facts { grid-template-columns:1fr; padding:18px 0 12px; gap:12px; }
.college-facts span { font-size:11px; margin-bottom:3px; color:#718099; }
.college-facts strong { font-size:13px; line-height:1.5; font-weight:600; color:#243a5d; }
.college-fee-fact strong { font-size:17px; color:#244d98; }
.college-facts small { font-size:10px; line-height:1.6; color:#7b8799; margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.college-branch-preview { font-size:11px; color:#718099; line-height:1.6; margin:0 0 18px; }
.college-branch-preview span { color:#4b5d79; }
.card-bottom { margin-top:auto; padding-top:17px; border-color:#e3eaf4; }
.compare-check { font-size:12px; color:#60718a; gap:7px; }
.compare-check input { width:15px; height:15px; accent-color:var(--brand-blue); }
.card-link { font-size:12px; color:#2555a2; gap:9px; }
.featured-context { color:#758197; font-size:12px; margin:-5px 0 23px; }
.official-college-evidence { border-top:3px solid #4f7fe3; }
.evidence-table-wrap { overflow-x:auto; margin:22px 0; border:1px solid #dde5f2; border-radius:10px; }
.evidence-table { min-width:480px; width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.evidence-table caption { padding:16px; text-align:left; color:#60718a; font-size:12px; }
.evidence-table :is(th,td) { padding:14px 16px; border-top:1px solid #e4eaf3; vertical-align:top; }
.evidence-table thead { background:#edf3ff; }
.evidence-table tbody th { font-weight:500; width:60%; line-height:1.6; }
.evidence-table td { white-space:nowrap; }
.evidence-links { display:flex; flex-wrap:wrap; gap:15px 24px; margin:20px 0; }
.ranking-source { background:#f1f5fc; padding:20px; border-radius:10px; margin:24px 0; font-size:13px; line-height:1.7; }
.ranking-source p { margin:10px 0; }
.resource-banner { background:#edf3ff; padding:25px 28px; border-radius:15px; display:flex; justify-content:space-between; align-items:center; gap:28px; margin-bottom:30px; }
.resource-banner strong { font-size:17px; }
.resource-banner p { font-size:14px; line-height:1.7; max-width:670px; margin-top:8px; }
.resource-filters { display:flex; align-items:end; flex-wrap:wrap; gap:17px; padding:25px; border:1px solid var(--line); border-radius:14px; background:#fff; margin-bottom:25px; }
.resource-filters>label:not(.journey-check) { display:grid; gap:8px; flex:1; min-width:170px; font-size:12px; font-weight:600; }
.resource-filters>label:first-child { flex:1.4; }
.resource-filters :is(input:not([type=checkbox]),select) { width:100%; min-width:0; padding:12px; min-height:46px; background:#fafbfd; border:1px solid #d7e0ed; color:var(--ink); border-radius:8px; font:inherit; font-size:13px; }
.resource-filters .journey-check { margin:0 0 12px!important; white-space:nowrap; font-size:12px!important; }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.resource-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:27px; display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; }
.resource-card h2 { font-size:22px; letter-spacing:-.7px; line-height:1.3; margin:16px 0; }
.resource-card>p { font-size:14px; line-height:1.75; }
.resource-card .eyebrow { font-size:9px; line-height:1.7; }
.resource-card .branch-tags { margin:20px 0; }
.resource-card .branch-tags span { background:#eef3fc; color:#5c7395; font-size:10px; padding:5px 9px; }
.resource-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
.resource-label { font-size:10px; padding:5px 10px; border-radius:5px; background:#edf3ff; color:#4e6c9f; display:inline-block; line-height:1.5; }
.resource-save { background:transparent; border:0; color:#6c7d96; font-size:11px; padding:6px; white-space:nowrap; }
.resource-save[aria-pressed=true] { color:var(--brand-red); }
.resource-card .resource-status { color:#8c6a69; font-size:11px; padding-top:16px; margin-top:auto; }
.resource-card-bottom { display:flex; flex-wrap:wrap; gap:12px 18px; padding-top:18px; margin-top:18px; border-top:1px solid var(--line); font-size:12px; }
.resource-review { font-size:12px; color:#748198; line-height:1.8; margin:22px 0; overflow-wrap:anywhere; }
.resource-review a { text-decoration:underline; }
.resource-next { padding:35px; border-radius:16px; background:#edf3ff; margin-top:40px; }
.resource-next h2 { font-size:29px; }
.resource-next p { margin:15px 0 22px; line-height:1.75; }
.state-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:25px; }
.state-card { padding:26px; border:1px solid var(--line); border-radius:14px; background:#fff; display:flex; flex-direction:column; gap:18px; min-width:0; transition:transform .2s,border-color .2s; }
.state-card:hover { transform:translateY(-3px); border-color:#aac0ed; }
.state-card h2 { font-size:22px; line-height:1.25; }
.state-card h2 { overflow-wrap:anywhere; }
.state-card p { font-size:12px; line-height:1.7; flex:1; }
.state-card .resource-label { align-self:flex-start; }
.state-card .text-link { font-size:12px; }
.state-resource-links { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:30px; }
.state-resource-links .resource-card h2 { font-size:19px; }
.state-resource-links .resource-card p { font-size:12px; margin-bottom:18px; }
.resource-state-colleges .college-grid { grid-template-columns:1fr; }
.resource-state-colleges .section-heading { flex-wrap:wrap; }
.support-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.support-home-card { padding:38px; border-radius:20px; position:relative; display:flex; flex-direction:column; min-height:340px; border:1px solid #dde7f6; overflow:hidden; }
.scholarship-home { background:#edf3ff; }
.states-home { background:#fff3f5; border-color:#f2e0e6; }
.support-home-card h3 { font-size:31px; line-height:1.2; margin:25px 0 18px; max-width:85%; }
.support-home-card p { max-width:80%; line-height:1.75; font-size:14px; margin-bottom:28px; }
.support-home-card .text-link { margin-top:auto; }
.support-symbol { position:absolute; right:29px; top:23px; font-size:60px; font-family:Georgia,serif; color:#9ab6ec; }
.states-home .support-symbol { color:#e9a5b6; }
.student-support-section .section-heading p { margin-top:18px; max-width:600px; }
@media(max-width:1100px) { .navigation { gap:13px; } .navigation>a { font-size:11px; } .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .state-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) { .state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .resource-banner { flex-direction:column; align-items:flex-start; } .support-home-card { padding:28px; } .support-home-card h3 { font-size:26px; } .support-symbol { font-size:45px; } .support-home-card p { max-width:100%; } }
@media(max-width:620px) { .resource-grid,.support-home-grid,.state-resource-links { grid-template-columns:1fr; } .state-grid { gap:13px; } .state-card { padding:20px; gap:14px; } .state-card h2 { font-size:19px; } .state-card .text-link { font-size:10px; } .resource-filters { padding:20px; gap:17px; } .resource-filters>label:not(.journey-check) { min-width:0; flex-basis:100%; } .resource-filters button { width:100%; } .resource-card { padding:24px; } .resource-next { padding:25px; } .college-card h3 { font-size:21px; min-height:0; } .college-facts { grid-template-columns:1fr; } .college-image { height:195px; } .support-home-card { min-height:315px; } .support-home-card h3 { max-width:90%; } .resource-state-colleges .section-heading h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
@media(max-width:1000px) {
  .nav-toggle { display:grid; margin-left:auto; }
  .navigation { position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); display:none; flex-direction:column; align-items:stretch; padding:16px 24px; gap:0; box-shadow:0 18px 28px #173d7410; }
  .navigation.open { display:flex; }
  .navigation>a { font-size:14px; padding:12px; }
  .nav-actions .login-link { display:none; }
  .nav-row { gap:16px; }
}
@media(max-width:760px){.navigation>a{font-size:14px}.navigation{gap:0}.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-state-colleges .college-grid{grid-template-columns:1fr}}
