/* 2026-08-21 — restored identity-led opening, media index and integrated profile proof. */

/* Opening: the room turns first. The identity then rises and stays in the sticky frame. */

header {
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(4,9,15,.92),rgba(4,9,15,.46),transparent);
}

.heroscroll { height:250vh !important; margin-bottom:-1px; }
.heroscroll .hero { position:fixed !important; inset:0 0 auto; width:100%; }
.heroscroll.is-ended .hero { position:absolute !important; inset:auto 0 0; }
#house { transform:scale(1.13); transform-origin:50% 52%; }
.hero-signature { display:block !important; opacity:.52 !important; }
.herotext {
  top:51% !important;
  display:flex !important;
  width:min(1380px,calc(100% - 48px)) !important;
  flex-direction:column;
  align-items:center;
  --hero-rise:30px;
  opacity:0;
  filter:blur(8px);
  transform:translate(-50%,calc(-50% + var(--hero-rise))) !important;
  transition:opacity .55s ease,filter .7s ease,transform .8s cubic-bezier(.2,.75,.2,1);
}
.hero-focus { display:flex !important; }
.hero-social-grid {
  display:grid !important;
  width:min(1120px,100%);
  pointer-events:auto;
}
.intentchips,.featured { display:none !important; }
.herotext h1 {
  font-size:clamp(3.4rem,7.2vw,7.4rem) !important;
  line-height:.86 !important;
  letter-spacing:-.025em !important;
  text-shadow:0 4px 36px rgba(0,0,0,.92);
}
.herotext h1 span {
  margin-top:16px !important;
  font-size:clamp(.74rem,1vw,1rem) !important;
  letter-spacing:.38em !important;
}
.herotext .avatar { width:68px !important; height:68px !important; margin-bottom:12px !important; border-radius:3px !important; }
.hero-social-grid .social-card {
  min-height:104px !important;
  background:rgba(3,9,15,.78) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

/* The old floor-plan loader is replaced by a restrained name-first title card. */
#load {
  background:radial-gradient(circle at 50% 42%,#102834 0,#07121b 42%,#03070c 100%) !important;
}
#load::before {
  opacity:.12 !important;
  background-size:72px 72px !important;
}
#load::after { opacity:.34; }
#load .load-video { opacity:.12 !important; filter:grayscale(1) contrast(1.1) !important; }
#load .lplan { display:none !important; }
#load .llabel {
  display:block !important;
  left:50% !important;
  top:50% !important;
  width:min(94vw,1100px);
  transform:translate(-50%,-50%);
  color:#f4fbf9;
  font-family:var(--serif);
  font-size:clamp(3.2rem,10vw,10rem) !important;
  font-weight:400 !important;
  line-height:.78;
  letter-spacing:-.055em !important;
  text-align:center;
}
#load .llabel span {
  display:block !important;
  margin-top:28px !important;
  color:rgba(220,249,243,.64) !important;
  font-family:var(--sans) !important;
  font-size:clamp(.52rem,.8vw,.72rem) !important;
  line-height:1.5 !important;
  letter-spacing:.32em !important;
}
#load .lwrap { display:grid !important; }
#load .lmeta { display:block !important; }

