/* Speci⁺ v2.2 — exhibition interface */
:root{
--ink-100:#0a0a0a;
--paper-100:#f3f2ee;
--white:#fff;
--silver-60:#a7a9ac;
--silver-30:#d3d4d2;
--graphite:#2b2d2f;
--focus:#3b6cff;
--muted:#626461;
--gutter:clamp(24px,4.5vw,88px);
--display:'Archivo Condensed','Arial Narrow',sans-serif;
--body:'Noto Sans TC',sans-serif
}

*{
box-sizing:border-box
}
html{
scroll-behavior:smooth;
scroll-padding-top:100px
}
body{
margin:0;
background:var(--paper-100);
color:var(--ink-100);
font:400 16px/1.8 var(--body)
}
h1,h2,h3,h4,p,figure,blockquote{
margin:0
}
h1,h2,h3,h4{
font-weight:600;
line-height:1.3
}
h2{
font-size:clamp(32px,3.8vw,60px);
letter-spacing:-.04em
}
a{
color:inherit;
text-decoration:none
}
button{
font:inherit;
color:inherit;
cursor:pointer
}
img{
display:block;
max-width:100%
}
a,button,summary{
-webkit-tap-highlight-color:transparent
}
a:hover{
text-decoration:underline;
text-underline-offset:5px
}
button:focus-visible,a:focus-visible,summary:focus-visible{
outline:3px solid var(--focus);
outline-offset:5px
}
::selection{
background:var(--ink-100);
color:var(--paper-100)
}
section{
scroll-margin-top:85px
}
main:focus{
outline:none
}
.skip-link{
position:fixed;
top:-100px;
left:16px;
z-index:100;
padding:12px 24px;
background:var(--paper-100);
color:var(--ink-100)
}
.skip-link:focus{
top:12px
}
.eyebrow{
font:600 13px/1.5 var(--display);
letter-spacing:.12em
}
.section-top{
display:flex;
justify-content:space-between;
gap:24px;
margin-bottom:64px;
padding-bottom:16px;
border-bottom:1px solid currentColor
}
.section-top>p:last-child{
font-size:12px
}
.anchor-alias{
position:absolute
}
.mobile-only{
display:none
}
.text-link{
display:inline-flex;
min-height:44px;
align-items:center;
padding:12px 0;
border-bottom:1px solid currentColor;
font-size:14px;
font-weight:600
}
.status-note{
font-size:13px;
line-height:1.9;
color:var(--muted);
margin-top:24px
}
.split-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:10%;
align-items:start
}
.split-layout>div>p{
max-width:38em
}
.reveal{
opacity:1;
transform:none
}

/* Navigation stays visible and is equally available without JavaScript. */
.site-header{
position:sticky;
top:0;
z-index:20;
background:var(--paper-100);
border-bottom:1px solid var(--silver-30)
}
.site-nav{
height:84px;
max-width:1792px;
margin:auto;
padding:0 var(--gutter);
display:flex;
align-items:center;
justify-content:space-between;
gap:24px
}
.nav-logo{
font:700 34px/1 var(--display);
letter-spacing:-.04em;
display:flex;
align-items:center;
gap:1px
}
.nav-logo>span{
align-self:flex-start;
font-size:26px
}
.nav-logo>small{
font:600 12px var(--body);
letter-spacing:.08em;
margin-left:16px
}
.nav-menu-links{
display:flex;
gap:30px
}
.nav-menu-links>a{
display:flex;
align-items:center;
gap:8px;
font:600 14px var(--display);
letter-spacing:.025em;
min-height:44px
}
.nav-menu-links>a>span{
font-size:10px;
align-self:center;
color:var(--muted)
}
.nav-menu-links small{
font:400 11px var(--body)
}
.nav-menu-bottom{
display:none
}
.menu-button{
display:none;
background:none;
border:0;
padding:12px 0;
min-height:44px;
font:600 14px var(--display);
gap:14px
}

/* 00 / ENTER — split display lettering, stable exhibition coordinates. */
.enter-section{
max-width:1792px;
margin:auto;
padding:32px var(--gutter) 24px;
min-height:calc(100svh - 84px);
display:flex;
flex-direction:column
}
.hero-topline{
display:flex;
justify-content:space-between;
gap:20px;
font-size:12px
}
.hero-topline>p:last-child{
font:400 12px var(--display);
letter-spacing:.1em
}
.hero-title{
display:flex;
justify-content:space-between;
align-items:end;
border-bottom:1px solid var(--ink-100);
padding:30px 0 36px;
position:relative
}
.hero-title h1{
display:flex;
flex-direction:column
}
.hero-latin{
font:600 clamp(96px,15vw,220px)/.84 var(--display);
letter-spacing:-.065em;
display:block;
animation:recompose .7s ease-out both
}
.hero-latin sup{
font-size:.53em;
vertical-align:top;
line-height:1
}
.hero-chinese{
display:block;
font:600 clamp(42px,5.6vw,86px)/1.15 var(--body);
letter-spacing:.025em;
margin-left:clamp(32px,7vw,100px);
margin-top:20px
}
.hero-mark{
width:190px;
height:190px;
position:relative;
border:1px solid var(--silver-60);
display:flex;
align-items:end;
justify-content:space-between;
padding:16px
}
.hero-mark:before,.hero-mark:after{
content:'';
position:absolute;
border:1px solid var(--silver-60);
width:66%;
height:66%;
border-radius:50%;
top:8%;
left:8%
}
.hero-mark:after{
width:42%;
height:42%;
top:25%;
left:39%;
background:var(--paper-100)
}
.hero-mark>span{
font:400 38px var(--display);
z-index:1
}
.hero-mark small{
font:400 10px/1.4 var(--display);
z-index:1;
letter-spacing:.1em
}
.hero-bottom{
display:grid;
grid-template-columns:1.35fr 1fr;
gap:12%;
padding:32px 0;
flex:1;
align-items:center
}
.hero-intro h2{
font-size:clamp(22px,2.1vw,32px);
letter-spacing:0;
line-height:1.5
}
.hero-intro>p{
max-width:39em;
font-size:14px;
margin-top:18px;
color:var(--muted);
line-height:1.9
}
.hero-exhibitions{
display:grid;
grid-template-columns:1fr 1fr;
gap:26px
}
.coordinate-date{
font:600 clamp(23px,2.2vw,34px)/1.15 var(--display);
margin:14px 0 12px;
white-space:nowrap;
letter-spacing:-.02em
}
.coordinate>p:last-child{
font-size:13px;
line-height:1.6
}
.coordinate .eyebrow{
font-size:10px;
letter-spacing:.05em
}
.hero-cta-row{
display:flex;
gap:24px;
margin-top:26px
}
.hero-cta-row>a{
display:flex;
flex-direction:column;
justify-content:center;
padding:12px 20px;
min-height:64px;
gap:3px;
font:600 13px var(--display);
letter-spacing:.05em;
border:1px solid var(--ink-100)
}
.hero-cta-row>a>span{
font:400 12px var(--body);
letter-spacing:0
}
.primary-link{
background:var(--ink-100);
color:var(--paper-100)
}
.hero-cta-row>a:hover{
text-decoration:none;
background:var(--graphite);
color:var(--white)
}
.hero-baseline{
display:flex;
justify-content:space-between;
padding-top:16px;
border-top:1px solid var(--silver-30);
font:400 11px var(--display);
letter-spacing:.12em
}
.hero-baseline>span{
font:400 11px var(--body);
letter-spacing:.16em
}

