@font-face {
  font-family:TildaSans;
  src:url('../fonts/TildaSans-VF.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}
:root {
  --blue:#219ef6;
  --ink:#2d2d2d;
  --muted:#f0f2f7;
  --red:#ff4845;
  --container:1200px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:TildaSans,Arial,sans-serif;
  font-size:20px;
  line-height:1.55
}
button,input {
  font:inherit
}
button,a,input {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p {
  margin:0
}
ul {
  margin:0;
  padding:0;
  list-style:none
}
button {
  border:0
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:3px solid #116da7;
  outline-offset:5px
}
input {
  min-width:0;
  border:1px solid #c8c8c8;
  background:#fff;
  border-radius:0;
  color:var(--ink);
  padding:15px 20px;
  font-size:15px;
  line-height:1.4
}
input::placeholder {
  color:#888;
  opacity:1
}
input[aria-invalid=true] {
  border-color:#d84444
}
.container {
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0 20px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--blue);
  color:#fff;
  border-radius:0;
  min-height:50px;
  padding:12px 24px;
  font-weight:600;
  font-size:16px;
  line-height:1.25;
  transition:background-color .15s
}
.button:hover {
  background:#158fe5
}
.button:disabled {
  opacity:.6;
  cursor:wait
}
.blue {
  color:var(--blue)
}
.hero-mobile,.carousel-status {
  display:none
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:8px;
  left:8px;
  padding:10px 16px;
  background:#fff;
  z-index:100;
  transform:translateY(-150%)
}
.skip-link:focus {
  transform:translateY(0)
}
.honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.form-result {
  grid-column:1/-1;
  font-size:16px;
  line-height:1.4
}
.form-result:empty {
  display:none
}
.form-result[data-state=error] {
  color:#ba3030
}
.form-result[data-state=success] {
  color:#227342
}
.site-header {
  height:110px;
  background:#fff
}
.header-inner {
  height:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding-top:34px
}
.brand {
  display:flex;
  align-items:center;
  gap:40px
}
.brand img {
  width:150px;
  height:41px;
  object-fit:contain
}
.brand span {
  font-size:16px;
  font-weight:600;
  line-height:41px;
  color:#111
}
.header-contacts {
  text-align:right;
  color:#111
}
.header-contacts>a {
  font-size:24px;
  line-height:30px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px
}
.header-contacts svg {
  width:25px;
  height:25px
}
.header-contacts p {
  font-size:15px;
  line-height:23px;
  font-weight:500;
  margin-top:1px
}
.hero {
  overflow:clip;
  height:910px;
  background:linear-gradient(to bottom,#fff 0,#fff 790px,#edf2f8 790px,#edf2f8 100%)
}
.hero-inner {
  height:100%;
  position:relative
}
.hero-inner:before {
  content:'';
  position:absolute;
  top:-64px;
  left:236px;
  width:845px;
  height:810px;
  background:url('../img/hero-mark.webp') center/contain no-repeat;
  opacity:.5;
  pointer-events:none
}
.hero h1 {
  position:absolute;
  top:78px;
  right:20px;
  left:0;
  font-weight:900;
  line-height:1;
  text-align:right
}
.hero-title-line {
  display:block;
  font-size:86px;
  line-height:86px
}
.hero-subtitle {
  display:block;
  font-size:67px;
  line-height:67px;
  margin-top:19px;
  white-space:nowrap
}
.hero-details {
  position:absolute;
  top:357px;
  left:20px;
  z-index:2
}
.hero-benefits {
  display:grid;
  gap:10px;
  margin-bottom:42px
}
.hero-benefits li {
  display:flex;
  align-items:center;
  gap:16px;
  font-size:20px;
  line-height:44px;
  color:#111
}
.hero-benefits svg {
  width:44px;
  height:44px;
  fill:none;
  stroke:var(--blue);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none
}
.hero-sale {
  text-transform:uppercase;
  font-size:33px;
  font-weight:900;
  line-height:33px;
  color:var(--red);
  white-space:nowrap
}
.hero-sale-small {
  text-transform:uppercase;
  font-size:24px;
  font-weight:900;
  line-height:24px;
  color:var(--red);
  margin-top:17px;
  white-space:nowrap
}
.hero-video {
  width:324px;
  height:55px;
  margin-top:66px;
  font-size:21px;
  font-weight:700
}
.hero-machines {
  position:absolute;
  right:10px;
  top:248px;
  width:720px;
  height:625px;
  z-index:auto;
  pointer-events:none
}
.hero-machine {
  position:absolute;
  object-fit:contain;
  object-position:center bottom;
  mix-blend-mode:multiply
}
.hero-machine--left {
  left:-41px;
  top:0;
  width:470px;
  height:625px;
  z-index:1
}
.hero-machine--right {
  right:-75px;
  top:0;
  width:470px;
  height:625px;
  z-index:1
}
.hero-machine--center {
  mix-blend-mode:normal;
  left:148px;
  bottom:-60px;
  width:460px;
  height:625px;
  z-index:2
}
.intro {
  height:915px;
  background:var(--muted)
}
.intro-statement {
  height:246px;
  padding-top:75px;
  text-align:center;
  font-size:32px;
  font-weight:300;
  line-height:1.35;
  color:#111
}
.intro-split {
  height:669px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center
}
.intro-copy {
  width:580px;
  max-width:100%;
  justify-self:end;
  padding-right:90px;
  padding-bottom:10px
}
.intro-copy h2 {
  font-size:30px;
  line-height:1.2;
  font-weight:600;
  color:#111
}
.intro-subtitle {
  font-size:24px;
  line-height:1.45;
  color:#111;
  margin-top:25px
}
.intro-list {
  margin-top:60px;
  display:grid;
  gap:24px;
  font-size:18px;
  line-height:1.6
}
.intro-list li {
  padding-left:40px;
  position:relative
}
.intro-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  top:6px;
  width:20px;
  height:20px;
  color:#fff;
  background:var(--blue);
  border-radius:50%;
  font-size:14px;
  line-height:20px;
  text-align:center;
  font-weight:700
}
.intro-photo {
  height:669px;
  width:100%;
  object-fit:cover;
  object-position:center
}
.angles {
  height:1130px;
  padding:40px 20px 50px
}
.angles-grid {
  height:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:70px 25px;
  max-width:1740px;
  margin:0 auto
}
.photo-button {
  background:none;
  padding:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden
}
.angles .photo-button img {
  height:100%;
  width:100%;
  object-fit:contain
}
.photo-button:hover img {
  opacity:.92
}
.delivery-form-section {
  height:290px;
  color:#000
}
.delivery-form-section .container {
  position:relative;
  height:100%;
  padding-top:33px;
  text-align:center
}
.delivery-form-section h2 {
  font-size:37px;
  line-height:1.55;
  font-weight:700;
  white-space:nowrap
}
.delivery-form-section>.container>p {
  font-size:26px;
  line-height:1.55;
  margin-top:20px
}
.delivery-form {
  width:1035px;
  max-width:100%;
  margin:31px auto 0;
  display:grid;
  grid-template-columns:372px 372px 250px;
  gap:20px;
  position:relative
}
.delivery-form input,.delivery-form .button {
  height:50px
}
.delivery-form .button {
  font-size:14px;
  padding:8px 15px
}
.delivery-form .form-result {
  margin-top:0;
  text-align:left
}
.quality {
  height:1085px;
  padding-top:75px
}
.quality>.container,.reliability>.container {
  height:100%;
  position:relative
}
.paired-heading {
  position:absolute;
  top:44px;
  left:29px;
  right:20px;
  height:180px;
  font-size:80px;
  font-weight:300;
  line-height:1
}
.paired-heading strong {
  font-weight:700
}
.paired-heading-second {
  position:absolute;
  top:69px;
  left:454px;
  white-space:nowrap
}
.heading-slash {
  position:absolute;
  top:69px;
  left:366px;
  width:140px;
  height:5px;
  background:var(--blue);
  transform:rotate(-54deg);
  transform-origin:center
}
.quality-copy {
  position:absolute;
  top:258px;
  left:29px;
  width:842px;
  max-width:calc(100% - 58px);
  font-size:20px;
  line-height:1.55;
  color:#111
}
.quality-lead {
  font-size:22px;
  line-height:1.55;
  font-weight:500;
  margin-bottom:24px
}
.quality-copy p+p {
  max-width:787px
}
.quality-images {
  position:absolute;
  left:20px;
  right:20px;
  top:503px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:39px
}
.quality-images img {
  width:100%;
  height:361px;
  object-fit:cover
}
.reliability {
  height:995px;
  padding-top:75px
}
.paired-heading--reliability .paired-heading-second {
  left:535px
}
.paired-heading--reliability .heading-slash {
  left:441px
}
.reliability-content {
  position:absolute;
  top:287px;
  left:29px;
  right:49px;
  display:grid;
  grid-template-columns:550px 1fr;
  gap:100px
}
.square-list {
  font-size:20px;
  line-height:1.55;
  padding-top:31px;
  color:#111
}
.square-list li {
  position:relative;
  padding-left:37px;
  margin-bottom:37px
}
.square-list li:before {
  content:'';
  position:absolute;
  left:0;
  top:7px;
  width:24px;
  height:24px;
  background:var(--blue)
}
.square-list li:nth-child(2),.square-list li:nth-child(3) {
  max-width:507px
}
.reliability-photo {
  position:relative;
  width:471px;
  height:471px
}
.reliability-photo:before {
  content:'';
  position:absolute;
  inset:18px 15px -50px -51px;
  background:var(--blue)
}
.reliability-photo img {
  position:relative;
  width:100%;
  height:100%;
  object-fit:cover
}
.precision-comfort {
  height:975px;
  padding-top:75px;
  background:linear-gradient(to bottom,#fff 0,#fff 775px,var(--muted) 775px,var(--muted) 100%)
}
.precision-grid {
  height:100%;
  display:grid;
  grid-template-columns:442px 1fr 442px;
  gap:0;
  position:relative;
  padding:0 26px
}
.precision-column {
  position:relative;
  padding-top:44px;
  text-align:center
}
.precision-column h2 {
  font-size:80px;
  line-height:1;
  font-weight:700;
  text-align:left;
  white-space:nowrap
}
.precision-column p {
  position:absolute;
  top:157px;
  left:12px;
  right:12px;
  font-size:20px;
  line-height:1.55;
  color:#111
}
.precision-column img {
  position:absolute;
  top:378px;
  left:0;
  width:442px;
  height:442px;
  object-fit:cover;
  z-index:2
}
.comfort-column h2 {
  text-align:center
}
.comfort-column p {
  left:22px;
  right:22px
}
.comfort-column img {
  top:369px
}
.square-chain {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:39px;
  padding-top:35px
}
.square-chain i {
  background:#c2e1ff;
  width:100px;
  height:100px;
  flex:none
}
.square-chain i:nth-child(2) {
  width:80px;
  height:80px
}
.square-chain i:nth-child(3) {
  width:60px;
  height:60px
}
.square-chain i:nth-child(4) {
  width:40px;
  height:40px
}
.square-chain i:nth-child(5) {
  width:20px;
  height:20px
}
.video-section {
  height:1030px;
  background:var(--muted);
  padding-top:90px
}
.video-section>.container {
  height:100%;
  position:relative
}
.video-section h2 {
  position:absolute;
  top:69px;
  left:10px;
  right:10px;
  font-size:130px;
  line-height:1;
  font-weight:900;
  text-align:center;
  color:#000;
  white-space:nowrap
}
.video-poster {
  position:absolute;
  top:311px;
  left:calc(50% - 386.5px);
  width:773px;
  height:477px;
  background:#ddd;
  padding:0;
  overflow:hidden
}
.video-poster>img {
  width:100%;
  height:100%;
  object-fit:cover
}
.play-circle {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:168px;
  height:168px;
  border-radius:50%;
  background:#f94343;
  display:flex;
  align-items:center;
  justify-content:center
}
.play-circle svg {
  width:105px;
  height:105px;
  margin-left:8px
}
.video-poster:hover .play-circle {
  background:#ed3333
}
.models {
  background:#fff
}
.models-heading {
  height:380px;
  padding-top:122px;
  text-align:right;
  position:relative
}
.models-heading h2 {
  font-size:86px;
  line-height:1;
  font-weight:300
}
.models-heading strong {
  font-weight:700
}
.models-heading p {
  font-size:56px;
  line-height:1;
  margin-top:25px;
  white-space:nowrap
}
.models-rule {
  height:2px;
  background:var(--blue);
  width:820px;
  margin-top:47px;
  margin-left:auto
}
.model-row {
  height:895px;
  position:relative;
  color:#000
}
.model-carousel {
  overflow:clip;
  position:absolute;
  left:-13px;
  top:0;
  width:586px;
  height:801px
}
.model-image {
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:center
}
@media(min-width:1200px) {
  .hero-machine--right {
    top:-70px;
    width:525px;
    height:700px
  }
  .model-row + .model-row .model-image {
    transform:scale(1.18)
  }
}
.carousel-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  background:#e9e9e9;
  border-radius:50%;
  font-size:34px;
  font-weight:300;
  line-height:24px;
  color:#444;
  padding:0;
  z-index:2
}
.carousel-arrow svg {
  display:block;
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.carousel-arrow--prev {
  left:8px
}
.carousel-arrow--next {
  right:8px
}
.carousel-arrow:hover {
  background:#d4d4d4
}
.model-info {
  position:absolute;
  top:61px;
  left:600px;
  width:580px
}
.model-info h3 {
  font-size:62px;
  line-height:1.55;
  font-weight:800
}
.characteristics-title {
  font-size:31px;
  line-height:1.55;
  font-weight:500;
  margin-top:6px
}
.small-rule {
  height:6px;
  background:var(--blue);
  width:140px;
  margin-top:12px;
  margin-bottom:26px
}
.characteristics {
  font-size:19px;
  line-height:1.55;
  font-weight:500;
  white-space:nowrap
}
.characteristics li:before {
  content:'✔';
  font-size:20px;
  line-height:1;
  display:inline-block;
  margin-right:0
}
.sale-date {
  font-size:31px;
  line-height:1.55;
  color:var(--red);
  margin-top:17px;
  white-space:nowrap
}
.model-price {
  font-size:56px;
  line-height:1.55;
  font-weight:700;
  color:#3a3a3a;
  margin-top:-7px;
  white-space:nowrap
}
.model-order {
  height:63px;
  width:247px;
  font-size:19px;
  margin-top:0
}
.shipping {
  height:830px
}
.shipping-inner {
  height:100%;
  position:relative
}
.shipping-copy {
  position:absolute;
  left:20px;
  top:321px;
  width:440px
}
.shipping-copy h2 {
  font-size:42px;
  line-height:1.25;
  font-weight:600;
  color:#000;
  white-space:nowrap
}
.shipping-copy p {
  font-size:20px;
  line-height:1.6;
  font-weight:300;
  margin-top:37px
}
.shipping-collage {
  position:absolute;
  left:620px;
  top:135px;
  width:560px;
  height:538px
}
.shipping-main {
  width:448px;
  height:448px;
  object-fit:cover
}
.shipping-secondary {
  position:absolute;
  right:0;
  bottom:0;
  width:364px;
  height:225px;
  object-fit:cover
}
.production-gallery {
  height:679px;
  padding:22.5px 20px 33px
}
.production-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  height:100%;
  grid-template-rows:repeat(2,minmax(0,1fr))
}
.production-grid img {
  width:100%;
  height:100%;
  object-fit:cover
}
.contacts {
  height:874px;
  padding-top:150px;
  color:#111
}
.contacts h2 {
  text-align:center;
  font-size:42px;
  line-height:1.23;
  font-weight:600
}
.contacts-intro {
  text-align:center;
  font-size:24px;
  line-height:1.5;
  font-weight:300;
  margin-top:40px
}
.contact-grid {
  width:960px;
  max-width:100%;
  margin:90px auto 0;
  display:grid;
  grid-template-columns:460px 460px;
  gap:40px
}
.contact-details {
  font-weight:300;
  font-size:18px;
  line-height:1.5
}
.contact-phone,.contact-email {
  display:block;
  font-size:30px;
  line-height:1.5;
  white-space:nowrap
}
.contact-details p {
  margin-top:45px
}
.contact-details p+p {
  margin-top:31px
}
.contact-form {
  display:grid;
  gap:24px;
  align-content:start;
  position:relative
}
.contact-form input {
  height:60px
}
.contact-form>.button {
  width:198px;
  height:60px;
  font-size:16px
}
.site-footer {
  height:416px;
  background:#111;
  color:#fff;
  padding-top:120px
}
.footer-inner {
  display:flex;
  justify-content:space-between
}
.footer-brand img {
  width:180px;
  height:50px;
  object-fit:contain
}
.footer-brand p {
  font-size:12px;
  line-height:1.4;
  color:#666;
  margin-top:30px
}
.footer-address {
  width:250px
}
.footer-address h2 {
  font-size:20px;
  line-height:1.4;
  font-weight:600;
  margin-bottom:16px
}
.footer-address p {
  font-size:16px;
  line-height:1.2
}
.footer-address p+p {
  margin-top:21px
}
.modal {
  border:0;
  padding:38px;
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  color:var(--ink);
  overflow:auto
}
.modal::backdrop {
  background:rgba(0,0,0,.78)
}
.dialog-close {
  position:absolute;
  right:10px;
  top:4px;
  width:40px;
  height:40px;
  font-size:35px;
  line-height:1;
  background:transparent;
  color:inherit;
  z-index:3
}
.order-modal {
  width:520px
}
.order-modal h2 {
  font-size:32px;
  line-height:1.2;
  font-weight:700;
  padding-right:20px
}
.order-modal>p {
  font-size:18px;
  line-height:1.45;
  margin:18px 0 25px
}
.order-form {
  display:grid;
  gap:9px;
  position:relative
}
.order-form label {
  font-size:16px
}
.order-form input {
  height:50px;
  margin-bottom:8px
}
.order-form .button {
  margin-top:12px
}
.video-modal {
  width:1100px;
  padding:45px 20px 18px;
  background:#111;
  color:#fff
}
.video-container {
  aspect-ratio:16/9;
  background:#000
}
.video-container iframe {
  width:100%;
  height:100%;
  display:block;
  border:0
}
.video-fallback {
  font-size:16px;
  line-height:1.5;
  text-align:center;
  margin-top:16px
}
.video-fallback a {
  text-decoration:underline
}
.lightbox-modal {
  width:1100px;
  background:#111;
  color:#fff;
  padding:50px 55px 20px
}
.lightbox-stage {
  height:min(72vh,780px);
  position:relative
}
.lightbox-stage>img {
  width:100%;
  height:100%;
  object-fit:contain
}
.lightbox-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:48px;
  background:rgba(255,255,255,.9);
  color:#222;
  border-radius:50%;
  height:46px;
  width:46px;
  line-height:36px;
  padding:0
}
.lightbox-arrow--prev {
  left:-45px
}
.lightbox-arrow--next {
  right:-45px
}
.lightbox-caption {
  text-align:center;
  font-size:18px;
  line-height:1.4;
  margin-top:18px
}
body.modal-open {
  overflow:hidden
}
@media(max-width:1199px) and (min-width:769px) {
  :root {
    --container:1000px
  }
  .hero-inner:before {
    left:5%;
    width:90%;
    height:650px
  }
  .hero-title-line {
    font-size:70px;
    line-height:1
  }
  .hero-subtitle {
    font-size:55px;
    line-height:1
  }
  .hero-machines {
    width:600px;
    right:0;
    top:290px
  }
  .hero-machine--left,.hero-machine--right {
    width:360px;
    height:480px
  }
  .hero-machine--left {
    left:-15px
  }
  .hero-machine--right {
    right:-40px
  }
  .hero-machine--center {
    left:150px;
    bottom:0;
    width:350px;
    height:480px
  }
  .hero-sale {
    font-size:27px
  }
  .hero-sale-small {
    font-size:21px
  }
  .intro-copy {
    width:480px;
    padding:0 35px 0 20px
  }
  .intro-copy h2 {
    font-size:27px
  }
  .intro-subtitle {
    font-size:22px
  }
  .intro-list {
    font-size:17px
  }
  .angles {
    height:950px
  }
  .delivery-form-section h2 {
    font-size:30px;
    white-space:normal
  }
  .delivery-form-section>.container>p {
    font-size:23px
  }
  .delivery-form {
    grid-template-columns:1fr 1fr 230px
  }
  .paired-heading {
    font-size:65px
  }
  .paired-heading-second {
    left:370px
  }
  .heading-slash {
    left:300px;
    width:110px
  }
  .quality-copy {
    width:800px
  }
  .paired-heading--reliability .paired-heading-second {
    left:435px
  }
  .paired-heading--reliability .heading-slash {
    left:365px
  }
  .reliability-content {
    grid-template-columns:1fr 390px;
    gap:50px
  }
  .reliability-photo {
    width:390px;
    height:440px
  }
  .square-list {
    font-size:18px
  }
  .square-list li {
    margin-bottom:25px
  }
  .precision-grid {
    grid-template-columns:360px 1fr 360px
  }
  .precision-column h2 {
    font-size:65px
  }
  .precision-column img {
    width:360px;
    height:442px
  }
  .precision-column p {
    font-size:18px
  }
  .video-section h2 {
    font-size:110px
  }
  .models-heading h2 {
    font-size:75px
  }
  .models-heading p {
    font-size:45px
  }
  .model-info {
    left:490px;
    width:470px
  }
  .model-info h3 {
    font-size:55px
  }
  .model-carousel {
    width:470px
  }
  .characteristics {
    font-size:16px;
    line-height:1.75;
    white-space:normal
  }
  .sale-date {
    font-size:27px
  }
  .shipping-copy {
    width:380px
  }
  .shipping-copy h2 {
    font-size:36px
  }
  .shipping-collage {
    left:510px;
    width:450px
  }
  .shipping-main {
    width:400px;
    height:448px
  }
  .contact-grid {
    grid-template-columns:1fr 1fr
  }
  .contact-email {
    font-size:27px
  }
}
@media(max-width:1023px) {
  body {
    font-size:17px
  }
  .container {
    padding:0 20px
  }
  .site-header {
    height:auto;
    min-height:86px
  }
  .header-inner {
    padding-top:16px;
    padding-bottom:14px;
    align-items:center;
    gap:15px
  }
  .brand {
    gap:0;
    display:block
  }
  .brand img {
    width:110px;
    height:30px
  }
  .brand span {
    display:block;
    font-size:10px;
    line-height:1.2;
    margin-top:5px
  }
  .header-contacts>a {
    font-size:16px;
    line-height:1.3;
    gap:5px;
    white-space:nowrap
  }
  .header-contacts svg {
    width:16px;
    height:16px
  }
  .header-contacts p {
    font-size:8px;
    line-height:1.4;
    max-width:180px;
    margin-top:5px
  }
  .hero {
    height:auto;
    background:#fff;
    padding:18px 0 40px
  }
  .hero-inner {
    display:flex;
    flex-direction:column;
    height:auto
  }
  .hero-inner:before {
    content:none;
    background:none
  }
  .hero h1 {
    position:static;
    text-align:center;
    order:0;
    font-size:34px
  }
  .hero-title-line {
    font-size:clamp(30px,6.3vw,48px);
    line-height:1.05
  }
  .hero-subtitle {
    font-size:clamp(25px,5.6vw,42px);
    line-height:1.1;
    white-space:normal;
    margin-top:12px
  }
  .hero-details {
    position:static;
    order:2;
    margin-top:18px;
    width:100%;
    max-width:540px;
    align-self:center;
    display:flex;
    flex-direction:column;
    align-items:center
  }
  .hero-benefits {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
    margin-bottom:26px;
    width:100%;
    max-width:540px
  }
  .hero-benefits li {
    font-size:15px;
    line-height:1.35;
    align-items:flex-start;
    gap:9px
  }
  .hero-benefits svg {
    width:28px;
    height:28px;
    flex:0 0 28px
  }
  .hero-sale {
    font-size:21px;
    line-height:1.2;
    white-space:normal;
    text-align:center
  }
  .hero-sale-small {
    font-size:15px;
    line-height:1.35;
    white-space:normal;
    text-align:center;
    max-width:360px;
    margin-top:12px
  }
  .hero-video {
    margin-top:22px;
    width:100%;
    height:56px;
    font-size:16px
  }
  .hero-machines {
    display:none
  }
  .hero-mobile {
    display:block;
    order:1;
    width:min(100%,420px);
    align-self:center;
    margin:18px auto 0
  }
  .hero-mobile img {
    width:100%;
    height:auto
  }
  input {
    font-size:16px;
    border-radius:4px;
    padding:15px 16px
  }
  .button {
    border-radius:4px
  }
  .carousel-status {
    display:block;
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    font-size:13px;
    color:#7b838b;
    white-space:nowrap
  }
  .characteristics li:has(.spec-name) {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px
  }
  .spec-name {
    color:#707780;
    font-weight:400
  }
  .spec-value {
    font-weight:600
  }
  .intro {
    height:auto;
    padding-top:0
  }
  .intro-statement {
    height:auto;
    padding:36px 0;
    font-size:20px;
    line-height:1.4
  }
  .desktop-break {
    display:none
  }
  .intro-split {
    height:auto;
    display:flex;
    flex-direction:column
  }
  .intro-copy {
    width:100%;
    padding:12px 20px 36px;
    margin:0 auto;
    max-width:580px;
    justify-self:auto
  }
  .intro-copy h2 {
    font-size:25px;
    line-height:1.25
  }
  .intro-subtitle {
    font-size:20px;
    margin-top:20px
  }
  .intro-list {
    margin-top:30px;
    font-size:16px;
    gap:20px
  }
  .intro-list li {
    padding-left:32px
  }
  .intro-photo {
    height:auto;
    aspect-ratio:1.15;
    object-fit:cover
  }
  .angles {
    height:auto;
    padding:32px 12px
  }
  .angles-grid {
    height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    gap:12px
  }
  .angles .photo-button {
    aspect-ratio:.95;
    height:auto
  }
  .delivery-form-section {
    height:auto;
    padding:40px 0
  }
  .delivery-form-section .container {
    padding-top:0
  }
  .delivery-form-section h2 {
    font-size:24px;
    line-height:1.25;
    white-space:normal
  }
  .delivery-form-section>.container>p {
    font-size:16px;
    line-height:1.45;
    margin-top:14px
  }
  .delivery-form {
    width:100%;
    max-width:460px;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:25px
  }
  .delivery-form input,.delivery-form .button {
    height:56px
  }
  .delivery-form .button {
    font-size:15px
  }
  .quality,.reliability {
    height:auto;
    padding:48px 0
  }
  .quality>.container,.reliability>.container {
    height:auto
  }
  .paired-heading {
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    height:auto;
    font-size:clamp(32px,6.5vw,50px);
    line-height:1.1;
    padding-bottom:15px;
    display:flex;
    flex-direction:column;
    gap:12px
  }
  .paired-heading-second {
    position:static;
    white-space:normal;
    align-self:flex-start;
    text-align:left;
    font-size:clamp(29px,6vw,46px);
    max-width:100%
  }
  .heading-slash {
    position:absolute;
    top:31px;
    left:auto;
    right:8px;
    width:35px;
    height:3px;
    transform:rotate(-54deg)
  }
  .paired-heading--reliability .heading-slash {
    left:auto
  }
  .paired-heading--reliability .paired-heading-second {
    position:static
  }
  .quality-copy {
    position:static;
    width:auto;
    max-width:none;
    font-size:17px;
    line-height:1.55;
    margin-top:25px
  }
  .quality-lead {
    font-size:18px;
    margin-bottom:18px
  }
  .quality-images {
    position:static;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:28px
  }
  .quality-images img {
    height:auto;
    aspect-ratio:.9;
    object-fit:cover
  }
  .reliability-content {
    position:static;
    display:flex;
    flex-direction:column;
    gap:32px;
    margin-top:20px
  }
  .square-list {
    font-size:17px;
    padding-top:0
  }
  .square-list li {
    padding-left:28px;
    margin-bottom:25px
  }
  .square-list li:last-child {
    margin-bottom:0
  }
  .square-list li:before {
    width:17px;
    height:17px;
    top:6px
  }
  .reliability-photo {
    width:calc(100% - 22px);
    height:auto;
    aspect-ratio:1;
    align-self:flex-end;
    margin-bottom:15px
  }
  .reliability-photo:before {
    inset:15px 10px -20px -22px
  }
  .precision-comfort {
    height:auto;
    padding:45px 0 30px;
    background:#fff
  }
  .precision-grid {
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:52px;
    padding:0 20px
  }
  .precision-column {
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center
  }
  .precision-column h2 {
    font-size:36px;
    line-height:1.1;
    text-align:center
  }
  .precision-column p {
    position:static;
    font-size:17px;
    line-height:1.55;
    margin-top:24px;
    max-width:430px
  }
  .precision-column img {
    position:static;
    width:100%;
    max-width:442px;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
    margin-top:30px
  }
  .square-chain {
    display:none
  }
  .comfort-column p {
    position:static
  }
  .video-section {
    height:auto;
    padding:48px 0
  }
  .video-section>.container {
    height:auto;
    position:static
  }
  .video-section h2 {
    position:static;
    font-size:clamp(36px,7vw,64px);
    white-space:normal;
    line-height:1.1
  }
  .video-poster {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:auto;
    aspect-ratio:773/477;
    margin-top:26px
  }
  .play-circle {
    width:85px;
    height:85px
  }
  .play-circle svg {
    width:54px;
    height:54px;
    margin-left:5px
  }
  .models-heading {
    height:auto;
    padding:48px 0 36px;
    text-align:center
  }
  .models-heading h2 {
    font-size:clamp(32px,7vw,58px);
    line-height:1.1
  }
  .models-heading p {
    font-size:clamp(19px,4.4vw,34px);
    line-height:1.3;
    white-space:normal;
    margin-top:12px
  }
  .models-rule {
    width:80%;
    margin:25px auto 0
  }
  .model-row {
    height:auto;
    display:flex;
    flex-direction:column;
    padding-bottom:52px;
    max-width:560px;
    margin:0 auto
  }
  .model-carousel {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:auto;
    aspect-ratio:.95;
    max-height:440px;
    margin:0 auto;
    order:0
  }
  .model-image {
    position:absolute;
    inset:0;
    object-fit:contain;
    padding-bottom:30px
  }
  .carousel-arrow {
    top:calc(50% - 15px);
    width:44px;
    height:44px;
    font-size:40px;
    line-height:34px
  }
  .carousel-arrow--prev {
    left:0
  }
  .carousel-arrow--next {
    right:0
  }
  .model-info {
    display:contents
  }
  .model-info h3 {
    order:-1;
    font-size:34px;
    line-height:1.2;
    text-align:center;
    margin-bottom:8px
  }
  .characteristics-title {
    font-size:22px;
    line-height:1.4;
    margin-top:18px
  }
  .small-rule {
    margin-top:10px;
    margin-bottom:24px;
    width:100px;
    height:4px
  }
  .characteristics {
    font-size:15px;
    line-height:1.45;
    white-space:normal
  }
  .characteristics li {
    padding:9px 0;
    border-bottom:1px solid #edf0f3
  }
  .characteristics li:before {
    content:none
  }
  .sale-date {
    font-size:18px;
    line-height:1.4;
    white-space:normal;
    margin-top:25px
  }
  .model-price {
    font-size:38px;
    line-height:1.3;
    margin-top:5px
  }
  .model-order {
    margin-top:10px;
    height:58px;
    font-size:17px;
    width:100%;
    max-width:100%
  }
  .shipping {
    height:auto;
    padding:8px 0 40px
  }
  .shipping-inner {
    height:auto;
    display:flex;
    flex-direction:column;
    gap:30px
  }
  .shipping-copy {
    position:static;
    width:auto
  }
  .shipping-copy h2 {
    font-size:28px;
    line-height:1.3;
    white-space:normal
  }
  .shipping-copy p {
    font-size:18px;
    line-height:1.6;
    margin-top:20px
  }
  .shipping-collage {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:auto;
    aspect-ratio:560/538;
    max-width:560px;
    align-self:center
  }
  .shipping-main {
    position:absolute;
    left:0;
    top:0;
    width:80%;
    height:83%;
    object-fit:cover
  }
  .shipping-secondary {
    width:65%;
    height:42%;
    bottom:0;
    right:0
  }
  .production-gallery {
    height:auto;
    padding:15px 12px
  }
  .production-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    gap:12px;
    height:auto
  }
  .production-grid .photo-button {
    aspect-ratio:4/3;
    height:auto
  }
  .contacts {
    height:auto;
    padding:48px 0 52px
  }
  .contacts h2 {
    font-size:32px
  }
  .contacts-intro {
    font-size:19px;
    line-height:1.5;
    margin-top:15px
  }
  .contact-grid {
    display:flex;
    flex-direction:column;
    width:auto;
    max-width:500px;
    margin:40px auto 0;
    gap:40px
  }
  .contact-details {
    font-size:17px
  }
  .contact-phone,.contact-email {
    font-size:26px;
    white-space:normal;
    overflow-wrap:anywhere
  }
  .contact-details p {
    margin-top:28px
  }
  .contact-details p+p {
    margin-top:24px
  }
  .contact-form {
    gap:14px
  }
  .contact-form input {
    height:56px
  }
  .contact-form>.button {
    height:56px;
    width:100%
  }
  .site-footer {
    height:auto;
    padding:40px 0
  }
  .footer-inner {
    gap:40px;
    flex-direction:column
  }
  .footer-brand p {
    font-size:13px;
    color:#777;
    margin-top:24px
  }
  .footer-address {
    width:auto
  }
  .footer-address h2 {
    font-size:20px
  }
  .footer-address p {
    font-size:16px
  }
  .modal {
    padding:35px 22px 25px;
    max-width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px)
  }
  .order-modal h2 {
    font-size:27px
  }
  .video-modal {
    padding:42px 10px 15px;
    width:calc(100vw - 24px)
  }
  .lightbox-modal {
    padding:45px 12px 18px;
    width:calc(100vw - 24px)
  }
  .lightbox-stage {
    height:65vh
  }
  .lightbox-arrow {
    width:44px;
    height:44px;
    font-size:39px;
    line-height:28px;
    background:rgba(255,255,255,.8)
  }
  .lightbox-arrow--prev {
    left:0
  }
  .lightbox-arrow--next {
    right:0
  }
  .lightbox-caption {
    font-size:16px
  }
  .dialog-close {
    right:3px;
    top:2px
  }
}
@media(max-width:600px) {
  .quality-images {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .quality-images img:first-child {
    grid-column:1 / -1;
    aspect-ratio:1.5;
    object-position:center 42%
  }
  .paired-heading {
    font-size:31px
  }
  .paired-heading-second {
    font-size:28px
  }
  .hero-mobile {
    width:min(100%,320px)
  }
}
@media(max-width:360px) {
  .hero-title-line {
    font-size:27px
  }
  .hero-subtitle {
    font-size:23px
  }
  .hero-benefits {
    gap:14px 12px
  }
  .hero-benefits li {
    font-size:14px;
    gap:7px
  }
  .hero-benefits svg {
    width:24px;
    height:24px;
    flex-basis:24px
  }
  .header-contacts>a {
    font-size:14px
  }
  .brand img {
    width:100px;
    height:auto
  }
  .paired-heading {
    font-size:28px
  }
  .paired-heading-second {
    font-size:25px
  }
  .spec-name {
    overflow-wrap:anywhere
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important
  }
}
