
/* knee.css */
:root{
  --c-bgk: radial-gradient(120% 140% at 100% 0%, rgba(22, 57, 100, .14) 0%, transparent 60%), linear-gradient(180deg,
 color-mix(in oklab, var(--tone-mid, #0e274d) 92%, black 8%) 0%,
 color-mix(in oklab, var(--tone-soft, #163964) 92%, black 8%) 100%);;
  --c-white: #ffffff;
  --c-text: #D6EEF1;
  --c-accent: #F0B429;
  --c-orange: #FF7A00;
  --c-orange-dark: #E66E00;
  --tone-deep: #0b1d3a;   /* темна база, синьо-індиго */
  --tone-mid:  #0e274d;   /* середній відтінок */
  --tone-soft: #163964;   /* м'якший синій для переходів */
  --tone-blue: #4aa3ff;   /* «світлова смуга» зліва */
  --accent:    #F0B429;   /* акцент для виділень/ціни */
  --radius: 14px;
  --container: 1120px;
  --ff-base: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

html {
  scroll-behavior: smooth;
}

.pay-btn {
  position: relative;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.pay-btn:disabled,
.pay-btn.is-loading {
  cursor: not-allowed;
  opacity: 0.8;
}

.pay-btn.is-loading::after {
  content: "";
  width: 16px;
  height: 16px;
  margin-left: 10px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  animation: pay-btn-spin 0.7s linear infinite;
}

@keyframes pay-btn-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

body {
  margin: 0;
  padding: 0;
  background: var(--c-bgk);
  color: var(--c-white);
  font-family: var(--ff-base);
}
/* .foot {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
} */
/* foot.css — mobile-first hero */

.hero-knee {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 514px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 40px 22px 28px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(28, 94, 160, 0.75), transparent 28%),
    radial-gradient(circle at 55% 55%, rgba(10, 62, 110, 0.45), transparent 45%),
    linear-gradient(180deg, #020d24 0%, #021934 45%, #011123 100%);
}

.hero-knee__photo {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 65%;
  background-image: url("img/hero.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
}

.hero-knee__shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2, 13, 36, 0.98) 0%, rgba(2, 13, 36, 0.72) 45%, rgba(2, 13, 36, 0.08) 100%),
    linear-gradient(180deg, transparent 28%, rgba(1, 12, 30, 0.98) 54%);
}

.hero-knee__inner {
  position: relative;
  z-index: 3;
  width: 100%;
}

.hero-knee__eyebrow {
  max-width: 58%;
  margin: 0 0 72px;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 400;
}

.hero-knee__title {
  max-width: 74%;
  margin: 0 0 24px;
  font-size: 34px;
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: -0.4px;
}

.hero-knee__title span {
  display: block;
  color: #ffc226;
}

.hero-knee__subtitle {
  max-width: 76%;
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 400;
}

.hero-knee__subtitle strong {
  color: #ffc226;
  font-weight: 800;
}

.hero-knee__bullets {
  display: grid;
  gap: 18px;
  margin: 0 0 15px;
  padding: 0;
  list-style: none;
}

.hero-knee__bullets li {
  position: relative;
  padding-left: 38px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
}

.hero-knee__bullets li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 4px;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  background: linear-gradient(180deg, #7ee64b, #23aa34);
  color: #fff;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
  font-weight: 900;
}

.hero-knee__divider {
  width: 100%;
  height: 1px;
  margin-bottom: 28px;
  background: rgba(255, 255, 255, 0.18);
}

.hero-knee__price {
  margin: 0 0 22px;
  text-align: center;
  font-size: 20px;
  line-height: 1.25;
}

.hero-knee__price strong {
  color: #ffc226;
  font-size: 32px;
  font-weight: 900;
}

.hero-knee__price span {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

.bs-countdown-knee {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 400px;
  margin: 0 auto 28px;
}

.bs-countdown-knee div {
  position: relative;
  text-align: center;
}

.bs-countdown-knee div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 0;
  width: 1px;
  height: 48px;
  background: rgba(255, 255, 255, 0.35);
}

.bs-countdown-knee b {
  display: block;
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
}

.bs-countdown-knee span {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 16px;
}

.hero-knee__cta {
  display: grid;
  gap: 12px;
  justify-items: center;
}

.hero-knee__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 384px;
  min-height: 56px;
  border-radius: 12px;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.hero-knee__btn--primary {
  background: linear-gradient(180deg, #ff9300 0%, #ff7400 100%);
  color: #fff;
  box-shadow: 0 10px 22px rgba(255, 115, 0, 0.25);
}

.hero-knee__btn--secondary {
  border: 2px solid rgba(255, 255, 255, 0.75);
  color: #fff;
  background: transparent;
}

.hero-knee__proof {
  margin: 24px 0 8px;
  text-align: center;
  font-size: 17px;
  line-height: 1.35;
}

.hero-knee__proof span,
.hero-knee__spots span {
  color: #ffc226;
  font-weight: 900;
}

.hero-knee__spots {
  margin: 0;
  text-align: center;
  font-size: 17px;
  line-height: 1.35;
}
/* ===== WHY (цей курс для тебе) ===== */
.forwho__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

.forwho__card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
  transition: transform .3s;
}
.forwho__card:hover {
  transform: translateY(-4px);
}
.forwho__img {
  width: 100%;
  display: block;
  height: 180px;
  object-fit: cover;
}
.forwho__title {
  font-size: 18px;
  font-weight: 700;
  margin: 12px 16px 6px;
  color: #0A6670;
}
.forwho__text {
  font-size: 15px;
  color: #375559;
  margin: 0 16px 16px;
}

/* на планшеті 2 колонки */
@media (min-width: 768px) {
  .forwho__grid {
    grid-template-columns: 1fr 1fr;
  }
}
.forwho__alert {
  margin:16px 0;
  padding:12px 16px;
  background:#fff3f3;
  border:1px solid #e53935;
  border-radius:8px;
  font-weight:600;
  color:#b73232;
}

/* ===== RESULTS ===== */
.bs-results{ padding:28px 0 }
.bs-result{ box-shadow:0 6px 18px rgba(10,102,112,.06); }
.bs-results__title{
    margin:0 0 16px;
    font-size:clamp(20px, 4.8vw, 28px);
    font-weight:800; color:#0B2E31;
}
.bs-results__grid{
    list-style:none; margin:0; padding:0;
    display:grid; gap:12px;
}
.bs-result{
    background:#F6FAFA; border:1px solid #E0EFEF; border-radius:14px;
    padding:14px; display:grid; grid-template-columns:auto 1fr; column-gap:12px; row-gap:6px;
}
.bs-result__icon{
    grid-row:1 / span 2;
    width:42px; height:42px; border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    color:#ffffff; background:linear-gradient(135deg,#0f8a96,#0A6670);
    box-shadow:0 6px 14px rgba(10,102,112,.25);
}
.bs-result__h{
    margin:0; font-size:16px; font-weight:800; color:#0B2E31; line-height:1.25;
}
.bs-result__p{
    margin:0; font-size:14px; color:#375559;
}

@media (min-width:768px){
    .bs-results{ padding:36px 0 }
    .bs-results__grid{ grid-template-columns:1fr 1fr; gap:14px }
    .bs-result{ padding:16px; }
    .bs-result__h{ font-size:17px }
    .bs-result__p{ font-size:15px }
}

@media (min-width:1024px){
    .bs-results{ padding:44px 0 }
    .bs-results__grid{ grid-template-columns:1fr 1fr 1fr; gap:16px }
    .bs-result{ padding:18px }
    .bs-result__h{ font-size:18px }
}

/* ===== INSIDE (що всередині курсу) ===== */
.bs-inside{
    padding:28px 0;
    background:#fff; }
.bs-inside__title{
    margin:0 0 18px;
    font-size:clamp(20px, 4.8vw, 28px);
    font-weight:800; color:#0B2E31;
}
.bs-inside__list{
    list-style:none; margin:0; padding:0;
    display:grid; gap:14px;
}
.bs-inside__item{
    background:#F6FAFA; border:1px solid #E0EFEF; border-radius:14px;
    padding:16px 14px;
}
/* .bs-inside__item{
    background:#fff;
    border:1px solid #E0EFEF;
    box-shadow:0 8px 20px rgba(11,46,49,.05);
} */
.bs-inside__h{
    margin:0 0 6px;
    font-size:16px; font-weight:800; color:#0B2E31;
}
.bs-inside__p{
    margin:0;
    font-size:14px; color:#375559;
}

@media (min-width:768px){
    .bs-inside{ padding:36px 0; }
    .bs-inside__list{ grid-template-columns:1fr 1fr; gap:16px; }
    .bs-inside__h{ font-size:17px }
    .bs-inside__p{ font-size:15px }
}

@media (min-width:1024px){
    .bs-inside{ padding:44px 0; }
    .bs-inside__list{ gap:18px; }
    .bs-inside__h{ font-size:18px }
}

/* ===== AUTHOR ===== */
.bs-author__grid{
  display:grid; gap:18px; align-items:center;
}
.bs-author__media{ max-width: 100%; margin: 0 0 25px; }
.bs-author__img{
  border-radius:16px;
  box-shadow:0 12px 28px rgba(11,46,49,.15);
  width:100%; height:auto; display:block; object-fit:cover;
}
.bs-author__content{ font-size:15px; color:#375559; }
.bs-author__title{
  margin:0 0 14px; font-size:clamp(20px, 4.8vw, 28px); font-weight:800; color:#0B2E31;
}
.bs-author__intro{ margin:0 0 12px; font-size:15px; line-height:1.5; }
.bs-author__list{
  margin:0 0 14px; padding:0 0 0 20px; font-size:15px;
}
.bs-author__list .accent {color: var(--c-orange);}
.bs-author__list li{ margin-bottom:6px; }
.bs-author__outro{ margin:0; font-size:15px; }
.bs-author__outro .accent{color: var(--c-orange);}

@media (min-width:768px){
  /* .bs-author__grid{ grid-template-columns:1fr 2fr; gap:28px; } */
  .bs-author__content{ font-size:16px; }
  .bs-author__list{ font-size:16px; }
  .bs-author__intro, .bs-author__outro{ font-size:16px; }
  .bs-author__img{width:50%; height:50%; display:block; object-fit:cover;}
}

@media (min-width:1024px){
  /* .bs-author__grid{ grid-template-columns:1fr 1.5fr; gap:40px; } */
  .bs-author__title{ font-size:32px; }
}

/* ===== PRICING ===== */
.bs-pricing{ text-align:center; }
.bs-pricing__grid{ max-width:640px; margin:0 auto; }
.bs-pricing__title{
  margin:0 0 10px;
  font-size:clamp(22px, 5vw, 32px);
  font-weight:800; color:#0B2E31;
}
.bs-pricing__subtitle{
  margin:0 0 14px;
  font-size:16px; color:#375559; font-weight:500;
}
.bs-pricing__prices{
  display:flex; justify-content:center; align-items:baseline;
  gap:12px; margin:0 0 16px;
}
.bs-pricing__now{
  font-size:clamp(26px,6vw,36px);
  font-weight:800; color:#F0B429;
}
.bs-pricing__old{
  font-size:18px; text-decoration:line-through;
  opacity:.7; color:#375559;
}
.bs-pricing__cta{
  display:block; width:100%; max-width:360px;
  margin:20px auto 12px;
  font-size:18px;
}
.bs-pricing__note{
  margin:0; font-size:13px; color:#375559; opacity:.8;
}

/* ===== PRICING: дві картки, білий фон секції ===== */
.pricing{
  background: #ffffff;
  color: #0b1d3a;
  padding: 44px 16px;
  font-family: var(--ff-base, "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
}
.pricing__inner{ max-width: var(--container, 1120px); margin: 0 auto; }

.pricing__title{
  margin: 0 0 8px;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
}
.pricing__lead{
  margin: 0 0 20px;
  font-size: 16px;
  color: #444;
}

.pricing__grid{
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
@media (min-width: 820px){
  .pricing__grid{ grid-template-columns: 1fr 1fr; }
}

/* Картка */
.pricing__card{
  background: #ffffff;
  color: #0b1d3a;
  border: 1px solid #DDEBEB;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pricing__card .accent{color: #F0B429;}
.pricing__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.12);
}

/* PRO варіант */
.pricing__card--pro{
  background: var(--c-bgk);
  color: #fff;
  border-color: var(--c-bgk);
  box-shadow: 0 14px 36px rgba(11,29,58,.28);
  position: relative;
}
.pricing__card--pro .accent{color:#F0B429 ;}
.pricing__currency .accent{color:#F0B429 ;}
.pricing__badge{
  position: absolute;
  top: -12px; left: 16px;
  background: #F0B429;
  color: #0b1d3a;
  font-weight: 800;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  box-shadow: 0 10px 20px rgba(240,180,41,.28);
}

/* Заголовки карток */
.pricing__head{ margin-bottom: 8px; }
.pricing__name{
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .2px;
  color: inherit;
}

/* Ціна */
.pricing__price{
  display: flex; align-items: baseline; gap: 8px;
  margin: 4px 0 10px;
}
.pricing__amount{
  font-size: 40px; font-weight: 800; line-height: 1;
}
.pricing__currency{
  font-size: 16px; font-weight: 700; opacity: .9;
}
.pricing__old{
  margin-left: 8%;
  font-size: 22px; color: #9aa9ad;
  text-decoration: line-through; text-decoration-thickness: 2px;
}
.pricing__card--pro .pricing__old{ color: rgba(255,255,255,.7); }

/* Список переваг */
.pricing__list{
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: grid; gap: 8px;
}
.pricing__list li{
  position: relative;
  padding-left: 24px;
  font-size: 15px;
  line-height: 1.45;
  color: #375559;
}
.pricing__card--pro .pricing__list li{ color: #e7f3f5; }
.pricing__list li::before{
  content: "";
  position: absolute; left: 0; top: 0px;
  width: 22px; height: 22px; border-radius: 4px;
  background: url(./img/icons-check.png);
  background-size: cover;

}

/* Дії */
.pricing__actions{ margin-top: auto; display: grid; gap: 8px; }
.pricing__btn{
  width: 100%;
  font-weight: 700;
  font-size: 16px;
}
.pricing__sub{
  display: inline-block;
  text-align: center;
  font-size: 14px;
  color: #0b1d3a;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pricing__card--pro .pricing__sub{ color: rgba(255,255,255,.9); }
.pricing__note{
  margin: 0;
  font-size: 13px;
  opacity: .85;
}

/* Рядок довіри */
.pricing__trust{
  margin-top: 16px;
  display: flex; flex-wrap: wrap; gap: 12px;
  color: #546b70;
  font-size: 14px;
}
.pricing__trust span{
  padding-left: 20px; position: relative;
}
.pricing__trust span::before{
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 10px; height: 10px; border-radius: 3px;
  background: linear-gradient(135deg,#0f8a96,#0A6670);
  box-shadow: 0 4px 10px rgba(10,102,112,.25);
}

/* Узгодження з твоєю primary-кнопкою */
.pricing .btn--primary{
  background: var(--hero-orange, #FF7A00);
  border-color: transparent;
}
.pricing .btn--primary:hover{ filter: brightness(.96); }


/* ===== FAQ (синій фон секції) ===== */
.section.bs-faq{
  background: var(--c-bgk); /* той самий глибокий синій, що й у інших темних блоках */
  padding: 50px 16px;
  color: #fff;
}

.bs-faq__title{
  margin: 0 0 16px;
  font-size: clamp(20px, 4.8vw, 28px);
  font-weight: 800;
  text-align: center;
  color: #fff !important; /* світлий заголовок на темному фоні */
  font-family: var(--ff-base, "Montserrat", sans-serif);
}

.bs-faq__list{ display: grid; gap: 10px; }

/* Картка FAQ */
.bs-faq__item{
  background: #fff;
  border: 1px solid #E0EFEF;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  overflow: hidden;
}

/* Питання (кнопка) */
.bs-faq__q{
  width: 100%;
  text-align: left;
  padding: 16px 48px 16px 18px;
  font-size: 16px;
  font-weight: 700;
  color: #0B2E31;
  background: #fff;
  border: 0;
  cursor: pointer;
  position: relative;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}

/* «Шеврон» праворуч */
.bs-faq__chev{
  position: absolute;
  right: 12px; top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 22px; height: 22px; border-radius: 6px;
  background: linear-gradient(135deg,#0f8a96,#0A6670);
  transition: transform .2s ease;
}
.bs-faq__q[aria-expanded="true"] .bs-faq__chev{
  transform: translateY(-50%) rotate(90deg);
}

/* Відповідь (акордеон) */
.bs-faq__a{
  height: 0; overflow: hidden; transition: height .24s ease;
  background: #fff;
}
.bs-faq__a-inner{
  padding: 0 18px 18px;
  color: #375559;
  font-size: 15px;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}

/* Трохи більші відступи на планшеті+ */
@media (min-width: 768px){
  .bs-faq__title{ margin-bottom: 18px; }
  .bs-faq__q{ font-size: 16px; padding: 18px 54px 18px 20px; }
  .bs-faq__a-inner{ font-size: 15px; }
}

/* ===== TRUST / GUARANTEE ===== */
.bs-trust__card{
  background:#fff;
  border:1px solid #DDEBEB;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(11,46,49,.06);
  padding:16px;
  display:grid; grid-template-columns:auto 1fr; gap:12px;
}
.bs-trust__icon{
  width:48px; height:48px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  color:#0A6670; background:linear-gradient(135deg,#e8f6f6,#d6eeee);
  box-shadow:inset 0 0 0 1px #E0EFEF;
}
.bs-trust__title{
  margin:0 0 6px;
  font-size:clamp(20px, 4.8vw, 28px);
  font-weight:800; color:#0B2E31;
}
.bs-trust__lead{
  margin:0 0 10px; color:#375559; font-size:15px;
}
.bs-trust__list{
  margin:0 0 12px; padding:0; list-style:none; display:grid; gap:8px;
}
.bs-trust__list li{
  position:relative; padding-left:26px; color:#375559; font-size:14px;
}
.bs-trust__list li::before{
  content:""; position:absolute; left:0; top:6px;
  width:14px; height:14px; border-radius:50%;
  background:linear-gradient(135deg,#0f8a96,#0A6670);
  box-shadow:0 0 0 3px #EAF5F5 inset;
}
.bs-trust__note{
  margin:0 0 14px; color:#59797d; font-size:13px; opacity:.9;
}
.bs-trust__cta{
  width:100%; max-width:360px; margin-top:4px; font-size:18px;
}

@media (min-width:768px){
  .bs-trust__card{ padding:20px; gap:16px; }
  .bs-trust__lead{ font-size:16px }
  .bs-trust__list li{ font-size:15px }
}
@media (min-width:1024px){
  .bs-trust__card{ padding:24px; gap:18px; }
  .bs-trust__title{ font-size:32px }
}

/* ===== REVIEWS ===== */
/* Блок */
.reviews { padding: 56px 0; background:var(--c-bgk); }
.reviews .section__title { text-align:center; margin-bottom:18px; color: white; }

/* Карусель */
.rv-carousel { position:relative; max-width:920px; margin:0 auto; }
.rv-viewport { overflow:hidden; border-radius:16px;  padding:0;
  border:0;  box-shadow:0 8px 20px rgba(0,0,0,.08); background:#fff; }
/* RESET треку: важливо! */
.rv-track{
  display:flex;
  transition:transform .4s ease;
  /* ось ці три рядки — причина більшості “з’їздів”: */
  list-style:none;
  padding:0;
  margin:0;

  gap:0;            /* без проміжків між слайдами */
}
.rv-slide{
  flex:0 0 100%;    /* рівно ширина в’юпорта */
  max-width:100%;
}
.rv-slide img{
  display:block;
  width:100%;
  height:auto;
}

/* Стрілки */
.rv-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  background:var(--c-bgk); color:#fff; border:none;
  width:40px; height:40px; border-radius:50%; cursor:pointer;
  font-size:22px; line-height:40px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 14px rgba(0,0,0,.18);
  opacity:.5; z-index:2;
}
.rv-prev { left:8px; }
.rv-next { right:8px; }
.rv-nav:disabled { opacity:.4; cursor:default; }

@media (min-width:768px){
  .rv-carousel { position:relative; max-width:50%; margin:0 auto; }
}


/* Toast: хто приєднався */
.bs-toast {
  position: fixed; right: 16px; top: 16px;
  background: var(--c-bgk); color: #fff;
  padding: 12px 14px; border-radius: 12px;
  box-shadow: 0 12px 24px rgba(0,0,0,.2);
  display: grid; gap: 4px; z-index: 9999;
  transform: translateY(18px); opacity: 0; transition: .28s ease;
  font-size: 14px; line-height: 1.25;
}
.bs-toast.is-visible { transform: translateY(0); opacity: 1; }
.bs-toast strong { font-weight: 800; }
.bs-toast small { opacity: .9; font-size: 12px; }

.section--dark{background:var(--c-bgk);color:#fff;padding:48px 0}
.section__title--light{color:#fff;margin-bottom:20px}

/* Фон секції + заголовок */
.section--dark{background:#0A6670;color:#fff;padding:48px 0}
.section__title--light{
  color:#fff !important;
  margin-bottom:16px}

/* ===== TIMELINE (grid: rail + card) ===== */
.timeline{
  display:grid;
  gap:16px;
  margin-bottom: 20px;
}
.timeline__row{
  display:grid; grid-template-columns:32px 1fr; align-items:stretch; gap:12px;
}
/* Ліва колонка (рейка) — в ній і лінія, і крапка */
.timeline__rail{position:relative}
.timeline__rail::before{ /* вертикальна лінія в межах РЯДКА */
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  top:0; bottom:-16px; width:2px; background:rgba(255,255,255,.75);
}
.timeline__rail::after{  /* крапка по центру рядка */
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:16px; height:16px; border-radius:50%;
  background:#0A6670; box-shadow:0 0 0 3px #8CD2CF, 0 0 0 6px rgba(255,255,255,.35);
}
/* у першого рядка лінія тільки вниз */
.timeline__row.is-first .timeline__rail::before{ top:50%; }
/* у останнього — тільки вгору */
.timeline__row.is-last .timeline__rail::before{ bottom:50%; }

/* Права колонка — картка */
.timeline__card{
  background:#fff; color:#2c3e43; border-radius:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.14); overflow:hidden;
}
.timeline__body{padding:16px;}

/* Теги */
.tag{display:inline-block;background:#E8F6F7;color:#0A6670;font-weight:800;
  padding:6px 10px;border-radius:999px;font-size:12px;margin-bottom:8px}
.tag--stage{background:#E8F6F7;color:#0A6670} /* без рамок, щоб текст не ламався */
.test__p{
  margin: 0 !important;
}
/* Акордеон: плюс → мінус */
.is-accordion{overflow:hidden}
.timeline__summary{
  display:flex; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; list-style:none;
}
.timeline__summary::-webkit-details-marker{display:none}
.summary__hint{font-size:13px;color:#376e72;opacity:.9}
.toggler{margin-left:auto; position:relative; width:16px; height:16px; flex:0 0 16px}
.toggler::before,.toggler::after{
  content:""; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:2px; background:#0A6670; border-radius:2px;
}
.toggler::after{ transform:translateY(-50%) rotate(90deg); }
.is-accordion[open] .toggler::after{ opacity:0; } /* мінус у відкритому стані */
.timeline__panel{padding:0 16px 16px}
.days{margin:8px 0 0; padding-left:18px}
.days li{margin:8px 0; line-height:1.5}
.days li strong{color:#0A6670}

/* CTA */
.is-cta{margin-top:20px; text-align:center; position: relative;}
.btn.btn--primary{font-weight:800; border-radius:12px; padding:14px 22px}


/* Адаптив: трохи ширші відступи на tablet/desktop */
@media (min-width:480px){
  .timeline__row{grid-template-columns:36px 1fr}
}
@media (min-width:768px){
  .timeline__row{grid-template-columns:42px 1fr}
  .timeline__summary{padding:16px 20px}
  .timeline__body{padding:18px 20px}
}


.bs-countdown{background-color: var(--c-bgk) !important;}
.bs-countdown-color{
  display:inline-flex; align-items:stretch; gap:8px;
  background:var(--c-bgk); color:#fff; padding:10px 12px; border-radius:12px;
  font-feature-settings:"tnum" 1; /* моноцифри */
}

/* ---------- 2) Кнопки: до 480 — повна ширина, далі — по центру, авто ---------- */
.btn{
  min-height:48px;
}
@media (max-width:480px){
  .btn{
    width:100%;
    display:block;
  }
}
/* від 481px: центруємо і не розтягуємо */
@media (min-width:481px){
  .btn{
    width:380px;
    /* display:inline-flex; */
  }}


/* ---------- 4) FAQ: плюс/мінус замість «квадратиків» ---------- */
/* Ховаємо попередню «квадратну» іконку */
.bs-faq__chev{ display:none !important; }

/* Малюємо плюсик псевдоелементами на самому тригері */
.bs-faq__q{
  position:relative;
  padding-right:48px; /* місце під плюс/мінус */
}
.bs-faq__q::before,
.bs-faq__q::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px; height:2px;
  background:#655e5e;
  border-radius:2px;
}
/* вертикальна риска — утворює «+» */
.bs-faq__q::after{
  transform:translateY(-50%) rotate(90deg);
}

/* коли відкрито (твій JS ставить aria-expanded="true") — залишається «мінус» */
.bs-faq__q[aria-expanded="true"]::after{ opacity:0; }

/* трохи більше читабельності відповіді */
.bs-faq__a-inner{
  line-height:1.55;
  font-size:15px;
}
@media (min-width:768px){
  .bs-faq__a-inner{ font-size:16px; }
}

/* ---------- 5) Дрібні корекції сумісності ---------- */
/* Щоб картинки ніколи не вилазили */
img{ max-width:100%; height:auto; }
/* На дуже вузьких екранах у Hero не даємо тексту злипатися з фото */
@media (max-width:360px){
  .hero__grid{ gap:12px; }
}

/* ===== THANK YOU PAGE ===== */
.thankyou-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 8% 8%, rgba(74, 163, 255, .20), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(240, 180, 41, .14), transparent 26%),
    linear-gradient(145deg, #07172f 0%, #0b1d3a 45%, #12335e 100%);
  color: #ffffff;
}

.thankyou {
  position: relative;
  isolation: isolate;
  flex: 1;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: calc(100vh - 58px);
  padding: clamp(28px, 5vw, 72px) 16px;
  overflow: hidden;
}

.thankyou::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.thankyou__glow {
  position: absolute;
  z-index: -1;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
}

.thankyou__glow--one {
  top: -190px;
  left: -130px;
  background: rgba(74, 163, 255, .34);
}

.thankyou__glow--two {
  right: -150px;
  bottom: -210px;
  background: rgba(240, 180, 41, .23);
}

.thankyou__card {
  position: relative;
  width: min(100%, 780px);
  padding: clamp(24px, 4.5vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 28px;
  background: rgba(255, 255, 255, .98);
  color: #0b1d3a;
  box-shadow:
    0 30px 80px rgba(0, 8, 25, .34),
    0 2px 0 rgba(255, 255, 255, .75) inset;
}

.thankyou__card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #f0b429 0%, #ff7a00 52%, #4aa3ff 100%);
}

.thankyou__status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  padding: 8px 12px 8px 8px;
  border: 1px solid #cfe8da;
  border-radius: 999px;
  background: #eefaf3;
  color: #17663c;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}

.thankyou__status-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #24a461;
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(36, 164, 97, .24);
}

.thankyou__status-icon svg {
  width: 17px;
  height: 17px;
}

.thankyou__intro {
  max-width: 650px;
}

.thankyou__eyebrow {
  margin: 0 0 8px;
  color: #d46a00;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.thankyou__title {
  margin: 0 0 14px;
  color: #0b1d3a;
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 900;
}

.thankyou__text {
  max-width: 640px;
  margin: 0;
  color: #526474;
  font-size: clamp(16px, 2.2vw, 18px);
  line-height: 1.65;
}

.thankyou__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0;
}

.thankyou-step {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe9ef;
  border-radius: 16px;
  background: #f7fafc;
}

.thankyou-step--active {
  border-color: #f5cf7a;
  background: #fff9eb;
  box-shadow: 0 10px 24px rgba(240, 180, 41, .10);
}

.thankyou-step__number {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #e8eef4;
  color: #38526a;
  font-size: 14px;
  font-weight: 900;
}

.thankyou-step--active .thankyou-step__number {
  background: linear-gradient(180deg, #ffc64a 0%, #f0b429 100%);
  color: #0b1d3a;
}

.thankyou-step__title {
  margin: 1px 0 5px;
  color: #142c44;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 800;
}

.thankyou-step__text {
  margin: 0;
  color: #667887;
  font-size: 12.5px;
  line-height: 1.5;
}

.thankyou__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.thankyou .thankyou__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  min-width: min(100%, 310px);
  min-height: 58px;
  margin: 0;
  padding: 15px 24px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, #ff9300 0%, #ff7300 100%);
  color: #ffffff;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(255, 115, 0, .28);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.thankyou .thankyou__button:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow: 0 18px 34px rgba(255, 115, 0, .34);
}

.thankyou .thankyou__button:focus-visible {
  outline: 3px solid rgba(74, 163, 255, .45);
  outline-offset: 4px;
}

.thankyou .thankyou__button svg {
  width: 21px;
  height: 21px;
  transition: transform .18s ease;
}

.thankyou .thankyou__button:hover svg {
  transform: translateX(3px);
}

.thankyou__note {
  margin: 0;
  color: #748694;
  font-size: 13px;
  line-height: 1.45;
}

.thankyou__support {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #e4ebf0;
  color: #6a7c8a;
  font-size: 14px;
}

.thankyou__support a {
  color: #0e5c99;
  font-weight: 800;
  text-underline-offset: 3px;
}

.thankyou-footer {
  flex: 0 0 auto;
  padding: 18px 16px 24px;
  background: transparent;
  color: rgba(214, 238, 241, .68);
  text-align: center;
  font-size: 13px;
}

@media (max-width: 760px) {
  .thankyou {
    place-items: start center;
    min-height: auto;
    padding-top: 24px;
  }

  .thankyou__card {
    border-radius: 22px;
  }

  .thankyou__steps {
    grid-template-columns: 1fr;
    margin: 24px 0;
  }

  .thankyou-step {
    padding: 14px;
  }

  .thankyou-step__title {
    font-size: 15px;
  }

  .thankyou-step__text {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .thankyou {
    padding-inline: 12px;
  }

  .thankyou__card {
    padding: 23px 18px;
    border-radius: 20px;
  }

  .thankyou__status {
    margin-bottom: 20px;
    font-size: 12px;
  }

  .thankyou__eyebrow {
    font-size: 11px;
  }

  .thankyou__text {
    line-height: 1.55;
  }

  .thankyou .thankyou__button {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .thankyou .thankyou__button,
  .thankyou .thankyou__button svg {
    transition: none;
  }
}

/* ==== ASSESS (KOOS-light, синій фон) ==== */
.section.bs-assess{
  background: var(--c-bgk); /* глибокий синій фон */
  padding: 50px 16px;
  color: #fff;
}

.bs-assess .section__title--light{
  color: #fff;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
  margin-bottom: 12px;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.bs-assess .assess__lead{
  color: #D6EEF1;
  opacity: .9;
  margin: 0 0 20px;
  font-size: 16px;
}

/* Прогрес */
.assess__progress{margin:14px 0 20px}
.assess__bar{
  height:6px;
  background:rgba(255,255,255,.25);
  border-radius:999px;
  overflow:hidden;
}
.assess__bar-fill{
  display:block;
  height:100%;
  background: var(--c-accent, #19c2d8);
  border-radius:999px;
  transition:width .25s;
}
.assess__steps{
  font-size:13px;
  color:#cde5ff;
  margin-top:6px;
}

/* Форма тесту */
.assess{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
  padding:20px;
  color:#0b1d3a;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.assess__step{display:none}
.assess__step.is-active{display:block}

.assess__h{
  margin:0 0 14px;
  font-weight:800;
  font-size:18px;
  color:#0B2E31;
}

/* Питання */
.assess__q{
  background:#F6FAFA;
  border:1px solid #E0EFEF;
  border-radius:12px;
  padding:14px;
  margin:0 0 14px;
}
.assess__label{
  display:block;
  font-weight:700;
  color:#0B2E31;
  margin:0 0 8px;
}
.assess__radios label{
  margin-right:14px;
  color:#375559;
  font-size:15px;
}
.assess [data-range]{width:100%}
.assess__range-val{
  font-size:13px;
  color:#375559;
  margin-top:4px;
}

/* Навігація кнопок */
.assess__nav{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:10px;
}
.assess__nav .btn{
  min-width: 120px;
  font-weight: 600;
  border: white;
}

/* Результат */
.assess__result{
  margin-top:20px;
  background:#fff;
  border:1px solid #DDEBEB;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(11,46,49,.08);
  padding:20px;
  color:#2b3d43;
}
.assess__badge{
  display:inline-block;
  background:#E8F6F7;
  color:#0A6670;
  border-radius:999px;
  font-weight:800;
  padding:6px 10px;
  margin-bottom:8px;
  font-size:12px;
}
.assess__title{
  margin:0 0 8px;
  font-size:20px;
  font-weight:800;
  color:#0B2E31;
}
.assess__p{margin:0 0 10px; color:#375559}
.assess__list{margin:0 0 12px; padding-left:18px; color:#375559}
.assess__actions{display:flex; gap:10px; flex-wrap:wrap}

/* Попередження */
.assess__warning{
  background:#fff3f3;
  border:1px solid #e53935;
  color:#b73232;
  padding:12px;
  border-radius:12px;
  margin:10px 0 14px;
  font-weight:600;
}

/* мобільна кнопка — лишається твоїм стилем .btn (вже є у файлі) */
.hero--knee {
  position: relative;
  padding: 40px 16px;
  color: #fff;
  text-align: left;
  overflow: hidden;
}

/* Фото на фоні */
.hero-knee__bg {
  position: absolute;
  inset: 0;
  background: url("./img/hero-knee.webp") center/cover no-repeat;
  z-index: 0;
}
.hero-knee__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15, 22, 40, 0.9) 0%, rgba(15, 22, 40, 0.7) 50%, rgba(15, 22, 40, 0.5) 100%);
  z-index: 1;
}

/* Контент */
.hero-knee__inner {
  position: relative;
  z-index: 2;
  max-width: 720px;
}
.hero-knee__eyebrow {
  font-size: 14px;
  margin-bottom: 40px;
  opacity: 0.9;
}
.hero-knee__title {
  font-size: clamp(26px, 5vw, 44px);
  font-weight: 800;
  margin: 0 0 40px;
  line-height: 1.4;
}
.hero-knee__title .accent {
  color: #F0B429;
}
.hero-knee__subtitle .accent {
  color: #F0B429;
}
.hero-knee__bullets {
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
}
.hero-knee__bullets li {
  margin-bottom: 6px;
  position: relative;
  padding-left: 24px;
}
.hero-knee__bullets li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #F0B429;
}

/* Ціна */
.hero-knee__price {
  font-size: 18px;
  margin-bottom: 12px;
}
.hero-knee__price .price-now {
  font-weight: 700;
  color: #F0B429;
}
.hero-knee__price .price-old {
  text-decoration: line-through;
  opacity: 0.7;
}

/* CTA */
.hero-knee__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}
.hero-knee__cta .btn {
  min-width: 180px;
}
.hero-knee__proof {
  font-size: 14px;
  margin: 0 0 12px;
}

/* Таймер */
.hero-knee__meta {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero-knee__spots {
  font-size: 14px;
}
.hero-knee__spots .accent {
  color: #F0B429;
}
/* ===== HERO: підгонка кольорів під фото ===== */
.hero--knee{
  --hero-img: url("./img/hero-knee.jpg");     /* шлях до твоєї фотки */
  /* Палiтра під твоє фото (темні штори + синє світло) */
  --tone-deep: #0b1d3a;   /* темна база, синьо-індиго */
  --tone-mid:  #0e274d;   /* середній відтінок */
  --tone-soft: #163964;   /* м'якший синій для переходів */
  --tone-blue: #4aa3ff;   /* «світлова смуга» зліва */
  --accent:    #F0B429;   /* акцент для виділень/ціни */

  position: relative;
  padding: 40px 16px;
  color: #fff;
  overflow: hidden;
}

/* Фото позаду тексту */
.hero-knee__bg{
  position: absolute; inset: 0;
  background: var(--tone-deep) var(--hero-img) center/cover no-repeat;
  filter: saturate(.95) contrast(1.05) brightness(.9);
  z-index: 0;
}

/* Багатошаровий оверлей, щоб текст завжди читався */
.hero-knee__overlay{
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background:
    /* 1) основний лівий градієнт для тексту */
    linear-gradient(90deg,
      color-mix(in oklab, var(--tone-deep) 92%, black 8%) 0%,
      color-mix(in oklab, var(--tone-mid) 86%, black 14%) 42%,
      color-mix(in oklab, var(--tone-soft) 70%, transparent 30%) 62%,
      transparent 100%),
    /* 2) м'яка віньєтка знизу-праворуч */
    radial-gradient(120% 120% at 85% 85%,
      transparent 0%,
      color-mix(in oklab, var(--tone-soft) 30%, transparent 70%) 55%,
      color-mix(in oklab, var(--tone-deep) 75%, black 25%) 100%),
    /* 3) «світлова смуга» зліва (імітація панелі) */
    linear-gradient(90deg,
      color-mix(in oklab, var(--tone-blue) 40%, white 60%) 0%,
      transparent 22%);
  opacity: .70;
}

/* Контент зверху */
.hero-knee__inner{
  position: relative; z-index: 2;
  max-width: 720px; margin: 0 auto;
}

.hero-knee__eyebrow{ font-size:14px; margin:0 0 40px; opacity:.92; }

.hero-knee__title{
  margin: 0 0 20px;
  font-size: clamp(26px, 5vw, 44px);
  line-height: 1.40; font-weight: 800;
}
.hero-knee__title .accent{ color: var(--accent); }

.bs-countdown-knee {background-color: transparent !important;} 

.hero-knee__subtitle {
  list-style:none; margin:0 0 30px; padding:0; display:grid; gap:8px;
  font-size:16px;
}

.hero-knee__bullets{
  list-style:none; margin:0px 0 20px; padding:0; display:grid; gap:8px;
  font-size:16px;
}
.hero-knee__bullets li{ position:relative; padding-left:26px; }
.hero-knee__bullets li::before{
  content:""; position:absolute; left:0; top:1px;
  width:22px; height:22px; border-radius:4px;
  background-image: url(./img/icons-check.png);
  background-size: cover;
  box-shadow: 0 6px 14px rgba(10,102,112,.25);
}

.hero-knee__price{ margin:0 0 10px; font-size:18px; }
.hero-knee__price .price-now{ color: var(--accent); font-weight:800; }
.hero-knee__price .price-old{ opacity:.75; text-decoration:line-through; text-decoration-thickness:2px; }

.hero-knee__proof{ margin: 20px 0 10px; font-size:20px; opacity:.92; }
.hero-knee__proof .accent {color: var(--accent); }

.hero-knee__cta{ display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 6px; }
.hero-knee__cta .btn{ min-width:190px; }
.hero-knee__cta-test{
  background: transparent; color:#fff; border:2px solid rgba(255,255,255,.6);
  border-radius: 14px; padding:10px 16px; transition: .2s ease;
}
.hero-knee__cta-test:hover{ border-color:#fff; transform: translateY(-1px); }

.hero-knee__meta{ display:grid; gap:10px; font-size:14px; }
.hero-knee__spots{ margin:0; opacity:.92; }

/* Трохи інший кадр на десктопі — зміщуємо фокус, збільшуємо «світло» */
@media (min-width: 900px){
  .hero--knee{ padding: 56px 48px; }
  .hero-knee__bg{ background-position: 62% center; }
  .hero-knee__overlay{
    background:
      linear-gradient(90deg,
        color-mix(in oklab, var(--tone-deep) 94%, black 6%) 0%,
        color-mix(in oklab, var(--tone-mid) 88%, black 12%) 40%,
        color-mix(in oklab, var(--tone-soft) 65%, transparent 35%) 64%,
        transparent 100%),
      radial-gradient(120% 120% at 85% 85%, transparent 0%,
        color-mix(in oklab, var(--tone-soft) 28%, transparent 72%) 56%,
        color-mix(in oklab, var(--tone-deep) 78%, black 22%) 100%),
      linear-gradient(90deg,
        color-mix(in oklab, var(--tone-blue) 46%, white 54%) 0%,
        transparent 26%);
  }
}

/* Опційно: контур для максимально темних фонів (підвищує читабельність) */
.hero--knee .hero-knee__title,
.hero--knee .hero-knee__bullets,
.hero--knee .hero-knee__price,
.hero--knee .hero-knee__proof{
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
}

/* ===== WHO: Для кого курс (білий фон, сині картки) ===== */
.who--alt{
  background: #ffffff;
  color: #0b1d3a;
  padding: 40px 16px;
}
.who__inner{ max-width: var(--container, 1120px); margin: 0 auto; }

.who__title{
  margin: 0 0 8px;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.who__lead{
  margin: 0 0 20px;
  font-size: 16px;
  color: #444;
  max-width: 860px;
}

/* Сітка */
.who__grid{
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px){
  .who__grid{ grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px){
  .who__grid{ grid-template-columns: 1fr 1fr 1fr 1fr; }
}

/* Картка */
.who__card{
  background: var(--tone-deep);
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.who__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

/* Фото */
.who__media{
  aspect-ratio: 4/3;
  background: #eee;
}
.who__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Текст */
.who__body{ padding: 14px 16px 18px; }
.who__h{
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.who__p{
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}


/* ===== WHY: Чому традиційне лікування не працює ===== */
.why{
  /* гармонія з hero: темно-синя гама, легка текстура */
  background:var(--c-bgk);
  color:#fff;
  padding: 40px 16px;
}
.why__inner{ max-width: var(--container, 1120px); margin: 0 auto; }

.why__title{
  margin: 0 0 8px;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
}
.why__lead{
  margin: 0 0 18px;
  font-size: 16px;
  color: color-mix(in oklab, #ffffff 86%, #cfe5ff 14%);
  max-width: 860px;
}

/* Сітка причин */
.why__grid{
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  margin-bottom: 18px;
}
@media (min-width: 768px){
  .why__grid{ grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (min-width: 1024px){
  .why__grid{ grid-template-columns: 1fr 1fr 1fr; gap: 18px; }
}

/* Картка причини */
.why__card{
  background:#fff;
  color:#2b3d43;
  border:1px solid #E0EFEF;
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 22px rgba(11,46,49,.08);
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 152px;
}
.why__card:hover{
  transform: translateY(-3px);
  box-shadow:0 12px 28px rgba(11,46,49,.12);
}
.why__h{
  margin:0 0 6px;
  font-size:17px; font-weight:800; color:#0B2E31;
}
.why__p{
  margin:0; font-size:15px; color:#375559; line-height:1.45;
}

/* Блок «Що працює» */
.why__works{
  background:#ffffff;
  color:#2b3d43;
  border:1px solid #DDEBEB;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 26px rgba(11,46,49,.06);
}
.why__subtitle{
  margin:0 0 10px;
  font-size: clamp(18px, 4.2vw, 22px);
  font-weight:800; color:#0B2E31;
}
.why__list{
  margin:0 0 12px; padding:0; list-style:none; display:grid; gap:8px;
}
.why__list li{
  position:relative; padding-left:26px; color:#375559; font-size:15px;
}
.why__list li::before{
  content:""; position:absolute; left:0; top:0px;
  width:22px; height:22px; border-radius:4px;
  background: url(./img/icons-check.png);
  background-size: contain;
}

.why__cta{ margin-top: 6px; }
.why__cta .btn{ min-width: 220px; }

/* ===== PROGRAM: Структура курсу ===== */
.program{
  background:var(--c-bgk);
  color:#fff;
  padding: 40px 16px;
}
.program__inner{ max-width: var(--container, 1120px); margin: 0 auto; }

.program__title{
  margin: 0 0 8px;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
}
.program__lead{
  margin: 0 0 18px;
  font-size: 16px;
  color: color-mix(in oklab, #ffffff 86%, #cfe5ff 14%);
  max-width: 860px;
}

/* Лінійка (таймлайн) */
.program__timeline{
  list-style: none; margin: 0 0 18px; padding: 0;
  display: grid; gap: 16px;
}
.program__step{ display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: stretch; }
.program__rail{ position: relative; }
.program__rail::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  top:0; bottom:0; width:2px; background: rgba(255,255,255,.7);
}
.program__card{
  background:#fff; color:#2b3d43;
  border:1px solid #E0EFEF; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 26px rgba(11,46,49,.08);
  padding: 16px;
}
.program__badge{
  display:inline-block; font-size:12px; font-weight:800; letter-spacing:.02em;
  background:#E8F6F7; color:#0A6670; border-radius:999px; padding:6px 10px; margin-bottom:8px;
}
.program__badge--gate{ background:#FFF7E6; color:#8a5a00; }
.program__h{ margin:0 0 8px; font-size:18px; font-weight:800; color:#0B2E31; }
.program__list{ margin:0; padding:0 0 0 18px; color:#375559; font-size:15px; }
.program__actions{ margin-top: 12px; }

.program__card--gate{
  border-color:#F6E8C8;
  box-shadow:0 12px 28px rgba(240,180,41,.12);
}

/* Бонуси */
.program__bonuses{ margin-top: 10px; }
.program__subtitle{
  margin: 0 0 12px; font-size: clamp(18px, 4.2vw, 22px); font-weight: 800; color: #fff;
}
.program__bonus-grid{
  display:grid; gap: 12px; grid-template-columns:1fr;
}
@media (min-width: 768px){
  .program__bonus-grid{ grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
}
.program__bonus{
  background:#F6FAFA; color:#2b3d43; border:1px solid #DDEBEB;
  border-radius:14px; padding:14px;
}
.program__bh{ margin:0 0 6px; font-size:16px; font-weight:800; color:#0B2E31; }
.program__bp{ margin:0; font-size:15px; color:#375559; }

/* Нагадування */
.program__remind{ margin-top: 16px; }
.program__remind-card{
  background:#ffffff; color:#2b3d43; border:1px solid #DDEBEB;
  border-radius:16px; padding:14px; display:grid; gap:12px; align-items:center;
  grid-template-columns: auto 1fr auto;
  box-shadow:0 10px 26px rgba(11,46,49,.06);
}
.program__remind-icon{
  width:48px; height:48px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg,#0f8a96,#0A6670); color:#fff; font-size:22px;
  box-shadow:0 6px 14px rgba(10,102,112,.25);
}
.program__rh{ margin:0 0 6px; font-size:17px; font-weight:800; color:#0B2E31; }
.program__rp{ margin:0; font-size:15px; color:#375559; }
.program__remind-actions .btn{ min-width: 220px; }

/* Адаптація */
@media (max-width: 640px){
  .program__step{ grid-template-columns: 24px 1fr; }
  .program__remind-card{ grid-template-columns: 1fr; text-align: left; }
}
/* ===== INCLUDED (білий фон, сині картки, фото) ===== */
.included--alt{
  background: #ffffff;
  color: var(--c-bgk);
  padding: 40px 16px;
}
.included__inner{ max-width: var(--container, 1120px); margin: 0 auto; }

.included__title{
  color:#2b3d43;
  margin: 0 0 8px;
  font-weight: 800;
  font-size: clamp(22px, 4.6vw, 32px);
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.included__lead{
  margin: 0 0 20px;
  font-size: 16px;
  color: #444;
  max-width: 860px;
}

/* Сітка */
.included__grid{
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px){
  .included__grid{ grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px){
  .included__grid{ grid-template-columns: 1fr 1fr 1fr; }
}

/* Картка */
.included__card{
  background: var(--tone-deep);
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.included__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

/* Фото */
.included__media{
  aspect-ratio: 4/3;
  background: #eee;
}
.included__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Текст */
.included__body{ padding: 14px 16px 18px; }
.included__h{
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.included__p{
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}


.site-footer-knee {
    background: var(--c-bgk);
    color: #D6EEF1;
    padding: 22px 0 26px;
    margin-top: 16px;
}

/* ===== GUARANTEE ===== */
.guarantee{
  background: #f8fbfc; /* світлий спокійний фон */
  padding: 50px 16px;
}
.guarantee__inner{
  max-width: 720px;
  margin: 0 auto;
}
.guarantee__card{
  background: #ffffff;
  border: 1px solid #ddebea;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  padding: 28px 22px;
  text-align: center;
}
.guarantee__icon{
  font-size: 42px;
  margin-bottom: 12px;
}
.guarantee__title{
  margin: 0 0 12px;
  font-size: clamp(20px, 4.8vw, 28px);
  font-weight: 800;
  color: #0b1d3a;
  font-family: var(--ff-base, "Montserrat", sans-serif);
}
.guarantee__text{
  margin: 0 0 10px;
  font-size: 16px;
  color: #375559;
  line-height: 1.5;
}
.guarantee__note{
  margin: 0;
  font-size: 14px;
  color: #607d82;
  line-height: 1.4;
}


.assess__expert-cta{
  margin-top:14px;
  padding:14px;
  border:1px solid #E0EFEF;
  border-radius:14px;
  background:#F6FAFA;
}
.assess__expert-text{
  margin:0 0 10px;
  color:#375559;
}

.pricing__card--pulse{
  animation: pricingPulse 1.6s ease;
}

@keyframes pricingPulse {
  0% { transform: translateY(0); box-shadow: 0 12px 28px rgba(11,46,49,.10); }
  35% { transform: translateY(-4px); box-shadow: 0 20px 36px rgba(11,46,49,.18); }
  100% { transform: translateY(0); box-shadow: inherit; }
}

/* ========================================================================== */
/* Landing v4 — symptom-led, trust-first redesign                            */
/* ========================================================================== */

body.landing-v4 {
  --lp-navy: #06172f;
  --lp-blue: #0e2c55;
  --lp-blue-soft: #173f70;
  --lp-yellow: #f3b82e;
  --lp-yellow-deep: #dc9700;
  --lp-cream: #f5f0e7;
  --lp-paper: #fffdf9;
  --lp-text: #10223b;
  --lp-muted: #5f6d7e;
  --lp-line: rgba(16, 34, 59, .12);
  --lp-radius: 22px;
  --lp-shadow: 0 22px 60px rgba(6, 23, 47, .12);
  margin: 0;
  min-width: 320px;
  background: var(--lp-paper);
  color: var(--lp-text);
  font-family: var(--ff-base);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.landing-v4 *,
body.landing-v4 *::before,
body.landing-v4 *::after {
  box-sizing: border-box;
}

body.landing-v4 img {
  display: block;
  max-width: 100%;
}

body.landing-v4 a {
  color: inherit;
  text-decoration: none;
}

body.landing-v4 button,
body.landing-v4 a {
  -webkit-tap-highlight-color: transparent;
}

.lp-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.lp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  padding: 10px max(20px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(6, 23, 47, .93);
  color: #fff;
  backdrop-filter: blur(16px);
}

.lp-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.02em;
}

.lp-brand__mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  font-size: 14px;
  line-height: 1;
}

.lp-header__cta {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, background-color .2s ease;
}

.lp-header__cta:hover {
  transform: translateY(-1px);
  background: #ffc743;
}

.lp-hero {
  position: relative;
  isolation: isolate;
  min-height: 740px;
  overflow: hidden;
  background:
    radial-gradient(circle at 73% 22%, rgba(55, 121, 195, .34), transparent 29%),
    linear-gradient(120deg, #04132b 0%, #082348 58%, #0f3562 100%);
  color: #fff;
}

.lp-hero::after {
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 220px;
  background: linear-gradient(180deg, transparent, rgba(4, 19, 43, .76));
  content: "";
}

.lp-hero__visual {
  position: absolute;
  inset: 0 0 0 48%;
  z-index: -2;
  background-image:
    linear-gradient(90deg, rgba(4, 19, 43, 1) 0%, rgba(4, 19, 43, .62) 28%, rgba(4, 19, 43, .08) 70%),
    linear-gradient(0deg, rgba(4, 19, 43, .65) 0%, transparent 42%),
    url("img/hero-knee.webp");
  background-position: left center, center, center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .96;
}

.lp-hero__inner {
  display: flex;
  min-height: 740px;
  align-items: center;
  padding-block: 80px 96px;
}

.lp-hero__content {
  width: min(660px, 62%);
}

.lp-eyebrow,
.lp-kicker {
  margin: 0 0 14px;
  color: var(--lp-yellow);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.lp-kicker {color: #04132b;}

.lp-hero h1,
.lp-heading h2,
.lp-personal h2,
.lp-author h2,
.lp-guarantee h2 {
  margin: 0;
  font-weight: 800;
  letter-spacing: -.04em;
}

.lp-hero h1 {
  max-width: 720px;
  font-size: clamp(40px, 5.4vw, 70px);
  line-height: 1.03;
}

.lp-hero__lead {
  max-width: 650px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, .84);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
}

.lp-checks {
  display: grid;
  gap: 13px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.lp-checks li {
  position: relative;
  padding-left: 32px;
}

.lp-checks li::before {
  position: absolute;
  top: .18em;
  left: 0;
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 50%;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  content: "✓";
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.lp-checks--hero {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 640px;
  margin-top: 28px;
  color: rgba(255, 255, 255, .92);
  font-size: 15px;
}

.lp-hero__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.lp-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.lp-button:hover {
  transform: translateY(-2px);
}

.lp-button--primary {
  background: var(--lp-yellow);
  color: var(--lp-navy);
  box-shadow: 0 12px 30px rgba(243, 184, 46, .24);
}

.lp-button--primary:hover {
  background: #ffc846;
  box-shadow: 0 16px 36px rgba(243, 184, 46, .32);
}

.lp-button--dark {
  background: var(--lp-navy);
  color: #fff;
  box-shadow: 0 14px 34px rgba(6, 23, 47, .22);
}

.lp-button--full {
  width: 100%;
}

.lp-price-note {
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
}

.lp-price-note strong {
  color: var(--lp-yellow);
  font-size: 17px;
}

.lp-price-note span {
  color: rgba(255, 255, 255, .68);
}

.lp-social-proof {
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 14px;
}

.lp-social-proof strong {
  color: #fff;
}

.lp-section {
  padding-block: 50px;
}

.lp-section--light {
  background: var(--lp-paper);
}

.lp-section--cream {
  background: var(--lp-cream);
}

.lp-section--deep {
  background:
    radial-gradient(circle at 90% 0%, rgba(46, 99, 158, .22), transparent 28%),
    linear-gradient(145deg, #06172f 0%, #0b294f 100%);
  color: #fff;
}

.lp-section--accent {
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, .38), transparent 26%),
    linear-gradient(130deg, #f4bd37 0%, #e8a81a 100%);
  color: var(--lp-navy);
}

.lp-section--pricing {
  background: #f8f9fb;
}

.lp-section--guarantee {
  padding-block: 60px;
  background: var(--lp-paper);
}

.lp-heading {
  max-width: 820px;
  margin: 0 auto 54px;
  text-align: center;
}

.lp-heading h2,
.lp-personal h2,
.lp-author h2,
.lp-guarantee h2 {
  font-size: clamp(32px, 4.1vw, 52px);
  line-height: 1.12;
}

.lp-heading > p:last-child {
  max-width: 760px;
  margin: 10px auto 0;
  color: #06172f;
  font-size: 20px;
}

.lp-heading--light > p:last-child {
  color: rgba(255, 255, 255, .7);
}

.lp-heading--light h2 {
  color: #fff;
}

.lp-situation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.lp-situation-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 230px;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: var(--lp-radius);
  background: #fff;
  box-shadow: 0 12px 35px rgba(6, 23, 47, .07);
}

.lp-situation-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-situation-card > div {
  padding: 28px 26px;
}

.lp-situation-card h3,
.lp-cycle h3,
.lp-path h3,
.lp-benefit-grid h3,
.lp-example-card h3,
.lp-pricing-card h3 {
  margin: 0;
  color: var(--lp-text);
  font-size: 21px;
  line-height: 1.28;
  letter-spacing: -.025em;
}

.lp-situation-card p,
.lp-cycle p,
.lp-path p,
.lp-benefit-grid p,
.lp-pricing-card__fit {
  margin: 12px 0 0;
  color: var(--lp-muted);
}

.lp-situation-card--wide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, 32%) minmax(0, 1fr);
  background: linear-gradient(120deg, #fff 0%, #fff8e8 100%);
}

.lp-card-label {
  margin: 0 0 8px !important;
  color: var(--lp-yellow-deep) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lp-cycle {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.lp-cycle article {
  position: relative;
  min-height: 245px;
  padding: 28px 24px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 20px;
  background: rgba(255, 255, 255, .06);
}

.lp-cycle article:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -13px;
  z-index: 2;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  content: "→";
  font-size: 14px;
  font-weight: 900;
  transform: translateY(-50%);
}

.lp-cycle span {
  display: inline-flex;
  margin-bottom: 28px;
  color: var(--lp-yellow);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.lp-cycle h3 {
  color: #fff;
}

.lp-cycle p {
  color: rgba(255, 255, 255, .66);
}

.lp-insight {
  max-width: 850px;
  margin: 42px auto 0;
  padding: 26px 30px;
  border-left: 4px solid var(--lp-yellow);
  border-radius: 0 18px 18px 0;
  background: rgba(255, 255, 255, .08);
  text-align: left;
}

.lp-insight strong {
  font-size: 20px;
}

.lp-insight p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .72);
}

.lp-path {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 18px;
}

.lp-path__card {
  padding: 30px;
  border: 1px solid rgba(16, 34, 59, .1);
  border-radius: var(--lp-radius);
  background: #fff;
  box-shadow: var(--lp-shadow);
}

.lp-path__card--check {
  background: var(--lp-navy);
  color: #fff;
}

.lp-path__card--check h3,
.lp-path__card--check p:not(.lp-card-label) {
  color: #fff;
}

.lp-path__card--check p:not(.lp-card-label) {
  opacity: .7;
}

.lp-path__number {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 25px;
  place-items: center;
  border-radius: 15px;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  font-size: 19px;
  font-weight: 900;
}

.lp-path__arrow {
  display: grid;
  min-width: 30px;
  place-items: center;
  color: var(--lp-yellow-deep);
  font-size: 30px;
  font-weight: 800;
}

.lp-center-cta {
  margin-top: 42px;
  text-align: center;
}

.lp-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.lp-benefit-grid article {
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: var(--lp-radius);
  background: #fff;
  box-shadow: 0 12px 32px rgba(6, 23, 47, .07);
}

.lp-benefit-grid img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.lp-benefit-grid article > div {
  padding: 25px;
}

.lp-personal {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(310px, .7fr);
  align-items: center;
  gap: 70px;
}

.lp-personal__lead {
  max-width: 720px;
  margin: 22px 0 0;
  font-size: 18px;
}

.lp-personal .lp-checks {
  margin-block: 28px;
}

.lp-personal .lp-checks li::before {
  background: var(--lp-navy);
  color: #fff;
}

.lp-format-note {
  margin: 30px 0;
  padding: 22px 24px;
  border: 1px solid rgba(6, 23, 47, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .42);
}

.lp-format-note strong {
  font-size: 18px;
}

.lp-format-note p {
  margin: 5px 0 0;
}

.lp-personal__example {
  position: relative;
}

.lp-personal__example::before,
.lp-personal__example::after {
  position: absolute;
  border-radius: 28px;
  background: rgba(255, 255, 255, .27);
  content: "";
}

.lp-personal__example::before {
  inset: -24px 24px 24px -24px;
}

.lp-personal__example::after {
  inset: 24px -24px -24px 24px;
}

.lp-example-card {
  position: relative;
  z-index: 1;
  padding: 38px 34px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 25px 60px rgba(6, 23, 47, .22);
}

.lp-example-card ul {
  display: grid;
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.lp-example-card li {
  position: relative;
  padding: 14px 14px 14px 45px;
  border-radius: 12px;
  background: #f5f7fa;
}

.lp-example-card li::before {
  position: absolute;
  top: 14px;
  left: 15px;
  color: var(--lp-yellow-deep);
  content: "→";
  font-weight: 900;
}

.lp-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
}

.lp-review-grid figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(6, 23, 47, .08);
}

.lp-review-grid img {
  width: 100%;
  min-height: 190px;
  object-fit: contain;
  background: #fff;
}

.lp-review-grid:not(.lp-review-grid--personal) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lp-author {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 70px;
}

.lp-author__photo {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 30px;
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 25px 65px rgba(0, 0, 0, .25);
}

.lp-author__photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.lp-author__content h2 {
  color: #fff;
}

.lp-author__content > p:not(.lp-kicker) {
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 18px;
}

.lp-author .lp-checks {
  color: rgba(255, 255, 255, .85);
}

.lp-price-policy {
  max-width: 720px;
  margin: 26px auto 0;
  padding: 15px 20px;
  border: 1px solid rgba(220, 151, 0, .25);
  border-radius: 14px;
  background: #fff9e9;
  color: #695014;
  font-size: 14px;
}

.lp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 28px;
  max-width: 1000px;
  margin-inline: auto;
}

.lp-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 38px;
  border: 1px solid var(--lp-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(6, 23, 47, .09);
}

.lp-pricing-card--featured {
  border: 2px solid var(--lp-yellow);
  box-shadow: 0 24px 70px rgba(6, 23, 47, .16);
  transform: translateY(-10px);
}

.lp-pricing-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 8px 18px;
  border-radius: 0 0 13px 13px;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.lp-pricing-card--featured > .lp-card-label {
  margin-top: 16px !important;
}

.lp-pricing-card h3 {
  min-height: 54px;
  font-size: 24px;
}

.lp-pricing-card__price {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 24px 0 0;
}

.lp-pricing-card__price strong {
  color: var(--lp-navy);
  font-size: 54px;
  letter-spacing: -.06em;
  line-height: 1;
}

.lp-pricing-card__price span {
  color: var(--lp-navy);
  font-weight: 800;
}

.lp-pricing-card__price del {
  margin-left: auto;
  color: #9aa3af;
  font-size: 14px;
}

.lp-pricing-card__fit {
  min-height: 78px;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--lp-line);
}

.lp-pricing-card .lp-checks {
  flex: 1;
  margin: 26px 0 30px;
  color: #394a60;
  font-size: 15px;
}

.lp-pricing-card__note {
  margin: 13px 0 0;
  color: #778292;
  font-size: 12px;
  text-align: center;
}

.pricing__card--pulse,
.lp-pricing-card--pulse {
  animation: lp-card-pulse 1.1s ease-in-out 2;
}

@keyframes lp-card-pulse {
  0%, 100% { box-shadow: 0 24px 70px rgba(6, 23, 47, .16); }
  50% { box-shadow: 0 0 0 7px rgba(243, 184, 46, .24), 0 28px 76px rgba(6, 23, 47, .2); }
}

.lp-faq {
  max-width: 960px;
}

body.landing-v4 .bs-faq__list {
  display: grid;
  gap: 12px;
}

body.landing-v4 .bs-faq__item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 17px;
  background: rgba(255, 255, 255, .06);
}

body.landing-v4 .bs-faq__q {
  position: relative;
  width: 100%;
  padding: 22px 58px 22px 24px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  text-align: left;
}

body.landing-v4 .bs-faq__chev {
  position: absolute;
  top: 50%;
  right: 22px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
}

body.landing-v4 .bs-faq__chev::before,
body.landing-v4 .bs-faq__chev::after {
  position: absolute;
  top: 8px;
  left: 2px;
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background: var(--lp-yellow);
  content: "";
  transition: transform .25s ease;
}

body.landing-v4 .bs-faq__chev::after {
  transform: rotate(90deg);
}

body.landing-v4 .bs-faq__q[aria-expanded="true"] .bs-faq__chev::after {
  transform: rotate(0deg);
}

body.landing-v4 .bs-faq__a {
  height: 0;
  overflow: hidden;
  transition: height .3s ease;
}

body.landing-v4 .bs-faq__a-inner {
  padding: 0 24px 24px;
  color: rgba(255, 255, 255, .68);
}

.lp-guarantee {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 38px 42px;
  border: 1px solid var(--lp-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: var(--lp-shadow);
}

.lp-guarantee__icon {
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border-radius: 20px;
  background: #e9f5e8;
  color: #2c7e34;
  font-size: 28px;
  font-weight: 900;
}

.lp-guarantee h2 {
  font-size: 30px;
}

.lp-guarantee p:not(.lp-card-label) {
  margin: 8px 0 0;
  color: var(--lp-muted);
}

.lp-footer {
  padding-block: 62px 92px;
  background: #041125;
  color: #fff;
}

.lp-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr .7fr .7fr;
  gap: 60px;
}

.lp-brand--footer {
  margin-bottom: 18px;
}

.lp-footer p {
  margin: 0;
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
}

.lp-footer h3 {
  margin: 0 0 14px;
  font-size: 15px;
}

.lp-footer__grid > div:not(:first-child) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.lp-footer__grid > div:not(:first-child) a {
  margin: 4px 0;
  color: rgba(255, 255, 255, .67);
  font-size: 14px;
}

.lp-footer__grid > div:not(:first-child) a:hover {
  color: var(--lp-yellow);
}

.lp-footer__bottom {
  margin-top: 42px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  color: rgba(255, 255, 255, .45);
  font-size: 13px;
}

.lp-sticky-cta {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  display: none;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border-radius: 999px;
  background: var(--lp-yellow);
  color: var(--lp-navy);
  box-shadow: 0 14px 35px rgba(6, 23, 47, .3);
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 1020px) {
  .lp-hero__visual {
    left: 40%;
  }

  .lp-hero__content {
    width: 70%;
  }

  .lp-situation-card {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .lp-cycle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-cycle article:not(:last-child)::after {
    display: none;
  }

  .lp-path {
    grid-template-columns: 1fr;
  }

  .lp-path__arrow {
    transform: rotate(90deg);
  }

  .lp-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-personal,
  .lp-author {
    grid-template-columns: 1fr;
  }

  .lp-personal__example {
    max-width: 680px;
  }

  .lp-author__photo {
    width: min(420px, 100%);
  }
}

@media (max-width: 760px) {
  .lp-shell {
    width: min(100% - 28px, 680px);
  }

  .lp-header {
    min-height: 62px;
    padding-inline: 14px;
  }

  .lp-brand__mark {
    width: 34px;
    height: 34px;
  }

  .lp-brand__text {
    font-size: 15px;
  }

  .lp-header__cta {
    min-height: 38px;
    padding-inline: 14px;
    font-size: 12px;
  }

  .lp-hero,
  .lp-hero__inner {
    min-height: auto;
  }

  .lp-hero__visual {
    inset: 0;
    background-image:
      linear-gradient(180deg, rgba(4, 19, 43, .22) 0%, rgba(4, 19, 43, .78) 39%, #04132b 66%),
      url("img/hero-knee.webp");
    background-position: center top, center top;
    background-size: cover, auto 420px;
  }

  .lp-hero__inner {
    align-items: flex-end;
    padding-block: 280px 60px;
  }

  .lp-hero__content {
    width: 100%;
  }

  .lp-hero h1 {
    font-size: clamp(36px, 10vw, 50px);
  }

  .lp-hero__lead {
    font-size: 17px;
  }

  .lp-checks--hero {
    grid-template-columns: 1fr;
  }

  .lp-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }

  .lp-hero__actions .lp-button {
    width: 100%;
  }

  .lp-section {
    padding-block: 72px;
  }

  .lp-heading {
    margin-bottom: 36px;
    text-align: left;
  }

  .lp-heading h2,
  .lp-personal h2,
  .lp-author h2 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .lp-heading > p:last-child {
    margin-inline: 0;
    font-size: 16px;
  }

  .lp-situation-grid,
  .lp-benefit-grid,
  .lp-review-grid,
  .lp-review-grid:not(.lp-review-grid--personal),
  .lp-pricing-grid,
  .lp-footer__grid {
    grid-template-columns: 1fr;
  }

  .lp-situation-card,
  .lp-situation-card--wide {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .lp-situation-card img {
    height: 210px;
  }

  .lp-cycle {
    grid-template-columns: 1fr;
  }

  .lp-path__card,
  .lp-pricing-card {
    padding: 27px 23px;
  }

  .lp-benefit-grid img {
    height: 210px;
  }

  .lp-personal {
    gap: 48px;
  }

  .lp-review-grid {
    display: flex !important;
    margin-inline: -14px;
    padding-inline: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .lp-review-grid::-webkit-scrollbar {
    display: none;
  }

  .lp-review-grid figure {
    flex: 0 0 86%;
    scroll-snap-align: start;
  }

  .lp-pricing-card--featured {
    transform: none;
  }

  .lp-pricing-card h3,
  .lp-pricing-card__fit {
    min-height: auto;
  }

  .lp-pricing-card__price strong {
    font-size: 48px;
  }

  .lp-guarantee {
    grid-template-columns: 1fr;
    padding: 28px 24px;
    text-align: left;
  }

  .lp-guarantee h2 {
    font-size: 28px;
  }

  .lp-guarantee .lp-button {
    width: 100%;
  }

  .lp-footer {
    padding-bottom: 108px;
  }

  .lp-footer__grid {
    gap: 32px;
  }

  .lp-sticky-cta {
    display: inline-flex;
  }
}

@media (max-width: 430px) {
  .lp-header__cta {
    display: none;
  }

  .lp-hero__inner {
    padding-top: 250px;
  }

  .lp-hero h1 {
    font-size: 36px;
  }

  .lp-situation-card > div,
  .lp-benefit-grid article > div,
  .lp-example-card {
    padding: 22px;
  }

  .lp-personal__example::before,
  .lp-personal__example::after {
    display: none;
  }

  .lp-pricing-card__price del {
    font-size: 12px;
  }
}

/* ===== HERO V4: повернення візуалу першого екрана ===== */
body.landing-v4 .hero-knee {
  max-width: 514px;
}

body.landing-v4 .hero-knee__eyebrow {
  max-width: 59%;
  margin-bottom: 72px;
}

body.landing-v4 .hero-knee__title {
  max-width: 78%;
  margin-bottom: 28px;
  font-size: clamp(34px, 8vw, 44px);
  line-height: 1.16;
  letter-spacing: -0.5px;
}

body.landing-v4 .hero-knee__title span {
  display: block;
  margin-top: 12px;
  color: #ffc226;
}

body.landing-v4 .hero-knee__subtitle {
  display: block;
  max-width: 82%;
  margin: 0 0 26px;
  font-size: 18px;
  line-height: 1.48;
}

body.landing-v4 .hero-knee__subtitle strong {
  display: inline-block;
  margin-top: 4px;
  color: #ffc226;
  font-weight: 800;
}

body.landing-v4 .hero-knee__bullets {
  gap: 18px;
  margin-bottom: 30px;
}

body.landing-v4 .hero-knee__bullets li {
  padding-left: 38px;
  font-size: 16px;
  line-height: 1.42;
}

body.landing-v4 .hero-knee__divider {
  margin-bottom: 30px;
}

body.landing-v4 .hero-knee__price {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.3;
  text-align: center;
}

body.landing-v4 .hero-knee__price strong {
  color: #ffc226;
  font-size: 42px;
  font-weight: 900;
  white-space: nowrap;
}

body.landing-v4 .hero-knee__price span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 21px;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

body.landing-v4 .hero-knee__price-note {
  max-width: 390px;
  margin: 0 auto 24px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

body.landing-v4 .hero-knee__cta {
  display: grid;
  margin: 0;
  justify-items: center;
}

body.landing-v4 .hero-knee__proof {
  margin-top: 22px;
  font-size: 16px;
}

@media (min-width: 768px) {
  body.landing-v4 .hero-knee {
    max-width: 600px;
    padding-inline: 34px;
  }

  body.landing-v4 .hero-knee__title {
    font-size: 46px;
  }
}


/* ===== Landing v5 refinements ===== */
body.landing-v4 #personal .lp-kicker {
  color: #fff;
}

body.landing-v4 .lp-format-note {
  display: grid;
  gap: 8px;
  margin: 30px 0 22px;
  padding: 24px;
  border: 1px solid rgba(6, 23, 47, .16);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(6, 23, 47, .10);
}

body.landing-v4 .lp-format-note__label {
  color: #725100;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.landing-v4 .lp-format-note strong {
  color: #06172f;
  font-size: 19px;
  line-height: 1.4;
}

body.landing-v4 .lp-format-note p {
  margin: 0;
  color: #415064;
  line-height: 1.65;
}

body.landing-v4 .lp-button--contrast {
  border: 2px solid #06172f;
  background: #fff;
  color: #06172f;
  box-shadow: 0 14px 34px rgba(6, 23, 47, .14);
}

body.landing-v4 .lp-button--contrast:hover {
  background: #06172f;
  color: #fff;
}

body.landing-v4 .bs-faq__a {
  background: #fff;
}

body.landing-v4 .bs-faq__a-inner {
  color: #27384e;
  line-height: 1.65;
}

@media (max-width: 760px) {
  body.landing-v4 .lp-button--contrast {
    width: 100%;
  }
}


/* ===== Landing v6: concrete content, bonus modules and daily countdown ===== */
body.landing-v4 .hero-knee__bonus {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: start;
  gap: 7px;
  max-width: 88%;
  margin: -4px 0 26px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 194, 38, .35);
  border-radius: 13px;
  background: rgba(255, 194, 38, .10);
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.42;
}

body.landing-v4 .hero-knee__bonus strong {
  color: #ffc226;
}

.lp-countdown {
  display: grid;
  justify-items: center;
  gap: 10px;
}

.lp-countdown__label {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .025em;
  text-align: center;
}

.lp-countdown__units {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.lp-countdown__unit {
  display: grid;
  min-width: 68px;
  gap: 3px;
  padding: 10px 10px 8px;
  border-radius: 13px;
  text-align: center;
}

.lp-countdown__unit strong {
  font-variant-numeric: tabular-nums;
  font-size: 27px;
  line-height: 1;
}

.lp-countdown__unit span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lp-countdown__separator {
  font-size: 25px;
  font-weight: 900;
  transform: translateY(-7px);
}

.lp-countdown--hero {
  max-width: 380px;
  margin: 0 auto 24px;
  color: #fff;
}

.lp-countdown--hero .lp-countdown__label {
  color: rgba(255,255,255,.76);
}

.lp-countdown--hero .lp-countdown__unit {
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.lp-countdown--hero .lp-countdown__unit strong,
.lp-countdown--hero .lp-countdown__separator {
  color: #ffc226;
}

.lp-countdown--hero .lp-countdown__unit span {
  color: rgba(255,255,255,.62);
}

.lp-countdown--pricing {
  max-width: 470px;
  margin: 28px auto 0;
  padding: 18px 22px;
  border: 1px solid rgba(220,151,0,.26);
  border-radius: 18px;
  background: #fff9e9;
  color: #60470f;
}

.lp-countdown--pricing .lp-countdown__unit {
  border: 1px solid rgba(6,23,47,.10);
  background: #fff;
  box-shadow: 0 7px 18px rgba(6,23,47,.07);
}

.lp-countdown--pricing .lp-countdown__unit strong,
.lp-countdown--pricing .lp-countdown__separator {
  color: var(--lp-navy);
}

.lp-countdown--pricing .lp-countdown__unit span {
  color: #7d6b41;
}

.lp-benefit-grid--concrete article {
  display: flex;
  flex-direction: column;
}

.lp-benefit-grid--concrete article > div {
  flex: 1;
}

.lp-included-summary {
  max-width: 900px;
  margin: 38px auto 0;
  padding: 24px 28px;
  border: 1px solid rgba(220,151,0,.22);
  border-radius: 18px;
  background: #fff8e5;
  text-align: center;
}

.lp-included-summary strong {
  color: var(--lp-navy);
  font-size: 19px;
}

.lp-included-summary p {
  margin: 7px 0 0;
  color: var(--lp-muted);
}

.lp-bonus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.lp-bonus-card {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  min-height: 260px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  background: rgba(255,255,255,.065);
  box-shadow: 0 15px 35px rgba(0,0,0,.14);
}

.lp-bonus-card h3 {
  margin: 0;
  color: #fff;
  font-size: 21px;
  line-height: 1.28;
}

.lp-bonus-card p:not(.lp-card-label) {
  margin: 11px 0 0;
  color: rgba(255,255,255,.68);
}

.lp-bonus-card small {
  display: inline-block;
  margin-top: 13px;
  color: #ffd66d;
  font-weight: 800;
  line-height: 1.35;
}

.lp-zone-visual {
  position: relative;
  width: 108px;
  height: 160px;
  margin-inline: auto;
  border: 2px solid rgba(255,255,255,.34);
  border-radius: 48% 48% 38% 38% / 38% 38% 58% 58%;
  background:
    radial-gradient(circle at 50% 47%, rgba(255,255,255,.15) 0 17%, transparent 18%),
    linear-gradient(90deg, transparent 46%, rgba(255,255,255,.18) 47% 53%, transparent 54%);
}

.lp-zone-visual::before,
.lp-zone-visual::after {
  position: absolute;
  left: 50%;
  width: 56px;
  height: 12px;
  border: 2px solid rgba(255,255,255,.27);
  border-right: 0;
  border-left: 0;
  content: "";
  transform: translateX(-50%);
}

.lp-zone-visual::before { top: 22px; }
.lp-zone-visual::after { bottom: 22px; }

.lp-zone-visual span {
  position: absolute;
  width: 24px;
  height: 24px;
  border: 5px solid rgba(255,255,255,.88);
  border-radius: 50%;
  background: var(--lp-yellow);
  box-shadow: 0 0 0 7px rgba(243,184,46,.18), 0 7px 20px rgba(0,0,0,.22);
}

.lp-zone-visual--kneecap span { top: 65px; left: 40px; }
.lp-zone-visual--below span { top: 96px; left: 40px; }
.lp-zone-visual--outside span { top: 72px; right: -8px; }
.lp-zone-visual--jointline span { top: 72px; left: -8px; }
.lp-zone-visual--diffuse span { top: 58px; left: 40px; width: 30px; height: 42px; border-radius: 46%; opacity: .88; }
.lp-zone-visual--stability span { top: 45px; left: 40px; }

.lp-bonus-disclaimer {
  max-width: 880px;
  margin: 30px auto 0;
  padding: 16px 20px;
  border-left: 3px solid var(--lp-yellow);
  border-radius: 0 13px 13px 0;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.55;
}

/* Both purchase formats intentionally use equal visual weight. */
body.landing-v4 .lp-pricing-card {
  border-width: 1px;
  transform: none;
}

body.landing-v4 .lp-pricing-card h3 {
  min-height: 62px;
}

@media (max-width: 900px) {
  .lp-bonus-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.landing-v4 .hero-knee__bonus {
    max-width: 100%;
    grid-template-columns: auto 1fr;
  }

  body.landing-v4 .hero-knee__bonus strong {
    grid-column: 2;
  }

  .lp-countdown__units {
    gap: 5px;
  }

  .lp-countdown__unit {
    min-width: 62px;
    padding-inline: 7px;
  }

  .lp-countdown__unit strong {
    font-size: 24px;
  }

  .lp-bonus-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 17px;
    min-height: 0;
    padding: 21px 18px;
  }

  .lp-zone-visual {
    width: 78px;
    height: 124px;
  }

  .lp-zone-visual::before,
  .lp-zone-visual::after {
    width: 42px;
  }

  .lp-zone-visual span {
    width: 20px;
    height: 20px;
    border-width: 4px;
  }

  .lp-zone-visual--kneecap span { top: 49px; left: 27px; }
  .lp-zone-visual--below span { top: 75px; left: 27px; }
  .lp-zone-visual--outside span { top: 54px; right: -7px; }
  .lp-zone-visual--jointline span { top: 54px; left: -7px; }
  .lp-zone-visual--diffuse span { top: 44px; left: 27px; width: 24px; height: 34px; }
  .lp-zone-visual--stability span { top: 34px; left: 27px; }
}

@media (max-width: 430px) {
  .lp-countdown--pricing {
    padding-inline: 12px;
  }

  .lp-countdown__unit {
    min-width: 58px;
  }

  .lp-bonus-card {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .lp-zone-visual {
    margin-bottom: 5px;
  }
}

.gr-knee-bonus-modules {
  padding: 80px 20px;
  background: #f8f3ea;
}

.gr-knee-bonus-modules__container {
  max-width: 1200px;
  margin: 0 auto;
}

.gr-knee-bonus-modules__heading {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.gr-knee-bonus-modules__eyebrow {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a6a2f;
}

.gr-knee-bonus-modules__title {
  margin: 0 0 16px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.1;
  font-weight: 800;
  color: #111111;
}

.gr-knee-bonus-modules__text {
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: #444444;
}

.gr-knee-bonus-modules__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.gr-knee-bonus-modules__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.gr-knee-bonus-modules__image-wrap {
  aspect-ratio: 4 / 3;
  background: #f0ece4;
  overflow: hidden;
}

.gr-knee-bonus-modules__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gr-knee-bonus-modules__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
}

.gr-knee-bonus-modules__card-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  color: #111111;
}

.gr-knee-bonus-modules__card-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: #444444;
}

.gr-knee-bonus-modules__note {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: #8a6a2f;
}

.gr-knee-bonus-modules__footer {
  max-width: 860px;
  margin: 40px auto 0;
  padding: 20px 24px;
  border-radius: 18px;
  background: #fffaf0;
  text-align: center;
}

.gr-knee-bonus-modules__footer p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a4a;
}

@media (max-width: 991px) {
  .gr-knee-bonus-modules {
    padding: 64px 20px;
  }

  .gr-knee-bonus-modules__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gr-knee-bonus-modules {
    padding: 56px 16px;
  }

  .gr-knee-bonus-modules__heading {
    margin-bottom: 32px;
  }

  .gr-knee-bonus-modules__text {
    font-size: 16px;
  }

  .gr-knee-bonus-modules__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .gr-knee-bonus-modules__content {
    padding: 20px;
  }

  .gr-knee-bonus-modules__card-title {
    font-size: 20px;
  }

  .gr-knee-bonus-modules__card-text {
    font-size: 15px;
  }
}
/* =========================================================
   V7: hybrid landing — restored visual language from bohdan.pro/knee
   ========================================================= */

/* Keep the separate bonus block, but align it with the navy/gold system. */
.gr-knee-bonus-modules {
  padding: 46px 16px;
  background: #ffffff;
  color: #0b1d3a;
}

.gr-knee-bonus-modules__container {
  max-width: var(--container, 1120px);
}

.gr-knee-bonus-modules__heading {
  max-width: 860px;
  margin: 0 0 24px;
  text-align: left;
}

.gr-knee-bonus-modules__eyebrow {
  margin-bottom: 8px;
  color: #8a5a00;
}

.gr-knee-bonus-modules__title {
  margin-bottom: 10px;
  font-size: clamp(22px, 4.6vw, 32px);
  color: #0b1d3a;
}

.gr-knee-bonus-modules__text {
  max-width: 860px;
  font-size: 16px;
  color: #444;
}

.gr-knee-bonus-modules__grid {
  gap: 18px;
}

.gr-knee-bonus-modules__card {
  border-radius: 18px;
  background: var(--tone-deep);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}

.gr-knee-bonus-modules__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

.gr-knee-bonus-modules__image-wrap {
  background: #f4efe5;
}

.gr-knee-bonus-modules__content {
  gap: 9px;
  padding: 16px 16px 19px;
}

.gr-knee-bonus-modules__card-title {
  font-size: 17px;
  color: #fff;
}

.gr-knee-bonus-modules__card-text {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255,255,255,.86);
}

.gr-knee-bonus-modules__note {
  color: #f0b429;
}

.gr-knee-bonus-modules__footer {
  margin-top: 28px;
  border: 1px solid #ddebea;
  background: #f6fafa;
}

/* Make the recommendation block feel like part of the same navy/gold brand. */
#personal.lp-section--accent {
  background:
    radial-gradient(circle at 92% 4%, rgba(74,163,255,.20), transparent 30%),
    var(--c-bgk);
  color: #0b1d3a;
}

.lp-personal__content h2 {
  color: #f6fafa ;
}

.lp-kickers {
  color: #f6fafa ;
}

#personal .lp-personal__lead,
#personal .lp-checks li,
#personal .lp-format-note p {
  color: rgba(255,255,255,.86);
}

#personal .lp-format-note {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
}

#personal .lp-format-note strong {
  color: #f0b429;
}

#personal .lp-personal .lp-checks li::before {
  background: #f0b429;
  color: #0b1d3a;
}

#personal .lp-button--contrast {
  background: #f0b429;
  color: #0b1d3a;
}

/* Old pricing cards with robust, full-width CTA buttons. */
.pricing .lp-countdown--pricing {
  margin: 22px 0 24px;
}

.pricing .pricing__btn {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.pricing__card--pro .pricing__btn {
  background: #f0b429;
  color: #0b1d3a;
}

/* Preserve good mobile spacing in restored old-style blocks. */
@media (max-width: 640px) {
  .who--alt,
  .why,
  .included--alt,
  .program,
  .pricing,
  .gr-knee-bonus-modules {
    padding-block: 38px;
  }

  .program__remind-actions .btn {
    width: 100%;
  }
}


/* =========================================================
   V9: personalized landing variants (meniscus / stairs)
   ========================================================= */

.hero-knee__offer-note,
.pricing__offer-note {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: rgba(255,255,255,.82);
}

.hero-knee__delivery {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,.76);
}

.pricing__offer-note {
  max-width: 760px;
  margin: 18px auto 26px;
  padding: 13px 18px;
  border: 1px solid rgba(11,29,58,.12);
  border-radius: 14px;
  background: #f6fafa;
  color: #30435c;
  text-align: center;
}

.topic-explainer {
  padding: 56px 18px;
  background: #f6fafa;
  color: #0b1d3a;
}

.topic-explainer__inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.topic-explainer__eyebrow {
  margin: 0 0 9px;
  color: #8a5a00;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.topic-explainer__title {
  max-width: 880px;
  margin: 0;
  color: #0b1d3a;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  letter-spacing: -.03em;
}

.topic-explainer__lead {
  max-width: 900px;
  margin: 18px 0 0;
  color: #3e4e62;
  font-size: 17px;
  line-height: 1.72;
}

.topic-explainer__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: stretch;
  margin-top: 32px;
}

.topic-explainer__media {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  border-radius: 22px;
  background: #dfe9ec;
  box-shadow: 0 14px 36px rgba(11,29,58,.13);
}

.topic-explainer__media img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  display: block;
  object-fit: cover;
}

.topic-explainer__content {
  display: grid;
  gap: 16px;
}

.topic-explainer__card {
  padding: 20px 22px;
  border: 1px solid #dce7e9;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(11,29,58,.07);
}

.topic-explainer__card h3 {
  margin: 0 0 8px;
  color: #0b1d3a;
  font-size: 19px;
  line-height: 1.3;
}

.topic-explainer__card p,
.topic-explainer__card li {
  color: #445366;
  font-size: 15px;
  line-height: 1.65;
}

.topic-explainer__card p {
  margin: 0;
}

.topic-explainer__card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.topic-explainer__card--accent {
  border-color: rgba(240,180,41,.58);
  background: #fff9eb;
}

.topic-explainer__card--warning {
  border-color: #f1d4d4;
  background: #fff7f7;
}

.topic-explainer__bonus {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  margin-top: 22px;
  padding: 20px 22px;
  border-radius: 18px;
  background: #0b1d3a;
  color: #fff;
}

.topic-explainer__bonus-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: #f0b429;
  color: #0b1d3a;
  font-size: 20px;
}

.topic-explainer__bonus h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 19px;
  line-height: 1.3;
}

.topic-explainer__bonus p {
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 15px;
  line-height: 1.62;
}

.topic-explainer__disclaimer {
  margin: 18px 0 0;
  color: #647184;
  font-size: 13px;
  line-height: 1.6;
}

.topic-explainer__cta {
  margin-top: 24px;
}

.gr-knee-bonus-modules__card--featured {
  outline: 3px solid rgba(240,180,41,.9);
  outline-offset: 3px;
}

.gr-knee-bonus-modules__featured-label {
  display: inline-flex;
  align-self: flex-start;
  margin: 0 0 2px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f0b429;
  color: #0b1d3a;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

@media (min-width: 760px) {
  .hero-knee__offer-note,
  .hero-knee__delivery {
    max-width: 580px;
  }
}

@media (max-width: 760px) {
  .topic-explainer {
    padding: 42px 16px;
  }

  .topic-explainer__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .topic-explainer__media,
  .topic-explainer__media img {
    min-height: 250px;
  }

  .topic-explainer__card,
  .topic-explainer__bonus {
    padding: 18px;
  }
}