/* Final Figma fidelity overrides: loaded after the legacy theme stylesheet. */
.hero h1,
.section-heading h2,
.models h2,
.faq h2,
.basic-page h1,
.not-found__hero h1 {
  letter-spacing: normal;
}

@media (max-width: 767px) {
  .hero h1 { font-size: 1.8125rem; line-height: 2.1875rem; letter-spacing: normal; }
}

/* Section rhythm from Figma: 52px heading, 12px to the card grid. */
.section-heading {
  height: 3.25rem;
  margin-bottom: 0.75rem;
  align-items: center;
}

.section-heading h2 {
  line-height: 2.3125rem;
}

.section-heading p {
  margin-top: 0.3125rem;
  line-height: 1rem;
}

.products-section {
  padding: 1.75rem 0 1rem;
}

@media (min-width: 1200px) {
  .not-found .quick-links { padding-bottom: 1.3125rem; }
  .warranty-faq { min-height: 19.5rem; }
  .section.categories { padding: 1.125rem 0 1.25rem; }
}

.quick-link--home { display: none !important; }

/* 404: exact responsive composition from the supplied 768px and 390px screens. */
@media (min-width: 768px) and (max-width: 1199px) {
  .not-found { padding: 1.125rem 0 1.5rem; }
  .not-found .container { width: min(45rem, calc(100% - 3rem)); }
  .not-found__hero { height: 30.125rem; min-height: 30.125rem; border: 0.0625rem solid #e2e0dc; border-radius: 0.875rem 0.875rem 0 0; background: #fbf9f3; }
  .not-found__hero > img { top: 3rem; right: 0; width: 27.8125rem; height: 27.125rem; border-radius: 0 0 0.875rem; object-fit: cover; object-position: center; mask-image: none; }
  .not-found__hero > div { width: 100%; max-width: none; height: 100%; padding: 1.5rem 1.25rem; }
  .not-found__hero .eyebrow { font-size: 0.6875rem; }
  .not-found__hero strong { margin-top: 1.25rem; font-size: 5rem; line-height: 5rem; }
  .not-found__hero h1 { max-width: 22.8125rem; margin: 0; font-size: 1.9375rem; line-height: 1.08; }
  .not-found__hero p:not(.eyebrow) { position: absolute; top: 17.625rem; left: 1.25rem; width: 17.8125rem; margin: 0; font-size: 0.6875rem; line-height: 1.4; }
  .not-found__hero > div > div { position: absolute; top: 22.25rem; left: 1.25rem; width: 17.375rem; }
  .not-found__hero .button { width: 100%; min-height: 3rem; margin: 0 0 0.625rem; border-radius: 0.625rem; }
  .not-found .text-link { display: none; }
  .not-found .quick-links { height: 9.375rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0; padding: 1.625rem 0.875rem 0.5rem; border: 0.0625rem solid #e2e0dc; border-top: 0; border-radius: 0 0 0.875rem 0.875rem; }
  .not-found .quick-links p { grid-column: 1 / -1; margin: 0 0 0.125rem; }
  .not-found .quick-links a { min-height: 2.375rem; align-items: center; padding: 0.5rem 0.75rem; border: 0; border-radius: 0.4375rem; background: #f7f6f3; font-size: 0.6875rem; }
}

@media (max-width: 767px) {
  .not-found { padding: 1.5rem 0; }
  .not-found__hero { height: 37.125rem; min-height: 37.125rem; border: 0.0625rem solid #e2e0dc; border-radius: 0.875rem; background: #fbf9f3; }
  .not-found__hero > img { top: auto; right: 2.4375rem; bottom: 2.5rem; width: 17rem; height: 9.6875rem; border-radius: 0; object-fit: cover; object-position: center; mask-image: none; }
  .not-found__hero > div { width: 100%; max-width: none; height: 100%; padding: 1.25rem; }
  .not-found__hero .eyebrow { font-size: 0.6875rem; }
  .not-found__hero strong { margin-top: 1.5rem; font-size: 3.75rem; line-height: 3.75rem; }
  .not-found__hero h1 { margin: 0 0 0.625rem; font-size: 1.875rem; line-height: 1.05; }
  .not-found__hero p:not(.eyebrow) { margin: 0; font-size: 0.6875rem; line-height: 1.4; }
  .not-found__hero > div > div { margin-top: 0.875rem; }
  .not-found__hero .button { width: 100%; min-height: 3rem; margin: 0 0 0.625rem; border-radius: 0.625rem; }
  .not-found .text-link { display: none; }
  .not-found .quick-links { height: 8.875rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin-top: 1.125rem; padding: 1.125rem 0.625rem 0.5rem; border: 0.0625rem solid #e2e0dc; border-radius: 0.75rem; }
  .not-found .quick-links p { grid-column: 1 / -1; margin: 0; }
  .not-found .quick-links a { min-height: 2.625rem; align-items: center; padding: 0.5rem 0.625rem; border: 0; border-radius: 0.4375rem; background: #f7f6f3; font-size: 0.625rem; }
  .not-found .quick-link--transmission { display: none; }
  .not-found .quick-link--home { display: flex !important; }
  .not-found .quick-link--engines { order: 1; }
  .not-found .quick-link--tuning { order: 2; }
  .not-found .quick-link--suspension { order: 3; }
  .not-found .quick-link--home { order: 4; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .section.categories { padding: 1rem 0; }
  .products-section { padding: 1.75rem 0 1.25rem; }
}

.tuning-section { padding: 1.875rem 0; background: #fbfbfa; }
.tuning-section .section-heading { margin-bottom: 1.125rem; }
.tuning-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.tuning-card { min-height: 13.0625rem; overflow: hidden; padding: 0.75rem; border: 0.0625rem solid #e5e4e0; border-radius: 0.75rem; background: #fff; box-shadow: 0 0.3125rem 1rem rgb(0 0 0 / 3%); }
.tuning-card img { display: block; width: 100%; height: 7.625rem; object-fit: contain; }
.tuning-card strong { display: block; margin-top: 0.4375rem; font-size: 0.90625rem; line-height: 1.1875rem; }
.tuning-card span { display: block; margin-top: 0.25rem; color: #61636b; font-size: 0.6875rem; line-height: 0.9375rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .tuning-section { padding: 1.75rem 0; }
  .tuning-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
}

@media (max-width: 767px) {
  .tuning-section { padding: 1.5rem 0; }
  .tuning-section .section-heading { height: auto; margin-bottom: 0.875rem; }
  .tuning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
  .tuning-card { min-height: 10.25rem; padding: 0.625rem; border-radius: 0.625rem; }
  .tuning-card img { height: 5.5rem; }
  .tuning-card strong { margin-top: 0.375rem; font-size: 0.6875rem; line-height: 0.875rem; }
  .tuning-card span { margin-top: 0.125rem; font-size: 0.5625rem; line-height: 0.75rem; }
}

.popular-products { padding: 1.875rem 0; }
.popular-products .section-heading { height: 3.375rem; margin-bottom: 0.875rem; align-items: flex-start; }
.popular-products .section-heading h2 { line-height: 2.3125rem; }
.popular-products .product-card { height: 25.25rem; }
.popular-tabs { display: flex; align-items: center; gap: 1.125rem; height: 1.0625rem; margin-top: 0.125rem; color: #73777d; font-size: 0.71875rem; }
.popular-tabs button { position: relative; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; white-space: nowrap; }
.popular-tabs .is-active { color: #121314; font-weight: 700; }
.popular-tabs .is-active:after { position: absolute; right: 0; bottom: -0.5rem; left: 0; height: 0.125rem; border-radius: 0.125rem; background: #ff5c0a; content: ''; }
.popular-products [data-home-products-panel][hidden] { display: none !important; }

@media (min-width: 768px) and (max-width: 1199px) {
  .popular-products { padding: 1.75rem 0 1.25rem; }
  .popular-products .product-card { height: 24.875rem; }
}

@media (max-width: 767px) {
  .popular-products { padding: 1.5rem 0; }
  .popular-products .section-heading { height: auto; margin-bottom: 0.875rem; }
  .popular-products .product-card { height: auto; }
  .popular-tabs { gap: 0.625rem; margin-top: 0; overflow: hidden; font-size: 0.5625rem; }
}

.service-strip { padding: 0.8125rem 0; background: #fbf9f4; }
.service-strip > .container { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.875rem; }
.service-strip .container > div { height: 4.25rem; gap: 0.75rem; padding: 0.625rem 0.875rem; border-color: #e5e4e0; border-radius: 0.625rem; box-shadow: 0 0.3125rem 1rem rgb(0 0 0 / 2%); }
.service-strip b { display: grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 0.625rem; background: #fff6f0; color: #ff5c0a; }
.service-strip span { gap: 0.125rem; color: #61636b; font-size: 0.703125rem; }
.service-strip strong { font-size: 0.765625rem; }
@media (max-width: 1199px) { .service-strip > .container { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .service-strip { padding: 0.75rem 0; }.service-strip > .container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }.service-strip .container > div { height: 3.875rem; padding: 0.5rem; gap: 0.5rem; }.service-strip b { flex-basis: 1.875rem; width: 1.875rem; height: 1.875rem; }.service-strip span { font-size: 0.5625rem; }.service-strip strong { font-size: 0.625rem; } }

.models { padding: 1.5rem 0; }
.models__grid { min-height: 16.875rem; padding: 1.25rem 1.5rem; }
.models__list { margin-top: 0.75rem; }
.models__list a { padding: 0.5625rem 0.75rem; }
.models aside { min-height: 14.375rem; }
.models aside p { margin-top: 6.5625rem; }

/* Header: the desktop geometry and typography are taken from the Figma Header Top. */
.site-header { color: #121314; }
.site-header__top {
  display: grid;
  grid-template-columns: 15.625rem 31.25rem 12.5rem 16.375rem;
  align-items: start;
  column-gap: 1.625rem;
  height: 5.875rem;
}
.brand { width: 15.625rem; height: 4.375rem; margin-top: 0.75rem; }
.site-search { width: 31.25rem; height: 3.375rem; margin-top: 0.75rem; border-color: #e3e5e2; border-radius: 0.375rem; }
.site-search input { padding: 0 1rem; color: #121314; font-size: 0.75rem; }
.site-search input::placeholder { color: #5e636b; opacity: 1; }
.site-search__button { display: grid; flex: 0 0 3.125rem; width: 3.125rem; place-items: center; padding: 0; }
.site-search__button img { display: block; width: 1.125rem; height: 1.125rem; }
.header-contact { display: block; justify-self: start; width: 12.5rem; height: 3.875rem; margin-top: 0.75rem; font-size: 0.625rem; line-height: 0.875rem; }
.header-contact__phone { display: flex; align-items: center; gap: 0.375rem; height: 1.25rem; }
.header-contact__phone img { display: block; width: 0.9375rem; height: 0.9375rem; }
.header-contact .header-contact__phone a { color: #121314; font-size: 0.9375rem; font-weight: 700; line-height: 1.25rem; }
.header-contact .header-contact__hours { display: block; height: 0.875rem; color: #5e636b; font-size: 0.625rem; line-height: 0.875rem; white-space: nowrap; }
.header-contact a.header-contact__callback { display: block; width: max-content; height: 0.875rem; color: #ff5c0a; font-size: 0.625rem; font-weight: 700; line-height: 0.875rem; text-decoration: none; }
.header-contact a.header-contact__callback:hover { color: #e84d00; text-decoration: underline; }
.header-actions { display: grid; grid-template-columns: repeat(3, 4.375rem); align-items: start; gap: 1.625rem; width: 16.375rem; height: 3.875rem; margin-top: 0.75rem; }
.header-actions > .header-action { display: flex; position: relative; width: 4.375rem; min-width: 0; height: 3.875rem; flex-direction: column; align-items: center; color: #121314; font-size: 0.625rem; }
.header-action__icon { position: relative; display: grid; width: 1.25rem; height: 1.25rem; margin-top: 0.78125rem; place-items: center; }
.header-action__icon > img { display: block; width: 1.25rem; height: 1.25rem; }
.header-action__label { display: block; margin-top: 0.1875rem; font-size: 0.65625rem; font-weight: 600; line-height: 0.875rem; white-space: nowrap; }
.header-cart .header-action__icon { width: 2.125rem; height: 1.75rem; margin-top: 0.53125rem; }
.header-cart .header-action__icon > img { position: absolute; top: 0.375rem; left: 0; width: 1.25rem; height: 1.25rem; }
.header-cart .header-action__label { margin-top: 0.1875rem; }
.header-cart .cart-count { position: absolute; top: -0.0625rem; right: -0.0625rem; display: grid; min-width: 1rem; height: 1rem; place-items: center; border-radius: 50%; background: #ff5c0a; color: #fff; font-size: 0.5625rem; font-weight: 700; line-height: 0.9375rem; }
.site-nav__inner { gap: 0.375rem; height: 3.5rem; }
.catalog-trigger { display: inline-flex; align-items: center; width: 8.875rem; height: 2.75rem; padding: 0 1.4375rem; gap: 0.625rem; border-radius: 0.25rem; font-size: 0.75rem; line-height: 1.125rem; }
.catalog-trigger i { margin: 0; font-size: 0.9375rem; font-style: normal; line-height: 1.25rem; }
.catalog-trigger span { font-weight: 700; }
.catalog-trigger em { margin: 0 0 0 auto; font-size: 0.84375rem; font-style: normal; line-height: 1.125rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .site-header__top { grid-template-columns: 10.625rem 20rem 10rem 13rem; column-gap: 0.875rem; height: 5.375rem; }
  .brand { width: 10.625rem; height: 3.75rem; margin-top: 0.8125rem; }
  .site-search { width: 20rem; height: 3.125rem; margin-top: 1.125rem; }
  .header-contact { width: 10rem; height: 3.625rem; margin-top: 0.875rem; }
  .header-actions { grid-template-columns: 3.4375rem 4.375rem 3.4375rem; gap: 0.875rem; width: 13rem; height: 3.625rem; margin-top: 0.875rem; }
  .header-actions > .header-action { width: auto; height: 3.625rem; }
  .header-contact__hours { height: 1rem; margin-top: 0.0625rem; font-size: 0.71875rem; line-height: 1rem; }
  .header-contact a.header-contact__callback { height: 1rem; margin-top: 0.0625rem; font-size: 0.71875rem; line-height: 1rem; }
  .header-action__icon { margin-top: 0.59375rem; }
  .header-action__label { margin-top: 0.1875rem; font-size: 0.71875rem; line-height: 1rem; }
  .header-cart .header-action__icon { margin-top: 0.34375rem; }
  .site-nav__inner { height: 3.5rem; }
  .catalog-trigger { width: 8.875rem; height: 2.75rem; }
  .catalog-panel { top: 9rem; }
}

/* The 1024 layout no longer fits at 768: retain search and basket, while
   keeping the header inside the viewport rather than letting it overflow. */
@media (min-width: 768px) and (max-width: 899px) {
  .site-header__top { grid-template-columns: 10.625rem minmax(0, 1fr) 3.4375rem; column-gap: 0.875rem; }
  .site-search { width: auto; min-width: 0; }
  .header-contact { display: none; }
  .header-actions { display: block; width: 3.4375rem; }
  .header-actions > .header-action { display: none; }
  .header-actions > .header-cart { display: flex; width: 3.4375rem; }
  .site-nav nav a { padding-right: 0.4375rem; padding-left: 0.4375rem; font-size: 0.625rem; }
}

@media (max-width: 767px) {
  .site-header__top { grid-template-columns: 9.375rem 3rem; justify-content: space-between; width: calc(100% - 2rem); height: 4.5rem; }
  .brand { width: 9.375rem; height: 3rem; margin-top: 0.75rem; }
  .site-search, .header-contact { display: none; }
  .header-actions { display: block; width: 3rem; height: 3.25rem; margin-top: 0.625rem; }
  .header-actions > .header-action { display: none; }
  .header-actions > .header-cart { display: flex; width: 3rem; height: 3.25rem; }
  .header-cart .header-action__icon { margin-top: 0.40625rem; }
  .header-action__label { margin-top: 0.1875rem; font-size: 0.5625rem; }
  .site-nav__inner { justify-content: space-between; gap: 0.5rem; height: 3.5rem; }
  .catalog-trigger { width: 10.6875rem; height: 2.75rem; padding: 0 1.5rem; }
  .mobile-search-trigger { display: inline-flex; width: 11.1875rem; height: 2.75rem; align-items: center; justify-content: center; gap: 0.6875rem; margin: 0; border: 0.0625rem solid #e3e5e2; border-radius: 0.375rem; background: #fff; color: #121314; font-size: 0.75rem; font-weight: 600; }
  .mobile-search-trigger img { display: block; width: 1.125rem; height: 1.125rem; }
  .catalog-panel { top: 8.125rem; }
}

/* Footer: precise structure from the Figma desktop and tablet layouts. */
.site-footer { height: 16.75rem; padding: 1.375rem 0 0; background: #0e0f11; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 20.625rem repeat(4, 11.5625rem); gap: 2.625rem; height: 11.5625rem; margin: 0 auto; }
.footer-grid section { display: flex; min-width: 0; height: 11.5625rem; flex-direction: column; align-items: flex-start; gap: 0.4375rem; overflow: hidden; }
.footer-grid section:first-child { gap: 0.5rem; width: 20.625rem; }
.footer-grid h3 { height: 1.0625rem; margin: 0; color: #fff; font-size: 0.78125rem; font-weight: 700; line-height: 1.0625rem; }
.footer-grid section > a:not(.brand) { display: block; height: 0.9375rem; margin: 0; color: #adb0b5; font-size: 0.703125rem; font-weight: 400; line-height: 0.9375rem; white-space: nowrap; }
.brand--footer { display: block; width: 15.625rem; height: 6.25rem; margin: 0; }
.brand--footer img { display: block; width: 15.625rem; height: 6.25rem; object-fit: contain; object-position: left center; }
.footer-grid .footer-brand__description { width: 18.75rem; height: 1.875rem; margin: 0; color: #a6a8ad; font-size: 0.671875rem; line-height: 0.9375rem; }
.socials { display: flex; width: 7.75rem; height: 2rem; align-items: center; gap: 0.5rem; }
.socials a, .socials span { display: block; flex: 0 0 auto; padding: 0; border-radius: 0; background: transparent; }
.socials a.socials__vk, .socials a.socials__maps, .socials span.socials__vk, .socials span.socials__maps { width: 1.875rem; height: 1.875rem; }
.socials a.socials__max, .socials span.socials__max { width: 3rem; height: 3rem; }
.socials a img, .socials span img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-contacts p { width: 11.25rem; min-height: 0.9375rem; margin: 0; color: #abb0b8; font-size: 0.703125rem; line-height: 0.9375rem; }
.footer-grid .footer-contacts__callback { color: #ff5c0a; font-weight: 700; }
.footer-bottom { height: 0.9375rem; margin: 0.5rem auto 0; padding: 0; border: 0; color: #808287; font-size: 0.671875rem; line-height: 0.9375rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .site-footer { height: 28.75rem; padding-top: 1.375rem; }
  .site-footer > .container { width: calc(100% - 3rem); }
  .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 10.25rem 10rem; gap: 0.625rem 1.125rem; height: 20.875rem; }
  .footer-grid section, .footer-grid section:first-child { width: auto; height: 10rem; }
  .footer-grid section:first-child { grid-column: 1 / -1; height: 10.25rem; }
  .brand--footer, .brand--footer img { width: 11.25rem; height: 4.375rem; }
  .footer-grid .footer-brand__description { width: 19.375rem; }
  .footer-bottom { margin-top: 1rem; }
}

@media (max-width: 767px) {
  .site-footer { height: auto; min-height: 0; padding: 1.5rem 0 1.125rem; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.625rem 1.125rem; height: auto; }
  .footer-grid section, .footer-grid section:first-child { width: auto; height: auto; min-height: 8.25rem; }
  .footer-grid section:first-child, .footer-grid .footer-contacts { grid-column: 1 / -1; }
  .footer-grid section:first-child { min-height: 11.125rem; }
  .footer-grid .footer-brand__description { width: min(18.75rem, 100%); }
  .footer-bottom { height: auto; margin-top: 1.375rem; font-size: 0.59375rem; line-height: 0.875rem; }
}

/* Reviews, FAQ and final CTA follow the lower part of the Figma home screen. */
.reviews { height: 21.875rem; padding: 1.5rem 0 0; background: #fff; }
.reviews .section-heading { height: 3.375rem; margin: 0 0 0.875rem; align-items: center; }
.reviews .section-heading > div { width: 59.375rem; height: 3.375rem; overflow: hidden; }
.reviews .section-heading h2 { font-size: 1.75rem; line-height: 2.3125rem; }
.reviews .section-heading p { width: 47.5rem; height: 1.0625rem; margin: 0; color: #61636b; font-size: 0.71875rem; line-height: 1.0625rem; }
.reviews .section-heading > a { color: #ff5c0a; font-size: 0.78125rem; }
.review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.review-card { display: flex; height: 14rem; min-width: 0; flex-direction: column; gap: 0.625rem; overflow: hidden; padding: 1rem; border: 0.0625rem solid #e3e3de; border-radius: 0.75rem; background: #fff; box-shadow: 0 0.25rem 0.875rem rgb(0 0 0 / 2%); }
.review-card__head { display: flex; width: 100%; height: 2.125rem; align-items: flex-start; justify-content: space-between; }
.review-card__head > div { display: flex; flex-direction: column; gap: 0.0625rem; }
.review-card strong { display: block; color: #121314; font-size: 0.84375rem; font-weight: 700; line-height: 1.125rem; }
.review-card__head span { display: block; color: #757a82; font-size: 0.65625rem; line-height: 0.9375rem; }
.review-card__head b { color: #ff5c0a; font-size: 0.875rem; line-height: 1.1875rem; white-space: nowrap; }
.review-card__product { display: flex; width: max-content; max-width: 100%; height: 1.75rem; align-items: center; gap: 0.4375rem; overflow: hidden; padding: 0 0.625rem; border-radius: 0.4375rem; background: #fbfaf9; }
.review-card__product img { display: block; flex: 0 0 0.3125rem; width: 0.3125rem; height: 0.3125rem; }
.review-card__product span { overflow: hidden; color: #454a52; font-size: 0.675rem; font-weight: 600; line-height: 0.9375rem; text-overflow: ellipsis; white-space: nowrap; }
.review-card > p { height: 4.875rem; margin: 0; overflow: hidden; color: #42474f; font-size: 0.78125rem; line-height: 1.125rem; }
.review-card > a { display: block; margin-top: auto; color: #ff5c0a; font-size: 0.71875rem; font-weight: 700; line-height: 1rem; }

.faq { height: 18.875rem; padding: 1.75rem 0; background: #fdfcfb; }
.faq h2 { height: 2.375rem; margin: 0 0 0.75rem; color: #121314; font-size: 1.6875rem; font-weight: 800; line-height: 2.375rem; }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; height: 11.875rem; margin: 0; }
.faq-column { display: flex; height: 11.875rem; flex-direction: column; gap: 0.375rem; }
.faq details { height: 3.5rem; flex: 0 0 3.5rem; overflow: hidden; border: 0.0625rem solid #e5e4e0; border-radius: 0.625rem; background: #fff; box-shadow: 0 0.3125rem 1rem rgb(0 0 0 / 1%); }
.faq summary { display: flex; height: 3.375rem; align-items: center; justify-content: space-between; padding: 0 0.875rem 0 1rem; color: #121314; cursor: pointer; font-size: 0.78125rem; font-weight: 600; line-height: 1.125rem; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary b { color: #ff5c0a; font-size: 1.125rem; font-weight: 600; line-height: 1.25rem; }
.faq details p { margin: 0; padding: 0 1rem 0.875rem; color: #61636b; font-size: 0.6875rem; }
.faq details[open] { height: auto !important; min-height: 3.5rem; overflow: visible !important; }
.faq details[open] summary b { transform: rotate(45deg); }

@media (min-width: 768px) {
  .faq { height: auto; min-height: 21.625rem; }
  .faq-grid, .faq-column { height: auto; }
  .faq details[open] { min-height: 7.25rem; }
  .faq details[open] summary { height: 3.375rem; }
  .faq details[open] summary b { transform: none; }
  .faq details[open] p { max-width: 40.625rem; line-height: 1.55; }
}

.final-cta { height: 13.375rem; padding: 1.375rem 0; }
.final-cta__card { width: 100%; min-height: 10.625rem; height: 10.625rem; border-radius: 0.875rem; background: #090a0b; box-shadow: 0 0.4375rem 1.25rem rgb(0 0 0 / 5%); }
.final-cta__card:after { background: linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 78%) 48%, rgb(0 0 0 / 24%) 72%, rgb(0 0 0 / 2%) 100%); }
.final-cta__card > div { display: flex; width: 38.75rem; height: 8.875rem; flex-direction: column; align-items: flex-start; gap: 0.625rem; padding: 0; top: 0.875rem; left: 1.375rem; }
.final-cta__card h2 { width: 37.5rem; height: 4rem; margin: 0; color: #fff; font-size: 1.5625rem; font-weight: 800; line-height: 2rem; white-space: pre-line; }
.final-cta__card p:not(.eyebrow) { width: 37.5rem; height: 1.125rem; margin: 0; color: rgb(255 255 255 / 76%); font-size: 0.6875rem; line-height: 1.125rem; }
.final-cta__card .button { width: 10.625rem; min-height: 2.5rem; height: 2.5rem; padding: 0 1.25rem; justify-content: flex-start; border: 0; border-radius: 0.4375rem; background: #ff5705; font-size: 0.6875rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .reviews { height: 36.875rem; }
  .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .faq-grid { gap: 1rem; }
}

@media (max-width: 767px) {
  .reviews { height: auto; padding: 1.5rem 0; }
  .reviews .section-heading { height: auto; margin-bottom: 0.875rem; align-items: flex-start; }
  .reviews .section-heading > div, .reviews .section-heading p { width: 100%; height: auto; }
  .reviews .section-heading h2 { font-size: 1.375rem; line-height: 1.875rem; }
  .reviews .section-heading > a { display: none; }
  .review-grid { grid-template-columns: 1fr; gap: 0.625rem; }
  .review-card { height: 13.375rem; }
  .faq { height: auto; padding: 1.5rem 0; }
  .faq h2 { height: auto; font-size: 1.375rem; line-height: 1.875rem; }
  .faq-grid { grid-template-columns: 1fr; height: auto; gap: 0.375rem; }
  .faq-column { height: auto; gap: 0.375rem; }
  .final-cta { height: auto; padding: 1.25rem 0 1.5rem; }
  .final-cta__card { height: 15.625rem; min-height: 15.625rem; }
  .final-cta__card > div { width: calc(100% - 2.5rem); height: auto; top: 1.125rem; left: 1.25rem; }
  .final-cta__card h2 { width: 100%; height: auto; font-size: 1.4375rem; line-height: 1.8125rem; }
  .final-cta__card p:not(.eyebrow) { width: 100%; height: auto; }
}

/* Simple editable pages and catalogue landing pages. */
.basic-page__content { max-width: 53.75rem; color: #61636b; }
.nivaz-page-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.625rem; margin-top: 1.75rem; }
.nivaz-page-links a { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.75rem 0.875rem; border: 0.0625rem solid #e5e4e0; border-radius: 0.5rem; color: #121314; font-weight: 700; }
.nivaz-page-links span { color: #ff5c0a; }
.nivaz-catalog-list { margin-top: 2.125rem; }
.nivaz-catalog-list h2 { margin: 0 0 1rem; font-size: 1.75rem; }
@media (max-width: 767px) { .nivaz-page-links { grid-template-columns: 1fr; }.nivaz-catalog-list h2 { font-size: 1.375rem; } }

/* Functional catalogue mega-menu. The tabs only expose first and second
   levels from the site tree; model-specific third-level URLs stay out. */
.catalog-mega { padding: 0; }
.catalog-mega__layout { display: grid; grid-template-columns: 15.875rem minmax(0, 1fr); min-height: 21.5rem; gap: 0; }
.catalog-mega__tabs { display: flex; flex-direction: column; padding: 1rem 0.75rem; border-right: 0.0625rem solid #e8e7e3; background: #fbfaf8; }
.catalog-mega__tab { display: flex; width: 100%; min-height: 2.875rem; align-items: center; justify-content: space-between; padding: 0 0.75rem; border: 0; border-radius: 0.4375rem; background: transparent; color: #27292b; cursor: pointer; font-size: 0.8125rem; font-weight: 700; text-align: left; }
.catalog-mega__tab span { color: #777b80; font-size: 1.25rem; font-weight: 400; }
.catalog-mega__tab:hover, .catalog-mega__tab:focus-visible, .catalog-mega__tab.is-active { outline: 0; background: #fff; color: #ff5c0a; box-shadow: inset 0 0 0 0.0625rem #e9e6e1; }
.catalog-mega__tab.is-active span { color: #ff5c0a; }
.catalog-mega__pane { display: grid; grid-template-columns: 13.125rem minmax(0, 1fr); align-items: start; gap: 2.25rem; padding: 1.875rem 2.125rem; }
.catalog-mega__pane[hidden] { display: none !important; }
.catalog-mega__heading p { margin: 0 0 0.4375rem; color: #8b8d91; font-size: 0.625rem; font-weight: 800; letter-spacing: .08em; }
.catalog-mega__heading h2 { margin: 0 0 0.9375rem; color: #151618; font-size: 1.5rem; line-height: 1.12; }
.catalog-mega__heading > a { color: #ff5c0a; font-size: 0.75rem; font-weight: 700; }
.catalog-mega__heading > a span { margin-left: 0.375rem; }
.catalog-mega__intro { margin: 0; color: #60646b; font-size: 0.75rem; line-height: 1.55; }
.catalog-mega__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4375rem 0.625rem; }
.catalog-mega__links--three { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 17.1875rem; overflow-y: auto; padding-right: 0.5rem; }
.catalog-mega__links a { display: flex; min-height: 2.5rem; align-items: center; justify-content: space-between; gap: 0.625rem; padding: 0.5rem 0.6875rem; border: 0.0625rem solid #e7e5e1; border-radius: 0.4375rem; color: #2b2d30; font-size: 0.75rem; font-weight: 700; line-height: 1.25; }
.catalog-mega__links a:hover, .catalog-mega__links a:focus-visible { border-color: #ffb18c; color: #f1530c; outline: 0; }
.catalog-mega__links a span { flex: 0 0 auto; color: #ff5c0a; }
.catalog-mega__help-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.625rem; }
.catalog-mega__help-links a { display: flex; min-height: 7rem; flex-direction: column; justify-content: flex-end; gap: 0.3125rem; padding: 0.875rem; border-radius: 0.5625rem; background: #17191a; color: #fff; }
.catalog-mega__help-links a:nth-child(2) { background: #f3f2ef; color: #1c1d1f; }.catalog-mega__help-links a:nth-child(3) { background: #fff1ea; color: #1c1d1f; }
.catalog-mega__help-links strong { font-size: 0.8125rem; }.catalog-mega__help-links span { color: inherit; font-size: 0.6875rem; opacity: .66; }
@media (min-width: 768px) and (max-width: 1199px) { .catalog-mega__layout { grid-template-columns: 13.125rem minmax(0, 1fr); }.catalog-mega__pane { grid-template-columns: 10rem minmax(0, 1fr); gap: 1.25rem; padding: 1.5rem; }.catalog-mega__links--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-mega__help-links { grid-template-columns: 1fr; }.catalog-mega__help-links a { min-height: 3.625rem; } }

@media (min-width: 768px) and (max-width: 1199px) {
  .hero-visual::before,
  .hero-visual::after { display: none; }
}
@media (max-width: 767px) { .catalog-mega { max-height: calc(100vh - 8.125rem); overflow-y: auto; }.catalog-mega__layout { grid-template-columns: 1fr; min-height: 0; }.catalog-mega__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.375rem; padding: 0.75rem 1rem; border-right: 0; border-bottom: 0.0625rem solid #e8e7e3; }.catalog-mega__tab { min-height: 2.5rem; padding: 0 0.5625rem; font-size: 0.6875rem; }.catalog-mega__tab span { display: none; }.catalog-mega__pane { grid-template-columns: 1fr; gap: 1rem; padding: 1.25rem 1rem 1.75rem; }.catalog-mega__heading h2 { font-size: 1.375rem; }.catalog-mega__links, .catalog-mega__links--three { grid-template-columns: 1fr; max-height: none; overflow: visible; }.catalog-mega__links a { min-height: 2.625rem; }.catalog-mega__help-links { grid-template-columns: 1fr; }.catalog-mega__help-links a { min-height: 4rem; } }

/* Figma uses a compact orange chevron in category cards. */
.category-card > div { position: static; }
.category-card h2, .category-card p { position: relative; z-index: 1; }
.category-card b { position: absolute; z-index: 2; top: 7.6875rem; bottom: auto; left: 1.0625rem; width: auto; height: auto; color: #ff5c0a; font-size: 1.5rem; font-weight: 400; line-height: 1; }
.category-card b::before { content: '›'; }
.category-card b::after { display: none; }

/* The mobile design uses swipeable card strips. Keep the cards readable instead
   of compressing them into a second column. */
@media (max-width: 767px) {
  .section-heading { min-height: 3.25rem; height: auto; align-items: flex-start; }
  .section-heading > a { flex: 0 0 auto; padding-top: .2rem; font-size: .6875rem; line-height: 1.25; text-align: right; white-space: nowrap; }
  .section-heading > div { min-width: 0; }
  .products-section .products-grid,
  .tuning-grid,
  .picks-grid,
  .articles-grid,
  .review-grid {
    display: flex;
    grid-template-columns: none;
    gap: .75rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .125rem .75rem .75rem 0;
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .products-section .products-grid::-webkit-scrollbar,
  .tuning-grid::-webkit-scrollbar,
  .picks-grid::-webkit-scrollbar,
  .articles-grid::-webkit-scrollbar,
  .review-grid::-webkit-scrollbar { display: none; }
  .products-section .product-card {
    flex: 0 0 16.25rem;
    min-width: 16.25rem;
    min-height: 23.5rem;
    height: 23.5rem;
    padding: .75rem;
    scroll-snap-align: start;
  }
  .products-section .product-card__image { height: 11rem; }
  .products-section .product-card__meta { min-height: 1.5rem; margin-top: 0; }
  .products-section .product-card h3 { min-height: 2.5rem; font-size: .875rem; }
  .products-section .product-card__fit { min-height: 2rem; font-size: .6875rem; }
  .products-section .product-card__price strong { font-size: 1.125rem; }
  .products-section .product-card__actions { height: 2.5rem; }
  .products-section .product-card__actions .button { min-height: 2.5rem; font-size: .75rem; }
  .products-section .product-card__favorite { width: 2.5rem; height: 2.5rem; }
  .tuning-grid .tuning-card {
    flex: 0 0 15rem;
    min-width: 15rem;
    min-height: 12.5rem;
    padding: .75rem;
    scroll-snap-align: start;
  }
  .tuning-card img { height: 7.5rem; }
  .tuning-card strong { font-size: .875rem; line-height: 1.15; }
  .tuning-card span { font-size: .6875rem; line-height: 1.25; }
  .picks-grid > a { flex: 0 0 12.5rem; min-width: 12.5rem; scroll-snap-align: start; }
  .picks-grid img { height: 6.25rem; }
  .articles-grid > article { flex: 0 0 16.25rem; min-width: 16.25rem; scroll-snap-align: start; }
  .articles article img { height: 8.75rem; }
  .review-grid .review-card { flex: 0 0 17.5rem; min-width: 17.5rem; height: 13.75rem; scroll-snap-align: start; }
  .category-card b { top: 7.6875rem; right: auto; bottom: auto; left: 1.0625rem; }
}

/* Hero benefit pictograms exported from the approved Figma component. */
.benefits b { padding: 0.625rem; }
.benefits b img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 768px) and (max-width: 1199px) { .benefits b { padding: 0.5rem; } }

@media (max-width: 767px) {
  .service-strip { height: 19.25rem; padding: 1.5rem 0; background: #fbf9f4; }
  .service-strip > .container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem .75rem; }
  .service-strip .container > div { min-width: 0; height: 5.375rem; gap: .5rem; padding: .625rem; border-color: #e5e4e0; border-radius: .625rem; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.02); }
  .service-strip .container > div:last-child { grid-column: 1 / -1; height: 4.5rem; }
  .service-strip b { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border-radius: .625rem; background: #fff6f0; }
  .service-strip b img { display: block; width: 1.5rem; height: 1.5rem; object-fit: contain; }
  .service-strip span { min-width: 0; gap: .125rem; color: #61636b; font-size: .71875rem; line-height: 1.35; }
  .service-strip strong { color: #121314; font-size: .71875rem; line-height: 1.35; }

  .picks { padding: 1.5rem 0; }
  .picks .section-heading { min-height: 2.5rem; height: 2.5rem; margin-bottom: .625rem; align-items: flex-start; }
  .picks .section-heading h2 { font-size: 1.40625rem; line-height: 2rem; }
  .picks .section-heading > a { padding-top: .125rem; font-size: .75rem; }
  .picks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; overflow: visible; padding: 0; scroll-snap-type: none; }
  .picks-grid > a { display: flex; flex: 0 1 auto; min-width: 0; height: 10.25rem; flex-direction: column; gap: .375rem; padding: .5rem; border-color: #e5e4e0; border-radius: .75rem; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.02); }
  .picks-grid img { width: 100%; height: 6.5rem; border-radius: .625rem; background: transparent; object-fit: contain; }
  .picks-grid span { padding: 0; color: #121314; font-size: .71875rem; font-weight: 600; line-height: 1.35; }
}

.seo-home { display: none; }
@media (max-width: 767px) {
  .tuning-section { height: 21.1875rem; }
  .popular-products { height: 33.125rem; }
  .models--legacy { display: none; }
  .seo-home { display: block; height: 41.5rem; padding: 1.5rem 0; background: #fbf9f4; }
  .seo-home__card { position: relative; height: 38.5rem; overflow: hidden; border: 0.0625rem solid #e5e4e0; border-radius: .875rem; background: #fff; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.03); }
  .seo-home__copy { position: absolute; top: 1.0625rem; right: 1.0625rem; left: 1.0625rem; }
  .seo-home__copy h2 { margin: 0; color: #121314; font-size: 1.25rem; font-weight: 600; line-height: 1.3; }
  .seo-home__copy > p { margin: .625rem 0 .75rem; color: #61666e; font-size: .703125rem; line-height: 1.45; }
  .seo-home__perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem .75rem; }
  .seo-home__perks > div { display: flex; height: 6.125rem; flex-direction: column; gap: .75rem; padding: .5625rem .625rem; border-radius: .625rem; background: #f8f7f4; }
  .seo-home__perks strong { color: #121314; font-size: .703125rem; font-weight: 600; line-height: 1.25; }
  .seo-home__perks span { color: #61666e; font-size: .71875rem; line-height: 1.3; }
  .seo-home__image { position: absolute; right: 1.0625rem; bottom: 1.25rem; left: 1.0625rem; display: block; width: calc(100% - 2.125rem); height: 11.875rem; border-radius: .5rem; object-fit: cover; }
  .picks-grid { min-height: 32.625rem; }
  .reviews { height: 22.25rem; margin-top: 0.0625rem; }
  .faq { height: 30.3125rem; }
  .articles { height: 26.875rem; }
  .final-cta { height: 20.875rem; padding: 1.5rem 0; }
  .final-cta__card { min-height: 0; height: 17.875rem; border-radius: .875rem; }
  .final-cta__card > picture, .final-cta__card > picture img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
  .final-cta__card > picture img { object-fit: cover; }
  .final-cta__card::after { background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.78) 48%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.02) 100%); }
  .final-cta__card > div { position: absolute; top: 1.125rem; left: 1.125rem; width: 20.125rem; height: 15.625rem; max-width: none; padding: 0; }
  .final-cta__card h2 { margin: 0; font-size: 1.5625rem; line-height: 1.12; white-space: pre-line; }
  .final-cta__card p:not(.eyebrow) { position: absolute; top: 7.625rem; left: 0; width: 20.125rem; margin: 0; color: rgba(255,255,255,.76); font-size: .6875rem; line-height: 1.35; }
  .final-cta__card .button { position: absolute; top: 13.125rem; left: 0; width: 10rem; min-height: 2.5rem; margin: 0; padding: 0 1.25rem; border-radius: .4375rem; font-size: .6875rem; }
}

/* Desktop SEO reference block and the native six-card picks row from Figma. */
.picks-link--mobile { display: none; }
@media (min-width: 768px) {
  .models--legacy { display: none; }
  .seo-home { display: block; height: 18.75rem; padding: 1.25rem 0; background: #fbf9f4; }
  .seo-home__card { position: relative; height: 16.25rem; overflow: hidden; border: 0.0625rem solid #e5e4e0; border-radius: .875rem; background: #fff; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.03); }
  .seo-home__copy { position: absolute; top: 1.1875rem; left: 1.4375rem; width: min(62%, 52.5rem); }
  .seo-home__copy h2 { margin: 0; color: #121314; font-size: 1.625rem; font-weight: 800; line-height: 1.2; }
  .seo-home__copy h2 br { display: none; }
  .seo-home__copy > p { margin: .625rem 0; color: #61666e; font-size: .75rem; line-height: 1.4; }
  .seo-home__perks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
  .seo-home__perks > div { display: flex; min-height: 6.5rem; flex-direction: column; gap: .3125rem; padding: .5rem .5rem .5rem 0; }
  .seo-home__perks strong { color: #121314; font-size: .75rem; font-weight: 700; line-height: 1.25; }
  .seo-home__perks span { color: #61666e; font-size: .6875rem; line-height: 1.35; }
  .seo-home__image--mobile { display: none; }
  .seo-home__image--desktop { position: absolute; top: 1.1875rem; right: 1.5rem; display: block; width: min(32.55%, 27.5rem); height: 13.75rem; border-radius: .5rem; object-fit: cover; }
}
@media (min-width: 1200px) {
  .hero { height: 28.125rem; }
  .hero__inner { min-height: 28.125rem; }
  .tuning-section { height: 35.375rem; }
  .picks { height: 17.875rem; }
  .picks .section-heading { height: 2.5rem; margin-bottom: .625rem; }
  .picks-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; }
  .picks-grid > a { height: 10.25rem; padding: .5rem; border-color: #e5e4e0; border-radius: .75rem; box-shadow: 0 0.3125rem 1rem rgba(0,0,0,.02); }
  .picks-grid img { height: 6.5rem; border-radius: .625rem; background: transparent; object-fit: contain; }
  .picks-grid span { padding: .375rem 0 0; color: #121314; font-size: .78125rem; font-weight: 600; }
  .articles { height: 27.375rem; }
}
@media (max-width: 767px) {
  .picks-link--desktop { display: none; }
  .picks-link--mobile { display: inline; }
  .seo-home__image--desktop { display: none; }
  .seo-home__image--mobile { position: absolute; right: 1.0625rem; bottom: 1.25rem; left: 1.0625rem; display: block; width: calc(100% - 2.125rem); height: 11.875rem; border-radius: .5rem; object-fit: cover; }
}

/* SEO navigation and the two-level mobile catalogue from the approved local mockups. */
.catalog-mega__mobile-root,
.catalog-mega__back { display: none; }

@media (min-width: 768px) and (max-width: 899px) {
  .site-nav nav li:nth-child(n + 5) { display: none; }
}

@media (max-width: 767px) {
  .catalog-mega { padding: 0.75rem 0 1.125rem; background: #fff; }
  .catalog-mega__layout { display: block; min-height: 0; padding: 1rem; border: 0.0625rem solid #e4dfd8; border-radius: 0.8125rem; background: #faf8f4; }
  .catalog-mega__mobile-root { display: block; }
  .catalog-mega__mobile-root h2 { margin: 0 0 0.25rem; color: #151618; font-size: 1.5rem; line-height: 1.2; }
  .catalog-mega__mobile-root > p { margin: 0 0 0.5rem; color: #84878b; font-size: 0.75rem; }
  .catalog-mega__mobile-root > button,
  .catalog-mega__mobile-section,
  .catalog-mega__mobile-all { display: flex; width: 100%; min-height: 3.375rem; align-items: center; justify-content: space-between; padding: 0 0.875rem; border: 0; border-bottom: 0.0625rem solid #ebe7e1; background: transparent; color: #202124; cursor: pointer; font-size: 0.875rem; text-align: left; }
  .catalog-mega__mobile-root > button span,
  .catalog-mega__mobile-section span,
  .catalog-mega__mobile-all span { color: #96999b; font-size: 1.25rem; font-weight: 400; }
  .catalog-mega__mobile-all { min-height: 3.125rem; margin: 0.25rem 0 0.4375rem; border: 0.0625rem solid #e3ded6; border-radius: 0.5625rem; background: #fff; }
  .catalog-mega__mobile-all span { color: #ff5b18; }
  .catalog-mega__mobile-cta { display: flex; min-height: 7.875rem; flex-direction: column; justify-content: flex-end; margin-top: 0.4375rem; padding: 0.75rem 0.875rem; border: 0.0625rem solid #e3ded6; border-radius: 0.625rem; background: #fff; }
  .catalog-mega__mobile-cta small { margin: 0 0 0.25rem; color: #ff5b18; font-size: 0.5625rem; }
  .catalog-mega__mobile-cta strong { color: #18191b; font-size: 0.9375rem; }
  .catalog-mega__mobile-cta > span { margin-top: 0.25rem; color: #777b80; font-size: 0.6875rem; line-height: 1.35; }
  .catalog-mega__mobile-cta a { color: #ff5b18; font-size: 0.6875rem; font-weight: 700; }
  .catalog-mega__tabs { display: none; }
  .catalog-mega__pane,
  .catalog-mega.is-mobile-subview .catalog-mega__mobile-root { display: none; }
  .catalog-mega.is-mobile-subview .catalog-mega__pane:not([hidden]) { display: grid; padding: 0; }
  .catalog-mega__back { display: block; width: 100%; min-height: 2.75rem; padding: 0 0.875rem; border: 0.0625rem solid #e3ded6; border-radius: 0.5625rem; background: #fff; color: #ff5b18; cursor: pointer; text-align: left; }
  .catalog-mega__heading { padding-top: 0.125rem; }
  .catalog-mega__heading h2 { margin-bottom: 0.375rem; }
  .catalog-mega__heading > a { display: inline-block; margin-bottom: 0.125rem; }
  .catalog-mega__links { gap: 0.4375rem; }
  .catalog-mega__links a { min-height: 3.375rem; border-color: #e3ded6; border-radius: 0.5625rem; background: #fff; font-size: 0.8125rem; }
}

/* Final mega-menu geometry from the local 1440/390 references. */
html, body { overflow-x: clip; }
html.catalog-open, body.catalog-open { overflow: hidden; }
.mega-mobile-copy { display: none; }
.catalog-mega__rail-heading { display: flex; flex-direction: column; gap: 0.375rem; margin: 0.125rem 0.375rem 0.875rem; }
.catalog-mega__rail-heading span { color: #ff5b18; font-size: 0.625rem; font-weight: 700; }
.catalog-mega__rail-heading strong { color: #17181a; font-size: 1.25rem; line-height: 1.2; }
.catalog-mega__rail-all { margin: auto 0.375rem 0; color: #ff5b18; font-size: 0.6875rem; font-weight: 700; }
.catalog-mega__content { min-width: 0; }
.catalog-mega__content-all { display: inline-block; margin-top: 0.9375rem; color: #ff5b18; font-size: 0.6875rem; font-weight: 700; }
.catalog-mega__links--descriptive { margin-top: 1.1875rem; column-gap: 1.125rem; row-gap: 0; }
.catalog-mega__links--descriptive a { min-height: 5rem; padding: 0.75rem 0; border: 0; border-bottom: 0.0625rem solid #dedbd5; border-radius: 0; }
.catalog-mega__links--descriptive .catalog-mega__link-copy { display: flex; min-width: 0; flex-direction: column; gap: 0.375rem; color: #17181a; }
.catalog-mega__links--descriptive strong { font-size: 0.875rem; }
.catalog-mega__links--descriptive small { overflow: hidden; color: #777a80; font-size: 0.625rem; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.catalog-mega__links--descriptive a > b,
.catalog-mega__links--compact a > b,
.catalog-mega__model-links a > b,
.catalog-mega__content-all--card > b { color: #ff5b18; font-size: 0.9375rem; font-weight: 400; }
.catalog-mega__links--compact { margin-top: 1.25rem; }
.catalog-mega__links--compact a { min-height: 3.375rem; }
.catalog-mega__content-all--card { display: flex; min-height: 3.625rem; align-items: center; justify-content: space-between; padding: 0.625rem 0.8125rem; border: 0.0625rem solid #e3ded6; border-radius: 0.5625rem; background: #fff; }
.catalog-mega__content-all--card > span { display: flex; flex-direction: column; gap: 0.125rem; color: #17181a; }
.catalog-mega__content-all--card strong { font-size: 0.8125rem; }
.catalog-mega__content-all--card small { color: #777a80; font-size: 0.625rem; font-weight: 400; }
.catalog-mega__tuning-groups { display: none; }
.catalog-mega__model-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4375rem 0.625rem; margin-top: 1.125rem; }
.catalog-mega__model-links a { display: flex; min-height: 3.625rem; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.5625rem 0.75rem; border: 0.0625rem solid #e3ded6; border-radius: 0.5625rem; background: #fff; }
.catalog-mega__model-links a > span { display: flex; min-width: 0; flex-direction: column; gap: 0.125rem; }
.catalog-mega__model-links strong { color: #17181a; font-size: 0.8125rem; }
.catalog-mega__model-links small { color: #777a80; font-size: 0.625rem; }
.catalog-mega__classic { margin-top: 0.625rem; }
.catalog-mega__classic > span { color: #777a80; font-size: 0.625rem; }
.catalog-mega__classic > div { display: flex; gap: 0.4375rem; margin-top: 0.375rem; }
.catalog-mega__classic a { display: inline-flex; min-height: 2.375rem; align-items: center; padding: 0 0.6875rem; border: 0.0625rem solid #e3ded6; border-radius: 0.5rem; background: #fff; color: #17181a; font-size: 0.6875rem; }
.catalog-panel .catalog-mega__promo { display: flex; min-width: 0; height: 23.25rem; flex-direction: column; padding: 0.875rem 1.5rem 1.125rem; overflow: hidden; border: 0.0625rem solid #dfdcd7; border-radius: 0.8125rem; background: #fff; color: #17181a; }
.catalog-mega__promo img { display: block; width: 100%; height: 11.375rem; margin: -0.25rem 0 0.25rem; object-fit: contain; }
.catalog-mega__promo small { color: #ff5b18; font-size: 0.5625rem; }
.catalog-mega__promo strong { margin-top: 0.625rem; color: #17181a; font-size: 1.125rem; line-height: 1.2; }
.catalog-mega__promo p { margin: 0.4375rem 0 0.875rem; color: #73777d; font-size: 0.6875rem; line-height: 1.4; }
.catalog-mega__promo a { display: flex; min-height: 2.75rem; align-items: center; justify-content: center; margin-top: auto; border-radius: 0.5rem; background: #101112; color: #fff; font-size: 0.6875rem; font-weight: 700; }

@media (min-width: 1200px) {
  .catalog-panel.catalog-mega { top: 9.5rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .catalog-mega__layout { grid-template-columns: 15.25rem minmax(0, 1fr); width: min(84.5rem, calc(100% - 5.5rem)); height: 26.25rem; min-height: 26.25rem; overflow: hidden; border: 0.0625rem solid #e3ded6; border-radius: 0.875rem; background: #faf8f4; box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,.035); }
  .catalog-mega__tabs { width: 13.75rem; height: 23.25rem; margin: 1.5rem 0 1.5rem 1.5rem; padding: 1rem 0.75rem 0.8125rem; border: 0.0625rem solid #dfdcd7; border-radius: 0.8125rem; background: #fff; }
  .catalog-mega__tab { min-height: 3rem; font-size: 0.8125rem; font-weight: 500; }
  .catalog-mega__tab { justify-content: flex-start; }
  .catalog-mega__tab::before { width: 0.375rem; height: 0.375rem; flex: 0 0 0.375rem; margin-right: 0.75rem; border-radius: 50%; background: #c8c8c5; content: ''; }
  .catalog-mega__tab > span { margin-left: auto; }
  .catalog-mega__tab.is-active { background: #101112; color: #fff; box-shadow: none; }
  .catalog-mega__tab.is-active::before { background: #ff5b18; }
  .catalog-mega__tab.is-active span { color: #fff; }
  .catalog-mega__pane { grid-template-columns: minmax(0, 1fr) 24.0625rem; height: 26.25rem; gap: 2.625rem; padding: 1.5rem; }
  .catalog-mega__links--descriptive > a:nth-child(1) { grid-area: 1 / 1; }
  .catalog-mega__links--descriptive > a:nth-child(4) { grid-area: 1 / 2; }
  .catalog-mega__links--descriptive > a:nth-child(2) { grid-area: 2 / 1; }
  .catalog-mega__links--descriptive > a:nth-child(5) { grid-area: 2 / 2; }
  .catalog-mega__links--descriptive > a:nth-child(3) { grid-area: 3 / 1; }
  .catalog-mega__links--descriptive > a:nth-child(6) { grid-area: 3 / 2; }
  .catalog-mega__heading { padding-top: 0.125rem; }
  .catalog-mega__heading h2 { margin: 0 0 0.125rem; font-size: 1.5625rem; }
  .catalog-mega__heading p { margin-bottom: 0.8125rem; color: #ff5b18; }
  .catalog-mega__intro { font-size: 0.6875rem; }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }
  .catalog-mega__tuning-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.4375rem;
  }
  .catalog-mega__tuning-group h3 {
    margin: 0 0 0.3125rem;
    color: #17181a;
    font-size: 0.84375rem;
    line-height: 1.25rem;
  }
  .catalog-panel .catalog-mega__tuning-group,
  .catalog-panel .catalog-mega__tuning-group:first-child {
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .catalog-mega__tuning-group a {
    display: flex;
    min-height: 2.375rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-bottom: 0.0625rem solid #dedbd5;
    color: #303236;
    font-size: 0.71875rem;
    line-height: 0.9375rem;
  }
  .catalog-mega__tuning-group a b { flex: 0 0 auto; color: #ff5b18; font-size: 0.8125rem; font-weight: 400; }
  .catalog-mega__tuning-mobile-links { display: none; }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content-all--card {
    width: max-content;
    min-height: 0;
    margin-top: 0.9375rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ff5b18;
  }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content-all--card small { display: none; }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content-all--card strong { color: #ff5b18; font-size: 0.6875rem; }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content-all--card > b { margin-left: 0.25rem; font-size: 0.6875rem; }
  .catalog-mega__pane[data-mega-pane="opt"],
  .catalog-mega__pane[data-mega-pane="buyers"],
  .catalog-mega__pane[data-mega-pane="useful"] { grid-template-columns: 13.125rem minmax(0, 1fr); }
}

@media (min-width: 1200px) and (max-width: 1359px) {
  .catalog-mega__pane { grid-template-columns: minmax(0, 1fr) 20.625rem; gap: 1.5rem; }
  .catalog-mega__tuning-groups { gap: 1rem; margin-top: 1.0625rem; }
  .catalog-mega__tuning-group h3 { margin-bottom: 0.1875rem; font-size: 0.78125rem; }
  .catalog-mega__tuning-group a { min-height: 2.125rem; font-size: 0.65625rem; line-height: 0.8125rem; }
  .catalog-mega__pane[data-mega-pane="tuning"] .catalog-mega__content-all--card { margin-top: 0.625rem; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .catalog-panel.catalog-mega { padding: 0; border: 0; background: transparent; box-shadow: none; }
  .catalog-mega__layout { grid-template-columns: 11.875rem minmax(0, 1fr); width: min(61rem, calc(100% - 3rem)); min-height: 24.375rem; overflow: hidden; border: 0.0625rem solid #e3ded6; border-radius: 0.8125rem; background: #faf8f4; }
  .catalog-mega__tabs { height: 21.375rem; margin: 1.5rem 0 1.5rem 1rem; padding: 0.875rem 0.625rem; border: 0.0625rem solid #dfdcd7; border-radius: 0.75rem; background: #fff; }
  .catalog-mega__rail-heading strong { font-size: 1.0625rem; }
  .catalog-mega__tab { min-height: 2.75rem; font-size: 0.6875rem; }
  .catalog-mega__tab { justify-content: flex-start; }
  .catalog-mega__tab::before { width: 0.375rem; height: 0.375rem; flex: 0 0 0.375rem; margin-right: 0.75rem; border-radius: 50%; background: #c8c8c5; content: ''; }
  .catalog-mega__tab > span { margin-left: auto; }
  .catalog-mega__tab.is-active { background: #101112; color: #fff; box-shadow: none; }
  .catalog-mega__tab.is-active::before { background: #ff5b18; }
  .catalog-mega__tab.is-active > span { color: #fff; }
  .catalog-mega__pane { display: block; height: 24.375rem; padding: 1.5rem 1.375rem; overflow-y: auto; }
  .catalog-panel .catalog-mega__promo { display: none; }
  .catalog-mega__links--descriptive a { min-height: 4.375rem; }
  .catalog-mega__pane[data-mega-pane="aggregates"] { overflow-y: hidden; }
}

@media (min-width: 768px) and (max-width: 899px) {
  .brand { transform: translate(-0.5rem, -0.125rem); }
  .site-search { width: 26.875rem; transform: translate(-0.375rem, -0.125rem); }
  .site-nav__inner { width: calc(100% - 3rem); gap: 0.875rem; }
  .catalog-mega__tab { justify-content: flex-start; }
  .catalog-mega__tab::before { width: 0.3125rem; height: 0.3125rem; flex: 0 0 0.3125rem; margin-right: 0.5625rem; border-radius: 50%; background: #c8c8c5; content: ''; }
  .catalog-mega__tab > span { margin-left: auto; }
  .catalog-mega__tab.is-active { background: #101112; color: #fff; box-shadow: none; }
  .catalog-mega__tab.is-active::before { background: #ff5b18; }
  .catalog-mega__tab.is-active > span { color: #fff; }
}

@media (max-width: 767px) {
  .mega-desktop-copy { display: none; }
  .mega-mobile-copy { display: inline; }
  .catalog-mega__rail-heading, .catalog-mega__rail-all { display: none; }
  .catalog-mega__layout { padding: 0.9375rem; }
  .catalog-mega:not(.is-mobile-subview) .catalog-mega__layout { min-height: 42.625rem; }
  .catalog-mega__mobile-root h2 { font-size: 1.4375rem; }
  .catalog-mega__mobile-cta { min-height: 7.875rem; justify-content: flex-start; padding: 0.875rem; border: 0.0625rem solid #e3ded6; background: #fff; color: #17181a; }
  .catalog-mega__mobile-cta small { display: block; }
  .catalog-mega__mobile-cta strong { display: block; margin-top: 0.25rem; }
  .catalog-mega__mobile-cta > span { display: block; }
  .catalog-mega__mobile-cta a { margin-top: auto; }
  .catalog-mega.is-mobile-subview .catalog-mega__pane:not([hidden]) { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
  .catalog-mega__content { display: contents; }
  .catalog-mega__heading { order: 1; padding: 0.375rem 0 0.5625rem; }
  .catalog-mega__heading p { display: none; }
  .catalog-mega__heading h2 { margin: 0; font-size: 1.4375rem; }
  .catalog-mega__intro { margin-top: 0.5625rem; font-size: 0.6875rem; line-height: 1.4; }
  .catalog-mega__back { order: 2; min-height: 2.75rem; margin-bottom: 0.4375rem; padding: 0 0.875rem; }
  .catalog-mega__links,
  .catalog-mega__model-links { order: 3; margin: 0; }
  .catalog-mega__classic { order: 4; margin-top: 0.25rem; }
  .catalog-mega__content-all { order: 5; }
  .catalog-mega__promo { order: 6; }
  .catalog-mega__links--descriptive,
  .catalog-mega__links--compact { display: block; }
  .catalog-mega__links--descriptive a,
  .catalog-mega__links--compact a { min-height: 3.5rem; padding: 0 0.875rem; border: 0; border-bottom: 0.0625rem solid #ebe7e1; border-radius: 0; background: transparent; }
  .catalog-mega__pane[data-mega-pane="aggregates"] .catalog-mega__links--descriptive a { min-height: 3.4375rem; }
  .catalog-mega__links--descriptive small { display: none; }
  .catalog-mega__links--descriptive strong,
  .catalog-mega__links--compact strong { font-size: 0.875rem; font-weight: 500; }
  .catalog-mega__links--descriptive a > b,
  .catalog-mega__links--compact a > b { color: #96999b; }
  .catalog-mega__links--descriptive a > b,
  .catalog-mega__links--compact a > b,
  .catalog-mega__model-links a > b { font-size: 0; }
  .catalog-mega__links--descriptive a > b::after,
  .catalog-mega__links--compact a > b::after,
  .catalog-mega__model-links a > b::after { content: '›'; font-size: 1.25rem; font-weight: 400; line-height: 1; }
  .catalog-mega__content-all:not(.catalog-mega__content-all--card) { display: none; }
  .catalog-mega__content-all--card { width: 100%; margin-top: 0.4375rem; }
  .catalog-mega__model-links { grid-template-columns: 1fr; gap: 0.4375rem; }
  .catalog-mega__model-links a { height: 3.5rem; min-height: 3.5rem; padding-top: 0.4375rem; padding-bottom: 0.4375rem; }
  .catalog-mega__help-options a { height: 3.5rem; min-height: 3.5rem; }
  .catalog-mega__classic > div { flex-direction: column; align-items: flex-start; }
  .catalog-mega__classic a { min-width: 6.125rem; }
  .catalog-panel .catalog-mega__promo { display: none; width: 100%; height: 7rem; min-height: 7rem; margin-top: 0.1875rem; padding: 0.8125rem; border-radius: 0.5625rem; }
  .catalog-mega__promo img { display: none; }
  .catalog-mega__promo strong { margin-top: 0.4375rem; font-size: 0.9375rem; }
  .catalog-mega__promo p { margin: 0.3125rem 0; font-size: 0.6875rem; }
  .catalog-mega__promo a { min-height: 0; justify-content: flex-start; margin-top: 0; background: transparent; color: #ff5b18; }
  .catalog-panel .catalog-mega__pane[data-mega-pane="aggregates"] .catalog-mega__promo,
  .catalog-panel .catalog-mega__pane[data-mega-pane="models"] .catalog-mega__promo { display: flex; }
  .catalog-panel .catalog-mega__mobile-cta { min-height: 7.875rem; margin-top: 0.25rem; padding: 0.75rem 0.875rem; border: 0.0625rem solid #e3ded6; background: #fff; color: #17181a; }
  .catalog-mega__help-contact { height: 7rem; min-height: 7rem; margin-top: 0.25rem; padding: 0.75rem 0.8125rem; }
  .catalog-mega__help-contact > span { gap: 0.1875rem; }
  .catalog-mega__help-contact .catalog-mega__help-eyebrow { color: #ff5b18; font-size: 0.5625rem; font-style: normal; }
  .catalog-mega__help-contact em { color: #ff5b18; font-size: 0.6875rem; font-style: normal; font-weight: 700; }
  .catalog-mega__pane[data-mega-pane="help"] { min-height: 31.0625rem; padding-bottom: 1.125rem; }
}

/* Authoritative 1440 px typography: keep last so legacy rules cannot override it. */
@media (min-width: 1200px) {
  .header-contact .header-contact__phone a { color: #121314; font-family: Manrope, Arial, sans-serif; font-size: 0.9375rem; font-style: normal; font-weight: 700; line-height: normal; }
  .header-contact .header-contact__hours { color: #5e636b; font-family: Manrope, Arial, sans-serif; font-size: 0.625rem; font-style: normal; font-weight: 400; line-height: normal; }
  .header-contact a.header-contact__callback { color: #ff5c0a; font-family: Manrope, Arial, sans-serif; font-size: 0.625rem; font-style: normal; font-weight: 700; line-height: normal; }
  .header-actions > .header-action,
  .header-actions > .header-action .header-action__label { color: #121314; font-family: Manrope, Arial, sans-serif; font-size: 0.65625rem; font-style: normal; font-weight: 600; line-height: normal; }
  .site-nav nav a { color: #121314; font-family: Manrope, Arial, sans-serif; font-size: 0.84375rem; font-style: normal; font-weight: 600; line-height: normal; }
  body.home .hero h1 { color: #0e0f11; font-family: Manrope, Arial, sans-serif; font-size: 3.625rem; font-style: normal; font-weight: 800; line-height: 3.5rem; }
  body.home .hero__lead { color: #0e0f11; font-family: Manrope, Arial, sans-serif; font-size: 1.03125rem; font-style: normal; font-weight: 400; line-height: 1.375rem; }
  body.home .hero__actions .button { font-family: Manrope, Arial, sans-serif; font-size: 0.8125rem; font-style: normal; font-weight: 700; line-height: normal; }
  body.home .benefits strong { color: #0e0f11; font-family: Manrope, Arial, sans-serif; font-size: 0.71875rem; font-style: normal; font-weight: 700; line-height: normal; }
  body.home .benefits span { color: #575c63; font-family: Manrope, Arial, sans-serif; font-size: 0.65625rem; font-style: normal; font-weight: 400; line-height: normal; }
  body.home .category-card h2 { color: #121314; font-family: Manrope, Arial, sans-serif; font-size: 0.875rem; font-style: normal; font-weight: 700; line-height: normal; }
  body.home .category-card p { color: #61636b; font-family: Manrope, Arial, sans-serif; font-size: 0.6875rem; font-style: normal; font-weight: 400; line-height: normal; }
  body.home .articles-grid { grid-template-columns: repeat(4, 20.375rem); gap: 1rem; justify-content: space-between; }
  body.home .articles-grid > article { display: flex; width: 20.375rem; height: 20rem; flex-direction: column; padding: 0.8125rem; }
  body.home .articles-grid > article > * { margin-right: 0; margin-left: 0; }
  body.home .home-article-card__image { width: 18.625rem; height: 9.375rem; flex: 0 0 9.375rem; overflow: hidden; border-radius: 0.5rem; }
  body.home .home-article-card__image img { display: block; width: 18.625rem; height: 9.375rem; object-fit: cover; }
  body.home .section-heading h2,
  body.home .models h2,
  body.home .faq h2,
  body.home .seo-home h2,
  body.home .final-cta h2 { color: #121314; font-family: Manrope, Arial, sans-serif; font-size: 1.6875rem; font-style: normal; font-weight: 800; line-height: normal; }
}

body.home .home-article-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.5625rem; color: #6b7078; font-family: Manrope, Arial, sans-serif; font-size: 0.625rem; line-height: normal; }
body.home .home-article-card__meta span { font-weight: 600; }
body.home .home-article-card__meta span.is-accent { color: #ff5c0a; }
body.home .home-article-card__meta time { flex: none; font-weight: 400; }
body.home .home-article-card h3 { min-height: 0; margin-top: 0.625rem; margin-bottom: 0; color: #121314; font-size: 0.8125rem; font-weight: 700; line-height: normal; }
body.home .home-article-card p { min-height: 0; margin-top: 0.6875rem; margin-bottom: 0; color: #61636b; font-size: 0.625rem; line-height: 1.35; }
body.home .home-article-card > a { margin-top: auto; margin-bottom: 0; color: #ff5c0a; font-size: 0.6875rem; font-weight: 700; }
body.home .hero-visual--mobile { display: none; }

/* Stable mobile hero: one image, one vertical composition. */
@media (max-width: 679px) {
  body.home .hero__inner { min-height: 0; }
  body.home .hero__content { width: 100%; padding: 1.75rem 0 1.5rem; }
  body.home .hero h1 { max-width: none; font-size: 1.625rem; line-height: 1.75rem; }
  body.home .hero__lead { max-width: none; margin-top: 0.75rem; font-size: 0.71875rem; line-height: 1rem; }
  body.home .hero-visual--desktop { display: none; }
  body.home .hero-visual--mobile {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.6;
    margin-top: 1rem;
    overflow: hidden;
    mask-image: none;
  }
  body.home .hero-visual--mobile img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
  body.home .hero__actions { display: flex; width: 100%; gap: 0.5rem; margin-top: 0.875rem; }
  body.home .hero__actions .button,
  body.home .hero__actions .button--outline { width: auto; min-width: 0; flex: 1 1 0; }
  body.home .benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; height: auto; gap: 0.75rem 0.625rem; margin-top: 0.875rem; }
  body.home .benefits > div { width: 100%; height: auto; min-height: 6rem; align-items: flex-start; }
  body.home .benefits > div:last-child { grid-column: 1 / -1; width: calc(50% - 0.3125rem); justify-self: center; }
  body.home .benefits span { max-width: none; overflow-wrap: anywhere; }
  body.home .category-card b { top: auto; right: 0.625rem; bottom: 0.5rem; left: auto; }
}

@media (max-width: 767px) {
  body.home .faq { height: auto !important; min-height: 0; }
  body.home .faq details[open] { height: auto !important; min-height: 7.25rem; flex: 0 0 auto; overflow: visible !important; }
  body.home .faq details[open] summary b,
  .catalog-category-faq details[open] summary b,
  .warranty-faq details[open] summary b { transform: none; }
}

/* One fluid horizontal state for wide phones and tablets. */
@media (min-width: 680px) and (max-width: 1199px) {
  body.home .hero { height: auto; }
  body.home .hero__inner { min-height: 26.25rem; }
  body.home .hero__content { position: static; z-index: 2; width: 50%; padding: 2.375rem 0 7rem; }
  body.home .hero h1 { max-width: 32.5rem; font-size: clamp(1.875rem, 3.7vw, 2.625rem); line-height: 1.08; }
  body.home .hero__lead { max-width: 26.875rem; margin-top: 0.875rem; font-size: 0.8125rem; line-height: 1.125rem; }
  body.home .hero-visual--mobile { display: none; }
  body.home .hero-visual--desktop { position: absolute; z-index: 1; top: 1rem; right: 0; bottom: auto; left: auto; display: block; width: 52%; height: 18.25rem; overflow: hidden; mask-image: none; }
  body.home .hero-visual--desktop img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
  body.home .hero__actions { width: 100%; margin-top: 1rem; }
  body.home .hero__actions .button,
  body.home .hero__actions .button--outline { min-width: 0; flex: 1 1 0; }
  body.home .benefits { position: absolute; right: 0; bottom: 0.75rem; left: 0; display: grid; width: 100%; height: 4.75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0; }
  body.home .benefits > div,
  body.home .benefits > div:last-child { width: 100%; height: 4.75rem; grid-column: auto; justify-self: stretch; }
}

@media (min-width: 680px) and (max-width: 767px) {
  body.home .hero__actions { flex-direction: column; max-width: 16.25rem; gap: 0.5rem; }
  body.home .hero__actions .button,
  body.home .hero__actions .button--outline { width: 100%; min-height: 2.625rem; flex: 0 0 2.625rem; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.home .articles-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; overflow: visible; }
  body.home .articles-grid > article { display: flex; min-width: 0; height: 20rem; flex-direction: column; padding: 0.8125rem; }
  body.home .articles-grid > article > * { margin-right: 0; margin-left: 0; }
  body.home .home-article-card__image { width: 18.625rem; height: 9.375rem; flex: 0 0 9.375rem; overflow: hidden; border-radius: 0.5rem; }
  body.home .home-article-card__image img { display: block; width: 18.625rem; height: 9.375rem; object-fit: cover; }
}

@media (max-width: 767px) {
  body.home .articles-grid { display: flex; grid-template-columns: none; gap: 0.75rem; overflow-x: auto; padding-right: 1rem; scroll-snap-type: x mandatory; }
  body.home .articles-grid > article { display: flex; min-width: 17rem; height: 20rem; flex: 0 0 17rem; flex-direction: column; padding: 0.6875rem; scroll-snap-align: start; }
  body.home .articles-grid > article > * { margin-right: 0; margin-left: 0; }
  body.home .home-article-card__image { width: 15.5rem; height: 8.75rem; flex: 0 0 8.75rem; overflow: hidden; border-radius: 0.5rem; }
  body.home .home-article-card__image img { display: block; width: 15.5rem; height: 8.75rem; object-fit: cover; }
}
