
body{ background-color:var(--bg); color:var(--fg); }

.btn{ border-radius:var(--btn-radius); text-transform:var(--btn-transform); letter-spacing:var(--btn-tracking); font-weight:var(--btn-weight); }

.hero--overlay-layer::after{ background-color: rgba(0,0,0, var(--hero-overlay-alpha, .55)); }

.google-maps{ position:relative; }
.google-maps iframe,.google-maps ymaps{ position:absolute; top:0; left:0; width:100% !important; height:100% !important; border:0; }
.google-maps.height-auto\@md iframe{ min-height:320px; }

.hero-video-bg.hero--overlay-layer::after{ z-index:1; }

.sticky-hero--overlay-layer .sticky-hero__media::after{
  background-color:#000;
  opacity: var(--hero-overlay-alpha, .55);
}
.sticky-hero--media-is-fixed.sticky-hero--overlay-layer .sticky-hero__media::after{
  opacity: calc(var(--hero-overlay-alpha, .55) + .1);
}

.loop-slideshow-v2__control{ --size: 48px; }

.vetro-slide-dim::before{
  content:""; position:absolute; top:0; left:0; width:100%; height:100%;
  background-color: rgba(0,0,0, var(--slide-overlay-alpha, .45));
  pointer-events:none; z-index:1;
}

:root{ --vetro-hdr:123px; }
@media (max-width:1024px){ :root{ --vetro-hdr:56px; } }
.vetro-slideshow-full{ --slideshow-height: calc(100svh - var(--vetro-hdr)); }
.hero.min-height-100vh{ min-height: calc(100svh - var(--vetro-hdr)); }

.vetro-slideshow-full .slideshow__navigation{ height:auto; bottom:clamp(1.25rem,3vh,2.25rem); gap:8px; padding:0 5vw; }
.vetro-slideshow-full .slideshow__nav-item{ margin:0; }
.vetro-slideshow-full .slideshow__nav-item button{
  width:44px; height:4px; border-radius:2px; font-size:0;
  background-color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.4);
  opacity:1; transition:background .3s;
}
.vetro-slideshow-full .slideshow__nav-item button::before{ display:none; }
.vetro-slideshow-full .slideshow__nav-item--selected button{ background-color:var(--color-accent); opacity:1; }
@media (max-width:640px){ .vetro-slideshow-full .slideshow__nav-item button{ width:28px; } }

.vetro-slide-video{ position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; z-index:0; margin:0; }
.vetro-slide-video video{ display:block; width:100%; height:100%; object-fit:cover; }

@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-Light.otf') format('opentype');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-Regular.otf') format('opentype');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-Medium.otf') format('opentype');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-DemiBold.otf') format('opentype');
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-Bold.otf') format('opentype');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TT-Wellingtons';
  src:url('../fonts/TTWellingtons-Black.otf') format('opentype');
  font-weight:900; font-style:normal; font-display:swap;
}

body{ font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1, "onum" 0; }

h1,h2,h3,h4{ --heading-font-weight: var(--heading-weight, 700); }
.text-component h1,.text-component h2,.text-component h3{ text-transform: var(--display-transform, none); }

:root{
  --reveal-fx-duration: var(--dur-slow, 700ms);
  --reveal-fx-timing-function: var(--ease, cubic-bezier(.16,1,.3,1));
}

.reveal-fx .grid > *,
.reveal-fx .carousel__item,
.reveal-fx .hiw-list__item{
  opacity:0; transform: translateY(var(--reveal-y, 16px));
  transition: opacity var(--dur-base,300ms) var(--ease), transform var(--dur-base,300ms) var(--ease);
}
.reveal-fx--is-visible .grid > *,
.reveal-fx--is-visible .carousel__item,
.reveal-fx--is-visible .hiw-list__item{ opacity:1; transform:none; }
.reveal-fx--is-visible .grid > *:nth-child(1){ transition-delay: 0ms; }
.reveal-fx--is-visible .grid > *:nth-child(2){ transition-delay: 70ms; }
.reveal-fx--is-visible .grid > *:nth-child(3){ transition-delay: 140ms; }
.reveal-fx--is-visible .grid > *:nth-child(4){ transition-delay: 210ms; }
.reveal-fx--is-visible .grid > *:nth-child(n+5){ transition-delay: 280ms; }
@media (prefers-reduced-motion: reduce){
  .reveal-fx, .reveal-fx .grid > *{ opacity:1 !important; transform:none !important; transition:none !important; }
}

body{ letter-spacing: var(--body-tracking, 0.2px); }
h1,h2,h3,h4{ letter-spacing: var(--display-tracking, -0.4px); }

.text-component h2{ line-height:var(--heading-lh,1.12); font-weight:var(--heading-weight); text-transform:var(--display-transform); letter-spacing:var(--display-tracking); }
.text-component h3{ font-weight:var(--display-weight); text-transform:var(--display-transform); }
.slideshow__item h1,.slideshow__item h2,.hero h1,.hero h2{ line-height:var(--display-lh); font-weight:var(--display-weight); letter-spacing:var(--display-tracking); }
.vetro-card h4,.card-v2 h4,.carousel__item h4{ line-height:1.1; font-weight:var(--display-weight); text-transform:var(--display-transform); letter-spacing:-0.2px; }
body,p{ font-size:var(--body-size); line-height:var(--body-lh); font-weight:var(--body-weight); }

:root{ --color-contrast-higher: #121314; --color-contrast-high: #121314; }

:root, *{ --component-padding: 64px; }
@media (max-width: 768px){ :root, *{ --component-padding: 16px; } }

.text-component h2{ letter-spacing:-0.4px; }

.header__link{ font-size:var(--body-size); line-height:21.33px; }
.header__item a[href^="tel:"]{ font-weight:600; }

.slideshow__item h1,.slideshow__item h2,.hero h1,.hero h2{ letter-spacing:var(--display-tracking,-0.8px); }

.slideshow__item,.slideshow__item h1,.slideshow__item h2,.slideshow__item p,
.hero--overlay-layer,.hero--overlay-layer h1,.hero--overlay-layer h2,.hero--overlay-layer p{ color:#fff; }

.slideshow__item .text-component p,.hero--overlay-layer .text-component p{ text-transform:var(--slide-sub-transform,uppercase); }

.btn{ font-family:var(--btn-font, var(--font-display)); }

@font-face{font-family:'Haval';font-weight:300;font-style:normal;font-display:swap;src:url('../fonts/Haval-Light.woff2') format('woff2'),url('../fonts/Haval-Light.woff') format('woff');}
@font-face{font-family:'Haval';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/Haval-Regular.woff2') format('woff2'),url('../fonts/Haval-Regular.woff') format('woff');}
@font-face{font-family:'Haval';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/Haval-Medium.woff2') format('woff2'),url('../fonts/Haval-Medium.woff') format('woff');}
@font-face{font-family:'Haval';font-weight:500;font-style:italic;font-display:swap;src:url('../fonts/Haval-MediumSlanted.woff2') format('woff2'),url('../fonts/Haval-MediumSlanted.woff') format('woff');}
@font-face{font-family:'Haval';font-weight:600 900;font-style:normal;font-display:swap;src:url('../fonts/Haval-Medium.woff2') format('woff2'),url('../fonts/Haval-Medium.woff') format('woff');}

.btn--primary{ position:relative; }
.btn--primary::before{
  content:''; position:absolute; inset:-1px; pointer-events:none;
  border:1px solid var(--color-accent);
  border-radius:inherit;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .5s var(--ease-out, ease);
}
.btn--primary:hover::before{ clip-path:inset(0 0 0 0); }

.btn:active{ transform:none; }

.btn:focus{ box-shadow:none; }
.btn:focus-visible{ outline:2px solid var(--color-accent); outline-offset:2px; }

.heading-eyebrow{
  display:block;
  font-size:var(--heading-eyebrow-size,16px);
  line-height:var(--heading-eyebrow-lh,20px);
  font-weight:var(--heading-eyebrow-weight,500);
  letter-spacing:0;
}

.slideshow__item > .position-absolute,.hero--overlay-layer .container{
  align-items:var(--hero-anchor, center);
}
.slideshow__item > .position-absolute{
  padding-top:var(--hero-anchor-offset, 0);
}

:root{
  --heading-eyebrow-size:16px; --heading-eyebrow-lh:20px; --heading-eyebrow-weight:500;

  --hero-anchor:flex-start; --hero-anchor-offset:10vh;

  --hero-cta-gap:36px;
}
.slideshow__item .flex.flex-wrap.items-center{ margin-top:var(--hero-cta-gap,0); }

@media (max-width: 64rem){
  :root{
    --hero-anchor:flex-end;
    --hero-anchor-offset:0;
    --hero-cta-gap:24px;
    --heading-eyebrow-size:14px; --heading-eyebrow-lh:18px;
    --slide-btn-w:100%;
    --component-padding:24px;
  }
  .slideshow__item h1,.slideshow__item h2,.hero h1,.hero h2{
  }

  .slideshow__item{ background-position:top center; }
  .slideshow__item > .position-absolute{ padding-bottom:var(--space-xxl); }
  .vetro-slide-dim::before{
    background:linear-gradient(to bottom,
      rgba(0,0,0,var(--slide-overlay-alpha,.25)) 0%,
      rgba(0,0,0,var(--slide-overlay-alpha,.25)) 45%,
      var(--slide-base, #121314) 78%);
  }
}

:root{

  --card-ratio: 13 / 16; --card-media-ratio: 416/478;
  --card-bg: #121314; --card-pad: 32px;
  --card-title-size: 20px; --card-title-lh: 24px;
  --card-text-size: 16px; --card-btn-h: 42px; --card-btn-size: 11px;

  --ncard-media-ratio: 3/2; --ncard-bg: #fff; --ncard-pad: 32px;
  --ncard-title-size: 16px; --ncard-title-lh: 20px;
  --ncard-meta-size: 14px;
}

.vetro-card{
  position:relative; background:var(--card-bg); color:#fff;
  display:flex; flex-direction:column; height:100%;
  border-radius:var(--card-radius,0); overflow:hidden;
}

.vetro-card{ aspect-ratio:var(--card-ratio); }
.vetro-card__media{ position:absolute; inset:0; }
.vetro-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.vetro-card__body{
  position:relative; z-index:2; margin-top:auto;
  padding:var(--card-pad); display:flex; flex-direction:column; gap:var(--space-sm);
}

.vetro-card__head{ display:flex; flex-direction:column; gap:var(--space-xxs); }

.vetro-card__body::before{
  content:''; position:absolute; left:0; right:0; bottom:0;
  top:calc(-1 * var(--card-scrim-fade, 120px)); z-index:-1; pointer-events:none;
  background:linear-gradient(to bottom,
    transparent 0%,
    color-mix(in srgb, var(--card-bg) 70%, transparent) 45%,
    var(--card-bg) 100%);
}
.vetro-card__label{
  font-size:var(--card-btn-size); font-weight:500; text-transform:uppercase;
  font-family:var(--font-display); color:rgba(255,255,255,.7); margin:0;
}
.vetro-card__title{
  font-size:var(--card-title-size); line-height:var(--card-title-lh); font-weight:500;
  text-transform:uppercase; font-family:var(--font-display); color:#fff; margin:0;
}
.vetro-card__text{
  font-size:var(--card-text-size); font-weight:450; font-family:var(--font-body);
  color:rgba(247,252,255,.8); margin:0;
}

.vetro-card__cta{
  margin-top:auto; display:flex; align-items:center; justify-content:space-between;
  min-height:var(--card-btn-h); padding:0 20px; border:1px solid #fff;
  font-family:var(--font-display); font-size:var(--card-btn-size);
  font-weight:400; text-transform:uppercase; letter-spacing:.2px; color:#fff;
  transition:opacity var(--btn-hover-dur,.3s) var(--ease-out,ease);
}
.vetro-card:hover .vetro-card__cta{ opacity:.8; }

.vetro-ncard{
  display:flex; flex-direction:column; height:100%;
  background:var(--ncard-bg); color:var(--color-contrast-higher,#121314);
  border-radius:var(--card-radius,0); overflow:hidden;
}
.vetro-ncard__media{ aspect-ratio:var(--ncard-media-ratio); overflow:hidden; }
.vetro-ncard__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.vetro-ncard__body{ padding:var(--ncard-pad); display:flex; flex-direction:column; gap:12px; flex:1; }
.vetro-ncard__title{
  font-size:var(--ncard-title-size); line-height:var(--ncard-title-lh); font-weight:500;
  text-transform:uppercase; font-family:var(--font-display); margin:0;
}
.vetro-ncard__meta{
  font-size:var(--ncard-meta-size); font-weight:450; font-family:var(--font-body);
  color:rgba(16,19,22,.6); margin:0;
}
.vetro-ncard__cta{
  margin-top:auto; display:inline-flex; align-items:center; gap:10px;
  font-size:var(--ncard-meta-size); font-weight:450; font-family:var(--font-body);
  transition:gap var(--btn-hover-dur,.3s) var(--ease-out,ease);
}
.vetro-ncard:hover .vetro-ncard__cta{ gap:16px; }

.hdr{ position:fixed; inset:0 0 auto 0; z-index:50; padding-bottom:44px; pointer-events:none; transition:background .45s ease, box-shadow .45s ease, color .45s ease, padding .45s ease; color:var(--color-white); }

.modal{ z-index:400; }

.hdr__util, .hdr__bar, .hdr__logo, .hdr__mega, .hdr__drawer{ pointer-events:auto; }
.hdr__accent{ display:none; }

.hdr__util{ overflow:hidden; max-height:46px; background:var(--color-primary-darker); transition:max-height .45s ease, opacity .35s ease; }
.hdr__util-in{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:var(--space-md); height:42px; padding-top:3px; }
.hdr__util-in > :nth-child(1){ justify-self:start; }
.hdr__util-in > :nth-child(2){ justify-self:center; }
.hdr__util-in > :nth-child(3){ justify-self:end; }
.hdr__util-item{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:500; letter-spacing:.01em; color:var(--color-white); white-space:nowrap; transition:color .4s; }
.hdr__util-item svg{ width:15px; height:15px; opacity:.85; flex:none; }
.hdr__util-phone{ font-weight:700; color:var(--color-white); }
.hdr__util-phone:hover{ color:var(--color-accent-light); }
.hdr.is-solid .hdr__util{ max-height:0; opacity:0; }
@media(max-width:63.99rem){ .hdr__util-item:not(.hdr__util-badge){ display:none; } .hdr__util-in{ display:flex; justify-content:center; } .hdr__util-badge{ font-size:var(--text-xs); white-space:normal; text-align:center; line-height:1.25; } }
.hdr__bar{ position:relative; display:flex; align-items:center; gap:var(--space-lg); min-height:64px; --bar-pad-b:16px; padding:16px 0; padding-bottom:var(--bar-pad-b); }
.hdr__nav{ display:none; }
.hdr__right{ margin-left:auto; display:flex; align-items:center; gap:var(--space-md); }
.hdr__phone{ display:none; font-weight:700; font-size:var(--text-sm); letter-spacing:.01em; white-space:nowrap; }
.hdr__cta{ display:inline-flex; align-items:center; color:var(--color-white); background:transparent; border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .5); cursor:pointer; white-space:nowrap; transition:background .3s, color .3s, border-color .3s, transform .3s; }
.hdr__cta:hover{ background:var(--color-white); color:var(--color-primary); border-color:var(--color-white); transform:translateY(-1px); }

.hdr__call{ display:none; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; flex:none; color:var(--color-white); background:transparent; border:1.5px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .5); cursor:pointer; transition:background .3s, color .3s, border-color .3s, transform .3s; }
.hdr__call svg{ width:21px; height:21px; }
.hdr__call:hover{ background:var(--color-white); color:var(--color-primary); border-color:var(--color-white); transform:translateY(-1px); }
.hdr.is-solid .hdr__call{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-solid .hdr__call:hover{ background:var(--color-primary-darker); border-color:var(--color-primary-darker); }
@media(max-width:63.99rem){ .hdr__cta{ display:none; } .hdr__call{ display:inline-flex; } }
.hdr__burger{ width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; gap:5px; background:none; border:0; cursor:pointer; color:#fff; }
.hdr__burger span{ height:2px; background:#fff; border-radius:2px; transition:background .35s, transform .35s, opacity .35s; }

.hdr.is-solid .hdr__burger span{ background:var(--color-primary); }

@media(max-width:63.99rem){
  .hdr__burger{ order:-2; margin-right:auto; }
  .hdr__right{ margin-left:0; gap:var(--space-sm); }
  .hdr__bar{ gap:var(--space-sm); }
}

.hdr__logo{ position:absolute; left:68%; bottom:44px; transform:translate(-50%,50%); z-index:4; display:grid; place-items:center; }
.hdr__logoimg{ grid-area:1/1; height:54px; width:auto; display:block; filter:brightness(0) invert(1); opacity:0; transform:translateY(4px) scale(.96); transition:filter .4s, opacity .55s ease, transform .6s cubic-bezier(.16,.7,.2,1); }
.hdr__logoimg.is-shown{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .hdr__logoimg{ transition:filter .4s, opacity .35s ease; transform:none; } .hdr__logoimg.is-shown{ transform:none; } }
@media(min-width:64rem){ .hdr__logoimg{ height:64px; } }

.hdr__rule{ position:absolute; left:0; right:0; bottom:44px; display:flex; align-items:center; z-index:2; }
.hdr__rule span{ height:1px; background:var(--color-white); transition:background .4s; }
.hdr__rule span:first-child{ flex:0 0 calc(68% - 45px); }
.hdr__rule span:last-child{ flex:1; }
.hdr__rule i{ flex:0 0 90px; }

@media(max-width:63.99rem){
  .hdr__logo{ left:50%; }
  .hdr__rule span:first-child{ flex:0 0 calc(50% - 42px); }
  .hdr__rule i{ flex:0 0 84px; }
}
.hdr__nav a{ position:relative; display:inline-flex; align-items:center; height:100%; padding:0; font-weight:600; font-size:var(--text-base-size); opacity:.9; transition:opacity .3s; }
.hdr__nav a.hdr__brandmark{ padding:0; }
.hdr__nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:calc(-1 * var(--bar-pad-b)); height:2px; background:var(--color-accent); transition:right .35s cubic-bezier(.16,.7,.2,1); }
.hdr__nav a:hover{ opacity:1; }
.hdr__nav a:hover::after{ right:0; }
@media(min-width:64rem){
  .hdr__nav{ display:flex; gap:var(--space-lg); align-items:center; align-self:stretch; }
  .hdr__phone{ display:block; }
  .hdr__burger{ display:none; }
}

.hdr__brandmark{ position:relative; flex:none; width:96px; height:30px; padding:0!important; margin-right:.5rem; }
.hdr__brandmark::after{ display:none!important; }
.hdr__brandmark img{ position:absolute; left:0; top:50%; transform:translateY(-50%); height:26px; width:auto; transition:opacity .4s; }
.hdr__brandmark-d{ opacity:0; }
.hdr.is-solid .hdr__brandmark-w{ opacity:0; }
.hdr.is-solid .hdr__brandmark-d{ opacity:1; }

.hdr.is-solid{ background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .8); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); color:var(--color-primary); }
.hdr.is-solid .hdr__bar{ min-height:56px; padding:14px 0; --bar-pad-b:14px; }
.hdr.is-solid .hdr__accent{ background:var(--color-primary); }
.hdr.is-solid .hdr__rule span{ background:var(--color-primary); }
.hdr.is-solid .hdr__nav a::after{ background:var(--color-primary); }
.hdr.is-solid .hdr__logoimg{ filter:none; }
.hdr.is-solid .hdr__cta{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-solid .hdr__cta:hover{ background:var(--color-primary-darker); border-color:var(--color-primary-darker); }

.hdr__logo{ transition:opacity .4s ease, visibility .4s, transform .4s cubic-bezier(.16,.7,.2,1); }
.hdr__rule{ transition:opacity .4s ease; }
.hdr.is-compact{ padding-bottom:0; }
.hdr.is-compact .hdr__logo{ opacity:0; visibility:hidden; transform:translate(-50%,-14px); }
.hdr.is-compact .hdr__rule{ opacity:0; }

.hdr.is-mega{ background:var(--color-white); -webkit-backdrop-filter:none; backdrop-filter:none; color:var(--color-primary); box-shadow:none; }
.hdr.is-mega .hdr__rule span{ background:var(--color-primary); }
.hdr.is-mega .hdr__logoimg{ filter:none; }
.hdr.is-mega .hdr__brandmark-w{ opacity:0; }
.hdr.is-mega .hdr__brandmark-d{ opacity:1; }
.hdr.is-mega .hdr__cta{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.hdr.is-mega .hdr__nav a::after{ background:var(--color-primary); }
.hdr__nav a[data-mega]{ position:relative; }
.hdr__nav a[data-mega].is-open{ opacity:1; }
.hdr__nav a[data-mega].is-open::after{ right:0; }

.hdr__mega{ position:absolute; left:0; right:0; top:100%; z-index:40; background:var(--color-white); color:var(--color-contrast-higher); border-top:0; box-shadow:0 40px 60px -34px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .3); opacity:0; visibility:hidden; transform:translateY(-14px); transition:opacity .35s ease, transform .4s cubic-bezier(.16,.7,.2,1), visibility .35s; max-height:78vh; overflow:auto; }
.hdr__mega.is-open{ opacity:1; visibility:visible; transform:none; }
.hdr__mega-in{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); padding:var(--space-md) 0 var(--space-lg) 0; }
@media(min-width:64rem){ .hdr__mega-in{ grid-template-columns:1fr; gap:var(--space-xxl); } }

.mega__rail{ display:flex; flex-direction:column; }
.mega__cat{ display:flex; align-items:center; gap:.6em; padding:.55em 0; font-size:var(--text-md); font-weight:600; color:var(--color-contrast-medium); cursor:pointer; border:0; background:none; text-align:left; transition:color .35s, padding-left .3s; }
.mega__cat::before{ content:""; width:0; height:2px; flex:none; background:var(--color-primary); transition:width .35s cubic-bezier(.16,.7,.2,1); }
.mega__cat:hover{ color:var(--color-contrast-higher); }
.mega__cat.is-active{ color:var(--color-primary); font-weight:700; }
.mega__cat.is-active::before{ width:1.6em; }
.mega__rail-sep{ height:1px; background:var(--color-contrast-lower); margin:var(--space-md) 0; }
.mega__link{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:700; color:var(--color-primary); padding:.45em 0; }
.mega__link svg{ width:18px; height:18px; transition:transform .35s; }
.mega__link:hover svg{ transform:translateX(5px); }
.mega__dealer{ display:inline-flex; align-items:center; gap:.55em; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-medium); padding:.45em 0; transition:color .3s; }
.mega__dealer:hover{ color:var(--color-accent-darker); }
.mega__dealer svg{ width:18px; height:18px; color:var(--color-accent-darker); }

.mega__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-sm); }
@media(min-width:48rem){ .mega__grid{ grid-template-columns:repeat(3,1fr); gap:var(--space-md); } }
.mmodel{ position:relative; display:block; aspect-ratio:16/9; padding:var(--space-md); overflow:hidden; background:var(--color-contrast-lower); transition:box-shadow .45s, transform .45s; }
.mmodel:hover{ transform:translateY(-4px); }
.mmodel__shot{ position:absolute; inset:0; z-index:0; background: white; transition:transform .6s cubic-bezier(.16,.7,.2,1); }
.mmodel__name{ position:relative; z-index:2; font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-white); }
.mmodel__description{ color: white;position: relative;font-weight: 700;z-index: 2; }
.mmodel__badge{ position:absolute; left:var(--space-md); bottom:var(--space-md); z-index:2; width:32px; height:32px; border-radius:50%; background:var(--color-white); color:var(--color-primary); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px -6px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); }
.mmodel__more{ position:absolute; right:var(--space-md); bottom:var(--space-md); z-index:2; color:var(--color-primary); opacity:0; transform:translateX(-6px); transition:opacity .35s, transform .35s; }
.mmodel:hover .mmodel__more{ opacity:1; transform:none; }

