@charset "UTF-8";

@font-face{ font-family:'VW Head'; src:url('../fonts/VWHeadRegular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'VW Head'; src:url('../fonts/VWHeadBold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:'VW Text'; src:url('../fonts/VWTextRegular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'VW Text'; src:url('../fonts/VWTextBold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }

body{ background:var(--color-white); color:var(--color-contrast-high); -webkit-font-smoothing:antialiased; overflow-x:clip; }
.badge{ max-width:100% !important; }
::selection{ background:var(--color-primary); color:var(--color-white); }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ color:var(--color-contrast-higher); letter-spacing:-0.02em; text-wrap:balance; }
h5,h6{ font-family:var(--font-secondary); font-weight:700; color:var(--color-contrast-higher); line-height:1.3; }
strong,b{ font-weight:700; }
a{ color:inherit; text-decoration:none; }

.head{ font-weight:400; line-height:1.02; letter-spacing:-0.03em; }
.head .t-b{ font-weight:700; letter-spacing:-0.035em; }
.eyebrow{ display:inline-flex; align-items:center; gap:.6em; font-size:var(--text-sm); font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--color-accent-darker); }
.eyebrow::before{ content:""; width:2.2em; height:1px; background:currentColor; opacity:.6; }
.lede{ color:var(--color-contrast-medium); line-height:1.65; font-weight:400; }

.js [data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity 1s cubic-bezier(.16,.7,.2,1), transform 1s cubic-bezier(.16,.7,.2,1); }
.js [data-reveal].is-in{ opacity:1; transform:none; transition:opacity 1s cubic-bezier(.16,.7,.2,1), transform 1s cubic-bezier(.16,.7,.2,1), box-shadow .6s, border-color .6s; }
@media (prefers-reduced-motion: reduce){ .js [data-reveal]{ opacity:1!important; transform:none!important; transition:none!important; } }
body[data-motion="off"] [data-reveal]{ opacity:1!important; transform:none!important; transition:none!important; }

.cine, .shot{ position:relative; overflow:hidden; background:
    repeating-linear-gradient(135deg, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .045) 0 2px, transparent 2px 11px),
    linear-gradient(160deg, var(--color-contrast-lower), var(--color-contrast-low)); }
.cine{ background:
    repeating-linear-gradient(135deg, hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .06) 0 2px, transparent 2px 13px),
    linear-gradient(160deg, var(--color-primary-light), var(--color-primary-darker) 60%, var(--color-bg-darker)); }
.cine::after{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .62); background:hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .4); }

.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:currentColor; }
.hdr__burger span{ height:2px; background:currentColor; border-radius:2px; transition:.35s; }

@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:flex; }
.hdr__logoimg{ height:54px; width:auto; display:block; filter:brightness(0) invert(1); transition:filter .4s; }
@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; text-transform:uppercase; 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__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; aspect-ratio:16/9; overflow:hidden; display:flex; padding:var(--space-sm); background:var(--color-contrast-lower); }
.dcard__shot{ position:absolute; inset:0; background:
    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; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-sm); letter-spacing:-.01em; color:var(--color-white); }
.drawer__foot{ padding:var(--space-md); 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:40px; height:40px; 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; } }

.hero{ position:relative; top:0; z-index:0; height:100svh; min-height:600px; max-height:980px; background:var(--color-primary-darker); color:var(--color-white); overflow:hidden; will-change:transform; }

.page-flow{ position:relative; z-index:1; background:var(--color-white); margin-top:var(--space-md); }
.hero--page{ height:84svh; min-height:560px; max-height:820px; }
.hero--page .hero__inner{ padding-bottom:var(--space-xxxl); }
.hero--page .hero__title{ margin:.55em 0 .65em; }
.hero--page .hero__sub{ margin-bottom:var(--space-sm); }
.hero--page .phero__crumbs{ margin-bottom:var(--space-lg); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .7); }
.hero--page .phero__crumbs a{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .7); }
.hero--page .phero__crumbs a:hover{ color:var(--color-white); }
.hero__track{ position:absolute; inset:0; }
.hero__slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.1s ease; }
.hero__slide.is-active{ opacity:1; visibility:visible; }
.hero__media{ position:absolute; inset:-6% 0 0 0; height:112%; transform:scale(1.06); transition:transform 6.5s ease-out; }
.hero__media--photo{ background-size:cover; background-position:center; }
.hero__slide.is-active .hero__media{ transform:scale(1); }
.hero__scrim{ position:absolute; inset:0; background:
    linear-gradient(90deg, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .88) 0%, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .5) 42%, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .5) 75%),
    linear-gradient(0deg, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .0) 0%, transparent 45%); }
.hero__inner{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; padding-bottom:0; }
.hero__cap{ max-width:var(--max-width-xs); display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-sm); }
.hero__title, .hero__cap .head{ color:var(--color-white); }
.hero__eyebrow{ color:var(--color-accent-light); }
.hero__title{ margin:0; line-height:1.04; }
.hero__title-1{ display:block; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xxl); letter-spacing:-.03em; }
@media(min-width:64rem){ .hero__title-1{ font-size:var(--text-xxxxl); } }
.hero__title-2{ display:block; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xxl); letter-spacing:-.02em; margin-top:var(--space-xxs); }
.hero__sub{ font-size:var(--text-md); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .82); line-height:1.5; }
.hero__cta{ margin-top:0; display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md); }

.hero__link{ display:inline-flex; align-items:center; gap:.6em; font-weight:600; font-size:var(--text-sm); color:var(--color-white); position:relative; padding:.3em 0; }
.hero__link svg{ transition:transform .35s cubic-bezier(.16,.7,.2,1); }
.hero__link::after{ content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:right .35s cubic-bezier(.16,.7,.2,1); }
.hero__link:hover::after{ right:0; }
.hero__link:hover svg{ transform:translateX(5px); }

.hero.is-anim .hero__slide.is-active .hero__cap > *{ animation:heroIn 1s cubic-bezier(.16,.7,.2,1) backwards; }
.hero.is-anim .hero__slide.is-active .hero__title{ animation-delay:.16s; }
.hero.is-anim .hero__slide.is-active .hero__sub{ animation-delay:.32s; }
.hero.is-anim .hero__slide.is-active .hero__cta{ animation-delay:.46s; }
@keyframes heroIn{ from{ opacity:0; transform:translateY(34px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .hero .hero__cap > *{ opacity:1!important; transform:none!important; animation:none!important; } }

.hero__ui{ position:absolute; left:0; right:0; bottom:var(--space-md); z-index:3; }
.hero__ui-in{ display:flex; align-items:center; gap:var(--space-md); }
.hero__dots{ display:flex; gap:.6rem; flex:1; }
.hero__dot{ position:relative; height:3px; flex:1; max-width:74px; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .28); border:0; padding:0; cursor:default; pointer-events:none; overflow:hidden; }
.hero__dot::after{ content:""; position:absolute; inset:0; transform:scaleX(0); transform-origin:left; background:var(--color-white); }
.hero__dot.is-active::after{ animation:heroBar 6.4s linear forwards; }
body[data-motion="off"] .hero__dot.is-active::after{ animation:none; transform:scaleX(1); }
@keyframes heroBar{ to{ transform:scaleX(1); } }
.hero__scroll{ position:absolute; left:50%; bottom:1.6rem; z-index:4; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.7rem; text-decoration:none; color:var(--color-white); opacity:.85; transition:opacity .35s; }
.hero__scroll:hover{ opacity:1; }
.hero__scroll-t{ font-size:var(--text-xs); font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.hero__scroll-line{ position:relative; width:1px; height:46px; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .35); overflow:hidden; }
.hero__scroll-line i{ position:absolute; left:0; top:0; width:100%; height:42%; background:var(--color-accent-light); }
@media(prefers-reduced-motion:no-preference){ .hero__scroll-line i{ animation:heroScroll 2s cubic-bezier(.7,0,.3,1) infinite; } }
@keyframes heroScroll{ 0%{ transform:translateY(-100%); } 60%,100%{ transform:translateY(240%); } }
@media(max-width:47.99rem){ .hero__scroll{ display:none; } }
.hero__arrows{ display:flex; gap:.5rem; }
.hero__arrow{ width:48px; height:48px; border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .32); background:transparent; color:var(--color-white); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.35s; }
.hero__arrow:hover{ background:var(--color-white); color:var(--color-primary); border-color:var(--color-white); }
.hero__count{ font-size:var(--text-sm); letter-spacing:.1em; color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .7); white-space:nowrap; font-variant-numeric:tabular-nums; }
.hero__count b{ color:var(--color-white); }

.countdown{ background:var(--color-primary); color:var(--color-white); }
.countdown__in{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md) var(--space-lg); padding:var(--space-md) 0; }
.countdown__txt{ font-weight:600; font-size:var(--text-md); max-width:var(--max-width-xs); }
.countdown__clock{ display:flex; gap:.7rem; margin-left:auto; }
.cd-cell{ text-align:center; min-width:62px; }
.cd-cell b{ display:block; font-size:var(--text-xl); font-weight:800; line-height:1; font-variant-numeric:tabular-nums; }
.cd-cell span{ font-size:var(--text-xs); letter-spacing:.16em; text-transform:uppercase; opacity:.7; }

.sec-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:var(--space-sm); }
.sec-head > .eyebrow{ flex-basis:100%; }
.sec-head--center{ justify-content:center; text-align:center; }
.sec-head--center > .eyebrow{ display:block; text-align:center; }
.sec-head__t{ font-size:var(--text-xxxl); max-width:var(--max-width-md); }
.sec-head__lede{ max-width:var(--max-width-xs); font-size:var(--text-md); }

.tabs{ display:inline-flex; gap:.4rem; padding:.3rem; border:1px solid var(--color-contrast-lower); border-radius:999px; }
.tabs button{ border:0; background:none; cursor:pointer; font-weight:600; font-size:var(--text-sm); padding:.5em 1.2em; border-radius:999px; color:var(--color-contrast-medium); transition:.3s; }
.tabs button.is-active{ background:var(--color-primary); color:var(--color-white); }

.rail{ display:flex; gap:var(--space-md); overflow-x:auto; padding-bottom:var(--space-sm); scrollbar-width:none; margin-inline:calc(50% - 50vw); padding-inline:calc(50vw - 50%); }

section:has(.rail){ overflow-x:clip; }
.rail::-webkit-scrollbar{ display:none; }
.mcard{ scroll-snap-align:start; flex:0 0 84%; max-width:430px; background:var(--color-white); border:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
@media(min-width:48rem){ .mcard{ flex-basis:42%; } }
@media(min-width:64rem){ .mcard{ flex-basis:31%; } }
.mcard:hover{ transform:translateY(-8px); box-shadow:0 20px 25px -18px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); border-color:transparent; }
.mcard__media{ position:relative; display:block; aspect-ratio:16/9; }
.mcard__media .shot{ position:absolute; inset:0; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.mcard:hover .mcard__media .shot{ transform:scale(1.05); }
.mcard__badge{ position:absolute; top:1rem; left:1rem; background:var(--color-primary); color:var(--color-white); font-size:var(--text-xs); font-weight:700; letter-spacing:.02em; padding:.5em .9em; }
.mcard__avail{ position:absolute; top:1rem; right:1rem; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .92); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.45em .8em; }
.mcard__body{ padding:var(--space-md); display:flex; flex-direction:column; flex:1; gap:.5rem; }
.mcard__name{ font-size:var(--text-lg); font-weight:700; letter-spacing:-.02em; }
.mcard__desc{ color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.55; flex:1; }
.mcard__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:.6rem; padding-top:var(--space-sm); border-top:1px solid var(--color-contrast-lower); }
.mcard__more{ display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:var(--text-base-size); color:var(--color-primary); }
.mcard__more svg{ transition:transform .35s; }
.mcard:hover .mcard__more svg{ transform:translateX(5px); }

