/* Shared visual system for the public university observatory. */
:root {
  --paper:#f7f8fa; --surface:#ffffff; --ink:#132c48; --muted:#5d6b7c;
  --line:#dce2e9; --accent:#a7442d; --accent-soft:#f8ebe5;
  --deep:#132c48; --mint:#eaf0f5; --focus:#1667ab;
  --font:"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --serif:Georgia,"Noto Serif CJK SC","Songti SC","SimSun",serif;
  --r-bg:var(--paper); --r-card:var(--surface); --r-ink:var(--ink);
  --r-muted:var(--muted); --r-accent:var(--accent); --r-line:var(--line);
  --shadow:0 12px 36px #142c4810; --soft-paper:#f2eee7;
}
html[data-theme=dark] {
  --paper:#111d2c; --surface:#18283b; --ink:#eef3f8; --muted:#b0bfd0;
  --line:#34475c; --accent:#efad97; --accent-soft:#3e302f;
  --deep:#0b1c30; --mint:#21354c; --focus:#82c1f3;
  --r-bg:var(--paper); --r-card:var(--surface); --r-ink:var(--ink);
  --r-muted:var(--muted); --r-accent:var(--accent); --r-line:var(--line);
  --shadow:0 12px 36px #0002; --soft-paper:#192839;
}
body {font-size:15px;line-height:1.75;letter-spacing:.01em}
main {min-height:52vh}
main:focus {outline:none}
.wrap {width:min(1280px,calc(100% - 96px))}
.wrap.narrow {max-width:880px}
.eyebrow {font-size:10px;letter-spacing:1.7px;font-weight:650}
.button {border-radius:3px;padding:13px 23px;min-height:48px;gap:25px;letter-spacing:.02em}
.button:hover {background:var(--accent);border-color:var(--accent);color:var(--surface)}
html[data-theme=dark] .button:hover {color:#132c48}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--focus);outline-offset:4px}
.masthead {background:var(--surface);border-bottom:1px solid var(--line)}
.masthead-inner {width:min(1392px,calc(100% - 72px));min-height:86px;gap:28px}
.brand {gap:10px;flex-shrink:0}
.brand-mark {color:var(--accent);flex-shrink:0;width:31px;height:36px}
.brand-cn {font-size:30px;letter-spacing:-1.5px;font-weight:800}
.brand-en {font-size:8px;font-weight:650;line-height:1.55;letter-spacing:.85px;padding-left:12px;margin-left:3px}
.main-nav {gap:26px}
.main-nav a {font-size:13px;white-space:nowrap;letter-spacing:.04em;padding:31px 0;font-weight:600}
.main-nav a[aria-current=page]:after {bottom:20px;height:2px}
.header-actions {gap:16px}
.icon-button {width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0}
.header-search {font-size:12px;gap:17px;padding-left:20px}
.breadcrumb {display:flex;align-items:center;gap:11px;padding-top:28px;margin-bottom:0;font-size:11px;color:var(--muted)}
.breadcrumb span[aria-hidden] {opacity:.5}
.page-heading {padding:40px 0 34px}
.page-heading h1 {font-size:clamp(34px,4vw,52px);letter-spacing:-1.8px;line-height:1.4}
.page-heading p {font-size:14px;line-height:1.9}
.section {padding-top:76px;padding-bottom:76px}
.section-heading {margin-bottom:30px}
.section-heading h2 {font:650 30px/1.5 var(--serif);letter-spacing:-.5px}
.section-heading .eyebrow {margin-bottom:13px;font-size:10px}
.arrow-link {display:flex;align-items:center;gap:30px;padding-bottom:6px}
.insight-hero {background:var(--surface);overflow:hidden;border-bottom:1px solid var(--line)}
.insight-hero-grid {display:grid;grid-template-columns:1.03fr 1fr;gap:80px;align-items:center;padding-top:62px;padding-bottom:62px}
.hero-overline {display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.8px;color:var(--muted)}
.status-dot {width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block}
.insight-copy h1 {font:700 clamp(44px,4.8vw,68px)/1.3 var(--serif);letter-spacing:-2px;margin:26px 0 23px}
.insight-copy h1 em {font-style:normal;color:var(--accent)}
.hero-description {font-size:15px;line-height:1.95;color:var(--muted)}
.insight-copy .hero-search {box-shadow:0 4px 20px #142c4807;border:1px solid var(--line);height:59px;margin-top:30px;max-width:none;border-radius:3px;overflow:hidden}
.hero-search>svg {margin-left:18px;flex-shrink:0;color:var(--muted)}
.hero-search input {font-size:13px;padding:15px 12px}
.hero-search button {min-width:99px;background:#132c48;color:#fff;border-color:#132c48;transition:background .15s}
.hero-search button:hover {background:#254b71}
.hero-shortcuts {font-size:11px;gap:18px;align-items:center;margin-top:20px;font-weight:500}
.hero-shortcuts>span {color:var(--muted);font-size:10px;margin-right:3px}
.atlas-panel {background:#132c48;color:#f5f7fb;padding:26px 30px 22px;position:relative;border-radius:3px;box-shadow:var(--shadow)}
.atlas-top {display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;padding-bottom:18px;font-size:9px;letter-spacing:1.35px;color:#c4d4e4;gap:15px}
.knowledge-atlas {width:100%;height:auto;display:block;margin:7px 0 0}
.atlas-bottom {display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid #ffffff26;padding-top:19px}
.atlas-bottom .eyebrow {font-size:9px;letter-spacing:1.2px;color:#b8cbe0}
.atlas-bottom h2 {font:500 23px/1.6 var(--serif);margin-top:8px;letter-spacing:.02em}
.atlas-link {display:grid;place-items:center;border:1px solid #c4d4e473;border-radius:50%;width:44px;height:44px;flex-shrink:0;color:#f1b7a0;font-size:24px}
.atlas-link:hover {color:#fff;border-color:#fff}
.atlas-caption {font-size:9px;color:#aebfd1;margin-top:14px;letter-spacing:.05em}
.data-ribbon {background:var(--paper)}
.ribbon-grid {padding:29px 0}
.ribbon-grid a {gap:17px;padding:0 32px}
.ribbon-grid strong {font:500 37px/1.2 Georgia,serif;letter-spacing:-1.3px}
.ribbon-grid span {font-size:10px;line-height:1.85}
.subject-grid {gap:18px;border:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.subject-card {min-height:300px;border:1px solid var(--line)!important;padding:22px 23px 25px;border-radius:3px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.subject-card:hover {background:var(--surface);box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--accent)!important}
.subject-card-top {display:flex;justify-content:space-between;align-items:center}
.subject-number {font:italic 17px Georgia,serif;color:var(--muted)}
.subject-card .subject-arrow {position:static;font-size:19px;color:var(--muted)}
.subject-card small {font-size:10px;line-height:1.65}
.subject-card h3 {font-size:17px;margin:9px 0 10px;letter-spacing:-.3px}
.subject-card p {font-size:10px}
.subject-card p b {font-size:12px;font-weight:600;color:var(--accent)}
.subject-art {height:95px;position:relative;width:100%;color:var(--accent);margin:7px 0 15px}
.subject-art i {display:block;position:absolute;border:1px solid currentColor;opacity:.75}
.subject-art-molecule i {width:23px;height:23px;border-radius:50%;top:33px;left:calc(50% - 11px)}
.subject-art-molecule i:nth-child(2) {transform:translate(-36px,-24px);width:16px;height:16px}
.subject-art-molecule i:nth-child(3) {transform:translate(32px,-17px);width:20px;height:20px}
.subject-art-molecule i:nth-child(4) {transform:translate(4px,33px);width:14px;height:14px}
.subject-art-molecule:before,.subject-art-molecule:after {content:"";position:absolute;left:calc(50% - 25px);top:35px;width:55px;height:1px;background:currentColor;transform:rotate(18deg);opacity:.4}
.subject-art-molecule:after {left:calc(50% - 7px);width:1px;height:42px;top:39px;transform:rotate(-9deg)}
.subject-art-material i {width:48px;height:48px;left:calc(50% - 24px);top:13px;transform:rotate(30deg) skewY(-12deg)}
.subject-art-material i:nth-child(2) {top:25px;opacity:.5}.subject-art-material i:nth-child(3) {top:37px;opacity:.35}.subject-art-material i:nth-child(4) {top:49px;opacity:.18}
.subject-art-compute i {width:42px;height:42px;left:calc(50% - 21px);top:25px;border-radius:3px}
.subject-art-compute i:nth-child(2) {width:24px;height:24px;left:calc(50% - 12px);top:34px;opacity:.4}
.subject-art-compute i:nth-child(3) {width:68px;height:20px;left:calc(50% - 34px);top:36px;border-left:0;border-right:0;opacity:.45}
.subject-art-compute i:nth-child(4) {width:20px;height:68px;left:calc(50% - 10px);top:12px;border-top:0;border-bottom:0;opacity:.45}
.subject-art-mechanical i {width:61px;height:61px;left:calc(50% - 30px);top:19px;border-radius:50%}
.subject-art-mechanical i:nth-child(2) {width:38px;height:38px;left:calc(50% - 19px);top:31px;opacity:.4}
.subject-art-mechanical i:nth-child(3) {width:8px;height:83px;border-radius:0;left:calc(50% - 4px);top:8px;transform:rotate(36deg);opacity:.4}
.subject-art-mechanical i:nth-child(4) {width:83px;height:8px;border-radius:0;left:calc(50% - 41px);top:46px;transform:rotate(36deg);opacity:.4}
.engineering-feature {background:var(--soft-paper);border-block:1px solid var(--line)}
.engineering-feature-grid {display:grid;grid-template-columns:.82fr 1.18fr;gap:88px;padding-block:56px;align-items:center}
.engineering-art {position:relative;min-height:350px;background:#e4d9cc;border:1px solid #c4b9ae;overflow:hidden;color:#753d31}
.engineering-art:before {content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 39px,#826c5212 39px,#826c5212 40px),repeating-linear-gradient(0deg,transparent 0,transparent 39px,#826c5212 39px,#826c5212 40px)}
.engineering-art-label {position:absolute;left:25px;top:23px;font:600 9px/1.7 var(--font);letter-spacing:1.7px}
.engineering-character {position:absolute;top:69px;left:40px;font:400 224px/1 var(--serif);transform:rotate(-8deg);letter-spacing:-8px}
.engineering-art-foot {position:absolute;right:24px;bottom:25px;font:500 12px/1.9 var(--serif);letter-spacing:3px;writing-mode:vertical-rl}
.engineering-orbit {position:absolute;width:260px;height:260px;top:96px;left:87px;border:1px solid #9f7763;transform:rotate(20deg);border-radius:50%}
.engineering-copy>.eyebrow {color:var(--accent)}
.engineering-copy h2 {font:650 clamp(30px,3vw,40px)/1.5 var(--serif);letter-spacing:-.8px;margin:16px 0 20px}
.engineering-copy>p {font-size:13px;line-height:2;color:var(--muted);max-width:540px}
.feature-topics {display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 25px}
.feature-topics span {font-size:10px;color:var(--muted);border:1px solid var(--line);padding:4px 10px;background:var(--surface)}
.feature-secondary {font-size:11px;margin-left:18px;white-space:nowrap}
.tool-grid {gap:26px}
.tool-card {border:1px solid var(--line);border-top:2px solid var(--ink);padding:28px;min-width:0;background:var(--surface);border-radius:2px}
.tool-card:hover {box-shadow:var(--shadow);border-top-color:var(--accent)}
.tool-card h3 {font-size:20px}.tool-card p {font-size:13px;line-height:1.9;margin-bottom:24px}
.tool-icon {font-size:35px;height:57px}.tool-card>span:last-child {font-size:11px}
.principle-band {background:var(--surface);border-top:1px solid var(--line)}
.principle-inner {padding-block:50px;display:grid;grid-template-columns:1fr auto;gap:12px 40px;align-items:center}
.principle-inner>.eyebrow {grid-column:1/-1;color:var(--accent);font-size:9px}
.principle-inner h2 {font:550 30px/1.5 var(--serif)}
.principle-inner p {font-size:12px;color:var(--muted);grid-row:3}
.principle-inner>a {grid-column:2;grid-row:2/4;font-size:12px;display:flex;align-items:center;gap:44px;border-bottom:1px solid var(--line);padding-bottom:9px}
.filter-panel,.results-filters {background:var(--surface);box-shadow:0 3px 16px #142c4803;border-radius:4px;padding:24px}
.field input,.field select,.results-filters input,.results-filters select {background:var(--paper);border-color:var(--line);font-size:13px;min-height:46px;border-radius:3px}
.field label,.results-filters label {font-size:11px;color:var(--muted);font-weight:600}
.university-card {border-radius:4px;box-shadow:0 2px 10px #142c4803;transition:border-color .15s,box-shadow .15s}
.university-card:hover {border-color:#9aacbf;box-shadow:var(--shadow)}
.school-seal {border:1px solid var(--line);background:var(--paper);border-radius:8px;color:var(--accent);font-size:14px;width:43px;flex-shrink:0}
.card-top h2 {font-size:18px}.card-top .eyebrow {font-size:9px;line-height:1.7}
.subject-teaser {border-top:1px solid var(--line)}
.card-foot {border-top:1px solid var(--line);margin-top:auto;padding-top:12px}
.school-place {margin:20px 0 16px}.subject-teaser {padding-bottom:12px;margin-bottom:12px}
.card-foot .text-button {padding:8px 9px;min-height:40px;border-radius:3px}
.compare-add[aria-pressed=true] {color:var(--accent);background:var(--accent-soft)}
.school-hero {padding:43px 0 36px}.school-emblem {clip-path:none;border-radius:5px;background:var(--mint);color:var(--accent);border:1px solid var(--line);height:90px}
.school-hero h1 {font-size:40px}.local-nav {gap:32px}
.local-nav a {padding:8px 0}.profile-subjects>a {border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:3px}
.reference-grid article {border-radius:4px}.source-note {max-width:none}
.table-scroll,.result-table-scroll {border:1px solid var(--line);border-top:2px solid var(--ink);background:var(--surface);border-radius:3px;overscroll-behavior-inline:contain;scrollbar-width:thin}
table {font-size:12px;line-height:1.65}thead {background:var(--mint)}
th,td {padding:17px 18px}tbody tr:hover {background:var(--paper)}
.admission-table .score {font:500 24px/1.4 Georgia,serif;color:var(--accent)}
.tie-details summary {padding:5px 0;min-height:32px}
.comparison-table thead th,.comparison-table tbody th {background:var(--mint)}
.comparison-table thead th:first-child,.comparison-table tbody th:first-child {position:sticky;left:0;z-index:1;border-right:1px solid var(--line)}
.discipline-row {padding:26px 5px 26px 0}.discipline-row:hover {background:var(--surface)}
.tag {border-radius:3px;padding:7px 11px;font-size:11px}.discipline-school h2 {font-size:18px}
.pagination a {padding:8px 14px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}
.ranking-head {background:var(--surface);padding-top:43px}.ranking-head h1 {font-size:48px}
.rule-label {border-top:1px solid var(--line);font-size:9px;letter-spacing:1.5px}
.metric-nav a[aria-current=page] {background:#132c48;box-shadow:inset 0 -3px #d38d74}
.metric-nav a {padding:19px 22px}.metric-nav a>strong {font-size:16px}
.scope-strip {font-size:11px}.research-table .num {font-size:20px}
.result-pagination [aria-current=page] {background:#132c48}
.research-table th small {font-size:10px}.research-table th,.research-table td {padding:17px 16px}
.research-table .ordinal {font-size:21px}.research-table thead {background:var(--mint)}
.evidence-caption {border-left:2px solid var(--accent);border-radius:0 3px 3px 0;background:var(--mint)}
.metric-cards article {border-radius:4px;box-shadow:0 2px 10px #142c4803}
.metric-cards article>strong {font-size:40px}.detail-grid article {border-radius:4px}
.article-heading {max-width:none}.article-heading h1 {font-size:51px}.article-deck {font-size:16px}
.article-layout {grid-template-columns:210px minmax(0,810px);gap:66px;justify-content:start}
.article-toc a {padding:3px 0}.prose p {font-size:14px;line-height:2.05}
.prose h2 {font:650 27px/1.5 var(--serif)}.article-callout {font-size:18px;border-left-width:2px}
.prose .table-scroll a {border-bottom:0}.article-meta {font-size:11px}
.journal-art {background:#132c48;color:#f0b197}.journal-art span {border-color:#7892ad}
.journal-links h2 {font:550 24px/1.6 var(--serif)}
.footer {margin-top:0;background:var(--surface);padding-top:46px}
.footer-grid {grid-template-columns:1.7fr 1fr 1fr 1fr;gap:55px;padding-bottom:40px}
.footer-brand {font-size:27px;gap:16px;flex-wrap:wrap}.footer-brand span {font-size:8px;letter-spacing:1px}
.footer-grid p {font-size:14px}.footer-grid small {font-size:10px;line-height:1.8}
.footer-grid h2 {font-size:11px}.footer-grid>div>a:not(.footer-brand) {font-size:11px;margin-bottom:10px}
.footer-wordmark {display:block;letter-spacing:2px;font-size:10px;margin-top:15px;color:var(--muted)}
.footer-bottom {font-size:10px;padding-top:21px}
.compare-tray {background:#132c48;color:#f5f7fb;border-top:1px solid #8ba5bf}
.tray-limit {font-weight:400;color:#b5c7d8}.tray-chip {border-radius:3px;background:#ffffff08}
.tray-chip button {min-width:28px;min-height:28px}.tray-inner .button {background:#fff;color:#132c48;border-color:#fff}
.toast {background:#132c48;color:#fff;border:1px solid #7892ad}
.caption,.source-note p {line-height:1.9}
.page-engineering main>.wrap>section {padding-bottom:55px}
.page-engineering .source-note {border:0;padding:0;margin:15px 0 24px;font-size:12px;line-height:1.9;color:var(--muted)}
.page-engineering .tool-card {padding:24px;min-height:0}
.page-engineering .tool-card>.eyebrow {color:var(--muted);font-size:9px;margin-bottom:12px}
.page-engineering .tool-card h3 {font-size:19px;margin-bottom:17px}
.page-engineering .profile-subjects {gap:8px;display:flex}
.page-engineering .profile-subjects>.tag {min-width:0;max-width:100%;width:auto;font-size:11px;padding:7px 10px;border:1px solid var(--line);background:var(--paper);line-height:1.7}
.page-engineering .tool-card .source-note {margin:17px 0 0;font-size:10px;border-top:1px solid var(--line);padding-top:13px}
.page-engineering table {min-width:790px;font-size:12px}
.page-engineering table caption {text-align:left;padding:16px 20px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line)}
.page-engineering .article-callout {padding:32px;margin:0 0 50px}
.page-engineering .article-callout h2 {font:600 28px/1.6 var(--serif);margin:15px 0}
.page-engineering .article-callout p {font:400 14px/2 var(--font);margin:15px 0}
.page-engineering .article-callout .button {margin-top:9px}
.page-engineering #evidence-heading~p {font-size:13px;color:var(--muted)}
.page-method .method-layout.section {padding-top:15px}
.method-dimensions {display:grid;gap:15px;margin-top:25px}
.dimension-card {border:1px solid var(--line);background:var(--surface);border-radius:4px;overflow:hidden}
.dimension-title {display:flex;align-items:flex-start;gap:18px;padding:25px}
.dimension-title h3 {margin:0 0 7px;font-size:19px}.dimension-title p {font-size:12px;line-height:1.85}
.dimension-number {font:italic 15px Georgia,serif;color:var(--accent);padding-top:3px}
.dimension-title>div:nth-child(2) {flex:1;min-width:0}
.dimension-weight {display:flex;flex-direction:column;text-align:right;min-width:67px}
.dimension-weight strong {font:400 35px/1.2 Georgia,serif;color:var(--accent)}.dimension-weight strong small {font-size:17px;margin-left:2px}
.dimension-weight>span {font-size:9px;color:var(--muted);margin-top:6px}
.dimension-details {border-top:1px solid var(--line)}
.dimension-details summary {padding:12px 25px;font-size:11px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.dimension-details summary::-webkit-details-marker {display:none}.dimension-details summary span {font-size:17px;font-weight:400}
.dimension-details[open] summary {background:var(--paper)}.dimension-details[open] summary span {transform:rotate(45deg)}
.dimension-details>div {padding:20px 25px}.dimension-details>div>p {font-size:12px}
.dimension-details dl {margin:18px 0 0}.dimension-details dt {font-size:13px;font-weight:650;margin-top:17px;display:flex;gap:15px;justify-content:space-between}
.dimension-details dt span {font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap}
.dimension-details dd {font-size:12px;line-height:1.9;color:var(--muted);margin:6px 0 0}
.method-status {margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px!important}
.method-rules {padding:0;margin:0 0 25px;list-style:none;display:grid;gap:0}
.method-rules li {display:flex;gap:19px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.method-rules li>span {font:italic 15px Georgia,serif;color:var(--accent);padding-top:4px}.method-rules li>p {font-size:13px}
.method-exclusions {display:flex;flex-wrap:wrap;gap:8px}
.method-reading {display:grid;gap:21px}.method-reading section {padding-bottom:22px;border-bottom:1px solid var(--line)}
.method-reading h3 {margin:0 0 9px}.method-reading a {display:inline-block;font-size:12px;margin-top:12px;color:var(--accent)}
.method-references section {margin-bottom:24px}.method-references h3 {margin-top:0}.method-references p {font-size:12px}
@media(min-width:1500px) {.insight-copy h1 {font-size:72px}.insight-hero-grid {gap:90px;padding-block:74px}}
@media(max-width:1200px) {
  .masthead-inner {width:calc(100% - 48px);gap:20px}.brand-en {display:none}.main-nav {gap:23px}
  .wrap {width:calc(100% - 72px)}.insight-hero-grid {gap:48px}.insight-copy h1 {font-size:57px}
  .atlas-panel {padding:24px}.hero-shortcuts {gap:13px}.ribbon-grid a {padding-inline:24px}
  .ribbon-grid strong {font-size:32px}.engineering-feature-grid {gap:58px}.subject-card {padding:20px 18px}
  .subject-card h3 {font-size:16px}.feature-secondary {display:inline-block;margin:16px 0 0 18px}
}
@media(max-width:1000px) {
  .header-search {display:none}.masthead-inner {gap:15px}.main-nav {gap:20px}
  .insight-hero-grid {gap:30px;padding-block:45px}.insight-copy h1 {font-size:48px}.hero-description {font-size:13px}
  .hero-overline {font-size:9px;letter-spacing:1px}.atlas-panel {padding:21px}.atlas-top {font-size:8px}
  .atlas-bottom h2 {font-size:20px}.atlas-link {width:37px;height:37px;font-size:20px}
  .hero-shortcuts {gap:12px;font-size:10px}.hero-shortcuts>span {display:none}.hero-search input {font-size:12px}
  .subject-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card {min-height:270px;padding:22px 25px}
  .subject-card h3 {font-size:19px}.subject-art {height:90px}.section {padding-block:57px}
  .ribbon-grid a {display:flex;gap:9px;flex-direction:column;align-items:flex-start}.ribbon-grid span {margin:0}
  .engineering-feature-grid {grid-template-columns:.88fr 1.12fr;gap:38px}.engineering-art {min-height:342px}
  .engineering-character {left:20px;font-size:205px}.engineering-copy h2 {font-size:32px}
  .feature-secondary {display:block;margin-left:0}.tool-grid {gap:17px}.tool-card {padding:24px 20px}
  .tool-card h3 {font-size:18px}.tool-card p {font-size:12px}.footer-grid {gap:32px}
  .article-layout {grid-template-columns:165px minmax(0,1fr);gap:40px}.school-hero h1 {font-size:34px}
}
@media(max-width:800px) {
  .wrap {width:calc(100% - 48px)}.masthead-inner {min-height:74px}.brand-cn {font-size:28px}
  .main-nav a {font-size:12px;padding-block:24px}.main-nav {gap:16px}.brand-mark {width:25px}
  .insight-copy h1 {font-size:42px}.insight-hero-grid {gap:24px}.atlas-panel {padding:19px}.atlas-top span:last-child {display:none}
  .atlas-bottom h2 {font-size:18px}.atlas-bottom .eyebrow {font-size:8px;letter-spacing:.5px}.atlas-caption {font-size:8px}
  .atlas-link {width:32px;height:32px}.insight-copy .hero-search {height:54px;margin-top:24px}.hero-search button {min-width:73px}
  .hero-search>svg {margin-left:12px;width:16px}.hero-search input {padding-inline:9px;font-size:11px}
  .hero-shortcuts {font-size:9px;gap:11px}.hero-description {font-size:12px}.hero-overline {font-size:8px}
  .section-heading h2 {font-size:26px}.engineering-copy h2 {font-size:29px}.engineering-copy>p {font-size:12px}
  .engineering-art {min-height:330px}.engineering-character {font-size:183px;top:88px}.engineering-orbit {left:46px;width:220px;height:220px}
  .article-layout {display:block}.article-heading h1 {font-size:43px}.article-toc {position:static}
  .footer-grid {grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child {grid-column:2/4;display:flex;flex-wrap:wrap;gap:15px 25px}
  .footer-grid>div:last-child h2 {width:100%;margin-bottom:0}.footer-wordmark {margin:0}.footer-grid>div:last-child>a:not(.footer-brand) {margin-bottom:0}
  .principle-inner h2 {font-size:25px}.principle-inner>a {gap:20px}.school-actions {margin-left:112px}
  .university-grid {gap:16px}.university-card {padding:21px}.filter-panel,.results-filters {padding:20px}
}
@media(max-width:700px) {
  .masthead-inner {min-height:70px}.brand-en {display:block;font-size:7px}.main-nav {display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;padding:8px 24px 17px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #142c4810}
  .main-nav.open {display:flex}.main-nav a {width:100%;padding:13px 4px;font-size:14px;border-bottom:1px solid var(--line)}
  .main-nav a:last-child {border:0}.main-nav a[aria-current=page] {color:var(--accent)}.main-nav a[aria-current=page]:after {display:none}
  .menu-button {display:flex;gap:10px;align-items:center;border:0;background:transparent;font-size:12px;min-height:42px;padding:8px 0}
  .icon-button {width:36px;height:36px}.header-actions {gap:17px}
  .insight-hero-grid {grid-template-columns:1fr;gap:34px;padding-block:35px}.insight-copy h1 {font-size:54px;letter-spacing:-1.5px;margin:22px 0 19px}
  .hero-overline {font-size:10px}.hero-description {font-size:14px}.desktop-break {display:none}
  .insight-copy .hero-search {height:57px;margin-top:24px}.hero-search input {font-size:13px}.hero-search>svg {width:20px;margin-left:16px}
  .hero-search button {min-width:88px}.hero-shortcuts {font-size:11px;justify-content:flex-start;gap:20px;margin:18px 0 0}
  .hero-shortcuts>span {display:inline-block;font-size:10px}.atlas-panel {padding:21px 24px 18px}.atlas-top span:last-child {display:block}
  .atlas-top {font-size:9px}.knowledge-atlas {max-height:300px}.atlas-bottom h2 {font-size:23px}.atlas-bottom .eyebrow {font-size:9px}
  .atlas-caption {font-size:9px}.atlas-link {width:42px;height:42px;font-size:22px}.atlas-bottom {padding-top:17px}
  .ribbon-grid {grid-template-columns:repeat(2,1fr);gap:23px 0;padding-block:26px}.ribbon-grid a {padding-inline:24px;flex-direction:row;align-items:center;gap:15px}
  .ribbon-grid a:nth-child(2) {border:0}.ribbon-grid a:nth-child(3) {padding-left:0}.ribbon-grid strong {font-size:31px}.ribbon-grid span {font-size:9px}
  .section {padding-block:44px}.section-heading {gap:18px;margin-bottom:23px;flex-wrap:wrap}.section-heading h2 {font-size:25px}
  .section-heading .eyebrow {font-size:9px;letter-spacing:1.2px}.section-heading>a {font-size:11px}.arrow-link {gap:20px}
  .subject-grid {gap:13px}.subject-card {padding:18px 16px;min-height:276px}.subject-card h3 {font-size:17px;line-height:1.5;max-width:none}
  .subject-card small {font-size:9px}.subject-card p {font-size:9px;max-width:none}.subject-art {height:95px;margin:8px 0 13px}
  .subject-number {font-size:15px}.subject-card .subject-arrow {font-size:18px}
  .engineering-feature-grid {grid-template-columns:1fr;gap:29px;padding-block:32px}.engineering-art {min-height:248px}
  .engineering-art-label {font-size:8px;top:20px;left:21px}.engineering-character {font-size:203px;top:23px;left:22%}
  .engineering-orbit {top:39px;left:39%;width:213px;height:213px}.engineering-art-foot {font-size:11px;right:22px;bottom:24px}
  .engineering-copy h2 {font-size:33px;margin-block:13px 17px}.engineering-copy>p {font-size:13px}.engineering-copy>.eyebrow {font-size:9px}
  .feature-secondary {display:inline-block;margin-left:17px;font-size:10px}.feature-topics {margin-block:19px 23px}
  .tool-grid {grid-template-columns:1fr;gap:16px}.tool-card {padding:24px 24px 24px 79px;position:relative;min-height:179px}
  .tool-icon {position:absolute;left:25px;top:24px;font-size:30px}.tool-card h3 {font-size:19px}.tool-card p {font-size:12px;max-width:none;margin-bottom:16px}
  .tool-card>span:last-child {font-size:11px}.principle-inner {grid-template-columns:1fr;gap:13px;padding-block:35px}
  .principle-inner h2 {font-size:25px}.principle-inner p {grid-row:auto;font-size:11px}.principle-inner>a {grid-column:1;grid-row:auto;justify-self:start;margin-top:9px;font-size:11px}
  .page-heading {padding:29px 0}.page-heading h1 {font-size:36px;letter-spacing:-1px}.page-heading p {font-size:13px}
  .filter-panel,.results-filters {padding:18px}.field input,.field select,.results-filters input,.results-filters select {font-size:13px;min-height:45px}
  .filter-panel .field {min-width:calc(50% - 8px)}.filter-panel .wide {flex-basis:100%}.filter-panel .button {min-height:45px}
  .university-grid {grid-template-columns:1fr}.card-top h2 {font-size:19px}.card-top .eyebrow {font-size:10px}
  .result-heading>span {order:3;width:100%;font-size:11px}.result-heading {flex-wrap:wrap}.school-place {font-size:11px}
  .table-scroll {margin-block:16px}.discipline-school h2 {font-size:20px}.discipline-row {grid-template-columns:1fr 32px;gap:15px;padding-block:24px}
  .discipline-tags {grid-column:1/-1;grid-row:2}.discipline-row>.row-arrow {grid-column:2;grid-row:1}.tag {font-size:11px}
  .school-hero {gap:15px;align-items:flex-start;padding:30px 0}.school-emblem {width:59px;min-width:59px;height:67px;font-size:21px}
  .school-hero>div:nth-child(2) {width:calc(100% - 74px)}.school-hero h1 {font-size:29px}.school-hero .eyebrow {font-size:9px}
  .school-actions {margin-left:0;flex-direction:row;width:100%}.school-actions .button {font-size:12px}.school-hero p {font-size:10px}
  .local-nav {gap:25px;font-size:12px;overflow:auto}.local-nav a {white-space:nowrap}.profile-subjects>a {width:100%}
  .research-table th,.research-table td {padding:16px 13px}.ranking-head h1 {font-size:34px}.ranking-head {padding-block:29px}
  .metric-nav a {padding:16px 12px}.metric-nav a>strong {font-size:13px}.scope-strip {gap:14px}
  .article-heading h1 {font-size:37px}.article-deck {font-size:14px}.article-layout {padding-top:28px}.prose p {font-size:14px}
  .prose h2 {font-size:25px}.article-toc {font-size:11px}.article-callout {font-size:17px;padding:20px}
  .journal-links h2 {font-size:23px}.footer-grid {grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child {grid-column:1/-1}
  .footer-grid>div:last-child {grid-column:1/-1;gap:14px 22px}.footer-grid>div:last-child h2 {width:auto;margin:0;line-height:1.75}
  .footer-brand {font-size:26px}.footer-grid p {font-size:13px}.footer-grid small {font-size:10px}.footer {padding-top:34px}
  .footer-grid {padding-bottom:30px}.footer-bottom {font-size:9px;gap:10px;flex-wrap:wrap}.footer-bottom>a {margin-left:auto}
  .compare-tray {padding:12px 18px}.tray-inner #compare-items {order:3;flex-basis:100%;min-width:0}.tray-inner .button {margin-left:auto}
  .tray-inner>strong {font-size:12px}.has-tray {padding-bottom:160px}.toast {bottom:170px}.tray-chip {padding:2px 7px;font-size:10px}
}
@media(max-width:420px) {
  .wrap {width:calc(100% - 36px)}.masthead-inner {width:calc(100% - 36px)}.brand-en {display:none}
  .insight-copy h1 {font-size:49px}.hero-overline {font-size:9px;letter-spacing:1px}.hero-shortcuts {gap:16px;font-size:10px}.hero-shortcuts>span {display:none}
  .atlas-panel {padding:20px 19px 17px}.atlas-top {font-size:8px;letter-spacing:1px}.atlas-bottom h2 {font-size:21px}
  .ribbon-grid a {gap:9px;padding-inline:18px}.ribbon-grid strong {font-size:29px}.ribbon-grid span {font-size:8px}
  .subject-card {padding:17px 14px;min-height:274px}.subject-card h3 {font-size:16px}.subject-card small {font-size:8px}
  .feature-secondary {display:block;margin-left:0}.engineering-art {min-height:225px}.engineering-character {font-size:190px;left:17%;top:25px}
  .engineering-copy h2 {font-size:31px}.section-heading h2 {font-size:23px}.footer-bottom>span:nth-child(2) {max-width:160px}
  .filter-panel .field {min-width:calc(50% - 9px)}.field select {padding-left:8px;padding-right:16px;font-size:12px}
}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important;transition:none!important}}
@media print {
  :root,html[data-theme=dark] {--paper:#fff;--surface:#fff;--ink:#000;--muted:#444;--line:#bbb;--accent:#333;--mint:#eee}
  .insight-hero-grid {display:block}.atlas-panel,.engineering-art,.principle-band {display:none}
  .table-scroll,.result-table-scroll {overflow:visible}.comparison-table {min-width:0}.comparison-table th,.comparison-table td {position:static!important}
  .wrap {width:100%}.section {padding-block:25px}.button,.hero-search,.hero-shortcuts {display:none!important}
}