.hdr__mega--feature .hdr__mega-in{ grid-template-columns:1fr; }
@media(min-width:64rem){ .hdr__mega--feature .hdr__mega-in{ grid-template-columns:280px 1fr; } }
.mega__feature{ grid-template-columns:1fr; gap:var(--space-lg); align-items:start; display:none; opacity:0; transition:opacity .35s ease; }
.mega__feature.is-active{ display:grid; opacity:1; animation:megaFadeIn .35s ease both; }
@keyframes megaFadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media(min-width:64rem){ .mega__feature{ grid-template-columns:1.05fr .95fr; gap:var(--space-xl); } }
.mega__feature-title{ font-size:var(--text-xl); font-weight:700; color:var(--color-contrast-higher); margin-bottom:var(--space-xs); }
.mega__lead{ font-size:var(--text-md); font-weight:300; line-height:1.4; letter-spacing:-.01em; color:var(--color-contrast-higher); max-width:var(--max-width-xs); }
.mega__lead b{ font-weight:700; }
.mega__feature .mega__link{ margin-top:var(--space-md); font-size:var(--text-md); }
.mega__feature-img{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.mega__feature-img .shot{ position:absolute; inset:0; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.mega__feature-img:hover .shot{ transform:scale(1.05); }
.mega__cat[href]{ text-decoration:none; }

.hdr__drawer{ position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%; z-index:300; visibility:hidden; }
.hdr__drawer.is-open{ visibility:visible; }
.hdr__drawer-scrim{ position:absolute; inset:0; background:hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .55); opacity:0; transition:opacity .4s ease; }
.hdr__drawer.is-open .hdr__drawer-scrim{ opacity:1; }
.hdr__drawer-panel{ position:absolute; top:0; left:0; bottom:0; width:100%; height:100dvh; max-width:100vw; background:var(--color-white); transform:translateX(-100%); transition:transform .45s cubic-bezier(.16,.7,.2,1); display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; }
.hdr__drawer.is-open .hdr__drawer-panel{ transform:none; }
.drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:var(--space-md); border-bottom:1px solid var(--color-contrast-lower); }
.drawer__logo{ height:22px; width:auto; }
.drawer__close{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; background:none; border:0; color:var(--color-contrast-higher); cursor:pointer; }
.drawer__close svg{ width:22px; height:22px; }

.drawer__stage{ position:relative; flex:1; overflow:hidden; }
.drawer__level{ position:absolute; inset:0; overflow-y:auto; background:var(--color-white); -webkit-overflow-scrolling:touch; }
.drawer__level--sub{ transform:translateX(100%); visibility:hidden; transition:transform .42s cubic-bezier(.16,.7,.2,1), visibility .42s; box-shadow:-20px 0 40px -28px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .4); }
.drawer__level--sub.is-active{ transform:translateX(0); visibility:visible; }
.drawer__row{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:.5em; padding:var(--space-md); font-family:var(--font-secondary); font-size:var(--text-md); font-weight:700; color:var(--color-contrast-higher); background:none; border:0; border-bottom:1px solid var(--color-contrast-lower); text-align:left; cursor:pointer; transition:background .25s; }
.drawer__row:hover, .drawer__row:active{ background:var(--color-contrast-lower); }
.drawer__row svg{ width:18px; height:18px; color:var(--color-primary); flex:none; }
.drawer__row--link{ text-decoration:none; }
.drawer__back{ position:sticky; top:0; z-index:2; width:100%; display:flex; align-items:center; gap:.6em; padding:var(--space-md); font-family:var(--font-secondary); font-size:var(--text-sm); font-weight:700; letter-spacing:.06em; color:var(--color-white); background:var(--color-primary-darker); border:0; border-bottom:1px solid var(--color-contrast-lower); cursor:pointer; }
.drawer__back svg{ width:18px; height:18px; flex:none; }
.drawer__link{ display:block; padding:var(--space-md); font-size:var(--text-md); color:var(--color-contrast-high); border-bottom:1px solid var(--color-contrast-lower); transition:color .25s, background .25s; }
.drawer__link:hover{ color:var(--color-primary); background:var(--color-contrast-lower); }

.drawer__group-title{ display:block; padding:var(--space-md) var(--space-md) var(--space-xs); margin-top:var(--space-sm); font-family:var(--font-display); font-size:var(--text-xs); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--color-contrast-medium); }
.drawer__back + .drawer__group-title{ margin-top:0; }
.drawer__all{ display:flex; align-items:center; gap:.5em; padding:var(--space-md); font-weight:700; font-size:var(--text-sm); color:var(--color-primary); }
.drawer__all svg{ width:18px; height:18px; }
.drawer__cards{ display:grid; gap:var(--space-lg); padding:var(--space-md); }
.dcard{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:var(--space-xs); background: transparent; }
.dcard__shot{ position:relative; width:100%; aspect-ratio:16/8; overflow:hidden; background-position:bottom; background-size:cover; background-repeat:no-repeat; background-image:
    repeating-linear-gradient(135deg, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .04) 0 2px, transparent 2px 11px),
    linear-gradient(160deg, var(--color-contrast-lower), var(--color-contrast-low)); }
.dcard__name{ position:relative; text-align: center; font-family:var(--font-secondary); font-weight:700; letter-spacing:-.01em; color:var(--color-contrast-high); }
.dcard__meta{ display:flex; flex-direction:column; align-items:center; gap:var(--space-xxxxs, 2px); }
.dcard__price{ text-align:center; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-sm); letter-spacing:-.01em; color:var(--color-contrast-medium); }
.drawer__foot{ padding:var(--space-md); align-items: center; border-top:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; gap:var(--space-sm); overflow:hidden; max-height:340px; transition:max-height .42s cubic-bezier(.16,.7,.2,1), opacity .3s ease, padding .42s cubic-bezier(.16,.7,.2,1), border-color .42s; }
.hdr__drawer.is-drilled .drawer__foot{ max-height:0; opacity:0; padding-top:0; padding-bottom:0; border-top-color:transparent; pointer-events:none; }
.drawer__phone{ font-family:var(--font-secondary); font-size:var(--text-lg); font-weight:700; color:var(--color-primary); }
.drawer__hours{ font-size:var(--text-sm); color:var(--color-contrast-medium); }
.drawer__social{ display:flex; gap:.5rem; margin-top:.3rem; }

.drawer__social a{ width:36px; height:36px; border:1px solid var(--color-contrast-low); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:.3s; }
.drawer__social a:hover{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }
@media(min-width:64rem){ .hdr__drawer{ display:none; } }

.hdr{

  position:relative; z-index:50; padding-bottom:0; pointer-events:auto;
  background:var(--color-bg,#fff); color:var(--color-contrast-higher,#121314);
  box-shadow:var(--shadow-md);
}
.hdr__accent,.hdr__logo,.hdr__rule,.hdr__brandmark,.hdr__cta,.hdr__call{ display:none !important; }

.hdr__util{ max-height:none; background:transparent; overflow:visible; }
.hdr__util-in{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); height:auto; padding:20px 0 16px; }
.hdr__util-left,.hdr__util-right{ display:flex; align-items:center; gap:var(--space-md); }
.hdr__util-left .hdr__brands{ display:flex; align-items:center; gap:12px; }
.hdr__util-left .hdr__brands .hdr__brand{ height:22px; }
.hdr__util-left .hdr__brands .hdr__brand--badge{ height:14px; }