.ocard{ scroll-snap-align:start; flex:0 0 80%; max-width:380px; position:relative; aspect-ratio:4/5; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; color:var(--color-white); isolation:isolate; }
@media(min-width:48rem){ .ocard{ flex-basis:44%; } }
@media(min-width:64rem){ .ocard{ flex-basis:24%; } }
.ocard .cine{ position:absolute; inset:0; z-index:-2; transition:transform .8s cubic-bezier(.16,.7,.2,1); }
.ocard::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .9) 8%, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .2) 60%, transparent); }
.ocard:hover .cine{ transform:scale(1.06); }
.ocard__body{ padding:var(--space-md); }
.ocard__tag{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent-light); }
.ocard__t{ font-size:var(--text-md); font-weight:700; line-height:1.25; margin:.5rem 0 .9rem; }
.ocard__more{ display:inline-flex; align-items:center; gap:.5em; font-weight:600; font-size:var(--text-sm); opacity:.9; border-bottom:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .3); padding-bottom:.2em; }

.preveal{ display:grid; grid-template-columns:1fr; }
@media(min-width:64rem){ .preveal{ grid-template-columns:1fr 1fr; align-items:stretch; } }
.preveal__text{ display:flex; flex-direction:column; justify-content:center; padding:var(--space-xl) var(--space-lg); }
@media(min-width:64rem){ .preveal__text{ padding:var(--space-xxl) var(--space-xl); padding-left:max(var(--space-lg), calc((100vw - var(--max-width-xl)) / 2)); } }
.preveal__t{ font-size:var(--text-xxxl); color:var(--color-contrast-higher); line-height:1.08; margin-top:var(--space-sm); }
.preveal__lede{ color:var(--color-contrast-medium); font-size:var(--text-md); line-height:1.6; max-width:var(--max-width-xs); margin-top:var(--space-md); }
.preveal__cta{ margin-top:var(--space-lg); }
.preveal__media{ position:relative; overflow:hidden; min-height:62vw; }
@media(min-width:64rem){ .preveal__media{ min-height:0; } }
.preveal__media .shot{ position:absolute; inset:0; background-size:cover; background-position:center; }

.js .preveal__media{ clip-path:inset(0 14% 0 14%); transition:clip-path 1.1s cubic-bezier(.16,.7,.2,1); }
.js .preveal__media .shot{ transform:scale(1.14); transition:transform 1.4s cubic-bezier(.16,.7,.2,1); }
.js .preveal__text > *{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s cubic-bezier(.16,.7,.2,1); }
.preveal.is-in .preveal__media{ clip-path:inset(0 0 0 0); }
.preveal.is-in .preveal__media .shot{ transform:scale(1); }
.preveal.is-in .preveal__text > *{ opacity:1; transform:none; }
.js .preveal.is-in .preveal__text > *:nth-child(2){ transition-delay:.08s; }
.js .preveal.is-in .preveal__text > *:nth-child(3){ transition-delay:.16s; }
.js .preveal.is-in .preveal__text > *:nth-child(4){ transition-delay:.24s; }
body[data-motion="off"] .preveal__media,
body[data-motion="off"] .preveal__media .shot,
body[data-motion="off"] .preveal__text > *{ clip-path:none; transform:none; opacity:1; transition:none; }

.promo{ display:grid; grid-template-columns:1fr; }
@media(min-width:64rem){ .promo{ grid-template-columns:1fr 1fr; align-items:stretch; } }
.promo__text{ display:flex; flex-direction:column; justify-content:center; padding:var(--space-xl) var(--space-lg); }
@media(min-width:64rem){ .promo__text{ padding:var(--space-xxl) var(--space-xl); padding-left:max(var(--space-lg), calc((100vw - var(--max-width-xl)) / 2)); } }
.promo__t{ font-size:var(--text-xxxl); color:var(--color-contrast-higher); line-height:1.08; margin-top:var(--space-sm); }
.promo__lede{ color:var(--color-contrast-medium); font-size:var(--text-md); line-height:1.6; max-width:var(--max-width-xs); margin-top:var(--space-md); }
.promo__hl{ font-size:var(--text-lg); font-weight:700; color:var(--color-primary); margin-top:var(--space-lg); }
.promo__hl a{ color:var(--color-primary); transition:opacity .3s; }
.promo__hl a:hover{ opacity:.7; }
.promo__cta{ margin-top:var(--space-lg); }
.promo__media{ position:relative; overflow:hidden; min-height:62vw; }
@media(min-width:64rem){ .promo__media{ min-height:0; } }
.promo__media .shot{ position:absolute; inset:0; background-size:cover; background-position:center; }

@media(min-width:64rem){
  .promo--rev .promo__media{ order:1; }
  .promo--rev .promo__text{ order:2; padding-left:var(--space-xl); padding-right:max(var(--space-lg), calc((100vw - var(--max-width-xl)) / 2)); }
}
.promo__list {
  list-style: none;
  margin: var(--space-sm) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.promo__list li {
  position: relative;
  padding-left: 1.9rem;
  color: var(--color-contrast-high);
  line-height: 1.5;
}
.promo__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 18px;
  height: 10px;
  border-left: 2px solid var(--color-accent);
  border-bottom: 2px solid var(--color-accent);
  transform: rotate(-45deg);
}
.promo__list--lede li {
  color: var(--color-contrast-medium);
  font-size: var(--text-md);
  line-height: 1.6;
}

.gcards{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:40rem){ .gcards{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .gcards{ grid-template-columns:repeat(3,1fr); } }
.gcard{ position:relative; display:block; overflow:hidden; background:var(--color-white); aspect-ratio:3/4; text-decoration:none; color:inherit; }
.gcard__body{ position:relative; z-index:2; padding:var(--space-lg); }
@media(min-width:64rem){ .gcard__body{ padding:var(--space-md); } }
.gcard__t{ font-size:var(--text-xl); color:var(--color-primary); line-height:1.1; }
.gcard__more{ display:inline-flex; align-items:center; gap:.45em; margin-top:var(--space-sm); font-size:var(--text-sm); font-weight:700; color:var(--color-primary); }
.gcard__more svg{ width:18px; height:18px; transition:transform .35s; }
.gcard:hover .gcard__more svg{ transform:translateX(5px); }

.gcard__media{ position:absolute; inset:0; z-index:1; }
.gcard__media .shot{ position:absolute; inset:0; background-size:cover; background-position:bottom center; transform-origin:bottom center; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.gcard:hover .gcard__media .shot{ transform:scale(1.04); }
.gcard__media .shot::after{ left:auto; right:1rem; bottom:1rem; transform:none; }

.stats{ border-block:1px solid var(--color-contrast-lower); }
.stats__grid{ display:grid; grid-template-columns:repeat(2,1fr); }
@media(min-width:48rem){
  .stats__grid--1{ grid-template-columns:1fr; }
  .stats__grid--2{ grid-template-columns:repeat(2,1fr); }
  .stats__grid--3{ grid-template-columns:repeat(3,1fr); }
  .stats__grid--4{ grid-template-columns:repeat(4,1fr); }
}
.stat{ padding:var(--space-lg) var(--space-md); border-right:1px solid var(--color-contrast-lower); border-bottom:1px solid var(--color-contrast-lower); }
@media(min-width:48rem){ .stat{ border-bottom:0; } .stat:last-child{ border-right:0; } }
.stat .stat__ico{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-accent-darker); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .15); margin-bottom:var(--space-md); }
.stat .stat__ico svg{ width:25px; height:25px; }
.stat b{ display:block; font-size:var(--text-xxxl); font-weight:800; line-height:1; letter-spacing:-.03em; color:var(--color-contrast-higher); font-variant-numeric:tabular-nums; }
.stat b span{ font-size:inherit; font-weight:inherit; color:inherit; line-height:inherit; margin:0; }
.stat b i{ font-style:normal; color:var(--color-accent-darker); }
.stat b .stat__suffix{ color:var(--color-accent); font-size:var(--text-lg); font-weight:700; margin-left:var(--space-xxs); }
.stat > span{ display:block; margin-top:.7rem; color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.45; }

.faq{ display:flex; flex-direction:column; border-top:1px solid var(--color-contrast-lower); }
.faq__item{ border-bottom:1px solid var(--color-contrast-lower); }
.faq__q{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); padding:var(--space-md) 0; font-family:var(--font-secondary); font-weight:600; font-size:var(--text-md); line-height:1.35; color:var(--color-contrast-higher); transition:color .25s; }
.faq__q::-webkit-details-marker{ display:none; }
.faq__q:hover{ color:var(--color-primary); }
.faq__ico{ position:relative; flex:0 0 auto; width:22px; height:22px; }
.faq__ico::before, .faq__ico::after{ content:""; position:absolute; left:50%; top:50%; background:var(--color-primary); transition:transform .3s, opacity .3s; }
.faq__ico::before{ width:14px; height:2px; transform:translate(-50%,-50%); }
.faq__ico::after{ width:2px; height:14px; transform:translate(-50%,-50%); }
.faq__item[open] .faq__ico::after{ transform:translate(-50%,-50%) scaleY(0); opacity:0; }
.faq__a{ padding:0 0 var(--space-md); max-width:62ch; color:var(--color-contrast-high); line-height:1.6; }
.faq__a p + p{ margin-top:.7em; }
.tonote{ margin-top:var(--space-md); font-size:var(--text-sm); color:var(--color-contrast-medium); }

.giftband{ background:var(--color-primary); color:var(--color-white); }
.giftband__in{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md) var(--space-lg); }
.giftband__ico{ flex:none; width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .12); }
.giftband__ico svg{ width:32px; height:32px; color:var(--color-white); }
.giftband__t{ flex:1 1 320px; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-lg); line-height:1.25; letter-spacing:-.01em; }

.adv__grid{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--color-contrast-lower); border-left:1px solid var(--color-contrast-lower); }
@media(min-width:40rem){ .adv__grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .adv__grid{ grid-template-columns:repeat(3,1fr); } }
.adv__cell{ position:relative; padding:var(--space-lg) var(--space-md); border-right:1px solid var(--color-contrast-lower); border-bottom:1px solid var(--color-contrast-lower); transition:background .4s; overflow:hidden; }
.adv__cell::before{ content:""; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--color-accent); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.16,.7,.2,1); }
.adv__cell:hover{ background:var(--color-contrast-lower); }
.adv__cell:hover::before{ transform:scaleX(1); }
.adv__n{ font-size:var(--text-sm); color:var(--color-accent-darker); font-weight:600; font-variant-numeric:tabular-nums; }
.adv__t{ font-size:var(--text-md); font-weight:700; letter-spacing:-.01em; margin:1.4rem 0 .5rem; }
.adv__d{ color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.55; }

.cta{ position:relative; overflow:hidden; background:var(--color-primary-darker); color:var(--color-white); }
.cta__glow{ position:absolute; width:60vw; height:60vw; border-radius:50%; right:-18vw; top:-22vw; background:radial-gradient(circle, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .22), transparent 62%); pointer-events:none; }
.cta__grid{ display:grid; grid-template-columns:1fr; gap:var(--space-xl); position:relative; }
@media(min-width:64rem){ .cta__grid{ grid-template-columns:1.3fr .7fr; align-items:center; } }
.cta__t{ font-size:var(--text-xl); color:var(--color-white); }
@media(min-width:64rem){ .cta__t{ font-size:var(--text-xxxl); } }
.cta__lede{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .74); font-size:var(--text-md); line-height:1.6; max-width:var(--max-width-sm); margin-top:var(--space-md); }
.cta__panel{ background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .04); border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .12); padding:var(--space-xl) var(--space-lg); border-radius:0; display:flex; flex-direction:column; gap:var(--space-sm); }
.cta__panel h3{ color:var(--color-white); font-size:var(--text-xl); font-weight:700; text-align:center; }
.cta__panel p{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .6); font-size:var(--text-base-size); margin:.2rem 0 var(--space-xs); text-align:center; }
.cta__panel .btn{ width:100%; }

