/* AI4Trening V22.00 — Executive Polish + Conversion Precision
   Final landing-page refinement: rhythm, consistency, accessibility and mobile performance. */

:root{
  --fx22-radius-lg:30px;
  --fx22-radius-md:22px;
  --fx22-radius-sm:16px;
  --fx22-border:rgba(255,255,255,.085);
  --fx22-muted:#a6b1a9;
  --fx22-focus:#d8ff78;
}

/* Typographic consistency */
.hero h1,
.fx17-head h2,
.fx18-head h2,
.fx19-head h2,
.fx20-head h2,
.fx21-head h2,
.section-head h2,
.combo-copy h2,
.cta h2{
  text-wrap:balance;
  letter-spacing:-.058em!important;
}
.hero-copy,
.fx17-head p,
.fx18-head p,
.fx19-head p,
.fx20-head p,
.fx21-head p,
.section-head p{
  max-width:68ch;
  color:var(--fx22-muted)!important;
}

/* Vertical rhythm */
.hero{padding-bottom:70px!important}
.fx17,.fx18,.fx19,.fx20,.fx21,section:not(.hero){scroll-margin-top:90px}
.fx17,.fx18,.fx19,.fx20,.fx21{padding-top:76px!important;padding-bottom:76px!important}
.section-head{margin-bottom:30px!important}
.disciplines{padding-top:70px!important}

/* Unified surface language */
.product,
.fx17-week,.fx17-coach,.fx17-onboarding,
.fx18-before,.fx18-after,.fx18-dashboard,.fx18-receipt,.fx18-goal,.fx18-membership,
.fx19-device,.fx19-close,
.fx20-trust-card,.fx20-for,.fx20-confidence,.fx20-faq,.fx20-launch,
.fx21-visual,.fx21-proof-row,
.combo,.price,.cta{
  border-color:var(--fx22-border)!important;
}
.product,.fx17-week,.fx17-coach,.fx18-before,.fx18-after,.fx18-dashboard,.fx18-receipt,
.fx19-device,.fx20-trust-card,.fx21-visual,.price{
  border-radius:var(--fx22-radius-lg)!important;
}

/* Stronger, more consistent CTA hierarchy */
.btn-primary,
.fx17-start,
.fx18-join,
.fx19-close a,
.fx20-launch-cta,
.fx20-sticky a{
  background:linear-gradient(180deg,#d9ff7d 0%,#b7ff00 58%,#9fe300 100%)!important;
  color:#071008!important;
  border:0!important;
  font-weight:950!important;
  box-shadow:inset 0 1px rgba(255,255,255,.5),0 13px 32px rgba(183,255,0,.13)!important;
}
.btn-primary:active,
.fx17-start:active,
.fx18-join:active,
.fx19-close a:active,
.fx20-launch-cta:active,
.fx20-sticky a:active{
  transform:translateY(1px)!important;
}

/* Focus + keyboard accessibility */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[role="tab"]:focus-visible{
  outline:3px solid var(--fx22-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(183,255,0,.13)!important;
}
summary{outline:none}

/* Header precision */
header{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
header.fx22-scrolled{
  background:rgba(4,10,7,.92)!important;
  border-bottom-color:rgba(255,255,255,.10)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.links a{
  position:relative;
  padding:24px 0;
}
.links a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:15px;
  height:2px;border-radius:999px;
  background:#b7ff00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .16s ease;
}
.links a[aria-current="true"]{color:#fff!important}
.links a[aria-current="true"]::after{transform:scaleX(1)}

/* Media robustness */
.fx21-visual,
.trust-photo,
.product,
.fx19-device{contain:layout paint}
.fx21-visual img,
.trust-photo img{
  background:linear-gradient(135deg,#132017,#07100a);
}
.fx22-image-fallback{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(70% 80% at 100% 0,rgba(183,255,0,.10),transparent 65%),
    linear-gradient(145deg,#122017,#07100a)!important;
  color:#d7ff78!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}

/* Reduce repetitive visual density */
.fx18-proof-strip div,
.fx20-for-grid div,
.fx17-metrics div,
.fx18-metric-row div,
.fx21-data div{
  border-color:rgba(255,255,255,.065)!important;
  background:rgba(255,255,255,.018)!important;
}
.fx20-faq details{background:rgba(255,255,255,.016)!important}

/* Tap-target pass */
.fx17-sport-tabs button,
.fx17-days button,
.fx21-selector button,
.fx20-faq summary,
.header-actions .btn,
.hero-actions .btn{
  min-height:44px;
}

/* Fine mobile readability */
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 30px))!important}
  .hero{padding-top:48px!important;padding-bottom:42px!important}
  .fx17,.fx18,.fx19,.fx20,.fx21{padding-top:52px!important;padding-bottom:52px!important}
  .hero h1{font-size:clamp(47px,14vw,64px)!important}
  .hero-copy{font-size:17px!important}
  .fx17-head h2,.fx18-head h2,.fx19-head h2,.fx20-head h2,.fx21-head h2{line-height:.97!important}
  .fx17-week,.fx17-coach,.fx18-dashboard,.fx18-receipt,.fx19-device,.fx20-trust-card,.fx21-visual{
    border-radius:24px!important;
  }
  .fx20-sticky{
    width:calc(100% - 22px)!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
  .fx20-sticky a{min-height:46px!important}
  .fx21-visual{min-height:490px!important}
}

/* Ultra-small iPhone / compact Android */
@media(max-width:370px){
  .wrap{width:min(var(--max),calc(100% - 24px))!important}
  .hero h1{font-size:43px!important}
  .hero-copy{font-size:16px!important}
  .fx17-head h2,.fx18-head h2,.fx19-head h2,.fx20-head h2,.fx21-head h2{font-size:38px!important}
  .fx17-week,.fx17-coach,.fx18-dashboard,.fx18-receipt,.fx20-trust-card,.fx21-proof-row{padding:17px!important}
  .fx19-device{min-height:485px!important}
  .fx21-caption h3{font-size:35px!important}
  .fx20-sticky>div small{display:none}
}

/* Tablet */
@media(min-width:641px) and (max-width:1024px){
  .wrap{width:min(var(--max),calc(100% - 44px))!important}
  .hero-grid{gap:38px!important}
  .fx17-stage,.fx21-stage{gap:12px!important}
}

/* Performance budget on smaller/mobile devices: reduce expensive effects */
@media(max-width:820px){
  header,
  .fx20-sticky,
  .fx21-topline span,
  .fx21-topline b,
  .fx21-data div{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .product,
  .fx17-week,.fx17-coach,
  .fx18-dashboard,.fx18-receipt,
  .fx19-device,
  .fx20-trust-card,.fx20-for,.fx20-confidence,.fx20-faq,.fx20-launch,
  .fx21-visual,.fx21-proof-row{
    box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
  }
}

/* High contrast and forced colors */
@media(prefers-contrast:more){
  .product,.fx17-week,.fx17-coach,.fx18-dashboard,.fx18-receipt,.fx19-device,
  .fx20-trust-card,.fx20-for,.fx20-confidence,.fx20-faq,.fx21-visual{
    border-color:rgba(255,255,255,.22)!important;
  }
  .hero-copy,.fx17-head p,.fx18-head p,.fx19-head p,.fx20-head p,.fx21-head p{color:#d1d8d3!important}
}
@media(forced-colors:active){
  .btn-primary,.fx17-start,.fx18-join,.fx19-close a,.fx20-launch-cta,.fx20-sticky a{
    forced-color-adjust:auto!important;
    border:2px solid ButtonText!important;
  }
}

/* Motion discipline */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
