@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800;1,900&family=Outfit:wght@900&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--red:#ed2027;--ink:#171515;--paper:#fff;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Noto Sans JP',Arial,sans-serif;--gutter:clamp(22px,5.6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}::selection{background:var(--red);color:white}.site-shell{overflow:clip;background:linear-gradient(to bottom,#ed2027 0,#ed2027 19%,#1b1314 34%,#1b1314 46%,#bcaaaa 58%,#f6f0ef 68%,#fff 77%)}.skip{position:fixed;top:10px;left:10px;transform:translateY(-150%);z-index:10;padding:12px;background:white;color:black}.skip:focus{transform:none}.topbar{position:absolute;top:0;left:0;width:100%;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px var(--gutter);color:#fff}.small-logo{font-family:var(--display);font-size:30px;font-weight:900;font-style:italic;letter-spacing:-1px}.small-logo span{font:10px var(--body);vertical-align:top;display:inline-block;margin:7px 0 0 3px}.topbar-note,.eyebrow,.hero-marker,.hero-side,.music-jump,.video-caption,.video-corner,.platform-label,.social-name,.updates-intro>a,.x-panel-top,footer{font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:1.6px}.topbar nav{display:flex;align-items:center;gap:30px;font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:1.4px}.topbar nav a{padding:12px 0}.topbar nav span{margin-left:7px}.hero{position:relative;isolation:isolate;min-height:850px;height:min(930px,100svh);overflow:hidden;background:radial-gradient(ellipse at 98% 7%,#090909 0,transparent 35%),linear-gradient(154deg,#731014 0,#ee2229 35%,#f0252b 63%,#a1131d 100%);color:white}.hero-lines{position:absolute;inset:-35% -30% -20% 28%;background:repeating-radial-gradient(ellipse at 70% 20%,transparent 0 19px,#160d0d 20px 22px,transparent 23px 35px);transform:rotate(-29deg) scaleY(.63);opacity:.8;z-index:-1;mask-image:linear-gradient(135deg,#000,transparent 85%)}.hero-orbit{position:absolute;width:83vw;height:31vw;border:clamp(25px,7vw,115px) solid #1a1010;border-radius:50%;transform:rotate(-27deg);left:-43vw;bottom:-11vw;z-index:-1;opacity:.76}.hero-marker{position:absolute;top:155px;left:var(--gutter);writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;opacity:.75}.wordmark-wrap{position:absolute;top:21%;left:6%;width:88%;transform:rotate(-12deg);font-family:var(--display);font-weight:900;line-height:.72;letter-spacing:-.055em;font-size:clamp(140px,29vw,600px);font-style:italic}.wordmark-wrap h1{position:relative;margin:0;font:inherit;letter-spacing:inherit;transform:scaleX(1.05);transform-origin:left center;text-shadow:7px 8px 0 #1b1111}.wordmark-echo{position:absolute;inset:35px 0 auto;color:transparent;-webkit-text-stroke:1px #ffb3b5;transform:translate(-12px,15px);opacity:.64}.hero-bottom{position:absolute;bottom:75px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px;margin:0 0 22px}.hero-statement{font-weight:900;font-size:clamp(34px,4.5vw,70px);line-height:1.3;letter-spacing:.03em;margin:0}.music-jump{display:flex;align-items:center;gap:22px;font-size:10px}.round-arrow{display:grid;place-items:center;width:57px;height:57px;border:1px solid #ffffff80;border-radius:50%;font-size:25px;font-weight:400;transition:background .2s,color .2s,transform .2s}.music-jump:hover .round-arrow{background:white;color:var(--red);transform:translateY(5px)}.hero-side{position:absolute;right:22px;top:47%;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px}.section-wrap{width:100%;max-width:1600px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.music{position:relative;color:white;padding-top:105px;padding-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.section-heading .eyebrow{display:block;font-size:10px;margin-bottom:13px;letter-spacing:2px}.section-heading h2{font-family:var(--display);font-weight:800;font-size:clamp(47px,6vw,91px);line-height:.9;letter-spacing:-1.5px;margin:0}.section-heading h2 i{font-weight:800;color:var(--red)}.platform-label{display:flex;gap:10px;align-items:center;letter-spacing:0;font-size:13px;font-weight:500;margin-bottom:3px}.platform-label svg{width:23px;height:23px;fill:var(--red)}.video-stage{position:relative;aspect-ratio:16/9;width:100%;background:#0e0e0e;overflow:hidden;border:1px solid #ffffff24}.video-stage iframe{position:absolute;width:100%;height:100%;inset:0;border:0;z-index:4}.video-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 60% 60%,#541416,transparent 55%),#0a0909}.sound-ring{position:absolute;left:50%;top:50%;width:70%;height:60%;border:2px solid #ed2027;border-radius:50%;transform:translate(-50%,-50%) rotate(-30deg);box-shadow:0 0 0 12px #ed20272a,0 0 0 23px #ed202740,0 0 0 35px #ed202722,0 0 0 50px #ed20272b,0 0 0 70px #ed202714}.ring-two{width:50%;height:85%;transform:translate(-50%,-50%) rotate(-53deg);opacity:.7}.ring-three{width:38%;height:125%;transform:translate(-50%,-50%) rotate(43deg);opacity:.4}.art-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);font:900 italic clamp(55px,15vw,220px)/1 var(--display);letter-spacing:-.04em;color:#ed2027;opacity:.72}.art-line{height:1px;background:#ff5c61;position:absolute;left:0;right:0;top:50%;transform:rotate(-23deg);box-shadow:0 0 20px #f12027}.video-pending{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;flex-direction:column;font:11px/1.5 Arial,sans-serif;letter-spacing:2.5px;color:white;text-shadow:0 1px 6px black}.pending-cross{font:300 48px/1 Arial,sans-serif;margin-bottom:15px}.video-pending small{font:11px var(--body);letter-spacing:.1em;margin-top:8px}.video-corner{position:absolute;bottom:22px;left:25px;font-size:9px;opacity:.7}.video-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;line-height:1.7;font-size:10px}.video-caption p{margin:0}.video-caption>span{font:11px var(--body);color:#ddd}.video-caption a{padding:8px 0;border-bottom:1px solid #ffffff80}.transition{text-align:center;padding:130px 22px 115px;position:relative}.transition-line{height:80px;width:1px;margin:0 auto 43px;background:linear-gradient(#ed2027,#201717)}.transition .eyebrow{font-size:9px;letter-spacing:3px}.manifesto{font-size:clamp(26px,3.4vw,49px);font-weight:900;line-height:1.65;letter-spacing:.06em;margin:28px 0 25px}.manifesto span{color:#a10b14}.artist-description{font-size:13px;line-height:2.1;letter-spacing:.08em}.tiny-wave{width:90px;height:34px;margin:35px auto 0;background:repeating-linear-gradient(90deg,var(--red) 0 2px,transparent 2px 7px);clip-path:polygon(0 44%,10% 38%,17% 48%,24% 15%,30% 42%,36% 2%,44% 34%,50% 0,58% 32%,64% 10%,72% 40%,80% 24%,87% 44%,100% 48%,100% 52%,87% 56%,80% 76%,72% 60%,64% 90%,58% 68%,50% 100%,44% 66%,36% 98%,30% 58%,24% 85%,17% 52%,10% 62%,0 56%)}.connect{padding-top:30px;padding-bottom:105px}.connect .section-heading{padding-bottom:35px;border-bottom:1px solid #1a1515}.connect .eyebrow{color:#5b5151}.connect-star{color:var(--red);font-size:65px;line-height:.9}.socials{display:flex;gap:15px;padding:7px 0 50px;flex-wrap:wrap}.social-item{display:flex;flex-direction:column;align-items:center;gap:13px;min-width:91px;padding:12px 8px;border:0;background:none;color:var(--ink)}.social-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#171515;color:#fff;transition:transform .2s,background .2s}.social-icon svg{width:29px;height:29px;fill:currentColor}.social-item:nth-child(odd) .social-icon{background:var(--red)}a.social-item:hover .social-icon{transform:translateY(-5px);background:#a10b14}.social-name{font-size:10px;letter-spacing:.5px}.social-item small{font-size:9px;color:#766b6b;margin-top:-6px}.updates{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:40px;border-top:1px solid #ded7d7}.updates-intro{padding-top:30px}.updates-intro .eyebrow{font-size:9px}.updates-intro h3{font-size:30px;font-weight:900;letter-spacing:.04em;margin:20px 0}.updates-intro p{font-size:13px;line-height:2.2;color:#625959}.updates-intro>a{display:inline-flex;gap:30px;padding:15px 0;border-bottom:1px solid var(--ink);margin-top:20px;font-size:10px}.x-panel{min-width:0;min-height:345px;border:1px solid #d6cccc;background:#fff;position:relative}.x-panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee6e6;padding:20px 25px;font-size:9px;letter-spacing:1px}.x-logo{font-size:25px;font-weight:400}.x-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:265px;padding:30px}.empty-symbol{color:var(--red);font-size:42px}.x-empty p{font-size:14px;font-weight:700;letter-spacing:.1em;margin:15px 0 10px}.x-empty small{font-size:11px;color:#766b6b}.embed-fallback{padding:20px;font-size:12px;line-height:1.8}.embed-fallback a{text-decoration:underline}.x-panel .twitter-timeline{display:block;padding:25px;color:var(--red)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:35px;border-top:1px solid #ded7d7;font-size:9px;letter-spacing:1px}.footer-logo{font:900 italic 45px/.9 var(--display);letter-spacing:-2px}.back-top{padding:15px 0}.back-top span{margin-left:16px}a[hidden]{display:none}
@media(min-width:1700px){.hero{height:980px;max-height:none}.wordmark-wrap{font-size:29vw;top:16%}.hero-bottom{bottom:65px}.hero-statement{font-size:65px}}
@media(max-width:800px){.topbar{padding-top:20px}.topbar-note{display:none}.hero{height:780px;min-height:690px}.wordmark-wrap{top:27%;font-size:30vw;left:5%}.hero-marker{top:125px}.hero-bottom{bottom:60px}.hero-statement{font-size:44px}.music{padding-top:75px}.updates{gap:35px;grid-template-columns:.8fr 1.2fr}.section-heading h2{font-size:60px}.transition{padding-top:90px;padding-bottom:80px}.manifesto{font-size:34px}.connect{padding-bottom:70px}.socials{gap:8px}.social-item{min-width:80px}.social-icon{width:60px;height:60px}}
@media(max-width:520px){.hero{height:740px;min-height:640px;max-height:940px}.topbar nav{gap:20px;font-size:10px}.small-logo{font-size:27px}.hero-marker{top:120px;font-size:8px}.hero-side{right:10px;font-size:8px}.wordmark-wrap{top:29%;font-size:30vw;left:5%}.wordmark-wrap h1{text-shadow:4px 5px 0 #1b1111}.wordmark-echo{top:20px;transform:translate(-4px,6px)}.hero-lines{inset:-10% -100% 10% -5%;transform:rotate(-29deg) scaleY(.7)}.hero-orbit{width:150vw;height:90vw;left:-95vw;bottom:-30vw;border-width:50px}.hero-bottom{bottom:44px;align-items:flex-start;flex-direction:column;gap:29px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:18px}.hero-statement{font-size:40px}.music-jump{font-size:9px;gap:17px;align-self:flex-end}.round-arrow{height:43px;width:43px;font-size:20px}.section-heading{margin-bottom:22px;gap:10px}.section-heading h2{font-size:49px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.platform-label{font-size:11px;gap:7px}.platform-label svg{width:19px}.music{padding-top:62px}.video-caption{font-size:8px;letter-spacing:.8px;gap:12px;align-items:flex-start}.video-caption>span{font-size:9px}.video-corner{font-size:6px;bottom:12px;left:13px}.pending-cross{font-size:30px;margin-bottom:8px}.video-pending{font-size:8px}.video-pending small{font-size:9px}.transition{padding:65px 20px 75px}.transition-line{height:55px;margin-bottom:32px}.transition .eyebrow{font-size:8px;letter-spacing:2px}.manifesto{font-size:25px;letter-spacing:.02em}.artist-description{font-size:12px}.connect{padding-top:15px;padding-bottom:60px}.connect .section-heading h2{font-size:45px}.connect .section-heading{padding-bottom:25px}.connect-star{font-size:45px}.socials{gap:5px;justify-content:flex-start;padding-bottom:30px}.social-item{min-width:66px;padding:8px 4px}.social-icon{width:52px;height:52px}.social-icon svg{width:24px;height:24px}.social-name{font-size:9px}.updates{grid-template-columns:1fr;gap:30px;padding-top:25px}.updates-intro{padding-top:0}.updates-intro h3{font-size:26px;margin-top:16px}.updates-intro p{font-size:12px}.updates-intro>a{margin-top:0}.x-panel{min-height:300px}.x-empty{min-height:220px}footer{flex-wrap:wrap;padding-top:24px;padding-bottom:24px;font-size:8px}.footer-logo{font-size:36px}footer p{margin-left:auto}.back-top{width:100%;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Artist identity and the transition into the white connection area. */
.transition{background:linear-gradient(to bottom,transparent 0,#d7c9c8 25%,#f7f3f2 70%,#fff 100%)}
.connect,footer{background:#fff}.artist-icon{display:block;width:136px;height:136px;border-radius:50%;object-fit:cover;margin:0 auto 30px;box-shadow:0 0 0 1px #17151518,0 0 0 9px #ffffff30}.footer-credit{text-align:center;line-height:1.8}.footer-credit p{margin:0 0 2px}.footer-credit>a{font-size:9px;letter-spacing:.5px;color:#665c5c}.x-profile{display:flex;align-items:center;gap:14px;padding:24px 25px 0}.x-profile img{border-radius:50%;object-fit:cover}.x-profile strong{display:block;font-size:18px}.x-profile span{display:block;font-size:11px;color:#766b6b;margin-top:4px}.x-bio{font-size:12px;line-height:1.8;padding:0 25px;margin:20px 0 0}.x-panel .twitter-timeline{font-size:12px}.embed-fallback{font-size:10px;color:#766b6b;padding:0 25px 20px;margin:0}.embed-fallback a{color:#171515}.video-caption p{max-width:75%}
@media(max-width:520px){.artist-icon{width:104px;height:104px;margin-bottom:25px}.footer-credit{margin-left:auto;text-align:right}.x-profile{padding-top:20px}.x-panel{min-height:300px}}
/* Horizontal, heavy geometric typography. No shadows or catchphrases. */
.hero{height:clamp(440px,54vw,860px);min-height:0;background:#d71720}
.wordmark-wrap{top:45%;left:1%;width:98%;transform:translateY(-50%);font:900 26.6vw/.84 'Outfit',Arial,sans-serif;letter-spacing:-.065em;font-style:normal;text-align:center;white-space:nowrap}
.wordmark-wrap h1{font:inherit;letter-spacing:inherit;transform:none;filter:none;text-shadow:none}
.hero-bottom{bottom:35px;justify-content:flex-end}.small-logo,.footer-logo{font-family:'Outfit',Arial,sans-serif;font-style:normal;letter-spacing:-.065em}.small-logo{font-size:25px}.footer-logo{font-size:38px}
.section-heading h2,.connect .section-heading h2{font-family:Arial,sans-serif;font-size:27px;line-height:1.2;letter-spacing:0;font-weight:700}
.section-heading{margin-bottom:25px}.section-heading .platform-label{display:none}.music{padding-top:65px}.updates-intro h3{font:700 27px Arial,sans-serif;margin:0 0 15px}.updates-intro>a{margin:0;font-size:12px;letter-spacing:0}
.transition{padding:140px 22px 65px;background:linear-gradient(to bottom,#0b0b0b,#d7c9c8 35%,#fff 100%)}.transition .eyebrow{font-size:11px;letter-spacing:1px}.connect{padding-top:35px}.video-pending{text-shadow:none}
@media(max-width:800px){.hero{height:530px}.wordmark-wrap{top:46%;left:1%;width:98%;font-size:26.6vw}.hero-bottom{bottom:30px}.music{padding-top:45px}}
@media(max-width:520px){.hero{height:390px;min-height:0}.wordmark-wrap{top:48%;left:1%;width:98%;font-size:26.6vw}.wordmark-wrap h1{filter:none;text-shadow:none}.hero-bottom{bottom:25px}.transition{padding-top:110px;padding-bottom:45px}.section-heading h2,.connect .section-heading h2{font-size:23px}.connect .section-heading{padding-bottom:20px}}
/* Final direction: physical print texture, exact circles, level baseline. */
.site-shell{background:#1b1314}
.hero{background:#df171a url('./assets/red-print-texture-irregular.png') center center/cover no-repeat}
.wordmark-wrap{left:4%;width:92%;top:46%;transform:translateY(-50%);font-size:initial;line-height:1;letter-spacing:normal}
.wordmark-wrap h1{margin:0;filter:none;text-shadow:none;transform:none}
.wordmark-wrap img{display:block;width:100%;height:auto;filter:none}
.small-logo img,.footer-logo img{display:block;height:auto}.small-logo img{width:90px}.footer-logo img{width:125px;filter:brightness(0)}
.music,.connect,.updates-section,footer.section-wrap{max-width:none;padding-left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}
.hero .round-arrow{border-color:#fff;background:#16131380}
@media(max-width:520px){.wordmark-wrap{left:4%;width:92%;top:48%;font-size:initial}.small-logo img{width:76px}.footer-logo img{width:105px}}
/* Upper wordmark and a continuous fade into the music section. */
.hero-description{position:absolute;top:68%;left:4%;width:92%;margin:0;transform:translateY(-50%);color:#fff;text-align:center;font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-size:clamp(12px,1.4vw,20px);font-weight:500;line-height:1.6;letter-spacing:.02em;text-shadow:none}
.topbar{justify-content:flex-end}
.wordmark-wrap{top:64px;transform:none}
.hero{background-image:linear-gradient(to bottom,rgba(27,19,20,0) 48%,rgba(27,19,20,.12) 60%,rgba(27,19,20,.5) 76%,rgba(27,19,20,.88) 91%,#1b1314 100%),url('./assets/red-print-texture-irregular.png')}
@media(max-width:520px){.wordmark-wrap{top:64px;transform:none}}
/* The white page fades back into the red and black print at the footer. */
footer.section-wrap{border-top:0;min-height:390px;padding-top:285px;padding-bottom:38px;color:#fff;background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.999) 6%,rgba(255,255,255,.994) 12%,rgba(255,255,255,.98) 18%,rgba(255,255,255,.947) 24%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.768) 36%,rgba(255,255,255,.607) 42%,rgba(255,255,255,.413) 48%,rgba(255,255,255,.232) 54%,rgba(255,255,255,.101) 60%,rgba(255,255,255,.028) 66%,rgba(255,255,255,.003) 72%,rgba(255,255,255,0) 78%),linear-gradient(to bottom,rgba(25,11,20,0) 50%,rgba(25,11,20,.82) 100%),linear-gradient(#ed0033,#ed0033),url('./assets/red-print-texture-irregular.png') center 65%/cover no-repeat;background-blend-mode:normal,normal,color,normal}
footer .footer-logo img{filter:none}
footer .footer-credit>a{color:#fff}
@media(max-width:520px){footer.section-wrap{min-height:350px;padding-top:220px;padding-bottom:24px}}/* Keep the five social links centered and scale them with the viewport. */
.socials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:900px;margin:0 auto;gap:clamp(4px,2.5vw,36px);padding:18px 0 clamp(32px,5vw,60px);align-items:start}
.social-item{min-width:0;padding:12px 0;gap:clamp(10px,1.3vw,16px)}
.social-icon{width:clamp(44px,7vw,84px);height:clamp(44px,7vw,84px)}
.social-icon svg{width:44%;height:44%}
.social-name{font-size:clamp(9px,1vw,12px);letter-spacing:.3px}
.social-item small{font-size:clamp(8px,.8vw,10px);white-space:nowrap}/* Discreet business enquiry details at the very end of the page. */
footer.section-wrap{flex-wrap:wrap}
.footer-contact{flex-basis:100%;margin-top:18px;padding-top:22px;border-top:0;text-align:center;color:#eee3e8;font-family:var(--body);font-size:11px;font-weight:400;line-height:1.9;letter-spacing:.02em}
.footer-contact p{margin:0}
.footer-contact>a{display:inline-block;margin-top:9px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.03em;text-underline-offset:4px}
.footer-contact>a:hover{text-decoration:underline}
@media(max-width:520px){.footer-contact{margin-top:0;font-size:10px;line-height:2}.footer-contact>a{font-size:11px}}
.x-panel{min-height:0;align-self:start}
/* Full-width black social band with readable white labels. */
.connect{background:#0b0b0b;color:#fff;padding-top:40px;padding-bottom:12px}
.connect .section-heading{border-bottom-color:#ffffff38}
.connect .social-item,.connect .social-item small{color:#fff}
.connect .social-item:nth-child(even) .social-icon{box-shadow:inset 0 0 0 1px #ffffff40}
.updates-section{background:#fff;padding-top:40px;padding-bottom:80px}
.updates-section .updates{border-top:0;padding-top:0}
@media(max-width:520px){.connect{padding-top:30px;padding-bottom:8px}.updates-section{padding-top:35px;padding-bottom:55px}}/* White section title above the full-bleed black icon band. */
.connect{padding:0;background:#fff;color:var(--ink)}
.connect .section-heading{margin:0;border:0;padding:40px max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter))) 35px}
.social-band{background:#0b0b0b;color:#fff;padding:25px max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter))) 12px}
@media(max-width:520px){.connect .section-heading{padding-top:30px;padding-bottom:25px}.social-band{padding-top:18px;padding-bottom:8px}}
#youtube-link:not([hidden]){display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.watch-youtube-icon{display:block;width:20px;height:20px;flex-shrink:0}
/* Smaller serif music label and expressive ink X heading. */
.music .section-heading h2,.connect .section-heading h2{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-size:clamp(17px,1.8vw,21px);font-weight:500;letter-spacing:.02em;line-height:1.4}
.updates-intro{padding-top:0}
.updates-intro .x-ink-heading{margin:0 0 12px;line-height:1}
.x-ink-heading img{display:block;width:clamp(150px,19vw,240px);height:auto}
@media(max-width:520px){.x-ink-heading img{width:150px}}

/* Translucent smog stays behind copy; the black layer is clipped to the exact logo. */
.hero{isolation:isolate}
footer.section-wrap{position:relative;isolation:isolate;overflow:hidden}
.footer-smog{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;pointer-events:none;z-index:0;mask-image:linear-gradient(transparent 8%,#0002 30%,#000b 55%,#000 85%);-webkit-mask-image:linear-gradient(transparent 8%,#0002 30%,#000b 55%,#000 85%)}
footer.section-wrap::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 25%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.25) 58%,rgba(0,0,0,.52) 74%,rgba(0,0,0,.8) 88%,#000 100%)}
footer.section-wrap > :not(.footer-smog){position:relative;z-index:2}
.hero-smog{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;pointer-events:none;z-index:0;mask-image:linear-gradient(#000 0%,#000 62%,transparent 100%)}
/* Composite and contrast on an opaque plate, then mask once to avoid a white edge halo. */
.wordmark-wrap{z-index:2;left:50%;top:54px;width:min(68%,960px);transform:translateX(-50%);filter:none;mask:url('./logo.svg') center/100% 100% no-repeat;-webkit-mask:url('./logo.svg') center/100% 100% no-repeat}
.wordmark-wrap h1 img{opacity:0}
@media(max-width:800px){.wordmark-wrap{width:80%}}
@media(max-width:520px){.wordmark-wrap{width:92%}}
.logo-smog{position:absolute;inset:0;pointer-events:none;background:#fff;filter:contrast(16);opacity:1}
.logo-smog img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-description,.hero-bottom{z-index:3}
.hero-bottom{gap:18px;align-items:center}
.motion-toggle{width:34px;height:34px;border:1px solid #ffffff80;border-radius:50%;background:#1b131450;color:#fff;font:16px Georgia,serif;cursor:pointer}
.motion-toggle:focus-visible{outline:2px solid white;outline-offset:4px}
.recent-songs{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.5vw,36px);margin:45px 0 0;padding:0}
.recent-songs li{min-width:0}
.recent-songs a{display:block;font-size:clamp(11px,1.1vw,14px);line-height:1.6;letter-spacing:.03em}
.recent-songs img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:12px}
.recent-songs a:hover span{text-decoration:underline;text-underline-offset:4px}
.recent-songs a:focus-visible{outline:2px solid #ff2149;outline-offset:6px}
.catalog{margin-top:clamp(48px,6vw,88px)}
.catalog h3{margin:0 0 24px;font:500 clamp(17px,1.8vw,21px)/1.4 'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}
.song-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;list-style:none;padding:0;margin:0}
.song-grid li{min-width:0}.song-grid button{display:block;width:100%;padding:0;border:0;text-align:left;background:none;color:#fff;cursor:pointer}
.song-thumbnail{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#261b1d}
.song-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.song-thumbnail::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);border-left:14px solid white;border-top:9px solid transparent;border-bottom:9px solid transparent;filter:drop-shadow(0 1px 4px #000);opacity:.85}
.song-grid button:hover img{transform:scale(1.035)}.song-grid button:focus-visible{outline:2px solid #ff2149;outline-offset:6px}
.song-title{display:block;margin-top:11px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.song-grid small{display:block;font-size:10px;color:#bdb1b3;margin-top:5px}
#catalog-status{font-size:12px;line-height:1.8}#catalog-status a{text-decoration:underline}#catalog-status button{background:none;border:1px solid #ffffff60;color:#fff;padding:5px 10px;cursor:pointer}
#song-dialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:16px 20px 20px;background:#171313;color:#fff;border:1px solid #ffffff30;overflow:auto}
#song-dialog::backdrop{background:#000d}
.song-dialog-heading{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:12px}
.song-dialog-heading h2{font:500 16px/1.5 'Yu Mincho',Georgia,serif;margin:0;overflow-wrap:anywhere}
#song-dialog-close{flex-shrink:0;width:44px;height:44px;border:0;background:none;color:#fff;font:32px/1 Arial;cursor:pointer}
#song-dialog-stage{aspect-ratio:16/9}#song-dialog-stage iframe{width:100%;height:100%;display:block;border:0}
#song-dialog-link{display:inline-block;margin-top:16px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.song-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}}
@media(max-width:520px){.song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.song-title{font-size:11px}#song-dialog{padding:10px 12px 16px}.song-dialog-heading h2{font-size:13px}}
.artist-portrait{position:relative;width:136px;height:136px;margin:0 auto 204px;isolation:isolate}
.artist-portrait .artist-icon{position:relative;z-index:2;margin:0}
/* Existing smoke WebP forms staggered, soft trails falling from the portrait. */
.portrait-smog{position:absolute;top:78%;left:50%;transform:translateX(-50%);width:136px;height:260px;pointer-events:none;z-index:1;mask-image:linear-gradient(transparent,#000 12%,#000 65%,transparent 100%)}
.smog-tail{position:absolute;top:-18px;left:44px;width:64px;height:245px;transform-origin:50% 0;opacity:.95;mask-image:radial-gradient(ellipse 44% 82% at 50% 0%,#000 20%,#000e 45%,#0008 69%,transparent 100%),radial-gradient(ellipse 22% 14% at 50% 72%,#000 20%,#000a 55%,transparent 100%);animation:smog-trickle 8.7s cubic-bezier(.38,.05,.56,.95) infinite;animation-play-state:paused}
.smog-tail::after{content:'';position:absolute;top:63%;left:37%;width:26%;height:19%;border-radius:47% 53% 60% 40% / 68% 65% 35% 32%;background:radial-gradient(ellipse at 48% 64%,#c61239b3 8%,#d4163a80 33%,#d4163a26 62%,transparent 76%);filter:blur(1px);animation:smog-tip 8.7s ease-in infinite;animation-duration:inherit;animation-delay:inherit;animation-play-state:inherit}
.smog-tail img{position:absolute;left:50%;top:47%;width:275px;height:100px;max-width:none;object-fit:fill;transform:translate(-50%,-50%) rotate(90deg);opacity:1}
.smog-tail-left{left:19px;top:-12px;width:47px;height:180px;--drift:-7px;animation-duration:6.3s;animation-delay:-3.4s;opacity:.7}
.smog-tail-right{left:86px;top:-9px;width:36px;height:205px;--drift:5px;animation-duration:10.1s;animation-delay:-6.1s;opacity:.65}
.smog-tail-left img{top:44%;transform:translate(-50%,-50%) rotate(90deg) scaleY(-1)}
.smog-tail-right img{top:40%;width:240px;height:75px}
.portrait-smog.is-flowing .smog-tail{animation-play-state:running}
.motion-paused .smog-tail{animation-play-state:paused!important}
@keyframes smog-trickle{0%{transform:scale(.88,.46);opacity:.25}23%{transform:scale(1.08,.52);opacity:.98}40%{transform:scale(1.02,.64);opacity:1}64%{transform:scale(.76,1.05);opacity:.98}83%{transform:scale(.54,1.3);opacity:.8}100%{transform:scale(.34,1.48);opacity:0}}
@keyframes smog-tip{0%,12%{transform:scale(.45,.4);opacity:0}32%{transform:scale(1.2,.8);opacity:.75}55%{transform:translateY(4px) scale(1.15,1);opacity:.95}78%{transform:translateY(18px) scale(.82,1.25);opacity:.8}100%{transform:translateY(52px) scale(.6,1.1);opacity:0}}
.x-ink-heading a{display:block;width:fit-content}
.x-ink-heading a:focus-visible{outline:2px solid #ed0033;outline-offset:8px}
.ink-drip{position:absolute;top:88%;left:50%;transform:translateX(-50%);width:122px;height:auto;pointer-events:none;z-index:1}
.social-icon{position:relative;isolation:isolate}
.social-icon svg{position:relative;z-index:2}
.social-icon::after{content:'';position:absolute;inset:-13% -28%;pointer-events:none;background:#ee0035 url('./assets/red-print-texture-irregular.png') center/cover;mix-blend-mode:screen;opacity:0;clip-path:polygon(0 65%,15% 51%,6% 40%,37% 28%,72% 6%,68% 21%,100% 5%,85% 37%,100% 43%,74% 60%,83% 71%,40% 81%,11% 100%,19% 76%)}
.ink-flash .social-icon::after{animation:ink-swipe .48s ease-out both}
@keyframes ink-swipe{0%{opacity:0;transform:translate(-24%,14%) scaleX(.35)}25%{opacity:.9}65%{opacity:.65}100%{opacity:0;transform:translate(22%,-12%) scaleX(1.15)}}
.motion-paused .social-icon::after{animation:none!important;opacity:0}
.social-icon::after{background:#f60037;clip-path:none;mix-blend-mode:screen;mask:var(--ink-mask) center/contain no-repeat;-webkit-mask:var(--ink-mask) center/contain no-repeat}
.social-item:nth-child(1){--ink-mask:url('./assets/social-ink-youtube.svg');--from-x:-28%;--from-y:18%;--to-x:22%;--to-y:-15%;--ink-angle:-5deg;--ink-speed:.46s}
.social-item:nth-child(2){--ink-mask:url('./assets/social-ink-spotify.svg');--from-x:30%;--from-y:0%;--to-x:-22%;--to-y:4%;--ink-angle:6deg;--ink-speed:.55s}
.social-item:nth-child(3){--ink-mask:url('./assets/social-ink-x.svg');--from-x:0%;--from-y:0%;--to-x:0%;--to-y:0%;--ink-angle:0deg;--ink-speed:.40s}
.social-item:nth-child(4){--ink-mask:url('./assets/social-ink-patreon.svg');--from-x:0%;--from-y:30%;--to-x:4%;--to-y:-25%;--ink-angle:-9deg;--ink-speed:.62s}
.social-item:nth-child(5){--ink-mask:url('./assets/social-ink-instagram.svg');--from-x:4%;--from-y:7%;--to-x:7%;--to-y:-5%;--ink-angle:13deg;--ink-speed:.43s}
.ink-flash .social-icon::after{animation:individual-ink var(--ink-speed) ease-out both}
@keyframes individual-ink{0%{opacity:0;transform:translate(var(--from-x),var(--from-y)) rotate(var(--ink-angle)) scale(.5)}28%{opacity:.95}65%{opacity:.72}100%{opacity:0;transform:translate(var(--to-x),var(--to-y)) rotate(var(--ink-angle)) scale(1.2)}}
@media(max-width:520px){
  .hero-bottom{flex-direction:row;align-items:center}
  .recent-songs{gap:12px;margin-top:30px}
  .recent-songs a{font-size:10px;letter-spacing:0}
  .recent-songs img{margin-bottom:8px}
  .video-caption{flex-wrap:wrap}.video-caption p{max-width:100%}
  .artist-portrait{width:104px;height:104px;margin-bottom:170px}
  .portrait-smog{transform:translateX(-50%) scale(.72);transform-origin:50% 0}
  .ink-drip{width:100px}
}

/* Profile follows the SNS band; its existing smoke fades into a white reading area. */
.transition.profile{max-width:none;padding:180px max(var(--gutter),calc((100vw - 1200px)/2)) 70px;background:linear-gradient(to bottom,#0b0b0b 0,#8c8183 65px,#e9e0e1 130px,#fff 210px);color:var(--ink);text-align:left}
.profile>h2{margin:0 0 42px;font:500 clamp(17px,1.8vw,21px)/1.4 'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;letter-spacing:.02em}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
.profile-visual{text-align:center;padding-top:10px;min-width:0}
.profile-copy{min-width:0;width:100%;max-width:800px;margin:0 auto}
.profile-copy h3{margin:0 0 24px;font:600 clamp(27px,3vw,36px)/1.3 'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;letter-spacing:.08em}
.profile-copy p{margin:0 0 22px;font:400 clamp(14px,1.25vw,16px)/2.1 var(--body);letter-spacing:.035em;overflow-wrap:anywhere}
.profile-copy p:last-child{margin-bottom:0}
.profile-copy .icon-credit{margin:14px 0 0;text-align:right;font:600 10px/1.6 var(--body);letter-spacing:1px}
@media(max-width:600px){.transition.profile{padding-top:160px;padding-bottom:45px}.profile>h2{margin-bottom:32px}.profile-layout{grid-template-columns:1fr;gap:34px}.profile-copy h3{margin-bottom:20px}.profile-visual{padding-top:0}}