.hdr__brands-link{ display:inline-flex; align-items:center; gap:12px; }
.hdr__util-right{ gap:14px; }
.hdr__phone{
  font-family:var(--font-body); font-size:18px; font-weight:700; letter-spacing:.2px;
  color:inherit; white-space:nowrap;
}
.hdr__addr{
  display:inline-flex; align-items:center; gap:8px; margin-left:22px;
  font-size:var(--text-sm); font-weight:450; color:inherit; white-space:nowrap;
}
.hdr__addr svg{ flex:none; opacity:.85; }
.hdr__company{ font-size:var(--body-size,16px); font-weight:450; color:inherit; white-space:nowrap; }
.hdr__badge{
  align-items:center; height:20px; padding:0 8px;
  background:var(--color-accent); color:#fff;
  font-family:var(--font-display); font-size:10px; font-weight:500;
  text-transform:uppercase; letter-spacing:.4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}
.hdr__brand{ height:22px; width:auto; display:block; }
.hdr__brand--badge{ height:14px; }
.hdr__brand-sep{ width:1px; height:22px; background:currentColor; opacity:.25; display:block; }

.hdr__bar{ border-top:1px solid var(--color-contrast-lower,rgba(18,19,20,.12)); min-height:0; padding:0; }
.hdr__bar-in{ display:flex; align-items:center; gap:var(--space-md); min-height:64px; padding:0; }
.hdr__mobrand,.hdr__mocall{ display:none; }
.hdr__nav{ display:flex; align-items:center; gap:4px; }

.hdr a,.hdr__nav a,.hdr__util-link,.hdr__phone,.hdr__company{ text-decoration:none; }
.hdr__nav a{
  padding:10px 16px; border-radius:0;
  font-size:var(--body-size,16px); font-weight:450; color:inherit; white-space:nowrap;
  transition:background var(--btn-hover-dur,.25s) var(--ease-out,ease);
}
.hdr__nav a:hover,.hdr__nav a.is-active,.hdr__nav a[aria-expanded="true"]{
  background:var(--nav-active-bg,#f2f3f4);
}
.hdr__right{ margin-left:auto; display:flex; align-items:center; gap:var(--space-md); }
.hdr__util-link{
  display:inline-flex; align-items:center; gap:10px;
  font-size:var(--body-size,16px); font-weight:450; color:inherit; white-space:nowrap;
  transition:opacity var(--btn-hover-dur,.25s) var(--ease-out,ease);
}
.hdr__util-link:hover{ opacity:.7; }

.hdr__util-link svg{ flex:none; height:20px; width:20px; }

.hdr__right .btn{ margin-left:4px; white-space:nowrap; }

.hdr__mega{ background:var(--color-bg,#fff); color:var(--color-contrast-higher,#121314); border-top:1px solid var(--color-contrast-lower,rgba(18,19,20,.12)); }

@media (max-width:63.99rem){
  .hdr__util-in{ flex-direction:column; align-items:stretch; gap:0; padding:0; }
  .hdr__util-left{ display:none; }
  .hdr__util-right{
    order:2; justify-content:flex-start; gap:10px;
    padding:14px 0; border-top:1px solid var(--color-contrast-lower,rgba(18,19,20,.12));
  }
  .hdr__bar{ border-top:0; order:1; }
  .hdr__bar-in{ min-height:56px; }
  .hdr__nav,.hdr__right{ display:none; }

  .hdr__util{ display:none; }
  .hdr__bar{ border-top:0; }
  .hdr__bar-in{ display:flex; align-items:center; gap:var(--space-sm); min-height:56px; }
  .hdr__burger{ order:0; margin:0; color:inherit; flex:none; }
  .hdr__burger span{ background:currentColor; }

  .hdr__mobrand{
    display:flex; align-items:center; justify-content:center; gap:10px;
    flex:1; min-width:0;
  }
  .hdr__mobrand .hdr__brand{ height:18px; }
  .hdr__mobrand .hdr__brands-link{ gap:10px; }

  .hdr__mocall{
    display:inline-flex; align-items:center; justify-content:center; flex:none;
    width:40px; height:40px; border-radius:50%;
    border:1px solid var(--color-contrast-lower,rgba(18,19,20,.15));
    background:transparent; color:inherit; cursor:pointer;
    transition:background var(--btn-hover-dur,.25s) var(--ease-out,ease);
  }
  .hdr__mocall:hover{ background:var(--color-contrast-lowest,#f5f6f7); }

  .hdr__util-right{ flex-wrap:wrap; min-width:0; }
  .hdr__badge{ max-width:calc(100vw - var(--component-padding) * 2); }
  .hdr__drawer,.hdr__drawer-scrim{ max-width:100vw; }
}

.hdr__mega-in{ padding-top:40px; padding-bottom:48px; }
.mega__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--space-lg); }
.mega__col-title{
  margin:0 0 var(--space-sm); font-family:var(--font-display);
  font-size:var(--text-md); font-weight:500; text-transform:uppercase; letter-spacing:-.2px;
}
.mega__col-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.mega__col-list a{
  font-size:var(--body-size,16px); font-weight:450; color:inherit; text-decoration:none;
  transition:opacity var(--btn-hover-dur,.25s) var(--ease-out,ease);
}
.mega__col-list a:hover{ opacity:.6; }

.hdr__mega .mmodel{ color:inherit; }
.hdr__mega .mmodel__name{
  color:inherit; font-family:var(--font-display);
  font-size:var(--text-md); font-weight:500; text-transform:uppercase; letter-spacing:-.2px;
}
.hdr__mega .mmodel__description{
  color:var(--color-contrast-medium,rgba(18,19,20,.6));
  font-family:var(--font-body); font-size:var(--body-size,16px); font-weight:450; text-transform:none;
}

.hdr__mega .mmodel{
  position:static; display:flex; flex-direction:column; gap:10px;
  padding:0; background:none; overflow:visible;
}
.hdr__mega .mmodel__shot{
  position:static; inset:auto; width:100%; height:auto; min-height:0;
  aspect-ratio:16/10; background-color:var(--color-contrast-lowest,#f5f6f7);
  background-size:contain; background-position:center bottom; background-repeat:no-repeat;
}
.hdr__mega .mmodel > div{ gap:4px; }
.hdr__mega .mega__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--space-md) var(--space-sm);
}

.hdr__drawer-panel{ color:var(--color-contrast-higher,#121314); }
.drawer__head{ flex-direction:row-reverse; gap:var(--space-md); }
.drawer__brands{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.drawer__brands .hdr__brand{ height:20px; }
.drawer__brands .hdr__brand--badge{ height:13px; }
.drawer__close{ background:none; border:0; color:inherit; cursor:pointer; flex:none; }
.drawer__company{
  display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap;
  padding:14px var(--space-md); border-bottom:1px solid var(--color-contrast-lower);
}
.drawer__company-name{ font-size:var(--body-size,16px); font-weight:450; }

.drawer__row{ font-family:var(--font-display); font-size:var(--body-size,16px); font-weight:450; text-transform:none; color:inherit; }
.drawer__row svg{ color:inherit; }
.drawer__back{ font-family:var(--font-display); background:var(--color-contrast-lowest,#f5f6f7); color:inherit; }
.drawer__link{ font-family:var(--font-body); font-size:var(--body-size,16px); }

.drawer__utils{ border-top:1px solid var(--color-contrast-lower); }
.drawer__util{
  display:flex; align-items:center; justify-content:space-between; gap:.5em;
  padding:var(--space-md); font-size:var(--body-size,16px); color:inherit;
  border-bottom:1px solid var(--color-contrast-lower); text-decoration:none;
}
.drawer__util svg{ flex:none; width:22px; height:22px; }

.drawer__phone{ font-family:var(--font-body); color:inherit; }
.drawer__social a{ color: var(--color-white);
    border-color: var(--color-accent); background-color: var(--color-accent); }

.drawer__social a:hover{ background:var(--color-accent-dark); border-color: var(--color-accent-dark); }

.hdr__nav a::after{ display:none !important; }
.hdr__nav a{ height:auto; opacity:1; }

.loop-tabs__control{ color:var(--color-contrast-medium); }
.loop-tabs__control--selected{ color:var(--color-contrast-higher); }

.ftr{ color:var(--color-contrast-higher,#121314); }

.ftr__strip{ background:var(--color-bg,#fff); }
.ftr__strip .ftr__models{ padding:28px 0; margin:0; border:0; }
.ftr__main{ background:var(--color-contrast-lowest,#f2f3f4); padding:48px 0 32px; }
.ftr a{ text-decoration:none; color:inherit; }

.ftr__models{ display:flex; flex-wrap:wrap; align-items:center; gap:28px; padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid var(--color-contrast-lower,rgba(18,19,20,.12)); }
.ftr__model{ font-family:var(--font-display); font-size:var(--body-size,16px); font-weight:500; text-transform:uppercase; letter-spacing:-.2px; transition:opacity var(--btn-hover-dur,.25s) var(--ease-out,ease); }
.ftr__model:hover{ opacity:.55; }

.ftr__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:var(--space-lg); padding-bottom:48px; }
.ftr__col-title{ margin:0 0 var(--space-sm); font-family:var(--font-display); font-size:var(--text-base-size); font-weight:500; text-transform:uppercase; letter-spacing:-.2px; }
.ftr__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.ftr__link{ font-family:var(--font-body); font-size:var(--text-sm); font-weight:450; transition:opacity var(--btn-hover-dur,.25s) var(--ease-out,ease); }
.ftr__link:hover{ opacity:.6; }

.ftr__socials{ display:flex; gap:8px; margin-top:8px; }
.ftr__social{ width:28px; height:28px; border-radius:50%; background:var(--color-accent); border:1px solid var(--color-accent); display:inline-flex; align-items:center; justify-content:center; transition:background var(--btn-hover-dur,.25s) var(--ease-out,ease); }
.ftr__social:hover{ background:var(--color-accent-darker); }
.ftr__social svg{ width:15px; height:15px; color: var(--color-white); }

.ftr__company{ display:flex; flex-direction:column; gap:6px; padding:24px 0; border-top:1px solid var(--color-contrast-lower,rgba(18,19,20,.12)); }
.ftr__brand{ font-family:var(--font-display); font-weight:500; font-size:var(--text-lg); text-transform:uppercase; letter-spacing:-.2px; }
.ftr__addr{ font-size:var(--text-sm); color:var(--color-contrast-medium); }

.ftr__bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-sm); padding-top:24px; border-top:1px solid var(--color-contrast-lower,rgba(18,19,20,.12)); font-size:var(--text-sm); color:var(--color-contrast-medium); }
.ftr__legal{ display:flex; flex-wrap:wrap; gap:24px; }
@media (max-width:47.99rem){ .ftr__bottom{ flex-direction:column; align-items:flex-start; } }

.medium-caps{
  text-transform:uppercase; letter-spacing:.06em; font-weight:500;
  font-size:var(--text-md,1.125rem); line-height:1.3;
}

.sh-hero .vetro-slide-dim::before{
  background: linear-gradient(to top, rgba(0,0,0,.66) 0%, rgba(0,0,0,.18) 45%, rgba(0,0,0,0) 72%);
}

.sh-hero .slideshow__item > .position-absolute > .container{
  padding-bottom: clamp(3.5rem, 7vh, 6rem);
}
.sh-hero .slideshow__item .medium-caps{ margin-top:.5rem; }
.sh-hero .slideshow__item .btn{ margin-top:1.75rem; }

.sh-hero .slideshow__navigation{
  position:absolute; left:0; right:0; bottom:clamp(1.25rem,3vh,2.25rem);
  display:flex; gap:8px; justify-content:center; align-items:center;
  margin:0; padding:0 5vw; list-style:none; z-index:3;
}
.sh-hero .slideshow__navigation li{ display:flex; }
.sh-hero .slideshow__nav-item{
  position:relative; display:block; width:44px; height:3px; padding:0; border:0;
  border-radius:2px; background:rgba(255,255,255,.35); overflow:hidden; cursor:pointer;
  font-size:0; text-indent:-9999px;
}
.sh-hero .slideshow__nav-item::after{
  content:""; position:absolute; inset:0; background:#fff;
  transform:scaleX(0); transform-origin:left;
}

.sh-hero .slideshow__nav-item--selected::after{ animation: shHeroFill 6s linear forwards; }
@keyframes shHeroFill{ from{transform:scaleX(0)} to{transform:scaleX(1)} }
@media (max-width:640px){
  .sh-hero .slideshow__nav-item{ width:28px; }
  .sh-hero .slideshow__navigation{ justify-content:flex-start; padding:0 24px; }
}

.sh-hero .slideshow__item > .position-absolute{ align-items:flex-end; }
.sh-hero .slideshow__item .btn{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.55);
}
.sh-hero .slideshow__item .btn:hover{ background:#fff; color:#111; border-color:#fff; }

.sh-hero{ --sh-hdr:123px; }
@media (max-width:1024px){ .sh-hero{ --sh-hdr:56px; } }
.sh-hero .vetro-slideshow-full{ --slideshow-height: calc(100svh - var(--sh-hdr)); }

.sh-hero .slideshow__item > .position-absolute{ align-items:flex-start; }
.sh-hero .slideshow__item > .position-absolute > .container{ padding-top: clamp(2.5rem, 8vh, 6rem); padding-bottom:0; }
@media (max-width:767px){
  .sh-hero .slideshow__item > .position-absolute{ align-items:flex-end; }
  .sh-hero .slideshow__item > .position-absolute > .container{ padding-top:0; padding-bottom: clamp(3rem, 9vh, 5rem); }
}
.sh-hero .slideshow__nav-item button{ width:100%; height:100%; background:transparent; border-radius:0; box-shadow:none; }
.sh-hero .slideshow__nav-item button::before{ display:none; }

.sh-hero .slideshow__item > .position-absolute > .container{
  position:absolute; top:0; left:0; right:0;
  padding-top: clamp(2.5rem, 8vh, 6rem); padding-bottom:0;
}
@media (max-width:767px){
  .sh-hero .slideshow__item > .position-absolute > .container{
    top:auto; bottom:0; padding-top:0; padding-bottom: clamp(3rem, 9vh, 5rem);
  }
}

.sh-hero .slideshow__item{ background-image: var(--bg-d); }
@media (max-width:767px){ .sh-hero .slideshow__item{ background-image: var(--bg-m, var(--bg-d)); } }

.mm-slider{ --sh-hdr:123px; }
@media (max-width:1024px){ .mm-slider{ --sh-hdr:56px; } }
.mm-slider .vetro-slideshow-full{ --slideshow-height: calc(100svh - var(--sh-hdr)); }

.mm-slider .slideshow__item{ background-image: var(--bg-d); }
@media (max-width:767px){ .mm-slider .slideshow__item{ background-image: var(--bg-m, var(--bg-d)); } }

.mm-slider .vetro-slide-dim::before{
  background: linear-gradient(to top, rgba(0,0,0,.66) 0%, rgba(0,0,0,.15) 42%, rgba(0,0,0,.28) 100%);
}

.mm-slider .slideshow__item > .position-absolute > .container{
  position:absolute; left:0; right:0; bottom:0;
  padding-bottom: clamp(2.5rem, 7vh, 5rem);
}
.mm-slider .slideshow__item .btn{ margin-top:.25rem; }

.mm-slider .slideshow__navigation{
  position:absolute; top:clamp(1.5rem,5vh,3rem); left:0; right:0;
  display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.6rem;
  margin:0; padding:0 var(--component-padding,5vw); list-style:none; z-index:3;
}
.mm-slider .slideshow__navigation::before{
  content:"Модели"; flex:0 0 100%;
  font-size:var(--text-sm,.9375rem); color:rgba(255,255,255,.75);
  padding-bottom:.6rem; margin-bottom:.9rem; border-bottom:1px solid rgba(255,255,255,.25);
}
.mm-slider .slideshow__nav-item{ display:block; width:auto; height:auto; background:none; border-radius:0; overflow:visible; }
.mm-slider .slideshow__nav-item button{
  width:auto; height:auto; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none;
  font-size:var(--text-md,1.0625rem); font-weight:600; text-transform:uppercase; letter-spacing:.04em;
  color:rgba(255,255,255,.55); cursor:pointer; transition:color .2s;
  font-size:0;
}
.mm-slider .slideshow__nav-item button[data-mm]{ font-size:var(--text-md,1.0625rem); }
.mm-slider .slideshow__nav-item button::before{ display:none; }
.mm-slider .slideshow__nav-item button:hover{ color:rgba(255,255,255,.85); }
.mm-slider .slideshow__nav-item--selected button{ color:#fff; }
@media (max-width:767px){
  .mm-slider .slideshow__navigation{ gap:.3rem 1.1rem; top:clamp(1rem,4vh,2rem); }
  .mm-slider .slideshow__nav-item button[data-mm]{ font-size:var(--text-sm,.9375rem); }
}

.mm-slider .slideshow__item .text-component > p{ text-transform:uppercase; letter-spacing:.03em; }
.mm-slider .slideshow__item .h2, .mm-slider .slideshow__item h2{ line-height:1; margin-bottom:.4rem; }

.mm-slider .slideshow__navigation{ bottom:auto; height:auto; align-content:flex-start; }
.mm-slider .vetro-slideshow-full{ --slideshow-height:100svh; }


.mm-slider .slideshow__nav-item .mm-name{ font-size:var(--text-md,1.0625rem); }
@media (max-width:767px){ .mm-slider .slideshow__nav-item .mm-name{ font-size:var(--text-sm,.9375rem); } }

.st-cards .vetro-ncard{ position:relative; aspect-ratio:3/4; overflow:hidden; display:block; border-radius:0; }
.st-cards .vetro-ncard__media{ position:absolute; inset:0; aspect-ratio:auto; }
.st-cards .vetro-ncard__media img{ width:100%; height:100%; object-fit:cover; }
.st-cards .vetro-ncard::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.12) 48%, rgba(0,0,0,0) 68%); }
.st-cards .vetro-ncard__body{ position:absolute; left:0; right:0; bottom:0; z-index:2;
  color:#fff; padding:var(--space-md); gap:var(--space-xs); }
.st-cards .vetro-ncard__title{ color:#fff; }
.st-cards .vetro-ncard__meta{ color:rgba(255,255,255,.82); }

.st-cards .vetro-ncard__cta{ display:flex; align-items:center; justify-content:space-between;
  width:100%; margin-top:var(--space-sm); padding:.85em 1.1em;
  border:1px solid rgba(255,255,255,.5); color:#fff; }
.st-cards .vetro-ncard:hover .vetro-ncard__cta{ gap:0; background:rgba(255,255,255,.08); }

.st-cards .carousel > nav{ display:none; }

@media (max-width:767px){
  .st-cards .carousel{ --carousel-item-auto-size:100% !important; }
  .st-cards .vetro-ncard{ aspect-ratio:3/4.2; }
}

.st-cards .carousel__navigation{ order:3; justify-content:center; margin-top:var(--space-sm); }
@media (min-width:768px){ .st-cards .carousel__navigation{ display:none; } }

.art-cards .carousel > nav{ display:none; }
@media (max-width:767px){ .art-cards .carousel{ --carousel-item-auto-size:100% !important; } }
.art-cards .carousel__navigation{ order:3; justify-content:center; margin-top:var(--space-sm); }
@media (min-width:768px){ .art-cards .carousel__navigation{ display:none; } }

.art-more .btn::after{ content:"→"; margin-left:1.25em; font-weight:400; }
@media (max-width:767px){ .art-more .btn{ display:flex; width:100%; justify-content:space-between; } }

.mh-hero{ --mh-hdr:123px; align-items:flex-start; justify-content:flex-start; padding-top:0; padding-bottom:0; overflow:hidden; background-image:var(--hero-img); background-size:cover; background-position:center; }
@media (max-width:1024px){ .mh-hero{ --mh-hdr:56px; } }
.mh-hero.min-height-100vh{ min-height:calc(100svh - var(--mh-hdr)); }
.mh-hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to right, rgba(0,0,0,.62) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,0) 62%); }
.mh-hero > .container{ align-self:flex-start; padding-top:clamp(2.5rem,10vh,6.5rem); }
@media (max-width:767px){
  .mh-hero::after{ background:linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.2) 45%, rgba(0,0,0,.35) 100%); }
  .mh-hero > .container{ align-self:flex-end; padding-top:0; padding-bottom:clamp(3rem,9vh,5rem); }
}

@media (max-width:767px){
  .mh-hero .gap-sm{ flex-direction:column; align-items:stretch; width:100%; }
  .mh-hero .btn{ display:flex; width:100%; justify-content:space-between; }
}

.subnav{ position:sticky; top:var(--sn-top,123px); z-index:35;
  background:rgba(255,255,255,.95); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--color-contrast-lower); }
@media (max-width:1024px){ .subnav{ --sn-top:56px; } }
.subnav__inner{ display:flex; align-items:center; gap:var(--space-md); min-height:62px; }
.subnav__badge{ display:inline-flex; align-items:center; flex-shrink:0;
  background:var(--color-accent); color:#fff; font-family:var(--font-display); font-weight:700;
  font-size:var(--text-sm); letter-spacing:.06em; padding:.32em .7em; border-radius:3px; }
.subnav__links{ display:flex; align-items:center; gap:var(--space-xs); flex:1;
  overflow-x:auto; scrollbar-width:none; }
.subnav__links::-webkit-scrollbar{ display:none; }
.subnav__link{ font-size:var(--text-sm); color:var(--color-contrast-medium); text-decoration:none;
  white-space:nowrap; padding:.5em .9em; border-radius:8px; transition:color .2s, background-color .2s; }
.subnav__link:hover{ color:var(--color-contrast-higher); }
.subnav__link.is-active{ background:var(--color-contrast-lower); color:var(--color-contrast-higher); }

.pg-header .text-component{ max-width:60ch; margin-left:auto; margin-right:auto; }

.pricelist__card{ display:block; height:100%; border:1px solid var(--color-contrast-low); border-radius:8px; padding:var(--space-md); text-decoration:none; color:inherit; transition:border-color .2s, box-shadow .2s; }
.pricelist__card:hover{ border-color:var(--color-accent); }
.pricelist__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); margin-bottom:var(--space-sm); }
.pricelist__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.pricelist__ico{ flex-shrink:0; color:var(--color-contrast-high); }
.pricelist__row{ color:var(--color-contrast-medium); margin:.15em 0; }
.pricelist__row b{ color:var(--color-contrast-higher); font-weight:600; }

.usp-slider .slideshow-pm__item .vetro-slide-dim::before{
  background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,0) 70%); }
.usp-slider .slideshow-pm__item > .aspect-ratio-16\:9 > .position-absolute{ align-items:flex-end; justify-content:flex-start; }
.usp-slider .slideshow-pm__item .container{ text-align:left; max-width:none; padding-bottom:var(--space-sm); }
.usp-slider .slideshow-pm__item .h4, .usp-slider .slideshow-pm__item h4,
.usp-slider .slideshow-pm__item p{ color:#fff; }
.usp-slider .slideshow-pm__item p{ color:rgba(255,255,255,.85); max-width:52ch; }

.usp-slider .slideshow-pm{ --slideshow-pm-item-width:52%; }

.usp__slides{ display:flex; gap:var(--space-md); align-items:flex-start; }
.usp__slide{ display:none; position:relative; border-radius:10px; }
.usp__slide.is-featured, .usp__slide.is-preview{ display:flex; flex-direction:column; }
.usp__slide.is-featured{ flex:0 0 54%; aspect-ratio:16/11; overflow:hidden; cursor:default; }
.usp__slide.is-preview{ flex:1 1 0; cursor:pointer; }
.usp__media{ background-image:var(--img); background-size:cover; background-position:center; width:100%; }

.usp__slide.is-featured .usp__media{ position:absolute; inset:0; }
.usp__slide.is-featured::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.12) 46%, transparent 70%); }
.usp__slide.is-featured .usp__cap{ position:absolute; left:0; bottom:0; z-index:2; padding:var(--space-md); color:#fff; }
.usp__slide.is-featured .usp__title{ color:#fff; }
.usp__slide.is-featured .usp__desc{ color:rgba(255,255,255,.85); max-width:46ch; margin-top:.4em; }

.usp__slide.is-preview .usp__media{ aspect-ratio:4/3.2; border-radius:10px; overflow:hidden; transition:opacity .2s; }
.usp__slide.is-preview:hover .usp__media{ opacity:.88; }
.usp__slide.is-preview .usp__cap{ padding-top:var(--space-sm); }
.usp__slide.is-preview .usp__title{ color:var(--color-contrast-higher); }
.usp__slide.is-preview .usp__desc{ display:none; }

.usp__bar{ display:flex; align-items:center; justify-content:space-between; margin-top:var(--space-md); }
.usp__arrows{ display:flex; gap:var(--space-xs); }
.usp__arrow{ width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--color-contrast-low); border-radius:6px; background:transparent; color:var(--color-contrast-higher); cursor:pointer; transition:border-color .2s; }
.usp__arrow:hover{ border-color:var(--color-accent); }
.usp__dots{ display:flex; gap:6px; margin:0; padding:0; list-style:none; }
.usp__dot{ width:34px; height:3px; border-radius:2px; background:var(--color-contrast-low); }
.usp__dot.is-active{ background:var(--color-accent); }
@media (max-width:767px){
  .usp__slide.is-preview{ display:none; }
  .usp__slide.is-featured{ flex:1 1 100%; aspect-ratio:4/5; }
}

.mparams{ text-align:center; }
.mparams__switch{ display:flex; align-items:center; justify-content:center; gap:var(--space-md); margin-bottom:var(--space-xl); }
.mparams__arrow{ background:transparent; border:0; padding:.25em; color:var(--color-contrast-higher); cursor:pointer; display:inline-flex; transition:opacity .2s; }
.mparams__arrow:disabled{ opacity:.3; cursor:default; }
.mparams__label{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
.mparams__stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-lg) var(--space-xl); margin:0; padding:0; list-style:none; }
.mparams__stat{ display:flex; align-items:baseline; gap:var(--space-sm); }
.mparams__num{ font-family:var(--font-display); font-weight:700; letter-spacing:-.02em; line-height:1; }
.mparams__cap{ color:var(--color-contrast-medium); text-align:left; max-width:13ch; }
@media (max-width:767px){ .mparams__label{ white-space:normal; } .mparams__stats{ flex-direction:column; align-items:center; gap:var(--space-md); } .mparams__stat{ min-width:220px; } }

