/* Auto-extracted from landing.html. */
/* Source: home/main/landing/templates/landing/landing.html */

html, body{ min-height:100%; font-family:'Nunito', sans-serif; }
body{ position:relative; isolation:isolate; margin:0; }
body, button, input, select, textarea{ font-family:'Nunito', sans-serif; }
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:var(--pattern-url, var(--pattern-url-default));
  background-repeat:repeat;
  background-size:var(--pattern-size, 1024px) var(--pattern-size, 1024px);
  opacity:var(--pattern-opacity, .08);
}
body > *{ position:relative; z-index:1; }

/* Доп.адаптивные правки шапки и переключателя */
@media (max-width: 700px){
  .call, .btn-outline{ padding:.35rem .6rem !important; font-size:.9rem !important; border-radius:.6rem !important; }
  .cart-btn{ padding:.35rem .5rem !important; }
}
.tariff-toggle__label{ min-width:84px; }

/* Навигация/меню/моб.навигация + sticky баннер + мини-корзина */
header{ position:relative; z-index:9000; }
header #container{ overflow:visible; }
.top_header{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.menu{ display:flex; align-items:center; gap:1.25rem; }
.menu-item{ position:relative; }
.menu-link{ color:var(--header-link,var(--main-2,#00889b)); font-weight:700; text-decoration:none; }
.menu-link:hover{ color:var(--header-link-hover,var(--main-1,#00b6ce)); }
.submenu{
  position:absolute; top:100%; left:0; min-width:220px;
  background:var(--card-bg,#fff); border-radius:.75rem; box-shadow:0 8px 30px rgba(0,0,0,.12);
  padding:.5rem; visibility:hidden; opacity:0; pointer-events:none;
  transform:translateY(6px) scale(.98);
  transition:opacity .16s, transform .16s, visibility 0s linear .16s;
  z-index:12000;
}
    .menu-item:hover>.submenu,
    .menu-item:focus-within>.submenu,
    .menu-item.open>.submenu{
      visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s;
    }
    .submenu-link{ display:block; padding:.6rem .9rem; border-radius:.5rem; text-decoration:none; color:var(--header-text,var(--text,#222)); }
    .submenu-link:hover{ background:#f5f9fa; color:var(--header-link-hover,var(--main-2,#00889b)); }

    /* Бургер */
    .burger{
      display:none; align-items:center; gap:.5rem; background:#fff;
      border:1.5px solid #e5f2f2; border-radius:.75rem; padding:.45rem .6rem;
      font-weight:800; color:var(--main-1,#099d8c); cursor:pointer;
    }
    .burger .lines{ width:18px; height:14px; position:relative; }
    .burger .lines::before,.burger .lines::after,.burger .line{
      content:""; position:absolute; left:0; right:0; height:2px; background:var(--main-1,#099d8c); border-radius:2px;
    }
    .burger .line{ top:50%; transform:translateY(-50%); }
    .burger .lines::before{ top:0; } .burger .lines::after{ bottom:0; }

    /* Off-canvas меню */
    .scrim{ position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:.15s; z-index:11990; }
    .scrim.show{ opacity:1; visibility:visible; }
    .mobile-nav{
      position:fixed; inset:0 auto 0 0; width:86vw; max-width:360px; background:#f9feff; transform:translateX(-100%);
      transition:transform .2s ease; z-index:12000; box-shadow:0 0 2rem rgba(0,0,0,.15);
      display:flex; flex-direction:column; padding:18px;
      color:#0b3b40;
    }
    .mobile-nav.open{ transform:translateX(0); }
    .mnav-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:10px; }
    .mnav-title{ font-weight:900; color:var(--header-link,var(--main-2,#099d8c)); }
    .mnav-close{ background:#fff; border:1.5px solid #d7e7ea; border-radius:.5rem; padding:.45rem .6rem; cursor:pointer; color:#0b3b40; }
    .mnav-list{ display:flex; flex-direction:column; gap:6px; overflow:auto; padding-right:4px; }
    .mnav-item{ border:1px solid #d7e7ea; border-radius:.75rem; background:#fff; }
    .mnav-parent,.mnav-link{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1rem; font-weight:800; color:#0b3b40; text-decoration:none; }
    .mnav-parent{ cursor:pointer; }
    .mnav-children{ display:none; padding:.5rem .75rem 1rem; background:#f3f8fb; border-top:1px dashed #d7e7ea; }
    .mnav-item.open .mnav-children{ display:block; }
    .mnav-children a{ display:block; padding:.5rem .6rem; border-radius:.5rem; text-decoration:none; color:var(--header-text,#1f2937); font-weight:700; }
.mnav-children a:hover{ background:#eef9fb; color:var(--header-link-hover,var(--main-2,#00889b)); }

/* Platform devices scene (moved from inline style block). */
.devices-scene{ position:relative; width:min(95vw, 1400px); aspect-ratio:16/9; margin:2rem auto; border-radius:14px; background-position:center; background-size:cover; box-shadow:0 18px 45px rgba(8,107,120,.12); }
.devices-scene::before{ content:""; display:block; padding-top:56.25%; }
@supports (aspect-ratio:1){
  .devices-scene::before{ content:none; padding-top:0; }
}
.devices-scene .screen{ position:absolute; overflow:hidden; pointer-events:none; box-shadow:0 0 0 1px rgba(0,0,0,.35) inset; }
.devices-scene .screen > video, .devices-scene .screen > img{ width:100%; height:100%; object-fit:cover; display:block; }
.devices-scene .imac{ left:25.2%; top:16.8%; width:44.5%; height:44.7%; border-radius:6px; z-index:2; }
.devices-scene .iphone{ left:11.2%; top:48.7%; width:9%; height:29%; border-radius:5px; z-index:6; }
.devices-scene .ipad{ left: calc(73.0% + 1.2%); top: calc(46.0% + 1.2%); width: calc(23.1% - 1.2% * 2); height: calc(32.6% - 1.2% * 2); border-radius:5px; z-index:7; }
@media (max-width:640px){
  .devices-scene{ border-radius:0; box-shadow:0 12px 32px rgba(8,107,120,.12); }
  .devices-scene .screen{ border-radius:0; box-shadow:0 0 0 1px rgba(0,0,0,.25) inset; }
  .devices-scene .screen > video,
  .devices-scene .screen > img{ border-radius:0; }
}

    /* Баннер вынесен в includes/actual_banner.html */

    /* === Мини-корзина в шапке === */
    .cart-wrap{ position:relative; }
    .cart-btn{
      display:flex; align-items:center; gap:.5rem;
      background:#fff; border:1.5px solid #e5f2f2; border-radius:.75rem;
      padding:.45rem .6rem; font-weight:800; color:var(--text,#0b3b40); cursor:pointer; text-decoration:none;
    }
    .cart-badge{
      min-width:1.5rem; height:1.5rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
      font-size:.85rem; background:var(--main-1,#00b6ce); color:#fff; padding:0 .35rem;
    }
    .cart-dd{
      position:absolute; right:0; top:calc(100% + .5rem); width:min(92vw, 380px);
      background:#fff; border:1px solid #e5f2f2; border-radius:.75rem; box-shadow:0 18px 40px rgba(0,0,0,.16);
      padding:.75rem; display:none; z-index:20000;
    }
    .cart-dd.open{ display:block; }
    .cart-item{ display:grid; grid-template-columns:1fr auto; gap:.4rem .75rem; align-items:center; padding:.35rem .25rem; border-radius:.5rem; }
    .cart-item:hover{ background:#f7fbfb; }
    .cart-title{ font-weight:700; color:var(--text,#0b3b40); }
    .cart-meta{ color:#475569; font-size:.92rem; }
    .cart-actions{ display:flex; gap:.4rem; align-items:center; }
    .cart-actions form{ margin:0; display:inline; }
    .cart-empty{ color:#64748b; text-align:center; padding:.5rem 0; }
    .cart-footer{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-top:1px dashed #e5f2f2; padding-top:.6rem; margin-top:.6rem; }
    .btn-outline, .btn-primary{
      display:inline-block; padding:.5rem .75rem; border-radius:.6rem; font-weight:800; text-decoration:none; cursor:pointer; border:1.5px solid #e5f2f2; background:#fff; color:var(--text,#0b3b40); font-size:var(--button-font-size,16px);
    }
    .btn-primary{ background:var(--cta-btn-bg,var(--main-1,#0bb3c4)); border-color:var(--cta-btn-bg,var(--main-1,#0bb3c4)); color:var(--cta-btn-text,#fff); }
    .btn-primary:hover{ filter:brightness(0.98); background:var(--cta-btn-hover-bg,var(--cta-btn-bg,var(--main-1,#0bb3c4))); color:var(--cta-btn-hover-text,var(--cta-btn-text,#fff)); }
    .btn-outline:hover{ background:#f6fbfb; }

    .form-side-info{color:var(--hero-form-text-color,#0b3b40);}

    .platform-section{ padding:3rem 0; background:transparent !important; }
    .platform-section #container{ display:flex; flex-direction:column; gap:2rem; }
    .platform-hero{ display:flex; flex-wrap:wrap; gap:2.5rem; align-items:center; justify-content:space-between; }
    .platform-monitor{ position:relative; width:min(520px, 100%); }
    .platform-monitor .monitor{ position:relative; width:100%; }
    .platform-monitor .monitor img.frame{ display:block; width:100%; position:relative; z-index:2; }
    .platform-monitor .screen{ position:absolute; top:-11.5%; left:-4.4%; width:101%; height:86%; z-index:1; overflow:hidden; perspective:1200px; }
    .platform-monitor .screen img{ position:absolute; inset:0; width:120%; height:120%; object-fit:cover; transform-origin:0 0; transform:matrix3d(0.787279, -0.08999, 0, -0.000148, -0.058631, 0.613159, 0, -3e-05, 0, 0, 1, 0, 66.9606, 118.957, 0, 1); opacity:0; transition:opacity 1s ease-in-out; }
    .platform-monitor .screen img.active{ opacity:1; }
    .platform-text{ display:flex; flex-direction:column; gap:1.25rem; }
    .platform-text-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
    .platform-text h2{ margin:0; font-size:clamp(2rem, 4vw, 2.8rem); font-weight:900; color:var(--platform-text,var(--text,#0b3b40)); }
    .platform-text p{ margin:0; color:var(--platform-text,#475569); line-height:1.6; font-size:1.05rem; }
    .platform-features{ display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); align-items:stretch; width:100%; }
    .platform-feature{ background:var(--platform-card-bg,#fff); border-radius:1rem; padding:1.25rem 1.35rem; box-shadow:0 12px 30px rgba(8,107,120,.10); height:100%; display:flex; flex-direction:column; gap:.6rem; color:var(--platform-text,#0b3b40); border:1px solid #eef2f2; }
    .top_blocks{ background:var(--tariffs-bg,transparent); }
    .top_blocks .wblock{ background:var(--tariffs-card-bg,var(--card-bg,#fff)); color:var(--tariffs-text,var(--text,#0b3b40)); }
    .top_blocks .wblock p,
    .top_blocks .wblock li{ color:var(--tariffs-text,var(--text,#0b3b40)); }
    .top_blocks .wblock li::before{ color:var(--tariff-price,var(--main-1,#0bb3c4)); }
    .top_blocks .wblock_a{ background:var(--tariff-btn-bg,var(--main-1,#00b6ce)); border:1.5px solid var(--tariff-btn-bg,var(--main-1,#00b6ce)); color:var(--tariff-btn-text,#fff); font-size:var(--tariff-btn-font-size,16px); }
    .platform-secondary{ display:none; flex-wrap:wrap; gap:2rem; align-items:flex-end; justify-content:center; }
    .platform-device{ position:relative; display:none; }
    .platform-device .monitor{ position:relative; width:100%; }
    .platform-device .frame{ display:block; width:100%; position:relative; z-index:2; transform:none; }
    .platform-device .screen{ position:absolute; overflow:hidden; z-index:1; }
    .wblock_pricebox{ display:flex; gap:.5rem; align-items:baseline; justify-content:center; margin-top:.5rem; }
    .wblock_price-old{ color:var(--tariff-price-old,#6b7a84); text-decoration:line-through; font-weight:600; }
    .wblock_price-current{ font-size:var(--tariff-price-size,1.35rem); font-weight:900; color:var(--tariff-price,var(--main-1)); }
    .wblock_price{ font-size:var(--tariff-price-size,1.35rem); font-weight:900; color:var(--tariff-price,var(--main-1)); }
    .platform-device .screen img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease-in-out; }
    .platform-device .screen img.active{ opacity:1; }
    .platform-device.tablet{
      --frame-w: clamp(420px, 68vw, 560px);
      --frame-h: var(--frame-w); /* ipad mockup 1024x1024 */
      /* Прямой мокап: экран с отступами от рамки (проценты от 1024×1024) */
      --sx: 7.617%;   /* 78 / 1024 */
      --sy: 8.984%;   /* 92 / 1024 */
      --sw: 84.375%;  /* 865 / 1024 */
      --sh: 80.371%;  /* 823 / 1024 */
      width: var(--frame-w);
    }
    .platform-device.tablet .screen{
      /* айпад: прямой экран */
      top:  var(--sy);
      left: var(--sx);
      width: var(--sw);
      height:var(--sh);
      overflow:hidden;
      border-radius: 24px;
    }
    .platform-device.tablet .screen img{
      width:100%; height:100%; object-fit:cover; transform:none; opacity:1;
    }
    .platform-device.mobile{
      --frame-w: clamp(260px, 58vw, 340px);
      --frame-h: calc(var(--frame-w) * 1.5);
      /* Прямой мокап: экран с отступами от рамки (проценты от 1024×1536) */
      --sx: 27.344%;  /* 280 / 1024 */
      --sy: 13.340%;  /* 205 / 1536 */
      --sw: 49.121%;  /* 503 / 1024 */
      --sh: 74.349%;  /* 1142 / 1536 */
      width: var(--frame-w);
    }
    .platform-device.mobile .screen{
      /* айфон: прямой экран */
      top:  var(--sy);
      left: var(--sx);
      width: var(--sw);
      height:var(--sh);
      overflow:hidden;
      border-radius: 26px;
    }
    .platform-device.mobile .screen img{
      width:100%; height:100%; object-fit:cover; transform:none; opacity:1;
    }

    @media (max-width:1100px){
      .platform-hero{ display:none; }
      .platform-device.tablet{ display:block; }
    }

    @media (max-width:700px){
      .platform-device.tablet{ display:none; }
      .platform-device.mobile{ display:block; }
    }

    @media (max-width:520px){
      .platform-device.mobile{ width:min(220px, 78vw); }
    }
    .platform-feature h3{ margin:0 0 .5rem; font-size:1.15rem; color:var(--platform-text,var(--text,#0b3b40)); }
    .platform-feature p{ margin:0; color:#475569; font-size:.98rem; line-height:1.5; }
    /* Общие мобильные улучшения */
    html, body{ overflow-x:hidden; }
    img, video{ max-width:100%; height:auto; }
    /* Карточки преимуществ и тарифов — адаптивные отступы */
    .tariff-card{ padding:1.5rem; }
    /* Партнёры */
    .partners{ background:var(--partners-bg,transparent); }
    .partners h2{ font-size:var(--partners-heading-size,24px); color:var(--partners-text,var(--text,#475569)); }
    .partners #container{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:1rem; align-items:stretch; }
    .partner-card{ background:var(--partners-card-bg,var(--card-bg,#fff)); border-radius:1rem; padding:1rem; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.6rem; text-align:center; box-shadow:0 10px 24px rgba(8,107,120,.06); color:var(--partners-text,var(--text,#475569)); }
    .partner-card img{ max-height:56px; width:auto; height:auto; object-fit:contain; }
    .partner-card p{ margin:0; color:var(--partners-text,var(--text,#475569)); font-size:var(--partners-text-size,15px); }
    /* Отзывы */
    [data-review-slider]{ --reviews-gap:1.25rem; --reviews-nav-space:48px; --reviews-visible:1; }
    .testimonials{ background:var(--reviews-bg,transparent); padding:3rem 0; }
    .testimonials h2{ margin:0 0 1.25rem; font-size:clamp(1.8rem, 4.5vw, 2.2rem); text-align:center; color:var(--review-text,var(--text,#0b3b40)); }
    .testimonial-slider{ position:relative; overflow:hidden; padding:0 calc(var(--reviews-nav-space)); }
    .testimonial-track{ display:flex; gap:0; transition:transform .35s ease; }
    .testimonial-slide{ flex:0 0 100%; display:flex; justify-content:center; padding:calc(var(--reviews-gap) * .5) 0; }
    .testimonial-card{ width:min(640px, var(--card-width, 640px), calc(100vw - 96px)); background:var(--review-card-bg,var(--card-bg,#fff)); border-radius:1.25rem; box-shadow:0 14px 36px rgba(8,107,120,.10); border:1px solid #eef2f2; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.85rem; padding:1.5rem; color:var(--review-text,var(--text,#0b3b40)); }
    .testimonial-photo{ width:100%; height:auto; border-radius:16px; object-fit:cover; display:block; box-shadow:0 12px 28px rgba(8,107,120,.12); }
    .testimonial-meta{ display:flex; flex-direction:column; gap:.25rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-name{ font-weight:900; font-size:1.05rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-city{ color:rgba(100,116,139,.85); font-size:.95rem; }
    .testimonial-nav{ position:absolute; top:50%; transform:translateY(-50%); background:#fff; border:1.5px solid #e5f2f2; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; font-size:24px; color:var(--main-2,#00889b); cursor:pointer; box-shadow:0 10px 24px rgba(8,107,120,.12); transition:background .2s ease, color .2s ease; }
    .testimonial-nav:hover{ background:var(--main-1,#00b6ce); color:#fff; }
    .testimonial-nav.prev{ left:8px; }
    .testimonial-nav.next{ right:8px; }
    .testimonial-dots{ display:flex; justify-content:center; gap:8px; margin-top:1.1rem; }
    .testimonial-dot{ width:10px; height:10px; border-radius:50%; background:#c7e6ea; border:none; padding:0; cursor:pointer; transition:transform .2s ease, background .2s ease; }
    .testimonial-dot.is-active{ background:var(--main-1,#00b6ce); transform:scale(1.15); }
    @media (max-width:900px){ .testimonial-slider{ padding:0 36px; } }
    @media (max-width:700px){
      .testimonial-slider{ padding:0 24px; }
      .testimonial-nav{ width:36px; height:36px; font-size:20px; }
      .testimonial-nav.prev{ left:4px; }
      .testimonial-nav.next{ right:4px; }
    }
    /* Промо-блоки школьных программ */
    .wblocks{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.5rem; align-items:stretch; }
    .wblock{
      background:var(--programs-card-bg,var(--card-bg,#fff));
      color:var(--programs-text,var(--text,#0b3b40));
      border:1px solid #e8f2f3;
      border-radius:1.25rem;
      padding:1.25rem 1.35rem;
      box-shadow:0 14px 36px rgba(8,107,120,.08);
      display:flex; flex-direction:column; gap:.85rem; align-items:stretch;
      text-align:left;
    }
    .wblock_icon{ width:60%; margin:.25rem auto 1rem; display:block; height:auto; border-radius:.8rem; box-shadow:0 8px 22px rgba(8,107,120,.08); }
    .wblock_minititle{ display:inline-block; align-self:flex-start; margin:.1rem 0 0; padding:.25rem .6rem; border-radius:999px; background:#eefbfc; color:#00889b; font-weight:900; font-size:.85rem; letter-spacing:.03em; text-transform:uppercase; }
    .wblock_bigtitle{ margin:.2rem 0 .15rem; font-size:1.25rem; font-weight:900; color:#0b3b40; line-height:1.25; display:flex; align-items:flex-start; }
    /* Описание программ: сохраняем переносы как в админке */
    .wblock_desc{ color:var(--programs-text,#475569); line-height:1.65; margin:.25rem 0; white-space:pre-line; }
    .wblock_price{ font-size:var(--tariff-price-size,1.05rem); font-weight:900; color:var(--tariff-price,var(--main-1,#00b6ce)); margin-top:.15rem; }
    .wblock_a{ display:inline-flex; align-items:center; justify-content:center; margin-top:.6rem; padding:.6rem 1rem; border-radius:.9rem; background:transparent; color:var(--cta-btn-bg,var(--main-1,#00b6ce)); text-decoration:none; font-weight:900; border:1.5px solid var(--cta-btn-bg,var(--main-1,#00b6ce)); font-size:var(--tariff-btn-font-size,16px); }
    .wblock_a:hover{ background:#f0fbfc; }
    @media (max-width: 640px){
      .wblock_icon{ width:66%; }
      .wblock_bigtitle{ font-size:1.2rem; }
      /* без обрезки текста на мобилках */
    }
    @media (max-width:1100px){
      .platform-hero{ flex-direction:column; align-items:center; text-align:center; }
      .platform-text{ align-items:center; }
      .platform-monitor.desktop{ display:none; }
      .platform-secondary{ display:flex; }
    }

    @media (max-width:700px){
      .platform-device.tablet{ display:none; }
    }

	    @media (max-width:640px){
	      .platform-monitor{ margin:0 auto; }
	      .platform-text{ align-items:flex-start; text-align:left; }
	      .platform-text-grid{ grid-template-columns:1fr; }
	      .platform-features{ grid-template-columns:1fr; }
	      .devices-scene{ margin:1rem auto !important; width:100% !important; aspect-ratio:16/9 !important; box-shadow:0 12px 28px rgba(8,107,120,.12); }
	      .mark_title{ display:flex; flex-direction:column; gap:.5rem; align-items:flex-start; }
	      header #container{ gap:.75rem; }
	      /* Мобильный размер заголовка формы в hero */
	      #leadForm .form-title{ font-size:1rem; line-height:1.25; }
	    }

    /* Тарифы (внешний вид — как на странице тарифов) */
    .tariff-list{ display:grid; gap:2rem; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); align-items:stretch; grid-auto-rows: auto; }
    /* Десктоп: фиксируем 4 колонки, чтобы ОГЭ не раздувалось */
    @media (min-width: 1150px){
      .tariff-list{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    .tariff-toggle{ display:inline-flex; align-items:center; gap:.4rem; background:#ffffff; border:1.5px solid #e6f2f3; border-radius:999px; padding:.35rem; box-shadow:0 10px 24px rgba(8,107,120,.08); margin:0 auto 1rem; }
    .tariff-toggle__option{ position:relative; }
    .tariff-toggle__input{ position:absolute; inset:0; opacity:0; pointer-events:none; }
    .tariff-toggle__label{ display:inline-flex; align-items:center; justify-content:center; padding:.45rem .9rem; border-radius:999px; font-weight:900; color:var(--main-2,#00889b); cursor:pointer; transition:all .16s ease; }
    .tariff-toggle__option.is-active .tariff-toggle__label,
    .tariff-toggle__input:checked + .tariff-toggle__label{ background:linear-gradient(45deg, var(--main-1,#00b6ce), var(--main-2,#00889b)); color:#fff; box-shadow:0 10px 22px rgba(0,134,155,.25); }
    .tariff-toggle__input:disabled + .tariff-toggle__label,
    .tariff-toggle__option.is-disabled .tariff-toggle__label{ opacity:.45; cursor:not-allowed; }
    .tariff-card{ background:var(--tariffs-card-bg,var(--card-bg,#fff)); border-radius:1.5rem; padding:2rem; box-shadow:0 20px 45px rgba(8,107,120,.12); display:flex; flex-direction:column; gap:1.25rem; color:var(--tariffs-text,var(--text,#0b3b40)); height:100%; min-height:100%; }
    .tariff-price-block{ display:flex; align-items:baseline; gap:.6rem; margin-top:.35rem; }
    .tariff-price{ font-size:1.3rem; font-weight:800; color:var(--tariff-price,var(--main-1,#0bb3c4)); }
    .tariff-price-old{ font-size:1.1rem; font-weight:600; color:var(--tariff-price-old,#6b7a84); text-decoration:line-through; }
    .tariff-description{ color:var(--tariffs-text,#475569); line-height:1.5; }
    .tariff-features{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.5rem; }
    .tariff-features li{ color:var(--tariffs-text,var(--text,#0b3b40)); }
    .tariff-features li::before{ content:"•"; color:var(--tariff-price,var(--main-1,#0bb3c4)); margin-right:.5rem; }
    .tariff-courses{ margin-top:.4rem; padding:.65rem .75rem; background:rgba(0,182,206,.08); border-radius:12px; font-weight:700; color:#0b3b40; }
    .tariff-topics{ margin-top:.35rem; padding:.6rem .75rem; background:rgba(13,148,136,.08); border-radius:12px; font-weight:700; color:#0b3b40; }
    .tariff-actions{ display:flex; gap:.75rem; align-items:center; }
    .tariff-actions form{ margin:0; }
    .tariff-actions button{ padding:.6rem 1.1rem; border-radius:.85rem; border:1.5px solid var(--tariff-btn-bg,var(--main-1,#0bb3c4)); background:var(--tariff-btn-bg,var(--main-1,#0bb3c4)); color:var(--tariff-btn-text,#fff); font-weight:700; cursor:pointer; transition:filter .15s ease; }
    .tariff-actions button:hover{ filter:brightness(0.96); }
    .tariff-actions button:disabled{ opacity:.4; cursor:default; filter:none; }

    /* Единый нижний край: футер у карточки прилипает вниз */
    .tariff-footer{ margin-top:auto; display:flex; flex-direction:column; gap:.75rem; }
    .tariff-header{ display:flex; flex-direction:column; gap:.35rem; }
    .tariff-body{ display:flex; flex-direction:column; gap:.75rem; }
	    .platform-text__title{ text-align:center; margin:0 auto 1rem; }

	    /* Мобильные карусели (тарифы + программы) */
	    @media (max-width: 768px){
	      [data-program-grid]{
	        display:flex;
	        flex-direction:row;
	        gap:12px;
	        overflow-x:auto;
	        padding:.25rem .25rem 1.25rem;
	        width:100%;
	        scroll-snap-type:x mandatory;
	        scroll-padding:12px;
	        -webkit-overflow-scrolling:touch;
	        scrollbar-width:none;
	        overscroll-behavior-x:contain;
	      }
	      [data-program-grid]::-webkit-scrollbar{ display:none; }
	      [data-program-grid] > .wblock{
	        flex:0 0 85%;
	        max-width:360px;
	        scroll-snap-align:start;
	        scroll-snap-stop:always;
	      }

	      .tariff-list[data-tariff-list]{
	        display:flex !important;
	        flex-direction:row !important;
	        gap:12px !important;
	        overflow-x:auto;
	        padding:.25rem .25rem 1.25rem;
	        width:100%;
	        scroll-snap-type:x mandatory;
	        scroll-padding:12px;
	        -webkit-overflow-scrolling:touch;
	        scrollbar-width:none;
	        overscroll-behavior-x:contain;
	      }
	      .tariff-list[data-tariff-list]::-webkit-scrollbar{ display:none; }
	      .tariff-list[data-tariff-list] > .tariff-card{
	        padding:1rem;
	        width:auto;
	        height:auto;
	        min-height:auto !important;
	        flex:0 0 88%;
	        max-width:420px;
	        scroll-snap-align:start;
	        scroll-snap-stop:always;
	      }
	    }

    /* Моб.адаптация секции платформы */
    @media (max-width: 900px){
      .platform-section{ padding:2.5rem 0; }
      .devices-scene{ margin:1rem auto !important; width:100% !important; aspect-ratio:16/9 !important; border-radius:10px; box-shadow:0 12px 28px rgba(8,107,120,.12); }
    }
    @media (max-width: 520px){
      .platform-section{ padding:2rem 0; }
      .devices-scene{ border-radius:8px; box-shadow:0 8px 20px rgba(8,107,120,.12); }
    }

    /* Переключатель ЕГЭ/ОГЭ — скрываем лишние карточки на уровне CSS */
    /* Базовые правила */
    [data-tariff-list] > [data-exam]{ display:none; }
    [data-tariff-list][data-active-exam="ege"] > [data-exam="ege"],
    [data-tariff-list][data-active-exam="ege"] > [data-exam="both"],
    [data-tariff-list][data-active-exam="ege"] > [data-exam="none"]{ display:flex; }
    [data-tariff-list][data-active-exam="oge"] > [data-exam="oge"],
    [data-tariff-list][data-active-exam="oge"] > [data-exam="both"],
    [data-tariff-list][data-active-exam="oge"] > [data-exam="none"]{ display:flex; }

    /* Жёсткая переопределяющая версия — на случай конфликтов каскада */
    [data-tariff-list] > [data-exam]{ display:none !important; }
    [data-tariff-list][data-active-exam="ege"] > [data-exam="ege"],
    [data-tariff-list][data-active-exam="ege"] > [data-exam="both"],
    [data-tariff-list][data-active-exam="ege"] > [data-exam="none"]{ display:flex !important; }
    [data-tariff-list][data-active-exam="oge"] > [data-exam="oge"],
    [data-tariff-list][data-active-exam="oge"] > [data-exam="both"],
    [data-tariff-list][data-active-exam="oge"] > [data-exam="none"]{ display:flex !important; }


    /* Футер */
    footer #container.footer-grid{
      display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.5rem; text-align:center;
    }
    .footer-center{ display:flex; flex-direction:column; align-items:center; gap:.75rem; }
    .footer-center .f_menu{ display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
    .footer-center .f_menu a{ color:#222; text-decoration:none; font-weight:600; }
    .footer-center .f_menu a:hover{ text-decoration:underline; }
    .footer-links{ gap:1.25rem; }
    .footer-link-item{ display:flex; flex-direction:column; align-items:center; gap:.4rem; min-width:72px; }
    .footer-link-icon{ display:inline-flex; width:56px; height:56px; border-radius:1rem; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(15,118,128,.16); box-shadow:0 10px 22px rgba(8,107,120,.12); transition:transform .18s ease, box-shadow .18s ease; }
    .footer-link-icon img{ width:100%; height:100%; object-fit:contain; border-radius:inherit; }
    .footer-link-icon:hover{ transform:translateY(-3px); box-shadow:0 16px 28px rgba(8,107,120,.18); }
    .footer-link-text{ font-weight:600; color:var(--footer-text,#0b3b40); font-size:.9rem; text-align:center; }
    .footer-contacts{ font-size:14px; color:#333; display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
    .footer-contacts a{ color:var(--main-2,#099d8c); text-decoration:none; }
    .footer-contacts a:hover{ text-decoration:underline; }
    .qr-col img{ height:128px; opacity:.9; display:block; }

    /* Мобильные правки */
    @media (max-width:1024px){
      .menu{ display:none; }
      .burger{ display:flex; }
      header{ background: transparent !important; }
      header #container{ padding:.75rem !important; border-radius:1rem !important; }
      .top_header{ gap:.75rem; }
      section.big_top #container{ background:#fff !important; box-shadow:0 0 1.25rem rgb(0 0 0 / .08); }
      .big_text .b_title{ color:var(--hero-title-color,var(--hero-text,#111)) !important; font-weight:800; font-size:clamp(20px, 6vw, 28px); line-height:1.25; }
      .big_text .b_title mark{ background:none; color:inherit; }
      .big_text .b_text{ color:#333 !important; }
      .big_text .b_box{ width:100%; padding:1rem; background:#f7fbfb; color:#111; }
      .top_header aside.big_in{ display:none; }
      section.big_top{ margin:0 .75rem; }
      section.big_top #container{ margin:1rem auto; padding:1rem .75rem; border-radius:1rem; gap:1rem; flex-direction:column !important; }
      footer #container.footer-grid{ grid-template-columns:1fr; }
      .qr-col.left,.qr-col.right{ justify-self:center; }
      .qr-col.right{ order:3; }
      .footer-center{ order:2; }
      .qr-col img{ height:96px; }
    }
