/*
 * Homepage migration / digital restoration room
 * Loaded after search-landing.css and service-detail.css.
 * This file deliberately keeps every override under .renewal-service-page.
 */

.service-detail-page.renewal-service-page {
  --canvas: #e9edeb;
  --surface: #f7f8f3;
  --ink: #121714;
  --copy: #46504a;
  --muted: #68726c;
  --line: rgba(18, 23, 20, 0.2);
  --blue: #536900;
  --service-accent: #536900;
  --service-accent-strong: #d8ff47;
  --service-focus: #536900;
  --service-hero: #0e1411;
  --service-hero-copy: #f6f8f2;
  --service-hero-muted: #bac3bd;
  --service-panel: #dfe5e1;
  --renewal-coal: #0e1411;
  --renewal-coal-soft: #18201c;
  --renewal-mineral: #e9edeb;
  --renewal-paper: #f7f8f3;
  --renewal-ink: #121714;
  --renewal-copy: #46504a;
  --renewal-muted: #68726c;
  --renewal-line: rgba(18, 23, 20, 0.2);
  --renewal-signal: #d8ff47;
  --renewal-signal-ink: #536900;
  --renewal-signal-soft: #ebffc0;
  --renewal-grid: rgba(216, 255, 71, 0.09);
  color: var(--renewal-ink);
  background: var(--renewal-mineral);
}

.renewal-service-page .search-page {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(18, 23, 20, 0.025) 1px, transparent 1px) 0 0 / 40px 40px,
    var(--renewal-mineral);
}

.renewal-service-page .search-page > * { position: relative; z-index: 1; }

.service-detail-page.renewal-service-page :focus-visible {
  outline: 3px solid var(--renewal-signal-ink);
  outline-offset: 4px;
}

.renewal-service-page .search-nav :focus-visible,
.renewal-service-page .renewal-hero :focus-visible,
.renewal-service-page .search-footer :focus-visible {
  outline-color: var(--renewal-signal);
}