.hdr{ position:fixed; top:0; left:0; right:0;
  transition:transform .4s cubic-bezier(.2,.7,.3,1), background .4s ease, box-shadow .4s ease; }
body{ padding-top:123px; }
@media (max-width:1024px){ body{ padding-top:56px; } }
.hdr--hidden{ transform:translateY(-100%); }

.subnav.reveal-fx{ opacity:1 !important; transform:none; }
.subnav{ transition:transform .4s cubic-bezier(.2,.7,.3,1); }

body:has(.hdr--hidden) .subnav.is-stuck{ transform:translateY(calc(-1 * var(--sn-top, 123px))); }

.js-carousel .carousel__navigation{ display:flex !important; justify-content:center; align-items:center; gap:6px; }
.js-carousel .carousel__nav-item{
  width:28px; height:3px; border-radius:2px; overflow:hidden;
  background:var(--color-contrast-low); transition:background-color .2s; }
.js-carousel .carousel__nav-item--selected{ background:var(--color-accent); }
.js-carousel .carousel__nav-item button{
  width:100%; height:100%; padding:0; background:transparent; border:0; border-radius:0; font-size:0; }
.js-carousel .carousel__nav-item button::before{ display:none; }

@keyframes uspIn{ from{opacity:0} to{opacity:1} }
@keyframes uspCap{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
.usp__slide.is-featured.usp-anim{ animation:uspIn .4s ease both; }
.usp__slide.is-featured.usp-anim .usp__cap{ animation:uspCap .5s cubic-bezier(.2,.7,.3,1) both; }
@keyframes mpIn{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }
.mparams__label.mp-anim{ animation:mpIn .35s ease both; }
.mparams__stats.mp-anim{ animation:mpIn .4s cubic-bezier(.2,.7,.3,1) both; }

@keyframes uspCap{ from{opacity:0; transform:translateX(48px)} to{opacity:1; transform:none} }
@keyframes mpIn{ from{opacity:0; transform:translateX(40px)} to{opacity:1; transform:none} }
.usp__slide.is-featured.usp-anim{ animation:none; }
.usp__slide.is-featured.usp-anim .usp__media{ animation:uspIn .35s ease both; }
.usp__slide.is-featured.usp-anim .usp__cap{ animation:uspCap .5s cubic-bezier(.2,.7,.3,1) both; }

.usp__viewport{ overflow:hidden; }
.usp__track{ display:flex; gap:var(--space-md); align-items:flex-start; transition:transform .55s cubic-bezier(.2,.7,.3,1); cursor:grab; touch-action:pan-y; user-select:none; }
.usp__track.is-dragging{ transition:none; cursor:grabbing; }
.usp__track .usp__slide{ display:block; position:relative; flex:0 0 auto; transition:width .55s cubic-bezier(.2,.7,.3,1); }
.usp__track .usp__media{ background-image:var(--img); background-size:cover; background-position:center; border-radius:10px; }

.usp__track .usp__slide.is-active{ aspect-ratio:16/11; overflow:hidden; border-radius:10px; }
.usp__track .usp__slide.is-active .usp__media{ position:absolute; inset:0; }
.usp__track .usp__slide.is-active::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.12) 46%, transparent 70%); }
.usp__track .usp__slide.is-active .usp__cap{ position:absolute; left:0; bottom:0; z-index:2; color:#fff; padding:var(--space-md); }
.usp__track .usp__slide.is-active .usp__title{ color:#fff; }
.usp__track .usp__slide.is-active .usp__desc{ display:block; color:rgba(255,255,255,.85); max-width:46ch; margin-top:.4em; }

.usp__track .usp__slide:not(.is-active) .usp__media{ aspect-ratio:4/3.2; }
.usp__track .usp__slide:not(.is-active) .usp__cap{ padding-top:var(--space-sm); }
.usp__track .usp__slide:not(.is-active) .usp__title{ color:var(--color-contrast-higher); }
.usp__track .usp__slide:not(.is-active) .usp__desc{ display:none; }
.usp__clone{ pointer-events:none; }
@media (max-width:767px){
  .usp__track{ gap:0; }
  .usp__track .usp__slide.is-active{ aspect-ratio:4/5; }
}

.flow-icon__grid{ list-style:none; margin:0; padding:0; }
.flow-icon__card{ position:relative; display:flex; flex-direction:column; align-items:flex-start; height:100%;
  background:var(--color-bg-dark); border-radius:14px; padding:var(--space-lg); overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s cubic-bezier(.2,.7,.3,1), background-color .35s; }
.flow-icon__card::before{ content:""; position:absolute; left:0; top:0; right:0; height:3px; z-index:2;
  background:var(--color-accent); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.flow-icon__card.has-link{ cursor:pointer; }
.flow-icon__card.has-link:hover{ transform:translateY(-6px); background:var(--color-bg);
  box-shadow:0 22px 48px -26px rgba(0,0,0,.5); }
.flow-icon__card.has-link:hover::before{ transform:scaleX(1); }
.flow-icon__ico{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:var(--space-md);
  border-radius:14px; background:var(--color-bg); transition:transform .45s cubic-bezier(.2,.7,.3,1), background-color .35s; }
.flow-icon__ico img{ display:block; width:36px; height:36px; }
.flow-icon__card.has-link:hover .flow-icon__ico{ transform:translateY(-2px) scale(1.06);
  background:color-mix(in srgb, var(--color-accent) 14%, transparent); }
.flow-icon__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin:0 0 var(--space-xs); }
.flow-icon__text{ color:var(--color-contrast-medium); margin:0 0 var(--space-md); }
.flow-icon__more{ margin-top:auto; display:inline-flex; align-items:center; gap:.45em; padding:0; border:0; background:none;
  color:var(--color-accent); font-weight:600; text-decoration:none; }
.flow-icon__more .flow-icon__arw{ transition:transform .35s cubic-bezier(.2,.7,.3,1); }
.flow-icon__card.has-link:hover .flow-icon__more .flow-icon__arw{ transform:translateX(5px); }
.flow-icon__card.has-link .flow-icon__more::after{ content:""; position:absolute; inset:0; z-index:1; }

.mtext2 img{ border-radius:14px; }
.mtext2 .mtext2-check{ list-style:none; margin:.2em 0 0; padding:0; display:grid; gap:.55em; }
.mtext2 .mtext2-check li{ position:relative; padding-left:1.9em; }
.mtext2 .mtext2-check li::before{ content:""; position:absolute; left:0; top:.14em; width:1.15em; height:1.15em; background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M13.4766 9.1667L9.00665 4.6967L10.185 3.51837L16.6666 10L10.185 16.4817L9.00665 15.3034L13.4766 10.8334L3.33331 10.8334L3.33331 9.1667L13.4766 9.1667Z' fill='%2300CABF'/%3E%3C/svg%3E"); }
.mtext2 .mtext2-disc{ display:block; color:var(--color-contrast-medium); line-height:1.45; margin-top:.6em; }
@media (max-width:767px){ .mtext2 .grid > div:last-child{ order:-1; } .mtext2 .mtext2 img{border-radius:14px;} }

.media-features .mf__list{ list-style:none; margin:0; padding:0; }
.media-features .mf__item{ position:relative; padding:.8em 0 .8em 1.7em; cursor:pointer; color:var(--color-contrast-medium); border-bottom:1px solid var(--color-contrast-lower); transition:color .25s; }
.media-features .mf__item:last-child{ border-bottom:0; }
.media-features .mf__item::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1.1em; height:1.1em; opacity:0; transition:opacity .25s; background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M13.4766 9.1667L9.00665 4.6967L10.185 3.51837L16.6666 10L10.185 16.4817L9.00665 15.3034L13.4766 10.8334L3.33331 10.8334L3.33331 9.1667L13.4766 9.1667Z' fill='%2300CABF'/%3E%3C/svg%3E"); }
.media-features .mf__item:hover{ color:var(--color-contrast-higher); }
.media-features .mf__item.is-active{ color:var(--color-contrast-higher); font-weight:600; }
.media-features .mf__item.is-active::before{ opacity:1; }
.media-features .mf__stage{ position:relative; border-radius:14px; overflow:hidden; aspect-ratio:16/10; background:var(--color-contrast-lower); touch-action:pan-y; }
.media-features .mf__slide{ position:absolute; inset:0; opacity:0; transition:opacity .5s ease; }
.media-features .mf__slide.is-active{ opacity:1; }
.media-features .mf__slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.media-features .mf__dots{ display:none; }
@media (max-width:767px){
  .media-features .mf__list{ display:none; }
  .media-features .mf__dots{ display:flex; justify-content:center; gap:6px; margin:var(--space-sm) 0 0; padding:0; list-style:none; }
  .media-features .mf__dot{ width:28px; height:3px; border-radius:2px; background:var(--color-contrast-low); cursor:pointer; }
  .media-features .mf__dot.is-active{ background:var(--color-accent); }
}

.flow-card{ display:flex; flex-direction:column; height:100%; }
.flow-card__media{ margin:0; border-radius:12px; overflow:hidden; aspect-ratio:4/5; background:var(--color-contrast-lower); }
.flow-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.flow-card__cap{ margin:var(--space-sm) 0 0; color:var(--color-contrast-higher); font-weight:500; line-height:1.35; }
.flow-slider__car .carousel__control{ width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--color-contrast-low); border-radius:8px; background:transparent; color:var(--color-contrast-higher); cursor:pointer; transition:border-color .2s,opacity .2s; }
.flow-slider__car .carousel__control:hover{ border-color:var(--color-accent); }
.flow-slider__car .carousel__control[disabled]{ opacity:.4; cursor:default; }
.flow-slider__car .carousel__control .icon{ width:18px; height:18px; }

.flow-slider__car .carousel__navigation{ order:3 !important; display:flex; justify-content:center; gap:6px; margin:var(--space-md) 0 0; }

@media (max-width:1024px){ .flow-slider__car{ --carousel-item-auto-size: calc((100% - 2 * var(--carousel-grid-gap)) / 3) !important; } }
@media (max-width:767px){ .flow-slider__car{ --carousel-item-auto-size: 70% !important; } }
@media (max-width:480px){ .flow-slider__car{ --carousel-item-auto-size: 80% !important; } }

.media-fs__wrap{ position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#000; }
.media-fs__poster,.media-fs__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.media-fs__video{ opacity:0; transition:opacity .4s; z-index:2; }
.media-fs.is-playing .media-fs__video{ opacity:1; }
.media-fs.is-playing .media-fs__poster{ opacity:0; }
.media-fs__wrap::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.18); z-index:1; pointer-events:none; transition:opacity .4s; }
.media-fs.is-playing .media-fs__wrap::after{ opacity:0; }
.media-fs__play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; border:0; background:rgba(255,255,255,.94); color:var(--color-contrast-higher); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; transition:transform .3s cubic-bezier(.2,.7,.3,1), background-color .3s, opacity .3s; }
.media-fs__play:hover{ transform:translate(-50%,-50%) scale(1.08); background:#fff; }
.media-fs__play svg{ margin-left:5px; }
.media-fs.is-playing .media-fs__play{ opacity:0; pointer-events:none; }
.media-fs__cap{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding-bottom:var(--space-lg); color:#fff; }
.media-fs.is-playing .media-fs__cap{ opacity:0; }

.specs-table{ width:100%; border-collapse:collapse; }
.specs-table td{ padding:.7em 0; border-bottom:1px solid var(--color-contrast-lower); vertical-align:top; line-height:1.4; }
.specs-table tr:last-child td{ border-bottom:0; }
.specs-table__k{ color:var(--color-contrast-medium); width:52%; padding-right:1.2em; }
.specs-table__v{ color:var(--color-contrast-higher); font-weight:500; }
.specs-tabs .js-tabs__controls{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width:600px){ .specs-table__k{ width:auto; display:block; padding-right:0; }
  .specs-table td{ display:block; border-bottom:0; padding:.15em 0; }
  .specs-table tr{ display:block; padding:.55em 0; border-bottom:1px solid var(--color-contrast-lower); }
  .specs-table tr:last-child{ border-bottom:0; } }

.model-cards__list{ list-style:none; margin:0; padding:0; }
.mcard{ display:flex; flex-direction:column; height:100%; background:var(--color-bg); border:1px solid var(--color-contrast-lower); border-radius:14px; padding:var(--space-md); transition:box-shadow .35s, transform .35s; }
.mcard:hover{ box-shadow:0 20px 44px -28px rgba(0,0,0,.4); transform:translateY(-3px); }
.mcard__name{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin:0 0 var(--space-sm); }
.mcard__media{ position:relative; aspect-ratio:16/10; margin-bottom:var(--space-md); }
.mcard__media img{ width:100%; height:100%; object-fit:contain; display:block; }
.mcard__badge{ position:absolute; left:0; top:6px; z-index:2; background:var(--color-contrast-lower); color:var(--color-contrast-higher); text-transform:uppercase; letter-spacing:.04em; padding:.35em .8em; border-radius:5px; }
.mcard__specs{ display:flex; flex-wrap:wrap; gap:var(--space-lg); margin-bottom:var(--space-md); }
.mcard__spec{ display:flex; flex-direction:column; }
.mcard__spec-k{ color:var(--color-contrast-medium); margin-bottom:.25em; }
.mcard__spec-v{ font-family:var(--font-display); font-weight:700; color:var(--color-contrast-higher); line-height:1.1; }
.mcard__btn{ display:flex; align-items:center; justify-content:space-between; gap:.5em; margin-top:auto; padding:.9em 1.1em; border:1px solid var(--color-contrast-higher); border-radius:8px; color:var(--color-contrast-higher); text-decoration:none; text-transform:uppercase; letter-spacing:.03em; font-weight:600; transition:background-color .25s,color .25s; }
.mcard__btn:hover{ background:var(--color-contrast-higher); color:var(--color-bg); }
.mcard__link{ display:inline-flex; align-items:center; gap:.4em; margin-top:var(--space-sm); color:var(--color-contrast-higher); text-decoration:none; font-weight:500; }
.mcard__arw{ transition:transform .25s; }
.mcard__link .mcard__arw{ width:16px; height:16px; }
.mcard__btn:hover .mcard__arw,.mcard__link:hover .mcard__arw{ transform:translateX(4px); }

.gal-slider .vetro-slideshow-full{ --slideshow-height:min(78vh,720px); }
.gal-slider .slideshow__item{ background-size:cover; background-position:center; }
.gal-slider .slideshow__item .container{ padding-bottom:92px; }
.gal-slider .slideshow > ul:not(.slideshow__content){ position:absolute; z-index:4; bottom:26px; left:50%; transform:translateX(-50%); width:min(calc(100% - 48px), var(--max-width-lg, 1200px)); margin:0; padding:0; list-style:none; display:flex; gap:10px; justify-content:flex-end;background:transparent; }
.gal-slider .slideshow__control{ position:static; width:auto; height:auto; }
.gal-slider .slideshow__btn{ width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.92); color:#121314; display:flex; align-items:center; justify-content:center; transition:background-color .2s; }
.gal-slider .slideshow__btn:hover{ background:#fff; }
.gal-slider .slideshow__btn .icon{ width:15px; height:15px; }
.gal-frac{ position:absolute; z-index:4; bottom:38px; left:50%; transform:translateX(-50%); width:min(calc(100% - 48px), var(--max-width-lg, 1200px)); color:#fff; font-weight:600; letter-spacing:.02em; pointer-events:none; }
.gal-frac__sep{ opacity:.7; margin:0 .15em; }

.gal-slider .slideshow__item .position-absolute.flex.items-end{ align-items:flex-end !important; }
.gal-slider .slideshow__navigation{ display:none !important; }

.media-columns__list{ list-style:none; margin:0; padding:0; }
.mcol{ display:flex; flex-direction:column; height:100%; }
.mcol__media{ margin:0 0 var(--space-md); border-radius:12px; overflow:hidden; aspect-ratio:16/10; background:var(--color-contrast-lower); }
.mcol__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.mcol__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin:0 0 var(--space-xs); }
.mcol__text{ color:var(--color-contrast-medium); margin:0; line-height:1.5; }
.mcol__more{ display:inline-flex; align-items:center; gap:.4em; margin-top:var(--space-sm); color:var(--color-contrast-higher); text-decoration:none; font-weight:600; }
.mcol__more .mcol__arw{ transition:transform .25s; }
.mcol__more:hover .mcol__arw{ transform:translateX(4px); }

a.media-fs__wrap{ display:block; cursor:pointer; text-decoration:none; }
.media-fs__play{ pointer-events:none; }

a.media-fs__wrap:hover .media-fs__play{ transform:translate(-50%,-50%) scale(1.08); background:#fff; }
a.media-fs__wrap:hover .media-fs__wrap::after,
a.media-fs__wrap:hover::after{ opacity:.28; }

.gal-slider .slideshow__btn .icon, .gal-slider .slideshow__btn svg{ color:#121314; fill:#121314; }
.gal-slider .slideshow__btn svg path{ fill:#121314; }

.gcard{ position:relative; display:flex; flex-direction:column; height:100%; }
.gcard__media{ margin:0 0 var(--space-md); overflow:hidden; aspect-ratio:16/10; background:var(--color-contrast-lower); }
.gcard__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.gcard.has-link:hover .gcard__media img{ transform:scale(1.04); }
.gcard__label{ color:var(--color-contrast-medium); text-transform:uppercase; letter-spacing:.04em; margin:0 0 var(--space-2xs); }
.gcard__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin:0 0 var(--space-xs); }
.gcard__text{ color:var(--color-contrast-medium); margin:0 0 var(--space-sm); line-height:1.5; }
.gcard__cta{ margin-top:auto; display:inline-flex; align-items:center; gap:.45em; color:var(--color-contrast-higher); text-decoration:none; font-weight:600; }
.gcard__cta .gcard__arw{ transition:transform .3s cubic-bezier(.2,.7,.3,1); }
.gcard.has-link:hover .gcard__cta .gcard__arw{ transform:translateX(5px); }
.gcard.has-link .gcard__cta::after{ content:""; position:absolute; inset:0; z-index:1; }
.gcard.has-link{ cursor:pointer; }

.media-features .mf__caption{ display:none; margin:0; }
@media (max-width:767px){
  .media-features .mf__caption{ display:block; text-align:center; margin-top:var(--space-sm); font-weight:600; color:var(--color-contrast-higher); line-height:1.35; }
}

@media (max-width:767px){ .feature-sec .grid > div:last-child{ order:-1; } }

.resp-table{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.resp-table table{ width:100%; border-collapse:collapse; min-width:760px; }
.resp-table th, .resp-table td{ padding:.85em 1.1em; border-bottom:1px solid var(--color-contrast-lower); vertical-align:top; line-height:1.4; }
.resp-table thead th{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; color:var(--color-contrast-higher); border-bottom:2px solid var(--color-contrast-low); white-space:normal; }
.resp-table td:not(:first-child), .resp-table th:not(:first-child){ text-align:center; color:var(--color-contrast-higher); }
.resp-table th:first-child, .resp-table td:first-child{ position:sticky; left:0; background:var(--color-bg); color:var(--color-contrast-medium); min-width:200px; text-align:left; z-index:1; }
.resp-table thead th:first-child{ color:var(--color-contrast-higher); }
.resp-table tbody tr:hover td{ background:var(--color-contrast-lower); }
.resp-table tbody tr:hover td:first-child{ background:var(--color-contrast-lower); }

.mcolors .grid{ display:flex; flex-direction:column-reverse; align-items:center; gap:var(--space-md); }
.mcolors .grid > div{ width:100%; max-width:100%; }
.mcolors .slideshow{ max-width:960px; margin-inline:auto; }
.mcolors .color-swatches{ display:flex; flex-direction:column-reverse; align-items:center; text-align:center; padding:0; margin:0; border:0; }
.mcolors .color-swatches__list{ display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; gap:12px; margin:0; padding:0; }
.mcolors .color-swatches__legend{ margin:14px 0 0; text-transform:uppercase; letter-spacing:.03em; }
.mcolors .color-swatches__legend .js-color-swatches__color{ font-weight:600; }

.mcolors .color-swatches{ position:static !important; right:auto !important; }

.fsa__slideshow{ position:relative; }
.fsa__item{ padding-bottom:var(--space-xl); }
.fsa__media{ border-radius:12px; overflow:hidden; aspect-ratio:1/1; background:var(--color-contrast-lower); }
.fsa__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.fsa__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin:0 0 .2em; }
.fsa__sub{ text-transform:uppercase; letter-spacing:.04em; margin:0 0 var(--space-md); }
.fsa__accordion{ margin:0; }
.fsa__accordion .accordion__item{ border-top:1px solid var(--color-contrast-lower); }
.fsa__accordion .accordion__item:last-child{ border-bottom:1px solid var(--color-contrast-lower); }
.fsa__accordion .accordion__header{ padding-left:0; padding-right:0; }

.fsa__arrows{ list-style:none; margin:0; padding:0; }
.fsa__arrow{ position:absolute; bottom:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center; border:1px solid var(--color-contrast-low); border-radius:6px; background:transparent; color:var(--color-contrast-higher); cursor:pointer; transition:border-color .2s; z-index:3; }
.fsa__arrow:hover{ border-color:var(--color-accent); }
.fsa__arrows li:first-child .fsa__arrow{ left:0; }
.fsa__arrows li:last-child .fsa__arrow{ right:0; }

.fsa .slideshow__navigation{ position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; width:auto; height:auto; background:none; }
.fsa .slideshow__nav-item{ width:34px; height:3px; border-radius:2px; background:var(--color-contrast-low); overflow:hidden; }
.fsa .slideshow__nav-item--selected{ background:var(--color-accent); }
.fsa .slideshow__nav-item button{ width:100%; height:100%; background:transparent; border-radius:0; box-shadow:none; }
.fsa .slideshow__nav-item button::before{ display:none; }
@media (max-width:767px){ .fsa__media{ aspect-ratio:4/3; margin-bottom:var(--space-md); } .fsa__arrow{ width:42px; height:42px; } }

.fsa .slideshow__item{ color:var(--color-contrast-higher); }
.fsa__title{ color:var(--color-contrast-higher); }
.fsa__accordion .accordion__header span{ color:var(--color-contrast-higher); }
.fsa__accordion .accordion__panel .text-component{ color:var(--color-contrast-medium); }

.fsa .fsa__title{ color:var(--color-contrast-higher) !important; }
.fsa .fsa__sub{ color:var(--color-contrast-medium) !important; }
.fsa .accordion__panel, .fsa .accordion__panel p, .fsa .accordion__panel .text-component{ color:var(--color-contrast-medium) !important; }

.fsa .accordion__panel, .fsa .accordion__panel .text-component, .fsa .accordion__panel p{ text-transform:none; font-family:var(--font-body, inherit); letter-spacing:normal; }

.flow-card__media{ aspect-ratio:16/9 !important; }
.flow-card__desc{ margin:.35em 0 0; color:var(--color-contrast-medium); line-height:1.45; }

.prices__list{ list-style:none; margin:0; padding:0; }
.price-card{ display:block; height:100%; border:1px solid var(--color-contrast-low); border-radius:10px; padding:var(--space-md); text-decoration:none; color:inherit; transition:border-color .25s, box-shadow .25s; }
.price-card.has-file:hover{ border-color:var(--color-contrast-higher); box-shadow:0 10px 30px -20px rgba(0,0,0,.4); }
.price-card__head{ display:flex; align-items:center; justify-content:space-between; gap:.6em; margin-bottom:var(--space-sm); }
.price-card__title{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; }
.price-card__dl{ color:var(--color-contrast-higher); flex-shrink:0; transition:transform .25s; }
.price-card.has-file:hover .price-card__dl{ transform:translateY(2px); }
.price-card__info{ color:var(--color-contrast-medium); line-height:1.55; }

.specs-table td.specs-table__li{ color:var(--color-contrast-higher); padding-left:1.5em; position:relative; }
.specs-table td.specs-table__li:before{ content:""; position:absolute; left:.25em; top:1.3em; width:.4em; height:.4em; border-radius:50%; background:var(--color-primary,currentColor); }
@media (max-width:600px){ .specs-table td.specs-table__li{ padding-left:1.5em; } .specs-table td.specs-table__li:before{ top:.95em; } }

.tabs-nav-v2{ justify-content:center; }

.contact.feature-v15{ position:relative; overflow:hidden; }
.contact .contact-map{ z-index:1; }
.contact .contact-map iframe,.contact .contact-map ymaps,.contact .contact-map > div{ position:absolute!important; inset:0; width:100%!important; height:100%!important; border:0; }
.contact .contact-plate{ background:var(--color-bg); box-shadow:0 24px 60px -34px rgba(0,0,0,.55); overflow:hidden; }
.contact .details-list--rows .details-list__item{ border-bottom:1px solid var(--color-contrast-lower); }
.contact .details-list--rows .details-list__item:last-child{ border-bottom:0; }

.contact .f-header__link--icon{ width:36px; height:36px; border-radius:50%; border:1px solid var(--color-accent); background-color: var(--color-accent); display:inline-flex; align-items:center; justify-content:center; color:var(--color-white); transition:background-color .2s,color .2s,border-color .2s; }
.contact .f-header__link--icon:hover{ background:var(--color-accent-dark); border-color:var(--color-accent-dark); color:var(--color-white); }
.contact .f-header__link--icon .icon,.contact .f-header__link--icon svg{ width:18px; height:18px; }

.feature-v15__link{ background:var(--color-accent); color:var(--color-white); }
.feature-v15__link:hover{ background-color:var(--color-accent-dark); }
.feature-v15__link .feature-v15__icon{ color:var(--color-white); }

.feature-v15__link--ghost{ background:transparent; color:var(--color-contrast-higher); border:1px solid currentColor; }
.feature-v15__link--ghost .feature-v15__icon{ color:currentColor; }
@media(hover:hover){
  .feature-v15__link--ghost:hover{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-white); }
  .feature-v15__link--ghost:hover .feature-v15__icon{ color:var(--color-white); }
}
@media(min-width:64rem){ .contact.feature-v15{ min-height:560px; } .contact .contact-plate{ margin-left:var(--space-md); } }

.section-anchor{ display:block; height:0; scroll-margin-top:180px; }
@media (max-width:1024px){ .section-anchor{ scroll-margin-top:110px; } }

.specs-tabs .js-tabs__controls{ overflow-y:hidden; }

@media (max-width:767px){
  .mh-hero{ background-image:var(--hero-img-m, var(--hero-img)); display:flex; flex-direction:column; justify-content:flex-end; }
  .mh-hero > .container{ align-self:stretch; margin-top:auto; padding-top:0; padding-bottom:clamp(2rem,8vh,3.5rem); }
}

@media (max-width:767px){ .usp__track .usp__slide.is-active{ aspect-ratio:9/15; } }

.hdr__mega .mmodel__shot{ background-color:transparent; }
.hdr__mega .mega__grid{ gap:var(--space-md); }

.team-cards .mcol__media{ aspect-ratio:3/4; border-radius:14px; overflow:hidden; margin-bottom:var(--space-sm); }
.team-cards .mcol__media img{ width:100%; height:100%; object-fit:cover; }
.team-cards .mcol__title{ margin:0; }
.team-cards .mcol__text{ color:var(--color-contrast-medium); margin-top:.2em; }

.team-cards .mcol__contact{ display:block; color:var(--color-contrast-high); text-decoration:none; margin-top:.15em; font-size:var(--text-sm); }
.team-cards .mcol__contact:hover{ color:var(--color-primary); }

.tariff-card{ border:1px solid var(--color-contrast-lower); border-radius:var(--radius-lg,12px); padding:var(--space-md); height:100%; }
.tariff-sub{ text-transform:uppercase; letter-spacing:.04em; color:var(--color-contrast-medium); font-size:.85em; margin:0 0 var(--space-xxs); }
.tariff-title{ font-family:var(--font-display); text-transform:uppercase; margin:0 0 var(--space-sm); }
.tariff-price{ font-family:var(--font-display); font-size:1.6em; font-weight:700; margin:var(--space-sm) 0 0; }
.tariff-price span{ display:block; margin-top:.25em; font-size:.55em; font-weight:400; color:var(--color-contrast-medium); }

.err{ position:relative; min-height:calc(100svh - var(--vetro-hdr)); display:flex; align-items:center; justify-content:center; overflow:hidden; text-align:center; }
.err__inner{ position:relative; z-index:1; }
.err__code{ display:flex; align-items:center; justify-content:center; gap:clamp(.35rem,2vw,1rem); font-weight:800; line-height:.9; letter-spacing:-.03em; font-size:clamp(6rem,26vw,10rem); background:linear-gradient(180deg, var(--color-accent), var(--color-accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.err__ring{ position:relative; display:inline-block; width:.72em; height:.72em; border-radius:50%; border:.1em solid hsla(var(--color-primary-h),var(--color-primary-s),50%,.16); }
.err__ring::before{ content:""; position:absolute; inset:-.1em; border-radius:50%; border:.1em solid transparent; border-top-color:var(--color-accent); border-right-color:var(--color-accent); animation:err-spin 2.6s linear infinite; }
@keyframes err-spin{ to{ transform:rotate(360deg); } }
.err__body{ margin-top:var(--space-md); }
.err__text{ color:var(--color-contrast-medium); max-width:38ch; margin-inline:auto; }
.err__actions{ display:flex; flex-wrap:wrap; gap:var(--space-sm); justify-content:center; margin-top:var(--space-lg); }
@media (prefers-reduced-motion:reduce){ .err__ring::before{ animation:none; } }






/* ==== flat-corners: убраны скругления во всех блоках sections (клиент 2026-08-02) ====
   main{--radius:0} гасит все скругления на токенах (--radius-sm/md/lg/xl) в контенте,
   круглые элементы (border-radius:50%) не трогаем. Ниже — блоки с захардкоженным px-радиусом. */
main{ --radius:0; }
main .subnav__badge, main .subnav__link,
main .pricelist__card,
main .usp__slide, main .usp__arrow, main .usp__dot,
main .usp__slide.is-preview .usp__media, main .usp__track .usp__media, main .usp__track .usp__slide.is-active,
main .flow-icon__card, main .flow-icon__ico,
main .mtext2, main .mtext2 img,
main .media-features .mf__stage, main .media-features .mf__dot,
main .flow-card__media, main .flow-slider__car .carousel__control,
main .mcard, main .mcard__badge, main .mcard__btn,
main .mcol__media, main .team-cards .mcol__media,
main .fsa__media, main .fsa__arrow, main .fsa .slideshow__nav-item,
main .price-card{ border-radius:0; }

/* media-features mf--contain: медиа без кадрирования (портрет/квадрат — напр. скриншоты приложения) */
.media-features.mf--contain .mf__stage{ aspect-ratio:1/1; max-width:460px; margin-inline:auto; background:var(--color-bg); }
.media-features.mf--contain .mf__slide img{ object-fit:contain; }

/* text-columns / tariff-card: без скруглений + карточки одной высоты в ряду (клиент 2026-08-02) */
.tariff-card{ border-radius:0; height:100%; }
.columns-sec .grid > [class*="col-"]{ display:flex; }
.columns-sec .grid > [class*="col-"] > .text-component{ flex:1 1 auto; width:100%; }

/* credit-cards: карточки кредитных программ (лого банка + условия списком) — клиент 2026-08-02 */
.credit-card{ display:flex; flex-direction:column; height:100%; background:var(--color-bg);
  border:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  padding:clamp(1.1rem,2.5vw,1.6rem); }
.credit-card__logo{ display:flex; align-items:center; height:38px; margin-bottom:var(--space-md); }
.credit-card__logo img{ height:100%; width:auto; max-width:75%; object-fit:contain; object-position:left center; display:block; }
.credit-card__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75em; }
.credit-card__list li{ display:flex; flex-direction:column; gap:.1em; padding-bottom:.75em;
  border-bottom:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.08); }
.credit-card__list li:last-child{ border-bottom:0; padding-bottom:0; }
.credit-card__list li span{ font-size:var(--text-sm); color:var(--color-contrast-medium); line-height:1.3; }
.credit-card__list li b{ font-size:var(--text-md); font-weight:700; color:var(--color-contrast-higher); }
/* 3 карточки в ряд на десктопе (переопределяем col-6@md=span6 у columns) */
@media(min-width:64rem){ .credit-cols .grid > [class*="col-"]{ grid-column-end: span 4; } }

/* flow-icon--cond: карточки-критерии (иконка + текст обычным регистром), 2×2 для 4 пунктов — клиент 2026-08-02 */
.flow-icon--cond .flow-icon__title{ text-transform:none; font-weight:600; font-size:var(--text-md); line-height:1.35; }
@media(min-width:48rem){ .flow-icon--cond .flow-icon__grid > li{ grid-column-end: span 6; } }

/* slideshow: мобильная картинка imagePreview (--bg-m) на мобилке, image (--bg-d) на остальных; для ВСЕХ вариантов slideshow, не только hero/mm (клиент 2026-08-02) */
.slideshow__item[style*="--bg-d"]{ background-image: var(--bg-d); }
@media (max-width:767px){ .slideshow__item[style*="--bg-m"]{ background-image: var(--bg-m, var(--bg-d)); } }
/* ==== maintenanceCalc — калькулятор ТО ============================== */
.mtc__head{ text-align:center; max-width:44ch; margin-inline:auto; margin-bottom:var(--space-lg); }
.mtc__title{ font-size:var(--text-xxl); line-height:1.1; font-weight:700; letter-spacing:-.01em; }
.mtc__sub{ margin-top:var(--space-sm); color:var(--color-contrast-medium); font-size:var(--text-md); }

.mtc__card{
  background:var(--color-bg-lighter, var(--color-white));
  border:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.10);
  border-radius:0;
  box-shadow:0 18px 50px -28px hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.35);
  padding:clamp(1.1rem, 3vw, 2rem);
}
.mtc__field{ margin-bottom:var(--space-md); }
.mtc__field:last-child{ margin-bottom:0; }
.mtc__flabel{
  display:block; margin-bottom:var(--space-xs); text-align:center;
  font-size:var(--text-sm); font-weight:600; letter-spacing:.02em;
  color:var(--color-contrast-high); text-transform:uppercase;
}

.mtc__select-wrap{ position:relative; }
.mtc__select{
  -webkit-appearance:none; appearance:none;
  width:100%; padding:.85em 3em .85em 1.1em;
  font-size:var(--text-sm); font-family:inherit; color:var(--color-contrast-higher);
  background:var(--color-bg); border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.14);
  border-radius:0; cursor:pointer; line-height:1.3;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.mtc__select:hover{ border-color:hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.45); }
.mtc__select:focus{ outline:none; border-color:var(--color-primary); box-shadow:0 0 0 3px hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.16); }
.mtc__caret{ position:absolute; right:1.1em; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--color-contrast-medium); }

