@charset "UTF-8";
:root{ --form-control-radius:var(--radius-xl); --form-control-padding-x:var(--space-sm); }
/* ============================================================
   ODIN GROUP — Component styles for ProcessWire
   Built on CodyFrame. Montserrat · Red accent · 20° skew
   ============================================================ */

:root{
  --skew:-9deg;
  --odin-dark:#000118;
}

html{ scroll-behavior:smooth; }
body{ overflow-x:hidden; letter-spacing:-.01em; }
::selection{ background:var(--color-primary); color:#fff; }

/* ---------- EYEBROW ---------- */
.eyebrow{ margin-bottom:var(--space-sm);
  display:inline-flex; align-items:center; gap:.7em;
  font-size:var(--text-xs); font-weight:700; letter-spacing:.26em; text-transform:uppercase;
  color:var(--color-contrast-high);
}
.eyebrow::before{ content:""; width:1.6em; height:2px; background:var(--color-primary); transform:skewX(var(--skew)); }
.eyebrow--light{ color:rgba(255,255,255,.82); }

/* ---------- DISPLAY ---------- */
.display{ font-weight:500; letter-spacing:-.02em; text-transform:uppercase; color:var(--color-contrast-higher); text-wrap:balance; }
.display .r{ color:var(--color-primary); }
.d-lg{ font-size:var(--text-lg); }
@media(min-width:48rem){ .d-lg{ font-size:var(--text-xxl); } }
.lede{ font-weight:400; line-height:1.55; color:var(--color-contrast-high); font-size:var(--text-md); }
.measure{ max-width:42ch; }
.acute{ display:inline-block; width:.32em; height:.9em; background:var(--color-primary); transform:skewX(var(--skew)); flex-shrink:0; }

/* ---------- BUTTONS ---------- */
.alink{ display:inline-flex; align-items:center; gap:.6em; white-space:nowrap; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  font-size:var(--text-sm); color:var(--color-contrast-higher); padding-bottom:.35em; border-bottom:1.5px solid var(--color-contrast-low); transition:border-color .3s; text-decoration:none; }
.alink .ic{ width:1em; height:1em; color:var(--color-primary); transition:transform .3s var(--ease-out); }
.alink:hover{ border-color:var(--color-primary); } .alink:hover .ic{ transform:translateX(5px); }

/* ---------- HEADER ---------- */
.hdr{ position:fixed; inset:0 0 auto 0; z-index:1001; transition:transform .45s var(--ease-out), background .4s, box-shadow .4s; }
.hdr__bar{ display:flex; align-items:center; gap:var(--space-md); height:64px; }
.hdr--solid{ background:rgba(255,255,255,.92); backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,.08); }
.hdr--hidden{ transform:translateY(-100%); }
.hdr--over .hdr__logo-mark{ color:#fff; } .hdr--over .hdr__logo-sub{ color:rgba(255,255,255,.7); }
.hdr--over .hdr__link{ color:#fff; } .hdr--over .hdr__call{ color:#fff; border-color:rgba(255,255,255,.4); }
.hdr--over .burger span{ background:#fff; }
.hdr__logo{ display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; text-decoration:none; flex-shrink:0; }
.hdr__logo-mark{ font-weight:900; font-size:var(--text-lg); letter-spacing:-.05em; line-height:1; color:var(--color-contrast-higher); transition:color .4s; }
.hdr__logo-mark b{ color:var(--color-primary); }
.hdr__logo-sub{ font-size:9px; line-height:1.15; letter-spacing:.1em; text-transform:uppercase; color:var(--color-contrast-medium); font-weight:600; transition:color .4s; }
.hdr__nav{ display:none; gap:var(--space-md); margin-inline:auto; align-items:center; }
.hdr__link{ position:relative; font-size:var(--text-sm); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-higher); padding-block:.5rem; cursor:pointer; transition:color .4s; white-space:nowrap; text-decoration:none; }
.hdr__link::after{ content:""; position:absolute; left:0; bottom:.1rem; height:2px; width:0; background:var(--color-primary); transform:skewX(var(--skew)); transition:width .3s var(--ease-out); }
.hdr__link:hover::after{ width:100%; }
.hdr__actions{ display:none; align-items:center; gap:var(--space-xs); margin-left:var(--space-sm); }
.hdr__call{ border-radius:50%; font-size:var(--text-xs); padding:0.9em; box-sizing:border-box; flex-shrink:0; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--color-contrast-low); color:var(--color-contrast-low); transition:background .25s,color .25s,border-color .25s; }
.hdr__call svg{ width:19px; height:19px; }
.hdr__call:hover{ background:var(--color-primary); border-color:var(--color-primary); color:#fff; }
.burger{ margin-left:auto; width:46px; height:46px; display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; cursor:pointer; background:transparent; border:0; }
.burger span{ width:24px; height:2px; background:var(--color-contrast-higher); transition:.3s; }
.burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media(min-width:64rem){ .hdr__nav{display:flex} .hdr__actions{display:flex} .burger{display:none} }
.progress{ position:fixed; top:0; left:0; height:2px; width:0; background:var(--color-primary); z-index:70; transition:width .1s linear; }

/* ---------- SECTION RHYTHM ---------- */
.section{ padding-block:var(--space-xxl); position:relative; }
@media(min-width:64rem){ .section{ padding-block:var(--space-xxxl); } }
.section--tint{ background:var(--color-bg-dark); }
.section-head{ display:flex; flex-direction:column; gap:var(--space-md); margin-bottom:var(--space-lg); }
@media(min-width:64rem){ .section-head{ flex-direction:row; align-items:flex-end; justify-content:space-between; } .section-head > .lede{ max-width:38%; } }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.hero__media{ position:absolute; inset:0; z-index:0; background:var(--odin-dark); }
.hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero .media__veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,9,12,.42) 0%, rgba(8,9,12,.28) 38%, rgba(8,9,12,.58) 72%, rgba(8,9,12,.9) 100%), rgba(8,9,12,.52); pointer-events:none; }
.hero__content{ position:relative; z-index:2; padding-bottom:var(--space-lg); padding-top:var(--space-xxl); }
.hero__title{ font-weight:700; font-size:var(--text-xxl); letter-spacing:-.02em; text-transform:uppercase; color:#fff; }
@media(min-width:48rem){ .hero__title{ font-size:var(--text-xxxxxl); } }
.hero__title .r{ color:var(--color-primary); }
.hero__lede{ margin-top:var(--space-sm); max-width:46ch; color:rgba(255,255,255,.82); font-size:var(--text-base-size); line-height:1.5; }
@media(min-width:48rem){ .hero__lede{ font-size:var(--text-md); } }
.hero__cta{ margin-top:var(--space-lg); display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.hero__meta{ position:relative; z-index:2; width:100%; border-top:1px solid rgba(255,255,255,.18); }
.hero__meta-row{ display:flex; flex-wrap:wrap; gap:var(--space-sm); padding-block:var(--space-sm); justify-content:space-between; }
.hero__meta-i{ display:flex; align-items:baseline; gap:.5rem; color:#fff; }
.hero__meta-i b{ font-weight:600; font-size:var(--text-base-size); }
.hero__meta-i span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.62); }

/* ---------- MARQUEE ---------- */
.marquee{ overflow:hidden; border-bottom:1px solid var(--color-contrast-low); }
.marquee__track{ display:flex; gap:var(--space-xl); align-items:center; padding-block:var(--space-sm); width:max-content; animation:marquee 32s linear infinite; }
.marquee__item{ font-weight:600; letter-spacing:.04em; color:var(--color-contrast-high); white-space:nowrap; font-size:var(--text-sm); text-transform:uppercase; display:flex; align-items:center; gap:.7rem; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ---------- MANIFESTO ---------- */
.manifesto{ font-weight:300; font-size:var(--text-xxl); line-height:1.18; letter-spacing:-.03em; color:var(--color-contrast-higher); }
@media(min-width:48rem){ .manifesto{ font-size:var(--text-xxxxl); } }
.manifesto b{ font-weight:500; } .manifesto .r{ color:var(--color-primary); font-weight:500; }
.figrow{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-xl); }
@media(min-width:64rem){ .figrow{ grid-template-columns:repeat(4,1fr); } }
.fig{ display:flex; flex-direction:column; align-items:center; }
.fig__ic{ flex-shrink:0; width:28px; height:28px; color:var(--color-primary); margin-top:var(--space-xxs); }
.fig__ic svg{ width:100%; height:100%; }
.fig__n{ font-weight:500; font-size:var(--text-xxl); line-height:.95; letter-spacing:-.02em; color:var(--color-contrast-higher); display:flex; align-items:center; gap:var(--space-xxs); }
@media(min-width:48rem){ .fig__n{ font-size:var(--text-xxxl); } }
.fig__n .suf{ color:var(--color-primary); font-size:.5em; margin-left:.06em; }
.fig__l{ margin-top:.7rem; font-size:var(--text-xs); font-weight:600; text-align: center; letter-spacing:.08em; text-transform:uppercase; color:var(--color-contrast-high); padding-top:.7rem; border-top:1px solid var(--color-contrast-low); }
@media(min-width:48rem){ .fig__l{ font-size:var(--text-sm); } }

/* ---------- FLAGSHIP ---------- */
.flagship{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; }
.flagship__media{ position:absolute; inset:0; z-index:0; background:var(--odin-dark); }
.flagship__media .cine{ position:absolute; inset:0; background:linear-gradient(155deg,#1c1e25 0%,#101116 55%,#0a0b0f 100%); }
.flagship .media__veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,9,12,.42) 0%, rgba(8,9,12,.28) 38%, rgba(8,9,12,.58) 72%, rgba(8,9,12,.9) 100%), rgba(8,9,12,.52); pointer-events:none; }
.flagship__content{ position:relative; z-index:2; padding-bottom:var(--space-xl); }
.flagship__name{ font-weight:700; font-size:var(--text-xxl); line-height:.98; letter-spacing:-.02em; text-transform:uppercase; color:#fff; }
@media(min-width:48rem){ .flagship__name{ font-size:var(--text-xxxxxl); } }
.flagship__specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); margin-top:var(--space-md); }
@media(min-width:48rem){ .flagship__specs{ display:flex; flex-wrap:wrap; justify-content:flex-start; } }
.flagship__spec b{ display:block; font-weight:500; font-size:var(--text-xl); color:#fff; }
.flagship__spec span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.flagship__cta{ margin-top:var(--space-md); display:flex; gap:var(--space-sm); flex-wrap:wrap; }

/* ---------- SHOWCASE (horizontal gallery) ---------- */
.showcase{ position:relative; background:var(--color-bg-dark); }
.showcase__pin{ display:flex; flex-direction:column; }
.showcase__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-lg); padding-top:var(--space-xl); padding-bottom:var(--space-md); }
.showcase__track{ display:flex; gap:0; overflow-x:auto; overflow-y:hidden; padding-left:var(--component-padding); scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:var(--space-xl); }
@media(min-width:80rem){ .showcase__track{ padding-left:calc((100% - var(--max-width-lg)) / 2 + var(--component-padding)); } }
.showcase__track::-webkit-scrollbar{ display:none; }
.panel{ flex:0 0 88%; max-width:88%; scroll-snap-align:center; position:relative; padding-right:var(--space-md); }
@media(min-width:64rem){ .panel{ flex-basis:54%; max-width:54%; } }
.panel__media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:transparent; }
.panel__media img{ width:100%; height:100%; object-fit:cover; }
.panel__info{ padding:var(--space-md) 0 0 0; text-align:center; }
.panel__name{ font-weight:500; font-size:var(--text-xl); letter-spacing:-.015em; text-transform:uppercase; color:var(--color-contrast-higher); }
.panel__sub{ font-size:var(--text-sm); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); margin-top:var(--space-xs); }
.panel__cta{ margin-top:var(--space-sm); }
.panel__specs{ display:flex; gap:var(--space-md); margin-top:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--color-contrast-low); }
.panel__spec b{ display:block; font-weight:600; font-size:var(--text-md); color:var(--color-contrast-higher); }
.panel__spec span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--color-contrast-medium); }
.showcase__bar{ position:relative; height:2px; background:var(--color-contrast-low); margin-top:.5rem; margin-bottom:var(--space-xl); }
.showcase__bar i{ position:absolute; left:0; top:0; height:100%; background:var(--color-primary); width:30%; transition:left .2s, width .2s; }