/* 01 / STORY — continuous asymmetric editorial chapters. */
.story{
padding:160px var(--gutter) 100px;
background:var(--ink-100);
color:var(--paper-100)
}
.story>.section-top,.story-chapter{
max-width:1600px;
margin-left:auto;
margin-right:auto
}
.story-chapter{
display:grid;
grid-template-columns:7fr 5fr;
gap:8%;
align-items:center;
padding:72px 0 100px;
border-bottom:1px solid #373737
}
.story-chapter:last-child{
border-bottom:0;
padding-bottom:0
}
.story-chapter:nth-child(odd){
grid-template-columns:5fr 7fr
}
.story-chapter:nth-child(odd)>.chapter-copy{
order:2
}
.chapter-copy>.eyebrow{
color:var(--silver-60);
margin-bottom:28px;
font-size:12px
}
.chapter-copy h2{
font-size:clamp(28px,3vw,46px);
line-height:1.5
}
.story-body{
font-size:17px;
color:var(--silver-30);
line-height:1.9;
max-width:36em;
margin-top:30px
}
.story-close{
font-size:14px;
border-left:1px solid var(--silver-60);
padding-left:18px;
margin-top:28px;
max-width:38em
}
.concept-visual{
min-width:0;
position:relative;
aspect-ratio:1.2;
display:flex;
flex-direction:column;
justify-content:center;
border-top:1px solid #414141;
border-bottom:1px solid #414141
}
.concept-visual figcaption{
font:400 10px var(--display);
letter-spacing:.13em;
padding:14px 0;
color:var(--silver-60)
}
.specimen-field{
position:relative;
display:grid;
grid-template-columns:repeat(6,1fr);
gap:14px;
padding:30px 0;
flex:1;
align-items:center
}
.specimen-field>span{
display:block;
aspect-ratio:1;
border:1px solid #777;
border-radius:50%;
background:radial-gradient(circle at 35% 30%,#c5c5c5 0%,#656565 18%,#232323 48%,#444 65%,#080808 74%);
opacity:calc(.22 + var(--n)*.022);
transform:scale(.85)
}
.field-1>span:nth-child(3n){
border-radius:22% 68% 32% 56%;
transform:rotate(30deg) scale(.9)
}
.field-2>span{
border-radius:35% 55% 35% 65%;
opacity:.55
}
.selection-frame{
position:absolute;
left:32%;
top:24%;
width:34%;
height:49%;
border:1px solid var(--paper-100);
box-shadow:0 0 0 8px #0a0a0a88
}
.selection-frame:after{
content:'+';
position:absolute;
right:-7px;
bottom:-17px;
font:26px var(--display)
}
.word-specimen{
position:relative;
flex:1;
display:flex;
justify-content:center;
flex-direction:column;
font:600 clamp(44px,6vw,100px)/.95 var(--display);
letter-spacing:-.035em
}
.word-specimen>span:nth-child(2){
font-size:.56em;
margin-left:16%;
color:var(--silver-60)
}
.word-specimen>b{
position:absolute;
right:4%;
top:20%;
font-size:1.8em;
font-weight:400
}
.acts-visual{
display:flex;
flex-direction:column;
gap:12px;
flex:1;
justify-content:center
}
.acts-visual>span{
font:400 clamp(19px,2.2vw,30px) var(--display);
letter-spacing:.04em;
border-bottom:1px solid #383838;
padding:8px;
display:flex;
gap:30px
}
.acts-visual b{
font-size:12px;
color:var(--silver-60);
font-weight:400;
align-self:center
}
.sample-visual{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
padding:24px 0;
flex:1;
align-content:center
}
.sample-visual>span{
position:relative
}
.sample-visual img{
width:100%;
aspect-ratio:1;
object-fit:contain;
background:#f3f2ee
}
.sample-visual small{
position:absolute;
bottom:0;
right:0;
padding:0 4px;
background:var(--ink-100);
font:12px var(--display)
}

/* 02 / PROJECTS — names visible before any interaction. */
.works-section{
padding:160px var(--gutter);
position:relative
}
.works-heading{
display:grid;
grid-template-columns:7fr 5fr;
gap:8%;
align-items:end;
margin-bottom:64px
}
.works-heading>p{
font-size:16px;
color:var(--muted);
max-width:30em
}
.project-index{
list-style:none;
padding:0;
margin:0;
border-top:1px solid var(--ink-100)
}
.project-index-row{
border-bottom:1px solid var(--silver-60)
}
.project-index-row summary{
list-style:none;
display:grid;
grid-template-columns:64px minmax(0,1.3fr) minmax(0,1fr) 32px;
gap:24px;
align-items:center;
padding:26px 12px;
cursor:pointer;
transition:background .2s,color .2s
}
.project-index-row summary::-webkit-details-marker{
display:none
}
.project-index-row summary:hover,.project-index-row summary:focus-visible,.project-index-row details[open]>summary{
background:var(--ink-100);
color:var(--paper-100)
}
.pi-num{
font:400 15px var(--display);
letter-spacing:.04em
}
.pi-name{
font-size:clamp(19px,2vw,28px);
font-weight:600;
line-height:1.4;
overflow-wrap:anywhere
}
.pi-tag{
font-size:13px;
line-height:1.7
}
.pi-arrow{
font-size:26px;
justify-self:end
}
.project-index-row details[open] .pi-arrow{
transform:rotate(90deg)
}
.pi-detail{
display:grid;
grid-template-columns:minmax(180px,5fr) 7fr;
gap:6%;
padding:40px 12px 44px 100px
}
.pi-detail img{
width:100%;
height:auto;
aspect-ratio:16/10;
object-fit:contain;
background:#e6e5e0
}
.pi-desc{
color:var(--muted);
font-size:15px;
line-height:1.9;
margin-bottom:20px
}
.pi-choice{
font-size:16px;
line-height:1.8;
margin-bottom:20px
}
.pi-choice>span{
display:block;
font:600 12px var(--display);
letter-spacing:.12em;
margin-bottom:8px
}
.pi-detail-text>a{
display:inline-flex;
min-height:44px;
align-items:center;
border-bottom:1px solid;
font-size:14px
}
.project-index-row details:not([open]):is(:hover,:focus-within)>.pi-detail{
display:grid
}
.project-index-row details:not([open]) .pi-detail{
display:none
}

.navigate-section,.experience-section,.visit-section,.accessible-entry{
padding:140px var(--gutter)
}
.navigate-section{
background:#dedfdb
}
.route-list{
padding:0;
list-style:none;
margin:32px 0
}
.route-list li{
border-top:1px solid var(--silver-60);
padding:18px 0;
display:flex;
flex-direction:column;
gap:8px
}
.route-list span{
font:12px var(--display);
letter-spacing:.1em;
color:var(--muted)
}
.route-list a{
font-size:18px;
min-height:44px;
display:flex;
align-items:center
}
.experience-section{
background:var(--graphite);
color:var(--paper-100)
}
.experience-section>h2{
margin-bottom:56px
}
.experience-row{
display:grid;
grid-template-columns:1fr 2.5fr 1fr;
gap:32px;
padding:32px 0;
border-top:1px solid #666;
align-items:start
}
.experience-row h3{
font-size:24px;
margin-bottom:16px
}
.experience-row div>p{
font-size:15px;
color:var(--silver-30);
max-width:36em
}
.experience-row .text-link{
justify-self:end
}
.activity-status{
font-size:13px;
justify-self:end;
border:1px solid #777;
padding:10px 14px
}
.visit-section>h2{
margin-bottom:64px
}
.visit-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:7%
}
.visit-card{
border-top:1px solid var(--ink-100);
padding:28px 0 0
}
.visit-card-date{
font:600 clamp(48px,5.2vw,80px)/1.1 var(--display);
letter-spacing:-.035em;
margin:30px 0 20px
}
.visit-card-place{
font-size:22px
}
.visit-card-details{
margin:28px 0
}
.visit-card-details>div{
display:grid;
grid-template-columns:1fr 1fr;
padding:12px 0;
border-bottom:1px solid var(--silver-30);
font-size:14px
}
.visit-card-details dt{
color:var(--muted)
}
dd{
margin:0
}
.visit-a11y-link{
display:flex;
align-items:center;
justify-content:space-between;
padding:24px 0;
border-top:1px solid var(--ink-100);
border-bottom:1px solid var(--ink-100);
margin-top:64px;
font-size:16px
}
.visit-a11y-link>span{
font-size:28px
}
.accessible-entry{
padding-top:72px;
background:#dedfdb
}
.accessible-entry>.eyebrow{
margin-bottom:48px
}
.accessible-entry h2{
font-size:clamp(28px,3vw,44px)
}
.accessible-entry .text-link{
margin-top:24px
}

