/* ==========================================================================
   СИББЭГ — визуальная система
   Язык взят из самой упаковки: тканый полипропилен, стропы, прошивка,
   трафаретная маркировка на мешке.
   ========================================================================== */

/* Fonts: self-hosted (без передачи IP посетителя сторонним CDN) */
@font-face{font-family:"Fira Sans Extra Condensed";font-style:normal;font-weight:800;font-display:swap;
  src:url(assets/fonts/fira-sans-extra-condensed-800-cyrillic.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Fira Sans Extra Condensed";font-style:normal;font-weight:800;font-display:swap;
  src:url(assets/fonts/fira-sans-extra-condensed-800-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(assets/fonts/golos-text-400-700-cyrillic.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(assets/fonts/golos-text-400-700-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  /* hex-фолбэк для старых браузеров, ниже переопределяется OKLCH */
  --blue-950:#0a1a3a;
  --blue-900:#0f2a5c;
  --blue-700:#17469c;
  --link:#1d4fb8;
  --signal:#f47a12;
  --signal-strong:#e0680a;
  --ink:#111c33;
  --muted:#4a5670;
  --bg:#f5f7fa;
  --surface:#ffffff;
  --fabric:#eceff3;
  --line:#d6dce6;
  --on-dark:#eef2f9;
  --on-dark-muted:#b9c6de;

  --font-display:"Fira Sans Extra Condensed","Arial Narrow",sans-serif;
  --font-body:"Golos Text","Segoe UI",Roboto,Arial,sans-serif;

  --radius:4px;
  --max:1200px;
  --gutter:clamp(20px,4vw,40px);
  --section:clamp(64px,9vw,128px);
  --ease-out:cubic-bezier(.22,1,.36,1);

  /* z-index scale */
  --z-sticky:10;
  --z-header:20;
  --z-scrim:30;
  --z-drawer:40;
  --z-banner:50;
  --z-modal:60;

  /* legacy aliases (privacy.html использует --muted / --blue) */
  --blue:var(--link);
  --orange:var(--signal);
  --border:var(--line);
  --bg-soft:var(--fabric);
  font-size:16px;
}
@supports (color:oklch(0 0 0)){
  :root{
    --blue-950:oklch(0.21 0.07 262);
    --blue-900:oklch(0.28 0.10 262);
    --blue-700:oklch(0.41 0.15 262);
    --link:oklch(0.46 0.17 262);
    --signal:oklch(0.70 0.18 52);
    --signal-strong:oklch(0.65 0.18 48);
    --ink:oklch(0.22 0.04 262);
    --muted:oklch(0.44 0.035 262);
    --bg:oklch(0.975 0.004 255);
    --fabric:oklch(0.948 0.007 255);
    --line:oklch(0.88 0.013 255);
    --on-dark:oklch(0.96 0.008 255);
    --on-dark-muted:oklch(0.82 0.03 258);
  }
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  font-size:1.0625rem;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block;}
a{color:var(--link);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:-.005em;text-wrap:balance;margin:0;}
p{text-wrap:pretty;}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);}
.icon{width:28px;height:28px;color:var(--blue-700);flex-shrink:0;}
.mt-24{margin-top:24px;}
.text-center{text-align:center;}

.skip-link{position:absolute;left:12px;top:-60px;z-index:var(--z-modal);background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--radius);}
.skip-link:focus{top:12px;}
#main{position:absolute;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:12px 22px;border-radius:var(--radius);
  font-family:var(--font-body);font-weight:700;font-size:1rem;line-height:1.2;
  border:2px solid transparent;cursor:pointer;text-align:center;text-decoration:none;
  transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out),transform .2s var(--ease-out);
}
.btn:hover{text-decoration:none;}
.btn:active{transform:translateY(1px);}
/* Тёмный текст на оранжевом: белый на #f47a12 даёт лишь ~2.8:1 */
.btn-primary{background:var(--signal);color:var(--blue-950);}
.btn-primary:hover{background:var(--signal-strong);}
.btn-ghost{background:transparent;border-color:color-mix(in oklab,var(--on-dark) 45%,transparent);color:var(--on-dark);}
.btn-ghost:hover{border-color:var(--on-dark);background:color-mix(in oklab,var(--on-dark) 8%,transparent);}
.btn-outline,.btn-outline-dark{background:transparent;border-color:var(--blue-700);color:var(--blue-700);}
.btn-outline:hover,.btn-outline-dark:hover{background:var(--blue-700);color:#fff;}
.btn-lg{min-height:56px;padding:14px 28px;font-size:1.0625rem;}
.btn-block{width:100%;}
.btn svg{width:20px;height:20px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:var(--z-header);
  background:var(--surface);border-bottom:1px solid var(--line);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;}
.brand{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--blue-900);text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand img{height:40px;}
.brand-mark{width:40px;height:40px;color:var(--blue-700);}
.brand-word{font-family:var(--font-display);font-weight:800;font-size:1.75rem;line-height:.9;letter-spacing:.02em;}
.brand-word small{display:block;font-family:var(--font-body);font-weight:500;font-size:.75rem;letter-spacing:0;color:var(--muted);margin-top:3px;}
.nav-desktop{display:flex;gap:4px;}
.nav-desktop a{color:var(--ink);font-weight:500;font-size:.9375rem;padding:12px;border-radius:var(--radius);}
.nav-desktop a:hover{color:var(--blue-700);text-decoration:none;background:var(--fabric);}
.header-contacts{display:flex;align-items:center;gap:20px;}
.header-phone{display:block;padding:4px 0;font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:1.375rem;line-height:1;white-space:nowrap;letter-spacing:.01em;}
.header-phone:hover{color:var(--blue-700);text-decoration:none;}
.header-phone small{display:block;font-family:var(--font-body);font-weight:400;color:var(--muted);font-size:.75rem;margin-top:4px;letter-spacing:0;}
.header-cta{min-height:44px;padding:10px 18px;font-size:.9375rem;}
.burger{display:none;background:none;border:none;cursor:pointer;width:48px;height:48px;padding:12px;margin-right:-12px;}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;}

