/* 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}
#room-films>.room-entrance{border-top:0}
#works .sec-head{align-items:center;margin-bottom:28px}
#works h3,.catalog-heading h3,#approach .sec-head h2{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-process #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}
 #works .sec-head{display:block}#works .sec-head p{margin-top:12px}
 #works h3,.catalog-heading h3,#approach .sec-head h2{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}}

/* Quiet section hierarchy: clear Japanese labels, space for the work itself. */
.gallery-room>.room-entrance{max-width:1280px;padding:76px 50px 36px;border:0}
.room-sign{display:block}
.room-sign h2{display:flex;align-items:center;gap:20px;font:400 clamp(28px,2.6vw,34px)/1.5 var(--jp);letter-spacing:.06em;margin:0;color:#ece3f3}
.room-sign h2:before{content:"";flex:0 0 30px;height:1px;background:#c4a9d5}
.room-sign p{margin:18px 0 0 50px;max-width:720px}
.gallery-room:before{background:radial-gradient(ellipse 85% 520px at 25% 0,#382a451f,transparent),linear-gradient(180deg,#14101bc7,#100d17a8)}
.gallery-room:after{border:0;background:none}
.gallery-directory{box-shadow:0 10px 24px #0002;border-bottom:1px solid #b6a0c525;background:#100d18ed}
.gallery-directory a:before{display:none!important}
.gallery-directory a[aria-current]:after{width:20px;height:1px;bottom:9px;border:0;border-radius:0;box-shadow:none;transform:translateX(-50%);background:#d8c0eb}
#room-films #filmstrip{padding-top:0;padding-bottom:60px}
#filmstrip .strip-heading{margin-bottom:24px}
#filmstrip .strip-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.5;font-weight:400}
#room-iris #iris-feature{padding:12px 0 76px!important}
#room-iris #iris-feature .iris-feature-inner{gap:clamp(32px,5vw,76px)}
#room-iris #iris-feature .iris-feature-art{box-shadow:5px 7px 0 #201928,0 24px 48px #0005;border-color:#af94c278}
#room-iris #iris-feature h2{font-size:clamp(34px,3.6vw,48px);line-height:1.55;font-weight:400;letter-spacing:.025em;margin:0 0 24px}
#room-iris #iris-feature .cta{width:auto;display:inline-flex;gap:24px;padding:16px 24px;border-radius:0}
#room-iris #iris-feature .iris-feature-links{flex-direction:column;gap:12px;margin-top:28px}
#room-iris #iris-feature .iris-feature-links a{color:#cfc2dc;text-decoration-color:#ac95be66}
#systems{padding-bottom:68px!important}
.tool-filters{gap:6px 24px;margin:0 0 22px;border-bottom:1px solid #ad96bf33}
.tool-filters button{border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;padding:12px 0;color:#c7bacf}
.tool-filters button[aria-pressed=true]{border-bottom-color:#d6bce9;background:transparent;color:#fff}
.project-grid{gap:42px 30px}
.project-card{background:transparent;border:0;border-top:1px solid #a78eb950;border-radius:0;overflow:visible}
.project-card video{margin-top:18px;border:1px solid #ad96bd55;box-shadow:0 14px 28px #0004}
.project-copy{padding:24px 0 0}
.project-card h4{font:400 24px/1.6 var(--jp);margin:12px 0 16px;letter-spacing:.025em}
.project-action{width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #ac91c555;border-radius:0}
.project-action:hover{background:transparent;color:#e4c8ff;border-color:#ddbef7}
.catalog-more{background:transparent;border:0;border-bottom:1px solid #b59aca;border-radius:0;padding:14px 4px;margin-top:42px;width:max-content;max-width:100%}
.catalog-more:hover{background:#b395d012}
#room-studio .studio-show{border-top:1px solid #b59ace30;padding-top:50px;margin-top:0;padding-bottom:70px}
.studio-index h2{font:400 28px/1.6 var(--jp)!important}
.studio-tabs button{border:0!important;border-bottom:1px solid #a48bbd40!important;background:transparent!important;border-radius:0;padding:15px 0!important}
.studio-tabs button[aria-selected=true]{background:transparent!important;color:#f1e5ff!important;border-bottom-color:#d6bce9!important}
.studio-tabs button small{display:none}
#room-story #story,#room-noel #about{padding-bottom:72px!important}
#room-story .story-heading h2{font-size:clamp(32px,3.6vw,48px);line-height:1.6;font-weight:400}
#room-noel #about .sec-head h2{font-size:clamp(38px,4vw,54px);font-weight:400}
#room-noel .profile-socials{background:none}
#room-line #line{padding-bottom:72px!important}
#room-line #line-title{font-weight:400;line-height:1.55}
@media(max-width:700px){
 .gallery-room>.room-entrance{padding:48px 24px 26px!important}
 .room-sign h2{font-size:27px;gap:14px;letter-spacing:.02em}
 .room-sign h2:before{flex-basis:22px}
 .room-sign p{margin-left:0;margin-top:16px}
 .gallery-directory a[aria-current]:after{bottom:5px;width:18px}
 #room-films #filmstrip{padding-top:0;padding-bottom:42px}
 #filmstrip .strip-heading h2{font-size:32px;line-height:1.55}
 #room-iris #iris-feature{padding-bottom:48px!important}
 #room-iris #iris-feature h2{font-size:32px;line-height:1.6;letter-spacing:0}
 #room-iris #iris-feature .iris-feature-inner{gap:32px}
 #room-iris #iris-feature .cta{width:100%;justify-content:space-between;padding:15px 18px}
 #room-iris #iris-feature .iris-feature-links{gap:16px;margin-top:24px}
 .tool-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
 .tool-filters button{font-size:16px;padding:12px 0;text-align:left}
 .project-grid{gap:32px}
 .project-copy{padding:22px 0 0}
 .project-card h4{font-size:25px}
 .catalog-more{font-size:17px;width:max-content;max-width:100%;padding:14px 4px}
 #room-studio .studio-show{padding-top:36px;padding-bottom:48px}
 .studio-index h2{font-size:27px!important}
 #room-story #story,#room-noel #about{padding-bottom:48px!important}
 #room-line #line{padding-bottom:48px!important}
}
