/*
  AUDIT STEP12 LITE CSS EXTRACT
  Extracted from templates/web_landing.html to reduce homepage HTML size.
  Visual design should remain the same.
*/

/* AUDIT STEP12 LITE: extracted style block 1; original attrs:id="sak-home-header-head-v17" */
@media (max-width: 640px) {
  /*
    V17: только главная.
    Маркер и фикс хедера находятся в head, поэтому применяются до nav.
  */

  body {
    padding-top: 68px !important;
  }

  body > nav.navbar.sak-main-navbar,
  body > nav.sak-main-navbar,
  nav.navbar.sak-main-navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    z-index: 2147483000 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    background:
      radial-gradient(circle at 12% 0%, rgba(79,140,255,.34), transparent 34%),
      radial-gradient(circle at 88% 0%, rgba(155,92,255,.30), transparent 32%),
      rgba(8, 12, 34, .96) !important;

    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;

    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.24) !important;
  }

  body > nav.navbar.sak-main-navbar > .container,
  body > nav.sak-main-navbar > .container,
  nav.navbar.sak-main-navbar > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body > main.container,
  body > main.container.my-4 {
    margin-top: 0 !important;
  }

  .sak-hero-v6 {
    margin-top: 10px !important;
  }

  /*
    Раскрытое мобильное меню должно быть поверх hero,
    а не прятаться под первым блоком.
  */
  nav.navbar.sak-main-navbar #mainNav {
    max-height: calc(100vh - 82px) !important;
    overflow-y: auto !important;
  }

  nav.navbar.sak-main-navbar #mainNav.navbar-collapse.show,
  nav.navbar.sak-main-navbar #mainNav.navbar-collapse.sak-mobile-open {
    position: relative !important;
    z-index: 2147483001 !important;
  }
}


/* AUDIT FIX HOME LOCATION V2 START */
.sak-hero-location-v2 {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sak-hero-location-pill-v2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 900;
}
.sak-location-section-v2 {
  max-width: 1180px;
  margin: 42px auto;
  padding: 0 16px;
}
.sak-location-card-v2 {
  overflow: hidden;
  border-radius: 32px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}
.sak-location-grid-v2 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 0;
}
.sak-location-info-v2 {
  padding: 32px;
}
.sak-location-kicker-v2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(96,165,250,.14);
  color: #bfdbfe;
  font-size: 13px;
  font-weight: 950;
}
.sak-location-info-v2 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
  letter-spacing: -.045em;
  font-weight: 950;
}
.sak-location-info-v2 p,
.sak-location-row-v2 {
  color: rgba(255,255,255,.72);
  font-weight: 750;
  line-height: 1.55;
}
.sak-location-row-v2 {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 15px;
}
.sak-location-row-v2 i {
  margin-top: 4px;
  color: #93c5fd;
}
.sak-location-actions-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.sak-location-actions-v2 a {
  min-height: 46px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 950;
}
.sak-location-primary-v2 {
  color: #fff !important;
  background: linear-gradient(135deg, #60a5fa, #8b5cf6);
}
.sak-location-secondary-v2 {
  color: #fff !important;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}
.sak-location-map-v2 iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  filter: saturate(1.05) contrast(1.02);
}
@media (max-width: 980px) {
  .sak-location-grid-v2 { grid-template-columns: 1fr; }
  .sak-location-map-v2 iframe { min-height: 320px; }
}
@media (max-width: 640px) {
  .sak-location-info-v2 { padding: 24px; }
  .sak-location-actions-v2 a { width: 100%; }
}
/* AUDIT FIX HOME LOCATION V2 END */

/* AUDIT STEP12 LITE: extracted style block 2; original attrs:id="sak-audit-trust-step3" */
.sak-trust-step3 {
  max-width: 1180px;
  margin: -18px auto 54px;
  padding: 0 16px;
}
.sak-trust-card-step3 {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 18px;
  padding: 22px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 8% 0%, rgba(79,140,255,.28), transparent 33%),
    radial-gradient(circle at 92% 12%, rgba(250,204,21,.16), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.045));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 26px 80px rgba(0,0,0,.26);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