.ftr{ background:var(--color-bg-dark); color:var(--color-contrast-medium); border-top:1px solid var(--color-contrast-lower); }
.ftr__top{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:48rem){ .ftr__top{ grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--space-xl); } }
.ftr__logos{ display:flex; align-items:center; gap:var(--space-sm); }
.ftr__sigma{ height:26px; width:auto; display:block; }
.ftr__divider{ width:1px; height:40px; background:var(--color-contrast-low); flex:none; }
.ftr__logoimg{ height:52px; width:auto; display:block; opacity:1; }
.ftr__brand p{ margin-top:var(--space-md); font-size:var(--text-sm); line-height:1.6; max-width:var(--max-width-xxs); color:var(--color-contrast-medium); }
.ftr__col h4{ color:var(--color-primary); font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:var(--space-md); }
.ftr__col a{ display:block; padding:.4rem 0; font-size:var(--text-sm); color:var(--color-contrast-high); transition:color .3s, padding-left .3s; }
.ftr__col a:hover{ color:var(--color-accent-darker); padding-left:.4rem; }
.ftr__sub{ display:flex; gap:.5rem; margin-top:var(--space-sm); }
.ftr__sub .fld{ margin:0; height:50px; background:var(--color-contrast-lower); border-color:var(--color-contrast-low); color:var(--color-contrast-higher); }
.ftr__sub .fld::placeholder{ color:var(--color-contrast-medium); }
.ftr__bottom{ display:flex; flex-wrap:wrap; gap:var(--space-sm) var(--space-lg); align-items:center; justify-content:space-between; border-top:1px solid var(--color-contrast-low); margin-top:var(--space-xl); padding-top:var(--space-lg); font-size:var(--text-sm); color:var(--color-contrast-medium); }
.ftr__bottom a{ color:var(--color-contrast-medium); border-bottom:1px solid var(--color-contrast-low); }
.ftr__social{ display:flex; gap:.6rem; margin-top:var(--space-md); }
.ftr__social a{ width:40px; height:40px; 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; }
.ftr__social a:hover{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }

.about__grid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:64rem){ .about__grid{ grid-template-columns:.8fr 1.2fr; gap:var(--space-xxl); align-items:start; } }
.about__text > p{ color:var(--color-contrast-medium); font-size:var(--text-md); line-height:1.7; }
.about__text > p + p{ margin-top:var(--space-sm); }
.about__media{ aspect-ratio:16/7; width:100%; }
.about__side{ position:relative; aspect-ratio:4/3; overflow:hidden; }
@media(min-width:64rem){ .about__side{ aspect-ratio:auto; height:100%; min-height:360px; } }

.banner{ position:relative; width:100%; height:90svh; min-height:520px; max-height:840px; overflow:hidden; isolation:isolate; color:var(--color-white); }
.banner__media{ position:absolute; left:0; right:0; top:-12%; height:124%; z-index:-2; will-change:transform; }
.banner__media--photo{ background-size:cover; background-position:center; }

.banner .cine::after{ left:auto; right:1.1rem; bottom:1.1rem; transform:none; }
.banner__scrim{ position:absolute; inset:0; z-index:-1; background:
    linear-gradient(90deg, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .85) 0%, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .5) 42%, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 0) 74%),
    linear-gradient(0deg, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .4) 0%, transparent 42%); }
.banner__inner{ position:relative; z-index:1; height:100%; display:flex; flex-direction:column; justify-content:center; }
.banner__cap{ max-width:var(--max-width-sm); display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-md); }
.banner__eyebrow{ color:var(--color-accent-light); }
.banner__title{ color:var(--color-white); line-height:1.04; }
.banner__sub{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .84); font-size:var(--text-md); line-height:1.55; max-width:var(--max-width-xs); }
.banner__cta{ margin-top:var(--space-sm); }

.phero{ position:relative; background:var(--color-primary-darker); color:var(--color-white); overflow:hidden; }
.phero__glow{ position:absolute; width:50vw; height:50vw; border-radius:50%; right:-14vw; top:-22vw; background:radial-gradient(circle, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .18), transparent 62%); pointer-events:none; }
.phero__in{ position:relative; padding-top:calc(114px + var(--space-md)); padding-bottom:var(--space-xl); }
.phero__crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.5em; font-size:var(--text-sm); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .6); margin-bottom:var(--space-md); }
.phero__crumbs a{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .6); transition:color .3s; }
.phero__crumbs a:hover{ color:var(--color-white); }
.phero__crumbs span{ color:var(--color-accent-light); }
.phero__title{ font-size:var(--text-xxxl); color:var(--color-white); max-width:var(--max-width-xs); }
.phero__lede{ margin-top:var(--space-xs); max-width:var(--max-width-sm); font-size:var(--text-md); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .8); line-height:1.6; }

.phero--light{ background:var(--color-white); color:var(--color-contrast-higher); }
.phero--light .phero__glow{ background:radial-gradient(circle, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .12), transparent 64%); }
.phero--light .phero__crumbs{ color:var(--color-contrast-medium); }
.phero--light .phero__crumbs a{ color:var(--color-contrast-medium); }
.phero--light .phero__crumbs a:hover{ color:var(--color-primary); }
.phero--light .phero__crumbs span{ color:var(--color-accent-darker); }
.phero--light .phero__title{ color:var(--color-contrast-higher); }
.phero--light .phero__lede{ color:var(--color-contrast-medium); }
.phero--light .phero__in{ border-bottom:1px solid var(--color-contrast-lower); }

.phero--crumbs .phero__in{ padding-top:calc(160px); padding-bottom:0; }
.phero--head .phero__in{ padding-top:calc(56px + var(--space-xl)); padding-bottom:var(--space-lg); }
body[data-hdr-solid] .phero--head .phero__in{ padding-top:calc(160px); }
.phero--head .phero__title{ max-width:var(--max-width-sm); margin-top:var(--space-xs); }
.phero--head .phero__title span{ color:var(--color-accent-darker); }
.phero__eyebrow{ display:inline-flex; align-items:center; gap:.6em; font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); }
.phero__eyebrow::before{ content:""; width:28px; height:2px; background:var(--color-accent-darker); }

body[data-hdr-solid] .hdr__brandmark-w{ opacity:0; }
body[data-hdr-solid] .hdr__brandmark-d{ opacity:1; }

@media(max-width:63.99rem){
  body[data-hdr-solid] .hdr__logoimg{ filter:none; }
}

.contacts__grid{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:64rem){ .contacts__grid{ grid-template-columns:1.35fr .65fr; align-items:start; gap:var(--space-lg); } }
.cinfo{ display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid var(--color-contrast-lower); }
@media(min-width:40rem){ .cinfo{ grid-template-columns:1fr 1fr; } }
.cinfo__cell{ display:flex; gap:var(--space-md); padding:var(--space-md) 0; border-bottom:1px solid var(--color-contrast-lower); }
@media(min-width:40rem){ .cinfo__cell:nth-child(odd){ padding-right:var(--space-lg); } .cinfo__cell:nth-child(even){ padding-left:var(--space-lg); border-left:1px solid var(--color-contrast-lower); } }
.cinfo__ico{ flex:none; width:42px; height:42px; display:flex; align-items:center; justify-content:center; color:var(--color-primary); border:1px solid var(--color-contrast-lower); border-radius:50%; }
.cinfo__ico svg{ width:21px; height:21px; }
.cinfo__k{ font-size:var(--text-xs); letter-spacing:.12em; text-transform:uppercase; color:var(--color-contrast-medium); margin-bottom:.3rem; }
.cinfo__v{ font-size:var(--text-md); font-weight:700; color:var(--color-contrast-higher); line-height:1.35; }
.cinfo__v a{ transition:color .3s; }
.cinfo__v a:hover{ color:var(--color-accent-darker); }
.cinfo__sub{ font-size:var(--text-sm); font-weight:400; color:var(--color-contrast-medium); margin-top:.2rem; }
.csocial{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:var(--space-lg); }
.csocial a{ display:inline-flex; align-items:center; gap:.55em; padding:.6em 1.1em; border:1px solid var(--color-contrast-lower); border-radius:999px; font-size:var(--text-sm); font-weight:600; color:var(--color-primary); transition:.3s; }
.csocial a svg{ width:18px; height:18px; flex:none; }
.csocial a:hover{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); transform:translateY(-2px); }

.ccard{ background:var(--color-primary-darker); color:var(--color-white); padding:var(--space-lg); position:relative; overflow:hidden; display:flex; flex-direction:column; }
.ccard__glow{ position:absolute; width:24rem; height:24rem; border-radius:50%; right:-10rem; top:-12rem; background:radial-gradient(circle, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .22), transparent 62%); pointer-events:none; }
.ccard__ico{ position:relative; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .08); border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .16); margin-bottom:var(--space-md); }
.ccard__ico svg{ width:26px; height:26px; color:var(--color-accent-light); }
.ccard h3{ position:relative; color:var(--color-white); font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; }
.ccard p{ position:relative; color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .66); font-size:var(--text-sm); line-height:1.6; margin:.6rem 0 var(--space-md); }
.ccard__actions{ position:relative; display:flex; flex-direction:column; gap:var(--space-sm); }
.ccard__actions .btn{ width:100%; }
.ccard__div{ position:relative; height:1px; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .12); margin:var(--space-lg) 0; }
.ccard__quick{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); flex-wrap:wrap; }
.ccard__phone span{ display:block; font-size:var(--text-xs); letter-spacing:.12em; text-transform:uppercase; color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .5); margin-bottom:.25rem; }
.ccard__phone b{ font-size:var(--text-lg); font-weight:700; color:var(--color-white); }
.ccard__phone b a{ color:var(--color-white); }
.ccard__msgr{ display:flex; gap:.5rem; }
.ccard__msgr a{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:var(--text-xs); font-weight:700; color:var(--color-white); border:1px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .22); transition:.3s; }
.ccard__msgr a:hover{ background:var(--color-accent); border-color:var(--color-accent); color:var(--color-primary-darker); transform:translateY(-2px); }

.locmap{ position:relative; min-height:660px; overflow:hidden; display:flex; align-items:center; background:var(--color-contrast-lower); }
.locmap__ymap{ position:absolute; inset:0; z-index:0; }

.map-pin{ position:relative; cursor:pointer; width:22px; height:22px; transform:translate(-50%,-100%); }
.map-pin__dot{ position:absolute; inset:0; }
.map-pin__dot::before{ content:""; position:absolute; inset:0; border-radius:50% 50% 50% 0; background:var(--color-primary); transform:rotate(-45deg); box-shadow:0 8px 18px -5px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .6); transition:transform .3s; }
.map-pin:hover .map-pin__dot::before{ transform:rotate(-45deg) scale(1.2); }
.map-pin__dot::after{ content:""; position:absolute; left:50%; top:42%; width:7px; height:7px; border-radius:50%; background:var(--color-white); transform:translate(-50%,-50%); }
.map-pin__pulse{ position:absolute; left:50%; top:50%; width:22px; height:22px; border-radius:50%; transform:translate(-50%,-50%); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .4); }
@media(prefers-reduced-motion:no-preference){ .map-pin__pulse{ animation:locPulse 2.6s ease-out infinite; } }
.map-balloon{ position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); background:var(--color-white); border:1px solid var(--color-contrast-lower); box-shadow:0 12px 36px rgba(0,0,0,.15); padding:var(--space-md); min-width:280px; max-width:320px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s, visibility .3s; z-index:10; }
.map-pin.is-open .map-balloon{ opacity:1; visibility:visible; pointer-events:auto; }
.map-balloon::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:8px solid transparent; border-top-color:var(--color-white); }
.map-balloon__title{ font-weight:700; font-size:var(--text-md); color:var(--color-contrast-higher); margin-bottom:var(--space-xs); }
.map-balloon__tag{ font-size:var(--text-xs); font-weight:600; color:var(--color-accent-darker); background:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.12); padding:.15em .5em; margin-left:.4em; vertical-align:middle; }
.map-balloon__row{ display:flex; align-items:center; gap:.5em; font-size:var(--text-sm); color:var(--color-contrast-high); padding:.25em 0; }
.map-balloon__row svg{ flex:none; color:var(--color-primary); }
.map-balloon__row a{ color:var(--color-primary); }
.locmap__roads{ position:absolute; inset:0; pointer-events:none; }
.locmap__roads i{ position:absolute; background:var(--color-white); box-shadow:0 0 0 1px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .05); }
.locmap__park{ position:absolute; border-radius:46% 54% 50% 50%; background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .07); }

