/* Route-scoped presentation for ECU/module and organic A/C service surfaces. */
section.tech-service-hero,
section.tech-request-hero,
section.tech-receipt-hero { background: var(--charcoal); color: var(--white); padding: 42px 0 38px; }
.tech-service-hero h1,
.tech-request-hero h1,
.tech-receipt-hero h1 { max-width: 850px; color: var(--white); font-size: clamp(38px, 5vw, 64px); }
.tech-service-hero .eyebrow,
.tech-request-hero .eyebrow,
.tech-receipt-hero .eyebrow { color: var(--amber); font-family: var(--disp); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.tech-service-hero .crumb { margin-bottom: 18px; color: #d9dde2; }
.tech-service-hero .crumb a:hover { color: var(--amber); }
.tech-service-sub,
.tech-receipt-hero p:last-child { max-width: 760px; margin: 12px 0 0; color: #e5e8eb; font-size: 18px; }

/* The module hub uses the approved control-unit cluster as a free-standing
   service identifier. It deliberately has no card, border, halo or colored
   panel: the transparent object sits directly in the dark hero field. */
.tech-service-module-hero { overflow: hidden; }
.tech-service-hero-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: clamp(26px, 4vw, 56px); align-items: center; }
.tech-service-hero-copy { position: relative; z-index: 1; min-width: 0; }
.tech-service-hero-art { display: flex; align-items: center; justify-content: center; min-width: 0; margin: -30px 0 -28px; border: 0; background: none; box-shadow: none; }
.tech-service-hero-art::before,
.tech-service-hero-art::after { content: none; }
.tech-service-hero-art img { display: block; width: 154%; max-width: none; height: auto; transform: translateX(-13%); filter: drop-shadow(0 24px 20px rgba(0,0,0,.34)); }

.tech-service-content { padding: 52px 0; }
.tech-service-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 54px; align-items: start; }
.tech-service-intro { margin-bottom: 34px; padding-bottom: 22px; border-bottom: 2px solid var(--amber); font-size: 17px; }
.tech-service-topic { margin: 0 0 34px; }
.tech-service-topic h2 { font-size: 28px; }
.tech-service-topic ul { padding-left: 22px; }
.tech-service-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.tech-service-option { padding: 20px; border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 6px; background: var(--paper); }
.tech-service-option h3 { margin: 0 0 10px; font-family: var(--disp); font-size: 21px; letter-spacing: .025em; text-transform: uppercase; }
.tech-service-option p:last-child { margin-bottom: 0; }
.tech-service-process-topic { margin-bottom: 42px; }
.tech-service-process-layout { display: grid; grid-template-columns: minmax(235px, .76fr) minmax(0, 1.24fr); gap: clamp(18px, 2.5vw, 26px); align-items: start; margin-top: 16px; }
.tech-service-process-photo { overflow: hidden; min-width: 0; margin: 0; aspect-ratio: 4 / 5; border-radius: 8px; background: var(--charcoal); }
.tech-service-process-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 50%; }
.tech-service-process-copy { min-width: 0; }
.tech-service-process-copy p:last-child { margin-bottom: 0; }

/* Approved transparent cutouts each clarify one nearby decision.  The
   light band, amber halo and controlled bleed echo the homepage module feature
   without turning the service pages into a gallery or implying documentary
   shop photography. */
.tech-service-visual-topic,
.service-editorial-visual-topic,
.ac-service-visual-topic { overflow: hidden; position: relative; padding: clamp(23px, 3vw, 32px); border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(108deg, var(--soft), var(--cream)); isolation: isolate; }
.tech-service-visual-topic { margin-bottom: 42px; }
.tech-service-visual-head,
.service-editorial-visual-topic,
.ac-service-visual-topic { display: grid; grid-template-columns: minmax(0, .9fr) minmax(250px, 1.1fr); gap: clamp(14px, 3vw, 30px); align-items: center; }
.tech-service-visual-copy,
.ac-service-visual-copy { position: relative; z-index: 2; min-width: 0; }
.tech-service-visual-copy h2,
.ac-service-visual-copy h2 { margin-top: 0; }
.tech-service-visual-topic .tech-service-comparison { position: relative; z-index: 2; margin-top: 16px; }
.tech-service-single-option .tech-service-visual-copy { max-width: 48ch; }
.tech-service-single-option .tech-service-comparison { grid-template-columns: 1fr; }
.tech-service-single-option .tech-service-option { padding: 17px 18px; }
.tech-service-visual-topic .tech-service-option { background: rgba(255,255,255,.82); }
.service-cutout-art { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; margin: 0; isolation: isolate; }
.service-cutout-art::before { content: ""; position: absolute; z-index: -1; right: 0; width: 78%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255,176,32,.2) 0 27%, rgba(255,176,32,.08) 48%, transparent 72%); }
.service-cutout-art img { display: block; width: 140%; max-width: none; height: auto; filter: drop-shadow(0 22px 18px rgba(17,24,32,.24)); transform: translateX(-8%); }
.tech-service-module-art img { width: 150%; transform: translateX(-14%); }
.tech-service-audi-art img { width: 138%; transform: translateX(-5%); }
.service-editorial-visual-topic { margin-top: 42px; }
.ac-service-visual-topic { margin-top: 42px; }
.ac-system-components-art img { width: min(560px, 136vw); transform: translateX(-10%); }
.timing-chain-cutout-art img { width: 160%; transform: translateX(-14%); }
.starting-charging-cutout-art img { width: 180%; transform: translateX(-23%); }
.suspension-cutout-art img { width: 210%; transform: translateX(-27%); }
.transmission-mechatronic-cutout-art img { width: 170%; transform: translateX(-18%); }
.transmission-mechatronic-topic { margin-top: 34px; }
.transmission-mechatronic-topic p { margin: 0; color: #353d45; font-size: 16px; line-height: 1.65; }

/* R35 selective organic illustration system. These compositions belong to
   exact customer-decision seams, not generic decoration. Distinct framing
   keeps the pages related without repeating one component-card formula. */
.r35-service-hero { overflow: hidden; }
.r35-service-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: center;
  min-height: 250px;
}
.r35-service-hero-copy { position: relative; z-index: 2; min-width: 0; }
.r35-service-hero-art {
  position: relative;
  min-width: 0;
  height: 245px;
  margin: -26px -24px -26px 0;
}
.r35-service-hero-art img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 158%;
  max-width: none;
  height: auto;
  filter: drop-shadow(0 24px 20px rgba(0, 0, 0, .38));
  transform: translate(-57%, -51%);
}