/* ---------- SPLIT ---------- */
.split{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); align-items:center; }
@media(min-width:64rem){ .split{ grid-template-columns:1.1fr 1fr; gap:var(--space-xxl); } }
@media(min-width:64rem){ .split--rev .split__media{ order:2; } }
.split__media{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.split__media img{ width:100%; height:100%; object-fit:cover; }

/* ---------- DOORS ---------- */
.doors{ display:grid; grid-template-columns:1fr; gap:var(--space-md); }
@media(min-width:48rem){ .doors{ grid-template-columns:repeat(3,1fr); } }
.door{ position:relative; display:block; aspect-ratio:3/4.1; overflow:hidden; background:var(--odin-dark); text-decoration:none; color:#fff; }
.door__media{ position:absolute; inset:0; z-index:0; }
.door__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease-out); }
.door:hover .door__media img{ transform:scale(1.06); }
.door__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .7s var(--ease-out); }
.door.is-playing .door__video{ opacity:1; }
.door__veil{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(8,9,12,.12) 0%, rgba(8,9,12,0) 34%, rgba(8,9,12,.45) 66%, rgba(8,9,12,.9) 100%); transition:background .5s; }
.door__body{ position:absolute; inset:auto 0 0 0; z-index:4; padding:var(--space-md); }
.door__kicker{ display:inline-block; font-size:var(--text-xs); font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-bottom:var(--space-sm); }
.door__title{ font-weight:500; font-size:var(--text-xl); line-height:1; letter-spacing:-.015em; text-transform:uppercase; color:#fff; }
.door__desc{ margin-top:var(--space-sm); font-size:var(--text-sm); line-height:1.5; color:rgba(255,255,255,.82); max-width:34ch;
  max-height:0; opacity:0; overflow:hidden; transform:translateY(6px);
  transition:max-height .55s var(--ease-out), opacity .45s var(--ease-out), transform .55s var(--ease-out), margin-top .55s var(--ease-out); }
.door__go{ display:inline-flex; align-items:center; gap:.55em; margin-top:var(--space-md); font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff;
  opacity:0; transform:translateY(8px); transition:opacity .45s var(--ease-out) .05s, transform .5s var(--ease-out) .05s; }
.door__go .ic{ width:1.05em; height:1.05em; color:var(--color-primary); transition:transform .3s var(--ease-out); }
.door:hover .door__go .ic{ transform:translateX(4px); }
.door:hover .door__desc, .door:focus-visible .door__desc, .door.is-playing .door__desc{ max-height:9rem; opacity:1; transform:none; margin-top:var(--space-sm); }
.door:hover .door__go, .door:focus-visible .door__go, .door.is-playing .door__go{ opacity:1; transform:none; }
.door::after{ content:""; position:absolute; left:0; bottom:0; z-index:3; height:4px; width:0; background:var(--color-primary); transform:skewX(var(--skew)); transition:width .5s var(--ease-out); }
.door:hover::after, .door.is-playing::after{ width:46%; }
@media(max-width:48rem){ .door__desc{ max-height:9rem; opacity:1; transform:none; margin-top:var(--space-sm); } .door__go{ opacity:1; transform:none; } }

/* ---------- MAP / DEALERS ---------- */
.map{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--color-bg-dark); border:1px solid var(--color-contrast-low); }
.map img{ width:100%; height:100%; object-fit:cover; }
.pin{ position:absolute; width:14px; height:14px; transform:translate(-50%,-50%); background:transparent; border:0; cursor:pointer; }
.pin i{ position:absolute; inset:0; background:var(--color-primary); border-radius:50% 50% 50% 0; transform:rotate(-45deg); }
.city-filter{ display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.city-chip{ padding:.55em 1.1em; font-size:var(--text-sm); font-weight:600; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; background:transparent; border:1px solid var(--color-contrast-low); border-radius:999px; color:var(--color-contrast-higher); cursor:pointer; transition:.2s; }
.city-chip:hover{ border-color:var(--color-contrast-higher); }
.city-chip.is-active{ background:var(--color-contrast-higher); border-color:var(--color-contrast-higher); color:#fff; }
.dealer{ padding:var(--space-md) 0; border-bottom:1px solid var(--color-contrast-low); }
.dealer:first-child{ border-top:1px solid var(--color-contrast-low); }
.dealer__city{ font-size:var(--text-xs); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--color-primary); }
.dealer__name{ font-size:var(--text-md); font-weight:600; text-transform:uppercase; letter-spacing:-.005em; margin:.25rem 0 .55rem; color:var(--color-contrast-higher); }
.dealer__row{ display:flex; gap:.6rem; align-items:flex-start; font-size:var(--text-sm); color:var(--color-contrast-high); }
.dealer__phones{ margin-top:var(--space-xs); display:flex; flex-direction:column; gap:.25rem; }
.dealer__phones a{ font-weight:700; color:var(--color-contrast-higher); text-decoration:none; font-size:var(--text-sm); }

/* ---------- NEWS ---------- */
.news-card{ display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%; }
.news-card__media{ position:relative; aspect-ratio:16/11; overflow:hidden; background:var(--color-bg-dark); }
.news-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.news-card:hover .news-card__media img{ transform:scale(1.06); }
.news-card__tag{ position:absolute; top:1rem; left:1rem; z-index:2; font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(20,21,25,.7); backdrop-filter:blur(6px); padding:.45em .8em; }
.news-card__title{ font-size:var(--text-lg); font-weight:500; line-height:1.32; color:var(--color-contrast-higher); margin-top:var(--space-sm); }
.news-card__excerpt{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin-top:.6rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- CONTACT ---------- */
.contact-section{ position:relative; padding-block:var(--space-xxl); }
.contact__card{ background:var(--color-bg-dark); padding:var(--space-lg); }
.field{ width:100%; background:var(--color-bg); border:1px solid var(--color-contrast-low); color:var(--color-contrast-higher); padding:1.05em 1.2em; font-weight:500; margin-bottom:var(--space-xs); border-radius:0; transition:.2s; }
.field::placeholder{ color:var(--color-contrast-medium); }
.field:focus{ outline:none; border-color:var(--color-primary); }
.consent{ font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:var(--space-xs); }
.consent a{ color:var(--color-primary); }

/* ---------- FOOTER ---------- */
.ftr{ background:var(--odin-dark); color:rgba(255,255,255,.66); padding-top:var(--space-xl); border-top:3px solid var(--color-primary); }
.ftr__top{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); padding-bottom:var(--space-xl); border-bottom:1px solid rgba(255,255,255,.12); }
@media(min-width:48rem){ .ftr__top{ grid-template-columns:1.5fr 1fr 1fr 1.1fr; } }
.ftr h5{ font-size:var(--text-sm); font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#fff; margin-bottom:var(--space-sm); }
.ftr a{ color:rgba(255,255,255,.66); text-decoration:none; font-size:var(--text-sm); transition:.2s; }
.ftr a:hover{ color:var(--color-primary); }
.ftr__links{ display:flex; flex-direction:column; gap:.65rem; }
.ftr__links a{ transition:color .25s; }
.ftr__links a:hover{ color:var(--color-primary) !important; }
.ftr__logo-mark{ font-weight:900; font-size:var(--text-lg); letter-spacing:-.05em; color:#fff; }
.ftr__logo-mark b{ color:var(--color-primary); }
.ftr__socials{ display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.ftr__soc{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-xs); font-weight:600; color:rgba(255,255,255,.7); text-decoration:none; padding:.5em .8em; border:1px solid rgba(255,255,255,.18); border-radius:999px; transition:border-color .2s, color .2s; white-space:nowrap; }
.ftr__soc:hover{ border-color:rgba(255,255,255,.5); color:#fff; }
.ftr__soc .icon{ width:1.3em; height:1.3em; flex-shrink:0; fill:currentColor; }
.ftr__bottom{ padding-block:var(--space-md); display:flex; flex-wrap:wrap; gap:var(--space-sm); justify-content:space-between; align-items:center; font-size:var(--text-sm); color:rgba(255,255,255,.46); }

/* ---------- CTA BAND (leasing/red) ---------- */
.cta-band{ background:var(--color-primary); color:#fff; position:relative; overflow:hidden; padding-block:var(--space-xxl); }
.cta-band__bg{ position:absolute; inset:0; opacity:.14; background:repeating-linear-gradient(115deg, #fff 0 2px, transparent 2px 80px); pointer-events:none; }
.cta-band__terms{ display:flex; gap:var(--space-xl); margin-top:var(--space-lg); flex-wrap:wrap; }
.cta-band__term{ display:flex; flex-direction:column; align-items:center; }
.cta-band__term b{ display:block; font-weight:400; font-size:var(--text-xl); letter-spacing:-.02em; line-height:1; }
.cta-band__term span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-top:.4rem; display:block; }

/* ---------- ABOUT ---------- */
.about-lead{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:64rem){ .about-lead{ grid-template-columns:1fr 1.2fr; gap:var(--space-xxl); } }
.about-points li{ position:relative; padding-left:1.6em; margin-bottom:.6em; color:var(--color-contrast-high); }
.about-points li::before{ content:""; position:absolute; left:0; top:.55em; width:.8em; height:2px; background:var(--color-primary); transform:skewX(var(--skew)); }

.mission-block{ display:grid; grid-template-columns:1fr; gap:var(--space-sm); }
@media(min-width:48rem){ .mission-block{ gap:var(--space-lg); } }
@media(min-width:64rem){ .mission-block{ grid-template-columns:auto 1fr; gap:var(--space-xxl); } }
.mission-block__label{ font-weight:500; font-size:var(--text-lg); text-transform:uppercase; letter-spacing:-.02em; color:var(--color-contrast-higher); white-space:nowrap; }
@media(min-width:48rem){ .mission-block__label{ font-size:var(--text-xxl); } }
.mission-block__text{ font-weight:300; font-size:var(--text-base-size); line-height:1.6; color:var(--color-contrast-high); }

.values-grid{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:48rem){ .values-grid{ grid-template-columns:repeat(3,1fr); } }
.value-card{ border-top:3px solid var(--color-primary); padding-top:var(--space-md); }
.value-card__title{ font-weight:600; font-size:var(--text-md); text-transform:uppercase; margin-bottom:var(--space-xs); color:var(--color-contrast-higher); }
.value-card__text{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; }

.leadership-grid{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:48rem){ .leadership-grid{ grid-template-columns:repeat(3,1fr); } }
.lead-card__num{ font-weight:500; font-size:var(--text-xxl); color:var(--color-primary); line-height:1; margin-bottom:var(--space-sm); }
.lead-card__title{ font-weight:600; font-size:var(--text-md); text-transform:uppercase; margin-bottom:var(--space-xs); color:var(--color-contrast-higher); }
.lead-card__text{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; }

/* ---------- SERVICES ---------- */
.services-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--color-contrast-low); border:1px solid var(--color-contrast-low); }
@media(min-width:48rem){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .services-grid{ grid-template-columns:repeat(3,1fr); } }
.service-tile{ background:var(--color-bg); padding:var(--space-lg); text-decoration:none; color:inherit; position:relative; transition:background .3s; display:flex; flex-direction:column; gap:var(--space-sm); min-height:200px; }
.service-tile:hover{ background:var(--color-bg-dark); }
.service-tile__title{ font-weight:600; font-size:var(--text-md); letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); line-height:1.2; }
.service-tile__text{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.55; }
.service-tile__go{ margin-top:auto; padding-top:var(--space-sm); display:inline-flex; align-items:center; gap:.4em; font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-contrast-higher); }
.service-tile__go svg{ width:1em; height:1em; color:var(--color-primary); transition:transform .3s var(--ease-out); }
.service-tile:hover .service-tile__go svg{ transform:translateX(4px); }
.service-tile::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--color-primary); transform:scaleY(0); transform-origin:top; transition:transform .35s var(--ease-out); }
.service-tile:hover::after{ transform:scaleY(1); }