/* ---------- Hero ---------- */
/* Тёмно-синее «полотно» с тканой фактурой вместо плоского градиента */
.hero{
  position:relative;overflow:hidden;color:var(--on-dark);
  background-color:var(--blue-900);
  background-image:
    repeating-linear-gradient(0deg,rgb(255 255 255 / .035) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,rgb(0 0 0 / .08) 0 2px,transparent 2px 5px),
    radial-gradient(120% 90% at 85% 40%,var(--blue-700) 0%,transparent 60%);
  padding:clamp(40px,6vw,88px) 0 clamp(48px,7vw,104px);
}
.hero::after{ /* строп-полоса по нижней кромке */
  content:"";position:absolute;left:0;right:0;bottom:0;height:10px;
  background:repeating-linear-gradient(90deg,var(--signal) 0 56px,var(--signal-strong) 56px 58px);
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center;}
.hero h1{
  font-size:clamp(2.75rem,1.6rem + 4.2vw,4.75rem);
  line-height:.94;letter-spacing:-.01em;margin:0 0 24px;color:#fff;max-width:17ch;
}
.hero-lead{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);color:var(--on-dark-muted);margin:0 0 32px;max-width:52ch;line-height:1.55;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;}
.hero-badges{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.9375rem;color:var(--on-dark);}
.hero-badges li{display:flex;align-items:center;gap:10px;}
.hero-badges li::before{content:"";width:10px;height:10px;background:var(--signal);flex-shrink:0;}

