:root {
  --red: #e00516;
  --red-dark: #bd0010;
  --black: #0e0f12;
  --text: #111218;
  --muted: #6b707a;
  --line: #e1e3e8;
  --light: #f4f5f7;
  --white: #fff;
  --radius: 16px;
  --shadow: 0 18px 50px rgba(14, 15, 18, .08);
  --container: 1320px;
  --anchor-offset: 116px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 3px solid var(--red); outline-offset: 4px;
}
.site-footer a:focus-visible, .lead-panel a:focus-visible, .dark-panel a:focus-visible { outline-color: var(--white); }
main[id], .section[id] { scroll-margin-top: var(--anchor-offset); }
button, input { font: inherit; }
button { cursor: pointer; }
svg { width: 1.25em; height: 1.25em; }
.container { width: min(calc(100% - 64px), var(--container)); margin-inline: auto; }
.skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px;
  background: var(--black); color: var(--white); transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.header-inner {
  min-height: 92px; display: grid;
  grid-template-columns: minmax(210px, 245px) 1fr auto auto;
  gap: 22px; align-items: center;
}
.brand-link { display: inline-flex; align-items: center; min-width: 0; }
.brand-logo { display: block; height: auto; }
.brand-logo--compact { width: min(100%, 230px); max-height: 48px; object-fit: contain; object-position: left center; }
.brand-logo--symbol { width: 42px; }
.brand-lockup { display: inline-flex; flex-direction: column; gap: 4px; min-width: 0; }
.brand-lockup--compact { width: min(100%, 230px); }
.brand-lockup .brand-logo--compact { width: 100%; max-height: none; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2vw, 34px); }
.nav-item { min-height: 92px; display: flex; align-items: center; position: relative; }
.nav-link { position: relative; font-size: 15px; font-weight: 650; white-space: nowrap; }
.nav-item--has-menu > .nav-link { display: inline-flex; align-items: center; gap: 5px; }
.nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 2px;
  background: var(--red); transform: scaleX(0); transform-origin: left; transition: .2s ease;
}
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.nav-caret { width: 14px; height: 14px; display: grid; place-items: center; transition: transform .2s ease; }
.nav-caret svg { width: 14px; height: 14px; transform: rotate(90deg); }
.nav-item:hover > .nav-link .nav-caret, .nav-item:focus-within > .nav-link .nav-caret { transform: rotate(180deg); }
.nav-dropdown {
  position: absolute; top: calc(100% - 8px); left: 50%; z-index: 60;
  width: 390px; padding: 20px; border: 1px solid rgba(14, 15, 18, .1); border-radius: 18px;
  background: rgba(255,255,255,.985); box-shadow: 0 28px 70px rgba(14, 15, 18, .16);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, 10px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 18px; }
