:root {
  --bg: #f7f1e8;
  --surface: #fffdf9;
  --surface-2: #efe5d7;
  --ink: #251f1b;
  --muted: #6f665e;
  --line: rgba(55, 42, 33, .14);
  --brand: #a51f24;
  --brand-dark: #751419;
  --gold: #d7a23d;
  --green: #325e45;
  --shadow: 0 22px 70px rgba(65, 42, 25, .14);
  --radius-sm: 14px;
  --radius: 24px;
  --radius-lg: 36px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { color: inherit; }
::selection { background: rgba(165, 31, 36, .18); }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--shadow);
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 110px 0; }
.section-kicker,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.section-kicker--light { color: #f6cb72; }
.eyebrow span { width: 26px; height: 2px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 6.3vw, 58px); font-weight: 500; }
h1 em { color: var(--brand); font-style: italic; }
h2 { margin-bottom: 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4.4vw, 62px); font-weight: 500; }
h3 { font-size: 24px; }
p { color: var(--muted); }

.button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 14px 30px rgba(165, 31, 36, .2);
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { background: var(--brand-dark); transform: translateY(-2px); box-shadow: 0 18px 34px rgba(165, 31, 36, .28); }
.button:focus-visible, .filter-button:focus-visible, .menu-toggle:focus-visible, .modal__close:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(215,162,61,.55); outline-offset: 3px; }
.button--ghost { color: var(--ink); background: transparent; border-color: rgba(37,31,27,.24); box-shadow: none; }
.button--ghost:hover { color: var(--brand); background: rgba(255,255,255,.7); }
.button--small { min-height: 44px; padding: 0 18px; font-size: 13px; }
.button--card { width: 100%; min-height: 48px; margin-top: 18px; }
.button--full { width: 100%; }
.button.is-loading { pointer-events: none; opacity: .8; }
.button__loader { display: none; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: spin .8s linear infinite; }
.button.is-loading .button__loader { display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 241, 232, .88);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 30px rgba(44,31,22,.07); }
.header__inner { min-height: 78px; display: flex; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.brand__text { display: flex; flex-direction: column; line-height: 1; width: clamp(165px, 16vw, 284px); }
.brand__text small { margin-top: 5px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.nav a { color: #514940; font-size: 14px; font-weight: 700; text-decoration: none; }
.nav a:hover { color: var(--brand); }
.header__contacts { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; }
.header__phone { font-size: 14px; font-weight: 850; text-decoration: none; }
.header__contacts span { color: var(--muted); font-size: 11px; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }

.hero { position: relative; overflow: hidden; padding: 82px 0 0; }
.hero::before { content: ""; position: absolute; width: 100%; height: 71.2%; top: 0; left: 0; inset: 0; z-index: -4; background: url("../img/hero.jpg?v1.1") right center no-repeat; background-size: cover; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -3; background: radial-gradient(circle at 74% 32%, rgba(223,171,71,.19), transparent 25%), linear-gradient(180deg, #fbf7ef 0%, #f3eadf 100%); opacity: .1 }
.hero__glow { position: absolute; z-index: -2; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.hero__glow--one { width: 420px; height: 420px; right: -170px; top: 80px; background: rgba(165,31,36,.08); }
.hero__glow--two { width: 260px; height: 260px; left: -120px; bottom: 50px; background: rgba(215,162,61,.12); }
.hero__grid { min-height: 650px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; }
.hero__lead { max-width: 680px; margin-bottom: 30px; font-size: 19px; line-height: 1.7; color: var(--ink); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 660px; margin: 48px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.hero__facts li { padding: 24px 22px 0 0; }
.hero__facts li + li { padding-left: 22px; border-left: 1px solid var(--line); }
.hero__facts strong, .hero__facts span { display: block; }
.hero__facts strong { font-family: Georgia,serif; font-size: 25px; font-weight: 500; }
.hero__facts span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.hero__visual { position: relative; min-height: 580px; }
.hero__visual::before { content: ""; position: absolute; width: 470px; height: 470px; left: 52%; top: 48%; transform: translate(-50%,-50%); border-radius: 50%; background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(235,217,190,.65)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.6), 0 40px 90px rgba(73,48,30,.14); filter: blur(1px); }
.hero__visual::after { content: ""; position: absolute; width: 430px; height: 50px; left: 51%; bottom: 57px; transform: translateX(-50%); border-radius: 50%; background: rgba(85,55,35,.14); filter: blur(10px); }
.hero__jar { position: absolute; z-index: 2; filter: drop-shadow(0 24px 22px rgba(66,43,26,.18)); transition: transform .4s ease; }
.hero__jar--main { width: 300px; left: 50%; top: 65px; transform: translateX(-50%); z-index: 4; }
.hero__jar--back { width: 230px; left: 3%; top: 180px; transform: rotate(-6deg); }
.hero__jar--front { width: 235px; right: -2%; top: 220px; transform: rotate(7deg); z-index: 5; }
.hero__visual:hover .hero__jar--main { transform: translateX(-50%) translateY(-7px); }
.hero__badge { position: absolute; right: 18px; top: 70px; z-index: 7; width: 104px; height: 104px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 50%; color: #fff; background: var(--brand); box-shadow: 0 18px 40px rgba(165,31,36,.24); transform: rotate(7deg); }
.hero__badge strong { font-family: Georgia,serif; font-size: 38px; }
.hero__badge span { font-size: 10px; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.hero__note { position: absolute; left: 2%; bottom: 34px; z-index: 7; display: flex; align-items: center; gap: 12px; padding: 13px 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 15px; background: rgba(255,253,249,.82); box-shadow: 0 16px 42px rgba(53,37,25,.13); backdrop-filter: blur(12px); }
.hero__note-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-weight: 900; }
.hero__note span:last-child { display: flex; flex-direction: column; color: var(--muted); font-size: 11px; }
.hero__note strong { color: var(--ink); font-size: 13px; }
.trust-strip { min-height: 86px; display: grid; grid-template-columns: 1.3fr repeat(5, 1fr); align-items: center; gap: 20px; margin-top: 30px; border-top: 1px solid var(--line); }
.trust-strip span { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.trust-strip div { color: #6a6058; font-family: Georgia,serif; font-size: 17px; font-style: italic; text-align: center; }

.section--catalog { background: var(--surface); }
.section-heading--split { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 44px; }
.section-heading--split h2 { margin-bottom: 0; }
.section-heading--split > p { max-width: 480px; margin-bottom: 5px; font-size: 17px; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.filter-button { min-height: 42px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.filter-button:hover, .filter-button.is-active { color: #fff; background: var(--ink); border-color: var(--ink); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.product-card { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid rgba(61,44,34,.1); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 40px rgba(65,45,30,.06); transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 24px 56px rgba(65,45,30,.12); }
.product-card[hidden] { display: none; }
.product-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-card__tag { padding: 7px 10px; border-radius: 999px; color: var(--green); background: #e9f1ea; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.product-card[data-category="allergen-free"] .product-card__tag { color: #6a4521; background: #fbecd5; }
.product-card__code { color: #8f877f; font-size: 11px; }
.product-card__image-wrap { min-height: 270px; display: grid; place-items: center; padding: 4px 14px 0; background: radial-gradient(circle at 50% 62%, #f3eadf 0 27%, transparent 61%); }
.product-card__image { width: min(230px, 85%); height: 255px; object-fit: contain; filter: drop-shadow(0 16px 14px rgba(66,45,30,.14)); transition: transform .3s ease; }
.product-card:hover .product-card__image { transform: scale(1.035) translateY(-3px); }
.product-card__body { display: flex; flex-direction: column; flex: 1; padding: 0 4px 4px; }
.product-card__subtitle { margin-bottom: 7px; color: var(--brand); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-card h3 { min-height: 52px; margin-bottom: 13px; font-size: 24px; }
.product-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; padding: 11px 0; border-block: 1px solid var(--line); }
.product-card__meta strong { font-family: Georgia,serif; font-size: 23px; font-weight: 500; }
.product-card__meta span { color: var(--muted); font-size: 11px; text-align: right; }
.product-card__desc { min-height: 64px; margin-bottom: 4px; font-size: 13px; line-height: 1.6; }
.product-card__details { margin-top: auto; border-top: 1px dashed var(--line); }
.product-card__details summary { padding: 12px 0 7px; color: var(--ink); font-size: 12px; font-weight: 800; cursor: pointer; }
.product-card__details p { margin: 0 0 7px; font-size: 12px; }
.catalog-note { max-width: 900px; margin: 28px auto 0; font-size: 11px; text-align: center; }

.section--benefits { background: #eee4d6; }
.benefits-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.benefits-copy { position: sticky; top: 120px; }
.benefits-copy > p { max-width: 480px; font-size: 17px; }
.text-button { display: inline-flex; align-items: center; gap: 12px; padding: 0; border: 0; color: var(--brand); background: transparent; font-weight: 850; cursor: pointer; }
.text-button span { font-size: 22px; transition: transform .2s ease; }
.text-button:hover span { transform: translateX(5px); }
.benefits-list { border-top: 1px solid var(--line); }
.benefits-list article { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.benefits-list article > span { color: var(--brand); font-family: Georgia,serif; font-size: 20px; }
.benefits-list h3 { margin-bottom: 8px; }
.benefits-list p { margin-bottom: 0; }

.section--use { background: #fffaf2; }
.use-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.use-visual { position: relative; min-height: 510px; display: grid; place-items: center; border-radius: var(--radius-lg); overflow: hidden; background: radial-gradient(circle at 50% 47%, #f1c16b 0 15%, #cf813b 35%, #7b2d24 75%, #401718 100%); }
.use-visual::before { content:""; position:absolute; inset:0; background: linear-gradient(120deg,rgba(255,255,255,.18),transparent 45%); }
.use-bowl { position: relative; width: 330px; height: 165px; margin-top: 70px; border-radius: 0 0 50% 50% / 0 0 100% 100%; background: linear-gradient(180deg,#f9f1df,#d9cab5); box-shadow: inset 0 -18px 24px rgba(70,45,28,.17), 0 32px 45px rgba(36,15,13,.36); }
.use-bowl::before { content:""; position:absolute; left:-10px; right:-10px; top:-23px; height:52px; border-radius:50%; background:#fbf6ed; box-shadow:inset 0 -8px 12px rgba(77,48,29,.18); }
.use-bowl__inside { position:absolute; z-index:1; left:7px; right:7px; top:-14px; height:35px; border-radius:50%; background: radial-gradient(circle at 44% 35%,#f9d57e,#b75b26 66%,#77291e); }
.steam { position:absolute; z-index:3; width:24px; height:130px; top:-145px; border-radius:50%; border-left:4px solid rgba(255,255,255,.56); filter:blur(2px); animation:steam 3.4s ease-in-out infinite; }
.steam--1 { left:85px; }
.steam--2 { left:155px; height:150px; animation-delay:.7s; }
.steam--3 { left:225px; animation-delay:1.3s; }
@keyframes steam { 0%,100%{opacity:.1;transform:translateY(16px) rotate(5deg)}50%{opacity:.75;transform:translateY(-8px) rotate(-8deg)} }
.use-card { position:absolute; right:25px; bottom:24px; z-index:4; width:220px; padding:18px; border:1px solid rgba(255,255,255,.5); border-radius:18px; color:#fff; background:rgba(34,17,15,.55); backdrop-filter:blur(12px); }
.use-card strong,.use-card span { display:block; }
.use-card strong { color:#ffd98b; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.use-card span { margin-top:5px; font-family:Georgia,serif; font-size:19px; line-height:1.25; }
.steps { margin: 28px 0 0; padding: 0; list-style: none; }
.steps li { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--line); }
.steps li > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--brand); font-family:Georgia,serif; font-size:20px; }
.steps strong { font-size:18px; }
.steps p { margin:4px 0 0; }
.fine-print { margin-top: 20px; font-size: 11px; line-height: 1.6; }

.section--about { position:relative; overflow:hidden; color:#fff; background:#2e201c; }
.section--about::before { content:""; position:absolute; width:620px; height:620px; left:-260px; top:-220px; border-radius:50%; background:rgba(165,31,36,.26); filter:blur(10px); }
.about-grid { position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:center; }
.about-copy p { color:#d6c9bf; font-size:17px; }
.about-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:40px; border-block:1px solid rgba(255,255,255,.14); }
.about-stats div { padding:25px 20px 25px 0; }
.about-stats div + div { padding-left:22px; border-left:1px solid rgba(255,255,255,.14); }
.about-stats strong,.about-stats span { display:block; }
.about-stats strong { color:#f4cb78; font-family:Georgia,serif; font-size:34px; font-weight:500; }
.about-stats span { color:#cfc0b5; font-size:12px; }
.fine-print--light { color:#9f8d81 !important; }
.about-panel { padding:44px; border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-lg); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); box-shadow:0 30px 80px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.about-panel__label { color:#d5a348; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.about-panel blockquote { margin:28px 0; font-family:Georgia,serif; font-size:34px; line-height:1.25; font-style:italic; }
.about-panel__line { width:64px; height:2px; margin-bottom:24px; background:#d5a348; }
.about-panel ul { margin:0; padding:0; list-style:none; }
.about-panel li { position:relative; padding:10px 0 10px 24px; color:#d8cbc1; }
.about-panel li::before { content:"✓"; position:absolute; left:0; color:#f1c96f; font-weight:900; }

.section--audience { background: var(--surface); }
.section-heading--center { max-width: 760px; margin: 0 auto 48px; text-align:center; }
.section-heading--center p { max-width:600px; margin-inline:auto; }
.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.audience-grid article { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.audience-icon { width:54px; height:54px; display:grid; place-items:center; margin-bottom:28px; border-radius:16px; color:#fff; background:var(--brand); font-family:Georgia,serif; font-size:24px; font-style:italic; box-shadow:0 12px 26px rgba(165,31,36,.18); }
.audience-grid h3 { font-size:21px; }
.audience-grid p { margin-bottom:0; font-size:13px; }

.section--offer { padding-top: 40px; background: var(--surface); }
.offer { display:grid; grid-template-columns:1fr .82fr; gap:80px; align-items:center; padding:68px; border-radius:var(--radius-lg); color:#fff; background:linear-gradient(125deg,#8f171d,#b92e31); box-shadow:0 28px 80px rgba(119,28,31,.23); }
.offer h2 { max-width:700px; }
.offer__copy > p { max-width:640px; color:#f0d8d8; font-size:17px; }
.offer__copy ul { display:flex; flex-wrap:wrap; gap:10px 20px; margin:30px 0 0; padding:0; list-style:none; }
.offer__copy li { position:relative; padding-left:22px; color:#ffe8e6; font-size:13px; }
.offer__copy li::before { content:"✓"; position:absolute; left:0; color:#ffd47c; font-weight:900; }
.lead-form { padding:30px; border-radius:24px; color:var(--ink); background:#fff; box-shadow:0 22px 60px rgba(50,17,18,.22); }
.lead-form h3 { margin-bottom:8px; }
.lead-form > p { margin-bottom:22px; font-size:13px; }
.field { display:block; margin-bottom:14px; }
.field > span { display:block; margin-bottom:6px; color:#5e544c; font-size:11px; font-weight:800; }
.field input, .field textarea { width:100%; border:1px solid #ded4c9; border-radius:13px; color:var(--ink); background:#fffdf9; transition:border-color .2s ease, box-shadow .2s ease; }
.field input { height:50px; padding:0 14px; }
.field textarea { min-height:90px; padding:12px 14px; resize:vertical; }
.field input:focus, .field textarea:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(215,162,61,.12); outline:0; }
.field.is-invalid input, .field.is-invalid textarea { border-color:#c93438; }
.consent { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; margin-top:14px; color:#766d65; font-size:10px; line-height:1.45; }
.consent input { margin:2px 0 0; accent-color:var(--brand); }
.consent a { color:var(--brand); }
.form-status { min-height:20px; margin-top:10px; font-size:12px; font-weight:750; }
.form-status.is-success { color:#287443; }
.form-status.is-error { color:#b32329; }
.honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(1px,1px,1px,1px) !important; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.section--faq { background:#f2e8dc; }
.faq-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; }
.faq-grid > div:first-child { position:sticky; top:120px; align-self:start; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:25px 50px 25px 0; font-size:18px; font-weight:850; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:6px; top:18px; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--brand); font-size:24px; font-weight:400; transition:transform .2s ease; }
.faq-list details[open] summary::after { transform:rotate(45deg); }
.faq-list details p { max-width:760px; margin:-5px 50px 25px 0; }

.footer { padding:58px 0 28px; color:#d8ccc3; background:#211816; }
.brand--footer .brand__text small { color:#9e8e84; }
.footer__top { display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer__nav { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.footer__nav a { color:#d7cac1; font-size:13px; text-decoration:none; }
.footer__nav a:hover { color:#fff; }
.footer__contacts { display:flex; flex-direction:column; align-items:flex-end; }
.footer__contacts a { color:#fff; font-size:19px; font-weight:850; text-decoration:none; }
.footer__contacts span { color:#9f8f85; font-size:12px; }
.footer__bottom { display:flex; justify-content:space-between; gap:20px; padding-top:24px; color:#8f8178; font-size:10px; }
.footer__bottom a { color:#b5a69c; }

.modal { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:20px; opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; }
.modal.is-open { opacity:1; visibility:visible; }
.modal__backdrop { position:absolute; inset:0; background:rgba(25,17,14,.66); backdrop-filter:blur(8px); }
.modal__dialog { position:relative; z-index:1; width:min(700px,100%); max-height:min(90vh,860px); overflow:auto; padding:34px; border-radius:30px; background:#f8f1e7; box-shadow:0 30px 100px rgba(0,0,0,.36); transform:translateY(18px) scale(.98); transition:transform .2s ease; }
.modal.is-open .modal__dialog { transform:translateY(0) scale(1); }
.modal__close { position:absolute; right:18px; top:18px; width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:28px; line-height:1; cursor:pointer; }
.modal__head { padding-right:50px; }
.modal__head h2 { margin-bottom:8px; font-size:42px; }
.modal__head p { margin-bottom:22px; color:var(--brand); font-weight:800; }
.lead-form--modal { padding:26px; box-shadow:none; }
.mobile-cta { display:none; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .55s ease,transform .55s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1120px) {
  .header__contacts { display:none; }
  .nav { gap:17px; }
  .hero__grid { grid-template-columns:1fr 1fr; gap:25px; }
  .hero__jar--back { left:-4%; }
  .hero__jar--front { right:-7%; }
  .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .audience-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
  html { scroll-padding-top:74px; }
  .container { width:min(calc(100% - 28px),var(--container)); }
  .section { padding:78px 0; }
  .header__inner { min-height:70px; gap:12px; }
  .header .button--small { display:none; }
  .menu-toggle { display:block; margin-left:auto; }
  .menu-toggle.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle.is-active span:nth-child(2) { opacity:0; }
  .menu-toggle.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav { position:absolute; left:14px; right:14px; top:75px; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:12px; border:1px solid var(--line); border-radius:18px; background:#fffaf2; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s ease; }
  .nav.is-open { opacity:1; visibility:visible; transform:none; }
  .nav a { padding:14px 12px; border-bottom:1px solid var(--line); }
  .nav a:last-child { border-bottom:0; }
  .hero { padding-top:45px; }
  .hero__grid { min-height:auto; grid-template-columns:1fr; }
  .hero__content { text-align:center; }
  .eyebrow { justify-content:center; }
  .hero__lead { margin-inline:auto; }
  .hero__actions { justify-content:center; }
  .hero__facts { margin-inline:auto; text-align:left; }
  .hero__visual { min-height:540px; margin-top:10px; }
  .hero__visual::before { width:430px; height:430px; }
  .hero__jar--main { width:275px; }
  .hero__jar--back { left:12%; width:205px; }
  .hero__jar--front { right:8%; width:210px; }
  .hero__badge { right:12%; }
  .hero__note { left:14%; }
  .trust-strip { grid-template-columns:repeat(3,1fr); padding:22px 0; }
  .trust-strip > span { grid-column:1/-1; text-align:center; }
  .section-heading--split,.benefits-grid,.use-grid,.about-grid,.offer,.faq-grid { grid-template-columns:1fr; gap:45px; }
  .benefits-copy,.faq-grid > div:first-child { position:static; }
  .use-visual { order:2; min-height:450px; }
  .about-panel { max-width:650px; }
  .offer { padding:42px; }
  .lead-form { max-width:640px; }
  .footer__top { grid-template-columns:1fr 1fr; }
  .footer__contacts { align-items:flex-start; }
}

@media (max-width: 640px) {
  body { padding-bottom:68px; }
  .section { padding:64px 0; }
  h1 { font-size:44px; }
  h2 { font-size:38px; }
  .brand__text small { display:none; }

  .hero::before {display: none;}

  .hero__lead { font-size:16px; }
  .hero__actions { flex-direction:column; align-items:stretch; }
  .hero__actions .button { width:100%; }
  .hero__facts { grid-template-columns:1fr; border-bottom:1px solid var(--line); }
  .hero__facts li,.hero__facts li + li { display:flex; align-items:center; justify-content:space-between; padding:15px 0; border-left:0; border-bottom:1px solid var(--line); }
  .hero__facts li:last-child { border-bottom:0; }
  .hero__facts span { margin:0; text-align:right; }
  .hero__visual { min-height:430px; }
  .hero__visual::before { width:340px; height:340px; }
  .hero__jar--main { width:225px; top:45px; }
  .hero__jar--back { width:165px; left:-2%; top:145px; }
  .hero__jar--front { width:170px; right:-4%; top:175px; }
  .hero__badge { width:82px; height:82px; right:0; top:40px; }
  .hero__badge strong { font-size:30px; }
  .hero__badge span { font-size:8px; }
  .hero__note { left:4px; bottom:12px; }
  .trust-strip { grid-template-columns:repeat(2,1fr); }
  .section-heading--split { gap:20px; }
  .catalog-filters { overflow:auto; flex-wrap:nowrap; padding-bottom:5px; }
  .filter-button { white-space:nowrap; }
  .catalog-grid { grid-template-columns:1fr; }
  .product-card__image-wrap { min-height:245px; }
  .product-card__image { height:235px; }
  .benefits-list article { grid-template-columns:50px 1fr; }
  .use-visual { min-height:390px; }
  .use-bowl { width:270px; height:135px; }
  .steam--1 { left:65px; }.steam--2 { left:125px; }.steam--3 { left:190px; }
  .use-card { right:12px; bottom:12px; width:185px; padding:14px; }
  .about-stats { grid-template-columns:1fr; }
  .about-stats div,.about-stats div + div { display:flex; justify-content:space-between; align-items:center; padding:17px 0; border-left:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .about-stats div:last-child { border-bottom:0; }
  .about-panel { padding:28px; }
  .about-panel blockquote { font-size:28px; }
  .audience-grid { grid-template-columns:1fr; }
  .offer { padding:30px 18px; border-radius:26px; }
  .offer__copy ul { display:grid; }
  .lead-form { padding:22px 18px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .faq-list summary { font-size:16px; }
  .footer { padding-top:45px; }
  .footer__top { grid-template-columns:1fr; }
  .footer__contacts { align-items:flex-start; }
  .footer__bottom { flex-direction:column; gap:10px; }
  .modal { padding:0; align-items:end; }
  .modal__dialog { width:100%; max-height:94vh; padding:26px 14px 18px; border-radius:26px 26px 0 0; }
  .modal__head { padding-inline:8px 50px; }
  .modal__head h2 { font-size:34px; }
  .mobile-cta { position:fixed; left:12px; right:12px; bottom:10px; z-index:90; min-height:52px; display:block; border:0; border-radius:999px; color:#fff; background:var(--brand); box-shadow:0 12px 35px rgba(91,16,20,.36); font-weight:850; }
}



/* Real BOVIS imagery and smooth motion */
.brand { gap: 14px; }
.brand__logo { width: clamp(100px, 10vw, 120px); height: auto; display: block; }
.brand__text { gap: 4px; justify-content: center; }
.brand__text small { margin-top: 0; font-size: 9px; letter-spacing: .14em; }
.brand--footer .brand__logo { width: clamp(136px, 15vw, 176px); }

.hero__glow--one { animation: glowDrift 8s ease-in-out infinite; }
.hero__glow--two { animation: glowDrift 10s ease-in-out infinite reverse; }
.hero__visual { position: relative; min-height: 590px; display: flex; align-items: center; justify-content: center; }
.hero__visual::before { width: 96%; height: 88%; left: 50%; right: auto; top: 50%; transform: translate(-50%,-50%); border-radius: 42px; background: linear-gradient(145deg, rgba(255,255,255,.5), rgba(233,219,197,.5)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3), 0 45px 90px rgba(73,48,30,.2); }
.hero__visual::after { width: 76%; height: 54px; left: 12%; right: auto; bottom: 34px; transform: none; background: rgba(85,55,35,.2); filter: blur(5px); }
.hero-stage { position: relative; z-index: 2; width: 100%; height: 560px; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 38px; background: radial-gradient(circle at 50% 34%, rgba(255,255,255,.5), rgba(247,235,216,.6) 55%, rgba(226,204,175,.95) 100%); box-shadow: 0 30px 72px rgba(66,43,26,.15); isolation: isolate; }
.hero-stage::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(155deg, rgba(255,255,255,.72), transparent 42%), repeating-linear-gradient(90deg, transparent 0 64px, rgba(118,80,50,.025) 64px 65px); filter: blur(10px); opacity: .2 }
.hero-stage::after { content: ""; position: absolute; left: 9%; right: 9%; bottom: 23px; height: 58px; z-index: -1; border-radius: 50%; background: rgba(65,40,25,.62); filter: blur(20px); opacity: .2 }
.hero-stage__ring { position: absolute; left: 50%; top: 47%; width: 72%; aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(165,31,36,.12); border-radius: 50%; box-shadow: inset 0 0 0 28px rgba(255,255,255,.12), 0 0 0 46px rgba(215,162,61,.06); background: url("../img/logo-bovis@2x.png?v1.0") center center no-repeat; background-size: 60%; }
.hero-product { --rotate: 0deg; position: absolute; display: block; height: auto; object-fit: contain; filter: drop-shadow(0 23px 18px rgba(58,36,22,.23)); transform-origin: 50% 100%; animation: heroProductFloat 6.8s ease-in-out infinite; will-change: transform; }
.hero-product--mushroom { width: 26%; left: 0; top: 128px; z-index: 3; --rotate: -5deg; animation-delay: -.9s; }
.hero-product--chicken { width: 28%; left: 16%; top: 78px; z-index: 4; --rotate: -2deg; animation-delay: -2.4s; }
.hero-product--meat { width: 29%; left: 35.5%; top: 52px; z-index: 5; animation-delay: -3.2s; }
.hero-product--vegetable { width: 28%; right: 16%; top: 80px; z-index: 4; --rotate: 2deg; animation-delay: -1.7s; }
.hero-product--fish { width: 26%; right: 0; top: 130px; z-index: 3; --rotate: 5deg; animation-delay: -4.1s; }
.hero-product--allergen-chicken { width: 24%; left: 26%; bottom: 12px; z-index: 7; --rotate: -2deg; animation-delay: -2.8s; }
.hero-product--allergen-vegetable { width: 24%; right: 26%; bottom: 9px; z-index: 8; --rotate: 2deg; animation-delay: -1.1s; }
.hero__badge { top: 18px; right: -10px; z-index: 10; animation: softPulse 4s ease-in-out infinite; }
.hero__note { left: 18px; bottom: 22px; z-index: 10; }

.product-card__image-wrap { min-height: 292px; padding: 18px 14px 10px; overflow: hidden; border-radius: 22px; background: linear-gradient(180deg, #fffaf4 0%, #f4eadc 100%); box-shadow: inset 0 0 0 1px rgba(112,82,55,.08); }
.product-card__image { width: min(220px, 82%); height: 265px; object-fit: contain; }
.product-card[data-category="allergen-free"] .product-card__image { width: min(188px, 78%); }

.reveal { opacity: 0; transform: translateY(34px) scale(.985); filter: blur(8px); transition: opacity .82s cubic-bezier(.21,.61,.35,1), transform .82s cubic-bezier(.21,.61,.35,1), filter .82s ease; }
.reveal.is-visible { opacity: 1; transform: none; filter: blur(0); }

@keyframes heroProductFloat {
  0%,100% { transform: translateY(0) rotate(var(--rotate)); }
  50% { transform: translateY(-9px) rotate(var(--rotate)); }
}
@keyframes softPulse {
  0%,100% { transform: rotate(7deg) scale(1); }
  50% { transform: rotate(7deg) scale(1.04); }
}
@keyframes glowDrift {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(10px,-14px,0) scale(1.04); }
}

@media (max-width: 1120px) {
  .hero-stage { height: 520px; }
  .hero-product--mushroom { top: 132px; }
  .hero-product--chicken { top: 88px; }
  .hero-product--meat { top: 62px; }
  .hero-product--vegetable { top: 90px; }
  .hero-product--fish { top: 134px; }
}

@media (max-width: 900px) {
  .brand__logo { width: 132px; }
  .hero__visual { min-height: 560px; margin-top: 10px; }
  .hero__visual::before { width: 100%; height: 88%; }
  .hero__visual::after { width: 76%; left: 12%; bottom: 22px; }
  .hero-stage { height: 540px; border-radius: 30px; }
  .hero-product--mushroom { width: 23%; left: 4%; top: 122px; }
  .hero-product--chicken { width: 25%; left: 19%; top: 78px; }
  .hero-product--meat { width: 26%; left: 37%; top: 55px; }
  .hero-product--vegetable { width: 25%; right: 19%; top: 80px; }
  .hero-product--fish { width: 23%; right: 4%; top: 124px; }
  .hero-product--allergen-chicken { width: 21%; left: 30%; bottom: 18px; }
  .hero-product--allergen-vegetable { width: 21%; right: 30%; bottom: 16px; }
  .hero__badge { top: 10px; right: -4px; }
  .hero__note { left: 12px; bottom: 14px; }
}

@media (max-width: 640px) {
  .brand { gap: 10px; }
  .brand__logo { width: 118px; }
  .hero__visual { min-height: 425px; }
  .hero__visual::before { width: 100%; height: 91%; border-radius: 28px; }
  .hero__visual::after { width: 74%; height: 38px; left: 13%; bottom: 18px; filter: blur(14px); }
  .hero-stage { height: 405px; border-radius: 26px; }
  .hero-stage__ring { width: 78%; }
  .hero-product--mushroom { width: 31%; left: -4%; top: 102px; }
  .hero-product--chicken { width: 33%; left: 12%; top: 66px; }
  .hero-product--meat { width: 35%; left: 32.5%; top: 49px; }
  .hero-product--vegetable { width: 33%; right: 12%; top: 68px; }
  .hero-product--fish { width: 31%; right: -4%; top: 104px; }
  .hero-product--allergen-chicken { width: 29%; left: 22%; bottom: 4px; }
  .hero-product--allergen-vegetable { width: 29%; right: 22%; bottom: 2px; }
  .hero__badge { width: 76px; height: 76px; top: 8px; right: -1px; }
  .hero__badge strong { font-size: 28px; }
  .hero__badge span { font-size: 8px; }
  .hero__note { left: 8px; right: 8px; bottom: 8px; gap: 10px; padding: 10px 12px; }
  .hero__note strong { font-size: 12px; }
  .product-card__image-wrap { min-height: 250px; }
  .product-card__image { height: 235px; }
  .product-card[data-category="allergen-free"] .product-card__image { height: 215px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; filter:none; }
}