/* Team keeps the existing real portraits and member links. */
#team{
background:var(--ink-100);
color:var(--paper-100);
padding:100px var(--gutter)
}
#team>h2{
margin:24px 0 56px
}
.team-grid{
display:flex;
flex-direction:column
}
.member-card{
border-top:1px solid #444
}
.member-toggle{
display:grid;
grid-template-columns:100px 1fr 30px;
gap:24px;
align-items:center;
width:100%;
background:none;
border:0;
text-align:left;
padding:20px 0
}
.member-toggle img{
width:72px;
height:72px;
object-fit:cover;
border-radius:0
}
.member-photos{
display:flex;
gap:4px
}
.member-photos img{
width:48px;
height:72px
}
.member-basic{
display:flex;
gap:10px;
align-items:baseline
}
.member-basic strong{
font-size:22px;
font-weight:600
}
.member-basic small{
font-size:13px;
color:var(--silver-60)
}
.member-open-icon{
font-size:26px
}
.member-details{
padding:0 0 28px 124px
}
.member-details p{
max-width:40em;
font-size:16px;
color:var(--silver-30);
margin-bottom:16px
}
.member-details a{
display:inline-flex;
align-items:center;
min-height:44px;
gap:12px;
font-size:14px
}
.member-social-links{
display:flex;
gap:24px
}
.member-card.open .member-open-icon{
transform:rotate(45deg)
}
.member-details[hidden]{
display:none
}

/* 07 / EXIT */
footer{
padding:56px var(--gutter) 36px;
background:var(--paper-100)
}
.exit-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
border-bottom:1px solid var(--ink-100);
padding-bottom:32px
}
.exit-link{
font:600 clamp(22px,3vw,40px) var(--display);
letter-spacing:-.02em;
min-height:44px
}
.exit-row>p{
font-size:14px
}
.footer-exhibitions{
display:grid;
grid-template-columns:1fr 1fr;
gap:32px;
padding:32px 0;
border-bottom:1px solid var(--silver-30)
}
.footer-bottom{
display:grid;
grid-template-columns:1.5fr 1.5fr 1fr;
gap:32px;
padding-top:36px;
font-size:12px
}
.footer-meta{
margin-top:20px;
color:var(--muted);
font-size:11px
}
.footer-links{
display:flex;
flex-direction:column;
align-items:start
}
.footer-links a{
min-height:44px;
display:flex;
align-items:center
}
.footer-school{
display:flex;
gap:24px;
align-items:center;
justify-content:end
}
.footer-school img{
max-width:100px;
max-height:56px;
object-fit:contain
}

/* Project detail — uniform media and readable evidence. */
.project-page{
padding:64px var(--gutter) 120px;
max-width:1792px;
margin:auto
}
.project-back{
display:inline-flex;
align-items:center;
min-height:44px;
margin-bottom:48px;
color:var(--muted);
font-size:14px
}
.project-hero{
display:grid;
grid-template-columns:1fr 1fr;
gap:8%;
align-items:center;
margin-bottom:64px
}
.project-hero-media{
order:2;
background:#e6e5e0
}
.project-hero-media img{
width:100%;
aspect-ratio:16/10;
object-fit:contain
}
.project-groupno{
font:600 14px var(--display);
letter-spacing:.12em;
margin-bottom:24px
}
.project-hero-text h1{
font-size:clamp(36px,4.8vw,72px);
overflow-wrap:anywhere;
margin-bottom:24px;
letter-spacing:-.03em
}
.project-tagline{
font-size:17px;
color:var(--muted)
}
.project-body{
max-width:800px;
margin-bottom:48px
}
.project-body>p{
font-size:18px;
margin-bottom:36px;
line-height:1.9
}
.project-theme{
border-top:1px solid var(--ink-100);
padding:24px 0
}
.project-theme h2{
font-size:13px;
letter-spacing:.1em;
margin-bottom:16px
}
.project-theme p{
font-size:22px;
line-height:1.8
}
.project-information{
padding:64px 0;
max-width:800px
}
.project-information h2{
font-size:28px;
margin-bottom:32px
}
.project-information dl>div{
display:grid;
grid-template-columns:1fr 2fr;
gap:24px;
border-top:1px solid var(--silver-30);
padding:18px 0
}
.project-information dt{
color:var(--muted);
font-size:14px
}
.project-pagination{
display:flex;
justify-content:space-between;
gap:40px;
border-top:1px solid var(--ink-100);
padding-top:28px;
position:static
}
.project-pagination>a{
max-width:45%;
min-height:44px;
display:flex;
align-items:center;
font-size:16px
}
.project-pagination>a:last-child{
text-align:right
}

/* Accessible information is fully readable without scripting. */
.a11y-page{
padding:80px var(--gutter) 100px;
max-width:1200px;
margin:auto
}
.a11y-heading{
max-width:820px;
margin-bottom:64px
}
.a11y-label{
font:600 13px var(--display);
letter-spacing:.1em;
margin-bottom:24px
}
.a11y-heading h1{
font-size:clamp(36px,4.5vw,64px);
margin-bottom:32px
}
.a11y-intro{
max-width:42em;
font-size:18px;
line-height:1.9
}
.a11y-updated{
font-size:13px;
color:var(--muted);
margin-top:24px
}
.a11y-section{
padding:44px 0;
border-top:1px solid var(--silver-60)
}
.a11y-section-index{
font:600 13px var(--display);
letter-spacing:.1em;
margin-bottom:20px
}
.a11y-section h2{
font-size:32px;
margin-bottom:28px
}
.a11y-facts{
margin:0
}
.a11y-facts>div{
display:grid;
grid-template-columns:1fr 2fr;
gap:32px;
padding:16px 0;
border-bottom:1px solid var(--silver-30)
}
.a11y-facts dt{
font-size:15px;
color:var(--muted)
}
.a11y-facts dd{
font-size:16px
}
.a11y-facts a,.a11y-body a,.a11y-venue-place a{
text-decoration:underline;
text-underline-offset:4px
}
.a11y-venue-date{
font:600 32px var(--display);
margin-bottom:18px
}
.a11y-venue-place{
margin-bottom:24px
}
.a11y-body{
max-width:48em;
line-height:1.9;
margin-bottom:20px
}
.a11y-placeholder{
font-size:13px;
background:#e3e3df;
display:inline-block;
padding:8px 14px
}

@keyframes recompose{
from{
transform:translateX(-16px);
opacity:.4
}
to{
transform:none;
opacity:1
}

}

@media(min-width:1800px){
.story,.works-section,.navigate-section,.experience-section,.visit-section,.accessible-entry,#team,footer{
padding-left:max(var(--gutter),calc((100vw - 1600px)/2));
padding-right:max(var(--gutter),calc((100vw - 1600px)/2))
}

}

@media(max-width:1100px){
.nav-menu-links{
gap:18px
}
.nav-menu-links small{
display:none
}
.hero-bottom{
gap:6%;
grid-template-columns:1.2fr 1fr
}
.hero-exhibitions{
grid-template-columns:1fr;
gap:20px
}
.coordinate-date{
margin:6px 0
}
.hero-mark{
width:150px;
height:150px
}
.story-chapter{
gap:6%
}
.experience-row{
grid-template-columns:1fr 2fr
}
.experience-row>.text-link,.experience-row>.activity-status{
grid-column:2;
justify-self:start
}
.footer-bottom{
grid-template-columns:1fr 1fr
}
.footer-school{
justify-content:start
}
.pi-detail{
padding-left:24px
}

}

