:root{--bg:#101210;--panel:#191c18;--ink:#f2f3ec;--muted:#a5ac9f;--line:#363b32;--lime:#d4fa76;--pad:clamp(22px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:6px}button{color:inherit}::selection{background:var(--lime);color:var(--bg)}.skip{position:fixed;top:-80px;left:20px;background:var(--lime);color:var(--bg);padding:15px;z-index:30}.skip:focus{top:10px}.header{height:90px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{display:block}nav{display:flex;align-items:center;gap:34px;font-size:11px;letter-spacing:.09em}nav a{padding:16px 0}nav a:hover{color:var(--lime)}.nav-contact{border-bottom:1px solid var(--lime)}.nav-contact span{margin-left:20px;font-size:20px}.menu{display:none}.hero{padding:30px var(--pad) 24px;min-height:740px;position:relative;overflow:hidden}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;position:relative;z-index:2}.hero-top{color:var(--muted)}.dot{display:inline-block;background:var(--lime);height:6px;width:6px;border-radius:50%;margin-right:10px}.hero-copy{position:relative;z-index:2;padding-top:80px;pointer-events:none;max-width:900px}.hero-copy a{pointer-events:auto}.eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.7}.hero-copy .eyebrow{letter-spacing:.12em;margin-bottom:25px}h1{font-size:clamp(70px,8.3vw,132px);font-weight:800;line-height:.94;letter-spacing:-.065em;margin:0;position:relative}h1 em{font-style:normal;color:var(--lime)}.intro{font-size:14px;line-height:2;letter-spacing:.05em;margin:30px 0}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:0 23px;font-size:12px;font-weight:700;border:0;border-radius:0}.primary{color:var(--bg);background:var(--lime)}.primary:hover{background:#e1ffa0}.button span{font-size:22px}.hero-art{position:absolute;width:630px;height:630px;right:0;top:45px;pointer-events:auto}.hero-art img,.hero-art canvas{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.hero-art canvas{opacity:0;touch-action:pan-y}.hero-art.active canvas{opacity:1}.hero-art.active img{opacity:0}.art-label{position:absolute;right:28px;bottom:20px;color:var(--muted);font-size:9px;letter-spacing:.17em;writing-mode:vertical-rl}.hero-bottom{margin-top:66px;gap:16px}.hero-caption{color:var(--muted);font-size:9px}.mode-controls{display:flex;gap:14px;align-items:center}.mode-controls button{background:transparent;border:1px solid var(--line);padding:10px 14px;min-height:44px;font-size:11px}.mode-controls button:hover{border-color:var(--lime)}#mode-status{font-size:10px;color:var(--muted)}.scroll{padding:12px 0;font-size:9px}.discipline{padding:24px var(--pad);display:flex;justify-content:space-between;gap:24px;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(15px,2vw,26px);font-weight:700;letter-spacing:-.02em;overflow:hidden}.discipline b{color:var(--lime);font-size:20px}.section{padding:100px var(--pad)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-heading .eyebrow,.channel .eyebrow,.contact .eyebrow{color:var(--lime);margin-bottom:22px}h2{font-size:clamp(30px,3.5vw,54px);letter-spacing:-.03em;line-height:1.45;font-weight:600;margin:0}.section-heading>p,.channel p,.contact>p{color:var(--muted);font-size:13px;line-height:2}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.featured{grid-column:1/-1}.work-art{position:relative;overflow:hidden;aspect-ratio:1.55;background:#232720}.featured .work-art{aspect-ratio:2.5}.sample{position:absolute;bottom:18px;left:22px;font-size:8px;letter-spacing:.08em;z-index:2;color:#d0d3ca}.film-art{padding:35px;background:radial-gradient(ellipse at 48% 30%,#45453b,#252922 60%,#191d18)}.film-frame{position:relative;margin:auto;max-width:690px;height:100%;border:1px solid #787a63;background:linear-gradient(#292e29,#4c5446 55%,#b5bc86 56%,#252e22 57%);overflow:hidden}.film-frame>span{font-size:9px;letter-spacing:.15em;position:absolute;left:16px;top:15px;z-index:2}.sun{width:140px;height:140px;border-radius:50%;background:#d8e2af;box-shadow:0 0 90px #b5c19155;position:absolute;top:15%;left:calc(50% - 70px)}.horizon{position:absolute;bottom:-22%;height:65%;width:160%;left:-30%;background:#151c16;clip-path:polygon(0 30%,10% 20%,30% 18%,45% 0,61% 20%,75% 6%,100% 20%,100% 100%,0 100%)}.film-frame>.frame-bottom{top:auto;bottom:15px}.work-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.work-meta p{color:var(--muted);font-size:9px;letter-spacing:.12em;margin:0 0 8px}.work-meta h3{font-size:17px;font-weight:500;margin:0}.placeholder-tag{border:1px solid var(--line);color:var(--muted);font-size:9px;padding:6px 8px;white-space:nowrap}.music-art{background:#bcd077;color:#151d14;padding:25px}.music-art strong,.play-art strong{position:absolute;top:25px;left:25px;font-size:35px;line-height:.95;letter-spacing:-.05em;z-index:2}.music-art .sample{color:#263820}.wave{position:absolute;inset:10% 3% 4%;display:flex;align-items:center;justify-content:center;gap:9px;transform:rotate(-12deg)}.wave i{width:10px;background:#2c4722;border-radius:8px;height:25%}.wave i:nth-child(3n){height:70%}.wave i:nth-child(4n){height:95%}.wave i:nth-child(2n){height:48%}.play-art{background:radial-gradient(ellipse at 75% 50%,#675777,#302d38 55%,#27272d)}.pixel-orbit{color:#c3add8;position:absolute;right:7%;top:0;font-size:245px;line-height:1;transform:rotate(-15deg);text-shadow:9px 10px 0 #171822}.services{border-top:1px solid var(--line)}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:25px;cursor:pointer;padding:26px 0;list-style:none;min-height:85px}summary::-webkit-details-marker{display:none}.service-number{color:var(--muted);font-size:11px;width:40px}summary h3{font-size:24px;font-weight:500;flex:1;margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px}summary small{font-size:10px;color:var(--muted);letter-spacing:.12em;font-weight:400}.plus{font-size:25px;color:var(--lime);width:30px;text-align:center}details[open] .plus{transform:rotate(45deg)}details>p{margin:0;padding:0 65px 28px;max-width:730px;color:var(--muted);font-size:13px;line-height:2}.channel{background:#191c18;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.channel-screen{min-height:285px;position:relative;border:1px solid #59614c;background:repeating-linear-gradient(0deg,#101510 0px,#101510 3px,#141914 4px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.screen-top{position:absolute;top:17px;left:18px;color:var(--muted);font-size:8px;letter-spacing:.1em}.play-icon{font-size:42px;color:var(--lime);line-height:1}.channel-screen strong{font-size:clamp(21px,2.4vw,36px);letter-spacing:-.03em}.channel-screen>span:not(.screen-top):not(.play-icon){color:var(--muted);font-size:11px}.screen-bottom{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.contact{padding-top:115px;padding-bottom:115px}.contact-heading{display:flex;align-items:center;justify-content:space-between}.contact-heading h2{font-size:clamp(40px,5.4vw,84px);line-height:1.35}.contact-heading h2 span{color:var(--lime)}.contact-arrow{font-size:130px;color:var(--lime);font-weight:200}.contact>p{margin:25px 0}.contact-note{font-size:10px;color:var(--muted);display:block;margin-top:15px}footer{padding:35px var(--pad);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}footer>span{font-size:9px;color:var(--muted);letter-spacing:.08em}footer small{font-size:9px;color:var(--muted)}footer>a:last-child{font-size:9px;padding:15px 0}.mobile-break{display:none}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);max-width:500px;width:calc(100% - 40px);padding:40px}dialog::backdrop{background:#000b}dialog h2{font-size:26px}dialog p{font-size:13px;line-height:2;color:var(--muted)}dialog>.dialog-close:first-child{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;font-size:26px}
@media(min-width:1500px){.hero-art{right:8%;width:690px;height:690px}}@media(max-width:1000px){.hero{min-height:660px}.hero-art{right:-130px;top:95px;width:550px;height:550px}.hero-copy{padding-top:65px}.hero-caption{display:none}.section{padding-top:75px;padding-bottom:75px}.section-heading>p{max-width:260px}.channel{gap:35px}footer>span{display:none}}
@media(max-width:650px){html{scroll-padding-top:75px}.header{height:74px}.brand img{width:133px;height:auto}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid var(--line);padding:12px}.menu span{height:1px;background:var(--ink);width:100%}.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:73px;background:var(--panel);padding:20px var(--pad);border-bottom:1px solid var(--line);gap:0;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{padding:18px 0;font-size:12px}.hero{min-height:0;padding-top:23px;padding-bottom:20px}.hero-top{font-size:8px;letter-spacing:.09em}.edition{display:none}.hero-copy{padding-top:38px}.hero-copy .eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:.03em}h1{font-size:clamp(55px,13.1vw,83px);letter-spacing:-.065em;line-height:1}.intro{font-size:12px;margin:22px 0;line-height:1.95}.mobile-break{display:block}.hero-copy .button{margin-top:8px}.hero-art{position:relative;top:auto;right:auto;width:calc(100% + 44px);height:310px;margin:-7px -22px -18px;pointer-events:auto}.art-label{right:27px;bottom:40px;font-size:7px}.hero-bottom{margin-top:0;align-items:center;gap:8px}.mode-controls{gap:9px}.mode-controls button{font-size:10px;padding:9px 11px}#mode-status{font-size:8px}.scroll{font-size:7px;letter-spacing:.05em}.discipline{padding-top:20px;padding-bottom:20px;gap:20px;font-size:14px;overflow:auto;scrollbar-width:none}.discipline b{font-size:15px}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow,.channel .eyebrow{font-size:9px;margin-bottom:17px}h2{font-size:32px}.section-heading>p{max-width:none;font-size:11px;margin-top:22px}.work-grid{display:block}.work-card{margin-bottom:31px}.work-card:last-child{margin-bottom:0}.featured .work-art{aspect-ratio:1.5}.film-art{padding:20px}.sun{width:90px;height:90px;left:calc(50% - 45px);top:20%}.film-frame>span{font-size:6px;left:10px;top:10px}.film-frame>.frame-bottom{bottom:10px}.sample{font-size:6px;bottom:11px;left:12px}.work-meta h3{font-size:14px}.work-meta p{font-size:8px}.placeholder-tag{font-size:8px}.music-art strong,.play-art strong{font-size:33px}.pixel-orbit{font-size:220px;right:5%;top:4%}.wave{gap:6px}.wave i{width:8px}summary{gap:12px;padding:22px 0}.service-number{width:20px;font-size:9px}summary h3{font-size:18px;display:block}summary small{display:block;font-size:8px;margin-top:7px}.plus{font-size:23px}details>p{padding-left:32px;padding-right:10px;font-size:12px}.channel{grid-template-columns:1fr;gap:28px}.channel p{font-size:12px}.channel-screen{min-height:240px}.channel-screen strong{font-size:29px}.contact-heading h2{font-size:40px}.contact-arrow{font-size:58px}.contact>p{font-size:12px}.contact .eyebrow{font-size:9px;margin-bottom:25px}footer{display:grid;grid-template-columns:1fr auto;gap:13px}footer .brand{grid-column:1/-1}footer small{font-size:8px}footer>a:last-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Centered vertical presentation, shared by mobile and desktop. */
.header{max-width:1100px;margin:auto}.hero{max-width:1000px;margin:auto;text-align:center;min-height:0}.hero-copy{max-width:none;padding-top:58px}.hero-copy .intro{margin:24px auto}.hero-art{position:relative;top:auto;right:auto;width:560px;max-width:100%;height:430px;margin:-12px auto -12px}.hero-bottom{margin-top:0}.hero-top .edition{font-size:8px}h1{font-size:clamp(58px,8.8vw,110px)}.art-label{right:8px}.section{max-width:1100px;margin:auto}.channel{max-width:1100px}.discipline{max-width:1100px;margin:auto}.contact{text-align:center}.contact-heading{justify-content:center;position:relative}.contact-arrow{font-size:78px;margin-left:40px}.contact-heading h2{font-size:clamp(40px,5vw,68px)}footer{max-width:1100px;margin:auto}.hero-caption{font-size:8px}@media(max-width:650px){.hero-copy{padding-top:35px}.hero-art{width:100%;height:295px;margin:-8px auto -8px}.hero-top{justify-content:center}.hero .intro{font-size:12px}.hero-bottom{justify-content:space-between}.hero-caption{display:none}.contact-heading{justify-content:center}.contact-arrow{position:absolute;right:0;top:-10px;font-size:38px;margin:0}.contact-heading h2{font-size:38px}.contact .button{gap:25px}}
/* White creative direction */
:root{--bg:#fafaf8;--panel:#f0f1ee;--ink:#202220;--muted:#636961;--line:#d9ddd5;--lime:#485bea}body{background:var(--bg)}.header{background:var(--bg)}.brand img{filter:brightness(0)}.hero{background-image:linear-gradient(#d9ddd530 1px,transparent 1px),linear-gradient(90deg,#d9ddd530 1px,transparent 1px);background-size:70px 70px}.hero-copy{padding-top:48px}h1{font-size:clamp(56px,8vw,100px);font-weight:500;letter-spacing:-.065em}h1 em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#485bea}.primary{background:#202220;color:white;border-radius:50px}.primary:hover{background:#485bea}.hero-art{height:250px;width:440px;position:relative;margin:10px auto}.hero-art img,.hero-art canvas,.art-label{display:none}.ball-orbit{position:absolute;left:50%;top:50%;width:240px;height:160px;margin:-80px 0 0 -120px;border:1px solid #bfc6d8;border-radius:50%;transform:rotate(-20deg)}.ball-orbit:after{content:'';position:absolute;inset:12px -25px;border:1px dashed #bfc6d8;border-radius:50%;transform:rotate(70deg)}.play-ball{position:absolute;width:92px;height:92px;left:calc(50% - 46px);top:calc(50% - 46px);border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0%,#eef2ff 16%,#9eaaff 38%,#5368d3 65%,#202e70 100%);box-shadow:inset -8px -10px 16px #23346c50,0 20px 30px #45559b20;animation:orbit 8s linear infinite;cursor:pointer}.play-ball:before{content:'';position:absolute;inset:6px 27px;border:1px solid #ffffffa0;border-radius:50%;transform:rotate(-35deg)}.play-ball:after{content:'✳';position:absolute;top:26px;left:32px;color:#fff;font-size:30px;animation:spin 5s linear infinite}.small-ball{width:25px;height:25px;border-radius:50%;position:absolute;left:24%;top:28%;background:radial-gradient(circle at 25% 20%,white,#ffb89b 40%,#c26748);animation:orbit-small 10s linear infinite}.tiny-ball{width:15px;height:15px;border-radius:50%;position:absolute;right:23%;bottom:25%;background:radial-gradient(circle at 25% 20%,white,#c1c4ed 40%,#69729d);animation:spin 5s linear infinite}.play-hint{position:absolute;bottom:0;left:0;right:0;font:9px 'Courier New',monospace;letter-spacing:.14em;color:var(--muted)}.hero-bottom{margin-top:25px}.discipline{font-family:'Courier New',monospace;font-size:16px;font-weight:400}.discipline b{color:#485bea}.section-heading .eyebrow,.channel .eyebrow,.contact .eyebrow{color:#485bea}.plus,.contact-arrow,.contact-heading h2 span{color:#485bea}.channel{background:#f0f1ee}.channel-screen{background:#fafaf8;border-color:#cbd0c6}.channel-screen strong{font-family:'Courier New',monospace;font-weight:400}.play-icon{color:#485bea}.screen-bottom,.screen-top{color:#636961}.film-art{background:linear-gradient(145deg,#e5e9f0,#c0cbd8)}.music-art{background:#dbdff0}.play-art{background:linear-gradient(145deg,#e1d9e9,#b7c2d8)}.play-art strong{color:#202220}.pixel-orbit{color:#fafaf8;text-shadow:9px 10px 0 #8f99b7}.sample{color:#323a43}.film-art .sample{color:#323a43}.contact{border-top:1px solid var(--line)}.star-particle{position:fixed;z-index:100;pointer-events:none;color:var(--particle-color);font-size:var(--size);line-height:1;animation:burst .7s ease-out forwards}.mode-controls button{border-radius:30px}.skip{color:white;background:#485bea}@keyframes orbit{0%{transform:translate(65px,0) rotate(0deg)}25%{transform:translate(0,38px) rotate(90deg)}50%{transform:translate(-65px,0) rotate(180deg)}75%{transform:translate(0,-38px) rotate(270deg)}100%{transform:translate(65px,0) rotate(360deg)}}@keyframes orbit-small{0%{transform:translate(0,0)}50%{transform:translate(130px,70px)}100%{transform:translate(0,0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes burst{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rotation)) scale(.8);opacity:0}}body.effects-paused .play-ball,body.effects-paused .small-ball,body.effects-paused .tiny-ball,body.effects-paused .play-ball:after{animation-play-state:paused}@media(max-width:650px){.hero-art{height:210px;width:100%}.hero-copy{padding-top:30px}.hero-copy .intro{font-size:12px}.hero-bottom{margin-top:15px}h1{font-size:clamp(50px,12vw,76px)}.discipline{font-size:13px}.hero{padding-bottom:23px}.play-hint{bottom:4px}}@media(prefers-reduced-motion:reduce){.play-ball,.small-ball,.tiny-ball{animation:none}.star-particle{display:none}}
/* RYU palette: black / red / white. Lightweight automatic motion. */
:root{--bg:#fff;--panel:#f3f3f3;--ink:#111;--muted:#626262;--line:#dedede;--lime:#ce1141}h1 em,.discipline b,.section-heading .eyebrow,.channel .eyebrow,.contact .eyebrow,.plus,.contact-arrow,.contact-heading h2 span,.play-icon{color:#ce1141}.primary{background:#111;color:#fff}.primary:hover,.skip{background:#ce1141;color:#fff}.hero{background-image:linear-gradient(#11111106 1px,transparent 1px),linear-gradient(90deg,#11111106 1px,transparent 1px)}.ball-orbit,.ball-orbit:after{border-color:#11111125}.play-ball{background:radial-gradient(circle at 30% 25%,#fff 0%,#ffd9e2 13%,#ed4770 36%,#ce1141 63%,#65091f 100%);box-shadow:inset -8px -10px 16px #57031b40,0 20px 30px #ce114118}.small-ball{background:radial-gradient(circle at 25% 20%,#fff,#777 36%,#111 80%)}.tiny-ball{background:radial-gradient(circle at 25% 20%,#fff,#eee 45%,#999);box-shadow:0 1px 4px #0002}.film-art{background:linear-gradient(145deg,#171717,#393939)}.film-frame{border-color:#ffffff50;background:linear-gradient(#1b1b1b,#383838 55%,#ce1141 56%,#111 57%);color:#fff}.sun{background:#ce1141;box-shadow:0 0 65px #ce114138;animation:film-drift 12s ease-in-out infinite}.horizon{background:#101010}.film-art .sample{color:#fff}.music-art{background:#f5e8ec;color:#111}.music-art .sample{color:#333}.wave i{background:#ce1141;animation:equalizer 2.6s ease-in-out infinite;transform-origin:center}.wave i:nth-child(2n){animation-delay:-.7s}.wave i:nth-child(3n){animation-delay:-1.4s}.play-art{background:linear-gradient(145deg,#161616,#363636)}.play-art strong,.play-art .sample{color:#fff}.pixel-orbit{color:#ce1141;text-shadow:9px 10px 0 #080808;animation:creative-spin 22s linear infinite}.channel{background:#f3f3f3}.channel-screen{background:#fff;border-color:#d5d5d5}.skip{background:#ce1141}::selection{color:#fff;background:#ce1141}@keyframes film-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes equalizer{0%,100%{transform:scaleY(.65)}50%{transform:scaleY(1)}}@keyframes creative-spin{from{transform:rotate(-15deg)}to{transform:rotate(345deg)}}body.effects-paused .sun,body.effects-paused .wave i,body.effects-paused .pixel-orbit{animation-play-state:paused}
/* Editorial refinement */
body{background:#f8f8f6}.header{background:#f8f8f6;border-bottom-color:#111}.hero{background-image:none;padding-top:32px}.hero-top{font-family:'Courier New',monospace;font-size:9px;letter-spacing:.14em}.hero-copy{padding-top:65px}.hero-copy>.eyebrow{font-size:11px;color:#686868;letter-spacing:.06em}h1{font-size:clamp(74px,9vw,126px);line-height:.94;letter-spacing:-.075em;font-weight:500}h1 em{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.075em;font-weight:400}.intro{color:#666;font-size:13px!important;line-height:2!important}.primary{border-radius:0;font-weight:400;letter-spacing:.06em;min-height:52px;padding:0 25px}.hero-copy .primary{background:transparent;color:#111;border-bottom:1px solid #111;padding:0 0;min-width:195px}.hero-copy .primary:hover{color:#ce1141;border-bottom-color:#ce1141}.hero-art{height:230px;margin-top:18px}.ball-orbit{border-color:#11111116;width:220px;height:135px;margin:-67px 0 0 -110px}.ball-orbit:after{border-style:solid;border-color:#11111110}.play-ball{width:75px;height:75px;left:calc(50% - 37px);top:calc(50% - 37px);box-shadow:inset -6px -7px 14px #57031b40,0 18px 25px #ce11410e}.play-ball:after{font-size:22px;left:27px;top:24px}.play-ball:before{inset:5px 23px}.small-ball{width:19px;height:19px}.tiny-ball{width:11px;height:11px}.play-hint{font-size:8px;letter-spacing:.18em}.hero-bottom{padding-bottom:15px}.mode-controls button{border:0;padding:0 5px;font-size:9px;text-decoration:underline;text-underline-offset:5px}.discipline{background:#111;color:#fff;border:0;padding-top:22px;padding-bottom:22px;font-size:12px;letter-spacing:.12em}.discipline b{color:#ce1141;font-size:16px}.section{padding-top:100px;padding-bottom:100px}.section-heading .eyebrow,.channel .eyebrow,.contact .eyebrow{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.15em}h2{font-weight:400;letter-spacing:-.05em}.work-art{border-radius:2px}.work-meta h3{font-weight:400}.placeholder-tag{border:0;font-size:8px;letter-spacing:.08em}summary h3{font-size:21px;font-weight:400}summary small{font-family:'Courier New',monospace;font-size:9px}.service-number{font-family:'Courier New',monospace;color:#ce1141}.channel{background:#efefec}.channel-screen{background:#f8f8f6;border-color:#ccc}.channel-screen strong{font-size:28px;letter-spacing:.12em}.contact-heading h2{font-weight:400}.contact-arrow{font-size:65px}.contact .primary{min-width:250px}.film-art{padding:32px;background:#171717}.film-frame{border-color:#ffffff30}.sample{letter-spacing:.12em}.music-art{background:#e9e8e5}.wave i{background:#111}.play-art{background:#ce1141}.pixel-orbit{color:#fafaf8;text-shadow:none}.brand img{width:140px;height:auto}footer{border-top-color:#111}@media(max-width:650px){.header{height:80px}.menu{border:0;padding:10px;width:44px}.menu span{width:22px}.hero{padding-top:26px}.hero-copy{padding-top:40px}.hero-copy>.eyebrow{font-size:9px;margin-bottom:23px}h1{font-size:clamp(64px,16.2vw,91px)}.hero .intro{font-size:11px!important;margin-top:27px;margin-bottom:17px}.hero-art{height:200px;margin-top:12px}.hero-bottom{margin-top:8px;padding-bottom:5px}.discipline{font-size:10px;gap:23px;padding-top:22px;padding-bottom:22px}.section{padding-top:65px;padding-bottom:65px}h2{font-size:31px}.section-heading>p{font-size:11px}.work-meta h3{font-size:14px}.contact-heading h2{font-size:36px}.contact-arrow{font-size:30px}.film-art{padding:22px}.channel-screen strong{font-size:22px}.scroll{font-size:6px}.hero-top{font-size:7px}.mode-controls{gap:6px}#mode-status{font-size:7px}}
.creative-banner{max-width:1000px;margin:55px auto 0;background:#101010;color:#fff;position:relative;overflow:hidden;min-height:355px;padding:46px 50px}.banner-copy{position:relative;z-index:2}.banner-copy>p{font:9px 'Courier New',monospace;letter-spacing:.18em;color:#ffffffa0;margin:0 0 25px}.banner-copy h2{font-size:clamp(48px,6vw,84px);line-height:.9;letter-spacing:-.06em;font-weight:600}.banner-copy h2 em{font-family:Georgia,serif;font-weight:400}.banner-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:30px}.banner-bottom>span{font-size:11px;line-height:1.9;color:#ddd}.banner-bottom a{display:flex;align-items:center;justify-content:center;border:1px solid #ffffff60;border-radius:50%;width:52px;height:52px;font-size:27px}.banner-bottom a:hover{background:#ce1141;border-color:#ce1141}.banner-art{position:absolute;inset:0;pointer-events:none}.banner-disc{position:absolute;right:9%;top:-70px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#f56b81,#ce1141 40%,#800023 75%);box-shadow:0 0 100px #ce114130}.banner-orbit{position:absolute;width:480px;height:190px;right:5%;top:60px;border:1px solid #ffffff50;border-radius:50%;transform:rotate(-40deg)}.banner-cross{position:absolute;right:17%;top:70px;color:#fff;font-size:135px;line-height:1;animation:creative-spin 30s linear infinite}.banner-index{position:absolute;top:24px;right:15px;writing-mode:vertical-rl;font:8px 'Courier New',monospace;letter-spacing:.15em;color:#ffffff80}body.effects-paused .banner-cross{animation-play-state:paused}@media(max-width:650px){.creative-banner{margin:32px 22px 0;padding:30px 25px;min-height:340px}.banner-copy>p{font-size:7px;letter-spacing:.08em;margin-bottom:80px}.banner-copy h2{font-size:45px;position:relative}.banner-disc{width:240px;height:240px;right:-50px;top:-25px}.banner-cross{font-size:85px;right:15px;top:35px}.banner-orbit{width:280px;height:110px;right:-52px;top:36px}.banner-bottom{margin-top:24px;gap:10px}.banner-bottom>span{font-size:9px}.banner-bottom a{width:42px;height:42px;flex-shrink:0;font-size:24px}.banner-index{display:none}}
.top-banner{margin:0 auto;max-width:1100px;min-height:390px;padding:55px var(--pad)}@media(max-width:650px){.top-banner{margin:0;min-height:340px;padding:30px 25px}.top-banner .banner-copy>p{margin-bottom:80px}}
.image-reel{max-width:1100px;margin:auto;padding:23px 0 28px;border-bottom:1px solid var(--line)}.reel-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad) 17px;gap:15px;font:9px 'Courier New',monospace;letter-spacing:.08em;color:#626262}.reel-header button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:10px}.reel-window{overflow:hidden}.reel-track{display:flex;width:max-content;animation:reel-scroll 32s linear infinite}.reel-group{display:flex;gap:14px;padding-right:14px}.reel-card{width:290px;height:185px;position:relative;overflow:hidden;background:#171717 center/cover;color:white}.reel-film{background-image:url('assets/reel-film.svg')}.reel-animation{background-image:url('assets/reel-animation.svg')}.reel-music{background-image:url('assets/reel-music.svg')}.reel-game{background-image:url('assets/reel-game.svg')}.reel-dummy{position:absolute;top:14px;left:16px;font-size:8px;letter-spacing:.05em;background:#111b;padding:5px 8px}.reel-label{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 16px;background:linear-gradient(transparent,#000b)}.reel-label span{display:block;font:9px 'Courier New',monospace;letter-spacing:.12em;margin-bottom:8px}.reel-label strong{font-size:17px;font-weight:400}.image-reel.reel-paused .reel-track,body.effects-paused .reel-track{animation-play-state:paused}.reel-window:hover .reel-track{animation-play-state:paused}@keyframes reel-scroll{to{transform:translateX(-50%)}}@media(max-width:650px){.image-reel{padding-top:12px;padding-bottom:20px}.reel-header{font-size:7px;padding-bottom:8px}.reel-header button{font-size:9px}.reel-card{width:240px;height:155px}.reel-group{gap:10px;padding-right:10px}}@media(prefers-reduced-motion:reduce){.reel-track{animation:none}}
.reel-web{background-image:url('assets/reel-web.svg')}.reel-track{animation-duration:38s}
.reel-window{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y}.reel-window::-webkit-scrollbar{display:none}.reel-track{animation:none!important;transform:none!important}.reel-card{cursor:pointer;user-select:none}.reel-card img{-webkit-user-drag:none}.reel-card:focus-visible{outline:3px solid #ce1141;outline-offset:-3px}
.hero-art .play-ball,.hero-art .small-ball,.hero-art .tiny-ball,.hero-art .play-ball:after{animation:none!important}.hero-art .ball-orbit{display:none}.random-sphere{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 24%,#fff 0%,#ffd9e2 13%,#ed4770 36%,#ce1141 63%,#65091f 100%);box-shadow:inset -5px -7px 12px #0002,0 12px 20px #0001}.random-sphere.black{background:radial-gradient(circle at 30% 24%,#ddd,#777 18%,#222 55%,#080808)}.random-sphere.white{background:radial-gradient(circle at 30% 24%,#fff,#f5f5f5 35%,#ccc 70%,#999)}
.hero-art{height:310px;perspective:700px;overflow:hidden;background:radial-gradient(ellipse at center,#ce11410a,transparent 65%)}.random-sphere{pointer-events:auto;cursor:pointer}.model-ring{position:absolute;left:calc(50% - 55px);top:calc(50% - 55px);width:110px;height:110px;border:16px solid #ce1141;border-radius:50%;box-shadow:inset 3px 3px 5px #60091c60,3px 4px 6px #0002;animation:model-turn 9s linear infinite;pointer-events:none}.model-cube{position:absolute;left:20%;top:20%;width:52px;height:52px;transform-style:preserve-3d;animation:cube-turn 12s linear infinite;pointer-events:none}.model-cube i{position:absolute;inset:0;border:1px solid #1115;background:#ffffffb8;backface-visibility:visible}.model-cube i:nth-child(1){transform:translateZ(26px);background:#111}.model-cube i:nth-child(2){transform:rotateY(90deg) translateZ(26px);background:#ce1141}.model-cube i:nth-child(3){transform:rotateY(180deg) translateZ(26px)}.model-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(26px);background:#222}.model-cube i:nth-child(5){transform:rotateX(90deg) translateZ(26px)}.model-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(26px);background:#ce1141}.play-hint{z-index:3;background:#f8f8f6d9;padding:7px}.banner-disc{animation:banner-breathe 8s ease-in-out infinite}.banner-orbit{animation:banner-orbit 18s linear infinite}@keyframes model-turn{0%{transform:translate(60px,-35px) rotateX(15deg) rotateY(0deg)}50%{transform:translate(-50px,35px) rotateX(55deg) rotateY(180deg)}100%{transform:translate(60px,-35px) rotateX(15deg) rotateY(360deg)}}@keyframes cube-turn{0%{transform:translate(0,0) rotateX(20deg) rotateY(0deg)}50%{transform:translate(85px,80px) rotateX(200deg) rotateY(180deg)}100%{transform:translate(0,0) rotateX(380deg) rotateY(360deg)}}@keyframes banner-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(18px) scale(1.07)}}@keyframes banner-orbit{from{transform:rotate(-40deg)}to{transform:rotate(320deg)}}body.effects-paused .model-ring,body.effects-paused .model-cube,body.effects-paused .banner-disc,body.effects-paused .banner-orbit{animation-play-state:paused}@media(max-width:650px){.hero-art{height:280px}.model-ring{width:90px;height:90px;left:calc(50% - 45px);top:calc(50% - 45px);border-width:13px}}
.creative-banner{min-height:470px}.banner-playground{position:absolute!important;right:30px;top:45px!important;left:auto!important;width:320px!important;height:300px!important;z-index:3;background:none;margin:0!important}.banner-playground .play-hint{color:white;background:transparent}.banner-playground .model-cube i{border-color:#fff6}.banner-art{opacity:.3}.detail-page h1{font-size:clamp(30px,5vw,64px);line-height:1.4;letter-spacing:-.04em}.detail-page .eyebrow{color:#ce1141}.detail-intro{max-width:650px;line-height:2;font-size:16px;margin:35px 0 55px}.detail-list{margin:30px 0 50px}.detail-list article{display:flex;gap:25px;align-items:center;padding:25px 0;border-top:1px solid #ddd}.detail-list span{color:#ce1141;font:12px monospace}.detail-list h2{font-size:23px}.detail-back{display:block;margin-top:30px;font-size:13px}.service-detail{display:inline-block;margin:0 0 25px 65px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.work-meta .service-detail{margin:0}.contact-pending{background:#eee;padding:30px;margin:40px 0}.contact-pending h2{font-size:23px}@media(max-width:650px){.creative-banner{min-height:570px}.banner-playground{right:calc(50% - 150px);top:290px!important;width:300px!important;height:260px!important}.banner-copy>p{margin-bottom:40px!important}.banner-bottom{margin-top:25px}.detail-intro{font-size:14px}.service-detail{margin-left:32px}.detail-list h2{font-size:20px}.work-meta{flex-wrap:wrap}}
/* Full-size real-time 3D stage */
.game-hero{max-width:none;min-height:690px;height:calc(100svh - 90px);max-height:950px;background:#080809;padding:70px max(var(--pad),calc((100vw - 1100px)/2));isolation:isolate}.game-hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080809b0,transparent 70%),linear-gradient(0deg,#080809 0%,transparent 35%)}#game-scene{position:absolute;inset:0;z-index:0}#game-scene canvas{width:100%;height:100%;display:block;touch-action:pan-y}.game-overlay{position:relative;z-index:2;pointer-events:none;padding-top:90px}.game-overlay a{pointer-events:auto}.game-kicker{font:10px monospace;letter-spacing:.18em;color:#aaa;margin-bottom:35px}.game-overlay h2{font-family:Arial,sans-serif;font-size:clamp(64px,8.6vw,130px);font-weight:900;letter-spacing:-.07em;line-height:.87}.game-overlay h2 em{color:#ed1947;font-style:normal}.game-description{font-size:14px;line-height:1.9;color:#ddd;margin:28px 0}.game-overlay .primary{background:#ce1141;color:#fff;border:0;min-width:210px}.game-bottom{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;font:9px monospace;color:#aaa}.game-bottom button{background:#1119;border:1px solid #777;color:#fff;font-size:10px;min-height:44px;padding:8px 15px}.hero{display:none}.header{max-width:none;padding-left:var(--pad);padding-right:var(--pad)}.game-hero.scene-fallback #game-scene{background:radial-gradient(circle at 75% 30%,#ce1141,transparent 35%)}.game-hero.scene-fallback #game-scene:after{content:'';position:absolute;right:15%;top:15%;width:200px;height:200px;border:35px solid #ce1141;border-radius:50%;animation:creative-spin 15s linear infinite}@media(max-width:650px){.game-hero{min-height:670px;height:calc(100svh - 80px);max-height:820px;padding:36px 24px}.game-overlay{padding-top:190px}.game-kicker{font-size:7px;letter-spacing:.12em;margin-bottom:22px}.game-overlay h2{font-size:clamp(55px,14.5vw,88px)}.game-description{font-size:11px;margin:22px 0}.game-overlay .primary{min-width:180px;min-height:48px;font-size:11px}.game-bottom{left:24px;right:24px;bottom:18px;flex-wrap:wrap;font-size:7px}.game-bottom>span:first-child{width:100%;margin-bottom:5px}.game-hero:before{background:linear-gradient(0deg,#080809 0%,#08080955 45%,transparent 90%)}}
@media(prefers-reduced-motion:reduce){body.motion-override .banner-cross{animation:creative-spin 30s linear infinite!important}body.motion-override .game-hero.scene-fallback #game-scene:after{animation:creative-spin 15s linear infinite!important}}
.viewport-bubbles{position:fixed;inset:0;z-index:15;overflow:hidden;pointer-events:none}.glass-bubble{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;border:1px solid #a9adb659;background:radial-gradient(circle at 27% 23%,#ffffff80 0%,#ffffff08 15%,transparent 43%,#dce2ec12 68%,#ffffff38 88%,#ce114118 100%);box-shadow:inset 2px 3px 5px #ffffff70,inset -3px -4px 7px #8a93a320,0 4px 9px #00000008}.glass-bubble:before{content:'';position:absolute;top:13%;left:17%;width:29%;height:13%;border-top:2px solid #ffffffe0;border-radius:50%;transform:rotate(-35deg)}.glass-bubble:after{content:'';position:absolute;inset:5%;border-radius:50%;border-right:1px solid #ce114130;border-bottom:1px solid #b6c1d330}.game-hero #game-scene canvas{opacity:.2}.game-hero:before{background:linear-gradient(0deg,#080809,transparent 75%)}dialog{z-index:30}
.cyber-sphere{overflow:visible;border-color:#abb9c67a;background:radial-gradient(circle at 28% 22%,#ffffff60,transparent 30%,#a4c3db0c 63%,#ce11411c 95%);box-shadow:inset 0 0 12px #d9edf526,0 0 10px #ce114110}.cyber-longitude,.cyber-latitude,.cyber-orbit{position:absolute;display:block;pointer-events:none;border-radius:50%}.cyber-longitude{inset:5% 27%;border:1px solid #b4c5d45c;transform:rotate(-25deg)}.cyber-latitude{inset:30% 3%;border:1px solid #b4c5d452;transform:rotate(-25deg)}.cyber-orbit{inset:-14%;border:1px solid #ce114172;transform:rotate(-32deg) scaleY(.43);animation:cyber-orbit var(--orbit-duration) linear infinite;box-shadow:0 0 5px #ce11411c}.cyber-orbit i{position:absolute;left:12%;top:12%;width:5px;height:5px;border-radius:50%;background:#ce1141;box-shadow:0 0 7px #ce114180}.cyber-orbit.secondary{inset:-7%;border-color:#c9d8e278;animation-direction:reverse;animation-duration:19s;transform:rotate(58deg) scaleY(.48)}@keyframes cyber-orbit{0%{transform:rotate(-32deg) scaleY(.43)}50%{transform:rotate(148deg) scaleY(.6)}100%{transform:rotate(328deg) scaleY(.43)}}body.effects-paused .cyber-orbit{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .cyber-orbit{animation:cyber-orbit var(--orbit-duration) linear infinite!important}body.motion-override.effects-paused .cyber-orbit{animation-play-state:paused!important}}
.cyber-orbit.secondary{animation-duration:9.5s}
.cyber-sphere{border-color:#39ed906b;background:radial-gradient(circle at 28% 22%,#ffffff45,transparent 30%,#00ff8410 65%,#1ae88722 95%);box-shadow:inset 0 0 12px #00ff8420,0 0 10px #00e87818}.cyber-longitude{border-color:#36e58c70}.cyber-latitude{border-color:#36e58c50}.cyber-orbit{border-color:#25f18d9c;box-shadow:0 0 7px #00ef8530}.cyber-orbit i{background:#70ffae;box-shadow:0 0 9px #00ff90}.cyber-orbit.secondary{border-color:#8cffbd69}.sphere-code{position:absolute;left:22%;top:43%;font:clamp(6px,.6vw,9px) 'Courier New',monospace;letter-spacing:.1em;color:#31d582;opacity:.65;text-shadow:0 0 5px #00ff8055;pointer-events:none}
.sphere-code{max-width:75%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:8px;line-height:1.35}.sphere-hit .cyber-orbit{animation-duration:1.5s!important}.sphere-hit{animation:sphere-flash .7s ease-out}.sphere-ripple{position:absolute;width:20px;height:20px;border:1px solid #54ffa8;border-radius:50%;animation:sphere-ripple .7s ease-out forwards;pointer-events:none}.sphere-spark{position:absolute;color:#38dc8c;font:9px monospace;text-shadow:0 0 5px #00ff8580;animation:sphere-spark .8s ease-out forwards;pointer-events:none}@keyframes sphere-flash{0%{filter:brightness(2.2);scale:1.2}100%{filter:brightness(1);scale:1}}@keyframes sphere-ripple{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}100%{transform:translate(-50%,-50%) scale(7);opacity:0}}@keyframes sphere-spark{0%{transform:translate(-50%,-50%);opacity:1}100%{transform:translate(var(--sx),var(--sy));opacity:0}}
.cyber-sphere,.cyber-longitude,.cyber-latitude,.cyber-orbit,.sphere-code{transition:border-color .35s,color .35s,box-shadow .35s,background .35s}.cyber-sphere.on-light{border-color:#92295195;background:radial-gradient(circle at 28% 22%,#ffffff60,transparent 30%,#a4285910 65%,#92295120 95%);box-shadow:inset 0 0 12px #92295116,0 0 10px #92295115}.on-light .cyber-longitude{border-color:#9229518a}.on-light .cyber-latitude{border-color:#92295168}.on-light .cyber-orbit{border-color:#922951ab;box-shadow:0 0 5px #92295120}.on-light .cyber-orbit.secondary{border-color:#9b396f80}.on-light .cyber-orbit i{background:#922951;box-shadow:0 0 6px #92295160}.on-light .sphere-code{color:#7d204a;opacity:.9!important;text-shadow:none}.on-light:after{border-right-color:#92295150;border-bottom-color:#92295135}
/* Strong red contrast on light surfaces; green remains on dark surfaces. */
.cyber-sphere.on-light{border-color:#e6002ee6;background:radial-gradient(circle at 28% 22%,#ffffff60,transparent 30%,#ff003318 65%,#e6002e38 95%);box-shadow:inset 0 0 12px #e6002e26,0 0 10px #e6002e25}.on-light .cyber-longitude{border-color:#e6002ed0}.on-light .cyber-latitude{border-color:#e6002eaa}.on-light .cyber-orbit{border-color:#ed002fff;box-shadow:0 0 6px #ff003338}.on-light .cyber-orbit.secondary{border-color:#ff0033bd}.on-light .cyber-orbit i{background:#f00030;box-shadow:0 0 7px #ff003390}.on-light .sphere-code{color:#d9002b;opacity:1!important;text-shadow:0 0 3px #ff003320}.on-light:after{border-right-color:#e6002e90;border-bottom-color:#e6002e70}
/* Black orbital details on light backgrounds. */
.cyber-sphere.on-light{border-color:#111d;background:radial-gradient(circle at 28% 22%,#ffffff60,transparent 30%,#11111108 65%,#11111120 95%);box-shadow:inset 0 0 12px #11111118,0 0 10px #11111112}.on-light .cyber-longitude{border-color:#111b}.on-light .cyber-latitude{border-color:#1119}.on-light .cyber-orbit{border-color:#111;box-shadow:0 0 5px #1112}.on-light .cyber-orbit.secondary{border-color:#222b}.on-light .cyber-orbit i{background:#111;box-shadow:0 0 6px #1115}.on-light .sphere-code{color:#111;opacity:1!important;text-shadow:none}.on-light:after{border-right-color:#1118;border-bottom-color:#1116}
.light-object{display:block;position:absolute;inset:22%;transform-style:preserve-3d;opacity:0;animation:light-object-turn var(--object-duration) linear infinite;transition:opacity .35s;pointer-events:none}.light-object>i{position:absolute;inset:0;border:1.5px solid #111;background:#ffffff08;backface-visibility:visible}.light-object>i:nth-child(1){transform:translateZ(15px)}.light-object>i:nth-child(2){transform:rotateY(90deg) translateZ(15px)}.light-object>i:nth-child(3){transform:rotateY(180deg) translateZ(15px)}.light-object>i:nth-child(4){transform:rotateY(-90deg) translateZ(15px)}.light-object>i:nth-child(5){transform:rotateX(90deg) translateZ(15px)}.light-object>i:nth-child(6){transform:rotateX(-90deg) translateZ(15px)}.object-core{position:absolute;inset:33%;background:#ce1141;transform:translateZ(2px);box-shadow:0 0 12px #ce114125}.cyber-sphere.on-light{border-color:transparent;background:transparent;box-shadow:none;perspective:350px}.on-light:before,.on-light:after,.on-light>.cyber-longitude,.on-light>.cyber-latitude,.on-light>.cyber-orbit,.on-light>.sphere-code{opacity:0!important}.on-light>.light-object{opacity:1}.sphere-code{transition:opacity .35s}.on-light .light-object>i:nth-child(1){transform:translateZ(var(--cube-depth,15px))}.on-light .light-object>i:nth-child(2){transform:rotateY(90deg) translateZ(var(--cube-depth,15px))}.on-light .light-object>i:nth-child(3){transform:rotateY(180deg) translateZ(var(--cube-depth,15px))}.on-light .light-object>i:nth-child(4){transform:rotateY(-90deg) translateZ(var(--cube-depth,15px))}.on-light .light-object>i:nth-child(5){transform:rotateX(90deg) translateZ(var(--cube-depth,15px))}.on-light .light-object>i:nth-child(6){transform:rotateX(-90deg) translateZ(var(--cube-depth,15px))}@keyframes light-object-turn{from{transform:rotateX(25deg) rotateY(0deg) rotateZ(10deg)}to{transform:rotateX(385deg) rotateY(360deg) rotateZ(190deg)}}body.effects-paused .light-object{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .light-object{animation:light-object-turn var(--object-duration) linear infinite!important}body.motion-override.effects-paused .light-object{animation-play-state:paused!important}}
.cyber-drone{inset:5%;transform-style:preserve-3d;animation:drone-hover var(--object-duration) ease-in-out infinite}.drone-halo{position:absolute;inset:1%;border:2px dashed #111;border-radius:50%;animation:drone-ring 9s linear infinite;box-shadow:0 0 0 3px #11111109}.drone-halo.tilted{inset:13% -8%;border:1px solid #ce1141;border-left-color:transparent;border-right-color:transparent;animation-direction:reverse;transform:rotate(50deg) scaleY(.55);animation-name:drone-outer-ring}.drone-body{position:absolute;inset:30% 18%;background:linear-gradient(155deg,#555,#111 50%,#25252c);clip-path:polygon(18% 0,82% 0,100% 40%,88% 85%,55% 100%,12% 85%,0 40%)}.drone-eye{position:absolute;left:41%;top:40%;width:18%;height:18%;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ff8396 22%,#f0003c 45%,#5c001a 85%);box-shadow:0 0 9px #ce114180;animation:drone-pulse 2.8s ease-in-out infinite;animation-delay:var(--drone-delay)}.drone-fin{position:absolute;background:linear-gradient(135deg,#777,#111 50%);clip-path:polygon(0 0,100% 30%,75% 100%,30% 65%);width:26%;height:20%}.drone-fin.left{left:2%;top:35%;transform:rotate(-15deg)}.drone-fin.right{right:2%;top:35%;transform:scaleX(-1) rotate(-15deg)}.drone-fin.top{left:37%;top:9%;transform:rotate(90deg)}.drone-fin.bottom{left:37%;bottom:9%;transform:rotate(-90deg)}.drone-scan{position:absolute;left:31%;right:31%;bottom:30%;height:1px;background:#ce1141;box-shadow:0 0 5px #ce1141;animation:drone-scan 3s ease-in-out infinite}@keyframes drone-hover{0%,100%{transform:rotate(-12deg) translateY(-3px)}50%{transform:rotate(15deg) translateY(5px)}}@keyframes drone-ring{to{transform:rotate(360deg)}}@keyframes drone-outer-ring{from{transform:rotate(50deg) scaleY(.55)}to{transform:rotate(410deg) scaleY(.55)}}@keyframes drone-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.7)}}@keyframes drone-scan{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-12px);opacity:1}}body.effects-paused .cyber-drone,body.effects-paused .cyber-drone *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .cyber-drone{animation:drone-hover var(--object-duration) ease-in-out infinite!important}body.motion-override .drone-halo{animation:drone-ring 9s linear infinite!important}body.motion-override .drone-halo.tilted{animation:drone-outer-ring 9s linear infinite!important}body.motion-override.effects-paused .cyber-drone,body.motion-override.effects-paused .cyber-drone *{animation-play-state:paused!important}}
.friendly-orb{inset:5%;animation:friend-bob var(--object-duration) ease-in-out infinite;animation-delay:var(--friend-delay)}.friend-body{position:absolute;inset:18% 12% 12%;border-radius:48% 48% 44% 44%;background:radial-gradient(circle at 30% 20%,#fff,#fff1f0 48%,#f1cecf);box-shadow:inset -2px -3px 5px #ce114119,0 3px 6px #00000012;border:1px solid #ddb7ba}.friend-ear{position:absolute;top:7%;width:24%;height:34%;border-radius:60% 60% 30% 30%;background:linear-gradient(#f8b1b9,#fff1f0);border:1px solid #ddb7ba}.friend-ear.left{left:18%;transform:rotate(-20deg)}.friend-ear.right{right:18%;transform:rotate(20deg)}.friend-eye{position:absolute;top:38%;height:11%;width:7%;background:#28232b;border-radius:50%;animation:friend-blink 6s infinite;animation-delay:var(--friend-delay)}.friend-eye.left{left:32%}.friend-eye.right{right:32%}.friend-cheek{position:absolute;top:52%;height:10%;width:16%;background:#ef8d9b80;border-radius:50%}.friend-cheek.left{left:15%}.friend-cheek.right{right:15%}.friend-mouth{position:absolute;left:44%;top:51%;width:12%;height:10%;border-bottom:1px solid #54343e;border-radius:0 0 50% 50%}.friend-shine{position:absolute;top:15%;left:23%;width:18%;height:8%;background:#ffffffc9;border-radius:50%;transform:rotate(-25deg)}.friend-satellite{position:absolute;right:-1%;top:4%;width:14%;height:14%;border-radius:50%;background:#ce1141;box-shadow:inset 2px 2px 3px #ff95ab;animation:friend-satellite 5s ease-in-out infinite}@keyframes friend-bob{0%,100%{transform:rotate(-7deg) translateY(-3px)}50%{transform:rotate(7deg) translateY(4px)}}@keyframes friend-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.15)}}@keyframes friend-satellite{0%,100%{transform:translate(0,0)}50%{transform:translate(-5px,6px)}}body.effects-paused .friendly-orb,body.effects-paused .friendly-orb *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .friendly-orb{animation:friend-bob var(--object-duration) ease-in-out infinite!important}body.motion-override.effects-paused .friendly-orb,body.motion-override.effects-paused .friendly-orb *{animation-play-state:paused!important}}
.music-floater{inset:12%;animation:music-sway var(--object-duration) ease-in-out infinite}.mini-vinyl{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#171717 0px,#171717 3px,#414141 4px,#171717 5px);box-shadow:2px 3px 7px #0002;animation:vinyl-spin 8s linear infinite}.mini-vinyl:after{content:'';position:absolute;left:16%;top:14%;width:30%;height:16%;border-radius:50%;background:linear-gradient(135deg,#ffffff35,transparent);transform:rotate(-40deg)}.mini-vinyl i{position:absolute;inset:32%;border-radius:50%;background:#ce1141;border:1px solid #ff829b}.mini-vinyl b{position:absolute;inset:47%;border-radius:50%;background:#f8f8f6}.music-note{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#ce1141;font-family:Georgia,serif;font-size:var(--note-size,50px);line-height:1;filter:drop-shadow(1px 2px 1px #0001)}.mini-eq{position:absolute;inset:10%;display:flex;align-items:center;justify-content:center;gap:9%;border:1px solid #1112;border-radius:50%;background:#ffffff90;padding:15%}.mini-eq i{width:13%;height:55%;background:#111;border-radius:4px;animation:music-level 1.8s ease-in-out infinite}.mini-eq i:nth-child(2n){height:85%;background:#ce1141;animation-delay:-.6s}.mini-eq i:nth-child(3n){height:40%;animation-delay:-1.2s}@keyframes music-sway{0%,100%{transform:rotate(-9deg) translateY(-2px)}50%{transform:rotate(9deg) translateY(3px)}}@keyframes vinyl-spin{to{transform:rotate(360deg)}}@keyframes music-level{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}body.effects-paused .music-floater,body.effects-paused .music-floater *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .music-floater{animation:music-sway var(--object-duration) ease-in-out infinite!important}body.motion-override .mini-vinyl{animation:vinyl-spin 8s linear infinite!important}body.motion-override.effects-paused .music-floater,body.motion-override.effects-paused .music-floater *{animation-play-state:paused!important}}
/* Perspective rotation and depth for musical objects. */
.cyber-sphere.on-light{perspective:420px}.music-floater{transform-style:preserve-3d;animation:music-3d-turn var(--object-duration) linear infinite}.mini-vinyl{transform-style:preserve-3d;border:2px solid #303030;box-shadow:0 2px 0 #090909,0 4px 0 #171717,0 6px 0 #080808,5px 12px 15px #0002;backface-visibility:visible}.mini-vinyl:before{content:'';position:absolute;inset:-2px;border-radius:50%;background:repeating-radial-gradient(circle,#111 0px,#111 3px,#353535 4px,#111 5px);transform:translateZ(-6px);z-index:-1;border:2px solid #222}.mini-vinyl i{transform:translateZ(1px)}.mini-vinyl b{transform:translateZ(2px)}.music-note{text-shadow:1px 1px #9f0c31,2px 2px #9f0c31,3px 3px #790c27,4px 4px #790c27,5px 7px 8px #0002;transform:translateZ(9px)}.mini-eq{transform-style:preserve-3d;box-shadow:0 3px 0 #ccc,0 5px 0 #aaa,5px 9px 12px #0002}.mini-eq i{box-shadow:2px 2px 0 #555;transform-origin:center;translate:0 0 5px}@keyframes music-3d-turn{0%{transform:rotateX(20deg) rotateY(0deg) rotateZ(-10deg)}25%{transform:rotateX(35deg) rotateY(80deg) rotateZ(0deg)}50%{transform:rotateX(-15deg) rotateY(180deg) rotateZ(10deg)}75%{transform:rotateX(-30deg) rotateY(280deg) rotateZ(0deg)}100%{transform:rotateX(20deg) rotateY(360deg) rotateZ(-10deg)}}@media(prefers-reduced-motion:reduce){body.motion-override .music-floater{animation:music-3d-turn var(--object-duration) linear infinite!important}body.motion-override.effects-paused .music-floater{animation-play-state:paused!important}}
.score-motif{inset:10% -20%;animation:score-tilt 9s ease-in-out infinite}.mini-score{position:absolute;left:50%;top:30%;width:var(--score-width,100px);height:40px;transform:translateX(-50%) translateZ(8px);background:linear-gradient(transparent 6px,#3338 6px,#3338 7px,transparent 7px,transparent 12px,#3338 12px,#3338 13px,transparent 13px,transparent 18px,#3338 18px,#3338 19px,transparent 19px,transparent 24px,#3338 24px,#3338 25px,transparent 25px,transparent 30px,#3338 30px,#3338 31px,transparent 31px);filter:drop-shadow(2px 3px 2px #0001)}.score-clef{position:absolute;left:0;top:-4px;font:37px 'Segoe UI Symbol','Noto Music',serif;color:#111}.score-window{position:absolute;left:24px;right:0;top:0;bottom:0;overflow:hidden}.score-flow{display:flex;width:max-content;animation:score-flow 12s linear infinite}.score-measure{display:flex;gap:12px;padding-right:12px;align-items:center;height:38px}.score-measure>span{font:24px 'Segoe UI Symbol','Noto Music',serif;color:#111;transform:translateY(var(--note-y))}.score-measure>span:nth-child(3n){color:#ce1141}.score-measure>span:nth-child(4n){font-size:22px}@keyframes score-flow{to{transform:translateX(-50%)}}@keyframes score-tilt{0%,100%{transform:rotateY(-22deg) rotateX(12deg) rotateZ(-7deg)}50%{transform:rotateY(28deg) rotateX(-12deg) rotateZ(7deg)}}body.effects-paused .score-motif,body.effects-paused .score-flow{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .score-motif{animation:score-tilt 9s ease-in-out infinite!important}body.motion-override .score-flow{animation:score-flow 12s linear infinite!important}body.motion-override.effects-paused .score-motif,body.motion-override.effects-paused .score-flow{animation-play-state:paused!important}}
.sound-sculpture{transform-style:preserve-3d}.sound-bars{position:absolute;inset:7%;display:flex;align-items:center;justify-content:center;gap:11%;transform-style:preserve-3d}.sound-bar{position:relative;display:block;width:11%;height:var(--bar-height);transform-style:preserve-3d;animation:sound-breathe 3s ease-in-out infinite;animation-delay:var(--bar-delay)}.sound-bar i{position:absolute;inset:0;display:block;background:#ce1141}.sound-bar:nth-child(2n) i{background:#222}.sound-bar i:nth-child(1){transform:translateZ(5px);background:linear-gradient(90deg,#f44568,#ce1141)}.sound-bar:nth-child(2n) i:nth-child(1){background:linear-gradient(90deg,#666,#222)}.sound-bar i:nth-child(2){width:10px;left:auto;right:-5px;transform:rotateY(90deg);background:#830b2a}.sound-bar:nth-child(2n) i:nth-child(2){background:#111}.sound-bar i:nth-child(3){height:10px;top:-5px;transform:rotateX(90deg);background:#ff7794}.sound-bar:nth-child(2n) i:nth-child(3){background:#777}@keyframes sound-breathe{0%,100%{transform:scaleY(.65)}50%{transform:scaleY(1)}}body.effects-paused .sound-bar{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .sound-bar{animation:sound-breathe 3s ease-in-out infinite!important;animation-delay:var(--bar-delay)!important}body.motion-override.effects-paused .sound-bar{animation-play-state:paused!important}}
.score-measure>span,.score-measure>span:nth-child(3n),.score-clef{color:#111}.classical-window{position:absolute;left:50%;top:12%;width:var(--score-width,100px);height:65px;transform:translateX(-50%) translateZ(8px);overflow:hidden}.classical-track{display:flex;width:max-content;animation:score-flow 23s linear infinite}.classical-track>span{display:flex}.classical-track svg{width:270px;height:62px;flex-shrink:0;overflow:visible}.on-light .classical-track{color:#111}body.effects-paused .classical-track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){body.motion-override .classical-track{animation:score-flow 23s linear infinite!important}body.motion-override.effects-paused .classical-track{animation-play-state:paused!important}}
/* Keep light sections clean; floating effects remain on dark backgrounds. */
.cyber-sphere.on-light{opacity:0;visibility:hidden}.cyber-sphere{transition:opacity .3s,border-color .35s,background .35s,box-shadow .35s}
.header nav{gap:10px}.header nav>a{padding:13px 18px;border:1px solid #ce114130;border-radius:5px;background:#ce11410a;color:#b60d36;font-weight:700;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.header nav>a:hover,.header nav>a:focus-visible{background:#ce1141;color:#fff;transform:translateY(-2px);box-shadow:0 5px 12px #ce114125}.header nav>a:active{transform:scale(.96)}.header nav>a:nth-child(2){background:#111;color:#fff;border-color:#111}.header nav>a:nth-child(2):hover{background:#ce1141;border-color:#ce1141}.header nav>a:nth-child(3){background:#fff;color:#c90024;border-color:#c90024}.header nav>a:nth-child(3):hover{background:#c90024;color:#fff}.header nav>.nav-contact{background:#ce1141;color:#fff}.line-contact{border-top:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:35px}.line-contact .eyebrow{color:#07833e;font:10px monospace;letter-spacing:.12em}.line-contact h2{font-size:36px}.line-contact p{font-size:13px;line-height:2;color:#626262}.line-pending{display:inline-block;background:#e9f6ee;color:#176339;padding:12px 16px;font-size:11px;border-left:3px solid #06a84f}.line-contact figure{margin:0;padding:18px;background:#fff;border:1px solid #ddd;border-radius:8px;text-align:center}.line-contact img{display:block}.line-contact figcaption{font:9px monospace;letter-spacing:.07em;color:#626262;margin-top:10px}@media(max-width:650px){.header nav{gap:10px}.header nav>a{padding:15px 18px;min-height:48px}.line-contact{display:block}.line-contact h2{font-size:28px}.line-contact figure{width:max-content;margin:28px auto 0}.line-pending{font-size:10px}}
.x-channel{border-top:1px solid #ddd}.x-channel .eyebrow{font:10px monospace;letter-spacing:.12em}.x-channel h2{font-size:32px}.x-channel p{font-size:13px;color:#626262;line-height:2}.x-pending{display:inline-block;background:#111;color:white;padding:15px 22px;font-size:12px}.header nav>a[href="#x-channel"]{background:#fff;color:#111;border-color:#111}.header nav>a[href="#x-channel"]:hover{background:#111;color:#fff}@media(max-width:900px) and (min-width:651px){.header nav{gap:5px}.header nav>a{padding:12px 10px;font-size:10px}}
/* Rounded, playful type with readable Japanese body text. */
body,button{font-family:'M PLUS Rounded 1c','Yu Gothic',Meiryo,sans-serif}h1,h2,h3{font-family:'M PLUS Rounded 1c','Yu Gothic',Meiryo,sans-serif;letter-spacing:-.025em}h2{font-weight:700}.game-overlay h2,.banner-copy h2{font-family:'Fredoka','M PLUS Rounded 1c',sans-serif;font-weight:600;letter-spacing:-.035em;line-height:.96}.game-overlay h2 em{font-style:normal}.header nav>a,.button{font-family:'Fredoka','M PLUS Rounded 1c',sans-serif;font-weight:500;letter-spacing:.035em}.game-description{font-weight:500}.work-meta h3,summary h3{font-weight:700}.game-kicker,.eyebrow{letter-spacing:.1em}.detail-page h1{font-weight:700}.contact-heading h2{font-weight:700}
.top-social-qr{position:absolute;right:var(--pad);top:106px;z-index:12;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#ffffffed;padding:10px 12px 8px;border-radius:6px;box-shadow:0 3px 12px #0002}.qr-mini{display:flex;flex-direction:column;align-items:center;gap:5px}.qr-mini img{display:block;width:76px;height:76px}.qr-mini>span{font-weight:700;font-size:12px}.qr-mini small{font-size:8px;font-weight:400;margin-left:4px;color:#626262}.line-mini>span{color:#07833e}.qr-disclaimer{grid-column:1/-1;text-align:center;font:7px monospace;color:#666}.qr-mini:hover{background:#f0f0f0}.line-contact figure{display:none}@media(max-width:650px){.top-social-qr{right:16px;top:94px;padding:7px 8px;gap:5px}.qr-mini img{width:58px;height:58px}.qr-mini>span{font-size:10px}.qr-mini small{font-size:7px}.qr-disclaimer{font-size:6px}}
.header nav>a.official-line{background:#06c755;color:#fff;border-color:#06c755;font-family:Arial,sans-serif;font-weight:700}.header nav>a.official-line:hover{background:#05a948;border-color:#05a948}.header nav>a.official-x{background:#000;color:#fff;border-color:#000;display:flex;align-items:center;justify-content:center;min-width:44px}.header nav>a.official-x:hover{background:#333;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:651px) and (max-width:1050px){.header nav{gap:5px}.header nav>a{padding:12px 9px;font-size:10px}.header .brand img{width:120px}}
.header nav>a.youtube-link{display:flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#111;border-color:#ff000030;font-family:Arial,sans-serif;letter-spacing:-.02em;font-weight:700}.header nav>a.youtube-link:hover{background:#fff0f0;color:#111;border-color:#ff0000}.youtube-link svg{flex-shrink:0}.header nav>a.official-line{white-space:nowrap;font-family:'M PLUS Rounded 1c',sans-serif;font-size:11px}
/* Cyber navigation: readable brand cues, beveled frames and subtle light. */
.header{background:#0c0d10;color:#eee;border-bottom:1px solid #ffffff20}.header .brand img{filter:none}.header nav{gap:8px}.header nav>a,.header nav>a:nth-child(2),.header nav>a:nth-child(3),.header nav>a.official-line,.header nav>a.official-x,.header nav>a.youtube-link,.header nav>.nav-contact{--nav-glow:#ce1141;background:linear-gradient(135deg,#ffffff08,#ffffff02);color:#eee;border:1px solid #ffffff25;border-radius:0;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));position:relative;padding:13px 15px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--nav-glow) 65%,transparent);font-size:11px;transition:background .2s,border-color .2s,transform .2s,color .2s}.header nav>a:before{content:'';position:absolute;top:0;left:-100%;width:55%;height:100%;background:linear-gradient(90deg,transparent,#ffffff12,transparent);transform:skewX(-25deg);transition:left .5s;pointer-events:none}.header nav>a:hover:before,.header nav>a:focus-visible:before{left:150%}.header nav>a:hover,.header nav>a:nth-child(2):hover,.header nav>a:nth-child(3):hover,.header nav>a.official-line:hover,.header nav>a.official-x:hover,.header nav>a.youtube-link:hover{background:color-mix(in srgb,var(--nav-glow) 16%,#101115);color:#fff;border-color:var(--nav-glow);box-shadow:inset 0 -2px 0 var(--nav-glow);transform:translateY(-2px)}.header nav>a.official-line{--nav-glow:#06c755;color:#69f4a7;font-weight:700}.header nav>a.youtube-link{--nav-glow:#ff3048}.header nav>a.official-x{--nav-glow:#e3e8ee;color:#fff}.header nav>a:nth-child(2){--nav-glow:#52e4cf}.header nav>.nav-contact{--nav-glow:#ce1141}.header nav>a:focus-visible{outline:none;border-color:#fff;box-shadow:inset 0 0 0 2px #fff}.header .menu{border:1px solid #ffffff35;background:#ffffff05;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}.header .menu span{background:#eee}@media(max-width:650px){.header nav{background:#101115;border-bottom:1px solid #06c75550;padding-top:16px;padding-bottom:20px;top:79px}.header nav>a,.header nav>a:nth-child(2),.header nav>a:nth-child(3),.header nav>a.official-line,.header nav>a.official-x,.header nav>a.youtube-link{min-height:48px;padding:15px 18px;font-size:12px}.header nav>a.official-x{justify-content:flex-start}.header nav>a.youtube-link{justify-content:flex-start}}@media(min-width:651px) and (max-width:1100px){.header nav{gap:5px}.header nav>a,.header nav>a:nth-child(2),.header nav>a:nth-child(3),.header nav>a.official-line,.header nav>a.official-x,.header nav>a.youtube-link{padding:12px 9px;font-size:10px}.header .brand img{width:120px}}
.header .brand img{object-fit:contain;object-position:left center;max-width:160px;max-height:48px;width:140px;height:36px}
footer .brand img{filter:none;object-fit:contain;width:151px;height:auto}
.work-image-link{display:block;position:relative;overflow:hidden;background:#111}.work-image-link img{display:block;width:100%;height:auto;aspect-ratio:1.61;object-fit:cover;transition:transform .35s}.featured .work-image-link img{aspect-ratio:2.3}.work-image-link:hover img{transform:scale(1.025)}.work-image-action{position:absolute;bottom:18px;right:18px;padding:11px 17px;background:#fff;color:#111;font-size:11px}.work-image-link:hover .work-image-action{background:#ce1141;color:#fff}@media(max-width:650px){.featured .work-image-link img{aspect-ratio:1.61}.work-image-action{bottom:12px;right:12px;font-size:10px}}
.work-image-caption{position:absolute;bottom:16px;left:16px;background:#0009;color:#fff;padding:6px 9px;font-size:9px}@media(max-width:650px){.featured .work-image-link img{aspect-ratio:2.3}.work-image-caption{bottom:10px;left:10px;font-size:7px}}
.reel-window{cursor:grab;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-behavior:auto}.reel-window.is-dragging{cursor:grabbing}.reel-window .reel-card{cursor:inherit}.reel-window{touch-action:pan-x pan-y}
.reel-card{background:#fff!important;color:#111;width:300px;height:auto;display:flex;flex-direction:column;border:1px solid #ddd}.reel-visual{height:160px;position:relative;background-position:center;background-size:cover;flex-shrink:0}.reel-film .reel-visual{background-image:url('assets/film-salon-straight-hair-covered-ear.png')}.reel-animation .reel-visual{background-image:url('assets/reel-animation.svg')}.reel-music .reel-visual{background-image:url('assets/reel-music.svg')}.reel-game .reel-visual{background-image:url('assets/reel-game.svg')}.reel-web .reel-visual{background-image:url('assets/reel-web.svg')}.reel-dummy{color:#fff}.reel-text{padding:18px 20px 20px}.reel-text>span{font:9px monospace;color:#ce1141;letter-spacing:.12em}.reel-text h3{font-size:18px;margin:8px 0;font-weight:700}.reel-text p{font-size:11px;color:#626262;line-height:1.7;margin:0 0 15px}.reel-details{font-size:11px;display:inline-block;border-bottom:1px solid #111;padding:5px 0}.reel-details:hover{color:#ce1141;border-color:#ce1141}.reel-group{align-items:stretch}@media(max-width:650px){.reel-card{width:260px;height:auto}.reel-visual{height:140px}.reel-text{padding:16px}.reel-text h3{font-size:16px}}
/* Explicit classes preserve brand colors after reordering. */
.header nav>a[href="#services"]{--nav-glow:#52e4cf}.header nav>a.official-x{--nav-glow:#e3e8ee}.header nav>a.nav-contact{--nav-glow:#ce1141}.header nav>a.official-line{--nav-glow:#06c755;color:#69f4a7}.header nav>a.youtube-link{--nav-glow:#ff3048}
/* Full LINE green surface, preserving cyber frame. */
.header nav>a.official-line{background:#06c755;color:#fff;border-color:#06c755;box-shadow:inset 0 -2px 0 #029d42;font-weight:700}.header nav>a.official-line:hover,.header nav>a.official-line:focus-visible{background:#05ad49;color:#fff;border-color:#68ffa4;box-shadow:inset 0 -2px 0 #8affb7,0 0 12px #06c75540}
.header nav>a.official-line{clip-path:none;border-radius:11px;background:#06c755;color:#fff;border-color:#06c755}.line-consult-button{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;background:#06c755;color:#fff;border-radius:11px;font-size:13px;font-weight:700}.line-consult-button:hover{background:#05ad49}
/* White header above the dark hero banner. */
.header{background:#fff;color:#111;border-bottom:1px solid #dedede}.header .brand img{filter:brightness(0)}.header nav>a,.header nav>a:nth-child(2),.header nav>a:nth-child(3),.header nav>a.official-x,.header nav>a.youtube-link,.header nav>.nav-contact{background:#fff;color:#111;border-color:#ddd;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--nav-glow) 65%,transparent)}.header nav>a:hover,.header nav>a:nth-child(2):hover,.header nav>a:nth-child(3):hover,.header nav>a.official-x:hover,.header nav>a.youtube-link:hover{background:#f3f3f3;color:#111;border-color:var(--nav-glow)}.header nav>a.official-line{background:#06c755;color:#fff;border-color:#06c755}.header nav>a.official-line:hover{background:#05ad49;color:#fff}.header .menu{background:#fff;border-color:#ccc}.header .menu span{background:#111}.header nav>a:focus-visible{outline:2px solid #111;outline-offset:3px}@media(max-width:650px){.header nav{background:#fff;border-bottom-color:#ddd}}
/* LINE is the primary, larger entry point. */
.header nav>a.nav-contact{font-size:11px;min-height:44px;padding:12px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.header nav>a.nav-contact span{font-size:16px;margin-left:0}.header nav>a.official-line{font-size:13px;min-height:52px;padding:15px 22px;font-weight:700;border-radius:12px;box-shadow:0 4px 12px #06c75524}.header nav>a.youtube-link{min-height:44px}.header nav{align-items:center}@media(min-width:651px) and (max-width:1100px){.header nav>a.nav-contact{padding:12px 9px;font-size:10px}.header nav>a.official-line{padding:15px 15px;font-size:12px;min-height:50px}}@media(max-width:650px){.header nav>a.nav-contact{font-size:12px;min-height:48px;padding:15px 18px;justify-content:flex-start}.header nav>a.official-line{font-size:15px;min-height:58px;padding:18px 20px;justify-content:center}.header nav{align-items:stretch}}
.header nav>a.official-line{min-height:66px;font-size:16.5px;padding:18px 26px;border-radius:14px}@media(min-width:651px) and (max-width:1100px){.header nav>a.official-line{min-height:66px;font-size:15px;padding:18px 18px}}@media(max-width:650px){.header nav>a.official-line{min-height:72px;font-size:18px;padding:22px 20px}}
.footer-phones{max-width:1100px;margin:auto;padding:30px var(--pad);border-top:1px solid #ddd;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.footer-phones .footer-phone-label{margin:0;font-size:13px;font-weight:400;line-height:1.7;color:#555}.footer-phones a{display:inline-flex;align-items:center;justify-content:flex-end;font-size:20px;font-weight:400;letter-spacing:.04em;padding:6px 0;min-height:44px;color:inherit;text-decoration:none}.footer-phones .footer-phone-note{margin:0;font-size:11px;font-weight:400;line-height:1.7;color:#666}.footer-phones a:hover{text-decoration:underline;text-underline-offset:4px}
.reel-animation .reel-visual{background-image:url('assets/creative-animation.webp')}.reel-music .reel-visual{background-image:url('assets/creative-music.webp')}.reel-game .reel-visual{background-image:url('assets/creative-game.webp')}
.language-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;background:#fff;color:#555;padding:7px var(--pad);border-bottom:1px solid #eee;font:9px monospace;position:relative;z-index:20}.language-bar select{font-family:'M PLUS Rounded 1c',sans-serif;font-size:11px;padding:5px 26px 5px 9px;border:1px solid #ddd;border-radius:5px;background:#fff;color:#111;min-height:32px}.language-bar select:focus-visible{outline:2px solid #ce1141}html[lang=en] .header nav>a.official-line{font-size:13px}html[lang=zh-Hans],html[lang=ko]{font-family:system-ui,sans-serif}@media(max-width:650px){.header nav{top:79px}.language-bar{padding:5px 22px}.language-bar select{min-height:36px}}
.reel-app .reel-visual{background-image:url('assets/creative-app.webp')}
.reel-music .reel-visual{background-image:url('assets/creative-music-split.webp')}
.reel-music .reel-visual{background-image:url('assets/creative-music-keylab.webp')}
.reel-music .reel-visual{background-image:url('assets/creative-music-guitars.webp')}
.reel-animation .reel-visual{background-image:url('assets/creative-animation-cel.webp')}
.reel-photo .reel-visual{background-image:url('assets/creative-portrait.webp');background-size:contain;background-repeat:no-repeat;background-color:#eee}
.portrait-detail-image{display:block;width:100%;height:auto;max-width:850px}.portrait-image-note{font-size:10px;color:#666}
.reel-photo .reel-dummy{display:none}
.portrait-concept-note{display:block;font-size:8px;color:#777;margin-bottom:8px}

/* Keep original logo colors */
.brand img { filter: none !important; }

 /* Header logo: 170% */
 .header .brand img {
     width: 238px !important;
     height: auto !important;
     filter: none !important;
 }

/* Header logo: 2x larger */
.header .brand img {
    width: 476px !important;
    height: auto !important;
    filter: none !important;
}

/* Header logo size correction */
.header .brand img {
    width: 476px !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    filter: none !important;
}

/* Header logo: 50% smaller */
.header .brand img {
    width: 238px !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    filter: none !important;
}

/* Header logo: 190px */
.header .brand img {
    width: 190px !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    filter: none !important;
}

/* Header logo: 180.5px */
.header .brand img {
    width: 180.5px !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    filter: none !important;
}

/* Responsive header logo */
.header .brand {
    flex-shrink: 1;
    min-width: 0;
}

.header .brand img {
    display: block;
    width: clamp(110px, 13vw, 180.5px) !important;
    max-width: 100% !important;
    max-height: 48px !important;
    height: auto !important;
    object-fit: contain;
    filter: none !important;
}

@media (max-width: 650px) {
    .header .brand img {
        width: clamp(110px, 34vw, 160px) !important;
    }
}

/* Header logo: fixed 1.7x */
.header .brand {
    flex-shrink: 0 !important;
}

.header .brand img {
    width: 306.85px !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    filter: none !important;
}

/* Responsive logo: 1.7x */
.header .brand {
    flex-shrink: 1 !important;
    min-width: 0;
}

.header .brand img {
    display: block;
    width: clamp(187px, 22.1vw, 306.85px) !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    filter: none !important;
}

@media (max-width: 650px) {
    .header .brand img {
        width: clamp(187px, 57.8vw, 272px) !important;
        max-width: 100% !important;
    }
}


/* RYU MOBILE HEADER FIX START */
.mobile-line-link {
    display: none;
}

@media (max-width: 650px) {
    .header {
        height: 76px !important;
        min-height: 76px;
        padding: 0 12px !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        background: #fff;
        position: relative;
        z-index: 20;
    }

    .header .brand {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        height: 60px;
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .header .brand img {
        display: block;
        width: 100% !important;
        max-width: 150px !important;
        height: 56px !important;
        max-height: 56px !important;
        object-fit: contain;
        object-position: left center;
        filter: none !important;
    }

    .mobile-line-link {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        padding: 0 9px;
        height: 40px;
        background: #06c755;
        color: #fff;
        border-radius: 7px;
        font-size: 10px;
        font-weight: 700;
        white-space: nowrap;
    }

    .header .menu {
        display: flex;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        margin: 0;
        padding: 10px;
        align-items: center;
        justify-content: center;
    }

    .header nav {
        top: 76px !important;
    }
}

@media (max-width: 370px) {
    .header .brand img {
        max-width: 112px !important;
    }

    .mobile-line-link {
        font-size: 9px;
        padding: 0 6px;
    }
}
/* RYU MOBILE HEADER FIX END */

/* DESKTOP LOGO FIX START */
@media (min-width: 651px) {
    .header {
        min-height: 100px;
        height: 100px;
    }

    .header .brand {
        height: 90px;
        min-height: 0;
        display: flex;
        align-items: center;
        overflow: hidden;
        flex-shrink: 0;
    }

    .header .brand img {
        width: 220px !important;
        max-width: 220px !important;
        height: 80px !important;
        max-height: 80px !important;
        object-fit: contain;
        object-position: left center;
        filter: none !important;
    }
}
/* DESKTOP LOGO FIX END */
/* Compact top banner: retain the existing 3D scene and header. */
.game-hero{min-height:448.5px;height:calc((100svh - 90px)*0.65);max-height:617.5px;padding-top:24px;padding-bottom:86px}
.game-overlay{padding-top:0}
.game-kicker{margin-top:0;margin-bottom:16px}
.game-overlay h2{font-size:clamp(48px,5vw,72px)}
.game-description{font-size:12px;line-height:1.8;margin:16px 0 0}
.game-bottom{bottom:18px}
@media(max-width:650px){
.game-hero{min-height:435.5px;height:calc((100svh - 80px)*0.65);max-height:533px;padding:22px 24px 90px}
.game-overlay{padding-top:0}
.game-kicker{font-size:7px;margin-bottom:14px}
.game-overlay h2{font-size:clamp(40px,11vw,52px)}
.game-description{font-size:11px;line-height:1.8;margin:14px 0 0}
.game-bottom{bottom:14px}
}
/* Quiet, compact 3D motion control. */
.game-bottom #game-motion{min-height:32px;min-width:54px;padding:4px 8px;font-size:10px;line-height:1.4;border:1px solid #ffffff30;border-radius:3px;background:transparent;color:#aaa}
.game-bottom #game-motion:hover{color:#fff;border-color:#ffffff60}

/* Larger banner description. */
.game-description{font-size:24px}
@media(max-width:650px){.game-description{font-size:22px}}

/* Small budget message, separated from the main description. */
.game-budget-note{margin:40px 0 0;font-size:14px;font-weight:400;line-height:1.8;color:#ddd}
@media(max-width:650px){.game-budget-note{margin-top:36px;font-size:12px}}

.reel-header #reel-toggle{font-weight:600}

.reel-header>span{font-weight:700}

/* Fixed logo dimensions with a menu before navigation can crowd the brand. */
.header{height:136px!important;min-height:136px;gap:20px;flex-wrap:nowrap}
.header .brand{flex:0 0 240px!important;width:240px;min-width:240px;height:120px;overflow:visible}
.header .brand img{width:240px!important;min-width:240px;max-width:240px!important;height:120px!important;max-height:120px!important;object-fit:contain;object-position:center;filter:none!important}
@media(max-width:960px){
.header{padding:0 24px!important;gap:12px}
.mobile-line-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:44px;padding:0 14px;background:#06c755;color:#fff;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap;margin-left:auto}
.header .menu{display:flex;flex:0 0 42px;width:42px;height:42px;flex-direction:column;gap:6px;padding:10px;justify-content:center;align-items:center}
.header .menu span{width:100%;height:1px}
.header nav{display:none;position:absolute;left:0;right:0;top:100%!important;background:#fff;padding:20px 24px;border-bottom:1px solid #ddd;flex-direction:column;align-items:stretch;gap:10px;max-height:calc(100svh - 190px);overflow-y:auto}
.header nav.open{display:flex}
.header nav>a{min-height:44px;justify-content:flex-start}
}
@media(max-width:650px){
.header{height:92px!important;min-height:92px;padding:0 12px!important;gap:8px}
.header .brand{flex:0 0 150px!important;width:150px;min-width:150px;height:75px}
.header .brand img{width:150px!important;min-width:150px;max-width:150px!important;height:75px!important;max-height:75px!important}
.mobile-line-link{font-size:10px;padding:0 9px;margin-left:auto}
.header nav{max-height:calc(100svh - 140px)}
}
@media(max-width:370px){
.header{gap:6px}
.mobile-line-link{width:92px;padding:0 6px;font-size:9px}
}
.game-bottom #game-motion{color:#fff;font-weight:700}

@media(max-width:370px){.header{padding:0 8px!important;gap:4px}.mobile-line-link{width:83px;padding:0 4px}}

/* Brand and slogan at left, copyright at right, return link below. */
footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:16px;row-gap:8px}
footer .brand{grid-column:1;grid-row:1}
footer>span{display:block;grid-column:2;grid-row:1;justify-self:start;margin:0}
footer>small{grid-column:3;grid-row:1;justify-self:end;text-align:right}
footer>a:last-child{grid-column:1/-1;grid-row:2;justify-self:center;text-align:center}
@media(max-width:650px){
footer{grid-template-columns:auto 1fr;column-gap:12px;row-gap:8px}
footer .brand{grid-column:1;grid-row:1}
footer>span{display:block;grid-column:2;grid-row:1;font-size:8px;line-height:1.8}
footer>small{grid-column:1/-1;grid-row:2;justify-self:end}
footer>a:last-child{grid-column:1/-1;grid-row:3;justify-self:center}
}
footer>a:last-child{font-weight:700}

footer>span{align-self:end;margin-bottom:8px}

/* Stack the footer slogan directly below the logo. */
footer{grid-template-columns:auto 1fr;row-gap:6px}
footer .brand{grid-column:1;grid-row:1}
footer>span{grid-column:1;grid-row:2;align-self:start;justify-self:center;text-align:center;margin:0;font-size:8px;letter-spacing:.02em;white-space:nowrap}
footer>small{grid-column:2;grid-row:1/3;align-self:center;justify-self:end}
footer>a:last-child{grid-column:1/-1;grid-row:3;justify-self:center}
@media(max-width:650px){footer{grid-template-columns:auto 1fr}footer>small{grid-column:2;grid-row:1/3}footer>a:last-child{grid-row:3}}
footer>span{align-self:baseline}footer>small{grid-column:2;grid-row:2;align-self:baseline}
@media(max-width:650px){footer>small{grid-column:2;grid-row:2;align-self:baseline}}

.service-list .details-action{flex-shrink:0;width:auto;font-size:12px;font-weight:600;line-height:1.5;color:#ce1141;white-space:nowrap}

.service-list .service-number{color:#111;font-size:8px;text-align:center;flex-shrink:0}

.service-list .service-number{font-size:32px;line-height:1;width:32px}
.service-list .details-action{color:#b84c00;background:#fff0dc;border:1px solid #f5c28d;border-radius:999px;padding:6px 12px;font-weight:700}

#services-title .service-title-accent{color:#ce1141}.line-contact p strong{font-weight:700}

#works-title .work-title-accent{color:#ce1141}.service-list .details-action{color:#ce1141}

/* Keep ordinary PC widths on the horizontal navigation. */
@media(min-width:961px) and (max-width:1200px){
.header{padding:0 20px!important;gap:12px}
.header nav{gap:5px;flex-shrink:0}
.header nav>a{font-size:10px;padding:8px 9px;min-height:44px}
.header nav>a.nav-contact{font-size:10px;padding:8px 9px;min-height:44px}
.header nav>a.nav-contact span{font-size:14px}
.header nav>a.youtube-link{font-size:10px;padding:8px 9px}
.header nav>a.official-line{font-size:12px;padding:10px 12px;min-height:52px;border-radius:11px}
}
.reel-music .reel-visual{background-image:url('assets/music-studio-vocal-metal-pop.png')}
/* Consistent rounded corners for production images. */
main img,.work-image-link,.work-art,.reel-visual{border-radius:16px}
.reel-card{border-radius:16px;overflow:hidden}
.bubble-droplet{position:absolute;pointer-events:none;border:0;border-radius:45%;background:#e0fff6;opacity:0}
/* Raised physical buttons; shared sizing also aligns the WORKS label. */
.header nav{align-items:center}
.header nav>a{
  display:inline-flex!important;align-items:center;justify-content:center!important;
  height:52px;min-height:52px!important;line-height:1.2;box-sizing:border-box;
  border-radius:12px!important;clip-path:none!important;white-space:nowrap;
  --button-edge:#c4c5c8;
  background:linear-gradient(#fff,#f1f2f4)!important;
  border:1px solid #d5d6d9!important;
  box-shadow:0 4px 0 var(--button-edge),0 7px 10px #00000018,inset 0 1px 0 #fff!important;
  transition:transform .15s,box-shadow .15s;
}
.header nav>a.official-line{--button-edge:#049740;background:linear-gradient(#18d869,#06bb50)!important;border-color:#05b54c!important;color:#fff}
.header nav>a:before{display:none}
.header nav>a:hover{transform:translateY(-1px)!important;box-shadow:0 5px 0 var(--button-edge),0 9px 12px #00000020,inset 0 1px 0 #ffffff90!important}
.header nav>a:active{transform:translateY(3px)!important;box-shadow:0 1px 0 var(--button-edge),0 2px 4px #00000018,inset 0 1px 2px #00000010!important}
.header nav>a:focus-visible{outline:2px solid #ce1141;outline-offset:7px}
@media(max-width:960px){.header nav{align-items:stretch}.header nav>a{width:100%;height:52px}}
.service-list .details-action,.work-image-action,.reel-details{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;padding:8px 14px;border:1px solid #d5d6d9;border-radius:10px;
  background:linear-gradient(#fff,#f1f2f4);color:#111;font-weight:700;line-height:1.3;
  box-shadow:0 3px 0 #c4c5c8,0 5px 8px #00000014,inset 0 1px 0 #fff;
  transition:transform .15s,box-shadow .15s;
}
.service-list summary:hover .details-action,.work-image-link:hover .work-image-action,.reel-details:hover{color:#111;background:linear-gradient(#fff,#f1f2f4);border-color:#d5d6d9;transform:translateY(-1px);box-shadow:0 4px 0 #c4c5c8,0 7px 9px #0000001c}
.service-list summary:active .details-action,.work-image-link:active .work-image-action,.reel-details:active{transform:translateY(2px);box-shadow:0 1px 0 #c4c5c8,0 2px 3px #00000014}
.button.primary,.x-pending{border-radius:14px}
.footer-phones .phone-tel-label{font:inherit;font-family:'M PLUS Rounded 1c','Arial Rounded MT Bold',sans-serif;font-weight:500;letter-spacing:.04em;color:inherit;transform:none;margin-right:8px;text-shadow:none}
footer .brand:focus-visible{outline:none;filter:opacity(.7)}
.game-hero>.viewport-bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.game-overlay #game-title{width:fit-content;max-width:100%}
.game-overlay #game-title,.game-overlay #game-title *{pointer-events:auto;user-select:text;-webkit-user-select:text}
.game-overlay{z-index:16}
.game-description,.game-budget-note{font-weight:700}
.game-bottom #game-status{font-family:'M PLUS Rounded 1c','Arial Rounded MT Bold',sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em;color:#eee}
.game-budget-note{font-size:21px}
@media(max-width:650px){.game-budget-note{font-size:18px}}
.game-kicker{font-weight:700;text-transform:none}
.game-kicker{pointer-events:auto;user-select:text;-webkit-user-select:text}
.game-kicker{font-size:15px;font-weight:700}
@media(max-width:650px){.game-kicker{font-size:10.5px}}
.game-bottom #game-status{font-family:'M PLUS Rounded 1c',sans-serif;font-weight:700;color:#70ffae}
.game-bottom #game-status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid #70ffae70;border-radius:10px;background:linear-gradient(#173326,#10251b);box-shadow:0 3px 0 #06180f,inset 0 1px 0 #a5ffd62b;line-height:1.5;pointer-events:none}
.game-bottom{right:16px;bottom:16px;align-items:flex-end}
.game-bottom #game-status{margin-left:auto;text-align:right}
@media(max-width:650px){.game-bottom{right:12px;bottom:12px;gap:8px}.game-bottom #game-status{font-size:10px;padding:6px 9px}}
.header nav>a.youtube-link{flex-direction:column;gap:3px;min-width:60px;padding:6px 10px!important;font-size:10px;line-height:1.1}
.header nav>a.youtube-link svg{flex-shrink:0;width:22px;height:16px}
.header nav>a.official-instagram{min-width:44px;padding:10px!important;color:#111;cursor:default}
.header nav>a.official-instagram svg{flex-shrink:0}
.game-bottom #game-status{color:#fff}
.game-hero #game-scene canvas{filter:brightness(2.548)}
.game-overlay #game-title{font-size:clamp(67.2px,7vw,100.8px)}
.game-overlay #game-title .title-period{color:#fff}
@media(max-width:650px){.game-overlay #game-title{font-size:clamp(56px,15.4vw,72.8px)}}
.header nav>a.youtube-link{min-width:92px;padding:8px 10px!important}
.social-youtube-logo{display:block;width:72px;height:auto;object-fit:contain}
.social-x-logo{display:block;width:20px;height:20px;object-fit:contain}
.header nav>a.official-instagram{min-width:114px}
.social-instagram-wordmark{display:block;width:94px;height:25px;background-image:url('assets/instagram-official-wordmark.webp');background-size:384px 216px;background-position:-241px -98px;background-repeat:no-repeat;mix-blend-mode:multiply}
.header nav>a.official-instagram{min-width:44px}
.social-instagram-logo{display:block;width:22px;height:22px;object-fit:contain}
.header nav>a.youtube-link{min-width:52px;padding:6px 10px!important}
.header nav .social-youtube-logo{width:30px;height:30px;object-fit:contain;border-radius:6px}
.social-pending{display:inline-flex;align-items:center;gap:10px;min-height:52px}
.social-pending img{display:block;flex-shrink:0;width:28px;height:28px;object-fit:contain;border-radius:6px}
.header nav>a:is(.official-x,.official-instagram,.youtube-link){width:52px;min-width:52px;flex:0 0 52px;padding:4px!important;gap:0}
.header nav .social-x-logo,.header nav .social-instagram-logo,.header nav .social-youtube-logo{width:42px;height:42px;object-fit:contain;border-radius:8px}
@media(max-width:960px){.header nav>a:is(.official-x,.official-instagram,.youtube-link){width:100%;flex:0 0 52px}}
.header nav .social-x-logo,.header nav .social-instagram-logo{display:block}
.game-hero #game-scene canvas{opacity:.544}
.game-hero #game-scene canvas{mask-image:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 45%,#000 55%,#000 100%)}
.sphere-code{opacity:var(--code-opacity,.65)}
.game-hero>.viewport-bubbles{mask-image:linear-gradient(90deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.32) 20%,rgba(0,0,0,.34) 30%,rgba(0,0,0,.385) 40%,rgba(0,0,0,.44) 50%,rgba(0,0,0,.7) 60%,#000 70%,#000 100%)}
/* Mobile banner follows its content; controls never overlap the copy. */
@media(max-width:650px){
 .game-hero{height:auto!important;min-height:0!important;max-height:none!important;padding:28px 24px 20px}
 .game-overlay #game-title{font-size:clamp(38px,10.8vw,48px)}
 .game-description{font-size:18px;line-height:1.8;margin:22px 0}
 .game-budget-note{margin-top:24px;font-size:18px;line-height:1.8}
 .game-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:24px;gap:12px;flex-wrap:wrap}
 .game-bottom #game-status{margin-left:auto;max-width:100%;white-space:normal;text-align:center}
}
@media(max-width:960px){
 .header .menu{flex:0 0 52px;width:52px;height:52px;padding:7px 6px;gap:5px;border-radius:9px;clip-path:none}
 .header .menu>span:not(.menu-label){width:24px;height:1px}
 .header .menu .menu-label{display:block;width:auto;height:auto;background:transparent;font-size:9px;font-weight:700;line-height:1.2;white-space:nowrap;color:#111;margin-top:2px}
}
@media(max-width:370px){.header{gap:2px}}
.game-hero>.independent-note-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:.7;filter:none;mask-image:none}
.youtube-logo-crop{display:block;position:relative;flex-shrink:0;width:42px;height:42px;overflow:hidden;border-radius:8px}
.header nav .youtube-logo-crop .social-youtube-logo{position:absolute;width:54px;height:61.36px;max-width:none;left:-6px;top:-10px;border-radius:0;object-fit:contain}
.social-pending .youtube-logo-crop{width:28px;height:28px;border-radius:6px}
.social-pending .youtube-logo-crop img{position:absolute;width:36px;height:40.91px;max-width:none;left:-4px;top:-6.67px;border-radius:0;object-fit:contain}
.contact .button.primary{justify-content:center;text-align:center}
.work-image-link:hover img{transform:none}
.work-image-link{cursor:default}
.pricing-page{max-width:1100px;margin:0 auto}
.pricing-heading{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.pricing-page h1{font-size:clamp(36px,5vw,62px);line-height:1.3;letter-spacing:-.025em}
.pricing-page h2{font-size:clamp(22px,3vw,30px);margin-bottom:22px}
.pricing-status{padding:6px 13px;border:1px solid #e9c2a0;border-radius:999px;background:#fff0dc;font-size:12px;color:#86470e;font-weight:700;white-space:nowrap}
.pricing-intro{font-size:15px;line-height:2;color:#555;margin-bottom:48px}
.pricing-table-wrap{border:1px solid #ddd;border-radius:16px;overflow:hidden;background:#fff}
.pricing-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}
.pricing-table th,.pricing-table td{padding:20px 24px;border-bottom:1px solid #e7e7e7;line-height:1.7}
.pricing-table thead{background:#f3f3f3}
.pricing-table tbody th{font-weight:500}
.pricing-table td{color:#777;white-space:nowrap}
.pricing-table tr:last-child th,.pricing-table tr:last-child td{border-bottom:0}
.pricing-comparison{margin-top:44px;padding:28px;border:1px solid #ddd;border-radius:16px}
.pricing-comparison p{font-size:14px;color:#555;line-height:1.9;margin:0}
.pricing-consult{margin-top:32px;justify-content:center}
.pricing-home{padding:12px 16px;border:1px solid #ddd;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}
.pricing-footer{display:flex;justify-content:space-between;align-items:center}
.pricing-footer small,.pricing-footer a{font-size:11px}
.contact .contact-pricing-link{display:flex;width:fit-content;min-width:210px;justify-content:center;margin:18px auto 0;border:1px solid #d5d6d9;border-radius:14px;background:linear-gradient(#fff,#f1f2f4);color:#111;box-shadow:0 3px 0 #c4c5c8,0 5px 8px #00000014;font-weight:700}
.contact .contact-pricing-link:active{transform:translateY(2px);box-shadow:0 1px 0 #c4c5c8}
@media(max-width:650px){.pricing-page{padding:44px 20px}.pricing-heading{gap:12px}.pricing-table th,.pricing-table td{padding:16px 12px;font-size:13px}.pricing-comparison{padding:22px}.pricing-header .pricing-home{padding:10px 12px;font-size:11px}}
.game-bottom #game-status{font-size:14px;font-weight:700;letter-spacing:.04em;padding:9px 16px;border:1px solid #477a62;border-radius:16px;background:linear-gradient(145deg,#072818,#031e12);color:#fff;box-shadow:0 4px 0 #06452c,0 6px 12px #00000030,inset 0 1px 0 #c8ffe870;text-shadow:0 1px 1px #06452c60}
.sphere-code{overflow:hidden;line-height:1.2;box-sizing:border-box;overflow-wrap:anywhere}
@media(max-width:650px){.game-bottom #game-status{font-size:12px;padding:8px 12px}}

.reel-header>span{font-size:17.55px;font-weight:700}
@media(max-width:650px){.reel-header>span{font-size:13.65px}}

.header .nav-contact,.header .nav-pricing,.header .official-line,.header .mobile-line-link{font-weight:800}
.work-meta .service-detail{font-weight:700}

.work-meta .work-title-accent{color:#ce1141}

.work-card.featured .work-meta h3{font-family:'M PLUS Rounded 1c','Yu Gothic',Meiryo,sans-serif;font-size:25.5px;font-weight:700;letter-spacing:-.025em}
@media(max-width:650px){.work-card.featured .work-meta h3{font-size:21px}}

.game-bottom{flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:8px;pointer-events:none}
.game-bottom #game-motion{pointer-events:auto}
.game-bottom #game-status{margin-left:0}

.game-overlay #game-title .title-e{color:#ed1947}
.game-description .banner-world-accent{color:#ed1947}

.header nav>a.official-line{--button-edge:#35784b;background:linear-gradient(#3dad6c,#388f5c)!important;border-color:#388954!important}
.header .mobile-line-link{background:linear-gradient(#3dad6c,#388f5c)}
.header nav>a.official-line:hover{background:linear-gradient(#0a853d,#055f2a)!important}

.game-overlay #game-title .create-lowercase-e{text-transform:none}