.steps-list{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:48rem){ .steps-list{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .steps-list{ grid-template-columns:repeat(4,1fr); } }
.step-card{ position:relative; padding-top:var(--space-md); border-top:2px solid var(--color-primary); }
.step-card__num{ font-weight:500; font-size:var(--text-xxl); color:var(--color-primary); line-height:1; margin-bottom:var(--space-sm); }
.step-card__title{ font-weight:600; font-size:var(--text-md); text-transform:uppercase; margin-bottom:var(--space-xs); color:var(--color-contrast-higher); }
.step-card__text{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.5; }

/* ---------- PAGE HERO ---------- */
.page-hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.page-hero__media{ position:absolute; inset:0; z-index:0; background:var(--odin-dark); }
.page-hero__media img{ width:100%; height:100%; object-fit:cover; }
.page-hero .media__veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,9,12,0.5) 0%, rgba(8,9,12,.6) 50%, rgba(8,9,12,.9) 100%); pointer-events:none; }
.page-hero__content{ position:relative; z-index:2; padding-bottom:var(--space-xl); padding-top:var(--space-xxxl); }
.page-hero__title{ font-weight:400; font-size:var(--text-xxxl); line-height:1; letter-spacing:-.02em; text-transform:uppercase; color:#fff; }
.page-hero__lede{ margin-top:var(--space-sm); max-width:50ch; color:rgba(255,255,255,.82); font-size:var(--text-base-size); line-height:1.5; }
@media(min-width:48rem){ .page-hero__lede{ font-size:var(--text-md); } }

/* ---------- MODAL ---------- */
.modal{ position:fixed; inset:0; z-index:1002; align-items:center; justify-content:center; padding:var(--space-sm); }
.modal.is-open{ display:flex; }
.modal__back{ position:absolute; inset:0; background:rgba(10,11,14,.6); backdrop-filter:blur(4px); }
.modal__box{ position:relative; background:#fff; width:100%; max-width:28rem; padding:var(--space-lg); animation:pop .45s var(--ease-out); }
@keyframes pop{ from{ opacity:0; transform:translateY(18px); } }
.modal__close{ position:absolute; top:1rem; right:1rem; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:var(--color-bg-dark); cursor:pointer; border:0; }

/* ---------- MOTION ---------- */
@media (prefers-reduced-motion: no-preference){
  .js .reveal{ opacity:0; transform:translateY(40px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay:var(--d,0s); }
  .js .reveal.in-view{ opacity:1; transform:none; }
  .js .reveal-x{ opacity:0; transform:translateX(56px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay:var(--d,0s); }
  .js .reveal-x.in-view{ opacity:1; transform:none; }
}

/* ---------- DRAWER ---------- */
.drawer{ position:fixed; top:0; right:0; bottom:0; left:auto; width:100%; z-index:1001; background:#fff; transform:translateX(100%); visibility:hidden; transition:transform .45s var(--ease-out), visibility .45s; display:flex; flex-direction:column; overflow:hidden; box-shadow:-20px 0 60px rgba(0,0,0,.15); }
.drawer.is-open{ transform:translateX(0); visibility:visible; }
@media(min-width:48rem){ .drawer{ width:400px; } }
.burger.is-open{ position:relative; z-index:100; }
.drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:var(--space-sm) var(--component-padding); flex-shrink:0; }
.drawer__logo img{ height:28px; width:auto; }
.drawer__close{ width:38px; height:38px; display:grid; place-items:center; border:none; background:var(--color-bg-dark); cursor:pointer; border-radius:50%; transition:background .2s; }
.drawer__close:hover{ background:var(--color-bg-darker); }
.drawer__close svg{ width:18px; height:18px; color:var(--color-black); }
.drawer__nav{ flex:1; padding:var(--space-sm) var(--component-padding); overflow:auto; }
.drawer__nav a{ display:flex; align-items:center; gap:.7rem; font-size:var(--text-base-size); font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--color-contrast-higher); text-decoration:none; padding:.75rem 0; border-bottom:1px solid var(--color-contrast-lower); }
.drawer__ic{ width:20px; height:20px; flex-shrink:0; color:var(--color-primary); }
.drawer__ic svg{ width:100%; height:100%; }
/* drawer screens */
.drawer__screen{ display:flex; flex-direction:column; flex:1; min-height:0; }
.drawer__screen--main{ transition:transform .35s var(--ease-out), opacity .35s; }
.drawer.has-sub .drawer__screen--main{ transform:translateX(-30%); opacity:0; pointer-events:none; }
.drawer__sub{ position:absolute; left:0; right:0; top:64px; bottom:0; transform:translateX(100%); transition:transform .35s var(--ease-out); background:#fff; z-index:2; display:flex; flex-direction:column; }
.drawer.has-sub .drawer__sub.is-active{ transform:translateX(0); }
.drawer__sub.is-pushed{ transform:translateX(-30%) !important; opacity:0; pointer-events:none; }
.drawer__sub-head{ display:flex; align-items:center; gap:var(--space-sm); padding:var(--space-sm) var(--component-padding); background:var(--color-bg-dark); flex-shrink:0; }
.drawer__back{ width:28px; height:28px; display:grid; place-items:center; border:none; background:none; cursor:pointer; border-radius:50%; transition:background .2s; }
.drawer__back:hover{ background:var(--color-bg-dark); }
.drawer__back svg{ width:20px; height:20px; color:var(--color-black); }
.drawer__sub-title{ font-size:var(--text-base-size); font-weight:700; text-transform:uppercase; letter-spacing:.02em; }
.drawer__sub-list{ flex:1; overflow:auto; padding:var(--space-sm) var(--component-padding); }
.drawer__model{ display:flex; align-items:center; gap:var(--space-sm); padding:var(--space-xs) 0; text-decoration:none; color:inherit; border-bottom:1px solid var(--color-contrast-lower); }
.drawer__model:last-child{ border-bottom:none; }
.drawer__model-img{ width:100px; height:68px; flex-shrink:0; background:transparent; border-radius:6px; overflow:hidden; }
.drawer__model-img img{ width:100%; height:100%; object-fit:contain; }
.drawer__model-name{ font-size:var(--text-base-size); font-weight:700; }
.drawer__model-desc{ font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:.15rem; }
/* drawer link/cat with chevron */
.drawer__link,.drawer__cat{ display:flex; align-items:center; gap:.7rem; font-size:var(--text-base-size); font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--color-contrast-higher); padding:.75rem 0; border:none; border-bottom:1px solid var(--color-contrast-lower); background:none; width:100%; text-align:left; cursor:pointer; font-family:inherit; text-decoration:none; }
.drawer__cat{ border-bottom:1px solid var(--color-contrast-lower); }
.drawer__chev{ width:18px; height:18px; margin-left:auto; color:var(--color-contrast-medium); flex-shrink:0; }
.drawer__foot{ padding:var(--space-sm) var(--component-padding) var(--space-lg); background:var(--color-bg-dark); display:flex; flex-direction:column; align-items:center; gap:var(--space-xs); flex-shrink:0; }
.drawer__phone,.drawer__dealers{ display:flex; align-items:center; gap:.6rem; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-higher); text-decoration:none; padding:.5rem 0; }
.drawer__phone svg,.drawer__dealers svg{ width:20px; height:20px; flex-shrink:0; }
.drawer__phone{ color:var(--color-primary); }

/* ---------- HELPERS ---------- */
.media__veil{ position:absolute; inset:0; pointer-events:none; }
.ic{ display:inline-block; width:1em; height:1em; vertical-align:middle; margin-left:var(--space-xxs); }

/* ---------- DROPDOWN (О компании) ---------- */
.hdr__item{ position:relative; }
.hdr__link--has-menu{ display:inline-flex; align-items:center; gap:.35em; cursor:pointer; }
.hdr__mcaret{ width:9px; height:6px; transition:transform .3s var(--ease-out); }
.hdr__item:hover .hdr__mcaret{ transform:rotate(180deg); }
.hdr__menu{ position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(12px); width:300px; background:#fff; box-shadow:0 30px 70px -22px rgba(11,11,20,.34); padding:var(--space-sm); opacity:0; visibility:hidden; transition:opacity .28s var(--ease-out), transform .28s var(--ease-out), visibility .28s; border-top:3px solid var(--color-primary); z-index:61; }
.hdr__menu::before{ content:""; position:absolute; bottom:100%; left:0; right:0; height:14px; }
.hdr__item:hover .hdr__menu, .hdr__item:focus-within .hdr__menu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.hdr__menu a{ display:flex; align-items:flex-start; gap:.8rem; padding:.85rem .9rem; text-decoration:none; transition:background .2s; position:relative; color:inherit; }
.hdr__menu a + a{ border-top:1px solid var(--color-bg-dark); }
.hdr__menu a:hover{ background:var(--color-bg-dark); }
.hdr__menu-ic{ width:34px; height:34px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--color-bg-dark); color:var(--color-primary); transition:background .2s,color .2s; clip-path:polygon(16% 0,100% 0,84% 100%,0 100%); }
.hdr__menu-ic svg{ width:17px; height:17px; }
.hdr__menu a:hover .hdr__menu-ic{ background:var(--color-primary); color:#fff; }
.hdr__menu-tx{ min-width:0; }
.hdr__menu-tt{ display:block; font-size:var(--text-sm); font-weight:700; letter-spacing:.01em; text-transform:uppercase; color:var(--color-contrast-higher); line-height:1.2; margin-bottom:.2rem; }
.hdr__menu-ds{ font-size:var(--text-xs); font-weight:500; letter-spacing:0; text-transform:none; color:var(--color-contrast-medium); line-height:1.35; }
.hdr__menu a:hover .hdr__menu-tt{ color:var(--color-primary); }

/* ---------- MEGA-MENU (Каталог) ---------- */
.hdr__mega-trigger{ display:inline-flex; align-items:center; gap:.4em; border:0; background:transparent; font-family:inherit; }
.hdr__caret{ width:11px; height:7px; transition:transform .3s var(--ease-out); }
.hdr__mega-trigger[aria-expanded="true"] .hdr__caret{ transform:rotate(180deg); }

.mega{ position:fixed; inset:0 0 auto 0; z-index:55; visibility:hidden; pointer-events:none; }
.mega.is-open{ visibility:visible; pointer-events:auto; }
.mega__backdrop{ position:fixed; inset:0; background:rgba(10,11,14,.28); opacity:0; transition:opacity .4s var(--ease-out); }
.mega.is-open .mega__backdrop{ opacity:1; }
.mega__panel{ position:relative; max-height:100vh; overflow-y:auto; background:#fff; box-shadow:0 30px 60px -24px rgba(0,0,0,.3); border-top:1px solid var(--color-contrast-low); transform:translateY(-12px); opacity:0; transition:transform .4s var(--ease-out), opacity .35s var(--ease-out); }
.mega.is-open .mega__panel{ transform:none; opacity:1; }
.mega__inner{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); padding-top:calc(64px + var(--space-lg)); padding-bottom:var(--space-xl); }
@media(min-width:64rem){ .mega__inner{ grid-template-columns:320px 1fr; gap:var(--space-md); align-items:start; } }

.mega__aside{ display:flex; flex-direction:column; gap:.2rem; }
@media(min-width:64rem){ .mega__aside{ border-right:1px solid var(--color-contrast-low); padding-right:var(--space-md); } }
.mega__aside-label{ font-size:var(--text-xs); font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--color-contrast-medium); margin-bottom:var(--space-sm); }
.mega__quick{ display:flex; align-items:center; gap:.8rem; padding:.7rem 0; color:var(--color-contrast-higher); text-decoration:none; font-size:1rem; font-weight:600; transition:color .25s, padding-left .25s var(--ease-out); }
.mega__quick svg{ width:20px; height:20px; color:var(--color-contrast-medium); transition:color .25s; }
.mega__quick:hover{ color:var(--color-primary); padding-left:.3rem; }
.mega__quick:hover svg{ color:var(--color-primary); }
.mega__aside-cta{ border-radius: 50px; margin-top:var(--space-md); display:inline-flex; align-items:center; justify-content:space-between; gap:.6em; padding:.95em 1.8em; background:var(--color-contrast-higher); color:#fff; text-decoration:none; font-size:var(--text-sm); font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:background .25s; }
.mega__aside-cta:hover{ background:var(--color-primary); }
.mega__aside-cta .ic{ width:1.1em; height:1.1em; transition:transform .3s var(--ease-out); }
.mega__aside-cta:hover .ic{ transform:translateX(4px); }

.mega__tabs{ display:inline-flex; gap:.4rem; border:1px solid var(--color-contrast-low); padding:4px; border-radius:999px; margin-bottom:var(--space-lg); }
.mega__tab{ padding:.6em 1.3em; font-size:var(--text-sm); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-high); cursor:pointer; background:transparent; border:0; border-radius:999px; transition:.25s; white-space:nowrap; font-family:inherit; }
.mega__tab.is-active{ background:var(--color-contrast-higher); color:#fff; }

.mega__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-md); }
.mega__grid.hide{ display:none; }
@media(min-width:48rem){ .mega__grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:64rem){ .mega__grid{ grid-template-columns:repeat(4,1fr); } }

.mcard{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.mcard__media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:transparent; margin-bottom:.7rem; }
.mcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-out); }
.mcard:hover .mcard__media img{ transform:scale(1.06); }
.mcard__tag{ position:absolute; top:.5rem; left:.5rem; z-index:2; display:flex; align-items:center; font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-contrast-higher); background:rgba(255,255,255,.92); padding:.35em .6em; }
.mcard__tag .acute{ height:.8em; margin-right:.3em; }
.mcard__tag--ink{ background:var(--color-contrast-higher); color:#fff; }
.mcard__name{ font-size:1rem; font-weight:600; letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); text-align:center; transition:color .3s var(--ease-out); }
.mcard__type{ font-size:var(--text-xs); font-weight:600; letter-spacing:.02em; color:var(--color-contrast-medium); margin-top:.2rem; text-align:center; }
.mcard__meta{ font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-high); margin-top:.5rem; padding-top:.5rem; border-top:1px solid var(--color-contrast-low); }
.mcard--all{ justify-content:center; align-items:flex-start; gap:.8rem; background:var(--color-bg-dark); padding:var(--space-md); aspect-ratio:auto; }
.mcard--all span{ font-size:1rem; font-weight:700; letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); line-height:1.1; }
.mcard--all .ic{ width:1.4em; height:1.4em; color:var(--color-primary); transition:transform .3s var(--ease-out); }
.mcard--all:hover{ background:var(--color-contrast-higher); } .mcard--all:hover span{ color:#fff; }
.mcard--all:hover .ic{ transform:translateX(5px); color:#fff; }

/* Mega header states */
.hdr.hdr--mega{ background:#fff; box-shadow:none; transform:none !important; border-bottom:1px solid var(--color-contrast-low); }
.hdr.hdr--mega .hdr__logo-mark{ color:var(--color-contrast-higher); }
.hdr.hdr--mega .hdr__logo-sub{ color:var(--color-contrast-medium); }
.hdr.hdr--mega .hdr__link{ color:var(--color-contrast-higher); }
.hdr.hdr--mega .hdr__call{ color:var(--color-black); border-color:var(--color-black); }
.hdr.hdr--mega .hdr__call:hover{ color:#fff; background:var(--color-primary); border-color:var(--color-primary); }
.hdr.hdr--mega .burger span{ background:var(--color-contrast-higher); }

/* ---------- SCROLLCUE ---------- */
.scrollcue{ position:absolute; right:var(--component-padding); bottom:var(--space-xxl); z-index:3; display:none; align-items:center; gap:.7rem; color:rgba(255,255,255,.7); font-size:var(--text-xs); letter-spacing:.2em; text-transform:uppercase; font-weight:600; writing-mode:vertical-rl; }
.scrollcue .bar{ width:1px; height:54px; background:rgba(255,255,255,.4); position:relative; overflow:hidden; display:block; }
.scrollcue .bar::after{ content:""; position:absolute; top:-54px; left:0; width:1px; height:54px; background:var(--color-primary); animation:cue 2.2s var(--ease-out) infinite; }
@keyframes cue{ to{ transform:translateY(108px); } }
@media(min-width:64rem){ .scrollcue{ display:flex; } }

/* ---------- SHOWCASE PIN-SCROLL (desktop) ---------- */
.showcase__idx{ font-weight:700; font-size:1rem; letter-spacing:.12em; color:var(--color-contrast-medium); white-space:nowrap; }
.showcase__idx b{ color:var(--color-contrast-higher); font-size:var(--text-lg); font-weight:500; }
@media(min-width:64rem){
  .showcase.is-pinned .showcase__pin{ position:sticky; top:0; height:100svh; overflow:hidden; padding-bottom:var(--space-xl); box-sizing:border-box; }
  .showcase.is-pinned .showcase__track{ overflow:visible; flex:1; align-items:stretch; padding-bottom:0; scroll-snap-type:none; will-change:transform; }
  .showcase.is-pinned .panel{ flex-basis:38vw; max-width:38vw; scroll-snap-align:none; display:flex; flex-direction:column; }
  .showcase.is-pinned .panel__media{ aspect-ratio:4/3; flex:none; max-height:none; overflow:hidden; }
  .showcase.is-pinned .panel__info{ padding-bottom:var(--space-lg); }
  .showcase.is-pinned .showcase__bar{ margin-top:0; margin-bottom:0; }
}
.panel:hover .alink{ border-color:var(--color-primary); }
.panel:hover .alink .ic{ transform:translateX(5px); }

/* ---------- BREADCRUMBS ---------- */
.breadcrumbs{ display:flex; flex-wrap:wrap; gap:.4em; align-items:center; margin-bottom:var(--space-md); }
.breadcrumbs a{ font-size:var(--text-xs); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.6); text-decoration:none; transition:color .2s; }
.breadcrumbs a:hover{ color:#fff; }
.breadcrumbs__sep{ font-size:var(--text-xs); color:rgba(255,255,255,.35); }
.breadcrumbs__current{ font-size:var(--text-xs); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.9); }

/* ---------- CONTACTS MAP ---------- */
.contacts-list{ display:flex; flex-direction:column; gap:var(--space-md); }
.contact-item{ padding-bottom:var(--space-md); border-bottom:1px solid var(--color-contrast-low); }
.contact-item:last-child{ border-bottom:none; }
.contact-item__label{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); margin-bottom:var(--space-xs); }
.contact-item__value{ font-size:var(--text-md); font-weight:500; color:var(--color-contrast-higher); text-decoration:none; display:block; }
a.contact-item__value:hover{ color:var(--color-primary); }
.contacts-map{ aspect-ratio:1/1; overflow:hidden; border-radius:0; }
.contacts-map iframe{ width:100%; height:100%; border:0; }
@media(min-width:64rem){ .contacts-map{ aspect-ratio:auto; height:100%; min-height:500px; } }

/* ---------- CONTACTS SECTION (from design) ---------- */
.contacts-split{ overflow:hidden;display:grid; grid-template-columns:1fr; gap:var(--space-lg); align-items:stretch; }
.contacts-map-col{ order:-1; }
@media(min-width:64rem){ .contacts-map-col{ order:0; } }
@media(min-width:64rem){ .contacts-split{ grid-template-columns:1fr 1fr; gap:var(--space-xxl); } }
.cinfo__title{ font-weight:400; font-size:var(--text-lg); letter-spacing:-.02em; text-transform:uppercase; line-height:1; color:var(--color-contrast-higher); }
.cinfo__lede{ margin-top:var(--space-xs); color:var(--color-contrast-medium); font-size:var(--text-sm); line-height:1.5; max-width:42ch; }
.cinfo__list{ margin-top:var(--space-lg); display:flex; flex-direction:column; gap:var(--space-md); }
.cinfo__item{ display:flex; gap:var(--space-sm); align-items:flex-start; }
.cinfo__ic{ width:22px; height:22px; flex-shrink:0; color:var(--color-primary); margin-top:1px; }
.cinfo__ic svg{ width:100%; height:100%; }
.cinfo__k{ font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-contrast-medium); }
.cinfo__v{ margin-top:.1rem; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-higher); line-height:1.4; }
.cinfo__v a{ color:var(--color-contrast-higher); text-decoration:none; transition:color .2s; }
.cinfo__v a:hover{ color:var(--color-primary); }
.cinfo__actions{ display:flex; gap:var(--space-sm); flex-wrap:wrap; margin-top:var(--space-lg); }
.cinfo__reqs{ margin-top:var(--space-lg); padding-top:var(--space-md); border-top:1px solid var(--color-contrast-low); display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-md); }
.creq__k{ font-size:var(--text-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-contrast-medium); }
.creq__v{ margin-top:.25rem; font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-higher); }
.creq__v a{ color:var(--color-contrast-higher); text-decoration:none; }
.creq__v a:hover{ color:var(--color-primary); }
.cmap{ position:relative; overflow:hidden; background:var(--color-bg-dark); min-height:420px; height:100%; }
@media(max-width:64rem){ .cmap{ aspect-ratio:4/3; min-height:0; } }
.cmap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ---------- HEADER LOGO IMAGES ---------- */
.hdr__logo-mark img{ height:31px; width:auto; }
.hdr .hdr__logo-dark{ display:block; }
.hdr .hdr__logo-light{ display:none; }
.hdr.hdr--over .hdr__logo-dark{ display:none; }
.hdr.hdr--over .hdr__logo-light{ display:block; }
.hdr.hdr--solid .hdr__logo-dark{ display:block; }
.hdr.hdr--solid .hdr__logo-light{ display:none; }
.hdr.hdr--mega .hdr__logo-dark{ display:block; }
.hdr.hdr--mega .hdr__logo-light{ display:none; }
.mcard:hover .mcard__name{ color:var(--color-primary); }