@media(max-width:767px){
:root{
--gutter:24px
}
html{
scroll-padding-top:80px
}
.site-nav{
height:68px
}
.nav-logo{
font-size:30px
}
.nav-logo>small{
margin-left:10px;
font-size:11px
}
.menu-button{
display:flex;
align-items:center
}
.nav-menu{
display:none;
position:absolute;
top:68px;
left:0;
width:100%;
background:var(--paper-100);
padding:24px var(--gutter);
max-height:calc(100dvh - 68px);
overflow:auto;
border-bottom:1px solid var(--ink-100)
}
.nav-menu.open{
display:block
}
.nav-menu-links{
display:flex;
flex-direction:column;
gap:0
}
.nav-menu-links>a{
border-top:1px solid var(--silver-30);
padding:18px 0;
font-size:28px;
gap:20px
}
.nav-menu-links small{
display:block;
margin-left:auto;
font-size:13px
}
.nav-menu-bottom{
display:flex;
flex-direction:column;
gap:8px;
padding-top:24px;
font-size:12px
}
.nav-menu-bottom a{
min-height:44px;
display:flex;
align-items:center
}
.mobile-only{
display:block
}
.enter-section{
padding-top:20px;
min-height:calc(100svh - 68px)
}
.hero-topline{
font-size:10px;
line-height:1.6
}
.hero-topline>p:last-child{
font-size:9px;
text-align:right;
max-width:95px
}
.hero-title{
padding:28px 0 26px
}
.hero-latin{
font-size:clamp(84px,21vw,160px)
}
.hero-chinese{
font-size:clamp(36px,9.5vw,64px);
margin-left:24px;
margin-top:14px;
letter-spacing:0
}
.hero-mark{
width:70px;
height:90px;
padding:5px;
align-self:start;
margin-top:6px
}
.hero-mark small{
display:none
}
.hero-mark>span{
font-size:22px
}
.hero-bottom{
display:flex;
flex-direction:column;
align-items:stretch;
padding:22px 0;
gap:20px
}
.hero-intro{
display:contents
}
.hero-intro h2{
font-size:20px;
line-height:1.55;
order:0
}
.hero-intro>p{
order:3;
font-size:13px;
margin-top:0
}
.hero-exhibitions{
order:1;
grid-template-columns:1fr 1fr;
gap:16px
}
.hero-exhibitions .coordinate{
border-left:1px solid var(--silver-60);
padding-left:12px
}
.coordinate .eyebrow{
font-size:9px;
letter-spacing:0
}
.coordinate-date{
font-size:24px;
margin:8px 0
}
.coordinate>p:last-child{
font-size:11px
}
.hero-cta-row{
order:2;
margin-top:0;
gap:12px
}
.hero-cta-row>a{
flex:1;
min-width:0;
padding:12px;
font-size:11px
}
.hero-cta-row .secondary-link{
order:-1
}
.hero-baseline{
font-size:9px
}
.hero-baseline>span{
font-size:9px;
letter-spacing:.05em
}
.story{
padding:96px var(--gutter)
}
.section-top{
margin-bottom:40px;
gap:16px
}
.section-top>p:last-child{
font-size:10px;
max-width:115px;
text-align:right
}
.section-top .eyebrow{
font-size:11px
}
.story-chapter,.story-chapter:nth-child(odd){
display:flex;
flex-direction:column;
gap:36px;
padding:40px 0 64px;
align-items:stretch
}
.story-chapter:nth-child(odd)>.chapter-copy{
order:0
}
.chapter-copy h2{
font-size:28px;
line-height:1.5
}
.chapter-copy>.eyebrow{
font-size:10px;
margin-bottom:20px
}
.story-body{
font-size:16px;
margin-top:24px
}
.story-close{
font-size:13px
}
.concept-visual{
aspect-ratio:1.4
}
.word-specimen{
font-size:80px;
min-height:200px
}
.acts-visual{
padding-top:20px
}
.acts-visual>span{
font-size:24px
}
.sample-visual{
gap:10px
}
.works-section,.navigate-section,.experience-section,.visit-section,.accessible-entry{
padding:96px var(--gutter)
}
.works-heading{
display:block;
margin-bottom:36px
}
.works-heading>p{
margin-top:28px;
font-size:15px
}
.works-heading h2{
font-size:36px
}
.project-index-row summary{
grid-template-columns:32px minmax(0,1fr) 24px;
gap:8px 12px;
padding:22px 0
}
.pi-num{
font-size:12px
}
.pi-name{
font-size:21px
}
.pi-tag{
grid-column:2;
grid-row:2;
font-size:12px
}
.pi-arrow{
grid-column:3;
grid-row:1;
font-size:22px
}
.pi-detail{
grid-template-columns:1fr;
padding:24px 0 32px;
gap:24px
}
.project-index-row details:not([open]):is(:hover,:focus-within)>.pi-detail{
display:none
}
.split-layout{
grid-template-columns:1fr;
gap:32px
}
.split-layout h2{
font-size:34px
}
.experience-row{
grid-template-columns:1fr;
gap:18px;
padding:28px 0
}
.experience-row>.text-link,.experience-row>.activity-status{
grid-column:1;
justify-self:start
}
.experience-row h3{
font-size:24px
}
.visit-grid{
grid-template-columns:1fr;
gap:48px
}
.visit-card-date{
font-size:60px;
margin-top:24px
}
.visit-card-place{
font-size:20px
}
.visit-section>h2{
font-size:34px;
margin-bottom:40px
}
.visit-a11y-link{
font-size:13px;
gap:16px
}
.accessible-entry h2{
font-size:28px
}
#team{
padding:80px var(--gutter)
}
#team>h2{
font-size:34px;
margin-bottom:36px
}
.member-toggle{
grid-template-columns:84px 1fr 20px;
gap:12px
}
.member-photos img{
width:40px;
height:60px
}
.member-toggle img{
height:60px
}
.member-basic{
flex-direction:column;
gap:4px
}
.member-basic strong{
font-size:18px
}
.member-basic small{
font-size:11px
}
.member-details{
padding:0 0 24px
}
.member-details p{
font-size:15px
}
.member-social-links{
flex-wrap:wrap
}
footer{
padding:40px var(--gutter)
}
.exit-row{
align-items:start;
flex-direction:column;
gap:20px
}
.footer-exhibitions{
gap:16px
}
.footer-bottom{
display:flex;
flex-direction:column;
gap:24px
}
.footer-links{
width:100%
}
.footer-school img{
max-width:90px
}
.project-page{
padding:40px var(--gutter) 80px
}
.project-hero{
display:flex;
flex-direction:column;
gap:32px;
align-items:stretch;
margin-bottom:40px
}
.project-hero-text{
order:-1
}
.project-hero-text h1{
font-size:40px
}
.project-hero-media{
order:0
}
.project-theme p{
font-size:19px
}
.project-body>p{
font-size:17px
}
.project-information{
padding:40px 0
}
.project-information dl>div{
grid-template-columns:1fr;
gap:8px
}
.project-pagination{
gap:20px
}
.project-pagination>a{
font-size:13px
}
.a11y-page{
padding:48px var(--gutter) 80px
}
.a11y-heading h1{
font-size:36px
}
.a11y-intro{
font-size:16px
}
.a11y-section h2{
font-size:28px
}
.a11y-facts>div{
grid-template-columns:1fr;
gap:8px
}
.a11y-facts dd{
overflow-wrap:anywhere
}
.a11y-section-index{
font-size:11px
}

}

@media(max-width:479px){
:root{
--gutter:16px
}
.hero-title{
padding-top:24px
}
.hero-mark{
width:60px;
height:76px
}
.hero-topline>p:last-child{
max-width:80px
}
.hero-intro h2{
font-size:18px
}
.hero-exhibitions{
gap:10px
}
.hero-exhibitions .coordinate{
padding-left:8px
}
.coordinate-date{
font-size:23px
}
.coordinate .eyebrow{
font-size:8px
}
.hero-cta-row>a{
padding:10px 8px;
font-size:10px
}
.hero-cta-row>a>span{
font-size:11px
}
.hero-baseline{
gap:12px
}
.chapter-copy h2{
font-size:25px
}
.works-heading h2{
font-size:32px
}
.pi-name{
font-size:19px
}
.visit-card-date{
font-size:52px
}
.member-toggle{
grid-template-columns:72px 1fr 18px
}
.member-photos img{
width:34px
}
.member-basic strong{
font-size:16px
}
.footer-exhibitions .coordinate-date{
font-size:22px
}

}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto
}
*,*::before,*::after{
animation:none!important;
transition:none!important
}
.hero-latin{
transform:none;
opacity:1
}

}

@media print{
.site-header,.hero-cta-row,.menu-button{
display:none
}
body,.story,#team,.experience-section{
background:white;
color:black
}
section{
padding:24px!important
}
.chapter-copy>.eyebrow,.story-body,.story-close{
color:black
}
.concept-visual{
display:none
}
.story-chapter{
display:block
}
.member-details[hidden]{
display:block
}
.project-index-row .pi-detail{
display:grid!important
}
footer{
break-inside:avoid
}

}

