@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--bg:#c9cbca;--ink:#222523;--yellow:#e6ed37;--line:#a4aaa7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #636a08;outline-offset:6px}header{height:100px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.logo{font-weight:700;font-size:21px;letter-spacing:-1px}.logo i{display:inline-block;width:11px;height:11px;background:var(--yellow);margin-right:10px;border-radius:50%}.headnote{font-size:10px;letter-spacing:2px}.menu{border:0;background:none;cursor:pointer;font-size:12px;letter-spacing:2px;padding:15px}.menu span{display:inline-block;width:28px;border-top:1px solid; margin-left:14px;vertical-align:middle}.overlay{position:fixed;inset:0;background:var(--yellow);z-index:30;overflow:auto;padding:25px 7vw}.overlay[hidden]{display:none}.overlay .close{float:right;background:none;border:0;cursor:pointer;padding:20px}.overlay nav{padding-top:50px;display:grid;grid-template-columns:1fr 1fr}.overlay nav a{padding:15px;font-size:clamp(26px,5vw,70px);font-family:'Barlow Condensed',sans-serif}.overlay small{font-family:'Noto Sans JP';font-size:12px;margin-left:20px}.hero{min-height:640px;height:calc(100svh - 100px);max-height:1000px;position:relative;padding:70px 6vw 45px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2px;line-height:2}.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:clamp(95px,16vw,245px);line-height:.79;letter-spacing:-.035em;margin:40px 0;position:relative;z-index:2;pointer-events:none}.hero h1 span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:1px var(--ink)}.hero-visual{position:absolute;right:5%;top:17%;width:44%;height:65%;background:#333;overflow:hidden;clip-path:inset(0);animation:reveal 1.5s .2s both}.hero-visual img{width:100%;height:100%;object-fit:contain;position:absolute;background:#222;opacity:0;animation:slides 18s infinite}.hero-visual img:nth-child(2){animation-delay:6s}.hero-visual img:nth-child(3){animation-delay:12s}.herofoot{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:end}.herofoot p{font-size:15px;letter-spacing:3px;line-height:2}.scroll{font-size:10px;letter-spacing:2px}.scroll b{display:block;background:var(--yellow);width:38px;height:38px;border-radius:50%;text-align:center;padding-top:10px;margin-top:12px}.dot{position:absolute;width:160px;height:160px;border:1px solid var(--yellow);border-radius:50%;right:2%;bottom:5%;z-index:2}.home-index{padding:75px 6vw 100px;background:#bfc3c0}.index-intro{display:flex;justify-content:space-between;margin-bottom:40px;font-size:11px;letter-spacing:2px}.portal{border-top:1px solid #929994;position:relative;display:flex;align-items:center;min-height:142px;gap:28px;padding:22px 0;isolation:isolate}.portal:last-child{border-bottom:1px solid #929994}.num{font-family:'Barlow Condensed';font-size:16px;align-self:flex-start;padding-top:12px}.portal strong{font-family:'Barlow Condensed';font-weight:400;font-size:clamp(58px,8vw,120px);line-height:1;letter-spacing:-2px;transition:transform .45s}.portal .ja{font-size:12px;letter-spacing:2px;margin-left:auto}.arrow{font-size:30px;font-weight:300;width:55px;height:55px;border:1px solid #999f9b;border-radius:50%;text-align:center;line-height:49px;margin-left:35px;transition:.3s}.portal:before{content:'';position:absolute;inset:0 -6vw;background:var(--yellow);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .4s}.portal:hover:before,.portal:focus-visible:before{transform:scaleY(1)}.portal:hover strong{transform:translateX(12px)}.portal:hover .arrow{transform:rotate(-40deg);border-color:var(--ink)}footer{padding:45px 6vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px}footer a{text-decoration:underline}.study{font-size:10px;line-height:1.8;opacity:.65}.curtain{position:fixed;inset:0;z-index:50;pointer-events:none;display:flex}.curtain:before,.curtain:after{content:'';width:50%;background:#303532;animation:curtain 1.1s cubic-bezier(.75,0,.2,1) .15s forwards}.curtain:after{transform-origin:right}.curtain:before{transform-origin:left}.subhead{padding:65px 6vw 60px}.crumb{font-size:10px;letter-spacing:2px}.subhead h1{font-family:'Barlow Condensed';font-weight:400;font-size:clamp(80px,12vw,180px);line-height:1;margin:35px 0 15px;letter-spacing:-3px}.subhead h1:before{content:'';display:inline-block;width:15px;height:.7em;background:var(--yellow);margin-right:25px}.subhead p{font-size:13px;line-height:2.2;max-width:650px}.content{padding:0 6vw 100px;min-height:300px}.feature{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line);padding:35px 0;gap:6vw}.feature .art{min-height:320px;background:#303532;color:var(--yellow);display:flex;flex-direction:column;justify-content:center;padding:40px;font-size:clamp(25px,3vw,45px);line-height:1.7}.tag{font-size:10px;letter-spacing:1px;padding:7px 12px;background:var(--yellow);display:inline-block;margin:0 0 20px}.feature h2{font-size:23px;line-height:1.8;font-weight:500}.feature p{font-size:13px;line-height:2}.btn{display:inline-block;padding:16px 22px;border:1px solid #777f79;font-size:12px;margin-top:20px;transition:.3s}.btn:hover{background:var(--yellow)}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.tabs button{background:none;border:1px solid #979f99;padding:12px 20px;font-size:12px;cursor:pointer}.tabs button.active{background:var(--ink);color:var(--yellow)}.search{padding:15px;background:none;border:0;border-bottom:1px solid #7c867e;width:100%;max-width:450px;margin:0 0 25px;color:var(--ink)}.archive details{border-top:1px solid var(--line);padding:24px 0}.archive summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:17px;line-height:1.7}.archive summary:after{content:'＋';font-size:23px;font-weight:300}.archive details[open] summary:after{content:'−'}.archive pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:2.1;max-width:800px;padding:25px 0}.credit{font-size:10px;display:block;margin-bottom:7px;color:#59635b}.empty{padding:40px;border:1px solid var(--line);line-height:2.2;font-size:14px}.aboutcopy{font-size:clamp(22px,3vw,40px);line-height:2.2;max-width:1000px}.imagegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.imagegrid img{width:100%;background:#252925;aspect-ratio:1.39;object-fit:contain}.imagegrid p{font-size:12px}.replay{background:none;border:0;border-bottom:1px solid #777;cursor:pointer;font-size:10px;padding:4px 0;color:inherit}@keyframes curtain{to{transform:scaleX(0)}}@keyframes reveal{from{clip-path:inset(0 50%)}to{clip-path:inset(0)}}@keyframes slides{0%,30%{opacity:1;transform:scale(1)}33%,97%{opacity:0}100%{opacity:1;transform:scale(1.045)}}@media(max-width:700px){header{height:75px}.headnote{display:none}.hero{height:calc(90svh - 75px);min-height:550px;padding:40px 6vw 25px}.hero h1{font-size:23vw;margin-top:100px}.hero-visual{top:12%;right:6%;width:64%;height:55%}.herofoot p{font-size:12px}.dot{width:85px;height:85px}.home-index{padding-top:45px}.portal{min-height:110px;gap:15px}.portal strong{font-size:15vw}.portal .ja{font-size:10px;letter-spacing:0}.arrow{width:32px;height:32px;font-size:20px;line-height:28px;margin-left:5px}.num{font-size:12px}.index-intro{font-size:9px}.feature{grid-template-columns:1fr}.feature .art{min-height:230px}.subhead{padding-top:40px}.subhead h1{font-size:22vw}.subhead h1:before{width:8px;margin-right:15px}.imagegrid{grid-template-columns:1fr 1fr}.archive summary{font-size:14px}.overlay nav{grid-template-columns:1fr}.overlay small{font-size:10px}footer{flex-direction:column}.aboutcopy{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.curtain{display:none}.hero-visual img:first-child{opacity:1}.hero-visual img:not(:first-child){display:none}}

