:root { --black:#08080a; --paper:#f4f2e9; --lime:#b6ff32; --pink:#ff2dbd; --gray:#aaa; --line:#303034; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--black); font-family:Arial,"PingFang SC","Apple SD Gothic Neo","Yu Gothic",sans-serif; }
button,a { font:inherit; }
.site { overflow:hidden; }
.presentation-slide { position:relative; width:100%; aspect-ratio:16/9; container-type:inline-size; overflow:hidden; }
.slide-dark,.slide-one { background:var(--black); color:#fff; }
.slide-light { background:var(--paper); color:var(--black); }
.brand { position:absolute; z-index:4; left:4.1%; top:5.1%; display:flex; align-items:center; gap:.75cqw; font-size:.62cqw; line-height:.9; letter-spacing:.04em; }
.brand-mark { width:2.8cqw; aspect-ratio:1; display:grid; place-items:center; border-radius:.7cqw; background:#fff; color:var(--black); font-size:1.25cqw; font-weight:950; font-style:italic; }
.brand-dark .brand-mark { background:var(--black); color:var(--lime); }
.slide-no { position:absolute; z-index:4; right:5.5%; top:6.8%; color:var(--lime); font:900 .72cqw monospace; }
.dark-no { color:#777; }
.language-switcher { position:fixed; z-index:50; right:12px; top:50%; transform:translateY(-50%); display:grid; gap:5px; padding:6px; border:1px solid #333; background:rgba(8,8,10,.88); backdrop-filter:blur(12px); }
.language-switcher button { min-width:54px; padding:9px 8px; border:0; background:transparent; color:#aaa; font-size:12px; font-weight:850; cursor:pointer; }
.language-switcher button.active { background:var(--lime); color:var(--black); }

/* 01 */
.hero-art { position:absolute; inset:0 0 0 61.8%; background:url("hero-disc.jpg") center/cover no-repeat; }
.slide1-copy { position:absolute; z-index:2; left:4.8%; top:17.2%; width:45.4%; }
.slide1-kicker { margin:0; color:var(--lime); font-size:1.55cqw; font-weight:950; white-space:pre; }
.slide1-copy h1 { margin:4.5cqw 0 5.5cqw; font-size:4.7cqw; line-height:1.12; letter-spacing:-.07em; }
.slide1-copy h1 span,.slide1-copy h1 strong { display:block; white-space:nowrap; }
.slide1-copy h1 strong { margin-top:1.1cqw; font-style:normal; }
.pink-rule { width:100%; height:.32cqw; background:var(--pink); }
.generation { display:block; margin-top:2.9cqw; font-size:.95cqw; }
.formula { margin:2.2cqw 0 2.7cqw; color:#aaa; font-size:1.35cqw; font-weight:800; white-space:nowrap; }
.lime-button,.wide-lime-button { display:flex; align-items:center; justify-content:space-between; width:23.5cqw; padding:1.15cqw 1.35cqw; background:var(--lime); color:var(--black); text-decoration:none; font-size:1.05cqw; font-weight:950; }
.lang-en .slide1-copy h1 { font-size:3.85cqw; letter-spacing:-.05em; }
.lang-en .slide1-copy h1 strong { font-size:.78em; }
.lang-ko .slide1-copy h1,.lang-ja .slide1-copy h1 { font-size:4.15cqw; }

/* 02 */
.slide2-title { position:absolute; left:4.8%; top:17.3%; width:46%; margin:0; font-size:4.55cqw; line-height:1.13; letter-spacing:-.065em; }
.slide2-title span,.slide3-copy h2 span,.slide4-title span,.slide5-title span { display:block; white-space:nowrap; }
.steps { position:absolute; left:55.5%; top:16.8%; width:36%; height:70%; padding-left:4.3%; border-left:.36cqw solid var(--pink); }
.steps article { height:33.333%; display:grid; grid-template-columns:16% 1fr; align-items:center; border-bottom:1px solid #c9c6bd; }
.steps article:last-child { border-bottom:0; }
.steps article>span { color:var(--pink); font:900 .88cqw monospace; }
.steps h3 { margin:0 0 1.55cqw; font-size:2.15cqw; }
.steps p { margin:0; color:#b2afa9; font-size:1.22cqw; font-weight:800; white-space:nowrap; }
.lang-en .slide2-title { font-size:3.4cqw; line-height:1.2; }
.lang-ko .slide2-title,.lang-ja .slide2-title { font-size:3.65cqw; }
.lang-en .steps p,.lang-ko .steps p,.lang-ja .steps p { font-size:.92cqw; }

/* 03 */
.slide3-copy { position:absolute; left:4.8%; top:17%; width:41%; }
.slide3-copy h2 { margin:0; font-size:4.55cqw; line-height:1.12; letter-spacing:-.065em; }
.slide3-copy>p { margin:4.2cqw 0 0; color:#aaa; font-size:1.45cqw; font-weight:750; white-space:nowrap; }
.wide-lime-button { position:absolute; left:0; top:36.6cqw; width:39.5cqw; }
.dance-rows { position:absolute; left:52%; top:14.7%; width:42.5%; border-top:.32cqw solid var(--lime); }
.dance-rows article { height:10.55cqw; display:grid; grid-template-columns:13% 38% 1fr; align-items:center; border-bottom:1px solid var(--line); }
.dance-rows article>span { color:var(--lime); font:900 .82cqw monospace; }
.dance-rows h3 { margin:0; font-size:1.85cqw; white-space:nowrap; }
.dance-rows p { margin:0; color:#aaa; font-size:1.2cqw; white-space:nowrap; }
.lang-en .slide3-copy h2 { font-size:3.2cqw; line-height:1.23; }
.lang-en .slide3-copy>p { font-size:1.05cqw; }
.lang-en .dance-rows h3 { font-size:1.38cqw; }
.lang-en .dance-rows p { font-size:.93cqw; }
.lang-ko .slide3-copy h2,.lang-ja .slide3-copy h2 { font-size:3.55cqw; }
.lang-ko .slide3-copy>p,.lang-ja .slide3-copy>p { font-size:1cqw; }
.lang-ko .dance-rows h3,.lang-ja .dance-rows h3 { font-size:1.4cqw; }
.lang-ko .dance-rows p,.lang-ja .dance-rows p { font-size:.95cqw; }

/* 04 */
.slide4-title { position:absolute; left:4.8%; top:17%; margin:0; font-size:4.55cqw; line-height:1.05; letter-spacing:-.065em; }
.audio-rows { position:absolute; left:4%; right:4%; top:37.2%; border-top:.25cqw solid var(--black); }
.audio-rows article { height:10.2cqw; display:grid; grid-template-columns:6.8% 31% 28% 1fr; align-items:center; border-bottom:1px solid #c9c6bd; }
.play-button { width:3.25cqw; aspect-ratio:1; border:0; border-radius:.55cqw; background:var(--lime); color:var(--black); font-size:.85cqw; font-weight:950; cursor:pointer; }
.play-button.is-playing { background:var(--pink); }
.audio-rows h3 { margin:0; font-size:2.15cqw; white-space:nowrap; }
.audio-rows article>div b { font-size:1.18cqw; }
.audio-rows article>p { margin:0; color:#777; font-size:1.32cqw; font-weight:750; white-space:nowrap; }
.wave { height:3.2cqw; margin-top:1.3cqw; display:flex; gap:.52cqw; align-items:center; }
.wave i { width:2.1cqw; height:.45cqw; background:var(--black); }
.wave i:nth-child(1),.wave i:nth-child(4),.wave i:nth-child(7){ background:var(--pink); }
.wave-0 i:nth-child(3),.wave-0 i:nth-child(5),.wave-0 i:nth-child(7){ height:2.2cqw; }
.wave-1 i:nth-child(3),.wave-1 i:nth-child(7){ height:2.6cqw; }
.wave-2 i:nth-child(6){ height:2.5cqw; }
.slide-four>small { position:absolute; left:4.8%; bottom:3.1%; color:#777; font:700 .52cqw monospace; }
.lang-en .slide4-title { font-size:3.65cqw; }
.lang-en .audio-rows h3 { font-size:1.55cqw; }
.lang-en .audio-rows article>p { font-size:.95cqw; }
.lang-ko .slide4-title,.lang-ja .slide4-title { font-size:3.9cqw; }
.lang-ko .audio-rows h3,.lang-ja .audio-rows h3 { font-size:1.65cqw; }
.lang-ko .audio-rows article>p,.lang-ja .audio-rows article>p { font-size:1cqw; }

/* 05 */
.slide5-title { position:absolute; left:4.8%; top:16.8%; margin:0; font-size:4.25cqw; line-height:1.08; letter-spacing:-.06em; }
.plans { position:absolute; left:4%; right:4%; top:37.5%; height:45%; display:grid; grid-template-columns:repeat(3,1fr); gap:6.5%; }
.plans article { padding:.8cqw; }
.plans article>span { color:var(--lime); font:900 .78cqw monospace; }
.plans h3 { margin:3.7cqw 0 2.1cqw; font-size:2.3cqw; white-space:nowrap; }
.plans strong { color:var(--pink); font-size:3.2cqw; }
.plans article>div { margin-top:2.7cqw; padding-top:2.1cqw; border-top:1px solid var(--line); color:#aaa; font-size:1.35cqw; }
.plans article p { margin:.25cqw 0; }
.plans article.featured { padding:2cqw; background:var(--lime); color:var(--black); }
.plans article.featured>span { color:var(--pink); }
.plans article.featured strong { color:var(--black); }
.plans article.featured>div { border-color:#222; color:var(--black); }
.plans-note { position:absolute; left:4.8%; bottom:8.2%; margin:0; color:var(--lime); font-size:1.05cqw; font-weight:900; }
.lang-en .slide5-title { font-size:3.25cqw; }
.lang-en .plans h3 { font-size:1.45cqw; }
.lang-en .plans article>div { font-size:.92cqw; }
.lang-ko .slide5-title,.lang-ja .slide5-title { font-size:3.55cqw; }
.lang-ko .plans h3,.lang-ja .plans h3 { font-size:1.55cqw; }
.lang-ko .plans article>div,.lang-ja .plans article>div { font-size:1cqw; }

@media(max-width:700px){
  .language-switcher { top:auto; right:8px; bottom:8px; transform:none; grid-template-columns:repeat(4,auto); gap:3px; padding:4px; }
  .language-switcher button { min-width:0; padding:7px 8px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;}}
