:root { --ink:#151718; --charcoal:#1c1f20; --paper:#f1f0ec; --muted:#72797b; --red:#ff080c; --line:rgba(21,23,24,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; background:rgba(241,240,236,.93); border-bottom:1px solid var(--line); display:flex; height:76px; justify-content:space-between; padding:0 clamp(24px,5vw,78px); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.site-logo { display:block; height:58px; width:96px; }.site-logo img { display:block; height:100%; mix-blend-mode:multiply; object-fit:contain; width:100%; }
.main-nav { display:flex; gap:clamp(15px,2vw,34px); font-size:10px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.main-nav a { border-bottom:1px solid transparent; padding:7px 0; }.main-nav a:hover { border-color:var(--red); }
.main-nav .manual-download { align-items:center; border:1px solid var(--red); color:var(--red); display:inline-flex; gap:9px; margin:-4px 0; padding:10px 13px; white-space:nowrap; }.main-nav .manual-download:hover { background:var(--red); color:#fff; }.manual-download i { font-size:14px; font-style:normal; line-height:1; }
.main-nav .company-button { align-items:center; border:1px solid var(--ink); display:inline-flex; margin:-4px 0; padding:10px 13px; white-space:nowrap; }.main-nav .company-button:hover { background:var(--ink); color:var(--paper); }
.menu-toggle { background:none; border:0; display:none; font:700 11px Arial; letter-spacing:.08em; text-transform:uppercase; }
@media (min-width:1101px) { .main-nav { margin-left:auto; margin-right:clamp(320px,26vw,370px); }.main-nav .manual-download { margin:0; position:absolute; right:clamp(24px,5vw,78px); top:50%; transform:translateY(-50%); } }
@media (max-width:1100px) { .menu-toggle { align-items:center; color:var(--ink); display:flex; font:700 11px Arial; height:36px; justify-content:center; margin:0; min-width:54px; padding:8px 0; position:absolute; right:24px; top:20px; z-index:11; }.main-nav { background:var(--paper); display:none; flex-direction:column; left:0; padding:20px 24px 26px; position:absolute; right:0; top:75px; }.main-nav.is-open { display:flex; }.main-nav .manual-download { align-self:flex-start; margin-top:8px; } }
.section-shell { padding-left:clamp(24px,5vw,96px); padding-right:clamp(24px,5vw,96px); }.dark-section { background:var(--ink); color:var(--paper); }
.hero { --hero-title-gap:clamp(84px,11vh,132px); min-height:calc(100svh - 76px); overflow:hidden; padding-bottom:36px; padding-top:28px; position:relative; }
.hero::after { background:var(--red); content:""; height:3px; left:clamp(24px,5vw,96px); position:absolute; top:calc(20px + var(--hero-title-gap)); width:30px; }.hero-meta { color:var(--muted); display:flex; font:700 10px/1.2 monospace; justify-content:space-between; letter-spacing:.12em; }.hero-title { background-color:var(--red); background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.28) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(90deg,#ff3a3d 0%,#e30509 34%,#a60005 58%,#ff080c 100%); background-position:center; background-size:100% 100%; color:transparent; font-size:clamp(100px,18vw,345px); font-stretch:condensed; font-weight:900; letter-spacing:-.105em; line-height:.84; margin:var(--hero-title-gap) 0 16px -.1em; padding-bottom:.08em; -webkit-background-clip:text; background-clip:text; }.hero-intro { font-size:clamp(12px,1.15vw,16px); font-weight:700; letter-spacing:.18em; line-height:1.65; position:relative; text-transform:uppercase; z-index:2; }.hero-intro p { margin:0; }.hero-rifle { margin:0; pointer-events:none; position:absolute; right:-9%; top:clamp(235px,28vh,336px); width:min(78vw,1550px); z-index:1; }.hero-rifle img { display:block; height:auto; width:100%; }.hero-index,.section-number { align-items:center; display:flex; font:700 11px monospace; gap:12px; letter-spacing:.07em; margin:0; }.hero-index { bottom:27px; position:absolute; }.hero-index span,.section-number span { background:currentColor; display:inline-block; height:1px; opacity:.5; width:85px; }
.brand-section { display:grid; grid-template-columns:1.05fr .95fr; min-height:690px; overflow:hidden; padding-bottom:80px; padding-top:34px; position:relative; }.brand-section .section-number { grid-column:1 / -1; height:min-content; }.brand-image { align-self:end; margin-left:-7vw; margin-top:40px; }.brand-image img { display:block; filter:contrast(1.1) brightness(.78); max-width:none; width:110%; }.brand-copy { align-self:center; max-width:450px; padding:100px 0 30px; transform:translateX(clamp(48px,5vw,96px)); }.eyebrow { color:var(--red); font:700 10px monospace; letter-spacing:.12em; margin:0 0 24px; }.brand-copy h2,.collection-heading h2,.maker-copy h2,.partners-copy h2,.contacts-main h2 { font-size:clamp(45px,6.2vw,94px); font-weight:900; letter-spacing:-.08em; line-height:.84; margin:0 0 26px; }.brand-copy > p:not(.eyebrow),.collection-heading > p:not(.eyebrow),.maker-copy > p:not(.eyebrow),.partners-copy > p:not(.eyebrow),.contacts-main p { color:#b8bdbc; font-size:14px; line-height:1.65; max-width:420px; }.text-link,.outline-link { display:inline-flex; font-size:11px; font-weight:700; gap:28px; letter-spacing:.06em; margin-top:22px; text-transform:uppercase; }.text-link { border-bottom:1px solid var(--red); padding-bottom:10px; }.text-link i,.outline-link i { color:var(--red); font-size:16px; font-style:normal; line-height:.6; }
.collection-section { padding-bottom:clamp(70px,9vw,150px); padding-top:34px; }.collection-section-co2 { padding-top:0; }.collection-heading { margin:36px 0 45px; }.collection-heading h2 { margin:0; white-space:nowrap; }.collection-heading > p { color:#4e5556; margin:12px 0 0; }.model-grid { display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }.model { background:#e8e7e2; min-height:290px; overflow:hidden; padding:20px; position:relative; }.model.wide { grid-column:span 2; min-height:360px; }.model img { display:block; left:5%; max-width:none; position:absolute; top:30%; width:90%; }.model.wide img { left:15%; top:18%; width:75%; }.model h3 { font-size:clamp(20px,2vw,30px); left:20px; letter-spacing:-.05em; margin:0; position:absolute; right:20px; text-align:center; top:20px; z-index:1; }.collection-pcp { display:inline; }
.maker-section { min-height:570px; overflow:hidden; position:relative; }.maker-photo { height:100%; inset:0; position:absolute; }.maker-photo::after { background:linear-gradient(90deg,rgba(21,23,24,.97) 0%,rgba(21,23,24,.75) 45%,rgba(21,23,24,.25)); content:""; inset:0; position:absolute; }.maker-photo img { height:100%; object-fit:cover; width:100%; filter:grayscale(1) contrast(1.12); }.maker-overlay { min-height:570px; padding-bottom:54px; padding-top:34px; position:relative; }.maker-copy { margin-top:64px; max-width:500px; }.maker-copy h2 { font-size:clamp(50px,7vw,105px); }.maker-copy h2 strong,.maker-copy h2 span { display:block; }.maker-copy h2 span { font-size:clamp(28px,4.1vw,62px); letter-spacing:-.065em; line-height:.95; white-space:nowrap; }.maker-copy > p:not(.eyebrow) { color:#dde0dc; }.outline-link { border:1px solid rgba(241,240,236,.65); padding:14px 18px; }
.partners-section { min-height:clamp(400px,calc(48vw - 20px),590px); overflow:hidden; padding-bottom:clamp(70px,8vw,120px); padding-top:34px; position:relative; }.partners-copy { margin-top:clamp(70px,8vw,128px); }.partners-copy .eyebrow { margin-bottom:18px; }.partners-content { align-items:end; display:grid; gap:clamp(32px,6vw,120px); grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); }.partners-copy h2 { font-size:clamp(46px,5vw,78px); margin:0; max-width:850px; }.partners-action { padding-bottom:4px; }.partners-action p { color:#4e5556; font-size:14px; line-height:1.65; margin:0; max-width:390px; }.partners-action .text-link { margin-top:18px; }
.contacts-section { display:grid; grid-template-columns:1.2fr .8fr; min-height:530px; padding-bottom:25px; padding-top:34px; }.contacts-section .section-number { grid-column:1 / -1; }.contacts-main { align-self:center; }.contacts-main h2 { font-size:clamp(48px,7.2vw,110px); }.contacts-side { align-self:center; border-left:1px solid rgba(241,240,236,.35); padding-left:45px; }.contacts-side p { color:#b8bdbc; font:10px/1.7 monospace; letter-spacing:.12em; }.contacts-section footer { align-self:end; border-top:1px solid rgba(241,240,236,.25); color:#9ca29f; display:flex; font:10px monospace; grid-column:1 / -1; justify-content:space-between; letter-spacing:.08em; padding-top:18px; }
@media (hover:hover) and (pointer:fine) { .hero-rifle,.brand-image,.model img { transition:transform 360ms cubic-bezier(.2,.8,.2,1); will-change:transform; }.hero-rifle { transform:translate3d(var(--rifle-shift-x,0px),var(--rifle-shift-y,0px),0); }.brand-image { transform:translate3d(var(--brand-rifle-shift-x,0px),var(--brand-rifle-shift-y,0px),0); }.model img { transform:translate3d(var(--model-shift-x,0px),var(--model-shift-y,0px),0); } }
@media (prefers-reduced-motion:reduce) { .hero-rifle,.brand-image,.model img { transform:none !important; transition:none !important; } }
@media (max-width:700px) { .site-header { height:62px; }.menu-toggle { display:block; }.main-nav { background:var(--paper); display:none; flex-direction:column; left:0; padding:20px 24px 26px; position:absolute; right:0; top:61px; }.main-nav.is-open { display:flex; }.hero { min-height:670px; }.hero-title { font-size:20vw; letter-spacing:-.09em; margin-left:0; margin-top:160px; }.hero-rifle { bottom:18%; right:-46%; top:auto; width:150vw; }.hero-index { bottom:25px; }.brand-section,.contacts-section { display:block; min-height:auto; }.brand-image { margin:45px -20px 0 -25px; }.brand-image img { width:130%; }.brand-copy { padding-top:45px; transform:none; }.collection-heading { display:block; margin-top:50px; }.collection-heading h2 { white-space:normal; }.collection-heading > p { margin-top:24px; }.collection-pcp { display:block; }.model-grid { display:block; }.model,.model.wide { margin-bottom:14px; min-height:250px; }.model.wide img { left:2%; top:30%; width:96%; }.maker-section,.maker-overlay { min-height:600px; }.maker-photo img { object-position:63% center; }.maker-photo::after { background:linear-gradient(0deg,rgba(21,23,24,.97),rgba(21,23,24,.38)); }.maker-copy { margin-top:100px; }.partners-section { display:block; min-height:auto; padding-bottom:80px; }.partners-copy { margin-top:70px; padding-top:0; }.partners-content { display:block; }.partners-copy h2 { font-size:10vw; }.partners-action { margin-top:30px; padding-bottom:0; }.partners-action p { max-width:100%; }.contacts-main { margin-top:75px; }.contacts-side { border-left:0; border-top:1px solid rgba(241,240,236,.35); margin-top:45px; padding:30px 0; }.contacts-section footer { gap:15px; line-height:1.5; }.section-number { font-size:10px; } }
@media (max-width:700px) { .hero::after { top:30%; } }
@media (max-width:700px) { body { overflow-x:hidden; }.partners-copy h2 { font-size:clamp(30px,8vw,32px); letter-spacing:-.065em; white-space:nowrap; }.partners-action,.partners-action p { max-width:100%; }.partners-action p { max-width:320px; overflow-wrap:anywhere; }.contacts-main p { max-width:320px; overflow-wrap:anywhere; }.contacts-section footer { align-items:flex-start; flex-direction:column; gap:8px; justify-content:flex-start; }.contacts-section footer span { max-width:100%; } }
@media (max-width:700px) { .menu-toggle { align-items:center; color:var(--ink); display:flex !important; font:700 11px Arial; height:36px; justify-content:center; margin:0; min-width:54px; padding:8px 0; position:absolute; right:24px; top:13px; z-index:11; } }

/* Логотип в редакционном блоке бренда. */
.brand-image.brand-logo { align-items:center; align-self:stretch; display:flex; justify-content:center; margin:0; min-height:520px; padding:clamp(64px,7vw,112px) clamp(42px,5vw,88px); }
.brand-image.brand-logo img { filter:none; height:auto; max-width:680px; opacity:.98; width:min(82%,680px); }
@media (max-width:700px) { .brand-image.brand-logo { min-height:330px; padding:54px 20px 18px; }.brand-image.brand-logo img { width:min(78%,430px); } }

/* Коллекция: красные продуктовые сцены в палитре первого экрана. */
.model { background-color:#cf060b; background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.13) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(112deg,#ff393d 0%,#e30509 38%,#ad0006 72%,#ff080c 100%); min-height:360px; isolation:isolate; }
.model.wide { min-height:480px; }
.model:nth-child(2) { background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.12) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(115deg,#ba0006 0%,#f0151a 48%,#d2050a 100%); }
.model:nth-child(3) { background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.12) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(115deg,#ef1b20 0%,#bf0006 58%,#8f0005 100%); }
.model:nth-child(4) { background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.12) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(112deg,#ff282e 0%,#cf0309 45%,#980005 100%); }
.model h3 { color:#fff; font-size:clamp(22px,2.2vw,38px); font-weight:800; letter-spacing:-.055em; line-height:1; text-shadow:0 2px 12px rgba(70,0,0,.22); top:26px; z-index:3; }
.model img { filter:brightness(1.13) contrast(1.04) drop-shadow(0 18px 22px rgba(32,0,0,.22)); left:0; top:22%; width:100%; z-index:2; }
.model.wide img { left:12%; top:13%; width:76%; }
.model.co2-model img { left:3%; top:10%; width:94%; }
.model.co2-model.wide img { left:7%; top:8%; width:86%; }
@media (max-width:700px) {
  .model,.model.wide { min-height:200px; }
  .model.wide { min-height:220px; }
  .model h3 { font-size:clamp(17px,5vw,23px); left:12px; right:12px; top:18px; }
  .model img,.model.wide img { left:1%; top:32%; width:98%; }
  .model.co2-model img { left:-2%; top:18%; width:104%; }
  .model.co2-model.wide img { left:-5%; top:24%; width:110%; }
}

/* Страницы семейств PCP: один красный продуктовый экран, затем техническая часть. */
.model-link { color:#fff; display:block; transition:transform 220ms ease,filter 220ms ease; }.model-link:focus-visible { outline:3px solid #151718; outline-offset:4px; }.model-link:hover { filter:saturate(1.08); }.model-link-cta { bottom:22px; color:#fff; font:700 10px monospace; left:24px; letter-spacing:.11em; position:absolute; text-transform:uppercase; z-index:4; }.model-link-cta i { color:rgba(255,255,255,.75); font-size:17px; font-style:normal; margin-left:9px; vertical-align:-1px; }
.product-page { min-height:calc(100svh - 76px); padding-bottom:clamp(70px,9vw,130px); }.back-link { border-bottom:1px solid var(--red); display:inline-block; font:700 10px monospace; letter-spacing:.09em; margin:32px 0 clamp(42px,6vw,85px); padding-bottom:9px; text-transform:uppercase; }.product-hero { align-items:center; display:grid; gap:clamp(30px,6vw,100px); grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); }.product-copy h1 { font-size:clamp(50px,7.6vw,124px); letter-spacing:-.085em; line-height:.79; margin:0 0 30px; }.product-copy > p:not(.eyebrow) { color:#4e5556; font-size:15px; line-height:1.65; max-width:440px; }.variant-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:34px; }.variant-choice { background:transparent; border:1px solid rgba(21,23,24,.28); color:var(--ink); cursor:pointer; font:700 11px monospace; min-width:48px; padding:12px 13px; }.variant-choice:hover,.variant-choice.is-selected { background:var(--ink); border-color:var(--ink); color:var(--paper); }.variant-choice:focus-visible,.buy-button:focus-visible { outline:3px solid var(--red); outline-offset:3px; }.product-visual { align-items:center; background-color:#cf060b; background-image:linear-gradient(104deg,transparent 0 48%,rgba(255,255,255,.13) 48.15% 48.55%,transparent 48.7% 100%),linear-gradient(112deg,#ff393d 0%,#e30509 38%,#ad0006 72%,#ff080c 100%); display:flex; justify-content:center; min-height:clamp(330px,44vw,630px); overflow:hidden; padding:30px; position:relative; }.product-visual img { display:block; filter:brightness(1.13) contrast(1.04) drop-shadow(0 3px 2px rgba(35,0,0,.18)) drop-shadow(0 20px 34px rgba(57,0,0,.32)); max-width:100%; width:100%; }.product-visual p { color:#fff; font:700 12px/1.7 monospace; letter-spacing:.1em; text-align:center; text-transform:uppercase; }.product-details { border-top:1px solid var(--line); display:grid; gap:clamp(46px,10vw,160px); grid-template-columns:1fr 1fr; margin-top:clamp(50px,8vw,110px); padding-top:35px; }.product-details ul { font-size:clamp(22px,2.4vw,37px); letter-spacing:-.055em; line-height:1.05; list-style:none; margin:0; padding:0; }.product-details li { border-bottom:1px solid var(--line); padding:13px 0; }.product-details dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }.product-details dl div { border-bottom:1px solid var(--line); padding:10px 0 17px; }.product-details dt { color:var(--muted); font:700 9px monospace; letter-spacing:.1em; text-transform:uppercase; }.product-details dd { font-size:16px; margin:7px 0 0; }.spec-note { color:var(--muted); font-size:11px; line-height:1.5; margin:20px 0 0; max-width:360px; }.buy-button { background:var(--red); border:0; color:#fff; cursor:pointer; font:700 11px Arial; letter-spacing:.08em; margin-top:26px; padding:16px 20px; text-transform:uppercase; }.buy-button:hover { background:#bd0005; }.buy-button i { font-size:18px; font-style:normal; margin-left:32px; vertical-align:-1px; }.buy-dialog { background:var(--paper); border:0; box-shadow:0 22px 80px rgba(0,0,0,.35); color:var(--ink); max-width:520px; padding:clamp(34px,6vw,64px); }.buy-dialog::backdrop { background:rgba(21,23,24,.72); }.buy-dialog > button { background:transparent; border:0; cursor:pointer; font-size:31px; position:absolute; right:15px; top:9px; }.buy-dialog h2 { font-size:clamp(38px,5vw,64px); letter-spacing:-.08em; line-height:.82; margin:0 0 28px; }.buy-dialog p:not(.eyebrow) { color:#4e5556; font-size:14px; line-height:1.65; max-width:370px; }
.product-copy h1 { font-size:clamp(50px,5.1vw,92px); max-width:100%; }
.product-copy h1 span { display:block; white-space:nowrap; }
@media (max-width:700px) { .product-copy h1 { font-size:clamp(36px,10vw,52px); } }
@media (max-width:700px) { .product-page { min-height:calc(100svh - 62px); }.product-page .back-link { margin:25px 0 46px; }.product-hero,.product-details { display:block; }.product-copy h1 { font-size:clamp(36px,10vw,52px); }.product-visual { margin:42px -24px 0; min-height:270px; padding:20px; }.product-visual img { width:123%; max-width:none; }.product-details { margin-top:65px; }.product-details > div + div { margin-top:48px; }.product-details dl { grid-template-columns:1fr 1fr; }.model-link-cta { bottom:15px; left:16px; }.model-link-cta i { font-size:15px; } }

/* Фиксированное композиционное полотно: на широких экранах фон может расти,
   а взаимное положение типографики и предметных изображений — нет. */
@media (min-width:701px) {
  .hero,
  .collection-section {
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
    max-width:1920px;
    width:100%;
  }

  .model {
    min-height:360px;
    min-width:0;
  }

  .model.wide {
    min-height:480px;
  }

  .model-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Редакционное описание моделей: полный текст без повторения таблицы ТТХ. */
.product-editorial { border-top:1px solid var(--line); display:grid; gap:clamp(36px,6vw,96px); grid-template-columns:minmax(230px,.66fr) minmax(0,1.34fr); margin-top:clamp(55px,8vw,110px); padding-top:35px; }
.product-editorial-heading { position:sticky; align-self:start; top:106px; }
.product-editorial-heading h2 { font-size:clamp(40px,4.6vw,76px); letter-spacing:-.08em; line-height:.86; margin:0; max-width:440px; }
.product-package-preview { background:transparent; border:0; color:var(--ink); cursor:zoom-in; display:block; margin:clamp(25px,3vw,42px) 0 0; padding:0; text-align:left; width:min(100%,360px); }
.product-package-preview img { border:1px solid var(--line); display:block; height:auto; width:100%; }
.product-package-preview span { color:var(--muted); display:block; font:700 10px monospace; letter-spacing:.08em; margin-top:11px; text-transform:uppercase; }
.product-package-preview i { color:var(--red); font-size:15px; font-style:normal; margin-left:6px; vertical-align:-1px; }
.product-package-preview:hover img { border-color:var(--red); }
.product-package-preview:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
.product-editorial-copy { max-width:760px; }
.product-editorial-lead { font-size:clamp(19px,2vw,28px); letter-spacing:-.045em; line-height:1.18; margin:0 0 42px; max-width:690px; }
.product-editorial-sections { border-top:1px solid var(--line); }
.product-editorial-sections article { border-bottom:1px solid var(--line); padding:22px 0 25px; }
.product-editorial-sections h3 { font-size:clamp(20px,2vw,28px); letter-spacing:-.055em; line-height:1; margin:0 0 11px; }
.product-editorial-sections p { color:#4e5556; font-size:15px; line-height:1.65; margin:0; max-width:670px; }
.product-package { background:var(--ink); color:var(--paper); grid-column:2; margin-top:10px; padding:clamp(28px,4vw,50px); }
.product-package .eyebrow { color:#ff4a4d; margin-bottom:22px; }
.product-package ul { columns:2; column-gap:clamp(28px,5vw,78px); font-size:14px; line-height:1.5; list-style:none; margin:0; padding:0; }
.product-package li { break-inside:avoid; border-top:1px solid rgba(241,240,236,.23); padding:9px 0; }
.product-package > p:last-child { color:#b8bdbc; font-size:12px; line-height:1.5; margin:22px 0 0; }
@media (max-width:700px) {
  .product-editorial { display:block; margin-top:65px; padding-top:29px; }
  .product-editorial-heading { position:static; }
  .product-editorial-heading h2 { font-size:clamp(36px,10vw,52px); margin-bottom:33px; }
  .product-package-preview { margin-top:0; width:min(100%,390px); }
  .product-editorial-lead { font-size:21px; margin-bottom:32px; }
  .product-editorial-sections article { padding:19px 0 22px; }
  .product-editorial-sections h3 { font-size:23px; }
  .product-editorial-sections p { font-size:14px; }
  .product-package { margin:42px -24px 0; padding:32px 24px; }
  .product-package ul { columns:1; }
}

@media (min-width:701px) { .product-visual img { transform:scale(1.015); } }
@media (hover:hover) and (pointer:fine) {
  .product-visual img { transform:translate3d(var(--product-shift-x,0px),var(--product-shift-y,0px),0) scale(1.015); transition:transform 360ms cubic-bezier(.2,.8,.2,1); will-change:transform; }
}
@media (prefers-reduced-motion:reduce) { .product-visual img { transform:none !important; transition:none !important; } }
.product-visual.has-gallery { cursor:zoom-in; }.product-visual.has-gallery::after { background:rgba(21,23,24,.82); bottom:14px; color:#fff; content:'СМОТРЕТЬ ФОТО'; font:700 10px monospace; letter-spacing:.1em; padding:10px 12px; position:absolute; right:14px; }.product-visual.has-gallery:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }.gallery-dialog { background:transparent; border:0; height:100dvh; max-height:none; max-width:none; padding:clamp(18px,3vw,48px); width:100vw; }.gallery-dialog::backdrop { background:rgba(12,14,15,.92); }.gallery-dialog figure { align-items:center; display:flex; flex-direction:column; height:100%; justify-content:center; margin:0 auto; max-width:1500px; }.gallery-dialog img { display:block; max-height:calc(100dvh - 105px); max-width:100%; object-fit:contain; }.gallery-dialog figcaption { color:#fff; font:700 10px monospace; letter-spacing:.1em; margin-top:13px; }.gallery-close,.gallery-nav { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.45); color:#fff; cursor:pointer; position:fixed; z-index:1; }.gallery-close { font:300 35px/1 Arial; padding:7px 13px 11px; right:clamp(18px,3vw,48px); top:clamp(18px,3vw,40px); }.gallery-nav { font:300 34px/1 Arial; padding:13px 16px 17px; top:50%; transform:translateY(-50%); }.gallery-prev { left:clamp(18px,3vw,48px); }.gallery-next { right:clamp(18px,3vw,48px); }.gallery-close:hover,.gallery-nav:hover { background:var(--red); }.gallery-close:focus-visible,.gallery-nav:focus-visible { outline:3px solid #fff; outline-offset:3px; }.gallery-nav:disabled { cursor:default; opacity:.35; }@media (max-width:700px) { .product-visual.has-gallery::after { bottom:12px; right:12px; }.gallery-dialog { padding:16px; }.gallery-dialog img { max-height:calc(100dvh - 130px); }.gallery-close { right:16px; top:16px; }.gallery-nav { bottom:28px; top:auto; transform:none; }.gallery-prev { left:calc(50% - 74px); }.gallery-next { right:calc(50% - 74px); } }
.product-visual img { will-change: transform; }
.certificate-link { display:block; margin-top:16px; max-width:720px; }
.certificate-link img { display:block; height:auto; max-height:640px; max-width:100%; object-fit:contain; width:auto; }

/* SERPENT-S: keep the hero micro-motion active on desktop browsers even when
   their hover media query is reported inconsistently. */
.product-page .product-visual img {
  will-change: transform;
  transition: transform 180ms ease-out;
}
.product-page .product-visual:hover img {
  transform: translate3d(var(--product-shift-x, 0px), var(--product-shift-y, 0px), 0) scale(1.015);
}

.compliance-notice {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding: 14px clamp(20px, 5vw, 72px);
  background: #171719;
  color: #fff;
  font-size: 13px;
  line-height: 1.45;
}
.compliance-notice strong { color: #ff3038; }
@media (max-width: 720px) {
  .compliance-notice { display: block; }
  .compliance-notice span { display: block; margin-top: 4px; }
}

/* Collection cards use a stable frame. Product images are contained inside it,
   so neither browser zoom nor a wide monitor can crop the transparent assets. */
.model { aspect-ratio: 1.92; height: auto; min-height: 0 !important; padding: 0; }
.model.wide { aspect-ratio: 3.82; min-height: 0 !important; }
.model > picture { align-items: center; bottom: 42px; display: flex; justify-content: center; left: 18px; position: absolute; right: 18px; top: 58px; }
.model.wide > picture { bottom: 42px; left: 26px; right: 26px; top: 54px; }
.model > picture img,
.model.wide > picture img,
.model.co2-model > picture img,
.model.co2-model.wide > picture img { display: block; height: 100%; left: auto; max-height: 100%; max-width: 100%; object-fit: contain; position: static; top: auto; transform: none; width: 100%; }
.model h3 { top: 22px; }
@media (hover:hover) and (pointer:fine) {
  .model > picture img { transition: transform 240ms ease; }
  .model > picture img { transform: translate3d(var(--model-shift-x, 0px), var(--model-shift-y, 0px), 0); }
  .model-link:hover > picture img { transform: translate3d(var(--model-shift-x, 0px), var(--model-shift-y, 0px), 0) scale(1.025); }
}
@media (max-width:700px) {
  .model,.model.wide { aspect-ratio: 1.62; min-height: 0 !important; margin-bottom: 14px; }
  .model > picture,.model.wide > picture { bottom: 36px; left: 12px; right: 12px; top: 48px; }
  .model h3 { top: 16px; }
}

.caliber-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.caliber-controls .choice-label { color:var(--muted); flex-basis:100%; font:700 9px monospace; letter-spacing:.1em; margin:0 0 2px; }
.caliber-note { color:#8d0005; font-size:12px; line-height:1.5; margin:0; max-width:360px; }
.product-price { display:grid; gap:4px; margin-top:20px; }.product-price strong { font-size:clamp(26px,3vw,38px); letter-spacing:-.06em; line-height:1; }.product-price span { color:#646966; font-size:12px; line-height:1.45; }.product-price.is-preorder strong { color:#8d0005; font-size:18px; letter-spacing:-.03em; }
.buy-button:disabled { cursor:not-allowed; opacity:.45; }
.order-selection { border-left:3px solid var(--red); color:var(--ink) !important; font-weight:700; padding-left:14px; }
.order-form { display:grid; gap:16px; margin-top:26px; }
.order-form label { display:grid; font:700 10px monospace; gap:8px; letter-spacing:.07em; text-transform:uppercase; }
.order-form input:not([type="checkbox"]) { background:#fff; border:1px solid var(--line); border-radius:0; font:16px Arial; padding:13px; }
.order-form .order-consent { align-items:start; display:flex; font:11px/1.5 Arial; gap:9px; letter-spacing:0; text-transform:none; }
.order-form .order-consent input { margin:3px 0 0; }
.order-form .order-consent a { text-decoration:underline; }
.order-form button { background:var(--red); border:0; color:#fff; cursor:pointer; font:700 11px Arial; letter-spacing:.08em; margin-top:5px; padding:16px 20px; text-transform:uppercase; }
.order-form button:hover { background:#bd0005; }
.order-form button i { font-size:18px; font-style:normal; margin-left:26px; }
.order-success { border-left:3px solid var(--red); color:var(--ink) !important; font-weight:700; padding-left:14px; }

/* Заявка: отдельные визуальные зоны, крупные цели для курсора и пальца. */
.buy-dialog{width:min(560px,calc(100% - 32px));padding:clamp(28px,5vw,54px)}
.buy-dialog h2{font-size:clamp(38px,5vw,56px);line-height:.92;margin:0 0 30px}
.order-selection{background:#ece9e1;border-left:3px solid var(--red);display:grid;gap:5px;margin:0 0 26px;padding:15px 17px}
.order-selection-label{color:var(--muted);font:700 9px monospace;letter-spacing:.11em;text-transform:uppercase}
.order-selection strong{font-size:17px;letter-spacing:-.02em}.order-selection>span:not(.order-selection-label):not(.order-badge){color:#4e5556;font-size:14px}
.order-selection .order-price{color:var(--ink)!important;font-size:18px!important;font-weight:700;letter-spacing:-.03em}
.blog-page,.blog-article{max-width:1040px;margin:0 auto;padding:clamp(52px,8vw,110px) clamp(24px,5vw,78px)}.blog-page h1,.blog-article h1{font-size:clamp(46px,7vw,96px);letter-spacing:-.075em;line-height:.88;margin:0 0 28px;max-width:900px}.blog-lead{color:#4e5556;font-size:clamp(18px,2.3vw,27px);letter-spacing:-.035em;line-height:1.25;max-width:760px}.blog-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:58px}.blog-grid article{border-top:2px solid var(--ink);padding:18px 0}.blog-grid h2{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.05em;line-height:1;margin:0 0 16px}.blog-grid h2 a:hover,.blog-article a:not(.back-link){color:var(--red)}.blog-grid p{color:#4e5556;line-height:1.55}.blog-article{max-width:860px}.blog-article h2{font-size:clamp(27px,3.2vw,42px);letter-spacing:-.06em;line-height:1;margin:54px 0 16px}.blog-article p,.blog-article li{font-size:17px;line-height:1.65}.blog-article ul{padding-left:22px}@media(max-width:700px){.blog-grid{display:block}.blog-grid article{margin-bottom:28px}.blog-article p,.blog-article li{font-size:16px}}
.order-badge{align-self:start;background:#8d0005;color:#fff;font:700 10px monospace;letter-spacing:.08em;margin-top:4px;padding:6px 8px;text-transform:uppercase}
.order-form{gap:20px;margin-top:0}.order-fields{display:grid;gap:15px;grid-template-columns:1fr 1fr}.order-field-full{grid-column:1/-1}
.order-form label{color:var(--ink);font:700 10px monospace;gap:8px;letter-spacing:.08em}.order-form label span{display:block}
.order-form input:not([type="checkbox"]){border:1px solid #a9aaa4;font:16px Arial;height:52px;padding:0 14px;width:100%}
.order-form input:not([type="checkbox"]):focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(227,5,9,.15);outline:0}
.order-form .order-consent{background:#f1eee7;border:0;display:flex;font:13px/1.5 Arial;gap:10px;margin:0;padding:13px 14px}.order-form .order-consent input{height:18px;margin:1px 0 0;width:18px}
.order-form button{font-size:12px;min-height:54px;width:100%}.order-form button:disabled{cursor:default;opacity:.7}.order-form button[aria-busy="true"]{cursor:wait}.order-error{background:#fff0ef!important;border-left:3px solid var(--red);color:#a40005!important;font-size:13px!important;margin:0!important;padding:12px 14px}.order-hint{color:#646966!important;font-size:12px!important;line-height:1.5;margin:0!important;max-width:none!important;text-align:center}.order-form[hidden],.order-success[hidden],.city-suggestions[hidden]{display:none!important}.field-required{color:var(--red);font-size:13px;line-height:0}.city-autocomplete{position:relative}.city-suggestions{background:#fff;border:1px solid #a9aaa4;box-shadow:0 12px 22px rgba(0,0,0,.14);left:0;max-height:238px;overflow:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:8}.order-form .city-suggestion{background:#fff;border:0;border-bottom:1px solid #e4e2dc;color:var(--ink);font:15px Arial;letter-spacing:0;margin:0;min-height:44px;padding:10px 14px;text-align:left;text-transform:none}.order-form .city-suggestion:hover,.order-form .city-suggestion:focus{background:#f1eee7}.order-form .city-suggestion:last-child{border-bottom:0}
@media(max-width:560px){.buy-dialog{padding:28px 24px}.order-fields{grid-template-columns:1fr}.buy-dialog h2{font-size:42px}.order-form button{min-height:56px}}

.buy-button:disabled,.buy-button:disabled:hover { background:#777; color:#eee; cursor:not-allowed; opacity:.6; transform:none; }