/* Brand wordmark refinement */
.logo{font-weight:400;letter-spacing:-.6px}.logo b{font-weight:800}.logo em{font-style:normal;font-weight:400}
.hero h1{line-height:.83;letter-spacing:-.035em}
.hero h1 .brand-stage{font-weight:800;letter-spacing:-.045em;animation:brand-in 1.1s cubic-bezier(.16,1,.3,1) .45s both}
.hero h1 .brand-creative{font-weight:300;letter-spacing:.015em;-webkit-text-stroke:.7px var(--ink);margin-top:12px;font-size:.84em;animation:brand-in 1.2s cubic-bezier(.16,1,.3,1) .65s both}
.hero h1 .brand-stage:after{content:'';display:block;width:74px;height:5px;background:var(--yellow);margin:15px 0 19px;animation:brand-rule 1s ease .95s both;transform-origin:left}
@keyframes brand-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){.hero h1 .brand-creative{font-size:.86em;letter-spacing:0;margin-top:8px}.hero h1 .brand-stage:after{width:45px;height:4px;margin:10px 0 12px}}

/* Editorial finish: existing identity, fine curves and measured spacing. */
:root{--bg:#c9cdca;--ink:#1f2b25;--yellow:#e6ed37;--line:#a9b0aa}
body{background-color:var(--bg);background-image:none;background-size:1600px 1100px;background-attachment:fixed}
header{height:112px;border-bottom:0;padding:0 5.2vw}
.logo{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:-.6px}.header-mark{width:51px;height:51px;object-fit:contain}.logo b{font-weight:700}.logo em{font-weight:400}.headnote{font-size:9px;letter-spacing:2.7px;opacity:.7}
.menu{font-size:10px;letter-spacing:2.2px}.menu span{width:35px;position:relative}.menu span:after{content:'';position:absolute;width:23px;border-top:1px solid;top:6px;right:0}
.hero{height:calc(100svh - 112px);min-height:670px;padding:35px 6vw 40px;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 78% 40%,rgba(240,243,228,.38),transparent 55%)}
.hero-kicker{display:flex;gap:35px;font-size:9px;letter-spacing:2.2px;align-items:center}.hero-kicker span:last-child{letter-spacing:1.8px;opacity:.7}
.hero h1{font-size:clamp(100px,14.5vw,230px);margin:65px 0 40px;line-height:.88;max-width:75%;z-index:3}
.hero h1 .brand-stage{font-weight:600;letter-spacing:-.025em}.hero h1 .brand-stage:after{width:45px;height:3px;margin:17px 0 22px}
.hero h1 .brand-creative{font-size:.9em;letter-spacing:.025em;font-weight:300;-webkit-text-stroke:.65px var(--ink);margin-top:0}
.hero-visual.brand-composition{right:8%;top:12%;width:34vw;max-width:500px;height:34vw;max-height:500px;background:none;overflow:visible;clip-path:none;display:flex;align-items:center;justify-content:center;animation:brand-in 1.6s .5s both}
.brand-composition .official-mark{width:76%;height:76%;object-fit:contain;position:relative;background:none;opacity:1;animation:none;filter:drop-shadow(0 15px 18px rgba(39,51,44,.07))}
.brand-orbit{position:absolute;inset:0;border:1px solid rgba(51,69,57,.16);border-radius:50%}.brand-orbit:after{content:'';position:absolute;inset:-13px;border:1px solid rgba(51,69,57,.07);border-radius:50%}.brand-orbit:before{content:'';position:absolute;width:10px;height:10px;background:var(--yellow);border-radius:50%;top:13%;right:13%}
.mark-caption{position:absolute;bottom:-43px;left:16%;right:16%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#536259}
.hero-side{position:absolute;right:3%;top:55%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;opacity:.6}
.herofoot{align-items:center}.herofoot p{font-size:14px;letter-spacing:4px;line-height:2.3;margin:0}.herofoot>div{display:flex;gap:30px;align-items:center}.scroll b{margin:0;border:1px solid #89988d;background:none;width:46px;height:46px;padding-top:12px}.replay{font-size:9px;border:0;opacity:.65}.home-index{background:rgba(184,193,185,.55);padding:90px 6vw 110px;position:relative}.home-index:before{content:'';position:absolute;inset:0;background:none center bottom/cover;opacity:.42;pointer-events:none}.index-intro{position:relative;margin-bottom:60px;line-height:1.9;font-size:10px;letter-spacing:2px}.index-intro>span:last-child{font-size:11px;letter-spacing:1.5px;line-height:2.2}.portal{min-height:140px;padding:26px 0;gap:38px;border-color:rgba(53,73,59,.22)}.portal strong{font-weight:400;font-size:clamp(55px,7vw,108px);letter-spacing:-.015em}.portal .num{font-size:12px;opacity:.6;padding-top:10px}.portal .ja{font-size:11px;letter-spacing:2px}.portal .arrow{border-color:rgba(53,73,59,.22);font-size:23px;width:45px;height:45px;line-height:40px}.portal:before{background:var(--yellow)}
footer{padding:48px 6vw;align-items:center;background:rgba(198,205,198,.5)}.footer-brand{display:flex;align-items:center;gap:20px;font-size:11px;line-height:2.2;letter-spacing:2px}.footer-brand img{width:67px;height:67px;object-fit:contain}.footer-brand small{font-size:8px;letter-spacing:1px}.study{font-size:8px}.subhead{background:linear-gradient(90deg,rgba(216,223,214,.3),transparent)}.subhead h1{font-weight:400}.subhead h1:before{height:.5em;width:5px;vertical-align:baseline}.content{position:relative}.kurie-about{float:right;width:190px;margin:0 0 35px 35px;object-fit:contain}.feature .art{background:#2e3c33}.overlay{background:var(--yellow) none center/cover}
@media(max-width:700px){header{height:88px}.header-mark{width:39px;height:39px}.logo{font-size:17px;gap:8px}.hero{height:calc(92svh - 88px);min-height:610px;padding-top:20px}.hero-kicker{display:block;font-size:8px}.hero-kicker span{display:block;line-height:2.2}.hero h1{font-size:24vw;max-width:100%;margin-top:140px;line-height:.9}.hero h1 .brand-stage{font-weight:600}.hero h1 .brand-creative{font-size:.88em;letter-spacing:0}.hero-visual.brand-composition{top:11%;right:8%;width:46vw;height:46vw;opacity:.9}.mark-caption{display:none}.hero-side{display:none}.herofoot p{font-size:11px;letter-spacing:2.5px}.herofoot>div{gap:12px}.replay{font-size:8px;max-width:90px}.home-index{padding-top:60px}.portal{min-height:110px;gap:18px}.portal strong{font-size:15vw}.portal .ja{font-size:9px;letter-spacing:0}.portal .arrow{width:30px;height:30px;line-height:25px;font-size:19px}.index-intro{margin-bottom:35px}.index-intro>span:last-child{font-size:9px}footer{align-items:start}.kurie-about{width:115px;margin-left:15px}body{background-attachment:scroll;background-size:900px 900px}}
@media(prefers-reduced-motion:reduce){.brand-composition .official-mark{display:block!important;opacity:1}.hero-visual.brand-composition{animation:none}}

/* Approved wordmark / branded parent-site direction */
.header-wordmark{width:200px;height:64px;object-fit:contain}.logo{gap:18px}.header-mark{width:44px;height:44px}.headnote{font-size:8px}
.hero{justify-content:space-between;min-height:620px;height:calc(94svh - 112px);max-height:880px;overflow:hidden}
.hero .identity-title{position:relative;z-index:3;width:100%;max-width:none;margin:10px 0 0;line-height:1;animation:brand-in 1.8s cubic-bezier(.16,1,.3,1) .45s both}
.identity-title img{width:100%;height:auto;display:block}
.hero-visual.brand-composition{top:-60px;right:-12%;width:63vw;height:63vw;max-width:900px;max-height:900px;z-index:-1;opacity:.047;transform:rotate(-12deg);animation:none;pointer-events:none}
.brand-orbit{display:none}.hero-visual.brand-composition .official-mark{width:100%;height:100%;filter:none}
.herofoot{padding-bottom:15px}.hero-statement p{font-size:20px;letter-spacing:4px;font-weight:500;line-height:1.8}.hero-statement>span{display:block;font-size:10px;letter-spacing:2px;margin-top:12px;opacity:.65}
.hero-side{top:35%}.hero-kicker{position:relative;z-index:2;padding-top:20px}.hero:after{content:'';position:absolute;left:6vw;top:36%;height:31%;width:1px;background:linear-gradient(transparent,rgba(59,75,63,.2),transparent);z-index:0}
.home-index{border-top:1px solid rgba(57,74,61,.14)}.portal strong{letter-spacing:.005em;font-weight:400}.portal .ja{letter-spacing:1px}.portal:after{content:'';position:absolute;left:0;bottom:0;width:0;border-bottom:2px solid var(--ink);transition:width .6s}.portal:hover:after{width:100%}
footer .footer-brand{gap:30px}.footer-brand img.footer-wordmark{width:210px;height:80px}.footer-brand>span{font-size:9px;letter-spacing:1px}.shop-art{align-items:center;gap:15px;background:rgba(231,237,105,.28)!important;min-height:370px!important}.shop-art img{width:210px;max-width:70%}.shop-art>span{font-size:16px;letter-spacing:4px;color:var(--ink)}
@media(max-width:700px){.header-wordmark{width:155px;height:50px}.header-mark{width:30px;height:30px}.logo{gap:10px}.hero{height:76svh;min-height:470px;max-height:700px;padding:20px 5vw 25px}.hero .identity-title{margin:0;width:108%;left:-4%;max-width:none}.hero-kicker{padding-top:10px;line-height:1.8}.hero-kicker span:last-child{font-size:8px}.hero-visual.brand-composition{top:25%;width:110vw;height:110vw;right:-35%;opacity:.045}.hero-statement p{font-size:14px;letter-spacing:1.5px}.hero-statement>span{font-size:8px;letter-spacing:1px}.herofoot{gap:12px;padding-bottom:0}.herofoot>div{gap:8px}.hero-side{display:none}.scroll b{width:34px;height:34px;padding-top:6px}.replay{max-width:70px;font-size:7px}.footer-brand{flex-wrap:wrap}.footer-brand img.footer-wordmark{width:185px;height:65px}.home-index{padding-top:45px}.index-intro>span:first-child{font-size:8px}.index-intro>span:last-child{font-size:8px}.portal{gap:13px;min-height:95px}.portal strong{font-size:14vw}.portal .ja{font-size:9px;letter-spacing:0}.portal .arrow{margin-left:2px}.shop-art{min-height:310px!important}}
@media(prefers-reduced-motion:reduce){.hero .identity-title{animation:none}}

.kurie-note{display:flex;align-items:center;justify-content:flex-end;gap:25px;padding:55px 0 0;position:relative}.kurie-note img{width:110px;height:110px;object-fit:contain}.kurie-note p{font-size:12px;letter-spacing:1px}.kurie-note a{font-size:10px;border-bottom:1px solid #89988d;padding-bottom:4px}@media(max-width:700px){.kurie-note{gap:15px;padding-top:35px}.kurie-note img{width:85px;height:85px}.kurie-note p{font-size:10px}.kurie-note .eyebrow{font-size:8px}}
/* Give the existing white/gold emblem its own ink-navy field. */
header .header-mark{width:52px;height:52px;object-fit:contain;padding:5px;background:#091b32;border:1px solid rgba(9,27,50,.15);border-radius:50%;flex-shrink:0}
@media(max-width:700px){header .header-mark{width:39px;height:39px;padding:4px}}

/* Defined linework replaces the indistinct logo watermark. */
.hero-visual.brand-composition{display:none}.hero:before{background:radial-gradient(ellipse at 78% 40%,rgba(240,243,228,.25),transparent 55%)}.home-index:before{opacity:.7}
/* Keep the full wordmark centered within the available viewport. */
html,body{width:100%;max-width:100%;overflow-x:clip}
.hero .identity-title{width:100%;max-width:1180px;min-width:0;left:auto;right:auto;margin:10px auto 0;align-self:center;flex-shrink:0;font-size:inherit}
.hero .identity-title img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto}
@media(max-width:700px){.hero{padding-inline:6vw}.hero .identity-title{width:100%;max-width:100%;left:auto;margin:0 auto}.herofoot{flex-wrap:wrap}.hero-kicker{max-width:100%}}
.herofoot .hero-statement{display:block;gap:0}
@media(max-width:700px){.herofoot .hero-statement{flex:1 1 100%}.hero-statement p{white-space:nowrap}.herofoot{gap:18px}}

/* Center the visible artwork, independently of the source PNG margins. */
header .header-badge{width:52px;height:52px;background:#091b32;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden}
header .header-badge img{display:block;width:42px;height:42px;object-fit:contain;transform:translate(-.67px,-1.14px)}
@media(max-width:700px){header .header-badge{width:39px;height:39px}header .header-badge img{width:31px;height:31px;transform:translate(-.49px,-.84px)}}
/* Optical alignment of Kurie artwork with its three-line caption. */
.kurie-note{align-items:center}.kurie-note>img{transform:translateY(8px)}
@media(max-width:700px){.kurie-note>img{transform:translateY(6px)}}

/* An intentional opening: pleated curtains, a pause, then a full reveal. */
.curtain{display:block;pointer-events:auto;overflow:hidden;isolation:isolate}
.curtain:before,.curtain:after{content:none!important;animation:none!important}
.curtain-panel{position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,#300c18 0%,#641b30 3%,#8a3048 5%,#57162a 8%,#250813 11%,#55172b 14%);box-shadow:inset 0 0 100px #17040d99;will-change:transform}
.curtain-left{left:0;border-right:1px solid #b8946155;transform-origin:left}
.curtain-right{right:0;border-left:1px solid #b8946155;transform-origin:right;background-position:50% 0}
.curtain-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#19030b70,transparent 30%,#1b030e80)}
.curtain-sign{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ecede0;letter-spacing:5px;pointer-events:none}
.curtain-sign img{width:110px;height:110px;object-fit:contain;margin-bottom:22px;filter:drop-shadow(0 2px 15px #0003)}
.curtain-sign span{font-size:11px;letter-spacing:5px}.curtain-sign small{font-size:12px;letter-spacing:4px;margin-top:24px;color:#e4c994}
.curtain-skip{position:absolute;right:5vw;bottom:35px;border:1px solid #c7cfc25c;padding:12px 19px;background:#26352f55;color:#e6e9df;font-size:10px;letter-spacing:1px;cursor:pointer;z-index:2}
.curtain.intro-running .curtain-left{animation:open-left 3.7s cubic-bezier(.68,.01,.2,1) 1.4s both}
.curtain.intro-running .curtain-right{animation:open-right 3.7s cubic-bezier(.68,.01,.2,1) 1.4s both}
.curtain.intro-running .curtain-sign{animation:sign-out 1.3s ease 1.35s both}
.curtain.intro-done{visibility:hidden;pointer-events:none}.curtain.intro-done .curtain-left{transform:translateX(-101%)}.curtain.intro-done .curtain-right{transform:translateX(101%)}
@keyframes open-left{0%{transform:translateX(0) scaleX(1)}100%{transform:translateX(-101%) scaleX(.82)}}
@keyframes open-right{0%{transform:translateX(0) scaleX(1)}100%{transform:translateX(101%) scaleX(.82)}}
@keyframes sign-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}
@media(max-width:700px){.curtain-sign img{width:90px;height:90px}.curtain-sign span{font-size:10px;letter-spacing:3px}.curtain-sign small{font-size:11px}.curtain-skip{bottom:25px;right:6vw}.replay{font-size:9px;opacity:.85;text-decoration:underline;text-underline-offset:5px;max-width:none}}
@media(prefers-reduced-motion:reduce){.curtain{display:none!important}}

/* Opening onto a warmly lit theatre stage. */
.hero{background:#292322 url('assets/theatre-opening-v1.png') center center/cover no-repeat;min-height:620px}
.hero:before{background:linear-gradient(180deg,rgba(12,9,12,.18),transparent 30%,transparent 62%,rgba(12,9,12,.38));z-index:-1}
.hero .identity-title{width:83%;max-width:1080px;margin:0 auto;filter:drop-shadow(0 2px 12px rgba(245,236,219,.12))}
.hero-kicker,.hero-side,.herofoot{color:#f2eee6}
.hero-kicker span:last-child{opacity:.85}.hero-side{opacity:.65}
.herofoot .replay{border-color:#c9bda9}.herofoot .scroll b{color:#252923}
@media(max-width:700px){.hero{background-position:center center;min-height:560px}.hero .identity-title{width:100%;max-width:100%}.hero-kicker{flex-wrap:wrap;gap:6px 20px}.herofoot p{letter-spacing:1.6px}.hero-side{display:none}}

/* The wordmark emerges from the depth of the illuminated stage. */
.hero .identity-title img{animation:none;transform-origin:50% 50%}
.stage-reveal .hero .identity-title img{animation:stage-logo-arrive 4.8s cubic-bezier(.25,.65,.3,1) 2s both;will-change:opacity,transform,filter}
@keyframes stage-logo-arrive{0%{opacity:0;transform:perspective(1000px) translateZ(-260px) translateY(12px);filter:blur(9px)}35%{opacity:.35}100%{opacity:1;transform:perspective(1000px) translateZ(0) translateY(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.stage-reveal .hero .identity-title img{animation:none;opacity:1;transform:none;filter:none}}

/* STAGE: official artwork framed by the parent brand. */
.stage-heading{padding-bottom:44px}.stage-heading-row{display:flex;align-items:center;justify-content:space-between;gap:40px}.stage-heading-row h1{margin-bottom:0}.stage-heading-row>div{padding-top:28px}.stage-heading-row p{font-size:16px;letter-spacing:2px;margin-top:12px}
.stage-content{padding:0 6vw 90px}.stage-section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:11px;letter-spacing:2px}.production-visual{display:block;position:relative;background:#371e23;overflow:hidden}.production-visual img{display:block;width:100%;height:auto;transition:transform .8s}.production-visual:hover img{transform:scale(1.018)}.visual-link{position:absolute;right:20px;bottom:20px;padding:12px 17px;background:#172029dc;color:#f3eee3;font-size:9px;letter-spacing:2px;backdrop-filter:blur(8px)}
.production-info{display:grid;grid-template-columns:1fr 2.2fr;gap:7vw;padding:50px 0 65px}.production-date{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;padding-right:35px}.production-date>span{font-family:'Barlow Condensed',sans-serif;font-size:25px;letter-spacing:3px}.production-date strong{font-family:'Barlow Condensed',sans-serif;font-size:clamp(62px,7vw,100px);font-weight:400;line-height:1.15;letter-spacing:-2px;white-space:nowrap}.production-date strong span{font-size:13px;letter-spacing:1px;margin-left:15px}.date-stroke{height:30px;border-left:1px solid #647167;margin:5px 0 5px 15px}.production-date small{margin-top:25px;font-size:11px;letter-spacing:2px}.production-copy h2{font-size:clamp(24px,3vw,41px);font-weight:500;line-height:1.6;letter-spacing:1px;margin:0 0 26px}.production-copy h2>span{display:block;font-size:.56em;font-weight:400;letter-spacing:.5px}.production-copy>p{font-size:12px;line-height:2.2}.production-copy .production-lead{font-size:17px;letter-spacing:2px}.production-facts{margin:26px 0 0;font-size:12px}.production-facts>div{display:flex;padding:12px 0;border-bottom:1px solid #a9b0aa;gap:28px}.production-facts dt{flex:0 0 40px;color:#526057}.production-facts dd{margin:0;line-height:1.8}.production-actions{display:flex;gap:12px;flex-wrap:wrap}.production-actions .btn{display:flex;justify-content:space-between;gap:35px;min-width:210px;align-items:center}.official-button{background:var(--ink);color:#eaf0df}.production-actions .official-button:hover{color:var(--ink)}.ticket-button{background:var(--yellow);border-color:var(--yellow)}.production-actions .ticket-button:hover{background:var(--yellow)}.stage-archive-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #819084;border-bottom:1px solid #819084;padding:30px 0;gap:30px}.stage-archive-link small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:10px}.stage-archive-link strong{font-size:22px;font-weight:400;letter-spacing:2px}.archive-next{font-size:12px;letter-spacing:1px}.stage-archive-link:hover{color:#59630c}
@media(max-width:700px){.stage-heading-row{display:block}.stage-heading-row>div{padding-top:8px}.stage-heading-row p{font-size:13px}.stage-heading{padding-bottom:28px}.stage-section-label{font-size:10px}.visual-link{right:10px;bottom:10px;font-size:7px;padding:8px 10px}.production-info{grid-template-columns:1fr;gap:28px;padding-top:28px}.production-date{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:13px;flex-wrap:wrap;padding:0 0 23px}.production-date>span{flex:0 0 100%;font-size:18px}.production-date strong{font-size:48px;letter-spacing:-1px}.production-date strong span{font-size:10px;margin-left:6px}.date-stroke{width:22px;height:1px;border:0;background:#647167;margin:0}.production-date small{flex-basis:100%;margin-top:0}.production-copy h2{font-size:25px}.production-copy .tag{margin-bottom:13px}.production-copy .production-lead{font-size:14px}.production-actions{gap:0}.production-actions .btn{width:100%;margin-top:12px}.stage-archive-link strong{font-size:18px}.archive-next{font-size:10px}.stage-archive-link{gap:15px}}

/* WORKS: distinct production and support portfolios. */
.work-categories{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 45px}.work-categories button{position:relative;text-align:left;min-height:155px;padding:25px 95px 25px 26px;border:1px solid #8f9b92;transition:background .25s;display:flex;flex-direction:column;justify-content:center;gap:13px}.work-categories button small{font-size:9px;letter-spacing:2px}.work-categories button strong{font-size:19px;font-weight:500;line-height:1.6}.work-categories button>span{position:absolute;right:25px;top:35px;font-family:'Barlow Condensed',sans-serif;font-size:58px;font-weight:300;line-height:1}.category-unit{font-family:'Noto Sans JP',sans-serif;display:block;font-size:9px;text-align:center;letter-spacing:2px;margin-top:8px}.work-categories button.active{background:#25342e;color:#edf0ce;border-color:#25342e}.work-categories button.active:after{content:'';position:absolute;bottom:0;left:25px;right:25px;height:3px;background:var(--yellow)}.work-categories button[data-filter=external].active{background:#e5e1d7;border-color:#797c75;color:#313a34}.work-categories button[data-filter=external].active:after{background:#9a7a47}
.work-category-intro{max-width:780px;margin-bottom:32px}.work-category-intro h2{font-weight:400;font-size:27px;letter-spacing:2px;margin:12px 0}.work-category-intro p{font-size:12px;line-height:2.2;margin:0}.work-toolbar{border-top:1px solid var(--line);padding-top:22px}.year-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.year-filters button{border:0;border-bottom:1px solid transparent;background:none;padding:8px 12px;cursor:pointer;font-family:'Barlow Condensed','Noto Sans JP',sans-serif;font-size:15px;color:var(--ink)}.year-filters button.active{background:var(--yellow)}.year-filters button:first-child{font-size:11px}.work-search-row{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px}.work-search-row .search{margin-bottom:0;font-size:12px;max-width:410px}.work-search-row #count{white-space:nowrap;font-size:11px}.works-page .archive details{padding:0;transition:background .3s}.works-page .archive details[hidden]{display:none}.works-page .archive summary{padding:30px 0;align-items:center;gap:35px}.works-page .archive summary:after{display:none}.work-year{font-family:'Barlow Condensed',sans-serif;font-size:29px;font-weight:300;flex:0 0 70px;color:#607065}.work-summary{flex:1;min-width:0}.work-title{display:block;font-size:20px;font-weight:400;line-height:1.8;overflow-wrap:anywhere;word-break:normal}.work-meta{display:flex;flex-wrap:wrap;gap:8px 25px;font-size:10px;color:#5c695f;margin-top:10px;line-height:1.9}.work-toggle{font-size:22px;width:38px;height:38px;border:1px solid #98a397;border-radius:50%;display:grid;place-items:center;flex:none}.works-page details[open] .work-toggle{font-size:0;background:var(--yellow);border-color:var(--yellow)}.works-page details[open] .work-toggle:before{content:'−';font-size:22px}.work-detail{margin:0 73px 0 105px;padding:0 0 35px}.work-facts{margin:0}.work-fact{display:grid;grid-template-columns:175px 1fr;border-top:1px solid #aeb6ad;padding:18px 0;gap:25px;font-size:12px;line-height:2}.work-fact dt{color:#59685c;font-size:11px}.work-fact dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.work-note{font-size:12px;line-height:2;padding:12px 0}.works-page .credit{font-size:10px;line-height:1.9;color:#6b5838;margin-bottom:10px}.external-role{font-size:10px;line-height:2.2;padding:18px 24px;background:#e5e1d7;border-left:3px solid #9a7a47;margin:0 0 25px}.external-role strong{font-size:13px;font-weight:500}.show-support .work-category-intro{border-left:3px solid #9a7a47;padding-left:22px}.show-support .archive details[open]{background:#d2d3ca}.show-support .archive details[open] summary{padding-inline:18px}.show-support .work-toggle:before{color:#3d392c}.works-next{display:flex;justify-content:space-between;padding:30px 0;border-top:1px solid #8d9a8f;margin-top:45px;font-size:14px;letter-spacing:1px}#work-empty{font-size:13px;line-height:2;padding:40px 0}
@media(max-width:700px){.work-categories{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.work-categories button{min-height:115px;padding:20px 78px 20px 20px;gap:8px}.work-categories button strong{font-size:17px}.work-categories button>span{font-size:42px;top:23px;right:22px}.work-categories button small{font-size:8px}.work-category-intro h2{font-size:22px}.year-filters{gap:5px}.year-filters button{padding:7px 9px;font-size:14px}.work-search-row{gap:15px}.work-search-row .search{font-size:11px;padding-inline:0}.works-page .archive summary{gap:14px;padding:25px 0;align-items:flex-start}.work-year{font-size:21px;flex-basis:42px;padding-top:3px}.work-title{font-size:15px}.work-toggle{width:27px;height:27px;font-size:16px;margin-top:3px}.work-meta{font-size:9px;gap:4px 10px}.work-detail{margin:0 0 0 56px;padding-bottom:28px}.work-fact{grid-template-columns:1fr;gap:5px;padding:14px 0;font-size:11px}.work-fact dt{font-size:10px}.works-page .credit{font-size:9px}.external-role{padding:13px;font-size:9px}.external-role strong{font-size:11px}.show-support .archive details[open] summary{padding-inline:8px}.work-search-row #count{font-size:10px}.works-next{font-size:12px}}
/* Long staff roles remain whole; use a vertical label layout before they wrap. */
.work-fact{grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:22px}
.work-fact dt{white-space:nowrap;letter-spacing:0;font-size:11px}
@media(max-width:1100px){.work-fact{grid-template-columns:1fr;gap:5px}}
@media(max-width:700px){.work-detail{margin-left:0}.work-fact dt{font-size:10px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.work-fact dd{font-size:11px}}
.profile-print-link{margin-left:14px}@media(max-width:700px){.profile-print-link{margin-left:0;display:table}}

/* Profile printing is available beside MENU on every main page. */
.header-actions{display:flex;align-items:center;gap:24px;flex:none}.header-profile-print{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.8px;white-space:nowrap;padding:11px 14px;border:1px solid #89978c;transition:background .25s,border-color .25s}.header-profile-print:hover{background:var(--yellow);border-color:var(--yellow)}.header-profile-print svg{flex:none}.header-actions .menu{white-space:nowrap}.headnote{margin-inline:20px}@media(max-width:1000px){.headnote{display:none}.header-actions{gap:16px}}@media(max-width:700px){header{padding-inline:4vw;gap:10px}.header-actions{gap:9px}.header-profile-print{padding:9px 7px;gap:5px;font-size:9px;letter-spacing:0}.header-profile-print svg{width:13px;height:13px}.header-actions .menu{font-size:9px;padding:10px 0;letter-spacing:1px}.header-actions .menu span{width:20px;margin-left:7px}.header-actions .menu span:after{width:14px}header .header-wordmark{width:clamp(98px,26vw,135px);height:44px}header .logo{gap:7px}header .header-badge{width:32px;height:32px}header .header-badge img{width:26px;height:26px;transform:translate(-.41px,-.7px)}}

/* Keep each destination's meaning beside its English heading. */
.portal .portal-label{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.portal .portal-label .ja{margin:0;font-size:14px;letter-spacing:.05em;line-height:1.6}.portal .arrow{margin-left:auto;flex:none}.overlay nav a{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.overlay nav a small{margin:0;font-size:13px;line-height:1.6}.stage-heading h1 .stage-heading-ja{display:block;font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:500;line-height:1.8;letter-spacing:.05em;margin-top:16px}@media(max-width:700px){.portal .portal-label{gap:8px}.portal .portal-label .ja{font-size:12px}.portal{min-height:118px}.overlay nav a small{font-size:11px}.stage-heading h1 .stage-heading-ja{font-size:13px;margin-top:10px}}