.index-layout{
display:grid;
grid-template-columns:minmax(0,7fr) minmax(0,3fr);
gap:5%;
align-items:start
}
.index-preview{
position:sticky;
top:120px;
border-top:1px solid var(--ink-100);
padding-top:24px
}
.index-preview img{
width:100%;
height:auto;
aspect-ratio:16/10;
object-fit:contain;
background:#e6e5e0;
margin:24px 0
}
.preview-name{
font-size:22px;
font-weight:600;
line-height:1.4;
margin-bottom:24px
}
.preview-choice{
font-size:14px;
line-height:1.9;
margin-top:12px;
color:var(--muted)
}
.index-layout .project-index-row summary{
grid-template-columns:42px minmax(0,1fr) 24px;
gap:6px 18px
}
.index-layout .pi-tag{
grid-column:2;
grid-row:2
}
.index-layout .pi-arrow{
grid-column:3;
grid-row:1
}
.project-index-row details:not([open]):is(:hover,:focus-within)>.pi-detail{
display:none
}

@media(max-width:1023px){
.index-layout{
display:block
}
.index-preview{
display:none
}

}

/* No-script navigation remains discoverable on small screens. */
@media(max-width:767px){
body:not(.js-ready) .nav-menu{
display:block;
position:static;
border:0;
padding:0
}
body:not(.js-ready) .site-nav{
height:auto;
flex-wrap:wrap;
padding-top:16px;
padding-bottom:16px
}
body:not(.js-ready) .nav-menu{
width:100%
}
body:not(.js-ready) .nav-menu-links{
flex-direction:row;
flex-wrap:wrap;
gap:8px 20px
}
body:not(.js-ready) .nav-menu-links a{
font-size:16px;
border:0;
padding:0
}
body:not(.js-ready) .nav-menu-links a small,body:not(.js-ready) .nav-menu-bottom,body:not(.js-ready) .menu-button{
display:none
}

}

.nav-logo img{
width:90px;
height:auto;
background:var(--ink-100);
padding:5px 7px
}

