/* Clear destinations, visible collections, one subject per room. */
.gallery-directory{padding:0 24px;justify-content:center;top:66px}
.gallery-directory>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:1180px;gap:0}
.gallery-directory a{justify-content:center;padding:15px 8px;font:16px/1.5 var(--sans);letter-spacing:.02em;min-height:58px;text-decoration:none}
.gallery-directory a[aria-current]{background:#c2a7e915;border-bottom:2px solid #d8c1f3}
.gallery-room{scroll-margin-top:140px!important}
.gallery-room>.room-entrance{display:block!important;max-width:1280px;padding:70px 50px 32px;border-top:1px solid #ae99c855}
.room-sign{align-items:flex-start;gap:24px}
.room-sign .room-number{font:36px/1.45 var(--en);border:0;padding:0;color:#b9a1d3}
.room-sign h2{font:400 clamp(28px,3vw,40px)/1.5 var(--jp);letter-spacing:.04em;margin:0 0 12px}
.room-sign p{font:18px/1.9 var(--sans)!important;color:#d1c7db;max-width:760px}
.gallery-room .room-exit{display:block!important;padding:24px 24px 60px}
.room-next{font-size:17px;padding:15px 24px;background:#292031;border-color:#9481a9;min-height:52px}
.room-next span{font:17px/1.5 var(--sans);letter-spacing:.02em}
#room-films>.room-entrance{border-top:0}
#works .sec-head{align-items:center;margin-bottom:28px}
#works h3,.catalog-heading h3,#approach .sec-head h3{font:400 28px/1.5 var(--jp);margin:0 0 14px;color:#f4eef9}
#works .sec-head p{font-size:18px!important;max-width:590px}
#filmArchive{margin:0;border:0;background:transparent;padding:0}
#filmArchive .archive-body{padding:0}
#works .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
#works .card{grid-column:auto!important;margin:0!important;width:100%;min-width:0;transform:none!important;align-self:start}
#works .card.hide{display:none!important}
#works .card h3{font-size:20px!important;line-height:1.6;margin:12px 0 8px}
#works .card .meta{display:block}#works .card .tag{font-size:13px}
#works .card .frame{aspect-ratio:16/9}
#works .card .frame img{object-fit:cover}
#works .works-note{margin-top:30px;font-size:17px}
.catalog-more{display:block;margin:32px auto 0;padding:16px 24px;border:1px solid #ac91c5;background:#30253d;color:#f8f4ff;font:18px/1.5 var(--sans);border-radius:5px;cursor:pointer;min-height:54px}
.catalog-more:hover,.project-action:hover{background:#493555}
.catalog-more[hidden],.project-card[hidden]{display:none!important}
#systems{padding:20px 0 50px!important}
.catalog-heading p,.catalog-note{color:#cdc3d6;font-size:18px!important;line-height:1.9}
.tool-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}
.tool-filters button{border:1px solid #766587;border-radius:6px;padding:12px 18px;min-height:48px;background:#1b1623;color:#e4dce9;font:17px/1.5 var(--sans);cursor:pointer}
.tool-filters button[aria-pressed=true]{background:#ded0ec;color:#24192f;border-color:#ded0ec}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px;align-items:stretch}
.project-card{min-width:0;background:linear-gradient(130deg,#292130,#1b1622);border:1px solid #8b76974d;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.project-card video{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#100d16;display:block}
.project-copy{padding:24px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.project-kind{color:#d1b3e9;font:14px/1.6 var(--sans)}
.project-card h4{font:500 22px/1.55 var(--sans);margin:14px 0;color:#f8f3fc;overflow-wrap:anywhere}
.project-card p{font:17px/1.9 var(--sans)!important;color:#d2c8dc;margin:0 0 24px}
.project-action{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:auto;border:1px solid #9783ab;border-radius:4px;padding:12px 15px;font:17px/1.5 var(--sans);text-decoration:none;background:#34283f;color:#f4eaff;min-height:48px}
.project-status{margin-top:auto;font:14px/1.6 var(--sans);color:#bcb0c8}
#room-studio .studio-show{border-top:1px solid #b59ace4d;margin-top:28px;padding-top:48px}
.studio-index h2{font-size:30px!important;line-height:1.5!important}
.studio-tabs button{border:1px solid #947ea4!important;border-radius:5px;margin:8px 0;padding:14px!important;min-height:52px!important;background:#251d30}
.studio-tabs button[aria-selected=true]{background:#d6c5e7!important;color:#251a31!important}
.studio-tabs button span{font-size:17px!important}
#room-iris #iris-feature{padding:20px 0 45px!important}
#room-iris .iris-feature-copy .mono{font-size:14px}
#room-story #story,#room-noel #about{padding-top:20px!important;padding-bottom:40px!important}
#room-noel #approach{padding:45px 0!important;border-top:1px solid #a58bb840!important}
#approach .sec-head .idx{display:none}
#room-line #line{padding-top:20px!important}
#room-line .manga-line{max-width:1040px}
a:focus-visible,button:focus-visible{outline:3px solid #dac0fa;outline-offset:4px}
@media(max-width:1000px){
 .project-grid,#works .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #hdr>nav{gap:16px}#hdr>nav a{font-size:14px}
}
@media(max-width:700px){
 .gallery-directory{top:62px;padding:0 10px}
 .gallery-directory>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 .gallery-directory a{font-size:14px!important;min-height:42px;padding:10px 3px;letter-spacing:0;line-height:1.45}
 .gallery-room,#works,#systems,.studio-show,#story,#about,#line,#approach{scroll-margin-top:166px!important}
 .gallery-room>.room-entrance{padding:42px 24px 20px!important}
 .room-sign{gap:14px}.room-sign .room-number{font-size:26px;line-height:1.7}
 .room-sign h2{font-size:27px;letter-spacing:0}
 .room-sign p{font-size:17px!important;line-height:1.8}
 .gallery-room .room-exit{padding-bottom:38px}
 #works .sec-head{display:block}#works .sec-head p{margin-top:12px}
 #works h3,.catalog-heading h3,#approach .sec-head h3{font-size:25px}
 #works .grid{gap:22px 14px}#works .card h3{font-size:17px!important}
 #works .card .tag{font-size:12px}
 #works .card .badge{font-size:10px;padding:4px 6px;top:6px;left:6px}
 #works .card .dur{font-size:11px;padding:4px 6px}
 #works .card .play-mark{width:30px;height:30px;font-size:22px;right:8px;top:8px}
 .project-grid{grid-template-columns:1fr;gap:18px}
 .project-copy{padding:22px}.project-card p{font-size:18px!important}
 .tool-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .tool-filters button{font-size:15px;padding:12px 8px}
 .catalog-more{font-size:17px;width:100%;padding:16px 12px}
 #room-studio .studio-show{padding-top:34px;min-height:0}
 #room-line #line-title{font-size:30px!important}
 .menu-links a{min-height:58px;padding:12px 0}
 .menu-contact-links{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Anchor spacing is defined once; older styles also added root padding. */
html{scroll-padding-top:0!important}
@media(max-width:700px){.gallery-room,#works,#systems,.studio-show,#story,#about,#line,#approach{scroll-margin-top:142px!important}}
