:root{
  --white:#FFFFFF;
  --ink:#0F0F0F;
  --ink-2:#1A1A1A;
  --red:#E23F36;
  --grey:#8A8A8A;
  --line:#E4E2E0;
  --soft:#F5F4F3;
  --font-display:"Playfair Display",Georgia,serif;
  --font-body:"Jost",-apple-system,Segoe UI,Roboto,sans-serif;
  --maxw:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:-.01em;margin:0}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.sec{padding:clamp(56px,8vw,116px) 0}
.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:20px}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1!important;transform:none!important}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;background:var(--red);color:#fff;border:0;border-radius:0;font-family:var(--font-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.btn:hover{background:#C43028;transform:translateY(-2px)}
.btn--dark{background:var(--ink)}
.btn--dark:hover{background:#000}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.dark{background:var(--ink);color:#fff}

/* header */
.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:clamp(14px,3vw,36px);height:78px}
.top__logo{height:15px;width:auto}
.top__name{font-family:var(--font-display);font-size:15px;white-space:nowrap}
.top__name em{font-style:normal;color:var(--red)}
.top nav{display:flex;gap:clamp(12px,2vw,26px);margin-left:auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.top nav a{text-decoration:none;color:var(--ink);opacity:.75;transition:opacity .2s,color .2s}
.top nav a:hover{opacity:1;color:var(--red)}
.top__cta{margin-left:clamp(8px,2vw,20px);padding:13px 24px;font-size:11.5px}
/* иконка корзины в шапке */
.top__cart{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  position:relative;background:none;border:0;padding:8px 2px;margin-left:clamp(6px,1.4vw,16px);
  color:var(--ink);font-family:var(--font-body);transition:color .2s ease;
}
.top__cart:hover{color:var(--red)}
.top__cart__ico{width:22px;height:22px;flex:none}
.top__cart__n{
  min-width:21px;height:21px;padding:0 6px;border-radius:999px;
  background:var(--red);color:#fff;border:0;
  font:700 11.5px/21px var(--font-body);text-align:center;font-variant-numeric:tabular-nums;
  transition:background .22s ease,transform .22s ease;
}
.top__cart.is-empty .top__cart__n{background:var(--line);color:var(--grey)}
.top__cart.is-bump{animation:bump .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.top__cart:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.burger{display:none;width:44px;height:44px;background:none;border:0;padding:12px 10px;cursor:pointer;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:var(--ink);width:100%;transition:transform .25s,opacity .25s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mnav{display:none;background:#fff;border-top:1px solid var(--line);padding:6px 0 16px}
.mnav.open{display:block}
.mnav a{display:block;padding:13px clamp(18px,4vw,56px);font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line)}
.mnav .mnav__tel{border-bottom:0;color:var(--red);padding-top:16px}
@media(max-width:980px){
  .mnav{padding:14px clamp(18px,4vw,56px) 20px}
  .mnav a{
    display:flex;align-items:center;justify-content:center;text-align:center;
    min-height:44px;padding:12px 10px;margin-bottom:9px;
    font-size:13px;letter-spacing:.02em;text-transform:none;
    border:1px solid rgba(226,63,54,.34);border-radius:14px;color:var(--ink);
    background:linear-gradient(180deg,rgba(226,63,54,.05),rgba(226,63,54,.01));
  }
  .mnav a:last-child{border-bottom:1px solid rgba(226,63,54,.34);border-color:rgba(226,63,54,.6);background:linear-gradient(180deg,rgba(226,63,54,.18),rgba(226,63,54,.05));color:var(--red)}
}
@media(max-width:980px){
  .top nav{display:none}
  .burger{display:flex;margin-left:auto}
  .top__in{height:66px}
  .top__logo{height:13px}
  .top__cta{margin-left:auto;padding:12px 18px;font-size:11px}
  .top__cart{margin-left:4px;padding:6px}
}
@media(max-width:560px){.top__name{display:none}}

/* banner */
.banner{display:block;border-bottom:1px solid var(--line)}
.banner__hero{position:relative;width:100%}
.banner__frame{display:block;position:relative;width:100%;overflow:hidden}
.banner__frame>img{position:relative;display:block;width:100%;height:auto}
.banner__inner{position:absolute;left:0;bottom:0;z-index:2;max-width:min(660px,62%);padding:clamp(24px,4vw,64px);color:#fff;background:linear-gradient(103deg,rgba(8,6,6,.95) 0%,rgba(8,6,6,.88) 38%,rgba(8,6,6,.55) 66%,rgba(8,6,6,0) 100%)}
.banner__inner>*{text-shadow:0 1px 24px rgba(0,0,0,.55)}
.banner__inner small{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#F3B4AE;margin-bottom:14px}
.banner__inner h1{font-size:clamp(30px,4.4vw,62px);line-height:1.04}
.banner__inner h1 em{font-style:italic;color:#E23F36}
.banner__inner p{margin-top:16px;font-weight:300;font-size:clamp(14px,1.2vw,17px);line-height:1.6;color:rgba(255,255,255,.84);max-width:46ch}
.banner__inner .btn{margin-top:26px;text-shadow:none;box-shadow:0 10px 30px rgba(0,0,0,.45)}
@media(max-width:1300px){
  .banner__inner{max-width:min(600px,56%);background:linear-gradient(103deg,rgba(8,6,6,.94) 0%,rgba(8,6,6,.84) 30%,rgba(8,6,6,.42) 58%,rgba(8,6,6,0) 82%)}
}
@media(max-width:860px){
  .banner__inner{position:relative;left:auto;bottom:auto;max-width:none;background:var(--ink);padding:26px 20px 30px}
}

/* perks */
.perks{border-bottom:1px solid var(--line);background:var(--white)}
.perks__in{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
@media(min-width:900px){.perks__in{grid-template-columns:repeat(5,1fr)}}
.perks__i{background:#fff;padding:26px clamp(14px,2vw,26px);display:flex;gap:14px;align-items:flex-start;min-width:0}
.perks__i svg{width:26px;height:26px;flex:0 0 26px;stroke:var(--red);fill:none;stroke-width:1.4;margin-top:2px}
.perks__t{font-size:13.5px;line-height:1.45;color:var(--ink);min-width:0}
.perks__t b{display:block;font-weight:500;letter-spacing:.01em;margin-bottom:3px}
@media(max-width:560px){.perks__in{grid-template-columns:1fr}.perks__i{padding:20px 18px}}

/* topnav strip */
.strip{border-bottom:1px solid var(--line);background:var(--soft)}
.strip__in{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;padding:15px 0;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.strip__in a{text-decoration:none;color:var(--ink);opacity:.8}
.strip__in a:hover{color:var(--red);opacity:1}
.strip__in span{color:var(--red)}
@media(max-width:900px){
  .strip__in{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:16px 16px 18px}
  .strip__in span{display:none}
  .strip__in a{
    display:flex;align-items:center;justify-content:center;text-align:center;
    min-height:44px;padding:12px 10px;line-height:1.25;
    font-size:13px;letter-spacing:.02em;text-transform:none;
    color:var(--ink);border:1px solid rgba(226,63,54,.34);border-radius:14px;
    background:linear-gradient(180deg,rgba(226,63,54,.05),rgba(226,63,54,.01));
  }
  .strip__in a:hover{border-color:var(--red);color:var(--red);background:rgba(226,63,54,.09)}
  .strip__in a:last-of-type{grid-column:1 / -1;border-color:rgba(226,63,54,.6);background:linear-gradient(180deg,rgba(226,63,54,.18),rgba(226,63,54,.05));color:var(--red)}
}

/* catalog */
.catalog__head{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:38px}
.catalog__head h2{font-size:clamp(28px,3.6vw,50px);max-width:20ch}
.catalog__head h2 em{font-style:italic;color:var(--red)}
.catalog__view{font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;white-space:nowrap}
.catalog__view:hover{color:var(--red);border-color:var(--red)}
.catalog__rail{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
@media(min-width:1100px){.catalog__rail{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(15,15,15,.1);border-color:var(--ink)}
.card--main{border-color:var(--red)}
.card--main .card__tag{background:var(--red);color:#fff}
.card__media{background:#0E0E0E;aspect-ratio:4/5;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.card__tag{align-self:flex-start;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:5px 10px}
.card h3{font-size:clamp(20px,2vw,26px);line-height:1.15}
.card__meta{font-size:13px;color:var(--grey);line-height:1.5}
.card__foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.card__price{font-family:var(--font-display);font-size:clamp(22px,2.2vw,28px);white-space:nowrap}
.card__price small{font-family:var(--font-body);font-size:12px;letter-spacing:.06em;color:var(--grey)}
.card__stock{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);padding:6px 10px;white-space:nowrap}
.note{font-size:12.5px;color:var(--grey);margin-top:26px;max-width:74ch}
@media(max-width:560px){
  .catalog{padding-inline:16px}
  .catalog__rail{gap:12px}
  .card__body{padding:12px 12px 14px;gap:4px}
  .card__tag{font-size:9px;letter-spacing:.1em;padding:4px 7px}
  .card h3{font-size:15px;line-height:1.2}
  .card__meta{font-size:10.5px;line-height:1.35}
  .card__foot{padding-top:10px;display:block}
  .card__price{font-size:17px;display:block}
  .card__price small{font-size:10.5px}
  .card__stock{font-size:9px;letter-spacing:.1em;padding:5px 8px;margin-top:6px;display:inline-block}
  .note{font-size:11.5px}
}

/* spec */
.spec__grid{display:grid;gap:clamp(30px,5vw,70px);align-items:center}
@media(min-width:940px){.spec__grid{grid-template-columns:1fr 1fr}}
.spec__fig{margin:26px 0 0;background:var(--soft)}
.spec__fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.adv{display:flex;flex-wrap:wrap;gap:26px;margin-top:26px}
.adv__i{display:flex;align-items:center;gap:12px;max-width:210px}
.adv__i img{width:30px;height:30px;flex:0 0 30px}
.adv__t{font-size:13.5px;line-height:1.4}
.ledger{border-top:1px solid var(--line);margin-top:8px}
.ledger__row{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.ledger__k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.ledger__v{font-family:var(--font-display);font-size:clamp(20px,2.4vw,28px);text-align:right}
.ledger__v small{display:block;font-family:var(--font-body);font-size:12px;color:var(--grey);letter-spacing:.02em;margin-top:4px}

/* brand */
.dark__grid{display:grid;gap:clamp(30px,5vw,64px);align-items:center}
@media(min-width:940px){.dark__grid{grid-template-columns:1.05fr .95fr}}
.dark__txt{color:#CFCBC8;font-size:16px;margin-top:18px;max-width:56ch}
.dark__quote{font-family:var(--font-display);font-size:clamp(20px,2.4vw,30px);line-height:1.34;margin:28px 0 0;padding-left:22px;border-left:2px solid var(--red);color:#fff}
.dark__note{font-size:13px;color:#8E8A87}
.dark__fig{margin:0}
.dark__fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dark__fig figcaption{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#8E8A87;padding-top:14px}

/* serve / cutting */
.dehesa{position:relative;border-bottom:1px solid var(--line)}
.dehesa img{width:100%;height:clamp(260px,40vw,500px);object-fit:cover}
.dehesa__cap{position:absolute;left:0;bottom:0;background:rgba(255,255,255,.94);color:var(--ink);padding:12px 20px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.serve__h{font-size:clamp(28px,3.6vw,50px);max-width:16ch}
.serve__lead{font-family:var(--font-display);font-size:clamp(19px,2.1vw,26px);line-height:1.42;margin:26px 0 0;max-width:60ch}
.serve__lead small{display:block;font-family:var(--font-body);font-size:14px;color:var(--grey);line-height:1.6;margin-top:14px}
.serve__k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:44px 0 22px}
.serve__grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.serve__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.serve__grid{grid-template-columns:repeat(4,1fr)}}
.serve__card{border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:10px;background:#fff;transition:border-color .3s}
.serve__card:hover{border-color:var(--ink)}
.serve__media{background:var(--soft);height:190px;display:flex;align-items:center;justify-content:center;padding:14px}
.serve__media img{max-height:100%;width:auto;object-fit:contain}
.serve__media--photo img{width:100%;height:100%;object-fit:cover}
.serve__n{font-family:var(--font-display);font-size:13px;color:var(--red);letter-spacing:.1em}
.serve__card h3{font-size:19px;line-height:1.2}
.serve__card p{font-size:13.5px;color:var(--grey);line-height:1.55}

/* horeca */
.horeca__grid{display:grid;gap:clamp(30px,5vw,64px);align-items:center}
@media(min-width:940px){.horeca__grid{grid-template-columns:1fr 1fr}}
.horeca__media{margin:0}
.horeca__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ticks{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:14px}
.ticks li{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;color:var(--grey)}
.ticks b{color:var(--ink);display:block;font-weight:500;font-size:14px}
.tick{width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:1px solid var(--red);display:flex;align-items:center;justify-content:center;margin-top:1px}
.tick svg{width:11px;height:11px;stroke:var(--red);fill:none;stroke-width:3}

/* order */
.order{background:var(--ink);color:#fff}
.order__grid{display:grid;gap:clamp(30px,5vw,64px)}
@media(min-width:940px){.order__grid{grid-template-columns:.9fr 1.1fr}}
.order p{color:#C6C2BF;font-weight:300}
form{display:grid;gap:16px}
.f-row{display:grid;gap:16px}
@media(min-width:620px){.f-row{grid-template-columns:1fr 1fr}}
label{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#8E8A87;margin-bottom:8px}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.2);padding:12px 2px;color:#fff;font-family:var(--font-body);font-size:16px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--red)}
textarea{min-height:96px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.6) 50%),linear-gradient(135deg,rgba(255,255,255,.6) 50%,transparent 50%);background-position:calc(100% - 14px) 20px,calc(100% - 9px) 20px;background-size:5px 5px;background-repeat:no-repeat}
select option{color:var(--ink)}
.consent{font-size:11.5px;color:#8E8A87;line-height:1.6}
.consent a{color:#C6C2BF}
.done{font-family:var(--font-display);font-size:clamp(22px,2.6vw,32px);padding:20px 0}

/* контакты, режим работы и реквизиты */
.contact{border-top:1px solid var(--line);background:var(--soft)}
.contact__grid{display:grid;gap:clamp(30px,5vw,60px);align-items:start}
@media(min-width:940px){.contact__grid{grid-template-columns:.95fr 1.05fr}}
.contact__list{display:grid;gap:0;margin:0}
.contact__row{padding:16px 0;border-top:1px solid var(--line);display:grid;gap:5px}
@media(min-width:560px){.contact__row{grid-template-columns:190px 1fr;gap:20px;align-items:baseline}}
.contact__k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.contact__v{font-size:16.5px;line-height:1.6}
.contact__v a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.contact__v a:hover{color:var(--red);border-color:var(--red)}
.contact__v .reqs{color:var(--ink)}
.contact__v small{display:block;color:var(--grey);font-size:13px;margin-top:5px;line-height:1.6}
.contact__hours{font-family:var(--font-display);font-size:clamp(19px,2vw,23px);color:var(--ink)}
.contact__note{font-size:13px;color:var(--grey);line-height:1.65;margin-top:16px;max-width:60ch}
.contact__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* footer */
footer{background:var(--ink-2);color:#A9A5A2;font-size:14px;padding:clamp(40px,6vw,72px) 0 30px}
.foot{display:grid;gap:32px}
@media(min-width:760px){.foot{grid-template-columns:1.2fr 1fr}}
.foot__logo{height:16px;width:auto;margin-bottom:18px}
.foot__k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#8E8A87;margin-bottom:14px}
.foot__txt{line-height:1.95}
.foot strong{color:#fff;font-weight:500}
.foot__tel{font-size:17px}
.foot__tel a{text-decoration:none;color:#fff}
.foot__txt a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.foot__txt a:hover{border-color:#fff}
.foot__mess{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.25);border-radius:50%;margin-left:8px;vertical-align:middle}
.foot__mess svg{width:15px;height:15px;fill:#fff}
.foot__bot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:22px;font-size:12px;color:#8E8A87}
.foot__more{flex:0 0 100%;display:block;margin-bottom:-4px}
.foot__more a{color:#C7C3BF;text-decoration:none;transition:color .2s}
.foot__more a:hover{color:#fff}
.foot__bot a{color:inherit;text-decoration:none}
#spru-pages-badge-host{display:none!important}

/* floating messenger widget (as on 5J Russia) */
.mess{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.mess__toggle{height:64px;padding:0 24px;border-radius:32px;border:0;cursor:pointer;display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#F2625A 0%,var(--red) 45%,#C42E26 100%);color:#fff;
  box-shadow:0 14px 34px rgba(226,63,54,.42);font-family:var(--font-body);transition:transform .25s ease,box-shadow .25s ease}
.mess__toggle:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(226,63,54,.55)}
.mess__toggle svg{width:30px;height:30px;fill:currentColor}
.mess__toggle .x{display:none}
.mess.open .mess__toggle .x{display:block}
.mess.open .mess__toggle .bub{display:none}
.mess__toggle-txt{font-size:16px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.mess__list{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.mess__item{display:flex;align-items:center;gap:12px;text-decoration:none;opacity:0;transform:translateY(12px) scale(.94);pointer-events:none;
  transition:opacity .25s ease,transform .25s ease}
.mess.open .mess__item{opacity:1;transform:none;pointer-events:auto}
.mess.open .mess__item:nth-child(2){transition-delay:.06s}
.mess.open .mess__item:nth-child(3){transition-delay:.12s}
.mess__label{font-size:15px;font-weight:600;line-height:1.15;white-space:nowrap;padding:10px 16px;border-radius:20px;color:#fff;
  box-shadow:0 8px 22px rgba(15,15,15,.24);transition:transform .2s ease}
.mess__item:hover .mess__label{transform:translateX(3px)}
.mess__item--tel .mess__label{background:linear-gradient(135deg,#12395F 0%,#08172A 100%)}
.mess__item--tg .mess__label{background:linear-gradient(135deg,#37BBFE 0%,#1E8FD1 100%)}
.mess__item--wa .mess__label{background:linear-gradient(135deg,#4BE07A 0%,#12A44B 100%)}
.mess__btn{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 28px rgba(15,15,15,.3);transition:transform .2s ease}
.mess__btn:hover{transform:translateY(-3px) scale(1.05)}
.mess__btn svg{width:38px;height:38px;fill:currentColor}
.mess__btn--tel{background:linear-gradient(135deg,#12395F 0%,#08172A 100%);box-shadow:0 12px 30px rgba(8,23,42,.5)}
.mess__btn--tg{background:linear-gradient(135deg,#37BBFE 0%,#2AABEE 55%,#1E8FD1 100%);box-shadow:0 12px 30px rgba(42,171,238,.5)}
.mess__btn--wa{background:linear-gradient(135deg,#4BE07A 0%,#25D366 55%,#12A44B 100%);box-shadow:0 12px 30px rgba(37,211,102,.5)}
.mess__hint{position:absolute;right:0;bottom:88px;background:var(--ink);color:#fff;font-size:14px;line-height:1.4;padding:12px 16px;
  border-radius:8px;max-width:250px;box-shadow:0 12px 30px rgba(15,15,15,.35);opacity:0;transform:translateY(8px);
  pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.mess__hint b{color:#F3B4AE;font-weight:600}
.mess.hint .mess__hint{opacity:1;transform:none}
@media(max-width:600px){
  .mess{right:14px;bottom:14px;gap:10px}
  .mess__toggle{height:54px;padding:0 18px;gap:9px}
  .mess__toggle svg{width:26px;height:26px}
  .mess__toggle-txt{font-size:15px}
  .mess__btn{width:56px;height:56px;border-radius:17px}
  .mess__btn svg{width:32px;height:32px}
  .mess__label{font-size:13.5px;padding:8px 13px}
  .mess__hint{bottom:78px;max-width:210px;font-size:13px}
}

/* ============ motion pass, 22.10.2026 ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .mq__track{animation:none!important}
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
section[id],figure[id]{scroll-margin-top:86px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* scroll progress */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none}
.progress__bar{height:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%;will-change:transform}

/* header reaction */
.top__in{transition:height .35s cubic-bezier(.2,.7,.3,1)}
.top.is-stuck{box-shadow:0 14px 34px rgba(15,15,15,.07)}
.top.is-stuck .top__in{height:64px}

/* hero choreography */
.banner__hero{overflow:hidden}
/* living hero picture: slow breathing zoom + warm light + rare sweep */
.banner__frame>img{animation:kb 34s cubic-bezier(.45,0,.35,1) infinite alternate;
  transform-origin:50% 42%;will-change:transform}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.055)}}
.banner__glow{position:absolute;z-index:1;right:-6%;top:-12%;width:58%;height:86%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(226,63,54,.42),rgba(226,63,54,.14) 46%,rgba(226,63,54,0) 72%);
  animation:glow 11s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.28;transform:scale(.92)}to{opacity:.62;transform:scale(1.08)}}
.banner__sheen{position:absolute;z-index:1;top:-15%;bottom:-15%;left:-70%;width:70%;pointer-events:none;
  background:linear-gradient(102deg,rgba(255,255,255,0) 34%,rgba(255,228,214,.14) 50%,rgba(255,255,255,0) 66%);
  animation:sheen 13s cubic-bezier(.5,0,.5,1) infinite}
@keyframes sheen{0%,14%{transform:translate3d(0,0,0)}62%,100%{transform:translate3d(300%,0,0)}}
@media (prefers-reduced-motion:reduce){
  .banner__frame>img{animation:none!important}
  .banner__glow{animation:none!important;opacity:.4}
  .banner__sheen{animation:none!important;opacity:0}
}
/* hero text: natural state is VISIBLE, the animation only plays the entrance.
   Any failure (no animation support, throttled rAF, blocked timer) leaves the
   headline readable, and a JS failsafe below clears anything left hidden. */
.banner__inner>*{animation:mIn 1s cubic-bezier(.16,1,.3,1) backwards}
.banner__inner>*:nth-child(1){animation-delay:.05s}
.banner__inner>*:nth-child(2){animation-delay:.14s}
.banner__inner>*:nth-child(3){animation-delay:.23s}
.banner__inner>*:nth-child(4){animation-delay:.32s}
@keyframes mIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* curtain reveal for text columns */
.js .reveal--curtain{opacity:1;transform:none;clip-path:inset(0 0 104% 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1)}
.js .reveal--curtain>*{opacity:0;transform:translateY(16px);
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.js .reveal--curtain.in{clip-path:inset(0 0 -6% 0)}
.js .reveal--curtain.in>*{opacity:1;transform:none}

/* clip wipe for photography */
.js .reveal--fig{opacity:1;transform:scale(1.05);clip-path:inset(0 0 100% 0);
  transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1)}
.js .reveal--fig.in{clip-path:inset(0);transform:none}

/* list cascades */
.js .perks__i{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.js .perks__in.in .perks__i{opacity:1;transform:none}
.js .ticks li{opacity:0;transform:translateX(-14px);transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.js .reveal.in .ticks li,.js .reveal--curtain.in .ticks li{opacity:1;transform:none}
.js .ledger__row{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.js .reveal.in .ledger__row,.js .reveal--curtain.in .ledger__row{opacity:1;transform:none}
.js .serve__card .serve__media img{transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.js .serve__card:hover .serve__media img{transform:scale(1.05)}

/* brand ticker */
.mq{background:var(--red);color:#fff;overflow:hidden;padding:14px 0}
.mq__track{display:flex;width:max-content;animation:mq 36s linear infinite}
.mq:hover .mq__track{animation-play-state:paused}
.mq__item{display:flex;align-items:center;gap:28px;padding-right:28px;white-space:nowrap;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.mq__item::after{content:"\2726";opacity:.55;font-size:9px}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* micro-interactions */
.btn{position:relative;isolation:isolate;overflow:hidden;transition:background .25s,color .25s,transform .2s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);
  transform:scaleY(0);transform-origin:50% 100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.btn:hover::before{transform:scaleY(1)}
.btn:hover{color:#fff}
.btn:active{transform:translateY(1px)}
.top nav a{position:relative;display:inline-block;padding-bottom:4px}
.top nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.top nav a:hover::after,.top nav a:focus-visible::after{transform:scaleX(1)}
.top nav a:hover{opacity:1}
.card:hover{border-color:rgba(226,63,54,.5)}
.card__price,.card__stock{transition:color .25s}
.card:hover .card__price{color:var(--red)}
.strip__in a{transition:color .25s}
.strip__in a:hover{color:var(--red)}

/* mobile menu cascade */
.js .mnav a{opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .38s cubic-bezier(.2,.7,.3,1)}
.js .mnav.open a{opacity:1;transform:none}
/* ---------- корзина / интернет-магазин (порт с 5J) ---------- */
.card__media{position:relative}
.card__stock{
  position:absolute;left:14px;top:14px;z-index:2;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--red);border:0;
  padding:5px 9px;white-space:nowrap;font-weight:600;
}
.card__add{
  appearance:none;border:1px solid var(--ink);background:transparent;color:var(--ink);
  font:500 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;
  padding:12px 16px;cursor:pointer;white-space:nowrap;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .18s ease;
}
.card__add:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-1px)}
.card__add:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.card__add.is-in{background:var(--red);border-color:var(--red);color:#fff}

.cartbtn{
  position:fixed;right:20px;bottom:104px;z-index:78;
  display:inline-flex;align-items:center;gap:9px;
  background:var(--ink);color:#fff;border:0;border-radius:999px;
  padding:13px 20px;cursor:pointer;
  font:500 13px/1 var(--font-body);letter-spacing:.04em;
  box-shadow:0 14px 34px rgba(15,15,15,.32);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);
  transition:opacity .26s ease,transform .26s cubic-bezier(.22,.61,.36,1),visibility .26s,background .2s ease;
}
.cartbtn.is-on{opacity:1;visibility:visible;transform:none}
.cartbtn:hover{background:var(--red);color:#fff}
.cartbtn__ico{width:17px;height:17px;flex:none}
.cartbtn__n{
  min-width:21px;height:21px;padding:0 6px;border-radius:999px;
  background:var(--red);color:#fff;
  font:700 12px/21px var(--font-body);text-align:center;
}

/* чек-аут в корзине */
.cform{margin-top:18px;display:grid;gap:6px}
.cform__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cform label{font-size:12px;color:var(--grey);margin-top:8px;display:block}
.cform input[type=text],.cform input[type=tel],.cform textarea{
  font:inherit;font-size:15px;width:100%;padding:11px 12px;
  border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);
}
.cform input:focus,.cform textarea:focus{border-color:var(--red);outline:none}
.cform textarea{resize:vertical;min-height:56px}
.cform__ways{border:0;padding:0;margin:16px 0 0;min-width:0}
.cform legend{font-size:12px;color:var(--grey);padding:0;margin-bottom:9px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg__i{display:block;margin:0;position:relative}
.seg__i input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.seg__i span{display:block;text-align:center;padding:11px 8px;border:1px solid var(--line);
  border-radius:0;font-size:14px;cursor:pointer;transition:all .2s ease;color:var(--grey)}
.seg__i span:hover{border-color:var(--red);color:var(--ink)}
.seg__i input:checked+span{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.seg__i input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.cform__hint{font-size:12px;color:var(--grey);margin:9px 0 0;line-height:1.45}
.cform__consent{display:flex!important;gap:10px;align-items:flex-start;margin-top:16px!important;
  font-size:12.5px;color:var(--grey);cursor:pointer}
.cform__consent input{width:16px;height:16px;margin-top:1px;flex:none;accent-color:var(--red)}
.cform__more{margin-top:4px}
.cform__more summary{
  list-style:none;cursor:pointer;font-size:13px;color:var(--grey);
  padding:9px 0;display:flex;align-items:center;gap:8px;transition:color .2s ease;
}
.cform__more summary::-webkit-details-marker{display:none}
.cform__more summary::after{content:'+';font-size:17px;line-height:1;margin-left:auto;color:var(--red)}
.cform__more[open] summary::after{content:'−'}
.cform__more summary:hover{color:var(--ink)}
.cform__morebody{padding-bottom:2px}
.cform .cart__go{margin-top:18px}
.cform__ok{font-size:14px;color:var(--red);margin:12px 0 0;text-align:center;font-weight:600}

/* выдвижная панель корзины */
.cart{position:fixed;inset:0;z-index:95;visibility:hidden;pointer-events:none}
.cart.is-open{visibility:visible;pointer-events:auto}
.cart__veil{position:absolute;inset:0;background:rgba(15,15,15,.46);opacity:0;transition:opacity .3s ease;backdrop-filter:blur(2px)}
.cart.is-open .cart__veil{opacity:1}
.cart__panel{
  position:absolute;top:0;right:0;height:100%;width:min(440px,100%);
  background:var(--white);display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
  box-shadow:-18px 0 50px rgba(15,15,15,.22);
}
.cart.is-open .cart__panel{transform:none}
.cart__head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:22px 22px 16px;border-bottom:1px solid var(--line);flex:none}
.cart__title{font-family:var(--font-display);font-size:23px;margin:0;color:var(--ink)}
.cart__x{
  appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);
  width:36px;height:36px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  transition:background .2s ease,color .2s ease;flex:none;
}
.cart__x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cart__x svg{width:15px;height:15px}
.cart__body{flex:1 1 auto;overflow-y:auto;min-height:118px;padding:4px 22px}
.cart__item{display:grid;grid-template-columns:62px minmax(0,1fr);gap:13px;
  padding:16px 0;border-bottom:1px solid var(--line);
  animation:cartin .34s cubic-bezier(.22,.61,.36,1) both}
@keyframes cartin{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.cart__img{width:62px;height:74px;object-fit:cover;border-radius:0;background:var(--soft)}
.cart__name{font-size:14px;line-height:1.3;margin:0 0 3px;color:var(--ink);font-weight:600}
.cart__meta{font-size:11.5px;color:var(--grey);margin:0 0 9px}
.cart__row{display:flex;align-items:center;gap:10px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:0;flex:none}
.qty button{appearance:none;background:transparent;border:0;color:var(--ink);
  width:30px;height:30px;cursor:pointer;font:400 18px/1 var(--font-body);
  transition:background .18s ease,color .18s ease}
.qty button:hover{background:var(--red);color:#fff}
.qty__v{min-width:28px;text-align:center;font:500 13px/30px var(--font-body);color:var(--ink)}
.cart__price{font-family:var(--font-display);font-size:17px;white-space:nowrap;color:var(--ink);margin-left:auto}
.cart__del{appearance:none;background:transparent;border:0;padding:3px;flex:none;
  color:var(--grey);cursor:pointer;display:block}
.cart__del:hover{color:var(--red)}
.cart__del svg{width:14px;height:14px;display:block}
.cart__empty{padding:52px 0 40px;text-align:center;color:var(--grey)}
.cart__empty svg{width:40px;height:40px;opacity:.34;margin-bottom:14px}
.cart__empty p{margin:0 0 6px;font-size:14px}
.cart__foot{flex:none;border-top:1px solid var(--line);padding:18px 22px 22px;background:var(--white)}
@media(max-height:780px){
  .cart__panel{overflow-y:auto;display:block}
  .cart__head{position:sticky;top:0;background:var(--white);z-index:2}
  .cart__body{overflow:visible;min-height:0}
  .cart__foot{position:sticky;bottom:0}
}
.cart__free{font-size:12.5px;color:var(--red);margin:0 0 12px;display:none}
.cart__free.is-on{display:block}
.cart__sum{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}
.cart__sum span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.cart__total{font-family:var(--font-display);font-size:28px;line-height:1;color:var(--ink)}
.cart__note{font-size:11.5px;color:var(--grey);margin:0 0 15px;line-height:1.45}
.cart__go{width:100%;justify-content:center}

@media(max-width:560px){
  .card__add{width:100%;margin-top:12px;padding:12px 8px;font-size:10.5px}
  .cartbtn{right:14px;bottom:96px;padding:12px 17px;font-size:12px}
  .cart__head,.cart__body,.cart__foot{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){
  .cart__item{animation:none}
  .cartbtn{transition:none}
}

/* ── страницы товаров ───────────────────────────────────────────── */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:1240px;margin:0 auto;
  padding:22px 28px 0;font-size:14px;color:var(--ink-soft)}
.crumbs a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid rgba(20,20,20,.16)}
.crumbs a:hover{color:var(--ink);border-color:currentColor}
.crumbs b{font-weight:500;color:var(--ink)}
.crumbs span{opacity:.45}

.phero{max-width:1240px;margin:0 auto;padding:34px 28px 8px;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:46px;align-items:start}
.phero__media{border-radius:22px;overflow:hidden;background:#f0ebe6;box-shadow:0 18px 48px rgba(30,20,15,.14)}
.phero__media img{display:block;width:100%;height:auto}
.phero__info .card__tag{display:inline-block;margin-bottom:14px}
.phero h1{font-family:var(--font-head);font-weight:500;font-size:clamp(30px,3.6vw,50px);
  line-height:1.08;letter-spacing:-.01em;margin:0 0 12px}
.phero__meta{color:var(--ink-soft);font-size:16px;margin-bottom:18px}
.phero__lead{font-size:17px;line-height:1.62;color:#3a322d;margin:0 0 24px}
.phero__price{font-family:var(--font-head);font-size:clamp(28px,3vw,40px);color:var(--red);
  font-weight:500;margin-bottom:22px}
.phero__price small{font-family:var(--font-body);font-size:17px;color:var(--ink-soft);margin-left:6px}
.phero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}
.phero__actions .card__add{font-size:16px;padding:16px 30px;min-width:190px}

.pblock{max-width:1240px;margin:0 auto;padding:44px 28px 0}
.pblock h2{font-family:var(--font-head);font-weight:500;font-size:clamp(23px,2.3vw,31px);
  margin:0 0 18px;letter-spacing:-.01em}
.pblock p{margin:0 0 14px;font-size:16.5px;line-height:1.68;color:#3a322d}
.pblock a{color:var(--red)}
.pblock--dark{margin-top:52px;padding:44px 28px;border-radius:22px;max-width:1184px;
  background:#14100f;color:#efe9e4}
.pblock--dark h2{color:#fff}
.pblock--dark p{color:#cdc3bc}

.pspec{width:100%;border-collapse:collapse;font-size:16px}
.pspec th,.pspec td{text-align:left;padding:13px 16px;border-bottom:1px solid rgba(20,20,20,.09)}
.pspec th{width:38%;font-weight:500;color:var(--ink-soft)}

.pfaq__i{border-bottom:1px solid rgba(20,20,20,.1);padding:16px 0}
.pfaq__i summary{cursor:pointer;font-weight:500;font-size:17px;list-style:none;position:relative;
  padding-right:34px}
.pfaq__i summary::-webkit-details-marker{display:none}
.pfaq__i summary::after{content:"+";position:absolute;right:0;top:-2px;font-size:24px;
  font-weight:300;color:var(--red);line-height:1}
.pfaq__i[open] summary::after{content:"–"}
.pfaq__i p{margin:10px 0 0;font-size:16px;color:#3a322d}

.prelated{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.prel{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;
  text-decoration:none;border:1px solid rgba(20,20,20,.08);background:#fff;transition:.22s ease}
.prel:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(30,20,15,.14)}
.prel__media{display:block;aspect-ratio:1/1;overflow:hidden;background:#f0ebe6}
.prel__media img{width:100%;height:100%;object-fit:cover;display:block}
.prel__body{display:flex;flex-direction:column;gap:5px;padding:14px 16px 18px}
.prel__body b{font-weight:500;font-size:15.5px;line-height:1.3;color:var(--ink)}
.prel__body i{font-style:normal;font-size:15px;color:var(--red)}

.pcta{max-width:1184px;margin:52px auto 0;padding:38px 28px;border-radius:22px;
  background:#f7f2ee;text-align:center}
.pcta h2{margin-bottom:10px}
.pcta p{color:#3a322d}
.pcta .card__add{display:inline-flex;margin:6px 8px 0}
.pcta .btn{display:inline-flex}

@media (max-width:900px){
  .phero{grid-template-columns:1fr;gap:26px;padding:24px 20px 4px}
  .phero__media{max-width:520px}
  .pblock{padding:34px 20px 0}
  .pblock--dark,.pcta{margin-left:16px;margin-right:16px;padding:30px 20px}
  .crumbs{padding:16px 20px 0}
  .pspec th{width:46%;font-size:15px}
  .pspec td{font-size:15px}
}

/* правки страниц товаров: кнопки-CTA и список без привязки к .reveal */
.phero__actions .card__add,.pcta .card__add{
  background:var(--red);border-color:var(--red);color:#fff;
  font-size:13px;letter-spacing:.14em;padding:17px 32px;min-width:200px;justify-content:center}
.phero__actions .card__add:hover,.pcta .card__add:hover{
  background:#C42E26;border-color:#C42E26;color:#fff;transform:translateY(-2px)}
.phero .ticks li{opacity:1;transform:none}
.phero .ticks{margin:26px 0 0;padding-top:22px;border-top:1px solid rgba(20,20,20,.09)}

.card__more{display:inline-flex;align-items:center;font:500 11px/1 var(--font-body);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid rgba(20,20,20,.22);padding-bottom:2px;transition:color .2s,border-color .2s}
.card__more:hover{color:var(--red);border-color:var(--red)}
.card__foot{gap:14px}
