:root {
  --red: #e01616;
  --red-dark: #b20d0d;
  --ink: #111111;
  --muted: #565656;
  --line: #d1d1d1;
  --line-dark: #9d9d9d;
  --paper: #ffffff;
  --soft: #f6f6f6;
  --serif: Georgia, "Times New Roman", Times, serif;
  --sans: Arial, Helvetica, sans-serif;
  --max: 1600px;
  --gutter: clamp(1.5rem, 3.25vw, 3.4rem);
}

/* Complete site directory */
.sitemap-page .page-masthead { padding-bottom: 1rem; border-bottom: 0; }
.sitemap-page .content-layout { padding-top: .5rem; }
.sitemap-directory { border-top: 2px solid var(--red); }
.sitemap-group { display: grid; grid-template-columns: minmax(16rem,.34fr) minmax(0,1fr); gap: clamp(1.5rem,4vw,4rem); padding: clamp(1.5rem,3vw,2.6rem) 0; border-bottom: 1px solid var(--line-dark); }
.sitemap-group-header { display: flex; gap: 1rem; align-items: flex-start; }
.sitemap-group-header > span { display: grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font: 700 .8rem/1 var(--sans); }
.sitemap-group-header p { margin: .05rem 0 .28rem; color: var(--red-dark); font: 700 .72rem/1.2 var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.content-main .sitemap-group-header h2 { margin: 0; padding: 0; border: 0; font-size: clamp(1.45rem,2.35vw,2.15rem); font-weight: 400; line-height: 1.08; }
.sitemap-tree, .sitemap-tree ul { margin: 0; padding: 0; list-style: none; }
.sitemap-tree > li { padding: 0 0 .9rem; border-bottom: 1px solid var(--line); }
.sitemap-tree > li + li { padding-top: .9rem; }
.sitemap-tree > li:last-child { padding-bottom: 0; border-bottom: 0; }
.sitemap-tree a { display: grid; grid-template-columns: minmax(14rem,.42fr) minmax(0,1fr); gap: 1.25rem; color: var(--ink); text-decoration: none; }
.sitemap-tree a:hover strong, .sitemap-tree a:focus-visible strong { color: var(--red-dark); text-decoration: underline; text-underline-offset: .18em; }
.sitemap-tree strong { font: 700 clamp(1rem,1.35vw,1.18rem)/1.24 var(--serif); transition: color .15s ease; }
.sitemap-tree a > span { color: var(--muted); font: .9rem/1.45 var(--sans); }
.sitemap-tree ul { margin: .8rem 0 0 .7rem; padding-left: 1.1rem; border-left: 2px solid var(--red); }
.sitemap-tree ul li + li { margin-top: .7rem; }
.sitemap-tree ul a { grid-template-columns: minmax(13rem,.42fr) minmax(0,1fr); }
.sitemap-tree ul strong { font-size: 1rem; }
.sitemap-group--external .sitemap-tree a > span { font-style: italic; }
.sitemap-view-toggle { display: flex; width: fit-content; margin: 0 0 1.4rem; border: 1px solid var(--line-dark); }
.sitemap-view-toggle button { display: grid; grid-template-columns: auto auto; gap: .55rem; align-items: baseline; min-width: 12rem; padding: .72rem 1rem; border: 0; background: #fff; color: var(--ink); font-family: var(--sans); text-align: left; cursor: pointer; }
.sitemap-view-toggle button + button { border-left: 1px solid var(--line-dark); }
.sitemap-view-toggle button[aria-pressed="true"] { background: var(--red); color: #fff; }
.sitemap-view-toggle button:focus-visible { position: relative; z-index: 1; outline: 3px solid #111; outline-offset: 2px; }
.sitemap-view-toggle strong { font-size: .82rem; letter-spacing: .06em; }
.sitemap-view-toggle span { font-size: .82rem; }
.sitemap-view-panel[hidden] { display: none; }
.navigation-sitemap { border-top: 2px solid var(--red); }
.navigation-root { display: grid; grid-template-columns: minmax(18rem,.36fr) minmax(0,1fr); gap: clamp(1.5rem,4vw,4rem); padding: clamp(1.5rem,3vw,2.7rem) 0; border-bottom: 1px solid var(--line-dark); }
.navigation-root-node { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: 1rem; align-content: start; }
.navigation-root-node > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red-dark); font: 700 .78rem/1 var(--sans); }
.navigation-root-node div > p:first-child { margin: .05rem 0 .3rem; color: var(--red-dark); font: 700 .7rem/1.2 var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.content-main .navigation-root-node h2 { margin: 0 0 .48rem; padding: 0; border: 0; font-size: clamp(1.55rem,2.5vw,2.25rem); font-weight: 400; line-height: 1.06; }
.navigation-root-node h2 a { color: var(--ink); text-decoration-color: var(--red); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.navigation-root-node div > p:last-child { max-width: 28rem; margin: 0; color: var(--muted); font: .9rem/1.48 var(--sans); }
.navigation-branches, .navigation-branches ul { margin: 0; padding: 0; list-style: none; }
.navigation-branches { position: relative; padding-left: 1.4rem; border-left: 2px solid var(--red); }
.navigation-branches > li { position: relative; padding: 0 0 .85rem 1rem; border-bottom: 1px solid var(--line); }
.navigation-branches > li::before { position: absolute; top: .66rem; left: -1.45rem; width: 1.15rem; border-top: 2px solid var(--red); content: ""; }
.navigation-branches > li + li { padding-top: .85rem; }
.navigation-branches > li + li::before { top: 1.5rem; }
.navigation-branches > li:last-child { padding-bottom: 0; border-bottom: 0; }
.navigation-branches a { display: grid; grid-template-columns: minmax(14rem,.42fr) minmax(0,1fr); gap: 1.15rem; color: var(--ink); text-decoration: none; }
.navigation-branches a:hover strong, .navigation-branches a:focus-visible strong { color: var(--red-dark); text-decoration: underline; text-underline-offset: .18em; }
.navigation-branches strong { font: 700 clamp(1rem,1.25vw,1.14rem)/1.25 var(--serif); }
.navigation-branches a > span { color: var(--muted); font: .88rem/1.45 var(--sans); }
.navigation-branches ul { margin: .75rem 0 .05rem .45rem; padding-left: 1rem; border-left: 1px solid var(--line-dark); }
.navigation-branches ul li { position: relative; }
.navigation-branches ul li::before { position: absolute; top: .64rem; left: -1rem; width: .72rem; border-top: 1px solid var(--line-dark); content: ""; }
.navigation-branches ul strong { font-size: .98rem; }
.external-branch a > span, .navigation-root--external .navigation-root-node div > p:last-child { font-style: italic; }

@media (max-width: 960px) {
  .sitemap-group { grid-template-columns: 1fr; gap: 1.15rem; }
  .sitemap-tree a, .sitemap-tree ul a { grid-template-columns: minmax(12rem,.42fr) minmax(0,1fr); }
  .navigation-root { grid-template-columns: 1fr; gap: 1.2rem; }
}

@media (max-width: 620px) {
  .sitemap-group { padding: 1.35rem 0; }
  .sitemap-tree a, .sitemap-tree ul a { grid-template-columns: 1fr; gap: .25rem; }
  .sitemap-tree ul { margin-left: .15rem; padding-left: .85rem; }
  .sitemap-view-toggle { width: 100%; }
  .sitemap-view-toggle button { grid-template-columns: 1fr; flex: 1 1 50%; min-width: 0; gap: .15rem; }
  .navigation-root { padding: 1.4rem 0; }
  .navigation-root-node { grid-template-columns: 2.2rem minmax(0,1fr); gap: .75rem; }
  .navigation-root-node > span { width: 2.2rem; height: 2.2rem; }
  .navigation-branches { margin-left: 1.1rem; padding-left: 1rem; }
  .navigation-branches > li { padding-left: .7rem; }
  .navigation-branches a { grid-template-columns: 1fr; gap: .22rem; }
}

/* Site-native MALTA2 boundary-loss research application */
.malta-profile-page { --malta-soft: #fff7f7; --malta-rule: #d7b0b0; }
.malta2-site-page .page-masthead { padding-bottom: .8rem; border-bottom: 0; }
.malta2-site-page .content-layout { padding-top: .75rem; }
.malta-profile-page > section { margin: 0 0 2.6rem; }
.malta-profile-intro { display: grid; grid-template-columns: minmax(12rem,.25fr) minmax(0,1fr); gap: clamp(1.2rem,3vw,3rem); align-items: start; padding: 1.15rem 0 1.45rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--line); }
.content-main .malta-profile-intro > h2 { margin: 0; padding: 0; border: 0; color: var(--red-dark); font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: .055em; line-height: 1.24; text-transform: uppercase; }
.malta-profile-intro > div { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem,2.2vw,2rem); }
.malta-profile-intro p { max-width: none; margin: 0; font-size: 1rem; line-height: 1.56; }
.malta-profile-layout { display: grid; grid-template-columns: minmax(31rem,.98fr) minmax(0,1.04fr); gap: .95rem; align-items: start; }
.malta-profile-crop { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #fff; }
.malta-profile-crop > img { position: absolute; display: block; max-width: none; height: auto; object-fit: fill; }
.malta-profile-hero { aspect-ratio: 800/703; align-self: start; background: #06111b; }
.malta-profile-hero > img { top: -25.18%; left: 0; width: 209%; }
.malta-profile-pixel-inset { position: absolute; z-index: 2; right: 21.4%; bottom: 1.35%; width: 55.1%; overflow: hidden; border: 2px solid #fff; border-radius: 8px; background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.35); }
.malta-profile-pixel-inset img { display: block; width: 100%; height: auto; }
.malta-profile-analysis { display: flex; min-width: 0; flex-direction: column; gap: .75rem; }
.malta-profile-chain-scroll { min-width: 0; }
.malta-profile-chain { aspect-ratio: 834/190; border: 1px solid var(--red); }
.malta-profile-chain > img { top: -82.63%; left: -97.48%; width: 200.48%; }
.malta-profile-equation { padding: .85rem 1rem; border: 1px solid var(--red); text-align: center; }
.malta-profile-equation strong, .malta-profile-equation span { display: block; }
.malta-profile-equation strong { font: 1.55rem/1.22 var(--serif); }
.malta-profile-equation span { margin-top: .25rem; color: var(--muted); font-family: var(--sans); font-size: .85rem; font-weight: 700; }
.malta-profile-evidence { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.malta-profile-evidence figure { width: 100%; border: 1px solid var(--line-dark); }
.malta-profile-physics { aspect-ratio: 242/245; }
.malta-profile-physics > img { top: -192.65%; left: -335.54%; width: 690.91%; }
.malta-profile-regime { aspect-ratio: 262/245; }
.malta-profile-regime > img { top: -192.65%; left: -402.67%; width: 638.17%; }
.malta-profile-aspect { aspect-ratio: 329/245; }
.malta-profile-aspect > img { top: -192.65%; left: -400.61%; width: 508.21%; }
.malta-profile-insight { display: grid; grid-template-columns: 8.2rem 1fr; gap: 1rem; align-items: center; padding: .85rem 1rem; border: 1px solid var(--malta-rule); background: var(--malta-soft); }
.content-main .malta-profile-insight > h2 { margin: 0; padding: 0 1rem 0 0; border: 0; border-right: 1px solid var(--malta-rule); color: var(--red-dark); font-family: var(--sans); font-size: 1.45rem; font-weight: 700; line-height: 1.08; }
.malta-profile-insight ul { margin: 0; padding-left: 1.15rem; }
.malta-profile-insight li { font-size: .84rem; line-height: 1.4; }
.malta-profile-insight li + li { margin-top: .18rem; }
.malta-profile-cern { max-width: none !important; margin: 0; padding: .6rem .65rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--sans); font-size: .8rem; line-height: 1.4; }
.malta-profile-cern strong { color: var(--red-dark); }
.malta-profile-interpretation { display: grid; grid-template-columns: repeat(3,1fr); border-top: 2px solid var(--red); border-bottom: 1px solid var(--red); }
.malta-profile-interpretation article { padding: 1.2rem 1.4rem 1.45rem; }
.malta-profile-interpretation article + article { border-left: 1px solid var(--line); }
.malta-profile-interpretation article > p:first-child { margin: 0; color: var(--red-dark); font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; }
.content-main .malta-profile-interpretation h2 { margin: .35rem 0 .6rem; padding: 0; border: 0; font-size: 1.35rem; line-height: 1.18; }
.malta-profile-interpretation article > p:last-child { margin: 0; font-size: .94rem; line-height: 1.5; }

@media (max-width: 1180px) {
  .malta-profile-layout { grid-template-columns: 1fr; }
  .malta-profile-hero { width: 100%; max-width: 50rem; justify-self: center; }
}

@media (max-width: 760px) {
  .malta2-site-page .page-masthead { padding-bottom: .65rem; }
  .malta2-site-page .content-layout { padding-top: .65rem; }
  .malta-profile-page > section { margin-bottom: 2rem; }
  .malta-profile-intro { grid-template-columns: 1fr; gap: .5rem; }
  .malta-profile-intro > div { grid-template-columns: 1fr; gap: .65rem; }
  .malta-profile-layout { display: block; }
  .malta-profile-analysis { margin-top: .8rem; }
  .malta-profile-chain-scroll { overflow-x: auto; padding-bottom: .35rem; scrollbar-width: thin; }
  .malta-profile-chain { width: 46rem; max-width: none; }
  .malta-profile-equation strong { font-size: 1rem; }
  .malta-profile-equation span { font-size: .77rem; }
  .malta-profile-evidence { grid-template-columns: 1fr; }
  .malta-profile-evidence figure { width: 100%; max-width: 31rem; justify-self: center; }
  .malta-profile-insight { grid-template-columns: 1fr; gap: .55rem; }
  .content-main .malta-profile-insight > h2 { padding: 0 0 .5rem; border-right: 0; border-bottom: 1px solid var(--malta-rule); font-size: 1.2rem; }
  .malta-profile-interpretation { grid-template-columns: 1fr; }
  .malta-profile-interpretation article { padding: 1rem 0; }
  .malta-profile-interpretation article + article { border-top: 1px solid var(--line); border-left: 0; }
}

/* Site-native projection-aware approximation research application */
.projection-profile-page { --projection-soft: #fff8f8; --projection-rule: #e6caca; }
.projection-profile-page > section { margin: 0 0 2.5rem; }
.projection-profile-intro { display: grid; grid-template-columns: minmax(16rem,.58fr) minmax(0,1.42fr); gap: clamp(1.5rem,4vw,4rem); align-items: start; padding: 1.25rem 0 1.6rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--line); }
.projection-profile-intro > div > p, .projection-profile-hero header > p, .projection-profile-section header > p:first-child { margin: 0; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.content-main .projection-profile-intro h2 { margin: .25rem 0 0; padding: 0; border: 0; color: var(--red-dark); font-family: var(--sans); font-size: clamp(1.15rem,1.65vw,1.45rem); font-weight: 700; line-height: 1.18; }
.projection-profile-intro > p { max-width: 82ch; margin: 0; font-size: 1.06rem; line-height: 1.62; }
.projection-profile-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.29fr); gap: 1.2rem; align-items: stretch; }
.projection-profile-hero > article, .projection-profile-section { padding: clamp(1rem,2vw,1.5rem); border: 1px solid var(--line); background: #fff; }
.projection-profile-hero header, .projection-profile-section > header { display: grid; grid-template-columns: minmax(13rem,.3fr) minmax(0,1fr); gap: .8rem 1.5rem; align-items: baseline; margin-bottom: .7rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.content-main .projection-profile-hero header h2, .content-main .projection-profile-section h2 { margin: 0; padding: 0; border: 0; font-size: clamp(1.35rem,2vw,1.75rem); font-weight: 400; }
.projection-profile-hero > article > p, .projection-profile-section > header > p:last-child { grid-column: 2; margin: 0; line-height: 1.55; }
.projection-profile-figure { margin: 1rem 0 0; }
.projection-profile-figure a { display: block; border: 1px solid var(--line); background: #fff; }
.projection-profile-figure img { display: block; width: 100%; height: auto; }
.projection-profile-figure figcaption { margin-top: .65rem; color: var(--muted); font-family: var(--sans); font-size: .8rem; line-height: 1.45; }
.projection-profile-endpoint { display: flex; flex-direction: column; padding: 1.2rem; border: 1px solid var(--red); background: var(--projection-soft); }
.content-main .projection-profile-endpoint > h2 { margin: 0; padding: 0 0 .45rem; border: 0; color: var(--red-dark); font-size: clamp(1.2rem,1.3vw,1.35rem); font-weight: 400; white-space: nowrap; }
.projection-profile-endpoint > p { margin: 0 0 .8rem; line-height: 1.42; }
.projection-profile-metric { margin: .45rem 0; padding: .9rem 0; border-top: 1px solid var(--projection-rule); border-bottom: 1px solid var(--projection-rule); }
.projection-profile-metric + .projection-profile-metric { margin-top: -.46rem; border-top: 0; }
.projection-profile-metric p { margin: 0; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.projection-profile-metric strong { display: block; margin: .25rem 0; font-family: var(--sans); font-size: clamp(1.3rem,1.55vw,1.72rem); font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.12; white-space: nowrap; }
.projection-profile-metric span { color: var(--muted); font-family: var(--sans); font-size: .82rem; }
.projection-profile-endpoint dl { display: grid; gap: .45rem; margin: auto 0 0; font-family: var(--sans); font-size: .82rem; }
.projection-profile-endpoint dl div { display: flex; justify-content: space-between; gap: 1rem; padding-top: .45rem; border-top: 1px solid var(--projection-rule); }
.projection-profile-endpoint dt { font-weight: 700; }
.projection-profile-endpoint dd { margin: 0; text-align: right; }
.projection-profile-section > header { grid-template-columns: minmax(13rem,.27fr) minmax(18rem,.55fr) minmax(0,1fr); }
.projection-profile-section > header > p:last-child { grid-column: 3; }
.projection-profile-width .projection-profile-figure { max-width: 82rem; margin: 1rem auto 0; }
.projection-profile-evidence { display: grid; grid-template-columns: repeat(3,1fr); border-top: 2px solid var(--red); border-bottom: 1px solid var(--red); }
.projection-profile-evidence article { padding: 1.25rem 1.5rem 1.4rem; }
.projection-profile-evidence article + article { border-left: 1px solid var(--line); }
.content-main .projection-profile-evidence h2 { margin: 0; padding: 0; border: 0; color: var(--red-dark); font-family: var(--sans); font-size: .95rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.projection-profile-evidence p { margin: .55rem 0 0; line-height: 1.5; }

@media (max-width: 1120px) {
  .projection-profile-hero { grid-template-columns: 1fr; }
  .projection-profile-endpoint { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; }
  .projection-profile-endpoint > h2, .projection-profile-endpoint > p, .projection-profile-endpoint dl { grid-column: 1 / -1; }
  .projection-profile-endpoint dl { margin-top: .8rem; }
  .projection-profile-section > header { grid-template-columns: minmax(12rem,.35fr) minmax(0,1fr); }
  .projection-profile-section > header > p:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
  .projection-profile-page > section { margin-bottom: 2rem; }
  .projection-profile-intro { grid-template-columns: 1fr; gap: .65rem; }
  .projection-profile-intro > p { font-size: 1rem; }
  .projection-profile-hero > article, .projection-profile-section { padding: .8rem; }
  .projection-profile-hero header, .projection-profile-section > header { grid-template-columns: 1fr; gap: .3rem; }
  .projection-profile-hero > article > p, .projection-profile-section > header > p:last-child { grid-column: 1; }
  .projection-profile-endpoint { grid-template-columns: 1fr; }
  .projection-profile-endpoint > h2, .projection-profile-endpoint > p, .projection-profile-endpoint dl { grid-column: 1; }
  .projection-profile-evidence { grid-template-columns: 1fr; }
  .projection-profile-evidence article { padding: 1rem 0; }
  .projection-profile-evidence article + article { border-top: 1px solid var(--line); border-left: 0; }
  .projection-profile-figure figcaption { font-size: .83rem; }
}

/* Site-native VCO-ADC research application */
.vco-profile-page { --vco-soft: #fff8f8; --vco-rule: #e6caca; }
.vco-profile-page > section { margin: 0 0 3rem; }
.vco-profile-page h2 { font-weight: 400; }
.vco-profile-intro { display: grid; grid-template-columns: minmax(14rem,.52fr) minmax(0,1.48fr); gap: clamp(1.5rem,4vw,4rem); align-items: start; padding: 1.25rem 0 2rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--line); }
.content-main .vco-profile-intro h2 { margin: .1rem 0; padding: 0; border: 0; color: var(--red-dark); font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: .07em; line-height: 1.14; text-transform: uppercase; }
.vco-profile-intro p { max-width: 78ch; margin: 0; font-size: 1.06rem; line-height: 1.62; }
.vco-profile-system { display: grid; grid-template-columns: minmax(0,2.45fr) minmax(17rem,.65fr); gap: 1.4rem; align-items: start; }
.vco-profile-system-main > h2:first-child, .content-main .vco-profile-detail > h2 { margin: 0 0 1rem; padding-bottom: .65rem; border-bottom: 2px solid var(--red); font-size: clamp(1.65rem,2.5vw,2.15rem); }
.vco-profile-figure { margin: 0 0 2rem; padding: clamp(.7rem,1.4vw,1.15rem); border: 1px solid var(--line); background: #fff; }
.vco-profile-figure img { width: 100%; height: auto; }
.vco-profile-figure figcaption { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--sans); font-size: .82rem; line-height: 1.48; }
.vco-profile-system-main > h2:not(:first-child) { margin: 2.2rem 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--red); font-size: 1.8rem; }
.vco-profile-loop { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin: 0; padding: 0; list-style: none; counter-reset: vco-step; }
.vco-profile-loop li { position: relative; min-height: 7.2rem; padding: 1rem 0 1rem 3.5rem; border-bottom: 1px solid var(--line); counter-increment: vco-step; }
.vco-profile-loop li::before { content: "0" counter(vco-step); position: absolute; left: 0; top: 1rem; display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 700; }
.vco-profile-loop strong { display: block; margin-bottom: .3rem; color: var(--red-dark); font-family: var(--sans); font-size: .92rem; line-height: 1.25; }
.vco-profile-loop span { display: block; font-size: .93rem; line-height: 1.48; }
.vco-profile-backends { position: sticky; top: 6rem; border: 1px solid var(--red); }
.content-main .vco-profile-backends > h2 { margin: 0; padding: 1rem; border-bottom: 1px solid var(--red); font-size: 1.65rem; }
.vco-profile-backends article { padding: 1rem; border-bottom: 1px solid var(--line); }
.vco-profile-backends article p { margin: 0 0 .25rem; color: var(--red-dark); font-family: var(--sans); font-size: .83rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vco-profile-backends article > strong { display: block; font-family: var(--sans); font-size: clamp(1.65rem,2.5vw,2.1rem); line-height: 1.1; }
.vco-profile-backends article > span { display: block; margin: .1rem 0 .65rem; color: var(--muted); font-family: var(--sans); font-size: .78rem; }
.vco-profile-backends dl { display: grid; grid-template-columns: repeat(3,1fr); gap: .35rem; margin: 0; font-family: var(--sans); }
.vco-profile-backends dl div { min-width: 0; }
.vco-profile-backends dt { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.vco-profile-backends dd { margin: 0; font-size: .78rem; font-weight: 700; }
.vco-profile-backends em { display: block; margin-top: .6rem; font-size: .78rem; line-height: 1.35; }
.vco-profile-note { max-width: none !important; margin: 0; padding: .9rem 1rem; color: var(--muted); background: var(--vco-soft); font-family: var(--sans); font-size: .73rem; line-height: 1.45; }
.vco-profile-detail { padding-top: .1rem; }
.vco-profile-detail .vco-profile-figure { border-top: 2px solid var(--red); }
.vco-profile-layouts { padding: 1.4rem 0 1.6rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--red); }
.vco-profile-layouts > header { display: grid; grid-template-columns: minmax(16rem,.7fr) minmax(0,1.3fr); gap: 2.3rem; align-items: end; margin-bottom: 1rem; }
.vco-profile-layouts > header > div > p { margin: 0; color: var(--red); font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.content-main .vco-profile-layouts h2 { margin: .2rem 0 0; padding: 0; border: 0; font-size: 2rem; }
.vco-profile-layouts > header > p { max-width: 68ch; margin: 0; color: var(--muted); font-family: var(--sans); font-size: .85rem; }
.vco-profile-layout-grid { display: grid; grid-template-columns: 1fr 1.25fr 1.08fr; gap: 1rem; align-items: stretch; }
.vco-profile-layout-grid figure { display: flex; min-width: 0; min-height: 24rem; align-items: center; justify-content: center; margin: 0; padding: .7rem; border: 1px solid var(--line); background: #fff; }
.vco-profile-layout-grid img { width: 100%; height: 24rem; object-fit: contain; }
.vco-profile-layout-note { max-width: none !important; margin: .9rem 0 0; color: var(--muted); font-family: var(--sans); font-size: .82rem; text-align: center; }
.vco-profile-ai { padding: 1.3rem; border: 1px solid var(--red); background: var(--vco-soft); }
.content-main .vco-profile-ai > h2 { margin: 0 0 1rem; padding-bottom: .7rem; border-bottom: 1px solid var(--red); font-size: 1.9rem; }
.vco-profile-ai > div { display: grid; grid-template-columns: 1fr 1fr; }
.vco-profile-ai article { padding: .2rem 1.5rem .2rem 0; }
.vco-profile-ai article + article { padding: .2rem 0 .2rem 1.5rem; border-left: 1px solid var(--red); }
.vco-profile-ai h3 { margin: 0 0 .45rem; color: var(--red-dark); font-family: var(--sans); font-size: 1rem; }
.vco-profile-ai p { margin: 0; font-size: .96rem; }
.vco-profile-highlights { display: grid; grid-template-columns: minmax(13rem,.5fr) minmax(0,1.5fr); gap: 2rem; align-items: start; padding: 1.3rem 0; border-top: 1px solid var(--red); border-bottom: 1px solid var(--red); }
.content-main .vco-profile-highlights h2 { margin: 0; padding: 0; border: 0; font-size: 1.8rem; }
.vco-profile-highlights ul { margin: 0; padding-left: 1.35rem; columns: 2; column-gap: 2.5rem; }
.vco-profile-highlights li { break-inside: avoid; margin: 0 0 .8rem; }
.vco-profile-highlights li::marker { color: var(--red); }

@media (max-width: 1120px) {
  .vco-profile-system { grid-template-columns: 1fr; }
  .vco-profile-backends { position: static; display: grid; grid-template-columns: repeat(3,1fr); }
  .content-main .vco-profile-backends > h2, .vco-profile-note { grid-column: 1 / -1; }
  .vco-profile-backends article { border-right: 1px solid var(--line); }
  .vco-profile-backends article:nth-of-type(3) { border-right: 0; }
  .vco-profile-layout-grid { grid-template-columns: 1fr 1fr; }
  .vco-profile-layout-grid figure:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .vco-profile-page > section { margin-bottom: 2.2rem; }
  .vco-profile-intro { grid-template-columns: 1fr; gap: .7rem; }
  .vco-profile-intro p { font-size: 1rem; }
  .vco-profile-loop { grid-template-columns: 1fr; }
  .vco-profile-loop li { min-height: 0; }
  .vco-profile-backends { display: block; }
  .vco-profile-backends article { border-right: 0; }
  .vco-profile-layouts > header { grid-template-columns: 1fr; gap: .55rem; }
  .vco-profile-layout-grid { grid-template-columns: 1fr; }
  .vco-profile-layout-grid figure:last-child { grid-column: auto; }
  .vco-profile-layout-grid figure { min-height: 0; }
  .vco-profile-layout-grid img { height: auto; max-height: 32rem; }
  .vco-profile-ai > div { grid-template-columns: 1fr; }
  .vco-profile-ai article { padding: 0; }
  .vco-profile-ai article + article { margin-top: 1rem; padding: 1rem 0 0; border-top: 1px solid var(--red); border-left: 0; }
  .vco-profile-highlights { grid-template-columns: 1fr; gap: .8rem; }
  .vco-profile-highlights ul { columns: 1; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--serif); font-size: 17px; line-height: 1.52; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }
a { color: var(--red-dark); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--red); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(224,22,22,.25); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .7rem 1rem; color: #fff; background: var(--ink); font-family: var(--sans); }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 2px solid var(--red); background: rgba(255,255,255,.985); }
.header-inner { width: min(100%, var(--max)); min-height: 68px; margin: 0 auto; padding: 0 var(--gutter); display: flex; align-items: stretch; justify-content: space-between; }
.wordmark { display: none; align-self: center; color: var(--ink); font-family: var(--serif); font-size: 1.65rem; line-height: 1; text-decoration: none; }
.primary-nav { width: 100%; display: flex; align-items: stretch; justify-content: space-between; }
.primary-nav a { display: flex; align-items: center; padding: 1.2rem clamp(.42rem,1.05vw,1rem) 1rem; border-bottom: 5px solid transparent; color: var(--ink); font-family: var(--sans); font-size: clamp(.75rem,1.05vw,.98rem); line-height: 1.05; text-decoration: none; white-space: nowrap; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--red); border-bottom-color: var(--red); }
.primary-nav .mosaic-link { color: var(--red); font-weight: 700; }

.menu-button { display: none; width: 3rem; border: 0; background: transparent; color: var(--red); font-size: 0; cursor: pointer; }
.menu-button::before, .menu-button::after, .menu-button span { content: ""; display: block; width: 1.9rem; height: 3px; margin: 6px auto; background: currentColor; }

.page-shell { width: min(100%, var(--max)); margin: 0 auto; padding: 0 var(--gutter); }
.directory-landing { display: grid; grid-template-columns: minmax(300px,.95fr) minmax(570px,1.6fr); align-items: stretch; padding: 1.25rem 0 1.5rem; border-bottom: 1px solid var(--red); }
.identity-column { padding: .5rem 3.4rem 0 0; border-right: 1px solid var(--line-dark); }
.directory-column { display: flex; flex-direction: column; padding: 0 0 0 2.5rem; }
.home-title { max-width: 100%; margin: 0; padding: 0 0 .8rem; border-bottom: 2px solid var(--red); font-size: clamp(2.1rem,3.2vw,3.65rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; white-space: nowrap; }
.role { margin: 1rem 0 1.25rem; font-size: clamp(1.2rem,1.65vw,1.55rem); line-height: 1.36; }
.portrait-lede { display: grid; grid-template-columns: minmax(0,9.5rem) minmax(0,1fr); gap: 1rem; align-items: start; }
.portrait-frame { width: 100%; max-width: 9.5rem; margin: .15rem 0 0; overflow: hidden; background: var(--soft); aspect-ratio: 4 / 5; }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.lede { max-width: 42rem; margin: 0 0 1.15rem; font-size: 1rem; line-height: 1.5; text-wrap: pretty; }
.contact-list { clear: both; list-style: none; margin: 0; padding: 0; font-family: var(--sans); font-size: .86rem; }
.contact-list li { position: relative; margin: 0; padding: .55rem 0 .55rem 2.5rem; border-bottom: 1px solid var(--line); }
.contact-list li::before { position: absolute; left: .2rem; top: .5rem; color: var(--red); font-size: 1.55rem; line-height: 1; }
.contact-list .email::before { content: "✉"; }
.contact-list .place::before { content: "⌖"; }
.contact-list .web { padding-left: 2.5rem; }
.contact-list .web::before { content: "▧"; }
.contact-list .cv::before { content: "▧"; }

.academic-directory { flex: 1; display: grid; grid-template-rows: repeat(7,minmax(78px,1fr)); border-top: 1px solid transparent; }
.directory-row { position: relative; min-height: 78px; display: grid; grid-template-columns: 3.25rem minmax(12rem,.7fr) minmax(18rem,1.3fr) 2rem; gap: 1.15rem; align-items: center; padding: .4rem 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.directory-row::before { content: ""; position: absolute; left: 3.72rem; top: 50%; width: 1px; height: 2.5rem; background: rgba(224,22,22,.65); transform: translateY(-50%); }
.directory-row:hover { color: var(--red); }
.directory-row.external .directory-title { color: var(--red); }
.directory-icon { width: 2.25rem; height: 2.25rem; fill: none; stroke: var(--red); stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.directory-title { font-size: clamp(1.2rem,1.6vw,1.55rem); line-height: 1.08; }
.directory-description { color: var(--muted); font-family: var(--sans); font-size: clamp(1rem,1.08vw,1.08rem); line-height: 1.42; }
.row-arrow { width: 1.65rem; height: 1.65rem; fill: none; stroke: var(--red); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mosaic-card { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; align-content: center; padding: 1.2rem; border: 1px solid var(--red); }
.mosaic-card .directory-icon { width: 4rem; height: 4rem; stroke-width: 1.35; }
.mosaic-card h2 { margin: 0 0 .45rem; font-size: 1.35rem; font-weight: 400; }
.mosaic-card h2 a { text-decoration: none; }
.mosaic-card p { margin: 0 0 .5rem; font-family: var(--sans); font-size: .86rem; }
.identity-mosaic { display: grid; grid-template-columns: 9.5rem minmax(0,1fr); gap: 1.1rem; align-items: center; margin-top: 1.2rem; padding: 1.1rem 0 1.15rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--red); }
.mosaic-mark { display: block; width: 100%; margin: 0; }
.mosaic-mark img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.mosaic-copy { min-width: 0; }
.mosaic-copy h2 { margin: 0 0 .4rem; font-size: 1.15rem; font-weight: 400; line-height: 1.1; }
.mosaic-copy h2 a { text-decoration: none; }
.mosaic-copy p { margin: 0 0 .65rem; font-family: var(--sans); font-size: .78rem; line-height: 1.46; }
.mosaic-copy p strong { font-weight: 700; }
.mosaic-description-link { display: inline; color: var(--red-dark); font-family: var(--sans); font-size: .8rem; font-weight: 700; line-height: 1.4; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }

.home-grid { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--red); }
.home-panel { min-width: 0; padding: 1.7rem 2.2rem 1.9rem; border-right: 1px solid var(--line); }
.home-panel:first-child { padding-left: 0; }
.home-panel:last-child { padding-right: 0; border-right: 0; }
.home-panel p:first-of-type { margin-top: 0; }
.kicker, .section-label { margin: 0 0 .8rem; color: var(--red); font-family: var(--sans); font-size: .84rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.record-list { list-style: none; padding: 0; margin: 0; }
.record-list li { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; margin: 0 0 .8rem; }
.record-list time { color: var(--red); font-family: var(--sans); font-size: .84rem; }
.record-list cite { display: block; }
.text-link { display: inline-flex; gap: .5rem; align-items: center; margin-top: .7rem; color: var(--red-dark); font-weight: 700; text-decoration: none; }
.text-link::after { content: "→"; font-family: var(--sans); font-size: 1.15rem; }
.mosaic-callout { display: grid; grid-template-columns: minmax(9rem,.7fr) 1.3fr; gap: 1rem; align-items: center; margin: 1.2rem 0; padding: 1.2rem; border: 1px solid var(--red); }
.mosaic-callout a { font-weight: 700; text-decoration: none; }
.mosaic-callout p { margin: 0; }
.method-list { list-style: none; margin: 0; padding: 0; counter-reset: method; }
.method-list li { display: grid; grid-template-columns: 4.7rem minmax(0,1fr); gap: .9rem; padding: .55rem 0; border-bottom: 1px solid var(--line); counter-increment: method; }
.method-list li:first-child { padding-top: 0; }
.method-list strong { color: var(--red-dark); font-family: var(--sans); font-size: .9rem; letter-spacing: .02em; }
.method-list strong::before { content: "0" counter(method) " "; color: var(--red); font-weight: 400; }
.method-list span { line-height: 1.42; }
.home-institutional-panel ul { display: grid; margin: .2rem 0 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.home-institutional-panel li { border-bottom: 1px solid var(--line); }
.home-institutional-panel a { position: relative; display: grid; gap: .22rem; padding: 1rem 2rem 1rem 0; color: var(--ink); text-decoration: none; }
.home-institutional-panel a::after { content: "→"; position: absolute; right: .1rem; top: 50%; color: var(--red); font-family: var(--sans); transform: translateY(-50%); }
.home-institutional-panel a:hover strong { color: var(--red-dark); text-decoration: underline; text-underline-offset: .16em; }
.home-institutional-panel strong { font-size: 1.05rem; line-height: 1.25; }
.home-institutional-panel span { color: var(--muted); font-family: var(--sans); font-size: .8rem; line-height: 1.35; }
.home-research-links ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 1fr; gap: .65rem; margin: .65rem 0 0; padding: 0; list-style: none; }
.home-research-links li { display: flex; min-width: 0; }
.home-research-links a { position: relative; display: flex; width: 100%; height: 100%; min-height: 8.15rem; flex-direction: column; padding: .9rem 2rem 2rem .9rem; border: 1px solid var(--line); border-top: 3px solid var(--red); color: var(--ink); background: linear-gradient(145deg,#fff 0%,#fff 62%,#fff7f7 100%); text-decoration: none; transition: border-color .15s ease, background-color .15s ease, transform .15s ease; }
.home-research-links a::after { content: "↗"; position: absolute; right: .75rem; bottom: .7rem; color: var(--red); font-family: var(--sans); font-size: 1rem; }
.home-research-links a:hover, .home-research-links a:focus-visible { border-color: var(--red); background: var(--soft); transform: translateY(-2px); }
.home-research-links strong { margin: .32rem 0 .42rem; font-size: 1rem; line-height: 1.15; }
.home-research-links a > span:not(.research-link-area) { color: var(--muted); font-family: var(--sans); font-size: .72rem; line-height: 1.35; }
.home-research-links .research-link-area { color: var(--red-dark); font-family: var(--sans); font-size: .66rem; font-weight: 700; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.home-progress-list, .home-presentations ul { display: grid; margin: .25rem 0 0; padding: 0; list-style: none; }
.home-progress-list li, .home-presentations li { border-top: 1px solid var(--line); }
.home-progress-list li:last-child, .home-presentations li:last-child { border-bottom: 1px solid var(--line); }
.home-progress-list a, .home-presentations li a { position: relative; display: grid; gap: .28rem; padding: .8rem 1.65rem .8rem 0; color: var(--ink); text-decoration: none; }
.home-progress-list a::after, .home-presentations li a::after { content: "→"; position: absolute; right: .05rem; top: 50%; color: var(--red); font-family: var(--sans); transform: translateY(-50%); }
.home-progress-list strong, .home-presentations strong { font-size: 1rem; line-height: 1.22; }
.home-progress-list span, .home-presentations span { color: var(--muted); font-family: var(--sans); font-size: .76rem; line-height: 1.35; }
.home-upcoming-list time { color: var(--red-dark); font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.home-upcoming-list .upcoming-thesis { color: var(--ink); font-family: var(--serif); font-size: .84rem; line-height: 1.3; }
.home-upcoming-list .upcoming-detail { color: var(--ink); font-family: var(--serif); font-size: .76rem; line-height: 1.42; }
.home-upcoming-list .upcoming-committee { font-size: .7rem; line-height: 1.4; }
.home-upcoming-list .upcoming-committee b { color: var(--ink); }
.home-upcoming-research > p:not(.kicker) { max-width: 34rem; margin-bottom: .9rem; }
.home-upcoming-research ul { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.home-upcoming-research li { position: relative; padding: .7rem .25rem .7rem 1.2rem; border-bottom: 1px solid var(--line); font-size: 1rem; font-weight: 700; line-height: 1.25; }
.home-upcoming-research li::before { content: ""; position: absolute; top: 1.08rem; left: .1rem; width: .38rem; height: .38rem; border-radius: 50%; background: var(--red); }
.home-presentations time { color: var(--red-dark); font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.arrow-list { list-style: none; margin: 0; padding: 0; }
.arrow-list li { border-bottom: 1px solid var(--line); }
.arrow-list a { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: .85rem 0; color: var(--ink); text-decoration: none; }
.arrow-list a::after { content: "→"; color: var(--red); font-family: var(--sans); font-size: 1.3rem; }
.arrow-list a:hover { color: var(--red); }

.page-masthead { padding: 3.3rem 0 2.4rem; border-bottom: 1px solid var(--red); }
.page-masthead h1 { max-width: 20ch; margin: 0; font-size: clamp(2.75rem,6vw,5.2rem); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.page-masthead .summary { max-width: 58rem; margin: .9rem 0 0; font-size: clamp(1.08rem,1.7vw,1.35rem); }
.students-page .page-masthead { padding-bottom: .9rem; border-bottom: 0; }
.students-page .content-layout { padding-top: .65rem; }
.research-page .page-masthead { padding-bottom: .9rem; border-bottom: 0; }
.research-page .content-layout { padding-top: .65rem; }
.industry-page .page-masthead { padding-bottom: .9rem; border-bottom: 0; }
.industry-page .content-layout { padding-top: .65rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.15rem; color: var(--muted); font-family: var(--sans); font-size: .82rem; }
.breadcrumbs a { color: var(--red-dark); text-decoration: none; }
.breadcrumbs a::after { content: "/"; margin-left: .45rem; color: var(--line-dark); }
.breadcrumbs [aria-current="page"] { color: var(--muted); }
.content-layout { display: block; padding: 2.4rem 0 4rem; }
.content-layout--full .content-main { width: 100%; margin: 0; }
.content-main { min-width: 0; }
.content-main > section { margin: 0 0 3rem; scroll-margin-top: 6rem; }
.content-main h2 { margin: 0 0 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--red); font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 400; line-height: 1.15; }
.content-main h3 { margin: 1.8rem 0 .55rem; font-size: 1.2rem; }
.content-main p { max-width: 74ch; }
.presentation-section { margin: 0 0 3rem; padding: 1.6rem 0 0; border-top: 2px solid var(--red); scroll-margin-top: 5.5rem; }
.presentation-section-header { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); gap: 2rem; align-items: end; margin-bottom: 1.25rem; }
.presentation-section-header .eyebrow { margin: 0 0 .4rem; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.presentation-section-header h2 { margin: 0; font-size: clamp(1.9rem,3.2vw,3rem); font-weight: 400; line-height: 1.05; }
.presentation-section-header > p { max-width: 66ch; margin: 0; }
.presentation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.presentation-card { min-width: 0; border: 1px solid var(--line-dark); background: linear-gradient(145deg,#fff 0%,#fff 62%,var(--soft) 100%); }
.presentation-cover { display: block; overflow: hidden; border-bottom: 3px solid var(--red); background: #f4f4f4; }
.presentation-cover img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .2s ease; }
.presentation-cover:hover img, .presentation-cover:focus-visible img { transform: scale(1.015); }
.presentation-card-copy { padding: 1.15rem 1.25rem 1.35rem; }
.presentation-card-copy .meta { margin: 0 0 .55rem; color: var(--red-dark); font-family: var(--sans); font-size: .76rem; font-weight: 700; }
.presentation-card-copy h3 { margin: 0 0 .65rem; font-size: 1.45rem; line-height: 1.1; }
.presentation-card-copy p { margin: 0; }
@media (max-width: 760px) {
  .presentation-section-header, .presentation-grid { grid-template-columns: 1fr; }
  .presentation-section-header { gap: .85rem; align-items: start; }
  .presentation-card-copy { padding: 1rem; }
  .home-progress-list strong, .home-presentations strong { font-size: 1.05rem; }
  .home-progress-list span, .home-presentations span { font-size: .82rem; }
}
.topic-register { border-top: 1px solid var(--line-dark); }
.topic-row { display: grid; grid-template-columns: minmax(13rem,.8fr) minmax(0,1.7fr) auto; gap: 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); align-items: start; }
.topic-row h3, .topic-row p { margin: 0; }
.topic-row .status { color: var(--muted); font-family: var(--sans); font-size: .8rem; white-space: nowrap; }
.cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; border-top: 1px solid var(--line-dark); }
.card { padding: 1.35rem 0 1.6rem; border-bottom: 1px solid var(--line); }
.card h3 { margin-top: 0; }
.card .meta { color: var(--red-dark); font-family: var(--sans); font-size: .82rem; }
.source-line { margin-top: 1rem; font-family: var(--sans); font-size: .84rem; }
.timeline { margin: 0; padding: 0; list-style: none; }

/* Career page editorial narrative */
.career-narrative { padding: 0 0 clamp(2rem,4vw,3.4rem); border-top: 2px solid var(--red); border-bottom: 1px solid var(--line-dark); }
.content-main .career-narrative-header { display: grid; grid-template-columns: minmax(15rem,.72fr) minmax(0,1.28fr); gap: clamp(1.5rem,4vw,4rem); align-items: end; padding: 1rem 0 1.1rem; border-bottom: 1px solid var(--line); }
.content-main .career-narrative-header h2 { margin: 0; padding: 0; border: 0; font-size: clamp(2rem,3.8vw,3.25rem); line-height: 1; letter-spacing: -.025em; }
.career-narrative-header > p { max-width: none !important; margin: 0; color: var(--red-dark); font-family: var(--sans); font-size: .86rem; font-weight: 700; letter-spacing: .065em; text-align: right; text-transform: uppercase; }
.career-narrative-layout { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem,3vw,2.4rem); padding-top: clamp(1.4rem,3vw,2.35rem); }
.career-narrative-lead { max-width: 52ch !important; margin: 0; color: var(--ink); font-size: clamp(1.3rem,2.05vw,1.78rem); line-height: 1.38; }
.career-narrative-lead::first-letter { float: left; margin: .05em .1em 0 0; color: var(--red-dark); font-size: 3.3em; line-height: .75; }
.career-narrative-columns { columns: 3 18rem; column-fill: balance; column-gap: clamp(1.8rem,3.5vw,3.4rem); column-rule: 1px solid var(--line); }
.career-narrative-columns p { max-width: none; margin: 0 0 1.15rem; break-inside: auto; font-size: 1rem; line-height: 1.62; orphans: 3; widows: 3; }
.career-lower-layout { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(20rem,.84fr); gap: clamp(1.5rem,3.5vw,3rem); margin-top: clamp(2.2rem,4vw,3.5rem); align-items: stretch; }
.career-lower-layout section { scroll-margin-top: 6rem; }
.career-section-label { max-width: none !important; margin: 0 0 .55rem; color: var(--red-dark); font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.content-main .career-leadership-panel h2, .content-main .career-lower-panel h2 { margin: 0; padding: 0; border: 0; font-size: clamp(1.7rem,2.65vw,2.35rem); letter-spacing: -.018em; line-height: 1.08; }
.career-leadership-panel { display: flex; flex-direction: column; padding-top: 1rem; border-top: 2px solid var(--red); }
.career-leadership-panel .cards { display: grid; flex: 1; grid-template-columns: 1fr; grid-template-rows: repeat(3,minmax(0,1fr)); margin-top: 1.25rem; border-top: 1px solid var(--line-dark); }
.career-leadership-panel .card { display: grid; grid-template-columns: minmax(8.5rem,.34fr) minmax(0,1fr); gap: 1.25rem; padding: 1.3rem 1.2rem 1.4rem; border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#fff 0,#fff 72%,#fff8f8 100%); }
.career-leadership-panel .card:nth-child(even) { background: #fff8f8; }
.career-leadership-panel .card .meta { margin: .12rem 0 0; padding-right: 1rem; border-right: 1px solid var(--line); font-size: .76rem; font-weight: 700; line-height: 1.4; }
.career-leadership-panel .card h3 { margin: 0 0 .45rem; font-size: 1.23rem; line-height: 1.22; }
.career-leadership-panel .card p:last-child { max-width: none; margin: 0; line-height: 1.5; }
.career-lower-notes { display: grid; gap: 1.4rem; }
.career-lower-panel { margin: 0 !important; padding: 1.2rem 1.35rem 1.4rem; border-top: 2px solid var(--red); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); background: #fffafa; }
.career-lower-panel p:last-child { max-width: none; margin: 1rem 0 0; font-size: .97rem; line-height: 1.58; }
.career-renewal-panel { background: linear-gradient(145deg,#fff7f7 0,#fff 100%); }
.career-timeline { --timeline-soft: #fff8f8; padding-top: 1rem; border-top: 2px solid var(--red); }
.content-main .career-timeline-header { display: grid; grid-template-columns: minmax(22rem,.85fr) minmax(20rem,1.15fr); gap: clamp(1.5rem,4vw,4rem); align-items: end; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line-dark); }
.career-timeline-header > div > p { margin: 0 0 .35rem; color: var(--red-dark); font-family: var(--sans); font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.content-main .career-timeline-header h2 { margin: 0; padding: 0; border: 0; font-size: clamp(2rem,3.4vw,3rem); letter-spacing: -.02em; line-height: 1.02; }
.career-timeline-header > p { max-width: 64ch !important; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.career-timeline .timeline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.career-timeline .timeline li { display: grid; min-width: 0; min-height: 12.4rem; grid-template-columns: 7rem minmax(0,1fr); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.career-timeline .timeline li:nth-child(4n+2), .career-timeline .timeline li:nth-child(4n+3) { background: var(--timeline-soft); }
.career-timeline .timeline li:last-child { grid-column: 1 / -1; min-height: 11rem; grid-template-columns: 8.5rem minmax(0,1fr); background: linear-gradient(105deg,#fff4f4 0,#fffafa 48%,#fff 100%); }
.timeline-marker { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; padding: 1.25rem 1rem; border-right: 1px solid var(--line); }
.timeline-index { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red-dark); background: #fff; font-family: var(--sans); font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.timeline-marker time { color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.timeline-body { min-width: 0; padding: 1.25rem clamp(1.15rem,2.5vw,2.2rem) 1.45rem; }
.timeline-theme-row { display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.timeline-theme { max-width: none !important; margin: 0; color: var(--red-dark); font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .075em; line-height: 1.35; text-transform: uppercase; }
.timeline-signal { position: relative; display: flex; width: 5rem; justify-content: space-between; align-items: center; }
.timeline-signal::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: #d7a5a5; }
.timeline-signal i { position: relative; z-index: 1; display: block; width: .52rem; height: .52rem; border: 1px solid var(--red); border-radius: 50%; background: #fff; }
.timeline-signal i:nth-child(2) { width: .7rem; height: .7rem; background: var(--red); }
.career-timeline .timeline h3 { margin: .72rem 0 .45rem; font-size: clamp(1.25rem,1.7vw,1.55rem); line-height: 1.16; }
.career-timeline .timeline .timeline-body > p:last-child { max-width: 66ch; margin: 0; font-size: .98rem; line-height: 1.55; }
.career-timeline .timeline li:last-child .timeline-body { display: grid; grid-template-columns: minmax(18rem,.55fr) minmax(0,1.45fr); gap: .45rem clamp(1.5rem,3vw,3rem); align-content: center; }
.career-timeline .timeline li:last-child .timeline-theme-row { grid-column: 1 / -1; }
.career-timeline .timeline li:last-child h3 { margin: .6rem 0 0; font-size: clamp(1.55rem,2.25vw,2rem); }
.career-timeline .timeline li:last-child .timeline-body > p:last-child { max-width: 82ch; margin-top: .55rem; }
.career-record { margin-top: clamp(2.5rem,5vw,4.8rem); padding-top: 1.1rem; border-top: 2px solid var(--red); }
.career-record-header { display: grid; grid-template-columns: minmax(8rem,.45fr) minmax(18rem,1.2fr) minmax(10rem,.55fr); gap: clamp(1rem,3vw,2.8rem); align-items: end; padding: 0 0 1rem; border-bottom: 1px solid var(--line-dark); }
.career-record-header p, .career-record-header h3, .career-record-header span { margin: 0; }
.career-record-header p { color: var(--red-dark); font-family: var(--sans); font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.career-record-header h3 { font-size: clamp(1.7rem,3vw,2.6rem); font-weight: 400; line-height: 1.06; }
.career-record-header span { color: var(--muted); font-family: var(--sans); font-size: .8rem; line-height: 1.4; text-align: right; }
.career-record-intro { max-width: 88ch !important; margin: 1.15rem 0 1.5rem; font-size: 1rem; line-height: 1.58; }
.career-course-register, .career-student-register, .career-evidence-list { margin: 0; padding: 0; list-style: none; }
.career-course-register { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); }
.career-course-register li { display: grid; grid-template-columns: minmax(6.8rem,.35fr) minmax(0,1fr); gap: .25rem 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.career-course-register li:nth-child(odd) { padding-right: 1.5rem; border-right: 1px solid var(--line); }
.career-course-register li:nth-child(even) { padding-left: 1.5rem; }
.career-course-register span, .career-course-register small { font-family: var(--sans); }
.career-course-register span { grid-row: 1 / span 2; color: var(--red-dark); font-size: .78rem; font-weight: 700; letter-spacing: .025em; }
.career-course-register strong { font-size: 1rem; font-weight: 600; line-height: 1.25; }
.career-course-register small { color: var(--muted); font-size: .73rem; }
.career-supervision-groups { display: grid; grid-template-columns: minmax(18rem,.78fr) minmax(0,1.22fr); gap: clamp(2rem,4vw,4rem); }
.career-supervision-groups > section > h4, .career-evidence-columns h4 { margin: 0 0 .65rem; color: var(--red-dark); font-family: var(--sans); font-size: .8rem; letter-spacing: .075em; text-transform: uppercase; }
.career-student-register { border-top: 1px solid var(--line); }
.career-student-register li { display: grid; grid-template-columns: minmax(9rem,.7fr) minmax(11rem,1fr); gap: .15rem 1rem; padding: .62rem 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.career-student-register strong { font-size: .94rem; line-height: 1.25; }
.career-student-register span, .career-student-register small { font-family: var(--sans); }
.career-student-register span { color: var(--red-dark); font-size: .72rem; line-height: 1.3; }
.career-student-register small { grid-column: 2; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.career-student-register--earlier { columns: 2 21rem; column-gap: 2rem; column-rule: 1px solid var(--line); }
.career-student-register--earlier li { display: grid; grid-template-columns: minmax(8.5rem,.72fr) minmax(9rem,1fr); }
.career-evidence-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,4vw,4rem); padding-top: 1.35rem; }
.career-evidence-list { border-top: 1px solid var(--line); }
.career-evidence-list li { display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.career-evidence-list time { color: var(--red-dark); font-family: var(--sans); font-size: .76rem; font-weight: 700; }
.career-evidence-list div { display: grid; gap: .25rem; }
.career-evidence-list strong { font-size: 1rem; font-weight: 600; line-height: 1.3; }
.career-evidence-list span { color: var(--muted); font-family: var(--sans); font-size: .75rem; line-height: 1.4; }
.career-record-link { display: inline-block; margin-top: 1rem; font-family: var(--sans); font-size: .82rem; font-weight: 700; }

@media (max-width: 1080px) {
  .content-main .career-narrative-header { grid-template-columns: 1fr; gap: .8rem; }
  .career-narrative-header > p { text-align: left; }
  .career-narrative-lead { max-width: 42ch !important; }
  .career-narrative-columns { columns: 2 20rem; }
  .career-lower-layout { grid-template-columns: 1fr; }
  .career-leadership-panel .cards { display: block; }
  .career-lower-notes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .career-record-header { grid-template-columns: minmax(9rem,.42fr) minmax(0,1fr); }
  .career-record-header span { grid-column: 2; text-align: left; }
  .career-supervision-groups { grid-template-columns: 1fr; }
  .content-main .career-timeline-header { grid-template-columns: 1fr; gap: .7rem; }
  .career-timeline .timeline { grid-template-columns: 1fr; }
  .career-timeline .timeline li, .career-timeline .timeline li:last-child { grid-column: auto; min-height: 0; grid-template-columns: 7rem minmax(0,1fr); }
  .career-timeline .timeline li:nth-child(even) { background: var(--timeline-soft); }
  .career-timeline .timeline li:nth-child(odd) { background: #fff; }
  .career-timeline .timeline li:last-child { background: linear-gradient(105deg,#fff4f4 0,#fff 100%); }
  .career-timeline .timeline li:last-child .timeline-body { display: block; }
}

@media (max-width: 760px) {
  .career-narrative { padding-bottom: 2rem; }
  .content-main .career-narrative-header { padding-top: .8rem; }
  .content-main .career-narrative-header h2 { font-size: 2.1rem; }
  .career-narrative-header > p { font-size: .75rem; line-height: 1.4; }
  .career-narrative-layout { padding-top: 1.2rem; }
  .career-narrative-lead { font-size: 1.25rem; line-height: 1.42; }
  .career-narrative-columns { columns: 1; }
  .career-narrative-columns p { font-size: 1rem; line-height: 1.58; }
  .career-lower-layout { margin-top: 2rem; }
  .career-lower-notes { grid-template-columns: 1fr; }
  .career-leadership-panel .card { grid-template-columns: 1fr; gap: .55rem; padding: 1.1rem .9rem 1.25rem; }
  .career-leadership-panel .card .meta { padding: 0 0 .5rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .career-lower-panel { padding: 1.1rem 1rem 1.25rem; }
  .career-timeline { padding-top: .75rem; }
  .content-main .career-timeline-header { margin-bottom: .85rem; padding-bottom: .85rem; }
  .content-main .career-timeline-header h2 { font-size: 2rem; }
  .career-timeline-header > p { font-size: .94rem; }
  .career-timeline .timeline li, .career-timeline .timeline li:last-child { grid-template-columns: 5.25rem minmax(0,1fr); }
  .timeline-marker { gap: .65rem; padding: 1rem .7rem; }
  .timeline-index { width: 2.25rem; height: 2.25rem; }
  .timeline-marker time { font-size: .7rem; }
  .timeline-body { padding: 1rem .9rem 1.15rem; }
  .timeline-signal { width: 3.2rem; }
  .career-timeline .timeline h3, .career-timeline .timeline li:last-child h3 { font-size: 1.28rem; }
  .career-timeline .timeline .timeline-body > p:last-child { font-size: .93rem; line-height: 1.5; }
  .career-record { margin-top: 2.6rem; }
  .career-record-header { grid-template-columns: 1fr; gap: .35rem; }
  .career-record-header span { grid-column: auto; text-align: left; }
  .career-course-register, .career-evidence-columns { grid-template-columns: 1fr; }
  .career-course-register li { grid-template-columns: 6.5rem minmax(0,1fr); }
  .career-course-register li:nth-child(odd), .career-course-register li:nth-child(even) { padding-right: 0; padding-left: 0; border-right: 0; }
  .career-student-register--earlier { columns: 1; }
  .career-student-register li, .career-student-register--earlier li { grid-template-columns: 1fr; gap: .22rem; }
  .career-student-register small { grid-column: 1; }
  .career-evidence-columns { gap: 2.2rem; }
}
.data-tools { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--line); font-family: var(--sans); }
.data-tools label { display: grid; gap: .35rem; font-size: .8rem; font-weight: 700; }
.data-tools input, .data-tools select { min-width: min(19rem,75vw); padding: .65rem .75rem; border: 1px solid var(--line-dark); background: #fff; font: inherit; font-weight: 400; }
.data-count { align-self: end; margin-left: auto; color: var(--muted); font-size: .86rem; }
.table-wrap { overflow-x: auto; border-top: 1px solid var(--ink); }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { padding: .8rem .7rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--red); font-family: var(--sans); font-size: .77rem; letter-spacing: .06em; text-transform: uppercase; }
td.year { width: 4.5rem; color: var(--red-dark); font-family: var(--sans); }
td.kind, td.status-cell { width: 8.5rem; font-family: var(--sans); font-size: .8rem; }
.hidden-row { display: none; }
.status-note { margin: 1.5rem 0; padding: 1rem 1.2rem; border-left: 4px solid var(--red); background: var(--soft); font-family: var(--sans); font-size: .88rem; }
.status-note strong { color: var(--red-dark); }
.related-links-panel { margin: 3.4rem 0 0; padding: 1.3rem 0 0; border-top: 1px solid var(--red); }
.related-links-panel h2 { margin: 0 0 .55rem; color: var(--red); font-family: var(--sans); font-size: .84rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.related-links-panel > p { max-width: 70ch; color: var(--muted); font-family: var(--sans); font-size: .88rem; }
.related-links-panel .arrow-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; }

/* Emerging research directions */
.emerging-visual { margin: 0 0 3.2rem; padding: 0; border-top: 2px solid var(--red); border-bottom: 1px solid var(--line-dark); }
.emerging-visual img { width: 100%; height: auto; max-height: 25rem; object-fit: cover; object-position: center; background: #faf8f5; }
.emerging-visual figcaption { display: flex; align-items: center; gap: .8rem; margin: 0; padding: .8rem 0 .9rem; color: var(--muted); font-family: var(--sans); font-size: .82rem; line-height: 1.45; }
.emerging-visual figcaption::before { content: ""; flex: 0 0 2.7rem; height: 2px; background: var(--red); }
.emerging-register { position: relative; margin: 0; border-top: 1px solid var(--ink); }
.emerging-register::before { content: ""; position: absolute; top: 0; bottom: 0; left: 4.25rem; width: 1px; background: linear-gradient(var(--red), var(--line) 88%, transparent); }
.content-main > .emerging-register { margin-bottom: 3.5rem; }
.emerging-direction { position: relative; display: grid; grid-template-columns: 8rem minmax(0,1fr); gap: clamp(1.5rem,4vw,4rem); margin: 0; padding: clamp(1.8rem,3.3vw,3.2rem) clamp(1rem,3vw,2.8rem) clamp(1.9rem,3.5vw,3.4rem) 0; border-bottom: 1px solid var(--line); }
.emerging-direction:nth-child(odd) { background: linear-gradient(90deg, transparent 0 8rem, rgba(224,22,22,.035) 8rem 100%); }
.emerging-direction-index { position: relative; min-height: 5rem; display: flex; justify-content: center; align-items: flex-start; }
.emerging-direction-index span { position: relative; z-index: 1; display: grid; place-items: center; width: 3.35rem; height: 3.35rem; border: 1px solid var(--red); border-radius: 50%; color: var(--red-dark); background: #fff; font-family: var(--sans); font-size: .92rem; font-weight: 700; letter-spacing: .08em; }
.emerging-direction-index i { position: absolute; top: 4.5rem; width: 1rem; height: 1rem; border-right: 1px solid var(--red); border-bottom: 1px solid var(--red); transform: rotate(45deg); }
.emerging-direction:last-child .emerging-direction-index i { display: none; }
.emerging-direction-copy { max-width: 66rem; }
.emerging-direction-copy .eyebrow { margin: 0 0 .5rem; color: var(--red); font-family: var(--sans); font-size: .76rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.content-main .emerging-direction-copy h2 { margin: 0 0 .85rem; padding: 0; border: 0; font-size: clamp(1.9rem,3.8vw,3.35rem); line-height: 1.02; letter-spacing: -.025em; }
.emerging-direction-copy p:last-child { max-width: 76ch; margin: 0; font-size: clamp(1rem,1.2vw,1.14rem); line-height: 1.63; }

@media (max-width: 760px) {
  .emerging-visual { margin-bottom: 2.2rem; }
  .emerging-visual img { min-height: 10rem; object-fit: cover; }
  .emerging-visual figcaption { align-items: flex-start; font-size: .78rem; }
  .emerging-register::before { left: 1.65rem; }
  .emerging-direction { grid-template-columns: 3.4rem minmax(0,1fr); gap: 1rem; padding: 1.6rem 0 1.8rem; }
  .emerging-direction:nth-child(odd) { background: linear-gradient(90deg, transparent 0 3.4rem, rgba(224,22,22,.035) 3.4rem 100%); }
  .emerging-direction-index { min-height: 3rem; justify-content: flex-start; }
  .emerging-direction-index span { width: 3rem; height: 3rem; font-size: .82rem; }
  .emerging-direction-index i { display: none; }
  .content-main .emerging-direction-copy h2 { font-size: clamp(1.55rem,7vw,2.25rem); }
  .emerging-direction-copy p:last-child { font-size: .96rem; line-height: 1.56; }
}

/* Hierarchical in-circuit intelligence: slide content in the academic-site system. */
.hierarchical-profile-page { --hit-blue: #153a9b; --hit-pale: #fff8f8; }
.hierarchical-profile-page .hit-importance { display: grid; grid-template-columns: minmax(12rem,.32fr) minmax(0,1fr); gap: clamp(1.4rem,3vw,3rem); align-items: start; margin: 0 0 1.5rem; padding: 1.15rem 0 1.35rem; border-top: 2px solid var(--red); border-bottom: 1px solid var(--line); }
.content-main .hierarchical-profile-page .hit-importance h2 { margin: 0; padding: .15rem 0 0; border: 0; color: var(--red-dark); font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: .06em; line-height: 1.25; text-transform: uppercase; }
.hierarchical-profile-page .hit-importance p { max-width: 82rem; margin: 0; font-size: 1.08rem; line-height: 1.62; }
.hierarchical-profile-page .hit-control-map { margin: 0; padding: 1rem; border: 1px solid var(--red); background: #fff; }
.hierarchical-profile-page .hit-supervisor { display: grid; grid-template-columns: minmax(17rem,.7fr) minmax(17rem,.9fr) minmax(20rem,1.15fr); align-items: center; gap: 1.5rem; padding: 1rem; border: 1px solid #deb9b9; background: var(--hit-pale); }
.hierarchical-profile-page .hit-supervisor > img { width: 100%; max-height: 18rem; object-fit: cover; object-position: top; background: #fff; }
.hierarchical-profile-page .hit-supervisor-copy { color: var(--red-dark); text-align: center; }
.hierarchical-profile-page .hit-supervisor-copy p { margin: 0; font-family: var(--sans); font-size: .88rem; font-weight: 700; letter-spacing: .045em; line-height: 1.35; text-transform: uppercase; }
.content-main .hierarchical-profile-page .hit-supervisor-copy h2 { margin: .35rem 0; padding: 0; border: 0; color: var(--red-dark); font-size: 1.7rem; font-style: italic; }
.hierarchical-profile-page .hit-supervisor-copy span { display: block; font-family: var(--sans); font-size: .78rem; line-height: 1.4; }
.hierarchical-profile-page .hit-observables { padding-left: 1.4rem; border-left: 1px solid #deb9b9; }
.hierarchical-profile-page .hit-observables h3 { margin: 0 0 .45rem; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.hierarchical-profile-page .hit-observables strong { font-size: 1.03rem; font-weight: 400; line-height: 1.5; }
.hierarchical-profile-page .hit-telemetry-rail { display: grid; grid-template-columns: auto minmax(4rem,1fr) auto; align-items: center; gap: .85rem; margin: .8rem 4% .6rem; color: var(--red-dark); font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.hierarchical-profile-page .hit-telemetry-rail i { position: relative; height: 0; border-top: 2px dashed currentColor; }
.hierarchical-profile-page .hit-telemetry-rail i::before, .hierarchical-profile-page .hit-telemetry-rail i::after { content: ""; position: absolute; top: -.32rem; border-top: .26rem solid transparent; border-bottom: .26rem solid transparent; }
.hierarchical-profile-page .hit-telemetry-rail i::before { left: -.05rem; border-right: .42rem solid currentColor; }
.hierarchical-profile-page .hit-telemetry-rail i::after { right: -.05rem; border-left: .42rem solid currentColor; }
.hierarchical-profile-page .hit-chain { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.hierarchical-profile-page .hit-chain li { position: relative; min-width: 0; padding: .55rem; border: 1px solid #555; background: #fff; text-align: center; }
.hierarchical-profile-page .hit-chain li:not(:last-child)::after { content: ""; position: absolute; left: calc(100% + .18rem); top: 43%; width: .72rem; border-top: 2px solid #222; }
.hierarchical-profile-page .hit-chain li:not(:last-child)::before { content: ""; position: absolute; left: calc(100% + .78rem); top: calc(43% - .23rem); border-top: .27rem solid transparent; border-bottom: .27rem solid transparent; border-left: .42rem solid #222; }
.hierarchical-profile-page .hit-chain .hit-optical-node { border-color: var(--hit-blue); color: var(--hit-blue); }
.hierarchical-profile-page .hit-chain .hit-optical-node:not(:last-child)::after { border-color: var(--hit-blue); }
.hierarchical-profile-page .hit-chain .hit-optical-node:not(:last-child)::before { border-left-color: var(--hit-blue); }
.hierarchical-profile-page .hit-chain img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #fff; }
.hierarchical-profile-page .hit-chain img[src*="photodetector-tia-source"] { object-fit: contain; padding: .25rem; }
.hierarchical-profile-page .hit-chain strong, .hierarchical-profile-page .hit-chain span { display: block; font-family: var(--sans); }
.hierarchical-profile-page .hit-chain strong { margin-top: .45rem; font-size: .78rem; line-height: 1.18; }
.hierarchical-profile-page .hit-chain span { margin-top: .22rem; color: var(--muted); font-size: .68rem; line-height: 1.3; }
.hierarchical-profile-page .hit-local-control { display: grid; grid-template-columns: 1fr .72fr 1fr; align-items: center; gap: 1.2rem; margin: .85rem 8% 0; color: var(--red-dark); }
.hierarchical-profile-page .hit-actuator { position: relative; padding: .75rem 1rem; border: 1px solid var(--red); background: var(--hit-pale); text-align: center; }
.hierarchical-profile-page .hit-actuator::before { content: ""; position: absolute; left: 50%; bottom: 100%; height: .82rem; border-left: 2px solid var(--red); }
.hierarchical-profile-page .hit-actuator::after { content: ""; position: absolute; left: calc(50% - .3rem); bottom: calc(100% + .66rem); border-right: .3rem solid transparent; border-bottom: .44rem solid var(--red); border-left: .3rem solid transparent; }
.content-main .hierarchical-profile-page .hit-actuator h2 { margin: 0; padding: 0; border: 0; color: var(--red-dark); font-size: 1.35rem; font-style: italic; }
.hierarchical-profile-page .hit-actuator p { margin: .25rem 0 0; font-family: var(--sans); font-size: .72rem; line-height: 1.35; }
.hierarchical-profile-page .hit-local-label { text-align: center; }
.hierarchical-profile-page .hit-local-label strong, .hierarchical-profile-page .hit-local-label span { display: block; }
.hierarchical-profile-page .hit-local-label strong { font-style: italic; }
.hierarchical-profile-page .hit-local-label span { margin-top: .2rem; color: var(--muted); font-family: var(--sans); font-size: .68rem; }
.hierarchical-profile-page .hit-question { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); align-items: center; gap: 1.2rem; margin: 1.2rem 0; padding: 1rem; border-top: 1px solid var(--red); border-bottom: 1px solid var(--red); }
.hierarchical-profile-page .hit-question > span { display: grid; place-items: center; width: 4rem; height: 4rem; border: 3px solid var(--red); border-radius: 50%; color: var(--red-dark); font-size: 2.4rem; font-weight: 700; }
.content-main .hierarchical-profile-page .hit-question h2 { margin: 0; padding: 0; border: 0; font-size: 1.45rem; text-align: center; text-wrap: balance; }
.hierarchical-profile-page .hit-question em { color: var(--red-dark); font-style: normal; }
.hierarchical-profile-page .hit-workplan { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; }
.hierarchical-profile-page .hit-workplan article { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .9rem; padding: 1rem 1.4rem; }
.hierarchical-profile-page .hit-workplan article + article { border-left: 1px solid var(--line); }
.hierarchical-profile-page .hit-workplan span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; color: #fff; background: var(--red); font-family: var(--sans); font-weight: 700; }
.content-main .hierarchical-profile-page .hit-workplan h2 { margin: .08rem 0 0; padding: 0; border: 0; font-family: var(--sans); font-size: .94rem; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
.hierarchical-profile-page .hit-workplan p { margin: .4rem 0 0; line-height: 1.42; }
.hierarchical-profile-page .hit-evaluation { margin: 1.2rem 0 0; border-top: 1px solid var(--red); }
.content-main .hierarchical-profile-page .hit-evaluation > h2 { width: max-content; margin: -.72rem auto .55rem; padding: 0 1.2rem; border: 0; color: var(--red-dark); background: #fff; font-family: var(--sans); font-size: .9rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.hierarchical-profile-page .hit-evaluation > div { display: grid; grid-template-columns: repeat(4,1fr); }
.hierarchical-profile-page .hit-evaluation article { padding: .6rem 1rem; text-align: center; }
.hierarchical-profile-page .hit-evaluation article + article { border-left: 1px solid var(--line); }
.hierarchical-profile-page .hit-evaluation strong { color: var(--red-dark); }
.hierarchical-profile-page .hit-evaluation p { margin: .3rem 0 0; color: var(--muted); font-family: var(--sans); font-size: .75rem; line-height: 1.35; }

@media (max-width: 1120px) {
  .hierarchical-profile-page .hit-supervisor { grid-template-columns: minmax(17rem,.75fr) 1fr; }
  .hierarchical-profile-page .hit-supervisor > img { grid-row: 1 / 3; }
  .hierarchical-profile-page .hit-observables { padding: .8rem 0 0; border-top: 1px solid #deb9b9; border-left: 0; }
  .hierarchical-profile-page .hit-chain { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .hierarchical-profile-page .hit-chain li::before, .hierarchical-profile-page .hit-chain li::after { display: none; }
}

@media (max-width: 760px) {
  .hierarchical-profile-page .hit-importance { grid-template-columns: 1fr; gap: .5rem; }
  .hierarchical-profile-page .hit-importance p { font-size: 1rem; line-height: 1.55; }
  .hierarchical-profile-page .hit-control-map { padding: .65rem; }
  .hierarchical-profile-page .hit-supervisor { grid-template-columns: 1fr; padding: .7rem; }
  .hierarchical-profile-page .hit-supervisor > img { grid-row: auto; max-width: 25rem; margin: 0 auto; }
  .hierarchical-profile-page .hit-observables { grid-column: 1 / -1; }
  .hierarchical-profile-page .hit-telemetry-rail { grid-template-columns: 1fr; margin: .8rem 0; text-align: center; }
  .hierarchical-profile-page .hit-telemetry-rail i { order: -1; }
  .hierarchical-profile-page .hit-chain { grid-template-columns: 1fr; gap: .8rem; }
  .hierarchical-profile-page .hit-chain li { display: grid; grid-template-columns: 7rem minmax(0,1fr); align-items: center; gap: .9rem; text-align: left; }
  .hierarchical-profile-page .hit-chain img { grid-row: 1 / 3; }
  .hierarchical-profile-page .hit-chain strong { margin: 0; font-size: .96rem; }
  .hierarchical-profile-page .hit-chain span { font-size: .8rem; }
  .hierarchical-profile-page .hit-chain li:not(:last-child)::after { display: block; left: 3.35rem; top: calc(100% + .08rem); width: 0; height: .65rem; border-top: 0; border-left: 2px solid #222; }
  .hierarchical-profile-page .hit-chain li:not(:last-child)::before { display: block; left: 3.14rem; top: calc(100% + .54rem); border-top: .42rem solid #222; border-right: .24rem solid transparent; border-bottom: 0; border-left: .24rem solid transparent; }
  .hierarchical-profile-page .hit-local-control { grid-template-columns: 1fr; margin: .9rem 0 0; }
  .hierarchical-profile-page .hit-local-label { order: -1; padding: .4rem 0; }
  .hierarchical-profile-page .hit-actuator::before, .hierarchical-profile-page .hit-actuator::after { display: none; }
  .hierarchical-profile-page .hit-question { grid-template-columns: 3rem minmax(0,1fr); padding: .8rem .2rem; }
  .hierarchical-profile-page .hit-question > span { width: 3rem; height: 3rem; border-width: 2px; font-size: 1.8rem; }
  .content-main .hierarchical-profile-page .hit-question h2 { font-size: 1.12rem; text-align: left; }
  .hierarchical-profile-page .hit-workplan { grid-template-columns: 1fr; }
  .hierarchical-profile-page .hit-workplan article { padding: 1rem 0; }
  .hierarchical-profile-page .hit-workplan article + article { border-top: 1px solid var(--line); border-left: 0; }
  .hierarchical-profile-page .hit-evaluation > div { grid-template-columns: 1fr 1fr; }
  .hierarchical-profile-page .hit-evaluation article:nth-child(3) { border-left: 0; }
  .hierarchical-profile-page .hit-evaluation article:nth-child(n+3) { border-top: 1px solid var(--line); }
}
.research-related { margin-top: 2.6rem; }

/* Research overview transferred from the accepted presentation-derived page. */
.research-visual-overview { margin-bottom: 3.6rem !important; font-family: var(--sans); }
.research-visual-header { margin-bottom: 1rem; }
.content-main .research-visual-header h2 { max-width: 23ch; margin: 0; padding: 0; border: 0; font-family: var(--serif); font-size: clamp(2rem,3.4vw,3.15rem); line-height: 1.02; }
.research-visual-header p { max-width: 48rem; margin: 0; color: var(--muted); font-size: 1.02rem; line-height: 1.45; text-align: right; }
.research-map-stage { display: grid; grid-template-columns: minmax(0,1fr) 17.5rem; gap: 1rem; align-items: stretch; }
.research-map-timeline-wrap { min-width: 0; }
.research-map-years { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto; gap: .7rem; align-items: center; margin: 0 0 .55rem; color: #242424; font-size: .82rem; font-weight: 700; }
.research-map-years i { height: 2px; background: var(--ink); }
.research-map-timeline { display: grid; gap: .55rem; }
.research-map-lane { display: grid; grid-template-columns: minmax(21rem,.9fr) minmax(0,1.8fr); min-height: 8.7rem; overflow: hidden; border: 1px solid #d88b94; border-radius: 12px; background: linear-gradient(90deg,#fff 0,#fff7f7 58%,#f1a4ad 100%); }
.research-map-lane > header { display: grid; grid-template-columns: 2.35rem 5rem minmax(0,1fr); gap: .7rem; align-items: center; padding: .8rem .9rem; }
.research-lane-number { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: 50%; color: #fff; background: var(--red-dark); font-size: 1.15rem; font-weight: 700; }
.research-atlas-icon { display: block; flex: 0 0 auto; width: 4.8rem; height: 4.8rem; border-radius: 8px; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain; }
.research-atlas-1 { background-image: url(research-icons/icon-01.jpg); }
.research-atlas-2 { background-image: url(research-icons/icon-02.jpg); }
.research-atlas-3 { background-image: url(research-icons/icon-03.jpg); }
.research-atlas-4 { background-image: url(research-icons/icon-04.jpg); }
.research-atlas-5 { background-image: url(research-icons/icon-05.jpg); }
.research-atlas-6 { background-image: url(research-icons/icon-06.jpg); }
.research-atlas-7 { background-image: url(research-icons/icon-07.jpg); }
.research-atlas-8 { background-image: url(research-icons/icon-08.jpg); }
.research-atlas-10 { background-image: url(research-icons/icon-10.jpg); }
.research-atlas-11 { background-image: url(research-icons/icon-11.jpg); }
.research-atlas-12 { background-image: url(research-icons/icon-12.jpg); }
.research-atlas-quantum { background-image: url(research-icons/quantum-control-loop-v1.png); }
.content-main .research-map-lane h3 { margin: 0 0 .3rem; font-family: var(--sans); font-size: 1.05rem; line-height: 1.15; }
.research-map-lane header p { margin: 0; color: #333; font-size: .86rem; font-weight: 700; }
.research-map-lane-cells { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(8.3rem,1fr); min-width: 0; }
.research-map-lane-cells section { min-width: 0; padding: .9rem .8rem; border-left: 1px solid rgba(120,45,54,.28); }
.research-map-lane-cells h4 { margin: 0 0 .35rem; font-size: .88rem; line-height: 1.2; }
.research-map-lane-cells p { margin: 0; color: #292929; font-size: .82rem; line-height: 1.35; }
.research-map-pillars { min-width: 0; }
.content-main .research-map-pillars > h3 { margin: 0 0 .55rem; color: var(--red-dark); font-family: var(--sans); font-size: .96rem; letter-spacing: .06em; line-height: 1.2; text-align: center; text-transform: uppercase; }
.research-map-pillars > div { display: grid; grid-template-rows: repeat(4,1fr); gap: .55rem; height: calc(100% - 2rem); }
.research-map-pillars article { display: grid; grid-template-columns: 5.2rem 1fr; gap: .65rem; align-items: center; padding: .65rem; border: 1.5px solid var(--red); border-radius: 12px; }
.research-map-pillars .research-atlas-icon { width: 5rem; height: 5rem; }
.research-map-pillars strong { font-size: .88rem; line-height: 1.22; }
.research-foundations { margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid #d9aab1; background: #f7f3f3; }
.research-foundations > header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid #c9b9bc; }
.content-main .research-foundations > header h3 { margin: 0; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }
.research-foundations > header p { margin: 0; color: var(--muted); font-size: .9rem; font-weight: 700; text-align: right; }
.research-foundation-groups { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: .9rem 0; }
.research-foundation-groups article { position: relative; padding: .95rem 1rem .85rem 3.5rem; border: 1px solid #dbc9cc; border-top: 3px solid var(--red); background: #fff; }
.research-foundation-groups article > span { position: absolute; top: .8rem; left: .9rem; color: #d93043; font-size: 1.2rem; font-weight: 800; }
.research-foundation-groups h4 { margin: 0 0 .45rem; font-size: .98rem; }
.research-foundation-groups ul { margin: 0; padding-left: 1.15rem; color: #333; }
.research-foundation-groups li { margin: .25rem 0; font-size: .84rem; line-height: 1.38; }
.research-foundation-methods { display: flex; align-items: stretch; border: 1px solid #d3c3c6; background: #fff; }
.research-foundation-methods strong, .research-foundation-methods span { display: flex; align-items: center; padding: .7rem .8rem; }
.research-foundation-methods strong { flex: 0 0 auto; color: var(--red-dark); background: #f2e7e9; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.research-foundation-methods span { flex: 1; border-left: 1px solid #d3c3c6; color: #333; font-size: .76rem; line-height: 1.3; }
.research-method-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin: 1rem 0 .7rem; }
.research-method-strip article { display: grid; grid-template-columns: 4.2rem 1fr; gap: .8rem; align-items: center; min-height: 5.6rem; padding: .65rem 1rem; border: 1px solid var(--red); }
.research-method-strip .research-atlas-icon { width: 4rem; height: 4rem; }
.research-method-strip .research-atlas-12 { background-size: 76% auto; background-position: 55% center; }
.research-method-strip article > div { display: grid; gap: .15rem; }
.research-method-strip strong { color: var(--red-dark); font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; }
.research-method-strip span { font-family: var(--serif); font-size: 1rem; line-height: 1.3; }
.research-closing-line { max-width: none !important; margin: 0; padding: .55rem .8rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #303030; font-size: .9rem; font-weight: 700; letter-spacing: .01em; text-align: center; }

/* Editorial research register and current-priority cards. */
.research-section-intro { display: grid; grid-template-columns: minmax(15rem,.62fr) minmax(0,1fr); column-gap: 3rem; align-items: end; margin-bottom: 1.4rem; padding: 1.45rem 0 1.2rem; border-top: 3px solid var(--red); border-bottom: 1px solid var(--line-dark); }
.research-section-intro .eyebrow, .research-outlook > .eyebrow { grid-column: 1 / -1; margin: 0 0 .45rem; color: var(--red-dark); font-family: var(--sans); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.content-main .research-section-intro h2 { margin: 0; padding: 0; border: 0; font-size: clamp(2rem,3.4vw,3.15rem); }
.research-section-intro > p:last-child { max-width: 65ch; margin: 0; color: #333; font-size: 1.02rem; line-height: 1.55; }
.research-register-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.research-register-card { position: relative; display: grid; grid-template-columns: 6rem minmax(0,1fr) 2rem; gap: 1rem; align-items: center; min-height: 11rem; overflow: hidden; padding: 1.15rem 1rem; border: 1px solid #d8c7ca; background: linear-gradient(135deg,#fff 0%,#fff 68%,#f8e8eb 100%); transition: border-color .18s ease, transform .18s ease; }
.research-register-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--red); }
.research-register-card:hover { transform: translateY(-2px); border-color: var(--red); }
.research-register-card .research-atlas-icon { width: 5.8rem; height: 5.8rem; }
.research-register-card h3 { margin: .22rem 0 .45rem; font-family: var(--serif); font-size: 1.35rem; font-weight: 600; line-height: 1.12; }
.research-register-card h3 a { color: var(--ink); text-decoration-color: var(--red); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.research-register-card p { margin: 0; font-size: .92rem; line-height: 1.45; }
.research-register-card .status { color: var(--red-dark); font-family: var(--sans); font-size: .73rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.research-register-arrow { display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--red); border: 1px solid var(--red); border-radius: 50%; font-family: var(--sans); font-size: 1.25rem; text-decoration: none; }
.research-register-card:last-child { grid-column: 1 / -1; grid-template-columns: 8rem minmax(0,1fr) 2rem; min-height: 13rem; background: linear-gradient(100deg,#fff 0%,#fff6f4 58%,#f3d8de 100%); }
.research-register-card:last-child .research-atlas-icon { width: 7.6rem; height: 7.6rem; }
.research-page-sections { display: flex; flex-direction: column; }
.research-outlook { order: 2; margin-bottom: clamp(2.2rem,4vw,3.6rem); padding: clamp(1.4rem,2.8vw,2.2rem) 0; border-top: 3px solid var(--red); border-bottom: 1px solid var(--line-dark); }
.research-outlook > .eyebrow { margin-bottom: .8rem; }
.research-outlook-columns { columns: 3 18rem; column-gap: clamp(1.8rem,3.5vw,3.4rem); column-rule: 1px solid var(--line); }
.research-outlook-columns p { max-width: none; margin: 0 0 1rem; break-inside: avoid; font-size: 1.03rem; line-height: 1.62; }
.research-register { order: 1; margin-bottom: clamp(2.2rem,4vw,3.6rem); }
.research-register > .research-section-intro { margin-bottom: 1rem; padding: .85rem 0 .75rem; }
.research-page-sections > .research-visual-overview { order: 3; margin-bottom: 0 !important; }

.research-priorities { margin-top: 4.2rem !important; }
.research-priority-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .85rem; }
.research-priority-card { display: grid; grid-column: span 3; grid-template-rows: 7.4rem 1fr; min-height: 17.5rem; overflow: hidden; border: 1px solid #d8c7ca; background: #fff; }
.research-priority-card > .research-atlas-icon { width: 100%; height: 7.4rem; border-radius: 0; background-color: #faf7f4; background-size: contain; }
.research-priority-card > div { padding: 1rem 1.05rem 1.2rem; border-top: 3px solid var(--red); }
.research-priority-card > div > span { color: var(--red-dark); font-family: var(--sans); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.research-priority-card h3 { margin: .45rem 0 .55rem; font-family: var(--serif); font-size: 1.25rem; line-height: 1.12; }
.research-priority-card p { margin: 0; font-size: .9rem; line-height: 1.46; }
.research-priority-card--quantum, .research-priority-card--foundation { grid-column: span 6; grid-template-columns: 12rem minmax(0,1fr); grid-template-rows: 1fr; min-height: 14rem; }
.research-priority-card--quantum > .research-atlas-icon, .research-priority-card--foundation > .research-atlas-icon { width: 12rem; height: 100%; min-height: 14rem; }
.research-priority-card--quantum > div, .research-priority-card--foundation > div { display: flex; flex-direction: column; justify-content: center; border-top: 0; border-left: 3px solid var(--red); padding: 1.35rem 1.45rem; }
.research-priority-card--quantum { background: #fff8f6; border-color: #c98f98; }
.research-priority-card--quantum > .research-atlas-icon { background-color: #fff8f6; }
.research-priority-card--foundation { background: #f7f3f3; }

@media (max-width: 1180px) {
  .research-visual-header { grid-template-columns: 1fr; align-items: start; gap: .65rem; }
  .research-visual-header p { text-align: left; }
  .research-map-stage { grid-template-columns: 1fr; }
  .research-map-pillars > div { grid-template-columns: repeat(4,1fr); grid-template-rows: 1fr; height: auto; }
  .research-map-pillars article { grid-template-columns: 4.4rem 1fr; }
  .research-map-pillars .research-atlas-icon { width: 4.2rem; height: 4.2rem; }
}

@media (max-width: 960px) {
  .research-outlook-columns { columns: 2 19rem; }
  .research-map-lane { display: block; }
  .research-map-lane-cells { grid-auto-flow: initial; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .research-map-lane-cells section { border-top: 1px solid rgba(120,45,54,.28); }
  .research-map-pillars > div { grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(2,1fr); }
  .research-foundation-groups { grid-template-columns: 1fr; gap: .65rem; }
  .research-foundation-methods { display: grid; grid-template-columns: 1fr 1fr; }
  .research-foundation-methods strong { grid-column: 1 / -1; }
  .research-foundation-methods span { border-top: 1px solid #d3c3c6; border-left: 0; }
  .research-foundation-methods span:nth-of-type(even) { border-left: 1px solid #d3c3c6; }
  .research-method-strip { grid-template-columns: 1fr; gap: .55rem; }
  .research-section-intro { grid-template-columns: 1fr; gap: .65rem; align-items: start; }
  .research-register-grid { grid-template-columns: 1fr; }
  .research-register-card:last-child { grid-column: auto; }
  .research-priority-card { grid-column: span 6; }
  .research-priority-card--quantum, .research-priority-card--foundation { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .research-outlook { margin-bottom: 2rem; padding: 1.15rem 0; }
  .research-outlook-columns { columns: 1; }
  .research-outlook-columns p { font-size: 1rem; line-height: 1.58; }
  .research-visual-overview { margin-bottom: 2.8rem !important; }
  .content-main .research-visual-header h2 { font-size: 2rem; }
  .research-map-years { display: none; }
  .research-map-lane > header { grid-template-columns: 2.2rem 4.5rem minmax(0,1fr); gap: .6rem; padding: .8rem .7rem; }
  .research-lane-number { width: 2.2rem; height: 2.2rem; }
  .research-map-lane > header .research-atlas-icon { width: 4.35rem; height: 4.35rem; }
  .content-main .research-map-lane h3 { font-size: 1rem; }
  .research-map-lane-cells { grid-template-columns: 1fr; }
  .research-map-lane-cells section { padding: .75rem; border-left: 0; }
  .research-map-lane-cells h4 { font-size: .94rem; }
  .research-map-lane-cells p { font-size: .88rem; }
  .research-map-pillars > div { grid-template-columns: 1fr; grid-template-rows: none; }
  .research-map-pillars article { grid-template-columns: 4.8rem 1fr; }
  .research-map-pillars .research-atlas-icon { width: 4.6rem; height: 4.6rem; }
  .research-map-pillars strong { font-size: .94rem; }
  .research-foundations { padding: .8rem; }
  .research-foundations > header { align-items: start; flex-direction: column; gap: .2rem; }
  .research-foundations > header p { text-align: left; }
  .research-foundation-methods { grid-template-columns: 1fr; }
  .research-foundation-methods span:nth-of-type(even) { border-left: 0; }
  .research-method-strip article { grid-template-columns: 4.4rem 1fr; padding: .6rem .75rem; }
  .research-method-strip .research-atlas-icon { width: 4.1rem; height: 4.1rem; }
  .research-closing-line { font-size: .82rem; line-height: 1.45; }
  .research-section-intro { padding: 1.1rem 0; }
  .content-main .research-section-intro h2 { font-size: 2rem; }
  .research-register-card, .research-register-card:last-child { grid-template-columns: 4.8rem minmax(0,1fr); gap: .75rem; min-height: 0; padding: .9rem .75rem; }
  .research-register-card .research-atlas-icon, .research-register-card:last-child .research-atlas-icon { width: 4.6rem; height: 4.6rem; }
  .research-register-card h3 { font-size: 1.16rem; }
  .research-register-card .research-register-arrow { display: none; }
  .research-priority-grid { display: grid; grid-template-columns: 1fr; }
  .research-priority-card, .research-priority-card--quantum, .research-priority-card--foundation { grid-column: 1; grid-template-columns: 6.6rem minmax(0,1fr); grid-template-rows: 1fr; min-height: 11.5rem; }
  .research-priority-card > .research-atlas-icon, .research-priority-card--quantum > .research-atlas-icon, .research-priority-card--foundation > .research-atlas-icon { width: 6.6rem; height: 100%; min-height: 11.5rem; }
  .research-priority-card > div, .research-priority-card--quantum > div, .research-priority-card--foundation > div { display: flex; flex-direction: column; justify-content: center; border-top: 0; border-left: 3px solid var(--red); padding: .9rem; }
  .research-priority-card h3 { font-size: 1.13rem; }
}

/* Contact page. */
.contact-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.contact-card { min-width: 0; display: flex; flex-direction: column; gap: .22rem; padding: 1.25rem 1.4rem 1.35rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.contact-card-email { grid-column: 1 / -1; position: relative; padding: 1.45rem 1.4rem 1.5rem; background: var(--soft); }
.contact-card-email::after { content: "→"; position: absolute; right: 1.4rem; top: 50%; color: var(--red); font-family: var(--sans); font-size: 1.8rem; transform: translateY(-50%); }
.contact-card-email:hover { color: var(--red-dark); }
.contact-card-address { grid-column: 1 / -1; }
.contact-card-label { color: var(--red); font-family: var(--sans); font-size: .74rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contact-card strong { font-size: 1.08rem; font-weight: 400; line-height: 1.28; overflow-wrap: anywhere; }
.contact-card-email strong { font-size: clamp(1.25rem,2.3vw,1.8rem); }
.contact-card > span:last-child { color: var(--muted); font-family: var(--sans); font-size: .82rem; }
.section-intro { max-width: 82ch !important; font-size: 1.04rem; line-height: 1.58; }
.collaboration-modes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 1.5rem 0 2.2rem; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.collaboration-modes article { min-width: 0; padding: 1.3rem 1.4rem 1.5rem 0; }
.collaboration-modes article + article { padding-left: 1.4rem; border-left: 1px solid var(--line); }
.collaboration-modes h3 { margin: 0 0 .65rem; color: var(--red-dark); font-family: var(--sans); font-size: .94rem; letter-spacing: .02em; text-transform: uppercase; }
.collaboration-modes p { margin: 0; font-size: .94rem; line-height: 1.52; }
.capability-heading { margin: 0 0 .6rem !important; font-family: var(--sans); font-size: 1rem !important; letter-spacing: .06em; text-transform: uppercase; }
.capability-register { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.2rem; counter-reset: capability; border-top: 1px solid var(--ink); }
.capability-register article { min-width: 0; display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .75rem; padding: 1rem 0 1.1rem; border-bottom: 1px solid var(--line); counter-increment: capability; }
.capability-register article::before { content: "0" counter(capability); color: var(--red); font-family: var(--sans); font-size: .78rem; padding-top: .15rem; }
.capability-register h4 { margin: 0 0 .25rem; font-size: 1.05rem; font-weight: 400; }
.capability-register p { margin: 0; color: var(--muted); font-family: var(--sans); font-size: .84rem; line-height: 1.48; }
.graduate-section { padding-top: 1rem; border-top: 2px solid var(--red); }
.graduate-section-header { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); gap: clamp(2rem,5vw,5rem); align-items: end; margin-bottom: 1.5rem; padding-bottom: 1.35rem; border-bottom: 1px solid var(--line-dark); }
.contact-section-label { max-width: none !important; margin: 0 0 .5rem; color: var(--red-dark); font-family: var(--sans); font-size: .74rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.content-main .graduate-section-header h2 { margin: 0; padding: 0; border: 0; font-size: clamp(2rem,3.8vw,3.15rem); line-height: 1.02; }
.graduate-section-header .section-intro { max-width: none !important; margin: 0; font-size: clamp(1.05rem,1.45vw,1.2rem); line-height: 1.58; }
.graduate-checklist { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; counter-reset: enquiry; }
.graduate-checklist li { position: relative; min-width: 0; display: grid; grid-template-columns: 5.2rem minmax(12rem,.48fr) minmax(0,1fr); gap: clamp(1rem,2.5vw,2.2rem); align-items: center; min-height: 8rem; padding: 1.15rem 3.4rem 1.15rem 1rem; border: 1px solid var(--line); border-left: 4px solid var(--red); background: linear-gradient(90deg,#fff 0,#fff 70%,#fff8f8 100%); counter-increment: enquiry; }
.graduate-checklist li:nth-child(even) { background: #fff8f8; }
.graduate-checklist li::before { content: "0" counter(enquiry); display: grid; width: 4rem; height: 4rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red-dark); background: #fff; font-family: var(--sans); font-size: 1.15rem; font-weight: 700; }
.graduate-checklist li:not(:last-child)::after { content: "↓"; position: absolute; z-index: 1; right: 1.1rem; bottom: -1.25rem; display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red); background: #fff; font-family: var(--sans); font-size: 1.25rem; }
.graduate-checklist strong { font-size: clamp(1.2rem,1.8vw,1.48rem); font-weight: 600; line-height: 1.2; }
.graduate-checklist span { color: var(--ink); font-family: var(--sans); font-size: clamp(.96rem,1.2vw,1.05rem); line-height: 1.55; }
.contact-send-step { display: grid; grid-template-columns: minmax(12rem,.6fr) minmax(0,1.4fr); gap: 1.5rem; align-items: center; margin-top: 1rem; padding: 1.35rem 1.5rem; border: 2px solid var(--red); background: var(--soft); }
.contact-send-step > div { display: grid; gap: .18rem; }
.contact-send-step span { color: var(--red-dark); font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-send-step strong { font-size: 1.35rem; line-height: 1.15; }
.contact-send-step p { max-width: none; margin: 0; font-size: 1rem; line-height: 1.5; }
.contact-secondary-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); gap: 2rem; margin-top: 3rem; }
.contact-secondary-grid > * { margin: 0 !important; padding: 1.25rem 1.4rem 1.4rem; border-top: 2px solid var(--red); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.content-main .contact-secondary-grid h2 { margin: 0 0 .85rem; padding: 0; border: 0; font-size: clamp(1.65rem,2.5vw,2.15rem); }
.contact-secondary-grid p:not(.contact-section-label) { max-width: none; margin-bottom: 0; font-size: 1.02rem; line-height: 1.55; }
.contact-institutional { background: #fffafa; }
.contact-institutional ul { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--line-dark); list-style: none; }
.contact-institutional li { margin: 0; border-bottom: 1px solid var(--line); }
.contact-institutional a { position: relative; display: grid; gap: .15rem; padding: .8rem 2rem .8rem 0; color: var(--ink); text-decoration: none; }
.contact-institutional a::after { content: "→"; position: absolute; right: .15rem; top: 50%; color: var(--red); font-family: var(--sans); transform: translateY(-50%); }
.contact-institutional a:hover span { color: var(--red-dark); text-decoration: underline; text-underline-offset: .16em; }
.contact-institutional span { font-size: 1rem; line-height: 1.25; }
.contact-institutional small { color: var(--muted); font-family: var(--sans); font-size: .78rem; line-height: 1.3; }
.postal-address-card { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: 1.25rem; align-items: start; background: #fffafa; }
.postal-address-icon { display: grid; width: 4.6rem; height: 4.6rem; place-items: center; border: 1px solid var(--red); border-radius: 50%; color: var(--red); background: #fff; font-family: var(--sans); font-size: 2.5rem; line-height: 1; }
.postal-address-card address { color: var(--ink); font-style: normal; font-size: 1.02rem; line-height: 1.5; }
.postal-address-card address strong { display: inline-block; margin-bottom: .12rem; font-size: 1.08rem; }
.contact-note { max-width: none !important; margin: 1.1rem 0 0; padding: 1rem 1.15rem; border-left: 4px solid var(--red); background: var(--soft); font-family: var(--sans); font-size: .86rem; }
.media-section p { max-width: 88ch; }

.site-footer { border-top: 2px solid var(--red); }
.footer-inner { width: min(100%,var(--max)); margin: 0 auto; padding: 2rem var(--gutter) 2.5rem; display: grid; grid-template-columns: 1.35fr .9fr .8fr 1fr; gap: 2rem; }
.footer-inner p { margin-top: 0; }
.footer-link-group h2 { margin: 0 0 .75rem; color: var(--red); font-family: var(--sans); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-nav { font-family: var(--sans); font-size: .84rem; }
.footer-nav a { display: block; margin: 0 0 .5rem; color: var(--ink); text-decoration: none; }
.footer-utility { font-family: var(--sans); font-size: .84rem; }
.footer-utility a { display: block; margin: 0 0 .55rem; }
.fine-print { color: var(--muted); font-family: var(--sans); font-size: .75rem; }

@media (max-width: 1180px) {
  .primary-nav a { padding-left: .38rem; padding-right: .38rem; font-size: .72rem; }
  .identity-column { padding-right: 2rem; }
  .directory-column { padding-left: 1.8rem; }
  .home-title { font-size: clamp(2.1rem,3.2vw,2.55rem); letter-spacing: -.04em; }
  .identity-mosaic { display: block; }
  .identity-mosaic::after { content: ""; display: block; clear: both; }
  .identity-mosaic .mosaic-mark { float: left; width: 8rem; margin: 0 .9rem .45rem 0; }
  .mosaic-copy h2 { font-size: 1rem; }
  .mosaic-copy p { font-size: .74rem; }
  .mosaic-description-link { font-size: .76rem; }
  .directory-row { grid-template-columns: 3rem minmax(10rem,.72fr) minmax(15rem,1.2fr) 1.6rem; gap: .9rem; }
  .directory-row::before { left: 3.38rem; }
}

/* At intermediate desktop widths the identity rail is too narrow for a
   portrait-and-copy split. Keep the rail compact and readable instead of
   squeezing the introduction into a tall ribbon beside the photograph. */
@media (min-width: 961px) and (max-width: 1180px) {
  .portrait-lede { display: block; }
  .portrait-frame {
    width: 100%;
    max-width: none;
    margin: 0 0 1rem;
    aspect-ratio: 3 / 2;
  }
  .portrait-frame img { object-position: center 36%; }
  .lede { margin-bottom: 1.15rem; }
}

@media (min-width: 961px) and (max-width: 1300px) {
  .home-research-links ul { grid-template-columns: 1fr; }
  .home-research-links a { min-height: 6.35rem; padding-bottom: 2rem; }
}

@media (max-width: 960px) {
  body { font-size: 16px; }
  .portrait-lede { display: contents; }
  .site-header { position: relative; }
  .header-inner { min-height: 68px; align-items: center; }
  .wordmark { display: block; font-size: clamp(1.5rem,6vw,2.05rem); }
  .menu-button { display: block; }
  .primary-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; width: auto; padding: .5rem var(--gutter) 1rem; border-bottom: 2px solid var(--red); background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); }
  .primary-nav.open { display: block; }
  .primary-nav a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
  .primary-nav a[aria-current="page"] { border-bottom-color: var(--red); }
  .directory-landing { display: block; min-height: 0; padding: 1.4rem 0 1.6rem; }
  .identity-column { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(0,1.6fr); gap: 0 1.5rem; padding: 0 0 1.5rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .home-title { display: none; }
  .identity-column .role { grid-column: 2; grid-row: 1; margin: 0 0 .7rem; font-size: clamp(1.15rem,4vw,1.45rem); }
  .identity-column .portrait-frame { float: none; grid-column: 1; grid-row: 1 / span 3; width: 100%; max-width: none; height: auto; margin: 0; aspect-ratio: 1; }
  .identity-column .portrait-frame img { object-position: center; }
  .identity-column .lede { grid-column: 1 / -1; grid-row: 4; margin: 1rem 0 0; font-size: 1rem; }
  .identity-column .contact-list { grid-column: 2; grid-row: 2 / span 2; }
  .directory-column { display: block; padding: 0; }
  .academic-directory { display: block; margin-top: 0; }
  .directory-row { min-height: 92px; grid-template-columns: 3.2rem 1fr 2rem; gap: 1rem; padding: .65rem 0; }
  .directory-row::before { display: none; }
  .directory-icon { width: 2.6rem; height: 2.6rem; }
  .directory-title { align-self: end; font-size: clamp(1.45rem,5vw,1.8rem); }
  .directory-description { grid-column: 2; align-self: start; font-size: 1rem; }
  .directory-row .row-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .mosaic-card { margin-top: 1.5rem; grid-template-columns: 6rem 1fr; }
  .identity-column .identity-mosaic { grid-column: 1 / -1; margin-top: 1rem; }
  .home-grid { display: block; }
  .home-panel, .home-panel:first-child, .home-panel:last-child { padding: 1.4rem 0 1.6rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .home-panel:last-child { border-bottom: 0; }
  .mosaic-callout { grid-template-columns: 1fr; }
  .page-masthead { padding: 2.2rem 0 1.7rem; }
  .industry-page .page-masthead { padding-bottom: .7rem; }
  .industry-page .content-layout { padding-top: .45rem; }
  .content-layout { padding-top: 1.5rem; }
  .content-main > section { margin-bottom: 2.4rem; }
  .topic-row { grid-template-columns: 1fr; gap: .35rem; }
  .topic-row .status { white-space: normal; }
  .cards { grid-template-columns: 1fr; }
  .data-tools { display: grid; }
  .data-count { margin-left: 0; }
  th, td { padding: .65rem .45rem; }
  .footer-inner { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.4rem; }
  .footer-inner > div:first-child { grid-column: 1 / -1; }
  .collaboration-modes { grid-template-columns: 1fr; }
  .collaboration-modes article { padding: 1.1rem 0 1.2rem; }
  .collaboration-modes article + article { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .graduate-section-header { grid-template-columns: 1fr; gap: .8rem; align-items: start; }
  .graduate-checklist li { grid-template-columns: 4.2rem minmax(0,1fr); gap: .4rem 1rem; min-height: 0; padding-right: 3rem; }
  .graduate-checklist li::before { grid-row: 1 / span 2; width: 3.4rem; height: 3.4rem; }
  .graduate-checklist span { grid-column: 2; }
  .contact-send-step { grid-template-columns: 1fr; gap: .8rem; align-items: start; }
  .contact-secondary-grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
  .postal-address-card { grid-template-columns: 4.5rem minmax(0,1fr); }
  .postal-address-icon { width: 3.8rem; height: 3.8rem; font-size: 2rem; }
}

@media (max-width: 520px) {
  .identity-column { grid-template-columns: 34% 1fr; gap: 0 1rem; }
  .identity-column .portrait-frame { height: auto; }
  .contact-list { font-size: .79rem; }
  .contact-list li, .contact-list .web { padding-left: 2.15rem; }
  .contact-list li::before { font-size: 1.3rem; }
  .directory-row { grid-template-columns: 2.6rem 1fr 1.6rem; }
  .directory-icon { width: 2.25rem; height: 2.25rem; }
  .directory-description { line-height: 1.38; }
  .mosaic-card { grid-template-columns: 5rem 1fr; padding: 1rem; }
  .mosaic-copy p { font-size: .8rem; }
  .mosaic-card .directory-icon { width: 3rem; height: 3rem; }
  .contact-card-grid, .capability-register, .graduate-checklist { grid-template-columns: 1fr; }
  .contact-card-email, .contact-card-address { grid-column: auto; }
  .contact-card { padding: 1rem; }
  .contact-card-email { padding-right: 3.2rem; }
  .contact-card-email strong { font-size: 1.08rem; }
  .capability-register, .graduate-checklist { gap: 0; }
  .related-links-panel .arrow-list { grid-template-columns: 1fr; }
  .graduate-section { padding-top: .7rem; }
  .graduate-section-header { margin-bottom: 1rem; padding-bottom: 1rem; }
  .graduate-checklist li { grid-template-columns: 3.7rem minmax(0,1fr); gap: .35rem .75rem; padding: 1rem 2.5rem 1rem .75rem; }
  .graduate-checklist li::before { width: 3rem; height: 3rem; font-size: 1rem; }
  .graduate-checklist li:not(:last-child)::after { right: .55rem; }
  .contact-send-step { padding: 1.1rem; }
  .contact-secondary-grid > * { padding: 1.1rem; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .home .footer-inner { grid-template-columns: 1fr 1fr; }
  .footer-inner > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 360px) {
  .wordmark { font-size: 1.35rem; white-space: nowrap; }
  .identity-column { display: block; }
  .identity-column .role { margin-bottom: 1rem; }
  .identity-column .portrait-frame { float: none; width: 100%; margin-bottom: 1rem; aspect-ratio: 7 / 5; }
  .identity-column .portrait-frame img { object-position: center 42%; }
  .identity-column .lede { margin-top: 0; }
  .identity-column .contact-list { margin-top: 1rem; }
  .identity-column .identity-mosaic { margin-top: 1rem; }
  .identity-column .identity-mosaic { display: grid; grid-template-columns: 1fr; text-align: center; }
  .mosaic-mark { width: 8.5rem; margin: 0 auto; }
  .identity-mosaic .mosaic-mark { float: none; margin: 0 auto; }
  .directory-row { grid-template-columns: 2.4rem minmax(0,1fr) 1.4rem; gap: .75rem; }
  .directory-icon { width: 2rem; height: 2rem; }
  .directory-title { font-size: 1.35rem; }
  .directory-description { font-size: 1rem; }
  .record-list li { grid-template-columns: 3rem minmax(0,1fr); gap: .75rem; }
  .record-list span, .record-list cite { min-width: 0; overflow-wrap: anywhere; }
}

@media print {
  .site-header, .menu-button, .data-tools, .site-footer, .skip-link { display: none !important; }
  .page-shell { width: 100%; padding: 0; }
  a { color: #000; text-decoration: none; }
  .content-main > section { break-inside: avoid; }
}

/* Current graduate-team showcase, adapted from the slide-derived team page. */
.student-team-showcase { border-top: 2px solid var(--red); padding-top: 1.35rem; }
.student-team-header { display: grid; grid-template-columns: minmax(15rem,.75fr) minmax(24rem,1.25fr); gap: 2.5rem; align-items: end; margin-bottom: 1.5rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.student-team-header h2 { margin: .15rem 0 0; border: 0; padding: 0; }
.student-team-header > p { max-width: 54rem; margin: 0; font-size: 1.03rem; line-height: 1.55; }
.student-team-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; }
.student-team-column { min-width: 0; padding: .95rem; border: 1px solid var(--line); border-top: 4px solid var(--red); background: #fff; }
.student-team-column > h3 { min-height: 3.2em; margin: 0 0 .4rem; font-family: var(--sans); font-size: .82rem; line-height: 1.35; letter-spacing: .07em; text-transform: uppercase; }
.student-team-intro { min-height: 5.2em; margin: 0 0 .65rem; font-size: .78rem; line-height: 1.42; }
.student-team-column--teal { border-top-color: #07867f; }
.student-team-column--teal > h3 { color: #08766f; }
.student-team-column--blue { border-top-color: #266db5; }
.student-team-column--blue > h3 { color: #205f9f; }
.student-team-column--purple { border-top-color: #7553a6; }
.student-team-column--purple > h3 { color: #684793; }
.student-team-column--red { border-top-color: var(--red); }
.student-team-column--red > h3 { color: #a30d16; }
.student-profile-card { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .7rem; align-items: center; min-height: 7.8rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.student-profile-card > div { min-width: 0; }
.student-profile-card img { display: block; width: 100%; aspect-ratio: 1.12 / 1; object-fit: cover; border-radius: .75rem; background: #fff; }
.student-profile-card .meta { margin: 0 0 .2rem; color: var(--red); font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.student-profile-card h4 { margin: 0 0 .3rem; font-size: 1.06rem; line-height: 1.08; overflow-wrap: anywhere; }
.student-profile-card p:last-child { margin: 0; font-size: .75rem; line-height: 1.38; overflow-wrap: anywhere; }
.student-team-flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: .65rem; align-items: center; margin-top: 1rem; padding: .7rem .15rem; color: #5c646c; font-family: var(--sans); font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.student-team-flow i { position: relative; height: 1px; background: var(--red); }
.student-team-flow i::after { position: absolute; right: 0; top: 50%; width: .42rem; height: .42rem; border-top: 1px solid var(--red); border-right: 1px solid var(--red); content: ""; transform: translateY(-50%) rotate(45deg); }
.student-team-mosaic { display: grid; grid-template-columns: auto 1fr auto; gap: 1.25rem; align-items: center; margin-top: 1rem; padding: .9rem 1.1rem; border: 1px solid var(--red); color: inherit; text-decoration: none; }
.student-team-mosaic strong { color: var(--red); font-size: 1.1rem; }
.student-team-mosaic span:last-child { color: var(--red); font-size: 1.35rem; }
.student-team-mosaic:hover strong,.student-team-mosaic:focus-visible strong { text-decoration: underline; }

/* Students page: maximize legibility while preserving the four-stage desktop layout. */
.students-page .student-team-column > h3 { font-size: .9rem; }
.students-page .student-team-intro { font-size: .88rem; line-height: 1.48; }
.students-page .student-profile-card .meta { font-size: .74rem; }
.students-page .student-profile-card h4 { font-size: 1.15rem; }
.students-page .student-profile-card p:last-child { font-size: .85rem; line-height: 1.42; }
.students-page .student-team-flow { font-size: .8rem; }
.students-page .student-team-mosaic { font-size: 1.05rem; }
.students-page .career-supervision-groups > section > h4 { font-size: .88rem; }
.students-page .career-student-register strong { font-size: 1.02rem; }
.students-page .career-student-register span { font-size: .8rem; }
.students-page .career-student-register small { font-size: .8rem; line-height: 1.42; }
.students-page #lineage > p,
.students-page #supervision-register > p,
.students-page #theses > p,
.students-page #approach > p { font-size: 1.08rem; line-height: 1.58; }
.students-page #lineage .card .meta { font-size: .88rem; }
.students-page #lineage .card h3 { font-size: 1.35rem; }
.students-page #lineage .card p:last-child { font-size: 1.04rem; line-height: 1.58; }
.students-page #theses table { font-size: 1rem; }
.students-page #theses th { font-size: .84rem; }
.students-page #theses th,
.students-page #theses td { padding-top: .95rem; padding-bottom: .95rem; }

@media (max-width: 1120px) {
  .student-team-header { grid-template-columns: 1fr; gap: .6rem; }
  .student-team-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .student-team-column > h3,.student-team-intro { min-height: 0; }
  .student-team-flow { grid-template-columns: auto 1fr auto 1fr auto 1fr auto; }
}

@media (max-width: 700px) {
  .student-team-columns { grid-template-columns: 1fr; }
  .student-team-column > h3 { min-height: 0; }
  .student-profile-card { grid-template-columns: 5.75rem minmax(0,1fr); gap: .75rem; min-height: 0; }
  .student-team-flow { grid-template-columns: 1fr; gap: .35rem; text-align: center; }
  .student-team-flow i { width: 1px; height: 1.25rem; margin: 0 auto; }
  .student-team-flow i::after { right: 50%; top: auto; bottom: 0; transform: translateX(50%) rotate(135deg); }
  .student-team-mosaic { grid-template-columns: 1fr auto; gap: .35rem 1rem; }
  .student-team-mosaic span:first-of-type { grid-column: 1 / -1; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