/* ---------- NEWS GRID (from design) ---------- */
.news-feat{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); margin-bottom:var(--space-lg); text-decoration:none; color:inherit; }
@media(min-width:64rem){ .news-feat{ grid-template-columns:1.3fr 1fr; gap:var(--space-xl); align-items:center; } }
.news-feat__media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--color-bg-dark); }
.news-feat__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.news-feat:hover .news-feat__media img{ transform:scale(1.04); }
.news-feat__date{ font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); }
.news-feat__title{ margin-top:var(--space-sm); font-weight:500; font-size:var(--text-md); letter-spacing:-.02em; line-height:1.1; text-transform:uppercase; color:var(--color-contrast-higher); }
@media(min-width:48rem){ .news-feat__title{ font-size:var(--text-xl); } }
.news-feat__excerpt{ margin-top:var(--space-md); color:var(--color-contrast-high); line-height:1.6; }
.news-feat__more{ margin-top:var(--space-lg); 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-contrast-higher); }
.news-feat__more .ic{ width:1.1em; height:1.1em; color:var(--color-primary); transition:transform .3s var(--ease-out); }
.news-feat:hover .news-feat__more .ic{ transform:translateX(4px); }
.news-list{ border-top:1px solid var(--color-contrast-low); }
.nrow{ display:grid; grid-template-columns:1fr; gap:var(--space-md); padding-block:var(--space-lg); border-bottom:1px solid var(--color-contrast-low); text-decoration:none; color:inherit; transition:padding .35s var(--ease-out); }
@media(min-width:64rem){ .nrow{ grid-template-columns:340px 1fr auto; gap:var(--space-xl); align-items:center; } }
.nrow__media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--color-bg-dark); }
.nrow__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.nrow:hover .nrow__media img{ transform:scale(1.05); }
.nrow__body{ min-width:0; }
.nrow__date{ font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); }
.nrow__title{ margin-top:var(--space-xs); font-weight:500; font-size:var(--text-md); letter-spacing:-.015em; line-height:1.2; text-transform:uppercase; color:var(--color-contrast-higher); }
@media(min-width:48rem){ .nrow__title{ font-size:var(--text-lg); } }
.nrow__excerpt{ margin-top:var(--space-sm); font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; max-width:60ch; }
.nrow__go{ display:none; width:54px; height:54px; border:1px solid var(--color-contrast-low); border-radius:50%; align-items:center; justify-content:center; flex-shrink:0; transition:.3s; }
@media(min-width:64rem){ .nrow__go{ display:flex; } }
.nrow__go svg{ width:18px; height:18px; color:var(--color-contrast-higher); transition:transform .3s var(--ease-out); }
.nrow:hover .nrow__go{ background:var(--color-primary); border-color:var(--color-primary); }
.nrow:hover .nrow__go svg{ color:#fff; transform:translateX(3px); }

.news-load{ margin-top:var(--space-xl); display:flex; justify-content:center; }

/* ---------- ARTICLE ---------- */
.article-wrap{ display:grid; grid-template-columns:1fr; gap:var(--space-xl); }
@media(min-width:64rem){ .article-wrap{ grid-template-columns:minmax(0,1fr) 280px; gap:var(--space-xl); align-items:start; } }
.article-body{ }
.article-body > * + *{ margin-top:var(--space-md); }
.article-aside{ position:relative; }
@media(min-width:64rem){ .article-aside{ position:sticky; top:96px; } }
.article-aside__card{ border:1px solid var(--color-contrast-low); padding:var(--space-md); }
.article-aside__label{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-contrast-medium); }
.article-share{ display:flex; gap:.5rem; margin-top:var(--space-sm); }
.article-share a{ width:40px; height:40px; border:1px solid var(--color-contrast-low); display:flex; align-items:center; justify-content:center; color:var(--color-contrast-higher); transition:.2s; text-decoration:none; }
.article-share a:hover{ background:var(--color-contrast-higher); color:#fff; border-color:var(--color-contrast-higher); }
.article-share a svg{ width:18px; height:18px; }
.article-aside__divider{ height:1px; background:var(--color-contrast-low); margin-block:var(--space-sm); }
.news-card__more{ margin-top:var(--space-sm); font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-primary); display:inline-flex; align-items:center; gap:.4em; }
.news-card__more .ic{ width:1em; height:1em; transition:transform .3s var(--ease-out); }
.news-card:hover .news-card__more .ic{ transform:translateX(4px); }
.bg-beige{ background-color:#F4F2EF; }
.news-card__date{ display:block; margin-top:var(--space-sm); font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); }