.sak-trust-left-step3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.sak-trust-kicker-step3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.085);
  border: 1px solid rgba(255,255,255,.13);
  font-size: 13px;
  font-weight: 900;
}
.sak-trust-left-step3 h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 48px);
  line-height: .98;
  letter-spacing: -.045em;
}
.sak-trust-left-step3 p {
  margin: 0;
  max-width: 640px;
  color: rgba(255,255,255,.72) !important;
  font-size: 17px;
  line-height: 1.55;
}
.sak-trust-actions-step3 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.sak-trust-btn-step3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 900;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.085);
}
.sak-trust-btn-main-step3 {
  color: #071124 !important;
  background: linear-gradient(135deg, #fff, #dbeafe);
  border-color: rgba(255,255,255,.72);
  box-shadow: 0 16px 36px rgba(96,165,250,.24);
}
.sak-trust-stats-step3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.sak-trust-stat-step3 {
  min-height: 128px;
  padding: 18px;
  border-radius: 26px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.13);
}
.sak-trust-stat-step3 strong {
  display: block;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.035em;
}
.sak-trust-stat-step3 span {
  display: block;
  margin-top: 9px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.38;
  font-weight: 750;
}
.sak-trust-stat-rating-step3 strong {
  color: #facc15;
}
.sak-review-summary-step3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  padding: 18px 20px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(250,204,21,.18), transparent 32%),
    rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.14);
}
.sak-review-summary-stars-step3 {
  color: #facc15;
  letter-spacing: 2px;
  font-size: 16px;
  font-weight: 900;
}
.sak-review-summary-step3 strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 24px;
  letter-spacing: -.03em;
}
.sak-review-summary-step3 p {
  margin: 6px 0 0;
  color: rgba(255,255,255,.67) !important;
  font-size: 14px;
  line-height: 1.45;
}
.sak-review-summary-link-step3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 15px;
  border-radius: 999px;
  color: #071124 !important;
  background: linear-gradient(135deg, #fff, #fef3c7);
  text-decoration: none !important;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .sak-trust-card-step3,
  .sak-review-summary-step3 {
    grid-template-columns: 1fr;
  }
  .sak-review-summary-link-step3 {
    width: fit-content;
  }
}
@media (max-width: 620px) {
  .sak-trust-step3 {
    margin-top: 10px;
    margin-bottom: 38px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .sak-trust-card-step3 {
    padding: 18px 14px;
    border-radius: 28px;
  }
  .sak-trust-stats-step3 {
    grid-template-columns: 1fr;
  }
  .sak-trust-stat-step3 {
    min-height: auto;
  }
  .sak-trust-btn-step3,
  .sak-review-summary-link-step3 {
    width: 100%;
  }
}

/* AUDIT STEP12 LITE: extracted style block 3; original attrs:id="sakavets-final-home-hero-v6" */
.sak-web-page .home-hero {
  display: none !important;
}

.sak-hero-v6 {
  max-width: 1180px;
  margin: 24px auto 34px;
  padding: 0 16px;
}

.sak-hero-card-v6 {
  overflow: hidden;
  border-radius: 34px;
  padding: 34px;
  background:
    radial-gradient(circle at 82% 12%, rgba(139,92,246,.32), transparent 34%),
    radial-gradient(circle at 8% 8%, rgba(59,130,246,.30), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #111827 52%, #1e1b4b 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 86px rgba(15,23,42,.30);
}

.sak-hero-grid-v6 {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  gap: 34px;
  align-items: center;
}

.sak-hero-badge-v6 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  color: #dbeafe;
  font-size: 13px;
  font-weight: 950;
}

.sak-hero-title-v6 {
  max-width: 660px;
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 5.2vw, 64px);
  line-height: 1.02;
  letter-spacing: -.055em;
  font-weight: 950;
}

.sak-hero-title-v6 span {
  color: #93c5fd;
}

.sak-hero-text-v6 {
  max-width: 610px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 760;
}

.sak-hero-actions-v6 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.sak-hero-btn-v6 {
  min-height: 50px;
  padding: 0 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none;
  font-weight: 950;
  transition: transform .2s ease, box-shadow .2s ease;
}

.sak-hero-btn-v6:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.sak-hero-btn-primary-v6 {
  background: linear-gradient(135deg, #60a5fa, #8b5cf6);
  color: #fff;
  box-shadow: 0 16px 38px rgba(79,140,255,.28);
}

.sak-hero-btn-secondary-v6 {
  background: rgba(255,255,255,.09);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
}

.sak-hero-points-v6 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.sak-hero-point-v6 {
  padding: 13px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.68);
  font-size: 13px;
  font-weight: 820;
  line-height: 1.35;
}

.sak-hero-point-v6 strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
}

.sak-hero-photos-v6 {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  grid-auto-rows: 154px;
  gap: 12px;
}

.sak-hero-photo-v6 {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 44px rgba(0,0,0,.20);
}

.sak-hero-photo-v6.big {
  grid-row: span 2;
}

.sak-hero-photo-v6.wide {
  grid-column: span 2;
}

.sak-hero-photo-v6 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sak-hero-photo-v6::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.28));
}

.sak-hero-note-v6 {
  margin-top: 12px;
  padding: 13px 15px;
  border-radius: 20px;
  background: rgba(96,165,250,.10);
  border: 1px solid rgba(147,197,253,.16);
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.sak-why-v6 {
  max-width: 1180px;
  margin: 0 auto 34px;
  padding: 0 16px;
}

.sak-why-head-v6 {
  margin-bottom: 16px;
}

.sak-why-kicker-v6 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(79,140,255,.14);
  border: 1px solid rgba(147,197,253,.22);
  color: #bfdbfe;
  font-size: 13px;
  font-weight: 950;
}

.sak-why-title-v6 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.07;
  letter-spacing: -.04em;
  font-weight: 950;
}

.sak-why-grid-v6 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.sak-why-card-v6 {
  min-height: 170px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 48px rgba(0,0,0,.11);
}

