
:root{
  --bg:#08080c;
  --bg-2:#0e0e14;
  --surface:#12121a;
  --surface-2:#181824;
  --text:#f8f7fb;
  --muted:#aaa8b6;
  --line:rgba(255,255,255,.09);
  --purple:#7146ff;
  --purple-2:#a78bfa;
  --mint:#31d0aa;
  --orange:#ff794a;
  --white:#fff;
  --shadow:0 30px 90px rgba(0,0,0,.42);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;
  background:
    radial-gradient(700px 520px at 12% 10%, rgba(113,70,255,.16), transparent 65%),
    radial-gradient(680px 500px at 90% 24%, rgba(49,208,170,.09), transparent 64%),
    linear-gradient(#08080c,#09090e);
}
a{color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.announcement{
  padding:9px 16px;text-align:center;background:#101019;border-bottom:1px solid var(--line);
  color:#d8d5e5;font-size:13px;font-weight:700;letter-spacing:.01em
}
.announcement span{color:#bba8ff}
.nav{
  position:sticky;top:0;z-index:100;background:rgba(8,8,12,.72);
  border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(18px)
}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:-.035em;font-size:19px}
.brand img{width:40px;height:40px}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{text-decoration:none;color:#c1bfca;font-size:14px;font-weight:750}
.nav-links a:hover{color:#fff}
.nav-cta{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  background:#fff;color:#0b0b10!important;padding:12px 16px;border-radius:14px;font-weight:900!important
}
.menu-btn{display:none;background:transparent;border:0;color:white;width:42px;height:42px;border-radius:12px}
.hero{
  position:relative;min-height:780px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)
}
.hero:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,8,12,.98) 0%,rgba(8,8,12,.90) 42%,rgba(8,8,12,.33) 72%,rgba(8,8,12,.68) 100%),
    radial-gradient(circle at 74% 44%,rgba(113,70,255,.28),transparent 29%),
    linear-gradient(135deg,#0b0b11,#10101a 55%,#171326);
}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center;padding:86px 0 80px}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(167,139,250,.28);
  background:rgba(113,70,255,.10);border-radius:999px;color:#c9baff;font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.11em
}
.eyebrow .dot{width:7px;height:7px;border-radius:999px;background:#7d54ff;box-shadow:0 0 0 5px rgba(113,70,255,.12)}
.hero h1{
  font-size:clamp(54px,7.2vw,98px);line-height:.91;letter-spacing:-.066em;margin:22px 0 24px;max-width:720px
}
.hero h1 .gradient{
  background:linear-gradient(100deg,#fff 15%,#c8b8ff 60%,#80ead0);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-copy{font-size:19px;line-height:1.7;color:#b7b4c2;max-width:650px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  min-height:52px;padding:0 19px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  text-decoration:none;font-weight:900;border:1px solid transparent;transition:.2s transform,.2s background,.2s border-color
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#7c52ff,#6337ec);box-shadow:0 12px 38px rgba(113,70,255,.28)}
.btn-ghost{border-color:var(--line);background:rgba(255,255,255,.04);color:#efedf5}
.hero-proof{display:flex;gap:24px;align-items:center;margin-top:34px;color:#8f8d9b;font-size:13px}
.proof-item strong{display:block;color:#fff;font-size:16px;margin-bottom:2px}
.hero-visual{position:relative;min-height:610px}
.glow{
  position:absolute;width:520px;height:520px;border-radius:50%;right:-80px;top:42px;
  background:radial-gradient(circle,rgba(113,70,255,.38),rgba(113,70,255,.06) 46%,transparent 70%);filter:blur(12px)
}
.phone{
  position:absolute;background:#050508;border:1px solid rgba(255,255,255,.13);padding:11px;border-radius:38px;
  box-shadow:0 40px 110px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset
}
.phone img{border-radius:29px;width:100%;height:100%;object-fit:cover}
.phone-main{width:320px;right:58px;top:12px;transform:rotate(4.7deg);z-index:3}
.phone-back{width:255px;left:24px;top:178px;transform:rotate(-8deg);opacity:.94;z-index:2}
.float-card{
  position:absolute;z-index:5;background:rgba(22,22,32,.88);border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(16px);box-shadow:0 20px 55px rgba(0,0,0,.34);border-radius:18px;padding:15px 17px
}
.float-card .label{font-size:11px;color:#9e9bab;text-transform:uppercase;letter-spacing:.08em;font-weight:850}
.float-card .value{font-size:22px;font-weight:950;margin-top:3px}
.float-a{left:8px;top:74px}.float-b{right:0;bottom:55px}
.trust-strip{border-bottom:1px solid var(--line);background:#0b0b11}
.trust-grid{min-height:92px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.trust-item{text-align:center;padding:20px;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font-size:15px}
.trust-item span{display:block;color:#858391;font-size:12px;margin-top:5px}
.section{padding:116px 0}
.section-sm{padding:80px 0}
.section-head{max-width:760px;margin-bottom:48px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-kicker{color:#9f86ff;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}
.section h2,.section-sm h2{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 18px}
.section-head p{color:var(--muted);font-size:18px;line-height:1.7;margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{
  padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  min-height:270px;position:relative;overflow:hidden
}
.feature-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(113,70,255,.08);right:-42px;bottom:-52px}
.icon{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#191723;color:#b9a7ff;border:1px solid rgba(167,139,250,.16)
}
.feature-card h3{font-size:22px;letter-spacing:-.03em;margin:48px 0 10px}
.feature-card p{color:#9996a4;line-height:1.7;margin:0}
.showcase{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.showcase.reverse{grid-template-columns:1.12fr .88fr}
.showcase.reverse .showcase-copy{order:2}.showcase.reverse .device-stage{order:1}
.showcase-copy h2{font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.055em;margin:12px 0 18px}
.showcase-copy p{font-size:18px;line-height:1.72;color:var(--muted)}
.checks{display:grid;gap:14px;margin-top:25px}
.check{display:flex;gap:12px;align-items:flex-start;color:#cac7d2}
.check b{color:#fff}
.check .tick{flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:rgba(49,208,170,.12);display:grid;place-items:center;color:#56dfbf;font-size:13px}
.device-stage{
  min-height:660px;border:1px solid var(--line);border-radius:34px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%,rgba(113,70,255,.22),transparent 34%),
    radial-gradient(circle at 90% 80%,rgba(49,208,170,.11),transparent 36%),
    linear-gradient(145deg,#11111a,#0b0b10)
}
.device-stage .phone{width:330px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-2deg)}
.device-stage .mini{
  position:absolute;padding:15px 18px;border-radius:18px;background:rgba(18,18,26,.92);border:1px solid var(--line);
  box-shadow:var(--shadow);font-size:13px;color:#b5b2c0
}
.device-stage .mini strong{display:block;color:#fff;font-size:17px;margin-top:4px}
.mini.top{top:38px;right:34px}.mini.bottom{bottom:42px;left:30px}
.ai-band{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0f0e17,#171126 50%,#0c1515)
}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:105px 0}
.chat{
  border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:28px;padding:22px;box-shadow:var(--shadow)
}
.chat-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ai-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#764cff,#4e2fd8);display:grid;place-items:center;font-weight:900}
.chat-head strong{display:block}.chat-head span{color:#858291;font-size:12px}
.bubble{max-width:85%;padding:14px 16px;border-radius:18px;margin-top:16px;line-height:1.55;font-size:14px}
.bubble.ai{background:#1c1927;border:1px solid rgba(167,139,250,.16)}
.bubble.me{background:#7349f6;margin-left:auto}
.chat-input{margin-top:20px;border:1px solid var(--line);border-radius:15px;padding:13px 15px;color:#7e7b89}
.goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.goal{
  min-height:210px;border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(113,70,255,.08),rgba(255,255,255,.02))
}
.goal:nth-child(2){background:linear-gradient(180deg,rgba(49,208,170,.08),rgba(255,255,255,.02))}
.goal:nth-child(3){background:linear-gradient(180deg,rgba(255,121,74,.08),rgba(255,255,255,.02))}
.goal h3{font-size:21px;margin:0 0 8px}.goal p{font-size:13px;line-height:1.6;color:#8f8c99;margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{border-top:1px solid var(--line);padding-top:18px}
.step-num{font-size:12px;color:#8b6cff;font-weight:900;letter-spacing:.08em}
.step h3{font-size:21px;margin:18px 0 8px}.step p{color:#8f8c99;font-size:14px;line-height:1.65;margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-card{
  text-decoration:none;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#101018;transition:.2s transform,.2s border-color
}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(167,139,250,.28)}
.blog-art{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,#171324,#10101a)}
.blog-art:before{content:"";position:absolute;width:180px;height:180px;border-radius:45px;transform:rotate(28deg);background:linear-gradient(135deg,#7349f6,#9a7cff);right:-45px;top:10px;opacity:.8}
.blog-art:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:#31d0aa;left:32px;bottom:-42px;opacity:.55;filter:blur(2px)}
.blog-card:nth-child(2) .blog-art:before{background:linear-gradient(135deg,#31d0aa,#208e79)}
.blog-card:nth-child(3) .blog-art:before{background:linear-gradient(135deg,#ff794a,#ffae78)}
.blog-content{padding:22px}
.blog-meta{font-size:11px;color:#9f86ff;font-weight:900;text-transform:uppercase;letter-spacing:.10em}
.blog-content h3{font-size:21px;line-height:1.25;letter-spacing:-.028em;margin:10px 0}
.blog-content p{color:#8d8a97;line-height:1.65;font-size:14px;margin:0}
.faq{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;background:none;border:0;color:#fff;text-align:left;padding:21px 0;display:flex;justify-content:space-between;gap:22px;
  font-size:17px;font-weight:850;cursor:pointer
}
.faq-q span:last-child{color:#8c6dff}
.faq-a{display:none;color:#918e9b;line-height:1.7;padding:0 0 20px}
.faq-item.open .faq-a{display:block}
.cta{
  margin:0 auto 105px;position:relative;overflow:hidden;border:1px solid rgba(167,139,250,.20);border-radius:34px;
  background:
    radial-gradient(circle at 80% 20%,rgba(49,208,170,.15),transparent 26%),
    radial-gradient(circle at 15% 40%,rgba(113,70,255,.30),transparent 34%),
    #111019;padding:70px
}
.cta h2{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.06em;margin:0 0 16px;max-width:780px}
.cta p{color:#aaa7b4;max-width:650px;line-height:1.7;font-size:18px}
.footer{border-top:1px solid var(--line);padding:60px 0 36px;background:#08080c}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:38px}
.footer-brand p{color:#777582;max-width:320px;line-height:1.6;font-size:13px}
.footer h4{font-size:13px;margin:0 0 15px;color:#fff}
.footer a{display:block;text-decoration:none;color:#85828f;font-size:13px;margin:11px 0}
.footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:35px;margin-top:35px;border-top:1px solid var(--line);color:#6f6c77;font-size:12px}
.page-hero{padding:100px 0 54px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 25% 20%,rgba(113,70,255,.15),transparent 34%)}
.page-hero h1{font-size:clamp(48px,7vw,78px);letter-spacing:-.06em;line-height:.98;margin:15px 0 18px}
.page-hero p{max-width:780px;color:#a19eab;line-height:1.7;font-size:18px}
.content{padding:70px 0 110px}
.prose{max-width:860px}
.prose h2{font-size:31px;letter-spacing:-.04em;margin:42px 0 13px}
.prose h3{font-size:21px;margin:28px 0 10px}
.prose p,.prose li{color:#9c99a6;line-height:1.8;font-size:16px}
.prose a{color:#baa8ff}
.prose .panel{border:1px solid var(--line);background:#101018;padding:25px;border-radius:22px;margin:26px 0}
.article-meta{color:#8e73ff;text-transform:uppercase;font-weight:900;letter-spacing:.11em;font-size:11px}
.article-title{font-size:clamp(46px,7vw,78px)!important;max-width:940px}
.article-lead{font-size:20px!important}
.article-wrap{max-width:860px}
.article-wrap h2{font-size:34px}
.article-wrap blockquote{margin:28px 0;border-left:3px solid #764cff;padding:6px 0 6px 20px;color:#c8c5d0}
@media (max-width:960px){
  .nav-links{display:none}.menu-btn{display:block}
  .nav-links.open{display:flex;position:absolute;left:20px;right:20px;top:72px;flex-direction:column;align-items:stretch;background:#12121a;border:1px solid var(--line);border-radius:18px;padding:15px}
  .nav-links.open a{padding:10px 8px}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:70px 0}.hero-visual{min-height:600px}
  .showcase,.showcase.reverse,.ai-grid,.faq{grid-template-columns:1fr;gap:44px}
  .showcase.reverse .showcase-copy,.showcase.reverse .device-stage{order:initial}
  .feature-grid,.blog-grid{grid-template-columns:1fr 1fr}
  .goal-grid,.steps{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container{width:min(100% - 26px,1180px)}
  .announcement{font-size:11px}
  .nav-inner{height:68px}.brand img{width:36px;height:36px}
  .hero-grid{padding:54px 0 48px}.hero h1{font-size:52px}.hero-copy{font-size:16px}
  .hero-proof{gap:15px;flex-wrap:wrap}.hero-visual{min-height:520px}
  .phone-main{width:245px;right:15px}.phone-back{width:190px;left:7px;top:185px}
  .float-a{left:0;top:62px}.float-b{right:0;bottom:30px}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:84px 0}.section-sm{padding:64px 0}
  .feature-grid,.blog-grid,.goal-grid,.steps{grid-template-columns:1fr}
  .device-stage{min-height:560px}.device-stage .phone{width:260px}
  .ai-grid{padding:76px 0}.cta{padding:45px 24px;margin-bottom:75px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}


/* ===== FitNova visual upgrade v3 ===== */
.brand img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:transparent;padding:2px}
.hero{
  background-image:
    linear-gradient(90deg,rgba(8,8,12,.98) 0%,rgba(8,8,12,.93) 39%,rgba(8,8,12,.48) 67%,rgba(8,8,12,.80) 100%),
    linear-gradient(180deg,rgba(8,8,12,.03),rgba(8,8,12,.68)),
    url('/assets/hero-fitness.webp');
  background-size:cover;background-position:center 32%;
}
.hero:before{
  background:
    radial-gradient(circle at 72% 40%,rgba(113,70,255,.34),transparent 30%),
    radial-gradient(circle at 92% 68%,rgba(49,208,170,.14),transparent 26%);
}
.hero-visual{min-height:630px}
.hero-visual:before{
  content:"";position:absolute;inset:60px 0 26px 38px;border-radius:36px;
  background:linear-gradient(180deg,rgba(6,6,10,.04),rgba(6,6,10,.64));
  border:1px solid rgba(255,255,255,.08);box-shadow:0 35px 100px rgba(0,0,0,.38)
}
.hero .phone-main{right:18px;top:30px}
.hero .phone-back{left:58px;top:220px}

.device-stage.photo-workout{
  background-image:linear-gradient(120deg,rgba(8,8,12,.08),rgba(8,8,12,.78)),url('/assets/workout-photo.webp');
  background-size:cover;background-position:center;
}
.device-stage.photo-nutrition{
  background-image:linear-gradient(120deg,rgba(8,8,12,.06),rgba(8,8,12,.75)),url('/assets/nutrition-photo.webp');
  background-size:cover;background-position:center;
}
.device-stage.photo-progress{
  background-image:linear-gradient(120deg,rgba(8,8,12,.08),rgba(8,8,12,.78)),url('/assets/progress-photo.webp');
  background-size:cover;background-position:center;
}
.device-stage.photo-workout .phone,
.device-stage.photo-nutrition .phone,
.device-stage.photo-progress .phone{
  left:68%;top:55%;width:285px;box-shadow:0 34px 90px rgba(0,0,0,.58)
}
.device-stage .photo-label{
  position:absolute;left:30px;top:32px;max-width:250px;padding:14px 16px;border-radius:16px;
  background:rgba(7,7,11,.70);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);
  color:#ddd9e7;font-size:13px;line-height:1.55;z-index:4
}
.device-stage .photo-label strong{display:block;color:#fff;font-size:19px;margin-bottom:4px}

.ai-grid-visual{display:grid;grid-template-columns:.94fr 1.06fr;gap:18px;align-items:stretch}
.coach-photo-card{
  min-height:560px;border-radius:28px;overflow:hidden;position:relative;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(8,8,12,.04),rgba(8,8,12,.67)),url('/assets/coach-photo.webp') center/cover;
  box-shadow:var(--shadow)
}
.coach-photo-card:after{
  content:"AI COACH";position:absolute;left:22px;bottom:22px;padding:8px 11px;border-radius:999px;
  background:rgba(8,8,12,.74);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:900;
  letter-spacing:.12em;color:#c6b5ff
}
.ai-grid .chat{align-self:center}

.blog-art{height:220px;background:#12121c!important}
.blog-art:before,.blog-art:after{display:none}
.blog-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.blog-card:hover .blog-art img{transform:scale(1.035)}
.blog-card:nth-child(1) .blog-art img{object-position:center 28%}
.blog-card:nth-child(2) .blog-art img{object-position:center 44%}
.blog-card:nth-child(3) .blog-art img{object-position:center 54%}

.page-hero{padding-top:132px}
.page-hero h1{margin-top:18px}

.goal{overflow:hidden;position:relative}
.goal:before{
  content:"";position:absolute;inset:0;opacity:.20;z-index:0;background-size:cover;background-position:center;
  transition:opacity .25s ease,transform .35s ease
}
.goal:nth-child(1):before{background-image:url('/assets/workout-photo.webp')}
.goal:nth-child(2):before{background-image:url('/assets/hero-fitness.webp')}
.goal:nth-child(3):before{background-image:url('/assets/progress-photo.webp')}
.goal:nth-child(4):before{background-image:url('/assets/coach-photo.webp')}
.goal:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,12,.08),rgba(8,8,12,.92));z-index:0}
.goal h3,.goal p{position:relative;z-index:1}
.goal:hover:before{opacity:.32;transform:scale(1.035)}

@media(max-width:960px){
  .ai-grid-visual{grid-template-columns:1fr}
  .coach-photo-card{min-height:430px}
  .device-stage.photo-workout .phone,.device-stage.photo-nutrition .phone,.device-stage.photo-progress .phone{left:67%;width:250px}
}
@media(max-width:640px){
  .hero{background-position:62% center}
  .hero-visual{min-height:525px}
  .hero-visual:before{inset:40px 0 18px 0}
  .hero .phone-main{right:4px;top:42px}
  .hero .phone-back{left:5px;top:225px}
  .device-stage.photo-workout .phone,.device-stage.photo-nutrition .phone,.device-stage.photo-progress .phone{left:64%;top:58%;width:220px}
  .device-stage .photo-label{left:18px;right:18px;top:18px;max-width:none}
  .page-hero{padding-top:110px}
}