.locmap__pin{ position:absolute; width:22px; height:22px; transform:translate(-50%,-50%); z-index:2; }
.locmap__pin::before{ content:""; position:absolute; inset:0; border-radius:50% 50% 50% 0; background:var(--color-primary); transform:rotate(-45deg); box-shadow:0 8px 18px -5px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .6); }
.locmap__pin::after{ content:""; position:absolute; left:50%; top:42%; width:7px; height:7px; border-radius:50%; background:var(--color-white); transform:translate(-50%,-50%); }
.locmap__pin span{ position:absolute; left:50%; top:50%; width:22px; height:22px; border-radius:50%; transform:translate(-50%,-50%); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .4); }
@media (prefers-reduced-motion: no-preference){ .locmap__pin span{ animation:locPulse 2.6s ease-out infinite; } }
@keyframes locPulse{ 0%{ box-shadow:0 0 0 0 hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .4); } 100%{ box-shadow:0 0 0 30px hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0); } }
.locmap__overlay{ position:relative; z-index:3; width:100%; pointer-events:none; }
.locpanel{ pointer-events:auto; }

.locpanel{ max-width:var(--max-width-xs); background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .9); -webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%); border:1px solid var(--color-white); box-shadow:0 40px 90px -44px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); padding:var(--space-lg); }
.locpanel__list{ margin-top:var(--space-md); }
.locpanel .sec-head__t{ font-size:var(--text-xl); }
.locx{ padding:var(--space-sm) 0; border-top:1px solid var(--color-contrast-lower); }
.locx:first-child{ border-top:0; padding-top:0; }
.locx:last-child{ padding-bottom:0; }
.locx__name{ display:flex; align-items:center; gap:.6em; font-size:var(--text-lg); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); }
.locx__tag{ font-size:var(--text-xs); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--color-primary); background:var(--color-bg-dark); padding:.35em .7em; }
.locx__rows{ margin-top:.8rem; display:flex; flex-direction:column; gap:.55rem; }
.locx__row{ display:flex; gap:.7rem; align-items:flex-start; font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.45; }
.locx__row svg{ flex:none; width:18px; height:18px; color:var(--color-accent-darker); margin-top:.1em; }
.locx__row a:hover{ color:var(--color-accent-darker); }
.locx__btn{ margin-top:var(--space-sm); }

.catalog__layout{ display:block; }
@media(min-width:64rem){ .catalog__layout{ display:grid; grid-template-columns:300px 1fr; gap:var(--space-xl); align-items:start; } }

.filters{ position:fixed; inset:0 auto 0 0; z-index:65; width:min(86vw,360px); background:var(--color-white); transform:translateX(-100%); transition:transform .42s cubic-bezier(.16,.7,.2,1); display:flex; flex-direction:column; box-shadow:30px 0 60px -34px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); }
.filters.is-open{ transform:none; }
.filters__scrim{ position:fixed; inset:0; z-index:64; background:hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .55); opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s; }
.filters.is-open ~ .filters__scrim, .filters.is-open + .filters__scrim{ opacity:1; visibility:visible; }
.filters__head{ display:flex; align-items:center; justify-content:space-between; padding:var(--space-md); border-bottom:1px solid var(--color-contrast-lower); flex:none; }
.filters__title{ font-family:var(--font-secondary); font-size:var(--text-lg); font-weight:700; color:var(--color-contrast-higher); }
.filters__close{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; background:none; border:0; color:var(--color-contrast-higher); cursor:pointer; }
.filters__close svg{ width:22px; height:22px; }
.filters__body{ flex:1; overflow-y:auto; padding:0 var(--space-md); -webkit-overflow-scrolling:touch; }
.filters__actions{ position:sticky; bottom:0; background:var(--color-white); border-top:1px solid var(--color-contrast-lower); padding:var(--space-md) 0; display:flex; flex-direction:column; gap:var(--space-xs); margin-top:var(--space-sm); }
.filters__actions .btn{ width:100%; }
.filters__reset{ background:none; border:0; cursor:pointer; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-medium); padding:.6em; transition:color .3s; }
.filters__reset:hover{ color:var(--color-primary); }
@media(min-width:64rem){
  .filters{ position:sticky; inset:auto; top:96px; width:auto; transform:none; box-shadow:none; border:1px solid var(--color-contrast-lower); }
  .filters__head{ display:none; }
  .filters__body{ overflow:visible; padding:var(--space-md); }
  .filters__scrim{ display:none; }
  .filters__actions{ position:static; }
}

.fgroup{ padding:var(--space-md) 0; border-top:1px solid var(--color-contrast-lower); }
.fgroup:first-of-type{ border-top:0; }
.fgroup__t{ font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-contrast-medium); margin-bottom:var(--space-sm); }

.fopt{ display:flex; align-items:center; gap:.7rem; padding:.42rem 0; cursor:pointer; user-select:none; }
.fopt input{ position:absolute; opacity:0; width:0; height:0; }
.fopt__box{ flex:none; width:20px; height:20px; border:1.5px solid var(--color-contrast-low); border-radius:5px; display:flex; align-items:center; justify-content:center; transition:border-color .25s, background .25s; }
.fopt__box::after{ content:""; width:10px; height:6px; border-left:2px solid var(--color-white); border-bottom:2px solid var(--color-white); transform:rotate(-45deg) scale(0); transform-origin:center; transition:transform .2s ease; margin-top:-2px; }
.fopt input:checked + .fopt__box{ background:var(--color-primary); border-color:var(--color-primary); }
.fopt input:checked + .fopt__box::after{ transform:rotate(-45deg) scale(1); }
.fopt input:focus-visible + .fopt__box{ box-shadow:0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .25); }
.fopt__label{ font-size:var(--text-sm); color:var(--color-contrast-high); flex:1; transition:color .25s; }
.fopt:hover .fopt__label{ color:var(--color-contrast-higher); }
.fopt__count{ font-size:var(--text-xs); color:var(--color-contrast-medium); font-variant-numeric:tabular-nums; }

.fchips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.fchip{ cursor:pointer; user-select:none; }
.fchip input{ position:absolute; opacity:0; width:0; height:0; }
.fchip span{ display:inline-flex; align-items:center; justify-content:center; padding:.5em 1em; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-high); border:1px solid var(--color-contrast-lower); border-radius:999px; transition:.25s; }
.fchip:hover span{ border-color:var(--color-contrast-low); }
.fchip input:checked + span{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }
.fchip input:focus-visible + span{ box-shadow:0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .25); }

.frange__vals{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); margin-bottom:.9rem; font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); font-variant-numeric:tabular-nums; }
.frange__track{ position:relative; height:24px; }
.frange__track::before{ content:""; position:absolute; left:0; right:0; top:50%; height:3px; transform:translateY(-50%); background:var(--color-contrast-lower); border-radius:3px; }
.frange__fill{ position:absolute; top:50%; height:3px; transform:translateY(-50%); background:var(--color-primary); border-radius:3px; }
.frange input[type=range]{ position:absolute; left:0; top:0; width:100%; height:24px; margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none; }
.frange input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; pointer-events:all; width:20px; height:20px; border-radius:50%; background:var(--color-white); border:2px solid var(--color-primary); box-shadow:0 2px 6px -1px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); cursor:pointer; }
.frange input[type=range]::-moz-range-thumb{ pointer-events:all; width:20px; height:20px; border-radius:50%; background:var(--color-white); border:2px solid var(--color-primary); box-shadow:0 2px 6px -1px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); cursor:pointer; }

.results__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-sm) var(--space-md); margin-bottom:var(--space-md); }
.results__filterbtn{ display:inline-flex; align-items:center; gap:.55em; padding:.65em 1.1em; font-size:var(--text-sm); font-weight:700; color:var(--color-primary); background:var(--color-white); border:1px solid var(--color-contrast-lower); cursor:pointer; transition:.3s; }
.results__filterbtn svg{ width:18px; height:18px; }
.results__filterbtn:hover{ border-color:var(--color-primary); }
@media(min-width:64rem){ .results__filterbtn{ display:none; } }
.results__sort{ display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.results__sort label{ font-size:var(--text-sm); color:var(--color-contrast-medium); white-space:nowrap; }
.results__sort .fsort{ font-family:inherit; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-higher); background:var(--color-white); border:1px solid var(--color-contrast-lower); padding:.6em 2.4em .6em 1em; cursor:pointer; appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001e50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .8em center; background-size:16px; transition:border-color .3s; }
.results__sort .fsort:hover{ border-color:var(--color-primary); }
.results__count{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin-bottom:var(--space-md); }
.results__count b{ color:var(--color-contrast-higher); }

.vgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:30rem){ .vgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:75rem){ .vgrid{ grid-template-columns:repeat(3,1fr); } }

.vcard{ background:var(--color-white); border:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
.vcard:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); border-color:transparent; }
.vcard__media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.vcard__media figure{ position:relative; width:100%; height:100%; margin:0; }
.vcard__media figure img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .4s ease; }
.vcard__media figure img:nth-child(2){ opacity:0; }
.vcard__media figure img:nth-child(2) ~ *{ }
.vcard:hover .vcard__media figure img:first-child:not(:only-child){ opacity:0; }
.vcard:hover .vcard__media figure img:nth-child(2){ opacity:1; }

.btn--loading{ pointer-events:none; position:relative; }
.btn--loading span{ opacity:0; transition:opacity .25s ease; }
.btn--loading::after{ content:""; position:absolute; width:20px; height:20px; border:2px solid currentColor; border-top-color:transparent; border-radius:50%; animation:btn-spin .6s linear infinite, btn-fade-in .25s ease both; }
@keyframes btn-spin{ to{ transform:rotate(360deg); } }
@keyframes btn-fade-in{ from{ opacity:0; } to{ opacity:1; } }

.vcard-skel{ background:var(--color-white); border:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; overflow:hidden; }
.vcard-skel__media{ aspect-ratio:4/3; background:var(--color-contrast-lower); }
.vcard-skel__body{ padding:var(--space-md) var(--space-sm); display:flex; flex-direction:column; gap:var(--space-sm); }
.vcard-skel__line{ height:14px; border-radius:4px; background:var(--color-contrast-lower); }
.vcard-skel__line--short{ width:60%; }
.vcard-skel__line--xs{ width:40%; height:10px; }
.vcard-skel__specs{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--color-contrast-lower); border:1px solid var(--color-contrast-lower); margin:var(--space-xs) 0; }
.vcard-skel__spec{ background:var(--color-white); padding:.6rem .85rem; height:42px; }
.vcard-skel__btn{ height:42px; border-radius:999px; background:var(--color-contrast-lower); margin-top:var(--space-xs); }
@keyframes shimmer{ 0%{background-position:-400px 0} 100%{background-position:400px 0} }
.vcard-skel .vcard-skel__media,
.vcard-skel .vcard-skel__line,
.vcard-skel .vcard-skel__spec,
.vcard-skel .vcard-skel__btn{ background:linear-gradient(90deg, var(--color-contrast-lower) 0%, hsla(var(--color-contrast-low-h,0),var(--color-contrast-low-s,0%),var(--color-contrast-low-l,90%),.5) 50%, var(--color-contrast-lower) 100%); background-size:800px 100%; animation:shimmer 1.6s infinite linear; }