@media(max-width:479px){
.nav-logo img{
width:78px
}

}
/* Requested visual direction: original Noto families and neutral black/gray. */
:root{--paper-100:#dedede;--silver-30:#cecece;--silver-60:#a8a8a8;--graphite:#2b2b2b;--body:'Noto Sans TC',sans-serif;--display:'Noto Sans TC',sans-serif;--serif:'Noto Serif TC',serif}
h1,h2,h3,h4,.hero-latin,.hero-chinese,.pi-name,.member-basic strong,.word-specimen{font-family:var(--serif)}
.nav-logo img{background:transparent;padding:0;filter:brightness(.2)}
.enter-section{background:#121212;color:#eee;max-width:none}
.hero-title{border-color:#888}.hero-intro>p{color:#b8b8b8}.hero-mark{border-color:#888}.hero-mark::before,.hero-mark::after{border-color:#aaa}.hero-mark::after{background:#121212}
.hero-cta-row>a{border-color:#aaa}.hero-cta-row .primary-link{background:#dedede;color:#111}.hero-cta-row .secondary-link{color:#eee}.hero-baseline{border-color:#555}
.hero-latin{font-size:clamp(90px,12vw,180px);line-height:1.1}.hero-chinese{font-size:clamp(42px,5vw,76px)}
.coordinate-date{font-size:clamp(20px,1.9vw,29px);letter-spacing:-.04em}.visit-card-date{font-size:clamp(32px,4vw,64px)}
.navigate-section,.accessible-entry{background:#c9c9c9}
/* Homepage's first screen: the original choice test invitation. */
.choice-entry{min-height:calc(100svh - 84px);background:#0b0b0b;color:#eee;padding:72px var(--gutter);display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;overflow:hidden}
.choice-entry-copy>.eyebrow{color:#aaa;margin-bottom:32px;font-size:12px}
.choice-entry h2{font-size:clamp(36px,4.7vw,72px);line-height:1.55;letter-spacing:-.04em}
.choice-entry-copy>p:not(.eyebrow){margin-top:32px;color:#bcbcbc;font-size:17px}
.choice-start{display:flex;align-items:center;justify-content:space-between;max-width:320px;padding:18px 24px;margin-top:40px;background:#ddd;color:#111;font-size:18px;border:1px solid #ddd;transition:background .2s,color .2s}
.choice-start:hover{background:#333;color:#eee;text-decoration:none}.choice-exhibition{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:13px;color:#ccc}
.choice-entry-visual{position:relative;border-top:1px solid #666;border-bottom:1px solid #666;padding:32px 0}
.choice-entry-visual img{width:100%;height:auto;filter:grayscale(1) brightness(.75);aspect-ratio:1;object-fit:cover}
.choice-entry-visual>span{display:block;font-size:10px;letter-spacing:.15em;margin-top:20px;color:#aaa}
/* Replace ambiguous specimen imagery with an explicit text sequence. */
.typographic-study{aspect-ratio:auto;min-height:380px}.information-flow,.generation-study{padding:32px 0;flex:1}.study-caption{font-size:14px;color:#c7c7c7;margin-bottom:28px}.information-stream{overflow:hidden;border-top:1px solid #555;border-bottom:1px solid #555;padding:20px 0;display:flex;flex-direction:column;gap:12px}
.information-stream>span{font-size:clamp(18px,2vw,27px);color:#777;letter-spacing:.05em;white-space:nowrap}.information-stream>span:nth-child(2){color:#b8b8b8;transform:translateX(16px)}
.selection-line{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:32px 0;font-size:22px}.selection-line>b{color:#777;font-size:18px;font-weight:400}.selection-line>strong{border:1px solid #ccc;padding:10px 16px;font-weight:600}
.study-conclusion{font-size:13px;color:#bcbcbc;line-height:1.9}.generation-question{font-family:var(--serif);font-size:20px;line-height:1.7;padding:20px 0;border-top:1px solid #777;border-bottom:1px solid #777}.generated-options{display:flex;flex-direction:column;gap:12px;margin:24px 0}.generated-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px;background:transparent;border:1px solid #666;text-align:left;color:#ccc;transition:background .2s,color .2s,transform .2s}.generated-option>span{font-size:12px}.generated-option>strong{font-size:16px;font-weight:400}.generated-option.selected{background:#ddd;color:#111;border-color:#ddd;transform:translateX(6px)}.generated-option:hover{border-color:#ddd}.generation-decision{font-size:14px;line-height:1.9;padding-bottom:16px}
/* Five acts: pointer/focus reveal; native details also work on touch and without JS. */
.acts-interactive{padding:24px 0}.act-item{border-bottom:1px solid #555;transition:background .25s}.act-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;min-height:76px;padding:16px 12px;position:relative}.act-item summary::-webkit-details-marker{display:none}.act-number{font-size:12px;color:#aaa}.act-title{font-family:var(--serif);font-size:clamp(17px,1.65vw,26px);display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;transition:transform .25s}.act-title small{font-family:var(--body);font-size:13px}.act-symbol{margin-left:auto;font-size:22px;transition:transform .25s}.act-item[open]{background:#282828}.act-item[open] .act-title{transform:translateX(6px)}.act-item[open] .act-symbol{transform:rotate(45deg)}.act-description{padding:0 18px 24px 44px;animation:actReveal .28s ease-out}.act-description>p{font-size:17px;color:#eee}.act-description>small{display:block;font-size:13px;margin-top:12px;color:#aaa}
@keyframes actReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Fill every project media container, avoiding the previous letterboxing. */
.sample-visual img,.pi-detail img,.index-preview img,.project-hero-media img{object-fit:cover;background:transparent;display:block;width:100%;padding:0;border:0}
.project-hero-media{background:transparent}.sample-visual{gap:8px}
@media(max-width:1100px){.hero-title{padding-top:16px}.hero-latin{font-size:clamp(90px,12vw,150px)}}
@media(max-width:767px){.choice-entry{min-height:calc(100svh - 68px);padding:48px var(--gutter);grid-template-columns:1fr;gap:40px}.choice-entry h2{font-size:clamp(30px,6vw,46px)}.choice-entry-copy>.eyebrow{margin-bottom:24px}.choice-entry-copy>p:not(.eyebrow){font-size:15px;margin-top:24px}.choice-start{margin-top:28px;font-size:16px}.choice-entry-visual{display:none}.hero-latin{font-size:clamp(74px,17vw,126px)}.hero-chinese{font-size:clamp(32px,8.8vw,60px);margin-left:16px}.hero-exhibitions .coordinate-date,.footer-exhibitions .coordinate-date{font-size:clamp(15px,3.8vw,24px)}.visit-card-date{font-size:clamp(27px,7.8vw,50px)}.typographic-study{min-height:0}.generation-question{font-size:18px}.act-title{font-size:20px}.act-title small{font-size:12px}.selection-line{font-size:20px}}
@media(max-width:479px){.hero-mark{display:none}.hero-title h1{width:100%}.hero-chinese{font-size:clamp(32px,9vw,42px)}.coordinate-date{white-space:normal}.act-item summary{gap:12px;padding-left:6px;padding-right:6px}.act-title{font-size:17px}.act-description{padding-left:30px}.choice-entry h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.act-description{animation:none}.generated-option.selected,.act-item[open] .act-title{transform:none}}
/* Keep the restored serif invitation readable without isolated last characters. */
.choice-entry h2{font-size:clamp(36px,3.6vw,56px);text-wrap:balance}
.choice-entry-visual img{aspect-ratio:16/10;object-fit:contain}
@media(max-width:767px){.choice-entry h2{font-size:clamp(28px,5.2vw,42px)}}
/* Unified controls and compact quiz entry within ENTER THE SPACE. */
:root{--button-radius:12px}
button,[role="button"],.primary-link,.secondary-link,.text-link,.choice-start,.hero-quiz-button,.pi-detail-text>a{border-radius:var(--button-radius)}
.text-link,.pi-detail-text>a{padding:10px 18px;border:1px solid currentColor}
.hero-quiz{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #555;padding-top:20px;margin-top:28px;max-width:640px}
.hero-quiz .eyebrow{font-size:10px;color:#bcbcbc;letter-spacing:.08em}
.hero-quiz div>p:last-child{font-size:13px;line-height:1.8;margin-top:8px;color:#bbb}
.hero-quiz-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;flex-shrink:0;padding:10px 18px;background:#dedede;color:#111;border:1px solid #dedede;font-size:13px;transition:background .2s,color .2s}
.hero-quiz-button:hover{background:#333;color:#eee;text-decoration:none}
/* Square previews preserve the whole photograph, including non-square originals. */
.pi-detail img,.index-preview img{aspect-ratio:1/1;object-fit:contain;height:auto;background:transparent}
@media(max-width:767px){.hero-quiz{order:4;margin-top:0;padding-top:20px;gap:12px}.hero-quiz-button{padding:10px 14px;gap:12px}.hero-quiz div>p:last-child{font-size:12px}}
@media(max-width:479px){.hero-quiz{align-items:start;flex-direction:column}.hero-quiz-button{align-self:start}}
/* Detail pages share the index's square, uncropped media presentation. */
.project-hero-media{aspect-ratio:1/1}
.project-hero-media img{width:100%;height:100%;aspect-ratio:1/1;object-fit:contain;background:transparent}
/* Exhibition sample mounts: a composed frame, instead of a loose full-size image. */
.specimen-mount{margin:0;background:#292929;color:#dedede;padding:20px;border:1px solid #555;position:relative;min-width:0}
.mount-meta{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.1em;padding-bottom:18px;border-bottom:1px solid #555}
.mount-window{position:relative;padding:22px 14px;display:flex;align-items:center;justify-content:center;background:#363636;margin-top:18px}
.mount-window::before,.mount-window::after{content:'';position:absolute;width:12px;height:12px;border-color:#b8b8b8;pointer-events:none}
.mount-window::before{top:8px;left:8px;border-top:1px solid;border-left:1px solid}.mount-window::after{bottom:8px;right:8px;border-bottom:1px solid;border-right:1px solid}
.specimen-mount .mount-window img{display:block;width:100%;height:auto;max-width:360px;aspect-ratio:1/1;object-fit:contain;margin:0;padding:0;border:0;background:transparent}
.specimen-mount figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:1.7;padding-top:18px;color:#ccc}
.specimen-mount figcaption>span:last-child{font-size:22px;font-weight:400;flex-shrink:0}
.project-hero-media{aspect-ratio:auto;width:100%;max-width:520px;justify-self:end}
.project-hero-media .specimen-mount{padding:24px}.project-hero-media .mount-window{padding:28px 22px}
.index-preview .specimen-mount{margin:24px 0}.index-preview .mount-window{padding:18px 8px}.index-preview .specimen-mount{padding:16px}
.pi-detail>.specimen-mount{align-self:start}.pi-detail .mount-window{padding:18px 8px}
@media(max-width:767px){.project-hero-media{max-width:100%;justify-self:stretch}.project-hero-media .specimen-mount{padding:18px}.project-hero-media .mount-window{padding:22px 12px}.specimen-mount{padding:16px}.mount-meta{font-size:9px}.specimen-mount figcaption{font-size:11px}}
/* Moodluma's artwork sits above the source canvas center; compensate within the mount padding. */
.specimen-mount .mount-window img[src$="/work6.webp"]{
    object-position:center;
    transform:translateY(6%);
}
/* Information flood: choose, filter and recompose actual text nodes. */
.information-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.information-toolbar .study-caption{margin:0}.flow-pause,.information-reset{background:none;border:1px solid #666;color:#ccc;padding:8px 12px;min-height:44px;font-size:11px}
.information-instruction{font-size:12px;color:#999;margin-bottom:24px}
.information-demo .information-stream{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:292px;align-content:center;padding:24px 0;overflow:visible}
.information-token{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:10px;border:1px solid #404040;background:#161616;color:#999;text-align:left;transition:background .2s,color .2s,border-color .2s}
.information-token>small{font-size:9px;color:#777}.information-token>span:not(.token-check){font-family:var(--serif);font-size:clamp(16px,1.6vw,24px)}.token-check{font-size:16px;color:#777}
.information-token:hover,.information-token:focus-visible{color:#eee;border-color:#aaa}.information-token[aria-pressed="true"]{background:#dedede;color:#111;border-color:#dedede}.information-token[aria-pressed="true"]>small,.information-token[aria-pressed="true"] .token-check{color:#333}
.information-demo.is-running .information-token{animation:informationDrift 4s ease-in-out infinite alternate;animation-delay:var(--delay)}
.information-demo:is(:hover,:focus-within) .information-token,.information-demo.is-paused .information-token,.information-demo.is-kept .information-token{animation-play-state:paused}
.information-token[hidden]{display:none}.information-demo.is-kept .information-stream{align-content:center}.information-demo.is-kept .information-token{animation:none}
.information-demo .selection-line{gap:12px;padding:24px 0}.selection-step{color:#777;transition:color .2s}.selection-step.is-current{color:#eee}.information-keep{display:flex;align-items:center;gap:12px;min-height:48px;border:1px solid #aaa;background:#ddd;color:#111;padding:10px 16px;font-size:18px}.information-keep:disabled{background:transparent;color:#777;border-color:#555;cursor:default}.keep-count{font:12px var(--body);border-left:1px solid currentColor;padding-left:10px}
.information-feedback{display:flex;align-items:start;justify-content:space-between;gap:12px;min-height:54px}.information-feedback .study-conclusion{flex:1}.information-reset{flex-shrink:0}.information-reset[hidden]{display:none}
@keyframes informationDrift{from{transform:translateY(-3px);border-color:#404040}to{transform:translateY(3px);border-color:#777}}
@media(max-width:479px){.information-demo .information-stream{gap:8px}.information-token{padding:8px;gap:4px}.information-token>small{display:none}.information-token>span:not(.token-check){font-size:17px}.information-keep{font-size:16px;padding:10px 12px}.information-feedback{flex-direction:column}.information-toolbar{gap:8px}.information-toolbar .study-caption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.information-demo.is-running .information-token{animation:none}}
/* Accessible arrival guide — route facts in the exhibition's black/gray system. */
.a11y-page{max-width:1400px}.access-page-index{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px}.access-page-index>a{display:flex;align-items:center;min-height:44px;padding:12px 18px;border:1px solid #777;border-radius:12px;font-size:13px}
.access-venue-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 40px}.access-venue-heading>div>p:last-child{font-size:18px}.access-venue-heading .text-link{font-size:12px;flex-shrink:0}
.access-route{margin:32px 0 40px;border:1px solid #888;padding:32px;background:#d2d2d2}.route-heading h3{font-family:var(--serif);font-size:30px;margin:16px 0}.route-heading .eyebrow{font-size:11px}.route-classification{font-size:13px;color:#444}
.access-notice{padding:18px 20px;border-left:3px solid #111;background:#c4c4c4;font-size:15px;line-height:1.9;margin:24px 0;overflow-wrap:anywhere}.access-notice strong{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:8px}
.access-route-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#555;border:1px solid #555;margin-top:32px}.access-route-overview>span{background:#1b1b1b;color:#eee;padding:20px 18px;font-size:13px;min-height:92px}.access-route-overview b{display:block;font-size:11px;color:#aaa;margin-bottom:12px;font-weight:400}.route-diagram-caption{font-size:12px;color:#555;margin:12px 0 32px}
.access-route-steps{list-style:none;margin:24px 0 0;padding:0}.access-route-steps>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px;position:relative;padding:0 0 32px}.access-route-steps>li:not(:last-child)::after{content:'';position:absolute;top:40px;bottom:0;left:19px;border-left:1px solid #999}.route-node{height:40px;width:40px;border:1px solid #888;display:flex;align-items:center;justify-content:center;font-size:12px;background:#dedede;color:#111}.access-route-steps h4{font-size:19px;font-weight:600;line-height:1.6;margin-bottom:8px}.access-route-steps p{font-size:15px;color:#444;line-height:1.9}.route-source{display:inline-block;font-size:12px;line-height:1.9;margin-top:20px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 0}.route-source a{text-decoration:underline}
.access-arrival{padding:32px;background:#191919;color:#eee;margin:32px 0}.access-arrival h3{font-family:var(--serif);font-size:30px;margin:18px 0}.access-arrival>p:not(.eyebrow):not(.dropoff-address){font-size:16px;max-width:42em}.dropoff-address{font-family:var(--serif);font-size:clamp(32px,4vw,52px);margin:24px 0}.dropoff-address>span{display:block;font-family:var(--body);font-size:16px;margin-top:12px;color:#bdbdbd}.access-arrival .access-notice{background:#333;border-color:#ddd;color:#eee}.route-source-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:13px;margin-top:24px}.route-source-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.arrival-index{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0;position:static}.arrival-index>a{border:1px solid #888;border-radius:12px;display:flex;justify-content:space-between;gap:16px;padding:14px 18px;min-height:52px;font-size:13px}
.access-route-details{border-top:1px solid #888;scroll-margin-top:100px}.access-route-details:last-of-type{border-bottom:1px solid #888}.access-route-details>summary{list-style:none;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:20px;padding:26px 8px;cursor:pointer}.access-route-details>summary::-webkit-details-marker{display:none}.route-index-number{font-size:12px;color:#555}.access-route-details summary strong{font-family:var(--serif);font-size:22px;line-height:1.5;font-weight:600}.access-route-details summary small{display:block;font-size:12px;color:#555;margin-top:10px}.route-expand{font-size:26px}.access-route-details[open] .route-expand{transform:rotate(45deg)}.access-route-details>summary:hover{background:#d2d2d2}.access-route-content{padding:0 8px 32px 76px}.access-route-content>.access-notice{margin-top:0}.official-route-note{border-top:1px solid #999;padding:24px 0;margin-top:16px}.official-route-note h4{font-size:18px;margin-bottom:16px}.official-route-note p{font-size:14px;line-height:1.9;margin-bottom:16px;color:#444}.official-route-note a{font-size:12px;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.access-facilities{margin-top:48px}.access-facilities>h3{font-size:28px;margin-bottom:32px}.access-route-links{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
@media(max-width:767px){.access-page-index{gap:8px;margin-bottom:40px}.access-page-index>a{font-size:12px;padding:10px 14px}.access-venue-heading{align-items:start;flex-direction:column;gap:20px}.access-venue-heading>div>p:last-child{font-size:16px}.access-route{padding:20px 16px}.route-heading h3{font-size:25px}.access-notice{padding:16px;font-size:14px}.access-route-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.access-route-overview>span{padding:16px 12px;font-size:12px;min-height:90px}.access-route-steps>li{grid-template-columns:32px minmax(0,1fr);gap:14px;padding-bottom:28px}.route-node{width:30px;height:30px;font-size:10px}.access-route-steps>li:not(:last-child)::after{top:30px;left:14px}.access-route-steps h4{font-size:17px}.access-route-steps p{font-size:14px}.access-arrival{padding:24px 20px}.access-arrival h3{font-size:26px}.access-arrival>p:not(.eyebrow):not(.dropoff-address){font-size:14px}.arrival-index{grid-template-columns:1fr}.access-route-details>summary{grid-template-columns:32px minmax(0,1fr) 18px;gap:12px;padding:24px 0}.access-route-details summary strong{font-size:19px}.access-route-details summary small{font-size:11px}.access-route-content{padding:0 0 24px}.access-facilities>h3{font-size:24px}.access-notice,.access-route-details summary small{overflow-wrap:anywhere}}
@media print{.access-route-details>div{display:block!important}.access-route-details{break-inside:avoid}.access-arrival{background:white;color:black}.access-route-overview>span{background:white;color:black}}
.a11y-page{overflow-wrap:anywhere}
.a11y-page .text-link,.a11y-page .route-source{max-width:100%;white-space:normal}
.access-route-steps>li>div{min-width:0}
.route-expand{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
@media(max-width:767px){.access-route-details>summary{grid-template-columns:32px minmax(0,1fr) 24px}.route-expand{font-size:20px}}
/* Campus directions read in one continuous order on every screen. */
.campus-flow-instruction{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 20px;font-size:14px;font-weight:600}.campus-flow-instruction>span{font-size:24px}
.campus-route-flow{list-style:none;padding:0;margin:0;max-width:880px}
.campus-flow-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;position:relative;padding:0 0 36px}
.campus-flow-step:not(:last-child)::after{content:'↓';position:absolute;left:0;top:52px;bottom:4px;width:48px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#555}
.campus-flow-number{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #666;border-radius:50%;background:#d2d2d2;font-size:14px}
.campus-flow-step>div{min-width:0;padding:18px 24px;border:1px solid #aaa;background:#dedede}
.campus-flow-action{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:8px;letter-spacing:.04em}
.campus-flow-step h4{font-family:var(--serif);font-size:22px;line-height:1.5;margin:0 0 8px}.campus-flow-step p{font-size:14px;line-height:1.9;color:#444;margin:0}
.campus-flow-step.route-endpoint>div{background:#202020;border-color:#202020;color:#eee}.route-endpoint .campus-flow-action,.route-endpoint p{color:#c4c4c4}.route-endpoint .campus-flow-number{background:#202020;color:#eee;border-color:#202020}
.campus-flow-step:last-child{padding-bottom:0}
@media(max-width:767px){.campus-flow-step{grid-template-columns:32px minmax(0,1fr);gap:12px;padding-bottom:30px}.campus-flow-number{width:32px;height:32px;font-size:11px}.campus-flow-step:not(:last-child)::after{width:32px;top:36px;font-size:20px}.campus-flow-step>div{padding:16px 14px}.campus-flow-step h4{font-size:18px}.campus-flow-step p{font-size:13px}.campus-flow-action{font-size:11px}.campus-flow-instruction{font-size:13px}}
@media print{.campus-flow-step{break-inside:avoid}.campus-flow-step.route-endpoint>div{background:white;color:black}.route-endpoint .campus-flow-action,.route-endpoint p{color:#444}}
/* Enterprise contribution sits apart from the twelve student specimens. */
.sample-collection{width:100%;padding:24px 0}.enterprise-sample{display:flex;align-items:center;gap:20px;padding:16px;border:1px solid #666;color:#eee;text-decoration:none;margin-bottom:28px}.enterprise-sample>img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.enterprise-sample>span{display:flex;flex-direction:column;gap:8px;min-width:0}.enterprise-sample small,.student-sample-label{font-size:11px;color:#aaa;letter-spacing:.06em}.enterprise-sample strong{font-family:var(--serif);font-size:24px}.enterprise-sample>span>span{font-size:12px;color:#bbb}.enterprise-sample>b{margin-left:auto;font-size:22px;font-weight:400}.enterprise-sample:hover{background:#222;border-color:#aaa;text-decoration:none}.sample-collection .sample-visual{padding:16px 0 0;grid-template-columns:repeat(4,minmax(0,1fr))}.sample-collection .sample-visual img{object-fit:contain}
@media(max-width:479px){.enterprise-sample{gap:12px;padding:12px}.enterprise-sample>img{width:72px;height:72px}.enterprise-sample strong{font-size:20px}.enterprise-sample small,.student-sample-label{font-size:10px}.sample-collection .sample-visual{grid-template-columns:repeat(3,minmax(0,1fr))}}
.project-floorplan{margin:48px 0;padding-top:32px;border-top:1px solid #888}.project-floorplan h2{font-size:26px;margin-bottom:16px}.project-floorplan>p{font-size:14px;line-height:1.9;margin-bottom:20px}.floorplan-image{display:block;position:relative;margin:24px 0}.floorplan-image img{display:block;width:100%;height:auto}.booth-marker{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;border:3px solid #fff;outline:3px solid #111;border-radius:50%;background:#111;color:white;display:flex;align-items:center;justify-content:center;font:600 12px var(--body);box-shadow:0 0 0 8px #ffffff70}.project-floorplan .floorplan-caption{color:#555;font-size:12px}@media(max-width:767px){.booth-marker{width:26px;height:26px;font-size:9px;border-width:2px;outline-width:2px;box-shadow:0 0 0 4px #ffffff70}}
.visit-full-date{font-size:13px;color:#555;margin:16px 0}.visit-card-details dd>a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-top:8px}.transport-guide{margin:32px 0 48px;scroll-margin-top:100px}.transport-guide>h3{font-size:28px;margin-bottom:20px}.transport-guide>p{font-size:14px;line-height:1.9;margin:8px 0}.transport-option{border-bottom:1px solid #999}.transport-option:first-of-type{border-top:1px solid #999;margin-top:24px}.transport-option>summary{cursor:pointer;padding:20px 0;font-size:17px;font-weight:600}.transport-option>ul{padding:0 0 24px 24px}.transport-option li{font-size:14px;line-height:1.9;margin:12px 0}
.project-member-names{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:0}.project-member-names li{line-height:1.9;white-space:nowrap}
/* High-contrast booth locator stays visible over the dense original plan. */
.booth-marker{width:62px;height:62px;background:#f7941d;color:#111;border:4px solid #fff;outline:3px solid #111;font-size:17px;font-weight:800;box-shadow:0 0 0 12px #f7941d55,0 5px 14px #0008;z-index:1}
.booth-marker::after{content:'';position:absolute;left:50%;top:100%;transform:translateX(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #111}
@media(max-width:767px){.booth-marker{width:38px;height:38px;font-size:12px;border-width:3px;outline-width:2px;box-shadow:0 0 0 7px #f7941d66,0 3px 8px #0008}.booth-marker::after{border-left-width:6px;border-right-width:6px;border-top-width:8px}}
/* A lighter editorial rhythm with short, readable story introductions. */
.story{padding-top:72px;padding-bottom:64px;background:#181818}
.story-chapter{padding:56px 32px;gap:6%;border-bottom:0;margin-bottom:20px}
.story-chapter:nth-of-type(even){background:#d4d4d4;color:#171717}
.story-chapter:nth-of-type(even) .chapter-copy>.eyebrow{color:#555}
.story-chapter:nth-of-type(even) .story-body{color:#333}
.story-chapter:nth-of-type(even) .story-close{border-color:#777;color:#444}
.story-chapter:nth-of-type(even) .concept-visual{background:#222;color:#eee;padding:20px 24px;border-color:#555}
.story-chapter .story-body{font-size:17px;max-width:28em;margin-top:20px}
.story-chapter .chapter-copy h2{font-size:clamp(28px,2.6vw,42px);line-height:1.5}
.story-chapter:last-child{padding-bottom:40px}
@media(max-width:767px){.story{padding:40px var(--gutter)}.story>.section-top{margin-bottom:20px}.story-chapter,.story-chapter:nth-child(odd){padding:28px 16px 32px;gap:20px;margin-bottom:16px}.story-chapter .chapter-copy>.eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:.04em}.story-chapter .chapter-copy h2{font-size:26px;line-height:1.45;text-wrap:balance}.story-chapter .story-body{font-size:15px;line-height:1.8;margin-top:14px}.story-chapter .story-close{display:none}.story-chapter .concept-visual{aspect-ratio:auto;min-height:0}.story-chapter:nth-of-type(even) .concept-visual{padding:12px 16px}.information-flow,.generation-study{padding:16px 0}.information-instruction{margin-bottom:12px}.information-demo .information-stream{min-height:0;gap:8px;padding:16px 0}.information-token{min-height:44px}.information-demo .selection-line{padding:16px 0}.information-feedback{min-height:0}.information-toolbar .study-caption{font-size:12px}.concept-visual>figcaption{font-size:9px;line-height:1.7;margin-top:14px}.generation-question{font-size:17px;padding:14px 0}.generated-options{gap:8px;margin:16px 0}.generated-option{min-height:48px;padding:10px}.generation-decision{padding-bottom:0}.acts-interactive{padding:8px 0}.act-item summary{min-height:60px;padding-top:12px;padding-bottom:12px}.word-specimen{min-height:150px;font-size:64px}.sample-collection{padding:12px 0}.enterprise-sample{margin-bottom:20px}.story-chapter:last-child{padding-bottom:28px}}
.project-feature-copy{max-width:46em}.project-feature-copy>p{margin:0 0 18px;line-height:1.95}.project-feature-copy>p:last-child{margin-bottom:0}
.exhibition-audio{scroll-margin-top:100px}.exhibition-audio audio{display:block;width:100%;max-width:640px;margin:28px 0 20px}.exhibition-audio .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
/* Compact team list with circular portraits. */
#team .member-toggle>img{width:72px;height:72px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;flex-shrink:0}
#team .member-photos{min-width:0;gap:4px}#team .member-photos img{width:60px;height:60px;min-width:60px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;flex-shrink:0}
#team .member-toggle-pair{grid-template-columns:124px minmax(0,1fr) 30px}
@media(max-width:767px){#team .member-toggle>img{width:60px;height:60px;min-width:60px}#team .member-photos img{width:44px;height:44px;min-width:44px}#team .member-toggle-pair{grid-template-columns:92px minmax(0,1fr) 18px}}
/* Project reading copy: lighter Noto Sans, with a quieter choice label. */
.project-body>p,.project-theme p,.project-feature-copy>p{font-family:'Noto Sans TC',sans-serif;font-weight:400;letter-spacing:.015em;color:#303030}
.project-body>p{font-size:17px;line-height:1.9}
.project-theme h2{font-family:'Noto Sans TC',sans-serif;font-weight:400;font-size:12px;letter-spacing:.06em;color:#666}
.project-theme p{font-size:20px;line-height:1.85}
@media(max-width:767px){.project-body>p,.project-feature-copy>p{font-size:15px}.project-theme p{font-size:18px}.project-theme h2{font-size:11px}}
.project-hero-media:has(.website-showcase){max-width:720px}.website-showcase{margin:0;border:1px solid #555;background:#242424;color:#ddd;padding:12px}.website-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font:10px var(--body);padding:8px 4px 18px;color:#aaa}.website-browser-bar>span:first-child{font-size:8px;letter-spacing:3px}.project-hero-media .website-showcase img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;max-width:none}.website-showcase figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 4px 6px;font-size:11px}.website-showcase figcaption>a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #666;border-radius:12px;padding:8px 12px}.website-showcase figcaption>a:hover{background:#444}