.hero-visual{position:relative;margin:0;}
.hero-photo{display:block;width:100%;max-width:420px;margin:0 auto;position:relative;}
.hero-photo img{width:100%;height:auto;aspect-ratio:560/671;object-fit:cover;
  /* тёмный фон фото плавно уходит в синее «полотно» hero */
  -webkit-mask-image:radial-gradient(72% 66% at 50% 50%,#000 42%,transparent 97%);mask-image:radial-gradient(72% 66% at 50% 50%,#000 42%,transparent 97%);}
.bag-tag{
  position:relative;margin:-20px -12px 0 auto;max-width:340px;
  background:var(--surface);color:var(--ink);padding:20px 22px;
  border-radius:2px;box-shadow:0 18px 40px -12px rgb(0 0 0 / .45);
  transform:rotate(-1.2deg);
}
.bag-tag::before{ /* прошивка бирки */
  content:"";position:absolute;inset:6px;border:1.5px dashed color-mix(in oklab,var(--blue-700) 40%,transparent);pointer-events:none;
}
.bag-tag ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.bag-tag li{display:flex;gap:12px;align-items:flex-start;font-size:.875rem;line-height:1.45;color:var(--muted);}
.bag-tag strong{display:block;font-family:var(--font-display);font-weight:800;font-size:1.125rem;color:var(--ink);letter-spacing:.01em;}
.bag-tag .icon{width:24px;height:24px;margin-top:2px;color:var(--signal-strong);}

/* Hero entrance: мешок «опускают» на паллет, бирка ложится следом */
@media (prefers-reduced-motion:no-preference){
  .hero-photo{animation:bag-lower 1.1s var(--ease-out) .15s both;}
  .bag-tag{animation:tag-in .7s var(--ease-out) .85s both;}
  .hero-copy > *{animation:rise .8s var(--ease-out) both;}
  .hero-copy > :nth-child(2){animation-delay:.08s;}
  .hero-copy > :nth-child(3){animation-delay:.16s;}
  .hero-copy > :nth-child(4){animation-delay:.24s;}
}
@keyframes bag-lower{from{opacity:.001;transform:translateY(-28px);}to{opacity:1;transform:none;}}
@keyframes tag-in{from{opacity:0;transform:translateY(14px) rotate(2deg);}to{opacity:1;transform:rotate(-1.2deg);}}
@keyframes settle{from{transform:translateY(28px);}to{transform:none;}}
@keyframes rise{from{opacity:.001;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* ---------- Sections ---------- */
section{padding:var(--section) 0;}
.section-head{margin:0 0 clamp(32px,5vw,56px);}
.section-head h2,.why h2,.about h2,.contacts h2{font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem);line-height:.98;}
.section-head p{color:var(--muted);margin:16px 0 0;max-width:52ch;font-size:1.125rem;}
.section-head--split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px 48px;align-items:end;}
.section-head--split p{margin:0;}

/* ---------- Products: ведущая позиция + прайс-ведомость ---------- */
.products{background:var(--bg);}
.catalog{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  grid-template-rows:repeat(3,auto);column-gap:clamp(24px,4vw,56px);
  border-top:3px solid var(--ink);
}
.product{
  --icon-accent:var(--signal-strong);
  display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:8px 24px;align-items:center;
  padding:28px 0;border-bottom:1px solid var(--line);
}
.product-icon{width:64px;height:64px;color:var(--blue-900);}
.product h3{font-size:1.75rem;line-height:1.05;margin:0 0 6px;}
.product p{margin:0;color:var(--muted);font-size:1rem;max-width:56ch;}
.price-link{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  font-weight:700;color:var(--blue-700);white-space:nowrap;
}
.price-link svg{width:18px;height:18px;transition:transform .25s var(--ease-out);}
.price-link:hover svg{transform:translateX(4px);}
.product--lead{
  grid-row:1 / span 3;grid-template-columns:1fr;align-content:start;align-items:start;gap:20px;
  margin-top:24px;padding:clamp(28px,3vw,40px);border:0;
  background-color:var(--blue-900);color:var(--on-dark);
  background-image:
    repeating-linear-gradient(0deg,rgb(255 255 255 / .04) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,rgb(0 0 0 / .1) 0 2px,transparent 2px 5px);
  --icon-accent:var(--signal);
}
.product--lead .product-photo{display:block;margin:calc(-1 * clamp(28px,3vw,40px)) calc(-1 * clamp(28px,3vw,40px)) 8px;}
.product--lead .product-photo img{width:100%;height:auto;aspect-ratio:660/632;object-fit:cover;display:block;}
.product--lead h3{font-size:clamp(2.25rem,1.6rem + 2vw,3.25rem);color:#fff;}
.product--lead p{color:var(--on-dark-muted);font-size:1.0625rem;}
.product--lead .btn{justify-self:start;margin-top:8px;}

/* ---------- Industries: типографский список ---------- */
.industries{
  background-color:var(--fabric);
  background-image:
    repeating-linear-gradient(0deg,rgb(17 28 51 / .025) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,rgb(17 28 51 / .02) 0 2px,transparent 2px 5px);
}
.industries-photo{display:block;margin:0 0 clamp(24px,4vw,40px);}
/* Без max-height: на широких экранах он раньше срабатывал раньше aspect-ratio и
   резал кадр до 2.5:1 вместо родной пропорции фото — верх мешков обрезался,
   в кадре оставался в основном чёрный фон. Пропорция исходника — 1060:650. */
.industries-photo img{width:100%;height:auto;aspect-ratio:1060/650;object-fit:cover;object-position:center;display:block;border-bottom:6px solid var(--signal);}
.industry-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,56px);}
.industry-list li{
  display:flex;flex-direction:column;gap:8px;padding:28px 0 26px;border-top:1px solid color-mix(in oklab,var(--ink) 30%,transparent);
}
.industry-list h3{font-size:clamp(1.875rem,1.4rem + 1.6vw,2.75rem);line-height:1;color:var(--blue-900);}
.industry-list span{color:var(--muted);font-size:1rem;}
.industry-list li:hover h3{color:var(--blue-700);}

/* ---------- Why ---------- */
.why{background:var(--blue-950);color:var(--on-dark);}
.why-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.why h2{color:#fff;position:sticky;top:120px;}
.why-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;}
.why-item{padding-top:20px;position:relative;}
.why-item::before{ /* отрезок стропы с прошивкой */
  content:"";position:absolute;top:0;left:0;width:56px;height:6px;background:var(--signal);
}
.why-item h3{font-size:1.75rem;color:#fff;margin:0 0 10px;}
.why-item p{margin:0;color:var(--on-dark-muted);font-size:1rem;}

/* ---------- About ---------- */
.about{background:var(--surface);}
.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:start;}
.about-side{display:grid;gap:0;}
.about-photo{display:block;}
.about-photo img{width:100%;height:auto;aspect-ratio:853/720;object-fit:cover;object-position:center 40%;display:block;}
.about-side .about-tag{border-top:0;}
.about-copy p{font-size:clamp(1.125rem,1.05rem + .35vw,1.375rem);line-height:1.5;margin:24px 0 0;max-width:40ch;color:var(--ink);}
.about-tag{margin:0;display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink);}
.stat{padding:20px 22px;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:6px;}
.stat + .stat{border-left:2px solid var(--ink);}
.stat dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,1.6rem + 1.5vw,2.75rem);line-height:1;color:var(--blue-700);}
.stat dt{font-size:.875rem;color:var(--muted);}

