@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500;600&display=swap');

:root { --ink:#101318; --paper:#f4f6f6; --muted:#9ca5ad; --blue:#8ad8ff; --amber:#ffb12a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; color:#f8fafb; background:var(--ink); font-family:"DM Sans","Noto Sans JP",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; display:flex; align-items:flex-start; justify-content:space-between; padding:28px 4vw; }
.brand { display:flex; flex-direction:column; gap:5px; }
.brand-collab { font-size:.62rem; letter-spacing:.18em; color:#bbc2c7; }
.brand-collab i { color:var(--amber); font-style:normal; padding:0 .35em; }
.brand-name { font-size:1.45rem; font-style:italic; font-weight:600; letter-spacing:-.05em; }
.infinity { font-size:1.2em; color:var(--amber); margin-left:.08em; }
.nav-link { border-bottom:1px solid #677078; padding:4px 0 10px; font-size:.7rem; letter-spacing:.16em; }
.nav-link span { color:var(--amber); margin-left:24px; }
.desktop-nav { display:flex; gap:28px; margin-top:10px; color:#8d969e; font-size:.58rem; letter-spacing:.16em; }
.desktop-nav a { transition:color .25s; }
.desktop-nav a:hover { color:#fff; }
.hero { min-height:100svh; display:grid; grid-template-columns:47% 53%; position:relative; overflow:hidden; background:radial-gradient(circle at 76% 15%,#2b333d 0,#171c23 28%,#101318 60%); }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom,black,transparent 75%); }
.hero-copy { z-index:2; align-self:center; padding:130px 4vw 100px; }
.eyebrow { margin:0 0 30px; color:var(--amber); font-size:.68rem; font-weight:600; letter-spacing:.24em; }
h1 { margin:0; max-width:760px; font-family:"Noto Sans JP",sans-serif; font-size:clamp(3rem,5.5vw,6.6rem); font-weight:300; letter-spacing:-.075em; line-height:1.14; }
h1 em { font-style:normal; color:transparent; -webkit-text-stroke:1px #eef1f2; }
.lead { max-width:520px; margin:38px 0; color:#b8c0c6; font-size:clamp(1rem,1.2vw,1.16rem); line-height:2; }
.hero-meta { display:flex; gap:26px; color:#7f8a93; font-size:.62rem; letter-spacing:.14em; }
.device-stage { position:relative; min-height:100svh; overflow:hidden; }
.source-crop { position:absolute; z-index:2; width:min(45vw,640px); height:78vh; min-height:620px; left:49%; top:50%; transform:translate(-50%,-46%); overflow:hidden; border-radius:44% 44% 12% 12% / 26% 26% 9% 9%; filter:drop-shadow(0 40px 60px rgba(0,0,0,.6)); }
.source-crop img { position:absolute; width:150%; max-width:none; height:auto; left:-25%; top:-20%; }
.orb { position:absolute; border-radius:50%; filter:blur(4px); }
.orb-a { width:38vw; height:38vw; right:-9vw; top:4vh; background:radial-gradient(circle at 35% 35%,rgba(138,216,255,.9),rgba(29,74,106,.26) 42%,transparent 68%); }
.orb-b { width:28vw; height:28vw; left:2vw; bottom:-7vw; border:1px solid rgba(255,177,42,.55); box-shadow:inset 0 0 80px rgba(255,177,42,.12),0 0 60px rgba(255,177,42,.08); }
.stage-caption { position:absolute; right:3vw; bottom:7vh; color:#87919a; font-size:.6rem; letter-spacing:.18em; line-height:1.7; writing-mode:vertical-rl; }
.scroll-cue { position:absolute; z-index:4; bottom:28px; left:4vw; display:flex; align-items:center; gap:12px; color:#7f8a93; font-size:.6rem; letter-spacing:.18em; }
.scroll-cue span { display:block; width:42px; height:1px; background:var(--amber); }
.hero-motion-section{height:520svh;min-height:0;display:block;overflow:visible;background:#020305}
.hero-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:47% 53%;align-items:center}
.hero-motion-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero-motion-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,5,8,.96) 0%,rgba(3,5,8,.78) 28%,rgba(3,5,8,.18) 56%,rgba(3,5,8,.04) 100%),linear-gradient(0deg,rgba(3,5,8,.48),transparent 38%)}
.hero-motion-section .hero-copy{position:relative;z-index:2;grid-column:1;padding-right:1vw}
.hero-motion-section .stage-caption{z-index:2}
.hero-motion-progress{position:absolute;z-index:3;left:4vw;right:4vw;bottom:18px;height:2px;background:#ffffff24;overflow:hidden}
.hero-motion-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--amber));transform:scaleX(var(--hero-progress,0));transform-origin:left}
.manifesto { min-height:72vh; padding:13vh 8vw; display:grid; grid-template-columns:1fr 2fr 1fr; gap:5vw; align-items:start; color:var(--ink); background:var(--paper); }
.manifesto h2 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:clamp(2.4rem,5vw,5rem); font-weight:300; line-height:1.32; letter-spacing:-.06em; }
.manifesto-side > p { margin:8px 0 55px; color:#626b72; line-height:2.05; font-size:1rem; }
.collab-lockup { display:flex; align-items:center; gap:16px; font-size:.7rem; font-weight:600; letter-spacing:.15em; }
.collab-lockup i { color:var(--amber); font-style:normal; font-size:1.1rem; }
.performance-panel { position:relative; min-height:96vh; overflow:hidden; display:flex; align-items:flex-end; }
.performance-panel > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.performance-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,11,15,.88) 0%,rgba(8,11,15,.45) 50%,rgba(8,11,15,.08) 100%),linear-gradient(0deg,rgba(8,11,15,.45),transparent 55%); }
.performance-copy { z-index:2; max-width:700px; padding:0 7vw 10vh; }
.performance-copy h2,.section-head h2,.hybrid-copy h2,.tech-copy h2,.beauty-copy h2,.included h2 { margin:0; font:300 clamp(2.6rem,5vw,5.5rem)/1.24 "Noto Sans JP",sans-serif; letter-spacing:-.065em; }
.performance-copy > p:last-child { max-width:490px; color:#b8c0c6; line-height:2; }
.vertical-note { position:absolute; z-index:2; right:3vw; top:8vh; color:#bbc2c7; font-size:.6rem; letter-spacing:.2em; writing-mode:vertical-rl; }
.courses { background:#e9edee; color:var(--ink); padding:14vh 7vw; }
.section-head { display:grid; grid-template-columns:1fr 2fr auto; gap:5vw; align-items:start; margin-bottom:10vh; }
.section-index { color:#78828a; font-size:.68rem; letter-spacing:.18em; border-top:1px solid #9ba4aa; padding-top:10px; }
.course-list { border-top:1px solid #aeb6bb; }
.course-card { min-height:180px; display:grid; grid-template-columns:80px 1.1fr 1.6fr auto; gap:3vw; align-items:center; border-bottom:1px solid #bfc6ca; padding:34px 14px; transition:background .35s,color .35s,padding .35s; }
.course-card:hover,.course-card.featured { background:var(--ink); color:#fff; padding-left:28px; padding-right:28px; }
.course-number { font-size:.68rem; color:#8b959c; }
.course-en { margin:0 0 7px; color:var(--amber); font-size:.62rem; letter-spacing:.18em; }
.course-card h3 { margin:0; font:400 clamp(1.5rem,2.4vw,2.4rem)/1.3 "Noto Sans JP",sans-serif; letter-spacing:-.04em; }
.course-card > p { max-width:560px; margin:0; color:#667079; line-height:1.9; font-size:.9rem; }
.course-card:hover > p,.course-card.featured > p { color:#aeb7be; }
.course-time { font-size:.62rem; letter-spacing:.15em; white-space:nowrap; }
.hybrid-story { display:grid; grid-template-columns:58% 42%; background:#11151a; min-height:90vh; }
.hybrid-image { min-height:760px; overflow:hidden; }
.hybrid-image img { width:100%; height:100%; object-fit:cover; object-position:48% center; }
.hybrid-copy { align-self:center; padding:10vh 6vw; }
.large-copy { max-width:440px; color:#aeb7bd; font-size:1.1rem; line-height:2; }
.formula { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:65px; padding-top:28px; border-top:1px solid #3c444c; }
.formula span { border:1px solid #59636b; border-radius:50%; width:72px; height:72px; display:grid; place-items:center; font-size:.8rem; }
.formula i { color:var(--amber); font-style:normal; font-size:1.4rem; }.formula b { color:#6d777f; font-weight:400; margin:0 4px; }
.formula strong { font:400 .82rem/1.65 "Noto Sans JP",sans-serif; }
.technology { min-height:92vh; background:#09131c; display:grid; grid-template-columns:46% 54%; align-items:center; overflow:hidden; }
.tech-copy { padding:12vh 2vw 12vh 7vw; z-index:2; }
.tech-copy > p:not(.eyebrow) { max-width:510px; color:#9eabb5; line-height:2; }
.tech-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.tech-badges span { border:1px solid #3c5669; padding:10px 14px; color:var(--blue); font-size:.58rem; letter-spacing:.14em; }
.wave-lab { height:85vh; min-height:650px; position:relative; display:grid; place-items:center; background:radial-gradient(circle,rgba(46,162,222,.17),transparent 56%); }
.electrode { position:absolute; width:48px; height:48px; border:1px solid #7795a8; border-radius:50%; display:grid; place-items:center; color:#8ad8ff; font-size:.65rem; box-shadow:0 0 24px rgba(138,216,255,.14); }
.e1{left:18%;top:22%}.e2{right:18%;bottom:22%}.e3{right:18%;top:22%}.e4{left:18%;bottom:22%}
.wave { position:absolute; width:56%; aspect-ratio:1; border:1px solid; border-radius:50%; opacity:.65; animation:pulse 4s ease-in-out infinite; }
.wave::before,.wave::after { content:""; position:absolute; border:inherit; border-radius:inherit; inset:13%; }.wave::after{inset:28%}
.wave-a { border-color:#67c8fb; transform:rotate(42deg) scaleX(.55); }
.wave-b { border-color:#ffb12a; transform:rotate(-42deg) scaleX(.55); animation-delay:-2s; }
.wave-core { width:180px;height:180px;border-radius:50%;background:#0f1820;border:1px solid #415665;display:grid;place-content:center;text-align:center;z-index:2;box-shadow:0 0 80px rgba(72,180,236,.2); }
.wave-core span { font-size:.48rem;letter-spacing:.15em;color:#8295a2 }.wave-core strong{font-size:3.3rem;font-weight:400;letter-spacing:-.08em}.wave-core small{color:var(--amber);font-size:.65rem;letter-spacing:.15em}
@keyframes pulse { 0%,100%{opacity:.3;filter:blur(0)}50%{opacity:.85;filter:blur(1px)} }
.beauty-story { min-height:100vh; background:#edf1f2; color:var(--ink); display:grid; grid-template-columns:56% 44%; }
.beauty-copy { padding:14vh 6vw 10vh 8vw; align-self:center; }
.beauty-image { min-height:760px; overflow:hidden; }
.beauty-image img { width:100%; height:100%; object-fit:cover; }
.beauty-modes { margin-top:70px; border-top:1px solid #aeb6bb; }
.beauty-modes > div { display:grid; grid-template-columns:38px 1fr 1fr; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid #c1c8cc; }
.beauty-modes span { color:#8a949a;font-size:.58rem}.beauty-modes strong{font-size:.68rem;letter-spacing:.14em}.beauty-modes small{color:#68727a}
.product-section { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#11151a; overflow:hidden; }
.product-copy { padding:12vh 5vw 12vh 8vw; }
.product-copy h2 { margin:0 0 30px; font-size:clamp(3.8rem,7vw,7.8rem); font-style:italic; letter-spacing:-.07em; }
.product-copy h2 span { color:var(--amber); }
.product-copy > p:not(.eyebrow) { max-width:520px;color:#a8b1b8;line-height:2; }
.spec-grid { margin-top:60px; border-top:1px solid #3b434a; }
.spec-grid div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid #343b42; }
.spec-grid dt { color:#7f8991;font-size:.78rem}.spec-grid dd{margin:0;font-size:.8rem;letter-spacing:.06em}
.product-visual {
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(8,12,17,.08),rgba(8,12,17,.38)),
    url("./assets/product-stage-bg-v1.png") center/cover no-repeat;
}
.product-visual::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 54% 48%,transparent 22%,rgba(4,8,13,.12) 54%,rgba(4,8,13,.6) 100%);
}
.product-visual::after {
  content:"";
  position:absolute;
  left:9%;right:9%;bottom:9%;height:11%;
  background:radial-gradient(ellipse,rgba(0,0,0,.72),transparent 68%);
  filter:blur(10px);
  transform:perspective(300px) rotateX(66deg);
  z-index:0;
}
.product-halo {
  position:absolute;
  z-index:0;
  width:min(68%,560px);
  aspect-ratio:1;
  border:1px solid rgba(255,183,65,.32);
  border-radius:50%;
  box-shadow:0 0 80px rgba(255,177,42,.07),inset 0 0 100px rgba(255,177,42,.04);
  animation:productPulse 5.5s ease-in-out infinite;
}
.product-halo::before,.product-halo::after {
  content:"";
  position:absolute;
  border:1px solid rgba(255,190,82,.17);
  border-radius:50%;
}
.product-halo::before{inset:11%}.product-halo::after{inset:24%;border-color:rgba(255,255,255,.11)}
.product-crop-small {
  z-index:2;
  width:min(29vw,410px);
  height:auto;
  aspect-ratio:844/1500;
  transform:translateY(3%);
  filter:drop-shadow(0 40px 38px rgba(0,0,0,.62)) drop-shadow(-12px 0 28px rgba(111,156,194,.12));
}
.product-crop-small img { display:block;width:100%;height:100%;object-fit:contain; }
.actual-photo {
  position:absolute;
  z-index:3;
  right:3.2vw;
  bottom:4.5vh;
  color:rgba(229,236,241,.7);
  font-size:.56rem;
  letter-spacing:.2em;
}
.actual-photo b{color:var(--amber);font-weight:600;margin-right:9px}
@keyframes productPulse{0%,100%{transform:scale(.97);opacity:.66}50%{transform:scale(1.04);opacity:1}}
.included { padding:14vh 8vw;background:#e9edee;color:var(--ink);display:grid;grid-template-columns:1fr 1.2fr;column-gap:8vw; }
.included .eyebrow { grid-column:1/-1; }.included ul{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid #abb4b9}.included li{padding:18px 4px;border-bottom:1px solid #c1c8cc;font-size:.9rem}.included li span{display:inline-block;width:48px;color:#8a949a;font-size:.6rem}
.qa-section {
  padding:12vh 8vw;
  background:#dfe5e7;
  color:var(--ink);
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(430px,1.2fr);
  align-items:center;
  gap:7vw;
}
.qa-copy h2{margin:12px 0 24px;font-size:clamp(2.5rem,4.2vw,5.2rem);line-height:1.12;letter-spacing:-.065em;white-space:nowrap}
.qa-copy>p:not(.eyebrow){max-width:460px;margin:0;color:#59646b;font-size:1rem;line-height:1.9}
.qa-cta {
  position:relative;
  min-height:330px;
  padding:46px 52px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#f5f7f8;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:
    radial-gradient(circle at 82% 22%,rgba(255,177,42,.16),transparent 25%),
    linear-gradient(135deg,#202a33 0%,#0d1217 62%,#080b0f 100%);
  box-shadow:0 30px 70px rgba(21,31,38,.22);
  isolation:isolate;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease;
}
.qa-cta::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:420px;
  aspect-ratio:1;
  top:-205px;
  right:-85px;
  border:1px solid rgba(255,183,64,.42);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(255,183,64,.06),0 0 0 92px rgba(255,183,64,.035);
  transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .45s ease;
}
.qa-cta::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.08) 48%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.qa-cta-kicker{position:absolute;left:52px;top:45px;color:var(--amber);font-size:.75rem;font-weight:700;letter-spacing:.18em}
.qa-cta strong{font-size:clamp(1.8rem,3vw,3.6rem);line-height:1.24;letter-spacing:-.045em}
.qa-cta-note{margin-top:15px;color:#96a2aa;font-size:.88rem;letter-spacing:.04em}
.qa-cta-arrow{position:absolute;right:40px;top:34px;font-size:2.5rem;font-weight:200;line-height:1;color:#fff;transition:transform .35s ease,color .35s ease}
.qa-cta:hover,.qa-cta:focus-visible{transform:translateY(-7px);border-color:rgba(255,183,64,.48);box-shadow:0 38px 85px rgba(9,15,20,.3)}
.qa-cta:hover::before,.qa-cta:focus-visible::before{transform:scale(1.1) translate(-8px,8px)}
.qa-cta:hover::after,.qa-cta:focus-visible::after{transform:translateX(120%)}
.qa-cta:hover .qa-cta-arrow,.qa-cta:focus-visible .qa-cta-arrow{color:var(--amber);transform:translate(5px,-5px)}
.qa-cta:focus-visible{outline:3px solid var(--amber);outline-offset:5px}
.safety { background:#dce2e4;color:#59636a;padding:34px 8vw;font-size:.72rem;line-height:1.8 }.safety p{max-width:1080px;margin:auto}.safety strong{color:#252c32;margin-right:18px}
.purchase-notice {
  position:relative;
  overflow:hidden;
  padding:11vh 8vw 12vh;
  text-align:center;
  background:linear-gradient(135deg,#151c23,#090d11 72%);
  border-top:1px solid rgba(255,177,42,.45);
}
.purchase-notice::before {
  content:"";
  position:absolute;
  width:min(62vw,820px);
  aspect-ratio:1;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,177,42,.09);
  border-radius:50%;
  box-shadow:0 0 0 80px rgba(255,177,42,.025),0 0 0 160px rgba(255,177,42,.012);
  pointer-events:none;
}
.purchase-notice p{position:relative;margin:0;color:#f2f5f6;font-size:clamp(1.7rem,3.3vw,3.8rem);font-weight:600;line-height:1.5;letter-spacing:-.035em}
.purchase-notice strong{position:relative;display:block;margin-top:24px;color:var(--amber);font-size:clamp(1rem,1.5vw,1.5rem);font-weight:600;letter-spacing:.08em}
footer { min-height:45vh;background:#090c10;padding:10vh 7vw 5vh;display:flex;flex-direction:column;justify-content:space-between; }
.footer-lockup{font:500 clamp(1.8rem,4vw,4.6rem)/1 "Noto Sans JP",sans-serif;display:flex;align-items:center;gap:2vw}.footer-lockup i{font-style:normal;color:var(--amber)}footer>p{font-size:clamp(2rem,6vw,7rem);letter-spacing:-.05em;color:#252c33;margin:7vh 0}footer small{color:#69737b;font-size:.52rem;letter-spacing:.13em}
.reveal { opacity:0; transform:translateY(26px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.wave{animation:none}}
.pulse-chapter { background:#09131c; }
.pulse-chapter.motion-enabled { height:240vh; }
.pulse-chapter.motion-enabled .technology { position:sticky; top:0; height:100svh; min-height:0; }
.pulse-chapter .technology { position:relative; }
.pulse-chapter .wave-lab { min-height:0; height:80svh; }
.pulse-chapter .wave { animation:none; opacity:calc(.25 + var(--pulse-progress, .5) * .7); }
.pulse-chapter .wave-a { transform:rotate(calc(12deg + var(--pulse-turn, 45deg))) scaleX(.55) scale(var(--pulse-scale, 1)); }
.pulse-chapter .wave-b { transform:rotate(calc(-12deg - var(--pulse-turn, 45deg))) scaleX(.55) scale(var(--pulse-scale, 1)); }
.pulse-chapter .wave-core { box-shadow:0 0 100px rgba(72,180,236,var(--pulse-glow,.3)); }
.pulse-chapter .electrode { box-shadow:0 0 40px rgba(138,216,255,var(--pulse-glow,.3)); }
.pulse-caption { position:absolute; bottom:6%; width:100%; text-align:center; color:#bacdd9; font-size:14px; letter-spacing:.07em; }
.pulse-progress { position:absolute; left:7%; right:7%; bottom:20px; height:2px; background:#29404f; }
.pulse-progress span { display:block; height:100%; background:linear-gradient(90deg,#8ad8ff,#ffb12a); transform-origin:left; transform:scaleX(var(--pulse-progress,0)); }
.hero .orb-a { translate:0 var(--hero-shift,0px); }
@media (max-width:800px) {
  .pulse-chapter.motion-enabled { height:200vh; }
  .pulse-chapter .technology { grid-template-rows:auto 1fr; align-content:center; }
  .pulse-chapter .tech-copy { padding:32px 20px 0; }
  .pulse-chapter .tech-copy h2 { font-size:clamp(24px,6vw,40px); }
  .pulse-chapter .tech-copy .eyebrow { margin-bottom:16px; }
  .pulse-chapter .tech-copy > p:not(.eyebrow) { font-size:14px; line-height:1.7; }
  .pulse-chapter .tech-badges { margin-top:14px; }
  .pulse-chapter .wave-lab { height:44svh; min-height:220px; }
  .pulse-chapter .wave-core { width:110px; height:110px; }
  .pulse-chapter .wave-core strong { font-size:36px; }
  .pulse-caption { bottom:3%; font-size:12px; }
  .pulse-chapter .electrode { width:30px; height:30px; }
}
@media (max-height:650px) {
  .pulse-chapter.motion-enabled { height:auto; }
  .pulse-chapter.motion-enabled .technology { position:relative; height:auto; }
}
@media (max-width:800px) {
  .site-header { padding:20px; }
  .desktop-nav { display:none; }
  .brand-collab { font-size:.52rem; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-copy { padding:145px 20px 38px; }
  .lead { margin:25px 0; }
  .hero-meta { gap:13px; flex-wrap:wrap; }
  .device-stage { min-height:68vh; }
  .source-crop { width:82vw; height:60vh; min-height:0; border-radius:42% 42% 10% 10% / 20% 20% 8% 8%; transform:translate(-50%,-52%); }
  .source-crop img { width:140%; left:-20%; top:-19%; }
  .orb-a { width:76vw; height:76vw; right:-20vw; }
  .orb-b { width:68vw; height:68vw; }
  .scroll-cue { display:none; }
  .hero-motion-section{height:420svh}
  .hero-sticky{height:100svh;display:block}
  .hero-motion-video{object-position:58% center}
  .hero-motion-shade{background:linear-gradient(180deg,rgba(3,5,8,.9) 0%,rgba(3,5,8,.58) 42%,rgba(3,5,8,.08) 70%,rgba(3,5,8,.45) 100%)}
  .hero-motion-section .hero-copy{padding:105px 20px 20px;max-width:100%}
  .hero-motion-section .hero-copy h1{font-size:clamp(34px,9vw,50px)}
  .hero-motion-section .lead{max-width:330px;font-size:13px;line-height:1.75}
  .hero-motion-section .stage-caption{display:none}
  .manifesto { grid-template-columns:1fr; padding:90px 20px; min-height:auto; }
  .manifesto .eyebrow { margin-bottom:0; }
  .performance-panel { min-height:78vh; }
  .performance-panel > img { object-position:56% center; }
  .performance-copy { padding:0 20px 55px; }
  .courses { padding:90px 20px; }
  .section-head { grid-template-columns:1fr; margin-bottom:55px; }.section-index{display:none}
  .course-card,.course-card:hover,.course-card.featured { grid-template-columns:38px 1fr;padding:25px 4px;gap:12px;background:transparent;color:var(--ink)}
  .course-card > p { grid-column:2;color:#667079!important }.course-time{grid-column:2;color:#657079}
  .hybrid-story,.technology,.beauty-story,.product-section,.included,.qa-section { grid-template-columns:1fr; }
  .hybrid-image { min-height:58vh; }.hybrid-copy,.tech-copy,.beauty-copy,.product-copy{padding:90px 20px}.formula{margin-top:40px}.formula span{width:60px;height:60px}
  .technology{padding-bottom:0}.wave-lab{height:62vh;min-height:520px}.tech-copy{padding-bottom:10px}
  .beauty-image{min-height:70vh;grid-row:1}.beauty-copy{grid-row:2}.beauty-modes>div{grid-template-columns:32px 1fr}.beauty-modes small{grid-column:2}
  .product-visual{min-height:75vh;grid-row:1;background-position:center}.product-copy{grid-row:2}.product-crop-small{width:min(56vw,330px);height:auto;min-height:0}.product-crop-small img{width:100%;height:100%}
  .included{padding:90px 20px}.included ul{margin-top:45px}.qa-section{padding:80px 20px;gap:42px}.qa-cta{min-height:280px;padding:38px}.qa-cta-kicker{left:38px;top:36px}.qa-cta-arrow{right:32px;top:27px}.safety{padding:30px 20px}.safety strong{display:block;margin-bottom:8px}.purchase-notice{padding:75px 20px 80px}
  footer{padding:80px 20px 35px;min-height:52vh}.footer-lockup{flex-wrap:wrap}
}

/* Display the supplied hero photograph intact. The product section uses a lossless transparent cutout of the same supplied photo. */
.source-crop { width:min(32vw,400px); height:auto; min-height:0; aspect-ratio:844/1500; border-radius:18px; filter:none; background:white; }
.source-crop img { display:block; position:static; width:100%; height:100%; max-width:100%; object-fit:contain; }
.desktop-nav,.hero-meta,.eyebrow,.course-en,.course-time,.tech-badges span,.actual-photo { font-size:12px; }
@media(max-width:800px) {
  .source-crop { width:min(64vw,300px); }
  .source-crop { transform:translate(-50%,-46%); }
}
@media(prefers-reduced-motion:reduce){.product-halo{animation:none}.qa-cta,.qa-cta::before,.qa-cta::after,.qa-cta-arrow{transition:none}}
