/* TOPFIT 28.08 UI/UX polish — desktop + mobile */
:root{--tf-purple:#d633ff;--tf-cyan:#00d4ff;--tf-bg:#0b0b12;--tf-line:rgba(255,255,255,.1)}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{overflow-x:hidden}
/* unified compact sticky header */
.tf-topbar{position:sticky!important;top:0;z-index:9998;background:rgba(11,11,18,.96)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,51,255,.22);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.tf-topbar .tf-wrap{min-height:68px!important;display:flex!important;align-items:center!important;gap:22px!important;max-width:1240px!important;margin:0 auto!important;padding:0 20px!important;box-sizing:border-box!important}
.tf-topbar .tf-logo{height:42px!important;width:auto!important;max-width:130px!important;object-fit:contain!important;display:block!important}
.tf-topbar .tf-toplinks{display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;flex:1!important;min-width:0!important;white-space:nowrap!important}
.tf-topbar .tf-toplinks a{color:#f4f4f6!important;font:700 13px 'PT Sans Caption',sans-serif!important;text-decoration:none!important;padding:24px 0!important;transition:.2s ease!important}
.tf-topbar .tf-toplinks a:hover,.tf-topbar .tf-toplinks a[aria-current="page"]{color:var(--tf-cyan)!important}
.tf-head-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.tf-head-phone{color:#fff!important;text-decoration:none!important;font:700 13px 'Roboto Condensed',sans-serif!important}
.tf-head-cta{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:999px;background:linear-gradient(90deg,var(--tf-purple),var(--tf-cyan));color:#fff!important;text-decoration:none!important;font:700 13px 'PT Sans Caption',sans-serif!important;box-shadow:0 0 18px rgba(214,51,255,.25)}
.tf-mobile-quick{display:none}
/* consistent tap/click targets */
.tf-btn,.tf-drawer-cta,.tf-home-trainers-telegram,.tf-home-trainers-secondary,.sticky-mobile-cta a,.ot-btn,.intro-cta,.intro-secondary{min-height:44px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
/* home hero/intro CTA */
.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}
.intro-cta,.intro-secondary{padding:0 20px;border-radius:999px;text-decoration:none!important;font:700 14px 'PT Sans Caption',sans-serif!important}
.intro-cta{background:linear-gradient(90deg,var(--tf-purple),var(--tf-cyan));color:#fff!important;box-shadow:0 0 18px rgba(214,51,255,.25)}
.intro-secondary{border:1px solid rgba(0,212,255,.55);color:#fff!important;background:rgba(255,255,255,.03)}
/* readable copy */
.tf-page p,.tf-section p,.topfit-intro p,.contacts_wraper p{line-height:1.65}
/* Blog internal links block */
.tf-blog-links{max-width:940px;margin:34px auto;padding:22px;border:1px solid rgba(214,51,255,.26);border-radius:16px;background:rgba(214,51,255,.06);box-sizing:border-box}
.tf-blog-links strong{display:block;color:#fff;margin-bottom:10px;font-size:18px}
.tf-blog-links .links{display:flex;flex-wrap:wrap;gap:10px}
.tf-blog-links a{min-height:44px;display:inline-flex;align-items:center;padding:0 15px;border-radius:999px;text-decoration:none!important;color:#fff!important;border:1px solid rgba(0,212,255,.35);font-weight:700}
.tf-blog-links a.primary{background:linear-gradient(90deg,var(--tf-purple),var(--tf-cyan));border:0}

@media (max-width:1100px) and (min-width:901px){
 .tf-topbar .tf-wrap{gap:14px!important;padding:0 14px!important}.tf-topbar .tf-toplinks{gap:12px!important}.tf-topbar .tf-toplinks a{font-size:12px!important}.tf-head-phone{display:none!important}
}
@media (max-width:900px){
 html{scroll-padding-top:66px}
 body{padding-bottom:72px!important}
 /* minimal 3-zone mobile top: hamburger / logo / Telegram */
 .tf-topbar{height:60px!important;min-height:60px!important}
 .tf-topbar .tf-wrap{height:60px!important;min-height:60px!important;padding:0 12px!important;justify-content:center!important;position:relative!important}
 .tf-topbar .tf-toplinks,.tf-head-actions{display:none!important}
 .tf-topbar .tf-logo{height:34px!important;max-width:116px!important;margin:0 auto!important}
 .tf-nav-toggle{display:flex!important;align-items:center!important;justify-content:center!important;position:fixed!important;left:12px!important;right:auto!important;top:10px!important;width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important;font-size:0!important;z-index:10001!important}
 .tf-nav-toggle span{font-size:21px!important;margin:0!important;line-height:1!important}
 .tf-mobile-quick{display:flex!important;align-items:center;justify-content:center;position:fixed;right:12px;top:10px;width:40px;height:40px;border-radius:50%;z-index:10000;background:linear-gradient(90deg,var(--tf-purple),var(--tf-cyan));color:#fff!important;text-decoration:none!important;box-shadow:0 0 12px rgba(214,51,255,.38)}
 .tf-drawer{width:min(390px,92vw)!important;padding-bottom:34px!important}
 .tf-menu a{min-height:44px;display:flex!important;align-items:center!important}
 .tf-drawer-cta{min-height:48px!important}
 /* old legacy header/mobile hacks no longer participate */
 html body .header_info{padding-right:0!important}
 .sticky-mobile-cta{z-index:9997!important;padding:8px 12px!important;box-sizing:border-box!important}
 .sticky-mobile-cta a{min-height:48px!important}
 /* Promotions: vertical cards on touch screens instead of scroll hijack */
 .promo-scroll-container{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important;gap:16px!important;padding:10px 14px!important}
 .promo-scroll-container>*{width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important;box-sizing:border-box!important}
 .intro-actions{flex-direction:column}.intro-cta,.intro-secondary{width:100%}
 .tf-blog-links{margin:26px 12px;padding:18px}.tf-blog-links .links{flex-direction:column}.tf-blog-links a{width:100%;box-sizing:border-box;justify-content:center}
}
@media (min-width:901px){
 .tf-nav-toggle{display:none!important}
}


/* 28.08 follow-up: separation, travel link, mobile header correction */
.tf-head-actions{margin-left:auto!important;gap:14px!important}
.tf-head-phone{display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:0 4px!important}
.tf-head-cta{gap:8px!important;margin-left:2px!important;padding:0 18px!important;border:1px solid rgba(255,255,255,.12)!important}
.tf-head-cta i{font-size:13px!important}
.tf-travel-link{color:#fff!important}
.tf-travel-link:hover{color:var(--tf-purple)!important}
.intro-actions{align-items:center!important;gap:14px!important}
.intro-cta,.intro-secondary{gap:9px!important;white-space:nowrap!important;border-radius:999px!important;padding:0 22px!important}
.intro-secondary{border:1px solid rgba(0,212,255,.75)!important;box-shadow:0 0 14px rgba(0,212,255,.09)!important}

@media (max-width:900px){
 .tf-topbar .tf-wrap{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;padding:0 8px!important;width:100%!important;max-width:none!important;gap:0!important}
 .tf-topbar .tf-wrap>a:first-child{grid-column:2!important;justify-self:center!important;display:flex!important;align-items:center!important;min-width:0!important}
 .tf-topbar .tf-logo{height:34px!important;width:auto!important;max-width:124px!important;margin:0!important}
 .tf-topbar .tf-toplinks,.tf-topbar .tf-head-actions{display:none!important}
 .tf-nav-toggle{left:10px!important;top:10px!important;right:auto!important;width:40px!important;height:40px!important;padding:0!important;font-size:0!important;border-radius:12px!important}
 .tf-mobile-quick{right:10px!important;top:10px!important;width:40px!important;height:40px!important;border-radius:12px!important}
 .intro-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;margin-top:22px!important}
 .intro-cta,.intro-secondary{width:100%!important;min-height:50px!important;white-space:normal!important;text-align:center!important;padding:8px 16px!important}
}


/* 28.08 UI FIX 3 — mobile header, CTA contrast, carousel stability */
/* CTA text must stay readable even when legacy .intro-text span rules exist */
.intro-actions .intro-cta,
.intro-actions .intro-cta span,
.tf-head-cta,
.tf-head-cta span,
.sticky-mobile-cta a,
.sticky-mobile-cta a span{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
.intro-actions .intro-secondary,
.intro-actions .intro-secondary span{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Results: never distort before/after photos, including before Owl initializes */
.carousel-wrapper{overflow:hidden!important}
.owl-carousel .owl-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.owl-carousel:not(.owl-loaded){display:flex!important;overflow:hidden!important;width:100%!important}
.owl-carousel:not(.owl-loaded)>img{display:block!important;flex:0 0 100%!important;width:100%!important;height:auto!important;object-fit:contain!important}

/* Route CTA near the end of home page */
.tf-route-box{max-width:920px;margin:34px auto;padding:26px 20px;text-align:center;border:1px solid rgba(0,212,255,.25);border-radius:18px;background:rgba(255,255,255,.025);box-sizing:border-box}
.tf-route-box h2{margin:0 0 10px!important;color:#fff!important;font-family:'Roboto Condensed',sans-serif!important;font-size:clamp(24px,3vw,34px)!important}
.tf-route-box p{margin:0 0 18px!important;color:#cfcfd5!important}
.tf-route-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:999px;background:linear-gradient(90deg,var(--tf-purple),var(--tf-cyan));color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-weight:800!important;box-shadow:0 0 18px rgba(214,51,255,.22)}

@media (max-width:900px){
  html{scroll-padding-top:60px}
  body{padding-bottom:66px!important}
  .tf-topbar{height:56px!important;min-height:56px!important}
  .tf-topbar .tf-wrap{height:56px!important;min-height:56px!important;grid-template-columns:46px minmax(0,1fr) 46px!important;padding:0 7px!important}
  .tf-topbar .tf-wrap>a:first-child{grid-column:2!important;align-self:start!important;margin-top:5px!important}
  .tf-topbar .tf-logo{height:28px!important;max-width:106px!important;margin:0!important}
  /* phone on the left, menu on the right; Telegram remains only in bottom sticky CTA */
  .tf-mobile-quick{left:8px!important;right:auto!important;top:8px!important;width:38px!important;height:38px!important;border-radius:12px!important;background:linear-gradient(135deg,#20c56b,#00d4ff)!important;box-shadow:0 0 12px rgba(32,197,107,.28)!important}
  .tf-nav-toggle{right:8px!important;left:auto!important;top:8px!important;width:38px!important;height:38px!important;border-radius:12px!important}
  .sticky-mobile-cta{left:50%!important;right:auto!important;bottom:8px!important;transform:translateX(-50%)!important;width:calc(100% - 24px)!important;max-width:360px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
  .sticky-mobile-cta a{min-height:46px!important;padding:8px 16px!important;border-radius:999px!important;font-size:12px!important;box-shadow:0 6px 22px rgba(0,0,0,.48),0 0 14px rgba(214,51,255,.28)!important}
  .promo-scroll-container{padding:8px 12px!important;gap:12px!important}
  .promo-scroll-container>div{max-width:420px!important;margin:0 auto!important}
  .promo-scroll-container img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
  .carousel-wrapper{width:100%!important;max-width:520px!important;margin:0 auto 70px!important;padding:0 10px!important;box-sizing:border-box!important}
  .owl-carousel .owl-item{padding-right:0!important}
  .tf-route-box{margin:28px 12px 90px!important;padding:22px 16px!important}
  .tf-route-btn{width:100%!important;box-sizing:border-box!important}
}

/* 28.08 UI FIX 4 — expanded studio navigation */
@media (min-width:1101px){
  .tf-topbar .tf-wrap{gap:16px!important;max-width:1320px!important}
  .tf-topbar .tf-toplinks{gap:13px!important}
  .tf-topbar .tf-toplinks a{font-size:12px!important}
}
@media (max-width:1100px) and (min-width:901px){
  .tf-topbar .tf-toplinks{gap:9px!important}
  .tf-topbar .tf-toplinks a{font-size:11px!important}
}

/* 28.08 UI FIX 5 — mobile hero, footer map CTA, non-obtrusive fixed Telegram */
.tf-footer-route{
  width:100%;
  display:flex;
  justify-content:center;
  box-sizing:border-box;
  padding:4px 16px 18px;
}
.tf-footer-route a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(0,212,255,.45);
  border-radius:999px;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  font:700 13px 'PT Sans Caption',sans-serif;
  background:rgba(0,212,255,.045);
  box-shadow:0 0 14px rgba(0,212,255,.08);
}
.tf-footer-route a:hover{
  border-color:#00d4ff;
  background:rgba(0,212,255,.1);
}
.tf-footer-route i{color:#00d4ff!important}

/* RU generated footer variant */
.tf-footer-route-inline{color:#00d4ff!important;text-decoration:none!important}

@media (max-width:900px){
  /* First home photo: show the COMPLETE photo, then immediately the text.
     No portrait crop, no forced tall image. */
  .topfit-intro{
    padding:18px 12px 30px!important;
  }
  .topfit-intro .intro-container{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .topfit-intro .intro-image{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
  }
  .topfit-intro .intro-image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:16px!important;
  }
  .topfit-intro .intro-text{
    width:100%!important;
    max-width:100%!important;
    flex:none!important;
  }

  /* Keep the fixed Telegram action but make it a small floating pill,
     so it does not cover section headings/cards while scrolling. */
  .sticky-mobile-cta{
    left:auto!important;
    right:12px!important;
    bottom:12px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .sticky-mobile-cta a{
    width:auto!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 15px!important;
    border-radius:999px!important;
    font-size:11px!important;
    white-space:nowrap!important;
    box-shadow:0 7px 24px rgba(0,0,0,.55),0 0 14px rgba(214,51,255,.34)!important;
  }

  .tf-footer-route{
    padding:2px 14px 18px!important;
  }
  .tf-footer-route a{
    width:min(100%,340px)!important;
    box-sizing:border-box!important;
  }
}

/* 28.08 UI FIX 6 — promo section flow separation */
.band_band{
  position:relative!important;
  display:block!important;
  width:100%!important;
  clear:both!important;
}
.first-wrapper{
  position:relative!important;
  display:block!important;
  width:100%!important;
  clear:both!important;
  overflow:visible!important;
}
.first-wrapper .promo-heading-wrap{
  position:relative!important;
  display:block!important;
  clear:both!important;
}
@media (max-width:900px){
  .band_band{margin-top:22px!important;}
  .first-wrapper{
    margin-top:24px!important;
    padding-top:32px!important;
  }
  .first-wrapper .promo-heading-wrap{
    margin-top:12px!important;
    margin-bottom:22px!important;
  }
  /* reserve enough room after the pre-promo CTA/text even in short resized desktop windows */
  .first-wrapper h2{position:relative!important;z-index:1!important;}
}

/* safe menu scroll lock */
body.tf-nav-open{overflow:hidden!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:991px){body{padding-bottom:76px!important}}

/* normalized promo section after inline-style cleanup */
.first-wrapper{padding:40px 0!important;background:#000!important;margin:30px 0 0!important;clear:both!important;position:relative!important}
.first-wrapper .promo-heading-wrap{text-align:center!important;margin:20px 0 25px!important;padding:0 20px!important;clear:both!important}

/* 28.08 OVERLAP FIX 2
   Root cause: legacy main.css fixes .first-wrapper to height:530px.
   The modern promo content is taller, so it visually overflows into the next section.
*/
.first-wrapper{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:44px!important;
  margin-bottom:0!important;
  box-sizing:border-box!important;
}
.tf-like-section{
  position:relative!important;
  display:block!important;
  clear:both!important;
  margin-top:0!important;
  padding-top:52px!important;
  z-index:1!important;
  box-sizing:border-box!important;
}
.tf-like-section .tf-like-title{
  position:relative!important;
  margin-top:0!important;
  margin-bottom:30px!important;
  z-index:2!important;
}
@media(max-width:900px){
  .first-wrapper{
    height:auto!important;
    min-height:0!important;
    padding-bottom:34px!important;
  }
  .tf-like-section{
    padding-top:42px!important;
  }
  .tf-like-section .tf-like-title{
    margin-top:0!important;
    margin-bottom:24px!important;
  }
}

/* TOPFIT 30.08 current schedule notice */
.tf-schedule-notice{background:linear-gradient(135deg,rgba(113,36,154,.96),rgba(34,18,58,.98));border-top:1px solid rgba(224,126,255,.38);border-bottom:1px solid rgba(0,212,255,.24);box-shadow:0 14px 38px rgba(82,25,119,.22);color:#fff}
.tf-schedule-notice__inner{max-width:1120px;margin:0 auto;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.tf-schedule-notice__copy{display:flex;align-items:center;gap:15px;min-width:0}
.tf-schedule-notice__icon{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);font-size:21px;box-shadow:inset 0 0 18px rgba(255,255,255,.04)}
.tf-schedule-notice__text strong{display:block;color:#fff;font-family:'Roboto Condensed',sans-serif;font-size:21px;line-height:1.15;text-transform:uppercase;letter-spacing:.02em;margin-bottom:5px}
.tf-schedule-notice__text span{display:block;color:#eee5f5;font-family:'PT Sans Caption',sans-serif;font-size:14px;line-height:1.55}
.tf-schedule-notice__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 19px;border-radius:999px;background:#fff;color:#45165f!important;text-decoration:none!important;font-family:'Roboto Condensed',sans-serif;font-size:15px;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .25s ease,box-shadow .25s ease}
.tf-schedule-notice__btn:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(0,0,0,.26)}
@media(max-width:700px){.tf-schedule-notice__inner{padding:18px;align-items:stretch;flex-direction:column;gap:14px}.tf-schedule-notice__copy{align-items:flex-start}.tf-schedule-notice__icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.tf-schedule-notice__text strong{font-size:19px}.tf-schedule-notice__text span{font-size:13px}.tf-schedule-notice__btn{width:100%;box-sizing:border-box}}


/* TOPFIT 30.08 MFR launch + trial-price visibility */
.tf-trial-ribbon{max-width:1120px;margin:14px auto 20px;padding:10px 16px;border:1px solid rgba(210,92,255,.34);border-radius:16px;background:linear-gradient(135deg,rgba(111,25,158,.20),rgba(0,180,255,.10));box-shadow:0 12px 34px rgba(74,16,112,.16);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#f7f1fb;font-family:inherit;box-sizing:border-box}
.tf-trial-ribbon__text{display:flex;align-items:center;gap:9px;line-height:1.35}.tf-trial-ribbon__text strong{color:#fff}.tf-trial-ribbon__price{color:#e9a5ff;font-weight:900;white-space:nowrap}.tf-trial-ribbon__actions{display:flex;gap:8px;flex-wrap:wrap}.tf-trial-ribbon a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:999px;text-decoration:none!important;font-weight:800;font-size:13px}.tf-trial-ribbon__book{background:linear-gradient(135deg,#b12cdb,#6e59ff);color:#fff!important}.tf-trial-ribbon__call{border:1px solid rgba(138,210,255,.55);color:#bfeaff!important;background:rgba(26,139,208,.08)}
.tf-mfr-home{max-width:1120px;margin:24px auto 38px;padding:0 18px;box-sizing:border-box}.tf-mfr-home__card{overflow:hidden;border-radius:26px;border:1px solid rgba(202,91,255,.30);background:linear-gradient(135deg,#12101d,#0a0d18);box-shadow:0 24px 70px rgba(72,22,117,.28);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.tf-mfr-home__media{min-height:330px;background:#080912}.tf-mfr-home__media img{width:100%;height:100%;object-fit:cover;display:block}.tf-mfr-home__copy{padding:34px;display:flex;flex-direction:column;justify-content:center}.tf-mfr-home__eyebrow{color:#e185ff;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.tf-mfr-home h2{color:#fff!important;font-size:clamp(28px,3.2vw,43px);line-height:1.08;margin:0 0 14px}.tf-mfr-home p{color:#e9e2ee!important;line-height:1.65;margin:0 0 18px}.tf-mfr-home__facts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tf-mfr-home__facts span{border:1px solid rgba(101,188,255,.30);background:rgba(34,127,199,.08);border-radius:999px;padding:7px 10px;color:#dceeff;font-size:13px;font-weight:800}.tf-mfr-home__actions{display:flex;gap:10px;flex-wrap:wrap}.tf-mfr-home__actions a{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;text-decoration:none!important;font-weight:900}.tf-mfr-home__primary{background:linear-gradient(135deg,#bd2ee5,#476dff);color:#fff!important}.tf-mfr-home__secondary{border:1px solid rgba(211,121,255,.55);color:#efb8ff!important}
.tf-mfr-hero-visual{margin:24px 0 4px;border-radius:24px;overflow:hidden;border:1px solid rgba(207,102,255,.30);box-shadow:0 24px 65px rgba(74,20,120,.28)}.tf-mfr-hero-visual img{display:block;width:100%;height:auto}.tf-mfr-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.tf-mfr-benefit{padding:19px;border-radius:18px;background:#181823;border:1px solid rgba(209,118,255,.25)}.tf-mfr-benefit h3{margin:0 0 7px;color:#fff!important;font-size:19px}.tf-mfr-benefit p{margin:0;color:#eee8f2!important;line-height:1.65}.tf-mfr-steps{counter-reset:mfr;display:grid;gap:11px;margin:18px 0}.tf-mfr-step{position:relative;padding:15px 16px 15px 54px;border-radius:16px;background:#171720;border:1px solid rgba(255,255,255,.09)}.tf-mfr-step:before{counter-increment:mfr;content:counter(mfr);position:absolute;left:15px;top:14px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#bd2ee5,#477cff);color:#fff;font-weight:900}.tf-mfr-step strong{color:#fff}.tf-mfr-safety{margin:20px 0;padding:16px 18px;border-left:3px solid #d36cff;border-radius:10px;background:rgba(177,72,214,.08);color:#eee8f2;line-height:1.65}
@media(max-width:760px){.tf-trial-ribbon{margin:10px 12px 16px;align-items:flex-start;flex-direction:column}.tf-trial-ribbon__actions{width:100%}.tf-trial-ribbon__actions a{flex:1}.tf-mfr-home__card{grid-template-columns:1fr}.tf-mfr-home__media{min-height:220px}.tf-mfr-home__copy{padding:24px 20px}.tf-mfr-home__actions a{width:100%}.tf-mfr-benefits{grid-template-columns:1fr}}


/* TOPFIT 30.08 visual hotfix: trial bar + MFR proportions */
.tf-trial-ribbon{
  position:relative!important;
  z-index:2!important;
  width:calc(100% - 32px)!important;
  max-width:1120px!important;
  min-height:48px!important;
  margin:14px auto 20px!important;
  padding:10px 16px!important;
  overflow:visible!important;
  background:linear-gradient(135deg,rgba(111,25,158,.32),rgba(0,180,255,.16))!important;
}
.tf-trial-ribbon,.tf-trial-ribbon *{box-sizing:border-box!important}
.tf-trial-ribbon__text,.tf-trial-ribbon__text span,.tf-trial-ribbon__text strong{
  position:static!important;float:none!important;transform:none!important;
  color:#f7f1fb!important;text-shadow:none!important;
}
.tf-trial-ribbon__actions{position:static!important;float:none!important;transform:none!important}
.tf-mfr-home{max-width:1120px!important;margin:28px auto 42px!important;padding:0 18px!important}
.tf-mfr-home__card{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;align-items:stretch!important}
.tf-mfr-home__media{height:360px!important;min-height:0!important;overflow:hidden!important}
.tf-mfr-home__media img{width:100%!important;height:100%!important;max-height:360px!important;object-fit:cover!important;object-position:center!important}
@media(max-width:760px){
  .tf-trial-ribbon{width:calc(100% - 24px)!important;margin:10px 12px 16px!important;padding:10px 12px!important}
  .tf-trial-ribbon__text{font-size:13px!important}
  .tf-trial-ribbon__actions{display:none!important}
  .tf-mfr-home{margin:20px auto 30px!important;padding:0 12px!important}
  .tf-mfr-home__card{grid-template-columns:1fr!important}
  .tf-mfr-home__media{height:auto!important;aspect-ratio:16/9!important}
  .tf-mfr-home__media img{height:100%!important;max-height:none!important;object-fit:cover!important}
}

.tf-mfr-hero-visual{max-width:900px!important;margin:24px auto 18px!important}
.tf-mfr-hero-visual img{width:100%!important;max-height:520px!important;object-fit:cover!important}
@media(max-width:760px){.tf-mfr-hero-visual{border-radius:18px!important}.tf-mfr-hero-visual img{max-height:340px!important}}


/* TOPFIT 31.08 — unify legacy home sections with current cyan/purple system */
.tf-unified-choice,.tf-unified-choice-cta,.tf-unified-promos,.tf-unified-rules,.tf-unified-camps{box-sizing:border-box}
.tf-unified-choice{max-width:1120px!important;margin:30px auto 0!important;padding:28px 26px!important;background:linear-gradient(145deg,rgba(19,20,31,.98),rgba(10,12,21,.98))!important;border:1px solid rgba(0,212,255,.18)!important;border-radius:24px 24px 0 0!important;box-shadow:0 18px 55px rgba(0,0,0,.28)!important}
.tf-unified-choice>div{max-width:900px!important}.tf-unified-choice h3{font-size:clamp(20px,2.2vw,28px)!important;letter-spacing:.01em!important;margin-bottom:10px!important}.tf-unified-choice p{color:#c9c8d2!important;font-size:14px!important;line-height:1.6!important}.tf-unified-choice a{min-height:48px!important;padding:12px 24px!important;box-shadow:0 10px 28px rgba(92,74,255,.20)!important}
.tf-unified-choice-cta{max-width:1120px!important;margin:0 auto 34px!important;padding:18px 24px 24px!important;background:linear-gradient(145deg,rgba(19,20,31,.98),rgba(10,12,21,.98))!important;border:1px solid rgba(0,212,255,.18)!important;border-top:0!important;border-radius:0 0 24px 24px!important}.tf-unified-choice-cta a{min-height:48px!important;box-shadow:0 10px 28px rgba(185,47,255,.22)!important}.tf-unified-choice-cta p{color:#bdbbc8!important}
.tf-unified-promos{max-width:1120px!important;height:auto!important;margin:34px auto!important;padding:28px!important;border:1px solid rgba(191,67,255,.18)!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(18,18,29,.98),rgba(9,11,19,.98))!important;box-shadow:0 22px 60px rgba(0,0,0,.30)!important;overflow:hidden!important}.tf-unified-promos .promo-heading-wrap{padding:0!important;margin:0 0 24px!important}.tf-unified-promos .promo-heading-wrap h2{text-shadow:none!important;font-size:clamp(24px,2.5vw,32px)!important}.tf-unified-promos .promo-scroll-container{display:grid!important;grid-template-columns:minmax(240px,340px) minmax(0,1fr)!important;align-items:center!important;gap:32px!important;overflow:visible!important;padding:0!important;margin:0!important}.tf-unified-promos .promo-scroll-container>div{max-width:340px!important;width:100%!important;flex:none!important}.tf-unified-promos .promo-scroll-container img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;background:#0b0b12!important;border-radius:20px!important;box-shadow:0 14px 36px rgba(118,37,174,.20)!important}.tf-unified-promos>div[style*="background: #000000"]{background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:20px!important;padding:26px!important;margin:0!important;align-self:center!important}.tf-unified-promos>div[style*="background: #000000"] a{min-height:48px!important;box-shadow:0 10px 28px rgba(185,47,255,.20)!important}.tf-unified-promos>div[style*="background: #000000"] p{max-width:620px;margin-left:auto!important;margin-right:auto!important;color:#d9d7e0!important}
.tf-unified-rules{max-width:1120px!important;margin:34px auto!important;padding:34px 24px!important;background:linear-gradient(145deg,rgba(18,18,29,.98),rgba(9,11,19,.98))!important;border:1px solid rgba(0,212,255,.14)!important;border-radius:26px!important}.tf-unified-rules>div{max-width:900px!important}.tf-unified-rules .rules-accordion{background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.09)!important;border-radius:15px!important;transition:transform .22s ease,border-color .22s ease,background .22s ease}.tf-unified-rules .rules-accordion:hover{transform:translateY(-2px);border-color:rgba(0,212,255,.25)!important;background:rgba(0,212,255,.035)!important}.tf-unified-rules .rules-header{min-height:56px!important;padding:16px 18px!important}.tf-unified-rules .rules-content{background:rgba(4,5,10,.28)!important}.tf-unified-rules a{min-height:48px!important;box-shadow:0 10px 28px rgba(185,47,255,.18)!important}
.tf-unified-camps{max-width:1120px!important;margin:34px auto!important;padding:30px 28px!important;background:linear-gradient(145deg,rgba(19,20,31,.98),rgba(12,12,22,.98))!important;border:1px solid rgba(191,67,255,.18)!important;border-radius:24px!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}.tf-unified-camps h4{text-shadow:none!important}.tf-unified-camps p{color:#c9c8d2!important}.tf-unified-camps a{min-height:48px!important;box-shadow:none!important}
@media(max-width:760px){.tf-unified-choice{margin:20px 12px 0!important;padding:22px 16px!important;border-radius:20px 20px 0 0!important}.tf-unified-choice-cta{margin:0 12px 26px!important;padding:14px 16px 20px!important;border-radius:0 0 20px 20px!important}.tf-unified-choice a,.tf-unified-choice-cta a,.tf-unified-rules a,.tf-unified-camps a{width:100%!important;white-space:normal!important;text-align:center!important}.tf-unified-promos{margin:26px 12px!important;padding:22px 16px!important;border-radius:22px!important}.tf-unified-promos .promo-scroll-container{grid-template-columns:1fr!important;gap:18px!important}.tf-unified-promos .promo-scroll-container>div{max-width:320px!important;margin:0 auto!important}.tf-unified-promos>div[style*="background: #000000"]{padding:20px 14px!important}.tf-unified-rules{margin:26px 12px!important;padding:26px 14px!important;border-radius:22px!important}.tf-unified-rules .rules-header{font-size:13px!important}.tf-unified-camps{margin:26px 12px!important;padding:24px 16px!important;border-radius:22px!important}.tf-unified-camps h4{font-size:21px!important}}