.renewal-service-page .search-kicker,
.renewal-service-page [class*="renewal-lab-"] small,
.renewal-service-page [class*="renewal-ledger-"] small,
.renewal-service-page [class*="renewal-offer-"] small {
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

/* One dark navigation rail; the signal colour is reserved for the action. */
.service-detail-page.renewal-service-page .search-nav {
  min-height: 72px;
  border-bottom: 1px solid rgba(216, 255, 71, 0.24);
  background: rgba(14, 20, 17, 0.94);
  color: #f6f8f2;
  backdrop-filter: blur(16px);
}

.renewal-service-page .service-brand-mark { color: var(--renewal-signal); }
.renewal-service-page .search-nav nav { color: #b7c0ba; }

.service-detail-page.renewal-service-page .search-nav .search-primary {
  min-height: 46px;
  border: 1px solid var(--renewal-signal);
  border-radius: 0;
  background: var(--renewal-signal);
  color: var(--renewal-ink);
  font-weight: 820;
}

.renewal-service-page .service-mobile-nav {
  border-bottom-color: rgba(216, 255, 71, 0.22);
  background: var(--renewal-coal);
}

.renewal-service-page .service-mobile-nav a:first-child { color: var(--renewal-signal); }

/* Full-canvas hero. The generated restoration-room image supplies the story. */
.service-detail-page.renewal-service-page .renewal-hero {
  position: relative;
  min-height: min(900px, calc(100svh - 72px));
  isolation: isolate;
  overflow: hidden;
  background: var(--renewal-coal);
}

.service-detail-page.renewal-service-page .renewal-hero .search-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  min-height: min(900px, calc(100svh - 72px));
  grid-template-columns: 1fr;
  align-items: center;
  margin: 0;
  padding: clamp(86px, 10vw, 144px) max(24px, calc((100vw - 1240px) / 2));
}

.renewal-service-page .renewal-hero .service-hero-copy {
  z-index: 3;
  width: min(660px, 56vw);
  align-self: center;
  padding: 34px 0;
}

.service-detail-page.renewal-service-page .renewal-hero .search-kicker {
  color: var(--renewal-signal);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
  font-size: 0.73rem;
  letter-spacing: 0.13em;
}

.service-detail-page.renewal-service-page .renewal-hero h1 {
  max-width: 10.5ch;
  margin: 24px 0 28px;
  color: #f6f8f2;
  font-size: clamp(4rem, 7.2vw, 7rem);
  font-weight: 820;
  line-height: 0.98;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.service-detail-page.renewal-service-page .renewal-hero h1 span { color: var(--renewal-signal); }

.service-detail-page.renewal-service-page .renewal-hero .search-lede {
  max-width: 40rem;
  color: #d3dbd5;
  font-size: clamp(1rem, 1.3vw, 1.13rem);
  line-height: 1.78;
  text-wrap: pretty;
}

.service-detail-page.renewal-service-page .renewal-hero .search-actions a {
  min-height: 52px;
  border: 1px solid rgba(246, 248, 242, 0.46);
  border-radius: 0;
  background: rgba(14, 20, 17, 0.56);
  color: #f6f8f2;
  backdrop-filter: blur(10px);
}

.service-detail-page.renewal-service-page .renewal-hero .search-actions a:first-child {
  border-color: var(--renewal-signal);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-hero .service-launch-note { color: #c7d0ca; }
.renewal-service-page .renewal-hero .service-launch-note i {
  border-radius: 0;
  background: var(--renewal-signal);
  box-shadow: 0 0 0 5px rgba(216, 255, 71, 0.14);
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-height: 100%;
  border: 0;
  margin: 0;
  background: var(--renewal-coal);
  animation: renewal-canvas-arrive 1.1s both cubic-bezier(0.22, 1, 0.36, 1);
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.78) contrast(1.04) brightness(0.9);
  transform: scale(1.015);
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7, 11, 9, 0.98) 0%, rgba(7, 11, 9, 0.86) 32%, rgba(7, 11, 9, 0.34) 62%, rgba(7, 11, 9, 0.12) 100%),
    linear-gradient(0deg, rgba(7, 11, 9, 0.62), transparent 48%);
  content: "";
  pointer-events: none;
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 61%;
  z-index: 2;
  width: 1px;
  background: linear-gradient(180deg, transparent 3%, var(--renewal-signal) 18% 82%, transparent 97%);
  box-shadow: 0 0 28px rgba(216, 255, 71, 0.36);
  content: "";
  transform-origin: center;
  animation: renewal-scan-line 1.45s 250ms both cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual figcaption {
  right: max(24px, calc((100vw - 1240px) / 2));
  bottom: 28px;
  left: auto;
  z-index: 4;
  display: grid;
  width: min(570px, 42vw);
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(216, 255, 71, 0.34);
  background: rgba(14, 20, 17, 0.86);
  color: #f2f6f3;
  backdrop-filter: blur(12px);
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual figcaption > * {
  min-height: 52px;
  border-left-color: rgba(216, 255, 71, 0.2);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
  font-size: 0.7rem;
  letter-spacing: -0.01em;
}

.service-detail-page.renewal-service-page .service-hero .renewal-hero-visual figcaption > :first-child {
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

/* Compact evidence ledger below the hero, not a strip of floating cards. */
.service-detail-page.renewal-service-page .search-facts {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto 34px;
  border-color: var(--renewal-line);
  background: transparent;
  counter-reset: renewal-fact;
}

.service-detail-page.renewal-service-page .search-facts div {
  position: relative;
  min-height: 118px;
  padding: 26px 22px 24px 44px;
  counter-increment: renewal-fact;
}

.renewal-service-page .search-facts div::before {
  position: absolute;
  top: 28px;
  left: 0;
  color: var(--renewal-signal-ink);
  font: 760 0.64rem/1 "Geist Mono Variable", "Geist Mono", monospace;
  content: "0" counter(renewal-fact);
}

.renewal-service-page .search-facts dt {
  color: var(--renewal-muted);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
  text-transform: uppercase;
}

.renewal-service-page .search-facts dd { color: var(--renewal-ink); font-weight: 760; }

/* Section grammar: offset editorial headings and hard rules. */
.service-detail-page.renewal-service-page .search-section {
  width: min(1240px, calc(100% - 48px));
  border-top-color: var(--renewal-line);
  scroll-margin-top: 82px;
}

.service-detail-page.renewal-service-page .search-section > header {
  grid-template-columns: minmax(260px, 0.68fr) minmax(420px, 1.32fr);
  gap: clamp(48px, 9vw, 130px);
}

.service-detail-page.renewal-service-page .search-section > header .search-kicker {
  color: var(--renewal-signal-ink);
  font-size: 0.68rem;
  letter-spacing: 0.13em;
}

.service-detail-page.renewal-service-page .search-section h2 {
  max-width: 13ch;
  color: var(--renewal-ink);
  font-size: clamp(2.45rem, 4.2vw, 4.35rem);
  font-weight: 790;
  line-height: 1.05;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.service-detail-page.renewal-service-page .search-section > header p {
  color: var(--renewal-copy);
  line-height: 1.8;
}

/* Four phases behave as one connected instrument rail. */
.renewal-service-page .renewal-review-flow {
  border-color: var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-review-flow li {
  position: relative;
  min-height: 124px;
  padding: 22px 22px 20px;
  border-color: var(--renewal-line);
}

.renewal-service-page .renewal-review-flow li::after {
  position: absolute;
  right: 14px;
  bottom: 13px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--renewal-ink);
  content: "";
}

.renewal-service-page .renewal-review-flow li.is-current {
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-review-flow li.is-current::after { background: var(--renewal-ink); }
.renewal-service-page .renewal-review-flow li.is-done {
  background:
    repeating-linear-gradient(-45deg, transparent 0 8px, rgba(18, 23, 20, 0.06) 8px 9px),
    var(--renewal-paper);
}

.renewal-service-page .renewal-review-flow span {
  color: var(--renewal-signal-ink);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
}

.renewal-service-page .renewal-review-flow li.is-current span,
.renewal-service-page .renewal-review-flow li.is-current small { color: #2c3500; }

/* Assessment sheet. The dark context is a horizontal docket, not a sidebar card. */
.renewal-service-page .renewal-assessment-layout {
  grid-template-columns: 1fr;
  margin-top: 48px;
  border: 1px solid var(--renewal-ink);
  background: var(--renewal-paper);
}

.renewal-service-page .renewal-assessment-layout > aside {
  display: grid;
  min-height: 0;
  grid-template-columns: 0.52fr 1.08fr 1.28fr 0.82fr;
  gap: 28px;
  align-items: start;
  padding: 30px 34px;
  border-bottom: 1px solid rgba(216, 255, 71, 0.26);
  color: #f4f7f3;
  background:
    linear-gradient(90deg, var(--renewal-grid) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--renewal-coal);
}

.renewal-service-page .renewal-assessment-layout > aside p {
  color: var(--renewal-signal);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
}

.renewal-service-page .renewal-assessment-layout > aside > strong {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.24;
}

.renewal-service-page .renewal-assessment-layout > aside ul {
  display: grid;
  gap: 0;
  margin: 0;
  border-color: rgba(216, 255, 71, 0.22);
}

.renewal-service-page .renewal-assessment-layout > aside li {
  padding: 10px 0;
  border-color: rgba(216, 255, 71, 0.16);
  color: #d6ddd8;
}

.renewal-service-page .renewal-assessment-layout > aside > small {
  margin: 0;
  padding: 0;
  color: #aeb9b2;
}

.renewal-service-page .renewal-check-form,
.renewal-service-page .renewal-check-result {
  padding: clamp(38px, 6vw, 78px);
  overflow-anchor: none;
  background:
    linear-gradient(90deg, rgba(18, 23, 20, 0.025) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--renewal-paper);
}

.renewal-service-page .renewal-check-progress {
  grid-template-columns: auto minmax(120px, 1fr);
  margin-bottom: 46px;
}

.renewal-service-page .renewal-check-progress > strong {
  color: var(--renewal-signal-ink);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
}

.renewal-service-page .renewal-check-progress > span {
  height: 5px;
  border: 1px solid var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-check-progress > span i { background: var(--renewal-signal); }

.renewal-service-page .renewal-check-form legend {
  max-width: 22ch;
  color: var(--renewal-ink);
  font-size: clamp(1.85rem, 3.6vw, 3.3rem);
  font-weight: 790;
  line-height: 1.12;
}

.renewal-service-page .renewal-check-form legend span {
  color: var(--renewal-signal-ink);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
}

.renewal-service-page .renewal-check-form fieldset > p {
  margin: 18px 0 34px;
  color: var(--renewal-copy);
  font-size: 0.91rem;
}

.renewal-service-page .renewal-check-options { border-top-color: var(--renewal-ink); }

.renewal-service-page .renewal-check-options label {
  position: relative;
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 88px;
  gap: 18px;
  padding: 15px 16px;
  border-bottom-color: var(--renewal-line);
  background: transparent;
  transition: background-color 160ms ease;
}

.renewal-service-page .renewal-check-options label::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: var(--renewal-signal);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
}

.renewal-service-page .renewal-check-options input {
  width: 22px;
  height: 22px;
  appearance: none;
  border: 1px solid var(--renewal-ink);
  border-radius: 0;
  background: transparent;
}

.renewal-service-page .renewal-check-options input:checked {
  border: 5px solid var(--renewal-ink);
  background: var(--renewal-signal);
}

.renewal-service-page .renewal-check-options label:has(input:checked) {
  padding: 15px 16px;
  background: var(--renewal-signal-soft);
}

.renewal-service-page .renewal-check-options label:has(input:checked)::before { opacity: 1; }

.renewal-service-page .renewal-check-options label:has(input:focus-visible) {
  outline-color: var(--renewal-signal-ink);
}

.renewal-service-page .renewal-check-options strong { font-size: 0.98rem; }
.renewal-service-page .renewal-check-options small { color: var(--renewal-muted); font-size: 0.76rem; }

.renewal-service-page .renewal-check-actions { border-top-color: var(--renewal-ink); }

.renewal-service-page .renewal-check-actions button,
.renewal-service-page .renewal-check-result > button {
  min-height: 50px;
  border-color: var(--renewal-ink);
  border-radius: 0;
  color: var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-check-actions [data-renewal-next],
.renewal-service-page .renewal-check-actions [data-renewal-finish] {
  border-color: var(--renewal-ink);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-check-actions button:disabled {
  border-color: #aab2ad;
  color: #747d77;
  background: #dfe4e1;
  opacity: 1;
}

.renewal-service-page .renewal-check-disclaimer,
.renewal-service-page .renewal-check-result > small { color: var(--renewal-muted); }

.renewal-service-page .renewal-check-result:focus-visible {
  outline-color: var(--renewal-signal-ink);
}

.renewal-service-page .renewal-check-result > p:first-child { color: var(--renewal-signal-ink); }
.renewal-service-page .renewal-check-result h3 {
  font-size: clamp(2.15rem, 4vw, 4rem);
  font-weight: 790;
  line-height: 1.08;
}

.renewal-service-page .renewal-check-result > a {
  border: 1px solid var(--renewal-ink);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

/* Before / salvage / after is presented as a restoration bench. */
.renewal-service-page .renewal-comparison {
  position: relative;
  grid-template-columns: minmax(0, 1fr) 136px minmax(0, 1fr);
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid var(--renewal-coal);
  background:
    linear-gradient(90deg, rgba(216, 255, 71, 0.07) 1px, transparent 1px) 0 0 / 34px 34px,
    linear-gradient(rgba(216, 255, 71, 0.07) 1px, transparent 1px) 0 0 / 34px 34px,
    var(--renewal-coal);
}

.renewal-service-page .renewal-browser {
  position: relative;
  border: 1px solid #78827c;
  border-radius: 0;
  background: #d8ddda;
  box-shadow: none;
}

.renewal-service-page .renewal-browser.is-before { transform: translateY(18px) rotate(-0.6deg); }
.renewal-service-page .renewal-browser.is-before::after {
  position: absolute;
  top: 42px;
  right: 0;
  padding: 6px 9px;
  background: #323936;
  color: #dfe4e1;
  font: 720 0.58rem/1 "Geist Mono Variable", "Geist Mono", monospace;
  letter-spacing: 0.06em;
  content: "ARCHIVE / UNSTABLE";
}

.renewal-service-page .renewal-browser-bar {
  border-color: rgba(18, 23, 20, 0.28);
  background: #cbd1cd;
}

.renewal-service-page .renewal-browser-bar i {
  width: 6px;
  height: 6px;
  border-radius: 0;
  background: #707a74;
}

.renewal-service-page .renewal-browser > footer { background: #d2d8d4; }
.renewal-service-page .renewal-browser > footer span { border-radius: 0; }

.renewal-service-page .renewal-asset-rail {
  min-height: 100%;
  align-content: center;
  border-block: 1px solid var(--renewal-ink);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-asset-rail small,
.renewal-service-page .renewal-asset-rail i { color: var(--renewal-ink); }
.renewal-service-page .renewal-asset-rail span {
  border-color: rgba(18, 23, 20, 0.42);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-browser.is-after {
  border: 2px solid var(--renewal-signal);
  background: var(--renewal-paper);
  transform: translateY(-10px) rotate(0.45deg);
}

.renewal-service-page .renewal-browser.is-after::after {
  position: absolute;
  top: 42px;
  right: 0;
  padding: 6px 9px;
  background: var(--renewal-signal);
  color: var(--renewal-ink);
  font: 800 0.58rem/1 "Geist Mono Variable", "Geist Mono", monospace;
  letter-spacing: 0.06em;
  content: "RESTORED / READY";
}

.renewal-service-page .renewal-browser.is-after .renewal-browser-bar { background: #e4e9e5; }
.renewal-service-page .renewal-browser.is-after > footer { background: var(--renewal-coal); }
.renewal-service-page .renewal-current-screen { background: #f0f3ee; }
.renewal-service-page .renewal-current-copy small { color: var(--renewal-signal-ink); }
.renewal-service-page .renewal-current-copy b { background: var(--renewal-coal); }
.renewal-service-page .renewal-current-media { background: #9ca9a1; }
.renewal-service-page .renewal-current-media::before {
  background:
    linear-gradient(145deg, rgba(216, 255, 71, 0.5), transparent 40%),
    linear-gradient(32deg, #4f5d55, #bac4be);
}

.renewal-service-page .renewal-comparison-note {
  border-left-color: var(--renewal-signal-ink);
  color: var(--renewal-copy);
}

/* Scope and process use rules, not floating cards. */
.renewal-service-page .renewal-asset-columns,
.renewal-service-page .renewal-cost-layout {
  border-color: var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-asset-columns section,
.renewal-service-page .renewal-cost-layout section { background: transparent; }

.renewal-service-page .renewal-asset-columns section + section,
.renewal-service-page .renewal-cost-layout section + section {
  border-color: var(--renewal-line);
  background:
    repeating-linear-gradient(-45deg, transparent 0 12px, rgba(18, 23, 20, 0.03) 12px 13px),
    #dfe5e1;
}

.renewal-service-page .renewal-asset-columns section > span,
.renewal-service-page .renewal-cost-layout section > span,
.renewal-service-page .renewal-process span {
  color: var(--renewal-signal-ink);
  font-family: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;
}

.renewal-service-page .renewal-process { border-top-color: var(--renewal-ink); }
.renewal-service-page .renewal-process article {
  position: relative;
  border-color: var(--renewal-line);
}

.renewal-service-page .renewal-process article::after {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 18px;
  height: 3px;
  background: var(--renewal-signal);
  content: "";
}

.renewal-service-page .renewal-cost-actions a {
  border-radius: 0;
  border-color: var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-cost-actions a:first-child {
  border-color: var(--renewal-ink);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

/* Intro statement: a short restoration definition followed by a compact ledger. */
.renewal-service-page .renewal-lab-statement {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(420px, 1.58fr);
  gap: 24px clamp(48px, 9vw, 132px);
  align-items: start;
}

.renewal-service-page .renewal-lab-statement > .search-kicker {
  color: var(--renewal-signal-ink);
}

.renewal-service-page .renewal-lab-statement > div h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.4vw, 4.5rem);
  font-weight: 790;
  line-height: 1.07;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.renewal-service-page .renewal-lab-statement > div > p {
  max-width: 42rem;
  margin: 28px 0 0;
  color: var(--renewal-copy);
  line-height: 1.8;
}

.renewal-service-page .renewal-ledger-compact {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px 0 0;
  border-top: 1px solid var(--renewal-ink);
  border-bottom: 1px solid var(--renewal-ink);
}

.renewal-service-page .renewal-ledger-compact > div {
  min-width: 0;
  min-height: 136px;
  padding: 26px 24px;
}

.renewal-service-page .renewal-ledger-compact > div + div { border-left: 1px solid var(--renewal-line); }
.renewal-service-page .renewal-ledger-compact dt {
  color: var(--renewal-signal-ink);
  font: 760 0.68rem/1.4 "Geist Mono Variable", "Geist Mono", monospace;
}
.renewal-service-page .renewal-ledger-compact dd {
  margin: 24px 0 0;
  color: var(--renewal-ink);
  font-size: 1rem;
  font-weight: 710;
  line-height: 1.65;
  word-break: keep-all;
}

/* The concrete migration work ledger has four aligned fields. */
.renewal-service-page .renewal-assets > .renewal-ledger {
  border-top: 1px solid var(--renewal-ink);
  border-bottom: 1px solid var(--renewal-ink);
}

.renewal-service-page .renewal-assets .renewal-ledger-row {
  display: grid;
  grid-template-columns: 72px minmax(150px, 0.58fr) minmax(300px, 1.42fr) minmax(110px, 0.38fr);
  gap: 24px;
  align-items: center;
  min-height: 116px;
  padding: 22px 0;
  border-bottom: 1px solid var(--renewal-line);
}

.renewal-service-page .renewal-assets .renewal-ledger-row:last-child { border-bottom: 0; }
.renewal-service-page .renewal-assets .renewal-ledger-row > span {
  color: var(--renewal-signal-ink);
  font: 760 0.7rem/1 "Geist Mono Variable", "Geist Mono", monospace;
}
.renewal-service-page .renewal-assets .renewal-ledger-row h3 {
  margin: 0;
  font-size: 1.18rem;
  letter-spacing: -0.025em;
}
.renewal-service-page .renewal-assets .renewal-ledger-row p {
  margin: 0;
  color: var(--renewal-copy);
  line-height: 1.72;
  word-break: keep-all;
}
.renewal-service-page .renewal-assets .renewal-ledger-row > strong {
  justify-self: end;
  color: var(--renewal-ink);
  font: 740 0.7rem/1.4 "Geist Mono Variable", "Geist Mono", monospace;
  text-align: right;
}

/* Actual product markup: two joined slabs, not independent pricing cards. */
.renewal-service-page .renewal-cost-layout.renewal-offer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--renewal-ink);
  background: var(--renewal-ink);
}

.renewal-service-page .renewal-offer-list .renewal-offer {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 0;
  align-content: start;
  min-width: 0;
  min-height: 540px;
  padding: clamp(34px, 4.5vw, 58px);
  border: 0;
  background: var(--renewal-paper);
}

.renewal-service-page .renewal-offer-list .renewal-offer + .renewal-offer {
  border-left: 1px solid rgba(216, 255, 71, 0.36);
}

.renewal-service-page .renewal-offer-list .renewal-offer.is-primary {
  background:
    linear-gradient(90deg, rgba(18, 23, 20, 0.065) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-offer-list .renewal-offer.is-plus {
  background:
    linear-gradient(90deg, rgba(216, 255, 71, 0.075) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--renewal-coal);
  color: #eef3ef;
}

.renewal-service-page .renewal-offer-list .renewal-offer > span {
  color: inherit;
  font: 760 0.7rem/1.35 "Geist Mono Variable", "Geist Mono", monospace;
  letter-spacing: 0.05em;
}

.renewal-service-page .renewal-offer-list .renewal-offer h3 {
  margin: 22px 0 12px;
  font-size: clamp(2rem, 3.5vw, 3.55rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.renewal-service-page .renewal-offer-list .renewal-offer-monthly {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: baseline;
  margin: 0;
  color: #405000;
  font-size: 0.78rem;
}

.renewal-service-page .renewal-offer-list .renewal-offer-monthly strong {
  color: inherit;
  font-size: 1.02rem;
}

.renewal-service-page .renewal-offer-list .is-plus .renewal-offer-monthly { color: #c6d0ca; }

.renewal-service-page .renewal-offer-list .renewal-offer ul {
  display: grid;
  gap: 0;
  margin: 34px 0 0;
  padding: 0;
  border-top: 1px solid currentColor;
  list-style: none;
}

.renewal-service-page .renewal-offer-list .is-primary ul { color: #263000; }
.renewal-service-page .renewal-offer-list .is-plus ul { color: #d8e0db; }

.renewal-service-page .renewal-offer-list .renewal-offer li {
  position: relative;
  padding: 13px 0 13px 20px;
  border-bottom: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  line-height: 1.55;
  word-break: keep-all;
}

.renewal-service-page .renewal-offer-list .renewal-offer li::before {
  position: absolute;
  top: 1.24rem;
  left: 2px;
  width: 6px;
  height: 6px;
  border: 1px solid currentColor;
  background: transparent;
  content: "";
}

.renewal-service-page .renewal-offer-list .renewal-offer > a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  align-self: end;
  margin-top: 32px;
  padding: 0 18px;
  border: 1px solid currentColor;
  color: inherit;
  background: transparent;
  font-size: 0.84rem;
  font-weight: 780;
  text-decoration: none;
}

.renewal-service-page .renewal-offer-list .is-primary > a { background: var(--renewal-ink); color: #f5f7f2; }
.renewal-service-page .renewal-offer-list .is-plus > a { background: var(--renewal-signal); color: var(--renewal-ink); }

.renewal-service-page .renewal-scope-gate {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(360px, 1.08fr);
  gap: 36px clamp(48px, 8vw, 100px);
  margin-top: 56px;
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid var(--renewal-ink);
  background:
    repeating-linear-gradient(-45deg, transparent 0 13px, rgba(18, 23, 20, 0.035) 13px 14px),
    #dfe5e1;
}

.renewal-service-page .renewal-scope-gate h3,
.renewal-service-page .renewal-price-baseline h3 {
  margin: 16px 0 18px;
  font-size: clamp(1.55rem, 2.8vw, 2.55rem);
  line-height: 1.16;
  letter-spacing: -0.045em;
}

.renewal-service-page .renewal-scope-gate p {
  margin: 0;
  color: var(--renewal-copy);
  line-height: 1.75;
}

.renewal-service-page .renewal-scope-gate ul {
  margin: 0;
  padding-left: 1.2rem;
  border-top: 1px solid var(--renewal-ink);
  color: var(--renewal-copy);
}

.renewal-service-page .renewal-scope-gate li {
  padding: 13px 0;
  border-bottom: 1px solid var(--renewal-line);
  line-height: 1.55;
}

.renewal-service-page .renewal-scope-gate > small {
  grid-column: 1 / -1;
  padding-top: 18px;
  border-top: 1px solid var(--renewal-line);
  color: var(--renewal-muted);
  line-height: 1.65;
}

.renewal-service-page .renewal-price-baseline {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(330px, 1fr) auto;
  gap: 32px;
  align-items: center;
  margin-top: 28px;
  padding: 28px 0;
  border-top: 1px solid var(--renewal-ink);
  border-bottom: 1px solid var(--renewal-ink);
}

.renewal-service-page .renewal-price-baseline h3 { margin-bottom: 0; }
.renewal-service-page .renewal-price-baseline dl { margin: 0; }
.renewal-service-page .renewal-price-baseline dl > div {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid var(--renewal-line);
}
.renewal-service-page .renewal-price-baseline dl > div:first-child { border-top: 1px solid var(--renewal-line); }
.renewal-service-page .renewal-price-baseline dt { color: var(--renewal-muted); font-size: 0.78rem; }
.renewal-service-page .renewal-price-baseline dd {
  display: grid;
  gap: 4px;
  margin: 0;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}
.renewal-service-page .renewal-price-baseline dd strong { color: var(--renewal-ink); }
.renewal-service-page .renewal-price-baseline dd span { color: var(--renewal-muted); }
.renewal-service-page .renewal-price-baseline > a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid var(--renewal-ink);
  color: var(--renewal-ink);
  font-size: 0.78rem;
  font-weight: 760;
  text-decoration: none;
}

.renewal-service-page .renewal-price-note {
  margin: 18px 0 0;
  padding-left: 18px;
  border-left: 3px solid var(--renewal-signal-ink);
  color: var(--renewal-muted);
  font-size: 0.76rem;
  line-height: 1.7;
}

/* Future restoration-lab components. */
.renewal-service-page .renewal-lab-canvas,
.renewal-service-page .renewal-lab-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--renewal-coal);
  background:
    linear-gradient(90deg, var(--renewal-grid) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(var(--renewal-grid) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--renewal-coal);
  color: #eef3ef;
}

.renewal-service-page .renewal-lab-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(112px, 0.26fr) minmax(0, 1fr);
  align-items: stretch;
}

.renewal-service-page .renewal-lab-screen {
  position: relative;
  min-width: 0;
  border: 1px solid rgba(216, 255, 71, 0.26);
  background: #dfe4e1;
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-lab-screen.is-source,
.renewal-service-page .renewal-lab-screen.is-before {
  filter: grayscale(1) contrast(0.88);
  transform: translateY(14px);
}

.renewal-service-page .renewal-lab-screen.is-restored,
.renewal-service-page .renewal-lab-screen.is-after {
  border-color: var(--renewal-signal);
  box-shadow: 10px -10px 0 var(--renewal-signal);
}

.renewal-service-page .renewal-lab-toolbar {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border-bottom: 1px solid currentColor;
  font: 650 0.68rem/1.2 "Geist Mono Variable", "Geist Mono", monospace;
}

.renewal-service-page .renewal-lab-status,
.renewal-service-page .renewal-lab-tag {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid currentColor;
  border-radius: 0;
  font: 740 0.66rem/1.25 "Geist Mono Variable", "Geist Mono", monospace;
}

.renewal-service-page .renewal-lab-status.is-ready,
.renewal-service-page .renewal-lab-tag.is-kept { background: var(--renewal-signal); color: var(--renewal-ink); }

.renewal-service-page .renewal-lab-scan {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100%;
  background: var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .renewal-lab-scan::before {
  width: 1px;
  height: 72%;
  background: currentColor;
  content: "";
}

.renewal-service-page .renewal-lab-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.renewal-service-page .renewal-lab-caption {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: 18px;
  border-top: 1px solid rgba(216, 255, 71, 0.28);
  color: #c4cec8;
}

/* Product offer register. It reads as one ledger, never as a pricing-card tower. */
.renewal-service-page .renewal-offer-register,
.renewal-service-page .renewal-offer-list,
.renewal-service-page .renewal-offer-grid {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--renewal-ink);
  border-bottom: 1px solid var(--renewal-ink);
  background: transparent;
}

.renewal-service-page .renewal-offer,
.renewal-service-page .renewal-offer-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 96px minmax(190px, 0.95fr) minmax(260px, 1.45fr) minmax(155px, 0.62fr);
  gap: 24px;
  align-items: center;
  min-height: 142px;
  padding: 26px 24px 26px 0;
  border-bottom: 1px solid var(--renewal-line);
  background: transparent;
}

.renewal-service-page .renewal-offer:last-child,
.renewal-service-page .renewal-offer-row:last-child { border-bottom: 0; }

.renewal-service-page .renewal-offer.is-featured,
.renewal-service-page .renewal-offer-row.is-featured,
.renewal-service-page .renewal-offer.is-migration {
  padding-left: 24px;
  background: var(--renewal-signal);
}

.renewal-service-page .renewal-offer-code {
  color: var(--renewal-signal-ink);
  font: 760 0.68rem/1.35 "Geist Mono Variable", "Geist Mono", monospace;
  letter-spacing: 0.06em;
}

.renewal-service-page .is-featured .renewal-offer-code,
.renewal-service-page .is-migration .renewal-offer-code { color: #344200; }

.renewal-service-page .renewal-offer-name {
  font-size: clamp(1.22rem, 2vw, 1.72rem);
  font-weight: 790;
  line-height: 1.25;
  letter-spacing: -0.035em;
}

.renewal-service-page .renewal-offer-scope,
.renewal-service-page .renewal-offer-description {
  margin: 0;
  color: var(--renewal-copy);
  line-height: 1.7;
}

.renewal-service-page .is-featured .renewal-offer-scope,
.renewal-service-page .is-featured .renewal-offer-description,
.renewal-service-page .is-migration .renewal-offer-scope,
.renewal-service-page .is-migration .renewal-offer-description { color: #303b0c; }

.renewal-service-page .renewal-offer-price {
  display: grid;
  gap: 4px;
  justify-items: start;
  font-variant-numeric: tabular-nums;
}

.renewal-service-page .renewal-offer-price strong { font-size: 1.18rem; letter-spacing: -0.025em; }
.renewal-service-page .renewal-offer-price span,
.renewal-service-page .renewal-offer-subscription { color: var(--renewal-muted); font-size: 0.78rem; }
.renewal-service-page .is-featured .renewal-offer-price span,
.renewal-service-page .is-featured .renewal-offer-subscription,
.renewal-service-page .is-migration .renewal-offer-price span,
.renewal-service-page .is-migration .renewal-offer-subscription { color: #3c4815; }

.renewal-service-page .renewal-offer-note {
  margin: 20px 0 0;
  padding: 17px 0 17px 18px;
  border-left: 3px solid var(--renewal-signal-ink);
  color: var(--renewal-copy);
  line-height: 1.7;
}

.renewal-service-page .renewal-offer-hidden,
.renewal-service-page [data-offer-visibility="hidden"] { display: none !important; }

/* Generic operational ledger primitives for scope, price, and result summaries. */
.renewal-service-page .renewal-ledger,
.renewal-service-page .renewal-ledger-list {
  border-top: 1px solid var(--renewal-ink);
  border-bottom: 1px solid var(--renewal-ink);
}

.renewal-service-page .renewal-ledger-head,
.renewal-service-page .renewal-ledger-row {
  display: grid;
  grid-template-columns: minmax(118px, 0.5fr) minmax(220px, 1fr) minmax(260px, 1.45fr);
  gap: 24px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--renewal-line);
}

.renewal-service-page .renewal-ledger-head {
  color: var(--renewal-muted);
  font: 700 0.68rem/1.4 "Geist Mono Variable", "Geist Mono", monospace;
  letter-spacing: 0.05em;
}

.renewal-service-page .renewal-ledger-row:last-child { border-bottom: 0; }
.renewal-service-page .renewal-ledger-key {
  color: var(--renewal-signal-ink);
  font: 750 0.72rem/1.5 "Geist Mono Variable", "Geist Mono", monospace;
}
.renewal-service-page .renewal-ledger-value { font-weight: 760; line-height: 1.55; }
.renewal-service-page .renewal-ledger-detail { color: var(--renewal-copy); line-height: 1.7; }
.renewal-service-page .renewal-ledger-status {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--renewal-ink);
  background: var(--renewal-signal);
  color: var(--renewal-ink);
  font: 760 0.66rem/1.2 "Geist Mono Variable", "Geist Mono", monospace;
}

/* FAQ and final conversion remain part of the same technical dossier. */
.renewal-service-page .search-faq { border-top-color: var(--renewal-ink); }
.renewal-service-page .search-faq details { border-bottom-color: var(--renewal-line); }
.renewal-service-page .search-faq summary {
  position: relative;
  min-height: 72px;
  align-content: center;
  padding: 10px 52px 10px 0;
}

.renewal-service-page .search-faq summary::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 14px;
  height: 14px;
  border-right: 2px solid var(--renewal-signal-ink);
  border-bottom: 2px solid var(--renewal-signal-ink);
  content: "";
  transform: translateY(-65%) rotate(45deg);
  transition: transform 180ms ease;
}

.renewal-service-page .search-faq details[open] summary::after { transform: translateY(-35%) rotate(225deg); }

.renewal-service-page .service-final.renewal-final {
  width: 100%;
  margin: 20px 0 0;
  padding: clamp(60px, 8vw, 110px) max(24px, calc((100vw - 1240px) / 2));
  border: 0;
  background:
    linear-gradient(90deg, rgba(18, 23, 20, 0.08) 1px, transparent 1px) 0 0 / 36px 36px,
    var(--renewal-signal);
  color: var(--renewal-ink);
}

.renewal-service-page .service-final.renewal-final .search-kicker { color: #3c4a00; }
.renewal-service-page .service-final.renewal-final h2 {
  max-width: 10ch;
  color: var(--renewal-ink);
  font-size: clamp(2.7rem, 5vw, 5.3rem);
  line-height: 1.02;
}

.renewal-service-page .service-final.renewal-final p { color: #34400c; }
.renewal-service-page .service-final.renewal-final a {
  min-height: 52px;
  border: 1px solid var(--renewal-ink);
  border-radius: 0;
  color: var(--renewal-ink);
  background: transparent;
}
.renewal-service-page .service-final.renewal-final a:first-child {
  background: var(--renewal-ink);
  color: #f5f7f2;
}

.renewal-service-page .search-footer { background: var(--renewal-coal); }

@media (hover: hover) {
  .service-detail-page.renewal-service-page .search-nav .search-primary:hover,
  .renewal-service-page .renewal-check-actions [data-renewal-next]:not(:disabled):hover,
  .renewal-service-page .renewal-check-actions [data-renewal-finish]:hover,
  .renewal-service-page .renewal-check-result > a:hover {
    background: #e4ff78;
  }

  .renewal-service-page .renewal-check-options label:hover { background: #eef2ed; }
  .renewal-service-page .renewal-check-options label:has(input:checked):hover { background: var(--renewal-signal-soft); }
  .renewal-service-page .renewal-browser.is-after:hover { transform: translateY(-13px) rotate(0deg); }
  .renewal-service-page .renewal-browser { transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1); }
}

@keyframes renewal-canvas-arrive {
  from { opacity: 0; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes renewal-scan-line {
  from { opacity: 0; transform: translateX(-28vw) scaleY(0.25); }
  35% { opacity: 1; }
  to { opacity: 1; transform: translateX(0) scaleY(1); }
}

@media (max-width: 980px) {
  .renewal-service-page .renewal-hero .service-hero-copy { width: min(650px, 72vw); }

  .renewal-service-page .renewal-assessment-layout > aside {
    grid-template-columns: 0.7fr 1.3fr;
  }

  .renewal-service-page .renewal-assessment-layout > aside ul,
  .renewal-service-page .renewal-assessment-layout > aside > small { margin-top: 4px; }

  .renewal-service-page .renewal-offer,
  .renewal-service-page .renewal-offer-row {
    grid-template-columns: 74px minmax(180px, 0.82fr) minmax(220px, 1.18fr);
  }

  .renewal-service-page .renewal-offer-price { grid-column: 2 / -1; }
}

@media (max-width: 760px) {
  .service-detail-page.renewal-service-page .search-nav { min-height: 62px; }
  .renewal-service-page .service-mobile-nav { display: none; }

  .service-detail-page.renewal-service-page .renewal-hero,
  .service-detail-page.renewal-service-page .renewal-hero .search-hero-grid {
    min-height: max(680px, calc(100svh - 62px));
  }

  .service-detail-page.renewal-service-page .renewal-hero .search-hero-grid {
    align-items: end;
    padding: 72px 20px 122px;
  }

  .renewal-service-page .renewal-hero .service-hero-copy {
    width: 100%;
    max-width: 560px;
    padding: 0;
  }

  .service-detail-page.renewal-service-page .renewal-hero h1 {
    max-width: 13ch;
    margin: 18px 0 22px;
    font-size: clamp(2.65rem, 11vw, 3.375rem);
    line-height: 1.02;
  }

  .service-detail-page.renewal-service-page .renewal-hero .search-lede {
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.7;
  }

  .service-detail-page.renewal-service-page .service-hero .renewal-hero-visual img {
    object-position: 58% center;
  }

  .service-detail-page.renewal-service-page .service-hero .renewal-hero-visual::after {
    background:
      linear-gradient(0deg, rgba(7, 11, 9, 0.98) 0%, rgba(7, 11, 9, 0.8) 48%, rgba(7, 11, 9, 0.16) 100%),
      linear-gradient(90deg, rgba(7, 11, 9, 0.5), transparent 80%);
  }

  .service-detail-page.renewal-service-page .service-hero .renewal-hero-visual::before {
    left: 68%;
    opacity: 0.68;
  }

  .service-detail-page.renewal-service-page .service-hero .renewal-hero-visual figcaption {
    right: 20px;
    bottom: 16px;
    left: 20px;
    width: auto;
  }

  .service-detail-page.renewal-service-page .search-facts,
  .service-detail-page.renewal-service-page .search-section { width: calc(100% - 32px); }

  .service-detail-page.renewal-service-page .search-section > header { grid-template-columns: 1fr; gap: 22px; }

  .service-detail-page.renewal-service-page .search-section h2 {
    max-width: 15ch;
    font-size: clamp(2rem, 8.8vw, 2.375rem);
    line-height: 1.1;
  }

  .renewal-service-page .renewal-lab-statement {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .renewal-service-page .renewal-lab-statement > div h2 {
    max-width: 16ch;
    font-size: clamp(2rem, 8.8vw, 2.375rem);
  }

  .renewal-service-page .renewal-ledger-compact {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .renewal-service-page .renewal-ledger-compact > div { min-height: 0; padding: 22px 0; }
  .renewal-service-page .renewal-ledger-compact > div + div {
    border-top: 1px solid var(--renewal-line);
    border-left: 0;
  }

  .renewal-service-page .renewal-ledger-compact dd { margin-top: 12px; }

  .renewal-service-page .renewal-review-flow {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .renewal-service-page .renewal-review-flow::-webkit-scrollbar { display: none; }
  .renewal-service-page .renewal-review-flow li {
    flex: 0 0 168px;
    min-height: 108px;
    border-top: 0 !important;
    border-left: 1px solid var(--renewal-line) !important;
    scroll-snap-align: start;
  }
  .renewal-service-page .renewal-review-flow li:first-child { border-left: 0 !important; }

  .renewal-service-page .renewal-assessment-layout { margin-top: 28px; }
  .renewal-service-page .renewal-assessment-layout > aside {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 26px 22px;
  }
  .renewal-service-page .renewal-assessment-layout > aside ul { margin: 4px 0 0; }
  .renewal-service-page .renewal-assessment-layout > aside > small { padding-top: 2px; }

  .renewal-service-page .renewal-check-form,
  .renewal-service-page .renewal-check-result {
    padding: 30px 18px;
    scroll-margin-top: 72px;
  }

  .renewal-service-page .renewal-assessment-section.is-enhanced .renewal-check-form fieldset { min-height: 430px; }
  .renewal-service-page .renewal-check-form fieldset { scroll-margin-top: 140px; }
  .renewal-service-page .renewal-check-form legend { font-size: clamp(1.62rem, 7.6vw, 2.3rem); }
  .renewal-service-page .renewal-check-options label {
    min-height: 88px;
    padding: 14px 8px;
  }
  .renewal-service-page .renewal-check-options label:has(input:checked) { padding: 14px 8px; }
  .renewal-service-page .renewal-check-options strong { font-size: 0.93rem; }
  .renewal-service-page .renewal-check-options small { font-size: 0.73rem; }

  .renewal-service-page .renewal-comparison { grid-template-columns: 1fr; padding: 18px; }
  .renewal-service-page .renewal-browser.is-before,
  .renewal-service-page .renewal-browser.is-after { transform: none; }
  .renewal-service-page .renewal-asset-rail {
    width: 92%;
    min-height: 62px;
    grid-template-columns: auto repeat(3, 1fr) auto;
    justify-self: center;
    border: 1px solid var(--renewal-ink);
  }

  .renewal-service-page .renewal-lab-grid { grid-template-columns: 1fr; }
  .renewal-service-page .renewal-lab-scan { min-height: 60px; }
  .renewal-service-page .renewal-lab-scan::before { width: 76%; height: 1px; }
  .renewal-service-page .renewal-lab-screen.is-source,
  .renewal-service-page .renewal-lab-screen.is-before,
  .renewal-service-page .renewal-lab-screen.is-restored,
  .renewal-service-page .renewal-lab-screen.is-after { transform: none; box-shadow: none; }

  .renewal-service-page .renewal-offer,
  .renewal-service-page .renewal-offer-row {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 12px 16px;
    min-height: 0;
    padding: 24px 0;
  }
  .renewal-service-page .renewal-offer.is-featured,
  .renewal-service-page .renewal-offer-row.is-featured,
  .renewal-service-page .renewal-offer.is-migration { padding-inline: 16px; }
  .renewal-service-page .renewal-offer-scope,
  .renewal-service-page .renewal-offer-description,
  .renewal-service-page .renewal-offer-price { grid-column: 2; }

  .renewal-service-page .renewal-cost-layout.renewal-offer-list { grid-template-columns: 1fr; }
  .renewal-service-page .renewal-offer-list .renewal-offer {
    min-height: 0;
    padding: 34px 22px;
  }
  .renewal-service-page .renewal-offer-list .renewal-offer + .renewal-offer {
    border-top: 1px solid rgba(216, 255, 71, 0.36);
    border-left: 0;
  }
  .renewal-service-page .renewal-offer-list .renewal-offer h3 {
    font-size: clamp(2rem, 9.4vw, 2.75rem);
  }
  .renewal-service-page .renewal-offer-list .renewal-offer > a { width: 100%; }

  .renewal-service-page .renewal-scope-gate {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 34px;
    padding: 30px 22px;
  }
  .renewal-service-page .renewal-scope-gate > small { grid-column: 1; }

  .renewal-service-page .renewal-price-baseline {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .renewal-service-page .renewal-price-baseline > a { justify-self: start; }

  .renewal-service-page .renewal-assets .renewal-ledger-row {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px 16px;
    min-height: 0;
    padding: 22px 0;
  }
  .renewal-service-page .renewal-assets .renewal-ledger-row p {
    grid-column: 2;
  }
  .renewal-service-page .renewal-assets .renewal-ledger-row > strong {
    grid-column: 2;
    justify-self: start;
    color: var(--renewal-signal-ink);
    text-align: left;
  }

  .renewal-service-page .renewal-ledger-head { display: none; }
  .renewal-service-page .renewal-ledger-row {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px 16px;
  }
  .renewal-service-page .renewal-ledger-detail { grid-column: 2; }

  .renewal-service-page .service-final.renewal-final { grid-template-columns: 1fr; gap: 32px; }
  .renewal-service-page .service-final.renewal-final h2 {
    font-size: clamp(2.2rem, 7vw, 2.8125rem);
  }
}

@media (max-width: 520px) {
  .renewal-service-page .search-nav .search-primary { max-width: 166px; }

  .service-detail-page.renewal-service-page .renewal-hero .search-actions {
    grid-template-columns: 1fr;
  }

  .service-detail-page.renewal-service-page .service-hero .renewal-hero-visual figcaption > * {
    min-height: 44px;
    padding: 8px 7px;
    font-size: 0.58rem;
  }

  .service-detail-page.renewal-service-page .search-facts { grid-template-columns: 1fr 1fr; }
  .service-detail-page.renewal-service-page .search-facts div,
  .service-detail-page.renewal-service-page .search-facts div + div {
    min-height: 98px;
    padding: 18px 10px 16px 30px;
  }
  .renewal-service-page .search-facts div::before { top: 20px; left: 0; }

  .renewal-service-page .renewal-check-progress {
    position: sticky;
    top: 62px;
    z-index: 4;
    margin: -12px -6px 28px;
    padding: 12px 6px;
    background: rgba(247, 248, 243, 0.96);
    backdrop-filter: blur(10px);
  }

  .renewal-service-page .renewal-check-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .renewal-service-page .renewal-check-actions button { width: 100%; min-width: 0; }

  .renewal-service-page .renewal-browser.is-before::after,
  .renewal-service-page .renewal-browser.is-after::after { top: 36px; font-size: 0.5rem; }

  .renewal-service-page .renewal-asset-columns,
  .renewal-service-page .renewal-cost-layout { grid-template-columns: 1fr; }
  .renewal-service-page .renewal-asset-columns section + section,
  .renewal-service-page .renewal-cost-layout section + section { border-top: 1px solid var(--renewal-line); border-left: 0; }

  .renewal-service-page .renewal-process { grid-template-columns: 1fr; }
  .renewal-service-page .renewal-process article,
  .renewal-service-page .renewal-process article + article,
  .renewal-service-page .renewal-process article:nth-child(3) {
    min-height: 0;
    padding: 22px 0;
    border-left: 0;
  }

  .renewal-service-page .service-final.renewal-final h2 { font-size: clamp(2.2rem, 10.5vw, 2.8125rem); }
}

@media (prefers-reduced-motion: reduce) {
  .renewal-service-page *,
  .renewal-service-page *::before,
  .renewal-service-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .renewal-service-page .service-hero .renewal-hero-visual img { transform: none; }
  .renewal-service-page .service-hero .renewal-hero-visual::before { opacity: 0.7; transform: none; }
}

@media (prefers-contrast: more) {
  .service-detail-page.renewal-service-page {
    --renewal-line: rgba(18, 23, 20, 0.54);
    --line: rgba(18, 23, 20, 0.54);
  }

  .renewal-service-page .renewal-check-options input { border-width: 2px; }
}

@media (forced-colors: active) {
  .renewal-service-page .renewal-check-options input { appearance: auto; }
  .renewal-service-page .renewal-check-options label:has(input:checked),
  .renewal-service-page .renewal-review-flow li.is-current,
  .renewal-service-page .renewal-check-actions [data-renewal-next],
  .renewal-service-page .renewal-check-actions [data-renewal-finish] {
    border: 2px solid ButtonText;
  }
}