/* Media: five image-backed highlights, followed by one chronological list. */
#news.block {
  margin-top:-1px;
  padding-top:clamp(10px,1.5vw,22px) !important;
  padding-bottom:clamp(72px,8vw,118px) !important;
}
#news .trustlead { max-width:78ch; margin:12px 0 30px !important; }
.media-card-grid {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}
.unified-media-card,
.unified-media-card:nth-child(4) {
  grid-column:auto !important;
  min-height:100%;
}
.unified-media-card figure {
  aspect-ratio:16 / 10;
  padding:8px !important;
}
.unified-media-card img {
  width:100%;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
}
.unified-media-copy { padding:16px !important; }
.unified-media-copy h3 { font-size:clamp(.88rem,1.02vw,1.08rem) !important; }
.unified-media-copy p { font-size:.73rem !important; }
.recent-news-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-top:clamp(52px,6vw,84px);
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.38);
}
.recent-news-head p { color:var(--teal); font-size:.7rem; font-weight:760; letter-spacing:.18em; }
.recent-news-head span { color:var(--muted); font-size:.72rem; }
.recent-news-list { display:block; }
.recent-news-row {
  display:grid;
  grid-template-columns:96px 112px minmax(0,1fr) 50px;
  gap:20px;
  align-items:center;
  min-height:94px;
  padding:12px 4px;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:inherit;
  transition:background .25s ease,padding .25s ease;
}
.recent-news-list.collapsed .recent-news-row:nth-child(n+9) { display:none; }
.recent-news-row:hover { padding-inline:14px; background:rgba(70,230,211,.06); }
.recent-news-row .nthumb {
  display:grid;
  place-items:center;
  width:96px;
  height:62px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#0a151d;
  color:var(--teal);
  font-family:var(--serif);
  font-size:1.5rem;
}
.recent-news-row .nthumb img.art { width:100%; height:100%; object-fit:contain; background:#071018; }
.recent-news-row .nthumb img.fv { width:22px; height:22px; object-fit:contain; }
.recent-news-date { color:#9cb0be; font:600 .68rem/1.4 var(--sans); letter-spacing:.08em; }
.recent-news-copy { display:grid; gap:7px; }
.recent-news-copy b { font-size:.92rem; line-height:1.55; }
.recent-news-copy small { color:var(--muted); font-size:.7rem; }
.recent-news-action { color:var(--teal); font-size:.6rem; letter-spacing:.14em; text-align:right; }
.recent-news-more {
  display:block;
  width:100%;
  min-height:52px;
  margin-top:18px;
  border:1px solid rgba(70,230,211,.52);
  border-radius:2px;
  background:rgba(5,17,23,.7);
  color:#effbf9;
  font:700 .74rem/1 var(--sans);
  letter-spacing:.06em;
  cursor:pointer;
}
.recent-news-more small { color:var(--teal); }

/* Profile: long-form biography and the one award that explains the Todai route. */
.profile-biography {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0 0 30px;
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.profile-biography p {
  padding:24px clamp(18px,2vw,30px);
  border-right:1px solid rgba(255,255,255,.14);
  color:#c2d0d8;
  font-size:clamp(1rem,1.15vw,1.18rem);
  line-height:2;
}
.profile-biography p:first-child { padding-left:0; }
.profile-biography p:last-child { padding-right:0; border-right:0; }
.profile-proof {
  display:grid;
  grid-template-columns:minmax(250px,.42fr) minmax(0,.58fr);
  gap:0;
  margin:0 0 32px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(7,14,22,.78);
  color:inherit;
}
.profile-proof figure { display:grid; place-items:center; margin:0; padding:clamp(14px,2.6vw,32px); border-right:1px solid rgba(255,255,255,.14); background:#d9d6ce; }
.profile-proof figure img { display:block; width:100%; height:auto; max-height:440px; object-fit:contain; }
.profile-proof>div { display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,4vw,58px); }
.profile-proof span { color:var(--teal); font-size:.64rem; font-weight:750; letter-spacing:.2em; }
.profile-proof h3 { margin:13px 0; font-family:var(--serif); font-size:clamp(1.7rem,3vw,3.2rem); font-weight:400; }
.profile-proof p { color:#c7d4dc; font-size:clamp(1rem,1.12vw,1.16rem); line-height:1.95; }
.profile-proof small { margin-top:20px; padding-top:14px; border-top:1px solid rgba(255,255,255,.16); color:#f3fbf9; }
.profile-honours { margin:clamp(64px,8vw,110px) 0 44px; }
.profile-honours__head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:24px; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.3); }
.profile-honours__head span { color:var(--teal); font-size:.66rem; font-weight:760; letter-spacing:.2em; }
.profile-honours__head h3 { margin:0; font-family:var(--serif); font-size:clamp(1.9rem,3.6vw,4rem); font-weight:400; }
.profile-honours__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.profile-honour { display:grid; grid-template-columns:160px minmax(0,1fr); min-height:190px; border:1px solid rgba(255,255,255,.16); background:rgba(7,14,22,.78); color:inherit; }
.profile-honour figure { display:grid; place-items:center; min-width:0; margin:0; padding:9px; border-right:1px solid rgba(255,255,255,.13); background:#d9d6ce; }
.profile-honour figure img { display:block; width:100%; height:auto; max-height:205px; object-fit:contain; }
.profile-honour--text { grid-template-columns:1fr; }
.profile-honour__copy { display:flex; flex-direction:column; justify-content:center; padding:20px; }
.profile-honour__copy span { color:var(--teal); font-size:.6rem; letter-spacing:.15em; }
.profile-honour__copy h4 { margin:9px 0 7px; font-family:var(--serif); font-size:clamp(1.1rem,1.55vw,1.5rem); font-weight:400; line-height:1.35; }
.profile-honour__copy p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.7; }
.profile-honour:hover { border-color:var(--teal); transform:translateY(-3px); }

.editorial-font-play { display:inline-block; transition:font-family .35s ease,font-weight .35s ease,letter-spacing .35s ease; }

/* Firefly section films are decorative layers; real screenshots and photos keep their own framing. */
.secskew .svid video { object-fit:cover !important; opacity:.9; }
.secskew .svid.is-ready { display:block; opacity:0 !important; transition:opacity 1.25s ease,transform 1.8s cubic-bezier(.2,.75,.2,1) !important; transform:scale(1.08) !important; }
section.block.media-in-view .secskew .svid.is-ready { opacity:.27 !important; transform:scale(1.02) !important; }
.secskew .simg { opacity:.11 !important; }

/* Each passage enters independently as the reader reaches it. */
body.motion-ready .scroll-reveal {
  opacity:0;
  transform:translateY(38px);
  transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
body.motion-ready .scroll-reveal.is-visible { opacity:1; transform:none; }
@keyframes section-film-breathe { 0%,100%{scale:1.01} 50%{scale:1.035} }
section.block.media-in-view .secskew .svid video { animation:section-film-breathe 11s ease-in-out infinite; }

@media (max-width:1100px) {
  .media-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .profile-biography { grid-template-columns:1fr; }
  .profile-biography p,.profile-biography p:first-child,.profile-biography p:last-child { padding:20px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .profile-biography p:last-child { border-bottom:0; }
  .profile-honours__grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .heroscroll { height:215vh !important; }
  #house { transform:scale(1.22); transform-origin:50% 49%; }
  .hero-signature { opacity:.34 !important; }
  .herotext { top:52% !important; width:calc(100% - 24px) !important; padding-top:54px !important; }
  .herotext .avatar { width:54px !important; height:54px !important; }
  .herotext h1 { font-size:clamp(2.65rem,14vw,4.2rem) !important; }
  .hero-social-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .hero-social-grid .social-card { min-height:78px !important; }
  .media-card-grid { grid-template-columns:1fr !important; }
  .unified-media-card { display:grid !important; grid-template-columns:minmax(120px,.42fr) minmax(0,.58fr) !important; }
  .unified-media-card figure { aspect-ratio:auto; min-height:150px; border-right:1px solid rgba(255,255,255,.12); border-bottom:0 !important; }
  .unified-media-copy p { display:none; }
  .recent-news-head { align-items:start; flex-direction:column; gap:7px; }
  .recent-news-row { grid-template-columns:76px minmax(0,1fr) 34px; gap:12px; min-height:86px; }
  .recent-news-row .nthumb { width:76px; height:52px; }
  .recent-news-date { display:none; }
  .recent-news-copy b { font-size:.8rem; }
  .profile-biography p { font-size:1rem; line-height:1.95; }
  .profile-proof { grid-template-columns:1fr; }
  .profile-proof figure { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .profile-honours__head { grid-template-columns:1fr; gap:7px; }
  .profile-honour { grid-template-columns:112px minmax(0,1fr); min-height:154px; }
  .profile-honour--text { grid-template-columns:1fr; }
  .profile-honour__copy { padding:15px; }
  #load .llabel { font-size:clamp(2.9rem,16vw,5.8rem) !important; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-signature__line { animation:none !important; }
  .herotext { opacity:1 !important; filter:none !important; --hero-rise:0px; }
  .secskew .svid { display:none !important; }
  body.motion-ready .scroll-reveal { opacity:1 !important; transform:none !important; filter:none !important; }
}

/* 2026-08-21 — pure-black, single-decoder background architecture. */
html,body { background:#000 !important; }
body { isolation:isolate; }
.hero { background:transparent !important; }
.site-atmosphere-film {
  z-index:0 !important;
  opacity:0 !important;
  filter:saturate(.9) contrast(1.06) brightness(.78) !important;
  transition:opacity .8s ease !important;
}
.site-atmosphere-film.is-ready { opacity:.5 !important; }
body>footer { position:relative; z-index:1; }
.secskew {
  background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.58)) !important;
}
.secskew .simg,.secskew .svid { display:none !important; }
.atmos { display:none !important; }
@media (max-width:760px) {
  .site-atmosphere-film.is-ready { opacity:.42 !important; }
}
@media (prefers-reduced-motion:reduce) {
  .site-atmosphere-film { display:none !important; }
}