/* ---------- NEWS RAIL (carousel) ---------- */
.news-rail{ display:flex; gap:var(--space-lg); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
.news-rail::-webkit-scrollbar{ display:none; }
.news-rail .news-card{ flex:0 0 100%; scroll-snap-align:start; }
@media(min-width:48rem){ .news-rail .news-card{ flex-basis:44%; } }
@media(min-width:64rem){ .news-rail .news-card{ flex-basis:30.5%; } }

/* ---------- NEWS RAIL NAV ---------- */
.news-rail-wrap{ position:relative; }
.news-rail-nav{ display:flex; gap:.5rem; }
.rail-btn{ width:42px; height:42px; border:none; background:var(--color-primary); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; transition:.25s; }
.rail-btn:hover{ background:var(--color-primary-dark); }
.rail-btn svg{ width:18px; height:18px; }
.news-loading{ display:flex; justify-content:center; padding:0 var(--space-xl); }
.news-loading::after{ content:''; width:32px; height:32px; border:3px solid var(--color-contrast-low); border-top-color:var(--color-primary); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.cta-band .eyebrow::before{ background:#fff; }
.service-tile__icon{ width:40px; height:40px; color:var(--color-primary); }
.service-tile__icon svg{ width:100%; height:100%; }

/* ---------- MODEL SPECS ACCORDION ---------- */
.specs{ border-top:1px solid var(--color-contrast-low); }
.spec-grp{ border-bottom:1px solid var(--color-contrast-low); }
.spec-grp__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); width:100%; padding:var(--space-md) 0; background:transparent; border:0; cursor:pointer; text-align:left; font-family:inherit; }
.spec-grp__title{ font-weight:600; font-size:var(--text-base-size); letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); }
@media(min-width:48rem){ .spec-grp__title{ font-size:var(--text-md); } }
.spec-grp__icon{ width:32px; height:32px; border:1px solid var(--color-contrast-low); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.3s; }
.spec-grp__icon svg{ width:14px; height:14px; color:var(--color-contrast-higher); transition:transform .3s var(--ease-out); }
.spec-grp.is-open .spec-grp__icon{ background:var(--color-contrast-higher); }
.spec-grp.is-open .spec-grp__icon svg{ color:#fff; transform:rotate(180deg); }
.spec-grp__body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--ease-out); }
.spec-grp.is-open .spec-grp__body{ grid-template-rows:1fr; }
.spec-grp__inner{ overflow:hidden; }
.spec-grp__inner p{ padding:0 0 var(--space-md) 0; font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; }
.spec-grp__inner .spec-table{ margin-bottom:var(--space-md); }

