/* Editorial type and balanced spacing across the Japanese and English editions. */
:root{--editorial:Georgia,'Times New Roman','Yu Mincho','Hiragino Mincho ProN',serif}
p,li,dd{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
h1,h2,h3{word-break:normal;overflow-wrap:normal;text-wrap:balance}
.section-head>p,.about-body>p:not(.profile-name),.bio-prose p,.service>p,.workflow-step p,.workflow-notes p,.yxre-record>p:not(.eyebrow),.yxre-next>p:not(.eyebrow){font-size:16px;line-height:1.8}
.bio-title,.disco-intro h1,.about-english,.service h3{font-family:var(--editorial);font-weight:400;letter-spacing:.055em;line-height:1.3}
.disco-intro h1 span{font-family:var(--font);letter-spacing:.15em}
.eyebrow{letter-spacing:.12em;font-size:12px!important}
html[lang=en] .ryumin-heading{font-family:var(--editorial);font-weight:400;letter-spacing:.025em;line-height:1.35}
html[lang=en] p,html[lang=en] li{letter-spacing:.01em}
.ryumin-fragment{height:auto;aspect-ratio:auto;vertical-align:middle}
.bio-panel-id,.contact-form,.contact-intro,fieldset,.section-head>*{min-width:0}
.header nav{justify-content:center}.header nav a{font-size:14px}
.bio-prose .bio-lead{font-family:var(--editorial);font-size:clamp(24px,2.4vw,32px);line-height:1.6}
.service-ja{font-size:14px!important}.role-controls button,.artist-filter label,.filter-label,.bio-link,.inquiry-option>span{font-size:14px!important}
.contact input,.contact select,.contact textarea{font-size:16px!important;max-width:100%}
.copy-unit{text-wrap:pretty}.catalog-card h3{line-height:1.65}
html[lang=en] .bio-title{letter-spacing:.045em}.bio-outro h2{max-width:22em}
@media(max-width:1100px){.header{grid-template-columns:100px minmax(0,1fr) 88px;gap:10px;padding-inline:3%}.header nav a,.header nav a.nav-contact{padding-inline:9px}.header .brand-logo{width:95px}}
@media(max-width:1000px){.contact{grid-template-columns:minmax(0,1fr);gap:35px}.contact-intro h2,.contact-intro>p:last-child{max-width:30em}.service{grid-template-columns:32px minmax(0,1fr);gap:12px 20px}.service>p{grid-column:2}.bio-panel{gap:5%}}
@media(max-width:700px){
.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:0;padding:15px 16px 12px;gap:12px 6px}
.header .wordmark{grid-column:2;grid-row:1;justify-self:center}.header .brand-logo{width:90px;height:58px}
.header .language-switch{grid-column:3;grid-row:1;justify-self:end}.language-switch a{font-size:12px;padding:7px}
.header nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;justify-content:center;overflow:visible;gap:5px;width:100%;padding:5px 0}
.header nav a,.header nav a.nav-contact{flex:0 0 calc((100% - 15px)/4);min-width:0;padding:12px 3px;font-size:14px;line-height:1.4;letter-spacing:0;min-height:44px}
.section{margin-inline:12px;padding:48px 20px}.hero{padding:32px;gap:30px}.hero-content{text-align:center;width:100%}.hero h1 .logo-glitch{margin-inline:auto;width:85%;max-width:290px}.hero-bottom .round-link{justify-content:center}.hero .intro{font-size:16px;line-height:1.65}.hero-bottom .roles{font-size:14px;line-height:1.7}.hero h1 .brand-subtitle{font-size:12px}.hero-footer{justify-content:center;text-align:center}.hero-meta{justify-content:center;text-align:center}
.portal-windows{margin-inline:auto;max-width:410px}.portal-window .portal-caption{font-size:14px}.portal-window .window-bar{font-size:14px}
.section-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.section-head>p{margin:0;max-width:30em}.section-head h2,.about h2{font-size:30px;line-height:1.5}
.about-label,.profile-name,.about-body .profile-name{text-align:center}.about-body .profile-name{font-size:44px}.about-actions{align-items:center}.about{gap:26px}
.copy-unit{display:inline}.about-body>p:not(.profile-name),.bio-prose p{line-height:1.8}
.group-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:22px;gap:6px;padding:7px}.group-controls button{font-size:14px;flex-direction:row;gap:6px;padding:12px 8px}.group-controls button>span{font-size:12px;margin:0}
.artist-filter{flex-wrap:wrap}.artist-filter select{font-size:16px;max-width:100%}.role-controls button{padding:9px 12px}.catalog-caption{font-size:12px}.catalog-grid{grid-auto-columns:88%}
.service{padding:24px 0;gap:12px 14px}.service h3{font-size:28px;letter-spacing:.025em}.service>p{font-size:16px}.contact-intro{text-align:center}.contact-intro h2{font-size:34px;margin-inline:auto}.contact-intro>p:last-child{margin-inline:auto}.contact-form{padding:24px 18px}.form-row{grid-template-columns:1fr}.inquiry-options{grid-template-columns:1fr}
.bio-title-wrap,.bio-heading-foot,.bio-worlds-heading,.bio-panel-id,.bio-outro{text-align:center}.bio-title{font-size:clamp(34px,9vw,58px);letter-spacing:.035em}.bio-heading-foot{justify-content:center;flex-wrap:wrap;gap:12px}.bio-tabs button,.bio-tabs button[aria-selected=true],html[lang=en] .bio-tabs button{font-size:14px;padding:14px 5px}.bio-tabs button>span{display:none}.bio-person-roles{font-size:12px}.bio-panel-id{position:static}.bio-project-links,.bio-outro>div{justify-content:center}.bio-prose .bio-lead{font-size:25px}.bio-outro h2{font-size:28px}
.disco-intro{text-align:center}.disco-intro h1{font-size:clamp(32px,9vw,54px);letter-spacing:.025em}.disco-intro>p:not(.eyebrow){font-size:16px}.disco-intro .artist-platforms{justify-content:center}.release-platforms a{font-size:12px}.release-card h2{font-size:16px}
.yxre-identity{text-align:center}.yxre-tagline{margin-inline:auto;max-width:20em}.yxre-status{justify-content:center}.yxre-topline{flex-wrap:wrap;gap:10px}.yxre-topline .eyebrow{font-size:12px!important}.yxre-view-controls button{font-size:12px}.yxre-profile h2,.yxre-next h2{font-size:28px}
footer .social-project>p{text-align:center}footer .social-project .social-icons{justify-content:center}footer .social-project .social-icons a,footer .social-project .social-icons button{width:40px;height:40px}footer .social-project{display:block}footer .social-project>p{margin-bottom:14px}.footer-name{justify-content:center}.footer-bottom{gap:14px;flex-wrap:wrap;justify-content:center;text-align:center}
.mv-console{left:50%;right:auto;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px);gap:5px}.mv-console a{min-width:0;max-width:36vw}.mv-console button{flex-shrink:0;min-height:36px}
html[lang=en] .bio-person-name,html[lang=en] .profile-name{font-size:38px}html[lang=en] .section-head h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A quiet, open hero with fewer repeated navigation links. */
.works:before{content:none;display:none}
.header .wordmark .brand-logo{width:90px;height:auto}
.hero{grid-template-columns:minmax(0,1fr);min-height:560px}
.hero-content{width:100%;max-width:700px}
@media(max-width:1100px){.header .wordmark .brand-logo{width:82px}}
@media(max-width:700px){.header .wordmark .brand-logo{width:78px}.header nav a,.header nav a.nav-contact{flex:0 0 calc((100% - 20px)/5);font-size:14px;padding-inline:1px}.hero{min-height:460px;align-items:center}.hero-content{margin-inline:auto}}

