:root{
  --navy:#0b2e59;
  --navy-2:#163f70;
  --blue:#2563eb;
  --blue-soft:#eaf2ff;
  --teal:#0f766e;
  --teal-soft:#e8f7f4;
  --amber:#a16207;
  --amber-soft:#fff7df;
  --red:#b42318;
  --red-soft:#fff0ee;
  --ink:#172033;
  --muted:#657086;
  --line:#dfe5ee;
  --surface:#ffffff;
  --surface-2:#f6f8fb;
  --surface-3:#eef3f8;
  --shadow:0 12px 34px rgba(14,41,74,.08);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface-2);line-height:1.5}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;border-radius:8px;z-index:1000}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,229,238,.9)}
.topbar-inner{height:72px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:max-content}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--navy);border-radius:11px;box-shadow:0 6px 14px rgba(11,46,89,.2)}
.brand-mark svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.brand-mark circle{fill:#2dd4bf;stroke:none}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:.96rem;letter-spacing:.01em}.brand-copy small{color:var(--muted);font-size:.75rem;margin-top:3px}
.desktop-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav-link{border:0;background:transparent;color:#435067;padding:9px 11px;border-radius:9px;font-weight:650;font-size:.88rem}
.nav-link:hover{background:var(--surface-3);color:var(--navy)}.nav-link.active{background:var(--blue-soft);color:var(--blue)}
.top-actions{display:flex;align-items:center;gap:10px}.shortlist-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--navy);font-weight:700;font-size:.84rem;display:flex;align-items:center;gap:6px}.shortlist-button:hover{border-color:#b9c6d8}.count-badge{min-width:20px;height:20px;border-radius:20px;background:var(--navy);color:#fff;display:inline-grid;place-items:center;font-size:.7rem;padding:0 6px}
.menu-button{display:none;border:0;background:transparent;width:38px;height:38px;border-radius:9px;padding:9px}.menu-button:hover{background:var(--surface-3)}.menu-button span{display:block;height:2px;background:var(--navy);margin:4px 0;border-radius:2px}
.mobile-nav{border-top:1px solid var(--line);background:#fff}.mobile-nav .shell{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 0 14px}.mobile-nav .nav-link{text-align:left}
.hero{background:linear-gradient(135deg,#f7fbff 0%,#edf5ff 52%,#f8fbff 100%);border-bottom:1px solid #dce8f5}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center;padding:54px 0 50px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:.72rem;color:var(--blue)}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:14px}.status-dot{width:8px;height:8px;border-radius:50%;background:#13a37c;box-shadow:0 0 0 4px rgba(19,163,124,.12)}
.hero h1{font-size:clamp(2rem,4vw,3.45rem);line-height:1.05;max-width:820px;margin:0 0 18px;letter-spacing:-.035em;color:#10233f}.hero> .shell p,.hero-grid>div>p{font-size:1.05rem;color:#52627b;max-width:750px;margin:0}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-tags span{background:#fff;border:1px solid #d7e4f2;color:#274563;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}
.hero-note{display:flex;gap:13px;background:rgba(255,255,255,.82);border:1px solid #d5e2f1;border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(25,64,106,.06)}.hero-note-icon{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-family:Georgia,serif}.hero-note strong{font-size:.9rem}.hero-note p{margin:4px 0 0!important;font-size:.82rem!important;color:#66758c!important;line-height:1.5}
.content-shell{padding:42px 0 64px}.view{animation:fade .2s ease}.view[hidden]{display:none}@keyframes fade{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.section-head h2{font-size:1.75rem;letter-spacing:-.02em;margin:2px 0 4px}.kicker{margin:0 0 3px}.section-description{margin:0;color:var(--muted);font-size:.94rem}
.route-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.route-card{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px;color:var(--ink);transition:.15s ease}.route-card:hover{border-color:#b9c9dd;transform:translateY(-1px)}.route-card.selected{border-color:#8ab6f5;background:#f6faff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.route-icon{width:40px;height:40px;border-radius:11px;background:var(--surface-3);display:grid;place-items:center;font-size:.73rem;font-weight:900;color:var(--navy)}.route-card.selected .route-icon{background:var(--navy);color:#fff}.route-card span:last-child{display:flex;flex-direction:column}.route-card strong{font-size:.91rem}.route-card small{color:var(--muted);font-size:.75rem;margin-top:2px}
.filter-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:24px}.field-grid{display:grid;gap:16px}.primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:.78rem;font-weight:780;color:#344158}.field em{font-style:normal;color:var(--blue);font-size:.68rem;text-transform:uppercase;margin-left:4px}.field small{font-size:.72rem;color:#8290a4}.field input,.field select{width:100%;border:1px solid #ccd5e2;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:none;min-height:44px}.field input:focus,.field select:focus{border-color:#6ea6f6;box-shadow:0 0 0 3px rgba(37,99,235,.11)}.field.compact{min-width:155px}.field.grow{flex:1}.advanced-filters{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.advanced-filters summary{cursor:pointer;list-style:none;font-size:.8rem;font-weight:800;color:var(--navy);display:flex;gap:8px;align-items:center}.advanced-filters summary::-webkit-details-marker{display:none}.advanced-filters summary:before{content:"+";width:22px;height:22px;border-radius:7px;background:var(--surface-3);display:grid;place-items:center}.advanced-filters[open] summary:before{content:"−"}.advanced-filters summary span{font-weight:500;color:var(--muted)}.advanced-filters .field-grid{margin-top:16px}.form-actions{display:flex;align-items:center;gap:10px;margin-top:20px}
.primary-button,.secondary-button,.ghost-button,.icon-button{border-radius:10px;font-weight:750}.primary-button{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:11px 16px;box-shadow:0 6px 14px rgba(11,46,89,.14)}.primary-button:hover{background:#153d6a}.secondary-button{border:1px solid #b8c5d6;background:#fff;color:var(--navy);padding:9px 13px}.secondary-button:hover{background:var(--surface-3)}.ghost-button{border:0;background:transparent;color:#536176;padding:10px 12px}.ghost-button:hover{background:var(--surface-3)}.ghost-button.danger{color:var(--red)}
.results-area{min-height:260px}.empty-state{background:#fff;border:1px dashed #c9d3df;border-radius:16px;padding:46px 24px;text-align:center}.empty-visual{width:48px;height:48px;background:var(--blue-soft);color:var(--blue);border-radius:14px;display:grid;place-items:center;margin:0 auto 12px;font-size:1.4rem;font-weight:900}.empty-state h3{margin:0 0 7px;font-size:1rem}.empty-state p{margin:0 auto;max-width:560px;color:var(--muted);font-size:.86rem}
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 15px}.summary-card span{display:block;color:var(--muted);font-size:.72rem;font-weight:650;margin-bottom:4px}.summary-card strong{font-size:1.2rem;color:#17314f}.summary-card small{display:block;color:#8994a5;font-size:.68rem;margin-top:2px}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;padding:12px 14px}.results-toolbar-left{display:flex;align-items:center;gap:9px;min-width:0}.results-toolbar h3{font-size:.91rem;margin:0}.results-toolbar p{margin:0;color:var(--muted);font-size:.73rem}.sort-select{border:1px solid #ccd5e2;border-radius:9px;padding:7px 9px;background:#fff;color:#3f4d62;font-size:.75rem}.result-count-badge{background:var(--surface-3);border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:800;color:#4b5d74;white-space:nowrap}
.data-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 20px rgba(15,44,80,.04);margin-bottom:18px}.data-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line)}.data-card-head h3{margin:0 0 3px;font-size:.98rem}.data-card-head p{margin:0;color:var(--muted);font-size:.77rem}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}.table-wrap th{background:#fafbfd;color:#667287;text-align:left;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap td{padding:12px;border-bottom:1px solid #edf0f4;font-size:.79rem;vertical-align:top}.table-wrap tbody tr:hover{background:#fbfdff}.table-wrap tbody tr:last-child td{border-bottom:0}.rank-cell strong{display:block;font-size:.82rem}.rank-cell small{color:var(--muted);font-size:.7rem}.institute-cell{max-width:330px}.institute-cell strong{display:block}.institute-cell small{display:block;color:var(--muted);margin-top:2px}.nowrap{white-space:nowrap}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:800;white-space:nowrap}.badge.blue{background:var(--blue-soft);color:#1d4ed8}.badge.teal{background:var(--teal-soft);color:var(--teal)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.gray{background:#eef1f5;color:#5e6877}.badge.red{background:var(--red-soft);color:var(--red)}
.cutoff-status{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800}.cutoff-status.within{color:var(--teal)}.cutoff-status.beyond{color:#8a5b14}.cutoff-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.margin-positive{color:var(--teal);font-weight:800}.margin-negative{color:#8a5b14;font-weight:800}
.star-button{border:1px solid #d6dee9;background:#fff;color:#8a95a6;border-radius:9px;width:34px;height:34px;font-size:1rem;display:grid;place-items:center}.star-button:hover,.star-button.active{color:#a16207;background:#fff8db;border-color:#ead28b}.star-button.active{font-weight:900}
.mobile-results{display:none}.result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.result-card-head{display:flex;justify-content:space-between;gap:12px}.result-card h4{margin:0;font-size:.88rem}.result-card .specialty{color:#4f5d72;font-size:.77rem;margin-top:2px}.result-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.result-card-ranks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.rank-box{background:var(--surface-2);border-radius:9px;padding:9px}.rank-box span{display:block;color:var(--muted);font-size:.65rem}.rank-box strong{font-size:.83rem}.result-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f4}
.explorer-toolbar{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:18px;box-shadow:0 5px 16px rgba(16,46,82,.04)}.explorer-results .data-card{margin-top:0}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.stat-pill{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat-pill span{display:block;font-size:.69rem;color:var(--muted)}.stat-pill strong{display:block;margin-top:2px;font-size:1rem}.range-rail{height:6px;background:#eef2f6;border-radius:99px;position:relative;overflow:hidden;margin-top:6px;min-width:110px}.range-rail i{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#4c88e9,#1d4ed8);border-radius:99px}
.notice{border-radius:13px;padding:13px 15px;margin-bottom:16px;font-size:.83rem}.warning-notice{background:var(--amber-soft);border:1px solid #edd89e;color:#6e5017}.availability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.availability-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.availability-card h3{margin:0 0 3px;font-size:.9rem}.availability-card p{margin:0;color:var(--muted);font-size:.73rem}.availability-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.availability-metrics div{background:var(--surface-2);border-radius:9px;padding:8px}.availability-metrics span{display:block;font-size:.62rem;color:var(--muted)}.availability-metrics strong{font-size:.88rem}
.evidence-flow{display:flex;align-items:stretch;gap:8px;padding:18px;overflow:auto}.evidence-flow>div{min-width:150px;background:var(--teal-soft);border:1px solid #bee8df;border-radius:12px;padding:11px}.evidence-flow>div.evidence-caution{background:var(--amber-soft);border-color:#ecd79c}.evidence-flow span{display:block;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#5d6877}.evidence-flow strong{display:block;font-size:.82rem;margin-top:3px}.evidence-flow small{display:block;color:var(--muted);font-size:.67rem;margin-top:2px}.evidence-flow i{display:grid;place-items:center;font-style:normal;color:#98a5b7}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.method-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;position:relative}.method-number{font-size:.68rem;font-weight:900;color:#7ea6d5}.method-card h3{margin:5px 0 7px;font-size:.95rem}.method-card p{margin:0;color:var(--muted);font-size:.81rem;line-height:1.6}.method-detail{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden}.method-detail summary{list-style:none;cursor:pointer;padding:14px 16px;font-size:.84rem;font-weight:800;display:flex;justify-content:space-between}.method-detail summary::-webkit-details-marker{display:none}.method-detail summary:after{content:"+";color:var(--muted)}.method-detail[open] summary:after{content:"−"}.method-detail>div{border-top:1px solid var(--line);padding:13px 16px;color:#5f6d81;font-size:.81rem}.method-detail p{margin:0}.method-detail ul{margin:0;padding-left:18px}.method-detail li+li{margin-top:7px}.method-detail code{background:#f0f3f7;border-radius:5px;padding:2px 5px}
.site-footer{background:#102a48;color:#dbe6f3;padding:28px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px}.site-footer strong{color:#fff;font-size:.9rem}.site-footer p{max-width:650px;margin:5px 0 0;color:#aebed0;font-size:.76rem}.footer-meta{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.footer-meta span{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 8px;font-size:.68rem;color:#c8d6e6}
.modal-backdrop{position:fixed;inset:0;background:rgba(12,26,44,.48);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(920px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:1.25rem}.icon-button{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:#556277;font-size:1.35rem}.modal #shortlistBody{padding:16px}.modal-actions{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}.shortlist-empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:.84rem}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#172b46;color:#fff;padding:10px 14px;border-radius:10px;font-size:.78rem;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:.2s;z-index:200}.toast.show{opacity:1;transform:translate(-50%,0)}
.loading{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;color:var(--muted);font-size:.8rem}.spinner{width:18px;height:18px;border:2px solid #d9e1ec;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.desktop-nav{display:none}.menu-button{display:block}.hero-grid{grid-template-columns:1fr;gap:22px}.hero-note{max-width:680px}.primary-grid{grid-template-columns:repeat(2,1fr)}.advanced-grid{grid-template-columns:repeat(2,1fr)}.summary-strip{grid-template-columns:repeat(2,1fr)}.availability-grid{grid-template-columns:1fr}.explorer-toolbar{flex-wrap:wrap}.explorer-toolbar .grow{flex:1 1 100%}.stat-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.shell{width:min(100% - 22px,1180px)}.topbar-inner{height:64px}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:.88rem}.shortlist-button{padding:7px 9px}.shortlist-button>span:first-child{display:none}.hero-grid{padding:34px 0 32px}.hero h1{font-size:2rem}.hero-grid>div>p{font-size:.94rem}.content-shell{padding:28px 0 46px}.section-head{align-items:flex-start;flex-direction:column}.section-head .secondary-button{align-self:flex-start}.route-switch{grid-template-columns:1fr}.filter-panel{padding:15px;border-radius:15px}.primary-grid,.advanced-grid{grid-template-columns:1fr}.advanced-filters summary span{display:none}.form-actions{flex-direction:column;align-items:stretch}.primary-button,.form-actions .ghost-button{width:100%}.summary-strip{grid-template-columns:1fr 1fr}.desktop-results{display:none}.mobile-results{display:grid;gap:10px}.results-toolbar{border-radius:13px;margin-bottom:10px;border:1px solid var(--line);align-items:flex-start}.results-toolbar{flex-direction:column}.results-toolbar-right{width:100%}.sort-select{width:100%}.explorer-toolbar{display:grid;grid-template-columns:1fr}.field.compact{min-width:0}.stat-row{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr}.footer-grid{flex-direction:column}.footer-meta{justify-content:flex-start}.availability-metrics{grid-template-columns:1fr 1fr 1fr}.evidence-flow{padding:14px}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px);border-radius:15px}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1}.hero-tags span{font-size:.7rem}.top-actions{gap:5px}}
@media(max-width:420px){.shortlist-button{font-size:0;width:38px;height:38px;padding:0;justify-content:center}.shortlist-button:before{content:"★";font-size:.95rem}.shortlist-button .count-badge{position:absolute;margin:-25px 0 0 24px;min-width:17px;height:17px;padding:0 4px}.summary-strip{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr}.hero-note{padding:14px}.brand-copy small{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
