/* Source audit, 2026-10-16: base Figma + E24/E28/E29 revisions. */
@font-face{font-family:Inter;src:url('fonts/segmented-20261027/InterVariable-693b77d4f32e.woff2') format('woff2');font-weight:100 900;font-display:swap}
.about-copy,.designer-tabs,.designer-card>strong,.profile-text h1,.interview-grid,.work-prose,.message-circle strong,.message-circle>span,.message-dialog-content>p{font-family:Inter,var(--hangul-font),sans-serif}
.work-prose p[lang=en]{font-family:SUITE,sans-serif}
.site-footer{text-transform:uppercase;font-size:clamp(12px,1.14583vw,24px);font-weight:700;letter-spacing:-.04em;line-height:1.6;min-height:254px;display:flex;align-items:center;justify-content:center;padding:65px 20px;margin-top:35px}
.footer-break{display:none}
/* Keep the original TOP arrow geometry independent of button padding/flex sizing. */
.top-button{display:block;padding:0}
.top-arrow{position:absolute;left:31%;top:22%;width:38%;height:16%;display:block;overflow:visible}
.top-button>span{position:absolute;top:43%;left:0;width:100%;line-height:1.2;text-align:center}
/* Category motion belongs to selection, not viewport/font reflow. */
.category-nav a{transition:color .3s}
.category-nav.is-rotating a{transition:left .8s var(--ease),top .8s var(--ease),color .3s}
.mobile-exhibition-title,.mobile-accounting{display:none}
.sponsor-logos{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.sponsor-logos img{max-width:45%;max-height:70px;object-fit:contain}
.sponsors .material-note{margin:0;min-height:55px}
.poster-motion,.poster-motion-toggle{display:none}
.legend-theater-image{width:70px;height:auto}
.legend-photo-image{width:46px;height:auto;margin:0 12px}
.card-author{display:inline;overflow-wrap:anywhere}
.card-author+.card-author:before{content:' · '}
.card-author [lang=en]{font-family:SUITE,sans-serif;margin-left:.6em}
.designer-card:focus-visible{background:#a4a4a4}
.designer-card:focus-visible .designer-photo{opacity:1}
.profile-works-section{min-width:0;margin-top:40px}
.profile-works-section h2{font-size:clamp(23px,1.98vw,38px);font-weight:800}
.profile-works{margin-top:22px;padding:8px 0 18px}
.profile-works a{transition:transform .3s;transform-origin:center center;min-width:0}
.profile-works a:hover,.profile-works a:focus-visible{transform:scale(1.04)}
.profile-works small{display:block;font-size:12px;margin-top:12px}
.profile-works strong{overflow-wrap:anywhere}
.profile-contacts a{overflow-wrap:anywhere;min-width:0}
.floorplan-profile{margin-top:65px;border:0}
.floorplan-profile .profile-ray,.floorplan-profile .profile-work-links{display:none}
.floorplan-profile .profile-top{grid-template-columns:24.9% 1fr;gap:4%}
.floorplan-profile .profile-interview{margin-top:45px}
.floorplan-profile .interview-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.floorplan-profile .interview-grid h3{font-size:clamp(15px,1.25vw,24px)}
.floorplan-profile .profile-works a{flex-basis:32%}
.work-heading h1{font-weight:900}
.work-credit a,.work-credit strong,.work-credit span{font-weight:700}
.work-media-list:after{background:linear-gradient(180deg,#14141424 0%,transparent 29%,#141414 87%)}
.work-description,.work-end,.work-media-list:after{transition:opacity .3s,visibility 0s}
.description-hidden .work-description,.description-hidden .work-end{transition:opacity 1.022s,visibility 0s 1.022s}
.description-hidden .work-media-list:after{transition:opacity 1.022s}
.page-work-detail .site-footer{background:#141414;color:#fff}
.page-work-detail .site-footer .archive-link{color:#aaa}
.work-toolbar>span{background:none;backdrop-filter:none}
#description-toggle{position:fixed;right:24px;top:calc(var(--header) + 10px);opacity:0;pointer-events:none;transition:opacity .2s}
#description-toggle:focus-visible{opacity:1;pointer-events:auto;background:#141414;outline-color:#fff}
.related-works .work-card{transition:flex .3s}
.related-works .work-card:focus-visible{flex:1.7}
.message-circle.arrived{animation:none}
.message-dialog{z-index:96;background:#e6e7e9ee;margin:0}
.message-open .message-lines{z-index:96;pointer-events:none}
.message-disc{width:78.8542vw;min-height:78.8542vw;margin:7.7083vw auto 0;padding:12.5vw 0 10vw;place-items:start center;animation:none}
.message-disc:before{border-radius:0;box-shadow:none;mask:url('assets/message-disc.svg') center/100% 100% no-repeat;background:var(--disc-color)}
.message-disc:after{display:none}
.message-dialog-content{width:34%;max-width:none}
.message-dialog-content>time{font-size:clamp(12px,.8333vw,16px);margin-bottom:2.4vw}
.message-dialog-content>p{font-size:clamp(14px,.9375vw,18px);line-height:1.9}
.message-dialog-bottom{font-size:clamp(12px,.8333vw,16px);margin-top:2.8vw}
.message-dialog-bottom button{font-size:inherit}
.message-day{border-top:1px solid #00000016}
.message-circle:focus-visible:before{opacity:1}

@media(min-width:701px){
  .exhibition-heading h1{line-height:1.23;margin-bottom:13px}
  .exhibition-heading .exhibition-date{font-size:clamp(14px,1.40625vw,29px);margin-bottom:14px}
  .intro-copy{margin-top:7.5vw}
  .signature br{display:none}
  .signature strong{margin-left:.3em}
  .profile-top{grid-template-columns:24.9% 31.4% 1fr;gap:3.8%;min-height:0}
  .designer-profile:not(.floorplan-profile){position:relative}
  .designer-profile:not(.floorplan-profile) .profile-ray{position:absolute;left:61.55%;top:-6.4vw;width:38.6%;height:71.79vw;mask:url('assets/profile-work-mask.svg') center/100% 100% no-repeat;background:#ccc}
  .designer-profile:not(.floorplan-profile) .profile-ray>img{display:none}
  .designer-profile:not(.floorplan-profile) .profile-ray a{height:100%}
  .profile-contacts{font-size:clamp(13px,1.25vw,24px);margin-top:2.8vw}
  .profile-work-links{gap:1.6vw;margin-top:3vw}
  .profile-work-links a{font-size:clamp(16px,1.3542vw,26px)}
  .profile-work-links small{font-size:clamp(13px,1.25vw,24px);color:#000;margin-bottom:8px}
  .profile-interview{margin-top:2.8vw}
  .interview-grid{display:block;width:57.6%}
  .interview-grid h3{font-size:clamp(16px,1.25vw,24px);margin-bottom:8px}
  .interview-grid p{font-size:clamp(14px,1.0417vw,20px);line-height:1.9}
  .interview-grid>div+div{margin-top:20px}
  .designer-profile:not(.floorplan-profile) .profile-works-section{display:none}
  .floorplan-profile .interview-grid>div+div{margin-top:0}
  .floorplan-profile .profile-works-section{margin-top:50px}
  .work-toolbar>a{position:absolute;left:-10000px}
  .work-toolbar>a:focus-visible{position:static}
  .messages-layout{padding-top:29.58vw}
  .message-day{padding-top:32px}
  .message-day>time{left:3%;transform:none;top:-15px;font-size:clamp(12px,.92vw,18px);padding:0 4px}
  .message-circle strong{font-size:clamp(12px,.9375vw,18px)}
  .message-circle>span{font-size:clamp(10px,.7292vw,14px);line-height:1.3;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-align:center;max-width:78%;margin-top:8px}
  .message-form{width:75%;max-width:1443px}
}

@media(max-width:700px){
  .desktop-brand-link{display:none}
  .site-footer{font-size:12px;min-height:156px;max-width:none;padding:36px 20px;margin-top:35px}
  .footer-break{display:inline}
  .footer-space{display:none}
  .about-layout{padding-top:80px}
  .poster-column{margin:0 -20px}
  .exhibition-poster.has-motion{position:relative}
  .exhibition-poster.has-motion>img{display:none}
  .poster-motion{display:block;width:100%;aspect-ratio:1413/2000;object-fit:cover}
  .poster-motion-toggle{display:block;position:absolute;right:12px;bottom:12px;border:1px solid #0004;border-radius:20px;background:#ffffffe6;font-size:10px;padding:6px 10px}
  .legend-theater-image{width:34px}
  .legend-photo-image{width:25px;margin:0 4px}
  .exhibition-heading{display:none}
  .mobile-exhibition-title{display:block;font:800 26px/1.3 SUITE,sans-serif;margin-bottom:28px}
  .intro-copy{margin-top:82px}
  .mobile-intro .english-copy{margin-top:28px;line-height:1.9;font-size:14px}
  .about-copy{font-size:14px;line-height:1.9}
  .about-section{margin-top:77px}
  .about-section h2{margin-bottom:23px}
  .signature{font-size:12px;line-height:1.8}
  .people-table>div{font-size:14px;line-height:2.65;grid-template-columns:39% 1fr}
  .people-table dd{white-space:normal;word-break:keep-all}
  .name-gap{width:5px}
  .graduate-names{font-size:14px;line-height:2.65;gap:0 .55em}
  .committee>div{grid-template-columns:27% 1fr}
  .desktop-accounting{display:none}
  .mobile-accounting{display:inline}
  .venue-map img{aspect-ratio:1}
  .venue h3{font-size:16px}
  .venue>p{font-size:14px;line-height:1.8}
  .sponsors .material-note{font-size:12px}
  .profile-selected .designers-layout:not(.floorplan-layout){padding-top:82px}
  .profile-selected .designers-layout:not(.floorplan-layout) .designer-tabs{display:none}
  .profile-top{grid-template-columns:46% 1fr;gap:18px}
  .profile-english{font-size:22px;overflow-wrap:anywhere}
  .profile-contacts{font-size:12px;line-height:1.8}
  .profile-interview{margin-top:35px}
  .interview-grid h3{font-size:14px;line-height:1.65}
  .profile-works-section{margin-top:35px}
  .profile-works-section h2{font-size:18px}
  .profile-works{margin-top:16px;margin-right:-20px;padding-right:20px;gap:8px}
  .profile-works a,.floorplan-profile .profile-works a{flex-basis:49%}
  .profile-works small{font-size:10px;margin-top:8px}
  .profile-works strong{font-size:12px;line-height:1.5;margin-top:3px}
  .floorplan-profile{margin-top:35px}
  .floorplan-profile .profile-top{grid-template-columns:46% 1fr;gap:18px}
  .floorplan-profile .profile-text{display:contents}
  .floorplan-profile .profile-picture{grid-column:1;grid-row:1 / span 3}
  .floorplan-profile .profile-text>h1{grid-column:2;font-size:28px;margin:0;align-self:end}
  .floorplan-profile .profile-english{grid-column:2;align-self:start}
  .floorplan-profile .profile-contacts{grid-column:2;margin:0;align-self:start}
  .floorplan-profile .profile-text>.material-note{grid-column:2}
  .floorplan-profile .profile-interview{grid-column:1/-1;margin-top:18px}
  .floorplan-profile .interview-grid{display:block}
  .floorplan-profile .interview-grid h3{font-size:14px}
  .category-nav{mask:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
  .works-selector{height:max(230px,calc(49vw + 38px))}
  .category-nav a{width:max-content;max-width:none;white-space:nowrap;left:clamp(calc(24px + var(--label-half,65px)),var(--mx,50%),calc(100% - 24px - var(--label-half,65px)))}
  .works-title{font-size:16px}
  .card-caption strong{font-size:18px}
  .card-caption>span{font-size:12px;line-height:1.4}
  .card-author [lang=en]{font-size:10px}
  .work-toolbar{left:22px;right:22px;font-size:12px}
  .work-toolbar>a{font-weight:700;letter-spacing:-.02em}
  .work-description{margin:0 24px;padding-top:86px}
  .work-heading{gap:22px}
  .work-heading p{margin-top:0}
  .work-prose{margin-top:38px;font-size:12px;line-height:2.1}
  .work-media-list:after{background:linear-gradient(180deg,#14141420,transparent 18%,#141414 100%)}
  .messages-layout{padding-top:286px}
  .message-day{padding-top:45px}
  .message-day>time{top:12px}
  .message-disc{width:122.4vw;min-height:122.4vw;margin:157px 0 35px -11.2vw;padding:83px 0 70px}
  .message-dialog-content{width:69.2vw;max-width:none}
  .message-dialog-content>time{font-size:14px;line-height:2;margin-bottom:36px}
  .message-dialog-content>p{font-size:12px;line-height:2.25}
  .message-dialog-bottom{font-size:11.2px;margin-top:32px;gap:20px}
}
@media(max-width:360px){
  .works-selector{height:max(215px,calc(49vw + 38px))}
  .people-table>div{font-size:12px}
  .graduate-names{font-size:13px}
  .profile-english{font-size:18px}
  .profile-contacts{font-size:11px}
  .message-dialog-content>p{line-height:2}
}
@media(prefers-reduced-motion:reduce){
  .work-description,.work-end,.work-media-list:after{transition:none!important}
  .description-hidden .work-description,.description-hidden .work-end{transition:none!important}
}

/* 2026-10-22: nine source prototypes and the 10/21 final delivery. */
.poster-column{position:static}
.top-button{background:transparent;border-radius:50%}
.top-button>img{width:100%;height:100%;object-fit:contain}
.sponsor-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sponsor-logos img{width:100%;max-width:100%;max-height:55px}
.designer-card:hover .designer-shape,.designer-card.touch-preview .designer-shape{transform:none}
.designer-card.selected:not(:hover){background:transparent}
.profile-picture.no-photo img{width:100%;height:100%;object-fit:cover;opacity:1}
.profile-ray.received-ray a img{object-fit:cover}
.booth>span:first-child{opacity:1}
.designer-profile{scroll-margin-top:0}
.message-lines{background-image:url('assets/messages-background.webp')}
.message-dialog{background:#e6e7e9 url('assets/messages-background.webp') center top/cover no-repeat;background-attachment:fixed}
.message-circle:before{background:url('assets/message-hover.webp') center/contain no-repeat}
.related-icon{display:inline-block;vertical-align:middle;width:28px;height:15px;object-fit:contain;margin-right:6px}
.exhibition-video-open{display:block;border:0;padding:14px 0;font-size:13px;font-weight:600}
.exhibition-video-dialog{border:0;padding:44px 12px 12px;background:#141414;color:white;width:min(1200px,94vw);max-width:94vw}
.exhibition-video-dialog::backdrop{background:#000b}
.exhibition-video-dialog video{display:block;width:100%;max-height:80vh}
.exhibition-video-close{position:absolute;top:10px;right:12px;border:0;color:white;padding:5px}
@media(min-width:701px){
 .message-disc:before{mask-image:url('assets/message-disc-received.webp');mask-size:100% auto;mask-position:center top}
}
@media(max-width:700px){
 .main-nav>a:hover,.main-nav>a:focus-visible,.main-nav>a:active{background:var(--pink);color:#fff}
 .exhibition-video-open{margin-left:20px}
 .sponsor-logos{gap:16px}

}
@keyframes message-color-arrival{0%,15%{opacity:1}55%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.message-open .message-disc:after{display:none}}

/* Original interaction sequence, re-audited against source frames 2026-10-22. */
.message-circle{overflow:visible;transition:none;animation:message-arrival .5s ease-in both;animation-delay:0s}
.message-circle:before{inset:-27.174%;pointer-events:none;transition:opacity .3s cubic-bezier(0,0,.58,1)}
.message-circle:hover,.message-circle:focus-visible,.message-circle.touch-preview{transform:none;z-index:2}
.message-circle:hover:before{opacity:0}
.message-circle.touch-preview:before,.message-circle:focus-visible:before{opacity:1}
@media(hover:hover) and (pointer:fine){.message-circle:hover:before{opacity:1}}
@keyframes message-arrival{from{opacity:0}to{opacity:1}}
.message-field .input-arrow{display:block;width:40px;aspect-ratio:50/48;flex:none}
.message-field .input-arrow img{display:block;width:100%;height:100%}
.message-dialog{isolation:isolate;background:transparent;scrollbar-gutter:auto;scrollbar-width:none}
.message-dialog::-webkit-scrollbar{display:none}
.message-dialog-background{position:fixed;inset:0;z-index:-2;background:#e6e7e9 url('assets/messages-background.webp') center top/cover no-repeat;pointer-events:none}
.message-detail-page{position:relative;overflow:hidden;min-height:100%;pointer-events:none}
.message-disc{min-height:48.4896vw;margin:7.7083vw auto 0;padding:12.5521vw 0 6vw;pointer-events:none}
.message-disc:before,.message-disc:after,.message-open .message-disc:after{display:none}
.message-disc-art{position:absolute;top:0;left:calc(50% - var(--graphic-size,78.8542vw)/2);width:var(--graphic-size,78.8542vw);height:var(--graphic-size,78.8542vw);z-index:-1;background:var(--disc-color);mask:url('assets/message-disc-received.webp') center top/100% auto no-repeat;pointer-events:none}
.message-dialog-content{width:33.025%;pointer-events:auto}
.message-dialog-content>time{font-size:clamp(11px,.9375vw,18px);line-height:1.635;margin-bottom:3.6979vw}
.message-dialog-content>p{font-size:clamp(12px,1.04167vw,20px);line-height:2}
.message-dialog-bottom{margin-top:3.9583vw}
.page-messages .message-detail-footer{position:relative;z-index:1;min-height:13.2292vw;padding:5.26vw 20px 4.35vw;margin:0;color:#111;pointer-events:none}
.message-flight{position:fixed;z-index:2;border-radius:50%;background:var(--disc-color);opacity:0;pointer-events:none}
.message-flight-glow{position:absolute;inset:-27.174%;background:url('assets/message-hover.webp') center/contain no-repeat}
@media(max-width:700px){
 .message-field .input-arrow{width:20px;aspect-ratio:20/20.080400466918945}
 .message-day{border-top:0}
 .message-circle>span{line-height:1.4}
 .message-disc{min-height:122.3919vw;margin:157px 0 15px -11.2vw;padding:87px 0 70px}
 .message-disc-art{mask-image:url('assets/message-disc.svg');mask-size:100% 100%}
 .message-dialog-content{width:69.2vw}
 .message-dialog-content>time{font-size:14px;line-height:2;margin-bottom:36px}
 .message-dialog-content>p{font-size:12px;line-height:2.25}
 .message-dialog-bottom{font-size:11.2px;margin-top:32px}
 .page-messages .message-detail-footer{min-height:156px;padding:36px 20px;margin:0}
}
@media(prefers-reduced-motion:reduce){.message-circle,.message-circle:before{animation:none;transition:none}}

/* The supplied desktop PNG is cropped to the final frame. Use its complete
   Figma vector while moving, so the small travelling circle is never cut off. */
.message-dialog.is-animating .message-disc-art{mask-image:url('assets/message-disc.svg');mask-size:100% 100%}

/* Designer hover is a full portrait, with the original graphic restored on selection. */
.designer-card{isolation:isolate}
.designer-card>.designer-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:opacity .4s cubic-bezier(0,0,.58,1)}
.designer-card>strong,.designer-card>.designer-english{position:relative;z-index:2}
.designer-card.selected{background:transparent}
.designer-card.selected>.designer-photo{opacity:0}
/* Related works grow about their centre; titles appear below the image on hover. */
.related-works{padding-bottom:32px}
.related-works>div{align-items:center}
.related-works .work-card{overflow:visible}
.related-works .card-caption{left:0;right:0;top:calc(100% + 8px);bottom:auto;opacity:0;color:#fff;transition:opacity .3s;pointer-events:none}
.related-works .card-caption strong{font-size:clamp(10px,.72vw,14px);font-weight:500;line-height:1.4}
.related-works .card-caption>span{display:none}
.related-works .work-card:hover .card-caption,.related-works .work-card:focus-visible .card-caption{opacity:1}
.floorplan-profile .profile-works small{display:none}
.floorplan-profile .profile-works strong{opacity:0;transition:opacity .3s}
.floorplan-profile .profile-works a:hover strong,.floorplan-profile .profile-works a:focus-visible strong{opacity:1}
.category-ray img{transition:none}
.works-selector:has(.category-nav.is-rotating) .category-ray img{transition:transform 1.043645s var(--category-ease,ease-out)}
.category-nav.is-rotating a{transition:left 1.043645s var(--category-ease,ease-out),top 1.043645s var(--category-ease,ease-out),color .3s}
@media(max-width:700px){
 .works-selector:has(.category-nav.is-rotating) .category-ray img{transition-duration:1.022094s}
 .category-nav.is-rotating a{transition-duration:1.022094s}
 .related-works .card-caption strong{font-size:10px}
}
@supports(transition-timing-function:linear(0,1)){.works-selector{--category-ease:linear(0.00000,0.02870,0.10066,0.19824,0.30800,0.42016,0.52789,0.62679,0.71434,0.78943,0.85197,0.90259,0.94234,0.97255,0.99463,1.00996,1.01988,1.02556,1.02806,1.02825,1.02685,1.02445,1.02150,1.01832,1.01517,1.01220,1.00952,1.00718,1.00520,1.00357,1.00226,1.00125,1.00049,0.99995,0.99958,0.99936,0.99923,0.99919,0.99921,0.99926,1.00000)}}
@media(prefers-reduced-motion:reduce){.category-ray img,.category-nav.is-rotating a,.designer-card>.designer-photo{transition:none!important}}
.category-nav .category-ghost{pointer-events:none!important}
/* E23 / E24: 258×145 cards; hover state 310×175 beside 246×138. */
.related-works .work-card{aspect-ratio:258/145;transition:flex .3s ease-in-out}
.related-works .work-card:hover,.related-works .work-card:focus-visible{flex:1.2602}
@media(min-width:701px){
 .related-works{width:27.2917vw;max-width:100%;justify-self:end}
 .related-works>div{width:100%;min-height:9.1146vw;gap:.41667vw;transition:width .3s ease-in-out,margin-left .3s ease-in-out}
 .related-works>div:has(.work-card:hover,.work-card:focus-visible){width:108.4%;margin-left:-8.4%}
}
/* Keep the prototype's dissolve without a browser snapshot overlay that swallows
   the first card click while the destination page is appearing. */
@keyframes designer-page-arrival{from{opacity:0}to{opacity:1}}
.designers-layout{animation:designer-page-arrival .8s cubic-bezier(0,0,.58,1)}
@media(prefers-reduced-motion:reduce){.designers-layout{animation:none}}
.message-disc.is-expanded .message-disc-art{mask-image:url('assets/message-disc.svg');mask-size:100% 100%}

.work-card.tap-opening:after{opacity:1}
@media(max-width:700px){
 .main-nav>a.menu-active{background:var(--pink);color:#fff}
 .work-description,.work-end,.work-media-list:after{transition:opacity .05s,visibility 0s}
 .description-hidden .work-description,.description-hidden .work-end{transition:opacity .916174s,visibility 0s .916174s}
 .description-hidden .work-media-list:after{transition:opacity .916174s}
}
.designer-card,.designer-card.selected,.designer-card.selected:not(:hover),.designer-card:hover,.designer-card:focus-visible,.designer-card.touch-preview{background:transparent}
.designer-card.no-photo:before{content:'';position:absolute;inset:0;z-index:0;opacity:0;background:linear-gradient(#66666680,#d9d9d980);transition:opacity .4s ease-out;pointer-events:none}
.designer-card.no-photo.touch-preview:before,.designer-card.no-photo:focus-visible:before{opacity:1}
@media(hover:hover){.designer-card.no-photo:hover:before{opacity:1}}
/* Keep every category outside the ray, including longer names in an outer slot. */
.category-nav a{top:calc(var(--cy,22vw) + 1vw + 8px);font-size:clamp(12px,1.5625vw,30px);gap:clamp(8px,.625vw,12px)}
.category-nav a i{width:clamp(8px,.9375vw,18px);height:clamp(8px,.9375vw,18px)}
.category-ray{top:-41.7292vw}
.works-selector{height:calc(28vw + 8px);max-height:none}
/* Revision 2 p5 / 10-27: preview the top of the actual detail stream.
   Size containment clips a 16:9 window without centering, enlarging, or
   duplicating an image. Opening only removes the clip after the overlay fades. */
/* Keep the same canvas width even when a short gallery no longer scrolls. */
.work-detail-document{overflow-y:scroll;overflow-anchor:none}
.work-media-list{position:relative;aspect-ratio:16/9;contain:size;overflow:hidden;isolation:isolate}
.work-media-list:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3}
.first-media .media-visual:after{content:none}
.work-media-list .media-visual,.work-media-list .media-visual.contain{display:block;padding:0;min-height:0;aspect-ratio:auto}
.work-media-list .media-visual>img,.work-media-list .media-visual.contain>img{display:block;width:100%;height:auto;max-height:none;max-width:none;object-fit:contain;object-position:center top}
.work-media-list .media-visual>video,.work-media-list .media-visual>iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.media-open-surface{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}
.media-open-surface:focus-visible{outline:2px solid var(--pink);outline-offset:-7px}
.media-open-surface[hidden]{display:none}
.gallery-open .work-media-list{contain:none;aspect-ratio:auto}
.gallery-open .work-media-list:after{height:var(--work-preview-height,100%);bottom:auto}
.gallery-open .work-description,.gallery-open .work-end{display:none}
.description-hidden .work-toolbar>a{visibility:hidden;pointer-events:none}
.description-hidden .work-media-list:after{opacity:0}
/* Source tooltip: square black panel, DESIGNER label, name, no rounded pill. */
.booth .booth-name{bottom:calc(100% + 7px);width:max-content;min-width:clamp(84px,12.8125vw,246px);min-height:clamp(42px,5.7292vw,110px);padding:8px 10px;border-radius:0;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;line-height:1.2}
.booth-name small{font-size:clamp(8px,1.1458vw,22px);font-weight:600}
.booth-name strong{font-size:clamp(12px,1.5625vw,30px);font-weight:700}
.booth[aria-pressed=true]:not(:hover):not(:focus-visible) .booth-name{opacity:0}
.message-disc.is-expanded{height:var(--expanded-size);min-height:var(--expanded-size);padding-top:0;padding-bottom:0;place-items:center}
.message-disc.is-expanded .message-disc-art{mask-image:url('assets/message-disc.svg');mask-size:100% 100%}
@media(max-width:700px){
 .page-about{background:linear-gradient(#e6e7e9 0,#e6e7e9 calc(80px + 141.54vw),#fff calc(160px + 141.54vw))}
 .menu-open .site-header,.page-work-detail.menu-open .site-header,.message-open.menu-open .site-header{color:#000}
 .menu-open .main-nav{position:fixed;inset:var(--header) 0 0;height:calc(100dvh - var(--header));min-height:calc(100vh - var(--header));background:#fff;overflow-y:auto;color:#000}
 .main-nav>a,.main-nav>a[aria-current]{background:#fff;font-weight:600;padding:13px 20px}
 .main-nav>a:hover,.main-nav>a:focus-visible,.main-nav>a.menu-active,.main-nav>a:active{background:var(--pink);color:#fff}
 .menu-open .site-footer,.menu-open .private-badge,.menu-open .top-button{visibility:hidden}
 .menu-footer{display:none}
 .designer-card.no-photo:before{background:linear-gradient(#73737380,#d9d9d980)}
 .category-ray{top:-76vw}
 .category-nav a{top:calc(var(--my,49vw) + 3vw);font-size:12px;gap:8px}
 .category-nav a i{width:7px;height:7px}
 .works-selector{height:max(245px,calc(52vw + 38px))}
 .message-disc.is-expanded{height:var(--expanded-size);min-height:var(--expanded-size);padding:0;place-items:center}
}
@media(max-width:360px){.category-nav a{font-size:10px}.category-nav a[aria-current]{font-size:12px}.works-selector{height:230px}}
@media(prefers-reduced-motion:reduce){.designer-card.no-photo:before{transition:none}}

/* Figma E24 textCase=UPPER; English descriptions and profile names retain their case. */
.work-heading h1,.work-heading p,.work-credit,.work-author-person>a>span,.related-works h2{text-transform:uppercase}

/* Original Figma 28:8005–8015 / 7:3008–3020. The Oct 13 revision changes
   the full-page background only; it retains these white input fields. */
.message-form{grid-template-columns:minmax(0,1fr)}
.name-field{position:relative}
.message-field{min-width:0}
.name-field,.message-field{position:relative;border:0;border-radius:999px}
/* Figma uses an inside stroke. Paint it without CSS border's device-pixel
   rounding, so 2.354353px remains fractional and never changes content insets. */
.name-field:before,.message-field:before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--field-stroke) #000;pointer-events:none;z-index:1}
.name-field>span{display:none}
.name-field:focus-within>span{display:block;position:absolute;right:12px;padding:0;pointer-events:none}
@media(min-width:701px){
 .message-form{--composer-height:clamp(48px,5.2083333333vw,100px);--field-stroke:clamp(1.25px,.1226225744vw,2.3543534279px);width:75.180536906vw;max-width:1443.466308594px;gap:clamp(4px,.416667vw,8px)}
 .name-field{width:clamp(210px,17.39583vw,334px);min-width:0;height:var(--composer-height)}
 .name-field input{height:100%;padding:0 clamp(18px,2.03125vw,39px);font-size:clamp(14px,1.328922vw,25.5153px)}
 .name-field input,.message-field textarea{line-height:clamp(21px,2.2148702542vw,42.5255088806px)}
 .message-field{min-height:var(--composer-height);padding:clamp(6px,.6vw,11.5px) clamp(9px,1.0138702396vw,19.466308594px) clamp(6px,.6vw,11.5px) clamp(18px,1.979166667vw,38px);gap:clamp(16px,1.666666667vw,32px)}
 .message-field textarea{font-size:clamp(14px,1.354167vw,26px);padding:0}
 .message-field .input-arrow{width:clamp(24px,2.604167vw,50px);aspect-ratio:50/48}
 .message-field>button{width:clamp(56px,5.625vw,108px);height:clamp(34px,3.75vw,72px);padding:0;font-size:clamp(12px,1.041667vw,20px)}
}
@media(max-width:700px){
 .message-form{--field-stroke:1px;gap:3.614px}
 .name-field{width:180px;min-width:0;height:48.193px}
 .name-field input{height:100%;padding:0 18px}
 .message-field{min-height:48.193px;padding:7px 9px 7px 18px;gap:12px}
 .message-field .input-arrow{width:20px;aspect-ratio:20/20.080400466918945}
 .message-field textarea{padding:0}
 .message-field>button{width:50px;height:34.137px;padding:0}
}
.name-field:focus-within input{padding-right:48px}