/* ---------- MODEL EQUIPMENT COLUMNS ---------- */
.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(3,1fr); } }
.equip-col h4{ font-weight:600; font-size:var(--text-sm); letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-higher); padding-bottom:var(--space-sm); border-bottom:2px solid var(--color-primary); display:inline-block; margin-bottom:var(--space-sm); }
.equip-col li{ font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.6; padding:var(--space-xs) 0; border-bottom:1px solid var(--color-contrast-lower); list-style:none; }

/* ---------- DEALERS PAGE ---------- */
.dealers-layout{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); align-items:start; overflow:hidden; }
.dealers-map{ order:-1; }
@media(min-width:64rem){ .dealers-map{ order:0; } }
@media(min-width:64rem){ .dealers-layout{ grid-template-columns:1fr 1fr; gap:var(--space-md); } }
.dealers-map{ position:relative; overflow:hidden; background:var(--color-bg-dark); aspect-ratio:1/1; min-height:320px; }
@media(min-width:64rem){ .dealers-map{ position:sticky; top:96px; aspect-ratio:auto; height:calc(100svh - 160px); min-height:520px; } }
.dealers-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
/* map touch overlay (mobile) */
.map-touch-overlay{ position:absolute; inset:0; z-index:5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; background:rgba(0,0,0,.5); color:#fff; cursor:pointer; transition:opacity .3s; }
.map-touch-overlay svg{ width:28px; height:28px; }
.map-touch-overlay span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.map-touch-overlay.is-hidden{ opacity:0; pointer-events:none; transition:opacity .5s ease; }
@media(min-width:64rem){ .map-touch-overlay{ display:none; } }
#map{ width:100%; height:100%; }
.dealers-col{ min-width:0; background:var(--color-bg); padding-inline:var(--space-xxs); }
.dealers-controls{ display:flex; align-items:center; gap:var(--space-sm); }
.dealers-search{ position:relative; flex:1 1 auto; min-width:0; }
.dealers-search svg{ position:absolute; left:.9em; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--color-contrast-medium); pointer-events:none; }
.dealers-search input{ width:100%; font-size:var(--text-sm); font-weight:500; color:var(--color-contrast-higher); border:1px solid var(--color-contrast-low); border-radius:999px; padding:.7em 1em .7em 3.3em; }
.dealers-search input::placeholder{ color:var(--color-contrast-medium); }
.dealers-search input:focus{ outline:none; border-color:var(--color-primary); background:#fff; }
.dealers-count{ font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-medium); margin:var(--space-md) 0 var(--space-xs) 0; }
.dealers-count b{ color:var(--color-contrast-higher); }
.dealers-list{ position:relative; display:flex; flex-direction:column; max-height:42svh; overflow-y:auto; overscroll-behavior:contain; padding-right:.4rem; scrollbar-width:thin; scrollbar-color:var(--color-contrast-low) transparent; }
@media(min-width:64rem){ .dealers-list{ max-height:calc(100svh - 260px); } }
.dealers-col{ position:relative; }

/* ---------- DEALER CARDS ---------- */