.vcard{ transition:opacity .4s ease, transform .4s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
.vcard--entering{ opacity:0; transform:translateY(16px); }
.vcard__link{ position:absolute; inset:0; z-index:1; }
.vcard{ position:relative; }
.vcard__foot{ position:relative; z-index:2; }
.vcard__call{ position:relative; z-index:2; }
.vcard__media .shot{ position:absolute; inset:0; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.vcard:hover .vcard__media .shot{ transform:scale(1.05); }
.vcard__save{ position:absolute; top:.8rem; left:.8rem; background:var(--color-accent); color:var(--color-primary-darker); font-size:var(--text-xs); font-weight:700; letter-spacing:.01em; padding:.45em .8em; }
.vcard__state{ position:absolute; top:.8rem; right:.8rem; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .92); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.42em .8em; }
.vcard__state--order{ background:var(--color-primary); color:var(--color-white); }
.vcard__body{ padding:var(--space-md); display:flex; flex-direction:column; flex:1; }
@media(min-width:64rem){ .vcard__body{ padding:var(--space-md) var(--space-sm); } }
.vcard__name{ font-size:var(--text-lg); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); line-height:1.1; }
.vcard__trim{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin-top:.2rem; }
.vspecs{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--color-contrast-lower); border:1px solid var(--color-contrast-lower); margin:var(--space-sm) 0; }
.vspecs li{ background:var(--color-white); padding:.5rem .85rem; display:flex; align-items:center; gap:.6rem; }
.vspecs svg{ width:20px; height:20px; color:var(--color-accent-darker); flex:none; }
.vspecs b{ display:block; font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); line-height:1.15; }
.vspecs span{ display:block; font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:.05rem; }
.vcard__deal{ margin-top:auto; }
.vdeal-lbl{ font-size:var(--text-xs); letter-spacing:.02em; color:var(--color-contrast-medium); margin-bottom:.55rem; }
.vbens{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:var(--space-md); }
.vben{ display:inline-flex; align-items:center; gap:.4em; padding:.42em .72em; border-radius:0; background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .16); font-size:var(--text-xs); font-weight:600; color:var(--color-contrast-high); line-height:1; }
.vben svg{ width:14px; height:14px; color:var(--color-accent-darker); flex:none; }
.vben b{ font-weight:700; color:var(--color-primary); margin-left:.25em; font-variant-numeric:tabular-nums; }
.vcard__pricerow{ display:flex; flex-direction:column; gap:.1rem; }
.vcard__old{ font-size:var(--text-sm); color:var(--color-contrast-medium); text-decoration:line-through; white-space:nowrap; }
.vcard__price{ font-family:var(--font-secondary); font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); white-space:nowrap; }
.vcard__credit{ font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:.5rem; }
.vcard__credit b{ color:var(--color-contrast-high); font-weight:700; }
.vcard__foot{ display:flex; gap:.6rem; margin-top:var(--space-sm); }
.vcard__foot .btn--primary{ flex:1; }
.vcard__foot .btn--subtle{ flex:none; }
.vcard__call{ flex:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--color-contrast-low); background:none; color:var(--color-primary); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .3s, border-color .3s, color .3s; }
.vcard__call:hover{ background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }

.results__empty{ text-align:center; padding:var(--space-xxl) var(--space-md); border:1px dashed var(--color-contrast-low); }
.results__empty h3{ font-size:var(--text-lg); font-weight:700; color:var(--color-contrast-higher); }
.results__empty p{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin:.6rem 0 var(--space-md); }

.car__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:var(--space-md); }
.car__title{ font-size:var(--text-xxl); font-weight:700; letter-spacing:-.025em; color:var(--color-contrast-higher); line-height:1.05; }
.car__sub{ font-size:var(--text-md); color:var(--color-contrast-medium); margin-top:.3rem; }
.car__meta{ display:flex; flex-wrap:wrap; gap:.5rem; }
.cmeta{ display:inline-flex; align-items:center; gap:.45em; padding:.45em .8em; border:1px solid var(--color-contrast-lower); border-radius:999px; font-size:var(--text-xs); font-weight:600; color:var(--color-contrast-high); }
.cmeta svg{ width:15px; height:15px; color:var(--color-accent-darker); flex:none; }

.car__layout{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); margin-top:var(--space-lg); }
@media(min-width:64rem){ .car__layout{ grid-template-columns:1.1fr .9fr; gap:var(--space-lg); align-items:start; } }

.gallery__main{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.gallery__main .shot{ position:absolute; inset:0; transition:opacity .4s; }
.gallery__state{ position:absolute; top:1rem; left:1rem; z-index:2; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .92); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.45em .85em; }
.gallery__save{ position:absolute; top:1rem; right:1rem; z-index:2; background:var(--color-accent); color:var(--color-primary-darker); font-size:var(--text-sm); font-weight:700; padding:.45em .9em; }
.gallery__count{ position:absolute; bottom:1rem; right:1rem; z-index:2; display:inline-flex; align-items:center; gap:.4em; background:hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), .6); color:var(--color-white); font-size:var(--text-xs); font-weight:600; padding:.4em .7em; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.gallery__count svg{ width:15px; height:15px; }
.gnav{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:46px; height:46px; display:flex; align-items:center; justify-content:center; border:0; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .85); color:var(--color-primary); cursor:pointer; transition:background .3s; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.gnav:hover{ background:var(--color-white); }
.gnav svg{ width:22px; height:22px; }
.gnav--prev{ left:.8rem; } .gnav--next{ right:.8rem; }
.gallery__thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; margin-top:.5rem; }
.gthumb{ position:relative; aspect-ratio:4/3; overflow:hidden; cursor:pointer; background:none; border:0; padding:0; }
.gthumb .shot{ position:absolute; inset:0; }
.gthumb::after{ content:""; position:absolute; inset:0; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .35); transition:opacity .3s; }
.gthumb.is-active::after{ opacity:0; }
.gthumb.is-active{ outline:2px solid var(--color-primary); outline-offset:-2px; }
.gthumb:focus-visible{ outline:2px solid var(--color-accent-darker); outline-offset:-2px; }

.buy{ border:1px solid var(--color-contrast-lower); padding:var(--space-lg); }
@media(min-width:64rem){ .buy{ position:sticky; top:88px; } }
.buy__state{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-primary); }
.buy__state b{ width:8px; height:8px; border-radius:50%; background:var(--color-accent-darker); }
.buy__old{ display:block; font-size:var(--text-md); color:var(--color-contrast-medium); text-decoration:line-through; margin-top:var(--space-sm); }
.buy__price{ font-family:var(--font-secondary); font-size:var(--text-xxl); font-weight:700; letter-spacing:-.025em; color:var(--color-contrast-higher); line-height:1; margin-top:.1rem; }
.buy__credit{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin-top:.5rem; }
.buy__credit b{ color:var(--color-contrast-high); font-weight:700; }
.buy .vdeal-lbl{ margin-top:var(--space-md); }
.buy__actions{ display:flex; flex-direction:column; gap:var(--space-xs); margin-top:var(--space-md); }
.buy__actions .btn{ width:100%; }
.buy__facts{ list-style:none; margin-top:var(--space-md); border-top:1px solid var(--color-contrast-lower); }
.buy__facts li{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); padding:.6rem 0; border-bottom:1px solid var(--color-contrast-lower); font-size:var(--text-sm); }
.buy__facts span{ color:var(--color-contrast-medium); }
.buy__facts b{ color:var(--color-contrast-higher); font-weight:700; text-align:right; }
.buy__dealer{ display:flex; align-items:center; gap:.7rem; margin-top:var(--space-md); }
.buy__dealer-ico{ flex:none; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-primary); border:1px solid var(--color-contrast-lower); }
.buy__dealer-ico svg{ width:20px; height:20px; }
.buy__dealer-k{ font-size:var(--text-xs); color:var(--color-contrast-medium); }
.buy__dealer-v{ font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); }

.car-sec{ margin-top:var(--space-xl); }
.car-sec__t{ font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); margin-bottom:var(--space-md); }

.cspecs{ list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--color-contrast-lower); border:1px solid var(--color-contrast-lower); }
@media(min-width:48rem){ .cspecs{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:64rem){ .cspecs{ grid-template-columns:repeat(4,1fr); } }
.cspec{ background:var(--color-white); padding:.85rem 1rem; }
.cspec span{ display:block; font-size:var(--text-xs); color:var(--color-contrast-medium); letter-spacing:.02em; }
.cspec b{ display:block; font-size:var(--text-base-size); font-weight:700; color:var(--color-contrast-higher); margin-top:.2rem; letter-spacing:-.01em; }
@media(min-width:64rem){ .cspec b{ font-size:var(--text-md); } }

.equip{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:48rem){ .equip{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .equip{ grid-template-columns:repeat(4,1fr); } }
.equip__t{ font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-primary); margin-bottom:var(--space-sm); padding-bottom:.5rem; border-bottom:1px solid var(--color-contrast-lower); }
.equip ul{ list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.equip li{ display:flex; gap:.5rem; align-items:flex-start; font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.4; }
.equip li svg{ width:17px; height:17px; color:var(--color-accent-darker); flex:none; margin-top:.1em; }

.deals3{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:48rem){ .deals3{ grid-template-columns:repeat(3,1fr); } }
.deal3{ border:1px solid var(--color-contrast-lower); padding:var(--space-lg); display:flex; flex-direction:column; }
.deal3__ico{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-accent-darker); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .14); margin-bottom:var(--space-sm); }
.deal3__ico svg{ width:24px; height:24px; }
.deal3__t{ font-size:var(--text-md); font-weight:700; color:var(--color-contrast-higher); }
.deal3__amt{ font-family:var(--font-secondary); font-size:var(--text-lg); font-weight:700; color:var(--color-primary); margin:.2rem 0 .5rem; }
.deal3__d{ font-size:var(--text-sm); color:var(--color-contrast-medium); line-height:1.55; }
.deals3__sum{ grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:var(--space-sm); padding:var(--space-md) var(--space-lg); background:var(--color-bg-dark); }
@media(min-width:64rem){ .deals3__sum{ justify-content:space-between; } }
.deals3__sum b{ font-family:var(--font-secondary); font-size:var(--text-xl); font-weight:700; color:var(--color-primary); }
.deals3__right{ display:flex; align-items:center; gap:var(--space-md); flex-wrap:wrap; }
@media(max-width:63.99rem){ .deals3__right{ flex-direction:column; align-items:stretch; width:100%; } .deals3__right b{ text-align:center; } }

.cdesc{ max-width:none; font-size:var(--text-base-size); color:var(--color-contrast-medium); line-height:1.7; }
@media(min-width:64rem){ .cdesc{ font-size:var(--text-md); } }
.cdesc p{ font-size:var(--text-md); color:var(--color-contrast-medium); line-height:1.7; }
.cdesc p + p{ margin-top:var(--space-sm); }

.auto-gallery{ min-width:0; overflow:hidden; }
.cargal__main{position:relative;aspect-ratio:4/3;border-radius:0;overflow:hidden;cursor:grab;}
.cargal__main:active{cursor:grabbing;}
.cargal__main img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none;pointer-events:none;}
.cargal__thumbs{display:flex;gap:var(--space-xs);margin-top:var(--space-xs);overflow-x:auto;scrollbar-width:none;}
.cargal__thumbs::-webkit-scrollbar{display:none;}
.cargal__thumb{flex:0 0 80px;aspect-ratio:4/3;border-radius:0;overflow:hidden;border:2px solid transparent;cursor:pointer;background:none;padding:0;transition:border-color .2s;}
.cargal__thumb.is-on{border-color:var(--color-accent);}
.cargal__thumb img{width:100%;height:100%;object-fit:cover;}
.cargal__arr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:hsla(0,0%,100%,.9);backdrop-filter:blur(4px);border:none;cursor:pointer;color:var(--color-contrast-higher);box-shadow:var(--shadow-sm);transition:background .2s,color .2s;}
.cargal__arr:hover{background:var(--color-primary);color:var(--color-white);}
.cargal__arr--prev{left:var(--space-sm);}
.cargal__arr--next{right:var(--space-sm);}
.cargal__fade{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1);}
.cargal__fade.is-in{opacity:1;}
@media(max-width:32rem){.cargal__arr{width:34px;height:34px;}}
@media(max-width:48rem){.cargal__arr{display:none;}}

.lightbox{position:fixed;inset:0;z-index:9999;background:hsla(0,0%,0%,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.lightbox.is-open{opacity:1;visibility:visible;}
.lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);transition:opacity .35s cubic-bezier(.16,1,.3,1);}
.lightbox__close{position:absolute;top:var(--space-md);right:var(--space-md);background:hsla(0,0%,100%,.12);border:none;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;cursor:pointer;transition:background .2s;}
.lightbox__close:hover{background:hsla(0,0%,100%,.25);}
.lightbox__arr{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.12);border:none;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;cursor:pointer;transition:background .2s;}
.lightbox__arr:hover{background:hsla(0,0%,100%,.25);}
.lightbox__arr--prev{left:var(--space-md);}
.lightbox__arr--next{right:var(--space-md);}
.lightbox__counter{position:absolute;bottom:var(--space-md);left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.7);font-size:var(--text-sm);}
.lightbox__fade{position:absolute;opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1);}
.lightbox__fade.is-in{opacity:1;}
@media(max-width:48rem){.lightbox__arr{display:none;}}