.steps-block{margin-top:clamp(56px,7vw,96px);}
.steps-block h3{font-size:1.75rem;margin:0 0 32px;}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:step;position:relative;}
.steps::before{ /* строп, связывающий этапы */
  content:"";position:absolute;left:0;right:0;top:23px;height:4px;
  background:repeating-linear-gradient(90deg,var(--signal) 0 10px,transparent 10px 16px);
}
.step{position:relative;}
.step::before{
  counter-increment:step;content:counter(step);position:relative;
  width:50px;height:50px;border-radius:50%;background:var(--blue-900);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:1.5rem;margin-bottom:20px;
  box-shadow:0 0 0 6px var(--surface);
}
.step h4{font-size:1.5rem;margin:0 0 6px;}
.step p{margin:0;color:var(--muted);font-size:1rem;max-width:26ch;}

/* ---------- Contacts / form ---------- */
.contacts{background:var(--bg);border-top:1px solid var(--line);}
.contact-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.contact-copy > p{color:var(--muted);font-size:1.125rem;margin:16px 0 0;}
.contact-info-list{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line);}
.contact-info-list li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);font-size:1rem;}
.contact-info-list strong{display:block;font-weight:500;font-size:.8125rem;color:var(--muted);margin-bottom:2px;}
.contact-info-list .icon{width:24px;height:24px;margin-top:2px;color:var(--blue-700);}
.contact-big{font-family:var(--font-display);font-weight:800;font-size:clamp(1.625rem,1.3rem + 1.2vw,2.125rem);line-height:1.1;color:var(--ink);overflow-wrap:anywhere;}
.contact-big:hover{color:var(--blue-700);}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.btn-whatsapp{background:#15803d;color:#fff;} /* 4.9:1 с белым */
.btn-whatsapp:hover{background:#166534;}

.form-card{
  background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--signal);
  border-radius:0;padding:clamp(24px,3vw,40px);
  box-shadow:0 24px 48px -28px rgb(15 42 92 / .35);
}
.form-card h3{font-size:2rem;margin:0 0 8px;}
.form-card > p{margin:0 0 24px;color:var(--muted);font-size:1rem;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px;color:var(--ink);}
.field input,.field textarea,.field select{
  width:100%;min-height:52px;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--radius);
  font-size:1rem;font-family:inherit;color:var(--ink);background:var(--bg);
  transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out);
}
.field textarea{min-height:104px;resize:vertical;}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23111c33' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1;}
.config{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 2px;margin:0 0 16px;}
.config legend{font-family:var(--font-display);font-weight:800;font-size:1.25rem;padding:0 6px;}
.config legend small{font-family:var(--font-body);font-weight:400;font-size:.8125rem;color:var(--muted);display:block;}
.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:10px;}
.config-grid .field{margin-bottom:14px;}
.hp{position:absolute;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none;}
.hp *{width:0;height:0;min-height:0;padding:0;border:0;margin:0;}
.form-card form{position:relative;}
.btn[disabled]{opacity:.6;cursor:progress;}
.field input:hover,.field textarea:hover,.field select:hover{border-color:color-mix(in oklab,var(--ink) 35%,transparent);}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue-700);background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--blue-700) 20%,transparent);}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.875rem;line-height:1.45;color:var(--muted);margin:18px 0;cursor:pointer;}
.consent input{margin:0;flex-shrink:0;width:24px;height:24px;accent-color:var(--blue-700);cursor:pointer;}
.consent a{color:var(--link);text-decoration:underline;text-underline-offset:2px;}
.captcha-box{margin:16px 0;}
.captcha-box:empty,.captcha-box .smart-captcha:empty{margin:0;}
.form-note{font-size:.8125rem;color:var(--muted);margin:12px 0 0;text-align:center;}
.form-status{margin-top:14px;font-size:.9375rem;display:none;padding:12px 14px;border-radius:var(--radius);}
.form-status.ok{color:#0b6b33;background:#e6f4ec;display:block;}
.form-status.err{color:#a3261b;background:#fbeae8;display:block;}

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);
  background:var(--surface);border-top:1px solid var(--line);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;gap:10px;
  box-shadow:0 -8px 24px -12px rgb(15 42 92 / .25);
  transition:transform .3s var(--ease-out);
}
.sticky-cta .btn{flex:1;}
.sticky-cta .btn-call{flex:0 0 auto;background:var(--blue-900);color:#fff;padding:12px 18px;}
.sticky-cta.is-hidden{transform:translateY(110%);}

/* ---------- Footer ---------- */
.site-footer{background:var(--blue-950);color:var(--on-dark-muted);padding:64px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
.site-footer h4{color:#fff;font-size:1.375rem;margin:0 0 16px;}
.site-footer .brand img{height:36px;filter:brightness(0) invert(1);}
.footer-legal{font-size:.875rem;line-height:1.75;color:var(--on-dark-muted);margin-top:18px;}
.footer-legal a{color:var(--on-dark);text-decoration:underline;text-underline-offset:2px;}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:2px;}
.footer-links a{display:inline-block;padding:12px 0;color:var(--on-dark);font-size:.9375rem;}
.footer-links a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid rgb(255 255 255 / .14);margin-top:40px;padding-top:20px;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.8125rem;color:var(--on-dark-muted);
}

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:var(--z-banner);
  background:var(--blue-950);color:var(--on-dark);border-radius:0;padding:18px 20px;
  border-top:4px solid var(--signal);
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  box-shadow:0 16px 40px rgb(0 0 0 / .35);max-width:900px;margin:0 auto;
}
.cookie-banner p{margin:0;font-size:.875rem;flex:1 1 320px;}
.cookie-banner a{color:#b8d0ff;text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions .btn{min-height:44px;padding:10px 18px;font-size:.875rem;}
.btn-cookie-decline{background:transparent;border-color:rgb(255 255 255 / .35);color:var(--on-dark);}
.btn-cookie-decline:hover{border-color:#fff;}

/* ---------- Modal (privacy) ---------- */
.modal-overlay{position:fixed;inset:0;background:rgb(10 26 58 / .55);display:none;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px;}
.modal-overlay.open{display:flex;}
.modal{background:#fff;border-radius:var(--radius);max-width:720px;max-height:85vh;overflow:auto;padding:32px;position:relative;}
.modal h2{margin-top:0;}
.modal-close{position:absolute;top:16px;right:16px;background:var(--fabric);border:none;border-radius:50%;width:44px;height:44px;font-size:18px;cursor:pointer;}
.modal p,.modal li{color:var(--muted);font-size:14px;}

/* ---------- Mobile nav drawer ---------- */
.nav-mobile{
  position:fixed;top:0;right:0;height:100%;height:100dvh;width:86%;max-width:360px;background:var(--surface);
  transform:translateX(100%);visibility:hidden;
  transition:transform .35s var(--ease-out),visibility 0s linear .35s;
  z-index:var(--z-drawer);padding:24px;display:flex;flex-direction:column;overflow-y:auto;
  box-shadow:-16px 0 40px rgb(10 26 58 / .2);
}
.nav-mobile.open{transform:translateX(0);visibility:visible;transition:transform .35s var(--ease-out),visibility 0s;}
.nav-mobile ul{list-style:none;padding:0;margin:48px 0 0;display:grid;gap:0;}
.nav-mobile li a:not(.btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:1.75rem;line-height:1.1;}
.nav-mobile li .btn{margin-top:24px;}
.nav-mobile-phone{margin-top:auto;padding-top:24px;font-family:var(--font-display);font-weight:800;font-size:1.625rem;color:var(--ink);}
.nav-mobile-phone small{display:block;font-family:var(--font-body);font-weight:400;font-size:.8125rem;color:var(--muted);}
.nav-mobile-close{position:absolute;top:12px;right:12px;width:48px;height:48px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);border-radius:var(--radius);}
.nav-scrim{position:fixed;inset:0;background:rgb(10 26 58 / .5);z-index:var(--z-scrim);opacity:0;visibility:hidden;transition:opacity .3s var(--ease-out),visibility 0s linear .3s;}
.nav-scrim.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease-out),visibility 0s;}