.mtc__body{ margin-top:var(--space-md); }
.mtc__body[hidden]{ display:none; }

/* Чипы ТО */
.mtc__chips{ display:grid; grid-template-columns:repeat(auto-fill, minmax(84px,1fr)); gap:.55rem; }
.mtc__chip{
  display:flex; flex-direction:column; align-items:center; gap:.15em;
  padding:.6em .4em; font-family:inherit; cursor:pointer; text-align:center;
  background:var(--color-bg); color:var(--color-contrast-higher);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  border-radius:0; transition:all .18s ease;
}
.mtc__chip:hover:not(:disabled){ border-color:hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.5); transform:translateY(-1px); }
.mtc__chip.is-active{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-white); box-shadow:0 8px 18px -8px hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.6); }
.mtc__chip:disabled{ opacity:.4; cursor:not-allowed; }
.mtc__chip-name{ font-weight:700; font-size:var(--text-sm); }
.mtc__chip-km{ font-size:var(--text-xs); color:var(--color-contrast-medium); }
.mtc__chip.is-active .mtc__chip-km{ color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.8); }

/* Результат */
.mtc__result{
  margin-top:var(--space-md); padding:clamp(1rem,3vw,1.4rem);
  border-radius:0;
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); flex-wrap:wrap;
  background:var(--color-bg);
  border:2px solid hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.35);
}
.mtc__result-info{ min-width:0; }
.mtc__result-top{ display:flex; align-items:baseline; gap:.5em; flex-wrap:wrap; }
.mtc__result-label{ font-size:var(--text-sm); font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:var(--color-contrast-medium); }
.mtc__result-km{ font-size:var(--text-sm); color:var(--color-contrast-medium); }
.mtc__price{ margin-top:.1em; font-size:clamp(1.5rem,4.5vw,2rem); font-weight:700; line-height:1; letter-spacing:-.01em; color:var(--color-contrast-higher); font-variant-numeric:tabular-nums; }
.mtc__cta{ flex:0 0 auto; }
.mtc .btn{ border-radius:0; }
@media(max-width:34rem){ .mtc__result{ align-items:stretch; } .mtc__cta{ width:100%; justify-content:center; } }