.nav-dropdown::after {
  content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px;
  border-left: 1px solid rgba(14, 15, 18, .1); border-top: 1px solid rgba(14, 15, 18, .1);
  background: var(--white); transform: translateX(-50%) rotate(45deg);
}
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}
.nav-dropdown--gearboxes { width: min(760px, calc(100vw - 40px)); }
.nav-dropdown__head { display: grid; gap: 2px; margin-bottom: 16px; padding: 0 4px 14px; border-bottom: 1px solid var(--line); }
.nav-dropdown__head strong { font-size: 15px; }
.nav-dropdown__head span { color: var(--muted); font-size: 11px; }
.nav-dropdown__groups { display: grid; gap: 18px; }
.nav-dropdown--gearboxes .nav-dropdown__groups { grid-template-columns: 1.05fr .9fr 1.3fr; }
.nav-dropdown__group { min-width: 0; }
.nav-dropdown__group-title {
  display: block; margin: 0 8px 7px; color: var(--red);
  font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase;
}
.nav-dropdown__links { display: grid; gap: 2px; }
.nav-dropdown__link { display: grid; gap: 1px; padding: 9px 10px; border-radius: 10px; transition: background .16s ease, color .16s ease; }
.nav-dropdown__link strong { font-size: 13px; line-height: 1.25; }
.nav-dropdown__link small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.nav-dropdown__link:hover, .nav-dropdown__link:focus-visible, .nav-dropdown__link.is-active {
  background: rgba(224, 5, 22, .06); color: var(--red);
}
.nav-dropdown__link:hover small, .nav-dropdown__link:focus-visible small, .nav-dropdown__link.is-active small { color: #8d555a; }
.header-contact { display: grid; gap: 2px; min-width: 190px; }
.header-contact span { color: var(--muted); font-size: 12px; }
.header-phone { font-weight: 850; white-space: nowrap; }
.menu-button {
  display: none; width: 48px; height: 48px; place-items: center;
  border: 1px solid var(--line); background: var(--white); border-radius: 14px; padding: 0;
  color: var(--text); box-shadow: 0 8px 24px rgba(14, 15, 18, .06);
}
.menu-button svg { width: 26px; height: 26px; }
.menu-icon { display: grid; place-items: center; }
.menu-icon--close { display: none; }
.menu-button[aria-expanded="true"] .menu-icon--open { display: none; }
.menu-button[aria-expanded="true"] .menu-icon--close { display: grid; }
.mobile-menu-backdrop {
  position: fixed; inset: 0; z-index: 46; background: rgba(6, 8, 11, .46); backdrop-filter: blur(3px);
}
.mobile-menu {
  position: fixed; z-index: 47; top: 88px; left: 16px; right: 16px;
  border: 1px solid var(--line); border-radius: 20px; background: var(--white);
  box-shadow: 0 28px 80px rgba(14, 15, 18, .24); overflow: auto; max-height: calc(100dvh - 108px);
}
.mobile-nav { display: grid; padding: 18px; gap: 10px; }
.mobile-nav .nav-link {
  min-height: 54px; display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfc;
  font-size: 17px; font-weight: 800;
}
.mobile-nav .nav-link.is-active { border-color: rgba(224,5,22,.35); background: rgba(224,5,22,.055); color: var(--red); }
.mobile-nav .nav-link::after { display: none; }
.mobile-nav-group { border: 1px solid var(--line); border-radius: 12px; background: #fafbfc; overflow: hidden; }
.mobile-nav-group.is-active { border-color: rgba(224,5,22,.35); background: rgba(224,5,22,.035); }
.mobile-nav-group summary {
  min-height: 54px; display: flex; align-items: center; justify-content: space-between;
  gap: 14px; padding: 14px 16px; list-style: none; cursor: pointer; font-size: 17px; font-weight: 800;
}
.mobile-nav-group summary::-webkit-details-marker { display: none; }
.mobile-nav-group[open] summary { color: var(--red); }
.mobile-nav-group[open] summary .nav-caret { transform: rotate(180deg); }
.mobile-nav-submenu { display: grid; gap: 14px; padding: 6px 10px 12px; border-top: 1px solid var(--line); background: var(--white); }
.mobile-nav-submenu__group { display: grid; gap: 4px; }
.mobile-nav-submenu__title {
  padding: 8px 8px 2px; color: var(--red); font-size: 10px;
  font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.mobile-nav-submenu__links { display: grid; gap: 3px; }
.mobile-nav-submenu__link { display: grid; gap: 2px; padding: 10px 9px; border-radius: 9px; }
.mobile-nav-submenu__link strong { font-size: 14px; line-height: 1.25; }
.mobile-nav-submenu__link small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.mobile-nav-submenu__link.is-active { background: rgba(224,5,22,.055); color: var(--red); }
.mobile-nav .button { margin-top: 6px; }
body.is-menu-open { overflow: hidden; }

.button {
  min-height: 52px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid transparent; border-radius: 10px; padding: 13px 22px;
  font-weight: 800; line-height: 1.1; text-align: center; transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--red); color: var(--white); }
.button--primary:hover { background: var(--red-dark); }
.button--secondary { background: var(--white); border-color: var(--line); }
.button--secondary:hover { border-color: #bbbfc8; }
.button--light { background: var(--white); color: var(--text); border-color: var(--white); }
.button-row { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }

.hero { padding: 42px 0 44px; background: linear-gradient(180deg, #fff 0%, #fafbfc 100%); }
.hero--simple { padding: 34px 0 52px; }
.hero--simple .breadcrumbs { margin-bottom: 24px; }
.hero--simple .hero-copy { max-width: 960px; }
.hero--simple + .section { padding-top: 52px; }
.breadcrumbs { display: flex; gap: 10px; color: var(--muted); font-size: 13px; margin-bottom: 30px; }
.breadcrumbs a:hover { color: var(--red); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(480px, .9fr); gap: 68px; align-items: center; }
.hero-copy { min-width: 0; }
.eyebrow {
  margin: 0 0 12px; color: var(--red); font-size: 13px; font-weight: 850;
  letter-spacing: .08em; text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  max-width: 800px; margin-bottom: 24px;
  font-size: clamp(42px, 5.2vw, 72px); line-height: .98; letter-spacing: -.045em;
  font-weight: 950; text-transform: uppercase;
}
.hero-title-accent { color: var(--red); }
.hero-lead { max-width: 710px; color: #272a31; font-size: clamp(17px, 1.55vw, 22px); line-height: 1.48; }
.hero-visual { min-width: 0; }
.hero-media {
  margin: 0; min-height: 360px; border-radius: 22px; overflow: hidden;
  background: var(--light); border: 1px solid #edf0f3; box-shadow: var(--shadow);
}
.hero-media > img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: 50% 50%; }
.home-brand-visual {
  width: 100%; margin: 0; display: flex; align-items: center; justify-content: flex-end;
}
.brand-hero__logo {
  width: 100%; height: auto; max-height: 520px; object-fit: contain; object-position: right center;
  filter: drop-shadow(0 22px 34px rgba(14, 15, 18, .12));
}
.home-brand-visual--detailed, .home-brand-visual--emblem { flex-direction: column; justify-content: center; gap: 18px; }
.service-hero-visual {
  min-height: 390px; position: relative; isolation: isolate; overflow: hidden; margin: 0;
  display: grid; grid-template-rows: auto 1fr auto; gap: 24px; padding: 28px 30px 24px;
  border: 1px solid #252a31; border-radius: 22px; color: #fff; box-shadow: var(--shadow);
  background:
    radial-gradient(circle at 82% 22%, rgba(224, 5, 22, .38), transparent 28%),
    linear-gradient(135deg, #0d0f12 0%, #15191f 58%, #0b0d10 100%);
}
.service-hero-visual::before {
  content: ""; position: absolute; z-index: -1; width: 320px; height: 320px; right: -88px; top: -92px;
  border: 1px solid rgba(255, 255, 255, .12); border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255, 255, 255, .025), 0 0 0 84px rgba(255, 255, 255, .018);
}
.service-hero-visual::after {
  content: ""; position: absolute; z-index: -1; inset: 0; opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 42%, #000 100%);
}
.service-hero-visual__top {
  display: flex; justify-content: space-between; gap: 20px; color: #bec2c9;
  font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase;
}
.service-hero-visual__top span:first-child { color: #fff; }
.service-hero-visual__core { align-self: center; display: grid; justify-items: start; gap: 12px; }
.service-hero-visual__icon {
  width: 62px; height: 62px; display: grid; place-items: center; color: #fff;
  border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: var(--red);
  box-shadow: 0 16px 34px rgba(224, 5, 22, .28);
}
.service-hero-visual__icon svg { width: 30px; height: 30px; }
.service-hero-visual__core strong {
  max-width: 88%; font-size: clamp(36px, 3.8vw, 58px); line-height: .92;
  letter-spacing: -.04em; text-transform: uppercase;
}
.service-hero-visual__core small {
  color: #b9bdc5; font-size: 11px; font-weight: 800; letter-spacing: .11em;
}
.service-hero-visual figcaption {
  padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); color: #d2d5da;
  font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.about-brand-visual {
  min-height: 370px; position: relative; isolation: isolate; overflow: hidden; margin: 0;
  display: grid; grid-template-rows: auto 1fr auto; gap: 26px; padding: 28px 30px 24px;
  border: 1px solid #252a31; border-radius: 22px; color: var(--white); box-shadow: var(--shadow);
  background:
    radial-gradient(circle at 84% 18%, rgba(224, 5, 22, .38), transparent 29%),
    linear-gradient(145deg, #121419, #0b0c0f);
}
.about-brand-visual::before {
  content: ""; position: absolute; z-index: -1; right: -82px; top: -96px; width: 300px; height: 300px;
  border: 1px solid rgba(255,255,255,.11); border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(255,255,255,.025), 0 0 0 80px rgba(255,255,255,.016);
}
.about-brand-visual__top {
  display: flex; justify-content: space-between; gap: 20px; color: #bfc3ca;
  font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
}
.about-brand-visual__top span:first-child { color: #fff; }
.about-brand-visual__core { align-self: center; display: grid; justify-items: start; gap: 12px; }
.about-brand-visual__core > span {
  width: 62px; height: 62px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: var(--red);
  box-shadow: 0 16px 34px rgba(224, 5, 22, .28);
}
.about-brand-visual__core > span svg { width: 31px; height: 31px; }
.about-brand-visual__core strong { font-size: clamp(38px, 4vw, 58px); line-height: .95; letter-spacing: -.04em; }
.about-brand-visual__core small { max-width: 340px; color: #b9bdc5; font-size: 12px; line-height: 1.5; }
.about-brand-visual figcaption { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); }
.about-brand-visual figcaption span {
  padding: 6px 9px; border: 1px solid rgba(255,255,255,.13); border-radius: 99px;
  color: #d7d9de; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.benefit-strip--home .icon-badge { width: 50px; height: 50px; border-color: rgba(224, 5, 22, .22); }
.benefit-strip--home .icon-badge svg { width: 26px; height: 26px; }
.media-placeholder {
  min-height: 360px; display: grid; place-items: center; align-content: center; gap: 22px;
  padding: 40px; color: var(--muted); text-align: center; box-shadow: none;
}
.gearbox-silhouette { position: relative; width: 78%; height: 150px; }
.gearbox-body, .gearbox-clutch, .gearbox-module { position: absolute; display: block; background: var(--black); }
.gearbox-body { left: 14%; right: 12%; top: 44px; height: 74px; border-radius: 18px; }
.gearbox-clutch { left: 0; top: 34px; width: 28%; height: 94px; border-radius: 48px; }
.gearbox-module { right: 10%; top: 10px; width: 36%; height: 122px; border-radius: 18px; background: #62656a; }
.workshop-visual { color: var(--red); font-size: 110px; }
.workshop-visual svg { width: 1em; height: 1em; }

.benefit-section { padding: 0 0 20px; background: #fafbfc; }
.benefit-strip {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white);
}
.benefit-item { display: flex; gap: 14px; align-items: center; padding: 22px 24px; position: relative; }
.benefit-item + .benefit-item::before { content:""; position:absolute; left:0; top:20px; bottom:20px; width:1px; background:var(--line); }
.benefit-item strong, .benefit-item div > span { display: block; }
.benefit-item strong { font-size: 15px; }
.benefit-item div > span { color: var(--muted); font-size: 13px; margin-top: 2px; }
.warranty-terms-link {
  display: inline-block; margin-top: 6px; color: var(--red);
  font-size: 13px; font-weight: 700; text-decoration: underline;
  text-underline-offset: 3px;
}
.warranty-terms-link:hover { text-decoration-thickness: 2px; }
#warranty-terms { scroll-margin-top: var(--anchor-offset); }
.icon-badge {
  flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center;
  border: 1px solid rgba(224, 5, 22, .18); border-radius: 14px; color: var(--red); background: var(--white);
  box-shadow: 0 8px 22px rgba(14, 15, 18, .055);
}
.icon-badge svg { width: 22px; height: 22px; }

.service-page-nav { padding: 0 0 22px; background: #fafbfc; }
.service-page-nav__track {
  min-height: 58px; display: flex; align-items: center; gap: 8px; overflow-x: auto;
  padding: 8px; border: 1px solid var(--line); border-radius: 15px; background: var(--white);
  box-shadow: 0 10px 30px rgba(14, 15, 18, .04); scrollbar-width: none;
}
.service-page-nav__track::-webkit-scrollbar { display: none; }
.service-page-nav__label {
  flex: 0 0 auto; padding: 0 12px; color: #92969f;
  font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase;
}
.service-page-nav a {
  flex: 0 0 auto; padding: 10px 12px; border-radius: 9px;
  color: #4f535c; font-size: 12px; font-weight: 800; white-space: nowrap;
  transition: color .18s ease, background .18s ease;
}
.service-page-nav a:hover { color: var(--red); background: rgba(224, 5, 22, .055); }
.service-page-nav .service-page-nav__action {
  display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--red);
}

.section { padding: 74px 0; }
.section--compact { padding-top: 20px; padding-bottom: 100px; }
.section--cta { padding-top: 40px; }
.section-heading { margin-bottom: 30px; }
.section-heading h2 { margin-bottom: 10px; font-size: clamp(28px, 3vw, 42px); line-height: 1.08; letter-spacing: -.025em; text-transform: uppercase; }
.red-rule { display: block; width: 44px; height: 3px; background: var(--red); border-radius: 99px; }

.card-grid { display: grid; gap: 22px; }
.card-grid--4 { grid-template-columns: repeat(4, 1fr); }
.card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.category-card, .service-card, .service-index-card {
  min-height: 240px; position: relative; display: flex; flex-direction: column;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); padding: 26px;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.category-card:hover, .service-index-card:hover { transform: translateY(-3px); border-color: #c8cbd2; box-shadow: var(--shadow); }
.category-card h3, .service-card h3, .service-index-card h3 { font-size: 21px; margin-bottom: 14px; }
.category-card p, .service-card p, .service-index-card p { color: var(--muted); }
.category-card { min-height: 370px; padding: 13px; overflow: hidden; }
.category-card__visual {
  min-height: 126px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr;
  position: relative; overflow: hidden; padding: 17px;
  border-radius: 13px; color: var(--white);
  background:
    radial-gradient(circle at 88% 8%, rgba(224, 5, 22, .34), transparent 32%),
    linear-gradient(145deg, #17181d, #0d0e12);
}
.category-card__visual::after {
  content: ""; position: absolute; right: -25px; bottom: -52px; width: 150px; height: 150px;
  border: 1px solid rgba(255,255,255,.08); border-radius: 50%;
  box-shadow: 0 0 0 20px rgba(255,255,255,.025), 0 0 0 42px rgba(255,255,255,.018);
}
.category-card__code {
  color: #d2d5da; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase;
}
.category-card__index { color: #777b84; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.category-card__icon {
  align-self: end; width: 50px; height: 50px; display: grid; place-items: center; position: relative; z-index: 1;
  border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.07); color: #ff2638;
  transition: transform .2s ease, background .2s ease;
}
.category-card__icon svg { width: 27px; height: 27px; }
.category-card:hover .category-card__icon { transform: translateY(-3px); background: rgba(255,255,255,.11); }
.category-card__body { flex: 1; display: flex; flex-direction: column; padding: 17px 9px 9px; }
.category-card__body h3 { margin: 0 0 9px; font-size: 21px; line-height: 1.2; }
.category-card__body p { margin: 0 0 16px; font-size: 13px; line-height: 1.5; }
.category-card__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.category-card__chips span {
  padding: 5px 8px; border: 1px solid #e6e8ec; border-radius: 99px;
  background: #f7f8fa; color: #515660; font-size: 10px; font-weight: 800;
}
.category-card__link {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto;
  color: var(--red); font-size: 13px; font-weight: 850;
}
.category-card__link .inline-icon { transition: transform .2s ease; }
.category-card:hover .category-card__link .inline-icon { transform: translateX(3px); }
.service-card__visual {
  height: 104px; display: grid; place-items: center start; margin-bottom: 22px; padding: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(224, 5, 22, .09), transparent 34%),
    linear-gradient(145deg, #f8f9fb, #f1f3f6);
  border: 1px solid #eceff3; border-radius: 16px; color: var(--red);
}
.service-card__visual span {
  width: 58px; height: 58px; display: grid; place-items: center;
  border: 1px solid rgba(224, 5, 22, .2); border-radius: 17px; background: #fff;
  box-shadow: 0 12px 28px rgba(14, 15, 18, .07);
}
.service-card__visual svg { width: 30px; height: 30px; }
.service-card__price {
  align-self: flex-start; margin: 0 0 18px; padding: 6px 10px;
  border-radius: 99px; background: #fff0f1; color: var(--red); font-size: 13px; font-weight: 800;
}
.text-link { display: inline-flex; gap: 6px; align-items: center; margin-top: auto; color: var(--red); font-weight: 800; }
.inline-icon { width: 18px; height: 18px; vertical-align: middle; }

.dark-panel {
  background: var(--black); color: var(--white); border-radius: 20px; padding: 38px 38px 34px;
}
.dark-panel .section-heading { margin-bottom: 34px; }
.dark-panel .section-heading h2 { color: var(--white); }
.symptom-panel {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 96% 0, rgba(224, 5, 22, .18), transparent 27%),
    linear-gradient(145deg, #111216, #0b0c0f);
}
.symptom-panel > * { position: relative; z-index: 1; }
.symptom-panel .section-heading { margin-bottom: 14px; }
.symptom-intro {
  max-width: 760px; margin: 0 0 30px; color: #b9bdc5; font-size: 15px; line-height: 1.55;
}
.symptom-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 30px; }
.symptom-item {
  min-height: 184px; display: flex; flex-direction: column; padding: 20px;
  border: 1px solid rgba(255,255,255,.11); border-radius: 16px;
  background: rgba(255,255,255,.045);
}
.symptom-item__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.symptom-icon {
  width: 46px; height: 46px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.16); border-radius: 14px;
  background: rgba(255,255,255,.08); color: #ff2638;
}
.symptom-icon svg { width: 24px; height: 24px; }
.symptom-index { color: #6f737b; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.symptom-item h3 { margin: 0 0 8px; color: #fff; font-size: 17px; line-height: 1.25; }
.symptom-item p { margin: 0; color: #b9bdc5; font-size: 13px; line-height: 1.5; }
.symptom-action {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12);
}
.symptom-action > div { display: grid; gap: 5px; }
.symptom-action strong { font-size: 16px; }
.symptom-action span { color: #b9bdc5; font-size: 13px; }

.trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.trust-grid article {
  min-height: 120px; display: flex; gap: 18px; align-items: flex-start;
  border: 1px solid var(--line); border-radius: var(--radius); padding: 26px;
}
.trust-grid article > svg { color: var(--red); flex: 0 0 24px; margin-top: 3px; }
.trust-grid h3 { margin-bottom: 8px; }
.trust-grid p { color: var(--muted); margin-bottom: 0; }

.split-layout { display: grid; grid-template-columns: minmax(340px, .65fr) minmax(0, 1.35fr); gap: 52px; align-items: start; }
.price-panel { border-radius: 18px; background: var(--black); color: var(--white); padding: 32px; }
.price-panel .section-heading h2 { color: var(--white); }
.price-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 0; border-bottom: 1px solid #2c2d31; }
.price-row strong { color: var(--red); text-align: right; }
.fine-print { margin: 18px 0 0; color: #aeb1b7; font-size: 12px; line-height: 1.45; }
.process .section-heading { margin-bottom: 12px; }
.process-intro {
  max-width: 680px; margin: 0 0 28px; color: var(--muted); font-size: 15px; line-height: 1.55;
}
.process-list {
  list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px; margin: 0; padding: 0;
}
.process-list li {
  min-height: 220px; display: flex; flex-direction: column; position: relative;
  padding: 18px; border: 1px solid var(--line); border-radius: 18px;
  background:
    radial-gradient(circle at 90% 4%, rgba(224, 5, 22, .07), transparent 28%),
    var(--white);
  box-shadow: 0 14px 34px rgba(14, 15, 18, .045);
}
.process-list li:last-child { border-color: rgba(224, 5, 22, .24); }
.process-step__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 24px;
}
.process-step__icon {
  width: 50px; height: 50px; display: grid; place-items: center;
  border: 1px solid rgba(224, 5, 22, .18); border-radius: 15px;
  background: #f8f9fb; color: var(--red);
}
.process-step__icon svg { width: 25px; height: 25px; }
.process-step__number { color: #a2a5ac; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.process-step__body { display: grid; gap: 9px; }
.process-step__body strong { font-size: 16px; line-height: 1.25; }
.process-step__body p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.process-list li:not(:last-child)::after {
  content: ""; position: absolute; z-index: 2; right: -15px; top: 43px;
  width: 15px; height: 1px; background: var(--red);
}
.process-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line);
}
.process-footer > span { color: var(--muted); font-size: 13px; }
.process-footer .text-link { margin-top: 0; white-space: nowrap; }
.process-wrap .process-list { grid-template-columns: 1fr; gap: 12px; }
.process-wrap .process-list li {
  min-height: 0; display: grid; grid-template-columns: 50px minmax(0, 1fr);
  gap: 16px; padding: 16px; align-items: start;
}
.process-wrap .process-step__head { display: block; margin: 0; }
.process-wrap .process-step__number { display: none; }
.process-wrap .process-step__body { align-self: center; }
.process-wrap .process-list li:not(:last-child)::after {
  right: auto; left: 40px; top: auto; bottom: -13px; width: 1px; height: 13px;
}

.faq-list { display: grid; gap: 12px; max-width: 960px; }
.faq-item { border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }
.faq-item summary {
  cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; padding: 20px 22px; font-weight: 800;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { color: var(--red); font-size: 20px; transition: transform .2s ease; }
.faq-item[open] summary span { transform: rotate(45deg); }
.faq-item p { padding: 0 22px 22px; color: var(--muted); margin: 0; }

.lead-panel {
  display: grid; grid-template-columns: minmax(320px, 1fr) minmax(600px, 1.4fr); align-items: center; gap: 40px;
  padding: 42px; border-radius: 20px; background: var(--black); color: var(--white);
}
.lead-panel h2 { font-size: clamp(30px, 3vw, 44px); margin-bottom: 8px; }
.lead-panel p { color: #c8cbd0; margin-bottom: 0; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; }
.lead-form label { display: grid; gap: 7px; }
.lead-form label span { position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }
.lead-form input, .stack-form input {
  width: 100%; height: 52px; border: 1px solid #dadce1; border-radius: 10px; background: var(--white);
  padding: 0 16px; color: var(--text); outline: none;
}
.lead-form input:focus, .stack-form input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(224, 5, 22, .12); }
.form-status { grid-column: 1 / -1; min-height: 18px; margin: 0; font-size: 12px; color: #fff; }
.form-status[data-state="success"] { color: #9ce7b5; }
.form-status[data-state="error"] { color: #ffb8bf; }
.form-consent {
  grid-column: 1 / -1; display: flex !important; align-items: flex-start; gap: 9px;
  color: #c8cbd0; font-size: 12px; line-height: 1.35;
}
.lead-form label.form-consent span {
  position: static; clip: auto; width: auto; height: auto; overflow: visible;
}
.lead-form .form-consent input, .stack-form .form-consent input {
  flex: 0 0 auto; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0;
  accent-color: var(--red);
}
.form-honeypot {
  display: none !important;
}
.lead-form button:disabled, .stack-form button:disabled { cursor: wait; opacity: .68; transform: none; }
.seo-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 34px; }
.seo-card p { max-width: 1100px; color: #33363d; line-height: 1.7; }

.popular-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.popular-grid a {
  display: flex; justify-content: space-between; gap: 18px; align-items: center;
  min-height: 86px; border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px;
}
.popular-grid a:hover { border-color: var(--red); }
.popular-grid svg { color: var(--red); }

.related-services { scroll-margin-top: 92px; background: #f7f8fa; border-top: 1px solid #ebedf0; border-bottom: 1px solid #ebedf0; }
.related-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.related-service-card {
  min-height: 240px; display: flex; flex-direction: column; padding: 22px;
  border: 1px solid var(--line); border-radius: 18px; background: var(--white);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.related-service-card:hover { transform: translateY(-3px); border-color: #c8cbd2; box-shadow: var(--shadow); }
.related-service-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.related-service-card__top small { color: #a1a5ad; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.related-service-card__icon {
  width: 48px; height: 48px; display: grid; place-items: center;
  border: 1px solid rgba(224,5,22,.18); border-radius: 14px; background: #f8f9fb; color: var(--red);
}
.related-service-card__icon svg { width: 25px; height: 25px; }
.related-service-card__body { display: grid; gap: 8px; }
.related-service-card__body strong { font-size: 19px; line-height: 1.2; }
.related-service-card__body > span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.related-service-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px; color: var(--red); font-size: 13px; font-weight: 850; }
.related-service-card__link svg { transition: transform .2s ease; }
.related-service-card:hover .related-service-card__link svg { transform: translateX(3px); }

.quick-form-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; }
.stack-form { display: grid; gap: 14px; }
.quick-form-card .form-consent, .quick-form-card .form-status { color: var(--muted); }
.quick-form-card .form-status[data-state="success"] { color: #167a43; }
.quick-form-card .form-status[data-state="error"] { color: var(--red); }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.contact-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: grid; gap: 10px; }
.contact-card > svg { color: var(--red); width: 28px; height: 28px; }
.contact-card h3 { font-size: 22px; margin: 4px 0; }
.contact-card p, .contact-card span { color: var(--muted); margin: 0; }
.contact-card a { font-weight: 850; }
.contact-coverage {
  min-height: 360px; position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-rows: auto 1fr auto; gap: 24px; padding: 30px;
  border: 1px solid #272b32; border-radius: 18px; color: var(--white);
  background:
    radial-gradient(circle at 88% 12%, rgba(224,5,22,.32), transparent 29%),
    linear-gradient(145deg, #121419, #0b0c0f);
}
.contact-coverage::before {
  content: ""; position: absolute; z-index: -1; right: -72px; bottom: -104px; width: 260px; height: 260px;
  border: 1px solid rgba(255,255,255,.1); border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(255,255,255,.023), 0 0 0 76px rgba(255,255,255,.014);
}
.contact-coverage__top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.13); }
.contact-coverage__top span, .contact-coverage__top strong { font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.contact-coverage__top span { color: #bfc3ca; }
.contact-coverage__core { align-self: center; display: grid; justify-items: start; gap: 10px; }
.contact-coverage__icon {
  width: 54px; height: 54px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); color: #ff2638;
}
.contact-coverage__icon svg { width: 28px; height: 28px; }
.contact-coverage__core strong { font-size: clamp(26px, 3vw, 40px); line-height: 1.05; letter-spacing: -.03em; }
.contact-coverage__core p { max-width: 390px; margin: 0; color: #b9bdc5; font-size: 13px; }
.contact-coverage__cities { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-coverage__cities span {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.13); border-radius: 99px; color: #d7d9de; font-size: 10px; font-weight: 800;
}
.contact-coverage__cities svg { width: 13px; height: 13px; color: #ff2638; }
.visit-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; }
.visit-card ul { margin: 0; padding-left: 20px; display: grid; gap: 14px; }
.services-hero { padding: 36px 0 68px; }
.services-hero .breadcrumbs { margin-bottom: 28px; }
.services-hero__grid {
  display: grid; grid-template-columns: minmax(0, .95fr) minmax(470px, .8fr);
  gap: clamp(44px, 6vw, 86px); align-items: center;
}
.services-hero .hero-copy { max-width: 740px; }
.services-hero .hero-lead { max-width: 660px; }
.services-directory {
  position: relative; isolation: isolate; overflow: hidden; padding: 24px;
  border: 1px solid #272b32; border-radius: 22px; color: var(--white); box-shadow: var(--shadow);
  background:
    radial-gradient(circle at 94% 5%, rgba(224, 5, 22, .3), transparent 27%),
    linear-gradient(145deg, #121419, #0b0c0f);
}
.services-directory::before {
  content: ""; position: absolute; z-index: -1; right: -78px; top: -92px; width: 260px; height: 260px;
  border: 1px solid rgba(255,255,255,.1); border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255,255,255,.025), 0 0 0 68px rgba(255,255,255,.016);
}
.services-directory__head {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  margin-bottom: 18px; padding: 0 2px 18px; border-bottom: 1px solid rgba(255,255,255,.13);
}
.services-directory__head span {
  color: #c2c5cc; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase;
}
.services-directory__head strong { color: #fff; font-size: 12px; }
.services-directory__list { display: grid; gap: 7px; }
.services-directory__item {
  min-height: 67px; display: grid; grid-template-columns: 28px 1fr auto 18px;
  gap: 13px; align-items: center; padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.045);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.services-directory__item:hover {
  transform: translateX(3px); border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.085);
}
.services-directory__index { color: #727680; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.services-directory__item > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.services-directory__item strong { color: #fff; font-size: 14px; line-height: 1.25; }
.services-directory__item small { color: #aeb2ba; font-size: 10px; line-height: 1.3; }
.services-directory__count {
  min-width: 27px; height: 27px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.14); border-radius: 9px;
  color: #fff; background: rgba(255,255,255,.07); font-size: 11px; font-weight: 900;
}
.services-directory__item > svg { color: #ff2638; transition: transform .18s ease; }
.services-directory__item:hover > svg { transform: translateX(3px); }

.service-group-section { scroll-margin-top: 92px; }
.service-group-section--vag, .service-group-section--asia {
  border-top: 1px solid #ebedf0; border-bottom: 1px solid #ebedf0;
  background: #f7f8fa;
}
.service-group__header {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
  gap: 42px; align-items: end; margin-bottom: 30px;
}
.service-group__header .section-heading { margin-bottom: 0; }
.service-group__header p { margin: 0 0 3px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.service-group__grid { display: grid; gap: 18px; }
.service-group__grid--core, .service-group__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-group__grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service-group__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-index-card {
  min-height: 330px; padding: 12px; overflow: hidden;
  border-radius: 18px; background: var(--white);
}
.service-index-card__visual {
  min-height: 112px; position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr;
  gap: 16px; padding: 16px; border: 1px solid #eceef2; border-radius: 14px;
  background:
    radial-gradient(circle at 90% 8%, rgba(224, 5, 22, .12), transparent 31%),
    linear-gradient(145deg, #f8f9fb, #f0f2f5);
}
.service-index-card:not(.service-index-card--work) .service-index-card__visual {
  border-color: #272b32; color: #fff;
  background:
    radial-gradient(circle at 90% 8%, rgba(224, 5, 22, .34), transparent 31%),
    linear-gradient(145deg, #16181d, #0d0e12);
}
.service-index-card__visual::after {
  content: ""; position: absolute; z-index: -1; right: -35px; bottom: -64px; width: 155px; height: 155px;
  border: 1px solid rgba(14,15,18,.08); border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(14,15,18,.025), 0 0 0 43px rgba(14,15,18,.016);
}
.service-index-card:not(.service-index-card--work) .service-index-card__visual::after {
  border-color: rgba(255,255,255,.09);
  box-shadow: 0 0 0 22px rgba(255,255,255,.025), 0 0 0 43px rgba(255,255,255,.016);
}
.service-index-card__meta { display: flex; gap: 8px; align-items: center; justify-content: space-between; grid-column: 1 / -1; }
.service-index-card__meta strong, .service-index-card__meta small {
  font-size: 9px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase;
}
.service-index-card__meta strong { color: #5e636d; }
.service-index-card__meta small { color: #969aa3; }
.service-index-card:not(.service-index-card--work) .service-index-card__meta strong { color: #c7cad1; }
.service-index-card:not(.service-index-card--work) .service-index-card__meta small { color: #747983; }
.service-index-card__icon {
  align-self: end; width: 49px; height: 49px; display: grid; place-items: center;
  border: 1px solid rgba(224,5,22,.2); border-radius: 14px; background: #fff; color: var(--red);
  box-shadow: 0 10px 26px rgba(14,15,18,.07); transition: transform .2s ease, background .2s ease;
}
.service-index-card:not(.service-index-card--work) .service-index-card__icon {
  border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); color: #ff2638; box-shadow: none;
}
.service-index-card__icon svg { width: 26px; height: 26px; }
.service-index-card:hover .service-index-card__icon { transform: translateY(-3px); }
.service-index-card:not(.service-index-card--work):hover .service-index-card__icon { background: rgba(255,255,255,.11); }
.service-index-card__body { flex: 1; display: flex; flex-direction: column; padding: 17px 10px 9px; }
.service-index-card__body h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.2; }
.service-index-card__body p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.52; }
.service-index-card__link {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto;
  color: var(--red); font-size: 13px; font-weight: 850;
}
.service-index-card__link svg { transition: transform .2s ease; }
.service-index-card:hover .service-index-card__link svg { transform: translateX(3px); }
.price-table { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.price-table-row { display: grid; grid-template-columns: 1fr auto 24px; gap: 20px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.price-table-row:last-child { border-bottom: 0; }
.price-table-row span { color: var(--red); font-weight: 850; }
.price-table-row:hover { background: var(--light); }
.large-copy { max-width: 1050px; font-size: clamp(21px, 2.3vw, 34px); line-height: 1.4; }

.site-footer { margin-top: 90px; padding: 70px 0 28px; color: var(--white); background: var(--black); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 56px; }
.footer-brand p { color: #b9bcc2; max-width: 320px; }
.footer-specialization { font-weight: 700; }
.footer-column { display: grid; align-content: start; gap: 10px; }
.footer-column strong { margin-bottom: 8px; }
.footer-column a, .footer-column span { color: #d1d3d8; }
.footer-column a:hover { color: var(--white); }
.site-footer .brand-logo--compact { width: min(100%, 300px); max-height: 72px; }
.site-footer .brand-lockup--compact { width: min(100%, 300px); }
.footer-bottom {
  display: flex; justify-content: space-between; gap: 20px; margin-top: 90px; padding-top: 24px;
  border-top: 1px solid #2c2d31; color: #7f838b; font-size: 12px;
}
.toast {
  position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: min(420px, calc(100vw - 44px));
  padding: 16px 18px; border-radius: 12px; background: var(--black); color: var(--white); box-shadow: var(--shadow);
}

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: minmax(200px, 225px) 1fr auto; }
  .header-contact { display: none; }
  .desktop-nav { gap: 15px; }
  .header-cta { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .card-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .symptom-grid { grid-template-columns: repeat(3, 1fr); }
  .services-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .85fr); gap: 38px; }
  .service-group__grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-panel { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-column:last-child { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
  :root { --anchor-offset: 96px; }
  .header-inner { min-height: 78px; grid-template-columns: 1fr auto; gap: 16px; }
  .brand-logo--compact { width: min(100%, 210px); max-height: 44px; }
  .brand-lockup--compact { width: min(100%, 210px); }
  .desktop-nav, .header-contact, .header-cta { display: none; }
  .menu-button { display: grid; }
  .hero { padding-top: 30px; }
  .hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .hero-copy { max-width: 820px; }
  .hero-visual { width: min(100%, 760px); }
  .home-brand-visual { width: min(100%, 760px); justify-content: flex-start; }
  .brand-hero__logo { max-height: 400px; object-position: left center; }
  .service-hero-visual { width: min(100%, 760px); min-height: 350px; }
  .about-brand-visual { width: min(100%, 760px); }
  .services-hero__grid { grid-template-columns: 1fr; }
  .services-directory { width: min(100%, 760px); }
}

@media (max-width: 820px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .header-inner { min-height: 76px; gap: 12px; }
  .brand-logo--compact { width: 188px; max-height: 42px; }
  .brand-lockup--compact { width: min(100%, 188px); }
  .mobile-menu { top: 82px; }
  .hero { padding-top: 24px; }
  .hero--simple { padding-bottom: 44px; }
  .hero--simple + .section { padding-top: 44px; }
  .hero-grid { gap: 28px; }
  h1 { font-size: clamp(38px, 12vw, 58px); }
  .hero-media, .hero-media > img { min-height: 280px; }
  .home-brand-visual { width: min(100%, 680px); }
  .brand-hero__logo { max-height: 340px; }
  .service-hero-visual { min-height: 320px; padding: 24px; }
  .about-brand-visual { min-height: 320px; padding: 24px; }
  .benefit-strip { grid-template-columns: repeat(2, 1fr); }
  .benefit-item:nth-child(3)::before { display: none; }
  .section { padding: 52px 0; }
  .card-grid--3, .card-grid--4 { grid-template-columns: 1fr; }
  .category-card, .service-card, .service-index-card { min-height: 0; }
  .service-group__header { grid-template-columns: 1fr; gap: 18px; }
  .service-group__grid--core, .service-group__grid--three, .service-group__grid--two { grid-template-columns: 1fr; }
  .service-index-card { min-height: 0; }
  .symptom-grid { grid-template-columns: repeat(2, 1fr); }
  .symptom-action { align-items: flex-start; flex-direction: column; }
  .split-layout { grid-template-columns: 1fr; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li {
    min-height: 0; display: grid; grid-template-columns: 50px minmax(0, 1fr);
    gap: 16px; padding: 16px; align-items: start;
  }
  .process-step__head { display: block; margin: 0; }
  .process-step__number { display: none; }
  .process-step__body { align-self: center; }
  .process-list li:not(:last-child)::after {
    right: auto; left: 40px; top: auto; bottom: -15px; width: 1px; height: 15px;
  }
  .process-footer { align-items: flex-start; flex-direction: column; }
  .trust-grid, .popular-grid, .contact-grid, .related-services__grid { grid-template-columns: 1fr; }
  .lead-panel { padding: 30px 22px; }
  .lead-form { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: auto; }
  .footer-bottom { margin-top: 56px; flex-direction: column; }
}

@media (max-width: 480px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .brand-logo--compact { width: 165px; max-height: 38px; }
  .brand-lockup--compact { width: min(100%, 165px); }
  .mobile-menu { top: 78px; left: 12px; right: 12px; border-radius: 18px; }
  h1 { font-size: 37px; }
  .hero-lead { font-size: 16px; }
  .button-row { display: grid; }
  .button-row .button { width: 100%; }
  .hero-media, .hero-media > img { min-height: 220px; }
  .home-brand-visual { width: 100%; }
  .brand-hero__logo { max-height: 240px; }
  .service-hero-visual { min-height: 280px; gap: 18px; padding: 20px; border-radius: 18px; }
  .service-hero-visual__top { font-size: 9px; letter-spacing: .09em; }
  .service-hero-visual__icon { width: 52px; height: 52px; }
  .service-hero-visual__icon svg { width: 26px; height: 26px; }
  .service-hero-visual__core strong { max-width: 100%; font-size: clamp(32px, 10vw, 42px); }
  .service-hero-visual__core small, .service-hero-visual figcaption { font-size: 9px; letter-spacing: .08em; }
  .about-brand-visual { min-height: 285px; gap: 18px; padding: 20px; border-radius: 18px; }
  .about-brand-visual__top { font-size: 9px; letter-spacing: .09em; }
  .about-brand-visual__core > span { width: 52px; height: 52px; }
  .about-brand-visual__core > span svg { width: 26px; height: 26px; }
  .about-brand-visual__core strong { font-size: 36px; }
  .about-brand-visual__core small { font-size: 11px; }
  .service-page-nav__label { display: none; }
  .service-page-nav__track { border-radius: 13px; }
  .service-page-nav a { padding: 9px 10px; font-size: 11px; }
  .contact-coverage { min-height: 330px; padding: 22px; }
  .services-hero { padding-bottom: 46px; }
  .services-directory { padding: 17px; border-radius: 18px; }
  .services-directory__head { margin-bottom: 12px; padding-bottom: 14px; }
  .services-directory__item { grid-template-columns: 24px 1fr auto 16px; gap: 9px; padding: 10px; }
  .services-directory__item strong { font-size: 13px; }
  .services-directory__item small { font-size: 9px; }
  .service-group__grid--four { grid-template-columns: 1fr; }
  .service-index-card__visual { min-height: 104px; }
  .media-placeholder { padding: 24px; }
  .benefit-strip { grid-template-columns: 1fr; }
  .benefit-item + .benefit-item::before { top: 0; left: 20px; right: 20px; bottom: auto; width: auto; height: 1px; }
  .category-card { min-height: 0; }
  .category-card__visual { min-height: 112px; }
  .symptom-grid { grid-template-columns: 1fr; }
  .symptom-item { min-height: 0; }
  .symptom-action .button { width: 100%; }
  .process-footer .text-link { white-space: normal; }
  .dark-panel { padding: 28px 22px; }
  .price-panel { padding: 26px 22px; }
  .lead-panel h2 { font-size: 30px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-column:last-child { grid-column: auto; }
}

.footer-legal, .executor-details { display: grid; gap: 8px; overflow-wrap: anywhere; }

/* Licensed real car photographs, presented in the approved neutral card style. */
.vehicle-catalog { scroll-margin-top: 116px; }
.vehicle-catalog__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.vehicle-catalog__heading .section-heading { margin-bottom: 0; }
.vehicle-catalog__heading h2 { max-width: 760px; margin: 0 0 10px; }
.vehicle-catalog__heading .eyebrow { margin-bottom: 12px; }
.vehicle-catalog__heading > .text-link { flex: none; margin-bottom: 7px; }
.vehicle-catalog__intro { max-width: 750px; margin: 20px 0 32px; color: var(--muted); font-size: 17px; }
.vehicle-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vehicle-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.vehicle-card__media { position: relative; aspect-ratio: 3 / 2; background: radial-gradient(ellipse at 50% 35%, #fff 0%, #f5f6f8 68%, #eceef1 100%); }
.vehicle-card__media img { width: 100%; height: 100%; padding: 18px 22px; object-fit: contain; }
.vehicle-card__badge { position: absolute; z-index: 1; top: 18px; left: 20px; padding: 5px 10px; border: 1px solid rgba(14, 15, 18, .1); border-radius: 7px; background: rgba(255, 255, 255, .9); color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .05em; }
.vehicle-card__body { padding: 24px; }
.vehicle-card__body h3 { margin: 0 0 7px; font-size: 23px; line-height: 1.25; }
.vehicle-card__body > p { margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.vehicle-card__diagnostics { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; }
.vehicle-card__diagnostics strong { color: var(--red); font-size: 16px; }
.vehicle-card__link { font-size: 14px; }
.vehicle-card a:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 1100px) {
  .vehicle-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vehicle-catalog__heading { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 600px) {
  .vehicle-catalog { scroll-margin-top: 96px; }
  .vehicle-catalog__grid { grid-template-columns: 1fr; gap: 20px; }
  .vehicle-catalog__intro { font-size: 15px; margin: 16px 0 26px; }
  .vehicle-card__body { padding: 22px; }
  .vehicle-card__body h3 { font-size: 22px; }
}
.footer-legal { padding-bottom: 24px; font-size: 14px; line-height: 1.6; }
.contact-grid--own { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }

/* Real source photographs and versioned studio derivatives; originals remain in project materials. */
.real-photo { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.phone-booking { display: grid; gap: 12px; align-content: center; min-width: 0; }
.phone-booking .button { gap: 10px; flex-wrap: wrap; }
.phone-booking__number { display: block; margin-top: 5px; white-space: nowrap; }
.phone-booking p { margin: 0; }
.phone-booking__note { font-size: 14px; line-height: 1.5; }
.form-privacy { grid-column: 1 / -1; margin: 0; font-size: 13px; line-height: 1.5; }
.form-consent a, .form-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.real-photo__frame { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--light); }
.real-photo__frame > img, .real-photo__surface > img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Display only the lower source region, including in taller gallery frames. */
.real-photo__frame--cropped > img, .real-photo__frame--cropped > .real-photo__surface > img { position: absolute; left: 0; bottom: 0; height: var(--photo-crop-height); max-width: none; }
.real-photo__frame--contain { background: #fff; }
.real-photo__frame--contain > img { object-fit: contain; padding: 14px; }
.real-photo__frame--contain > .real-photo__surface > img { object-fit: contain; }
/* One neutral studio surface for all technical parts; scene photos retain their own photographic frame. */
.real-photo__frame--studio {
  --studio-inset: clamp(14px, 3.5%, 26px);
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 30%, #fff 0%, rgba(255, 255, 255, .86) 35%, rgba(255, 255, 255, 0) 76%),
    linear-gradient(165deg, #f8f8f8 0%, #f0f1f2 65%, #e7e8ea 100%);
}
.real-photo__frame--studio > img {
  position: relative; z-index: 1;
  padding: var(--studio-inset);
  mix-blend-mode: multiply;
}
.real-photo__frame--studio.real-photo__frame--transparent > img { mix-blend-mode: normal; }
.real-photo__surface {
  position: absolute; inset: var(--studio-inset); overflow: hidden;
  border-radius: 12px; background: #fff;
  box-shadow: 0 10px 24px rgba(37, 48, 64, .14), 0 2px 6px rgba(37, 48, 64, .06);
}
.real-photo__shadow {
  position: absolute; inset: 0; width: 100%; height: 100%;
  padding: var(--studio-inset); pointer-events: none;
  fill: #17191d; opacity: .16; filter: blur(10px);
}
.real-photo figcaption { padding: 14px 18px; font-size: 16px; line-height: 1.4; font-weight: 650; }
.real-photo--hero { box-shadow: var(--shadow); }

/* Licensed photographs replace the large decorative card illustrations. */
.category-card__visual--photo, .service-index-card__visual--photo {
  display: block; padding: 0; height: 160px; min-height: 160px; background: var(--light);
}
.category-card__visual--photo::after, .service-index-card__visual--photo::after { display: none; }
.service-card__visual--photo { display: block; position: relative; overflow: hidden; padding: 0; height: 150px; }
.category-card__visual--photo > .real-photo__frame,
.service-card__visual--photo > .real-photo__frame,
.service-index-card__visual--photo > .real-photo__frame { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.category-card__visual--photo .category-card__code, .category-card__visual--photo .category-card__index {
  position: absolute; top: 12px; z-index: 1; padding: 5px 8px; border-radius: 6px;
  background: rgba(14,15,18,.78); color: #fff;
}
.category-card__visual--photo .category-card__code { left: 12px; }
.category-card__visual--photo .category-card__index { right: 12px; }
.service-index-card__visual--photo .service-index-card__meta { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 1; }
.service-index-card .service-index-card__visual--photo .service-index-card__meta :is(strong, small) {
  color: #fff; background: rgba(14,15,18,.78); padding: 5px 8px; border-radius: 6px;
}
.photo-credits { margin-top: 28px; color: #b9bcc2; font-size: 12px; line-height: 1.6; }
.photo-credits summary { width: fit-content; cursor: pointer; }
.photo-credits ul { margin: 14px 0 10px; padding-left: 20px; }
.photo-credits li + li { margin-top: 5px; }
.photo-credits a { text-decoration: underline; text-underline-offset: 3px; }
.photo-credits p { margin-bottom: 0; }
.real-photo--hero.real-photo--clutch { width: 100%; margin-inline: auto; }
.real-photo--clutch .real-photo__frame { aspect-ratio: 4 / 3; }
.real-photo--workshop .real-photo__frame { aspect-ratio: 1280 / 577; }
/* The useful area of this supplied screenshot is y=418..862, at 592px wide.
   Preserve all photographic pixels (including the source watermark), hide phone UI. */
.real-photo__frame--screenshot { aspect-ratio: 592 / 444; }
.real-photo__frame--screenshot > .real-photo__surface { top: 50%; bottom: auto; aspect-ratio: 592 / 444; transform: translateY(-50%); }
.real-photo__frame--screenshot > img, .real-photo__frame--screenshot > .real-photo__surface > img { position: absolute; inset: auto; top: 0; left: 0; width: 100%; height: auto; max-width: none; transform: translateY(-32.65625%); }
.about-team-photo { min-width: 0; }
.about-team-photo > p { margin: 12px 0 0; color: var(--muted); font-size: 14px; }
.team-gallery { background: var(--light); }
.team-gallery__grid { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); gap: 24px; align-items: stretch; }
.team-gallery__details { display: grid; gap: 24px; }
.team-gallery__parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.real-photo--portrait { display: flex; flex-direction: column; }
.real-photo--portrait .real-photo__frame { flex: 1; aspect-ratio: 3 / 4; }
.real-photo--portrait figcaption { flex: none; }
.team-gallery__parts .real-photo { height: 100%; display: flex; flex-direction: column; }
.team-gallery__parts .real-photo figcaption { margin-top: auto; }
.team-gallery__parts .real-photo--mechatronic { background: var(--white); }
.team-gallery__parts .real-photo--mechatronic figcaption { background: var(--white); }
@media (max-width: 767px) {
  .team-gallery__grid { grid-template-columns: 1fr; gap: 18px; }
  .team-gallery__details { gap: 18px; }
  .team-gallery__parts { gap: 12px; }
  .real-photo figcaption { padding: 12px 14px; font-size: 14px; }
  .real-photo--portrait .real-photo__frame { aspect-ratio: 3 / 4; }
}
@media (max-width: 420px) {
  .team-gallery__parts { grid-template-columns: 1fr; gap: 18px; }
}

.workshop-concept-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.workshop-concept-grid figure { margin: 0; min-width: 0; }
.workshop-concept-grid img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.workshop-concept-grid figcaption { margin-top: 12px; font-weight: 600; }
@media (max-width: 760px) { .workshop-concept-grid { grid-template-columns: 1fr; gap: 24px; } }

.home-brand-visual--emblem .brand-hero__logo { width: 100%; height: auto; object-position: center; }
.service-arrangement-note { max-width: 900px; margin: 0 0 24px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.executor-details--compact { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }

#akpp-cvt, #akpp, #cvt { scroll-margin-top: var(--anchor-offset); }

/* Work prices keep their scope visible beside the starting amount. */
.price-scope { display: block; max-width: 620px; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; font-weight: 400; }
.automatic-service-price strong { color: var(--red); font-size: 24px; }
.automatic-service-price small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
@media (max-width: 600px) {
  .price-table-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 16px; }
  .price-table-row > .inline-icon { display: none; }
  .price-table-row > span, .price-row > strong { white-space: nowrap; }
  .price-row { gap: 12px; }
}

/* Owner-directed service priorities, grouped car selection and flywheel feature. */
.hero-specialization { margin: 20px 0 0; max-width: 620px; font-size: clamp(17px,1.7vw,24px); line-height: 1.45; font-weight: 750; }
.vehicle-directions { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 40px; }
.vehicle-directions a,.vehicle-family__codes a { display:inline-flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; font-weight:700; background:#fff; }
.vehicle-directions a:hover,.vehicle-family__codes a:hover { border-color:var(--red); color:var(--red); }
.vehicle-directions small { color:var(--red); }
.vehicle-family { padding-top:28px; margin-top:28px; border-top:1px solid var(--line); scroll-margin-top:115px; }
.vehicle-family__heading h3 { margin:0 0 10px; font-size:clamp(25px,3vw,36px); }
.vehicle-family__heading p { color:var(--muted); max-width:840px; }
.vehicle-family__codes { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 24px; }
.vehicle-family__codes a { padding:8px 12px; font-size:13px; }
.vehicle-family__codes .inline-icon { width:14px; height:14px; }
.flywheel-teaser { padding-top:0; }
.flywheel-teaser__card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); align-items:center; gap:42px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#f7f8fa; }
.flywheel-teaser__card h2 { margin:0 0 18px; font-size:clamp(26px,3vw,42px); }
.flywheel-teaser__card p { color:var(--muted); }
.flywheel-teaser__card .eyebrow { color:var(--red); }
.flywheel-teaser__card .text-link { margin-top:22px; }
.flywheel-teaser__image { min-width:0; }
@media(max-width:600px) { .flywheel-teaser__card { grid-template-columns:1fr; gap:22px; padding:22px; } .vehicle-directions { gap:8px; } .vehicle-directions a { font-size:13px; padding:10px 12px; } .vehicle-family { scroll-margin-top:95px; } }

/* Owner update 03.11: assistance, accurate part captions and priority marques. */
.towing-banner { margin:28px 0 14px; scroll-margin-top:115px; }
.towing-banner__card { display:flex; align-items:center; gap:24px; padding:26px 30px; border-radius:var(--radius); background:#15161a; color:#fff; }
.towing-banner__icon { flex:0 0 64px; width:64px; height:64px; display:grid; place-items:center; border:1px solid #a92a36; border-radius:16px; background:#e60019; }
.towing-banner__icon svg { width:38px; height:38px; }
.towing-banner__copy { flex:1; min-width:0; }
.towing-banner__copy h2 { font-size:clamp(23px,2.5vw,32px); margin:0 0 5px; }
.towing-banner__copy strong { font-size:15px; color:#fff; }
.towing-banner__copy p { max-width:700px; margin:8px 0 0; font-size:14px; line-height:1.6; color:#d1d3d8; }
.towing-banner .button { flex:none; }
.real-photo__detail { display:block; margin-top:6px; font-size:13px; font-weight:400; color:var(--muted); }
.real-photo__link { display:inline-block; margin-top:9px; font-size:14px; color:var(--red); text-decoration:underline; text-underline-offset:3px; }
.board-repair { scroll-margin-top:110px; }
.board-repair__card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:40px; align-items:center; border:1px solid var(--line); border-radius:var(--radius); padding:28px; background:#f7f8fa; }
.board-repair__photo { min-width:0; }
.board-repair__copy .section-heading h2 { font-size:clamp(26px,3vw,38px); }
.board-repair__copy ul { padding-left:20px; line-height:1.7; }
.board-repair__price { font-size:14px; color:var(--muted); }
.priority-brands { margin:24px 0 30px; }
.priority-brands__heading h4 { margin:0 0 8px; font-size:22px; }
.priority-brands__heading p { max-width:850px; color:var(--muted); font-size:14px; }
.priority-brands__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.priority-brand { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #23242a; border-radius:16px; background:#121318; color:#fff; transition:border-color .2s,box-shadow .2s; }
.priority-brand__media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); height:220px; gap:3px; background:#121318; }
.priority-brand__media--1 { grid-template-columns:1fr; }
.priority-brand__media--3,.priority-brand__media--4 { grid-template-rows:repeat(2,minmax(0,1fr)); }
.priority-brand__media--3 .priority-brand__panel:last-child { grid-column:1/-1; }
.priority-brand__panel { position:relative; display:flex; justify-content:center; min-width:0; min-height:0; overflow:hidden; background:radial-gradient(ellipse at 50% 60%,#fff 5%,#edf0f2 90%); }
.priority-brand__panel:nth-child(even) { background:radial-gradient(ellipse at 50% 60%,#fff 5%,#e5e9ec 90%); }
.priority-brand__panel img { display:block; width:100%; height:100%; padding:17px 5px 0; object-fit:contain; }
.priority-brand__media--3 .priority-brand__panel:last-child img { max-width:65%; }
.priority-brand__model-label { position:absolute; top:8px; left:10px; color:#4d535c; font-size:10px; line-height:1.1; font-weight:700; letter-spacing:.03em; }
.priority-brand__body { position:relative; display:flex; flex:1; flex-direction:column; align-items:flex-start; min-height:130px; padding:16px 42px 18px 20px; border-top:3px solid var(--red); }
.priority-brand strong { font-size:clamp(25px,3vw,32px); line-height:1.1; letter-spacing:-.04em; margin:5px 0 10px; }
.priority-brand__number { font-size:10px; color:#ff6877; letter-spacing:.12em; }
.priority-brand__models { font-size:13px; line-height:1.5; }
.priority-brand small { margin-top:8px; font-size:11px; line-height:1.5; color:#c4c7d0; }
.priority-brand__body>.inline-icon { position:absolute; right:20px; top:24px; color:#ff6877; width:20px; height:20px; }
.priority-brand:hover { border-color:var(--red); box-shadow:0 6px 20px #1213181a; }
.priority-brand:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.priority-brand__body { background:#121318; transition:background-color .2s; }
.priority-brand:is(:hover,:focus-visible) .priority-brand__body { background:var(--red); }
.priority-brand:is(:hover,:focus-visible) :is(.priority-brand__number,.inline-icon,small) { color:#fff; }
@media(max-width:1000px) { .priority-brands__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .priority-brands__grid { grid-template-columns:1fr; gap:14px; } .priority-brand__media { height:240px; } .priority-brand strong { font-size:28px; } .priority-brand__body { min-height:124px; } }
@media(max-width:900px) { .towing-banner__card { flex-wrap:wrap; } .towing-banner .button { margin-left:88px; } .board-repair__card { gap:24px; padding:22px; } }
@media(max-width:600px) { .towing-banner { margin:22px 0 8px; } .towing-banner__card { padding:22px; gap:16px; } .towing-banner__icon { flex-basis:48px; width:48px; height:48px; border-radius:12px; } .towing-banner__icon svg { width:30px; height:30px; } .towing-banner__copy { flex-basis:calc(100% - 64px); } .towing-banner__copy h2 { font-size:23px; } .towing-banner__copy strong { font-size:13px; } .towing-banner__copy p { font-size:13px; } .towing-banner .button { margin:0; width:100%; } .board-repair__card { grid-template-columns:1fr; } }

/* Original owner photographs retain their complete portrait frame. */
.workshop-real-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.workshop-real-grid figure { margin:0; min-width:0; }
.workshop-photo-link { display:block; border-radius:16px; overflow:hidden; background:#18191d; }
.workshop-photo-link img { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; }
.workshop-photo-link:hover { outline:2px solid var(--red); outline-offset:3px; }
.workshop-photo-link:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.workshop-real-grid figcaption { margin-top:13px; font-size:15px; line-height:1.45; font-weight:650; }
@media(max-width:1000px) { .workshop-real-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; } }
@media(max-width:480px) { .workshop-real-grid { gap:20px 12px; } .workshop-photo-link { border-radius:12px; } .workshop-real-grid figcaption { font-size:13px; margin-top:10px; } }

/* Enlarge the existing home emblem toward the adjacent copy without cropping it. */
@media (min-width: 1025px) {
  .hero--home .hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; }
  .hero--home .home-brand-visual--emblem { width: calc(100% + 32px); margin-left: -16px; max-width: none; }
}


/* Fast callback path immediately after the towing offer. */
.quick-select { margin:24px 0 12px; scroll-margin-top:var(--anchor-offset); }
.quick-select__panel { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; padding:34px 38px; border-radius:20px; background:#121318; color:#fff; border-top:4px solid var(--red); }
.quick-select__copy .eyebrow { margin:0 0 10px; color:#ff6877; }
.quick-select__copy h2 { margin:0 0 12px; font-size:clamp(27px,3vw,38px); line-height:1.12; }
.quick-select__copy>p:not(.eyebrow) { color:#c8cbd0; margin:0 0 18px; font-size:15px; }
.quick-select__phone { display:block; width:fit-content; font-size:20px; font-weight:800; margin-bottom:4px; }
.quick-select__copy small { color:#b4b9c2; font-size:12px; }
.quick-select__fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.quick-select__fields label { display:grid; gap:7px; color:#dce0e6; font-size:13px; }
.quick-select select { width:100%; min-width:0; height:52px; padding:0 32px 0 13px; font:inherit; font-size:14px; color:var(--text); background:#fff; border:1px solid var(--line); border-radius:9px; }
.quick-select select:disabled { color:#8d929b; background:#eceef1; }
.quick-select select:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.quick-select__result { min-height:42px; margin:12px 0; font-size:12px; line-height:1.5; color:#c8cbd0; }
.quick-select__actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.quick-select__actions .button { min-width:0; padding-inline:12px; }
.quick-select__callback { grid-template-columns:1fr auto; margin-top:18px; padding-top:18px; border-top:1px solid #34363f; }
.quick-select__callback[hidden] { display:none; }
.quick-select__callback .form-privacy { grid-column:1/-1; margin:0; color:#c8cbd0; font-size:11px; }
.quick-select__callback .form-status { margin:0; }
.mobile-contact-bar { display:none; }
@media(max-width:900px) { .quick-select__panel { grid-template-columns:1fr; gap:24px; padding:28px; } }
@media(max-width:767px) {
  .has-mobile-contact { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
  .mobile-contact-bar { position:fixed; z-index:44; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1.15fr; gap:10px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--line); box-shadow:0 -4px 24px #12131814; }
  .mobile-contact-bar .button { min-height:48px; padding:10px; font-size:13px; }
  .toast { bottom:calc(88px + env(safe-area-inset-bottom)); }
  body:has([data-lead-form] input:focus) .mobile-contact-bar { display:none; }
}
@media(max-width:480px) {
  .quick-select__panel { padding:24px 18px; gap:22px; }
  .quick-select__copy h2 { font-size:28px; }
  .quick-select__fields { grid-template-columns:1fr; }
  .quick-select__actions .button { font-size:13px; }
  .quick-select__callback { grid-template-columns:1fr; }
}

/* Gearbox-specific vehicle lists: retain the approved card design. */
.vehicle-card { display: flex; flex-direction: column; }
.vehicle-card__body { display: flex; flex: 1; flex-direction: column; }
.vehicle-card__media--mirror img { transform: scaleX(-1); }
.vehicle-card__years { display: block; margin-bottom: 12px; color: var(--muted); font-size: 12px; }
.vehicle-card__body > p { flex: 1; }
.vehicle-card__actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.vehicle-card__call { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 750; }
.vehicle-card__call:hover { color: var(--red); }
.vehicle-family__codes a[aria-current="page"] { color: #fff; background: var(--red); border-color: var(--red); }
.vehicle-family__codes a:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.vehicle-catalog__help { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px; margin-top: 28px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #f6f7f9; }
.vehicle-catalog__help strong { font-size: 20px; }
.vehicle-catalog__help p { margin: 9px 0 0; color: var(--muted); }
@media (max-width: 600px) {
  .vehicle-catalog__help { padding: 22px; }
  .vehicle-catalog__help .button { width: 100%; }
}
