:root { --ink:#172237; --forest:#11263f; --forest-2:#193654; --acid:#f1c66a; --paper:#f3f6fa; --white:#ffffff; --mist:#dfe6ef; --muted:#647286; --line:#ccd6e3; --sans:"Manrope",Arial,sans-serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 var(--sans); }
a { color:inherit; }
.topbar { min-height:76px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(238,239,233,.93); position:sticky; top:0; z-index:10; backdrop-filter:blur(15px); }
.brand { display:flex; align-items:center; gap:.68rem; color:var(--forest); text-decoration:none; font-weight:800; letter-spacing:-.055em; font-size:1.13rem; }.brand i { color:#608a2a; font-style:normal; }.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; color:var(--forest); background:var(--acid); font:500 .61rem var(--mono); letter-spacing:-.06em; }
nav { display:flex; gap:clamp(1rem,2vw,2rem); } nav a { color:var(--muted); font-size:.78rem; font-weight:700; text-decoration:none; } nav a:hover { color:var(--forest); }
.language-switch { display:flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:7px; }.language-switch button { border:0; background:transparent; cursor:pointer; padding:.3rem .43rem; border-radius:4px; font:500 .65rem var(--mono); color:var(--muted); }.language-switch button.active { color:var(--forest); background:var(--acid); }
.topbar-actions { display:flex; align-items:center; gap:.65rem; }
.header-shortlist { min-height:36px; padding:.35rem .58rem; display:flex; align-items:center; gap:.38rem; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.62); color:var(--forest); cursor:pointer; font:700 .65rem var(--sans); text-decoration:none; }
.header-shortlist>span:first-child { color:#a37624; }
.header-shortlist b { min-width:18px; height:18px; padding:0 .25rem; display:grid; place-items:center; border-radius:9px; background:var(--forest); color:var(--acid); font:500 .48rem var(--mono); }
.header-shortlist:hover,.header-shortlist[aria-expanded="true"] { border-color:#b9872d; background:var(--acid); }
main { max-width:1340px; margin:auto; padding:0 5vw; }.intro { padding:clamp(2.2rem,5vw,4.7rem) 0 5.8rem; }.intro-shell { min-height:548px; display:grid; grid-template-columns:1.18fr .82fr; overflow:hidden; border:1px solid var(--forest); box-shadow:10px 10px 0 var(--acid); background:var(--forest); }.intro-copy-block { padding:clamp(2rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(201,243,110,.35); }.eyebrow, .eyebrow-label { font:500 .68rem var(--mono); text-transform:uppercase; letter-spacing:.07em; }.eyebrow { display:flex; align-items:center; gap:.65rem; margin-bottom:1.35rem; }.eyebrow span:first-child { width:28px; height:1px; background:currentColor; }.eyebrow-light { color:var(--acid); }.eyebrow-label { color:#557d29; }
.intro h1 { margin:0; max-width:750px; color:#f8faf3; font:800 clamp(2.8rem,5.2vw,5.5rem)/.98 var(--sans); letter-spacing:-.078em; }.intro h1 em { color:var(--acid); font-style:normal; }.intro-copy { max-width:590px; color:#d4dfd7; font-size:1rem; margin:2rem 0 1.6rem; }.intro-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; color:#b5c7ba; font-size:.72rem; }.intro-meta b { font-family:var(--mono); color:var(--acid); }.dot { width:4px; height:4px; background:var(--acid); border-radius:50%; }
.campus-mosaic { min-height:100%; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1.08fr .92fr; gap:6px; padding:6px; background:var(--forest); position:relative; }.mosaic-photo { background-size:cover; background-position:center; filter:saturate(.9) contrast(1.04); }.mosaic-a { grid-row:span 2; background-image:linear-gradient(180deg,transparent 45%,rgba(5,23,18,.5)),url("https://images.unsplash.com/photo-1776571661811-c311d42634d9?auto=format&fit=crop&w=1400&q=84"); }.mosaic-b { background-image:url("https://images.unsplash.com/photo-1541829070764-84a7d30dd3f3?auto=format&fit=crop&w=1200&q=84"); background-position:center 48%; }.mosaic-c { background-image:url("https://images.unsplash.com/photo-1778041738445-a62c167e98f4?auto=format&fit=crop&w=1200&q=84"); background-position:center 42%; }.mosaic-caption { position:absolute; left:1.25rem; bottom:1.1rem; padding:.4rem .55rem; color:var(--forest); background:var(--acid); font:500 .58rem var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.finder { padding:1.2rem 0 6.8rem; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.55rem; }.section-heading h2, .method h2, .about h2 { margin:.35rem 0 0; font:800 clamp(1.9rem,3.6vw,3.35rem)/1.03 var(--sans); letter-spacing:-.07em; }.section-heading > p { max-width:315px; margin:0; color:var(--muted); font-size:.8rem; }
.filter-panel { padding:1.15rem; background:var(--forest); border:1px solid var(--forest); box-shadow:7px 7px 0 rgba(18,58,49,.2); }.search-field { display:flex; position:relative; }.search-field input { width:100%; min-height:54px; border:1px solid transparent; padding:0 3rem 0 1rem; background:var(--white); outline:0; font:600 .9rem var(--sans); color:var(--ink); }.search-field input:focus { border-color:var(--acid); box-shadow:0 0 0 2px rgba(201,243,110,.25); }.search-field span { position:absolute; right:1rem; top:50%; transform:translateY(-54%); color:#537067; font-size:1.5rem; }.filters { padding-top:.9rem; display:flex; align-items:center; flex-wrap:wrap; gap:.65rem 1rem; }.filter-check { color:#e7efe8; cursor:pointer; font-size:.73rem; display:flex; align-items:center; gap:.4rem; }.filter-check input { appearance:none; width:16px; height:16px; border:1px solid #789087; border-radius:3px; background:transparent; display:grid; place-content:center; cursor:pointer; }.filter-check input::after { content:""; width:8px; height:5px; border-left:2px solid var(--forest); border-bottom:2px solid var(--forest); transform:rotate(-45deg) translateY(-1px); display:none; }.filter-check input:checked { background:var(--acid); border-color:var(--acid); }.filter-check input:checked::after { display:block; }
.english-filter { display:flex; align-items:center; gap:.55rem; border:0; padding:0; margin:0; color:#e7efe8; }.english-filter legend { padding:0; color:#9eb2a6; font:500 .61rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }.english-options { display:flex; flex-wrap:wrap; gap:4px; }.english-options button { min-height:27px; border:1px solid #5b756a; padding:.25rem .48rem; background:transparent; color:#dce7df; cursor:pointer; font:500 .63rem var(--sans); transition:.18s; }.english-options button:hover, .english-options button.active { border-color:var(--acid); color:var(--forest); background:var(--acid); }
.results-line { display:flex; justify-content:space-between; align-items:center; padding:1rem 0 .65rem; color:var(--muted); font:.72rem var(--mono); }.results-line button { border:0; padding:0; background:transparent; color:#486f24; font:500 .7rem var(--mono); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.card { --campus:none; min-height:480px; padding:1.5rem; display:flex; flex-direction:column; position:relative; overflow:hidden; isolation:isolate; transition:transform .24s ease, box-shadow .24s ease; }.card--photo { color:#fff; background-image:linear-gradient(180deg,rgba(4,23,18,.2) 0%,rgba(4,23,18,.58) 43%,rgba(4,23,18,.96) 100%),var(--campus); background-size:cover; background-position:center; }.card:hover { transform:translateY(-4px); box-shadow:8px 9px 0 var(--acid); }.card::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.35); z-index:-1; }.card-top { display:flex; justify-content:space-between; gap:1rem; }.card h3 { max-width:360px; margin:0; color:#fff; font-size:1.36rem; line-height:1.08; letter-spacing:-.055em; }.card .place { margin:.38rem 0 1.4rem; color:#dbe5dd; font:.63rem var(--mono); }.badge { align-self:start; padding:.28rem .48rem; color:var(--forest); background:var(--acid); white-space:nowrap; font:500 .55rem var(--mono); }.details { display:grid; gap:.75rem; }.detail { display:grid; grid-template-columns:104px 1fr; gap:.6rem; }.detail dt { color:var(--acid); font:500 .55rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }.detail dd { margin:0; color:#fff; font-size:.69rem; line-height:1.47; }.card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.28); }.card-footer a { color:var(--acid); font-size:.7rem; font-weight:800; text-decoration:none; }.card-footer a:hover { text-decoration:underline; }.card-footer .photo-credit { max-width:155px; color:#d6e2d9; font:400 .51rem/1.35 var(--mono); text-align:right; }.card--directory { min-height:355px; color:var(--forest); background:#fff; border:1px solid var(--line); }.card--directory::after { border:0; }.card--directory .directory-index { margin-bottom:3rem; color:#7c9c50; font:500 .66rem var(--mono); }.card--directory h3 { color:var(--forest); }.card--directory .place { color:var(--muted); }.card--directory .badge { border:1px solid #bddb7f; }.directory-description { max-width:520px; margin:0 0 1.4rem; color:#3c5149; font-size:.84rem; line-height:1.55; }.directory-facts { display:grid; gap:.65rem; margin:0 0 1rem; }.directory-facts>div { display:grid; grid-template-columns:104px 1fr; gap:.6rem; }.directory-facts dt { color:#648436; font:500 .55rem var(--mono); text-transform:uppercase; }.directory-facts dd { margin:0; color:#5e7069; font-size:.7rem; line-height:1.45; }.card--directory .card-footer { border-color:var(--line); }.card--directory .card-footer a { color:#41651f; }.empty { grid-column:1/-1; padding:3rem 1rem; text-align:center; color:var(--muted); background:var(--white); }.show-more { display:block; min-width:210px; margin:2rem auto 0; border:1px solid var(--forest); padding:.85rem 1.4rem; background:transparent; color:var(--forest); font:700 .74rem var(--sans); cursor:pointer; transition:.18s; }.show-more:hover { background:var(--forest); color:var(--acid); }.show-more[hidden] { display:none; }
.roi-section { margin:0 -5vw; padding:clamp(4rem,7vw,6.5rem) 5vw; background:#dde5dc; border-top:1px solid #c5d0c4; }.roi-heading { display:grid; grid-template-columns:.65fr 1.15fr .8fr; align-items:end; gap:2rem; margin-bottom:2rem; }.roi-heading h2 { margin:0; font:800 clamp(2rem,4vw,3.8rem)/1.01 var(--sans); letter-spacing:-.075em; }.roi-heading>p:last-child { max-width:340px; margin:0; color:var(--muted); font-size:.9rem; }.roi-calculator { display:grid; grid-template-columns:1.08fr .92fr; border:1px solid var(--forest); background:var(--white); box-shadow:10px 10px 0 rgba(12,44,37,.16); }.roi-inputs { padding:clamp(1.5rem,4vw,3rem); display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }.roi-field { display:flex; flex-direction:column; gap:.55rem; min-width:0; }.roi-field>span:first-child, .roi-range-field>span:first-child { color:#3f554d; font-size:.84rem; font-weight:700; }.roi-field select, .money-input { width:100%; min-height:56px; border:1px solid #aebcaf; background:#f5f7f2; color:var(--forest); }.roi-field select { appearance:none; padding:0 2.8rem 0 1rem; border-radius:0; font:700 .9rem var(--sans); background-image:linear-gradient(45deg,transparent 50%,#496258 50%),linear-gradient(135deg,#496258 50%,transparent 50%); background-position:calc(100% - 18px) 24px,calc(100% - 12px) 24px; background-size:6px 6px; background-repeat:no-repeat; }.money-input { display:flex; align-items:center; }.money-input>span { padding-left:1rem; color:#5a7167; font:500 .8rem var(--mono); }.money-input input { min-width:0; width:100%; height:54px; border:0; padding:0 1rem .05rem .45rem; outline:0; background:transparent; color:var(--forest); font:800 1.05rem var(--sans); }.roi-field select:focus, .money-input:focus-within { outline:2px solid var(--acid); outline-offset:1px; }.roi-range-field { grid-column:1/-1; padding:1.1rem 1.2rem; background:var(--forest); color:#fff; }.roi-range-field>span:first-child { display:flex; justify-content:space-between; color:#eaf1eb; }.roi-range-field output { color:var(--acid); font:500 .85rem var(--mono); }.roi-range-field input[type="range"] { --range-value:60%; appearance:none; width:100%; height:5px; margin:.55rem 0 .2rem; border-radius:0; background:linear-gradient(to right,var(--acid) 0,var(--acid) var(--range-value),#526e65 var(--range-value),#526e65 100%); cursor:pointer; }.roi-range-field input[type="range"]::-webkit-slider-thumb { appearance:none; width:21px; height:21px; border:3px solid var(--forest); border-radius:50%; background:var(--acid); box-shadow:0 0 0 1px var(--acid); }.roi-range-field input[type="range"]::-moz-range-thumb { width:16px; height:16px; border:3px solid var(--forest); border-radius:50%; background:var(--acid); box-shadow:0 0 0 1px var(--acid); }.range-scale { display:flex; justify-content:space-between; color:#8fa79d; font:500 .65rem var(--mono); }.roi-results { padding:clamp(1.6rem,4vw,3rem); display:flex; flex-direction:column; background:var(--forest); color:#fff; }.roi-results-label { margin:0 0 2.2rem; color:var(--acid); font:500 .7rem var(--mono); text-transform:uppercase; letter-spacing:.07em; }.roi-primary-result { padding-bottom:2rem; border-bottom:1px solid #49665d; }.roi-primary-result span, .roi-result-grid span { display:block; color:#b8c9c0; font-size:.8rem; }.roi-primary-result strong { display:block; margin-top:.45rem; color:var(--acid); font:800 clamp(2.5rem,5vw,5rem)/1 var(--sans); letter-spacing:-.075em; }.roi-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1.5rem 0; }.roi-result-grid article { min-width:0; }.roi-result-grid strong { display:block; margin-top:.35rem; color:#fff; font-size:1.25rem; letter-spacing:-.04em; }.roi-method { margin:auto 0 0; padding-top:1.3rem; border-top:1px solid #49665d; color:#aebfb6; font-size:.78rem; line-height:1.55; }.roi-disclaimer { margin:1.15rem 0 0; color:#62746c; font:400 .68rem var(--mono); }
.aid-guide { margin:0 -5vw; padding:clamp(4rem,8vw,7rem) 5vw; color:#edf5ee; background:var(--forest); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2.5rem,7vw,7rem); }.aid-guide .eyebrow-label { color:var(--acid); }.aid-guide-heading h2 { margin:.45rem 0 1.4rem; font:800 clamp(2rem,4vw,3.6rem)/1.02 var(--sans); letter-spacing:-.075em; }.aid-guide-heading>p:last-child { max-width:430px; margin:0; color:#b9c9c0; font-size:.86rem; }.guide-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #406057; border-left:1px solid #406057; }.guide-grid article { min-height:190px; padding:1.35rem; border-right:1px solid #406057; border-bottom:1px solid #406057; }.guide-grid article>span { color:var(--acid); font:500 .62rem var(--mono); }.guide-grid h3 { margin:1.25rem 0 .55rem; font-size:1rem; letter-spacing:-.03em; }.guide-grid p { margin:0; color:#b9c9c0; font-size:.76rem; line-height:1.55; }
.method { padding:5.5rem 0; border-top:1px solid var(--line); display:grid; grid-template-columns:.75fr 1.25fr; gap:4rem; }.method h2 { max-width:300px; }.method ol { list-style:none; padding:0; margin:0; }.method li { display:grid; grid-template-columns:55px 1fr; gap:1rem; padding:0 0 1.7rem; margin-bottom:1.7rem; border-bottom:1px solid var(--line); }.method li:last-child { margin-bottom:0; }.method li>span { color:#5a812b; font:500 .72rem var(--mono); }.method h3 { margin:0 0 .3rem; font-size:.94rem; }.method p { margin:0; color:var(--muted); font-size:.82rem; max-width:480px; }
.about { margin:0 -5vw; padding:clamp(3rem,7vw,6rem) 5vw; background:var(--acid); display:grid; grid-template-columns:1fr 1fr; gap:4rem; }.about h2 { color:var(--forest); }.about > div:last-child { align-self:end; max-width:470px; }.about p { color:#26473b; font-size:.94rem; }.feedback { display:inline-flex; gap:.7rem; margin-top:1rem; padding-bottom:.25rem; border-bottom:1px solid #638339; text-decoration:none; color:#15382f; font-size:.82rem; font-weight:800; }.feedback span:last-child { font-size:1rem; }
.contact { margin:0 -5vw; padding:clamp(3.8rem,7vw,6.5rem) 5vw; display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(2.5rem,7vw,7rem); align-items:start; border-top:1px solid #c5d0dd; background:#e6edf5; }
.contact-intro { position:sticky; top:110px; }
.contact-intro h2 { max-width:520px; margin:.45rem 0 1.25rem; color:var(--forest); font:800 clamp(2.15rem,4vw,3.9rem)/.98 var(--sans); letter-spacing:-.075em; }
.contact-intro>p:not(.eyebrow-label) { max-width:480px; margin:0; color:var(--muted); font-size:.88rem; line-height:1.65; }
.contact-address { margin-top:2rem; padding:1.15rem 0; display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; border-top:1px solid #b7c5d4; border-bottom:1px solid #b7c5d4; }
.contact-address>span { color:#7b8797; font:500 .56rem var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.contact-address>a { color:var(--forest); font-size:clamp(.85rem,1.5vw,1.05rem); font-weight:800; text-decoration:none; overflow-wrap:anywhere; }
.contact-address>a:hover { color:#8e6720; text-decoration:underline; text-underline-offset:4px; }
.contact-address>button { margin-top:.4rem; border:0; padding:0; background:transparent; color:#77591d; cursor:pointer; font:700 .64rem var(--sans); text-decoration:underline; text-underline-offset:3px; }
.contact-form { padding:clamp(1.4rem,3vw,2.5rem); border:1px solid #9eafc1; background:#fff; box-shadow:9px 9px 0 #c8d4e1; }
.contact-form__heading { margin-bottom:1.5rem; padding-bottom:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line); }
.contact-form__heading span { color:#9a7126; font:500 .55rem var(--mono); letter-spacing:.07em; }
.contact-form__heading strong { color:var(--forest); font-size:.92rem; }
.contact-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-form label { min-width:0; display:flex; flex-direction:column; gap:.42rem; }
.contact-form label>span { color:#526176; font-size:.68rem; font-weight:800; }
.contact-form__wide { grid-column:1/-1; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #aebccc; border-radius:0; padding:.8rem .9rem; background:#f7f9fc; color:var(--forest); outline:0; font:600 .77rem/1.45 var(--sans); }
.contact-form input,.contact-form select { min-height:50px; }
.contact-form textarea { min-height:150px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#a17422; box-shadow:0 0 0 2px rgba(241,198,106,.35); }
.contact-form__actions { margin-top:1.2rem; display:flex; align-items:center; gap:1.2rem; }
.contact-form__actions button { min-width:190px; min-height:50px; padding:.75rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--forest); background:var(--forest); color:#fff; cursor:pointer; font:800 .72rem var(--sans); }
.contact-form__actions button:hover { border-color:#9a7126; background:var(--acid); color:var(--forest); }
.contact-form__actions p { max-width:310px; margin:0; color:#7b8796; font:.55rem/1.45 var(--mono); }
.contact-status { min-height:1.2em; margin:.8rem 0 0; color:#77591d; font:500 .6rem var(--mono); }
footer { max-width:1340px; margin:auto; padding:2rem 5vw; color:#728077; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; font:.61rem var(--mono); }footer>div:first-child { display:flex; flex-direction:column; gap:.25rem; }footer strong { color:var(--forest); font:800 1rem var(--sans); letter-spacing:-.04em; }.footer-meta { display:flex; gap:1rem; text-align:right; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.footer-contact { color:#78591d; font-weight:500; text-decoration:none; }.footer-contact:hover { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:960px) { nav { gap:.8rem; }nav a { font-size:.7rem; }.roi-heading { grid-template-columns:1fr 1fr; }.roi-heading .eyebrow-label { grid-column:1/-1; }.roi-calculator { grid-template-columns:1fr; }.roi-results { min-height:390px; } }
@media (max-width:860px) { .intro-shell { grid-template-columns:1fr; }.intro-copy-block { min-height:440px; border-right:0; border-bottom:1px solid rgba(201,243,110,.35); }.campus-mosaic { height:280px; }.mosaic-a { grid-row:span 2; }.english-filter { width:100%; align-items:flex-start; flex-direction:column; margin-top:.25rem; }.results { grid-template-columns:1fr; }.card { min-height:455px; }.aid-guide { grid-template-columns:1fr; }.guide-grid article { min-height:170px; } }
@media (max-width:700px) { .topbar { min-height:64px; padding:0 1.1rem; }.brand { font-size:1rem; }.brand-mark { width:29px; height:29px; } nav { display:none; } main { padding:0 1.1rem; }.intro { padding:1.3rem 0 4.2rem; }.intro-shell { box-shadow:6px 6px 0 var(--acid); }.intro-copy-block { min-height:430px; padding:2.2rem 1.45rem; }.intro h1 { font-size:clamp(2.45rem,12vw,4rem); }.intro-copy { font-size:.9rem; }.campus-mosaic { height:210px; }.section-heading { align-items:start; flex-direction:column; gap:.8rem; }.section-heading > p { max-width:500px; }.filter-panel { padding:1rem; }.filters { align-items:flex-start; flex-direction:column; }.results { grid-template-columns:1fr; }.card { min-height:470px; padding:1.2rem; }.detail { grid-template-columns:85px 1fr; }.roi-section { margin:0 -1.1rem; padding:4rem 1.1rem; }.roi-heading { grid-template-columns:1fr; gap:.8rem; }.roi-heading .eyebrow-label { grid-column:auto; }.roi-heading>p:last-child { margin-top:.4rem; }.roi-calculator { box-shadow:6px 6px 0 rgba(12,44,37,.16); }.roi-inputs { grid-template-columns:1fr; padding:1.25rem; }.roi-range-field { grid-column:auto; }.roi-results { min-height:360px; padding:1.4rem; }.roi-primary-result strong { font-size:2.8rem; }.roi-result-grid { grid-template-columns:1fr; }.aid-guide { margin:0 -1.1rem; padding:4rem 1.1rem; }.guide-grid { grid-template-columns:1fr; }.method { grid-template-columns:1fr; gap:2rem; padding:4rem 0; }.about { margin:0 -1.1rem; padding:3.7rem 1.1rem; grid-template-columns:1fr; gap:2rem; }.contact { margin:0 -1.1rem; padding:3.7rem 1.1rem; grid-template-columns:1fr; gap:2rem; }.contact-intro { position:static; }.contact-form { padding:1.15rem; box-shadow:6px 6px 0 #c8d4e1; }.contact-form__grid { grid-template-columns:1fr; }.contact-form__wide { grid-column:auto; }.contact-form__actions { align-items:stretch; flex-direction:column; }.contact-form__actions button { width:100%; }.footer-meta { flex-direction:column; gap:.25rem; text-align:left; } footer { padding:1.5rem 1.1rem; flex-direction:column; align-items:flex-start; } }

/* Expanded financial planner */
.roi-section { background:#dfe7df; }
.roi-banner { min-height:380px; padding:clamp(2rem,5vw,4.25rem); display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,6vw,6rem); align-items:end; position:relative; overflow:hidden; color:#fff; background:var(--forest); border:1px solid var(--forest); box-shadow:10px 10px 0 var(--acid); }
.roi-banner::after { content:"ROI"; position:absolute; right:-.04em; top:-.2em; color:rgba(201,243,110,.075); font:800 clamp(10rem,25vw,24rem)/1 var(--sans); letter-spacing:-.1em; pointer-events:none; }
.roi-banner-copy,.roi-banner-action { position:relative; z-index:1; }
.roi-banner .eyebrow-label { color:var(--acid); }
.roi-banner h2 { max-width:820px; margin:.55rem 0 1.2rem; font:800 clamp(2.45rem,5.8vw,5.8rem)/.94 var(--sans); letter-spacing:-.085em; }
.roi-banner-copy>p:last-child { max-width:680px; margin:0; color:#c8d7cf; font-size:1rem; line-height:1.6; }
.roi-banner-action { display:flex; flex-direction:column; align-items:flex-start; gap:1.25rem; }
.roi-banner-action>p { max-width:330px; margin:0; color:#a9bdb3; font:500 .7rem/1.55 var(--mono); text-transform:uppercase; letter-spacing:.045em; }
.roi-toggle { min-width:min(100%,330px); min-height:60px; padding:.9rem 1.1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--acid); background:var(--acid); color:var(--forest); cursor:pointer; font:800 .9rem var(--sans); transition:transform .18s,background .18s,color .18s; }
.roi-toggle:hover { transform:translate(-3px,-3px); box-shadow:5px 5px 0 #fff; }
.roi-toggle b { font-size:1.35rem; transition:transform .2s; }
.roi-toggle.open b { transform:rotate(180deg); }
.roi-panel { padding-top:2rem; scroll-margin-top:78px; }
.roi-panel[hidden],.roi-calculator[hidden] { display:none; }
.roi-mode-switch { display:grid; grid-template-columns:1fr 1fr; max-width:620px; margin:0 0 -1px; position:relative; z-index:2; }
.roi-mode-switch button { min-height:48px; padding:.7rem 1rem; border:1px solid var(--forest); background:#eef2ec; color:#53665f; cursor:pointer; font:700 .78rem var(--sans); }
.roi-mode-switch button+button { border-left:0; }
.roi-mode-switch button.active { background:var(--acid); color:var(--forest); }
.roi-field--wide { grid-column:1/-1; }
.money-input--plain input { padding-left:1rem; }
.roi-result-grid--three { grid-template-columns:1fr; }
.roi-breakdown { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:1.5rem 0; border-top:1px solid #49665d; border-left:1px solid #49665d; }
.roi-breakdown>div { min-height:92px; padding:1rem; border-right:1px solid #49665d; border-bottom:1px solid #49665d; }
.roi-breakdown span { display:block; color:#aebfb6; font-size:.76rem; }
.roi-breakdown strong { display:block; margin-top:.45rem; color:#fff; font-size:1.12rem; }
.roi-fee-sources { margin:1.25rem 0 0; color:#53665f; font-size:.75rem; line-height:1.6; }
.roi-fee-sources a { color:#315b1b; font-weight:800; text-underline-offset:3px; }
.roi-disclaimer { margin-top:.45rem; }
.card--photo { min-height:620px; }
.card-description { max-width:520px; margin:.15rem 0 1.35rem; color:#e7efe9; font-size:.88rem; line-height:1.55; }
.card--photo .detail { grid-template-columns:118px 1fr; }
.card--photo .detail dt { font-size:.72rem; line-height:1.35; }
.card--photo .detail dd { font-size:.85rem; line-height:1.48; }
.card-footer .photo-credit { font-size:.75rem; }

@media (max-width:960px) {
  .roi-banner { grid-template-columns:1fr; min-height:430px; align-items:end; }
  .roi-banner-action { display:grid; grid-template-columns:1fr 1fr; align-items:end; }
  .roi-toggle { min-width:0; width:100%; }
}
@media (max-width:700px) {
  .roi-banner { min-height:480px; padding:2rem 1.35rem; grid-template-columns:1fr; box-shadow:6px 6px 0 var(--acid); }
  .roi-banner h2 { font-size:clamp(2.25rem,12vw,3.65rem); }
  .roi-banner-copy>p:last-child { font-size:.9rem; }
  .roi-banner-action { display:flex; }
  .roi-mode-switch { grid-template-columns:1fr; }
  .roi-mode-switch button+button { border-left:1px solid var(--forest); border-top:0; }
  .roi-field--wide { grid-column:auto; }
  .roi-breakdown { grid-template-columns:1fr; }
  .card--photo { min-height:680px; }
  .card--photo .detail { grid-template-columns:92px 1fr; }
}

/* Search-led university directory */
.advanced-filters[hidden],.results-shell[hidden],#results-panel[hidden],.search-prompt[hidden] { display:none; }
.filter-toolbar { padding-top:.85rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.filter-toolbar p { max-width:620px; margin:0; color:#a9bbb3; font-size:.78rem; line-height:1.5; }
.filter-toggle { min-width:170px; min-height:38px; padding:.5rem .75rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #668076; background:transparent; color:#e7efe8; cursor:pointer; font:700 .72rem var(--sans); }
.filter-toggle:hover,.filter-toggle.open { border-color:var(--acid); color:var(--acid); }
.filter-toggle b { color:var(--acid); font-size:1.15rem; transition:transform .18s; }
.filter-toggle.open b { transform:rotate(45deg); }
.advanced-filters { margin-top:1rem; padding-top:1rem; border-top:1px solid #38594f; }
.filter-select-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.filter-select-grid label { min-width:0; display:flex; flex-direction:column; gap:.4rem; color:#b9cac2; font:500 .7rem var(--mono); text-transform:uppercase; letter-spacing:.035em; }
.filter-select-grid select { width:100%; min-height:44px; border:1px solid #597269; border-radius:0; padding:0 2rem 0 .75rem; background:#153a31; color:#f2f7f3; outline:0; font:600 .78rem var(--sans); }
.filter-select-grid select:focus { border-color:var(--acid); box-shadow:0 0 0 2px rgba(201,243,110,.18); }
.advanced-filters .filters { padding-top:1rem; }
.search-prompt { min-height:150px; margin-top:1rem; padding:1.5rem; display:grid; grid-template-columns:48px 1fr; gap:1.2rem; align-items:center; border:1px solid var(--line); background:#eef1ea; }
.search-prompt>span { color:#71914b; font:500 .7rem var(--mono); }
.search-prompt strong { display:block; color:var(--forest); font-size:1.1rem; }
.search-prompt p { max-width:650px; margin:.35rem 0 0; color:var(--muted); font-size:.85rem; line-height:1.55; }
.results-actions { display:flex; align-items:center; gap:.85rem; }
.results-toggle { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--forest); background:var(--acid); color:var(--forest); cursor:pointer; }
.results-toggle b { font:500 1.25rem/1 var(--mono); transition:transform .18s; }
.results-toggle.open b { transform:rotate(45deg); }

@media (max-width:900px) { .filter-select-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  .filter-toolbar { align-items:stretch; flex-direction:column; }
  .filter-toggle { width:100%; }
  .filter-select-grid { grid-template-columns:1fr; }
  .advanced-filters .filters { align-items:stretch; }
  .english-filter { width:100%; }
  .search-prompt { grid-template-columns:1fr; }
  .results-line { align-items:flex-start; gap:.75rem; }
  .results-actions { margin-left:auto; }
}

/* 2026 academic palette and data-integrity layer */
.topbar { background:rgba(243,246,250,.94); }
.brand i,.eyebrow-label { color:#8a6421; }
.intro-copy-block { border-color:rgba(241,198,106,.34); }
.intro-copy { color:#dce5ef; }
.intro-meta { color:#b9c7d5; }
.campus-mosaic { background:var(--forest); }
.mosaic-a { background-image:linear-gradient(180deg,transparent 45%,rgba(8,22,39,.56)),url("https://images.unsplash.com/photo-1776571661811-c311d42634d9?auto=format&fit=crop&w=1400&q=84"); }
.filter-panel { box-shadow:7px 7px 0 rgba(17,38,63,.18); }
.filter-toolbar p { color:#adbdcc; }
.filter-toolbar__actions { display:flex; align-items:center; gap:.55rem; }
.shortlist-toggle { min-height:38px; padding:.5rem .72rem; display:flex; align-items:center; gap:.48rem; border:1px solid #5c7390; background:transparent; color:#eef3f8; cursor:pointer; font:700 .7rem var(--sans); white-space:nowrap; }
.shortlist-toggle>span:first-child { color:var(--acid); font-size:.82rem; }
.shortlist-toggle b { min-width:19px; height:19px; padding:0 .25rem; display:grid; place-items:center; border-radius:10px; background:#294865; color:#dce6ef; font:500 .52rem var(--mono); }
.shortlist-toggle:hover,.shortlist-toggle.active { border-color:var(--acid); background:var(--acid); color:var(--forest); }
.shortlist-toggle.active>span:first-child { color:var(--forest); }
.shortlist-toggle.active b { background:var(--forest); color:var(--acid); }
.filter-toggle { border-color:#5c7390; color:#eef3f8; }
.advanced-filters { border-color:#405774; }
.filter-select-grid label { color:#c5d1dd; }
.filter-select-grid select { border-color:#5b7290; background:#193654; color:#f7f9fc; }
.filter-select-grid select:focus,.search-field input:focus { box-shadow:0 0 0 2px rgba(241,198,106,.22); }
.filter-check,.english-filter { color:#edf3f8; }
.filter-check input { border-color:#7c90a8; }
.english-filter legend { color:#9fb0c2; }
.english-options button { border-color:#59718d; color:#dfe8f1; }
.search-prompt { background:#e8eef5; }
.search-prompt>span { color:#9b7428; }
.results-line button { color:#76591d; }
.card--photo { background-image:linear-gradient(180deg,rgba(8,22,39,.16) 0%,rgba(8,22,39,.58) 42%,rgba(8,22,39,.97) 100%),var(--campus); }
.card .place,.card-description { color:#dfe8f1; }
.card-footer .photo-credit { color:#c8d4df; }
.detail-source { display:block; width:fit-content; margin-top:.22rem; color:var(--acid); font:500 .55rem var(--mono); text-underline-offset:3px; }
.card-audit-status { width:fit-content; margin:0 0 1rem; border:1px solid rgba(255,255,255,.45); padding:.32rem .48rem; background:rgba(17,38,63,.72); color:#fff; font:500 .55rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.card-audit-status.is-verified { border-color:var(--acid); color:var(--acid); }
.card--pending { min-height:470px; }
.card--pending .badge { background:#e7edf4; color:#4f6075; }
.pending-card-note { margin-top:.4rem; padding:1rem; display:grid; grid-template-columns:28px 1fr; gap:.75rem; background:rgba(255,255,255,.92); color:var(--forest); }
.pending-card-note span { width:26px; height:26px; display:grid; place-items:center; border:1px solid #b77a24; color:#8a5b19; font:500 .7rem var(--mono); }
.pending-card-note p { margin:0; font-size:.75rem; line-height:1.5; }
.card { cursor:pointer; }
.card-hit-area { position:absolute; inset:0; z-index:1; }
.card> :not(.card-hit-area) { position:relative; z-index:2; pointer-events:none; }
.card a:not(.card-hit-area) { pointer-events:auto; }
.card-footer { align-items:center; flex-wrap:wrap; }
.card-footer .profile-link { margin-right:auto; font-size:.74rem; }
.card-footer .save-college { min-height:29px; padding:.32rem .5rem; display:flex; align-items:center; gap:.35rem; border:1px solid rgba(255,255,255,.42); background:rgba(17,38,63,.7); color:#fff; cursor:pointer; font:700 .58rem var(--sans); }
.card-footer .save-college span { color:var(--acid); }
.card-footer .save-college:hover,.card-footer .save-college.is-saved { border-color:var(--acid); background:var(--acid); color:var(--forest); }
.card-footer .save-college.is-saved span { color:var(--forest); }
.card-footer .compare-college { min-height:29px; padding:.32rem .5rem; display:flex; align-items:center; gap:.35rem; border:1px solid rgba(255,255,255,.42); background:rgba(17,38,63,.7); color:#fff; cursor:pointer; font:700 .58rem var(--sans); }
.card-footer .compare-college span { color:#b8d6ef; }
.card-footer .compare-college:hover,.card-footer .compare-college.is-compared { border-color:#9ec7e7; background:#e8f3fb; color:var(--forest); }
.card-footer .compare-college.is-compared span { color:#315d7d; }
.card button:not(.card-hit-area) { pointer-events:auto; }
.data-audit { margin:0 0 1.2rem; padding:1rem 1.1rem; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:.85rem; border:1px solid #b9c6d4; background:#fff; box-shadow:4px 4px 0 #dbe3ed; }
.data-audit-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--forest); color:var(--acid); font-weight:800; }
.data-audit strong { display:block; color:var(--forest); font-size:.82rem; }
.data-audit p { margin:.15rem 0 0; color:var(--muted); font-size:.73rem; }
.data-audit-count { color:#8a6421; font:500 .75rem var(--mono); }
.college-randomizer { width:100%; margin:1rem 0; display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:.7rem; position:relative; z-index:8; }
.random-lever { --pull:0; min-height:310px; padding:.8rem .65rem .7rem; overflow:hidden; position:relative; border:1px solid #8f6a20; background:linear-gradient(145deg,#183653 0%,#0d2037 100%); color:#f5f8fb; box-shadow:6px 6px 0 rgba(17,38,63,.2); text-align:center; }
.random-lever::before { content:""; position:absolute; inset:5px; pointer-events:none; border:1px solid rgba(241,198,106,.22); }
.random-lever__heading { min-height:55px; position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:.22rem; }
.random-lever__heading>span { color:var(--acid); font:500 .54rem var(--mono); letter-spacing:.13em; }
.random-lever__heading strong { max-width:88px; font-size:.64rem; line-height:1.25; letter-spacing:-.02em; }
.random-lever__track { width:58px; height:163px; margin:.15rem auto .45rem; position:relative; border:1px solid #405a77; background:linear-gradient(90deg,#081725,#132d48 50%,#081725); box-shadow:inset 0 0 0 5px #0a1c30,inset 0 0 14px #020810; }
.random-lever__track::before { content:""; width:2px; position:absolute; left:50%; top:26px; bottom:20px; transform:translateX(-50%); background:linear-gradient(#415670,#9aabbb 45%,#415670); }
.random-lever__threshold { width:36px; height:2px; position:absolute; left:10px; bottom:19px; background:var(--acid); box-shadow:0 0 8px rgba(241,198,106,.45); opacity:.62; }
.random-lever__handle { width:52px; height:68px; padding:0; position:absolute; z-index:2; top:7px; left:2px; border:0; background:transparent; color:inherit; cursor:grab; touch-action:none; transform:translateY(calc(var(--pull) * 88px)); transition:transform .38s cubic-bezier(.2,.82,.28,1); }
.random-lever__handle:focus-visible { outline:2px solid var(--acid); outline-offset:2px; }
.random-lever.is-dragging .random-lever__handle { cursor:grabbing; transition:none; }
.random-lever__knob { width:42px; height:42px; display:block; margin:0 auto; border:2px solid #ffe8a7; border-radius:50%; background:radial-gradient(circle at 35% 28%,#fff1b9 0 8%,#f1c66a 29%,#b57619 72%,#65410d 100%); box-shadow:0 4px 9px rgba(0,0,0,.5),inset -3px -4px 6px rgba(81,47,0,.3); }
.random-lever__stem { width:8px; height:29px; display:block; margin:-1px auto 0; border:1px solid #c1cad3; border-radius:0 0 3px 3px; background:linear-gradient(90deg,#506275,#eef3f7 48%,#687a8b); box-shadow:0 2px 4px rgba(0,0,0,.4); }
.random-lever.is-ready .random-lever__track { border-color:var(--acid); box-shadow:inset 0 0 0 5px #0a1c30,inset 0 0 14px #020810,0 0 12px rgba(241,198,106,.3); }
.random-lever.is-spinning .random-lever__knob { animation:lever-pulse .26s ease-in-out infinite alternate; }
.random-lever>p { min-height:29px; margin:0; position:relative; z-index:1; color:#d5e0eb; font:500 .53rem/1.35 var(--mono); }
.random-lever__count { position:relative; z-index:1; color:#90a6ba; font:500 .48rem var(--mono); }
.random-lever__count b { color:var(--acid); }
.random-teaser[hidden] { display:none; }
.random-teaser { min-height:230px; align-self:stretch; padding:clamp(1.5rem,4vw,3.2rem); display:flex; flex-direction:column; justify-content:center; border:1px solid #bdc9d6; background:linear-gradient(115deg,rgba(255,255,255,.96) 0 55%,rgba(235,241,247,.9) 100%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(17,38,63,.035) 18px 19px); box-shadow:7px 7px 0 #d2dce7; }
.random-teaser>span { color:#8a6421; font:500 .56rem var(--mono); text-transform:uppercase; letter-spacing:.055em; }
.random-teaser strong { max-width:260px; margin:.45rem 0 .65rem; color:var(--forest); font-size:1.35rem; line-height:1.05; letter-spacing:-.055em; }
.random-teaser p { max-width:270px; margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.discovery-routes { margin-top:1.35rem; }
.discovery-routes>span { display:block; margin-bottom:.55rem; color:#7b8797; font:500 .52rem var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.discovery-routes>div { display:flex; flex-wrap:wrap; gap:.38rem; }
.discovery-routes button { min-height:31px; padding:.38rem .38rem .38rem .65rem; display:flex; align-items:center; gap:.55rem; border:1px solid #a9b8c8; background:rgba(255,255,255,.7); color:#233851; cursor:pointer; font:700 .61rem var(--sans); }
.discovery-routes button b { min-width:23px; height:21px; display:grid; place-items:center; background:#e4ebf2; color:#6d7e91; font:500 .48rem var(--mono); }
.discovery-routes button:hover,.discovery-routes button.active { border-color:#9a7126; background:var(--forest); color:#fff; transform:translateY(-1px); }
.discovery-routes button:hover b,.discovery-routes button.active b { background:var(--acid); color:var(--forest); }
.random-reveal[hidden] { display:none; }
.random-reveal { min-width:0; overflow:hidden; position:relative; border:1px solid #aebdce; background:#fff; box-shadow:7px 7px 0 #d2dce7; opacity:0; transform:translateX(14px); transition:opacity .2s ease,transform .2s ease; }
.random-reveal.is-visible { opacity:1; transform:translateX(0); }
.random-reveal__close { width:29px; height:29px; display:grid; place-items:center; position:absolute; z-index:2; top:.55rem; right:.55rem; border:1px solid rgba(255,255,255,.75); background:rgba(17,38,63,.84); color:#fff; cursor:pointer; font:500 1rem/1 var(--mono); }
.random-reveal__photo { height:112px; position:relative; background:#dce4ed; }
.random-reveal__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(17,38,63,.06),rgba(17,38,63,.48)); }
.random-reveal__photo img { width:100%; height:100%; display:block; object-fit:cover; }
.random-reveal__copy { padding:.85rem .9rem 1rem; }
.random-reveal__copy>span { display:block; color:#8a6421; font:500 .52rem var(--mono); text-transform:uppercase; letter-spacing:.055em; }
.random-reveal__copy strong { display:block; margin:.25rem 0 .1rem; color:var(--forest); font-size:.86rem; line-height:1.2; letter-spacing:-.035em; }
.random-reveal__copy p { margin:0 0 .65rem; color:var(--muted); font:.55rem var(--mono); }
.random-reveal__copy a { color:#76591d; font-size:.65rem; font-weight:800; text-decoration:none; }
.random-reveal__copy a:hover { text-decoration:underline; text-underline-offset:3px; }
.next-step-card { min-height:620px; padding:clamp(1.6rem,3vw,2.7rem); overflow:hidden; position:relative; display:flex; flex-direction:column; border:1px solid #3e5571; background:linear-gradient(145deg,#193754 0%,#0d2037 78%); color:#fff; box-shadow:8px 9px 0 rgba(17,38,63,.15); }
.next-step-card::after { content:"03"; position:absolute; right:-.08em; bottom:-.25em; color:rgba(241,198,106,.055); font:800 17rem/1 var(--sans); letter-spacing:-.12em; pointer-events:none; }
.next-step-card>span { position:relative; z-index:1; color:var(--acid); font:500 .61rem var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.next-step-card h3 { max-width:420px; margin:1.3rem 0 .85rem; position:relative; z-index:1; font:800 clamp(2rem,4vw,3.5rem)/.98 var(--sans); letter-spacing:-.075em; }
.next-step-card>p { max-width:450px; margin:0 0 2rem; position:relative; z-index:1; color:#c8d5e1; font-size:.83rem; line-height:1.6; }
.next-step-card ol { margin:auto 0 1.8rem; padding:0; position:relative; z-index:1; list-style:none; border-top:1px solid #405a76; }
.next-step-card li { min-height:52px; display:flex; align-items:center; gap:.8rem; border-bottom:1px solid #405a76; color:#eef4f8; font-size:.72rem; }
.next-step-card li b { color:var(--acid); font:500 .56rem var(--mono); }
.next-step-card>div { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; position:relative; z-index:1; }
.next-step-card button { min-height:43px; border:1px solid #6f849b; padding:.55rem .75rem; background:transparent; color:#fff; cursor:pointer; font:700 .65rem var(--sans); }
.next-step-card button:hover,.next-step-card button.is-saved { border-color:var(--acid); background:var(--acid); color:var(--forest); }
.next-step-card small { margin-top:.65rem; position:relative; z-index:1; color:#8fa3b7; font:500 .5rem var(--mono); }
@keyframes lever-pulse { to { filter:brightness(1.2); transform:scale(1.045); } }
.roi-section { background:#e5ebf2; border-color:#cdd7e3; }
.roi-banner-copy>p:last-child { color:#cbd7e2; }
.roi-banner-action>p { color:#aabccd; }
.roi-calculator { box-shadow:10px 10px 0 rgba(17,38,63,.15); }
.roi-field>span:first-child,.roi-range-field>span:first-child { color:#506176; }
.roi-field select,.money-input { border-color:#aebccc; background:#f7f9fc; }
.aid-guide-heading>p:last-child,.guide-grid p { color:#bfcdda; }
.guide-grid,.guide-grid article { border-color:#405773; }
.method li>span { color:#9b7428; }
.about p { color:#263950; }
.feedback { border-color:#8f6a20; color:#24364c; }
footer { color:#6d7a8c; }

@media (max-width:700px) {
  .data-audit { grid-template-columns:34px 1fr; }
  .data-audit-count { grid-column:2; }
  .card-footer { align-items:flex-start; flex-direction:column; }
  .filter-toolbar__actions { width:100%; }
  .shortlist-toggle,.filter-toggle { flex:1; min-width:0; }
  .shortlist-toggle { justify-content:center; }
  .college-randomizer { grid-template-columns:minmax(0,1fr) 96px; gap:.5rem; }
  .random-lever { min-height:296px; padding-inline:.45rem; }
  .random-reveal__photo { height:96px; }
  .random-lever__heading strong { font-size:.58rem; }
  .random-teaser { padding:1.2rem; }
  .discovery-routes button { width:100%; justify-content:space-between; }
  .next-step-card { min-height:520px; }
  .next-step-card>div { grid-template-columns:1fr; }
}

@media (min-width:1100px) {
  .random-teaser { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(430px,1.28fr); grid-template-rows:auto auto auto; align-content:center; column-gap:clamp(2rem,5vw,5rem); }
  .random-teaser>span,.random-teaser>strong,.random-teaser>p { grid-column:1; }
  .discovery-routes { grid-column:2; grid-row:1/4; align-self:center; margin-top:0; }
  .discovery-routes>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .discovery-routes button { justify-content:space-between; }
}

@media (prefers-reduced-motion:reduce) {
  .random-lever__handle,.random-reveal { transition:none; }
  .random-lever.is-spinning .random-lever__knob { animation:none; }
}

/* Persistent comparison tray */
.comparison-tray[hidden] { display:none; }
.comparison-tray { width:min(920px,calc(100vw - 2rem)); min-height:76px; padding:.7rem .75rem; position:fixed; z-index:70; left:50%; bottom:1rem; transform:translateX(-50%); display:grid; grid-template-columns:auto minmax(0,1fr) auto 30px; align-items:center; gap:.75rem; border:1px solid #8ba2b8; background:rgba(17,38,63,.97); color:#fff; box-shadow:0 15px 45px rgba(5,19,34,.28); backdrop-filter:blur(12px); }
.comparison-tray__heading { padding:0 .55rem; border-right:1px solid #4a6179; }
.comparison-tray__heading>span { display:block; color:#9eb1c3; font:500 .51rem var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.comparison-tray__heading strong { display:block; margin-top:.2rem; color:var(--acid); font:500 .7rem var(--mono); }
.comparison-chips { min-width:0; display:flex; align-items:center; gap:.45rem; overflow-x:auto; scrollbar-width:thin; }
.comparison-chip { min-width:112px; height:45px; padding:.25rem .3rem; display:grid; grid-template-columns:34px minmax(0,1fr) 19px; align-items:center; gap:.35rem; border:1px solid #506982; background:#193754; }
.comparison-chip img { width:34px; height:35px; object-fit:cover; }
.comparison-chip b { overflow:hidden; color:#f5f8fb; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.comparison-chip button { width:19px; height:19px; display:grid; place-items:center; border:0; background:transparent; color:#9fb2c5; cursor:pointer; font:500 .75rem/1 var(--mono); }
.comparison-chip button:hover { color:var(--acid); }
.comparison-tray>a { min-height:43px; padding:.6rem .85rem; display:flex; align-items:center; justify-content:space-between; gap:.8rem; background:var(--acid); color:var(--forest); text-decoration:none; font-size:.67rem; font-weight:800; }
.comparison-tray>a:hover { background:#ffdb87; }
.comparison-tray>button { width:28px; height:28px; display:grid; place-items:center; border:1px solid #536a82; background:transparent; color:#bdcad6; cursor:pointer; font:500 .85rem/1 var(--mono); }
.compare-toast { max-width:min(420px,calc(100vw - 2rem)); padding:.75rem 1rem; position:fixed; z-index:120; right:1rem; bottom:1rem; visibility:hidden; opacity:0; transform:translateY(12px); border-left:3px solid var(--acid); background:var(--forest); color:#fff; box-shadow:0 10px 30px rgba(5,19,34,.28); font-size:.7rem; transition:.2s; }
.compare-toast.is-visible { visibility:visible; opacity:1; transform:translateY(0); }

@media (max-width:700px) {
  .comparison-tray { width:calc(100vw - 1rem); min-height:0; padding:.55rem; bottom:.5rem; grid-template-columns:minmax(0,1fr) auto 27px; gap:.45rem; }
  .comparison-tray__heading { display:none; }
  .comparison-chip { min-width:94px; grid-template-columns:30px minmax(0,1fr) 17px; }
  .comparison-chip img { width:30px; height:35px; }
  .comparison-tray>a { min-height:45px; padding:.55rem .7rem; }
  .compare-toast { right:.5rem; bottom:5.5rem; }
}

/* Saved-university collection drawer */
body.shortlist-open { overflow:hidden; }
.shortlist-backdrop { position:fixed; z-index:90; inset:0; visibility:hidden; opacity:0; background:rgba(8,22,39,.56); backdrop-filter:blur(4px); transition:opacity .28s ease,visibility .28s; }
.shortlist-drawer { width:min(540px,100vw); position:fixed; z-index:100; top:0; right:0; bottom:0; visibility:hidden; display:flex; flex-direction:column; border-left:1px solid #8ca0b5; background:#eef3f8; box-shadow:-18px 0 45px rgba(7,21,37,.25); transform:translateX(104%); transition:transform .32s cubic-bezier(.2,.78,.25,1),visibility .32s; }
body.shortlist-open .shortlist-backdrop { visibility:visible; opacity:1; }
body.shortlist-open .shortlist-drawer { visibility:visible; transform:translateX(0); }
.shortlist-drawer__header { min-height:132px; padding:2rem 2rem 1.6rem; overflow:hidden; position:relative; display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; background:var(--forest); color:#fff; }
.shortlist-drawer__header::after { content:"★"; position:absolute; right:3.3rem; bottom:-.6em; color:rgba(241,198,106,.075); font:800 8rem/1 var(--sans); transform:rotate(-8deg); pointer-events:none; }
.shortlist-drawer__header>div { position:relative; z-index:1; }
.shortlist-drawer__header span { color:var(--acid); font:500 .59rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.shortlist-drawer__header h2 { margin:.35rem 0 0; font:800 2rem/1 var(--sans); letter-spacing:-.06em; }
.shortlist-drawer__header button { width:36px; height:36px; display:grid; place-items:center; position:relative; z-index:2; border:1px solid #627990; background:transparent; color:#fff; cursor:pointer; font:500 1.2rem/1 var(--mono); }
.shortlist-drawer__header button:hover { border-color:var(--acid); color:var(--acid); }
.shortlist-drawer__summary { min-height:78px; padding:1rem 2rem; display:flex; align-items:center; gap:1rem; border-bottom:1px solid #c3cfdb; background:#fff; }
.shortlist-drawer__summary>strong { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:var(--forest); font:800 1rem var(--sans); }
.shortlist-drawer__summary span { display:block; color:var(--forest); font-size:.75rem; font-weight:800; }
.shortlist-drawer__summary small { display:block; margin-top:.1rem; color:var(--muted); font:400 .56rem var(--mono); }
.shortlist-drawer__list { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:1rem 1.15rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }
.saved-drawer-card { min-height:142px; display:grid; grid-template-columns:150px minmax(0,1fr); border:1px solid #bac7d4; background:#fff; box-shadow:4px 4px 0 #d5dee8; }
.saved-drawer-card__photo { min-height:140px; overflow:hidden; position:relative; background:#cad5e0; }
.saved-drawer-card__photo::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.35); pointer-events:none; }
.saved-drawer-card__photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }
.saved-drawer-card__photo:hover img { transform:scale(1.035); }
.saved-drawer-card__copy { min-width:0; padding:1rem; display:flex; flex-direction:column; }
.saved-drawer-card__copy>span { color:#987025; font:500 .5rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.saved-drawer-card__copy h3 { margin:.33rem 0 .1rem; color:var(--forest); font-size:.9rem; line-height:1.18; letter-spacing:-.035em; }
.saved-drawer-card__copy p { margin:0; color:var(--muted); font:.55rem var(--mono); }
.saved-drawer-card__copy>div { margin-top:auto; padding-top:.7rem; display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.saved-drawer-card__copy a { color:#76591d; font-size:.62rem; font-weight:800; text-decoration:none; }
.saved-drawer-card__copy a:hover { text-decoration:underline; text-underline-offset:3px; }
.saved-drawer-card__copy button { border:0; padding:0; background:transparent; color:#7b8897; cursor:pointer; font:500 .55rem var(--mono); text-decoration:underline; text-underline-offset:3px; }
.saved-drawer-card__copy button:hover { color:#9b3b32; }
.shortlist-empty { min-height:100%; padding:3rem 2rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.shortlist-empty>div { width:128px; height:128px; margin-bottom:1.6rem; position:relative; display:grid; place-items:center; border:1px solid #aebdcd; border-radius:50%; }
.shortlist-empty>div::before,.shortlist-empty>div::after { content:""; position:absolute; border:1px solid #d0d9e2; border-radius:50%; }
.shortlist-empty>div::before { inset:13px; }.shortlist-empty>div::after { inset:30px; }
.shortlist-empty>div span { position:relative; z-index:2; color:#9c7426; font-size:2rem; }
.shortlist-empty>div i { width:7px; height:7px; position:absolute; border-radius:50%; background:var(--acid); box-shadow:0 0 0 3px #fff; }
.shortlist-empty>div i:nth-of-type(1) { top:9px; left:60px; }.shortlist-empty>div i:nth-of-type(2) { right:18px; bottom:25px; }.shortlist-empty>div i:nth-of-type(3) { left:24px; bottom:19px; }
.shortlist-empty strong { color:var(--forest); font-size:1.25rem; letter-spacing:-.04em; }
.shortlist-empty p { max-width:340px; margin:.5rem 0 0; color:var(--muted); font-size:.75rem; line-height:1.55; }
.shortlist-drawer__footer { padding:1rem 1.15rem 1.2rem; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; border-top:1px solid #c3cfdb; background:#fff; }
.shortlist-drawer__footer button { min-height:46px; border:1px solid var(--forest); padding:.65rem; background:var(--forest); color:#fff; cursor:pointer; font:800 .68rem var(--sans); }
.shortlist-drawer__footer button+button { background:transparent; color:var(--forest); }
.shortlist-drawer__footer button:hover { border-color:#9b7327; background:var(--acid); color:var(--forest); }
.shortlist-drawer__footer button:disabled { cursor:not-allowed; opacity:.4; }

@media (max-width:700px) {
  .topbar-actions { gap:.35rem; }
  .header-shortlist { width:34px; min-height:34px; padding:0; justify-content:center; position:relative; }
  .header-shortlist>span:nth-child(2) { display:none; }
  .header-shortlist b { min-width:15px; height:15px; padding:0 .18rem; position:absolute; top:-5px; right:-5px; font-size:.42rem; }
  .shortlist-drawer { width:100%; }
  .shortlist-drawer__header { min-height:112px; padding:1.4rem 1.15rem; }
  .shortlist-drawer__header h2 { font-size:1.65rem; }
  .shortlist-drawer__summary { min-height:68px; padding:.75rem 1.15rem; }
  .shortlist-drawer__list { padding:.8rem; }
  .saved-drawer-card { grid-template-columns:112px minmax(0,1fr); min-height:128px; }
  .saved-drawer-card__photo { min-height:126px; }
  .saved-drawer-card__copy { padding:.8rem; }
  .saved-drawer-card__copy h3 { font-size:.78rem; }
  .shortlist-drawer__footer { padding:.8rem; grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .shortlist-backdrop,.shortlist-drawer,.saved-drawer-card__photo img { transition:none; }
}