/* Полный регламент */
.mtc__schedule{ margin-top:var(--space-md); border-top:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.1); }
.mtc__summary{
  display:flex; align-items:center; justify-content:space-between; gap:.5em;
  padding:var(--space-sm) 0; cursor:pointer; font-weight:600; color:var(--color-contrast-high);
  list-style:none;
}
.mtc__summary::-webkit-details-marker{ display:none; }
.mtc__summary svg{ transition:transform .25s ease; color:var(--color-contrast-medium); }
.mtc__schedule[open] .mtc__summary svg{ transform:rotate(180deg); }
.mtc__table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:0; }
.mtc__table{ width:100%; border-collapse:collapse; font-size:var(--text-sm); min-width:340px; }
.mtc__table th,.mtc__table td{ padding:.6em .8em; text-align:left; border-bottom:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.08); white-space:nowrap; }
.mtc__table thead th{ font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--color-contrast-medium); }
.mtc__table td:last-child,.mtc__table th:last-child{ text-align:right; font-variant-numeric:tabular-nums; }
.mtc__table tr.is-active td{ background:hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.07); font-weight:700; }
.mtc__table tr.is-na td{ color:var(--color-contrast-low); }

.mtc__note{ max-width:60ch; margin:var(--space-md) auto 0; text-align:center; font-size:var(--text-sm); color:var(--color-contrast-medium); }