.r35-editorial-visual {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(245px, .92fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: center;
  overflow: hidden;
  margin-top: 42px;
}
.r35-editorial-copy { position: relative; z-index: 2; min-width: 0; }
.r35-editorial-art {
  position: relative;
  min-width: 0;
  min-height: 235px;
  margin: 0;
  isolation: isolate;
}
.r35-editorial-art::before,
.r35-diagnostics-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 51%;
  width: 82%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 176, 32, .18) 0 26%, rgba(255, 176, 32, .07) 49%, transparent 73%);
  transform: translate(-50%, -50%);
}
.r35-editorial-art img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 175%;
  max-width: none;
  height: auto;
  filter: drop-shadow(0 20px 17px rgba(17, 24, 32, .23));
  transform: translate(-60%, -50%);
}
.r35-layout-panel {
  padding: clamp(23px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(108deg, var(--soft), var(--cream));
}
.r35-layout-open {
  grid-template-columns: minmax(230px, .88fr) minmax(0, 1.12fr);
  padding: 29px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.r35-layout-reverse .r35-editorial-copy { order: 2; }
.r35-layout-reverse .r35-editorial-art { order: 1; }
.r35-layout-rule {
  padding: 27px 25px 27px 29px;
  border-left: 5px solid var(--amber);
  background: linear-gradient(100deg, var(--paper), var(--white));
  box-shadow: 0 9px 28px rgba(17, 24, 32, .07);
}
.r35-layout-inspection {
  grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr);
  padding: 30px 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line);
}
.r35-layout-inspection .r35-editorial-copy { order: 2; }
.r35-layout-inspection .r35-editorial-art { order: 1; }
.r35-layout-oil {
  grid-template-columns: minmax(0, 1.16fr) minmax(235px, .84fr);
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid var(--line);
  border-top: 5px solid var(--amber);
  border-radius: 9px;
  background: var(--paper);
}
.r35-layout-oil.ac-service-services { margin-top: 48px; }
.r35-cooling-art img { width: 170%; transform: translate(-58%, -50%); }
.r35-timing-belt-art img { width: 170%; transform: translate(-59%, -50%); }
.r35-electrical-art img { width: 190%; transform: translate(-63%, -50%); }
.r35-oil-art img { width: 195%; transform: translate(-64%, -50%); }
.r35-inspection-art img { width: 180%; transform: translate(-61%, -50%); }

.r35-decision-visual {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  overflow: visible;
  padding: clamp(34px, 5vw, 54px) 0 clamp(28px, 4vw, 44px);
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
}
.r35-brake-art { min-height: clamp(320px, 31vw, 410px); }
.r35-brake-art::before { content: none; }
.r35-brake-art img { width: 188%; transform: translate(-67.5%, -50%); }

/* Organic service, vehicle and resource details share one left safe-zone and
   naturally sized support cards. Long-form copy remains readable at 760px,
   while deliberate visual splits can use the full wrap. Paid landers use a
   separate shell and never load this stylesheet. */
.service-detail-content.decision-service .decision-main {
  max-width: none;
  margin-inline: 0;
}
.decision-service .decision-intro,
.decision-service .decision-safety,
.decision-service .decision-start,
.decision-service .decision-step:not(.r35-decision-visual),
.decision-service .decision-close { max-width: 760px; }
.service-detail-content,
.brand-detail-content,
.article-detail-content { padding-bottom: clamp(42px, 5vw, 64px); }
.service-detail-content .side,
.brand-detail-content .side,
.article-detail-content .side {
  align-content: start;
  align-items: start;
}
.service-detail-content .sidebox,
.brand-detail-content .sidebox,
.article-detail-content .sidebox {
  align-self: start;
  height: auto;
  margin-bottom: 0;
}
.service-detail-content .sidebox .b { flex: none; }

.r35-diagnostics-clarifies {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: center;
  overflow: hidden;
}
.r35-diagnostics-copy { min-width: 0; }
.r35-diagnostics-art {
  position: relative;
  min-width: 0;
  height: 285px;
  margin: -18px 0;
  isolation: isolate;
}
.r35-diagnostics-art img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 168%;
  max-width: none;
  height: auto;
  filter: drop-shadow(0 22px 18px rgba(17, 24, 32, .23));
  transform: translate(-61%, -50%);
}