.sak-why-card-v6 i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 15px;
  background: rgba(96,165,250,.16);
  color: #bfdbfe;
  font-size: 17px;
}

.sak-why-card-v6 h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
}

.sak-why-card-v6 p {
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: 13.5px;
  line-height: 1.42;
  font-weight: 750;
}

@media (max-width: 1050px) {
  .sak-hero-grid-v6 {
    grid-template-columns: 1fr;
  }

  .sak-hero-photos-v6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sak-why-grid-v6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .sak-hero-v6 {
    margin-top: 14px;
  }

  .sak-hero-card-v6 {
    padding: 24px;
    border-radius: 28px;
  }

  .sak-hero-title-v6 {
    font-size: 38px;
  }

  .sak-hero-text-v6 {
    font-size: 15.5px;
  }

  .sak-hero-actions-v6 {
    flex-direction: column;
  }

  .sak-hero-btn-v6 {
    width: 100%;
  }

  .sak-hero-points-v6 {
    grid-template-columns: 1fr;
  }

  .sak-hero-photos-v6 {
    grid-template-columns: 1fr;
    grid-auto-rows: 210px;
  }

  .sak-hero-photo-v6.big,
  .sak-hero-photo-v6.wide {
    grid-column: auto;
    grid-row: auto;
  }

  .sak-why-grid-v6 {
    grid-template-columns: 1fr;
  }
}

/* AUDIT STEP12 LITE: extracted style block 4; original attrs: none */
/* === SAKAVETS PRODUCT HOME V1 === */

.sak-web-page body main.container {
  max-width: 1240px !important;
}

.home-hero {
  position: relative;
  overflow: hidden;
  border-radius: 36px;
  padding: 52px;
  margin-bottom: 34px;
  background:
    radial-gradient(circle at 82% 18%, rgba(155, 92, 255, .40), transparent 34%),
    radial-gradient(circle at 14% 10%, rgba(79, 140, 255, .38), transparent 34%),
    radial-gradient(circle at 65% 90%, rgba(34, 211, 238, .16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 30px 95px rgba(0,0,0,.36);
  backdrop-filter: blur(26px);
}

.home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.84);
  font-weight: 800;
  margin-bottom: 20px;
}

.home-hero h1 {
  max-width: 920px;
  font-size: clamp(40px, 5.7vw, 76px);
  line-height: .94;
  letter-spacing: -.06em;
  margin-bottom: 22px;
}

.home-hero .lead-text {
  max-width: 790px;
  font-size: 21px;
  line-height: 1.5;
  color: rgba(255,255,255,.76) !important;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.hero-pill {
  padding: 10px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.085);
  border: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.78);
  font-weight: 700;
  font-size: 14px;
}

.home-section {
  margin-top: 42px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 20px;
}

.section-head h2 {
  margin: 0;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.section-head p {
  max-width: 570px;
  margin: 0;
  color: rgba(255,255,255,.66) !important;
  font-size: 17px;
  line-height: 1.5;
}

.home-card {
  height: 100%;
  padding: 24px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 0%, rgba(155,92,255,.20), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.125), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 22px 70px rgba(0,0,0,.27);
  backdrop-filter: blur(24px);
}

.home-card:hover {
  transform: translateY(-4px);
  border-color: rgba(147,197,253,.35);
}

.home-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(79,140,255,.45), rgba(155,92,255,.35));
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 25px;
  margin-bottom: 16px;
}

.home-card h3 {
  font-size: 23px;
  line-height: 1.12;
  margin-bottom: 10px;
}

.home-card p,
.home-card li {
  color: rgba(255,255,255,.68) !important;
  line-height: 1.48;
}

.result-badge {
  display: inline-flex;
  margin-top: 12px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.25);
  color: rgba(255,255,255,.86);
  font-weight: 800;
  font-size: 13px;
}

.big-panel {
  padding: 34px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 92% 15%, rgba(34,211,238,.18), transparent 30%),
    radial-gradient(circle at 0% 0%, rgba(79,140,255,.22), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 24px 78px rgba(0,0,0,.30);
  backdrop-filter: blur(24px);
}

.steps {
  display: grid;
  gap: 14px;
}

.step-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
}

.step-number {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #4f8cff, #9b5cff);
  color: #fff;
  font-weight: 900;
}

.step-item strong {
  display: block;
  color: #fff;
  margin-bottom: 5px;
}

.step-item span {
  color: rgba(255,255,255,.64);
}

.course-mini {
  height: 100%;
  padding: 22px;
  border-radius: 26px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
}

.course-mini .age {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(79,140,255,.16);
  color: #bfdbfe;
  font-size: 13px;
  font-weight: 800;
}

.course-mini h3 {
  font-size: 21px;
  margin-bottom: 9px;
}

.course-mini p {
  color: rgba(255,255,255,.65) !important;
  margin-bottom: 0;
}

.parent-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.parent-metric {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
}

.parent-metric strong {
  display: block;
  color: #fff;
  font-size: 22px;
  margin-bottom: 4px;
}

.parent-metric span {
  color: rgba(255,255,255,.63);
  font-size: 14px;
}