/* ---------- Scroll-driven reveal (progressive: без поддержки контент просто виден) ---------- */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .product,.industry-list li,.why-item,.step{
      animation:settle linear both;animation-timeline:view();animation-range:entry 0% entry 45%;
    }
  }
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav-desktop{display:none;}
  .burger{display:block;}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{max-width:16ch;}
  .hero-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;}
  .bag-tag{margin:0;max-width:none;}
  .catalog{grid-template-columns:1fr;border-top:0;}
  .product--lead{grid-row:auto;margin:0 0 8px;}
  .product:nth-child(2){border-top:3px solid var(--ink);}
  .why-grid,.about-grid,.contact-wrap{grid-template-columns:1fr;}
  .why h2{position:static;}
  .section-head--split{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px;}
  .steps::before{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .header-contacts .header-phone,.header-cta{display:none;}
  .site-header .container{min-height:64px;}
  html{scroll-padding-top:72px;}
  .hero-visual{grid-template-columns:1fr;margin-top:8px;}
  .hero-photo{max-width:300px;}
  .bag-tag{margin:-28px 0 0;transform:rotate(-.8deg);}
  .hero-actions .btn{flex:1 1 100%;}
  .product{grid-template-columns:48px minmax(0,1fr);padding:24px 0;align-items:start;}
  .product-icon{width:48px;height:48px;}
  .product h3{font-size:1.625rem;}
  .price-link{grid-column:2;}
  .product--lead{grid-template-columns:1fr;margin:0 calc(-1 * var(--gutter)) 8px;padding:32px var(--gutter) 28px;}
  .product--lead .product-photo{margin:-32px calc(-1 * var(--gutter)) 8px;}
  .product--lead .btn{width:100%;}
  .industry-list{grid-template-columns:1fr;}
  .industry-list li{padding:22px 0 20px;}
  .why-list{grid-template-columns:1fr;gap:32px;}
  .about-tag{grid-template-columns:1fr 1fr;}
  .stat{padding:16px;}
  .steps{grid-template-columns:1fr;gap:0;}
  .steps::before{display:block;left:23px;right:auto;top:8px;bottom:8px;width:4px;height:auto;
    background:repeating-linear-gradient(180deg,var(--signal) 0 10px,transparent 10px 16px);}
  .step{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:18px;padding-bottom:28px;}
  .step::before{grid-row:1 / span 2;margin:0;}
  .step h4{align-self:end;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .sticky-cta{display:flex;}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .cookie-banner{bottom:calc(80px + env(safe-area-inset-bottom));}
}
@media (max-width:400px){
  .config-grid{grid-template-columns:1fr;}
  .brand-word{font-size:1.5rem;}
  .hero h1{font-size:2.5rem;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