/* ==== carValuator (cvw) ==== */
/* ==========================================================================
   Car Value Widget — только то, что нельзя собрать классами фреймворка.
   Все цвета берутся из токенов main.css. Ничего в main.css не менялось.
   ========================================================================== */

.cvw {
  --cvw-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
}

/* --- раскладка: слева контекст, справа форма ------------------------- */
.cvw-split { display: block; }
.cvw-main__inner { max-width: 30rem; margin-left: auto; margin-right: auto; }
.cvw-aside { border-bottom: 1px solid var(--color-bg-darker); }
.cvw-aside__note { display: none; }
.cvw-main { padding-top: var(--space-md); }

@media (min-width: 64rem) {
  .cvw-split { display: grid; grid-template-columns: minmax(17rem, 32%) 1fr; align-items: stretch; }
  .cvw-aside {
    border-bottom: 0;
    border-right: 1px solid var(--color-bg-darker);
    background: var(--color-bg);
    border-radius: var(--radius-xl) 0 0 var(--radius-xl);
    padding: var(--space-lg);
    display: flex; flex-direction: column;
  }
  .cvw-aside__note { display: block; margin-top: auto; padding-top: var(--space-lg); }
  .cvw-main { padding: var(--space-lg); display: flex; align-items: center; }
  .cvw-main__inner { width: 100%; }
}

/* --- шаги -------------------------------------------------------------- */
.cvw__step { display: none; }
.cvw__step.is-active { display: block; animation: cvw-in 0.45s var(--cvw-ease) both; }

@keyframes cvw-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cvw__step.is-active { animation: none; }
}

/* --- прогресс ---------------------------------------------------------- */
.cvw-progress { display: flex; align-items: center; gap: 0; width: 100%; }
.cvw-progress__label { display: none; }
.cvw-progress__dot {
  flex: 0 0 auto;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 0.72rem; font-weight: 700;
  background: var(--color-bg-dark);
  color: var(--color-contrast-medium);
  transition: all 0.35s var(--cvw-ease);
}
.cvw-progress__line {
  flex: 1 1 auto; height: 2px;
  background: var(--color-bg-darker);
  position: relative; overflow: hidden;
}
.cvw-progress__line::after {
  content: ""; position: absolute; inset: 0;
  background: var(--color-primary);
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.5s var(--cvw-ease);
}
.cvw-progress__step.is-done .cvw-progress__dot,
.cvw-progress__step.is-active .cvw-progress__dot {
  background: var(--color-primary); color: var(--color-white);
}
.cvw-progress__step.is-done .cvw-progress__line::after { transform: scaleX(1); }
.cvw-progress__step { display: contents; }

@media (min-width: 64rem) {
  .cvw-progress { flex-direction: column; align-items: stretch; }
  .cvw-progress__step {
    display: grid;
    grid-template-columns: 26px 1fr;
    column-gap: 12px;
    align-items: center;
  }
  .cvw-progress__dot { grid-column: 1; grid-row: 1; }
  .cvw-progress__label {
    display: block; grid-column: 2; grid-row: 1;
    font-size: var(--text-sm); color: var(--color-contrast-medium);
    transition: color 0.3s var(--cvw-ease);
  }
  .cvw-progress__step.is-active .cvw-progress__label { color: var(--color-contrast-higher); font-weight: 600; }
  .cvw-progress__step.is-done .cvw-progress__label { color: var(--color-contrast-high); }
  .cvw-progress__line {
    grid-column: 1; grid-row: 2;
    width: 2px; height: 22px; margin: 3px auto; flex: 0 0 auto;
  }
  .cvw-progress__line::after { transform: scaleY(0); transform-origin: center top; }
  .cvw-progress__step.is-done .cvw-progress__line::after { transform: scaleY(1); }
}

/* --- переключатель способа ввода --------------------------------------- */
.cvw-seg {
  display: inline-flex; padding: 4px; gap: 4px;
  background: var(--color-bg-dark);
  border-radius: 50px;
}
.cvw-seg__btn {
  appearance: none; border: 0; cursor: pointer;
  padding: 0.5em 1.1em; border-radius: 50px;
  font-family: inherit; font-size: var(--text-sm);
  color: var(--color-contrast-medium);
  background: transparent;
  transition: all 0.3s var(--cvw-ease);
  white-space: nowrap;
}
.cvw-seg__btn:hover { color: var(--color-contrast-higher); }
.cvw-seg__btn.is-active {
  background: var(--color-bg);
  color: var(--color-contrast-higher);
  font-weight: 600;
  box-shadow: var(--shadow-sm);
}

/* --- госномер ---------------------------------------------------------- */
.cvw-plate {
  display: flex; align-items: stretch;
  background: var(--color-white);
  border: 2px solid var(--color-contrast-higher);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.25s var(--cvw-ease), border-color 0.25s var(--cvw-ease);
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}
.cvw-plate:focus-within { box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.18); }
.cvw-plate.has-error { border-color: var(--color-error); }
.cvw-plate__input {
  flex: 1 1 auto; min-width: 0;
  border: 0; outline: 0; background: transparent;
  font-family: inherit; font-weight: 700;
  font-size: 1.7rem; letter-spacing: 0.06em;
  text-transform: uppercase; text-align: center;
  padding: 0.35em 0.2em;
  color: var(--color-black);
}
.cvw-plate__input::placeholder { color: var(--color-contrast-lower); font-weight: 700; }
.cvw-plate__region {
  flex: 0 0 auto; width: 84px;
  border-left: 2px solid var(--color-contrast-higher);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; padding: 0.3em 0.3em 0.35em;
  background: var(--color-white);
}
.cvw-plate__region-input {
  width: 100%; min-width: 0;
  border: 0; outline: 0; background: transparent;
  font-family: inherit; font-weight: 700;
  font-size: 1.25rem; letter-spacing: 0.04em;
  text-align: center; padding: 0;
  color: var(--color-black);
}
.cvw-plate__region-input::placeholder { color: var(--color-contrast-lower); font-weight: 700; }
.cvw-plate__rus { display: flex; align-items: center; gap: 4px; }
.cvw-plate__region span { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-black); }
.cvw-plate__flag { display: flex; width: 20px; height: 7px; border: 1px solid hsla(0,0%,0%,0.25); }
.cvw-plate__flag i { flex: 1; }
.cvw-plate__flag i:nth-child(1) { background: #fff; }
.cvw-plate__flag i:nth-child(2) { background: #0039a6; }
.cvw-plate__flag i:nth-child(3) { background: #d52b1e; }

/* --- select со стрелкой ------------------------------------------------ */
.cvw-select { position: relative; display: block; }
.cvw-select select {
  appearance: none; -webkit-appearance: none;
  width: 100%; padding-right: 2.2em; cursor: pointer;
}
.cvw-select select:disabled { cursor: not-allowed; }
.cvw-select::after {
  content: ""; position: absolute; right: 0.9em; top: 50%;
  width: 7px; height: 7px; pointer-events: none;
  border-right: 2px solid var(--color-contrast-medium);
  border-bottom: 2px solid var(--color-contrast-medium);
  transform: translateY(-70%) rotate(45deg);
}

/* --- чипы выбора (radio) ----------------------------------------------- */
.cvw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cvw-chip { position: relative; }
.cvw-chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.cvw-chip span {
  display: inline-block; cursor: pointer;
  padding: 0.5em 1em; border-radius: 50px;
  font-size: var(--text-sm);
  background: var(--color-bg-dark);
  color: var(--color-contrast-high);
  border: 1px solid transparent;
  transition: all 0.25s var(--cvw-ease);
  user-select: none;
}
.cvw-chip span:hover { background: var(--color-bg-darker); }
.cvw-chip input:checked + span {
  background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary);
}
.cvw-chip input:focus-visible + span { box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2); }

/* --- скрытая цена (тизер) ---------------------------------------------- */
.cvw-teaser { position: relative; overflow: hidden; }
.cvw-teaser__value {
  filter: blur(11px);
  opacity: 0.55;
  user-select: none;
  font-variant-numeric: tabular-nums;
}
.cvw-lock {
  width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--color-contrast-higher); color: var(--color-bg);
  flex: 0 0 auto;
}
.cvw-lock svg { width: 15px; height: 15px; fill: currentColor; }

/* --- результат --------------------------------------------------------- */
.cvw-price {
  font-size: clamp(2.1rem, 7vw, 3.1rem);
  line-height: 1.05; font-weight: 700;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.cvw-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1em; padding: 0.62em 0; }
.cvw-row + .cvw-row { border-top: 1px solid var(--color-bg-darker); }
.cvw-row__dots { flex: 1 1 auto; border-bottom: 1px dotted var(--color-contrast-lower); transform: translateY(-0.25em); }

/* --- загрузка ---------------------------------------------------------- */
.cvw-spinner {
  width: 1em; height: 1em; border-radius: 50%;
  border: 2px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.35);
  border-top-color: var(--color-white);
  animation: cvw-spin 0.7s linear infinite;
}
@keyframes cvw-spin { to { transform: rotate(360deg); } }
.cvw-btn-loading .cvw-btn-label { opacity: 0.6; }

.cvw-skeleton {
  border-radius: var(--radius-md);
  background: linear-gradient(90deg, var(--color-bg-dark) 25%, var(--color-bg-darker) 37%, var(--color-bg-dark) 63%);
  background-size: 400% 100%;
  animation: cvw-shimmer 1.3s ease infinite;
}
@keyframes cvw-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }

/* --- прочее ------------------------------------------------------------ */
.cvw-link {
  color: var(--color-primary); cursor: pointer; font-family: inherit;
  text-decoration: underline; text-underline-offset: 2px;
  transition: opacity 0.2s var(--cvw-ease);
}
.cvw-link:hover { opacity: 0.7; }
.cvw-error { color: var(--color-error); }
.cvw-note { border-left: 2px solid var(--color-bg-darker); padding-left: 0.9em; }
.cvw-fade-in { animation: cvw-in 0.5s var(--cvw-ease) both; }

/* --- пошаговый выбор с поиском ----------------------------------------- */
.cvw-picked {
  display: flex; align-items: center; justify-content: space-between; gap: 0.8em;
  width: 100%; text-align: left; cursor: pointer;
  background: var(--color-bg-dark); border: 0;
  border-radius: var(--radius-xl);
  padding: 0.6em 1.2em;
  font-family: inherit; color: inherit;
  transition: background 0.2s var(--cvw-ease);
  animation: cvw-in 0.35s var(--cvw-ease) both;
}
.cvw-picked:hover { background: var(--color-bg-darker); }
.cvw-picked__label { font-size: var(--text-xs); color: var(--color-contrast-medium); display: block; }
.cvw-picked__value { font-weight: 700; }
.cvw-picked__edit { font-size: var(--text-xs); color: var(--color-primary); flex: 0 0 auto; }

.cvw-list {
  max-height: 268px; overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--color-bg-darker);
  border-radius: var(--radius-md);
  animation: cvw-in 0.3s var(--cvw-ease) both;
}
.cvw-list__item {
  display: block; width: 100%; text-align: left; cursor: pointer;
  background: transparent; border: 0; font-family: inherit; font-size: inherit;
  color: var(--color-contrast-high);
  padding: 0.7em 0.9em;
  transition: background 0.15s var(--cvw-ease);
}
.cvw-list__item + .cvw-list__item { border-top: 1px solid var(--color-bg-dark); }
.cvw-list__item:hover, .cvw-list__item.is-focused { background: var(--color-bg-dark); color: var(--color-contrast-higher); }
.cvw-list__empty { padding: 1.1em 0.9em; font-size: var(--text-sm); color: var(--color-contrast-medium); text-align: center; }

.cvw-list--grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.cvw-list--grid .cvw-list__item { text-align: center; border-top: 0; padding: 0.75em 0.2em; }
.cvw-list--grid .cvw-list__item:nth-child(n+5) { border-top: 1px solid var(--color-bg-dark); }
.cvw-list--grid .cvw-list__item:not(:nth-child(4n)) { border-right: 1px solid var(--color-bg-dark); }

.cvw-list__skeleton { padding: 0.55em 0.9em; }
.cvw-list__skeleton i { display: block; height: 12px; border-radius: 50px;
  background: linear-gradient(90deg, var(--color-bg-dark) 25%, var(--color-bg-darker) 37%, var(--color-bg-dark) 63%);
  background-size: 400% 100%; animation: cvw-shimmer 1.3s ease infinite; }

/* --- лоадер и экран-заглушка (оверлеи поверх виджета) ------------------ */
.cvw-loader, .cvw-fail {
  position: absolute; inset: 0; z-index: 5;
  display: flex; align-items: center; justify-content: center;
  border-radius: inherit;
  background: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.88);
  opacity: 0; visibility: hidden;
  transition: opacity 0.32s var(--cvw-ease), visibility 0.32s var(--cvw-ease);
}
.cvw-loader.is-on, .cvw-fail.is-on { opacity: 1; visibility: visible; }

.cvw-loader__spin {
  width: 42px; height: 42px; border-radius: 50%;
  border: 3px solid var(--color-bg-darker);
  border-top-color: var(--color-primary);
  animation: cvw-spin 0.7s linear infinite;
}

.cvw-fail__box { text-align: center; max-width: 22rem; padding: var(--space-md); }
.cvw-fail__icon {
  width: 56px; height: 56px; margin: 0 auto var(--space-sm);
  display: grid; place-items: center; border-radius: 50%;
  background: var(--color-bg-dark); color: var(--color-primary);
}
.cvw-fail__icon svg { width: 28px; height: 28px; fill: currentColor; }
.cvw-fail__title { font-size: var(--text-lg); font-weight: 700; margin-bottom: var(--space-xxxs); letter-spacing: -0.01em; }
.cvw-fail__text { font-size: var(--text-sm); color: var(--color-contrast-medium); margin-bottom: var(--space-md); }
.cvw-fail__box .btn { min-width: 12rem; }

