:root {
  color-scheme: dark;
  --ink: #f5f4f5;
  --muted: #adaab3;
  --red: #f63850;
  --line: rgba(255,255,255,.15);
  --background: #08080b;
  --page: 1360px;
  --font: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
  --latin: "Arial Black",Impact,"Arial Narrow",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;overflow-x:hidden;background:var(--background);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font:inherit}
h1,h2,h3,p{margin:0}
em{font-style:normal;color:var(--red)}
a:focus-visible,button:focus-visible{outline:2px solid #ff6477;outline-offset:5px}
::selection{background:#a91632;color:#fff}
.container{width:min(var(--page),calc(100% - 120px));margin:0 auto}
.skip-link{position:fixed;top:0;left:18px;z-index:1000;background:#fff;color:#000;padding:16px;transform:translateY(-130%)}
.skip-link:focus{transform:none}
.progress{height:2px;position:fixed;inset:0 0 auto;z-index:600;pointer-events:none}
.progress span{height:100%;width:100%;display:block;background:linear-gradient(90deg,#7b142b,#ff4d68);transform:scaleX(0);transform-origin:left center}
/* Unified visual language: crisp typography, genuine interfaces and one dramatic light source. */
.header{height:82px;display:flex;align-items:center;gap:34px;justify-content:space-between;padding:0 4.2%;position:sticky;top:0;z-index:500;background:rgba(7,8,12,.79);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.1);transition:background .25s}
.header.is-scrolled{background:rgba(6,6,9,.94)}
.logo{display:inline-flex;align-items:center;gap:11px;font:900 italic 25px/.9 var(--latin);letter-spacing:-.04em;white-space:nowrap}
.logo__slash{display:inline-block;width:20px;height:26px;background:linear-gradient(155deg,#fd4a61 0%,#e31f3b 56%,#5a0921 100%);clip-path:polygon(75% 0,100% 0,27% 100%,0 100%);filter:drop-shadow(0 0 8px #dd233d77);transform:skewX(-9deg)}
.logo__stop{color:var(--red)}
.header__nav{display:flex;gap:clamp(20px,3vw,50px);margin-left:auto}
.header__nav a,.header__download{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.17em;color:#aaa9af;transition:color .25s}
.header__nav a:hover,.header__nav a.is-active{color:#fff}
.header__download{font-size:11px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid rgba(255,255,255,.31);padding:14px 19px;transition:border-color .2s,background .2s;white-space:nowrap}
.header__download:hover{border-color:#ff4c62;background:rgba(240,36,69,.1)}
.header__download span{font-size:19px;line-height:.5;color:var(--red)}
.hero{position:relative;min-height:860px;min-height:max(800px,calc(100svh - 82px));isolation:isolate;overflow:hidden;background:#08070b}
.hero__photo{position:absolute;z-index:-3;inset:0;background-image:linear-gradient(90deg,#050609 0%,rgba(5,6,9,.99) 18%,rgba(6,6,10,.93) 35%,rgba(8,6,11,.5) 71%,rgba(7,6,10,.58) 100%),url('assets/generated-atmosphere.webp');background-size:cover; background-position:center;filter:saturate(.95)}
.hero__glow{position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse 50% 63% at 76% 49%,rgba(214,28,55,.20),transparent 75%),linear-gradient(100deg,transparent 44%,rgba(228,25,53,.07) 49%,transparent 53%);pointer-events:none}
.hero__glow::after{content:"";position:absolute;left:64%;top:-29%;height:141%;width:2px;transform:rotate(30deg);background:linear-gradient(transparent,#ff3d5a64,transparent);box-shadow:0 0 47px 16px #db23361e}
.hero__content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:20px;min-height:780px}
.hero__text{position:relative;z-index:8;margin-top:-30px}
.micro{display:flex;align-items:center;gap:14px;letter-spacing:.23em;color:#d9c7cc;font:800 11px/1.6 Arial,sans-serif}
.red-rule{width:28px;height:2px;background:var(--red);display:inline-block;box-shadow:0 0 12px #fa304550}
.hero__brand{font:italic 900 clamp(94px,10vw,173px)/.94 var(--latin);margin:37px 0 33px;letter-spacing:-.086em;white-space:nowrap;text-shadow:0 9px 30px #0009}
.hero__brand>span:first-child{color:#f03b53;text-shadow:0 0 70px #d9264c66}
.hero__brand-dot{color:#ff354c}
.hero__headline{font-size:clamp(33px,3.55vw,55px);letter-spacing:-.08em;font-weight:900;line-height:1.44;white-space:nowrap}
.hero__description{color:#c1b6bf;font-size:clamp(12px,1vw,15px);line-height:2.06;margin-top:26px}
.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:37px}
.button{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:38px;min-height:62px;min-width:245px;padding:15px 21px 15px 25px;border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:800;letter-spacing:.03em;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{transform:translateY(-3px)}
.button--red{background:linear-gradient(110deg,#a81935,#f03b55);box-shadow:0 13px 38px #bf152a30}
.button--red::after{content:"";position:absolute;inset:-20%;transform:translateX(-130%) skewX(-22deg);transition:transform .6s;background:linear-gradient(90deg,transparent,#fff3,transparent)}
.button--red:hover::after{transform:translateX(130%) skewX(-22deg)}
.button span:last-child{font-size:24px;font-family:Arial,sans-serif;font-weight:500}
.text-action{font:700 11px/1.3 Arial,sans-serif;color:#ccc7ce;letter-spacing:.14em;display:inline-flex;align-items:center;gap:20px;min-height:45px}
.text-action span{font-size:20px;color:#f24b64}
.text-action:hover{color:#fff}
.hero__note{display:flex;align-items:center;gap:9px;color:#a6a0a9;font:750 9px/1.5 Arial,sans-serif;letter-spacing:.16em;margin-top:42px}
.live-dot{width:6px;height:6px;display:inline-block;background:#ff465f;box-shadow:0 0 14px #ff304e;border-radius:50%}
.slash-sep{color:#f04965;margin:0 6px}
.hero__phones{--mx:0px;--my:0px;position:relative;min-height:730px;min-width:0;isolation:isolate;perspective:1000px}
.hero__phones::before{content:"";position:absolute;inset:11% -11%;z-index:-1;background:radial-gradient(ellipse at 50% 50%,#d3174036,transparent 64%);filter:blur(33px);transform:translate(var(--mx),var(--my))}
.stage-ring{position:absolute;z-index:-1;border:1px solid rgba(246,55,81,.1);border-radius:50%;top:18%;left:6%;width:88%;height:72%;transform:rotate(-27deg)}
.stage-ring--second{top:14%;left:14%;width:70%;height:76%;transform:rotate(32deg);border-color:rgba(255,255,255,.08)}
.device{position:relative;overflow:hidden;padding:7px;border-radius:clamp(28px,3vw,46px);background:#0b0c0f;border:1px solid rgba(232,229,231,.54);box-shadow:inset 0 0 0 2px #29262d,0 35px 75px #000a,0 0 36px rgba(180,20,47,.13)}
.device::before{content:"";position:absolute;top:12px;left:50%;transform:translateX(-50%);width:32%;height:17px;border-radius:0 0 18px 18px;background:#050608;z-index:3;box-shadow:0 0 0 1px #0d0e12}
.device img{display:block;width:100%;height:auto;border-radius:clamp(21px,2.4vw,39px);background:#0d0d0f}
.device--hero{position:absolute;top:18%;width:40%;max-width:275px;min-width:0}
.device--left{left:-2%;transform:rotate(-14deg) translateY(18px) scale(.87);filter:brightness(.80);z-index:1}
.device--center{left:50%;width:48%;max-width:329px;top:12%;transform:translateX(-50%) rotate(1deg);z-index:3;border-color:#ccc4c8;box-shadow:inset 0 0 0 2px #37343b,0 60px 115px #000e,0 0 110px #e326491c}
.device--right{right:-2%;transform:rotate(14deg) translateY(17px) scale(.87);filter:brightness(.89);z-index:2}
.hero__phones-caption{display:flex;justify-content:space-between;position:absolute;bottom:5%;left:0;right:0;border-top:1px solid #bbb5c166;padding-top:16px;font:750 9px/1.2 Arial,sans-serif;letter-spacing:.19em;color:#c2aab6}
.hero__bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:#87838e;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.17em}
.hero__bottom b{font-size:20px;font-weight:400;color:#f6405b;margin-left:12px}
.identity-strip{background:#130b11;border-top:1px solid #ea32552d;border-bottom:1px solid #ea32552d;min-height:94px;display:flex;align-items:center}
.identity-strip>div{max-width:1150px;width:100%;margin:auto;padding:12px 25px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.identity-strip span{font:900 clamp(13px,1.6vw,22px)/1.3 var(--latin);letter-spacing:.17em}
.identity-strip i{color:#f63f5e;font-style:normal;font-size:20px}
.chapter{position:relative;overflow:hidden;isolation:isolate;padding:clamp(105px,10vw,165px) 0}
.chapter-label{color:#e3a8b2;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.2em;margin-bottom:28px}
.chapter-label span{color:#f23d5d;margin-right:11px}
.chapter-title{font-size:clamp(40px,4.5vw,73px);font-weight:900;letter-spacing:-.085em;line-height:1.35}
.chapter-subhead{font:italic 900 clamp(48px,5.5vw,85px)/.95 var(--latin);color:rgba(255,255,255,.12);letter-spacing:-.04em;margin-bottom:28px}
.lead{font-size:clamp(18px,1.8vw,26px);font-weight:850;line-height:1.7;margin-top:28px;letter-spacing:-.04em}
.body-copy{color:#b4adb7;font-size:clamp(13px,1.15vw,15px);line-height:2.1;margin-top:17px}
/* 01 / Philosophy */
.philosophy{background:#0e080e}
.philosophy__ambient{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(7,8,11,.89),rgba(18,4,12,.49)),url('assets/slide-background.webp') center /cover}
.philosophy__layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8%;min-height:605px}
.philosophy__copy{position:relative;z-index:2}
.orbit{width:min(610px,100%);height:590px;position:relative;isolation:isolate;margin:auto;filter:drop-shadow(0 20px 35px #09060a55)}
.orbit__circle{position:absolute;width:67%;height:67%;left:16.5%;top:16.5%;border:1px dashed rgba(244,74,101,.35);border-radius:50%;box-shadow:0 0 90px #b1173520,inset 0 0 45px #ce224016}
.orbit__circle::before{content:"";position:absolute;inset:-25px;border-radius:50%;border:1px solid rgba(255,255,255,.05)}
.orbit__middle{position:absolute;z-index:2;left:33%;top:33%;height:34%;width:34%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,#211018,#0b0a0e);border:1px solid #ed415cbd;box-shadow:0 0 44px #f12a4f1c,inset 0 0 32px #cd1f371a}
.orbit__small{font:750 9px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#a99ca7}
.orbit__middle strong{font:italic 900 clamp(24px,3vw,40px)/1.5 var(--latin);letter-spacing:-.04em}
.orbit__middle em{font-size:11px;font-weight:700;color:#f75e76}
.orbit__item{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:27%;height:27%;border-radius:50%;background:linear-gradient(145deg,#1e121b,#0a0b10 90%);border:1px solid #673041;box-shadow:0 10px 25px #000b,0 0 17px #aa284021;text-align:center}
.orbit__item>span{font:750 11px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#fa556c}
.orbit__item strong{font-size:clamp(14px,1.3vw,20px);letter-spacing:-.03em;margin-top:9px;white-space:nowrap}
.orbit__item small{font:700 9px/1.3 Arial,sans-serif;color:#9b929c;letter-spacing:.11em;margin-top:7px}
.orbit__item--one{top:0;left:36.5%}
.orbit__item--two{top:23%;right:0}
.orbit__item--three{bottom:1%;right:14%;background:linear-gradient(150deg,#6c132d,#1c0d15);border-color:#fc4865;box-shadow:0 0 50px #e3234629}
.orbit__item--four{bottom:2%;left:14%}
.orbit__item--five{top:23%;left:0}
.philosophy__footnote{border-top:1px solid var(--line);padding-top:22px;margin-top:85px;display:flex;justify-content:space-between;gap:30px;color:#9d8b96;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.14em}
/* 02 / Record */
.record{background:#09090c}
.record__background{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 56% 84% at 74% 49%,#7d0a2742,transparent 70%),linear-gradient(180deg,#09090c,#110910 67%,#09090c)}
.record__grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:8%}
.record__copy{position:relative;z-index:2}
.numbered-features{list-style:none;padding:0;margin:36px 0 0;border-top:1px solid #fff3}
.numbered-features li{display:flex;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid #fff2;font-size:14px}
.numbered-features b{font:800 11px/1.6 Arial,sans-serif;color:#fb4f66}
.record__visual{position:relative;min-height:750px;isolation:isolate}
.red-halo{position:absolute;z-index:-1;inset:12%;border-radius:50%;background:radial-gradient(ellipse,#d41e4550,transparent 72%);filter:blur(28px)}
.device--record-back{position:absolute;top:15%;left:7%;width:42%;transform:rotate(-12deg);z-index:1;filter:brightness(.84)}
.device--record-main{position:absolute;top:7%;right:6%;width:49%;z-index:2;transform:rotate(7deg);box-shadow:0 60px 105px #000e,0 0 60px #cd1d3a22}
.image-credit{position:absolute;bottom:2%;left:5%;right:4%;padding-top:13px;border-top:1px solid #ffffff3b;font:750 10px/1.5 Arial,sans-serif;color:#96909a;letter-spacing:.17em}
/* 03 / Analyze */
.analyze{background:#0b0a0e}
.analyze__beam{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#170a12c9,#0a0a0ede 62%),url('assets/slide-background.webp') center /cover}
.analyze__grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:11%;align-items:center}
.analyze__visual{min-height:740px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.analyze__visual::before{content:"";position:absolute;width:80%;height:80%;background:radial-gradient(ellipse,#d0224247,transparent 71%);filter:blur(30px)}
.analyze__marker{position:absolute;top:14%;left:-3%;font:italic 900 clamp(55px,8vw,125px)/1 var(--latin);letter-spacing:-.065em;color:#ffffff12}
.device--analyze{width:55%;max-width:340px;z-index:2;transform:rotate(-5deg);box-shadow:0 58px 100px #000b,0 0 65px #f4304b1e}
.analyze__caption{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #fff3;padding:15px 0;color:#a798a1;font:750 10px Arial,sans-serif;letter-spacing:.14em}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #fff3;margin-top:47px}
.pillars>div{padding:21px 8px 21px 0;display:flex;flex-direction:column;gap:12px;border-right:1px solid #fff2}
.pillars>div+div{padding-left:18px}
.pillars>div:last-child{border:0}
.pillars span{color:#f04c66;font:800 10px/1 Arial,sans-serif}
.pillars strong{font:750 10px/1.3 Arial,sans-serif;letter-spacing:.08em;color:#fff}
.pillars small{color:#bcb1bd;font-size:12px}
.feature-disclaimer{font-size:11px;line-height:1.8;color:#8f8991;margin-top:21px}
/* 04 / Battle */
.battle{background:#08080b}
.battle__background{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 57% 80% at 77% 48%,#a6173949,transparent 74%),linear-gradient(110deg,#0a090c 15%,#1f0912 80%,#07080b)}
.battle__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:7%;align-items:center}
.battle__modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:37px}
.battle__modes>div{border:1px solid #a72a476e;background:#201017a6;padding:20px 18px;min-height:143px;display:flex;flex-direction:column}
.battle__modes span{font:800 9px/1.6 Arial,sans-serif;color:#f2677e;letter-spacing:.12em}
.battle__modes strong{font-size:22px;margin-top:13px;letter-spacing:-.05em}
.battle__modes p{font-size:12px;line-height:1.7;color:#c0b5bd;margin-top:10px}
.battle__visual{min-height:760px;display:flex;justify-content:center;align-items:center;position:relative;isolation:isolate}
.battle__ring{position:absolute;border:1px solid #a02b4a72;border-radius:50%;width:80%;height:75%;transform:rotate(25deg)}
.battle__ring::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid #ffffff16}
.device--battle{width:53%;max-width:340px;z-index:2;transform:rotate(5deg);box-shadow:0 62px 100px #000d,0 0 72px #dc2d5426}
.battle__sideword{position:absolute;bottom:2%;left:0;right:0;border-top:1px solid #ffffff3d;padding-top:13px;color:#af9aa7;font:800 10px/1.5 Arial,sans-serif;letter-spacing:.2em}
/* Brand story */
.mission{position:relative;overflow:hidden;isolation:isolate;background:#12080e}
.mission__ambient{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#08090cd9,#3c081bc4 66%,#08080ae8),url('assets/generated-atmosphere.webp') center/cover}
.mission__ambient::after{content:"";position:absolute;right:11%;top:-20%;height:130%;width:2px;transform:rotate(32deg);background:linear-gradient(transparent,#f2395773,transparent);box-shadow:0 0 44px #d8183b56}
.mission__content{padding:clamp(145px,14vw,225px) 0}
.mission h2{font-size:clamp(42px,5.8vw,94px);font-weight:900;letter-spacing:-.09em;line-height:1.35;margin-top:30px}
.mission p:last-child{margin-top:35px;color:#c3b4bd;font-size:15px;line-height:2.1}
/* Closing */
.download{position:relative;overflow:hidden;isolation:isolate;background:#10060d;text-align:center}
.download__background{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 59% 62% at 50% 71%,#d6173e4f,transparent 70%),linear-gradient(170deg,#08080b 4%,#1b0710 60%,#08080b)}
.download__background::before{content:"STRIVE";position:absolute;top:11%;left:50%;transform:translateX(-50%);font:italic 900 clamp(140px,24vw,390px)/1 var(--latin);letter-spacing:-.09em;color:#ffffff07}
.download__content{padding:clamp(135px,14vw,215px) 0 145px;position:relative;display:flex;flex-direction:column;align-items:center}
.download__brand{font:italic 900 23px/1 var(--latin);letter-spacing:.03em;color:#fa526b;margin-bottom:42px}
.download h2{font-size:clamp(40px,6.8vw,105px);font-weight:900;line-height:1.35;letter-spacing:-.09em;margin-top:24px}
.download__tagline{font-size:clamp(17px,2vw,24px);margin-top:30px;color:#eee1e8}
.button--download{margin-top:42px;min-width:300px}
.download small{margin-top:22px;color:#b3a4ae;font:800 10px Arial,sans-serif;letter-spacing:.16em}
/* Footer */
.footer{background:#08080a;padding:43px 0 25px}
.footer__top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:35px;border-bottom:1px solid var(--line)}
.footer__top p{font-size:12px;color:#9f939e}
.footer__bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:29px;font:700 10px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#8e8990}
.footer__bottom nav{display:flex;flex-wrap:wrap;gap:16px 28px}
.footer__bottom a:hover{color:#fff}
/* One motion signature: reveal text and imagery with controlled ease. */
.js .reveal.will-reveal:not(.is-visible){opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform .85s cubic-bezier(.2,.65,.2,1)}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@media (min-width:1650px){.hero{min-height:950px}.hero__content{min-height:860px}.hero__phones{min-height:810px}}
@media(max-width:1250px){
  .container{width:calc(100% - 84px)}
  .hero__brand{font-size:clamp(85px,9vw,125px)}
  .hero__headline{font-size:clamp(31px,3.5vw,46px)}
  .hero__phones{min-height:640px}
  .hero__content{min-height:710px}
  .hero{min-height:790px}
  .chapter-title{font-size:clamp(37px,4.4vw,64px)}
  .record__visual,.analyze__visual,.battle__visual{min-height:660px}
  .orbit{height:500px}
}
@media(max-width:960px){
  .header__nav{display:none}
  .hero__content{grid-template-columns:1fr;min-height:0;gap:0}
  .hero__text{padding-top:85px;margin-top:0}
  .hero__brand{font-size:clamp(95px,16vw,155px);margin-top:25px}
  .hero__headline{font-size:clamp(39px,5.9vw,64px)}
  .hero__phones{min-height:620px;max-width:660px;width:100%;margin:35px auto 20px}
  .hero__bottom{position:relative;bottom:auto;padding-bottom:30px}
  .hero{min-height:0}
  .philosophy__layout,.record__grid,.analyze__grid,.battle__grid{grid-template-columns:1fr;gap:45px}
  .philosophy__copy{max-width:700px}
  .orbit{height:530px;width:550px;max-width:100%}
  .philosophy__footnote{margin-top:35px}
  .record__visual{min-height:780px;max-width:780px;width:100%;margin:0 auto}
  .analyze__visual{order:2;min-height:740px}
  .analyze__copy{order:1}
  .battle__visual{min-height:740px}
  .device--analyze,.device--battle{width:clamp(260px,42vw,340px)}
  .record__visual .device{max-width:340px}
  .mission__content{padding-block:145px}
}
@media(max-width:600px){
  html{scroll-padding-top:70px}
  .container{width:calc(100% - 40px)}
  .header{height:67px;padding:0 20px}
  .logo{font-size:22px}
  .logo__slash{height:23px;width:17px}
  .header__download{font-size:10px;padding:11px 12px;gap:9px}
  .header__download span{font-size:15px}
  .hero__photo{background-image:linear-gradient(180deg,#050609eb 0%,#050609db 28%,#0506099a 70%,#050609db 100%),url('assets/generated-atmosphere.webp');background-position:62% center}
  .hero__text{padding-top:62px}
  .micro{font-size:9px;gap:11px;letter-spacing:.17em}
  .red-rule{width:20px}
  .hero__brand{font-size:clamp(82px,19.1vw,116px);margin:27px 0 21px}
  .hero__headline{font-size:clamp(30px,7.7vw,46px);line-height:1.4}
  .hero__description{font-size:12px;line-height:1.95;margin-top:17px}
  .hero__actions{display:block;margin-top:26px}
  .button{min-height:58px;width:min(100%,350px)}
  .text-action{margin-top:15px}
  .hero__note{font-size:8px;letter-spacing:.12em;margin-top:24px}
  .hero__phones{min-height:450px;max-width:470px;margin:25px auto 16px}
  .device--hero{border-radius:29px;padding:4px}
  .device--hero::before{top:8px;height:11px}
  .device--hero img{border-radius:25px}
  .device--left{width:42%;left:-4%;top:18%;transform:rotate(-12deg) scale(.94)}
  .device--center{width:49%;left:50%;top:11%}
  .device--right{width:42%;right:-4%;top:18%;transform:rotate(12deg) scale(.94)}
  .hero__phones-caption{bottom:4%;font-size:8px;padding-top:12px}
  .hero__bottom{font-size:8px}
  .identity-strip{min-height:68px}
  .identity-strip>div{gap:7px;padding:13px 12px}
  .identity-strip span{font-size:clamp(9px,2.5vw,13px);letter-spacing:.09em}
  .identity-strip i{font-size:12px}
  .chapter{padding:92px 0}
  .chapter-label{font-size:10px;margin-bottom:22px}
  .chapter-title{font-size:clamp(34px,8.6vw,49px)}
  .chapter-subhead{font-size:53px;margin-bottom:21px}
  .lead{font-size:20px;margin-top:22px}
  .body-copy{font-size:12px;line-height:2.05}
  .philosophy__layout{gap:32px}
  .orbit{height:400px;width:400px;max-width:100%}
  .orbit__middle{left:32.5%;top:32.5%;height:35%;width:35%}
  .orbit__small{font-size:6px}
  .orbit__middle strong{font-size:24px}
  .orbit__middle em{font-size:8px}
  .orbit__item{width:30%;height:30%}
  .orbit__item--one{left:35%}
  .orbit__item--two{right:-1%;top:24%}
  .orbit__item--three{right:10%;bottom:0}
  .orbit__item--four{left:10%;bottom:0}
  .orbit__item--five{left:-1%;top:24%}
  .orbit__item strong{font-size:12px;margin-top:3px}
  .orbit__item>span{font-size:8px}
  .orbit__item small{font-size:6px;margin-top:5px}
  .philosophy__footnote{font-size:8px;display:block}
  .philosophy__footnote span{display:block;line-height:2}
  .record__visual{min-height:510px}
  .device--record-back{width:46%;left:4%;top:17%}
  .device--record-main{width:51%;right:4%;top:9%}
  .image-credit{font-size:8px;bottom:-1%}
  .numbered-features{margin-top:25px}
  .numbered-features li{font-size:12px;padding:15px 0}
  .analyze__grid{gap:20px}
  .analyze__visual{min-height:510px}
  .device--analyze{width:min(57%,248px)}
  .analyze__marker{left:0;top:8%;font-size:67px}
  .analyze__caption{font-size:8px}
  .pillars{margin-top:26px}
  .pillars>div{gap:8px;padding:15px 5px 15px 0}
  .pillars>div+div{padding-left:10px}
  .pillars strong{font-size:8px;letter-spacing:.02em}
  .pillars small{font-size:10px}
  .feature-disclaimer{font-size:10px}
  .battle__modes{grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}
  .battle__modes>div{padding:15px 11px;min-height:140px}
  .battle__modes strong{font-size:18px}
  .battle__modes p{font-size:11px}
  .battle__modes span{font-size:8px}
  .battle__visual{min-height:535px}
  .device--battle{width:min(57%,250px)}
  .battle__sideword{font-size:8px}
  .mission__content{padding:124px 0}
  .mission h2{font-size:clamp(38px,9.1vw,58px)}
  .mission p:last-child{font-size:12px}
  .download__content{padding:124px 0 130px}
  .download__brand{font-size:19px}
  .download h2{font-size:clamp(33px,8.5vw,55px)}
  .download__tagline{font-size:16px}
  .button--download{min-width:0;margin-top:30px}
  .footer{padding:35px 0 22px}
  .footer__top{align-items:flex-start}
  .footer__top p{font-size:10px;max-width:120px;text-align:right;line-height:1.7}
  .footer__bottom{display:block;font-size:9px}
  .footer__bottom nav{margin-bottom:28px;gap:14px 21px}
}
@media(max-width:380px){
 .hero__brand{font-size:clamp(75px,19vw,85px)}
 .hero__headline{font-size:clamp(27px,7.2vw,32px)}
 .hero__phones{min-height:375px}
 .orbit{height:335px}
 .orbit__middle strong{font-size:20px}
 .orbit__item strong{font-size:10px}
 .record__visual{min-height:430px}
 .analyze__visual,.battle__visual{min-height:445px}
 .chapter-title{font-size:32px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .js .reveal{opacity:1;transform:none}
 .hero__phones::before{transform:none!important}
}
/* Cinematic photo accents cropped from generated photographic material.
   The app screenshots are never AI-generated. */
.hero::after{
 content:"";position:absolute;pointer-events:none;z-index:-1;
 right:-5%;top:13%;width:28%;height:76%;
 background:url('assets/generated-plate.webp') center / contain no-repeat;
 opacity:.46;
 -webkit-mask-image:radial-gradient(ellipse,black 14%,transparent 75%);
 mask-image:radial-gradient(ellipse,black 14%,transparent 75%);
 filter:saturate(1.2) brightness(.67);
}
.mission::after{
 content:"";position:absolute;right:5%;bottom:-5%;z-index:-1;
 width:min(42%,630px);height:105%;pointer-events:none;
 background:url('assets/generated-athlete.webp') center bottom / contain no-repeat;
 opacity:.62;
 -webkit-mask-image:linear-gradient(90deg,transparent,black 28%,black 65%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent,black 28%,black 65%,transparent 100%);
 filter:brightness(.83) saturate(.88);
}
@media(max-width:600px){
 .hero::after{top:45%;height:45%;width:40%;right:-9%;opacity:.22}
 .mission::after{right:-19%;width:78%;opacity:.24}
}

/* Finale art direction — weights photographed for the presentation itself.
   This is a real crop from the provided Geekten slide, not a synthetic app UI. */
.hero__photo::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:url('assets/gym-plates.webp') no-repeat calc(100% + 115px) 41%;
  background-size:min(74vw,1040px) auto;
  opacity:.70;
  pointer-events:none;
}
.hero__photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,6,9,.72) 0%,rgba(5,6,9,.20) 43%,transparent 78%),linear-gradient(0deg,#08080b 0%,transparent 18%);
  pointer-events:none;
}
.hero__phones{filter:drop-shadow(0 22px 30px rgba(2,2,3,.47))}
/* Slim red studio edge and polished photograph matting. */
.record__background::before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:75%;
  background:url('assets/gym-plates.webp') no-repeat right 30%;
  background-size:min(70vw,930px) auto;opacity:.19;filter:blur(8px);
  pointer-events:none;
}
.analyze__beam::before{
  content:"";position:absolute;inset:0;
  background:url('assets/gym-plates.webp') no-repeat left 48%;
  background-size:min(55vw,750px) auto;opacity:.12;filter:blur(10px);
  pointer-events:none;
}
.battle__background::before{
  content:"";position:absolute;inset:0;
  background:url('assets/gym-plates.webp') no-repeat right 45%;
  background-size:min(74vw,980px) auto;opacity:.20;filter:blur(7px);
}
@media(max-width:960px){
 .hero__photo::before{background-size:900px auto;background-position:center 55%;opacity:.48}
 .hero__photo::after{background:linear-gradient(180deg,rgba(5,6,9,.74),rgba(6,5,8,.44) 52%,#09090b 98%)}
}
@media(max-width:600px){
 .hero__photo::before{background-size:740px auto;background-position:37% 75%;opacity:.36;filter:blur(1px)}
 .record__background::before,.battle__background::before{background-size:590px auto;opacity:.13}
}
@media(prefers-reduced-motion:reduce){
 .hero__phones{filter:none}
}

/* Motion system: one low-frequency studio light, rather than competing effects. */
@media (prefers-reduced-motion: no-preference){
  .hero__glow{animation:studio-breathe 13s ease-in-out infinite alternate}
  .red-halo{animation:studio-breathe 14s ease-in-out infinite alternate-reverse}
  @keyframes studio-breathe{
    from{opacity:.78}
    to{opacity:1}
  }
}
/* Keep the keyboard skip link fully outside the initial viewport. */
.skip-link{top:-80px;transform:none}
.skip-link:focus{top:0}

/* Strive — motion direction v2.
   One long cinematic experience rather than a stack of presentation slides.
   Scroll is the primary input. All transform-only motion; no layout thrashing. */
:root{--ease-cinema:cubic-bezier(.18,.72,.25,1);--ease-soft:cubic-bezier(.2,.65,.3,1)}
html{scroll-padding-top:88px}
body{background:#07070a}
.hero{--hero-drift:0px;--hero-fade:1;}
.hero__grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;
 background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");mix-blend-mode:screen}
.hero__photo{transform:translate3d(0,var(--hero-photo,0px),0) scale(1.05);will-change:transform}
.hero__glow{transform:translate3d(0,var(--hero-glow-shift,0px),0)}
.hero__text{transform:translate3d(0,var(--hero-copy-shift,0px),0);opacity:var(--hero-copy-alpha,1)}
.hero__phones{transform:translate3d(0,var(--hero-stage-shift,0px),0);will-change:transform}
.hero__phones .device--left{transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0) rotate(-12deg) scale(.94)}
.hero__phones .device--center{transform:translate3d(calc(-50% + var(--hero-center-x,0px)),var(--hero-center-y,0px),0) rotate(1deg)}
.hero__phones .device--right{transform:translate3d(var(--hero-right-x,0px),var(--hero-right-y,0px),0) rotate(12deg) scale(.94)}
.hero__bottom b{display:inline-block;animation:scroll-indicator 2s ease-in-out infinite}
@keyframes scroll-indicator{0%,100%{transform:translateY(-4px);opacity:.5}50%{transform:translateY(3px);opacity:1}}
/* Lightweight continuity ribbon, not a static slide divider. */
.identity-strip{overflow:hidden;position:relative;isolation:isolate;background:linear-gradient(90deg,#11070d,#210710 50%,#11070d);border-block:1px solid rgba(239,42,71,.28)}
.identity-strip:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0e080d,transparent 17%,transparent 83%,#0e080d)}
.identity-strip>div.identity-strip__track{width:max-content;min-width:200%;max-width:none;display:flex;justify-content:space-around;gap:clamp(22px,3vw,60px);padding:22px 32px;white-space:nowrap;animation:signature-run 32s linear infinite;will-change:transform}
.identity-strip__track span{font:900 clamp(12px,1.5vw,20px)/1.6 Arial,sans-serif;letter-spacing:.17em;color:#ede3e9}
.identity-strip__track i{color:#fa3859;font:normal 18px/1.6 Arial,sans-serif}
@keyframes signature-run{to{transform:translateX(-50%)}}
/* Scroll-proportional philosophy: nodes light up in sequence. */
.philosophy{--philosophy-light:0;transition:background .4s ease}
.philosophy .philosophy__ambient{background-position:calc(50% + var(--orbit-bg-shift,0px)) center}
.orbit__circle{transform:rotate(var(--orbit-rotation,0deg));border-style:solid;border-color:rgba(242,59,89,.25);box-shadow:inset 0 0 30px #d61c3b1c,0 0 38px #d61c3b16;transition:border-color .8s ease}
.orbit__circle::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;border-top-color:#ff4362;border-right-color:rgba(255,72,97,.3);transform:rotate(25deg);filter:drop-shadow(0 0 9px #eb2446);pointer-events:none}
.orbit__item{transition:background .5s ease,border-color .5s ease,box-shadow .5s ease,filter .5s ease}
.orbit__item.is-lit{border-color:rgba(255,82,110,.95);background:linear-gradient(145deg,#451323,#1c0b15 90%);box-shadow:0 0 38px #e627475a,0 12px 33px #000b;filter:brightness(1.16)}
.orbit__item--three:not(.is-lit){background:linear-gradient(145deg,#1e121b,#0a0b10 90%);border-color:#673041;box-shadow:0 10px 25px #000b,0 0 17px #aa284021}
/* The entire product section is one shot with an unbroken background.
   The phone stays on-screen while its real capture morphs into the next chapter. */
.experience-journey{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(165deg,#08080b 0%,#13080e 32%,#0a0a0e 65%,#13080d 87%,#07080a 100%)}
.journey__wash{position:absolute;z-index:-1;inset:0;pointer-events:none;background:
 radial-gradient(ellipse 40% 27% at 6% 16%,rgba(221,24,56,.10),transparent),
 radial-gradient(ellipse 40% 30% at 91% 49%,rgba(199,18,53,.17),transparent),
 radial-gradient(ellipse 46% 23% at 8% 82%,rgba(149,12,43,.14),transparent),
 url('assets/gym-plates.webp') no-repeat right 22% / min(78vw,1020px) auto;opacity:.8}
.journey__wash::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,#08080e 30%,#08080e 65%,transparent);opacity:.8}
.journey__intro{padding-block:clamp(95px,10vw,156px) 55px;position:relative}
.journey__intro-grid{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:70px}
.journey__intro .body-copy{max-width:450px;margin-bottom:10px}
.journey__layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:start;gap:clamp(35px,6vw,96px);position:relative}
.journey__visual-frame{position:sticky;top:92px;height:calc(100svh - 108px);max-height:790px;min-height:570px;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0}
.journey__scene{position:relative;flex:1;max-height:690px;isolation:isolate;--scene-x:0px;--scene-y:0px}
.journey__scene:before{content:"";position:absolute;inset:7% 3%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at center,rgba(211,17,49,.3),transparent 63%);filter:blur(30px);transform:translate3d(var(--scene-x),var(--scene-y),0);transition:background .6s}
.journey__aura{position:absolute;left:14%;top:10%;width:66%;height:70%;border:1px solid rgba(235,41,76,.26);border-radius:50%;transform:rotate(-25deg)}
.journey__ring{position:absolute;z-index:-2;left:12%;top:10%;width:76%;height:72%;border:1px solid rgba(245,60,86,.08);border-radius:50%;transform:rotate(28deg)}
.journey__ring--two{left:7%;top:16%;transform:rotate(-32deg);border-color:rgba(255,255,255,.05)}
.journey__outline{position:absolute;z-index:-1;top:5%;left:4%;font:italic 900 clamp(135px,16vw,280px)/1 var(--latin);letter-spacing:-.08em;color:rgba(255,255,255,.045);transition:color .55s}
.journey-phone{position:absolute;top:8%;left:50%;width:44%;max-width:300px;z-index:2;opacity:0;pointer-events:none;transform:translate3d(-38%,43px,0) rotate(18deg) scale(.90);filter:brightness(.65);transition:transform .9s var(--ease-cinema),opacity .6s var(--ease-soft),filter .7s;backface-visibility:hidden;will-change:transform,opacity}
.journey-phone img{width:100%}
.journey-phone--home{width:39%;left:22%;top:16%;z-index:1}
.journey-phone--record{z-index:3}
.journey-phone--analytics,.journey-phone--battle{z-index:4}
.journey__scene[data-current="record"] .journey-phone--home{opacity:.78;transform:translate3d(-42%,21px,0) rotate(-13deg) scale(.9);filter:brightness(.74)}
.journey__scene[data-current="record"] .journey-phone--record{opacity:1;transform:translate3d(-22%,-4px,0) rotate(6deg) scale(1);filter:brightness(1)}
.journey__scene[data-current="analysis"] .journey-phone--home,.journey__scene[data-current="analysis"] .journey-phone--record{opacity:0;transform:translate3d(-80%,65px,0) rotate(-18deg) scale(.85)}
.journey__scene[data-current="analysis"] .journey-phone--analytics{opacity:1;transform:translate3d(-50%,-2px,0) rotate(-4deg) scale(1);filter:brightness(1)}
.journey__scene[data-current="battle"] .journey-phone--home,.journey__scene[data-current="battle"] .journey-phone--record,.journey__scene[data-current="battle"] .journey-phone--analytics{opacity:0;transform:translate3d(-85%,62px,0) rotate(-18deg) scale(.85)}
.journey__scene[data-current="battle"] .journey-phone--battle{opacity:1;transform:translate3d(-50%,-5px,0) rotate(5deg) scale(1);filter:brightness(1)}
.journey__scene-foot{position:absolute;bottom:1%;left:3%;right:3%;padding-top:17px;border-top:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c2b6bf;font:750 10px/1.3 Arial,sans-serif;letter-spacing:.16em}
.journey__control{display:flex;gap:3px;border-top:1px solid rgba(255,255,255,.12);margin:4px 0 10px}
.journey__dot{flex:1;min-height:49px;text-align:left;display:flex;align-items:center;gap:9px;border:0;border-top:2px solid transparent;background:transparent;color:#7d7b84;cursor:pointer;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.10em;padding:15px 8px 10px;transition:color .3s,border-color .3s,background .3s}
.journey__dot span{font-size:10px;color:#ae5262}
.journey__dot:hover{color:white;background:rgba(255,255,255,.04)}
.journey__dot.is-current{border-top-color:#ff405c;color:#fff}
.journey__narrative{min-width:0;position:relative}
.journey__step{min-height:78svh;min-height:max(610px,78svh);display:flex;align-items:center;scroll-margin-top:95px;opacity:.48;transition:opacity .5s ease}
.journey__step.is-current{opacity:1}
.journey__step-inner{border-left:1px solid rgba(255,255,255,.12);padding:32px 0 32px clamp(24px,3vw,45px);position:relative;transition:border-color .5s ease,transform .6s var(--ease-soft)}
.journey__step.is-current .journey__step-inner{border-left-color:#e63653}
.journey__step-inner:before{content:"";position:absolute;left:-2px;top:32px;width:3px;height:0;background:#ff3956;box-shadow:0 0 22px #ff39567d;transition:height .6s var(--ease-cinema)}
.journey__step.is-current .journey__step-inner:before{height:75px}
.journey__eyebrow{display:flex;align-items:center;gap:16px;color:#caabb5;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.16em}
.journey__step-number{display:inline-grid;place-items:center;min-width:32px;height:30px;border:1px solid rgba(239,54,80,.51);color:#ff5d72;font-size:11px}
.journey__step h3{font-size:clamp(38px,4.3vw,64px);letter-spacing:-.07em;line-height:1.36;font-weight:900;margin-top:25px}
.journey__lead{font-size:clamp(17px,1.4vw,21px);font-weight:780;margin-top:23px;letter-spacing:-.04em}
.journey__step .body-copy{max-width:470px;line-height:2.08;margin-top:20px;font-size:14px;color:#bbb0b9}
.journey__notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.journey__notes span{border:1px solid rgba(241,69,95,.3);background:rgba(84,15,32,.35);padding:10px 12px;color:#dad2d9;font-size:11px}
.journey__modes{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.journey__modes div{background:linear-gradient(145deg,rgba(78,19,33,.75),rgba(29,12,20,.65));padding:18px;min-width:170px;border:1px solid rgba(238,48,77,.34)}
.journey__modes small{display:block;color:#fe7082;font:750 9px/1.6 Arial,sans-serif;letter-spacing:.12em}
.journey__modes strong{display:block;font-size:20px;letter-spacing:-.05em;margin-top:9px}
.journey__endnote{border-top:1px solid rgba(255,255,255,.13);display:flex;align-items:center;gap:clamp(12px,2vw,36px);color:#f2e8ee;letter-spacing:.18em;font:900 clamp(12px,1.2vw,17px)/1.5 Arial,sans-serif;padding-block:50px 95px}
.journey__endnote span:nth-child(even){color:#ed4360}
/* As the journey ends, the founder's story is revealed instead of the next slide appearing abruptly. */
.mission{margin-top:-1px}
.mission__content{position:relative}
.mission__content:after{content:"";display:block;height:2px;width:70px;background:linear-gradient(90deg,#f34260,transparent);margin-top:36px;transform-origin:left;transform:scaleX(var(--mission-line,0));transition:transform .4s}
.download__brand{letter-spacing:.2em}
/* Animation is clearly visible on load; image is the real user screenshot. */
@media(prefers-reduced-motion:no-preference){
 .hero__text{animation:hero-text-in 1.1s var(--ease-cinema) both}
 .hero__phones{animation:hero-scene-in 1.35s var(--ease-cinema) .15s both}
 @keyframes hero-text-in{from{opacity:0;filter:blur(8px);translate:0 28px}to{opacity:1;filter:blur(0);translate:0 0}}
 @keyframes hero-scene-in{from{opacity:0;filter:blur(10px);translate:0 50px}to{opacity:1;filter:blur(0);translate:0 0}}
}
/* Tablet: avoid very tall isolated columns; retain the pinned story. */
@media(max-width:1100px){
 .journey__intro-grid{grid-template-columns:1fr .8fr;gap:35px}
 .journey__layout{gap:15px}
 .journey__visual-frame{height:calc(100svh - 90px);min-height:550px}
 .journey-phone{width:49%}
 .journey-phone--home{width:43%}
 .journey__step h3{font-size:clamp(34px,4vw,54px)}
 .journey__step-inner{padding-left:23px}
}
/* Mobile retains scroll storytelling: phone sticks at the top while the story moves below. */
@media(max-width:760px){
 html{scroll-padding-top:70px}
 .hero__photo{transform:translate3d(0,var(--hero-photo,0px),0) scale(1.02)}
 .hero__phones .device--left{transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0) rotate(-12deg) scale(.94)}
 .hero__phones .device--right{transform:translate3d(var(--hero-right-x,0px),var(--hero-right-y,0px),0) rotate(12deg) scale(.94)}
 .journey__intro{padding-block:100px 35px}
 .journey__intro-grid{display:block}
 .journey__intro .body-copy{margin-top:18px}
 .journey__layout{display:block}
 .journey__visual-frame{height:clamp(320px,49svh,460px);min-height:0;max-height:none;top:65px;z-index:12;background:linear-gradient(180deg,#0e0a0f 0%,rgba(14,9,14,.99) 80%,rgba(14,9,14,.87) 93%,transparent 100%);padding-top:5px}
 .journey__scene{max-height:none;min-height:0}
 .journey__scene:before{inset:8% 12%}
 .journey__outline{top:8%;font-size:115px}
 .journey-phone{width:clamp(118px,38%,185px);top:4%;padding:4px;border-radius:25px;transition-duration:.7s}
 .journey-phone img{border-radius:21px}
 .journey-phone:before{height:9px;top:7px}
 .journey-phone--home{width:clamp(110px,35%,166px);top:12%;left:25%}
 .journey__scene[data-current="record"] .journey-phone--home{transform:translate3d(-42%,8px,0) rotate(-11deg) scale(.91)}
 .journey__scene[data-current="record"] .journey-phone--record{transform:translate3d(-22%,-5px,0) rotate(6deg)}
 .journey__scene[data-current="analysis"] .journey-phone--analytics,.journey__scene[data-current="battle"] .journey-phone--battle{transform:translate3d(-50%,-5px,0) rotate(-3deg)}
 .journey__scene-foot{font-size:8px;padding-top:9px;bottom:0}
 .journey__control{margin:0;gap:1px;border-top:none}
 .journey__dot{min-height:38px;padding:9px 5px 7px;font-size:9px}
 .journey__dot span{font-size:9px}
 .journey__narrative{z-index:1}
 .journey__step{min-height:max(480px,70svh);align-items:flex-start;opacity:.55;scroll-margin-top:calc(49svh + 80px);padding-top:22px}
 .journey__step-inner{padding:20px 0 28px 24px}
 .journey__step h3{font-size:clamp(33px,8.4vw,46px);margin-top:17px}
 .journey__eyebrow{font-size:9px;gap:10px}
 .journey__lead{font-size:16px;margin-top:15px}
 .journey__step .body-copy{font-size:12px;line-height:2;margin-top:13px}
 .journey__notes{gap:6px;margin-top:17px}
 .journey__notes span{font-size:10px;padding:7px 9px}
 .journey__modes{gap:8px;margin-top:16px}
 .journey__modes div{padding:12px;min-width:130px}
 .journey__modes strong{font-size:17px}
 .journey__endnote{padding-block:20px 70px;justify-content:space-between;gap:6px;font-size:10px;letter-spacing:.08em}
 .orbit__item.is-lit{box-shadow:0 0 20px #e6274752,0 7px 19px #000b}
}
@media(max-width:390px){
 .journey__visual-frame{height:clamp(290px,43svh,370px)}
 .journey__step{scroll-margin-top:350px;min-height:560px}
 .journey__dot{font-size:8px}
 .journey__step h3{font-size:32px}
 .journey__modes div{min-width:110px}
}
@media(prefers-reduced-motion:reduce){
 .identity-strip>div.identity-strip__track{animation:none}
 .hero__bottom b{animation:none}
 .hero__text,.hero__phones,.hero__photo,.hero__glow{transform:none!important;animation:none!important;opacity:1!important;filter:none!important}
 .journey-phone,.orbit__item,.orbit__circle,.journey__step,.journey__step-inner{transition:none!important}
 .journey__scene[data-current="record"] .journey-phone--record{transform:translateX(-22%) rotate(6deg)!important}
 .journey__scene[data-current="record"] .journey-phone--home{transform:translateX(-42%) rotate(-11deg)!important}
 .journey__scene[data-current="analysis"] .journey-phone--analytics,.journey__scene[data-current="battle"] .journey-phone--battle{transform:translateX(-50%)!important}
}
/* JS-free and reduced-motion fallback: inactive prose is never dimmed. */
.journey__step{opacity:1}
.js .journey__step:not(.is-current){opacity:.50}
@media(max-width:760px){.js .journey__step:not(.is-current){opacity:.60}}
/* Final art direction: the opening never flashes empty during its first frame. */
@media(prefers-reduced-motion:no-preference){
 .hero__text{animation-duration:.8s}
 .hero__phones{animation-duration:1s;animation-delay:.06s}
 @keyframes hero-text-in{from{opacity:.35;filter:blur(3px);translate:0 20px}to{opacity:1;filter:blur(0);translate:0 0}}
 @keyframes hero-scene-in{from{opacity:.38;filter:blur(4px);translate:0 28px}to{opacity:1;filter:blur(0);translate:0 0}}
}
@media(max-width:760px){
 .journey__visual-frame{
   background:linear-gradient(180deg,#0e090e 0%,#0e090e 94%,rgba(14,9,14,.98) 100%);
   box-shadow:0 19px 25px -18px rgba(0,0,0,.95);
   border-bottom:1px solid rgba(255,255,255,.08);
 }
 .journey__control{position:relative;z-index:2;background:#0e090e}
}