.simgrid{ display:flex; gap:var(--space-md); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding-bottom:var(--space-xs); margin-right:calc(var(--component-padding, var(--space-md)) * -1); padding-right:var(--component-padding, var(--space-md)); }
.simgrid::-webkit-scrollbar{ display:none; }
.simgrid .vcard{ flex:0 0 85%; scroll-snap-align:start; }
@media(min-width:40rem){ .simgrid .vcard{ flex:0 0 48%; } }
@media(min-width:64rem){ .simgrid{ display:grid; grid-template-columns:repeat(3,1fr); overflow:visible; scroll-snap-type:none; padding-bottom:0; margin-right:0; padding-right:0; } .simgrid .vcard{ flex:none; } }

@media(min-width:64rem){
  #filter-panel{ position:sticky; top:calc(var(--hdr-h, 56px) + var(--space-sm)); max-height:calc(100vh - var(--hdr-h, 56px) - var(--space-sm) - var(--space-sm)); overflow:visible; }
  #filter-panel .sidebar__panel{ max-height:inherit; overflow-y:auto; overflow-x:hidden; }
}

@media(max-width:63.99rem){
  .page-flow{ z-index:auto; }
  #filter-panel{ z-index:350 !important; }
}

.sidebar__close-btn{ --size:42px; background-color:var(--color-primary); }
.sidebar__close-btn .icon{ color:var(--color-white); }
.sidebar__close-btn:hover{ background-color:var(--color-primary-dark); }

.accordion__item:first-child{ border-top-width:0; }
.accordion__item:last-child{ border-bottom:none; }

.filter-actions{ position:sticky; bottom:0; background:var(--color-white); border-top:1px solid var(--color-contrast-lower); z-index:2; }

.revtop{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:64rem){ .revtop{ grid-template-columns:340px minmax(0,1fr) 340px; align-items:stretch; } }
.revtop > *{ min-width:0; }

.revaside{ background:var(--color-primary-darker); color:var(--color-white); padding:var(--space-lg); display:flex; flex-direction:column; }
.revaside__t{ font-size:var(--text-lg); font-weight:700; letter-spacing:-.015em; color:var(--color-white); line-height:1.2; text-align:center; }
.revaside__d{ font-size:var(--text-sm); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .72); line-height:1.5; margin-top:.5rem; text-align:center; }
.revaside__list{ list-style:none; display:flex; flex-direction:column; gap:.7rem; margin:var(--space-md) 0; }
.revaside__list li{ display:flex; gap:.6rem; align-items:flex-start; font-size:var(--text-sm); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .9); line-height:1.4; }
.revaside__list svg{ width:18px; height:18px; color:var(--color-accent-light); flex:none; margin-top:.05em; }
.revaside .btn{ width:100%; margin-top:auto; }
.revscore{ border:1px solid var(--color-contrast-lower); padding:var(--space-lg); display:flex; flex-direction:column; justify-content:center; }
.revscore__n{ font-family:var(--font-secondary); font-size:var(--text-xxxl); font-weight:700; line-height:1; letter-spacing:-.03em; color:var(--color-contrast-higher); }
.revscore__stars{ display:flex; gap:.2rem; margin:var(--space-sm) 0; color:var(--color-accent-darker); }
.revscore__stars svg{ width:22px; height:22px; }
.revscore__meta{ font-size:var(--text-base-size); color:var(--color-contrast-medium); line-height:1.5; }
.revscore__src{ margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--color-contrast-lower); display:flex; flex-direction:column; gap:.5rem; }
.revscore__src a:hover{ opacity:.65; }
.revscore__src svg{ width:16px; height:16px; }
.revwrap{ min-width:0; width:100%; }
.revwidget{ position:relative; border:1px solid var(--color-contrast-lower); min-height:460px; display:flex; align-items:center; justify-content:center; overflow:hidden; width:100%; }
.revwidget > div{ width:100% !important; height:100% !important; min-height:460px; }
.revwidget iframe{ width:100% !important; height:100% !important; min-height:460px; border:0; display:block; }

.qgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:48rem){ .qgrid{ grid-template-columns:repeat(3,1fr); } }
.qcard{ display:flex; flex-direction:column; background:var(--color-white); border:1px solid var(--color-contrast-lower); padding:var(--space-md); }
.qcard__stars{ display:flex; gap:.15rem; color:var(--color-accent-darker); margin-bottom:var(--space-sm); }
.qcard__stars svg{ width:17px; height:17px; }
.qcard__q{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; flex:1; }
.qcard__by{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--color-contrast-lower); }
.qcard__name{ font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); }
.qcard__src{ font-size:var(--text-xs); color:var(--color-contrast-medium); }

.appshow{ position:relative; overflow:hidden; }
.appshow__glow{ position:absolute; width:60vw; height:60vw; right:-15vw; top:-20vw; background:radial-gradient(circle, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .18), transparent 62%); pointer-events:none; }
.appshow__grid{ display:grid; grid-template-columns:1fr; gap:var(--space-xl); align-items:center; position:relative; }
@media(min-width:64rem){ .appshow__grid{ grid-template-columns:1fr 1fr; gap:var(--space-xxl); } }
.appfeat{ list-style:none; display:flex; flex-direction:column; gap:var(--space-sm); margin-top:var(--space-lg); }
.appfeat li{ display:flex; gap:.8rem; align-items:flex-start; font-size:var(--text-md); color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .9); line-height:1.4; }
.appfeat li svg{ width:24px; height:24px; color:var(--color-accent-light); flex:none; margin-top:.05em; }
.appfeat li b{ color:var(--color-white); font-weight:700; }
.stores{ display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.store-badge{ display:inline-flex; align-items:center; gap:.7rem; padding:.7em 1.3em; border-radius:999px; background:var(--color-white); color:var(--color-black); border:1px solid var(--color-contrast-lower); text-decoration:none; transition:transform .35s, box-shadow .35s; }
.store-badge:hover{ transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.1); }
.store-badge svg{ width:26px; height:26px; flex:none; }
.store-badge span{ display:block; font-size:var(--text-xs); line-height:1.2; color:var(--color-contrast-medium); }
.store-badge b{ display:block; font-size:var(--text-md); font-weight:700; letter-spacing:-.01em; line-height:1.1; color:var(--color-black); }
.phone{ position:relative; width:min(280px,72vw); aspect-ratio:9/18.5; margin:0 auto; background:var(--color-primary-darker); border:2px solid hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .22); border-radius:38px; padding:10px; box-shadow:0 50px 90px -40px rgba(0,0,0,.7); }
.phone__screen{ position:relative; width:100%; height:100%; border-radius:28px; overflow:hidden; background:var(--color-contrast-lower); }
.phone__screen .shot{ position:absolute; inset:0; }
.phone__screen img{ width:100%; height:100%; object-fit:cover; }
.phone__notch{ position:absolute; top:0; left:50%; transform:translateX(-50%); width:38%; height:20px; background:var(--color-primary-darker); border-radius:0 0 12px 12px; z-index:2; }

.cbgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:40rem){ .cbgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .cbgrid{ grid-template-columns:repeat(3,1fr); } }
.cbcard{ background:var(--color-white); border:1px solid var(--color-contrast-lower); padding:var(--space-lg); display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
.cbcard:hover{ transform:translateY(-5px); border-color:transparent; box-shadow:0 28px 56px -30px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); }
.cbcard__n{ font-family:var(--font-secondary); font-size:var(--text-xxxl); font-weight:700; line-height:1; letter-spacing:-.03em; color:var(--color-primary); }
.cbcard__d{ font-size:var(--text-md); color:var(--color-contrast-high); line-height:1.45; margin-top:var(--space-sm); }

.cond{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); align-items:start; }
@media(min-width:64rem){ .cond{ grid-template-columns:1fr 1fr; gap:var(--space-xl); } }
.cond__list{ list-style:none; display:flex; flex-direction:column; }
.cond__list li{ display:flex; gap:.7rem; align-items:flex-start; padding:.85rem 0; border-bottom:1px solid var(--color-contrast-lower); font-size:var(--text-md); color:var(--color-contrast-high); line-height:1.45; }
.cond__list li:first-child{ padding-top:0; }
.cond__list li svg{ width:20px; height:20px; color:var(--color-accent-darker); flex:none; margin-top:.1em; }
.cond__note{ font-size:var(--text-xs); color:var(--color-contrast-medium); line-height:1.6; margin-top:var(--space-md); }

.docs{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:40rem){ .docs{ grid-template-columns:repeat(2,1fr); } }
.doc{ display:flex; align-items:center; gap:var(--space-md); padding:var(--space-md) var(--space-lg); background:var(--color-white); border:1px solid var(--color-contrast-lower); text-decoration:none; color:inherit; transition:transform .4s cubic-bezier(.16,.7,.2,1), box-shadow .4s, border-color .4s; }
.doc:hover{ transform:translateY(-3px); border-color:transparent; box-shadow:0 22px 44px -24px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); }
.doc__ico{ flex:none; position:relative; width:46px; height:54px; display:flex; align-items:flex-end; justify-content:center; color:var(--color-primary); }
.doc__ico svg{ width:100%; height:100%; }
.doc__ext{ position:absolute; bottom:9px; left:0; right:0; text-align:center; font-size:9px; font-weight:700; letter-spacing:.04em; color:var(--color-white); }
.doc--pdf .doc__ico{ color:var(--color-accent-darker); }
.doc__main{ flex:1; min-width:0; }
.doc__t{ display:block; font-size:var(--text-md); font-weight:700; letter-spacing:-.01em; color:var(--color-contrast-higher); line-height:1.25; }
.doc__meta{ display:block; font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:.35rem; text-transform:uppercase; letter-spacing:.04em; }
.doc__act{ flex:none; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-primary); border:1px solid var(--color-contrast-lower); transition:background .3s, color .3s, border-color .3s; }
.doc__act svg{ width:19px; height:19px; }
.doc:hover .doc__act{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }

