:root {
  --paper: #f2efe7;
  --ink: #282820;
  --muted: #79786b;
  --olive: #6d7862;
  --accent: #a5503d;
  --line: #ccc9bf;
  --serif: "SivSerif", "Songti SC", "STSongti-SC-Regular", STSong, "Iowan Old Style", Baskerville, Georgia, serif;
  --sans: Arial, "PingFang SC", sans-serif;
  --display: "Arial Black", "Helvetica Neue", Arial, "PingFang SC", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font: 14px/1.65 var(--sans);
}
* { box-sizing: border-box; }
body { margin: 0; }
html[lang^="zh"] body { font-family: var(--serif); }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
a { color: inherit; text-decoration: none; }
button {
  font: inherit;
  color: inherit;
  border: 0;
  background: none;
  cursor: pointer;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 6px;
}
@media (hover: none) and (pointer: coarse) {
  a, button, [role="button"] { -webkit-tap-highlight-color: transparent; }
  a:focus:not(:focus-visible), button:focus:not(:focus-visible), [role="button"]:focus:not(:focus-visible) { outline: 0; box-shadow: none; }
}
h1, h2, h3, p { margin: 0; }
img { display: block; max-width: 100%; }
.siv-offscreen, .siv-offscreen * { animation-play-state: paused !important; }
html.siv-page-hidden *, html.siv-page-hidden *::before, html.siv-page-hidden *::after { animation-play-state: paused !important; }

