/* Personal-first hierarchy, 2026-10-19. The room and atmospheric palette stay. */
html {scroll-padding-top:92px}
body section.block {min-height:0!important;padding:88px 0!important}
body section.block>.wrap {display:block!important;width:100%;max-width:1280px!important;margin-inline:auto;padding-inline:clamp(22px,4.5vw,64px)!important}
body section.block .sectitle {font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.25}
body .section-heading {margin-bottom:32px}
body .section-index {display:none}
body .personal-intro {display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,92px);align-items:center}
body .personal-intro h2 {font-family:var(--serif);font-size:clamp(3rem,6.5vw,6rem);line-height:1.14;letter-spacing:-.03em;margin:20px 0 28px;color:#fff}
body .personal-intro h2::first-line {color:var(--teal)}
.personal-intro__lead {font-size:1.15rem;font-weight:700;margin-bottom:18px}
.personal-intro__text {max-width:39em;color:#c7d5e2;font-size:1rem;line-height:2}
body .personal-portrait {margin:0;position:relative;width:100%;max-width:440px;justify-self:end}
body .personal-portrait img {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover!important;object-position:50% 32%;border-radius:3px 80px 3px 3px}
.personal-portrait figcaption {font-size:.62rem;letter-spacing:.15em;color:var(--muted);padding:14px 0}
.personal-topics {display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;font-size:.78rem;color:var(--teal)}
.personal-topics a {padding:8px 0;border-bottom:1px solid #46e6d34d}
.compact-heading {display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:end;margin-bottom:32px}
.compact-heading h2 {font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1.3;margin-top:14px;color:#fff;letter-spacing:-.02em}
.compact-heading>p {color:#afc2d3;font-size:.9rem;line-height:1.9;max-width:30em}
body #news-track {display:block;overflow:visible;width:100%;padding:0;transform:none}
.media-stories {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}
.media-story {display:block;min-width:0;color:#fff}
.media-story figure {position:relative;overflow:hidden;background:#101c2a;border-radius:6px;margin:0;aspect-ratio:16/10}
body .media-story img {width:100%;height:100%;object-fit:cover!important;object-position:50% 30%;transition:transform .5s}
.media-story:hover img {transform:scale(1.04)}
.media-story figure>span {position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#07101cdd;color:var(--teal)}
.media-story>div {padding:12px 0 0}
.media-story>div>p {color:#8fd6cd;font-size:.64rem;letter-spacing:.04em;line-height:1.6;margin-bottom:7px}
.media-story h3 {font-size:.89rem;line-height:1.65;font-weight:600}
.media-archive {margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.media-archive summary {cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:#ccdae6;font-size:.8rem}
.media-archive summary::-webkit-details-marker {display:none}
.media-archive summary span {color:var(--teal);font-variant-numeric:tabular-nums}
.media-archive[open] .media-stories {padding-bottom:26px}
/* Intro copy and then/now fill a single screen together. No sticky empty rail. */
body #profile .story-intro {min-height:0;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,5vw,72px);align-items:center;margin:0 0 32px}
body #profile .story-intro__pin {display:block;position:static;min-height:0;padding:0}
body #profile .story-kicker {font-size:.66rem;margin-bottom:18px}
body #profile .story-lines {font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.2;gap:.1em}
body #profile .story-line {--fill:1!important;transform:none;color:#fff;background:none}
body #profile .story-line:last-child {color:var(--teal)}
body #profile .story-introtext {margin-top:24px;font-size:.95rem;line-height:1.95;max-width:40em}
body #profile .story-portraits {display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px;margin:0}
body #profile .story-portrait {width:100%;max-width:none}
body #profile .story-portrait img {aspect-ratio:3/4;object-fit:cover!important;border-radius:6px}
body #profile .story-portrait:last-child {padding-top:56px}
body .story-portraits__arrow {display:none}
.age-nav {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid #46e6d340;margin-bottom:28px}
.age-nav a {padding:18px 12px;border-right:1px solid var(--line);font-size:1.05rem;font-weight:700;color:var(--teal);line-height:1.4}
.age-nav a:first-child {padding-left:0}
.age-nav a:last-child {border-right:0}
.age-nav a small {display:block;margin-top:7px;font-size:.55rem;letter-spacing:.08em;color:#9bafc1}
.age-nav a:hover {background:#46e6d30c}
body .story-stats {margin-bottom:56px}
body .story-stat {padding:24px 20px}
body .story-stat b {font-size:clamp(2rem,3.5vw,3.3rem)}
body .story-stat span {font-size:.74rem;margin-top:10px}
body .story-chapters {gap:64px}
body .story-chapter,body .story-chapter.is-flip {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;border-top:1px solid var(--line);padding-top:42px;scroll-margin-top:96px}
body .story-copy {position:static}
body .story-chapter.is-flip .story-copy {order:0}
body .story-year {font-family:var(--sans);font-size:clamp(2.5rem,4.3vw,4rem);line-height:1.15;letter-spacing:-.04em}
body .story-year small {display:block;font-family:var(--serif);font-weight:400;font-size:1rem;color:#a2b5c6;letter-spacing:.08em;margin-top:9px}
body .story-phase {margin:16px 0 10px;font-size:.63rem}
body .story-title {font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.5;margin-bottom:16px}
body .story-text {font-size:.88rem;line-height:1.95}
body .story-links {gap:8px 14px;margin-top:20px}
body .story-link {font-size:.76rem}
body .story-media {gap:12px}
body .story-shot__frame,body .story-motion .story-shot.is-in .story-shot__frame {border-radius:6px}
body .story-shot.is-tall .story-shot__frame img {aspect-ratio:4/5;max-height:330px;object-fit:cover!important}
body .story-chapter[data-count-media="4"] .story-shot__frame img {max-height:260px;aspect-ratio:4/3}
body .story-shot figcaption {font-size:.61rem;line-height:1.7}
body .story-honours {margin:0;padding:28px;border-radius:8px}
body .story-honours__head {margin-bottom:24px;text-align:left;max-width:none}
body .story-honours__head h3 {font-size:1.5rem}
body .story-honours__head p {font-size:.83rem}
body .story-honours__wall {gap:20px}
body .story-cert__paper img {height:170px;object-fit:contain!important}
body .story-cert__copy b {font-size:.76rem}
body .story-cert__copy small {font-size:.65rem}
body .story-honours__more {margin-top:20px;padding-top:20px;font-size:.72rem}
/* Website captures sit above their captions and open the real destination. */
.project-sites {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.project-site {display:flex;flex-direction:column;min-width:0;background:rgba(7,16,27,.86);border:1px solid #b5d5e528;border-radius:8px;overflow:hidden;transition:border-color .2s}
.project-site:hover {border-color:#46e6d3a0}
.project-site figure {margin:0;position:relative;background:#0a1623;border-bottom:1px solid #b5d5e528}
body .project-site figure img {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain!important;object-position:top}
.project-site figcaption {display:flex;justify-content:space-between;padding:10px 16px;color:#b8cadb;font-size:.65rem;letter-spacing:.04em;background:#0b1724}
.project-site figcaption span {color:var(--teal)}
.project-site__body {padding:24px 26px;flex:1;display:flex;flex-direction:column}
.project-site__tag {font-size:.59rem;letter-spacing:.14em;color:var(--teal)}
.project-site h3 {font-family:var(--serif);font-size:2rem;line-height:1.4;margin:10px 0}
.project-site__body>p:not(.project-site__tag) {font-size:.87rem;line-height:1.9;color:#c0cedb}
.project-site__go {align-self:flex-start;font-size:.74rem;margin-top:auto;padding-top:20px;color:var(--teal)}
/* Image-first research, in the same balance as the profile. */
body #research .research-stage {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px;align-items:center}
body #research .research-question {font-size:clamp(1.8rem,3vw,3rem)}
body #research .research-copy .lead {font-size:1.08rem}
body #research .research-long {font-size:.88rem;line-height:1.95}
body #research .research-collage {min-height:0}
body #research .rc-main {position:relative;width:100%;max-width:none}
body #research .rc-main img {min-height:300px;max-height:420px;object-fit:cover!important}
body #research .research-findings {margin-top:30px}
/* A single long-form player, Shorts, and the four social destinations below the work. */
body #youtube>.wrap {max-width:1280px!important}
body #youtube .channel-head {margin-bottom:28px}
body #youtube #channel-heading {font-size:clamp(2.5rem,5vw,4.3rem)}
body #youtube .channel-intro {font-size:.95rem;line-height:1.9}
body #youtube .channel-screen {max-width:860px;aspect-ratio:16/9;margin-inline:auto;min-height:0;border-radius:8px}
body #youtube .channel-now {max-width:860px;margin:18px auto 24px}
body #youtube .channel-videos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:visible}
body #youtube .channel-video {width:100%;min-width:0;display:block;padding:0;border-radius:6px;overflow:hidden;text-align:left}
body #youtube .channel-video img {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
body #youtube .channel-video-copy {display:block;padding:12px}
body #youtube .channel-video-copy small {font-size:.52rem;line-height:1.6}
body #youtube .channel-video-copy strong {display:block;font-size:.72rem;line-height:1.7;margin-top:5px}
.shorts-wall {margin-top:56px}
.social-section-head {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.social-section-head h3 {font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.4}
.shorts-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.short-card {min-width:0}
.short-card figure {position:relative;aspect-ratio:9/16;overflow:hidden;background:#132232;border-radius:6px}
body .short-card img {width:100%;height:100%;object-fit:cover!important;transition:transform .3s}
.short-card figure span {position:absolute;bottom:12px;left:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ff273c;color:#fff;font-size:.8rem}
.short-card h4 {font-size:.72rem;line-height:1.7;margin-top:10px;font-weight:500}
.short-card:hover img {transform:scale(1.04)}
body .ig-wall {margin-top:64px;gap:32px;grid-template-columns:.65fr 1.35fr}
body .ig-wall__head {position:static}
body .ig-wall__head h3,body .note-wall__head h3 {font-size:clamp(2.2rem,4vw,3.3rem)}
body .ig-wall__head p,body .note-wall__head p {font-size:.86rem}
body .ig-tile {border-radius:6px}
body .ig-tile:nth-child(n),body .story-motion .ig-tile[data-reveal].is-in {transform:none}
body .ig-tile__title {font-size:.72rem}
body .note-wall {margin-top:64px}
body .note-wall .yt-notes__grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body .note-wall .yt-note {display:block;border-radius:6px;padding:0 0 20px;overflow:hidden}
body .note-wall .yt-note>div {padding:16px}
body .note-wall .yt-note figure {border-radius:0}
body .note-wall .yt-note h3 {font-size:.84rem}
body .note-wall .yt-note p {font-size:.76rem}
body .pod-card {max-width:860px;margin:48px auto 0;border-radius:8px;grid-template-columns:140px 1fr;padding:24px}
body .pod-card h3 {font-size:1.7rem}
body .pod-card__lead {font-size:.82rem}
body .pod-card__eps {display:none}
.social-directory {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.social-directory a {display:flex;flex-direction:column;padding:20px;border:1px solid #d1e6ef44;background:#0a1525da;border-radius:6px;min-width:0}
.social-directory small {font-size:.53rem;letter-spacing:.12em;color:var(--teal)}
.social-directory b {font-family:var(--serif);font-size:1.6rem;margin:10px 0}
.social-directory span {font-size:.68rem;color:#b6cbdc}
.social-directory a:hover {border-color:var(--teal)}
body :is(.media-story,.project-site,.short-card,.age-nav a,.social-directory a):focus-visible {outline:2px solid var(--teal);outline-offset:5px}
@media(max-width:900px){
 body section.block {padding:64px 0!important}
 .compact-heading {grid-template-columns:1fr;gap:16px}
 body .personal-intro {gap:28px}
 .media-stories {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
 body #profile .story-intro {grid-template-columns:1fr 1fr;gap:24px}
 body #profile .story-lines {font-size:clamp(2rem,4.3vw,3rem)}
 body .story-chapter,body .story-chapter.is-flip {grid-template-columns:1fr;gap:24px}
 body .story-chapter .story-media {grid-template-columns:1fr 1fr}
 body .story-shot__frame img {max-height:300px;object-fit:cover!important}
 .project-sites {gap:20px}
 .project-site__body {padding:20px}
 body #research .research-stage {grid-template-columns:1fr;gap:26px}
 .shorts-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}
 body .note-wall .yt-notes__grid {grid-template-columns:1fr}
 body .note-wall .yt-note {display:grid;grid-template-columns:.7fr 1fr;padding:0}
 body .ig-wall {grid-template-columns:1fr}
}
@media(max-width:600px){
 html {scroll-padding-top:76px}
 body section.block {padding:48px 0!important}
 body section.block>.wrap {padding-inline:22px!important}
 body .personal-intro {grid-template-columns:1fr;gap:28px}
 body .personal-intro h2 {font-size:3.5rem;margin:14px 0 22px}
 body .personal-portrait {max-width:none;justify-self:stretch}
 body .personal-portrait img {aspect-ratio:5/4;object-position:50% 28%;border-radius:4px 48px 4px 4px}
 .personal-intro__text {font-size:.91rem}
 .compact-heading h2 {font-size:2rem}
 .compact-heading>p {font-size:.82rem}
 .media-story h3 {font-size:.75rem;line-height:1.65}
 .media-story>div>p {font-size:.57rem}
 .media-stories {gap:22px 14px}
 .media-story figure {aspect-ratio:4/3}
 body #profile .story-intro {grid-template-columns:1fr;gap:28px}
 body #profile .story-lines {font-size:2.7rem}
 body #profile .story-portraits {max-width:400px;gap:20px}
 body #profile .story-portrait:last-child {padding-top:28px}
 .age-nav {grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}
 .age-nav a {font-size:.91rem;padding:14px 8px;border-bottom:1px solid var(--line)}
 .age-nav a:first-child {padding-left:8px}
 .age-nav a small {font-size:.44rem}
 body .story-stats {margin-bottom:36px}
 body .story-stat {padding:20px 12px}
 body .story-stat b {font-size:2.4rem}
 body .story-chapters {gap:40px}
 body .story-chapter,body .story-chapter.is-flip {padding-top:30px}
 body .story-year {font-size:3rem}
 body .story-chapter[data-count-media="3"] .story-media {grid-template-columns:1fr 1fr}
 body .story-chapter[data-count-media="3"] .story-shot--0 {grid-column:1/-1}
 body .story-chapter[data-count-media="3"] .story-shot--0.is-tall {grid-column:1/-1}
 body .story-honours {padding:22px 16px}
 body .story-cert__paper img {height:145px}
 .project-sites {grid-template-columns:1fr;gap:24px}
 .project-site h3 {font-size:1.9rem}
 .project-site__body>p:not(.project-site__tag) {font-size:.85rem}
 body #research .rc-main img {min-height:0;max-height:280px}
 body #youtube .channel-head {display:block}
 body #youtube .channel-link {margin-top:18px}
 body #youtube .channel-now h3 {font-size:1rem;line-height:1.7}
 body #youtube .channel-videos {grid-template-columns:repeat(2,minmax(0,1fr))}
 body #youtube .channel-video-copy {padding:10px}
 .social-section-head {display:block}
 .social-section-head>a {margin-top:16px}
 .shorts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
 body .ig-wall__grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 body .note-wall .yt-note {display:block}
 body .pod-card {grid-template-columns:90px 1fr;gap:18px;padding:18px}
 body .pod-card h3 {font-size:1.25rem;line-height:1.5}
 body .pod-card__lead {font-size:.74rem}
 body .pod-card .story-link {font-size:.68rem}
 .social-directory {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .social-directory a {padding:18px 14px}
 .social-directory b {font-size:1.5rem}
}
/* Override legacy per-section viewport floors and broad title limits. */
html body :is(#identity,#news,#profile,#projects,#research,#bansou,#youtube).block {min-height:0!important;padding:72px 0!important;scroll-margin-top:0!important}
html body :is(#identity,#news,#profile,#projects,#research,#bansou,#youtube).block>.wrap {max-width:1280px!important;padding-inline:clamp(22px,4.5vw,64px)!important}
html body #profile .section-heading {margin-bottom:28px!important}
html body #profile .section-heading>div {width:100%}
html body #profile .sectitle {max-width:none!important;font-size:clamp(2rem,3.6vw,3rem)!important;line-height:1.35!important;letter-spacing:-.03em!important}
html body #research .sectitle,html body #bansou .sectitle {max-width:none!important;font-size:clamp(2rem,3.6vw,3rem)!important}
html body #research .research-stage {min-height:0!important}
html body #research .research-collage {height:auto!important;min-height:380px!important}
html body #research .research-collage .rc-main {inset:auto!important;transform:none!important}
.media-story .media-credit {display:block;margin-top:7px;font-size:.56rem;line-height:1.5;color:#7f97aa}
@media(max-width:600px){
 html body :is(#identity,#news,#profile,#projects,#research,#bansou,#youtube).block {padding:44px 0!important}
 html body :is(#identity,#news,#profile,#projects,#research,#bansou,#youtube).block>.wrap {padding-inline:22px!important}
 html body #profile .sectitle {font-size:2rem!important}
 html body #research .research-collage {min-height:300px!important}
}
.editing-credits ul {list-style:none;padding:0 0 20px;display:grid;gap:14px}
.editing-credits li a {display:block;padding:12px 16px;background:#0c1a27}
.editing-credits li b {font-size:.8rem;font-weight:500;line-height:1.7}
.editing-credits li small {display:block;color:var(--muted);font-size:.7rem;margin-top:6px}
html body :is(#identity,#news,#profile,#projects,#research,#bansou,#youtube).block>.wrap {width:100%!important;margin-inline:auto!important}
@media(max-width:600px){
 html body header#hdr {display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:8px 12px!important}
 html body #hdr .brand {grid-column:1;grid-row:1;font-size:1rem}
 html body #hdr .brand small {display:none}
 html body #hdr .langswitch {grid-column:2;grid-row:1}
 html body #hdr nav.menu {grid-column:1/-1;grid-row:2;display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:5px;overflow-x:auto!important;max-width:100%;min-width:0;padding:2px 0 4px;scrollbar-width:none}
 html body #hdr nav.menu::-webkit-scrollbar {display:none}
 html body #hdr nav.menu a {flex:0 0 auto;max-width:none!important;white-space:nowrap;overflow:visible!important;text-overflow:clip!important;padding:8px 10px!important;font-size:.7rem!important;line-height:1.3;min-height:34px}
 html body #profile .sectitle {font-size:1.8rem!important;white-space:normal}
 html body #profile .story-lines {font-size:2.5rem}
}