.tariff-card {
  height: 100%;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.tariff-card.featured {
  border-color: rgba(147,197,253,.42);
  background:
    radial-gradient(circle at 90% 0%, rgba(79,140,255,.28), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.06));
}

.tariff-price {
  font-size: 34px;
  font-weight: 900;
  color: #fff;
  margin: 12px 0 6px;
}

.tariff-note {
  color: rgba(255,255,255,.6);
  font-size: 14px;
}

.tariff-card ul {
  padding-left: 0;
  list-style: none;
  margin: 18px 0 0;
}

.tariff-card li {
  margin-bottom: 10px;
  color: rgba(255,255,255,.74);
}

.tariff-card li::before {
  content: "✓";
  color: #86efac;
  font-weight: 900;
  margin-right: 8px;
}

.lead-form {
  padding: 28px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(155,92,255,.20), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.125), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 24px 74px rgba(0,0,0,.28);
}

.lead-form .form-control,
.lead-form .form-select {
  min-height: 52px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.gallery-grid img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 20px 54px rgba(0,0,0,.24);
}

@media (max-width: 991.98px) {
  .home-hero {
    padding: 38px 28px;
  }

  .section-head {
    display: block;
  }

  .section-head p {
    margin-top: 10px;
  }

  .parent-box {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .gallery-grid img {
    height: 240px;
  }
}

@media (max-width: 575.98px) {
  .sak-web-page body main.container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .home-hero {
    padding: 32px 22px;
    border-radius: 30px;
  }

  .home-hero h1 {
    font-size: 38px;
  }

  .home-hero .lead-text {
    font-size: 18px;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 54px;
  }

  .big-panel {
    padding: 24px;
  }

  .lead-form {
    padding: 22px;
  }
}

/* AUDIT STEP12 LITE: extracted style block 5; original attrs: none */
.real-reviews-section {
      margin-top: 54px;
      margin-bottom: 46px;
    }

    .real-reviews-head {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 22px;
    }

    .real-reviews-head h2 {
      margin: 0;
      max-width: 520px;
      font-size: clamp(34px, 4vw, 54px);
      line-height: .95;
      letter-spacing: -.05em;
      color: #fff;
    }

    .real-reviews-head p {
      max-width: 560px;
      margin: 0;
      color: rgba(255,255,255,.66) !important;
      font-size: 17px;
      line-height: 1.5;
    }

    .real-reviews-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .real-review-card {
      position: relative;
      min-height: 300px;
      padding: 24px;
      border-radius: 28px;
      overflow: hidden;
      background:
        radial-gradient(circle at 92% 0%, rgba(255,255,255,.15), transparent 28%),
        radial-gradient(circle at 12% 0%, rgba(79,140,255,.16), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.125), rgba(255,255,255,.055));
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 22px 70px rgba(0,0,0,.28);
      backdrop-filter: blur(22px);
    }

    .real-review-card::after {
      content: "”";
      position: absolute;
      right: 18px;
      top: -18px;
      font-size: 110px;
      line-height: 1;
      font-weight: 900;
      color: rgba(255,255,255,.08);
      pointer-events: none;
    }

    .real-review-stars {
      color: #facc15;
      letter-spacing: 2px;
      font-size: 15px;
      margin-bottom: 14px;
      position: relative;
      z-index: 1;
    }

    .real-review-text {
      color: rgba(255,255,255,.82) !important;
      font-size: 15px;
      line-height: 1.62;
      margin: 0 0 18px;
      position: relative;
      z-index: 1;
    }

    .real-review-bottom {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,.12);
    }

    .real-review-name {
      color: #fff;
      font-weight: 900;
      line-height: 1.15;
    }

    .real-review-role {
      display: block;
      margin-top: 3px;
      color: rgba(255,255,255,.55);
      font-size: 12px;
      font-weight: 700;
    }

    .real-review-link {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.13);
      color: rgba(255,255,255,.86) !important;
      text-decoration: none;
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .real-review-link:hover {
      color: #fff !important;
      background: linear-gradient(135deg, #5b8cff, #965cff);
      border-color: rgba(255,255,255,.22);
      transform: translateY(-1px);
    }

    @media (max-width: 991.98px) {
      .real-reviews-head {
        display: block;
      }

      .real-reviews-head p {
        margin-top: 10px;
      }

      .real-reviews-grid {
        grid-template-columns: 1fr;
      }

      .real-review-card {
        min-height: auto;
      }
    }

    @media (max-width: 575.98px) {
      .real-reviews-section {
        margin-top: 38px;
        margin-bottom: 34px;
      }

      .real-review-card {
        padding: 22px;
        border-radius: 24px;
      }

      .real-review-bottom {
        align-items: flex-start;
        flex-direction: column;
      }
    }

/* AUDIT STEP12 LITE: extracted style block 6; original attrs:id="sakavets-home-photos-v3" */
.sak-photo-section {
  max-width: 1180px;
  margin: 42px auto;
  padding: 0 16px;
}

.sak-photo-head {
  margin-bottom: 18px;
}

.sak-photo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(79,140,255,.14);
  border: 1px solid rgba(147,197,253,.22);
  color: #bfdbfe;
  font-size: 13px;
  font-weight: 950;
}

