/* Shared navigation and the new home page. */
:root {
    --navy:#142D4E;
    --navy-dark:#0B172A;
    --gold:#D4A541;
    --surface:#F8F6F0;
}
html { scroll-padding-top:110px }
body { background:var(--surface) }
.container { width:min(1240px,calc(100% - 80px)) }
a,button,input,select,summary { touch-action:manipulation }
a,button { transition:color .2s,background-color .2s,border-color .2s,transform .2s }
.site-topbar { background:var(--navy-dark); color:#FFFFFFB8; font-size:11px }
.site-topbar>.container { display:flex; align-items:center; justify-content:space-between; min-height:34px; gap:16px }
.site-topbar>.container>span:last-child { display:flex; align-items:center; gap:7px }
.site-topbar svg,.topbar-separator { color:var(--gold) }
.topbar-separator { margin-inline:10px }
.redesigned-header { background:#FFFFFFF7; border-bottom:1px solid #142D4E12; box-shadow:0 4px 20px #0B172A05 }
.redesigned-header .header-inner { height:98px; gap:30px }
.redesigned-header .brand { gap:13px }
.redesigned-header .brand-mark { width:59px; height:65px; background:none; border-radius:0 }
.redesigned-header .brand-name { font-size:20px; line-height:1.6; color:var(--navy); font-weight:700 }
.redesigned-header .brand-name span { color:#142D4E99; font-size:11px; font-weight:400; letter-spacing:0; margin:0 }
.redesigned-header .main-nav { gap:32px; font-size:14px }
.redesigned-header .main-nav a { color:#142D4EB3 }
.redesigned-header .main-nav a:hover,.redesigned-header .main-nav a.active { color:var(--navy) }
.redesigned-header .main-nav a.active:after { width:22px; height:3px; bottom:22px; background:var(--gold) }
.header-actions { display:flex; align-items:center; gap:12px }
.redesigned-header .header-cta { display:inline-flex; background:var(--navy); color:#fff; border:1px solid var(--navy); padding:12px 18px; border-radius:8px; font-size:13px; gap:11px; white-space:nowrap }
.redesigned-header .header-cta>svg:first-child { color:var(--gold) }
.redesigned-header .header-cta:hover { background:var(--navy-dark); transform:translateY(-2px) }
.redesigned-header .menu-toggle { border:1px solid #142D4E20; background:white; color:var(--navy); width:44px; height:44px }

/* A strong opening with the calculator as the main action. */
.homepage { overflow:clip }
.home-hero { position:relative; isolation:isolate; background:var(--navy); color:#fff; padding:64px 0 0 }
.home-hero:before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 2% 0%,#D4A54112,transparent 45%),linear-gradient(130deg,transparent 42%,#0B172A55); pointer-events:none }
.home-hero:after { content:""; position:absolute; z-index:-1; width:730px; height:730px; border:1px solid #D4A54117; border-radius:50%; right:-415px; top:-330px; box-shadow:0 0 0 100px #D4A54104,0 0 0 200px #D4A54103; pointer-events:none }
.home-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; padding-bottom:55px }
.home-hero-copy { padding:6px 0 14px }
.home-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-size:13px; font-weight:600 }
.home-kicker>span { width:7px; height:7px; background:var(--gold); border-radius:50%; box-shadow:0 0 0 5px #D4A54112 }
.home-hero .home-headline { font-size:clamp(42px,4.6vw,66px); line-height:1.55; letter-spacing:0; font-weight:700; margin:20px 0 21px }
.home-hero .home-headline em { color:var(--gold); font-style:normal; position:relative; white-space:nowrap }
.home-hero .home-headline em:after { content:""; display:block; position:absolute; height:5px; border-radius:50%; background:var(--gold); opacity:.4; right:2px; left:2px; bottom:-5px; transform:rotate(-3deg) }
.home-hero-description { color:#FFFFFFBF; font-size:16px; line-height:2.15; max-width:460px }
.home-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:29px }
.home-explore { display:inline-flex; align-items:center; justify-content:center; gap:23px; background:var(--gold); color:var(--navy-dark); border:1px solid var(--gold); border-radius:7px; padding:12px 22px; font-size:14px; font-weight:600; min-height:49px }
.home-explore:hover { background:#fff; border-color:#fff; transform:translateY(-2px) }
.home-dates-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#FFFFFFD9 }
.home-dates-link:hover { color:var(--gold) }
.home-proof { display:flex; align-items:center; gap:20px; margin-top:23px; color:#FFFFFF99; font-size:11px }
.home-proof span { display:flex; align-items:center; gap:6px }
.home-proof svg { color:var(--gold) }
.home-hero-stats { display:flex; margin-top:36px; border-top:1px solid #FFFFFF1A; padding-top:23px; gap:30px }
.home-hero-stats>div { display:flex; flex-direction:column; gap:2px; min-width:92px }
.home-hero-stats>div+div { border-right:1px solid #FFFFFF1A; padding-right:30px }
.home-hero-stats strong { font-size:29px; font-weight:600; line-height:1.35; font-variant-numeric:tabular-nums }
.home-hero-stats strong>span { font-size:18px; color:var(--gold); margin-inline-start:4px }
.home-hero-stats>div>span { color:#FFFFFF99; font-size:11px; margin-top:5px }
.home-calculator-panel { width:100%; max-width:530px; justify-self:end; min-width:0 }
.home-panel-label { display:flex; align-items:center; justify-content:space-between; color:#FFFFFFA6; font-size:11px; padding:0 4px 12px }
.home-panel-label>span:last-child { color:var(--gold); display:flex; align-items:center; gap:7px }
.home-hero .calculator-wrap { width:100%; margin:0; padding:0; scroll-margin-top:125px }
.home-hero .calculator-wrap:before { display:none }
.home-hero .calculator-card { color:var(--navy-dark); padding:29px 30px 21px; border:0; border-top:3px solid var(--gold); border-radius:12px; box-shadow:0 24px 80px #0B172A3D }
.home-hero .calculator-heading { gap:9px }
.home-hero .calculator-heading .square-icon { background:#D4A54119; color:var(--navy); width:31px; height:31px; border-radius:8px }
.home-hero .calculator-heading .small-label { font-size:11px; color:#142D4E99 }
.home-hero .calculator-step { display:none }
.home-hero .calculator-card h2 { font-size:28px; margin-top:13px; font-weight:700; line-height:1.6 }
.home-hero .calculator-intro { font-size:12px; color:#142D4E99; margin-top:2px }
.home-hero .calculator-form { margin-top:22px }
.home-hero .grade-fields { gap:12px }
.home-hero .grade-field label { color:var(--navy); font-size:12px; font-weight:600; margin-bottom:8px }
.home-hero .grade-input input { height:60px; background:#F8F6F080; border:1px solid #142D4E24; border-radius:7px; font-size:24px; padding:8px 12px 8px 24px; font-weight:600 }
.home-hero .grade-input input:focus { background:white; outline:2px solid var(--gold); outline-offset:1px }
.home-hero .grade-input input::placeholder { color:#142D4E4D; font-weight:400 }
.home-hero .grade-input>span { color:#142D4E73; font-size:15px; top:17px }
.home-hero .field-hint { color:#142D4E99; font-size:10px; line-height:1.9 }
.home-hero .calculator-form>.field-hint { margin:8px 0 0 }
.home-hero .gender-field { margin:17px 0 }
.home-hero .gender-field legend { font-size:12px; margin-bottom:7px; font-weight:600 }
.home-hero .segmented-control { gap:10px }
.home-hero .segmented-control span { height:38px; background:#fff; border:1px solid #142D4E20; border-radius:6px; color:#142D4E99; font-size:12px }
.home-hero .segmented-control input:checked+span { border-color:var(--navy); background:#142D4E08; color:var(--navy) }
.home-hero .segmented-control input:checked+span:before { background:var(--gold) }
.home-hero .formula-explanation { background:none; padding:0; margin:0 0 18px; color:#142D4EA6; gap:8px }
.home-hero .formula-explanation p { font-size:10px; line-height:1.8 }
.home-hero .formula-explanation br { display:none }
.home-hero .formula-explanation strong { font-weight:400; color:inherit }
.home-hero .calculator-submit { background:var(--navy); color:#fff; border-radius:7px; height:49px; font-size:12px; font-weight:600; padding:10px 16px }
.home-hero .calculator-submit svg { color:var(--gold) }
.home-hero .calculator-submit:hover { background:var(--navy-dark) }
.home-hero .calculator-submit:disabled { opacity:.6; cursor:wait; transform:none }
.home-hero .calculator-card>.field-hint:not(.calculator-status) { margin:11px 0 0; font-size:10px }
.home-hero .calculator-status:empty { display:none }
.home-hero .calculator-note { margin-top:12px; padding-top:11px; border-color:#142D4E12; color:#142D4E99 }
.home-hero .calculator-note p { font-size:10px }
.home-hero .calculator-footnote { color:#FFFFFF99; font-size:10px; margin-top:12px }
.home-hero .calculator-footnote svg { color:var(--gold) }
.home-hero-bottom { display:flex; justify-content:space-between; gap:20px; max-width:1240px; width:calc(100% - 80px); margin:auto; border-top:1px solid #FFFFFF12; padding:16px 0; color:#FFFFFF66; font-size:10px }
.home-hero-bottom>span:first-child { color:#D4A541B3 }

/* Four clear entry points, then the full directory. */
.home-pathways { padding:43px 0 0 }
.home-pathways-intro { display:flex; align-items:center; gap:15px; margin-bottom:20px }
.home-section-label { color:#142D4E99; font-size:12px; display:inline-flex; align-items:center; gap:9px }
.home-section-label:before { content:""; width:19px; height:2px; background:var(--gold) }
.home-pathways-intro h2 { font-size:21px; font-weight:600 }
.home-pathway-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px }
.home-pathway { display:flex; align-items:flex-start; gap:12px; border:1px solid #142D4E16; background:#fff; padding:23px 17px 21px; border-radius:10px; position:relative; min-width:0 }
.home-pathway-icon { display:grid; place-items:center; width:43px; height:43px; background:#D4A54115; color:var(--navy); border-radius:9px; flex-shrink:0 }
.home-pathway h3 { font-size:18px; font-weight:600; color:var(--navy) }
.home-pathway p { color:#142D4E99; font-size:10px; margin-top:4px }
.home-pathway-count { display:block; font-size:10px; color:#142D4EB3; margin-top:13px }
.home-pathway>svg { position:absolute; left:17px; bottom:22px; color:var(--navy) }
.home-pathway:hover { border-color:var(--gold); transform:translateY(-4px); box-shadow:0 8px 25px #142D4E07 }
.home-directory { padding-top:75px; padding-bottom:65px }
.home-directory .section-heading { align-items:flex-end; margin-bottom:28px }
.homepage .eyebrow { color:#142D4E99; font-size:12px; gap:8px }
.homepage .eyebrow:before { content:""; width:19px; height:2px; background:var(--gold) }
.homepage .section-heading h2 { font-size:32px; color:var(--navy-dark); line-height:1.6; margin-top:8px }
.homepage .section-heading p { font-size:13px; color:#142D4E99; margin-top:8px }
.home-directory .section-count { background:transparent; border:0; padding:0 0 6px; font-size:12px; color:#142D4E99 }
.home-directory .directory-tabs { gap:7px; margin-bottom:0; border-bottom:1px solid #142D4E16; padding-bottom:16px }
.home-directory .directory-tabs a { font-size:13px; padding:8px 24px; border-radius:7px; background:transparent; border:1px solid transparent; color:#142D4EB3 }
.home-directory .directory-tabs a:hover { background:var(--navy); color:#fff }
.home-directory .directory-filters { border:0; padding:20px 0 9px; background:transparent; border-radius:0; gap:10px; margin:0; grid-template-columns:repeat(5,minmax(0,1fr)) auto }
.home-directory .search-field { height:52px; border:1px solid #142D4E24; border-radius:8px; padding-inline:17px }
.home-directory .search-field input { font-size:13px }
.home-directory .search-field>svg { color:var(--navy) }
.home-directory .filter-select { height:43px; border-color:#142D4E24; border-radius:7px }
.home-directory .filter-select select { font-size:11px }
.home-directory .filter-submit { min-height:43px; padding:8px 20px; font-size:12px; border-radius:7px }
.home-directory #specialties-help { margin:5px 0 24px; font-size:10px; color:#142D4E80 }
.home-directory .university-grid { gap:24px }
.home-directory .institution-card { border-radius:11px; border-color:#142D4E16; box-shadow:0 3px 10px #0B172A03; overflow:hidden }
.home-directory .institution-card:hover { border-color:#D4A54180; box-shadow:0 12px 35px #0B172A0C; transform:translateY(-4px) }
.home-directory .institution-cover { height:185px }
.home-directory .institution-cover>img:not(.logo-cover) { transition:transform .4s }
.home-directory .institution-card:hover .institution-cover>img:not(.logo-cover) { transform:scale(1.035) }
.home-directory .institution-cover .logo-cover { background:#142D4E06 }
.home-directory .institution-card-body { padding:0 23px }
.home-directory .institution-logo { width:77px; height:64px; border:3px solid white; box-shadow:0 3px 12px #0B172A0C; border-radius:9px }
.home-directory .institution-logo img { max-height:49px }
.home-directory .institution-card h3 { font-size:18px; min-height:51px; margin-top:16px }
.home-directory .institution-excerpt { font-size:12px; color:#142D4E99; margin:12px 0 20px; line-height:1.95 }
.home-directory .university-location { color:#142D4E99; font-size:11px }
.home-directory .university-location svg { color:#142D4E80 }
.home-directory .university-link { padding:16px 0; font-size:12px; border-color:#142D4E12; color:var(--navy) }
.home-directory .university-link>svg { color:var(--gold) }
.home-directory .cover-kind { border-radius:5px; font-size:10px; backdrop-filter:blur(6px) }
.home-directory .pagination { margin-top:34px }
.home-directory .page-numbers a { border-radius:6px; background:white; border-color:#142D4E16; color:var(--navy); width:36px; height:36px }
.home-directory .page-numbers a.current { background:var(--navy); color:white; border-color:var(--navy) }
.home-directory .directory-source { font-size:10px; color:#142D4E80; line-height:1.9; margin-top:24px }

/* A quieter explanation between discovery and admissions. */
.home-journey { background:#fff; border-block:1px solid #142D4E0F; padding:60px 0 66px }
.home-journey-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:30px }
.home-journey-heading h2 { font-size:32px; margin-top:9px; color:var(--navy-dark) }
.home-journey-heading>p { font-size:13px; color:#142D4E99; line-height:1.9 }
.home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid #142D4E16; border-radius:12px; overflow:hidden }
.home-steps article { padding:29px 31px; position:relative }
.home-steps article+article { border-right:1px solid #142D4E16 }
.home-step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; color:var(--navy) }
.home-step-top>span { color:#D4A541B3; font-size:33px; line-height:1; font-weight:400 }
.home-step-top>svg { color:var(--navy) }
.home-steps h3 { font-size:21px; font-weight:600; color:var(--navy-dark) }
.home-steps p { font-size:12px; color:#142D4E99; line-height:2; margin-top:10px; max-width:290px }
.home-steps article>a { display:inline-flex; gap:14px; align-items:center; font-size:12px; color:var(--navy); margin-top:24px; font-weight:600 }
.home-steps article>a>svg { color:var(--gold) }
.home-steps article>a:hover { gap:20px }
.homepage .dates-section { padding:65px 0 45px }
.homepage .date-heading-icon { background:#D4A54115; color:var(--navy); border:0; border-radius:10px }
.homepage .admission-banner { background:var(--navy); color:white; border:0; border-radius:12px; padding:34px; gap:25px; position:relative; overflow:hidden }
.homepage .banner-icon { background:#FFFFFF0D; color:var(--gold); border:1px solid #FFFFFF20; border-radius:13px; width:68px; height:68px }
.homepage .banner-copy .small-label { color:var(--gold); font-size:10px }
.homepage .banner-copy h3 { font-size:23px; margin-top:5px }
.homepage .banner-copy p { color:#FFFFFFB3; font-size:12px; max-width:580px }
.homepage .admission-banner .button { background:var(--gold); color:var(--navy-dark); border-radius:7px; font-size:12px; flex-shrink:0 }
.homepage .admission-banner .button:hover { background:#fff }
.homepage .faq-section { padding-top:30px; padding-bottom:75px; grid-template-columns:1fr 1.65fr; gap:90px }
.homepage .faq-heading h2 { color:var(--navy-dark); font-size:32px; margin-top:9px }
.homepage .faq-heading p { font-size:13px; color:#142D4E99; max-width:230px; line-height:1.9 }
.homepage .faq-art { color:#D4A54140; font-size:105px; margin-right:5px; line-height:1.3 }
.homepage .faq-list details { padding:20px 0; border-color:#142D4E1A }
.homepage .faq-list summary { font-size:14px; color:var(--navy); line-height:1.9 }
.homepage .faq-list summary span { background:white; border:1px solid #142D4E1A; color:var(--navy); border-radius:6px; width:29px; height:29px }
.homepage .faq-list details p { font-size:12px; color:#142D4EA6; line-height:2.1 }

/* A complete footer with useful destinations. */
.redesigned-footer { background:var(--navy-dark); color:#fff; padding:0; border:0 }
.footer-invitation { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:39px 0; border-bottom:1px solid #FFFFFF14 }
.footer-invitation>div>span { color:var(--gold); font-size:11px }
.footer-invitation h2 { font-size:29px; font-weight:600; margin-top:7px; line-height:1.6 }
.footer-invitation>a { display:inline-flex; align-items:center; justify-content:center; gap:30px; padding:13px 22px; border:1px solid #D4A54170; border-radius:7px; color:var(--gold); font-size:13px; min-height:49px }
.footer-invitation>a:hover { background:var(--gold); color:var(--navy-dark) }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:55px; padding:45px 0 }
.footer-about .brand { gap:12px }
.footer-about .brand-mark { width:59px; height:65px; padding:5px; background:var(--surface); border-radius:8px }
.footer-about .brand-name { font-size:20px; color:white; line-height:1.7 }
.footer-about .brand-name span { color:#FFFFFF80; font-size:11px; letter-spacing:0; font-weight:400; margin:0 }
.footer-about>p { font-size:12px; color:#FFFFFF80; line-height:2; max-width:285px; margin-top:18px }
.footer-signature { display:flex; align-items:center; gap:8px; margin-top:20px; font-size:11px; color:#D4A541CC }
.footer-signature>span { background:var(--gold); width:17px; height:2px }
.footer-grid nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding-top:9px }
.footer-grid nav h3 { color:#fff; font-size:13px; font-weight:600; margin-bottom:8px }
.footer-grid nav>a { color:#FFFFFF80; font-size:12px; display:inline-flex; align-items:center; gap:12px }
.footer-grid nav>a:hover { color:var(--gold) }
.footer-official svg { color:#D4A541A6 }
.footer-official>p { display:flex; align-items:flex-start; gap:7px; font-size:10px; color:#FFFFFF66; line-height:1.9; max-width:190px; margin-top:7px }
.footer-official>p>svg { margin-top:3px }
.redesigned-footer .footer-bottom { border-top:1px solid #FFFFFF14; color:#FFFFFF66; padding:20px 0; gap:22px; font-size:10px; display:flex; align-items:center; justify-content:space-between }
.redesigned-footer .footer-bottom>a { color:#FFFFFF99 }
.redesigned-footer .footer-bottom>a:hover,.footer-star { color:var(--gold) }
.footer-star { margin-right:7px }

@media(min-width:1600px) {
    .home-hero-grid { gap:110px }
}
@media(max-width:1150px) {
    .container { width:calc(100% - 56px) }
    .redesigned-header .main-nav { gap:23px }
    .redesigned-header .brand-name { font-size:18px }
    .redesigned-header .header-cta { padding:11px 13px; font-size:12px }
    .home-hero-grid { gap:45px; grid-template-columns:1fr 1.05fr }
    .home-hero .home-headline { font-size:51px }
    .home-hero-description { font-size:14px }
    .home-hero .calculator-card { padding:25px 24px 20px }
    .home-hero-stats { gap:22px }
    .home-hero-stats>div+div { padding-right:22px }
    .home-hero-bottom { width:calc(100% - 56px) }
    .home-pathway { padding:20px 14px; gap:9px }
    .home-pathway-icon { width:34px; height:37px }
    .home-pathway-icon svg { width:22px; height:22px }
    .home-pathway h3 { font-size:16px }
    .home-pathway p { font-size:9px }
    .home-directory .directory-filters { grid-template-columns:repeat(3,minmax(0,1fr)) }
    .home-directory .filter-submit { width:100%; grid-row:auto; grid-column:auto }
    .home-directory .institution-cover { height:165px }
    .home-directory .institution-card-body { padding-inline:18px }
    .footer-grid { gap:28px }
}
@media(max-width:900px) {
    .redesigned-header .header-inner { gap:18px; height:84px }
    .redesigned-header .brand-mark { width:47px; height:52px }
    .redesigned-header .brand-name { font-size:16px }
    .redesigned-header .main-nav { gap:17px }
    .redesigned-header .main-nav a { font-size:12px }
    .redesigned-header .main-nav a.active:after { bottom:17px }
    .redesigned-header .header-cta { padding:10px 12px; font-size:11px }
    .redesigned-header .header-cta>svg:first-child { display:none }
    .home-hero { padding-top:43px }
    .home-hero-grid { gap:35px; grid-template-columns:1fr 1.15fr }
    .home-hero .home-headline { font-size:41px }
    .home-hero-description { font-size:13px }
    .home-hero-actions { gap:16px }
    .home-explore { font-size:12px; padding:10px 16px; gap:13px }
    .home-dates-link { font-size:11px }
    .home-proof { font-size:9px; gap:13px }
    .home-hero-stats { gap:17px; margin-top:27px }
    .home-hero-stats>div { min-width:0 }
    .home-hero-stats>div+div { padding-right:17px }
    .home-hero-stats strong { font-size:25px }
    .home-hero-stats>div>span { font-size:9px }
    .home-hero .calculator-card { padding:23px 20px 18px }
    .home-hero .calculator-card h2 { font-size:24px }
    .home-hero .grade-fields { gap:8px }
    .home-hero .grade-field label { font-size:10px }
    .home-hero .grade-input input { font-size:21px; padding-right:9px }
    .home-hero .calculator-submit { font-size:11px }
    .home-pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
    .home-pathway { padding:21px; gap:14px }
    .home-pathway p { font-size:11px }
    .home-pathway h3 { font-size:18px }
    .home-pathway-icon { width:45px; height:45px }
    .home-directory .university-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px }
    .home-steps article { padding:25px 23px }
    .home-journey-heading h2 { font-size:27px }
    .home-steps h3 { font-size:19px }
    .homepage .admission-banner { flex-wrap:wrap }
    .homepage .admission-banner .button { margin-right:93px }
    .homepage .faq-section { gap:45px }
    .footer-grid { grid-template-columns:1.5fr 1fr 1fr; gap:30px }
    .footer-official { grid-column:2 / 4; border-top:1px solid #FFFFFF12; padding-top:25px!important }
    .footer-official>p { max-width:none }
}
@media(max-width:760px) {
    .redesigned-header .main-nav { display:none; position:absolute; top:100%; right:0; left:0; height:auto; padding:14px 28px 22px; flex-direction:column; align-items:stretch; gap:3px; background:#fff; border-bottom:1px solid #142D4E16; box-shadow:0 15px 20px #0B172A0A }
    .redesigned-header .main-nav.is-open { display:flex }
    .redesigned-header .main-nav a { height:auto; padding:13px 14px; border-radius:6px; font-size:14px }
    .redesigned-header .main-nav a.active { background:#142D4E06 }
    .redesigned-header .main-nav a.active:after { right:0; width:3px; height:20px; top:50%; bottom:auto; transform:translateY(-50%) }
    .redesigned-header .menu-toggle { display:grid; place-items:center }
    .redesigned-header .header-cta { font-size:12px; padding:11px 14px }
    .home-hero-grid { grid-template-columns:1fr; gap:35px }
    .home-hero-copy { text-align:center; max-width:530px; margin:auto; padding:0 }
    .home-kicker { font-size:12px }
    .home-hero .home-headline { font-size:52px; margin-top:19px }
    .home-hero-description { margin:auto; max-width:430px; font-size:14px }
    .home-hero-actions,.home-proof,.home-hero-stats { justify-content:center }
    .home-proof { font-size:11px }
    .home-hero-stats { margin-top:30px; gap:30px; padding-top:22px }
    .home-hero-stats>div+div { padding-right:30px }
    .home-hero-stats strong { font-size:28px }
    .home-hero-stats>div>span { font-size:11px }
    .home-calculator-panel { justify-self:center; max-width:530px }
    .home-hero .calculator-card { padding:27px }
    .home-hero .calculator-card h2 { font-size:28px }
    .home-hero .grade-fields { gap:12px }
    .home-hero .grade-field label { font-size:12px }
    .home-hero .grade-input input { font-size:24px }
    .home-hero .calculator-submit { font-size:13px }
    .home-hero .field-hint,.home-hero .calculator-card>.field-hint:not(.calculator-status) { font-size:11px }
    .home-hero .formula-explanation p,.home-hero .calculator-note p { font-size:11px }
    .home-directory { padding-top:50px }
    .homepage .section-heading h2 { font-size:27px }
    .home-directory .section-count { display:none }
    .home-journey-heading>p { display:none }
    .home-journey-heading h2 { font-size:28px }
    .home-steps { grid-template-columns:1fr }
    .home-steps article { padding:26px; display:grid; grid-template-columns:50px 1fr; column-gap:20px }
    .home-steps article+article { border-right:0; border-top:1px solid #142D4E16 }
    .home-step-top { grid-row:1 / 4; flex-direction:column; justify-content:flex-start; gap:22px; margin:0; padding-top:5px }
    .home-steps p { max-width:none; margin-top:6px }
    .home-steps article>a { margin-top:15px }
    .home-steps h3 { font-size:21px }
    .homepage .faq-section { grid-template-columns:1fr; gap:27px }
    .homepage .faq-heading p { max-width:none }
    .homepage .faq-art { display:none }
    .footer-invitation h2 { font-size:24px }
    .footer-invitation>a { padding:12px 15px; gap:16px; white-space:nowrap; font-size:11px }
    .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; row-gap:28px }
    .footer-about { grid-column:1 / -1; padding-bottom:10px }
    .footer-about>p { max-width:440px }
    .footer-official { grid-column:1 / -1 }
    .redesigned-footer .footer-bottom { flex-wrap:wrap }
    .redesigned-footer .footer-bottom>span:nth-child(2) { display:none }
}
@media(max-width:480px) {
    .container { width:calc(100% - 36px) }
    .site-topbar>.container { min-height:29px; font-size:9px; justify-content:center }
    .site-topbar>.container>span:last-child { display:none }
    .topbar-separator { margin-inline:6px }
    .redesigned-header .header-inner { height:76px; gap:10px }
    .redesigned-header .brand { gap:8px }
    .redesigned-header .brand-mark { width:40px; height:45px }
    .redesigned-header .brand-name { font-size:15px }
    .redesigned-header .brand-name span { font-size:10px }
    .redesigned-header .header-actions { gap:7px }
    .redesigned-header .header-cta { font-size:10px; gap:6px; padding:9px 10px; border-radius:6px }
    .redesigned-header .header-cta>svg:last-child { width:14px; height:14px }
    .redesigned-header .menu-toggle { width:37px; height:37px; border-radius:6px }
    .redesigned-header .menu-toggle svg { width:21px }
    .redesigned-header .main-nav { padding-inline:18px }
    .home-hero { padding-top:36px }
    .home-hero-grid { padding-bottom:27px; gap:32px }
    .home-hero .home-headline { font-size:43px; line-height:1.65; margin:17px 0 18px }
    .home-kicker { font-size:11px }
    .home-hero-description { font-size:13px; line-height:2; max-width:335px }
    .home-hero-actions { margin-top:23px; gap:21px }
    .home-explore { min-height:44px; padding:10px 17px; font-size:12px }
    .home-dates-link { font-size:11px }
    .home-proof { font-size:10px; gap:18px; margin-top:18px }
    .home-hero-stats { gap:23px; margin-top:26px; padding-top:20px }
    .home-hero-stats>div+div { padding-right:23px }
    .home-hero-stats strong { font-size:25px }
    .home-hero-stats>div>span { font-size:9px }
    .home-hero .calculator-card { padding:23px 19px 18px; border-radius:10px }
    .home-hero .calculator-card h2 { font-size:25px }
    .home-hero .calculator-intro { font-size:11px }
    .home-hero .grade-fields { gap:8px }
    .home-hero .grade-field label { font-size:11px }
    .home-hero .grade-input input { height:58px; font-size:22px; padding-right:8px }
    .home-hero .grade-input>span { left:7px; font-size:13px; top:18px }
    .home-hero .calculator-submit { font-size:11px }
    .home-hero .field-hint,.home-hero .calculator-card>.field-hint:not(.calculator-status),.home-hero .formula-explanation p,.home-hero .calculator-note p { font-size:10px }
    .home-panel-label { font-size:10px }
    .home-hero-bottom { width:calc(100% - 36px); font-size:9px; padding:13px 0 }
    .home-pathways { padding-top:30px }
    .home-pathways-intro { flex-direction:column; align-items:flex-start; gap:7px; margin-bottom:17px }
    .home-pathways-intro h2 { font-size:23px }
    .home-section-label { font-size:11px }
    .home-pathway-grid { gap:10px }
    .home-pathway { padding:17px 14px; flex-direction:column; gap:11px; border-radius:8px }
    .home-pathway-icon { width:37px; height:37px; border-radius:7px }
    .home-pathway h3 { font-size:18px }
    .home-pathway p { font-size:9px; line-height:1.9 }
    .home-pathway-count { font-size:9px; margin-top:11px }
    .home-pathway>svg { left:12px; bottom:18px; width:16px; height:16px }
    .home-directory { padding-top:43px; padding-bottom:42px }
    .homepage .section-heading h2 { font-size:25px }
    .homepage .section-heading p { font-size:12px; line-height:1.9 }
    .home-directory .directory-tabs { gap:3px; justify-content:space-between; padding-bottom:13px }
    .home-directory .directory-tabs a { padding:7px 13px; font-size:11px }
    .home-directory .directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:17px; gap:8px }
    .home-directory .filter-submit { grid-column:1 / -1 }
    .home-directory .filter-select select { font-size:11px }
    .home-directory .search-field { height:47px; padding-inline:12px }
    .home-directory .search-field input { font-size:11px }
    .home-directory #specialties-help { margin-bottom:19px; font-size:9px }
    .home-directory .university-grid { grid-template-columns:1fr; gap:20px }
    .home-directory .institution-cover { height:185px }
    .home-directory .institution-card-body { padding-inline:21px }
    .home-directory .institution-card h3 { min-height:0; font-size:19px }
    .home-directory .institution-excerpt { font-size:12px }
    .home-directory .pagination { gap:10px; font-size:11px; justify-content:space-between }
    .home-directory .page-numbers { gap:5px }
    .home-directory .page-numbers a { width:31px; height:31px; font-size:11px }
    .home-journey { padding:37px 0 40px }
    .home-journey-heading { margin-bottom:23px }
    .home-journey-heading h2 { font-size:25px; line-height:1.7 }
    .home-steps article { padding:23px 18px; grid-template-columns:37px 1fr; column-gap:15px }
    .home-step-top>span { font-size:27px }
    .home-step-top>svg { width:24px; height:24px }
    .home-steps h3 { font-size:20px }
    .home-steps p { font-size:11px }
    .home-steps article>a { font-size:11px }
    .homepage .dates-section { padding:40px 0 30px }
    .homepage .date-heading-icon { padding:10px }
    .homepage .date-heading-icon svg { width:23px; height:23px }
    .homepage .admission-banner { padding:25px 22px; gap:18px }
    .homepage .banner-icon { width:43px; height:43px; border-radius:9px }
    .homepage .banner-icon svg { width:25px; height:25px }
    .homepage .banner-copy { flex-basis:100%; order:1 }
    .homepage .banner-copy h3 { font-size:21px }
    .homepage .banner-copy p { font-size:11px; line-height:2 }
    .homepage .admission-banner .button { margin:0; order:2; width:100%; font-size:12px }
    .homepage .faq-section { padding:20px 0 43px; gap:24px }
    .homepage .faq-heading h2 { font-size:27px }
    .homepage .faq-heading p { font-size:12px }
    .homepage .faq-list summary { font-size:12px; gap:13px }
    .homepage .faq-list details p { font-size:11px; padding-left:10px }
    .footer-invitation { flex-direction:column; align-items:flex-start; gap:21px; padding:29px 0 }
    .footer-invitation h2 { font-size:25px }
    .footer-invitation>a { font-size:12px; padding:11px 19px; min-height:44px }
    .footer-grid { padding:29px 0; gap:25px }
    .footer-about .brand-mark { width:49px; height:55px }
    .footer-about .brand-name { font-size:19px }
    .footer-about>p { font-size:11px }
    .footer-grid nav { gap:13px }
    .footer-grid nav h3 { font-size:12px }
    .footer-grid nav>a { font-size:11px }
    .footer-official { padding-top:22px!important }
    .redesigned-footer .footer-bottom { font-size:9px; gap:14px; padding:17px 0 }
}
@media(max-width:360px) {
    .redesigned-header .header-cta>svg { display:none }
    .redesigned-header .header-cta { padding:9px 8px }
    .redesigned-header .brand-name { font-size:14px }
    .home-hero .home-headline { font-size:38px }
    .home-hero .calculator-card { padding-inline:15px }
    .home-hero .grade-field label { font-size:10px }
    .home-hero .calculator-submit { font-size:10px; gap:8px }
    .home-directory .directory-tabs a { padding-inline:10px }
    .home-directory .pagination { flex-wrap:wrap; justify-content:center; column-gap:20px }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto }
    *,*:before,*:after { transition:none!important; animation:none!important }
}

/* Promoted institutes use the same directory cards and profile pages. */
.institution-ad-label { display:inline-block; color:#142D4EA6; font-size:10px; font-weight:400; line-height:1.6; padding:3px 7px; border:1px solid #142D4E20; border-radius:4px; background:#fff }
.results-featured { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:28px }
.institution-card--compact { padding:0; overflow:hidden }
.institution-card--compact .institution-card-body { padding:19px 23px 0 }
.institution-card--compact .card-top { margin:0; align-items:center }
.institution-card--compact .institution-logo { width:94px; height:57px; box-shadow:none; border:1px solid var(--line) }
.institution-card--compact .institution-logo img { max-height:43px }
.institution-card--compact h3 { min-height:0; margin:15px 0 18px; font-size:17px; line-height:1.8 }
.institution-card--compact .university-link { padding:13px 0; font-size:12px }
@media(max-width:640px) {
    .results-featured { grid-template-columns:1fr; gap:14px }
    .institution-card--compact .institution-card-body { padding:16px 19px 0 }
    .institution-card--compact h3 { font-size:16px; margin:12px 0 14px }
}
