/* AG23 visual refresh v2 — intentionally loaded after legacy styles.css */
:root {
  --v2-ink: #141816;
  --v2-muted: #66706a;
  --v2-paper: #f4f5f1;
  --v2-card: #ffffff;
  --v2-dark: #0b0e0c;
  --v2-dark-2: #131814;
  --v2-green: #4b7a3f;
  --v2-green-deep: #31552a;
  --v2-accent: #d8ef65;
  --v2-line: rgba(20, 24, 22, .11);
  --v2-shadow: 0 24px 70px rgba(21, 30, 24, .10);
  --v2-radius: 24px;
}

html, body {
  font-size: 17px !important;
  color: var(--v2-ink) !important;
  background: var(--v2-paper) !important;
}
body { line-height: 1.45; }
.layout { background: var(--v2-paper) !important; }
.content { background: var(--v2-paper); }
.container { width: 100%; max-width: 1220px !important; padding-left: 26px !important; padding-right: 26px !important; }

/* Header */
.header {
  position: sticky !important;
  top: 0;
  z-index: 1000 !important;
  background: rgba(9, 12, 10, .90) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
}
.header__row { min-height: 70px; gap: 20px; }
.logo { max-height: 38px !important; width: auto; }
.main-menu .menu__items { gap: 2px; }
.main-menu .menu__link {
  font-size: .76rem;
  letter-spacing: .035em !important;
  border-radius: 999px !important;
  padding: .78em 1.05em !important;
}
.main-menu .menu__link:hover { background: rgba(255,255,255,.09) !important; }
.main-menu .menu__link--accent {
  color: #10130f !important;
  background: var(--v2-accent) !important;
}
.main-menu .menu__link--accent:hover { background: #e7fa8e !important; }

/* Type and vertical rhythm: fixes the oversized/stretched v1 layer */
.section {
  padding-top: clamp(64px, 7vw, 96px) !important;
  padding-bottom: 0 !important;
  color: var(--v2-ink);
  background: var(--v2-paper);
}
.section.pb { padding-bottom: clamp(64px, 7vw, 96px) !important; }
.section.grey {
  padding-top: clamp(64px, 7vw, 92px) !important;
  padding-bottom: clamp(64px, 7vw, 92px) !important;
  color: var(--v2-ink) !important;
  background: #e9ece5 !important;
}
body .h2.section__title,
body .section__title {
  margin-bottom: 34px;
  font-size: clamp(2rem, 4vw, 3.35rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.025em !important;
  color: var(--v2-ink);
}
.h1 { letter-spacing: -.025em; }
.h3, .h4 { color: var(--v2-ink); }
.lead {
  max-width: 880px !important;
  font-size: clamp(1.06rem, 1.65vw, 1.28rem) !important;
  line-height: 1.62 !important;
  color: #4e5952 !important;
}

/* Hero */
.banner {
  min-height: 0 !important;
  height: auto;
  display: block !important;
  position: relative;
  overflow: hidden;
  color: #fff !important;
  background: var(--v2-dark) !important;
}
.banner::after {
  background:
    linear-gradient(90deg, rgba(5,8,6,.82) 0%, rgba(5,8,6,.56) 38%, rgba(5,8,6,.12) 68%, rgba(5,8,6,.18) 100%),
    linear-gradient(0deg, rgba(5,8,6,.72) 0%, rgba(5,8,6,0) 48%) !important;
  opacity: 1 !important;
}
.banner__img, .banner__video {
  width: 100%;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  transform: none !important;
  filter: saturate(.92) contrast(1.03) !important;
  object-fit: cover;
}
.home-hero .banner__img { height: clamp(590px, 72vh, 760px); object-position: center 53%; }
.product-hero .banner__img { height: clamp(470px, 58vh, 610px); object-position: center; }
.banner__content {
  z-index: 2 !important;
  bottom: 0 !important;
  padding: 0 0 clamp(54px, 7vw, 90px) !important;
}
.banner__title {
  max-width: 850px !important;
  margin: 0;
  font-size: clamp(2.7rem, 6.2vw, 5.9rem) !important;
  line-height: .94 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 3px 30px rgba(0,0,0,.24);
}
.product-hero .page-title {
  max-width: 760px;
  font-size: clamp(2.8rem, 5.3vw, 5rem) !important;
}
.banner__text {
  max-width: 650px !important;
  margin-top: 20px !important;
  font-size: clamp(1.03rem, 1.65vw, 1.28rem) !important;
  line-height: 1.48 !important;
  color: rgba(255,255,255,.88) !important;
}
.banner__ctrls { margin-top: 28px !important; gap: 10px !important; }
.hero-kicker {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #f3f6f2;
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  font-weight: 700;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hero-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.hero-spec {
  min-width: 150px;
  padding: 13px 16px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 16px;
  background: rgba(8,12,9,.38);
  backdrop-filter: blur(12px);
}
.hero-spec b { display: block; font: 600 1.15rem/1.05 var(--header-font); text-transform: uppercase; }
.hero-spec small { display: block; margin-top: 4px; color: rgba(255,255,255,.64); font-size: .72rem; }

/* Buttons */
.btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .92em 1.35em !important;
  border-radius: 12px !important;
  border-color: var(--v2-green) !important;
  background: var(--v2-green) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  font-size: .9rem;
  letter-spacing: .035em;
}
.btn:hover { transform: translateY(-2px) !important; background: var(--v2-green-deep) !important; border-color: var(--v2-green-deep) !important; }
.btn--outline, .btn-light {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.44) !important;
  backdrop-filter: blur(8px);
}
.btn--outline:hover, .btn-light:hover { background: rgba(255,255,255,.15) !important; border-color: rgba(255,255,255,.7) !important; }
.products-grid .btn--outline { color: var(--v2-green-deep) !important; background: transparent !important; border-color: rgba(75,122,63,.36) !important; }
.products-grid .btn--outline:hover { background: #eef3ea !important; }

/* Authors */
.quotes { max-width: 1040px; }
.quote {
  gap: 28px !important;
  padding: 26px !important;
  color: var(--v2-ink) !important;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: var(--v2-radius) !important;
  box-shadow: var(--v2-shadow) !important;
}
.quote__cover { flex: 0 0 190px; width: 190px; }
.quote__photo { width: 190px; height: 190px; border: 0; border-radius: 20px; }
.quote__main { padding: 0 !important; }
.quote__title { font-size: 1.35rem; }
.quote__subtitle { color: var(--v2-muted); }
.quote__text {
  color: #374038;
  background: #f2f4ef !important;
  border: 0 !important;
  border-radius: 16px !important;
}

/* Model cards */
.products-grid {
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px !important;
}
.products-grid .item,
.products-grid .item:nth-of-type(even) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start;
  margin-top: 0 !important;
  overflow: hidden;
  color: var(--v2-ink) !important;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 50px rgba(23,34,25,.09) !important;
  transform: none !important;
}
.products-grid .item:hover { transform: translateY(-5px) !important; box-shadow: 0 26px 64px rgba(23,34,25,.14) !important; }
.products-grid .item__cover {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 0 !important;
  object-fit: cover;
}
.products-grid .item__main { padding: 28px 30px 30px !important; }
.products-grid .item__logo { max-width: 86px; margin-bottom: 12px; opacity: .64; }
.products-grid .item__title { margin-top: 0 !important; font-size: 1.8rem !important; }
.products-grid .item__desc { color: #58635b; line-height: 1.5; }
.products-grid .item__ctrls { margin-top: 24px; }

/* Product tech */
.tech { max-width: 1040px; gap: 20px !important; }
.tech__chars, .tech__docs {
  color: var(--v2-ink) !important;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 45px rgba(23,34,25,.07) !important;
}
.tech__chars { flex: 1; padding: 18px !important; }
.tech__docs { width: 280px; max-width: 280px; padding: 14px !important; }
.chars-table { width: 100%; min-width: 0 !important; color: var(--v2-ink); }
.chars-table tr:nth-child(odd) { background: #f3f5f0 !important; }
.chars-table th, .chars-table td { padding: 10px 12px !important; }
.chars-table th { color: #68736b; }
.manual-link { height: 100%; min-height: 230px; color: var(--v2-ink) !important; background: #fff; border-radius: 15px !important; }

/* New compact gallery */
.product-gallery { max-width: 1080px; margin: 0 auto; outline: none; }
.product-gallery__stage {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #101411;
  box-shadow: 0 24px 70px rgba(12,18,14,.14);
}
.product-gallery__main { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #111; }
.product-gallery__main::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 25%;
  background: linear-gradient(0deg, rgba(0,0,0,.4), transparent);
  pointer-events: none;
}
.product-gallery__main img { width: 100%; height: 100%; object-fit: cover; transition: opacity .16s ease, transform .45s ease; }
.product-gallery__main:hover img { transform: scale(1.012); }
.product-gallery__zoom,
.product-gallery__counter {
  position: absolute;
  z-index: 2;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #fff;
  background: rgba(4,7,5,.58);
  border: 1px solid rgba(255,255,255,.17);
  backdrop-filter: blur(10px);
  font-size: .76rem;
  text-decoration: none;
}
.product-gallery__zoom { left: 18px; }
.product-gallery__counter { right: 18px; }
.product-gallery__arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: #fff;
  background: rgba(5,8,6,.52);
  backdrop-filter: blur(10px);
  font: 300 35px/1 Arial,sans-serif;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.product-gallery__arrow:hover { transform: scale(1.06); background: rgba(5,8,6,.76); }
.product-gallery__arrow--prev { left: 18px; }
.product-gallery__arrow--next { right: 18px; }
.product-gallery__thumbs-wrap { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; gap: 9px; margin-top: 13px; }
.product-gallery__thumbs {
  display: flex;
  gap: 9px;
  overflow-x: auto;
  padding: 3px 1px 6px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #9ca69f transparent;
}
.product-gallery__thumb {
  flex: 0 0 116px;
  width: 116px;
  aspect-ratio: 16 / 10;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 11px;
  background: #dfe3dc;
  opacity: .68;
  cursor: pointer;
  scroll-snap-align: center;
  transition: opacity .18s ease, border-color .18s ease, transform .18s ease;
}
.product-gallery__thumb:hover { opacity: 1; }
.product-gallery__thumb.is-active { opacity: 1; border-color: var(--v2-green); transform: translateY(-1px); }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery__rail-arrow {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--v2-line);
  border-radius: 50%;
  background: #fff;
  color: var(--v2-ink);
  font: 300 28px/1 Arial,sans-serif;
  cursor: pointer;
}
.product-gallery__rail-arrow:hover { background: #edf0e9; }

/* Forms and calculator */
.testdrive .pform, .feedback .pform, .index-feedback-form {
  color: var(--v2-ink) !important;
}
.testdrive .pform, .index-feedback-form .pform {
  padding: 24px;
  background: #fff;
  border: 1px solid var(--v2-line);
  border-radius: 20px !important;
  box-shadow: 0 16px 45px rgba(23,34,25,.07);
}
.pform__label { color: #303830; }
.pform__note { color: #6d766f !important; }
.input, .select { border-radius: 12px; overflow: hidden; }
.input__ctrl, .select__ctrl {
  min-height: 48px !important;
  color: var(--v2-ink) !important;
  background: #fff !important;
  border: 1px solid #cfd5cf !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.input__ctrl:focus, .select__ctrl:focus { border-color: var(--v2-green) !important; box-shadow: 0 0 0 3px rgba(75,122,63,.13) !important; }
.order-form { color: var(--v2-ink); }
.options-list { line-height: 1.4; }
.extra-item__name span, .extra-item__price span { background: var(--v2-paper) !important; }
.calc__output {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding: 22px 18px !important;
  color: var(--v2-ink) !important;
  background: #e7eee2 !important;
  border: 1px solid rgba(75,122,63,.18) !important;
  border-radius: 20px !important;
}
.calc__sign { color: var(--v2-green) !important; }

/* Contacts */
.contacts { gap: 14px !important; }
.contacts__item {
  color: var(--v2-ink) !important;
  background: #fff !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 15px 42px rgba(23,34,25,.065) !important;
}
.contacts__subtitle { color: #778078 !important; }
.contacts__link { color: var(--v2-green-deep) !important; border-bottom-color: rgba(49,85,42,.28) !important; }
#ymap { height: 460px !important; }

/* Specials remain intentionally dark but readable */
.offers-hero, .offer-detail { color: #f3f5f2 !important; }
.offers-hero { padding: 130px 0 70px !important; background: radial-gradient(circle at 78% 20%, #30462a 0, transparent 34%), #0b0e0c !important; }
.offers-hero .h1 { font-size: clamp(3rem, 6vw, 5.6rem) !important; }
.offers-grid .offer-card { color: #f4f5f2 !important; background: #141915 !important; }
.offer-card h2, .offer-detail h1, .offer-equipment h2 { color: #f4f5f2 !important; }
.offer-detail { background: #0b0e0c !important; }
.offer-equipment { color: #f4f5f2 !important; background: #141915 !important; }
.empty-offers { color: #f4f5f2 !important; background: #141915 !important; }

.footer { padding: 30px 0 !important; color: #96a099 !important; background: #090c0a !important; }

@media (max-width: 980px) {
  .container { padding-left: 20px !important; padding-right: 20px !important; }
  .products-grid { grid-template-columns: 1fr; }
  .tech { flex-direction: column; }
  .tech__docs { width: 100%; max-width: none; }
  .manual-link { min-height: 0; }
  .contacts { grid-template-columns: 1fr 1fr !important; }
  .home-hero .banner__img { height: 650px; }
  .product-hero .banner__img { height: 520px; }
}

@media (max-width: 900px) {
  html, body { font-size: 16px !important; }
  .header__row { min-height: 62px; }
  .menu-toggle { display: block !important; }
  .main-menu { display: none; width: 100%; }
  .main-menu.is-open { display: block; }
  .main-menu .menu__items { align-items: stretch; gap: 5px; }
  .main-menu .menu__link { border-radius: 10px !important; }
  .section { padding-top: 62px !important; }
  .section.pb, .section.grey { padding-bottom: 62px !important; }
  .section.grey { padding-top: 62px !important; }
  .quote, .quote[style] { flex-direction: column !important; align-items: flex-start !important; }
  .quote__cover { flex: 0 0 auto; width: 120px; }
  .quote__photo { width: 120px; height: 120px; border-radius: 16px; }
  .quote__title, .quote__subtitle { text-align: left !important; }
  .row { display: block !important; margin: 0 !important; }
  .col { width: 100% !important; padding: 0 !important; }
  .row .col + .col { margin-top: 28px; }
  .chars-table th { width: 48%; }
}

@media (max-width: 680px) {
  .container { padding-left: 15px !important; padding-right: 15px !important; }
  .home-hero .banner__img { height: 610px; object-position: 58% center; }
  .product-hero .banner__img { height: 500px; }
  .banner__content { padding-bottom: 38px !important; }
  .banner__title { font-size: clamp(2.5rem, 12vw, 4.1rem) !important; }
  .product-hero .page-title { font-size: clamp(2.5rem, 11vw, 3.8rem) !important; }
  .banner__ctrls { width: 100%; }
  .banner__ctrls .btn { width: auto !important; min-width: 0; }
  .hero-specs { gap: 6px; }
  .hero-spec { min-width: 0; flex: 1 1 30%; padding: 10px 11px; }
  .hero-spec b { font-size: .95rem; }
  .hero-spec small { font-size: .63rem; }
  body .h2.section__title, body .section__title { font-size: clamp(1.9rem, 9vw, 2.65rem) !important; }
  .products-grid .item__main { padding: 22px 20px 24px !important; }
  .btns-group { flex-direction: column; align-items: stretch; }
  .btns-group .btn { width: 100% !important; }
  .contacts { grid-template-columns: 1fr !important; }
  #ymap { height: 360px !important; }
  .product-gallery__stage { border-radius: 16px; }
  .product-gallery__main { aspect-ratio: 4 / 3; }
  .product-gallery__arrow { width: 42px; height: 42px; margin-top: -21px; }
  .product-gallery__arrow--prev { left: 10px; }
  .product-gallery__arrow--next { right: 10px; }
  .product-gallery__zoom { display: none; }
  .product-gallery__counter { bottom: 10px; right: 10px; }
  .product-gallery__thumbs-wrap { grid-template-columns: 1fr; }
  .product-gallery__rail-arrow { display: none; }
  .product-gallery__thumb { flex-basis: 92px; width: 92px; }
  .calc__output { display: grid !important; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: end; }
  .calc__item { padding: 0 8px !important; }
  .calc__basic .calc__sum, .calc__extra .calc__sum { font-size: 1.15rem; }
  .calc__total .calc__sum { font-size: 1.35rem; }
}

/* =========================================================
   AG23 V3 visual refinement — screenshot-driven adjustments
   ========================================================= */

/* Header: slightly larger, calmer and more premium */
.header__row { min-height: 72px !important; }
.logo { max-height: 40px !important; }
.main-menu .menu__link {
  font-size: .82rem !important;
  padding: .84em 1.08em !important;
  letter-spacing: .028em !important;
}

/* Home hero: two-line hierarchy instead of an oversized four-line wall */
.home-hero { isolation: isolate; }
.home-hero .banner__img {
  height: clamp(620px, 72vh, 740px) !important;
  object-position: center 54% !important;
  filter: saturate(1.02) contrast(1.06) brightness(.92) !important;
}
.home-hero::after {
  background:
    linear-gradient(90deg, rgba(5,8,6,.89) 0%, rgba(5,8,6,.66) 34%, rgba(5,8,6,.24) 58%, rgba(5,8,6,.06) 78%),
    linear-gradient(0deg, rgba(5,8,6,.63) 0%, rgba(5,8,6,0) 48%) !important;
}
.home-hero::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216,239,101,.72), transparent);
  pointer-events: none;
}
.home-hero .banner__content {
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  padding: 72px 0 0 !important;
}
.home-hero__copy {
  width: min(100%, 1040px);
  padding: 34px 0 28px;
}
.hero-kicker {
  gap: 9px;
  margin-bottom: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
}
.hero-kicker span {
  width: 24px;
  height: 2px;
  display: inline-block;
  border-radius: 10px;
  background: var(--v2-accent);
}
.home-hero .banner__title {
  max-width: 1080px !important;
  margin: 0 !important;
  font-size: clamp(3.45rem, 4.25vw, 5.1rem) !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  text-transform: uppercase;
}
.hero-title-main,
.hero-title-sub { display: block; }
.hero-title-main { color: #fff; }
.hero-title-sub {
  margin-top: .12em;
  font-size: .68em;
  line-height: 1 !important;
  color: var(--v2-accent);
  letter-spacing: -.028em;
}
.home-hero .banner__text {
  margin-top: 22px !important;
  font-size: 1.08rem !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.80) !important;
}
.home-hero .banner__ctrls { margin-top: 24px !important; }
.home-hero .btn {
  min-height: 50px;
  border-radius: 999px !important;
  padding-left: 1.55em !important;
  padding-right: 1.55em !important;
}
.home-hero .hero-specs {
  margin-top: 30px !important;
  gap: 10px !important;
}
.home-hero .hero-spec {
  min-width: 0 !important;
  width: 168px;
  padding: 12px 15px !important;
  border-radius: 13px !important;
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(8,12,9,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.home-hero .hero-spec b {
  font-size: 1rem !important;
  letter-spacing: .01em;
}
.home-hero .hero-spec small {
  margin-top: 5px !important;
  font-size: .68rem !important;
}

/* First content block: remove the empty grey band and turn it into a designed intro */
.intro-section {
  position: relative;
  padding: 0 !important;
  overflow: hidden;
  color: #fff !important;
  background:
    radial-gradient(circle at 13% 20%, rgba(82,119,63,.24), transparent 31%),
    #0d110e !important;
}
.intro-section::after {
  content: "АГ";
  position: absolute;
  right: -18px;
  top: -85px;
  font: 700 310px/.9 var(--header-font);
  letter-spacing: -.08em;
  color: rgba(255,255,255,.025);
  pointer-events: none;
}
.home-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.65fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: center;
  min-height: 360px;
  padding: clamp(62px, 7vw, 92px) 0;
}
.section-kicker {
  margin-bottom: 18px;
  color: var(--v2-accent);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-intro__mark {
  color: #fff;
  font: 700 clamp(4.5rem, 7vw, 7.2rem)/.78 var(--header-font);
  letter-spacing: -.055em;
}
.home-intro__mark span {
  display: block;
  margin-top: 22px;
  color: rgba(255,255,255,.35);
  font-size: .28em;
  letter-spacing: .05em;
}
.intro-section .lead {
  max-width: 800px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: clamp(1.08rem, 1.5vw, 1.25rem) !important;
  line-height: 1.7 !important;
}
.home-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.intro-section .btn { border-radius: 999px !important; }
.intro-section .btn--outline {
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.06) !important;
}

/* Subsequent homepage sections: cleaner hierarchy */
body .h2.section__title,
body .section__title {
  font-size: clamp(2.1rem, 3.45vw, 3.15rem) !important;
  line-height: 1.04 !important;
}
.quotes { max-width: 1120px !important; }
.quote {
  padding: 30px !important;
  border-radius: 22px !important;
}
.quote__text { line-height: 1.62 !important; }
.products-grid { gap: 28px !important; }
.products-grid .item { border-radius: 20px !important; }
.products-grid .item__cover { aspect-ratio: 16 / 9 !important; }
.products-grid .item__main { padding: 28px 30px 31px !important; }
.products-grid .item__title { font-size: 1.72rem !important; }

/* Product pages: keep titles readable and make requested gallery the visual focus */
.product-hero .page-title {
  max-width: 880px !important;
  font-size: clamp(2.8rem, 4.35vw, 4.7rem) !important;
  line-height: .96 !important;
}
.product-gallery { max-width: 1140px !important; }
.product-gallery__stage { border-radius: 20px !important; }
.product-gallery__main { aspect-ratio: 16 / 9 !important; }
.product-gallery__thumb {
  flex-basis: 112px !important;
  width: 112px !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 8px !important;
}
.product-gallery__thumb.is-active {
  border-color: var(--v2-accent) !important;
  box-shadow: 0 0 0 1px rgba(49,85,42,.42);
}

@media (max-width: 980px) {
  .home-hero .banner__img { height: 650px !important; object-position: 57% center !important; }
  .home-hero .banner__title { font-size: clamp(3rem, 7vw, 4.7rem) !important; }
  .home-intro { grid-template-columns: 1fr; gap: 30px; min-height: 0; }
  .home-intro__aside { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
  .home-intro__mark { font-size: 4.4rem; }
  .section-kicker { margin-bottom: 0; }
}

@media (max-width: 680px) {
  .header__row { min-height: 62px !important; }
  .home-hero .banner__img {
    height: 650px !important;
    object-position: 61% center !important;
  }
  .home-hero .banner__content {
    align-items: flex-end !important;
    padding: 62px 0 26px !important;
  }
  .home-hero__copy { padding: 0; }
  .home-hero .banner__title {
    font-size: clamp(2.65rem, 12vw, 3.55rem) !important;
    line-height: .95 !important;
  }
  .hero-title-sub { font-size: .63em; line-height: 1.06 !important; }
  .home-hero .banner__text { margin-top: 17px !important; font-size: .98rem !important; }
  .home-hero .banner__ctrls { margin-top: 19px !important; }
  .home-hero .banner__ctrls .btn { flex: 1 1 auto; padding-left: 1.1em !important; padding-right: 1.1em !important; }
  .home-hero .hero-specs { margin-top: 21px !important; }
  .home-hero .hero-spec { flex: 1 1 30%; width: auto; padding: 9px 9px !important; }
  .home-hero .hero-spec b { font-size: .84rem !important; }
  .home-hero .hero-spec small { font-size: .58rem !important; }
  .home-intro { padding: 52px 0 58px; }
  .home-intro__aside { display: block; }
  .section-kicker { margin-bottom: 18px; }
  .home-intro__mark { font-size: 4rem; }
  .home-intro__actions { flex-direction: column; }
  .home-intro__actions .btn { width: 100% !important; }
  .product-gallery__stage { border-radius: 13px !important; }
  .product-gallery__main { aspect-ratio: 4 / 3 !important; }
  .product-gallery__thumb { flex-basis: 86px !important; width: 86px !important; }
}

/* =========================================================
   AG23 V4 — hero CMS/slider + safe text zone
   ========================================================= */
.home-hero {
  height: clamp(650px, calc(100vh - 72px), 800px) !important;
  min-height: 650px !important;
  position: relative !important;
}
.home-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: #0a0d0b;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.018);
  transition: opacity .75s ease, visibility .75s ease, transform 6.5s ease;
}
.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.hero-slide__media,
.home-hero .hero-slide__media.banner__img,
.home-hero .hero-slide__media.banner__video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: block;
  object-fit: cover !important;
  object-position: center 54%;
}
.home-hero .banner__content {
  z-index: 3 !important;
  inset: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  padding: clamp(78px, 9vh, 118px) 0 70px !important;
}
.home-hero__copy {
  width: min(720px, 100%) !important;
  padding: 0 !important;
}
.home-hero .banner__title {
  max-width: 720px !important;
  font-size: clamp(3rem, 4vw, 4.7rem) !important;
  line-height: .96 !important;
}
.hero-title-sub { font-size: .62em !important; }
.home-hero .banner__text { max-width: 580px !important; }
.hero-slider-ui {
  position: absolute;
  z-index: 5;
  right: max(26px, calc((100vw - 1220px) / 2 + 26px));
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(8,12,9,.38);
  backdrop-filter: blur(12px);
}
.hero-slider-arrow,
.hero-slider-dot {
  appearance: none;
  border: 0;
  cursor: pointer;
}
.hero-slider-arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.08);
  font: 300 25px/1 Arial,sans-serif;
}
.hero-slider-arrow:hover { background: rgba(255,255,255,.18); }
.hero-slider-dots { display: flex; align-items: center; gap: 6px; }
.hero-slider-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.42);
  transition: width .2s ease, border-radius .2s ease, background .2s ease;
}
.hero-slider-dot.is-active {
  width: 24px;
  border-radius: 999px;
  background: var(--v2-accent);
}

@media (max-width: 980px) {
  .home-hero { height: 690px !important; min-height: 690px !important; }
  .home-hero .banner__content { padding-top: 94px !important; padding-bottom: 70px !important; }
  .home-hero .banner__title { font-size: clamp(2.85rem, 7vw, 4.35rem) !important; }
  .hero-slider-ui { right: 20px; bottom: 20px; }
}

@media (max-width: 680px) {
  .home-hero { height: 690px !important; min-height: 690px !important; }
  .home-hero .banner__content {
    align-items: flex-end !important;
    padding: 104px 0 92px !important;
  }
  .home-hero .banner__title { font-size: clamp(2.35rem, 10.7vw, 3.25rem) !important; }
  .hero-title-sub { font-size: .64em !important; }
  .home-hero .hero-slide__media { object-position: 60% center; }
  .hero-slider-ui { left: 15px; right: auto; bottom: 18px; }
}

/* =========================================================
   AG23 V5 — cleaner project intro + dedicated test-drive page
   ========================================================= */
.home-intro.home-intro--simple {
  display: block !important;
  width: min(100%, 980px);
  min-height: 0 !important;
  margin: 0 auto;
  padding: clamp(58px, 7vw, 88px) 0 !important;
  text-align: center;
}
.home-intro--simple .home-intro__body { width: 100%; }
.home-intro--simple .lead {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.home-intro--simple .home-intro__actions { justify-content: center; }

.testdrive-teaser { background: #e9ece6 !important; }
.testdrive-teaser__box,
.product-testdrive-cta__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--v2-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(23,34,25,.07);
}
.testdrive-teaser__title,
.product-testdrive-cta__title {
  margin: 0 !important;
  text-align: left !important;
  font-size: clamp(2rem, 3.1vw, 3rem) !important;
}
.testdrive-teaser__text,
.product-testdrive-cta__text {
  max-width: 780px;
  margin-top: 13px;
  color: #697269;
  line-height: 1.6;
}
.testdrive-teaser__action,
.product-testdrive-cta__box > .btn { flex: 0 0 auto; }
.product-testdrive-cta { padding-top: 22px !important; padding-bottom: 22px !important; }
.product-testdrive-cta__box { background: #edf0e9; box-shadow: none; }

.testdrive-page-hero {
  position: relative;
  overflow: hidden;
  padding: 150px 0 88px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 28%, rgba(112,145,75,.31), transparent 32%),
    linear-gradient(135deg, #101611, #090c0a 72%);
}
.testdrive-page-hero::after {
  content: "6×6";
  position: absolute;
  right: -20px;
  bottom: -72px;
  color: rgba(255,255,255,.035);
  font: 700 clamp(9rem, 22vw, 20rem)/.8 var(--header-font);
  letter-spacing: -.08em;
  pointer-events: none;
}
.testdrive-page-hero__content { position: relative; z-index: 1; max-width: 900px; }
.testdrive-page-hero__title {
  max-width: 900px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(3rem, 6vw, 5.8rem) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}
.testdrive-page-hero__lead {
  max-width: 700px;
  margin-top: 24px;
  color: rgba(255,255,255,.72);
  font-size: clamp(1rem, 1.7vw, 1.22rem);
  line-height: 1.65;
}
.testdrive-page { background: #f2f4ef !important; }
.testdrive-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .82fr);
  gap: clamp(40px, 7vw, 92px);
  align-items: start;
}
.testdrive-page__heading { text-align: left !important; margin-bottom: 24px !important; }
.testdrive-page__info > p { max-width: 650px; color: #606a61; line-height: 1.7; }
.testdrive-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
}
.testdrive-fact {
  min-height: 112px;
  padding: 18px;
  border: 1px solid var(--v2-line);
  border-radius: 17px;
  background: #fff;
}
.testdrive-fact b { display: block; color: var(--v2-ink); font: 700 1.15rem/1.15 var(--header-font); }
.testdrive-fact span { display: block; margin-top: 8px; color: #7b837c; font-size: .76rem; line-height: 1.35; }
.testdrive-page__note {
  margin-top: 30px;
  padding: 18px 20px;
  border-left: 3px solid var(--v2-accent);
  color: #5f685f;
  background: rgba(255,255,255,.58);
  line-height: 1.55;
}
.testdrive-page__form {
  position: sticky;
  top: 100px;
  padding: 26px;
  border: 1px solid var(--v2-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(23,34,25,.08);
}
.testdrive-page__form-title { margin: 0 0 22px !important; }
.testdrive-page__form .pform { padding: 0 !important; border: 0 !important; box-shadow: none !important; }

@media (max-width: 980px) {
  .testdrive-page__grid { grid-template-columns: 1fr; }
  .testdrive-page__form { position: static; }
  .testdrive-teaser__box,
  .product-testdrive-cta__box { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .home-intro.home-intro--simple { padding: 48px 0 54px !important; text-align: left; }
  .home-intro--simple .home-intro__actions { justify-content: flex-start; }
  .testdrive-page-hero { padding: 112px 0 62px; }
  .testdrive-page-hero__title { font-size: clamp(2.6rem, 13vw, 4rem) !important; }
  .testdrive-facts { grid-template-columns: 1fr; }
  .testdrive-page__form { padding: 19px; border-radius: 18px; }
  .testdrive-teaser__box,
  .product-testdrive-cta__box { padding: 22px; border-radius: 18px; }
  .testdrive-teaser__action,
  .testdrive-teaser__action .btn,
  .product-testdrive-cta__box > .btn { width: 100% !important; }
}

/* V7: special-offer purchase request */
.offer-card__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.offer-card__actions .btn{margin:0}
.btn--ghost{background:transparent!important;color:#f3f5f2!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:none!important}
.btn--ghost:hover{background:rgba(255,255,255,.08)!important}
.offer-request{scroll-margin-top:95px;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start;margin:72px 0 0;padding:42px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:linear-gradient(135deg,rgba(223,255,57,.055),transparent 45%),#141915;color:#f3f5f2}
.offer-request .h2{margin:0 0 18px;color:#f3f5f2!important;font-size:clamp(2rem,4vw,3.6rem)!important;line-height:1.02}
.offer-request__intro>p{max-width:620px;margin:0 0 26px;color:#c7ceca;font-size:1.05rem;line-height:1.6}
.offer-request__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.offer-request__summary>div{padding:14px 15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#0f1310}
.offer-request__summary span{display:block;margin-bottom:5px;color:#8e9991;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.offer-request__summary b{display:block;color:#fff;font-size:1rem}
.offer-request__form-wrap{padding:25px;border-radius:20px;background:#f4f5f2;color:#111}
.offer-request__form-wrap .pform{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#111!important}
.offer-request__form-wrap .pform__label{color:#2d342f!important}
.offer-request__form-wrap .pform__ctrls{margin-top:8px}
.offer-request__form-wrap .pform__ctrls .btn{width:100%;justify-content:center;text-align:center}
.offer-request__form-wrap .pform__note{color:#69716b!important}
.offer-request__form-wrap textarea.input__ctrl{min-height:116px!important;resize:vertical}
@media(max-width:920px){.offer-request{grid-template-columns:1fr;gap:26px;padding:30px}.offer-request__summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.offer-card__actions{flex-direction:column;align-items:stretch}.offer-card__actions .btn{width:100%!important;text-align:center}.offer-request{margin-top:48px;padding:20px;border-radius:20px}.offer-request__summary{grid-template-columns:1fr}.offer-request__form-wrap{padding:18px}}
