/* ==========================================================================
   Makita Canada — Service section (Service / Repair Locations / Direct Repair)
   Everything is scoped under .svc-page and prefixed svc- so nothing leaks into
   (or is clobbered by) the legacy site CSS. Fonts are the licensed Helvetica
   Neue LT W01/W05 faces already declared in v2/media/sitenew.css.
   ========================================================================== */

.svc-page {
  /* Palette (from the hi-fi Figma) */
  --svc-bg-0: #0b0c0e;
  --svc-bg-1: #121316;
  --svc-bg-2: #1c1d22;
  --svc-card: #262828;
  --svc-card-line: #3c3c3c;
  --svc-line: #22252c;
  --svc-divider: rgba(255, 255, 255, .54);
  --svc-teal: #00839a;
  --svc-teal-hover: #00788d;
  --svc-teal-eyebrow: #0097a7;
  --svc-teal-dark: #064959;
  --svc-teal-mid: #068098;
  --svc-teal-bright: #0598b2;
  --svc-cyan: #00d9ff;
  --svc-muted: #cdcdcd;
  --svc-white: #ffffff;

  /* Type families (single-weight webfonts: always font-weight:normal) */
  --svc-f-blkcn: "Helvetica Neue LT W01_97 BlkCn", "Arial Narrow", "Arial Black", Arial, sans-serif;
  --svc-f-black: "Helvetica Neue LT W01_95 Black", "Arial Black", Arial, sans-serif;
  --svc-f-bdcn: "Helvetica Neue LT W05_77 Bd Cn", "Arial Narrow", Arial, sans-serif;
  --svc-f-mdcn: "Helvetica Neue LT W01_67 Md Cn", "Arial Narrow", Arial, sans-serif;
  --svc-f-bold: "Helvetica Neue LT W01_71488914", Arial, Helvetica, sans-serif;
  --svc-f-med: "Helvetica Neue LT W01_65 Mediu", Arial, Helvetica, sans-serif;
  --svc-f-roman: "Helvetica Neue LT W01_55 Roman", Arial, Helvetica, sans-serif;

  /* Fluid type — linear from 360px to 1440px viewports, capped at the Figma size */
  --svc-fs-64: clamp(2.375rem, 1.833rem + 2.407vw, 4rem);
  --svc-fs-52: clamp(1.875rem, 1.458rem + 1.852vw, 3.25rem);
  --svc-fs-48: clamp(2rem, 1.667rem + 1.481vw, 3rem);
  --svc-fs-40: clamp(1.75rem, 1.5rem + 1.111vw, 2.5rem);
  --svc-fs-num: clamp(2.25rem, 2rem + 1.111vw, 3rem);
  --svc-fs-32: clamp(1.5rem, 1.333rem + .741vw, 2rem);
  --svc-fs-28: clamp(1.375rem, 1.25rem + .556vw, 1.75rem);
  --svc-fs-26: clamp(1.3125rem, 1.208rem + .463vw, 1.625rem);
  --svc-fs-24: clamp(1.125rem, 1rem + .556vw, 1.5rem);
  --svc-fs-22: clamp(1.1875rem, 1.125rem + .278vw, 1.375rem);
  --svc-fs-20: clamp(1rem, .917rem + .37vw, 1.25rem);
  /* Small UI/body steps sit ~1–1.5px above the Figma values: Helvetica Roman
     at 12–13px reads too light on these dark surfaces. Headings stay as designed. */
  --svc-fs-16: clamp(1rem, .979rem + .093vw, 1.0625rem);       /* 16 → 17 */
  --svc-fs-15: clamp(.9375rem, .917rem + .093vw, 1rem);        /* 15 → 16 */
  --svc-fs-14: clamp(.875rem, .854rem + .093vw, .9375rem);     /* 14 → 15 */
  --svc-fs-13: clamp(.875rem, .865rem + .046vw, .90625rem);    /* 14 → 14.5 */
  --svc-fs-12: clamp(.8125rem, .802rem + .046vw, .84375rem);   /* 13 → 13.5 */
  --svc-fs-10: clamp(.6875rem, .677rem + .046vw, .71875rem);   /* 11 → 11.5 */

  /* Fluid spacing */
  --svc-pad-x: clamp(1.25rem, .833rem + 4.444vw, 5rem);      /* 80px side gutter at 1440 */
  --svc-sp-111: clamp(4rem, 3.02rem + 4.352vw, 6.9375rem);
  --svc-sp-100: clamp(3.5rem, 2.583rem + 4.074vw, 6.25rem);
  --svc-sp-80: clamp(3rem, 2.333rem + 2.963vw, 5rem);
  --svc-sp-64: clamp(2.5rem, 2rem + 2.222vw, 4rem);
  --svc-sp-48: clamp(2rem, 1.667rem + 1.481vw, 3rem);
  --svc-sp-40: clamp(1.75rem, 1.5rem + 1.111vw, 2.5rem);
  --svc-sp-32: clamp(1.25rem, 1rem + 1.111vw, 2rem);
  --svc-sp-24: clamp(1rem, .833rem + .741vw, 1.5rem);

  /* Diagonal geometry */
  --svc-rise: clamp(14px, 1.74vw, 26px);   /* how far a band edge climbs across the page */
  --svc-ease: cubic-bezier(.16, 1, .3, 1);   /* ease-out-expo */

  position: relative;
  background: var(--svc-bg-0);
  color: var(--svc-white);
  font-family: var(--svc-f-roman);
  font-weight: normal;
  font-size: var(--svc-fs-16);
  line-height: 1.43;
  text-align: left;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- Reset / fence against legacy global rules ---------- */
.svc-page *,
.svc-page *::before,
.svc-page *::after { box-sizing: border-box; }

/* :where() keeps the reset at one-class specificity, so it beats legacy element
   rules (h1{}, section{}) but every svc- component class declared later wins. */
.svc-page :where(section, h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, figure, label, table) {
  margin: 0;
  padding: 0;
  background: transparent;       /* index2new sets section{background:white} */
  border: 0;
  color: inherit;
  font-weight: normal;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  text-shadow: none;
}
.svc-page :where(section) { display: block; }
.svc-page :where(h1, h2, h3, h4, h5) { font-size: inherit; line-height: 1.1; }
.svc-page :where(ul, ol) { list-style: none; }
.svc-page :where(img) { max-width: 100%; height: auto; border: 0; }
.svc-page :where(button, input, select) {
  font: inherit;
  color: inherit;
  margin: 0;
  letter-spacing: normal;
  text-transform: none;
}
.svc-page :where(button) { cursor: pointer; background: none; border: 0; }
/* Legacy a:link / a:visited colours are global — every svc link sets its own. */
.svc-page a { text-decoration: none; }
.svc-page a:hover, .svc-page a:focus { text-decoration: none; }
.svc-page :focus-visible { outline: 2px solid var(--svc-cyan); outline-offset: 3px; }

.svc-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Layout ---------- */
.svc-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: calc(1280px + 2 * var(--svc-pad-x));
  margin: 0 auto;
  padding-left: var(--svc-pad-x);
  padding-right: var(--svc-pad-x);
}
.svc-sec { position: relative; padding-top: var(--svc-sp-80); padding-bottom: var(--svc-sp-80); }
.svc-sec--bg0 { background: var(--svc-bg-0); }
.svc-sec--bg1 { background: var(--svc-bg-1); }
.svc-sec--black { background: #000; }
.svc-line-top { border-top: 1px solid var(--svc-divider); }
.svc-line-bottom { border-bottom: 1px solid var(--svc-divider); }

/* ---------- Type ---------- */
.svc-h1 {
  font-family: var(--svc-f-blkcn);
  font-size: var(--svc-fs-64);
  line-height: 1.1;
  text-transform: uppercase;
  color: #fff;
}
.svc-h2 {
  font-family: var(--svc-f-blkcn);
  font-size: var(--svc-fs-48);
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
}
.svc-h2--mixed { text-transform: none; }
.svc-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: var(--svc-sp-40); }
.svc-sub-20 { font-family: var(--svc-f-roman); font-size: var(--svc-fs-20); line-height: 1.5; color: var(--svc-muted); }
.svc-sub-20--light { color: #d7d7d7; }
.svc-sub-16 { font-family: var(--svc-f-roman); font-size: var(--svc-fs-16); line-height: 1.2; color: #fff; }
.svc-eyebrow {
  font-family: var(--svc-f-med);
  font-size: var(--svc-fs-14);
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--svc-teal-eyebrow);
}

/* ---------- Buttons ---------- */
.svc-page .svc-btn,
.svc-page a.svc-btn:link,
.svc-page a.svc-btn:visited {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 45px;
  padding: 12px 28px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: var(--svc-teal);
  color: #fff;
  font-family: var(--svc-f-bold);
  font-size: var(--svc-fs-14);
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s var(--svc-ease), box-shadow .25s ease;
}
/* sheen sweep on hover */
.svc-page .svc-btn::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: -60%;
  width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent);
  transform: skewX(-18deg);
  transition: left .6s var(--svc-ease);
  z-index: -1;
  pointer-events: none;
}
.svc-page .svc-btn:hover::after { left: 120%; }
.svc-page .svc-btn:hover { background: var(--svc-teal-hover); color: #fff; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0, 131, 154, .28); }
.svc-page .svc-btn:active { transform: translateY(0); }

.svc-page .svc-btn--ghost,
.svc-page a.svc-btn--ghost:link,
.svc-page a.svc-btn--ghost:visited { background: transparent; border-color: #fff; color: #fff; }
.svc-page .svc-btn--ghost:hover { background: #fff; color: #0b0c0e; box-shadow: none; }

.svc-page .svc-btn--ghost2,
.svc-page a.svc-btn--ghost2:link,
.svc-page a.svc-btn--ghost2:visited { background: transparent; border: 2px solid #fff; color: #fff; min-height: 49px; }
.svc-page .svc-btn--ghost2:hover { background: #fff; color: #0b0c0e; box-shadow: none; }

.svc-page .svc-btn--muted,
.svc-page a.svc-btn--muted:link,
.svc-page a.svc-btn--muted:visited { background: transparent; border-color: var(--svc-line); color: var(--svc-muted); }
.svc-page .svc-btn--muted:hover { border-color: var(--svc-teal); color: #fff; background: rgba(0, 131, 154, .12); box-shadow: none; }

.svc-page .svc-btn--white,
.svc-page a.svc-btn--white:link,
.svc-page a.svc-btn--white:visited { background: #fff; color: var(--svc-teal); min-height: 40px; padding: 11px 24px; font-size: var(--svc-fs-13); }
.svc-page .svc-btn--white:hover { background: #e9f7f9; color: #006f83; box-shadow: 0 8px 22px rgba(0, 0, 0, .25); }

.svc-page .svc-btn--sm,
.svc-page a.svc-btn--sm:link,
.svc-page a.svc-btn--sm:visited { min-height: 31px; padding: 7px 16px; font-size: var(--svc-fs-12); }
.svc-page .svc-btn--line,
.svc-page a.svc-btn--line:link,
.svc-page a.svc-btn--line:visited { background: transparent; border-color: var(--svc-teal); color: var(--svc-teal); }
.svc-page .svc-btn--line:hover { background: var(--svc-teal); color: #fff; }

.svc-btnrow { display: flex; flex-wrap: wrap; gap: 16px; }

/* ---------- Check lists ---------- */
.svc-checks { display: flex; flex-direction: column; gap: 9px; }
.svc-checks li { position: relative; padding-left: 27px; line-height: 1.5; }
.svc-checks li::before {
  content: "";
  position: absolute;
  left: 2px; top: .38em;
  width: 11px; height: 6px;
  border-left: 1.5px solid var(--svc-teal-eyebrow);
  border-bottom: 1.5px solid var(--svc-teal-eyebrow);
  transform: rotate(-45deg);
}

/* ==========================================================================
   Diagonal geometry — slabs, corner accents, wedges
   ========================================================================== */
.svc-geo { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.svc-slab { position: absolute; inset: 0; }
.svc-slab--d { background: var(--svc-teal-dark); }
.svc-slab--t { background: var(--svc-teal-mid); }
/* Shadows: clip-path cuts off a filter's own shadow, so every light-teal slab
   sits in a wrapper (.svc-shadow / .svc-sh) that casts it onto the dark teal. */
.svc-shadow,
.svc-sh { position: absolute; inset: 0; display: block; pointer-events: none; }
.svc-shadow { filter: drop-shadow(0px 0 67px rgba(0, 0, 0, .3)) drop-shadow(0px 0 28px rgba(0, 0, 0, .3)); }
/* .svc-shadow--photo { filter: drop-shadow(-12px 0 12px rgba(0, 0, 0, .25)) drop-shadow(-30px 0 36px rgba(0, 0, 0, .3)); z-index: 2; } */
/* photo wrapper: always a full-size box (a filter on it, e.g. on phones, makes it the photo's containing block) */
.svc-shadow--photo { position: absolute; inset: 0; display: block; pointer-events: none; z-index: 2; }
.svc-corner .svc-sh { filter: drop-shadow(5px 3px 5px rgba(0, 0, 0, .25)); }
.svc-accent .svc-sh { filter: drop-shadow(0px 0px 66px rgba(0, 0, 0, .25)); }
/* .svc-max .svc-sh { filter: drop-shadow(0px 0 10px rgba(0, 0, 0, .3)); } */
/* .svc-max .svc-sh--photo { filter: drop-shadow(-12px 0 14px rgba(0, 0, 0, .5)); } */
.svc-max .svc-sh--dl { filter: drop-shadow(0px 0 26px rgba(0, 0, 0, .25)) drop-shadow(0px 0 26px rgba(0, 0, 0, .25)); }
.svc-band__edge--top .svc-sh { filter: drop-shadow(0 -15px 65px rgba(0, 0, 0, .25)); }
/* .svc-band__edge--bot .svc-sh { filter: drop-shadow(0px 15px 65px rgba(0, 0, 0, .25)); } */

/* top-left corner pair (hero) */
.svc-corner {
  position: absolute; left: 0; top: 0;
  width: clamp(40px, 4.86vw, 70px);
  height: clamp(133px, 16.2vw, 233px);
}
.svc-corner i { position: absolute; left: 0; top: 0; display: block; clip-path: polygon(0 0, 100% 0, 0 100%); }
.svc-corner .svc-corner__d { width: 100%; height: 100%; background: var(--svc-teal-dark); }
.svc-corner .svc-corner__t { width: 71.4%; height: 71.7%; background: var(--svc-teal-mid); }

/* bottom-right corner pair (section accents) */
.svc-accent {
  position: absolute; right: 0; bottom: 0; z-index: 1; pointer-events: none;
  width: clamp(48px, 5.9vw, 85px);
  height: clamp(177px, 21.74vw, 313px);
}
.svc-accent i { position: absolute; right: 0; bottom: 0; display: block; }
.svc-accent .svc-accent__d { width: 100%; height: 100%; background: var(--svc-teal-dark); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.svc-accent .svc-accent__t { width: 67%; height: 67.4%; background: var(--svc-teal-mid); clip-path: polygon(100% 0, 100% 100%, 0 100%); }

/* ==========================================================================
   Heroes
   ========================================================================== */
.svc-hero {
  position: relative;
  overflow: hidden;
  background: var(--svc-bg-0);
  border-bottom: 1px solid rgba(255, 255, 255, .29);
}
.svc-hero .svc-wrap { z-index: 3; }
.svc-hero__map {
  position: absolute;
  display: block;
  max-width: none !important;
  height: auto;
  transform: rotate(23.3deg);
  transform-origin: 50% 50%;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.svc-hero__content { display: flex; flex-direction: column; align-items: flex-start; max-width: 700px; }
.svc-hero__title { margin: 0; }
.svc-hero__lede { font-family: var(--svc-f-roman); font-size: var(--svc-fs-24); line-height: 1.2; max-width: 540px; }
.svc-hero .svc-btnrow { margin-top: 0; }

/* Right-hand slabs shared by Repair Locations + Direct Repair heroes */
.svc-hero--band .svc-slab--d { clip-path: polygon(86.4% 0, 100% 0, 100% 100%, 77.8% 100%); }
.svc-hero--band .svc-slab--t { clip-path: polygon(91.95% 0, 100% 0, 100% 100%, 83.2% 100%); }
.svc-hero--band .svc-hero__map { width: 53.1%; left: 35.9%; top: 13.5%; opacity: .72; }

/* --- Service landing hero --- */
.svc-hero--landing { min-height: clamp(560px, 48.4vw, 800px); display: flex; align-items: center; border-bottom-color: var(--svc-divider); }
.svc-hero--landing .svc-wrap { padding-top: var(--svc-sp-80); padding-bottom: var(--svc-sp-80); }
.svc-hero--landing .svc-slab--d { clip-path: polygon(58.03% 0, 100% 0, 100% 100%, 49.83% 100%); }
.svc-hero--landing .svc-slab--t { clip-path: polygon(61.11% 0, 100% 0, 100% 100%, 52.92% 100%); }
.svc-hero--landing .svc-hero__map { width: 42.4%; left: 23%; top: -9%; opacity: .7; }
.svc-hero__photo {
  position: absolute;
  top: 0; bottom: 0; right: 0; left: 60%;
  clip-path: polygon(20.49% 0, 100% 0, 100% 100%, 0 100%);
  overflow: hidden;
  z-index: 2;
}
.svc-hero__photo img {
  position: absolute; inset: -20px 0;
  width: 100%; height: calc(100% + 40px);
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
}
.svc-hero--landing .svc-hero__content { gap: 15px; }
.svc-hero__kicker { font-family: var(--svc-f-mdcn); font-size: var(--svc-fs-24); line-height: 1.2; text-transform: uppercase; color: var(--svc-cyan); }
.svc-hero--landing .svc-btnrow { margin-top: 15px; }

/* --- Repair Locations hero --- */
.svc-hero--locator { min-height: clamp(560px, 43.3vw, 800px); }
.svc-hero--locator .svc-wrap { padding-top: clamp(96px, 12.43vw, 179px); padding-bottom: clamp(56px, 7.2vw, 104px); }
.svc-hero--locator .svc-hero__content { max-width: 819px; gap: 0; }
.svc-hero--locator .svc-hero__lede { margin-top: 2px; }

/* --- Direct Repair hero --- */
.svc-hero--dr { min-height: clamp(600px, 43.3vw, 800px); border-bottom: 0; }
.svc-hero--dr .svc-wrap { padding-top: clamp(80px, 9.5vw, 137px); padding-bottom: clamp(88px, 8.5vw, 122px); }
.svc-hero--dr .svc-hero__content { max-width: 700px; }
.svc-dr-logo { display: block; width: clamp(200px, 18.6vw, 268px); height: auto; margin-bottom: 25px; }
.svc-hero--dr .svc-hero__title { line-height: 1.1; }
.svc-hero__tag { margin-top: 12px; font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-24); line-height: 1.2; text-transform: uppercase; }
.svc-hero--dr .svc-hero__lede { margin-top: 10px; font-size: var(--svc-fs-20); max-width: 640px; }
.svc-hero--dr .svc-btnrow { margin-top: var(--svc-sp-40); gap: 20px; }

/* ==========================================================================
   Locator search bar (Repair Locations hero)
   ========================================================================== */
.svc-search {
  margin-top: 34px;
  width: 100%;
  max-width: 819px;
  display: flex;
  align-items: flex-end;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 6px;
  background: rgba(0, 0, 0, .54);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.svc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.svc-field--loc { flex: 1 1 413px; }
.svc-field--radius { flex: 0 1 200px; }
.svc-page .svc-label { font-family: var(--svc-f-med); font-size: var(--svc-fs-13); line-height: 1.25; text-transform: uppercase; color: #fff; }
.svc-control { position: relative; }
.svc-page .svc-input,
.svc-page .svc-select {
  display: block;
  width: 100%;
  height: 41px;
  padding: 0 12px;
  border: 1px solid var(--svc-line);
  border-radius: 4px;
  background: var(--svc-bg-1);
  color: #fff;
  font-family: var(--svc-f-roman);
  font-size: var(--svc-fs-14);
  line-height: 41px;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.svc-page .svc-input::placeholder { color: var(--svc-muted); opacity: 1; }
.svc-page .svc-input:focus,
.svc-page .svc-select:focus { outline: none; border-color: var(--svc-teal); box-shadow: 0 0 0 3px rgba(0, 131, 154, .25); }
.svc-page .svc-select { padding-right: 36px; cursor: pointer; }
.svc-page .svc-select option { background: #121316; color: #fff; }
.svc-control--select::after {
  content: "";
  position: absolute; right: 15px; top: 50%;
  width: 6px; height: 6px;
  margin-top: -5px;
  border-right: 1.5px solid #bdbdc2;
  border-bottom: 1.5px solid #bdbdc2;
  transform: rotate(45deg);
  pointer-events: none;
}
.svc-control--geo .svc-input { padding-right: 162px; }
.svc-page .svc-geobtn {
  position: absolute; right: 0; top: 0;
  height: 41px;
  width: 151px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid rgba(255, 255, 255, .37);
  border-radius: 4px;
  background: #000;
  color: #fff;
  font-family: var(--svc-f-mdcn);
  font-size: var(--svc-fs-14);
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color .2s ease, border-color .2s ease;
}
.svc-page .svc-geobtn:hover { background: #111; border-color: var(--svc-teal); }
.svc-page .svc-geobtn[disabled] { opacity: .7; cursor: progress; }
.svc-geobtn svg { width: 12px; height: 14px; flex: 0 0 auto; }
.svc-page .svc-search .svc-btn { min-height: 45px; padding: 12px 32px; border-radius: 4px; flex: 0 0 auto; }
.svc-msg { min-height: 0; margin-top: 10px; font-size: var(--svc-fs-14); color: #ffb4b4; }
.svc-msg:empty { display: none; }

/* ==========================================================================
   Service landing — Repair solutions cards
   ========================================================================== */
.svc-solutions { padding-top: var(--svc-sp-80); padding-bottom: var(--svc-sp-100); overflow: hidden; }
.svc-sol-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.svc-sol {
  display: flex; flex-direction: column;
  min-height: 503px;
  padding: 51px 24px;
  background: var(--svc-card);
  border: 1px solid var(--svc-card-line);
  transition: transform .45s var(--svc-ease), border-color .3s ease, box-shadow .45s var(--svc-ease);
}
.svc-sol__title { padding: .2em 0; font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-28); line-height: 1.2; text-transform: uppercase; }
.svc-sol__title--sm { font-size: var(--svc-fs-26); }
.svc-sol .svc-eyebrow { margin-top: 4px; }
.svc-sol__lede { margin-top: 18px; font-size: var(--svc-fs-16); line-height: 1.43; }
.svc-sol .svc-checks { margin-top: 9px; font-size: var(--svc-fs-15); }
.svc-sol__cta { margin-top: auto; padding-top: 34px; }

/* ==========================================================================
   Service landing — Recommendation wizard
   ========================================================================== */
.svc-wizard { padding-top: clamp(3rem, 2.2rem + 2.3vw, 4.375rem); padding-bottom: var(--svc-sp-80); }
.svc-wizbox {
  padding: var(--svc-sp-32);
  border: 1px solid rgba(255, 255, 255, .3);
  background: rgba(0, 0, 0, .2);
  box-shadow: inset 0 0 40px rgba(0, 0, 0, .35);
}
.svc-wiz-q { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.svc-wiz-q .svc-field { gap: 12px; }
.svc-page .svc-wiz-q .svc-label { color: var(--svc-white); }
.svc-page .svc-wizbox .svc-input,
.svc-page .svc-wizbox .svc-select { font-size: var(--svc-fs-14); }
.svc-wizbox .svc-control--select::after { border: 0; width: 0; height: 0; margin-top: -3px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid #4a4a4f; transform: none; right: 14px; }
.svc-wiz-act { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.svc-wiz-note { font-size: var(--svc-fs-13); color: var(--svc-muted); }
.svc-page .svc-wiz-act .svc-btn { font-family: var(--svc-f-med); min-height: 41px; padding: 11px 24px; }
.svc-btn .svc-spin { display: none; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: svc-spin .7s linear infinite; }
.svc-btn.is-busy .svc-spin { display: inline-block; }
@keyframes svc-spin { to { transform: rotate(360deg); } }

.svc-rec { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--svc-ease); }
.svc-rec.is-open { grid-template-rows: 1fr; }
.svc-rec__inner { overflow: hidden; min-height: 0; }
.svc-rec__body { padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--svc-line); }
.svc-rec__lead { font-family: var(--svc-f-med); font-size: var(--svc-fs-20); line-height: 1.4; color: #fff; }
.svc-rec__lead strong { font-family: var(--svc-f-bold); font-weight: normal; color: var(--svc-cyan); }
.svc-rec__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.svc-rec-card {
  position: relative;
  display: flex; flex-direction: column; gap: 8px;
  padding: 22px 20px 20px;
  background: var(--svc-bg-2);
  border: 1px solid var(--svc-line);
  opacity: 0; transform: translateY(14px);
  transition: opacity .5s ease, transform .6s var(--svc-ease), border-color .3s ease;
}
.svc-rec.is-open .svc-rec-card { opacity: 1; transform: none; }
.svc-rec.is-open .svc-rec-card:nth-child(2) { transition-delay: .08s; }
.svc-rec.is-open .svc-rec-card:nth-child(3) { transition-delay: .16s; }
.svc-rec-card.is-best { border-color: var(--svc-teal); box-shadow: inset 0 3px 0 var(--svc-teal); }
.svc-rec-card__badge {
  align-self: flex-start;
  padding: 3px 8px;
  background: var(--svc-teal);
  font-family: var(--svc-f-bold); font-size: var(--svc-fs-10); line-height: 1.3;
  text-transform: uppercase; color: #fff;
}
.svc-rec-card__badge--alt { background: #535353; border: 1px solid rgba(255, 255, 255, .45); }
.svc-page .svc-rec-card h3 { color: #fff; font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-22); line-height: 1.15; text-transform: uppercase; }
.svc-page .svc-rec-card p { font-size: var(--svc-fs-14); line-height: 1.5; color: #c9c9ce; }
.svc-rec-card p b { font-family: var(--svc-f-bold); font-weight: normal; color: #fff; }
.svc-rec-card .svc-btn { margin-top: auto; align-self: flex-start; }
.svc-rec__fine { margin-top: 16px; font-size: var(--svc-fs-12); line-height: 1.5; color: var(--svc-muted); }

/* ==========================================================================
   Compare table (landing)
   ========================================================================== */
.svc-compare { padding-bottom: var(--svc-sp-100); }
.svc-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--svc-line); }
.svc-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.svc-page .svc-table th,
.svc-page .svc-table td {
  padding: 16px;
  border: 0;
  border-bottom: 1px solid var(--svc-line);
  font-size: var(--svc-fs-13);
  line-height: 1.25;
  vertical-align: middle;
  text-align: left;
  color: var(--svc-muted);
  font-family: var(--svc-f-roman);
  background: transparent;
}
.svc-page .svc-table tr:last-child td { border-bottom: 0; }
.svc-page .svc-table thead th { background: var(--svc-bg-2); color: #fff; font-family: var(--svc-f-med); text-transform: uppercase; letter-spacing: .01em; }
.svc-page .svc-table thead th:first-child { font-family: var(--svc-f-med); text-transform: none; color: var(--svc-muted); letter-spacing: 0; }
.svc-page .svc-table tbody th { color: #fff; font-family: var(--svc-f-roman); }
.svc-page .svc-table col.svc-col-feat { width: 19.55%; }
.svc-page .svc-table .is-yes { color: var(--svc-teal-bright); font-family: var(--svc-f-med); }
.svc-page .svc-table a.is-yes:link,
.svc-page .svc-table a.is-yes:visited { color: var(--svc-teal-bright); text-decoration: underline; text-underline-offset: 3px; }
.svc-page .svc-table tbody tr { transition: background-color .25s ease; }
.svc-page .svc-table tbody tr:hover { background: rgba(255, 255, 255, .025); }

/* ==========================================================================
   Maximum Repair Program band (landing)
   ========================================================================== */
.svc-max {
  position: relative;
  overflow: hidden;
  background: var(--svc-teal-dark);
  padding-top: clamp(4.5rem, 3.4rem + 3.5vw, 6.1875rem);
  padding-bottom: clamp(4.5rem, 3.4rem + 3.5vw, 6.1875rem);
  min-height: 661px;
}
.svc-max__t1 { background: var(--svc-teal-mid); clip-path: polygon(66.17% 0, 71.31% 0, 59.06% 100%, 53.92% 100%); }
/* dark-teal slabs are real graphics (not the section colour): each casts its own shadow */
.svc-max__d1 { background: var(--svc-teal-dark); clip-path: polygon(71.3% 0, 76% 0, 65.3% 105%, 58.3% 100%); }
.svc-max__d2 { background: var(--svc-teal-dark); clip-path: polygon(107% 0, 109.2% 0, 100% 100%, 93.8% 100%); }
.svc-max__t2 { background: var(--svc-teal-mid); clip-path: polygon(102.4% 0, 106.6% 0, 94.4% 100%, 90.2% 100%); }
.svc-max__photo {
  position: absolute; inset: 0;
  clip-path: polygon(74.5% 0, 102.4% 0, 90.2% 100%, 62.26% 100%);
  z-index: 1;
}
.svc-max__photo img {
  position: absolute; top: -20px; bottom: -20px; right: 0;
  left: 60%;
  width: 40%; height: calc(100% + 40px);
  max-width: none;
  object-fit: cover; object-position: 55% 50%;
}
.svc-max__wedge { position: absolute; left: 0; right: 0; height: calc(var(--svc-rise) + 14px); background: var(--svc-bg-0); z-index: 2; }
.svc-max__wedge--top { top: -1px; clip-path: polygon(0 0, 100% 0, 100% 13px, 0 100%); }
.svc-max__wedge--bot { bottom: -1px; height: calc(var(--svc-rise) + 2px); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.svc-max__copy { position: relative; z-index: 3; max-width: 683px; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.svc-max__eyebrow { font-family: var(--svc-f-med); font-size: var(--svc-fs-24); line-height: 1.2; text-transform: uppercase; letter-spacing: .02em; }
.svc-max__title { margin-top: 16px; font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-52); line-height: 1.05; text-transform: uppercase; }
.svc-max__body { font-size: var(--svc-fs-24); line-height: 1.3; max-width: 636px; }
.svc-max__fine { font-size: var(--svc-fs-14); line-height: 1.3; max-width: 659px; }

/* ==========================================================================
   Helpful resources (landing)
   ========================================================================== */
.svc-res-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 15px; row-gap: 23px; }
.svc-page a.svc-res:link,
.svc-page a.svc-res:visited,
.svc-page .svc-res {
  position: relative;
  display: flex; flex-direction: column; gap: 10px;
  min-height: 121px;
  padding: 28px;
  background: var(--svc-bg-2);
  border-radius: 2px;
  color: #fff;
  overflow: hidden;
  transition: background-color .3s ease, transform .45s var(--svc-ease), box-shadow .45s var(--svc-ease);
}
.svc-res::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--svc-teal);
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition: transform .45s var(--svc-ease);
}
.svc-page a.svc-res:hover { background: #22242a; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .4); color: #fff; }
.svc-res:hover::before { transform: scaleY(1); }
.svc-res__title { padding-right: 40px; font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-22); line-height: 1.2; text-transform: uppercase; }
.svc-res__desc { font-size: var(--svc-fs-15); line-height: 1.2; color: rgba(255, 255, 255, .88); }
.svc-res__arrow {
  position: absolute; right: 26px; top: 35px;
  width: 24px; height: 8px;
  color: rgba(255, 255, 255, .47);
  transition: transform .45s var(--svc-ease), color .3s ease;
}
.svc-res:hover .svc-res__arrow { transform: translateX(6px); color: var(--svc-cyan); }

/* ==========================================================================
   FAQ cards (landing) + CTA
   ========================================================================== */
.svc-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1224px; }
.svc-faq-card { padding: 28px; border-radius: 8px; background: var(--svc-bg-2); transition: transform .45s var(--svc-ease), box-shadow .45s var(--svc-ease); }
.svc-faq-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
.svc-faq-card h3 { font-family: var(--svc-f-bold); font-size: var(--svc-fs-15); line-height: 1.2; }
.svc-faq-card p { margin-top: 12px; font-size: var(--svc-fs-13); line-height: 1.6; color: var(--svc-muted); }

.svc-cta { padding-top: var(--svc-sp-64); padding-bottom: var(--svc-sp-64); }
.svc-cta .svc-wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.svc-cta__copy { max-width: 640px; display: flex; flex-direction: column; gap: 7px; }
.svc-cta__title { font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-40); line-height: 1.2; text-transform: uppercase; letter-spacing: .02em; }
.svc-cta__text { font-size: var(--svc-fs-16); line-height: 1.2; max-width: 501px; }

/* ==========================================================================
   Repair Locations — results
   ========================================================================== */
.svc-results { padding-top: clamp(2.25rem, 1.8rem + 1.6vw, 3.1875rem); padding-bottom: var(--svc-sp-80); }
.svc-results__count { font-family: var(--svc-f-med); font-size: var(--svc-fs-20); line-height: 1.2; }
.svc-page .svc-results__count b { font-family: var(--svc-f-bold); font-weight: normal; color: var(--svc-cyan); }
.svc-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 15px; margin-bottom: 34px; }
.svc-page .svc-chip {
  height: 40px;
  padding: 0 22px;
  border: 1px solid var(--svc-divider);
  background: #4b4b4b;
  color: #fff;
  font-family: var(--svc-f-roman);
  font-size: var(--svc-fs-20);
  line-height: 38px;
  transition: background-color .25s ease, border-color .25s ease, transform .25s var(--svc-ease);
}
.svc-page .svc-chip:hover { background: #595959; }
.svc-page .svc-chip.is-active { background: #000; border-color: rgba(255, 255, 255, .8); }
.svc-page .svc-reset { font-family: var(--svc-f-roman); font-size: var(--svc-fs-20); color: rgba(255, 255, 255, .82); text-decoration: underline; text-underline-offset: 4px; }
.svc-page .svc-reset:hover { color: #fff; }

.svc-split { display: grid; grid-template-columns: minmax(0, 582fr) minmax(0, 666fr); gap: 32px; align-items: start; }
.svc-list {
  height: 904px;
  overflow-y: auto;
  padding-right: 16px;
  display: flex; flex-direction: column; gap: 16px;
  scrollbar-width: thin;
  scrollbar-color: rgba(114, 114, 114, .7) transparent;
  overscroll-behavior: contain;
}
.svc-list::-webkit-scrollbar { width: 7px; }
.svc-list::-webkit-scrollbar-track { background: transparent; }
.svc-list::-webkit-scrollbar-thumb { background: rgba(114, 114, 114, .6); border-radius: 4px; }
.svc-map-box { position: sticky; top: 100px; height: 904px; border-radius: 8px; overflow: hidden; background: var(--svc-bg-2); border: 1px solid var(--svc-line); }
.svc-map { width: 100%; height: 100%; }
.svc-empty { padding: 28px; border: 1px dashed #585858; color: var(--svc-muted); font-size: var(--svc-fs-15); line-height: 1.5; }

/* Location card (list + factory grid) */
.svc-loc {
  position: relative;
  display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
  padding: 20px;
  border: 1px solid #585858;
  background: transparent;
  transition: border-color .3s ease, background-color .3s ease, transform .45s var(--svc-ease);
}
.svc-list .svc-loc { cursor: pointer; flex: 0 0 auto; }
.svc-list .svc-loc:hover { border-color: #8a8a8a; background: rgba(255, 255, 255, .02); }
.svc-list .svc-loc.is-active { border-color: var(--svc-teal); background: rgba(0, 131, 154, .07); }
.svc-loc--grid { border-color: #6d6d6d; }
.svc-loc--grid:hover { border-color: var(--svc-teal); transform: translateY(-4px); }
.svc-tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.svc-tag {
  display: inline-block;
  padding: 4px 8px 3px;
  font-family: var(--svc-f-bold);
  font-size: var(--svc-fs-10);
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
  background: #4a4a4a;
}
.svc-tag--factory { background: var(--svc-teal); }
.svc-tag--mrp { background: transparent; outline: 1px solid rgba(255, 255, 255, .6); outline-offset: -1px; }
.svc-tag--ope { background: #4a4a4a; }
.svc-dist { margin-left: auto; font-family: var(--svc-f-med); font-size: var(--svc-fs-12); color: var(--svc-cyan); }
.svc-loc__name { display: flex; align-items: center; gap: 9px; font-family: var(--svc-f-bold); font-size: var(--svc-fs-16); line-height: 1.2; }
.svc-num {
  flex: 0 0 auto;
  width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--svc-teal);
  font-family: var(--svc-f-bold); font-size: 11px; line-height: 1;
  color: #fff;
}
.svc-num--factory { background: #c0922c; }
.svc-loc__addr { font-size: var(--svc-fs-13); line-height: 1.25; color: var(--svc-muted); }
.svc-loc__contact { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.svc-page a.svc-loc__link:link,
.svc-page a.svc-loc__link:visited,
.svc-page .svc-loc__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--svc-f-bold); font-size: var(--svc-fs-13); line-height: 1.25;
  color: var(--svc-teal);
  word-break: break-word;
}
.svc-page a.svc-loc__link:hover { color: #19b3cf; text-decoration: underline; }
.svc-loc__link svg { width: 1em; height: 1em; flex: 0 0 auto; fill: currentColor; } /* icon scales with the phone number text */
.svc-loc__hours { font-size: var(--svc-fs-12); line-height: 1.25; color: var(--svc-muted); }
.svc-loc__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }

/* Map info window */
.svc-iw { font-family: var(--svc-f-roman); color: #1a1a1a; max-width: 260px; line-height: 1.4; }
.svc-iw b { display: block; font-family: var(--svc-f-bold); font-weight: normal; font-size: 14px; margin-bottom: 4px; }
.svc-iw span { display: block; font-size: 12.5px; color: #555; }
.svc-iw a:link, .svc-iw a:visited { display: inline-block; margin-top: 8px; font-family: var(--svc-f-bold); font-size: 12px; color: #00839a; text-transform: uppercase; }

/* ==========================================================================
   Repair Locations — Factory grid + compare types
   ========================================================================== */
.svc-factory { overflow: hidden; }
.svc-factory .svc-head { gap: 8px; }
.svc-factory__kicker { font-family: var(--svc-f-roman); font-size: var(--svc-fs-20); line-height: 1.6; text-transform: uppercase; }
.svc-factory__desc { font-size: var(--svc-fs-16); line-height: 1.2; max-width: 890px; }
.svc-fac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1267px; }

.svc-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.svc-type { display: flex; flex-direction: column; gap: 20px; padding: var(--svc-sp-32); background: var(--svc-card); border: 1px solid var(--svc-card-line); }
.svc-type__title { font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-32); line-height: 1.05; text-transform: uppercase; }
.svc-type .svc-eyebrow { margin-top: -6px; }
.svc-type__lede { font-size: var(--svc-fs-16); line-height: 1.2; }
.svc-type .svc-checks { gap: 18px; font-size: var(--svc-fs-15); padding-top: 6px; }
.svc-type .svc-checks li { line-height: 1.2; padding-left: 22px; }
.svc-type .svc-checks li::before { top: .2em; width: 9px; height: 5px; }
.svc-type__foot { font-size: var(--svc-fs-15); line-height: 1.2; }

/* ==========================================================================
   Direct Repair — teal benefits band
   ========================================================================== */
.svc-band { position: relative; z-index: 4; background: var(--svc-teal-mid); padding-top: var(--svc-sp-80); padding-bottom: var(--svc-sp-80); }
.svc-band__edge { position: absolute; left: 0; right: 0; pointer-events: none; }
.svc-band__edge i { position: absolute; inset: 0; display: block; }
.svc-band__edge--top { bottom: calc(100% - 1px); height: calc(var(--svc-rise) + 14px); }
.svc-band__edge--top .svc-edge-d { background: var(--svc-teal-dark); clip-path: polygon(0 calc(100% - 12px), 100% 0, 100% 100%, 0 100%); }
.svc-band__edge--top .svc-edge-t { background: var(--svc-teal-mid); clip-path: polygon(0 100%, 100% 14px, 100% 100%); }
.svc-band__edge--bot { top: calc(100% - 1px); height: calc(var(--svc-rise) + 15px); }
.svc-band__edge--bot .svc-edge-d { background: var(--svc-teal-dark); clip-path: polygon(0 0, 100% 0, 100% 15px, 0 100%); }
.svc-band__edge--bot .svc-edge-t { background: var(--svc-teal-mid); clip-path: polygon(0 0, 100% 0, 0 calc(100% - 15px)); }
.svc-band__edge--bot > .svc-sh { top: -1px;}
.svc-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.svc-benefit {
  padding: 32px 24px;
  min-height: 211px;
  background: rgba(0, 0, 0, .73);
  border-top: 3px solid var(--svc-teal-bright);
  transition: transform .45s var(--svc-ease), box-shadow .45s var(--svc-ease);
}
.svc-benefit:hover { transform: translateY(-5px); }
.svc-benefit__label { font-family: var(--svc-f-mdcn); font-size: var(--svc-fs-24); line-height: 1.2; letter-spacing: .5px; text-transform: uppercase; }
.svc-benefit__num { margin-top: 4px; font-family: var(--svc-f-black); font-size: var(--svc-fs-num); line-height: 1.04; letter-spacing: .5px; }
.svc-benefit__desc { margin-top: 4px; font-size: var(--svc-fs-16); line-height: 1.27; }

/* ==========================================================================
   Direct Repair — steps
   ========================================================================== */
.svc-steps-sec { padding-top: var(--svc-sp-111); padding-bottom: var(--svc-sp-80); }
.svc-steps-sec .svc-head { gap: 12px; margin-bottom: 18px; }
.svc-steps-layout { display: grid; grid-template-columns: minmax(0, 647fr) minmax(0, 633fr); align-items: start; }
.svc-steps { position: relative; }
.svc-steps::before {
  content: "";
  position: absolute; left: 45px; top: 40px; bottom: 40px;
  width: 2px;
  background: linear-gradient(var(--svc-teal), rgba(0, 131, 154, .1));
  transform-origin: 50% 0;
  transform: scaleY(var(--svc-progress, 1));
  z-index: 0;
}
.svc-step { position: relative; z-index: 1; display: flex; gap: 16px; padding: 20px; border-radius: 8px; transition: background-color .3s ease; }
.svc-step:hover { background: rgba(255, 255, 255, .03); }
.svc-step__num {
  flex: 0 0 52px;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  background: var(--svc-teal);
  font-family: var(--svc-f-black); font-size: 28px; line-height: 1;
  color: #fff;
  box-shadow: 0 0 0 6px #000;
}
.svc-step__title { font-family: var(--svc-f-blkcn); font-size: var(--svc-fs-24); line-height: 1.2; text-transform: uppercase; }
.svc-step__text { margin-top: 2px; font-size: var(--svc-fs-15); line-height: 1.53; color: var(--svc-muted); }
.svc-need { margin-top: 23px; padding: 24px; border: 1px solid #767676; }
.svc-need__title { font-family: var(--svc-f-black); font-size: var(--svc-fs-24); line-height: 1.2; letter-spacing: 1px; text-transform: uppercase; }
.svc-need ul { margin-top: 16px; display: flex; flex-direction: column; gap: 16px; }
.svc-need li { display: flex; align-items: center; gap: 12px; font-size: var(--svc-fs-16); line-height: 1.25; }
.svc-need svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--svc-teal-eyebrow); }

/* ==========================================================================
   Direct Repair — shipping limits
   ========================================================================== */
.svc-ship .svc-head { margin-bottom: var(--svc-sp-48); }
.svc-ship .svc-sub-16 { font-size: var(--svc-fs-20); }
.svc-limits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.svc-limit { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid #838383; transition: border-color .3s ease, transform .45s var(--svc-ease); }
.svc-limit:hover { border-color: var(--svc-teal); transform: translateY(-4px); }
.svc-limit__val { font-family: var(--svc-f-black); font-size: var(--svc-fs-24); line-height: 1.2; text-transform: uppercase; }
.svc-limit__label { font-family: var(--svc-f-bold); font-size: var(--svc-fs-24); line-height: 1.2; }
.svc-limit__desc { font-size: var(--svc-fs-14); line-height: 1.4; color: #c0c0c0; }
.svc-exceed { margin-top: var(--svc-sp-48); display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 25px 21px; background: #000; border-left: 3px solid var(--svc-teal); }
.svc-exceed__title { font-family: var(--svc-f-bold); font-size: var(--svc-fs-20); line-height: 1.2; letter-spacing: 1px; text-transform: uppercase; }
.svc-exceed__text { font-size: var(--svc-fs-14); line-height: 1.6; color: var(--svc-muted); }
.svc-page .svc-exceed .svc-btn { min-height: 40px; padding: 11px 28px; font-size: var(--svc-fs-13); }

/* ==========================================================================
   Direct Repair — FAQ accordion
   ========================================================================== */
.svc-acc { border-top: 0; }
.svc-acc__item { border-bottom: 1px solid var(--svc-line); }
.svc-acc__item:last-child { border-bottom: 0; }
.svc-page .svc-acc__q {
  width: 100%;
  min-height: 60px;
  padding: 20px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  text-align: left;
  font-family: var(--svc-f-med);
  font-size: var(--svc-fs-15);
  line-height: 1.2;
  color: #fff;
  transition: color .25s ease;
}
.svc-page .svc-acc__q:hover { color: var(--svc-cyan); }
.svc-plus { position: relative; flex: 0 0 20px; width: 20px; height: 20px; }
.svc-plus::before,
.svc-plus::after {
  content: "";
  position: absolute; left: 4px; top: 9px;
  width: 12px; height: 2px;
  background: var(--svc-muted);
  transition: transform .4s var(--svc-ease), background-color .25s ease;
}
.svc-plus::after { transform: rotate(90deg); }
.svc-acc__q[aria-expanded="true"] .svc-plus::after { transform: rotate(0deg); }
.svc-acc__q[aria-expanded="true"] .svc-plus::before,
.svc-acc__q[aria-expanded="true"] .svc-plus::after { background: var(--svc-cyan); }
.svc-acc__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--svc-ease); }
.svc-acc__a.is-open { grid-template-rows: 1fr; }
.svc-acc__a > div { overflow: hidden; min-height: 0; }
.svc-acc__a p { padding: 0 44px 22px 0; font-size: var(--svc-fs-14); line-height: 1.6; color: #b4b4b9; max-width: 980px; }
.svc-notes { margin-top: var(--svc-sp-48); }
.svc-notes__lead { font-family: var(--svc-f-med); font-size: var(--svc-fs-20); line-height: 1.2; }
.svc-notes__fine { margin-top: 18px; font-size: var(--svc-fs-14); line-height: 1.3; }
.svc-page .svc-notes a:link,
.svc-page .svc-notes a:visited { color: #fff; text-decoration: underline; }

/* ==========================================================================
   Glass (Apple-style frosted surfaces)
   ========================================================================== */
.svc-glass {
  position: relative;
  background: linear-gradient(135deg, rgba(255, 255, 255, .11) 0%, rgba(255, 255, 255, .035) 42%, rgba(255, 255, 255, .06) 100%);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    inset 0 -1px 0 rgba(255, 255, 255, .04),
    0 24px 60px -18px rgba(0, 0, 0, .65);
  -webkit-backdrop-filter: blur(22px) saturate(170%);
  backdrop-filter: blur(22px) saturate(170%);
}
/* specular edge highlight */
.svc-glass::before {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, 0) 70%, rgba(0, 217, 255, .28));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}
.svc-glass--panel { border-radius: 18px; }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .svc-glass { background: rgba(28, 30, 36, .92); }
}

/* Glass form controls */
.svc-page .svc-glass--panel .svc-input,
.svc-page .svc-glass--panel .svc-select,
.svc-page .svc-glass--panel .svc-tokens {
  height: 46px;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(0, 0, 0, .28);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .35);
  line-height: 46px;
}
.svc-page .svc-glass--panel .svc-input:focus,
.svc-page .svc-glass--panel .svc-select:focus,
.svc-page .svc-glass--panel .svc-tokens.is-focus {
  border-color: rgba(0, 217, 255, .65);
  background: rgba(0, 0, 0, .38);
  box-shadow: 0 0 0 4px rgba(0, 131, 154, .28), inset 0 1px 2px rgba(0, 0, 0, .35);
}
.svc-page .svc-glass--panel .svc-btn { min-height: 46px; }
.svc-page .svc-glass--panel .svc-geobtn { height: 38px; top: 4px; right: 4px; width: 158px; border-radius: 8px; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .22); }
.svc-page .svc-glass--panel .svc-geobtn:hover { background: rgba(255, 255, 255, .18); border-color: rgba(0, 217, 255, .6); }
.svc-page .svc-glass--panel .svc-control--geo .svc-input { padding-right: 172px; }
.svc-search.svc-glass { background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04) 45%, rgba(0, 131, 154, .1)); }

/* ==========================================================================
   Section navigation — back button + breadcrumb
   Desktop: compact glass pill floating over the hero.
   ≤1100px: solid bar in the normal page flow (not absolute / not fixed).
   ========================================================================== */
/* Legacy site CSS styles every <nav> (teal bar, fixed height, min-width) — neutralise it. */
.svc-page nav.svc-subnav {
  float: none; width: auto; height: auto; min-height: 0; min-width: 0; max-width: none;
  margin: 0; padding: 0; border: 0; box-shadow: none; background-color: transparent; background-image: none;
  display: block; line-height: inherit; font-size: inherit; text-align: left;
  position: absolute; left: 0; right: 0; top: clamp(14px, 1.7vw, 24px); z-index: 6;
}
.svc-page .svc-subnav > .svc-wrap { padding-top: 0; padding-bottom: 0; min-width: 0; }
.svc-page .svc-subnav ol { float: none; width: auto; height: auto; margin: 0; }
.svc-page .svc-subnav li { float: none; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; list-style: none; }
.svc-page .svc-subnav__bar {
  display: inline-flex; align-items: center; gap: 14px;
  max-width: 100%; min-width: 0;
  padding: 5px 20px 5px 5px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .03) 55%, rgba(0, 131, 154, .14));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 18px 40px -18px rgba(0, 0, 0, .7);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
}
.svc-page a.svc-back:link,
.svc-page a.svc-back:visited {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 6px;
  height: 38px; padding: 0 14px 0 10px;
  border-radius: 999px;
  background: var(--svc-teal);
  color: #fff;
  font-family: var(--svc-f-bold); font-size: var(--svc-fs-13); text-transform: uppercase; letter-spacing: .04em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 16px -6px rgba(0, 131, 154, .8);
  transition: background-color .25s ease, transform .25s var(--svc-ease);
}
.svc-page a.svc-back:hover { background: var(--svc-teal-hover); transform: translateX(-2px); }
.svc-back svg { width: 18px; height: 18px; flex: 0 0 auto; }
.svc-page .svc-subnav .svc-crumbs {
  display: flex; align-items: center; gap: 6px; min-width: 0;
  font-size: var(--svc-fs-14); color: rgba(255, 255, 255, .72);
  white-space: nowrap; overflow-x: auto; scrollbar-width: none;
}
.svc-crumbs::-webkit-scrollbar { display: none; }
.svc-page .svc-subnav .svc-crumbs li { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.svc-crumbs li + li::before { content: ""; width: 6px; height: 6px; border-top: 1.5px solid rgba(255, 255, 255, .45); border-right: 1.5px solid rgba(255, 255, 255, .45); transform: rotate(45deg); margin: 0 6px 0 2px; }
.svc-page .svc-crumbs a:link,
.svc-page .svc-crumbs a:visited { color: rgba(255, 255, 255, .75); transition: color .2s ease;font-size: var(--svc-fs-14)!important; }
.svc-page .svc-crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.svc-page .svc-crumbs [aria-current] { color: #fff; font-family: var(--svc-f-bold);font-size: var(--svc-fs-16)!important; }

@media (max-width: 1100px) {
  .svc-page nav.svc-subnav {
    position: relative; top: 9px; z-index: 6;
    background: linear-gradient(180deg, #17191d, #0f1013);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
  }
  .svc-page nav.svc-subnav::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
    background: linear-gradient(90deg, var(--svc-teal) 0%, rgba(0, 151, 167, .35) 45%, transparent 100%);
  }
  .svc-page .svc-subnav__bar {
    display: flex; width: 100%;
    min-height: 58px; padding: 10px 0;
    border: 0; border-radius: 0; background: none; box-shadow: none;
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .svc-page a.svc-back:link,
  .svc-page a.svc-back:visited { height: 38px; width: 38px; padding: 0; justify-content: center; border-radius: 10px; background: rgba(0, 131, 154, .18); border: 1px solid rgba(0, 151, 167, .6); box-shadow: none; }
  .svc-page a.svc-back:hover { background: var(--svc-teal); }
  .svc-back__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .svc-page .svc-subnav .svc-crumbs { font-size: var(--svc-fs-14); }
}
/* ==========================================================================
   Solution cards — fake-3D tilt + border that draws from the top centre
   ========================================================================== */
.svc-tilt {
  position: relative;
  transform-style: preserve-3d;
  transform: perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);
  transition: transform .6s var(--svc-ease), box-shadow .6s var(--svc-ease), background-color .4s ease;
  will-change: transform;
}
.svc-tilt.is-tilting { transition: transform .12s linear, box-shadow .4s ease, background-color .4s ease; }
.svc-tilt > *:not(.svc-draw) { transform: translateZ(28px); }
.svc-tilt .svc-sol__cta { transform: translateZ(40px); }
.svc-tilt::after {
  /* moving glare */
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(520px circle at var(--gx, 50%) var(--gy, 0%), rgba(255, 255, 255, .03), transparent 42%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.svc-tilt:hover { box-shadow: 0 34px 60px -24px rgba(0, 0, 0, .8), 0 0 0 1px rgba(0, 151, 167, .15); background-color: #2a2d2d; }
.svc-tilt:hover::after { opacity: 1; }
/* Border draw: starts at the top centre, runs out to both corners, down both
   sides and meets again at the bottom centre (reverses on mouse-out). */
.svc-draw { position: absolute; inset: -1px; pointer-events: none; z-index: 2; }
.svc-draw i { position: absolute; display: block; background: var(--svc-teal-eyebrow); transition: transform .26s linear; }
.svc-draw__t { left: 0; right: 0; top: 0; height: 2px; transform: scaleX(0); transform-origin: 50% 50%; transition-delay: .52s !important; }
.svc-draw__l { left: 0; top: 0; bottom: 0; width: 2px; transform: scaleY(0); transform-origin: 50% 0; transition-delay: .26s !important; }
.svc-draw__r { right: 0; top: 0; bottom: 0; width: 2px; transform: scaleY(0); transform-origin: 50% 0; transition-delay: .26s !important; }
.svc-draw__bl { left: 0; width: 50%; bottom: 0; height: 2px; transform: scaleX(0); transform-origin: 0 50%; }
.svc-draw__br { right: 0; width: 50%; bottom: 0; height: 2px; transform: scaleX(0); transform-origin: 100% 50%; }
.svc-tilt:hover .svc-draw i,
.svc-tilt:focus-within .svc-draw i { transform: none; }
.svc-tilt:hover .svc-draw__t, .svc-tilt:focus-within .svc-draw__t { transition-delay: 0s !important; }
.svc-tilt:hover .svc-draw__l, .svc-tilt:hover .svc-draw__r,
.svc-tilt:focus-within .svc-draw__l, .svc-tilt:focus-within .svc-draw__r { transition-delay: .26s !important; }
.svc-tilt:hover .svc-draw__bl, .svc-tilt:hover .svc-draw__br,
.svc-tilt:focus-within .svc-draw__bl, .svc-tilt:focus-within .svc-draw__br { transition-delay: .52s !important; }

/* ==========================================================================
   Wizard — backdrop for the glass, tool picker, eligibility meters
   ========================================================================== */
.svc-wizard { overflow: hidden; }
.svc-backdrop { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.svc-backdrop i { position: absolute; display: block; }
.svc-backdrop__a { right: -4%; top: 22%; width: 34%; height: 110%; background: var(--svc-teal-mid); clip-path: polygon(40% 0, 100% 0, 60% 100%, 0 100%); opacity: .55; }
.svc-backdrop__b { right: 18%; top: 30%; width: 12%; height: 100%; background: var(--svc-teal-dark); clip-path: polygon(55% 0, 100% 0, 45% 100%, 0 100%); opacity: .9; }
.svc-backdrop__c { left: -10%; bottom: -30%; width: 50%; height: 80%; background: radial-gradient(closest-side, rgba(0, 131, 154, .45), transparent); }
.svc-wizard .svc-wrap { z-index: 2; }
.svc-wizbox.svc-glass { border-radius: 20px; padding: clamp(20px, 1.2rem + 1.4vw, 36px); background: linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03) 45%, rgba(255, 255, 255, .06)); }
.svc-wiz-q--2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }

.svc-field--tools { position: relative; z-index: 5; }
.svc-picker { position: relative; }
.svc-page .svc-tokens {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  height: auto !important;
  min-height: 46px;
  padding: 5px 8px;
  line-height: normal !important;
  cursor: text;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.svc-tokens__list { display: contents; }
/* Selected tool pills — explicit colours (legacy b/span rules otherwise turn the code black) */
.svc-page .svc-token {
  display: inline-flex; align-items: center; gap: 8px;
  max-width: 100%;
  height: 34px;
  padding: 0 4px 0 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .09);
  border: 1px solid rgba(255, 255, 255, .2);
  font-size: var(--svc-fs-14);
  color: #fff;
  animation: svc-pop .35s var(--svc-ease) both;
  transition: border-color .2s ease, background-color .2s ease;
}
.svc-page .svc-token:hover { border-color: rgba(0, 217, 255, .55); background: rgba(0, 131, 154, .18); }
.svc-page .svc-token b {
  display: inline-flex; align-items: center;
  height: 26px; padding: 0 10px;
  border-radius: 999px;
  background: var(--svc-teal);
  font-family: var(--svc-f-bold); font-weight: normal; font-size: var(--svc-fs-13);
  color: #fff; letter-spacing: .02em;
}
.svc-page .svc-token span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 26ch; color: #e2e6e8; }
.svc-page .svc-token--custom b { background: #4b5157; }
.svc-page .svc-token button {
  flex: 0 0 auto;
  width: 26px; height: 26px; border-radius: 50%;
  color: #cfd6d9; font-size: 17px; line-height: 24px; text-align: center;
  background: rgba(255, 255, 255, .08);
  transition: background-color .2s ease, color .2s ease;
}
.svc-page .svc-token button:hover { background: #ff6a3d; color: #fff; }
@keyframes svc-pop { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
.svc-page .svc-tokens__input {
  flex: 1 1 180px;
  min-width: 140px;
  height: 34px;
  padding: 0 6px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-family: var(--svc-f-roman);
  font-size: var(--svc-fs-14);
}
.svc-page .svc-tokens__input::placeholder { color: #9a9aa0; opacity: 1; }

/* Suggestions */
.svc-page .svc-suggest {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px);
  z-index: 20;
  max-height: 360px;
  overflow-y: auto;
  padding: 6px;
  border-radius: 14px;
  background: linear-gradient(160deg, #22262d, #101114);
  border: 1px solid rgba(255, 255, 255, .16);
  -webkit-backdrop-filter: none; backdrop-filter: none; /* opaque list: no blur compositing */
  box-shadow: 0 24px 50px -12px rgba(0, 0, 0, .8);
  scrollbar-width: thin;
}
.svc-page .svc-suggest li {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 14px;
  padding: 11px 12px;
  border-radius: 9px;
  cursor: pointer;
  font-size: var(--svc-fs-14);
  color: #e4e7e9;
}
.svc-page .svc-suggest li b { font-family: var(--svc-f-bold); font-weight: normal; color: #fff; }
.svc-page .svc-suggest li span { color: #cfd4d7; overflow: hidden; text-overflow: ellipsis; }
.svc-page .svc-suggest li em { font-style: normal; font-size: var(--svc-fs-12); color: #8fdbe7; white-space: nowrap; }
.svc-page .svc-suggest li.is-active,
.svc-page .svc-suggest li:hover { background: rgba(0, 131, 154, .5); }
.svc-page .svc-suggest li.is-active span,
.svc-page .svc-suggest li:hover span,
.svc-page .svc-suggest li.is-active em,
.svc-page .svc-suggest li:hover em { color: #fff; }
.svc-page .svc-suggest li.is-note { display: block; cursor: default; color: #a7adb1; font-size: var(--svc-fs-13); border-top: 1px solid rgba(255, 255, 255, .08); border-radius: 0; margin-top: 4px; }
.svc-page .svc-suggest li.is-note:hover { background: transparent; }
.svc-page .svc-hint { margin-top: 10px; font-size: var(--svc-fs-13); line-height: 1.4; color: #a7adb1; }
.svc-page .svc-wiz-note { color: #a7adb1; }

/* "Use my location" inside the Where are you? field */
.svc-control--locate { position: relative; }
.svc-page .svc-control--locate .svc-input { padding-right: 50px; }
.svc-page .svc-locate {
  position: absolute; right: 5px; top: 50%;
  width: 36px; height: 36px; margin-top: -18px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 9px;
  color: #8fdbe7;
  background: rgba(0, 131, 154, .16);
  transition: background-color .2s ease, color .2s ease;
}
.svc-page .svc-locate:hover { background: var(--svc-teal); color: #fff; }
.svc-locate svg { width: 20px; height: 20px; }
.svc-locate.is-busy svg { animation: svc-spin 1s linear infinite; }

/* Result panel: the package check leads, styled apart from the option cards below */
.svc-page .svc-rec__eyebrow { font-family: var(--svc-f-bold); font-size: var(--svc-fs-12); letter-spacing: .08em; text-transform: uppercase; color: #8fdbe7; margin-bottom: 10px; }
.svc-page .svc-rec__eyebrow--next { margin-top: 28px; margin-bottom: 6px; }
.svc-page .svc-rec__lead { color: #fff; }
.svc-page .svc-rec__fine { color: #a7adb1; }
.svc-page .svc-check {
  position: relative;
  padding: 20px 22px 18px 26px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 151, 167, .3), rgba(0, 131, 154, .12) 60%, rgba(0, 131, 154, .2));
  border: 1px solid rgba(0, 217, 255, .4);
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .18);
  overflow: hidden;
}
.svc-check::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--svc-cyan); }
.svc-page .svc-check.is-ok::before { background: #4fd68a; }
.svc-page .svc-check.is-over { background: linear-gradient(135deg, rgba(255, 106, 61, .26), rgba(255, 106, 61, .08) 60%, rgba(0, 0, 0, .15)); border-color: rgba(255, 138, 92, .55); }
.svc-page .svc-check.is-over::before { background: #ff6a3d; }
.svc-check__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.svc-page .svc-check__title { font-family: var(--svc-f-bold); font-size: var(--svc-fs-16); color: #fff; }
.svc-page .svc-check__status { font-family: var(--svc-f-bold); font-size: var(--svc-fs-12); text-transform: uppercase; letter-spacing: .05em; padding: 5px 12px; border-radius: 999px; }
.svc-page .svc-check__status.is-ok { background: #1f8f55; color: #fff; }
.svc-page .svc-check__status.is-over { background: #e0552a; color: #fff; }
.svc-page .svc-check__status.is-unknown { background: #e6eef0; color: #11343b; }
.svc-meters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 16px; }
.svc-page .svc-meter__label { display: flex; justify-content: space-between; gap: 8px; font-size: var(--svc-fs-13); color: #d9e6e9; }
.svc-page .svc-meter__label span { color: #d9e6e9; }
.svc-page .svc-meter__label b { font-family: var(--svc-f-bold); font-weight: normal; color: #fff; }
.svc-meter__bar { position: relative; height: 8px; margin-top: 8px; border-radius: 99px; background: rgba(0, 0, 0, .35); overflow: hidden; }
.svc-meter__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 99px; background: linear-gradient(90deg, #36c8dd, #9ff2ff); transition: width 1s var(--svc-ease) .15s; }
.svc-meter.is-over .svc-meter__bar i { background: linear-gradient(90deg, #ff7a3d, #ff4d2e); }
.svc-page .svc-check__note { margin-top: 14px; font-size: var(--svc-fs-12); line-height: 1.5; color: #c3d2d5; }
.svc-rec-card.is-out { opacity: .6; }
.svc-rec-card.is-out h3 { text-decoration: line-through; text-decoration-color: rgba(255, 122, 61, .8); }
.svc-rec-card.svc-glass { border-radius: 14px; }

/* Tablet / phone: one-column suggestion rows (code + weight, then the name) */
@media (max-width: 1100px) {
  .svc-page .svc-suggest li { grid-template-columns: minmax(0, 1fr) auto; }
  .svc-page .svc-suggest li span { grid-column: 1 / -1; grid-row: 2; white-space: normal; }
  .svc-page .svc-suggest li em { grid-row: 1; grid-column: 2; }
  .svc-page .svc-token span { max-width: 16ch; }
}

/* ==========================================================================
   Compare table — scroll affordance
   ========================================================================== */
.svc-table-wrap { position: relative; }
.svc-table-wrap::before,
.svc-table-wrap::after {
  content: "";
  position: absolute; top: 1px; bottom: 1px;
  width: 44px;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity .3s ease;
}
.svc-table-wrap::after { right: 1px; background: linear-gradient(270deg, rgba(0, 0, 0, .75), transparent); }
.svc-table-wrap.can-right::after { opacity: 1; }
.svc-swipe { display: none; margin-bottom: 10px; font-family: var(--svc-f-med); font-size: var(--svc-fs-13); color: var(--svc-cyan); }
.svc-swipe span { display: inline-block; animation: svc-nudge 1.6s ease-in-out infinite; }
@keyframes svc-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
.svc-table-wrap.can-right .svc-swipe,
.svc-table-wrap.can-left .svc-swipe { display: block; }
.svc-table-scroll { border-radius: 4px; scrollbar-width: thin; scrollbar-color: rgba(0, 151, 167, .6) transparent; }
.svc-table-scroll::-webkit-scrollbar { height: 8px; }
.svc-table-scroll::-webkit-scrollbar-thumb { background: rgba(0, 151, 167, .55); border-radius: 8px; }
/* The question column: its own tint, pinned while the answers scroll */
.svc-page .svc-table tbody th {
  position: sticky; left: 0; z-index: 2;
  background: #16242a;
  color: #fff;
  font-family: var(--svc-f-med);
  box-shadow: inset -1px 0 0 rgba(0, 151, 167, .35);
  transition: box-shadow .3s ease;
}
.svc-page .svc-table thead th:first-child { position: sticky; left: 0; z-index: 2; background: #1b2c33; color: #fff; box-shadow: inset -1px 0 0 rgba(0, 151, 167, .35); }
.svc-table-wrap.can-left .svc-table tbody th,
.svc-table-wrap.can-left .svc-table thead th:first-child { box-shadow: inset -1px 0 0 rgba(0, 151, 167, .5), 14px 0 18px -8px rgba(0, 0, 0, .85); }
.svc-page .svc-table tbody tr:hover th { background: #1b2d34; }

/* Soft line breaks that only make sense on wide screens */
@media (max-width: 1100px) {
  .svc-br-lg { display: none; }
}

/* ==========================================================================
   Motion — fail-open: from-states only apply once .svc-anim is on the root
   (added by an inline script), and .svc-anim-off forces everything visible.
   ========================================================================== */
.svc-anim [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity .8s ease, transform 1s var(--svc-ease);
  transition-delay: var(--svc-d, 0s);
}
.svc-anim [data-reveal="left"] { transform: translate3d(-40px, 0, 0); }
.svc-anim [data-reveal="right"] { transform: translate3d(40px, 0, 0); }
.svc-anim [data-reveal="zoom"] { transform: scale(.94); }
.svc-anim [data-reveal].is-in { opacity: 1; transform: none; }

/* Slabs sweep in from the edge they bleed off */
.svc-anim .svc-geo .svc-slab,
.svc-anim .svc-geo .svc-hero__photo { transition: transform 1.3s var(--svc-ease), opacity .9s ease; }
.svc-anim .svc-hero:not(.is-in) .svc-slab--d { transform: translate3d(22%, 0, 0); opacity: 0; }
.svc-anim .svc-hero:not(.is-in) .svc-slab--t { transform: translate3d(34%, 0, 0); opacity: 0; }
.svc-anim .svc-hero:not(.is-in) .svc-hero__photo { transform: translate3d(12%, 0, 0); opacity: 0; }
.svc-anim .svc-geo .svc-slab--t { transition-delay: .12s; }
.svc-anim .svc-geo .svc-hero__photo { transition-delay: .22s; }
.svc-anim .svc-hero__map { transition: opacity 2s ease .3s, transform 2.4s var(--svc-ease) .1s; }
.svc-anim .svc-hero:not(.is-in) .svc-hero__map { opacity: 0; transform: rotate(23.3deg) scale(1.06); }

.svc-anim .svc-corner i,
.svc-anim .svc-accent i { transition: transform 1.1s var(--svc-ease); }
.svc-anim .svc-corner:not(.is-in) i { transform: translate3d(-100%, -100%, 0); }
.svc-anim .svc-corner .svc-corner__t { transition-delay: .1s; }
.svc-anim .svc-accent:not(.is-in) i { transform: translate3d(100%, 100%, 0); }
.svc-anim .svc-accent .svc-accent__t { transition-delay: .12s; }

.svc-anim .svc-max__d1,
.svc-anim .svc-max__d2,
.svc-anim .svc-max__t1,
.svc-anim .svc-max__t2,
.svc-anim .svc-max__photo { transition: transform 1.3s var(--svc-ease), opacity 1s ease; }
.svc-anim .svc-max:not(.is-in) .svc-max__t1 { transform: translate3d(-18%, 0, 0); opacity: 0; }
.svc-anim .svc-max:not(.is-in) .svc-max__d1 { transform: translate3d(-26%, 0, 0); opacity: 0; }
.svc-anim .svc-max:not(.is-in) .svc-max__d2 { transform: translate3d(20%, 0, 0); opacity: 0; }
.svc-anim .svc-max .svc-max__t1 { transition-delay: .08s; }
.svc-anim .svc-max .svc-max__d2 { transition-delay: .2s; }
.svc-anim .svc-max:not(.is-in) .svc-max__photo { transform: translate3d(10%, 0, 0); opacity: 0; }
.svc-anim .svc-max:not(.is-in) .svc-max__t2 { transform: translate3d(14%, 0, 0); opacity: 0; }
.svc-anim .svc-max .svc-max__photo { transition-delay: .15s; }
.svc-anim .svc-max .svc-max__t2 { transition-delay: .25s; }

.svc-anim .svc-band__edge i { transition: transform 1.2s var(--svc-ease); }
.svc-anim .svc-band:not(.is-in) .svc-band__edge--top .svc-edge-d { transform: translate3d(-100%, 0, 0); }
.svc-anim .svc-band:not(.is-in) .svc-band__edge--bot .svc-edge-d { transform: translate3d(100%, 0, 0); }
.svc-anim .svc-band .svc-band__edge--bot .svc-edge-d { transition-delay: .2s; }

.svc-anim-off [data-reveal] { opacity: 1 !important; transform: none !important; }
.svc-anim-off .svc-hero__map { opacity: .42 !important; transform: rotate(23.3deg) !important; }
.svc-anim-off .svc-hero--landing .svc-hero__map { opacity: .2 !important; }
.svc-anim-off .svc-geo .svc-slab,
.svc-anim-off .svc-geo .svc-hero__photo,
.svc-anim-off .svc-corner i,
.svc-anim-off .svc-accent i,
.svc-anim-off .svc-band__edge i,
.svc-anim-off .svc-max__d1,
.svc-anim-off .svc-max__d2,
.svc-anim-off .svc-max__t1,
.svc-anim-off .svc-max__t2,
.svc-anim-off .svc-max__photo { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  .svc-page *,
  .svc-page *::before,
  .svc-page *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; transition-delay: 0s !important; }
  .svc-anim [data-reveal] { opacity: 1; transform: none; }
  .svc-hero__photo img, .svc-max__photo img { transform: none !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {
  .svc-sol-grid { gap: 24px; }
  .svc-hero--landing .svc-hero__content { max-width: 56%; }
}

@media (max-width: 1100px) {
  .svc-sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-sol { min-height: 0; }
  .svc-sol:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .svc-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-res-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-fac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-rec__grid { grid-template-columns: 1fr; }
  .svc-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .svc-list, .svc-map-box { height: 720px; }
  .svc-steps-layout { grid-template-columns: 1fr; }
  .svc-need { margin-top: 24px; }
  .svc-max__copy { max-width: 58%; }
  .svc-hero--band .svc-hero__content { max-width: 74%; }
}

/* Tablet / phone: photos stack under the copy, slabs become a divider band */
@media (max-width: 900px) {
  .svc-hero--band .svc-slab--d { clip-path: polygon(93% 0, 100% 0, 100% 100%, 86% 100%); }
  .svc-hero--band .svc-slab--t { clip-path: polygon(96.5% 0, 100% 0, 100% 100%, 90.5% 100%); }
  .svc-hero--band .svc-hero__map { width: 120%; left: 10%; top: 8%; }
  .svc-hero--band .svc-hero__content { max-width: 100%; padding-right: 12%; }
  .svc-hero__lede br { display: none; }

  .svc-search { flex-wrap: wrap; }
  .svc-field--loc { flex: 1 1 100%; }
  .svc-field--radius { flex: 1 1 160px; }

  .svc-wiz-q { grid-template-columns: 1fr; gap: 20px; }
  .svc-wiz-act { flex-direction: column-reverse; align-items: stretch; text-align: left; }
  .svc-page .svc-wiz-act .svc-btn { width: 100%; }

  /* photo + slabs on top, copy below */
  .svc-max { min-height: 0; padding-top: 0; display: flex; flex-direction: column; }
  .svc-max__stack { order: 1; position: relative; margin: 0; height: clamp(300px, 80vw, 520px); }
  .svc-max .svc-wrap { order: 2; padding-top: var(--svc-sp-100); }
  .svc-max__copy { max-width: 100%; }
  .svc-max__d1 { clip-path: polygon(2% 0, 27% 0, 15% 100%, -10% 100%); }
  .svc-max__t1 { clip-path: polygon(8% 0, 21% 0, 9% 100%, -4% 100%); }
  .svc-max__photo { clip-path: polygon(24% 0, 97% 0, 89% 100%, 12% 100%); }
  .svc-max__t2 { clip-path: polygon(97% 0, 101% 0, 93% 100%, 89% 100%); }
  .svc-max__d2 { clip-path: polygon(101% 0, 106% 0, 98% 100%, 93% 100%); }
  .svc-max__photo img { left: 0; width: 100%; }

  .svc-split { grid-template-columns: 1fr; }
  .svc-map-box { position: relative; top: 0; height: clamp(320px, 70vw, 520px); order: -1; }
  .svc-list { height: auto; max-height: 820px; padding-right: 8px; }

  .svc-types { grid-template-columns: 1fr; gap: 24px; }
  .svc-cta .svc-wrap { flex-direction: column; align-items: flex-start; }
  .svc-max__stack { display: none; }
}

@media (min-width: 901px) {
  .svc-max__stack { position: absolute; inset: 0; }
}

@media (max-width: 1100px) {
  /* Comparison table scrolls sideways under the pinned question column */
  .svc-page .svc-table col.svc-col-feat { width: 170px; }
  .svc-table { min-width: 880px; }
}

/* --- Landing hero, tablet: keep the diagonal side-by-side composition --- */
@media (min-width: 641px) and (max-width: 1100px) {
  .svc-hero--landing { min-height: clamp(500px, 60vw, 620px); }
  .svc-hero--landing .svc-wrap { padding-top: 64px; padding-bottom: 64px; }
  .svc-hero--landing .svc-hero__content { max-width: 50%; }
  .svc-hero--landing .svc-hero__map { width: 70%; left: 4%; top: 6%; }
  .svc-hero--landing .svc-slab--d { clip-path: polygon(55% 0, 100% 0, 100% 100%, 44% 100%); }
  .svc-hero--landing .svc-slab--t { clip-path: polygon(58% 0, 100% 0, 100% 100%, 47% 100%); }
  .svc-hero--landing .svc-hero__photo { left: 50%; clip-path: polygon(30% 0, 100% 0, 100% 100%, 8% 100%); }
  .svc-hero--landing .svc-btnrow { flex-direction: column; align-items: flex-start; gap: 12px; }
  
}

/* --- Landing hero, phone: photo header cut on a diagonal, then two parallel
       bands (light teal over dark teal), each casting a shadow onto the next --- */
@media (max-width: 640px) {
  .svc-hero--landing { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
  .svc-hero--landing .svc-geo { position: relative; inset: auto; order: -1; height: clamp(320px, 96vw, 440px); }
  .svc-hero--landing .svc-hero__photo { left: 0; clip-path: polygon(0 0, 100% 0, 100% 68%, 0 82%); }
  .svc-hero--landing .svc-hero__photo img { object-position: bottom; inset: 0 0;height: calc(100%); }
  .svc-hero--landing .svc-slab--t { clip-path: polygon(0 82%, 100% 68%, 100% 77%, 0 91%); }
  .svc-hero--landing .svc-slab--d { clip-path: polygon(0 91%, 100% 77%, 100% 86%, 0 100%); }
  /* same soft, centred glow as desktop (0 0 67px + 0 0 28px), scaled to the thinner phone bands */
  .svc-hero--landing .svc-shadow { filter: drop-shadow(0px 0 30px rgba(0, 0, 0, .3)) drop-shadow(0px 0 12px rgba(0, 0, 0, .3)); }
  /* .svc-hero--landing .svc-shadow--photo { filter: drop-shadow(0 8px 9px rgba(0, 0, 0, .6)); } */
  .svc-hero--landing .svc-corner { display: none; }
  .svc-hero--landing .svc-wrap { padding-top: 8px; padding-bottom: 48px; }
  .svc-hero--landing .svc-hero__content { max-width: 100%; }
  .svc-hero--landing .svc-hero__map {display: none; }
  .svc-anim .svc-hero--landing:not(.is-in) .svc-hero__photo { transform: translate3d(0, -6%, 0); }
  .svc-anim .svc-hero--landing:not(.is-in) .svc-slab--t { transform: translate3d(-45%, 0, 0); }
  .svc-anim .svc-hero--landing:not(.is-in) .svc-slab--d { transform: translate3d(45%, 0, 0); }
  .svc-max__stack{display:none;}
}

/* --- Hero top space: the section nav sits in flow above the hero at ≤1100px --- */
@media (max-width: 1100px) {
  .svc-hero--locator .svc-wrap { padding-top: clamp(64px, 8vw, 88px); }
  .svc-hero--dr .svc-wrap { padding-top: clamp(40px, 7vw, 80px); }
}
@media (max-width: 760px) {
  .svc-wiz-q--2 { grid-template-columns: 1fr; }
  .svc-meters { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 640px) {
  .svc-page .svc-btn,
  .svc-page a.svc-btn:link,
  .svc-page a.svc-btn:visited { white-space: normal; }
  .svc-btnrow { flex-direction: column; align-items: stretch; width: 100%; }
  .svc-page .svc-btnrow .svc-btn { width: 100%; }
  .svc-sol-grid, .svc-res-grid, .svc-fac-grid, .svc-limits, .svc-benefits, .svc-faq-grid { grid-template-columns: 1fr; }
  .svc-sol { padding: 36px 22px; }
  .svc-benefit { min-height: 0; }
  .svc-search { padding: 18px; gap: 14px; }
  .svc-control--geo .svc-input { padding-right: 12px; }
  .svc-page .svc-geobtn { position: static; width: 100%; margin-top: 10px; }
  .svc-page .svc-search .svc-btn { width: 100%; }
  .svc-filters { gap: 12px; }
  .svc-page .svc-chip { padding: 0 16px; }
  .svc-steps::before { left: 45px; }
  .svc-step { padding: 16px 12px; gap: 14px; }
  .svc-step__num { flex-basis: 44px; width: 44px; height: 44px; font-size: 24px; }
  .svc-page a.svc-res:link, .svc-page a.svc-res:visited, .svc-page .svc-res { min-height: 0; }
  .svc-cta .svc-btnrow .svc-btn { white-space: normal; }
  .svc-acc__a p { padding-right: 8px; }
}

/* ==========================================================================
   Late overrides (must follow the Motion rules)
   ========================================================================== */
/* Tilt takes over from the reveal transform once a card is revealed */
.svc-anim .svc-sol-grid .svc-tilt.is-in,
.svc-anim-off .svc-sol-grid .svc-tilt,
.svc-page:not(.svc-anim) .svc-sol-grid .svc-tilt {
  transform: perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);
  transition: transform .6s var(--svc-ease), box-shadow .6s var(--svc-ease), background-color .4s ease, opacity .8s ease;
  transition-delay: 0s;
}
.svc-anim .svc-sol-grid .svc-tilt.is-in.is-tilting { transition: transform .12s linear, box-shadow .4s ease, background-color .4s ease; }

/* Dark glass on the teal band */
.svc-benefit.svc-glass {
  background: linear-gradient(160deg, rgba(0, 0, 0, .7), rgba(0, 20, 26, .55));
  border: 1px solid rgba(255, 255, 255, .12);
  border-top: 3px solid var(--svc-teal-bright);
  border-radius: 0 0 14px 14px;
}
.svc-benefit.svc-glass::before { border-radius: 0 0 14px 14px; }
.svc-need.svc-glass { border-radius: 16px; background: linear-gradient(150deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02) 55%, rgba(0, 131, 154, .1)); }

@media (prefers-reduced-motion: reduce) {
  .svc-page .svc-tilt { transform: none !important; }
  .svc-draw i { transition: none !important; }
}


@media (max-width: 640px) {
  .svc-page .svc-glass--panel .svc-control--geo .svc-input { padding-right: 12px; }
  .svc-page .svc-glass--panel .svc-geobtn { position: static; width: 100%; height: 42px; margin-top: 10px; }
}

/* Compare table on phones: slim pinned question column + fixed-width answer columns,
   so one full answer column sits beside the questions and each swipe snaps to the next. */
@media (max-width: 640px) {
  .svc-table { min-width: 0; width: calc(118px + 3 * 216px); }
  .svc-page .svc-table col.svc-col-feat { width: 118px; }
  .svc-page .svc-table col:not(.svc-col-feat) { width: 216px; }
  .svc-page .svc-table th,
  .svc-page .svc-table td { padding: 13px 12px; font-size: var(--svc-fs-14); line-height: 1.35; white-space: normal; overflow-wrap: break-word; }
  .svc-page .svc-table tbody th { font-size: var(--svc-fs-13); }
  .svc-table-scroll { scroll-snap-type: x mandatory; scroll-padding-left: 118px; }
  .svc-page .svc-table thead th:not(:first-child) { scroll-snap-align: start; }
}

/* ==========================================================================
   Round 4 additions
   ========================================================================== */
/* Factory cards: black fill on hover (background is already in the card transition) */
.svc-page .svc-loc--grid:hover { background-color: #000; }

/* Locator: with only 1–2 results the list is short, so the map shrinks to match (set in JS) */
.svc-split.is-few .svc-list { height: auto; max-height: none; }
.svc-map-box { transition: height .45s var(--svc-ease); }

/* Long French figure on the benefit band */
.svc-page .svc-benefit__num--long { font-size: var(--svc-fs-26); line-height: 1.15; padding: 6px 0 4px; }

/* Purolator badge (Repair by Mail card + Direct Repair hero) */
.svc-puro {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 6px 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  line-height: 1;
}
.svc-page .svc-puro__label { font-family: var(--svc-f-bold); font-size: var(--svc-fs-12); text-transform: uppercase; letter-spacing: .05em; color: #dfe4e6; }
.svc-puro__word,
.svc-puro__logo {
  display: inline-flex; align-items: center;
  height: 28px; padding: 0 12px;
  border-radius: 999px;
  background: #fff;
}
.svc-page .svc-puro__word { font-family: var(--svc-f-black); font-style: italic; font-size: 15px; letter-spacing: .02em; color: #e21836; }
.svc-page img.svc-puro__logo { width: auto; max-width: 140px; height: 28px; padding: 4px 10px; object-fit: contain; }
.svc-puro--card { margin-top: 20px; align-self: flex-start; }
.svc-hero__puro { margin-top: 42px; }
@media (max-width: 640px) {
  .svc-puro { flex-wrap: wrap; border-radius: 16px; }
}

/* Back to top */
.svc-page .svc-totop {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(22px + env(safe-area-inset-bottom));
  z-index: 900;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(11, 12, 14, .72);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .2);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  opacity: 0; visibility: hidden;
  transform: translate3d(0, 16px, 0) scale(.9);
  transition: opacity .35s ease, transform .45s var(--svc-ease), visibility 0s linear .45s, background-color .25s ease;
  cursor: pointer;
}
.svc-page .svc-totop.is-visible { opacity: 1; visibility: visible; transform: none; transition: opacity .35s ease, transform .45s var(--svc-ease), visibility 0s, background-color .25s ease; }
.svc-page .svc-totop:hover { background: var(--svc-teal); }
.svc-page .svc-totop:hover .svc-totop__svg path { transform: translateY(-2px); }
.svc-totop__svg { width: 52px; height: 52px; position: absolute; inset: -1px; }
.svc-totop__svg path { transition: transform .3s var(--svc-ease); }
.svc-totop__track { fill: none; stroke: rgba(255, 255, 255, .12); stroke-width: 2.5; }
.svc-totop__ring { fill: none; stroke: var(--svc-cyan); stroke-width: 2.5; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset .12s linear; }
#svcPage:focus { outline: none; }
@media (max-width: 640px) {
  .svc-page .svc-totop { width: 46px; height: 46px; right: 14px; bottom: calc(16px + env(safe-area-inset-bottom)); }
  .svc-totop__svg { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .svc-page .svc-totop { transition: opacity .01s, visibility 0s; transform: none; }
}

/* "*" at the end of a line → Direct Repair shipping footnote. Plain teal, no underline or border. */
.svc-page a.svc-star:link,
.svc-page a.svc-star:visited {
  margin-left: 2px;
  color: var(--svc-teal-eyebrow);
  font-family: var(--svc-f-bold);
  font-size: 1.15em;
  line-height: 1;
  text-decoration: none;
  border: 0;
  transition: color .2s ease;
}
.svc-page a.svc-star:hover,
.svc-page a.svc-star:focus-visible { color: var(--svc-cyan); text-decoration: none; }
.svc-page .svc-puro a.svc-star:link,
.svc-page .svc-puro a.svc-star:visited { margin-left: 1px; color: #19b6cc; }

/* Purolator logo chip */
.svc-page img.svc-puro__logo { width: auto; max-width: 150px; height: 30px; padding: 5px 12px; border-radius: 999px; background: #fff; object-fit: contain; }