.sak-photo-title {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-weight: 950;
}

.sak-photo-text {
  max-width: 760px;
  margin: 10px 0 0;
  color: rgba(255,255,255,.68);
  font-weight: 750;
  line-height: 1.55;
}

.sak-photo-live-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  grid-auto-rows: 188px;
  gap: 14px;
}

.sak-photo-live-card,
.sak-photo-gallery-card,
.sak-photo-course-card,
.sak-photo-emotion-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
}

.sak-photo-live-card:first-child {
  grid-row: span 2;
}

.sak-photo-live-card img,
.sak-photo-gallery-card img,
.sak-photo-course-card img,
.sak-photo-emotion-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sak-photo-live-card::after,
.sak-photo-course-card::after,
.sak-photo-emotion-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.50));
}

.sak-photo-course-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.sak-photo-course-card {
  height: 210px;
}

.sak-photo-course-card {
  color: inherit;
  text-decoration: none !important;
}

.sak-photo-course-card small {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 850;
}

.sak-photo-course-card span {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  max-width: calc(100% - 24px);
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(15,23,42,.78);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  backdrop-filter: blur(10px);
}

.sak-photo-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.sak-photo-gallery-card {
  height: 176px;
}

.sak-photo-gallery-card img {
  transition: transform .25s ease;
}

.sak-photo-gallery-card:hover img {
  transform: scale(1.055);
}

.sak-photo-emotion-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.sak-photo-emotion-card {
  height: 230px;
}

.sak-photo-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(245,158,11,.12);
  border: 1px solid rgba(245,158,11,.22);
  color: #fde68a;
  font-weight: 850;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .sak-photo-live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sak-photo-course-grid,
  .sak-photo-gallery-grid,
  .sak-photo-emotion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .sak-photo-live-grid,
  .sak-photo-course-grid,
  .sak-photo-gallery-grid,
  .sak-photo-emotion-grid {
    grid-template-columns: 1fr;
  }

  .sak-photo-live-card,
  .sak-photo-gallery-card,
  .sak-photo-course-card,
  .sak-photo-emotion-card {
    height: 220px;
  }

  .sak-photo-live-card:first-child {
    grid-row: span 1;
  }
}

/* AUDIT STEP12 LITE: extracted style block 7; original attrs:id="sakavets-project-activity-v4" */
.sak-project-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr .95fr;
  grid-auto-rows: 190px;
  gap: 14px;
}

.sak-project-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
}

.sak-project-card-1,
.sak-project-card-2 {
  grid-row: span 2;
}

.sak-project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}

.sak-project-card:hover img {
  transform: scale(1.045);
}

.sak-project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 46%, rgba(0,0,0,.58));
}

.sak-project-card span {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  max-width: calc(100% - 24px);
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(15,23,42,.78);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  backdrop-filter: blur(10px);
}

.sak-project-result-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.sak-project-result {
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-weight: 800;
  line-height: 1.45;
}

.sak-project-result strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
}

@media (max-width: 980px) {
  .sak-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sak-project-result-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .sak-project-grid {
    grid-template-columns: 1fr;
  }

  .sak-project-card,
  .sak-project-card-1,
  .sak-project-card-2 {
    height: 220px;
    grid-row: span 1;
  }
}

/* AUDIT STEP12 LITE: extracted style block 8; original attrs: none */
/* Финальная аккуратная галерея на главной: только внешний вид, без Jinja-логики */

.gallery-full-button-wrap {
  margin: 4px 0 18px !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.gallery-full-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 44px !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(135deg, #5b8cff, #965cff) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 34px rgba(91,140,255,.28) !important;
}

.gallery-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr 1fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.gallery-grid img {
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.06) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.26) !important;
}

/* Первая фотография — большая обложка блока */
.gallery-grid img:nth-child(1) {
  grid-column: span 2 !important;
  height: 285px !important;
  min-height: 285px !important;
  object-position: center 42% !important;
}

/* Вторая справа от большой */
.gallery-grid img:nth-child(2) {
  height: 285px !important;
  min-height: 285px !important;
  object-position: center 32% !important;
}

/* На фото с лицами меньше режем верх */
.gallery-grid img:nth-child(6),
.gallery-grid img:nth-child(7),
.gallery-grid img:nth-child(8),
.gallery-grid img:nth-child(9) {
  object-position: center 30% !important;
}

@media (max-width: 991.98px) {
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .gallery-grid img,
  .gallery-grid img:nth-child(2) {
    height: 220px !important;
    min-height: 220px !important;
  }

  .gallery-grid img:nth-child(1) {
    grid-column: span 2 !important;
    height: 260px !important;
    min-height: 260px !important;
  }
}

@media (max-width: 575.98px) {
  .gallery-full-button-wrap {
    justify-content: stretch !important;
  }

  .gallery-full-button {
    width: 100% !important;
  }

  .gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .gallery-grid img,
  .gallery-grid img:nth-child(1),
  .gallery-grid img:nth-child(2) {
    grid-column: auto !important;
    height: 245px !important;
    min-height: 245px !important;
    object-position: center 35% !important;
  }
}