.news__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-sm) var(--space-md); margin-bottom:var(--space-lg); }
.news__bar .tabs{ flex-wrap:wrap; border-radius:0; border:0; padding:0; gap:.5rem; }
.news__bar .tabs button{ border:1px solid var(--color-contrast-lower); }
.news__bar .tabs button.is-active{ border-color:var(--color-primary); }
.nfeat{ display:grid; grid-template-columns:1fr; background:var(--color-white); border:1px solid var(--color-contrast-lower); overflow:hidden; margin-bottom:var(--space-xl); transition:box-shadow .6s cubic-bezier(.16,.7,.2,1), border-color .6s, transform .5s cubic-bezier(.16,.7,.2,1); text-decoration:none; color:inherit; }
.nfeat:hover{ box-shadow:0 36px 70px -36px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); border-color:transparent; }
@media(min-width:64rem){ .nfeat{ grid-template-columns:1.05fr .95fr; align-items:stretch; } }
.nfeat__media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
@media(min-width:64rem){ .nfeat__media{ aspect-ratio:auto; min-height:330px; } }
.nfeat__media .shot{ position:absolute; inset:0; transition:transform .8s cubic-bezier(.16,.7,.2,1); }
.nfeat__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,.7,.2,1); }
.nfeat:hover .nfeat__media .shot, .nfeat:hover .nfeat__media img{ transform:scale(1.04); }
.nfeat__tag{ position:absolute; top:1rem; left:1rem; background:var(--color-primary); color:var(--color-white); font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; padding:.5em .9em; }
.nfeat__body{ padding:var(--space-lg); display:flex; flex-direction:column; justify-content:center; }
.nmeta{ display:flex; align-items:center; gap:.6rem; font-size:var(--text-xs); color:var(--color-contrast-medium); letter-spacing:.02em; }
.nmeta svg{ width:15px; height:15px; color:var(--color-accent-darker); }
.nmeta i{ width:3px; height:3px; border-radius:50%; background:var(--color-contrast-low); font-style:normal; }
.nfeat__t{ font-size:var(--text-xl); font-weight:700; letter-spacing:-.025em; line-height:1.15; color:var(--color-contrast-higher); margin:var(--space-sm) 0 var(--space-md); }
.nfeat__d{ font-size:var(--text-md); color:var(--color-contrast-medium); line-height:1.6; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.nfeat__more{ display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:var(--text-sm); color:var(--color-primary); margin-top:var(--space-md); }
.nfeat__more svg{ width:18px; height:18px; transition:transform .35s; }
.nfeat:hover .nfeat__more svg{ transform:translateX(5px); }
.ngrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:40rem){ .ngrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .ngrid{ grid-template-columns:repeat(3,1fr); } }
.ncard{ display:flex; flex-direction:column; background:var(--color-white); border:1px solid var(--color-contrast-lower); overflow:hidden; text-decoration:none; color:inherit; transition:transform .5s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
.ncard:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); border-color:transparent; }
.ncard__media{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.ncard__media .shot{ position:absolute; inset:0; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.ncard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.ncard:hover .ncard__media .shot, .ncard:hover .ncard__media img{ transform:scale(1.05); }
.ncard__tag{ position:absolute; top:.85rem; left:.85rem; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .92); color:var(--color-primary); font-size:var(--text-xs); font-weight:700; letter-spacing:.04em; padding:.42em .8em; }
.ncard__body{ padding:var(--space-md); display:flex; flex-direction:column; flex:1; }
.ncard__t{ font-size:var(--text-lg); font-weight:700; letter-spacing:-.02em; line-height:1.18; color:var(--color-contrast-higher); margin:.5rem 0 .55rem; }
.ncard__d{ font-size:var(--text-sm); color:var(--color-contrast-medium); line-height:1.55; flex:1; }
.ncard__foot{ display:flex; align-items:center; gap:.5em; margin-top:var(--space-md); padding-top:var(--space-sm); border-top:1px solid var(--color-contrast-lower); font-size:var(--text-sm); font-weight:700; color:var(--color-primary); }
.ncard__foot svg{ width:17px; height:17px; transition:transform .35s; }
.ncard:hover .ncard__foot svg{ transform:translateX(5px); }

.article{ max-width:var(--max-width-md); margin:0 auto; }
.article__back{ display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:var(--text-sm); color:var(--color-primary); margin-bottom:var(--space-lg); }
.article__back svg{ width:18px; height:18px; transform:rotate(180deg); }
.article__meta{ display:flex; align-items:center; gap:.7rem; font-size:var(--text-sm); color:var(--color-contrast-medium); }
.article__cat{ display:inline-flex; background:var(--color-primary); color:var(--color-white); font-size:var(--text-xs); font-weight:700; letter-spacing:.04em; padding:.42em .8em; }
.article__meta i{ width:3px; height:3px; border-radius:50%; background:var(--color-contrast-low); font-style:normal; }
.article__title{ font-size:var(--text-xxl); font-weight:700; letter-spacing:-.03em; line-height:1.08; color:var(--color-contrast-higher); margin:var(--space-md) 0; }
@media(min-width:64rem){ .article__title{ font-size:var(--text-xxxl); } }
.article__lede{ font-size:var(--text-lg); color:var(--color-contrast-high); line-height:1.5; }
.article__hero{ position:relative; aspect-ratio:16/9; overflow:hidden; margin:var(--space-lg) 0; max-width:var(--max-width-md); margin-left:auto; margin-right:auto; }
.article__hero .shot{ position:absolute; inset:0; }
.article__body{ font-size:var(--text-md); color:var(--color-contrast-high); line-height:1.75; }
.article__body > * + *{ margin-top:var(--space-md); }
.article__body h2{ font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); margin-top:var(--space-md); line-height:1.2; }
.article__body h3{ font-size:var(--text-lg); font-weight:700; color:var(--color-contrast-higher); margin-top:var(--space-md); }
.article__body a{ color:var(--color-primary); text-decoration:underline; text-underline-offset:3px; }
.article__body ul, .article__body ol{ padding-left:1.3rem; display:flex; flex-direction:column; gap:.5rem; }
.article__body li{ line-height:1.6; }
.article__body blockquote{ border-left:3px solid var(--color-accent-darker); padding:.2rem 0 .2rem var(--space-md); margin:var(--space-md) 0; font-size:var(--text-md); color:var(--color-contrast-higher); font-style:italic; }
.article__share{ display:flex; align-items:center; gap:.7rem; margin-top:var(--space-lg); padding-top:var(--space-lg); border-top:1px solid var(--color-contrast-lower); }
.article__share span{ font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-medium); margin-right:.3rem; }
.article__share a{ width:42px; height:42px; border:1px solid var(--color-contrast-lower); display:flex; align-items:center; justify-content:center; color:var(--color-primary); transition:.3s; }
.article__share a:hover{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.article__share svg{ width:19px; height:19px; }
.article__copy{ width:42px; height:42px; border:1px solid var(--color-contrast-lower); display:flex; align-items:center; justify-content:center; color:var(--color-primary); background:none; cursor:pointer; transition:.3s; }
.article__copy:hover{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.article__copy svg{ width:19px; height:19px; }

.custom-padding-top-header {
   padding-top: 160px;
}

.showcase{ overflow:hidden; }
.showcase__vp{ overflow:hidden; }
.showcase__track{ position:relative; display:flex; gap:var(--space-md); will-change:transform; transition:transform .75s cubic-bezier(.16,.7,.2,1); }
.showcase__slide{ position:relative; flex:0 0 88%; aspect-ratio:16/9; overflow:hidden; background:var(--color-contrast-lower); opacity:.4; transform:scale(.95); transition:opacity .65s ease, transform .65s cubic-bezier(.16,.7,.2,1); }
@media(min-width:48rem){ .showcase__slide{ flex-basis:74%; } }
@media(min-width:64rem){ .showcase__slide{ flex-basis:66%; } }
@media(min-width:90rem){ .showcase__slide{ flex-basis:60%; } }
.showcase__slide.is-active{ opacity:1; transform:none; }
.showcase__slide .shot{ position:absolute; inset:0; height:100%; transition:transform 1.3s cubic-bezier(.16,.7,.2,1); }
.showcase__slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.3s cubic-bezier(.16,.7,.2,1); }
.showcase__slide.is-active .shot, .showcase__slide.is-active img{ transform:scale(1.05); }
.showcase__cap{ position:absolute; left:0; right:0; bottom:0; padding:var(--space-lg); display:flex; flex-direction:column; gap:.35rem; color:var(--color-white); background:linear-gradient(to top, hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), 1), transparent); opacity:0; transition:opacity .6s ease; }
.showcase__slide.is-active .showcase__cap{ opacity:1; }
.showcase__cap-inner{ display:flex; flex-direction:column; gap:var(--space-xxs); max-width:var(--max-width-xs); }
.showcase__cap-eyebrow{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent-light); }
.showcase__cap-t{ font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xl); letter-spacing:-.02em; line-height:1.1; }
.showcase__cap-d{ color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.82); line-height:1.6; margin-top:var(--space-xs); }
.showcase__foot{ display:flex; align-items:center; justify-content:center; gap:var(--space-md); margin-top:var(--space-lg); }
.showcase__arrow{ flex:0 0 auto; width:46px; height:46px; border:1px solid var(--color-contrast-low); background:transparent; color:var(--color-contrast-higher); border-radius:999px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .25s, color .25s, border-color .25s; }
.showcase__arrow:hover{ background:var(--color-primary-darker); border-color:var(--color-primary-darker); color:var(--color-white); }
.showcase__arrow svg{ width:20px; height:20px; }
.showcase__bars{ display:flex; gap:4px; align-items:center; flex:1; max-width:600px; }
.showcase__bar{ position:relative; flex:1; min-width:0; height:3px; background:var(--color-contrast-lower); border:0; padding:0; cursor:pointer; overflow:hidden; transition:background .3s; }
.showcase__bar:hover{ background:var(--color-contrast-low); }
.showcase__bar i{ position:absolute; inset:0; right:auto; width:0%; background:var(--color-primary-darker); }
.showcase__bar.is-active i{ width:100%; }

.ngrid--scroll{ display:flex; gap:var(--space-md); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin-right:calc(var(--component-padding, var(--space-md)) * -1); padding-right:var(--component-padding, var(--space-md)); }
.ngrid--scroll::-webkit-scrollbar{ display:none; }
.ngrid--scroll .ncard{ flex:0 0 85%; scroll-snap-align:start; }
@media(min-width:40rem){ .ngrid--scroll .ncard{ flex:0 0 48%; } }
@media(min-width:64rem){ .ngrid--scroll{ display:grid; grid-template-columns:repeat(3,1fr); overflow:visible; scroll-snap-type:none; margin-right:0; padding-right:0; } .ngrid--scroll .ncard{ flex:none; } }
.nfeat, .ncard{ transition:opacity .35s ease, transform .35s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }

.submodelnav{ position:sticky; top:var(--hdr-h, 56px); z-index:40; background:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .8); backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--color-contrast-lower); }
.submodelnav__in{ display:flex; align-items:center; gap:var(--space-lg); overflow:hidden; scrollbar-width:none; }
.submodelnav__in::-webkit-scrollbar{ display:none; }
.submodelnav .a-submodelnav{ position:relative; flex:0 0 auto; padding:1.5rem 0; font-size:var(--text-sm); font-weight:500; color:var(--color-contrast-medium); text-decoration:none; white-space:nowrap; transition:color .2s; }
.submodelnav .a-submodelnav::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--color-primary); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.submodelnav .a-submodelnav:hover{ color:var(--color-contrast-higher); }
.submodelnav .a-submodelnav.is-active{ color:var(--color-primary-darker); font-weight:700; }
.submodelnav .a-submodelnav.is-active::after{ transform:scaleX(1); }
.submodelnav__cta{ margin-left:auto; flex:0 0 auto; }
@media(max-width:47.99rem){ .submodelnav__cta{ display:none; } }

.offerband{ background:var(--color-primary-darker); color:var(--color-white); position:relative; overflow:hidden; }
.offerband__glow{ position:absolute; width:60vw; height:60vw; border-radius:50%; left:50%; top:-30vw; transform:translateX(-50%); background:radial-gradient(circle, hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.16), transparent 64%); pointer-events:none; }
.offerband__in{ position:relative; text-align:center; }
.offerband__eyebrow{ font-size:var(--text-sm); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--color-accent-light); }
.offerband__t{ font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xxxxl); color: white; line-height:1.04; letter-spacing:-.02em; margin:var(--space-xs) auto var(--space-sm); max-width:var(--max-width-sm); }
.offerband__lede{ max-width:var(--max-width-xs); margin:0 auto var(--space-md); color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.8); line-height:1.6; }
.offerband__grid{ display:grid; grid-template-columns:1fr; gap:1px; background:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.14); border:1px solid hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.14); }
@media(min-width:40rem){ .offerband__grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .offerband__grid{ grid-template-columns:repeat(5,1fr); } }
.offerband__cell{ background:var(--color-primary-darker); padding:var(--space-lg) var(--space-md); display:flex; flex-direction:column; align-items:center; gap:var(--space-sm); text-align:center; }
.offerband__ico{ width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:hsla(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.16); color:var(--color-accent-light); }
.offerband__ico svg{ width:22px; height:22px; }
.offerband__cell p{ line-height:1.45; color:hsla(var(--color-white-h),var(--color-white-s),var(--color-white-l),.92); }

.offerband__cta{ margin:0 auto var(--space-xl); display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-sm); }

.mprose{ max-width:var(--max-width-md); margin-inline:auto; transition:max-height .55s cubic-bezier(.16,.7,.2,1); }
.mprose p{ margin-bottom:var(--space-md); line-height:1.75; color:var(--color-contrast-high); }
.mprose p:first-of-type{ font-size:var(--text-md); color:var(--color-contrast-higher); }
.mprose.is-clamped{ position:relative; max-height:30rem; overflow:hidden; -webkit-mask-image:linear-gradient(180deg, #000 70%, transparent); mask-image:linear-gradient(180deg, #000 70%, transparent); }
.mprose-toggle{ display:inline-flex; align-items:center; gap:.5rem; margin-top:var(--space-md); background:none; border:0; cursor:pointer; font-family:var(--font-secondary); font-weight:700; color:var(--color-primary); }
.mprose-toggle svg{ width:18px; height:18px; transition:transform .3s; }
.mprose-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }

.mcard__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:bottom; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.mcard:hover .mcard__media img{ transform:scale(1.05); }

.rail{ cursor:grab; }
.rail.is-dragging{ cursor:grabbing; scroll-snap-type:none; }
.rail.is-dragging a{ pointer-events:none; }
.rail a, .rail img{ -webkit-user-drag:none; user-select:none; }

@media(max-width:47.99rem){
  .sec-head__t{ font-size:var(--text-xl); max-width:100%; overflow-wrap:break-word; }
}

.specs__highlights{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-xs); margin:0 auto var(--space-md); max-width:var(--max-width-md); }
@media(min-width:48rem){ .specs__highlights{ grid-template-columns:repeat(4,1fr); gap:var(--space-md); } }
.specs__hl{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.35em; padding:var(--space-md) var(--space-sm); border-radius:0; background:transparent; border:1px solid var(--color-contrast-lower); transition:transform .4s cubic-bezier(.16,.7,.2,1), box-shadow .4s; }
.specs__hl:hover{ transform:translateY(-3px); box-shadow:0 24px 40px -28px hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),.4); }
.specs__hl-val{ font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xxl); line-height:1; letter-spacing:-.03em; color:var(--color-contrast-higher); overflow-wrap:anywhere; }
.specs__hl-cap{ font-size:var(--text-sm); font-weight:600; letter-spacing:.03em; color:var(--color-contrast-medium); }