.dealer-card-wrap{ border-bottom:1px solid rgba(0,0,0,.1); }
.dealer-card-wrap .dealer-card{ opacity:1; border-bottom:1px solid var(--color-contrast-lower); }
.dealer-card-wrap{ transition:opacity .3s ease; }
.dealer-card-wrap.is-fading{ opacity:0; pointer-events:none; }
.dealer-card-wrap.is-collapsing{ overflow:hidden; transition:max-height .35s ease, border-color .35s ease; border-color:transparent; }
.dealer-card-wrap.is-hidden{ display:none; }

.dealer-card__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); width:100%; padding:var(--space-sm) 0; background:transparent; border:0; text-align:left; cursor:pointer; font-family:inherit; }
.dealer-card__city{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); }
.dealer-card__name{ font-size:var(--text-md); font-weight:600; letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); margin-top:var(--space-xs); }
.dealer-card__chev{ width:36px; height:36px; flex-shrink:0; border:1px solid var(--color-contrast-low); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.3s; }
.dealer-card__chev svg{ width:16px; height:16px; color:var(--color-contrast-higher); transition:transform .3s var(--ease-out); }
.dealer-card.is-open .dealer-card__chev{ background:var(--color-contrast-higher); border-color:var(--color-contrast-higher); }
.dealer-card.is-open .dealer-card__chev svg{ color:#fff; transform:rotate(180deg); }

.dealer-card__body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--ease-out); }
.dealer-card.is-open .dealer-card__body{ grid-template-rows:1fr; }
.dealer-card__body-inner{ overflow:hidden; }
.dealer-card.is-open .dealer-card__body-inner{ padding-bottom:var(--space-lg); }

.dealer-card__row{ display:flex; gap:var(--space-sm); align-items:flex-start; font-size:var(--text-base-size); color:var(--color-contrast-high); line-height:1.5; margin-bottom:var(--space-xs); }
.dealer-card__row svg{ width:18px; height:18px; flex-shrink:0; color:var(--color-contrast-medium); margin-top:2px; }

.dealer-card__phones{ display:flex; flex-wrap:wrap; gap:var(--space-md); margin-top:var(--space-sm); margin-bottom:var(--space-sm); }
.dphone{ display:flex; align-items:center; gap:var(--space-sm); }
.dphone svg{ width:20px; height:20px; flex-shrink:0; color:var(--color-contrast-medium); }
.dphone__text{ display:flex; flex-direction:column; }
.dphone__text span{ font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); }
.dphone__text a{ font-size:var(--text-base-size); font-weight:700; color:var(--color-contrast-higher); text-decoration:none; transition:color .2s; margin-top:.25rem; }
.dphone__text a:hover{ color:var(--color-primary); }

