:root { --faculty-ink:#102a4d; --faculty-blue:#165bc6; --faculty-muted:#5b7694; --faculty-line:#d8e6f2; }
.faculty-page { color:var(--faculty-ink); background:#f7fbff; }
.faculty-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.faculty-header { position:sticky; top:0; z-index:40; height:68px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:0 max(24px,calc((100vw - 1240px)/2)); background:rgba(247,251,255,.94); border-bottom:1px solid rgba(18,63,145,.1); backdrop-filter:blur(18px); }
.faculty-header nav { display:flex; justify-content:center; gap:30px; font-size:13px; font-weight:750; }
.faculty-header nav a:hover { color:var(--faculty-blue); }

.faculty-hero { min-height:calc(100dvh - 68px); display:grid; grid-template-columns:minmax(300px,38%) minmax(0,1fr); align-items:stretch; background:linear-gradient(115deg,#edf7ff 0%,#e5f2fd 58%,#d9edfc 100%); }
.faculty-hero-photo { width:min(100%,560px); max-height:720px; align-self:center; justify-self:end; overflow:hidden; border-radius:0 16px 16px 0; box-shadow:0 34px 80px rgba(37,89,145,.14); }
.faculty-hero-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:48% 56%; filter:saturate(.84) contrast(.98); }
.faculty-hero-copy { align-self:center; max-width:800px; padding:68px clamp(48px,7vw,118px); }
.back-link { display:inline-block; margin-bottom:36px; color:var(--faculty-blue); font-size:13px; font-weight:800; }
.faculty-role { margin:0 0 18px; color:var(--faculty-blue); font-size:13px; font-weight:800; letter-spacing:.04em; }
.faculty-hero h1 { margin:0; font-size:clamp(58px,6vw,86px); line-height:1; letter-spacing:-.045em; }
.faculty-lead { max-width:26em; margin:34px 0 0; color:#274d76; font-size:clamp(21px,1.8vw,28px); line-height:1.65; font-weight:720; }
.lead-link { color:#0b5bc3; text-decoration:underline; text-decoration-color:#71b6ec; text-decoration-thickness:3px; text-underline-offset:6px; }
.lead-link:hover { color:#083f8d; text-decoration-color:currentColor; }
.faculty-intro { max-width:41em; margin:26px 0 0; color:#537294; font-size:15px; line-height:1.9; }
.jump-link { color:#0c5bc3; font-weight:850; text-decoration:underline; text-decoration-color:#75b6ed; text-decoration-thickness:2px; text-underline-offset:5px; }
.jump-link:hover { color:#0a3f8c; text-decoration-color:currentColor; }
.hero-links { display:flex; gap:26px; margin-top:30px; }
.hero-links a { color:#174f9f; font-size:13px; font-weight:800; border-bottom:1px solid #79abe2; padding-bottom:5px; }

.faculty-toc { position:sticky; top:68px; z-index:30; overflow-x:auto; background:#fff; border-bottom:1px solid var(--faculty-line); scrollbar-width:none; }
.faculty-toc div { width:max-content; min-width:100%; display:flex; justify-content:center; gap:10px; padding:11px 24px; }
.faculty-toc a { padding:8px 13px; border-radius:999px; color:#496b8d; font-size:12px; font-weight:750; white-space:nowrap; }
.faculty-toc a:hover { background:#e9f3fb; color:var(--faculty-blue); }
#story,#selectedWorks,#springFestival,#archive,#collaborations,#teaching { scroll-margin-top:118px; }

.section-kicker { margin:0 0 22px; color:var(--faculty-blue); font-size:12px; font-weight:850; letter-spacing:.16em; }
.story-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; align-items:end; padding-top:130px; padding-bottom:78px; }
.story-title h2,.section-heading h2,.spring-heading h2,.archive-intro h2,.teaching-copy h2,.faculty-close h2 { margin:0; font-size:clamp(40px,4.8vw,68px); line-height:1.08; letter-spacing:-.04em; }
.story-summary p,.section-heading p,.spring-heading p,.archive-intro p,.teaching-copy>p { margin:0; color:var(--faculty-muted); font-size:16px; line-height:1.9; }
.story-media { display:grid; grid-template-columns:1.35fr .65fr; gap:20px; align-items:stretch; padding-bottom:64px; }
.story-video { overflow:hidden; aspect-ratio:16/9; border-radius:16px; background:#10284a; box-shadow:0 24px 60px rgba(37,89,145,.2); }
.story-video iframe { display:block; width:100%; height:100%; border:0; }
.story-media aside { display:flex; flex-direction:column; justify-content:flex-end; padding:36px; border-radius:16px; background:#dceeff; }
.story-media aside strong { font-size:22px; }
.story-media aside p { margin:18px 0 0; color:#4b6d90; line-height:1.85; }
@media (min-width:981px) {
  .story-title h2 { font-size:clamp(42px,3.8vw,56px); white-space:nowrap; }
}
.timeline-wrap { padding:0 0 40px; background:linear-gradient(#f7fbff,#edf6fd); }
.career-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:0 54px; list-style:none; padding-top:12px; padding-bottom:0; }
.career-timeline li { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:26px 0; border-top:1px solid var(--faculty-line); }
.career-timeline time { color:var(--faculty-blue); font-size:13px; font-weight:850; }
.career-timeline strong { font-size:17px; }
.career-timeline p { margin:10px 0 0; color:var(--faculty-muted); font-size:13px; line-height:1.75; }

.faculty-works { padding:84px 0 150px; background:#edf6fd; }
.section-heading { max-width:790px; margin-left:max(24px,calc((100vw - 1180px)/2)); }
.section-heading p,.spring-heading p { max-width:42em; margin-top:24px; }
.selected-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:68px; }
.case-card { min-width:0; }
.case-card img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:14px; background:#d7e7f4; transition:transform .35s ease,box-shadow .35s ease; }
.case-card:hover img { transform:translateY(-4px); box-shadow:0 22px 48px rgba(32,85,142,.16); }
.case-poster img { object-position:center top; }
.case-copy { padding:18px 2px 0; }
.case-copy h3 { margin:0; font-size:17px; line-height:1.4; }
.case-copy span { display:block; max-width:38em; margin-top:12px; color:var(--faculty-muted); font-size:14px; line-height:1.7; }
.listen-button { margin-top:16px; padding:0 0 6px; border:0; border-bottom:1px solid #77a9df; color:#1655aa; background:transparent; font:inherit; font-size:13px; font-weight:850; cursor:pointer; }
.listen-button span { display:inline; margin:0 0 0 7px; color:inherit; font-size:10px; }

.spring-feature { padding:84px 0 90px; color:white; background:#123b7d; }
.spring-heading { max-width:860px; }
.spring-heading p { color:#c6d9ef; }
.spring-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:48px; }
.spring-grid article { min-width:0; padding-top:22px; border-top:1px solid rgba(255,255,255,.28); }
.spring-grid img { width:100%; height:auto; aspect-ratio:1; margin-bottom:18px; border-radius:10px; object-fit:cover; object-position:center; filter:saturate(.88) contrast(.97); }
.spring-grid time { color:#9bc7f3; font-size:13px; font-weight:850; }
.spring-grid p { margin:16px 0 0; color:#c7d9ed; font-size:14px; line-height:1.75; }
.platform-links { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:16px; }
.platform-links span { padding-bottom:3px; border-bottom:1px solid rgba(255,255,255,.42); color:#e8f4ff; font-size:12px; font-weight:780; }
.spring-grid details { margin-top:18px; color:#a9caeb; font-size:12px; }
.spring-grid summary { width:max-content; cursor:pointer; }
.spring-grid details p { font-size:12px; line-height:1.8; }

.work-archive { padding-top:135px; padding-bottom:150px; }
.archive-intro { display:block; }
.archive-review-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 28px; align-items:center; margin-top:44px; padding:24px 26px; border:1px solid #c4dced; border-radius:16px; background:#eaf5fd; }
.archive-review-panel[hidden] { display:none; }
.archive-review-panel h3 { margin:0; color:#143b6c; font-size:20px; }
.archive-review-panel p { max-width:62ch; margin:8px 0 0; color:#587796; font-size:14px; line-height:1.65; }
.archive-review-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.archive-review-actions button,.archive-review-actions a { display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:0 16px; border:1px solid #aac9e2; border-radius:999px; color:#1757aa; background:#f8fcff; font:inherit; font-size:13px; font-weight:800; text-decoration:none; cursor:pointer; }
.archive-review-actions .review-copy { border-color:#1f62b9; color:white; background:#1f62b9; }
.archive-review-actions button:hover,.archive-review-actions a:hover { border-color:#1f62b9; background:#dceefa; }
.archive-review-actions .review-copy:hover { background:#174f98; }
.archive-review-actions button:focus-visible,.archive-review-actions a:focus-visible,.review-order-actions button:focus-visible,.review-note:focus-visible { outline:3px solid rgba(32,126,220,.28); outline-offset:2px; }
.archive-review-status { grid-column:1/-1; min-height:18px; margin:0!important; color:#1d6a72!important; font-size:12px!important; font-weight:750; }
.archive-review-mode .archive-filters,.archive-review-mode .archive-note { display:none; }
.archive-review-mode .archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 18px; margin-top:30px; }
.archive-review-card { min-width:0; padding:12px; border:1px solid #c5d9eb; border-radius:16px; background:#f8fcff; cursor:grab; transition:border-color 180ms ease,background-color 180ms ease,opacity 180ms ease; }
.archive-review-card:active { cursor:grabbing; }
.archive-review-card.is-dragging { opacity:.45; }
.archive-review-card.is-drop-target { border-color:#1f68bd; background:#e5f2fd; }
.review-card-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 10px!important; }
.review-order { min-width:0; overflow:hidden; color:#24649f; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.review-order-actions { display:flex; flex:0 0 auto; gap:6px; }
.review-order-actions button { min-height:32px; padding:0 10px; border:1px solid #c1d8eb; border-radius:999px; color:#245f98; background:white; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.review-order-actions button:hover:not(:disabled) { border-color:#2d72ba; background:#edf7ff; }
.review-order-actions button:disabled { color:#9aafc2; background:#edf3f7; cursor:not-allowed; }
.review-note { box-sizing:border-box; width:100%; min-height:72px; margin-top:12px; padding:11px 12px; border:1px solid #c5d9eb; border-radius:12px; color:#173b62; background:white; font:inherit; font-size:14px; line-height:1.5; resize:vertical; }
.review-note::placeholder { color:#748da5; }
.review-note:focus { border-color:#2b71ba; }
.archive-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:58px; }
.archive-filters button { padding:10px 17px; border:1px solid #c5d9eb; border-radius:999px; color:#52718f; background:#f7fbff; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.archive-filters button:hover,.archive-filters button.is-active { border-color:var(--faculty-blue); color:white; background:var(--faculty-blue); }
.archive-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:38px 16px; margin-top:34px; }
.archive-grid article[hidden] { display:none; }
.archive-grid article>img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:14px; background:#d8e7f3; }
.archive-card-copy { padding:15px 2px 0; }
.archive-grid h3 { margin:0; font-size:15px; line-height:1.45; }
.archive-card-meta { margin:8px 0 0; color:#64809d; font-size:12px; font-weight:650; line-height:1.55; }
.archive-collection-cover { width:100%; aspect-ratio:1; overflow:hidden; border-radius:14px; background:#c8dced; }
.archive-collection-cover img { width:100%; height:100%; min-width:0; min-height:0; object-fit:cover; }
.archive-collection-count { display:block; margin-top:9px; color:#587895; font-size:12px; font-weight:750; }
.archive-collection-details { margin-top:13px; color:#315f8d; font-size:12px; }
.archive-collection-details summary { width:max-content; padding-bottom:3px; border-bottom:1px solid #8eb7dd; font-weight:800; cursor:pointer; }
.archive-collection-details ul { margin:12px 0 0; padding-left:18px; color:#597593; line-height:1.65; }
.archive-card-artists { margin:8px 0 0; color:#587895; font-size:12px; font-weight:700; line-height:1.55; }
.archive-card-lineup { margin-top:11px; color:#315f8d; font-size:12px; }
.archive-card-lineup summary { width:max-content; padding-bottom:3px; border-bottom:1px solid #8eb7dd; font-weight:800; cursor:pointer; }
.archive-card-lineup p { margin:10px 0 0; color:#597593; line-height:1.65; }
.archive-more { display:block; min-width:190px; margin:52px auto 0; padding:13px 22px; border:1px solid #abc8e2; border-radius:999px; color:#1757aa; background:#f7fbff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.archive-more:hover { border-color:var(--faculty-blue); background:#edf6fd; }
.archive-more[hidden] { display:none; }
.archive-note { margin:48px 0 0; color:#708aa4; font-size:13px; }

.faculty-collaborations { padding:130px 0 142px; background:#e8f3fb; }
.faculty-collaborations .section-heading { max-width:1180px; }
.faculty-collaborations .section-heading p { max-width:none; }
.artist-names { margin-top:42px; color:#244f7a; font-size:17px; font-weight:760; line-height:2.15; }
.artist-names span { color:#91b1cf; font-weight:400; }
.artist-vcr { display:grid; grid-template-columns:1.35fr .65fr; gap:20px; align-items:stretch; margin-top:68px; }
.artist-vcr iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:16px; background:#0f2c52; box-shadow:0 24px 56px rgba(24,73,126,.18); }
.artist-vcr>div { display:flex; flex-direction:column; justify-content:flex-end; padding:34px; border-radius:16px; background:#d7eafb; }
.artist-vcr strong { font-size:22px; line-height:1.4; }
.artist-vcr p { margin:17px 0 0; color:#4f7091; font-size:14px; line-height:1.8; }
.photo-ribbon { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:126px; grid-auto-flow:dense; gap:10px; margin-top:56px; }
.photo-ribbon figure { position:relative; min-width:0; min-height:0; margin:0; overflow:hidden; border-radius:12px; }
.photo-ribbon .photo-feature { grid-column:span 2; grid-row:span 2; }
.photo-ribbon .photo-wide { grid-column:span 2; }
.photo-ribbon .photo-tall { grid-row:span 2; }
.photo-ribbon img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.photo-ribbon figure:hover img { transform:scale(1.025); }
.photo-ribbon figcaption { position:absolute; inset:auto 0 0; padding:34px 12px 10px; color:white; background:linear-gradient(transparent,rgba(8,31,59,.78)); font-size:11px; }
.artist-photo-stack { width:100%; height:100%; display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:3px; background:#bcd2e5; }
.artist-photo-stack img:first-child { grid-row:1/-1; }
.photo-wei>img,.photo-han>img,.photo-suxing-luhu>img { object-position:center; }
.retouch-note { margin-top:40px; color:#6c87a2; font-size:12px; }

.faculty-teaching { padding:140px 0; background:#f7fbff; }
.teaching-overview { display:grid; grid-template-columns:1.45fr .75fr; gap:64px; align-items:center; }
.teaching-gallery { display:grid; grid-template-columns:1.7fr .8fr .8fr; grid-template-rows:1fr 1fr; gap:10px; min-height:520px; }
.teaching-gallery figure { min-width:0; min-height:0; margin:0; overflow:hidden; border-radius:16px; }
.teaching-gallery img { width:100%; height:100%; object-fit:cover; }
.teaching-image-main { grid-row:1/-1; }
.teaching-image-main img { object-position:center; }
.teaching-image-detail { grid-column:2/-1; }
.teaching-image-detail img { object-position:68% center; }
.teaching-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; color:#537394; background:#e5f1fb; text-align:center; }
.teaching-placeholder span,.credential-placeholder span { font-size:15px; font-weight:850; }
.teaching-placeholder small,.credential-placeholder small { margin-top:7px; color:#7891aa; font-size:11px; }
.teaching-copy h2 { font-size:clamp(40px,4.2vw,62px); }
.teaching-belief { display:block; margin-top:32px; color:#174f9d; font-size:21px; line-height:1.5; }
.teaching-copy>p { margin-top:20px; max-width:37em; }
.teaching-path { display:grid; grid-template-columns:1fr 330px; gap:54px; margin-top:58px; padding:44px; border-radius:16px; background:#eaf4fc; }
.teaching-stages { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin:0; padding:0; list-style:none; counter-reset:stage; }
.teaching-stages li { position:relative; min-width:0; }
.teaching-stages li:not(:last-child)::after { content:""; position:absolute; top:18px; right:-34px; width:18px; height:1px; background:#78a9dc; }
.teaching-stages b { display:block; color:#1762c6; font-size:28px; letter-spacing:-.03em; }
.teaching-stages strong { display:block; margin-top:12px; font-size:17px; }
.teaching-stages p { margin:13px 0 0; color:#5f7895; font-size:12px; line-height:1.75; }
.teaching-stages .primary-button { min-height:42px; margin-top:22px; padding-inline:22px; font-size:12px; }
.teaching-evidence { display:grid; grid-template-columns:130px 1fr; gap:24px; align-items:stretch; padding-left:34px; border-left:1px solid #c5daed; }
.credential-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:172px; padding:16px; border:1px solid #c2d8eb; border-radius:12px; color:#527292; background:#f7fbff; text-align:center; }
.teaching-proof { display:flex; flex-direction:column; justify-content:center; gap:24px; }
.teaching-proof span { color:#587391; font-size:12px; line-height:1.5; }
.teaching-proof strong { display:block; margin-bottom:4px; color:var(--faculty-blue); font-size:20px; }

.faculty-close { padding:110px 0; background:#dceeff; }
.faculty-close .faculty-shell { display:flex; justify-content:space-between; align-items:center; gap:80px; }
.faculty-close h2 { max-width:740px; font-size:clamp(36px,4vw,56px); }
.faculty-close .faculty-shell>div { display:flex; flex-direction:column; gap:12px; }
.faculty-footer { padding:36px 0 110px; background:#10284a; color:white; }
.faculty-footer .faculty-shell { display:flex; align-items:center; gap:20px; }
.faculty-footer span { color:#aac5df; }
.faculty-footer a { margin-left:auto; }

.audio-dock { position:fixed; left:50%; bottom:18px; z-index:60; width:min(720px,calc(100% - 28px)); min-height:72px; display:grid; grid-template-columns:auto minmax(130px,1fr) minmax(120px,1.2fr) auto auto; align-items:center; gap:18px; padding:12px 16px; border:1px solid rgba(255,255,255,.4); border-radius:16px; color:white; background:rgba(15,43,83,.94); box-shadow:0 20px 60px rgba(11,37,75,.3); transform:translateX(-50%); backdrop-filter:blur(18px); }
.audio-dock[hidden] { display:none; }
.audio-toggle,.audio-close { border:0; color:white; background:transparent; cursor:pointer; }
.audio-toggle { width:42px; height:42px; border-radius:50%; color:#154f9f; background:white; }
.audio-close { font-size:25px; }
.audio-meta { min-width:0; }
.audio-meta strong,.audio-meta span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.audio-meta strong { font-size:13px; }
.audio-meta span { margin-top:4px; color:#aec9e3; font-size:11px; }
.audio-progress { width:100%; accent-color:#70b7ff; }
.audio-time { color:#bcd3e8; font-size:12px; }

@media (max-width:980px) {
  .faculty-header nav { display:none; }
  .faculty-hero { grid-template-columns:40% 60%; }
  .faculty-hero-copy { padding:54px 36px; }
  .story-intro,.archive-intro { gap:48px; }
  .story-media { grid-template-columns:1fr; }
  .story-media aside { min-height:220px; }
  .career-timeline { grid-template-columns:repeat(2,1fr); }
  .selected-grid { grid-template-columns:repeat(2,1fr); }
  .spring-grid { grid-template-columns:repeat(2,1fr); }
  .photo-ribbon { grid-template-columns:repeat(3,1fr); grid-auto-rows:150px; }
  .photo-ribbon .photo-feature { grid-column:span 2; grid-row:span 2; }
  .artist-vcr { grid-template-columns:1fr; }
  .artist-vcr>div { min-height:210px; }
  .teaching-overview { grid-template-columns:1.2fr .8fr; gap:42px; }
  .teaching-gallery { min-height:430px; }
  .teaching-path { grid-template-columns:1fr; }
  .teaching-evidence { grid-template-columns:150px 1fr; padding:28px 0 0; border-top:1px solid #c5daed; border-left:0; }
  .archive-review-panel { grid-template-columns:1fr; align-items:start; }
  .archive-review-actions { justify-content:flex-start; }
  .archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .archive-review-mode .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  .faculty-shell { width:min(100% - 30px,560px); }
  .faculty-header { height:64px; grid-template-columns:1fr auto; padding-inline:16px; }
  .faculty-header .primary-button { min-height:38px; padding-inline:14px; font-size:12px; }
  .faculty-hero { min-height:0; grid-template-columns:1fr; padding-top:30px; }
  .faculty-hero-photo { width:calc(100% - 64px); max-height:none; justify-self:center; border-radius:14px; }
  .faculty-hero-photo img { aspect-ratio:4/4.6; object-position:48% 62%; }
  .faculty-hero-copy { padding:44px 20px 66px; }
  .back-link { margin-bottom:26px; }
  .faculty-role { font-size:12px; }
  .faculty-hero h1 { font-size:50px; }
  .faculty-lead { margin-top:27px; font-size:20px; }
  .faculty-intro { font-size:14px; }
  .hero-links { flex-direction:column; align-items:flex-start; gap:14px; }
  .faculty-toc { top:64px; }
  .faculty-toc div { justify-content:flex-start; padding-inline:12px; }
  .story-intro,.archive-intro { grid-template-columns:1fr; gap:30px; }
  .story-intro { padding-top:86px; padding-bottom:46px; }
  .story-title h2,.section-heading h2,.spring-heading h2,.archive-intro h2,.teaching-copy h2,.faculty-close h2 { font-size:38px; }
  .story-media { padding-bottom:48px; }
  .story-media aside { min-height:0; padding:28px; }
  .timeline-wrap { padding-bottom:32px; }
  .career-timeline { grid-template-columns:1fr; gap:0; padding-top:8px; }
  .career-timeline li { grid-template-columns:68px 1fr; padding:24px 0; }
  .faculty-works,.faculty-collaborations { padding:86px 0 94px; }
  .section-heading { width:min(100% - 30px,560px); margin-inline:auto; }
  .selected-grid { gap:30px 13px; margin-top:44px; }
  .case-copy h3 { font-size:15px; }
  .spring-feature { padding:72px 0 76px; }
  .spring-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 14px; margin-top:38px; }
  .spring-grid img { height:auto; margin-bottom:14px; }
  .work-archive { padding-top:88px; padding-bottom:96px; }
  .archive-filters { margin-top:40px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .archive-filters button { flex:0 0 auto; }
  .archive-grid { grid-template-columns:repeat(2,1fr); gap:28px 13px; }
  .archive-grid h3 { font-size:14px; }
  .archive-card-meta { font-size:11px; }
  .archive-review-panel { gap:18px; margin-top:30px; padding:20px; }
  .archive-review-panel h3 { font-size:19px; }
  .archive-review-actions { display:grid; grid-template-columns:1fr 1fr; }
  .archive-review-actions a { grid-column:1/-1; }
  .archive-review-actions button,.archive-review-actions a { min-height:44px; }
  .archive-review-mode .archive-grid { grid-template-columns:1fr; gap:18px; }
  .review-order-actions button { min-height:40px; padding-inline:14px; }
  .review-note { min-height:84px; font-size:16px; }
  .artist-names { margin-top:32px; font-size:16px; line-height:2; }
  .photo-ribbon { grid-template-columns:repeat(2,1fr); grid-auto-rows:132px; gap:8px; margin-top:38px; }
  .photo-ribbon .photo-wide,.photo-ribbon .photo-tall { grid-column:span 1; grid-row:span 1; }
  .photo-ribbon .photo-feature { grid-column:span 2; grid-row:span 2; }
  .artist-vcr { margin-top:44px; }
  .artist-vcr>div { min-height:0; padding:28px; }
  .faculty-teaching { padding:88px 0; }
  .teaching-overview { grid-template-columns:1fr; gap:42px; }
  .teaching-gallery { grid-template-columns:1fr 1fr; grid-template-rows:260px 150px 150px; min-height:0; gap:8px; }
  .teaching-image-main { grid-column:1/-1; grid-row:auto; }
  .teaching-image-detail { grid-column:1/-1; }
  .teaching-path { margin-top:44px; padding:28px 22px; }
  .teaching-stages { grid-template-columns:1fr; gap:34px; }
  .teaching-stages li:not(:last-child)::after { top:auto; right:auto; bottom:-20px; left:13px; width:1px; height:12px; }
  .teaching-evidence { grid-template-columns:112px 1fr; gap:18px; }
  .credential-placeholder { min-height:140px; }
  .teaching-facts { grid-template-columns:1fr 1fr; gap:14px; }
  .faculty-close { padding:80px 0; }
  .faculty-close .faculty-shell { display:block; }
  .faculty-close .faculty-shell>div { margin-top:36px; }
  .faculty-close .secondary-button { background:transparent; }
  .audio-dock { grid-template-columns:auto minmax(0,1fr) auto auto; gap:12px; bottom:10px; border-radius:14px; }
  .audio-progress { grid-column:1/-1; grid-row:2; }
  .faculty-footer { padding-bottom:120px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .case-card img { transition:none; }
}