.specs__groups{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); max-width:var(--max-width-md); margin-inline:auto; align-items:start; }
@media(min-width:56rem){ .specs__groups{ grid-template-columns:repeat(2,1fr); column-gap:var(--space-xxl); row-gap:var(--space-lg); } }
.specs__grouphead{ font-family:var(--font-secondary); font-size:var(--text-sm); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent-darker); padding-bottom:var(--space-xs); margin-bottom:var(--space-2xs, var(--space-xs)); border-bottom:2px solid var(--color-contrast-low); }
.specs__list{ margin:0; }
.specs__row{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-md); padding:.7em 0; border-bottom:1px solid var(--color-contrast-lower); }
.specs__label{ color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.35; }
.specs__value{ margin:0; text-align:right; font-weight:600; color:var(--color-contrast-higher); font-variant-numeric:tabular-nums; white-space:nowrap; }
@media(max-width:39.99rem){ .specs__value{ white-space:normal; } }

@media(min-width:64rem) and (pointer:fine){ .hero{ will-change:transform; } }
.hdr__logo{ will-change:transform, opacity; }

.cardgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:34rem){ .cardgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:60rem){ .cardgrid{ grid-template-columns:repeat(3,1fr); } }
.cgcard{ display:flex; flex-direction:column; background:var(--color-white); border:1px solid var(--color-contrast-lower); overflow:hidden; transition:transform .5s cubic-bezier(.16,.7,.2,1), box-shadow .5s, border-color .5s; }
.cgcard:hover{ transform:translateY(-6px); border-color:transparent; box-shadow:0 30px 60px -30px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); }
.cgcard__media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:var(--color-contrast-lower); }
.cgcard__media .shot, .cgcard__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,.7,.2,1); }
.cgcard:hover .cgcard__media img, .cgcard:hover .cgcard__media .shot{ transform:scale(1.05); }
.cgcard__body{ padding:var(--space-md); display:flex; flex-direction:column; gap:var(--space-sm); flex:1; }
.cgcard__tag{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent-darker); }
.cgcard__name{ font-family:var(--font-secondary); font-size:var(--text-lg); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); line-height:1.25; }
.cgcard__name a{ color:inherit; }
.cgcard__desc{ margin:0; color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.5; }
.cgcard__price span{ font-size:var(--text-xs); color:var(--color-contrast-medium); display:block; }
.cgcard__price b{ font-family:var(--font-secondary); font-size:var(--text-xl); font-weight:700; letter-spacing:-.02em; color:var(--color-contrast-higher); }
.cgcard__foot{ margin-top:auto; padding-top:var(--space-xs); }
.cgcard__foot .btn{ width:100%; }

.rtable{ width:100%; border-collapse:collapse; }
.rtable th, .rtable td{ text-align:left; padding:var(--space-sm) var(--space-md); border:1px solid var(--color-contrast-lower); }
.rtable th{ background:var(--color-contrast-lower); font-family:var(--font-secondary); font-weight:700; color:var(--color-primary-darker); }
.rtable td{ color:var(--color-contrast-high); }

.rtable--svc th[scope="row"]{ background:transparent; vertical-align:top; width:40%; color:var(--color-contrast-higher); }
.rtable--svc td{ vertical-align:top; line-height:1.5; }

.ptable-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ptable{ width:100%; min-width:560px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.ptable thead th{ background:var(--color-primary-darker); color:var(--color-white); font-family:var(--font-secondary); font-weight:700; padding:var(--space-sm) var(--space-md); text-align:center; border:1px solid var(--color-primary-darker); }
.ptable thead th:first-child{ text-align:left; }
.ptable tbody th{ text-align:left; font-family:var(--font-secondary); font-weight:600; color:var(--color-contrast-higher); padding:var(--space-sm) var(--space-md); border:1px solid var(--color-contrast-lower); }
.ptable tbody td{ text-align:center; padding:var(--space-sm) var(--space-md); border:1px solid var(--color-contrast-lower); color:var(--color-contrast-high); }
.ptable tbody tr:nth-child(even) th, .ptable tbody tr:nth-child(even) td{ background:var(--color-contrast-lower); }
.ptable .yes{ color:var(--color-accent-darker); font-weight:700; font-size:var(--text-md); }
.ptable .no{ color:var(--color-contrast-low); }
.ptable .free{ color:var(--color-accent-darker); font-weight:700; }
.ptable tr.ptable__price th, .ptable tr.ptable__price td{ font-weight:600; }
.ptable tr.ptable__price td{ color:var(--color-contrast-higher); }

.tonote{ margin-top:var(--space-md); color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.5; }

.srvgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:40rem){ .srvgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .srvgrid{ grid-template-columns:repeat(4,1fr); } }
.srvcard{ display:flex; flex-direction:column; background:var(--color-white); border:1px solid var(--color-contrast-lower); padding:var(--space-lg); transition:box-shadow .5s, border-color .5s, transform .5s; }
.srvcard:hover{ transform:translateY(-5px); border-color:transparent; box-shadow:0 28px 56px -30px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .35); }
.srvcard__ico{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-accent-darker); background:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), .14); margin-bottom:var(--space-md); }
.srvcard__ico svg{ width:24px; height:24px; }
.srvcard__t{ font-size:var(--text-md); font-weight:700; letter-spacing:-.01em; color:var(--color-contrast-higher); line-height:1.2; min-height:2.4em; }
.srvcard ul{ list-style:none; display:flex; flex-direction:column; gap:.6rem; margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--color-contrast-lower); }
.srvcard li{ display:flex; gap:.55rem; align-items:flex-start; font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.45; }
.srvcard li svg{ width:16px; height:16px; color:var(--color-accent-darker); flex:none; margin-top:.18em; }

.pricecalc{ display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--color-contrast-lower); background:var(--color-white); overflow:hidden; }
@media(min-width:56rem){ .pricecalc{ grid-template-columns:1.12fr .88fr; } }
.pricecalc__controls{ padding:var(--space-lg); display:flex; flex-direction:column; gap:var(--space-lg); }
.pricecalc__label{ display:block; font-family:var(--font-secondary); font-weight:700; font-size:var(--text-sm); color:var(--color-contrast-higher); margin-bottom:var(--space-sm); }
.pricecalc__select{ position:relative; }
.pricecalc__select select{ appearance:none; -webkit-appearance:none; width:100%; padding:.95em 3em .95em 1.1em; font:inherit; color:var(--color-contrast-higher); background:var(--color-bg); border:1px solid var(--color-contrast-low); cursor:pointer; }
.pricecalc__select select:focus-visible{ outline:2px solid var(--color-primary); outline-offset:-2px; }
.pricecalc__select svg{ position:absolute; right:1em; top:50%; transform:translateY(-50%); width:20px; height:20px; color:var(--color-contrast-medium); pointer-events:none; }
.pricecalc__chips{ display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.pricecalc__chip{ flex:1 1 auto; min-width:3.6rem; padding:.75em .5em; font:inherit; font-weight:600; font-size:var(--text-sm); color:var(--color-contrast-high); background:var(--color-bg); border:1px solid var(--color-contrast-low); cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.pricecalc__chip:hover{ border-color:var(--color-primary); }
.pricecalc__chip.is-active{ background:var(--color-primary); color:var(--color-white); border-color:var(--color-primary); }
.pricecalc__result{ background:var(--color-primary-darker); color:var(--color-white); padding:var(--space-lg); display:flex; flex-direction:column; justify-content:center; gap:.45rem; }
.pricecalc__result-label{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-accent-light); }
.pricecalc__price{ font-family:var(--font-secondary); font-weight:700; font-size:var(--text-xxxl); line-height:1.04; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.pricecalc__hint{ color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .72); font-size:var(--text-sm); line-height:1.4; margin:0 0 var(--space-sm); }
.pricecalc__result .btn{ align-self:flex-start; }

.pricecalc__result .btn{ background:var(--color-accent); color:var(--color-black); border:1px solid var(--color-accent); }
.pricecalc__result .btn:hover{ background:var(--color-accent-dark); border-color:var(--color-accent-dark); color:var(--color-black); }

.cta__contacts{ list-style:none; margin:var(--space-md) 0 0; padding:0; display:flex; flex-direction:column; gap:var(--space-sm); }
.cta__contacts li{ display:flex; align-items:center; gap:.7rem; color:hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), .9); line-height:1.4; }
.cta__contacts svg{ width:20px; height:20px; flex:none; color:var(--color-accent-light); }
.cta__contacts a{ color:inherit; text-decoration:none; }
.cta__contacts a:hover{ color:var(--color-white); text-decoration:underline; }

.stockband{ position:relative; overflow:hidden; background:var(--color-bg); }
.stockband__grid{ position:relative; display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-sm); }
@media(min-width:56rem){ .stockband__grid{ grid-template-columns:repeat(4,1fr); } }
.stockcard{ position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:19rem; padding:var(--space-md); text-decoration:none; background:var(--color-white); border:1px solid var(--color-contrast-lower); transition:border-color .35s, transform .35s cubic-bezier(.16,.7,.2,1), box-shadow .35s; }
.stockcard:hover{ border-color:var(--color-primary); transform:translateY(-5px); box-shadow:0 26px 52px -32px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .5); }
.stockcard__top{ position:relative; z-index:2; display:flex; align-items:baseline; gap:.55rem; }
.stockcard__n{ font-family:var(--font-secondary); font-weight:700; font-size:2.6rem; line-height:1; letter-spacing:-.03em; color:var(--color-primary); font-variant-numeric:tabular-nums; }
.stockcard__lab{ font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-medium); }
.stockcard__car{ position:absolute; left:var(--space-sm); right:var(--space-sm); bottom:5.4rem; height:52%; z-index:1; }
.stockcard__car .shot{ position:absolute; inset:0; background-size:contain; background-repeat:no-repeat; background-position:center bottom; transition:transform .5s cubic-bezier(.16,.7,.2,1); }
.stockcard:hover .stockcard__car .shot{ transform:scale(1.05) translateY(-2px); }
.stockcard__foot{ position:relative; z-index:2; margin-top:auto; display:flex; align-items:center; justify-content:center; gap:.4rem; text-align:center; }
.stockcard__nm{ font-weight:700; font-family:var(--font-secondary); font-size:var(--text-md); color:var(--color-contrast-higher); letter-spacing:-.01em; }
.stockcard__foot svg{ width:20px; height:20px; color:var(--color-primary); opacity:0; transform:translateX(-6px); transition:opacity .35s, transform .35s; }
.stockcard:hover .stockcard__foot svg{ opacity:1; transform:none; }

@media(max-width:47.99rem){
  .promo__t{ font-size:var(--text-xl); }
  .page-flow{margin-top: 0;}
  .page-flow{font-size: var(--text-md);}
  .showcase__cap-d{font-size: var(--text-xs);}
}

/* 404 / страница ошибки */
.err{ position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; text-align:center; }
.err__glow{ position:absolute; top:40%; left:50%; width:min(82vw,640px); aspect-ratio:1; transform:translate(-50%,-50%); background:radial-gradient(circle, hsla(196,100%,50%,.16), transparent 66%); pointer-events:none; z-index:0; }
.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,15rem); background:linear-gradient(180deg, var(--color-contrast-higher), 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); box-shadow:0 24px 60px -28px hsla(var(--color-primary-h),100%,20%,.55); }
.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; } }
