  body { margin: 0; overflow-x: hidden; background: #fbfcfb; }
  .page { display: flex; flex-direction: column; }

  /* ============ s-header ============ */
  .s-header .site-header { width:100%; max-width:100%; overflow-x:hidden; background:var(--color-white); font-family:var(--font-sans); }
  .s-header .header-top { display:flex; align-items:center; gap:var(--space-4); max-width:var(--container-max); margin-inline:auto; padding:var(--space-4) var(--gutter); min-height:var(--header-top-h); }
  .s-header .logo { display:inline-flex; align-items:center; flex-shrink:0; }
  .s-header .logo img { display:block; width:116px; height:auto; }
  .s-header .header-top .search { display:none; height:40px; min-width:0; }
  .s-header .header-top .search input { min-width:0; font-size:var(--fs-sm); }
  .s-header .header-top .rating { display:none; }
  .s-header .header-top .socials { display:none; }
  .s-header .header-top .order-btn { display:none; }
  .s-header .contacts { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }
  .s-header .contacts .phone { font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--color-text); letter-spacing:.2px; white-space:nowrap; transition:color var(--transition); }
  .s-header .contacts .phone:hover { color:var(--color-green-900); text-decoration:underline; text-underline-offset:3px; }
  .s-header .contacts .email { font-size:var(--fs-sm); color:var(--color-text-muted); }
  .s-header .contacts .email:hover { color:var(--color-green-900); }
  .s-header .burger { position:relative; flex-shrink:0; width:46px; height:46px; padding:0; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:none; cursor:pointer; }
  .s-header .burger.is-open { position:fixed; top:var(--space-4); right:var(--gutter); z-index:210; }
  .s-header .burger-box { position:relative; width:28px; height:20px; }
  .s-header .burger-line { position:absolute; left:0; width:100%; height:3px; border-radius:2px; background:var(--color-green-600); transition:transform 320ms cubic-bezier(0.16,1,0.3,1), opacity 200ms ease; }
  .s-header .burger-line:nth-child(1) { top:0; }
  .s-header .burger-line:nth-child(2) { top:8.5px; }
  .s-header .burger-line:nth-child(3) { top:17px; }
  .s-header .burger.is-open .burger-line:nth-child(1) { transform:translateY(8.5px) rotate(45deg); }
  .s-header .burger.is-open .burger-line:nth-child(2) { opacity:0; }
  .s-header .burger.is-open .burger-line:nth-child(3) { transform:translateY(-8.5px) rotate(-45deg); }
  .s-header .rating { align-items:center; gap:var(--space-2); background:var(--color-bg-soft); border-radius:var(--radius-md); padding:var(--space-1) var(--space-2); }
  .s-header .rating .rating-pin { flex-shrink:0; width:18px; height:auto; }
  .s-header .rating-body { display:flex; flex-direction:column; gap:2px; }
  .s-header .rating-top { display:flex; align-items:center; gap:var(--space-1); }
  .s-header .rating-score { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--color-text); }
  .s-header .rating-stars { display:inline-flex; gap:1px; }
  .s-header .rating-stars svg { width:13px; height:13px; }
  .s-header .rating-note { font-size:10px; color:var(--color-text-subtle); line-height:1; }
  .s-header .socials { list-style:none; margin:0; padding:0; align-items:center; gap:var(--space-2); }
  .s-header .social-link { display:inline-flex; transition:transform var(--transition), filter var(--transition); }
  .s-header .social-link:hover { transform:translateY(-1px); filter:brightness(1.05); }
  .s-header .social-link img { width:30px; height:30px; display:block; }
  .s-header .header-nav { display:none; background:var(--color-bg-nav); }
  .s-header .header-nav-inner { display:flex; align-items:stretch; max-width:var(--container-max); margin-inline:auto; padding-inline:var(--gutter); height:var(--header-nav-h); }
  .s-header .catalog-btn { position:relative; z-index:0; height:100%; color:var(--color-white); background:none; padding:0 var(--space-7) 0 0; font-size:var(--fs-sm); font-weight:var(--fw-semibold); gap:var(--space-3); flex-shrink:0; }
  .s-header .catalog-btn::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; right:0; left:-100vw; background:linear-gradient(90deg, var(--color-green-600) 0%, var(--color-green-400) 100%); border-radius:0 var(--radius-pill) var(--radius-pill) 0; }
  .s-header .catalog-btn img { width:19px; height:19px; display:block; }
  .s-header .menu { list-style:none; margin:0; padding:0 0 0 var(--space-4); flex:1; display:flex; align-items:center; justify-content:space-between; }
  .s-header .menu a { font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:var(--fw-medium); color:var(--color-text-muted); padding:0 var(--space-4); transition:color var(--transition); }
  .s-header .menu a:hover { color:var(--color-green-700); }
  .s-header .menu li:last-child a { padding-right:0; }
  .s-header .menu a.menu-heat { color:#c7380b; padding-left:calc(var(--space-4) + 22px); background:url("img/icon-sun.png") var(--space-4) center / 16px 16px no-repeat; }
  .s-header .menu a.menu-heat:hover { color:#a52d09; }
  .s-header .menu-heat img { width:20px; height:20px; display:block; }
  /* ---- nav popup (tablet drawer / mobile fullscreen) ---- */
  .s-header .nav-pop { position:fixed; inset:0; z-index:200; visibility:hidden; pointer-events:none; }
  .s-header .nav-pop.is-open { visibility:visible; pointer-events:auto; }
  .s-header .nav-overlay { position:absolute; inset:0; background:rgba(20,20,20,.5); opacity:0; transition:opacity 380ms cubic-bezier(0.16,1,0.3,1); }
  .s-header .nav-pop.is-open .nav-overlay { opacity:1; }

  .s-header .nav-panel {
    position:absolute; top:0; right:0; height:100%; width:100%;
    background:var(--color-white); display:flex; flex-direction:column; gap:var(--space-6);
    padding:var(--space-6); overflow-y:auto;
    opacity:0; transform:translateY(10px);
    transition:opacity 300ms ease, transform 300ms cubic-bezier(0.16,1,0.3,1);
  }
  .s-header .nav-pop.is-open .nav-panel { opacity:1; transform:none; }
  .s-header .nav-panel > * { flex-shrink:0; }

  .s-header .np-head { display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--space-4); padding-right:56px; }
  .s-header .np-logo img { display:block; width:150px; height:auto; }
  .s-header .np-contacts { flex:1 0 100%; margin-left:auto; margin-top:var(--space-2); margin-right:-56px; display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }
  .s-header .np-phone { font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--color-text); white-space:nowrap; }
  .s-header .np-email { font-size:var(--fs-sm); color:var(--color-text-muted); }

  .s-header .np-rating { align-items:center; gap:var(--space-2); background:var(--color-bg-soft); border-radius:var(--radius-md); padding:var(--space-1) var(--space-2); }
  .s-header .np-rating--head { display:none; }
  .s-header .np-rating--body { display:inline-flex; align-self:flex-start; }

  .s-header .np-menu { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-5); }
  .s-header .np-menu a { display:inline-flex; align-items:center; gap:var(--space-3); font-size:var(--fs-md); font-weight:var(--fw-semibold); color:var(--color-text); transition:color var(--transition); }
  .s-header .np-menu a:hover { color:var(--color-green-700); }
  .s-header .np-cat { color:var(--color-green-600); }
  .s-header .np-cat img, .s-header .np-cat svg { width:20px; height:20px; display:block; }

  .s-header .np-socials { list-style:none; margin:0; padding:0; display:flex; gap:var(--space-3); }
  .s-header .np-socials img { display:block; width:44px; height:44px; }
  .s-header .np-social-max { display:none; }

  .s-header .np-search { width:100%; }
  .s-header .np-order { width:100%; height:56px; border-radius:var(--radius-pill); font-size:var(--fs-md); }

  /* menu stagger */
  .s-header .np-menu li { opacity:0; transform:translateY(8px); transition:opacity 300ms ease, transform 300ms cubic-bezier(0.16,1,0.3,1); }
  .s-header .nav-pop.is-open .np-menu li { opacity:1; transform:none; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(1) { transition-delay:70ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(2) { transition-delay:105ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(3) { transition-delay:140ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(4) { transition-delay:175ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(5) { transition-delay:210ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(6) { transition-delay:245ms; }
  .s-header .nav-pop.is-open .np-menu li:nth-child(7) { transition-delay:280ms; }

  /* tablet: right-side drawer */
  @media (min-width:560px) {
    .s-header .nav-panel { width:68%; max-width:560px; padding:var(--space-8); border-radius:var(--radius-lg) 0 0 var(--radius-lg);
      opacity:1; transform:translateX(100%); transition:transform 380ms cubic-bezier(0.16,1,0.3,1); box-shadow:var(--shadow-pop); }
    .s-header .nav-pop.is-open .nav-panel { transform:translateX(0); }
    .s-header .np-contacts { display:none; }
    .s-header .np-rating--body { display:none; }
    .s-header .np-rating--head { display:inline-flex; margin-left:auto; }
    .s-header .np-logo img { width:200px; }
    .s-header .np-social-max { display:list-item; }
  }

  @media (prefers-reduced-motion: reduce) {
    .s-header .nav-overlay, .s-header .nav-panel, .s-header .np-menu li { transition-duration:150ms !important; transition-property:opacity !important; transform:none !important; }
    .s-header .nav-panel { opacity:0; }
    .s-header .nav-pop.is-open .nav-panel { opacity:1; }
    .s-header .nav-pop.is-open .np-menu li { transition-delay:0ms !important; }
    .s-header .burger-line { transition-duration:150ms !important; }
  }
  @media (min-width:560px){ .s-header .logo img{width:132px;} .s-header .header-top .rating{display:flex;} }
  @media (min-width:1024px){ .s-header .header-top{justify-content:space-between;} .s-header .header-top .search{display:flex;flex:0 1 240px;max-width:240px;min-width:100px;} .s-header .header-top .rating{display:flex;} .s-header .header-top .socials{display:flex;} .s-header .header-top .order-btn{display:inline-flex;} .s-header .logo img{width:148px;} .s-header .contacts .phone{font-size:var(--fs-md);} .s-header .contacts{margin-left:0;} .s-header .burger,.s-header .nav-pop{display:none;} .s-header .header-nav{display:block;} }
  @media (min-width:1400px){ .s-header .header-top .search{flex-basis:240px;max-width:240px;} .s-header .rating{padding:var(--space-1) var(--space-3);} }

  /* ============ s-hero ============ */
  .s-hero .hero--mobile { display:block; }
  .s-hero .hero--desktop { display:none; }
  @media (min-width:1024px){ .s-hero .hero--mobile{display:none;} .s-hero .hero--desktop{display:block;} }
  .s-hero .hero { width:100%; padding-block:var(--space-5); font-family:var(--font-sans); }
  .s-hero .hero-slider { position:relative; width:100%; border-radius:var(--radius-lg); overflow:hidden; background:var(--color-bg-soft); }
  .s-hero .hero-viewport { overflow:hidden; border-radius:var(--radius-lg); }
  .s-hero .hero-track { display:flex; transition:transform 480ms cubic-bezier(.4, 0, .2, 1); }
  .s-hero .hero-slide { flex:0 0 100%; min-width:0; aspect-ratio:1080 / 1200; }
  .s-hero .hero-slide picture, .s-hero .hero-slide img { display:block; width:100%; height:100%; object-fit:cover; }
  .s-hero .hero-arrow { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; padding:0; border:none; background:transparent; cursor:pointer; border-radius:var(--radius-pill); box-shadow:var(--shadow-arrow); opacity:0.85; transition:transform var(--transition), filter var(--transition), opacity var(--transition); z-index:2; }
  .s-hero .hero-arrow img { display:block; width:32px; height:32px; }
  .s-hero .hero-arrow:hover { filter:brightness(1.04); opacity:1; }
  .s-hero .hero-arrow:active { transform:translateY(-50%) scale(.94); }
  .s-hero .hero-arrow.prev { left:var(--space-3); }
  .s-hero .hero-arrow.next { right:var(--space-3); }
  .s-hero .hero-dots { position:absolute; left:50%; bottom:var(--space-4); transform:translateX(-50%); display:flex; gap:var(--space-2); z-index:2; }
  .s-hero .hero-dot { width:9px; height:9px; padding:0; border:none; border-radius:var(--radius-pill); background:rgba(255, 255, 255, 0.55); cursor:pointer; transition:background var(--transition), width var(--transition); }
  .s-hero .hero-dot.is-active { background:var(--color-white); width:22px; }
  @media (min-width:1024px){ .s-hero .hero{padding-block:var(--space-7);} .s-hero .hero-slide{aspect-ratio:1900 / 760;} .s-hero .hero-arrow{width:46px;height:46px;} .s-hero .hero-arrow img{width:46px;height:46px;} .s-hero .hero-arrow.prev{left:var(--space-6);} .s-hero .hero-arrow.next{right:var(--space-6);} }

  /* ============ s-directions ============ */
  .s-directions .dirs { width:100%; padding-block:var(--space-9); font-family:var(--font-sans); }
  .s-directions .badge { display:inline-flex; align-items:center; gap:var(--space-2); background:var(--color-white); color:var(--color-text); font-size:var(--fs-sm); font-weight:var(--fw-semibold); padding:6px var(--space-4); border-radius:var(--radius-pill); }
  .s-directions .badge::before { content:""; width:8px; height:8px; border-radius:50%; background:#105E2F; }
  .s-directions .sec-head { text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--space-4); }
  .s-directions .sec-head h2 { margin:0; max-width:30ch; font-size:clamp(26px, 3.6vw, 42px); font-weight:var(--fw-bold); line-height:1.12; letter-spacing:-0.01em; color:var(--color-text); text-wrap:balance; }
  .s-directions .tabs { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-7); }
  .s-directions .tab { flex:1 1 220px; height:60px; padding:0 var(--space-5); border:none; cursor:pointer; font-family:inherit; font-size:var(--fs-sm); font-weight:var(--fw-semibold); color:var(--color-text-muted); background:#eef0ee; border-radius:var(--radius-pill); transition:background var(--transition), color var(--transition); }
  .s-directions .tab:hover { background:#76C04E; color:var(--color-white); }
  .s-directions .tab.is-active { background:var(--color-green-950); color:var(--color-white); }
  .s-directions .tab.is-active:hover { background:var(--color-green-950); }
  .s-directions .dirs-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--space-7); margin-top:0; align-items:center; }
  .s-directions .wheel-area { position:relative; width:100%; max-width:560px; margin-inline:auto; aspect-ratio:1300 / 1180; }
  .s-directions .wheel { display:block; width:100%; height:100%; }
  .s-directions .dash { fill:none; stroke:#B0B0B0; stroke-width:1.5; stroke-dasharray:2 11; stroke-linecap:round; }
  .s-directions .in { fill:var(--color-wheel-inner); }
  .s-directions .seg { fill:var(--color-wheel-outer); transition:fill 300ms ease; }
  .s-directions .ico { pointer-events:none; }
  .s-directions .seg-link { cursor:pointer; }
  .s-directions .garc { fill:none; stroke:var(--color-green-500); stroke-width:5; stroke-linecap:round; opacity:0; transition:opacity 300ms ease; }
  .s-directions .mkg { opacity:0; transition:opacity 300ms ease; }
  .s-directions .mk { fill:var(--color-white); stroke:var(--color-green-400); stroke-width:3; }
  .s-directions .wheel.dir-feed .seg-cow { fill:#9ec15d; } .s-directions .wheel.dir-feed .seg-pig { fill:#8fba4e; }
  .s-directions .wheel.dir-feed .seg-poultry { fill:#7eae44; } .s-directions .wheel.dir-feed .seg-fish { fill:#64963a; }
  .s-directions .wheel.dir-feed .in-cow { fill:#4d4d4d; } .s-directions .wheel.dir-feed .in-pig { fill:#6f6f6f; }
  .s-directions .wheel.dir-feed .in-poultry { fill:#9a9a9a; } .s-directions .wheel.dir-feed .in-fish { fill:#bcbcbc; }
  .s-directions .wheel.dir-feed .garc-feed, .s-directions .wheel.dir-feed .mkg-feed { opacity:1; }
  .s-directions .wheel.dir-software .seg-avis { fill:#8fba4e; } .s-directions .wheel.dir-software .seg-kormoptima { fill:#64963a; }
  .s-directions .wheel.dir-software .in-avis { fill:#4d4d4d; } .s-directions .wheel.dir-software .in-kormoptima { fill:#7a7a7a; }
  .s-directions .wheel.dir-software .garc-software, .s-directions .wheel.dir-software .mkg-software { opacity:1; }
  .s-directions .wheel.dir-consulting .seg-support { fill:#9ec15d; } .s-directions .wheel.dir-consulting .seg-search { fill:#8fba4e; }
  .s-directions .wheel.dir-consulting .seg-message { fill:#7eae44; } .s-directions .wheel.dir-consulting .seg-laptop { fill:#64963a; }
  .s-directions .wheel.dir-consulting .in-support { fill:#4d4d4d; } .s-directions .wheel.dir-consulting .in-search { fill:#6f6f6f; }
  .s-directions .wheel.dir-consulting .in-message { fill:#9a9a9a; } .s-directions .wheel.dir-consulting .in-laptop { fill:#bcbcbc; }
  .s-directions .wheel.dir-consulting .garc-consulting, .s-directions .wheel.dir-consulting .mkg-consulting { opacity:1; }
  .s-directions .center-tag { font-size:11px; fill:var(--color-text-subtle); }
  .s-directions .labels { position:absolute; inset:0; pointer-events:none; display:none; }
  .s-directions .lab { position:absolute; }
  .s-directions .lab-text { display:flex; flex-direction:column; gap:3px; max-width:78px; border-left:2px solid var(--color-green-400); padding-left:12px; padding-right:4px; text-align:left; }
  @media (min-width:560px){ .s-directions .lab-text{max-width:118px;} .s-directions .lab-n{font-size:15px;} .s-directions .lab-t{font-size:14px;} }
  .s-directions .lab-n { font-size:12px; font-weight:var(--fw-semibold); color:#A2C54F; line-height:1; }
  .s-directions .lab-t { font-size:12px; font-weight:var(--fw-bold); color:var(--color-text); line-height:1.2; overflow-wrap:break-word; text-wrap:balance; }
  .s-directions .lab-sub { display:none; font-size:11px; color:var(--color-text-muted); line-height:1.15; }
  @media (min-width:768px){ .s-directions .lab-sub{display:block;} }
  .s-directions .info-card { background:var(--color-bg-soft); border-radius:var(--radius-lg); padding:var(--space-7); }
  .s-directions .info-card > .badge { background:var(--color-white); }
  .s-directions .info-card h3 { margin:var(--space-4) 0 var(--space-4); font-size:clamp(24px, 2.6vw, 32px); font-weight:var(--fw-bold); line-height:1.1; color:var(--color-text); }
  .s-directions .info-card .desc { margin:0; font-size:14px; line-height:1.55; color:var(--color-text-muted); max-width:46ch; }
  .s-directions .card-icons { display:flex; gap:var(--space-3); margin:var(--space-6) 0; }
  .s-directions .card-ico-wrap { width:54px; height:54px; border-radius:50%; background:var(--color-white); border:1.5px solid #d7ded4; display:inline-flex; align-items:center; justify-content:center; }
  .s-directions .card-ico { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; color:var(--color-green-900); }
  .s-directions .card-ico svg { max-width:100%; max-height:100%; width:auto; height:auto; display:block; }
  .s-directions .expert { display:grid; grid-template-columns:auto 1fr; gap:var(--space-4); align-items:center; background:var(--color-white); border-radius:var(--radius-md); padding:var(--space-5); }
  .s-directions .expert img { width:84px; height:84px; border-radius:50%; object-fit:cover; object-position:top; background:#eee; }
  .s-directions .expert-name { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--color-text); }
  .s-directions .expert-role { font-size:var(--fs-caption); color:var(--color-text-muted); margin-bottom:var(--space-3); }
  .s-directions .expert-note { font-size:var(--fs-caption); font-weight:var(--fw-semibold); color:var(--color-text); line-height:1.35; }
  .s-directions .info-card .btn-primary { width:100%; margin-top:var(--space-4); height:56px; font-size:var(--fs-sm); letter-spacing:.06em; text-transform:uppercase; background:linear-gradient(181.12deg, #72BF44 2%, #0D3C42 158.94%); }
  .s-directions .info-card .btn-primary:hover { background:#33643A; filter:none; }
  @media (min-width:1024px){ .s-directions .sec-head .badge{background:#F1F3F0;} .s-directions .info-card{background:#F1F3F0;} .s-directions .dirs-grid{grid-template-columns:minmax(0, 1.5fr) minmax(0, 0.8fr);gap:var(--space-8);} .s-directions .wheel-area{max-width:1240px;} .s-directions .tab{flex:1;font-size:var(--fs-base);} }
  @media (max-width:1023px){ .s-directions .tab{font-size:13px;height:52px;} .s-directions .mkg{display:none;} }
  @media (max-width:560px){ .s-directions .tab{font-size:12px;height:46px;flex-basis:140px;padding:0 var(--space-3);} }

  /* ============ s-catalog ============ */
  .s-catalog .catalog { width:100%; padding-top:0; padding-bottom:var(--space-9); font-family:var(--font-sans); --cat-gap:20px; }
  .s-catalog .cat-head { margin-bottom:var(--space-7); }
  .s-catalog .cat-head h2 { margin:0 auto; max-width:30ch; font-size:clamp(26px, 3.6vw, 42px); font-weight:var(--fw-bold); color:var(--color-text); line-height:1.12; letter-spacing:-0.01em; text-align:center; text-wrap:balance; }
  .s-catalog .cat-viewport { position:relative; }
  .s-catalog .track { display:flex; gap:var(--cat-gap); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; padding-bottom:var(--space-2); }
  .s-catalog .track::-webkit-scrollbar { display:none; }
  .s-catalog .card { flex:0 0 78%; scroll-snap-align:start; display:flex; flex-direction:column; background:var(--color-card); border-radius:var(--radius-card); padding:var(--space-4); }
  .s-catalog .card-icons { display:flex; align-items:center; gap:var(--space-3); height:30px; margin:var(--space-2) 0 var(--space-3); }
  .s-catalog .card-icons img { display:block; height:26px; width:26px; object-fit:contain; }
  .s-catalog .card-icons img[src*="icon-animal-fish"] { height:27.3px; width:27.3px; }
  .s-catalog .card-media { position:relative; height:220px; margin:0 0 var(--space-3); }
  .s-catalog .card-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border-radius:8px; }
  .s-catalog .card-title { margin:0 0 2px; font-size:clamp(14px, 1.5vw, 17px); font-weight:var(--fw-extrabold, 800); color:var(--color-text); text-align:center; }
  .s-catalog .card-sub { margin:0 0 var(--space-4); font-size:var(--fs-sm); color:var(--color-text-muted); text-align:center; white-space:nowrap; }
  .s-catalog .card-btn { margin-top:auto; width:100%; height:46px; color:var(--color-white); font-size:var(--fs-sm); font-weight:var(--fw-semibold); border-radius:var(--radius-button); background:linear-gradient(181.12deg, #72BF44 2%, #0D3C42 158.94%); box-shadow:var(--shadow-btn); }
  .s-catalog .card-btn:hover { background:#33643A; color:var(--color-white); filter:none; }
  .s-catalog .cat-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-7); }
  .s-catalog .full-catalog { order:3; width:100%; text-align:center; margin-top:var(--space-4); display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); font-size:var(--fs-md); font-weight:var(--fw-semibold); color:var(--color-text); }
  .s-catalog .full-catalog:hover { color:#6DB844; text-decoration:underline; }
  .s-catalog .full-catalog svg { width:18px; height:18px; }
  .s-catalog .dots { display:flex; align-items:center; gap:var(--space-2); }
  .s-catalog .dot { width:10px; height:10px; padding:0; border:none; border-radius:50%; background:#d3d6d2; cursor:pointer; transition:background var(--transition); }
  .s-catalog .dot.is-active { background:var(--color-green-900); }
  .s-catalog .arrows { display:flex; align-items:center; gap:var(--space-3); }
  .s-catalog .nav-arrow { padding:0; border:none; background:transparent; cursor:pointer; line-height:0; }
  .s-catalog .nav-arrow img { display:block; width:56px; height:36px; }
  .s-catalog .nav-arrow:disabled { opacity:.4; cursor:default; }
  @media (min-width:560px){ .s-catalog .card{flex:0 0 calc((100% - var(--cat-gap)) / 2);} .s-catalog .cat-foot{flex-wrap:nowrap;} .s-catalog .full-catalog{order:0;width:auto;margin-top:0;} }
  @media (min-width:1024px){ .s-catalog .catalog{--cat-gap:24px;} .s-catalog .cat-head{margin-bottom:var(--space-8);} .s-catalog .cat-head h2{text-align:left;margin-inline:0;} .s-catalog .track{overflow-x:hidden;scroll-snap-type:none;} .s-catalog .card{flex:0 0 calc((100% - 4 * var(--cat-gap)) / 5);padding:var(--space-4);} .s-catalog .card-media{height:200px;} .s-catalog .cat-foot{justify-content:center;} .s-catalog .dots,.s-catalog .arrows{display:none;} .s-catalog .full-catalog{margin-top:var(--space-2);} }

  /* ============ s-about ============ */
  .s-about .about { width:100%; padding-block:var(--space-9); font-family:var(--font-sans); }
  .s-about .about-grid { display:flex; flex-direction:column; gap:var(--space-7); }
  .s-about .about-badge { display:flex; justify-content:center; }
  .s-about .badge { display:inline-flex; align-items:center; gap:var(--space-2); background:#F1F3F0; color:var(--color-text); font-size:var(--fs-sm); font-weight:var(--fw-semibold); padding:6px var(--space-4); border-radius:var(--radius-pill); }
  .s-about .badge::before { content:""; width:8px; height:8px; border-radius:50%; background:#105E2F; }
  .s-about .about-title { margin:var(--space-3) 0 0; font-size:clamp(21px, 4vw, 24px); font-weight:var(--fw-bold); line-height:1.22; color:var(--color-text); text-align:center; text-wrap:balance; }
  .s-about .about-copy { display:flex; flex-direction:column; gap:var(--space-5); }
  .s-about .about-copy p { margin:0; font-size:var(--fs-sm); line-height:1.55; color:var(--color-text-muted); max-width:42ch; }
  .s-about .about-media { display:flex; flex-direction:column; gap:var(--space-4); }
  .s-about .video { position:relative; width:100%; aspect-ratio:16 / 10; border-radius:var(--radius-card); overflow:hidden; background:var(--color-bg-soft); box-shadow:0 18px 40px rgba(0,0,0,.10); }
  .s-about .video img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .s-about .play { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:92px; height:92px; border-radius:50%; border:none; cursor:pointer; background:var(--color-green-600); display:inline-flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.25); transition:transform var(--transition), filter var(--transition); }
  .s-about .play:hover { filter:brightness(1.05); transform:translate(-50%, -50%) scale(1.05); }
  .s-about .play svg { width:30px; height:30px; margin-left:4px; fill:var(--color-white); }
  .s-about .video-cap { display:block; width:100%; text-align:center; font-size:var(--fs-md); font-weight:var(--fw-bold); color:var(--color-text); background:none; border:none; padding:0; font-family:inherit; cursor:pointer; }
  .s-about .video-cap:hover { color:var(--color-green-700); }
  @media (min-width:768px){ .s-about .about-title{font-size:clamp(24px, 3.4vw, 30px);} .s-about .play{width:104px;height:104px;} }
  @media (min-width:1024px){ .s-about .about-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:0 var(--space-9);align-items:start;} .s-about .about-head{grid-column:1;grid-row:1;} .s-about .about-badge{justify-content:flex-start;} .s-about .about-title{text-align:left;font-size:clamp(26px, 2.2vw, 32px);max-width:none;} .s-about .about-copy{grid-column:1;grid-row:2;align-self:end;flex-direction:row;gap:var(--space-7);} .s-about .about-copy p{flex:1;max-width:28ch;} .s-about .about-media{grid-column:2;grid-row:1 / span 2;} .s-about .video{aspect-ratio:16 / 11;} }
  .s-about .stats { width:100%; padding-block:var(--space-7); font-family:var(--font-sans); }
  .s-about .stats-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--space-5); }
  .s-about .stat { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:190px; padding:var(--space-6); border:1px solid var(--color-border); border-radius:var(--radius-card); background:var(--color-white); }
  .s-about .stat-label { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-size:var(--fs-sm); color:var(--color-green-900); white-space:nowrap; }
  .s-about .stat-label::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--color-green-900); flex:none; }
  .s-about .stat-body { display:flex; flex-direction:column; gap:var(--space-3); }
  .s-about .stat-num { font-size:clamp(37px, 3.7vw, 51px); font-weight:var(--fw-extrabold); line-height:1; letter-spacing:-0.02em; color:var(--color-text); white-space:nowrap; }
  .s-about .stat-desc { font-size:11.9px; line-height:1.4; color:var(--color-text-muted); }
  .s-about .stat--hl { position:relative; overflow:hidden; justify-content:flex-end; border:none; color:var(--color-white); background:var(--color-green-dark); }
  .s-about .stat--hl .leaf { position:absolute; z-index:0; pointer-events:none; top:0; right:-10px; width:108%; height:auto; }
  .s-about .stat--hl .stat-top { position:relative; z-index:1; font-size:clamp(40px, 4vw, 54px); font-weight:var(--fw-bold); line-height:1; letter-spacing:-0.01em; }
  .s-about .stat--hl .stat-sub { position:relative; z-index:1; margin-top:var(--space-2); font-size:var(--fs-sm); line-height:1.4; font-weight:var(--fw-semibold); color:var(--color-white); }
  .s-about .stat-arrow { position:absolute; z-index:2; top:var(--space-4); right:var(--space-4); width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--color-green-800); background:var(--color-green-tint); opacity:0; transform:translate(-4px,4px); transition:opacity var(--transition), transform var(--transition); pointer-events:none; }
  .s-about .stat:hover .stat-arrow { opacity:1; transform:translate(0,0); }
  .s-about .stat--hl .stat-arrow { color:var(--color-white); background:rgba(255,255,255,.18); }
  @media (min-width:768px){ .s-about .stats-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-5);} }
  @media (min-width:1024px){ .s-about .stats-grid{grid-template-columns:repeat(4, 1fr);gap:var(--space-6);} .s-about .stat{min-height:210px;} .s-about .stat-label{align-self:flex-end; padding-right:36px;} }

  /* ============ s-experts ============ */
  .s-experts .experts { width:100%; padding-block:var(--space-9); font-family:var(--font-sans); }
  .s-experts .experts-title { margin:0 auto var(--space-7); max-width:30ch; font-weight:var(--fw-bold); font-size:clamp(26px, 3.6vw, 42px); line-height:1.12; letter-spacing:-0.01em; color:var(--color-text); text-align:center; text-wrap:balance; }
  .s-experts .experts-track { display:flex; gap:var(--space-5); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -ms-overflow-style:none; scrollbar-width:none; padding-bottom:var(--space-2); }
  .s-experts .experts-track::-webkit-scrollbar { display:none; }
  .s-experts .expert-card { flex:0 0 86%; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; text-align:center; padding:var(--space-6) var(--space-6) var(--space-7); background:var(--color-card); border-radius:var(--radius-card); }
  .s-experts .expert-label { align-self:flex-end; display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-sm); color:var(--color-text-muted); white-space:nowrap; }
  .s-experts .expert-label::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--color-green-900); flex:none; }
  .s-experts .expert-photo { width:clamp(150px, 15vw, 210px); aspect-ratio:1; border-radius:50%; overflow:hidden; background:#8f9192; margin:var(--space-5) 0 var(--space-6); }
  .s-experts .expert-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 12%; display:block; }
  .s-experts .expert-name { margin:0; font-weight:var(--fw-extrabold); font-size:clamp(21px, 2.1vw, 27px); line-height:1.15; color:var(--color-text); white-space:pre-line; }
  .s-experts .expert-role { margin:var(--space-4) 0 0; font-size:13px; line-height:1.45; color:var(--color-text-muted); white-space:pre-line; }
  .s-experts .experts-foot { display:grid; align-items:center; gap:var(--space-4); margin-top:var(--space-6); grid-template-columns:auto auto; grid-template-areas:"dots arrows" "link link"; }
  .s-experts .dots { grid-area:dots; justify-self:start; display:flex; gap:var(--space-2); }
  .s-experts .dot { width:10px; height:10px; padding:0; border:none; border-radius:50%; background:#d3d6d2; cursor:pointer; transition:background var(--transition); }
  .s-experts .dot.is-active { background:var(--color-green-900); }
  .s-experts .foot-link { grid-area:link; justify-self:center; display:inline-flex; align-items:center; gap:var(--space-2); font-weight:var(--fw-bold); font-size:var(--fs-md); color:var(--color-text); cursor:pointer; background:none; border:none; font-family:inherit; }
  .s-experts .foot-link svg { width:18px; height:18px; stroke:var(--color-green-700); }
  .s-experts .arrows { grid-area:arrows; justify-self:end; display:flex; gap:var(--space-3); }
  .s-experts .nav-arrow { padding:0; border:none; background:transparent; cursor:pointer; line-height:0; }
  .s-experts .nav-arrow img { display:block; width:56px; height:36px; }
  @media (min-width:768px){ .s-experts .experts-track{gap:var(--space-6);} .s-experts .expert-card{flex:0 0 60%;} .s-experts .experts-foot{grid-template-columns:1fr auto 1fr;grid-template-areas:"dots link arrows";} }
  @media (min-width:1024px){ .s-experts .experts-title{text-align:left;margin-inline:0;} .s-experts .expert-card{flex:0 0 calc((100% - 3 * var(--space-6)) / 4);} .s-experts .expert-name{font-size:19px;} .s-experts .expert-role{margin-top:var(--space-1);} }

  /* ============ s-events ============ */
  .s-events .events { width:100%; padding-block:var(--space-9); font-family:var(--font-sans); }
  .s-events .events-badge { display:flex; justify-content:center; }
  .s-events .ev-pill { display:inline-flex; align-items:center; gap:var(--space-2); background:#F1F3F0; color:var(--color-text); font-size:var(--fs-sm); font-weight:var(--fw-semibold); padding:6px var(--space-4); border-radius:var(--radius-pill); }
  .s-events .ev-pill::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--color-green-900); }
  .s-events .events-title { margin:var(--space-5) auto var(--space-7); max-width:30ch; text-align:center; font-weight:var(--fw-bold); font-size:clamp(26px, 3.6vw, 42px); line-height:1.12; letter-spacing:-0.01em; color:var(--color-text); text-wrap:balance; }
  .s-events .events-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--space-7); align-items:start; }
  .s-events .cal { background:var(--color-white); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:var(--space-6); }
  .s-events .cal-title { margin:0 0 var(--space-5); text-align:center; font-weight:var(--fw-bold); font-size:var(--fs-lg); color:var(--color-text); }
  .s-events .cal-rule { height:1px; background:var(--color-border); margin:0 0 var(--space-6); }
  .s-events .cal-months { display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--space-8); }
  .s-events .cal-month--2 { display:none; }
  .s-events .cal-mhead { display:grid; grid-template-columns:auto 1fr auto; align-items:center; margin-bottom:var(--space-4); }
  .s-events .cal-mname { text-align:center; font-weight:var(--fw-semibold); font-size:var(--fs-md); color:var(--color-text-muted); }
  .s-events .cal-arrow { width:34px; height:34px; border:none; background:none; cursor:pointer; color:var(--color-text-muted); display:inline-flex; align-items:center; justify-content:center; }
  .s-events .cal-arrow:hover { color:var(--color-text); }
  .s-events .cal-arrow svg { width:18px; height:18px; }
  .s-events .cal-week, .s-events .cal-days { display:grid; grid-template-columns:repeat(7, 1fr); }
  .s-events .cal-wd { text-align:center; font-size:var(--fs-caption); font-weight:var(--fw-semibold); color:var(--color-text-subtle); padding-bottom:var(--space-3); letter-spacing:.04em; }
  .s-events .cal-days { gap:var(--space-2); }
  .s-events .cal-d { position:relative; height:40px; display:grid; place-items:center; font-size:var(--fs-sm); color:var(--color-text); }
  .s-events .cal-d.clk { cursor:pointer; }
  .s-events .cal-d.on { background:var(--color-green-400); color:#fff; font-weight:var(--fw-semibold); }
  .s-events .cal-d.off { background:var(--color-green-950); color:#fff; font-weight:var(--fw-semibold); }
  .s-events .cal-d.today { box-shadow:inset 0 0 0 2px var(--color-green-600); border-radius:3px; }
  .s-events .cal-d.sel { box-shadow:inset 0 0 0 2px var(--color-text); border-radius:3px; }
  .s-events .r-single { border-radius:3px; }
  .s-events .r-start { border-radius:3px 0 0 3px; }
  .s-events .r-end { border-radius:0 3px 3px 0; }
  .s-events .r-mid { border-radius:0; }
  .s-events .cal-legend { display:flex; justify-content:center; gap:var(--space-5); margin-top:var(--space-6); flex-wrap:wrap; }
  .s-events .cal-leg { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--fs-sm); color:var(--color-text-muted); }
  .s-events .cal-leg::before { content:""; width:12px; height:12px; border-radius:50%; }
  .s-events .cal-leg.on::before { background:var(--color-green-400); }
  .s-events .cal-leg.off::before { background:var(--color-green-950); }
  .s-events .events-side { display:flex; flex-direction:column; gap:var(--space-3); }
  .s-events .tabs { display:flex; gap:var(--space-7); }
  .s-events .tab { background:none; border:none; padding:0 0 6px; font-family:inherit; cursor:pointer; font-weight:var(--fw-bold); font-size:var(--fs-sm); color:var(--color-text-muted); border-bottom:2px solid transparent; }
  .s-events .tab.active { color:var(--color-green-600); border-bottom-color:var(--color-green-600); }
  .s-events .ev-list { display:flex; flex-direction:column; gap:var(--space-5); }
  .s-events .ev-list[hidden] { display:none; }
  .s-events .ev { background:var(--color-bg-nav); border-radius:var(--radius-lg); padding:var(--space-6); }
  .s-events .ev-top { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }
  .s-events .ev-date { display:inline-flex; align-items:center; gap:var(--space-3); font-weight:var(--fw-bold); font-size:var(--fs-sm); color:var(--color-text); }
  .s-events .ev-today { display:inline-flex; align-items:center; color:var(--color-green-600); font-weight:var(--fw-semibold); font-size:var(--fs-caption); }
  .s-events .ev-dot { width:10px; height:10px; border-radius:50%; flex:none; }
  .s-events .ev-badge { display:inline-flex; align-items:center; gap:7px; color:#fff; white-space:nowrap; font-size:var(--fs-caption); font-weight:var(--fw-semibold); padding:6px 12px; border-radius:var(--radius-pill); }
  .s-events .ev-badge::before { content:""; width:6px; height:6px; border-radius:50%; background:#fff; }
  .s-events .ev-title { margin:var(--space-4) 0 var(--space-3); font-weight:var(--fw-bold); font-size:var(--fs-md); color:var(--color-text); }
  .s-events .ev-desc { margin:0; font-size:var(--fs-sm); line-height:1.5; color:var(--color-text-muted); max-width:52ch; }
  @media (max-width:767px){ .s-events .ev-top{flex-direction:column-reverse;align-items:flex-start;gap:var(--space-3);} }
  @media (min-width:768px){ .s-events .cal-months{grid-template-columns:1fr 1fr;} .s-events .cal-month--2{display:block;} .s-events .cal-month--1 .arr-r{visibility:hidden;} .s-events .cal-month--2 .arr-l{visibility:hidden;} }
  @media (min-width:1024px){ .s-events .events-grid{grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);gap:var(--space-8);} .s-events .cal-col{align-self:stretch;} .s-events .cal{padding:var(--space-7);position:sticky;top:var(--space-6);} }

  /* ============ s-news ============ */
  .s-news .news { width:100%; overflow-x:hidden; padding-block:var(--space-9); font-family:var(--font-sans); }
  .s-news .news-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:var(--space-9); }
  .s-news .col-head { margin:0 auto var(--space-6); max-width:30ch; font-weight:var(--fw-bold); font-size:clamp(26px, 3.6vw, 42px); line-height:1.12; letter-spacing:-0.01em; color:var(--color-text); text-align:center; text-wrap:balance; }
  .s-news .col-list { display:flex; flex-direction:row; gap:var(--space-6); max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -ms-overflow-style:none; scrollbar-width:none; }
  .s-news .col-list::-webkit-scrollbar { display:none; }
  .s-news .card { flex:0 0 100%; scroll-snap-align:start; display:flex; flex-direction:column; }
  .s-news .card-img { position:relative; width:100%; aspect-ratio:16 / 10; border-radius:var(--radius-lg) var(--radius-lg) 0 0; overflow:hidden; background:var(--color-bg-soft); flex:none; }
  .s-news .card-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .s-news .card-panel { flex:1; display:flex; flex-direction:column; padding:var(--space-5); border-radius:0 0 var(--radius-lg) var(--radius-lg); }
  .s-news .panel-top { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }
  .s-news .card-date { font-weight:var(--fw-bold); font-size:var(--fs-sm); }
  .s-news .card-title { margin:var(--space-4) 0 var(--space-3); font-weight:var(--fw-bold); font-size:var(--fs-md); line-height:1.28; }
  .s-news .card-desc { margin:0; font-size:var(--fs-sm); line-height:1.5; }
  .s-news .card--light .card-panel { background:var(--color-card); }
  .s-news .card--light .card-date { color:var(--color-green-700); }
  .s-news .card--light .card-title { color:var(--color-text); }
  .s-news .card--light .card-desc { color:var(--color-text-muted); }
  .s-news .card--dark .card-panel { background:var(--color-green-dark); }
  .s-news .card--dark .card-date, .s-news .card--dark .card-title { color:var(--color-white); }
  .s-news .card--dark .card-desc { color:rgba(255,255,255,.82); }
  .s-news .col-foot { margin-top:var(--space-6); }
  .s-news .slider-nav { display:none; align-items:center; justify-content:space-between; margin-bottom:var(--space-5); }
  .s-news .dots { display:flex; gap:var(--space-2); }
  .s-news .dot { width:10px; height:10px; padding:0; border:none; border-radius:50%; background:#d3d6d2; cursor:pointer; transition:background var(--transition); }
  .s-news .dot.is-active { background:var(--color-green-900); }
  .s-news .arrows { display:flex; gap:var(--space-3); }
  .s-news .nav-btn { width:52px; height:52px; border-radius:var(--radius-pill); border:1.5px solid var(--color-border); background:var(--color-white); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color var(--transition), background var(--transition); }
  .s-news .nav-btn:hover { border-color:var(--color-green-600); background:var(--color-green-tint); }
  .s-news .nav-btn svg { width:22px; height:22px; stroke:var(--color-text); }
  .s-news .foot-link { display:flex; align-items:center; justify-content:center; gap:var(--space-2); font-weight:var(--fw-bold); font-size:var(--fs-md); color:var(--color-text); background:none; border:none; font-family:inherit; cursor:pointer; width:100%; }
  .s-news .foot-link svg { width:18px; height:18px; stroke:var(--color-green-700); }
  @media (max-width:767px){ .s-news .slider-nav{display:flex;} }
  @media (min-width:768px){ .s-news .col-list{flex-direction:column;overflow:visible;} .s-news .card{flex:none;flex-direction:row;gap:var(--space-3);align-items:stretch;} .s-news .card-img{width:38%;aspect-ratio:auto;border-radius:var(--radius-lg);} .s-news .card-panel{justify-content:center;padding:var(--space-6);border-radius:var(--radius-lg);} }
  @media (min-width:1024px){
    .s-news .news-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-8);}
    .s-news .col-head{text-align:left;margin-inline:0;}
    .s-news .card-img{height:260px;}
    .s-news .card-panel{height:260px;overflow:hidden;}
    .s-news .card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
    .s-news .card-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;}
  }

  /* ============ s-partners ============ */
  .s-partners .partners { width:100%; padding-block:var(--space-8); background:#FAFAFA; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); font-family:var(--font-sans); }
  .s-partners .marquee { overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
  .s-partners .track { display:flex; align-items:center; width:max-content; gap:clamp(40px, 6vw, 96px); animation:partners-scroll 70s linear infinite; }
  .s-partners .track:hover { animation-play-state:paused; }
  .s-partners .logo { flex:none; height:40px; display:inline-flex; align-items:center; }
  .s-partners .logo img { height:100%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.72; }
  @media (min-width:768px){ .s-partners .logo{height:46px;} }
  @media (min-width:1024px){ .s-partners .partners{padding-block:var(--space-9);} .s-partners .logo{height:56px;} }

  /* ============ s-footer ============ */
  .s-footer { position:relative; }
  .s-footer .footer { position:relative; width:100%; overflow:hidden; background:var(--color-footer); color:#fff; font-family:var(--font-sans); padding-block:var(--space-9); }
  .s-footer .footer a { color:rgba(255,255,255,.72); text-decoration:none; transition:color var(--transition); }
  .s-footer .footer a:hover { color:#fff; }
  .s-footer .f-leaf { position:absolute; z-index:0; pointer-events:none; right:2%; bottom:-40px; width:460px; height:auto; }
  .s-footer .footer .container { position:relative; z-index:1; }
  .s-footer .f-top { position:absolute; top:0; left:50%; transform:translate(-50%, -50%); z-index:2; }
  .s-footer .scroll-top { width:44px; height:58px; border-radius:var(--radius-pill); border:none; cursor:pointer; background:var(--color-green-600); display:inline-flex; align-items:center; justify-content:center; box-shadow:var(--shadow-btn); transition:filter var(--transition), transform var(--transition); }
  .s-footer .scroll-top:hover { filter:brightness(1.06); transform:translateY(-2px); }
  .s-footer .scroll-top svg { width:22px; height:22px; stroke:#fff; }
  .s-footer .footer-grid { display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--space-7); }
  .s-footer .f-logo img { display:block; width:200px; height:auto; }
  .s-footer .f-contacts { display:flex; flex-direction:column; align-items:center; gap:var(--space-6); }
  .s-footer .f-cell { display:flex; flex-direction:column; gap:4px; }
  .s-footer .f-big { font-size:clamp(20.4px, 4.25vw, 28.9px); font-weight:var(--fw-bold); color:#fff; letter-spacing:-0.01em; white-space:nowrap; }
  .s-footer a.f-big { color:#fff; }
  .s-footer a.f-big:hover { color:var(--color-green-400); }
  .s-footer .f-sub { font-size:calc(var(--fs-sm) * 0.85); color:rgba(255,255,255,.55); }
  .s-footer .socials { display:flex; gap:var(--space-3); list-style:none; margin:0; padding:0; }
  .s-footer .socials img { display:block; width:40px; height:40px; }
  .s-footer .f-nav { display:none; }
  .s-footer .f-col { display:flex; flex-direction:column; gap:var(--space-3); text-align:left; }
  .s-footer .f-col h3 { margin:0 0 var(--space-1); font-size:calc(var(--fs-md) * 0.85); font-weight:var(--fw-bold); color:#fff; }
  .s-footer .f-col a { font-size:calc(var(--fs-base) * 0.85); }
  .s-footer .f-legal { display:flex; flex-direction:column; align-items:center; gap:var(--space-4); }
  .s-footer .f-inn { font-size:calc(var(--fs-sm) * 0.85); color:rgba(255,255,255,.7); }
  .s-footer .f-legal .f-policy { display:flex; flex-direction:column; align-items:center; gap:var(--space-3); }
  .s-footer .f-policy a { font-size:calc(var(--fs-sm) * 0.85); color:rgba(255,255,255,.5); text-decoration:underline; text-underline-offset:3px; }
  @media (min-width:768px){ .s-footer .f-logo{order:1;} .s-footer .f-contacts{order:2;} .s-footer .f-nav{order:3;} .s-footer .f-legal{order:4;} .s-footer .f-nav{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-6);width:100%;} .s-footer .f-contacts{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-8) var(--space-9);} .s-footer .socials{flex-basis:100%;justify-content:center;} }
  @media (min-width:1024px){ .s-footer .footer{padding-block:var(--space-8) var(--space-9);} .s-footer .footer-grid{display:grid;text-align:left;align-items:start;column-gap:var(--space-6);row-gap:var(--space-8);grid-template-columns:1.5fr repeat(4, 1fr) 1.6fr;grid-template-rows:auto 1fr;} .s-footer .f-logo{grid-column:1;grid-row:1;} .s-footer .f-legal{grid-column:1;grid-row:2;align-self:end;align-items:flex-start;gap:var(--space-3);} .s-footer .f-legal .f-policy{align-items:flex-start;} .s-footer .f-nav{display:contents;} .s-footer .f-col{grid-row:1 / span 2;} .s-footer .f-contacts{grid-column:6;grid-row:1 / span 2;flex-direction:column;align-items:flex-start;gap:var(--space-6);flex-wrap:nowrap;} .s-footer .f-cell{align-items:flex-start;} .s-footer .socials{flex-basis:auto;justify-content:flex-start;margin-top:var(--space-2);} .s-footer .f-top{left:auto;right:var(--gutter);transform:translateY(-50%);} }

  @keyframes partners-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  /* Wheel tab visibility rules */
  .s-directions .labels[data-dir], .s-directions .dir-panel[data-dir] { display: none; }
  .s-directions .labels[data-dir].is-active { display: block; }
  .s-directions .dir-panel[data-dir].is-active { display: contents; }

  /* ============ modals (consult / callback) ============ */
  .modal-overlay { position:fixed; inset:0; z-index:1000; display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:var(--space-8) var(--space-5); background:rgba(0,0,0,0.45); backdrop-filter:blur(0px); opacity:0; transition:opacity 280ms cubic-bezier(0.16,1,0.3,1), backdrop-filter 280ms cubic-bezier(0.16,1,0.3,1); }
  .modal-overlay.is-open { display:flex; }
  .modal-overlay.is-shown { opacity:1; backdrop-filter:blur(7px); }
  .modal { position:relative; width:100%; max-width:660px; margin:auto; background:var(--color-white); border-radius:var(--radius-stat); box-shadow:0 24px 64px rgba(0,0,0,0.28); padding:clamp(28px, 4vw, 52px); opacity:0; transform:scale(0.96) translateY(8px); transition:opacity 280ms cubic-bezier(0.16,1,0.3,1), transform 280ms cubic-bezier(0.16,1,0.3,1); }
  .modal-overlay.is-shown .modal { opacity:1; transform:scale(1) translateY(0); }
  @media (prefers-reduced-motion: reduce) { .modal-overlay, .modal { transition-duration:140ms !important; transition-property:opacity !important; } .modal { transform:none !important; } }
  .modal-close { position:absolute; top:var(--space-5); right:var(--space-5); width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1.5px solid var(--color-border); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-text-muted); cursor:pointer; padding:0; z-index:1; transition:var(--transition); }
  .modal-close:hover { border-color:var(--color-green-600); color:var(--color-green-800); }
  .video-modal { max-width:900px; padding:var(--space-4); background:#000; }
  .video-frame { position:relative; width:100%; aspect-ratio:16 / 9; border-radius:var(--radius-md); overflow:hidden; background:#000; }
  .video-frame iframe, .video-frame video { position:absolute; inset:0; width:100%; height:100%; border:none; object-fit:contain; background:#000; }
  .modal-title { margin:0; text-align:center; color:var(--color-green-800); font-weight:var(--fw-semibold); font-size:clamp(26px, 4vw, 40px); line-height:1.1; letter-spacing:-0.01em; }
  .modal-sub { margin:var(--space-3) auto 0; text-align:center; color:var(--color-text-muted); font-size:var(--fs-base); line-height:1.4; max-width:46ch; }
  .modal-form { margin-top:var(--space-7); display:flex; flex-direction:column; gap:var(--space-6); }
  .modal-fields { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); }
  .modal-field { display:flex; flex-direction:column; gap:var(--space-2); }
  .modal-field span { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--color-text); }
  .modal-field .req { color:var(--color-green-600); }
  .modal-field input { height:50px; padding:0 var(--space-5); border:none; border-radius:var(--radius-md); background:var(--color-bg-nav); font-family:inherit; font-size:var(--fs-base); color:var(--color-text); outline:none; }
  .modal-field input:focus { box-shadow:0 0 0 2px var(--color-green-500); }
  .modal-directions { display:flex; flex-direction:column; gap:var(--space-4); }
  .modal-directions > span { font-size:var(--fs-sm); font-weight:var(--fw-bold); color:var(--color-text); }
  .modal-dir-row { display:flex; flex-wrap:wrap; gap:var(--space-4); }
  .modal-dir-btn { width:66px; height:66px; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-pill); cursor:pointer; padding:0; background:var(--color-bg-nav); border:1.5px solid var(--color-border); transition:var(--transition); }
  .modal-dir-btn.is-active { background:var(--color-green-tint); border:2px solid var(--color-green-600); }
  .modal-dir-btn img { width:52%; height:52%; object-fit:contain; }
  .modal-dir-btn span { font-size:var(--fs-sm); font-weight:var(--fw-semibold); color:var(--color-green-900); }
  .modal-consent { display:flex; align-items:flex-start; gap:var(--space-3); cursor:pointer; margin-top:var(--space-1); }
  .modal-consent input { appearance:none; -webkit-appearance:none; flex:0 0 auto; width:22px; height:22px; margin:0; border:1.5px solid var(--color-border); border-radius:6px; background:var(--color-white); cursor:pointer; position:relative; }
  .modal-consent input:checked { background:var(--color-green-600); border-color:var(--color-green-600); }
  .modal-consent input:checked::after { content:""; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
  .modal-consent span { font-size:var(--fs-caption); line-height:1.5; color:var(--color-text-subtle); }
  .modal-consent a { color:var(--color-green-700); text-decoration:underline; }
  .modal-submit { height:60px; font-size:var(--fs-base); font-weight:var(--fw-bold); letter-spacing:0.06em; text-transform:uppercase; align-self:flex-start; padding:0 var(--space-9); }
  @media (max-width:560px) { .modal-fields { grid-template-columns:1fr; } .modal-submit { align-self:stretch; width:100%; } }

  /* AJAX submit loading indicator — see custom/kombikorm/js/main_new.js */
  .is-sending { cursor:wait !important; opacity:0.75; }
  .btn-spinner { display:inline-block; width:14px; height:14px; margin-right:8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; vertical-align:-2px; animation:btn-spinner-rotate 0.7s linear infinite; }
  @keyframes btn-spinner-rotate { to { transform:rotate(360deg); } }