.dealer-card__foot{ margin-top:var(--space-md); display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.dealer-card__btn{ display:inline-flex; align-items:center; gap:.5em; padding:.7em 1.3em; font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; text-decoration:none; transition:.25s; }
.dealer-card__btn--primary{ background:var(--color-primary); color:#fff; border:1px solid var(--color-primary); }
.dealer-card__btn--primary:hover{ background:var(--color-primary-dark); }
.dealer-card__btn--subtle{ background:transparent; color:var(--color-contrast-higher); border:1.5px solid var(--color-contrast-low); }
.dealer-card__btn--subtle:hover{ border-color:var(--color-contrast-higher); }
.dealer-card__btn svg{ width:1em; height:1em; }

.dealers-empty{ display:none; padding:var(--space-xxl) 0; text-align:center; color:var(--color-contrast-medium); }
.dealers-empty.is-shown{ display:block; }




.dealer-card-wrap:last-child{ border-bottom:1px solid rgba(0,0,0,.1); }

.dealer-card__services{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:var(--space-xs); }
.dealer-svc{ display:inline-flex; align-items:center; gap:.35em; font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-high); background:var(--color-bg-dark); padding:.3em .7em; border-radius:999px; }
.dealer-svc svg{ width:14px; height:14px; color:var(--color-primary); }

/* ---------- DEALERS FILTER ---------- */
.dealers-filter{ position:relative; flex-shrink:0; }
.dealers-filter__btn{ width:44px; height:44px; border-radius:50%; border:none; background:var(--color-primary); display:flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; transition:.2s; }
.dealers-filter__btn:hover,.dealers-filter__btn.is-active{ background:var(--color-primary-dark, #e0342a); color:#fff; }
.dealers-filter__btn svg{ width:18px; height:18px; }
.dealers-filter__pop{ position:absolute; top:calc(100% + .5rem); right:0; z-index:20; width:min(300px,85vw); background:#fff; border:none; border-radius:var(--radius-xl); box-shadow:0 30px 60px -24px rgba(0,0,0,.3); padding:var(--space-md); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.22s var(--ease-out); overflow:visible; }
.dealers-filter__pop.is-open{ opacity:1; visibility:visible; transform:translateY(0); }
.dealers-filter__label{ font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--color-contrast-medium); margin-bottom:var(--space-sm); }
.dealers-filter__cities{ display:flex; flex-wrap:wrap; gap:.4rem; max-height:200px; overflow-y:auto; }
.dfopt{ padding:.4em .9em; font-size:var(--text-xs); font-weight:600; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; background:transparent; border:1px solid var(--color-contrast-low); border-radius:999px; color:var(--color-contrast-higher); cursor:pointer; transition:.2s; }
.dfopt:hover{ border-color:var(--color-contrast-higher); }
.dfopt.is-active{ background:var(--color-contrast-higher); border-color:var(--color-contrast-higher); color:#fff; }
.dealers-filter__reset{ margin-top:var(--space-md); width:100%; padding:.6em; font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--color-primary); background:transparent; border:0; cursor:pointer; }

/* choice tags */
.choice-tags{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; padding:0; margin:0; }
.choice-tag{ display:inline-flex; align-items:center; gap:.35em; padding:.45em .9em; font-size:var(--text-xs); font-weight:600; letter-spacing:.03em; background:transparent; color:var(--color-contrast-higher); border:1px solid var(--color-contrast-low); border-radius:999px; cursor:pointer; transition:.2s; user-select:none; }
.choice-tag:hover{ border-color:var(--color-primary); color:#fff; background:var(--color-primary); }
.choice-tag input{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.choice-tag:has(input:checked){ background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
/* dealers autocomplete overrides */
#dealers-city-input{ font-size:var(--text-sm); border-radius:var(--radius-xl); }
.dealers-filter__pop .autocomplete__list{ max-height:200px; }

/* ---------- PHOTO MARQUEE ---------- */
.photo-marquee{ overflow:hidden; padding:var(--space-xl) 0; }
.photo-marquee__track{ display:flex; gap:var(--space-md); width:max-content; animation:photoMarquee 30s linear infinite; cursor:grab; }
.photo-marquee__track.is-dragging{ animation-play-state:paused !important; cursor:grabbing; user-select:none; }
.photo-marquee__slide{ flex-shrink:0; width:400px; border-radius:var(--radius-lg); overflow:hidden; }
.photo-marquee__slide img{ display:block; width:100%; height:100%; object-fit:cover; }
@media(min-width:768px){ .photo-marquee__slide{ width:500px; } }
@media(min-width:1200px){ .photo-marquee__slide{ width:600px; } }
@keyframes photoMarquee{ to{ transform:translateX(-50%); } }

/* ---------- SPEC TABLE ---------- */
.spec-table{ width:100%; border-collapse:collapse; margin-bottom:var(--space-md); }
.spec-table tr{ border-bottom:1px solid var(--color-contrast-low); }
.spec-table tr:last-child{ border-bottom:none; }
.spec-table td{ padding:var(--space-xs) 0; font-size:var(--text-sm); color:var(--color-contrast-high); line-height:1.5; vertical-align:top; }
.spec-table td:first-child{ font-weight:500; color:var(--color-contrast-medium); padding-right:var(--space-md); width:50%; }
.spec-table td:last-child{ font-weight:600; color:var(--color-contrast-higher); }
.spec-table th{ font-size:var(--text-xs); font-weight:600; letter-spacing:.02em; color:var(--color-contrast-medium); padding:var(--space-xs) var(--space-xs) var(--space-xs) 0; text-align:left; vertical-align:bottom; white-space:nowrap; }
.spec-table th:first-child{ width:35%; }
.spec-table thead tr{ border-bottom:2px solid var(--color-contrast-low); }

/* ---------- MODEL SUBNAV ---------- */
.subnav{ position:sticky; top:64px; z-index:35; background:rgba(255,255,255,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--color-contrast-low); transition:top .3s ease; }
.hdr--hidden ~ main .subnav{ top:0; }
.subnav__inner{ display:flex; align-items:center; gap:var(--space-md); height:64px; }
.subnav__name{ font-weight:600; font-size:var(--text-base-size); letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); white-space:nowrap; flex-shrink:0; }
.subnav__name b{ color:var(--color-primary); }
.subnav__links{ display:none; gap:var(--space-md); flex:1; overflow-x:auto; }
@media(min-width:64rem){ .subnav__links{ display:flex; } }
.subnav__link{ font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-contrast-medium); text-decoration:none; white-space:nowrap; padding:var(--space-sm) 0; border-bottom:2px solid transparent; transition:color .2s, border-color .2s; }
.subnav__link:hover,.subnav__link.is-active{ color:var(--color-contrast-higher); border-bottom-color:var(--color-primary); }
.subnav__actions{ display:flex; align-items:center; gap:var(--space-sm); margin-left:auto; flex-shrink:0; }
.subnav__price{ display:none; font-size:var(--text-xs); text-align:right; line-height:1.3; color:var(--color-contrast-medium); }
.subnav__price b{ font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); }
@media(min-width:64rem){ .subnav__price{ display:block; } }
/* hero responsive images (desktop vs mobile) */
.hero-img--desktop{ display:none; }
.hero-img--mobile{ display:block; }
@media(min-width:48rem){ .hero-img--desktop{ display:block; } .hero-img--mobile{ display:none; } }

.hl-title{ font-size:var(--text-lg); }
@media(min-width:48rem){ .hl-title{ font-size:var(--text-xl); } }
/* related models carousel */
.related-rail-wrap{ position:relative; }
.related-rail{ display:flex; gap:var(--space-lg); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
.related-rail::-webkit-scrollbar{ display:none; }
.related-card{ flex:0 0 100%; scroll-snap-align:center; text-decoration:none; color:inherit; text-align:center; }
@media(min-width:48rem){ .related-card{ flex-basis:40%; scroll-snap-align:start; } }
@media(min-width:64rem){ .related-card{ flex-basis:30%; } }
.related-card__img{ aspect-ratio:4/3; overflow:hidden; background:transparent; }
.related-card__img img{ width:100%; height:100%; object-fit:contain; }
.related-card__name{ margin-top:var(--space-sm); font-weight:600; font-size:var(--text-base-size); text-transform:uppercase; letter-spacing:-.01em; }
.related-card__desc{ font-size:var(--text-xs); color:var(--color-contrast-medium); margin-top:.2rem; }
.related-bar{ position:relative; height:2px; background:var(--color-contrast-low); margin-top:var(--space-md); }
.related-bar__thumb{ position:absolute; left:0; top:0; height:100%; background:var(--color-primary); width:33%; transition:left .15s, width .15s; }
@media(min-width:64rem){ .related-bar{ display:none; } }
#overview,#gallery,#highlights,#specs,#equipment,#leasing{ scroll-margin-top:150px; }

/* ---------- SPEC SHARE ---------- */
.spec-share__label{ display:block; font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); margin-bottom:var(--space-xs); }
.spec-share__links{ display:flex; gap:var(--space-xs); }
.spec-share__link{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid var(--color-contrast-low); color:var(--color-contrast-medium); transition:color .2s, border-color .2s, background .2s; }
.spec-share__link svg{ width:18px; height:18px; }
.spec-share__link:hover{ color:var(--color-primary); border-color:var(--color-primary); }

/* ---------- CATALOG GRID ---------- */
.filterbar{ position:sticky; top:64px; z-index:30; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); border-bottom:1px solid var(--color-contrast-low); padding:var(--space-sm) 0; transition:top .3s ease; }
.hdr--hidden ~ main .filterbar{ top:0; }
.filterbar__in{ display:flex; align-items:start; flex-direction: column; gap:var(--space-md); flex-wrap:wrap; }
.filterbar__panels{ display:flex; align-items:start; flex-direction: column; gap:var(--space-xs); flex-wrap:wrap; flex:1; }
.filterbar__right{ margin-left:auto; display:flex; align-items:center; gap:var(--space-md); flex-shrink:0; }
.filter-toggle{ display:none; padding:.55em 1.1em; font-size:var(--text-xs); font-weight:600; text-transform:uppercase; background:var(--color-contrast-higher); color:#fff; border:none; border-radius:999px; cursor:pointer; }
.filter-group{ display:flex; align-items:center; gap:var(--space-xs); flex-wrap:wrap; }
.filter-lbl{ font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); margin-right:var(--space-xxs); }
.fchip{ padding:.55em 1.1em; font-size:var(--text-xs); font-weight:600; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; background:transparent; border:1px solid var(--color-contrast-low); border-radius:999px; color:var(--color-contrast-higher); cursor:pointer; transition:.2s; font-family:inherit; }
.fchip:hover{ border-color:var(--color-contrast-higher); }
.fchip.is-active{ background:var(--color-contrast-higher); border-color:var(--color-contrast-higher); color:#fff; }
.fchip__n{ opacity:.5; margin-left:.4em; font-variant-numeric:tabular-nums; }
.result-count{ font-size:var(--text-xs); font-weight:600; color:var(--color-contrast-medium); text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.result-count b{ color:var(--color-contrast-higher); margin-right:.3em; }
.sortsel{ font-size:var(--text-xs); font-weight:600; padding:.5em .8em; border:1px solid var(--color-contrast-low); border-radius:8px; background:#fff; color:var(--color-contrast-higher); cursor:pointer; font-family:inherit; }

.catalog{ padding:var(--space-xl) 0; }
.tgrid{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
@media(min-width:36rem){ .tgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:64rem){ .tgrid{ grid-template-columns:repeat(3,1fr); } }

.tcard{ display:flex; flex-direction:column; border:1px solid var(--color-contrast-lower); border-radius:var(--radius-xl); text-decoration:none; color:inherit; overflow:hidden; box-shadow:0 0 0 0 rgba(0,0,0,0); transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out); }
.tcard:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -24px rgba(0,0,0,.18); }
.tcard__media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.tcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease-out); }
.tcard:hover .tcard__media img{ transform:scale(1.05); }
.tcard__tags{ position:absolute; top:var(--space-sm); left:var(--space-sm); display:flex; gap:var(--space-xxs); z-index:2; flex-wrap:wrap; }
.ttag{ padding:.3em .7em; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; background:rgba(255,255,255,.88); backdrop-filter:blur(6px); color:var(--color-contrast-higher); border-radius:4px; white-space:nowrap; }
.ttag--ink{ background:var(--color-contrast-higher); color:#fff; }
.ttag--ev{ background:#1d6d4f; color:#fff; }
.tcard__body{ padding:var(--space-md); display:flex; flex-direction:column; flex:1; }
.tcard__cat{ font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-primary); margin-bottom:var(--space-xxs); }
.tcard__name{ font-size:var(--text-md); font-weight:600; letter-spacing:-.01em; text-transform:uppercase; color:var(--color-contrast-higher); }
.tcard__specs{ display:flex; gap:var(--space-md); margin-top:var(--space-sm); padding:var(--space-sm) 0; border-top:1px solid var(--color-contrast-low); border-bottom:1px solid var(--color-contrast-low); }
.tcard__spec b{ font-size:var(--text-sm); font-weight:600; color:var(--color-contrast-higher); display:block; }
.tcard__spec span{ font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-contrast-medium); }
.tcard.is-fading{ opacity:0 !important; transform:scale(.96) translateY(8px) !important; pointer-events:none; }
.tcard.is-hidden{ display:none !important; }
.tcard__desc{ font-size:var(--text-sm); color:var(--color-contrast-medium); margin-top:var(--space-xs); line-height:1.4; }
.tcard__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:var(--space-sm); }
.tcard-stock__foot{ display:flex; align-items:center; justify-content:end; margin-top:auto; padding-top:var(--space-sm); }
.tcard__price{ font-size:var(--text-xs); color:var(--color-contrast-medium); }
.tcard__price b{ display:block; font-size:var(--text-sm); font-weight:700; color:var(--color-contrast-higher); }
.tcard__go{ width:40px; height:40px; border:1px solid var(--color-contrast-low); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--color-contrast-higher); transition:.2s; }
.tcard:hover .tcard__go{ background:var(--color-primary); border-color:var(--color-primary); color:#fff; }

.empty{ display:none; text-align:center; padding:var(--space-xxl) var(--space-lg); color:var(--color-contrast-medium); }
.empty.is-shown{ display:block; }
.empty svg{ margin:0 auto var(--space-md); color:var(--color-contrast-low); }
.empty h3{ font-size:var(--text-lg); color:var(--color-contrast-higher); margin-bottom:var(--space-xs); }

@media(max-width:768px){
  .filter-toggle{ display:flex; align-items:center; gap:6px; }
  .filterbar__panels{ display:none; flex-direction:column; align-items:flex-start; width:100%; }
  .filterbar__panels.is-open{ display:flex; }
  .filterbar__right .sortsel{ display:none; }
  .hero__meta{display: none;}
  .hero__content{padding-bottom: var(--space-xxl);}
  .page-hero__content{padding-bottom: var(--space-xxl);}
}
.tcard{ transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out), opacity .25s ease; }
.tcard.is-fading{ opacity:0 !important; transform:scale(.96) translateY(8px) !important; pointer-events:none; }
.tcard.is-hidden{ display:none !important; }
.doors-wrap{ position:relative; }

/* ---------- TEXT INTRO ---------- */
.text-intro{ display:grid; grid-template-columns:1fr; gap:var(--space-lg); align-items:flex-end; }
@media(min-width:64rem){ .text-intro{ grid-template-columns:1.2fr 1fr; } }
.text-intro__right{ color:var(--color-contrast-high); font-size:var(--text-base-size); line-height:1.6; }

/* Шапка "С фоном" (hdr--force-solid) на странице без тёмного героя — отступ под фикс-шапку (64px) */
body.hdr-solid-pad main{ padding-top:64px; }

/* Секция "Хлебные крошки" (отдельный блок, для светлого фона) */
.crumbs-sec{ padding-block:var(--space-md); }
.crumbs-sec .breadcrumbs{ margin-bottom:0; }
.crumbs-sec .breadcrumbs a{ color:var(--color-contrast-medium); }
.crumbs-sec .breadcrumbs a:hover{ color:var(--color-primary); }
.crumbs-sec .breadcrumbs__sep{ color:var(--color-contrast-low); }
.crumbs-sec .breadcrumbs__current{ color:var(--color-contrast-high); }