/* Leave room for the opening film; align the footer identity with social links. */
.hero{min-height:calc(100svh - 96px);padding-top:clamp(115px,19svh,230px);padding-bottom:80px;align-items:end}
footer{display:grid;grid-template-columns:180px minmax(0,1fr);gap:34px 50px;align-items:center}
footer>.footer-name{grid-column:1;grid-row:1;display:flex;align-items:center;margin:0;border:0;padding:0;gap:15px}
footer .footer-name .logo-glitch{width:140px;flex-shrink:0}footer .footer-logo{width:140px;height:auto}footer .footer-name>span:last-child{font-size:24px}
footer>.social-hub{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;padding:0;border:0;gap:0}
footer .social-project{padding:0 24px;border-top:0;border-left:1px solid #90647f}footer .social-project:first-child{border-left:0}
footer>.footer-bottom{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #79516a;padding-top:24px;margin:0}
@media(max-width:1000px){footer{grid-template-columns:140px minmax(0,1fr);column-gap:25px}footer .footer-name .logo-glitch,footer .footer-logo{width:110px}footer .social-project{padding-inline:12px}}
@media(max-width:700px){.hero{min-height:calc(100svh - 130px);padding-top:clamp(90px,16svh,150px);padding-bottom:60px}footer{grid-template-columns:90px minmax(0,1fr);gap:26px 20px}footer .footer-name .logo-glitch,footer .footer-logo{width:90px}footer .footer-name>span:last-child{display:none}footer>.social-hub{grid-template-columns:1fr;gap:0}footer .social-project,footer .social-project:first-child{border-left:1px solid #90647f;padding:16px 0 16px 16px}footer .social-project>p{text-align:left;font-size:14px}footer .social-project .social-icons{justify-content:flex-start;gap:7px}footer .social-project .social-icons a,footer .social-project .social-icons button{width:36px;height:36px}footer>.footer-bottom{justify-content:center;text-align:center;font-size:12px}}

/* Compact work thumbnails, with readable credits and a stronger composer identity. */
.catalog-grid{grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);column-gap:24px;row-gap:30px}
.catalog-card h3{font-size:16px;line-height:1.6;color:#f8edf5;font-weight:600}
.catalog-card-meta,.catalog-card-meta>a{font-size:14px;line-height:1.6;color:#f0c6e0}
.card-roles{font-size:14px;line-height:1.7;color:#ddcbd8}
.hero h1 .logo-glitch{width:100%;max-width:260px}.hero h1 .hero-logo{width:100%;max-width:none;height:auto}
.hero-bottom .japanese-name{font-size:42px;line-height:1.45;letter-spacing:.07em;color:#fff4fb}
.hero-bottom .composer-roman{font-size:18px;line-height:1.6;letter-spacing:.045em;margin-top:9px}
.hero-bottom .roles{font-size:16px;line-height:1.7;color:#f0e4ee}.hero .intro{font-size:16px!important;color:#f4e4ef;line-height:1.7!important;letter-spacing:.055em}
.hero h1 .brand-subtitle{font-size:14px;line-height:1.6;letter-spacing:.075em}.hero-bottom .round-link{font-size:16px}
.hero-content{text-shadow:0 2px 12px #100716,0 1px 3px #100716}
.section-head>p,.about-body>p:not(.profile-name),.bio-prose p,.service>p,.workflow-step p,.workflow-notes p,.contact-intro>p:last-child{color:#e3d5df}
.service-ja,.bio-person-roles,.catalog-caption,.gallery-hint,.release-meta,.release-link,.disco-source{font-size:14px!important;color:#dbc6d5}
.contact label,.contact legend,.contact-form>p,.bio-link,.text-link{font-size:16px;line-height:1.7}
.contact input::placeholder,.contact textarea::placeholder{color:#baacb8;opacity:1}
@media(max-width:1000px){.catalog-grid{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:700px){.catalog-grid{grid-auto-columns:88%}.hero h1 .logo-glitch{max-width:220px;width:78%;margin-inline:auto}.hero-bottom .japanese-name{font-size:36px}.hero-bottom .composer-roman{font-size:17px}.hero-bottom .roles{font-size:16px}.hero h1 .brand-subtitle{font-size:12px}.catalog-card-meta,.card-roles{font-size:14px}}

/* Readable section numbers and intentional sentence boundaries. */
.service .index,.practice-number,.step-number{font-size:16px!important;line-height:1.6;font-weight:600;letter-spacing:.05em;color:#f4afd8}
.services .section-head>.services-intro{max-width:32em;line-height:1.8;text-wrap:pretty}
.services-intro>span{display:inline-block;max-width:100%;white-space:normal}
.services-intro>span:first-child{display:block;margin-bottom:.3em}
.services-intro>span:last-child{white-space:nowrap}
html[lang=en] .services-intro>span:nth-child(2){margin-right:.3em}

/* Bring the section labels and Japanese titles into a calmer proportion. */
.section .eyebrow,.bio-hero .eyebrow,.disco-intro .eyebrow{font-size:15px!important;letter-spacing:.10em;line-height:1.6!important}
.section-head h2,.about h2{font-size:clamp(26px,2.6vw,36px);line-height:1.45}
.eyebrow .bit-mark{display:none}
.hero-bottom .japanese-name.ryumin-heading{font-size:42px;letter-spacing:0;line-height:1.5}
.japanese-name .composer-label{display:block;font-family:var(--editorial);font-size:19px;font-weight:400;letter-spacing:.045em;line-height:1.5;margin-top:10px}
.hero-bottom .roles,.hero-bottom .round-link,.hero h1 .brand-subtitle{font-family:var(--editorial);font-weight:400;letter-spacing:.045em}
.release-switch{max-width:620px;margin:0 0 36px}.release-switch button{font-size:16px}
.release-panel[hidden]{display:none}.release-panel .release-card{opacity:1;transform:none}
.release-artist{font-size:16px;color:#f0bad9;margin:14px 0 6px}.release-contribution{font-size:14px;color:#e1d1dc;line-height:1.75;margin:10px 0}.release-track{font-size:16px;line-height:1.7;margin:8px 0}
@media(max-width:700px){.section .eyebrow,.bio-hero .eyebrow{font-size:14px!important}.section-head h2,.about h2,html[lang=en] .section-head h2{font-size:26px}.hero-bottom .japanese-name.ryumin-heading{font-size:36px}.release-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

.release-browser{padding-top:28px;padding-bottom:0}.release-panel>.artist-platforms{margin:24px 6%;display:flex;flex-wrap:wrap;gap:20px}.release-panel>.section:first-of-type{padding-top:32px}

/* Shared Ryumin typography and compact header actions. */
@font-face{font-family:Ryumin;src:url('/fonts/ryumin-medium.woff') format('woff');font-style:normal;font-weight:100 500;font-display:swap}
@font-face{font-family:Ryumin;src:url('/fonts/ryumin-bold.woff') format('woff');font-style:normal;font-weight:600 900;font-display:swap}
:root{--font:Ryumin,'Yu Mincho','Hiragino Mincho ProN',serif;--editorial:var(--font)}
body,body :where(h1,h2,h3,h4,h5,p,a,span,div,label,button,input,select,textarea,summary,li,dt,dd,strong,small,time){font-family:var(--font)!important}
body{letter-spacing:.055em}
p,li,dd,input,textarea{letter-spacing:.045em}
button,select,.eyebrow,.header a{letter-spacing:.055em}
.header{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:12px;padding-inline:3%}
.header .wordmark{grid-column:1;grid-row:1;justify-self:start}
.header>nav{grid-column:2;grid-row:1;justify-content:center;flex-wrap:nowrap}
.header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.header-social{display:flex;gap:2px;align-items:center}
.header-social a,.header-more summary{display:grid;place-items:center;width:40px;height:44px;color:#f1d8e7;border-radius:50%;cursor:pointer;transition:color .2s,background .2s}
.header-social svg{width:20px;height:20px}
.header-actions .language-switch{position:static;display:flex;gap:0;margin:0;padding:0;flex:none}
.header-actions .language-switch a{padding:10px 6px;font-size:13px}
.header-more{position:relative;flex:none}
.header-more summary{list-style:none}
.header-more summary::-webkit-details-marker{display:none}
.header-more summary svg{width:24px;height:24px;fill:currentColor}
.header-social a:hover,.header-more summary:hover,.header-more[open] summary{background:#ffffff18;color:var(--pink)}
.more-links{position:absolute;right:0;top:calc(100% + 12px);width:215px;max-width:calc(100vw - 32px);padding:12px;background:#201527;border:1px solid #b67b9d;border-radius:16px;box-shadow:0 16px 45px #0008;z-index:100}
.more-links a{display:block;padding:12px 16px;min-height:44px;border-radius:8px;font-size:16px;line-height:1.4;color:#f4e7ef}
.more-links a:hover,.more-links a:focus-visible{background:#ff8dce;color:#241020}
.header-actions :focus-visible{outline:2px solid var(--pink);outline-offset:3px}
@media(max-width:1190px){
 .header{grid-template-columns:1fr auto;gap:8px 16px}
 .header .wordmark{grid-column:1;grid-row:1}
 .header-actions{grid-column:2;grid-row:1}
 .header>nav{grid-column:1/-1;grid-row:2;width:100%;padding:4px 0;gap:8px}
 .header>nav a{min-width:0;flex:0 1 auto;padding:10px 20px}
}
@media(max-width:700px){
 .header{padding:12px 16px 10px;gap:8px}
 .header .wordmark{justify-self:start}
 .header-actions{gap:3px}
 .header-social a,.header-more summary{width:36px;height:44px}
 .header-actions .language-switch a{padding-inline:5px}
 .header>nav{gap:4px;overflow:visible;flex-wrap:nowrap}
 .header>nav a,.header>nav a.nav-contact{flex:1 1 0;min-width:0;padding:10px 2px;font-size:13px;letter-spacing:.025em}
 .more-links{top:calc(100% + 8px)}
 p,li,dd{letter-spacing:.035em}
}
