
  /* ============================================================
     ДИЗАЙН-ТОКЕНЫ
     Палитра ушла от "офисного синего + острые углы" к тёплому
     нейтральному холсту и глубокому зелёному — цвету, который в
     европейском agri/biotech-брендинге читается как "органический
     белок, лабораторная точность", а не "корпоративный шаблон".
     ============================================================ */
  :root{
    --bg:            #FAFAF8;   /* тёплый нейтральный холст */
    --bg-panel:      #F2F0E9;   /* мягкая панель под секции */
    --bg-panel-2:    #ECE9DF;   /* панель плотнее, для контраста */
    --ink:           #14181A;   /* текст, тёплый почти-чёрный */
    --ink-soft:      #5B6560;   /* приглушённый текст */
    --accent:        #154B3D;   /* глубокий зелёный — основной акцент */
    --accent-dark:   #0E362C;   /* hover / нажатое состояние */
    --accent-soft:   #D8E4DD;   /* светлый акцент / подложки */
    --accent-2:      #B98A46;   /* тёплое золото — точечный акцент */
    --line:          #E4E1D6;   /* тёплые тонкие разделители */
    --contact-bg:    #14181C;
    --white:         #FFFFFF;
    --contact-text:  #F2F4F5;
    --contact-muted: #B9C0C6;
    --contact-label: #8B949C;
    --contact-error: #FFB4B0;
    --contact-success:#9FD8B9;
    --contact-field: rgba(255,255,255,.06);
    --contact-border:rgba(255,255,255,.18);
    --header-height: 95px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10:40px;
    --space-12:48px;

    --radius-sm:  10px;
    --radius-md:  16px;
    --radius-lg:  22px;
    --radius-pill: 999px;

    --shadow-sm: 0 1px 2px rgba(20,20,15,.05), 0 1px 1px rgba(20,20,15,.04);
    --shadow-md: 0 12px 28px -14px rgba(20,20,15,.18);
    --shadow-lg: 0 30px 60px -24px rgba(20,20,15,.28);

    --font-sans:'Work Sans', 'Segoe UI', Arial, sans-serif;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  section[id]{ scroll-margin-top:var(--header-height); }

  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-sans);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  body.modal-open{ overflow:hidden; }
  .clipboard-field{ position:fixed; opacity:0; pointer-events:none; }

  h1, h2, h3{
    font-family:var(--font-sans);
    font-weight:600;
    line-height:1.14;
    letter-spacing:-0.025em;
  }

  a{ color:inherit; text-decoration:none; }
  img{ display:block; max-width:100%; }
  button{ font-family:inherit; cursor:pointer; }
  :focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }

  .skip-link{
    position:fixed; left:16px; top:12px; z-index:1000; padding:10px 16px;
    background:var(--ink); color:#fff; border-radius:var(--radius-pill);
    transform:translateY(-180%); transition:transform .2s ease;
  }
  .skip-link:focus{ transform:translateY(0); }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

  /* Тихая подпись над мини-таблицами в модалках товара (без линий/обводки) */
  .table-label{
    display:block;
    font-family:var(--font-sans);
    font-size:11.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:16px;
  }

  /* ---------- Scroll-reveal ---------- */
  .js .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .js .reveal.in-view{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){
    .js .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  }
