/* Shared visual systems for both portfolio and commission pages. */
body[class*="theme-"]{--accent:#b5b7b0;--paper:#151515;--ink:#ededeb;--rule:#3b3b38;--muted:#a1a19a;--bg:#151515;--fg:#ededeb;--line:#3b3b38;--lime:#ededeb;background:var(--bg);color:var(--fg);font-family:Arial,'Noto Sans JP',sans-serif}body[class*="theme-"] header{height:88px;margin:0 4%;padding:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}body[class*="theme-"] .site-name,body[class*="theme-"] .name{font-size:18px;letter-spacing:0;font-weight:500}body[class*="theme-"] nav{gap:28px;font-size:11px;letter-spacing:.06em}body[class*="theme-"] nav span{color:var(--muted)}body[class*="theme-"] .contact{background:var(--bg);color:var(--fg);border-top:1px solid var(--line)}body[class*="theme-"] .contact .section-kicker,body[class*="theme-"] .contact-socials small{color:var(--muted)}body[class*="theme-"] .contact-socials{border-color:var(--line)}body[class*="theme-"] .email,body[class*="theme-"] .commission-link{border-color:var(--line)}body[class*="theme-"] .contact-title{font-family:Arial,'Noto Sans JP',sans-serif;font-size:64px;font-weight:400;letter-spacing:-3px;line-height:1.1}body[class*="theme-"] .commission-banner{background:var(--bg);color:var(--fg);border-block:1px solid var(--line);padding:28px 0;margin-top:36px;margin-bottom:80px}body[class*="theme-"] .commission-banner-title{font-size:25px}body[class*="theme-"] .commission-banner-action{border-color:var(--muted)}body[class*="theme-"] .filters button{border-radius:0;padding:8px 12px}body[class*="theme-"] .filters .active{background:var(--fg);color:var(--bg)}body[class*="theme-"] .feature-play{border-radius:0}body[class*="theme-"] .panel{background:var(--panel,#1e1e1c)}body[class*="theme-"] .notes{color:var(--muted)}body[class*="theme-"] .section-title{border-color:var(--line)}body[class*="theme-"] .section-title h2{font-size:32px;letter-spacing:-1px}body[class*="theme-"] .section-title h2>span{font-family:Arial,sans-serif;font-size:15px;color:var(--muted);margin-right:16px}body[class*="theme-"] .rate-title>span,body[class*="theme-"] .price small{color:var(--muted)}body[class*="theme-"] .price,body[class*="theme-"] .steps li,body[class*="theme-"] .request-details,body[class*="theme-"] .request-details>div:last-child{border-color:var(--line)}body[class*="theme-"] .duration strong{border-bottom:1px solid var(--muted)}body[class*="theme-"] .social-links a{background:var(--bg);border:1px solid var(--line);color:var(--fg)}body[class*="theme-"] footer{color:var(--muted);border-color:var(--line)}body[class*="theme-"] .inquiry h3{font-weight:400}body[class*="theme-"] a:focus-visible{outline-color:var(--fg)}body[class*="theme-"] dialog,body[class*="theme-"] #image-viewer,body[class*="theme-"] .dialog-bar{background:var(--bg);color:var(--fg)}body[class*="theme-"] #detail-body p.credits{color:var(--fg)}
/* 01 — Dark editorial: wide cinematic images, restrained typography. */
.theme-dark .feature{margin-top:32px}.theme-dark .feature>button{height:min(53vw,700px)}.theme-dark .feature-bottom strong{font-family:Arial,sans-serif;font-size:44px;letter-spacing:-1.5px;font-weight:400}.theme-dark .feature-top{font-size:10px}.theme-dark .circle{border:0;border-radius:0}.theme-dark .section-heading h2{font-size:27px;letter-spacing:-.8px}.theme-dark .grid{gap:50px 28px}.theme-dark .card h3{font-size:16px}.theme-dark .thumb .view{border:0;border-radius:0;background:transparent}.theme-dark.request-page main{margin:0 4%}.theme-dark.request-page h1{font-size:52px;font-weight:400;letter-spacing:-2px;margin:55px 0 65px}.theme-dark .production-copy{padding:35px 45px}.theme-dark .rate-body{padding:35px}.theme-dark .work-mosaic{margin-top:0}.theme-dark .price strong{letter-spacing:-3px;font-size:64px}
/* 02 — White gallery: generous whitespace and image-led asymmetry. */
body.theme-white{--bg:#f6f5f0;--fg:#252521;--muted:#77796e;--line:#d2d1c8;--lime:#252521;--accent:#77796e;--paper:#f6f5f0;--ink:#252521;--rule:#d2d1c8;--panel:#eeede7}.theme-white header{border-bottom:0!important;height:108px!important}.theme-white .feature{margin-top:24px;position:relative;padding-right:28%;margin-bottom:52px}.theme-white .feature>button{height:auto;aspect-ratio:16/10;overflow:visible;background:transparent;color:var(--fg)}.theme-white .feature img{object-fit:cover}.theme-white .feature>button:after{display:none}.theme-white .feature-top{position:absolute;left:calc(100% + 28px);right:auto;top:4px;width:32%;align-items:start;color:var(--muted);font-size:9px}.theme-white .feature-play{display:none}.theme-white .feature-bottom{left:calc(100% + 28px);right:auto;bottom:40%;width:32%;color:var(--fg)}.theme-white .feature-bottom strong{font-family:Arial,sans-serif;font-size:clamp(24px,3.1vw,44px);font-weight:400;line-height:1.25;letter-spacing:-1.5px}.theme-white .feature-bottom small{line-height:1.8;color:var(--muted)}.theme-white .feature-bottom .circle{display:none}.theme-white .commission-banner{margin-top:0!important;margin-bottom:90px!important}.theme-white .commission-banner-title{font-family:Georgia,'Noto Sans JP',serif;font-size:25px!important}.theme-white .grid{gap:65px 44px}.theme-white .card:nth-child(even){padding-top:80px}.theme-white .card h3{font-size:14px}.theme-white .thumb .view{display:none}.theme-white .section-heading h2{font-family:Georgia,serif;font-size:34px;letter-spacing:-1px}.theme-white .contact-title{font-family:Georgia,serif!important}.theme-white .contact{margin-top:30px;padding-bottom:80px}.theme-white.request-page main{margin:0 4%}.theme-white.request-page h1{font-size:48px;font-weight:400;letter-spacing:-1px;margin:45px 0 85px}.theme-white .section-title{padding:25px 0 45px}.theme-white .section-title h2{font-size:28px!important}.theme-white .rate-grid{gap:32px}.theme-white .rate-body{padding:30px}.theme-white .price strong{font-family:Georgia,serif;font-size:58px;letter-spacing:-2px}.theme-white .steps{gap:20px}.theme-white .steps li{border:0}.theme-white .terms{background:transparent!important;padding:0}.theme-white .terms>div{padding:40px 0}.theme-white .inquiry{background:transparent!important;padding:0;gap:70px}.theme-white .production-copy{background:transparent!important}.theme-white .work-mosaic{max-width:1000px}.theme-white .duration strong{font-family:Georgia,serif}
/* 03 — Industrial: compact index, rigid grid and cool blue accents. */
body.theme-industrial{--bg:#e2e5e4;--fg:#19201f;--muted:#596361;--line:#a3adaa;--lime:#2752ea;--accent:#2752ea;--paper:#e2e5e4;--ink:#19201f;--rule:#a3adaa;--panel:#d5dbd8}.theme-industrial header{height:75px!important;margin:0 3%!important}.theme-industrial nav,.theme-industrial .feature-top,.theme-industrial .section-kicker,.theme-industrial .card p,.theme-industrial .number,.theme-industrial .filters button,.theme-industrial .section-heading>span,.theme-industrial .commission-banner-description,.theme-industrial .section-title>small,.theme-industrial .steps small{font-family:'Courier New',monospace!important}.theme-industrial .feature{margin:20px 3% 0}.theme-industrial .feature>button{height:min(48vw,620px);border:1px solid var(--fg)}.theme-industrial .feature-top{left:18px;right:18px;top:18px}.theme-industrial .feature-top>span:first-child{background:#2752ea;color:white;padding:10px}.theme-industrial .feature-play{padding:10px;border-color:white}.theme-industrial .feature-bottom{left:18px;right:18px;bottom:18px}.theme-industrial .feature-bottom strong{font-family:'Courier New',monospace;font-size:32px;font-weight:400}.theme-industrial .circle{border-radius:0;width:45px;height:45px}.theme-industrial .commission-banner{margin:0 3% 55px!important;padding:22px!important;background:#2752ea!important;color:white!important;border:1px solid #2752ea!important}.theme-industrial .commission-banner-title{font-size:23px!important}.theme-industrial .commission-banner-action{border-color:white!important}.theme-industrial .works{margin:0 3% 70px}.theme-industrial .section-heading{padding-bottom:18px}.theme-industrial .section-heading h2{font-family:'Courier New',monospace;font-size:26px}.theme-industrial .grid{gap:0;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}.theme-industrial .card{padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.theme-industrial .card h3{font-size:13px}.theme-industrial .card-meta{min-height:72px}.theme-industrial .thumb .view{border-radius:0;width:28px;height:28px}.theme-industrial .contact{padding-inline:3%;background:#d5dbd8!important}.theme-industrial .contact-title{font-family:'Courier New',monospace!important;font-size:54px!important;letter-spacing:-3px!important}.theme-industrial.request-page main{margin:0 3%}.theme-industrial.request-page h1{font-size:42px;font-weight:500;margin:35px 0 45px;padding-left:20px;border-left:8px solid #2752ea}.theme-industrial .section-title{padding:18px 0 30px}.theme-industrial .section-title h2{font-size:28px!important}.theme-industrial .section-title h2>span{color:#2752ea!important;font-family:'Courier New',monospace!important;font-size:20px!important}.theme-industrial .rate-grid,.theme-industrial .steps{gap:0;border-left:1px solid var(--line)}.theme-industrial .rate,.theme-industrial .steps li{border:1px solid var(--line);border-left:0}.theme-industrial .rate-body{padding:25px}.theme-industrial .price strong{font-family:'Courier New',monospace;font-size:58px;letter-spacing:-5px}.theme-industrial .production-copy{border:1px solid var(--line)}.theme-industrial .terms{background:transparent!important;border:1px solid var(--line)}.theme-industrial .inquiry{border:1px solid var(--line)}.theme-industrial .duration strong{font-family:'Courier New',monospace}.theme-industrial .steps li:first-child{border-top:3px solid #2752ea}.theme-industrial .filters .active{background:#2752ea!important;color:white!important}.theme-industrial .section-title>small{color:#2752ea}.theme-industrial .request-details dt small{color:#2752ea}
@media(max-width:760px){body[class*="theme-"] header{height:auto!important;min-height:82px;padding:18px 0;gap:14px;flex-wrap:wrap}body[class*="theme-"] .site-name,body[class*="theme-"] .name{font-size:15px}body[class*="theme-"] nav{font-size:10px;gap:20px}body[class*="theme-"] .commission-banner{gap:12px;margin-bottom:45px;padding:22px 0}body[class*="theme-"] .commission-banner-title{font-size:22px}body[class*="theme-"] .contact-title{font-size:48px!important}.theme-dark .feature-bottom strong{font-size:28px}.theme-white .feature{padding-right:0;margin-top:10px;margin-bottom:30px}.theme-white .feature>button{aspect-ratio:auto;height:auto}.theme-white .feature img{aspect-ratio:16/10}.theme-white .feature-top{position:static;display:block;padding:15px 0 10px;width:auto}.theme-white .feature-bottom{position:static;width:auto;display:block;padding:0 0 10px}.theme-white .feature-bottom strong{font-size:30px}.theme-white .grid{gap:35px 20px}.theme-white .card:nth-child(even){padding-top:0}.theme-industrial .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-industrial .feature-bottom strong{font-size:24px}.theme-industrial .card{padding:10px}.theme-industrial .commission-banner{padding:18px!important}body[class*="theme-"] .rate-grid{grid-template-columns:1fr}body[class*="theme-"] .price strong{font-size:48px}body[class*="theme-"] .inquiry{gap:30px}body[class*="theme-"] .section-title h2{font-size:24px!important}body[class*="theme-"] .section-title h2>span{margin-right:0}body[class*="theme-"] .contact-socials{gap:28px}}
@media(max-width:430px){.theme-industrial .grid{grid-template-columns:1fr}}

/* 01 refinement: warm charcoal instead of near-black. */
body.theme-dark{--bg:#292a27;--fg:#eeeee8;--muted:#a9ada1;--line:#4a4d43;--lime:#eeeee8;--accent:#b8bcae;--paper:#292a27;--ink:#eeeee8;--rule:#4a4d43;--panel:#33352f}
.theme-dark .feature>button{background:#33352f}.theme-dark .player{background:#252622}.theme-dark dialog::backdrop{background:rgba(22,24,20,.84)}

/* 01 refinement: darker charcoal with restrained fluorescent accents. */
body.theme-dark{--bg:#20221f;--fg:#e9ebe3;--muted:#9ea494;--line:#3d4436;--lime:#b8d979;--accent:#b8d979;--paper:#20221f;--ink:#e9ebe3;--rule:#3d4436;--panel:#2a2e26}
.theme-dark .feature>button{background:#2a2e26}.theme-dark .player{background:#1b1e19}
body.theme-dark .commission-banner{background:#282f21;color:var(--fg);border-block-color:#627344;border-left:3px solid var(--accent);padding:26px 28px}
body.theme-dark .commission-banner-title,body.theme-dark .commission-banner-action{color:var(--accent)}
body.theme-dark .commission-banner-action{border-color:#71864d}
body.theme-dark .commission-banner-description{color:#c2cbb4}
body.theme-dark .commission-banner:hover{background:#303a27}
body.theme-dark .filters .active{background:var(--accent);color:#20251a}
body.theme-dark .price strong,body.theme-dark .duration strong,body.theme-dark .section-title h2>span,body.theme-dark .request-details dt small{color:var(--accent)}
body.theme-dark .steps li:first-child{border-top-color:var(--accent)}
body.theme-dark .steps li:first-child small,body.theme-dark .works-link small,body.theme-dark nav [aria-current],body.theme-dark .contact .section-kicker{color:var(--accent)}
body.theme-dark .duration strong{border-bottom-color:#627344}
body.theme-dark .contact-socials svg,body.theme-dark .social-links svg,body.theme-dark .email{color:var(--accent)}
body.theme-dark .social-links a{border-color:#586446}
body.theme-dark .social-links a:hover{background:#303a27}
body.theme-dark .contact{background:#24291f;border-top-color:#627344}
body.theme-dark .commission-link{color:var(--accent);border-color:#627344}
@media(max-width:760px){body.theme-dark .commission-banner{padding:22px}}
