@font-face {
    font-family: "STIX Two";
    src: url("/fonts/STIXTwoText[wght].woff2") format("woff2");
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "STIX Two";
    src: url("/fonts/STIXTwoText-Italic[wght].woff2") format("woff2");
    font-weight: 400 700;
    font-style: italic;
    font-display: swap;
}
:root {
    color-scheme: light dark;
    --paper: #f6f4ed;
    --ink: #1e302e;
    --muted: #52625e;
    --line: #b9c4bc;
    --accent: #9a482b;
    --review: #734f80;
    --edit: #1d5d90;
    --menu: #f6f4ed;
    --bar: #7d8a84;
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "STIX Two", Georgia, serif; }
a { color: inherit; }
a:focus-visible, summary:focus-visible, video:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.skip-link { position: absolute; z-index: 10; top: -5rem; left: 1rem; padding: .6rem 1rem; background: var(--paper); }
.skip-link:focus { top: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.page-width { width: min(100% - 96px, 1320px); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner { min-height: 104px; display: flex; align-items: center; gap: 1.1rem; }
.identity-text { display: flex; flex-direction: column; align-items: flex-start; flex-shrink: 0; }
.identity-name { display: block; text-decoration: none; }
.identity-word { display: block; width: auto; height: 36px; }
.identity-affiliation { display: block; margin: -.2rem 0 0; color: var(--muted); font-size: .9rem; letter-spacing: .03em; line-height: 1.2; white-space: nowrap; }
.identity-dot { display: inline; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1rem, 2.1vw, 2.1rem); margin-left: auto; }
.desktop-nav a { padding: .6rem 0; text-decoration: none; font-size: 1rem; border-bottom: 1px solid transparent; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { border-color: var(--accent); }
.mobile-menu { display: none; }
@media (max-width: 820px) {
    .identity-affiliation span:not(.identity-dot) { display: block; }
    .identity-dot { display: none; }
}
@media (max-width: 1100px) {
    .header-inner { flex-wrap: wrap; row-gap: .45rem; padding-block: .9rem .8rem; }
}
.opening { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 33rem); gap: clamp(3.2rem, 5vw, 5rem); padding-block: clamp(2.2rem, 3.4vw, 3.2rem) 2.4rem; align-items: start; }
.opening .eyebrow { margin-bottom: .9rem; }
.opening-copy { max-width: 660px; }
.eyebrow { margin: 0 0 1.35rem; color: var(--accent); font-size: .84rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(2.2rem, 3.1vw, 2.9rem); font-weight: 500; line-height: 1.06; letter-spacing: -.03em; text-wrap: balance; }
@media (min-width: 1300px) { h1 .keep { white-space: nowrap; } }
@media (min-width: 701px) and (max-width: 900px) { h1 .keep { white-space: nowrap; } }
.introduction { margin: 1.2rem 0 0; max-width: 38rem; font-size: clamp(1.08rem, 1.25vw, 1.2rem); line-height: 1.45; text-wrap: balance; }
.text-link { display: inline-block; margin-top: 1.65rem; padding: .25rem 0; color: var(--ink); font-weight: 600; text-decoration-color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .35em; }
.text-link span { margin-left: .25rem; color: var(--accent); }
.data-plate { min-width: 0; }
.plate-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border-top: 2px solid var(--ink); padding: .8rem 0 .85rem; }
.plate-heading h2 { margin: 0; font-size: 1.08rem; font-weight: 600; }
.motion-control { border: 0; padding: .85rem 0 .85rem 1rem; margin: -.55rem 0; background: transparent; color: var(--muted); font: inherit; font-size: .86rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; white-space: nowrap; }
.recordings-carousel { --per-view: 1; --gap: 1.5rem; }
.recording { margin: 0; min-width: 0; }
.recording-image { width: 100%; aspect-ratio: 2 / 1; overflow: hidden; background: #000; }
.recording video, .recording img { display: block; width: 100%; height: 100%; object-fit: contain; }
.recording-light { background: #fff; }
.recording-fill video, .recording-fill img { object-fit: cover; }
.recording figcaption { padding-top: .55rem; font-size: .9rem; line-height: 1.3; text-wrap: pretty; }
.unverified { color: var(--review); }
del.review-deleted { color: var(--review); text-decoration: line-through; text-decoration-thickness: 1px; }
.edited { color: var(--edit); }
del.edit-deleted { color: var(--edit); text-decoration: line-through; text-decoration-thickness: 1px; }
.carousel { position: relative; --per-view: 1; --gap: 1.5rem; --room: 8px; }
.carousel-view { position: relative; }
.carousel-track { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--per-view) - 1) * var(--gap)) / var(--per-view)); gap: var(--gap); margin: calc(-1 * var(--room)); padding: var(--room); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--room); }
.carousel-track > * { scroll-snap-align: start; }
.carousel-track:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.carousel-ready .carousel-track { scrollbar-width: none; }
.carousel-ready .carousel-track::-webkit-scrollbar { display: none; }
.carousel-arrow { position: absolute; z-index: 2; top: 50%; display: flex; align-items: center; width: 44px; height: 96px; margin-top: -48px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.carousel-prev { right: 100%; justify-content: flex-end; padding-right: 16px; }
.carousel-next { left: 100%; justify-content: flex-start; padding-left: 16px; }
.carousel-arrow svg { display: block; width: 15px; height: 30px; }
@media (hover: hover) { .carousel-arrow:hover { color: var(--accent); } }
.carousel-arrow[aria-disabled="true"] { opacity: .22; cursor: default; color: var(--ink); }
.carousel-bars { display: flex; justify-content: center; gap: 6px; margin-top: .9rem; }
.carousel-bar { position: relative; flex: 0 1 34px; min-width: 14px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.carousel-bar::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: var(--bar); }
@media (hover: hover) { .carousel-bar:hover::before { background: var(--ink); } }
.carousel-bar[aria-current="true"]::before { height: 4px; margin-top: -2px; background: var(--accent); }
.carousel-all-in-view .carousel-arrow, .carousel-all-in-view .carousel-bars { display: none; }
.recordings-carousel .carousel-view { container-type: inline-size; }
.recordings-carousel .carousel-arrow { top: 40%; top: 25cqw; }
@media (max-width: 1000px) {
    .carousel-arrow { width: 32px; height: 88px; margin-top: -44px; }
    .carousel-prev { padding-right: 9px; }
    .carousel-next { padding-left: 9px; }
    .carousel-arrow svg { width: 12px; height: 24px; }
}
@media (pointer: coarse) {
    .carousel-bars { margin-top: .4rem; }
    .carousel-bar { height: 44px; }
}
@media (max-width: 700px) {
    .carousel-view, .recordings-carousel .carousel-view { position: static; container-type: normal; }
    .carousel-arrow, .recordings-carousel .carousel-arrow { top: auto; bottom: 0; width: 44px; height: 44px; margin-top: 0; padding: 0; justify-content: center; }
    .carousel-prev { right: auto; left: 0; }
    .carousel-next { left: auto; right: 0; }
    .carousel-arrow svg { width: 11px; height: 22px; }
    .carousel-bars { margin-top: .4rem; padding-inline: 46px; gap: 0; }
    .carousel-bar { flex: 1 1 0; max-width: 40px; min-width: 0; height: 44px; }
    .carousel-bar::before { left: 3px; right: 3px; }
}
.instruments { background: #e8ede5; border-block: 1px solid var(--line); }
.opening { background: #e8ede5; box-shadow: 0 0 0 100vmax #e8ede5; clip-path: inset(0 -100vmax); }
.instruments-inner { padding-block: 3.2rem 3rem; }
.instruments-heading { margin-bottom: 1.5rem; }
.instruments-heading .eyebrow { margin-bottom: .55rem; }
.instruments-heading h2 { margin: 0; font-size: clamp(2rem, 2.6vw, 2.7rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.instruments-lead { margin: .8rem 0 0; max-width: 46rem; font-size: 1.1rem; line-height: 1.4; }
.instruments .carousel { --per-view: 4; --gap: 1.5rem; }
.instrument-card { container-type: inline-size; min-width: 0; display: flex; flex-direction: column; padding: 1.2rem 1.3rem 1.1rem; background: var(--paper); border: 1px solid var(--line); text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.instrument-card:hover { border-color: var(--accent); }
.instrument-measure { min-height: 3.2rem; color: var(--accent); font-size: clamp(2.3rem, 3vw, 3.2rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.instrument-measure-words { font-size: clamp(1.9rem, 2.35vw, 2.5rem); font-size: clamp(1.6rem, 10.5cqw, 2.5rem); letter-spacing: -.035em; }
.instrument-qualifier { margin-top: .4rem; color: var(--muted); font-size: .95rem; line-height: 1.25; }
.instrument-qualifier strong { color: var(--ink); font-weight: 600; }
.instrument-name { margin-top: 1.2rem; font-size: 1.2rem; font-weight: 600; line-height: 1.2; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .25em; }
.instrument-name::after { content: "\00a0→"; color: var(--accent); text-decoration: none; }
.instrument-description { margin-top: .55rem; margin-bottom: .2rem; font-size: 1rem; line-height: 1.35; }
.instrument-card.unverified, .instrument-card .unverified { color: var(--review); }
.results { padding-block: 2.8rem 3.2rem; border-top: 1px solid var(--line); }
.results-heading { margin-bottom: 1.5rem; }
.results-heading .eyebrow { margin-bottom: .55rem; }
.results-heading h2 { max-width: 34em; margin: 0; text-wrap: balance; font-size: clamp(2rem, 2.6vw, 2.7rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.results .carousel { --per-view: 4; --gap: 1.5rem; }
.result-card { min-width: 0; display: flex; flex-direction: column; color: var(--ink); text-decoration: none; }
.result-visual { position: relative; width: 100%; aspect-ratio: 1.6; background: #fff; border: 1px solid var(--line); }
.result-figure { position: absolute; inset: .6rem; display: block; width: calc(100% - 1.2rem); height: calc(100% - 1.2rem); object-fit: contain; }
.result-copy { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding-top: .85rem; }
.result-source { margin: 0 0 .4rem; color: var(--accent); font-size: .85rem; font-weight: 600; }
.result-copy h3 { margin: 0; font-size: clamp(1.2rem, 1.55vw, 1.4rem); font-weight: 500; letter-spacing: -.015em; line-height: 1.15; }
.result-copy > p:not(.result-source) { max-width: 36rem; margin: .55rem 0 0; font-size: .98rem; line-height: 1.38; }
.result-action { margin-top: auto; padding-top: .8rem; font-size: .9rem; font-weight: 600; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .28em; }
.result-action span { color: var(--accent); }
.result-card:hover .result-visual { border-color: var(--accent); }
.result-card:hover .result-action { text-decoration-thickness: 2px; }
@media (max-width: 1199px) { .results .carousel { --per-view: 3; } }
@media (max-width: 900px) { .results .carousel { --per-view: 2; } }
@media (min-width: 1001px) and (max-width: 1199px) {
    .instruments .carousel { --per-view: 3; }
}
@media (max-width: 1000px) {
    .page-width { width: min(100% - 64px, 1320px); }
    .header-inner { min-height: 92px; column-gap: 1rem; }
    .identity-word { height: 30px; }
    .identity-affiliation { font-size: .84rem; }
    .desktop-nav { gap: 1rem; }
    .desktop-nav a { font-size: .92rem; }
    .opening { grid-template-columns: minmax(0, 1fr) minmax(0, 27rem); gap: 2rem; padding-top: 2.4rem; }
    h1 { font-size: clamp(2.1rem, 3.6vw, 2.5rem); }
    .instruments .carousel { --per-view: 2; }
    .instrument-measure { font-size: 3rem; }
    .instrument-measure-words { font-size: 2.35rem; font-size: min(2.35rem, 13cqw); }
}
@media (min-width: 701px) and (max-width: 900px) {
    .opening { display: block; }
    .opening-copy { max-width: 670px; }
    .data-plate { margin-top: 2rem; max-width: 36rem; }
}
@media (max-width: 700px) {
    .page-width { width: calc(100% - 40px); }
    .header-inner { min-height: 74px; row-gap: .35rem; padding-block: .75rem .65rem; }
    .identity-word { height: 26px; }
    .identity-affiliation { margin-top: .1rem; font-size: .8rem; letter-spacing: .02em; }
    .desktop-nav { display: none; }
    .mobile-menu { position: relative; display: block; margin-left: auto; }
    .mobile-menu summary { display: flex; align-items: center; gap: .6rem; cursor: pointer; list-style: none; padding: .65rem 0 .65rem .8rem; font-weight: 600; }
    .mobile-menu summary::-webkit-details-marker { display: none; }
    .mobile-menu summary span { font-size: 1.1rem; }
    .mobile-menu nav { position: absolute; z-index: 5; right: 0; top: 100%; min-width: 12rem; padding: .35rem 1rem; background: var(--menu); border: 1px solid var(--line); box-shadow: 0 .5rem 1.5rem #0002; }
    .mobile-menu nav a { display: block; padding: .7rem .2rem; text-decoration: none; border-bottom: 1px solid var(--line); }
    .mobile-menu nav a:last-child { border-bottom: 0; }
    .mobile-menu nav a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-underline-offset: .25em; }
    .opening { display: block; padding-block: 2rem 3rem; }
    .eyebrow { margin-bottom: .8rem; font-size: .75rem; }
    h1 { max-width: 14em; font-size: clamp(2rem, 8.2vw, 2.5rem); line-height: 1.06; }
    .introduction { margin-top: .9rem; font-size: 1.05rem; line-height: 1.38; }
    .text-link { margin-top: .8rem; }
    .data-plate { margin-top: 1.8rem; }
    .recording figcaption { font-size: .95rem; }
    .instruments-inner { padding-block: 2.5rem 3rem; }
    .instruments-heading { margin-bottom: 1.3rem; }
    .instruments .carousel { --per-view: 1; }
    .instrument-card { padding: 1.1rem 1.2rem 1.1rem; }
    .instrument-measure { min-height: 0; font-size: 2.7rem; }
    .instrument-measure-words { font-size: 2.1rem; font-size: min(2.1rem, 13cqw); }
    .results { padding-block: 2.6rem 3rem; }
    .results-heading { margin-bottom: 1.3rem; }
    .results .carousel { --per-view: 1; }
    .result-copy h3 { font-size: 1.35rem; }
    .result-copy > p:not(.result-source) { font-size: 1rem; }
}
@media (prefers-color-scheme: dark) {
    :root { --paper: #172623; --ink: #eff0e8; --muted: #b0c1b8; --line: #52645c; --accent: #e9aa80; --review: #d7b5e0; --edit: #8ec5ee; --menu: #21332e; --bar: #8a9a92; }
    .instruments { background: #20342e; }
    .opening { background: #20342e; box-shadow: 0 0 0 100vmax #20342e; clip-path: inset(0 -100vmax); }
    .result-visual, .area-card img, .recording-light { filter: brightness(.88); }
}
.student-link { margin-left: 1.5rem; }
.research-areas { border-block: 1px solid var(--line); background: #e8ede5; }
.areas-inner { padding-block: 3.5rem 4rem; }
.section-intro { max-width: 48rem; margin-bottom: 1.5rem; }
.section-intro .eyebrow, .join .eyebrow, .alumni .eyebrow, .funding .eyebrow { margin-bottom: .55rem; }
.section-intro h2, .join h2, .alumni h2, .funding h2 { margin: 0; font-size: clamp(2rem, 2.6vw, 2.7rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.section-intro > p:last-child { margin: .8rem 0 0; font-size: 1.17rem; line-height: 1.4; }
.area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.research-areas .carousel { --per-view: 3; --gap: 1.5rem; }
.area-grid.carousel-track { grid-template-columns: none; gap: var(--gap); }
@media (max-width: 1000px) { .research-areas .carousel { --per-view: 2; --gap: 1rem; } }
@media (max-width: 700px) { .research-areas .carousel { --per-view: 1; } }
.area-card { display: flex; flex-direction: column; min-width: 0; background: var(--paper); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.area-card:hover { border-color: var(--accent); }
.area-card img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: contain; background: #fff; }
.area-card img.area-fill { object-fit: cover; background: #000; }
.area-copy { flex: 1; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 1.2rem 1.35rem 1.35rem; }
.area-label { margin: 0 0 .7rem; color: var(--accent); font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.area-copy h3 { margin: 0; font-size: clamp(1.25rem, 1.6vw, 1.5rem); font-weight: 500; line-height: 1.14; letter-spacing: -.015em; }
.area-copy > p:not(.area-label) { margin: .65rem 0 1rem; font-size: .98rem; line-height: 1.38; }
.area-action { margin-top: auto; font-size: .96rem; font-weight: 600; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .25em; }
.area-action span { color: var(--accent); }
.join-inner { display: grid; grid-template-columns: 1fr 1.5fr; grid-template-rows: auto 1fr; grid-template-areas: "head copy" "contact copy"; column-gap: 3rem; row-gap: 1.3rem; padding-block: 5rem; }
.join-head { grid-area: head; }
.join-copy { grid-area: copy; }
.join-contact { grid-area: contact; align-self: start; margin: 0; font-size: 1.08rem; line-height: 1.5; }
.join-address { font-weight: 600; white-space: nowrap; }
.join-copy { max-width: 45rem; }
.join-copy p { margin: 0 0 1rem; font-size: 1.08rem; line-height: 1.45; }
.join-copy .join-lead { font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height: 1.3; }
.join-copy .join-paths-lead { margin: 1.5rem 0 .7rem; font-size: 1.05rem; }
.join-paths { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; max-width: 36rem; }
.join-paths li { display: flex; min-width: 0; }
.path-card { flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 7rem; padding: .95rem 1rem .85rem; background: var(--paper); border: 1px solid var(--line); border-top: 2px solid var(--ink); color: var(--ink); text-decoration: none; transition: border-color .15s ease; }
.path-card:hover { border-color: var(--accent); }
.path-unit { color: var(--muted); font-size: .8rem; letter-spacing: .03em; line-height: 1.25; }
.path-name { margin-top: .35rem; font-size: 1.22rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; text-wrap: balance; }
.path-foot { margin-top: auto; padding-top: .8rem; font-size: .9rem; font-weight: 600; }
.path-foot span { margin-left: .2rem; color: var(--accent); }
.join-copy .join-note { margin: .9rem 0 0; font-size: .98rem; line-height: 1.4; }
.join-note a { font-weight: 600; text-decoration-color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .3em; white-space: nowrap; }
.join-note a span { margin-left: .15rem; color: var(--accent); }
.unverified .path-card, .unverified .path-unit { color: var(--review); }
@media (min-width: 701px) and (max-width: 1000px) {
    .join-inner { display: block; padding-block: 3.5rem; }
    .join-copy { max-width: none; margin-top: 1.5rem; }
}
@media (max-width: 1000px) {
    .join-contact { margin-top: 1.6rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
}
@media (max-width: 700px) {
    .join-paths { grid-template-columns: 1fr; gap: .6rem; }
    .path-card { min-height: 0; padding: .85rem 1rem; }
    .path-foot { padding-top: .6rem; }
}
.alumni { display: grid; grid-template-columns: .85fr 1.5fr; gap: 4rem; padding-block: 5rem; }
.alumni-intro > p:not(.eyebrow) { max-width: 26rem; margin: 1rem 0 0; font-size: 1.1rem; line-height: 1.4; }
.alumni-destinations { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.alumni-destinations > div { border-top: 2px solid var(--ink); }
.alumni-destinations h3 { margin: .8rem 0 .65rem; font-size: 1.3rem; font-weight: 600; }
.alumni-destinations p { margin: 0; font-size: 1rem; line-height: 1.75; }
.funding { background: #e8ede5; border-top: 1px solid var(--line); }
.funding-inner { padding-block: 3.2rem 3.6rem; }
.funding-lead { margin: .7rem 0 1.5rem; font-size: 1.05rem; line-height: 1.4; }
.funding-page .funding { border-top: 0; }
.funding-page .funding-inner { padding-block: 4rem 5rem; }
.funding-page .funding-lead { margin-top: .9rem; }
.funder-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
.funder-tile { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 6.4rem; padding: .9rem 1rem; background: var(--paper); border: 1px solid var(--line); text-align: center; font-size: .95rem; font-weight: 600; line-height: 1.22; }
.funder-tile:has(a) { padding: 0; }
.funder-tile a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: inherit; padding: .9rem 1rem; color: inherit; text-decoration: none; }
@media (hover: hover) { .funder-tile:has(a):hover { border-color: var(--accent); } .funder-tile a:hover span { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .25em; } }
@media (max-width: 700px) { .funder-tile a { padding: .7rem; } }
@media (max-width: 1100px) { .funder-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) { .funder-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; } .funder-tile { min-height: 5.4rem; padding: .7rem; font-size: .9rem; } }
@media (min-width: 701px) and (max-width: 1000px) {
    .area-grid { gap: 1rem; }
    .area-copy { padding: 1rem; }
    .area-copy > p:not(.area-label) { font-size: .93rem; }
}
@media (min-width: 701px) and (max-width: 1000px) {
    .alumni { display: block; }
    .alumni-destinations { margin-top: 2rem; }
}
@media (max-width: 700px) {
    .student-link { display: block; width: max-content; margin-left: 0; }
    .areas-inner { padding-block: 3.5rem; }
    .section-intro { margin-bottom: 1.5rem; }
    .area-grid { grid-template-columns: 1fr; gap: 1rem; }
    .area-copy { padding: 1.25rem; }
    .area-copy h3 { font-size: 1.35rem; }
    .join-inner, .alumni, .funding-inner { display: block; padding-block: 3.5rem; }
    .join-copy, .alumni-destinations { margin-top: 1.5rem; }
    .alumni-destinations { grid-template-columns: 1fr; gap: 1.75rem; }
    .alumni-destinations p { line-height: 1.65; }
}
@media (prefers-color-scheme: dark) {
    .research-areas, .funding { background: #20342e; }
}
.home-page .desktop-nav a[href="/index.shtml"] { border-color: var(--accent); }
.funding-page .desktop-nav a[href="/funding.shtml"] { border-color: var(--accent); }
@media (min-width: 701px) and (max-width: 760px) { .header-inner { gap: .75rem; } .desktop-nav { gap: .6rem; } .desktop-nav a { font-size: .88rem; } }
.site-footer { border-top: 1px solid var(--line); }
.home-page .site-footer { border-top: 0; }
.footer-inner { display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; padding-block: 4rem 3.5rem; }
.footer-heading .eyebrow { margin-bottom: .55rem; }
.footer-heading h2 { margin: 0; font-size: clamp(2rem, 2.6vw, 2.7rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.footer-heading > p:last-child { margin: 1rem 0 0; line-height: 1.45; }
.footer-contacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.footer-contacts > div { border-top: 2px solid var(--ink); }
.footer-contacts h3 { margin: .8rem 0 .65rem; font-size: 1.15rem; font-weight: 600; line-height: 1.2; }
.footer-contacts p { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.footer-colophon { display: grid; grid-template-columns: 1fr; gap: 1rem; border-top: 1px solid var(--line); padding-block: 1.3rem 2.5rem; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.footer-colophon p { margin: 0; }
.footer-colophon a { text-decoration-color: var(--accent); text-underline-offset: .2em; }
.missing-page { padding-block: 6rem 7rem; min-height: 25rem; }
.missing-page p:not(.eyebrow) { margin: 1.5rem 0 0; font-size: 1.2rem; line-height: 1.4; }
@media (min-width: 701px) and (max-width: 1000px) {
    .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 700px) {
    .footer-inner { display: block; padding-block: 3.5rem 2.5rem; }
    .footer-contacts { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
    .footer-colophon { grid-template-columns: 1fr; gap: 1rem; }
    .missing-page { min-height: 0; padding-block: 4rem 5rem; }
}
