:root{
  --font-ui:'Space Grotesk','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --type-display-weight:400;
  --type-label-weight:500;
  --type-display-tracking:-.045em;
  --type-copy-tracking:-.012em;
  --type-ease:cubic-bezier(.16,1,.3,1);
}
html[lang^="zh"]{
  --font-ui:'PingFang TC','Microsoft JhengHei','Noto Sans TC','Space Grotesk',system-ui,sans-serif;
  --type-display-tracking:-.02em;
  --type-copy-tracking:0em;
}
body{
  font-family:var(--font-ui);font-weight:400;font-synthesis:none;
  font-kerning:normal;text-rendering:optimizeLegibility;
}
button,input,textarea,select{font:inherit}
.brand{font-family:var(--font-ui);font-size:16px;font-weight:500;letter-spacing:-.015em}
.lang{font-size:14px;letter-spacing:.02em;font-weight:400}
.station h1,.station h2,.portfolio-head h2,.endname{
  font-family:var(--font-ui);font-weight:var(--type-display-weight);
  letter-spacing:var(--type-display-tracking);line-height:1.02;
}
.station h1{font-size:clamp(62px,10.8vw,160px)}
.station h2{font-size:clamp(46px,8vw,116px)}
.portfolio-head h2{font-size:clamp(56px,8.5vw,132px)}
.eyebrow,.portfolio-kicker,.cue,.project-number,.enddesc,.endmeta,#railn{
  font-family:var(--font-ui);font-weight:var(--type-label-weight);
  font-size:12px;line-height:1.5;letter-spacing:.1em;
}
.eyebrow{margin-bottom:24px}
.portfolio-kicker{margin-bottom:20px}
.station .lede{
  max-width:44ch;font-size:clamp(16px,1.35vw,19px);font-weight:400;
  line-height:1.7;letter-spacing:var(--type-copy-tracking);color:rgba(20,22,26,.82);
  text-shadow:0 0 3px rgba(234,231,224,.8);
}
.station-about .lede{text-shadow:none}
.project h3{font-size:clamp(20px,1.8vw,26px);font-weight:400;line-height:1.25;letter-spacing:-.025em}
.project-number,#railn{font-variant-numeric:tabular-nums}
.project-tag{font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0}
.project-link{display:block;color:inherit}
.project-with-art .project-frame{background:#000}
.project-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;pointer-events:none}
.project-with-art .project-number,.project-with-art .project-tags{z-index:1}
.project-link:focus-visible{outline:2px solid #f3f2ee;outline-offset:6px;border-radius:16px}
.project-platform{margin-top:10px;font-size:12px;line-height:1.5;letter-spacing:.02em;color:#a7aaa9}
.development-copy>span{max-width:100%;font-size:clamp(26px,3.1vw,48px);font-weight:400;letter-spacing:var(--type-display-tracking);line-height:1.12}
.development-copy .word-clip,.development-copy .text-word{max-width:none;font:inherit;letter-spacing:inherit;color:inherit}
.endname{line-height:1.02}
.enddesc{font-size:12px;letter-spacing:.1em}
.endcontact{font-family:var(--font-ui);font-size:clamp(14px,1.5vw,18px);line-height:1.5;letter-spacing:-.01em;color:#14161a;border-bottom:1px solid rgba(20,22,26,.3);padding-bottom:3px;transition:border-color .3s var(--ease)}
.endcontact:hover{border-bottom-color:#14161a}
.endcontact:focus-visible{outline:2px solid #14161a;outline-offset:6px}
.endlinks{display:flex;flex-direction:column;align-items:flex-end;gap:12px;max-width:100%}
.end-custom{max-width:100%;font-size:16px;line-height:1.5;letter-spacing:-.01em;border-bottom:1px solid rgba(20,22,26,.3);padding-bottom:4px;transition:border-color .3s}
.end-custom:hover{border-bottom-color:#14161a}
.end-custom:focus-visible{outline:2px solid #14161a;outline-offset:6px}
.end-social{font-size:14px;line-height:1.5;letter-spacing:0;color:var(--steel);border-bottom:1px solid rgba(20,22,26,.3);padding-bottom:3px;transition:color .3s,border-color .3s}
.end-social:hover{color:#14161a;border-bottom-color:#14161a}
.end-social:focus-visible{outline:2px solid #14161a;outline-offset:6px}
.endmeta{font-size:11px;letter-spacing:.06em;line-height:1.6}
html[lang^="zh"] .station h1,html[lang^="zh"] .station h2,html[lang^="zh"] .portfolio-head h2{line-height:1.12}
html[lang^="zh"] .station .lede{line-height:1.8}
html[lang^="zh"] .eyebrow,html[lang^="zh"] .portfolio-kicker,html[lang^="zh"] .enddesc{letter-spacing:.08em}

                                                                                        
.word-clip{
  display:inline-block;overflow:hidden;vertical-align:bottom;
  padding:.12em 0 .2em;margin:-.12em 0 -.2em;line-height:inherit;
}
.text-word{display:inline-block;line-height:inherit;transform:none}
.js-words [data-word-reveal] .text-word{
  transform:translate3d(0,120%,0) rotate(2deg);
  transition:transform .28s var(--type-ease);transition-delay:0ms;
}
.js-words .station.text-in [data-word-reveal] .text-word,
.js-words [data-word-reveal].words-in .text-word{
  transform:translate3d(0,0,0) rotate(0);
  transition-duration:.85s;transition-delay:var(--word-delay,0ms);
}
[data-word-kind="body"] .text-word{transition-duration:.65s}
.js-words [data-word-kind="body"].words-in .text-word,
.js-words .station.text-in [data-word-kind="body"] .text-word{transition-duration:.7s}
@media(max-width:760px){
  .portfolio-head h2{font-size:clamp(44px,11vw,72px)}
  .eyebrow,.portfolio-kicker{font-size:11px;letter-spacing:.085em}
  .station .lede{font-size:16px;line-height:1.7}
  .project h3{font-size:22px}
  .development-copy>span{font-size:clamp(26px,9vw,40px)}
  .endmeta{font-size:11px;letter-spacing:.04em}
}
@media(max-width:720px){
  #endcard{padding:64px 5vw 32px;min-height:100svh}
  .endtop{align-items:flex-start;gap:36px}
  .endlinks{align-items:flex-start}
  .endmeta{margin-top:40px;gap:14px 24px}
}
@media(prefers-reduced-motion:reduce){
  .js-words [data-word-reveal] .text-word{
    transform:none!important;transition:none!important;
  }
}