@media (prefers-reduced-motion: reduce) {
  .cvw-loader, .cvw-fail { transition: none; }
  .cvw-loader__spin { animation-duration: 1.2s; }
}

/* carValuator: убрать все скругления виджета, кроме круглых элементов (клиент 2026-08-02) */
.cvw, .cvw *{ border-radius:0; }
.cvw .cvw-progress__dot, .cvw .cvw-lock, .cvw .cvw-spinner, .cvw .cvw-loader__spin, .cvw .cvw-fail__icon{ border-radius:50%; }


/* st-cards: заголовок и текст карточки по центру (клиент 2026-08-02) */
.st-cards .vetro-ncard__body{ text-align:center; }

/* carValuator: левая плашка шагов — accent + белый текст (белый виджет, клиент 2026-08-02) */
.cvw-aside{ background: var(--color-accent) !important; border-color: transparent !important; }
.cvw-aside, .cvw-aside h2, .cvw-aside p, .cvw-aside .cvw-progress__label{ color: var(--color-white) !important; }
.cvw-aside .cvw-progress__dot{ background: hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.22); color: var(--color-white); }
.cvw-aside .cvw-progress__step.is-active .cvw-progress__dot,
.cvw-aside .cvw-progress__step.is-done .cvw-progress__dot{ background: var(--color-white); color: var(--color-accent); }
.cvw-aside .cvw-progress__line{ background: hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.28); }
.cvw-aside .cvw-progress__line::after{ background: var(--color-white); }

/* carValuator: на мобилке/планшете (стек) — цветная плашка вниз, ввод вверх (клиент 2026-08-02) */
@media (max-width: 63.99rem){
  .cvw-split{ display:flex; flex-direction:column-reverse; }
}

/* cta-model — премиум-плашка «Призыв к действию — модель» (замена прайс-карточек) */
.cta-model__card{ position:relative; overflow:hidden; background:var(--color-primary,#121314); color:var(--color-white,#fff); border-radius:var(--radius-lg,12px); padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,3rem); text-align:center; }
.cta-model__glow{ position:absolute; width:70%; height:180%; top:-40%; right:-12%; background:radial-gradient(circle, hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.40), transparent 68%); pointer-events:none; }
.cta-model__inner{ position:relative; z-index:1; max-width:52rem; margin-inline:auto; display:flex; flex-direction:column; align-items:center; gap:var(--space-sm); }
.cta-model__inner > *{ margin:0; }
.cta-model__card .text-component{ text-align:center; max-width:46rem; }
.cta-model__card h1,.cta-model__card h2,.cta-model__card h3,.cta-model__card h4{ color:var(--color-white,#fff); }
.cta-model__card p{ color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.82); }
.cta-model__card .btn{ margin-top:var(--space-xs); }

/* cta-model: светлый вариант без скруглений (правка по фидбеку — тёмный/rounded убран) */
.cta-model__card{ border-radius:0; background:var(--color-bg-alt,#f5f5f5); color:var(--color-contrast-higher); border:1px solid var(--color-contrast-low); border-top:3px solid var(--color-accent); }
.cta-model__glow{ display:none; }
.cta-model__card h1,.cta-model__card h2,.cta-model__card h3,.cta-model__card h4{ color:var(--color-contrast-higher); }
.cta-model__card p{ color:var(--color-contrast-medium); }

/* cta-model: акцентный бейдж-крючок */
.cta-model__eyebrow{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent); border:1px solid var(--color-accent); padding:.45em .95em; }

/* cta-model: таймер обратного отсчёта */
.cta-model__timer{ display:flex; flex-direction:column; align-items:center; gap:.7rem; margin:var(--space-xs) 0; }
.ctimer__label{ font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--color-contrast-medium); }
.ctimer__grid{ display:flex; gap:.5rem; }
.ctimer__unit{ display:flex; flex-direction:column; align-items:center; min-width:66px; padding:.65rem .5rem; background:var(--color-contrast-higher); color:var(--color-white,#fff); }
.ctimer__num{ font-size:1.9rem; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; }
.ctimer__cap{ font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; opacity:.72; margin-top:.35em; }
@media(max-width:520px){ .ctimer__unit{ min-width:56px; padding:.55rem .4rem; } .ctimer__num{ font-size:1.5rem; } }

/* cta-model: убрать лишние вертикальные margin'ы text-component (расстояния были великоваты) */
.cta-model__card .text-component{ margin:0; }
.cta-model__card .text-component h1,.cta-model__card .text-component h2,.cta-model__card .text-component h3,.cta-model__card .text-component h4,.cta-model__card .text-component p{ margin:0; }
.cta-model__timer{ margin:0; }
.cta-model__inner{ gap:var(--space-sm); }

/* cta-model: фон блоков таймера — accent (финальная правка) */
.cta-model .ctimer__unit{ background:var(--color-accent); }

/* cta-model: padding карточки по правке клиента */
.cta-model__card{ padding:var(--space-xl) var(--space-md); }

/* cta-model: padding уменьшен до space-lg (правка клиента) */
.cta-model__card{ padding:var(--space-lg) var(--space-md); }

/* Аккордеон «Частые вопросы» в новостях: колонка по ширине текста статьи (max-width-md) */
.faq-acc .container{ max-width:var(--max-width-md); }

/* ===== serviceBooking (.svcb) — виджет записи на сервис ===== */
.svcb__head{ text-align:center; max-width:46ch; margin-inline:auto; margin-bottom:var(--space-lg); }
.svcb__eyebrow{ display:block; font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-accent); margin-bottom:var(--space-xxs); }
.svcb__title{ font-size:var(--text-xxl); line-height:1.1; font-weight:700; letter-spacing:-.01em; }
.svcb__sub{ margin-top:var(--space-sm); color:var(--color-contrast-medium); font-size:var(--text-md); }

.svcb__card{
  background:var(--color-bg-lighter, var(--color-white));
  border:1px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.10);
  box-shadow:0 18px 50px -28px hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.35);
  padding:clamp(1.1rem, 3vw, 2rem);
}

/* --- полоса шагов --- */
.svcb__steps{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.4rem;
  list-style:none; padding:0; margin:0 0 var(--space-md);
}
.svcb__stepdot{ display:flex; align-items:center; gap:.5em; padding-bottom:.6em; border-bottom:3px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12); transition:border-color .25s ease; }
.svcb__stepdot-n{
  flex:0 0 auto; width:1.7em; height:1.7em; display:grid; place-items:center;
  font-size:var(--text-sm); font-weight:700; line-height:1;
  background:hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.08);
  color:var(--color-contrast-medium); transition:background .25s ease, color .25s ease;
}
.svcb__stepdot-l{ font-size:var(--text-xs); font-weight:600; color:var(--color-contrast-medium); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.svcb__stepdot.is-current{ border-bottom-color:var(--color-accent); }
.svcb__stepdot.is-current .svcb__stepdot-n{ background:var(--color-accent); color:var(--color-white); }
.svcb__stepdot.is-current .svcb__stepdot-l{ color:var(--color-contrast-higher); }
.svcb__stepdot.is-done{ border-bottom-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.45); }
.svcb__stepdot.is-done .svcb__stepdot-n{ background:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.16); color:var(--color-accent); }
/* На узком экране четыре подписи не помещаются и превращаются в кашу.
   Поэтому оставляем номера, а название показываем только у текущего шага —
   он же и растягивается на свободное место. Человек всегда видит, где находится. */
@media(max-width:34rem){
  .svcb__steps{ display:flex; gap:.35rem; }
  .svcb__stepdot{ flex:0 0 auto; justify-content:center; }
  .svcb__stepdot-l{ display:none; }
  .svcb__stepdot.is-current{ flex:1 1 auto; justify-content:flex-start; }
  .svcb__stepdot.is-current .svcb__stepdot-l{ display:block; }
}

/* --- шаги --- */
.svcb__step[hidden]{ display:none; }
.svcb__field{ margin-bottom:var(--space-sm); }
.svcb__field:last-child{ margin-bottom:0; }
.svcb__row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:var(--space-sm); }
.svcb__flabel{
  display:block; margin-bottom:.5em;
  font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--color-contrast-medium);
}
.svcb__hint{ margin-top:var(--space-sm); font-size:var(--text-xs); color:var(--color-contrast-medium); }

/* --- плитки услуг --- */
.svcb__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.55rem; }
.svcb__tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2em;
  padding:.85em .9em; text-align:center; font-family:inherit; cursor:pointer;
  background:var(--color-bg); color:var(--color-contrast-higher);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}
.svcb__tile:hover{ border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.5); transform:translateY(-1px); }
.svcb__tile.is-active{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-white); }
.svcb__tile-name{ font-weight:700; font-size:var(--text-sm); }
.svcb__tile-note{ font-size:var(--text-xs); color:var(--color-contrast-medium); }
.svcb__tile.is-active .svcb__tile-note{ color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.85); }

/* --- поля --- */
.svcb__select-wrap{ position:relative; }
.svcb__select, .svcb__input{
  -webkit-appearance:none; appearance:none; width:100%;
  padding:.85em 1.1em; font-size:var(--text-sm); font-family:inherit; line-height:1.3;
  color:var(--color-contrast-higher); background:var(--color-bg);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.14);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.svcb__select{ padding-right:3em; cursor:pointer; }
.svcb__select:hover, .svcb__input:hover{ border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.45); }
.svcb__select:focus, .svcb__input:focus{ outline:none; border-color:var(--color-accent); box-shadow:0 0 0 3px hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.16); }
.svcb__caret{ position:absolute; right:1.1em; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--color-contrast-medium); }


/* --- дни --- */
.svcb__days{ display:flex; gap:.45rem; overflow-x:auto; padding-bottom:.4rem; scrollbar-width:none; }
.svcb__days::-webkit-scrollbar{ display:none; }
.svcb__day{
  flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:.05em;
  min-width:60px; padding:.6em .5em; font-family:inherit; cursor:pointer;
  background:var(--color-bg); color:var(--color-contrast-higher);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  transition:border-color .18s ease, background .18s ease;
}
.svcb__day:hover{ border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.5); }
.svcb__day.is-active{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-white); }
.svcb__day-w{ font-size:var(--text-xs); color:var(--color-contrast-medium); text-transform:uppercase; letter-spacing:.05em; }
.svcb__day-d{ font-size:var(--text-md); font-weight:700; line-height:1.1; }
.svcb__day-m{ font-size:var(--text-xs); color:var(--color-contrast-medium); }
.svcb__day.is-active .svcb__day-w, .svcb__day.is-active .svcb__day-m{ color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.85); }

/* --- слоты --- */
.svcb__slots-wrap{ margin-top:var(--space-md); }
.svcb__slots{ display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:.45rem; min-height:2.6em; }
.svcb__slot{
  padding:.6em .3em; font-family:inherit; font-size:var(--text-sm); font-weight:600; cursor:pointer;
  font-variant-numeric:tabular-nums;
  background:var(--color-bg); color:var(--color-contrast-higher);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  transition:border-color .18s ease, background .18s ease;
}
.svcb__slot:hover:not(:disabled){ border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.5); }
.svcb__slot.is-active{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-white); }
.svcb__slot:disabled{ opacity:.32; cursor:not-allowed; text-decoration:line-through; }
.svcb__slots-empty{ grid-column:1/-1; font-size:var(--text-sm); color:var(--color-contrast-medium); }

/* --- сводка: не отдельная плашка под шагами, а сноска внутри последнего шага --- */
.svcb__summary{
  margin-top:var(--space-md); padding:clamp(.8rem,2.2vw,1.1rem) clamp(.9rem,2.5vw,1.2rem);
  background:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.05);
  border-left:3px solid var(--color-accent);
  display:grid; gap:.55em;
}
.svcb__summary[hidden]{ display:none; }
.svcb__sum-title{ font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-accent); }
.svcb__sum-list{ display:grid; gap:.3em; }
.svcb__sum-row{ display:flex; gap:.8em; justify-content:space-between; align-items:baseline; font-size:var(--text-sm); }
.svcb__sum-k{ flex:0 0 auto; font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-medium); }
.svcb__sum-v{ text-align:right; color:var(--color-contrast-higher); font-weight:600; }

/* --- навигация --- */
.svcb__nav{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); margin-top:var(--space-md); }
.svcb__nav[hidden]{ display:none; }
.svcb__back{
  display:inline-flex; align-items:center; gap:.4em; padding:.6em .2em;
  background:none; border:0; font-family:inherit; font-size:var(--text-sm); font-weight:600;
  color:var(--color-contrast-medium); cursor:pointer; transition:color .2s ease;
}
.svcb__back:hover{ color:var(--color-contrast-higher); }
.svcb__back[hidden]{ visibility:hidden; display:inline-flex; }
.svcb .svcb__next{ border-radius:0; margin-left:auto; }
.svcb__next:disabled{ opacity:.45; cursor:not-allowed; }

/* --- экран после отправки --- */
.svcb__done{ text-align:center; padding:var(--space-md) 0; }
.svcb__done[hidden]{ display:none; }
.svcb__done-ic{ width:64px; height:64px; color:var(--color-accent); margin-bottom:var(--space-sm); }
.svcb__done-title{ font-size:var(--text-xl); font-weight:700; }
.svcb__done-text{ margin-top:var(--space-xs); color:var(--color-contrast-medium); font-size:var(--text-sm); max-width:44ch; margin-inline:auto; }
.svcb__restart{
  margin-top:var(--space-md); padding:.6em 1.2em; font-family:inherit; font-size:var(--text-sm); font-weight:600;
  background:none; color:var(--color-accent); border:2px solid var(--color-accent); cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.svcb__restart:hover{ background:var(--color-accent); color:var(--color-white); }

/* --- шаг «Автомобиль»: выбор марки/модели/года как в виджете оценки --- */
.svcb__picked{ display:flex; flex-direction:column; gap:var(--space-xxs); margin-bottom:var(--space-xs); }
.svcb__picked:empty{ display:none; }
.svcb__mileage{ margin-top:var(--space-md); }
.svcb__mileage[hidden]{ display:none; }

/* Строку с выбранным значением рисует разметка оценщика: там она скруглённая
   и с крупными отступами. В этом виджете вся геометрия прямоугольная,
   поэтому приводим её к общему виду — только внутри .svcb, оценщик не трогаем. */
.svcb .cvw-picked{
  background:var(--color-bg);
  border:2px solid hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),.12);
  border-radius:0;
  padding:.72em 1.1em;
  transition:border-color .18s ease;
}
.svcb .cvw-picked:hover{
  background:var(--color-bg);
  border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.5);
}
.svcb .cvw-picked__edit{ color:var(--color-accent); font-weight:600; }

/* --- запасные пути, когда внешний источник недоступен --- */
.svcb__fallback{ margin-top:var(--space-md); }
.svcb__fallback[hidden]{ display:none; }
.svcb__note{
  margin-top:var(--space-xxs); font-size:var(--text-xs); line-height:1.5;
  color:var(--color-contrast-medium);
}
.svcb__byphone-btn{
  margin-top:var(--space-xs); padding:.7em 1.2em;
  font-family:inherit; font-size:var(--text-sm); font-weight:600; cursor:pointer;
  background:none; color:var(--color-accent); border:2px solid var(--color-accent);
  transition:background .2s ease, color .2s ease;
}
.svcb__byphone-btn:hover:not(:disabled){ background:var(--color-accent); color:var(--color-white); }
.svcb__byphone-btn:disabled{ opacity:.6; cursor:default; border-color:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.4); }
.svcb__error{
  margin-top:var(--space-sm); padding:.8em 1em;
  font-size:var(--text-sm); line-height:1.5; color:var(--color-contrast-higher);
  background:hsla(var(--color-error-h),var(--color-error-s),var(--color-error-l),.08);
  border-left:3px solid var(--color-error);
}
.svcb__error[hidden]{ display:none; }