/* AUDIT STEP12 LITE: extracted style block 9; original attrs: none */
/* Новый блок галереи на главной: все фото строго одинакового размера */
.home-gallery-section {
  margin-top: 46px !important;
}

.home-gallery-top {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 20px !important;
}

.home-gallery-top h2 {
  margin: 0 0 8px !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
}

.home-gallery-top p {
  margin: 0 !important;
  max-width: 620px !important;
  color: rgba(255,255,255,.66) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.home-gallery-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 11px 18px !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  background: linear-gradient(135deg, #5b8cff, #965cff) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: 0 14px 34px rgba(91,140,255,.26) !important;
}

.home-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

/* Главное: никакая карточка не растягивается на 2 колонки */
.home-gallery-grid > *,
.home-gallery-grid > *:first-child,
.home-gallery-grid > *:nth-child(1),
.home-gallery-grid > *:nth-child(2),
.home-gallery-grid > *:nth-child(3),
.home-gallery-grid > *:nth-child(4),
.home-gallery-grid > *:nth-child(5),
.home-gallery-grid > *:nth-child(6) {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
}

.home-gallery-card {
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
}

.home-gallery-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.home-gallery-card:hover img {
  transform: scale(1.035) !important;
  transition: transform .25s ease !important;
}

@media (max-width: 991.98px) {
  .home-gallery-top {
    display: block !important;
  }

  .home-gallery-button {
    margin-top: 14px !important;
  }

  .home-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .home-gallery-card {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }
}

@media (max-width: 575.98px) {
  .home-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .home-gallery-card {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
  }

  .home-gallery-button {
    width: 100% !important;
  }
}

/* AUDIT STEP12 LITE: extracted style block 10; original attrs: none */
/* Главная страница: фото в блоке "Жизнь Технопарка" такой же высоты, как на странице галереи */
.home-gallery-grid,
.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

/* Все карточки строго одинаковые */
.home-gallery-card,
.gallery-grid > a,
.gallery-grid > div,
.gallery-grid > img {
  height: 335px !important;
  min-height: 335px !important;
  max-height: 335px !important;
  grid-column: span 1 !important;
  grid-row: span 1 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

/* Сами картинки заполняют карточку */
.home-gallery-card img,
.gallery-grid img,
img[src*="web_gallery"] {
  width: 100% !important;
  height: 335px !important;
  min-height: 335px !important;
  max-height: 335px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 22px !important;
}

/* Планшеты */
@media (max-width: 991.98px) {
  .home-gallery-grid,
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-gallery-card,
  .gallery-grid > a,
  .gallery-grid > div,
  .gallery-grid > img,
  .home-gallery-card img,
  .gallery-grid img,
  img[src*="web_gallery"] {
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
  }
}

/* Телефон */
@media (max-width: 575.98px) {
  .home-gallery-grid,
  .gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .home-gallery-card,
  .gallery-grid > a,
  .gallery-grid > div,
  .gallery-grid > img,
  .home-gallery-card img,
  .gallery-grid img,
  img[src*="web_gallery"] {
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
  }
}

/* AUDIT STEP12 LITE: extracted style block 11; original attrs: none */
/* REVIEWS AUTHOR LINE FIX V1 START */

.real-reviews-section .real-review-footer,
.real-reviews-section .real-review-bottom,
.real-reviews-section .review-footer,
.real-reviews-section .review-author-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}

.real-reviews-section .real-review-author,
.real-reviews-section .review-author,
.real-reviews-section .real-review-person,
.real-reviews-section .review-person {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.real-reviews-section .real-review-author strong,
.real-reviews-section .review-author strong,
.real-reviews-section .real-review-person strong,
.real-reviews-section .review-person strong,
.real-reviews-section .real-review-card strong {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  font-size: 19px !important;
  line-height: 1.12 !important;
  margin: 0 0 4px !important;
  color: #fff !important;
}

.real-reviews-section .real-review-author span,
.real-reviews-section .review-author span,
.real-reviews-section .real-review-person span,
.real-reviews-section .review-person span {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  color: rgba(255,255,255,.72) !important;
}

.real-reviews-section .real-review-link {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 112px !important;
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  margin-left: auto !important;
}

/* Если ссылка Яндекс случайно стоит не в footer, всё равно прижимаем её вправо */
.real-reviews-section .real-review-card .real-review-link {
  align-self: center !important;
}

/* На узких экранах сохраняем одну линию, но чуть уменьшаем элементы */
@media (max-width: 575.98px) {
  .real-reviews-section .real-review-footer,
  .real-reviews-section .real-review-bottom,
  .real-reviews-section .review-footer,
  .real-reviews-section .review-author-row {
    gap: 12px !important;
  }

  .real-reviews-section .real-review-author strong,
  .real-reviews-section .review-author strong,
  .real-reviews-section .real-review-person strong,
  .real-reviews-section .review-person strong,
  .real-reviews-section .real-review-card strong {
    font-size: 17px !important;
  }

  .real-reviews-section .real-review-link {
    min-width: 96px !important;
    height: 40px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }
}

/* REVIEWS AUTHOR LINE FIX V1 END */

/* AUDIT STEP12 LITE: extracted style block 12; original attrs: none */
/* REVIEWS FOOTER ALIGN FIX V3 START */

/*
  Исправляет блок отзывов:
  - все 3 карточки одной высоты
  - имя/фамилия на одной линии по вертикали
  - кнопка Яндекс на одной линии во всех карточках
*/

.real-reviews-section .row,
.real-reviews-section .reviews-grid,
.real-reviews-section .real-reviews-grid {
  align-items: stretch !important;
}

.real-reviews-section .row > [class*="col"] {
  display: flex !important;
}

.real-reviews-section .real-review-card,
.real-reviews-section .review-card,
.real-reviews-section .web-review {
  width: 100% !important;
  min-height: 390px !important;
  height: 100% !important;

  display: flex !important;
  flex-direction: column !important;
}

/* Верхняя часть карточки */
.real-reviews-section .real-review-stars,
.real-reviews-section .review-stars,
.real-reviews-section .web-review-stars {
  flex: 0 0 auto !important;
}

/* Текст отзыва занимает доступное пространство */
.real-reviews-section .real-review-text,
.real-reviews-section .review-text,
.real-reviews-section .web-review p {
  flex: 1 1 auto !important;
  margin-bottom: 24px !important;
}

/* Нижний блок всегда прижат к низу карточки */
.real-reviews-section .real-review-footer,
.real-reviews-section .real-review-bottom,
.real-reviews-section .review-footer,
.real-reviews-section .review-bottom,
.real-reviews-section .review-author-row {
  margin-top: auto !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
}

/* Если в карточке нет отдельного footer-класса, ловим блок автора рядом с Яндекс-ссылкой */
.real-reviews-section .real-review-card > div:has(a[href*="yandex"]),
.real-reviews-section .review-card > div:has(a[href*="yandex"]),
.real-reviews-section .web-review > div:has(a[href*="yandex"]) {
  margin-top: auto !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
}

/* Имя и подпись */
.real-reviews-section .real-review-author,
.real-reviews-section .review-author,
.real-reviews-section .review-person,
.real-reviews-section .real-review-person {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.real-reviews-section strong,
.real-reviews-section .fw-bold {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.15 !important;
  margin-bottom: 4px !important;
}

/* Кнопка Яндекс */
.real-reviews-section a[href*="yandex"] {
  flex: 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  min-width: 118px !important;
  height: 46px !important;
  padding: 0 18px !important;

  border-radius: 999px !important;
  white-space: nowrap !important;
  text-decoration: none !important;

  margin-left: auto !important;
}

/* На телефоне карточки не растягиваем слишком сильно */
@media (max-width: 767.98px) {
  .real-reviews-section .real-review-card,
  .real-reviews-section .review-card,
  .real-reviews-section .web-review {
    min-height: auto !important;
  }

  .real-reviews-section .real-review-footer,
  .real-reviews-section .real-review-bottom,
  .real-reviews-section .review-footer,
  .real-reviews-section .review-bottom,
  .real-reviews-section .review-author-row,
  .real-reviews-section .real-review-card > div:has(a[href*="yandex"]),
  .real-reviews-section .review-card > div:has(a[href*="yandex"]),
  .real-reviews-section .web-review > div:has(a[href*="yandex"]) {
    align-items: center !important;
  }

  .real-reviews-section a[href*="yandex"] {
    min-width: 102px !important;
    height: 40px !important;
    padding: 0 14px !important;
  }
}

/* REVIEWS FOOTER ALIGN FIX V3 END */

/* AUDIT STEP12 LITE: extracted style block 13; original attrs:id="sak-mobile-home-container-v14" */
@media (max-width: 640px) {
  /*
    V14: главная на телефоне без внешней "подложки".
    Убираем родительский Bootstrap container только на главной странице.
  */

  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Главная теперь ведёт себя как полноценная страница, а не как блок внутри узкого container */
  html.sak-web-page body > main.container,
  html.sak-web-page body > main.container.my-4 {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  /* Если перед футером есть стандартная линия после main — на главной она лишняя */
  html.sak-web-page body > hr.my-3 {
    display: none !important;
  }

  .sak-web-page,
  .sak-web-page main,
  .sak-web-page .main-content,
  .sak-web-page .page-content,
  .sak-web-page .content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /*
    Единый край для всех блоков главной.
    Теперь все секции имеют одинаковую ширину.
  */
  .sak-hero-v6,
  .sak-why-v6,
  .sak-photo-section,
  .home-section,
  #lead {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Первый экран */
  .sak-hero-v6 {
    margin-top: 12px !important;
    margin-bottom: 26px !important;
  }

  .sak-hero-card-v6 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 20px !important;
    border-radius: 28px !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .sak-hero-grid-v6 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .sak-hero-badge-v6 {
    display: none !important;
  }

  .sak-hero-title-v6 {
    margin-top: 0 !important;
    font-size: clamp(32px, 9vw, 38px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
  }

  .sak-hero-text-v6 {
    margin-top: 14px !important;
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }

  .sak-hero-actions-v6 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .sak-hero-btn-v6 {
    width: 100% !important;
    min-height: 50px !important;
    font-size: 16px !important;
  }

  .sak-hero-points-v6 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .sak-hero-point-v6 {
    padding: 14px 16px !important;
    border-radius: 20px !important;
  }

  /* Фото в первом экране — одно крупное фото, без перегруза */
  .sak-hero-photos-v6 {
    display: block !important;
    width: 100% !important;
  }

  .sak-hero-photo-v6 {
    display: none !important;
  }

  .sak-hero-photo-v6.big {
    display: block !important;
    width: 100% !important;
    height: 235px !important;
    min-height: 235px !important;
    max-height: 235px !important;
    border-radius: 24px !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .sak-hero-photo-v6.big img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .sak-hero-note-v6 {
    margin-top: 12px !important;
    padding: 14px 15px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  /* Почему выбирают */
  .sak-why-v6 {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }

  .sak-why-head-v6,
  .sak-why-grid-v6 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .sak-why-kicker-v6 {
    font-size: 13px !important;
    padding: 8px 11px !important;
  }

  .sak-why-title-v6 {
    font-size: clamp(29px, 8.4vw, 35px) !important;
    line-height: 1.07 !important;
  }

  .sak-why-grid-v6 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .sak-why-card-v6 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .sak-why-card-v6 h3 {
    font-size: 20px !important;
  }

  .sak-why-card-v6 p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  /* Фото-разделы на главной */
  .sak-photo-section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .sak-photo-head,
  .sak-photo-live-grid,
  .sak-photo-course-grid,
  .sak-photo-gallery-grid,
  .sak-photo-emotion-grid,
  .sak-project-grid,
  .sak-project-result-row {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .sak-photo-head {
    display: block !important;
  }

  .sak-photo-title {
    font-size: clamp(29px, 8.5vw, 36px) !important;
    line-height: 1.06 !important;
  }

  .sak-photo-text {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .sak-photo-live-grid,
  .sak-photo-course-grid,
  .sak-photo-gallery-grid,
  .sak-photo-emotion-grid,
  .sak-project-grid,
  .sak-project-result-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .sak-photo-live-card,
  .sak-photo-gallery-card,
  .sak-photo-course-card,
  .sak-photo-emotion-card,
  .sak-project-card,
  .sak-project-card-1,
  .sak-project-card-2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    border-radius: 24px !important;
  }

  .sak-photo-live-card img,
  .sak-photo-gallery-card img,
  .sak-photo-course-card img,
  .sak-photo-emotion-card img,
  .sak-project-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Чтобы мобильная главная не стала бесконечной */
  .sak-photo-course-card:nth-child(n+7),
  .sak-photo-gallery-card:nth-child(n+5),
  .sak-photo-emotion-card:nth-child(n+5) {
    display: none !important;
  }

  /* Заявка */
  #lead {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 30px !important;
    margin-bottom: 34px !important;
    padding-bottom: 34px !important;
  }

  #lead .big-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 20px 16px !important;
    border-radius: 28px !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #lead .row {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #lead [class*="col"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #lead .home-kicker {
    font-size: 13px !important;
    padding: 8px 11px !important;
    margin-bottom: 12px !important;
  }

  #lead h2 {
    font-size: clamp(27px, 8vw, 32px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 10px !important;
  }

  #lead p {
    font-size: 15px !important;
    line-height: 1.42 !important;
    margin-bottom: 12px !important;
  }

  #lead p:nth-of-type(2) {
    display: none !important;
  }

  #lead .lead-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px auto 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  #lead .lead-form label {
    margin-bottom: 5px !important;
    font-size: 13.5px !important;
    line-height: 1.25 !important;
  }

  #lead .lead-form input,
  #lead .lead-form select,
  #lead .lead-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    border-radius: 14px !important;
    font-size: 14.5px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  #lead .lead-form textarea {
    min-height: 74px !important;
    max-height: 90px !important;
  }

  #lead .lead-form .mb-3 {
    margin-bottom: 10px !important;
  }

  #lead .form-check {
    display: grid !important;
    grid-template-columns: 22px 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 8px 0 13px !important;
  }

  #lead .form-check-input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    margin: 2px 0 0 !important;
  }

  #lead .form-check-label,
  #lead .form-check-label a {
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }

  #lead button[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
  }

  /* Низ страницы */
  body {
    padding-bottom: 0 !important;
  }

  footer,
  .modern-footer,
  .site-footer {
    margin-bottom: 0 !important;
    padding-bottom: 24px !important;
  }
}

@media (max-width: 390px) {
  .sak-hero-v6,
  .sak-why-v6,
  .sak-photo-section,
  .home-section,
  #lead {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .sak-hero-card-v6,
  #lead .big-panel {
    padding: 18px 14px !important;
    border-radius: 26px !important;
  }

  .sak-hero-title-v6 {
    font-size: 32px !important;
  }
}