header {
  position: relative;
  height: 88px;
  margin: 0 4.5%;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.identity { display: flex; gap: 20px; align-items: center; }
.monogram { font: 34px var(--serif); letter-spacing: -0.08em; }
.name { font-size: 11px; line-height: 1.5; }
.name small {
  display: block;
  font-size: 8px;
  letter-spacing: 0.12em;
  color: var(--muted);
}
nav {
  display: flex;
  align-items: center;
  gap: 27px;
  font-size: 11px;
}
nav a[aria-current] { color: var(--accent); }
.contact-link {
  border: 1px solid var(--ink);
  border-radius: 40px;
  padding: 7px 19px;
}
.language {
  display: flex;
  align-items: center;
  gap: 4px;
  border-left: 1px solid var(--line);
  padding-left: 18px;
  font-size: 10px;
}
.language button {
  padding: 5px;
  min-width: 36px;
  min-height: 36px;
  color: var(--muted);
}
.language button[aria-pressed="true"] {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.menu { display: none; }
.study-label {
  padding: 16px 4.5% 0;
  font-size: 9px;
  letter-spacing: 0.05em;
  color: var(--muted);
}

.opening {
  padding: 52px 4.5% 70px;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  align-items: center;
  gap: 6%;
}
.eyebrow {
  font-size: 9px;
  letter-spacing: 0.14em;
  color: var(--muted);
}
h1 {
  font: clamp(40px, 5vw, 74px) / 1.2 var(--serif);
  letter-spacing: -0.035em;
  margin: 24px 0;
}
h1 em { font-weight: 400; color: var(--olive); }
.opening-copy { max-width: 350px; font-size: 12px; line-height: 1.9; }
.entry-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 35px;
  font-size: 11px;
}
.line-link {
  border-bottom: 1px solid var(--ink);
  padding-bottom: 5px;
}
.model-shot { margin: 0; position: relative; }
.model-shot img {
  width: 100%;
  aspect-ratio: 1.28;
  object-fit: cover;
  mix-blend-mode: multiply;
}
.model-shot figcaption {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  font-size: 8px;
  color: var(--muted);
}

.sequence {
  margin: 0 4.5% 100px;
  padding: 20px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.sequence b {
  display: block;
  font: 18px var(--serif);
  font-weight: 400;
  margin: 8px 0;
}
.sequence small { font-size: 10px; color: var(--muted); }

.selected { overflow: hidden; padding: 46px 0 76px; }
.selected-kicker { display:flex; justify-content:space-between; padding:0 4.5%; margin-bottom:20px; }
.section-head h1 { font:clamp(32px,4vw,58px)/1.2 var(--serif); letter-spacing:-.04em; margin:0; }
.archive-intro { margin-top:24px; max-width:560px; font-size:12px; color:var(--muted); }
.about-section { padding:55px 0 90px; margin:0 4.5%; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; gap:35px; }
.about-section h2 { font:clamp(30px,3vw,44px)/1.35 var(--serif); max-width:650px; }
.about-section p:not(.eyebrow) { max-width:530px; font-size:13px; line-height:1.9; margin:26px 0; }
.about-links { display:flex; gap:28px; font-size:12px; }
.no-script-index { display:flex; flex-wrap:wrap; justify-content:center; gap:30px; }
.intro-notice { margin:20px 4.5%; font-size:12px; color:var(--muted); }
.access-skip { position:fixed; left:20px; top:-80px; z-index:100; background:var(--paper); padding:12px; }
.access-skip:focus { top:20px; }
.section-head {
  padding: 0 4.5%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
}
.section-head h2 {
  font: clamp(32px, 4vw, 58px) / 1.2 var(--serif);
  letter-spacing: -0.04em;
}
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.welcome { min-height:calc(100svh - 88px); padding:18px 4.5% 16px; display:flex; flex-direction:column; position:relative; background:var(--paper); overflow:hidden; }
.welcome::before { content:""; position:absolute; inset:50% 0 auto; border-top:1px solid #28282018; z-index:0; }
.welcome-top,.welcome-bottom { min-height:25px; position:relative; z-index:3; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; font-size:9px; letter-spacing:.11em; }
.welcome-top span:nth-child(2),.welcome-bottom > :nth-child(2) { justify-self:center; }
.welcome-top span:last-child,.welcome-bottom > :last-child { justify-self:end; }
.welcome-title { position:relative; z-index:2; margin:clamp(10px,2svh,25px) 0 0; font:900 clamp(68px,13.2vw,215px)/.72 var(--display); letter-spacing:-.085em; text-transform:uppercase; }
.welcome-title span { display:block; white-space:nowrap; }
.welcome-title span:first-child { transform:translateX(-.012em); }
.welcome-title span:last-child { text-align:right; color:var(--olive); transform:translateX(.02em); }
.welcome-editorial { position:relative; z-index:1; flex:1; min-height:235px; display:grid; grid-template-columns:.72fr 1.7fr .62fr; gap:4%; align-items:end; margin-top:clamp(-18px,-1.4vw,-8px); padding-bottom:14px; }
.welcome-statement { align-self:center; padding-top:30px; border-top:1px solid var(--ink); }
.welcome-statement b { font:800 clamp(17px,1.8vw,28px)/.93 var(--display); letter-spacing:-.055em; }
.welcome-statement p { margin-top:22px; max-width:250px; font-size:11px; line-height:1.75; color:var(--muted); }
.welcome-visual { position:relative; align-self:stretch; display:flex; align-items:center; justify-content:center; margin:0; perspective:1400px; }
.welcome-visual::before { content:""; position:absolute; inset:12% 5% 5%; background:var(--accent); opacity:.08; transform:rotate(-2deg); }
.welcome-visual img { position:relative; width:min(100%,820px); max-height:31svh; object-fit:contain; mix-blend-mode:multiply; transform:rotateY(-7deg) rotateZ(-1.4deg); filter:contrast(1.02); }
.welcome-visual figcaption { position:absolute; right:4%; bottom:4%; font-size:8px; letter-spacing:.12em; writing-mode:vertical-rl; }
.welcome-count { align-self:center; border-block:1px solid var(--ink); padding:12px 0 16px; display:grid; grid-template-columns:1fr auto; align-items:end; }
.welcome-count small { grid-column:1/-1; font-size:8px; letter-spacing:.12em; }
.welcome-count strong { font:900 clamp(48px,6vw,92px)/.85 var(--display); letter-spacing:-.07em; }
.welcome-count span { max-width:64px; font-size:10px; line-height:1.35; }
.welcome-bottom { border-top:1px solid var(--line); padding-top:11px; }
.welcome-scroll { display:flex; align-items:center; gap:9px; }
.welcome-scroll i { font-style:normal; font-size:17px; color:var(--accent); }
.selected-heading { margin:0 4.5%; padding:20px 0 24px; border-block:1px solid var(--ink); display:grid; grid-template-columns:.35fr 1.9fr .9fr; gap:4%; align-items:end; }
.selected-heading-index { align-self:start; font-size:10px; letter-spacing:.12em; }
.selected-heading h2 { font:900 clamp(64px,10vw,156px)/.72 var(--display); letter-spacing:-.085em; }
.selected-heading > div { padding-top:20px; border-top:1px solid var(--line); }
.selected-heading > div p { font-size:11px; line-height:1.85; max-width:330px; }
.selected-heading > div a { display:inline-block; margin-top:24px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:10px; }
.folio-colophon { margin:0 4.5% 70px; border-top:1px solid var(--line); padding-top:50px; }
.folio-colophon img { width:min(780px,85%); margin:auto; mix-blend-mode:multiply; }
.folio-preview { width:min(1440px,96vw); max-height:92svh; padding:20px; border:1px solid var(--line); background:var(--paper); color:var(--ink); overflow:auto; }
.folio-preview::backdrop { background:#282820bf; }
.folio-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:0 0 15px; }
.folio-preview-bar h2 { font:22px var(--serif); }
.folio-preview-bar p { color:var(--muted); font-size:11px; margin-top:8px; }
.folio-preview-bar button { width:44px; height:44px; flex-shrink:0; font-size:28px; }
.folio-preview img { width:100%; height:auto; }
body:has(.folio-preview[open]) { overflow:hidden; }
.section-head a { font-size: 10px; }

.arc {
  height: clamp(360px,43vw,650px);
  max-width: 1680px;
  margin: 2px auto 0;
  position: relative;
  perspective: 1400px;
  touch-action: pan-y;
  cursor: grab;
}
.arc.is-dragging { cursor: grabbing; }
.work-card {
  position: absolute;
  left: 50%;
  top: 42px;
  width: min(58vw, 900px);
  aspect-ratio: 16 / 9;
  height: auto;
  margin-left: max(-29vw, -450px);
  padding: 0;
  overflow: hidden;
  transition: transform 0.42s cubic-bezier(0.2, 0.65, 0.2, 1), opacity 0.3s;
  transform: translateX(calc(var(--offset) * 78%)) translateY(calc(var(--side) * 58px + (1 - var(--arrival,1)) * 35px)) rotateY(calc(var(--offset) * -18deg)) scale(var(--scale));
  opacity: var(--opacity);
  z-index: var(--z);
  box-shadow: 0 20px 40px #28282012;
  background: #e3e2d8;
}
.work-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.work-card[data-offscreen="true"] {
  visibility: hidden;
  pointer-events: none;
}
.card-number {
  position: absolute;
  top: 17px;
  left: 21px;
  color: white;
  font-size: 11px;
  mix-blend-mode: difference;
  z-index: 1;
}
.card-arrow {
  position: absolute;
  bottom: 20px;
  right: 25px;
  color: white;
  font-size: 24px;
  mix-blend-mode: difference;
}

.work-meta {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: 32px;
  align-items: start;
  margin: 0 4.5%;
  padding:24px 0;
  border-block:1px solid var(--line);
  min-height: 130px;
}
.work-meta h3 { font:800 clamp(28px,3vw,48px)/1 var(--display); letter-spacing:-.055em; margin:12px 0; }
.work-meta p { font-size: 11px; max-width: 320px; color: #69695e; }
.work-meta > a { font-size: 11px; white-space: nowrap; }
.project-role {
  display: block;
  margin-top: 10px;
  font-size: 9px;
  letter-spacing: 0.04em;
  color: #89877d;
}
.work-controls { display: flex; gap: 8px; margin-top: 15px; }
.work-controls button {
  font-size: 20px;
  min-width: 40px;
  min-height: 36px;
  border: 1px solid var(--line);
}

.project-index {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin: 26px 4.5% 0;
  border-top: 1px solid var(--ink);
}
.project-index button {
  padding: 12px 10px 12px 0;
  font-size: 11px;
  border-bottom: 1px solid var(--line);
  text-align:left;
}
.project-index button[aria-pressed="true"] {
  border-color: var(--ink);
  color: var(--accent);
  font-weight:700;
}
.project-index small {
  font-size: 8px;
  color: var(--muted);
  margin-right: 10px;
}
.work-hint {
  text-align: center;
  font-size: 9px;
  color: #8c897e;
  margin: 19px 6% 0;
}

.photography {
  margin: 50px 4.5% 110px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  gap: 8%;
  border-top: 1px solid var(--line);
  padding-top: 70px;
}
.photography img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.photography h2 { font: 50px / 1.25 var(--serif); margin: 20px 0; }
.photography p:not(.eyebrow) {
  max-width: 330px;
  font-size: 12px;
  line-height: 1.9;
  margin: 22px 0;
}

.archive { padding: 0 4.5% 100px; }
.archive-list { margin-top: 35px; border-top: 1px solid var(--line); }
.archive-list a {
  display: grid;
  grid-template-columns: .4fr 170px 2fr 2fr auto;
  gap: 30px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.archive-list small { font-size: 9px; color: var(--muted); }
.archive-list b { font: 27px var(--serif); font-weight: 400; }
.archive-list span { font-size: 11px; color: var(--muted); }
.archive-thumb {
  width: 170px;
  height: 110px;
  object-fit: cover;
}

footer {
  background: var(--ink);
  color: #f2efe7;
  padding: 70px 4.5% 30px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.footer-top h2 {
  font: 42px / 1.3 var(--serif);
  max-width: 600px;
}
.footer-top a { align-self: end; font-size: 13px; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  opacity: 0.65;
  margin-top: 70px;
}
.spec-note {
  margin: 18px 4.5% 40px;
  font-size: 10px;
  color: var(--muted);
}

@media (max-width: 1000px) {
  nav { gap: 17px; }
  .name small { display: none; }
  .opening { gap: 2%; }
  .arc { height: 43vw; min-height:340px; }
  .work-meta { margin: 0 10%; }
  .sequence { gap: 14px; }
  .photography h2 { font-size: 40px; }
  .archive-list a { gap: 20px; grid-template-columns: .3fr 125px 2fr 1fr auto; }
  .archive-thumb { width: 125px; height: 85px; }
}

@media (max-width: 700px) {
  .intro-notice:not([hidden]) {
    position: fixed;
    z-index: 90;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    left: 18px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid rgba(86,75,62,.24);
    background: rgba(244,240,232,.96);
    box-shadow: 0 10px 28px rgba(28,24,19,.12);
    font-size: 10px;
    line-height: 1.6;
  }
  .welcome { min-height:calc(100svh - 76px); padding-top:16px; }
  .welcome-top { grid-template-columns:1fr auto; }
  .welcome-top span:nth-child(2) { display:none; }
  .welcome-title { font-size:18.7vw; line-height:.77; margin-top:24px; }
  .welcome-editorial { flex:1; min-height:0; grid-template-columns:1fr .42fr; gap:18px; margin-top:10px; }
  .welcome-statement { display:none; }
  .welcome-visual { min-height:210px; align-self:center; }
  .welcome-visual img { width:100%; max-height:33svh; transform:rotateZ(-1.5deg); }
  .welcome-count { align-self:center; }
  .welcome-count strong { font-size:52px; }
  .welcome-bottom { grid-template-columns:1fr auto; }
  .welcome-bottom > span:last-child { display:none; }
  .welcome-scroll { justify-self:end!important; }
  .selected-heading { grid-template-columns:1fr; gap:14px; padding-block:18px 25px; }
  .selected-heading-index { display:none; }
  .selected-heading h2 { font-size:19vw; }
  .selected-heading > div { display:grid; grid-template-columns:1fr auto; align-items:end; gap:15px; }
  .selected-heading > div a { white-space:nowrap; }
  .folio-colophon { margin-bottom:40px; }
  .folio-colophon img { width:100%; }
  .folio-preview { padding:12px; }
  .selected { padding-top:30px; }
  .selected-kicker { gap:16px; }
  .selected-kicker .eyebrow { font-size:8px; }
  .section-head h1 { font-size:35px; }
  .about-section { display:block; padding-bottom:55px; }
  .about-section > .eyebrow { margin-bottom:24px; }
  .archive .section-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .footer-bottom { gap:20px; flex-wrap:wrap; align-items:center; }
  .footer-bottom button { padding:10px 0; }
  header { height: 76px; }
  .menu { display: block; font-size: 11px; }
  .identity { gap: 12px; }
  .name { font-size: 10px; }
  nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 76px;
    z-index: 20;
    padding: 25px 6%;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
  }
  nav.is-open { display: flex; }
  .language { margin-left: auto; border: 0; }
  .top-tools { display: flex; gap: 15px; align-items: center; }
  .opening {
    display: flex;
    flex-direction: column;
    padding-top: 35px;
    gap: 24px;
    align-items: stretch;
  }
  h1 { font-size: 46px; margin: 20px 0; }
  .opening-copy { max-width: 100%; }
  .model-shot img { aspect-ratio: 1.4; }
  .sequence {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 70px;
  }
  .section-head h2 { font-size: 35px; }
  .arc { height:calc(51vw + 70px); min-height:245px; margin-top: 20px; }
  .work-card {
    top: 20px;
    width: 88vw;
    height: auto;
    margin-left: -44vw;
    transform: translateX(calc(var(--offset) * 106%)) scale(var(--scale));
  }
  .work-meta {
    margin: 0 6%;
    grid-template-columns: 1fr auto;
    gap: 14px;
    min-height: 170px;
  }
  .work-meta > div:nth-child(2) { grid-column: 1; grid-row: 2; }
  .work-meta > a { grid-row: 1; grid-column: 2; }
  .work-meta h3 { font-size: 26px; }
  .project-index { grid-template-columns:1fr 1fr; }
  .project-index small { display: inline; }
  .project-index button { font-size: 10px; }
  .photography {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin-bottom: 70px;
    padding-top: 45px;
  }
  .photography h2 { font-size: 39px; }
  .photography p:not(.eyebrow) { max-width: none; }
  .archive-list a {
    grid-template-columns: 80px 1fr auto;
    gap: 12px;
  }
  .archive-list small,
  .archive-list span { display: none; }
  .archive-thumb { width: 80px; height: 65px; }
  .archive-list b { font-size: 24px; }
  .footer-top { display: block; }
  .footer-top h2 { font-size: 32px; margin-bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .work-card { transition: none; }
  .arc { --arrival:1!important; }
}
@media (max-height:550px) and (min-width:701px) {
  .welcome { min-height:550px; }
  .welcome-title { font-size:105px; }
  .welcome-visual img { max-height:190px; }
}

/* Train portal landing — the rest of the portfolio remains unchanged. */
.train-home > header {
  position:absolute;inset:0 0 auto;z-index:12;height:88px;margin:0 3%;padding:0 0;
  color:#f3eee4;border-bottom-color:#f3eee426;text-shadow:0 1px 14px #0008;
}
.train-home > header .name small,.train-home > header nav a:not([aria-current]),.train-home > header .language button{color:#f3eee4b5}
.train-home > header nav a[aria-current]{color:#f3eee4}.train-home > header .contact-link{border-color:#f3eee48a}
.train-home > header .language{border-left-color:#f3eee43d}.train-home > header .language button[aria-pressed="true"]{color:#f3eee4}
.train-welcome{position:relative;min-height:100svh;padding:0;background:#070a0a;color:#f3eee4;overflow:hidden;isolation:isolate}
.train-welcome::before{display:none}
.train-welcome-media{position:absolute;inset:0;margin:0;z-index:-2;overflow:hidden;background:#050707}
.train-welcome-media img{position:relative;z-index:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;transform:none;filter:saturate(.94) contrast(1.04) brightness(.86);mix-blend-mode:normal;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.train-welcome-media.is-handoff-active>img{transform:scale(1.006)}
.train-welcome-media.is-hero-stable>img{transform:none}
.train-welcome-media span{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,#02050510 0 41%,#02050563 58%,#020505d1 100%),linear-gradient(0deg,#02050577 0,transparent 30%)}
.train-welcome-copy{position:absolute;z-index:4;right:7.2%;top:21%;width:min(47vw,760px);max-width:93.6vw;display:flex;flex-direction:column;align-items:flex-start}
.train-disciplines{font-size:10px;letter-spacing:.34em;color:#f3eee4b5;margin:0 0 clamp(20px,4vh,48px)}
@property --title-ink-alpha{syntax:"<number>";inherits:true;initial-value:0}
@property --title-ink-mid{syntax:"<number>";inherits:true;initial-value:0}
@property --title-ink-outer{syntax:"<number>";inherits:true;initial-value:0}
.train-title{--title-ink-alpha:0;--title-ink-mid:0;--title-ink-outer:0;position:relative;display:flow-root;isolation:isolate;width:max-content;max-width:none;margin:0;font:400 clamp(78px,9.7vw,160px)/.77 Didot,"Bodoni 72",var(--serif);letter-spacing:-.075em;text-transform:uppercase;color:#f3eee4;cursor:crosshair}
.train-title-base,.train-title-ink{display:block;width:max-content;max-width:none;white-space:nowrap}
.train-title-base{margin:-.2em 0 0;padding-block-start:.2em;overflow:visible;color:transparent;-webkit-text-fill-color:transparent;background:radial-gradient(ellipse 156px 124px at var(--ink-x,50%) calc(var(--ink-y,50%) + .2em),rgb(165 80 61/var(--title-ink-alpha)) 0 24%,rgb(165 80 61/var(--title-ink-mid)) 46%,rgb(210 154 134/var(--title-ink-outer)) 64%,transparent 84%),linear-gradient(#f3eee4,#f3eee4);-webkit-background-clip:text;background-clip:text;transition:--title-ink-alpha .28s ease,--title-ink-mid .28s ease,--title-ink-outer .28s ease}
.train-title-line{display:block;opacity:0;transform:translateY(48px);animation:train-title-in .92s cubic-bezier(.2,.7,.18,1) both}
.train-title-line:nth-child(2){animation-delay:.12s}
.intro-pending .train-title-line,.intro-running .train-title-line,.hero-handoff .train-title-line{animation:none;opacity:0;transform:translateY(48px)}
html.hero-visible .train-title-line{animation:none!important;opacity:1!important;transform:none!important}
.train-title-ink{display:none}
.train-title.is-hovering{--title-ink-alpha:1;--title-ink-mid:.91;--title-ink-outer:.72}
.train-welcome-lower{width:100%;margin-top:clamp(28px,5vh,60px);display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center;border-top:1px solid #f3eee433;padding-top:18px}
.train-welcome-lower>p{max-width:360px;font:16px/1.55 var(--serif);color:#f3eee4cf}
.train-enter{justify-self:end;display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.train-enter i{display:grid;place-items:center;width:58px;height:58px;border:1px solid #f3eee46b;border-radius:50%;font:21px var(--sans);transition:background .25s,color .25s,transform .25s}
.train-enter:hover i{background:#f3eee4;color:#17110e;transform:translateX(4px)}
.train-welcome-footer{position:absolute;z-index:2;left:3%;right:3%;bottom:3.3%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.25em;color:#f3eee4bd}
.train-welcome-footer span:last-child{display:flex;align-items:center;gap:11px}.train-welcome-footer i{width:8px;height:8px;border-radius:50%;background:#a5503d}
@keyframes train-title-in{to{opacity:1;transform:translateY(0)}}

@media(max-width:700px){
  .train-home > header{height:76px;margin:0 5%}.train-home > header nav{background:#070a0af2;color:#f3eee4;border-bottom-color:#f3eee426}
  .train-welcome{min-height:100svh}.train-welcome-media img{object-position:42% center}.train-welcome-media span{background:linear-gradient(0deg,#020505ed 0,#02050548 60%,#02050526 100%)}
  .train-welcome-copy{left:6%;right:6%;top:auto;bottom:13%;width:auto}.train-disciplines{font-size:8px;margin-bottom:18px;letter-spacing:.24em}
  .train-title{width:100%;max-width:100%;font-size:clamp(52px,16.5vw,70px);line-height:.8;letter-spacing:-.065em}.train-title-base,.train-title-ink{width:100%;max-width:100%;white-space:normal}.train-title-line{width:100%}.train-welcome-lower{margin-top:24px;grid-template-columns:1fr auto;gap:14px}.train-welcome-lower>p{font-size:13px;line-height:1.45}
  .train-enter span{display:none}.train-enter i{width:48px;height:48px}.train-welcome-footer{left:6%;right:6%;bottom:4%;font-size:7px}.train-welcome-footer span:first-child{display:none}
}
@media(max-width:700px){html.hero-visible .train-title-line{animation:none!important;opacity:1!important;transform:none!important}}
@media(max-width:700px){
  .contact-link,.endcredits-controls button,.endcredits-controls a,.intro-skip{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  #siteContent>section:not(#welcome){content-visibility:auto;contain-intrinsic-size:100svh}
}
@media(prefers-reduced-motion:reduce){.train-title-line,.intro-pending .train-title-line,.intro-running .train-title-line{animation:none;opacity:1;transform:none}.hero-handoff .train-title-line{opacity:0}.train-title-base{transition:none}}
