:root{--black:#090a0c;--black-2:#111318;--silver:#c5c8ce;--line:#30333a;--white:#f4f5f7;--purple:#a58bc7;--purple-dark:#7d629f;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"Helvetica Neue","Noto Sans JP","Yu Gothic",YuGothic,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.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}.site-header{height:86px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.15)}.brand{width:210px;height:58px;overflow:hidden;display:flex;align-items:center}.brand img{width:100%;height:auto;filter:grayscale(1) brightness(1.4) contrast(1.1)}nav{display:flex;align-items:center;gap:34px;font-size:14px;letter-spacing:.08em}nav a{padding:12px 0;transition:color .2s}nav a:hover{color:var(--purple)}.nav-contact{border:1px solid rgba(255,255,255,.5);padding:10px 18px}.menu-button{display:none;background:none;border:0;padding:10px}.hero{min-height:100svh;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:48px;align-items:end;padding:160px max(24px,calc((100vw - var(--max))/2)) 100px;background:radial-gradient(circle at 72% 34%,rgba(165,139,199,.16),transparent 25%),linear-gradient(125deg,#08090b 0%,#15171c 60%,#08090b 100%)}.hero:after{content:"S";position:absolute;right:-.02em;top:-.27em;font:900 min(80vw,950px)/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);pointer-events:none}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,black 25%,black)}.hero-copy,.hero-panel{position:relative;z-index:1}.eyebrow,.section-index{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--silver);margin:0 0 26px}.eyebrow span{color:var(--purple)}h1{font-size:clamp(58px,8.8vw,132px);line-height:.98;letter-spacing:-.055em;margin:0 0 36px;font-weight:800}.lead{font-size:clamp(16px,1.5vw,20px);max-width:610px;color:#c7c9ce;margin:0 0 38px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-weight:700;font-size:14px;letter-spacing:.06em}.button.primary{background:var(--purple);color:#100f13;padding:18px 22px;min-width:236px}.button.primary:hover{background:#bba4d6}.button.text{border-bottom:1px solid var(--silver);padding:16px 2px}.hero-panel{border-top:1px solid var(--purple);padding-top:18px;margin-bottom:14px}.hero-panel>p{font-size:11px;letter-spacing:.2em;color:var(--purple);margin:0 0 14px}.hero-panel ol{list-style:none;padding:0;margin:0}.hero-panel li{display:flex;gap:18px;align-items:center;padding:17px 0;border-top:1px solid rgba(255,255,255,.14)}.hero-panel li span{font:12px/1 monospace;color:#8b8f98}.hero-panel strong{font-size:16px}.scroll-mark{position:absolute;right:24px;bottom:36px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.3em;color:#8f9298}.section-pad{padding:130px max(24px,calc((100vw - var(--max))/2))}.statement{background:var(--white);color:#111318;display:grid;grid-template-columns:1fr 3fr;gap:40px}.statement .section-index{color:var(--purple-dark)}.statement-body{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.statement h2,.section-heading h2,.contact h2{font-size:clamp(38px,5vw,72px);line-height:1.16;letter-spacing:-.045em;margin:0}.statement-body>p{margin:0;color:#565a61;font-size:17px}.services{background:#0e1014}.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:40px;margin-bottom:72px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:90px 1fr 220px;gap:24px;align-items:center;padding:32px 10px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.service-list article:hover{background:rgba(165,139,199,.07);padding-left:20px}.service-no{font:13px/1 monospace;color:var(--purple)}.service-list h3{font-size:25px;margin:0 0 6px}.service-list p{margin:0;color:#aeb1b7;max-width:650px}.service-en{text-align:right;color:#6f7279;font-size:11px;letter-spacing:.16em}.works{background:#17191e}.works-heading{display:flex;justify-content:space-between;align-items:end}.works-heading>p{color:#a9acb2;max-width:390px;margin:0}.work-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;align-items:end}.work-grid figure{margin:0}.work-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72) contrast(1.06);border:1px solid #393c43}.work-main img{aspect-ratio:16/10}.work-grid figcaption{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding-top:14px}.work-grid figcaption span{font-size:10px;letter-spacing:.16em;color:var(--purple)}.work-grid figcaption strong{font-size:16px;text-align:right}.archive-link{margin-top:54px;border-bottom:1px solid #5a5d65;padding:14px 0;display:flex;justify-content:space-between;max-width:380px;font-weight:700}.company{background:var(--white);color:#111318}.company .section-index{color:var(--purple-dark)}.company-data{margin:0 0 0 25%;border-top:1px solid #c9cbd0}.company-data>div{display:grid;grid-template-columns:220px 1fr;padding:21px 0;border-bottom:1px solid #d2d4d8}.company-data dt{font-size:13px;color:#676b72}.company-data dd{margin:0;font-weight:600}.company-data small{color:#73777e;font-size:12px;letter-spacing:.08em}.company-data a{border-bottom:1px solid}.contact{position:relative;background:linear-gradient(135deg,#0c0d10,#191b21);overflow:hidden}.contact:after{content:"CONTACT";position:absolute;bottom:-.24em;right:-.04em;font:900 clamp(100px,18vw,280px)/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(165,139,199,.13);pointer-events:none}.contact-copy{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;position:relative;z-index:1}.contact-copy p{color:#afb2b8;margin:0 0 8px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;border-top:1px solid #4a4d55;border-bottom:1px solid #4a4d55;position:relative;z-index:1}.contact-actions a{padding:28px 30px;display:grid;grid-template-columns:1fr auto;transition:background .2s}.contact-actions a:first-child{border-right:1px solid #4a4d55}.contact-actions a:hover{background:rgba(165,139,199,.12)}.contact-actions small{grid-column:1/-1;color:#aeb1b7;margin-bottom:4px}.contact-actions strong{font-size:clamp(20px,2.2vw,29px)}.contact-actions span{font-size:10px;letter-spacing:.14em;align-self:center;color:var(--purple)}footer{max-width:var(--max);margin:auto;padding:48px 0 30px;display:grid;grid-template-columns:1.5fr 1fr auto;gap:30px;align-items:end;color:#95989e;font-size:12px}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{color:var(--white);font:900 25px/1 Arial,sans-serif;letter-spacing:.08em}.footer-brand span{font-size:9px;letter-spacing:.13em;color:var(--purple);margin-top:8px}.copyright{text-align:right}
@media(max-width:820px){.site-header{height:72px}.brand{width:160px}.menu-button{display:block;position:relative;z-index:22}.menu-button span:not(.sr-only){display:block;width:25px;height:1px;background:#fff;margin:6px}.menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}nav{display:none;position:fixed;inset:0;background:rgba(9,10,12,.98);flex-direction:column;justify-content:center;font-size:20px}nav.open{display:flex}.hero{grid-template-columns:1fr;align-content:end;padding-top:130px;padding-bottom:70px;gap:48px}.hero-panel{max-width:500px}.scroll-mark{display:none}.section-pad{padding-top:90px;padding-bottom:90px}.statement,.section-heading{grid-template-columns:1fr}.statement-body,.contact-copy{grid-template-columns:1fr;gap:30px}.service-list article{grid-template-columns:50px 1fr}.service-en{display:none}.works-heading{display:grid}.work-grid{grid-template-columns:1fr}.company-data{margin-left:0}.contact-actions{grid-template-columns:1fr}.contact-actions a:first-child{border-right:0;border-bottom:1px solid #4a4d55}footer{margin:0 24px;grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1;text-align:left}}@media(max-width:520px){h1{font-size:58px}.hero-actions{align-items:stretch;flex-direction:column;gap:8px}.button.primary{width:100%}.statement h2,.section-heading h2,.contact h2{font-size:40px}.section-heading{margin-bottom:42px}.service-list article{grid-template-columns:38px 1fr;padding:26px 0}.service-list h3{font-size:21px}.company-data>div{grid-template-columns:105px 1fr}.contact-actions a{padding:24px 10px}.contact-actions strong{font-size:19px}footer{grid-template-columns:1fr}.copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* S-CLASS unified identity */
.brand{width:auto;height:58px;gap:12px;overflow:visible}.brand-mark,.intro-mark{display:block;width:49px;height:52px;overflow:hidden;flex:0 0 auto}.brand-mark img,.intro-mark img{width:188px;max-width:none;height:52px;object-fit:fill;filter:grayscale(1) brightness(1.65) contrast(1.2)}.brand-name{white-space:nowrap;color:var(--silver);font:800 16px/1 Arial,sans-serif;letter-spacing:.08em}.intro{position:fixed;z-index:999;inset:0;background:#08090b;display:grid;place-content:center;overflow:hidden;animation:intro-exit .8s cubic-bezier(.77,0,.18,1) 2.45s forwards}.intro:before,.intro:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.11) 48%,transparent 59%);transform:translateX(-100%);animation:steel-sweep 1.15s ease .55s forwards}.intro:after{background:radial-gradient(circle,rgba(165,139,199,.17),transparent 44%);transform:none;opacity:0;animation:purple-pulse 1.1s ease 1.25s forwards}.intro-line{position:absolute;left:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--silver),transparent);width:100%;transform:scaleX(0);animation:line-strike .7s cubic-bezier(.77,0,.18,1) .15s forwards}.intro-brand{display:flex;align-items:center;gap:22px;position:relative;z-index:2;clip-path:inset(0 100% 0 0);animation:brand-reveal .9s cubic-bezier(.77,0,.18,1) .65s forwards}.intro-mark{width:86px;height:91px}.intro-mark img{width:329px;height:91px;filter:grayscale(1) brightness(1.75) contrast(1.2)}.intro-brand strong{font:800 clamp(24px,5vw,64px)/1 Arial,sans-serif;letter-spacing:.08em;color:var(--silver);white-space:nowrap}.intro>p{position:relative;z-index:2;text-align:right;margin:18px 0 0;font-size:10px;letter-spacing:.42em;color:var(--purple);opacity:0;animation:fade-up .5s ease 1.35s forwards}.hero h1{font-size:clamp(48px,7.4vw,108px);max-width:930px}.material-feature{position:relative;background:linear-gradient(100deg,rgba(165,139,199,.19),rgba(165,139,199,.035));border-top:1px solid var(--purple)!important;border-bottom:1px solid var(--purple)!important;padding-top:52px!important;padding-bottom:52px!important}.material-feature:after{content:"PRIORITY";position:absolute;right:18px;top:8px;color:rgba(197,200,206,.1);font:900 48px/1 Arial,sans-serif;letter-spacing:.05em}.material-feature h3{font-size:clamp(30px,4vw,48px);color:#fff}.service-kicker{color:var(--purple)!important;font-size:10px!important;letter-spacing:.2em;margin-bottom:6px!important}.material-cta{display:inline-flex;gap:34px;border-bottom:1px solid var(--purple);padding:11px 0 6px;margin-top:18px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.05em}.material-feature .service-en{font-size:18px;color:var(--silver);line-height:1.4}.lead{max-width:730px}
@keyframes line-strike{to{transform:scaleX(1)}}@keyframes steel-sweep{to{transform:translateX(100%)}}@keyframes brand-reveal{to{clip-path:inset(0 0 0 0)}}@keyframes purple-pulse{50%{opacity:1}100%{opacity:.25}}@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes intro-exit{to{transform:translateY(-100%);visibility:hidden}}
@media(max-width:820px){.brand-name{font-size:12px}.brand-mark{width:39px;height:42px}.brand-mark img{width:152px;height:42px}.intro-brand{gap:12px}.intro-mark{width:55px;height:59px}.intro-mark img{width:213px;height:59px}.intro-brand strong{font-size:clamp(21px,7vw,38px)}.material-feature:after{font-size:30px}.hero h1{font-size:clamp(43px,12vw,72px)}}
@media(prefers-reduced-motion:reduce){.intro{animation-duration:.01s;animation-delay:.01s}.intro-line,.intro-brand,.intro>p,.intro:before,.intro:after{animation:none}.intro-brand{clip-path:none}.intro>p{opacity:1}}

/* Field journal and understated material sales */
.material-service small{display:block;margin-top:10px;color:#81858d;font-size:12px}.journal{background:#0c0e12}.journal-heading{align-items:end}.journal-heading>p{max-width:570px;margin:0;color:#aeb1b7}.journal-panel{display:grid;grid-template-columns:1.35fr .8fr .9fr;border-top:1px solid var(--purple);border-bottom:1px solid var(--line);background:linear-gradient(115deg,rgba(165,139,199,.11),transparent 55%)}.journal-panel>div,.journal-panel>ul{padding:48px 38px;margin:0}.journal-copy{border-right:1px solid var(--line)}.journal-label{font-size:10px;letter-spacing:.22em;color:var(--purple);margin:0 0 18px}.journal-copy h3{font-size:clamp(28px,3.2vw,46px);line-height:1.2;margin:0 0 24px}.journal-copy>p:last-child{color:#aeb1b7;max-width:520px;margin:0}.journal-panel ul{list-style:none;border-right:1px solid var(--line)}.journal-panel li{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-weight:700}.journal-panel li:last-child{border-bottom:0}.journal-panel li span{color:var(--purple);font:12px/1.75 monospace}.instagram-ready{display:flex;flex-direction:column;justify-content:space-between}.instagram-ready>span{font-size:11px;letter-spacing:.2em;color:var(--purple)}.instagram-ready strong{font-size:17px;line-height:1.7}
.journal-entry{margin-bottom:52px;border-top:1px solid var(--purple);border-bottom:1px solid var(--line);padding:34px 0 42px}.journal-entry-meta{display:flex;align-items:center;gap:18px;margin-bottom:34px;font:12px/1.4 monospace;letter-spacing:.12em;color:#aeb1b7}.journal-entry-meta span{border:1px solid #55515f;padding:5px 10px;color:var(--purple)}.journal-entry-body{display:grid;grid-template-columns:1fr 1.45fr;gap:72px}.journal-entry-body h3{margin:0;font-size:clamp(30px,4vw,54px);line-height:1.25;letter-spacing:-.035em}.journal-entry-copy{max-width:660px;color:#bec1c7}.journal-entry-copy p{margin:0 0 18px}.journal-entry-copy p:last-child{margin-bottom:0;color:var(--white);font-weight:700}
@media(max-width:820px){.journal-panel{grid-template-columns:1fr}.journal-copy,.journal-panel ul{border-right:0;border-bottom:1px solid var(--line)}.journal-panel>div,.journal-panel>ul{padding:36px 26px}.instagram-ready{gap:42px}}
@media(max-width:820px){.journal-entry{margin-bottom:40px}.journal-entry-body{grid-template-columns:1fr;gap:28px}.journal-entry-meta{margin-bottom:24px}.journal-entry-body h3{font-size:clamp(30px,9vw,44px)}}

/* Impact direction — stronger first viewport */
.hero{grid-template-columns:minmax(0,1.85fr) minmax(300px,.58fr);background:radial-gradient(circle at 76% 28%,rgba(165,139,199,.28),transparent 24%),radial-gradient(circle at 8% 88%,rgba(197,200,206,.08),transparent 28%),linear-gradient(122deg,#050608 0%,#14161b 57%,#08090c 100%)}.hero:before{content:"";position:absolute;left:0;top:19%;width:7px;height:48%;background:linear-gradient(180deg,transparent,var(--purple) 18%,var(--purple) 82%,transparent);box-shadow:0 0 34px rgba(165,139,199,.65)}.hero:after{-webkit-text-stroke:1px rgba(197,200,206,.11);filter:drop-shadow(0 0 30px rgba(165,139,199,.08))}.hero-grid{background-size:56px 56px;opacity:.75}.hero-copy{max-width:990px}.hero h1{font-size:clamp(50px,7.7vw,114px);line-height:.9;letter-spacing:-.065em;margin-bottom:24px}.hero-line{display:block;color:var(--silver)}.hero-line-strong{margin-top:.13em;color:#fff;text-shadow:0 2px 0 rgba(255,255,255,.14),0 16px 48px rgba(0,0,0,.65)}.hero-manifesto{display:flex;align-items:center;gap:16px;margin:0 0 24px;padding:10px 0 10px 17px;border-left:4px solid var(--purple);font-size:clamp(17px,1.6vw,23px);font-weight:800;letter-spacing:.03em}.hero-manifesto span{color:var(--purple);font:900 12px/1 Arial,sans-serif;letter-spacing:.2em}.hero-panel{padding:22px 22px 6px;border:1px solid rgba(197,200,206,.3);border-top:4px solid var(--purple);background:rgba(7,8,11,.64);box-shadow:0 22px 70px rgba(0,0,0,.4);backdrop-filter:blur(6px)}.hero-panel li{padding:20px 0}.hero-panel strong{font-size:17px}.button.primary{position:relative;background:linear-gradient(100deg,#bda7d8,var(--purple));box-shadow:0 12px 38px rgba(165,139,199,.22);overflow:hidden}.button.primary:after{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 66%);transform:translateX(-130%);transition:transform .55s ease}.button.primary:hover:after{transform:translateX(130%)}.statement h2{font-weight:900}.statement-body{position:relative}.statement-body:before{content:"S-CLASS STANDARD";position:absolute;right:0;top:-55px;color:rgba(125,98,159,.1);font:900 clamp(42px,7vw,92px)/1 Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap;pointer-events:none}.hero .eyebrow,.hero .hero-line,.hero .hero-manifesto,.hero .lead,.hero .hero-actions,.hero .hero-panel{opacity:0;animation:impact-rise .72s cubic-bezier(.2,.8,.2,1) forwards}.hero .eyebrow{animation-delay:2.7s}.hero .hero-line{animation-delay:2.82s}.hero .hero-line-strong{animation-delay:2.94s}.hero .hero-manifesto{animation-delay:3.08s}.hero .lead{animation-delay:3.18s}.hero .hero-actions{animation-delay:3.28s}.hero .hero-panel{animation-delay:3.12s}@keyframes impact-rise{from{opacity:0;transform:translateY(34px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero:before{width:4px}.hero h1{font-size:clamp(44px,11vw,72px)}.hero-manifesto{align-items:flex-start;flex-direction:column;gap:7px}.hero-panel{padding:18px 20px 2px}.statement-body:before{top:-36px;white-space:normal}.hero .eyebrow,.hero .hero-line,.hero .hero-manifesto,.hero .lead,.hero .hero-actions,.hero .hero-panel{animation-delay:2.7s}}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero .hero-line,.hero .hero-manifesto,.hero .lead,.hero .hero-actions,.hero .hero-panel{opacity:1;animation:none}}

/* Cinematic S-CLASS opening and exact official logo lockup */
.brand{width:230px;height:64px;overflow:hidden;display:flex;align-items:center;gap:0}.brand-lockup{display:block;width:230px;height:auto;max-width:none;filter:none}
.intro{animation:none;place-content:stretch;background:#050608;isolation:isolate}
.intro:before,.intro:after{display:none}
.intro-word{position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%) scale(.84);font:900 clamp(100px,22vw,390px)/.8 Arial,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(197,200,206,.11);opacity:0;white-space:nowrap}
.intro-shutter{position:absolute;z-index:5;top:0;bottom:0;width:50.5%;background:#050608}
.intro-shutter-left{left:0}.intro-shutter-right{right:0}
.intro-line{z-index:8;top:50%;height:2px;transform:scaleX(0);box-shadow:0 0 22px rgba(165,139,199,.85)}
.intro-flare{position:absolute;z-index:9;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transform:translate(-50%,-50%);box-shadow:0 0 16px 7px #fff,0 0 55px 22px rgba(165,139,199,.9),0 0 130px 56px rgba(165,139,199,.42)}
.intro-lockup{position:absolute;z-index:7;left:50%;top:50%;width:min(78vw,620px);transform:translate(-50%,-50%) scale(.84);display:grid;justify-items:center;opacity:0;filter:blur(14px)}
.intro-logo-frame{position:relative;width:min(72vw,520px);overflow:hidden;border:1px solid rgba(197,200,206,.36);box-shadow:0 24px 80px rgba(0,0,0,.65),0 0 46px rgba(165,139,199,.14)}
.intro-logo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.6) 47%,transparent 64%);transform:translateX(-150%)}
.intro-logo-frame img{display:block;width:100%;height:auto;filter:none}
.intro-lockup>p{margin:28px 0 5px;color:#fff;font-size:clamp(18px,2.4vw,28px);font-weight:800;letter-spacing:.09em;text-shadow:0 8px 28px #000}
.intro-lockup>span{color:var(--purple);font:800 11px/1.4 Arial,sans-serif;letter-spacing:.42em}
.intro.is-playing .intro-word{animation:cinematic-word 3.6s cubic-bezier(.2,.8,.2,1) .12s both}
.intro.is-playing .intro-line{animation:cinematic-strike .6s cubic-bezier(.77,0,.18,1) .2s forwards}
.intro.is-playing .intro-flare{animation:cinematic-flare .72s ease .5s both}
.intro.is-playing .intro-shutter-left{animation:shutter-left .72s cubic-bezier(.77,0,.18,1) .72s forwards}
.intro.is-playing .intro-shutter-right{animation:shutter-right .72s cubic-bezier(.77,0,.18,1) .72s forwards}
.intro.is-playing .intro-lockup{animation:lockup-hit .92s cubic-bezier(.16,1,.3,1) 1.18s forwards}
.intro.is-playing .intro-logo-frame:after{animation:logo-sweep 1s ease 1.72s forwards}
.intro.is-playing{animation:cinematic-exit .82s cubic-bezier(.77,0,.18,1) 3.68s forwards}
@keyframes cinematic-word{0%{opacity:0;transform:translate(-50%,-50%) scale(.84)}20%{opacity:.38}72%{opacity:.18;transform:translate(-50%,-50%) scale(1.03)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes cinematic-strike{0%{transform:scaleX(0)}75%{transform:scaleX(1)}100%{transform:scaleX(.2);opacity:0}}
@keyframes cinematic-flare{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.15)}40%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes shutter-left{to{transform:translateX(-103%)}}
@keyframes shutter-right{to{transform:translateX(103%)}}
@keyframes lockup-hit{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-50%) scale(.76)}58%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1.035)}100%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
@keyframes logo-sweep{to{transform:translateX(150%)}}
@keyframes cinematic-exit{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08);visibility:hidden}}
@media(max-width:820px){.brand{width:175px;height:56px}.brand-lockup{width:175px}.intro-lockup{width:88vw}.intro-logo-frame{width:84vw}.intro-lockup>p{font-size:clamp(16px,4.8vw,22px);letter-spacing:.04em;white-space:nowrap}.intro-lockup>span{font-size:9px;letter-spacing:.28em}}
@media(prefers-reduced-motion:reduce){.intro.is-playing{animation:intro-fade-reduced .8s ease 1.2s forwards}.intro.is-playing .intro-word,.intro.is-playing .intro-line,.intro.is-playing .intro-flare,.intro.is-playing .intro-shutter{animation:none}.intro.is-playing .intro-shutter{display:none}.intro.is-playing .intro-lockup{animation:intro-glow-reduced .55s ease .12s forwards}.intro.is-playing .intro-logo-frame:after{animation:none}@keyframes intro-glow-reduced{to{opacity:1;filter:none;transform:translate(-50%,-50%)}}@keyframes intro-fade-reduced{to{opacity:0;visibility:hidden}}}

/* Large official mark + one-line silver company name */
.intro-lockup{width:min(92vw,1180px);grid-template-columns:188px minmax(0,1fr);grid-template-rows:auto auto auto;justify-items:start;align-items:center;column-gap:42px}
.intro-symbol{grid-row:1/4;position:relative;width:188px;height:174px;overflow:hidden;border:1px solid rgba(197,200,206,.34);box-shadow:0 0 0 1px rgba(165,139,199,.16),0 25px 90px rgba(0,0,0,.72),0 0 52px rgba(165,139,199,.2);transform:rotate(-12deg) scale(.25);opacity:0}
.intro-symbol:before{content:"";position:absolute;z-index:2;inset:0;border:1px solid rgba(255,255,255,.18);pointer-events:none}
.intro-symbol:after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(108deg,transparent 25%,rgba(255,255,255,.62) 47%,transparent 66%);transform:translateX(-150%)}
.intro-symbol img{width:630px;height:174px;max-width:none;object-fit:fill;filter:none}
.intro-lockup>strong{display:block;position:relative;max-width:100%;color:var(--silver);font:900 clamp(34px,5vw,72px)/.95 Arial,sans-serif;letter-spacing:.025em;white-space:nowrap;opacity:0;transform:translateX(90px);clip-path:inset(0 100% 0 0);text-shadow:0 10px 40px rgba(0,0,0,.7)}
.intro-lockup>strong:before,.intro-lockup>strong:after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.intro-lockup>strong:before{color:#fff;text-shadow:-5px 0 var(--purple);clip-path:inset(0 0 54% 0)}
.intro-lockup>strong:after{color:var(--silver);text-shadow:5px 0 #6d4b98;clip-path:inset(57% 0 0 0)}
.intro-lockup>p{grid-column:2;margin:20px 0 4px;opacity:0;transform:translateY(18px)}
.intro-lockup>span{grid-column:2;opacity:0;transform:translateY(12px)}
.intro.is-playing .intro-lockup{animation:none;opacity:1;filter:none;transform:translate(-50%,-50%)}
.intro.is-playing .intro-symbol{animation:symbol-impact 1.05s cubic-bezier(.16,1,.3,1) 1s forwards}
.intro.is-playing .intro-symbol:after{animation:logo-sweep .9s ease 1.72s forwards}
.intro.is-playing .intro-lockup>strong{animation:company-strike .86s cubic-bezier(.16,1,.3,1) 1.42s forwards}
.intro.is-playing .intro-lockup>p{animation:copy-rise .58s ease 2.08s forwards}
.intro.is-playing .intro-lockup>span{animation:copy-rise .58s ease 2.22s forwards}
@keyframes symbol-impact{0%{opacity:0;transform:rotate(-18deg) scale(.18);filter:blur(12px)}62%{opacity:1;transform:rotate(2deg) scale(1.08);filter:blur(0)}82%{transform:rotate(-1deg) scale(.98)}100%{opacity:1;transform:rotate(0) scale(1);filter:none}}
@keyframes company-strike{0%{opacity:0;transform:translateX(90px);clip-path:inset(0 100% 0 0)}55%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes copy-rise{to{opacity:1;transform:none}}
@media(max-width:820px){.intro-lockup{width:92vw;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;justify-items:center;row-gap:0}.intro-symbol{grid-row:auto;width:134px;height:124px;margin-bottom:28px}.intro-symbol img{width:449px;height:124px}.intro-lockup>strong{font-size:clamp(27px,8.2vw,46px);letter-spacing:.015em}.intro-lockup>p,.intro-lockup>span{grid-column:1;text-align:center}.intro-lockup>p{margin-top:20px}.intro-lockup>span{justify-self:center}}
@media(max-width:390px){.intro-symbol{width:118px;height:109px}.intro-symbol img{width:394px;height:109px}.intro-lockup>strong{font-size:26px}.intro-lockup>p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.intro.is-playing .intro-symbol{animation:symbol-fade .45s ease .1s forwards}.intro.is-playing .intro-lockup>strong,.intro.is-playing .intro-lockup>p,.intro.is-playing .intro-lockup>span{animation:copy-fade .4s ease .25s forwards;clip-path:none;transform:none}@keyframes symbol-fade{to{opacity:1;transform:none}}@keyframes copy-fade{to{opacity:1}}}

/* Random logo burst — each load creates a different opening */
.intro-echoes{position:absolute;z-index:6;inset:0;overflow:hidden;pointer-events:none}
.intro-echo{--x:0vw;--y:0vh;--s:.8;--r:0deg;--d:.1s;position:absolute;left:50%;top:50%;display:block;width:112px;height:98px;overflow:hidden;opacity:0;clip-path:polygon(14% 0,86% 0,100% 28%,50% 100%,0 28%);filter:saturate(1.2) contrast(1.08);box-shadow:0 0 32px rgba(165,139,199,.34)}
.intro-echo img{width:354px;height:98px;max-width:none;object-fit:fill;filter:none}
.intro.is-playing .intro-echo{animation:echo-converge 1.82s cubic-bezier(.2,.72,.16,1) var(--d) both}
.intro-symbol{clip-path:polygon(14% 0,86% 0,100% 28%,50% 100%,0 28%);border:0;box-shadow:0 25px 90px rgba(0,0,0,.72),0 0 70px rgba(165,139,199,.34)}
.intro-symbol:before{border:1px solid rgba(255,255,255,.24);clip-path:inherit}
.intro-symbol:after{clip-path:inherit}
.intro.is-playing .intro-symbol{animation:symbol-impact 1.08s cubic-bezier(.16,1,.3,1) 1.36s forwards}
.intro.is-playing .intro-symbol:after{animation:logo-sweep .85s ease 1.84s forwards}
.intro.is-playing .intro-lockup>strong{animation:company-strike .82s cubic-bezier(.16,1,.3,1) 1.83s forwards}
.intro.is-playing .intro-lockup>strong:before{animation:brand-glitch-top .42s steps(2,end) 2.2s both}
.intro.is-playing .intro-lockup>strong:after{animation:brand-glitch-bottom .42s steps(2,end) 2.2s both}
.intro.is-playing .intro-lockup>p{animation:copy-rise .5s ease 2.43s forwards}
.intro.is-playing .intro-lockup>span{animation:copy-rise .5s ease 2.56s forwards}
.intro.is-playing{animation:cinematic-exit .76s cubic-bezier(.77,0,.18,1) 3.48s forwards}
@keyframes echo-converge{
  0%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)) scale(.08);filter:blur(10px) saturate(1.5)}
  18%{opacity:.82;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)) scale(var(--s));filter:blur(0) saturate(1.35)}
  38%{opacity:.22}
  52%{opacity:.75}
  100%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(.12);filter:blur(5px) saturate(1.1)}
}
@keyframes brand-glitch-top{0%,100%{opacity:0;transform:none}20%{opacity:.95;transform:translate(-10px,-2px)}45%{opacity:.65;transform:translate(8px,1px)}70%{opacity:.9;transform:translate(-4px,0)}}
@keyframes brand-glitch-bottom{0%,100%{opacity:0;transform:none}18%{opacity:.8;transform:translate(9px,2px)}48%{opacity:.9;transform:translate(-7px,-1px)}72%{opacity:.6;transform:translate(5px,0)}}
.hero .eyebrow{animation-delay:3.56s}.hero .hero-line{animation-delay:3.68s}.hero .hero-line-strong{animation-delay:3.82s}.hero .hero-manifesto{animation-delay:3.96s}.hero .lead{animation-delay:4.06s}.hero .hero-actions{animation-delay:4.16s}.hero .hero-panel{animation-delay:3.9s}
@media(max-width:820px){.intro-echo{width:82px;height:72px}.intro-echo img{width:260px;height:72px}.hero .eyebrow{animation-delay:3.56s}.hero .hero-line{animation-delay:3.68s}.hero .hero-line-strong{animation-delay:3.82s}.hero .hero-manifesto{animation-delay:3.96s}.hero .lead{animation-delay:4.06s}.hero .hero-actions{animation-delay:4.16s}.hero .hero-panel{animation-delay:3.9s}}
@media(prefers-reduced-motion:reduce){.intro-echoes{display:none}}
.intro-gate{position:absolute;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;gap:12px;background:radial-gradient(circle at 50% 45%,rgba(165,139,199,.13),transparent 30%),#050608;transition:opacity .28s ease,visibility .28s ease}
.intro-gate:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(165,139,199,.55),transparent);opacity:.55}
.intro-gate>p{position:relative;width:100%;margin:0 0 25px;text-align:center;color:var(--silver);font:800 11px/1 Arial,sans-serif;letter-spacing:.42em}
.intro-gate button{position:relative;min-height:52px;border:1px solid rgba(197,200,206,.42);padding:0 24px;color:var(--white);background:rgba(10,11,14,.84);font:800 14px/1 Arial,"Noto Sans JP",sans-serif;letter-spacing:.08em;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.intro-gate button:hover,.intro-gate button:focus-visible{border-color:var(--purple);background:rgba(165,139,199,.16);transform:translateY(-2px);outline:none}
.intro-gate .sound-start{border-color:var(--purple);background:linear-gradient(110deg,rgba(165,139,199,.28),rgba(10,11,14,.9));box-shadow:0 10px 38px rgba(165,139,199,.18)}
.intro-gate .sound-start span{display:inline-block;margin-right:6px;color:var(--purple)}
.intro-gate .silent-start{color:#9b9ea5}
.intro.is-started .intro-gate{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:520px){.intro-gate{flex-direction:column;flex-wrap:nowrap}.intro-gate>p{margin-bottom:18px}.intro-gate button{width:min(76vw,290px)}}
.instagram-ready{padding:48px 38px;transition:background .25s,color .25s}.instagram-ready:hover{background:rgba(165,139,199,.14)}.instagram-ready strong{font-size:clamp(20px,2vw,28px)}.instagram-ready em{display:inline-block;margin-top:14px;color:var(--purple);font-size:13px;font-style:normal;letter-spacing:.06em;border-bottom:1px solid var(--purple);padding-bottom:4px}
@media(max-width:820px){.instagram-ready{padding:36px 26px}}
.hero .eyebrow{animation-delay:3.56s}.hero .hero-line{animation-delay:3.68s}.hero .hero-line-strong{animation-delay:3.82s}.hero .hero-manifesto{animation-delay:3.96s}.hero .lead{animation-delay:4.06s}.hero .hero-actions{animation-delay:4.16s}.hero .hero-panel{animation-delay:3.9s}
@media(max-width:820px){.hero .eyebrow{animation-delay:3.56s}.hero .hero-line{animation-delay:3.68s}.hero .hero-line-strong{animation-delay:3.82s}.hero .hero-manifesto{animation-delay:3.96s}.hero .lead{animation-delay:4.06s}.hero .hero-actions{animation-delay:4.16s}.hero .hero-panel{animation-delay:3.9s}}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero .hero-line,.hero .hero-manifesto,.hero .lead,.hero .hero-actions,.hero .hero-panel{opacity:1;animation:none}}

/* 15-second EDM cut: build-up, drop, extended brand hold */
.intro.is-playing .intro-word{animation:cinematic-word 14.1s cubic-bezier(.2,.8,.2,1) .12s both}
.intro.is-playing .intro-echo{animation-duration:2.18s}
.intro.is-playing .intro-symbol{animation-delay:5.05s}
.intro.is-playing .intro-symbol:after{animation-delay:5.5s}
.intro.is-playing .intro-lockup>strong{animation-delay:5.625s}
.intro.is-playing .intro-lockup>strong:before,.intro.is-playing .intro-lockup>strong:after{animation-delay:6.02s}
.intro.is-playing .intro-lockup>p{animation-delay:6.45s}
.intro.is-playing .intro-lockup>span{animation-delay:6.64s}
.intro.is-playing{animation:cinematic-exit .8s cubic-bezier(.77,0,.18,1) 14.28s forwards}
.hero .eyebrow{animation-delay:14.38s}.hero .hero-line{animation-delay:14.5s}.hero .hero-line-strong{animation-delay:14.64s}.hero .hero-manifesto{animation-delay:14.78s}.hero .lead{animation-delay:14.88s}.hero .hero-actions{animation-delay:14.98s}.hero .hero-panel{animation-delay:14.72s}
@media(max-width:820px){.hero .eyebrow{animation-delay:14.38s}.hero .hero-line{animation-delay:14.5s}.hero .hero-line-strong{animation-delay:14.64s}.hero .hero-manifesto{animation-delay:14.78s}.hero .lead{animation-delay:14.88s}.hero .hero-actions{animation-delay:14.98s}.hero .hero-panel{animation-delay:14.72s}}