@media (max-width: 900px) {
  .r35-diagnostics-clarifies { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .r35-diagnostics-art { width: min(100%, 520px); height: 220px; margin: -5px auto -28px; }
}
@media (max-width: 840px) {
  .r35-service-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .r35-service-hero-art { width: min(100%, 560px); height: 190px; margin: -8px auto -29px; }
  .r35-service-hero-art img { width: 165%; transform: translate(-58%, -50%); }
}
@media (max-width: 760px) {
  .ac-service-content > .wrap { padding-inline: 24px; }
  .r35-editorial-visual,
  .r35-layout-open,
  .r35-layout-inspection,
  .r35-layout-oil,
  .r35-decision-visual { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .r35-layout-panel,
  .r35-layout-rule,
  .r35-layout-oil { padding: 22px 19px; }
  .r35-layout-open,
  .r35-layout-inspection { padding: 24px 0; }
  .r35-layout-reverse .r35-editorial-copy,
  .r35-layout-inspection .r35-editorial-copy { order: 1; }
  .r35-layout-reverse .r35-editorial-art,
  .r35-layout-inspection .r35-editorial-art { order: 2; }
  .r35-editorial-art { width: min(100%, 430px); min-height: 190px; margin: -8px auto -18px; }
  .r35-decision-visual { gap: 8px; padding: 28px 0 22px; }
  .r35-brake-art { min-height: min(74vw, 320px); margin: 0 auto; }
  .r35-brake-art img { width: 155%; transform: translate(-64%, -50%); }
  .r35-diagnostics-art { height: 190px; }
}
.tech-service-aside { position: sticky; top: 24px; }
.tech-service-feature-card { border: 1px solid var(--line); border-top: 6px solid var(--amber); border-radius: 8px; padding: 26px; background: var(--paper); box-shadow: 0 16px 38px rgba(13,18,24,.09); }
.tech-service-feature-card h2 { font-size: 28px; }
.tech-service-feature-card ul { display: grid; gap: 11px; margin: 18px 0; padding: 0; list-style: none; }
.tech-service-feature-card li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
.tech-service-feature-card li span { color: var(--ok); font-weight: 800; }
.tech-service-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.tech-service-actions .btn,
.tech-service-actions .btn-ghost,
.tech-service-actions .btn-whatsapp { min-height: 48px; }
.btn-whatsapp { display: inline-flex; align-items: center; justify-content: center; padding: 11px 17px; border: 1px solid currentColor; border-radius: 4px; color: var(--ink); font-family: var(--disp); font-size: 13px; font-weight: 700; letter-spacing: .04em; line-height: 1.15; text-align: center; text-transform: uppercase; }
.btn-whatsapp:hover { border-color: var(--amber-dark); color: var(--amber-dark); }
.btn-whatsapp:focus-visible { outline: 3px solid rgba(255,176,32,.48); outline-offset: 3px; }
.tech-related { padding: 48px 0; background: var(--paper-alt); }
.tech-related h2 { font-size: 34px; }
.tech-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.tech-related-card { display: grid; gap: 8px; min-height: 150px; padding: 20px; border: 1px solid var(--line); border-top: 4px solid var(--amber); border-radius: 6px; background: var(--white); }
.tech-related-card strong { font-family: var(--disp); font-size: 20px; text-transform: uppercase; }
.tech-related-card span { color: var(--muted); font-size: 13.5px; }
.tech-related-card:hover { border-color: var(--amber); box-shadow: 0 9px 24px rgba(0,0,0,.07); }
section.tech-service-close { padding: 42px 0; background: var(--charcoal); color: var(--white); }
.tech-service-close > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.tech-service-close h2 { color: var(--white); font-size: 34px; }
.tech-service-close p { max-width: 720px; margin: 0; color: #e1e5e9; }
.tech-service-close .btn-ghost { border-color: var(--white); color: var(--white); }
.tech-service-close .btn-ghost:hover { border-color: var(--amber); color: var(--ink); background: var(--amber); }

.home-technical-note { max-width: 820px; margin: 24px auto 0; padding: 14px 18px; border-left: 4px solid var(--amber); background: var(--paper); text-align: left; }
.home-technical-note p { margin: 0; }
.home-technical-note a,
.technical-context-note a { color: var(--amber-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.brand-technical { border-left: 4px solid var(--amber); padding-left: 20px; }

.tech-request-page,
.tech-receipt-page { padding: 48px 0 64px; background: var(--paper-alt); }
.tech-request-shell,
.tech-receipt-shell { max-width: 900px; margin: 0 auto; border: 1px solid var(--line); border-top: 7px solid var(--amber); border-radius: 10px; background: var(--white); box-shadow: 0 22px 50px rgba(13,18,24,.12); overflow: hidden; }
.tech-request-intro { max-width: 820px; margin-top: 18px; }
.tech-privacy-note { color: #d8dde2; font-size: 14px; }
.tech-request-form { display: grid; gap: 0; }
.tech-request-form fieldset { min-width: 0; margin: 0; padding: 20px 30px 22px; border: 0; border-bottom: 1px solid var(--line); }
.tech-request-form fieldset[hidden] { display: none; }
.tech-request-form legend { width: 100%; padding: 0; color: var(--ink); font-family: var(--disp); font-size: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tech-request-form legend + .tech-field-grid { margin-top: 0; }
.tech-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.tech-field-wide { grid-column: 1 / -1; }
.tech-field { min-width: 0; }
.tech-field label,
.tech-check { display: block; margin-bottom: 5px; color: var(--ink); font-size: 13.5px; font-weight: 700; }
.tech-field input,
.tech-field select,
.tech-field textarea { width: 100%; min-height: 48px; padding: 10px 12px; border: 1.5px solid var(--line); border-radius: 6px; background: #fcfbf7; color: var(--ink); font: inherit; font-size: 16px; }
.tech-field textarea { min-height: 92px; resize: vertical; }
.tech-field input:focus,
.tech-field select:focus,
.tech-field textarea:focus { border-color: var(--ink); background: var(--white); outline: 3px solid rgba(255,176,32,.42); outline-offset: 1px; }
.tech-field [aria-invalid="true"] { border-color: var(--red); }
.tech-error { display: block; margin-top: 5px; color: var(--red-700); font-size: 12.5px; font-weight: 700; line-height: 1.35; }
.tech-error:empty { display: none; }
.tech-help { margin: 5px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.tech-field > .tech-help + .tech-error { margin-top: 4px; }
.tech-inline-note { padding: 13px 15px; border-left: 4px solid var(--amber); background: var(--paper); font-size: 14px; }
.tech-inline-note p:last-child { margin-bottom: 0; }
.tech-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); line-height: 1.45; }
.tech-check input { width: 22px; height: 22px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--amber-600); }
.tech-final-fields { padding: 22px 30px 4px; }
.tech-error-summary { margin: 24px 30px 0; padding: 14px 16px; border: 2px solid var(--red); border-radius: 6px; background: #fff4f4; color: var(--red-700); font-weight: 700; }
.tech-form-state { margin: 10px 30px 0; color: var(--muted); font-weight: 600; }
.tech-request-form > .btn { width: calc(100% - 60px); min-height: 52px; margin: 14px 30px 30px; }
.tech-module-contact { display: flex; justify-content: center; margin: -16px 30px 30px; }
.tech-module-contact[hidden] { display: none; }
.tech-module-contact .btn-whatsapp { min-height: 48px; }
.tech-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.tech-noscript { margin: 0 30px 30px; padding: 14px; border-left: 4px solid var(--red); background: #fff4f4; }

.tech-receipt-shell { padding: 30px; }
.tech-receipt-shell h2 { font-size: 30px; }
.tech-receipt-shell dl { display: grid; grid-template-columns: minmax(150px, .45fr) 1fr; margin: 22px 0; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.tech-receipt-shell dt,
.tech-receipt-shell dd { margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.tech-receipt-shell dt { background: var(--paper); color: var(--muted); font-family: var(--disp); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tech-receipt-shell dd { overflow-wrap: anywhere; font-weight: 600; }
.tech-receipt-shell dt:last-of-type,
.tech-receipt-shell dd:last-of-type { border-bottom: 0; }
.tech-receipt-guidance { display: grid; gap: 12px; }
.tech-receipt-guidance p { margin: 0; }
.tech-receipt-guidance .tech-receipt-alert { padding: 14px 16px; border-left: 4px solid var(--amber); background: var(--paper); }

/* R30 home presentation is carried by this additive stylesheet because the
   accepted shared site.css remains intentionally frozen. Every selector is
   homepage-scoped, so technical and vehicle routes that also load this file
   retain their existing presentation. */
section.home-module-section { overflow: hidden; padding: clamp(56px, 6vw, 76px) 0; background: var(--charcoal); color: var(--white); }
.home-module-section .eyebrow { color: var(--amber); }
.home-module-section h2.title { color: var(--white); }
.home-module-section .lead { color: #f4f1ea; }
.home-module-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.home-module-copy { position: relative; z-index: 2; }
.home-module-copy .title { max-width: 23ch; margin-bottom: 10px; }
.home-module-copy .lead { max-width: 58ch; }
.home-module-cta { margin-top: 20px; }
.home-module-art { position: relative; display: flex; align-items: center; min-width: 0; margin: 0; isolation: isolate; }
.home-module-art::before { content: ""; position: absolute; z-index: -1; right: 3%; width: 72%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 241, 208, .18) 0 28%, rgba(255, 176, 32, .08) 48%, transparent 72%); }
.home-module-art img { display: block; width: 138%; max-width: none; height: auto; margin-left: -38%; filter: drop-shadow(0 24px 20px rgba(17, 24, 32, .25)); }
.home-module-section .home-module-cta .btn-ghost { min-height: 48px; border-color: var(--amber); color: var(--amber); }
.home-module-section .home-module-cta .btn-ghost:hover,
.home-module-section .home-module-cta .btn-ghost:focus-visible { background: var(--amber); color: var(--ink); }
.home-ac-promotion[data-surface] { background: var(--cream); }
section.home-ac-promotion { overflow: hidden; padding: clamp(28px, 3.4vw, 42px) 0; }
.home-ac-promotion-layout { display: grid; grid-template-columns: minmax(0, .98fr) minmax(300px, 1.02fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.home-ac-promotion-copy { position: relative; z-index: 2; min-width: 0; }
.home-ac-promotion-copy .title { max-width: 15ch; margin-bottom: 8px; font-size: clamp(27px, 3vw, 34px); }
.home-ac-promotion-price { margin: 0 0 8px; color: var(--ink); font-family: var(--disp); font-size: clamp(20px, 2.2vw, 27px); font-weight: 700; line-height: 1.1; }
.home-ac-promotion-body { max-width: 52ch; font-size: 15px; line-height: 1.45; }
.home-ac-promotion-terms { max-width: 54ch; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.home-ac-promotion-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.home-ac-promotion-actions .btn,
.home-ac-promotion-actions .btn-ghost { min-height: 48px; }
.home-ac-promotion-art { display: flex; align-items: center; justify-content: flex-end; max-width: 460px; min-width: 0; margin: 0 0 0 auto; }
.home-ac-promotion-art img { display: block; width: 100%; max-width: none; height: auto; filter: drop-shadow(0 18px 16px rgba(17, 24, 32, .17)); }
.home-checker-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(34px, 6vw, 78px); align-items: center; }
.home-checker-intro .title { max-width: 18ch; margin-bottom: 10px; }
.home-checker-intro .lead { max-width: 48ch; }
.home-checker-cta { margin-top: 20px; }
.home-symptom-step1 { max-width: none; margin: 0; }
.home-symptom-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.home-symptom-grid > .home-symptom-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 14px; border: 1px solid var(--line); border-left: 5px solid var(--amber); border-radius: 8px; background: var(--white); color: var(--ink); font-family: var(--disp); font-size: 14px; font-weight: 700; line-height: 1.15; text-decoration: none; text-transform: uppercase; letter-spacing: .03em; transition: border-color .14s, box-shadow .14s, transform .12s; }
.home-symptom-grid > .home-symptom-link:hover { border-color: var(--amber-dark); box-shadow: 0 8px 18px rgba(17, 24, 32, .08); transform: translateY(-1px); }
.home-symptom-grid > .home-symptom-link svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: var(--amber-dark); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Porsche and MINI have approved service pages but no dedicated approved
   carousel photography. These two cards stay text-first instead of repeating
   the generic shop image or inventing manufacturer artwork. */
.home-make-carousel-section .mkcard[data-make-card-kind="text"] { display: flex; flex-direction: column; justify-content: center; min-height: 156px; padding: 18px 16px; border-top: 4px solid var(--amber); background: linear-gradient(145deg, var(--white), var(--soft)); color: var(--ink); text-align: left; text-decoration: none; }
.home-make-carousel-section .home-make-text-kicker { color: var(--amber-dark); font-family: var(--disp); font-size: 12px; font-weight: 700; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.home-make-carousel-section .home-make-text-name { margin-top: 7px; font-family: var(--disp); font-size: 26px; font-weight: 700; letter-spacing: .02em; line-height: 1.05; text-transform: uppercase; }
.home-make-carousel-section .home-make-text-action { display: block; margin-top: 13px; padding: 0; color: var(--muted); font-family: var(--text); font-size: 12px; font-weight: 600; letter-spacing: 0; line-height: 1.3; text-align: left; text-transform: none; }
.home-make-carousel-section .mkcard[data-make-card-kind="text"]:hover .home-make-text-action { color: var(--amber-dark); }
.home-make-carousel-section .mkcard[data-make-card-kind="text"]:focus-visible { outline: 3px solid var(--amber-dark); outline-offset: 3px; }

@media (max-width: 900px) {
  .home-module-layout,
  .home-ac-promotion-layout,
  .home-checker-layout { grid-template-columns: 1fr; }
  section.home-module-section { padding: 48px 0 44px; }
  .home-module-layout { gap: 12px; }
  .home-module-copy,
  .home-ac-promotion-copy,
  .home-checker-intro { max-width: 680px; }
  .home-module-art { max-width: 660px; width: 100%; margin: 0 auto; }
  .home-ac-promotion-art { max-width: 340px; width: 100%; margin: 0 auto; }
  .home-checker-layout { gap: 28px; }
  .tech-service-layout { grid-template-columns: 1fr; gap: 28px; }
  .tech-service-aside { position: static; }
  .tech-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tech-service-close > .wrap { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 820px) {
  .tech-service-hero-layout { grid-template-columns: 1fr; gap: 6px; }
  .tech-service-hero-art { width: min(100%, 520px); margin: -8px auto -24px; }
  .tech-service-hero-art img { width: 135%; transform: translateX(-10%); }
}

@media (max-width: 700px) {
  .tech-service-process-layout { grid-template-columns: 1fr; gap: 16px; }
  .tech-service-process-photo { width: 100%; aspect-ratio: 16 / 10; }
  .tech-service-process-photo img { object-position: 62% 52%; }
  .tech-service-visual-head,
  .service-editorial-visual-topic,
  .ac-service-visual-topic { grid-template-columns: 1fr; gap: 8px; }
  .service-cutout-art { width: min(100%, 440px); margin: 2px auto -4px; }
  .service-cutout-art img,
  .tech-service-module-art img,
  .tech-service-audi-art img { width: 132%; transform: translateX(-3%); }
  .ac-system-components-art img { width: min(560px, 150vw); transform: translateX(-10%); }
  .timing-chain-cutout-art img { width: 160%; transform: translateX(-15%); }
  .starting-charging-cutout-art img { width: 180%; transform: translateX(-23%); }
  .suspension-cutout-art img { width: 210%; transform: translateX(-28%); }
  .transmission-mechatronic-cutout-art img { width: 170%; transform: translateX(-19%); }
}

@media (max-width: 620px) {
  section.home-module-section { padding: 42px 0 36px; }
  .home-module-art img { width: 132%; margin-left: -34%; }
  section.home-ac-promotion { padding: 28px 0; }
  .home-ac-promotion-layout { gap: 10px; }
  .home-ac-promotion-art { max-width: 300px; }
  .home-ac-promotion-actions { flex-direction: column; }
  .home-ac-promotion-actions .btn,
  .home-ac-promotion-actions .btn-ghost { width: 100%; }
  .home-symptom-grid { grid-template-columns: 1fr; gap: 10px; }
  .home-symptom-grid > .home-symptom-link { min-height: 52px; padding: 11px 13px; }
  .home-checker-cta .btn { width: 100%; }
  section.tech-service-hero,
  section.tech-request-hero,
  section.tech-receipt-hero { padding: 26px 0 24px; }
  .tech-service-hero h1,
  .tech-request-hero h1,
  .tech-receipt-hero h1 { font-size: 34px; }
  .tech-service-hero-art { margin: -2px auto -22px; }
  .tech-request-intro { margin-top: 12px; font-size: 15px; }
  .tech-request-intro p { margin-bottom: 10px; }
  .tech-privacy-note { font-size: 13px; }
  .tech-service-content,
  .tech-request-page,
  .tech-receipt-page { padding: 34px 0 46px; }
  .tech-service-visual-topic,
  .service-editorial-visual-topic,
  .ac-service-visual-topic { padding: 22px 18px 16px; border-radius: 8px; }
  .tech-service-visual-topic { margin-bottom: 36px; }
  .service-editorial-visual-topic,
  .ac-service-visual-topic { margin-top: 34px; }
  .tech-related-grid,
  .tech-service-comparison,
  .tech-field-grid { grid-template-columns: 1fr; }
  .tech-field-wide { grid-column: auto; }
  .tech-request-shell,
  .tech-receipt-shell { border-radius: 7px; }
  .tech-request-form fieldset { padding: 18px 18px 20px; }
  .tech-final-fields { padding: 18px 18px 4px; }
  .tech-error-summary { margin: 20px 20px 0; }
  .tech-form-state { margin: 10px 20px 0; }
  .tech-request-form > .btn { width: calc(100% - 40px); margin: 14px 20px 24px; }
  .tech-module-contact { margin: -10px 20px 24px; }
  .tech-module-contact .btn-whatsapp { width: 100%; }
  .tech-receipt-shell { padding: 22px 18px; }
  .tech-receipt-shell dl { grid-template-columns: 1fr; }
  .tech-receipt-shell dt { border-bottom: 0; padding-bottom: 4px; }
  .tech-receipt-shell dd { padding-top: 4px; }
  .tech-service-actions { flex-direction: column; width: 100%; }
  .tech-service-actions .btn,
  .tech-service-actions .btn-ghost,
  .tech-service-actions .btn-whatsapp { width: 100%; }
}

@media (max-width: 340px) {
  section.home-ac-promotion { padding: 24px 0; }
  .home-ac-promotion-art { max-width: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  .tech-related-card { transition: none; }
}

/* R36 owner-review refinements. The checker remains a light discovery band;
   the module anchor now owns the dark technical surface above it. */
.home-checker-section[data-surface] { background: var(--cream); }
.home-module-section[data-surface="dark"] { background: var(--charcoal); color: var(--white); }
.home-module-section { border-bottom: 0; }

.home-warranty-section { padding-block: clamp(34px, 4vw, 48px); background: var(--white); }
.home-warranty-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--line);
  border-top: 5px solid var(--amber);
  border-radius: 10px;
  background: linear-gradient(112deg, var(--paper), var(--white));
  color: var(--ink);
  text-align: left;
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(17, 24, 32, .07);
}
.home-warranty-card:hover { border-color: var(--amber-dark); transform: translateY(-1px); }
.home-warranty-card:focus-visible { outline: 3px solid rgba(255,176,32,.5); outline-offset: 3px; }
.home-warranty-badge {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--white);
  font-family: var(--disp);
  line-height: 1;
}
.home-warranty-badge strong { align-self: end; font-size: 34px; }
.home-warranty-badge small { align-self: start; margin-top: 2px; font-size: 11px; letter-spacing: .12em; }
.home-warranty-copy { display: grid; gap: 6px; min-width: 0; padding: 0; font-family: var(--text); text-align: left; text-transform: none; }
.home-warranty-copy .eyebrow { color: var(--amber-dark); font-family: var(--disp); font-size: 12px; letter-spacing: .1em; }
.home-warranty-title { font-family: var(--disp); font-size: clamp(25px, 3vw, 36px); line-height: 1.05; text-transform: uppercase; }
.home-warranty-copy > span:last-child { color: var(--muted); font-size: 15px; }
.home-warranty-action { padding: 0; color: var(--ink); font-family: var(--disp); font-size: 14px; font-weight: 700; letter-spacing: .04em; text-align: right; text-transform: uppercase; }
.home-warranty-action b { color: var(--amber-dark); font-size: 20px; }

.home-make-carousel-section .mkcard[data-make-card-kind="photo"] {
  display: grid;
  grid-template-rows: 132px minmax(52px, auto);
  min-height: 184px;
  color: var(--ink);
  text-decoration: none;
}
.home-make-carousel-section .mkcard[data-make-card-kind="photo"] img {
  width: 100%;
  height: 132px;
  object-fit: cover;
  object-position: center;
}
.home-make-carousel-section .mkcard[data-make-card-kind="photo"] > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  line-height: 1.1;
}

.svc .ph.svc-cutout-photo {
  background-color: var(--cream);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.relgrid .svc .ph.svc-cutout-photo { height: 128px; }

/* The scanner source is complete. Scale its transparent canvas so the object
   ends inside the illustration column instead of meeting a hard edge. */
.r35-diagnostics-clarifies { overflow: visible; }
.r35-diagnostics-art { height: 310px; overflow: visible; }
.r35-diagnostics-art img { width: 128%; transform: translate(-54%, -50%); }

/* The new European hero contains two complete cars on a wide transparent
   canvas. Keep both silhouettes visible at every breakpoint. */
.r35-service-hero-art { overflow: visible; }
.r35-service-hero-art img { width: 128%; transform: translate(-50%, -50%); }

.decision-safety > h2:first-child { margin-top: 0; }
.decision-service .sidebox[data-gz-contact-panel] .b > p,
.brand-detail-content .sidebox[data-gz-contact-panel] .b > p { margin: 0 0 8px; }
.decision-service .sidebox[data-gz-contact-panel] .b > p + p,
.brand-detail-content .sidebox[data-gz-contact-panel] .b > p + p { margin-top: 0; }
.decision-service .sidebox + .sidebox,
.brand-detail-content .sidebox + .sidebox { margin-top: 0; }

.brand-visual-break {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(290px, 1.1fr);
  gap: clamp(24px, 4vw, 50px);
  align-items: center;
  overflow: hidden;
  margin: clamp(36px, 5vw, 54px) 0;
  padding: clamp(28px, 4vw, 42px) 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line);
}
.brand-local-link { margin: -2px 0 18px; font-size: 14px; font-weight: 700; }
.brand-local-link a { color: var(--amber-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.brand-local-link span { margin-left: 3px; }
.contact-panel-actions { display: grid; gap: 9px; }
.contact-panel-actions .btn,
.contact-panel-actions .btn-ghost { width: 100%; min-height: 48px; }
.brand-visual-copy { position: relative; z-index: 2; min-width: 0; }
.brand-detail-main .brand-visual-copy h2 { margin: 6px 0 12px; font-size: clamp(25px, 2.6vw, 34px); }
.brand-visual-copy .eyebrow { margin: 0; color: var(--amber-dark); font-family: var(--disp); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.brand-visual-copy p:last-child { margin-bottom: 0; }
.brand-visual-art { position: relative; min-width: 0; min-height: 270px; margin: -24px -54px -24px 0; }
.brand-visual-art img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 172%;
  max-width: none;
  height: auto;
  filter: drop-shadow(0 22px 18px rgba(17,24,32,.22));
  transform: translate(-60%, -50%);
}
.brand-visual-starting .brand-visual-art img,
.brand-visual-electrical .brand-visual-art img { width: 186%; transform: translate(-63%, -50%); }
.brand-visual-modules .brand-visual-art img { width: 168%; transform: translate(-58%, -50%); }
.brand-visual-suspension .brand-visual-art img { width: 198%; transform: translate(-65%, -50%); }
.brand-detail-main .brand-topic h3 {
  margin-top: 30px;
  padding-left: 13px;
  border-left: 3px solid var(--amber);
  font-size: clamp(19px, 2vw, 22px);
}
.brand-topic-groups { margin: 20px 0 4px; border-top: 1px solid var(--line); }
.brand-topic-group { border-bottom: 1px solid var(--line); }
.brand-topic-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 58px;
  padding: 14px 2px;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--disp);
  font-size: clamp(17px, 1.8vw, 20px);
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.2;
  list-style: none;
  text-transform: uppercase;
}
.brand-topic-group summary::-webkit-details-marker { display: none; }
.brand-topic-group summary::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--amber-dark);
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}
.brand-topic-group[open] summary::after { content: "\2212"; }
.brand-topic-group summary:hover { color: var(--amber-dark); }
.brand-topic-group summary:focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
  border-radius: 2px;
}
.brand-topic-group-body { padding: 2px 2px 20px; }
.brand-topic-group-body > :first-child { margin-top: 0; }
.brand-topic-group-body > :last-child { margin-bottom: 0; }
.brand-proof-card img { height: 190px; }
.brand-proof-card .b { display: grid; gap: 12px; }
.brand-proof-card .b p { margin: 0; }
.brand-proof-warranty { padding-top: 12px; border-top: 1px solid var(--line); }
.brand-proof-link { color: var(--amber-dark); font-family: var(--disp); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
section.brand-booking[data-surface] { padding: clamp(34px, 5vw, 54px) 0; background: var(--charcoal); color: var(--white); }
.brand-booking-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; }
.brand-booking .eyebrow { margin: 0 0 6px; color: var(--amber); font-family: var(--disp); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.brand-booking h2 { margin: 0 0 8px; color: var(--white); font-size: clamp(28px, 3.2vw, 40px); }
.brand-booking p:last-child { max-width: 730px; margin: 0; color: #dfe3e7; }
.brand-booking .btn { min-width: 190px; }

.tech-service-module-hero { padding-block: 32px 28px; }
.tech-service-module-hero h1 { max-width: 720px; font-size: clamp(36px, 4.25vw, 56px); }
/* Keep the dedicated intake action visible before a long mobile subtitle.
   Desktop retains the usual copy-then-action editorial order. */
@media (max-width: 700px) {
  .tech-service-module-hero .tech-service-hero-copy { display: flex; flex-direction: column; }
  .tech-service-module-hero .tech-service-hero-copy > .eyebrow { order: 0; }
  .tech-service-module-hero .tech-service-hero-copy > h1 { order: 1; }
  .tech-service-module-hero .tech-service-hero-actions { order: 2; margin-top: 16px; }
  .tech-service-module-hero .tech-service-sub { order: 3; margin-top: 16px; }
}
.tech-service-feature-card { padding: 21px; }
.tech-service-feature-card h2 { font-size: 25px; }
.tech-service-feature-card ul { gap: 8px; margin: 14px 0; }
.tech-service-feature-card > p:not(.eyebrow) { margin: 12px 0 0; }
.tech-service-feature-card .tech-service-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
.tech-service-feature-card .tech-service-actions > * { width: 100%; }
.tech-service-aside-module .tech-service-feature-card { padding: 18px; }
.tech-service-aside-module .tech-service-feature-card h2 { font-size: 24px; }
.tech-service-aside-module .tech-service-feature-card ul { gap: 6px; margin: 11px 0; }
.tech-service-aside-module .tech-service-feature-card > p:not(.eyebrow) { font-size: 14px; line-height: 1.45; }
.tech-service-aside-module .tech-service-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tech-service-aside-module .tech-service-actions > .btn:first-child { grid-column: 1 / -1; }
.tech-service-aside-module .tech-service-actions > .btn-ghost,
.tech-service-aside-module .tech-service-actions > .btn-whatsapp { padding-inline: 10px; font-size: 12px; }
html:not([data-hs-state="open"]) .tech-service-aside-module .tech-service-actions > .btn-whatsapp { grid-column: 1 / -1; }
.tech-related.unified-related { background: var(--paper-alt); }
.tech-related.unified-related .relgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tech-service-close .btn-whatsapp { border-color: var(--white); color: var(--white); background: transparent; }
.tech-service-close .btn-whatsapp:hover { border-color: var(--amber); background: var(--amber); color: var(--ink); }

@media (max-width: 900px) {
  .home-warranty-card { grid-template-columns: auto minmax(0, 1fr); }
  .home-warranty-action { grid-column: 2; text-align: left; }
  .brand-visual-break { grid-template-columns: 1fr; gap: 10px; overflow: hidden; }
  .brand-visual-art { width: min(100%, 620px); min-height: 230px; margin: -18px auto -28px; }
  .brand-visual-art img { width: 155%; transform: translate(-58%, -50%); }
  .brand-booking-row { grid-template-columns: 1fr; gap: 20px; }
  .tech-related.unified-related .relgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .r35-diagnostics-art { height: 225px; margin-bottom: -18px; }
  .r35-diagnostics-art img { width: 100%; transform: translate(-50%, -50%); }
  .r35-service-hero-art img { width: 126%; transform: translate(-50%, -50%); }
  .brand-visual-break { margin: 32px 0; padding: 26px 0; }
  .brand-visual-art { min-height: 210px; }
  .brand-visual-starting .brand-visual-art img,
  .brand-visual-electrical .brand-visual-art img,
  .brand-visual-modules .brand-visual-art img,
  .brand-visual-suspension .brand-visual-art img { width: 158%; transform: translate(-58%, -50%); }
}

@media (max-width: 620px) {
  .home-warranty-card { grid-template-columns: 58px minmax(0, 1fr); gap: 14px; padding: 18px 16px; }
  .home-warranty-badge { width: 58px; height: 58px; }
  .home-warranty-badge strong { font-size: 27px; }
  .home-warranty-badge small { font-size: 9px; }
  .home-warranty-title { font-size: 23px; }
  .home-warranty-action { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--line); }
  .home-make-carousel-section .mkcard[data-make-card-kind="photo"] { grid-template-rows: 144px minmax(52px, auto); }
  .home-make-carousel-section .mkcard[data-make-card-kind="photo"] img { height: 144px; }
  .brand-visual-art img,
  .brand-visual-starting .brand-visual-art img,
  .brand-visual-electrical .brand-visual-art img,
  .brand-visual-modules .brand-visual-art img,
  .brand-visual-suspension .brand-visual-art img {
    width: 100%;
    transform: translate(-50%, -50%);
  }
  .brand-booking .btn { width: 100%; }
  .tech-related.unified-related .relgrid { grid-template-columns: 1fr; }
}

/* R41 tablet hardening: retain the open, free-floating treatment while
   keeping the oversized transparent canvases inside the document viewport.
   Mobile keeps its existing stacked composition and wide desktop keeps the
   larger editorial bleed. */
@media (min-width: 761px) and (max-width: 1100px) {
  .r35-brake-art img { width: 150%; transform: translate(-64%, -50%); }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .r35-diagnostics-art img { width: 118%; transform: translate(-54%, -50%); }
}

/* R42 owner correction: the MINI timing image is content, not a background.
   Keep its entire canvas in normal flow, rather than enlarging an absolutely
   positioned image across the copy. Stack through the small-desktop seam. */
section.brand-visual-break.brand-visual-timing[data-brand-cutout="timing-chain-components"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
}
section.brand-visual-break.brand-visual-timing[data-brand-cutout="timing-chain-components"] .brand-visual-art {
  width: 100%;
  min-height: 0;
  margin: 0;
}
section.brand-visual-break.brand-visual-timing[data-brand-cutout="timing-chain-components"] .brand-visual-art img {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  transform: none;
}
@media (max-width: 1100px) {
  section.brand-visual-break.brand-visual-timing[data-brand-cutout="timing-chain-components"] {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  section.brand-visual-break.brand-visual-timing[data-brand-cutout="timing-chain-components"] .brand-visual-art {
    max-width: 620px;
    margin-inline: auto;
  }
}

/* R42 owner correction: the single shop-sourced module is centered in the
   right-hand visual column, between the sourcing copy and the panel edge.
   Bound the transparent canvas so the complete object stays visible; the
   existing max-700px visual-head rule continues to stack copy before art. */
.tech-service-single-option .tech-service-module-art {
  justify-content: center;
  margin: 0;
}
.tech-service-single-option .tech-service-module-art img {
  width: min(100%, 440px);
  max-width: 100%;
  transform: none;
}
@media (max-width: 700px) {
  .tech-service-single-option .tech-service-module-art {
    width: min(100%, 440px);
    margin: 2px auto -4px;
  }
  .tech-service-single-option .tech-service-module-art img {
    width: 100%;
    max-width: 100%;
    transform: none;
  }
}

/* R42 owner correction: every brand visual seam shares the MINI failure mode
   at the small-desktop boundary. Keep copy and art in separate grid rows,
   restore intrinsic image height, and override the family-specific oversized
   transforms without changing the wide-desktop compositions above 900px. */
@media (max-width: 900px) {
  section.brand-visual-break[data-brand-cutout] {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    overflow: hidden;
  }
  section.brand-visual-break[data-brand-cutout] .brand-visual-art {
    width: min(100%, 620px);
    min-height: 0;
    margin: 6px auto 0;
  }
  section.brand-visual-break[data-brand-cutout] .brand-visual-art img {
    position: static;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    transform: none;
  }
}

/* R42 owner correction: the six organic editorial cutouts are exact
   decision seams, but their oversized absolute art can still cross the copy
   at wide and narrow widths. Keep each approved art figure in normal flow;
   preserve its parent grid, reverse/open/panel treatment, halo and shadow. */
.r35-editorial-visual[data-service-cutout="cooling-system"] .r35-editorial-art,
.r35-editorial-visual[data-service-cutout="timing-belt-kit"] .r35-editorial-art,
.r35-editorial-visual[data-service-cutout="electrical-diagnostics"] .r35-editorial-art,
.r35-editorial-visual[data-service-cutout="oil-service-kit"] .r35-editorial-art,
.r35-editorial-visual[data-service-cutout="inspection-toolkit"] .r35-editorial-art,
.ac-service-visual-topic[data-service-cutout="ac-system-components-cluster"] .service-cutout-art {
  min-height: 0;
  height: auto;
  margin: 0;
}
.r35-editorial-visual[data-service-cutout="cooling-system"] .r35-editorial-art img,
.r35-editorial-visual[data-service-cutout="timing-belt-kit"] .r35-editorial-art img,
.r35-editorial-visual[data-service-cutout="electrical-diagnostics"] .r35-editorial-art img,
.r35-editorial-visual[data-service-cutout="oil-service-kit"] .r35-editorial-art img,
.r35-editorial-visual[data-service-cutout="inspection-toolkit"] .r35-editorial-art img,
.ac-service-visual-topic[data-service-cutout="ac-system-components-cluster"] .service-cutout-art img {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  transform: none;
}
