/* Reading layout for this service page only; all content is visible without JS. */
/* Platform colors follow landing-3d.css; the illustrated shop keeps its palette. */
html:has(body.sr-renewal) { background: #f8f5ed; }
body.service-detail-page.renewal-service-page.sr-renewal {
  --canvas: #f8f5ed;
  --surface: #fffdf9;
  --ink: #263229;
  --copy: #626b61;
  --muted: #626b61;
  --line: #dddcd2;
  --blue: #3156d6;
  --service-accent: #3156d6;
  --service-focus: #3156d6;
  --service-hero: #3156d6;
  --renewal-paper: #f8f5ed;
  --renewal-soft: #edf1fc;
}
body.sr-renewal .renewal-demo-browser {
  --canvas: #f7f8f2;
  --ink: #173d38;
  --copy: #52655f;
  --muted: #64736d;
  --line: #ced8d2;
}
body.sr-renewal .search-nav { background: #f8f5edf5; }
body.sr-renewal .search-nav nav > a:not(.search-primary):hover { color: var(--blue); }
body.sr-renewal :is(.search-nav .search-primary, .renewal-button, .renewal-check-result > a) { background: var(--blue); border-color: var(--blue); color: #fff; }
body.sr-renewal :is(.search-nav .search-primary, .renewal-button, .renewal-check-result > a):hover { background: #2848b3; border-color: #2848b3; }
body.sr-renewal :is(.renewal-hero h1 > span, .renewal-intro-note > span, .renewal-story-description > span, .renewal-review-flow span, .renewal-check-progress > strong, .renewal-assessment-layout > aside > p, .renewal-check-result > p:first-child) { color: var(--blue); }
body.sr-renewal .renewal-story-controls button[aria-pressed="true"] { border-bottom-color: var(--blue); }
body.sr-renewal .renewal-assessment-layout > aside { background: #f0eee5; }
body.sr-renewal .renewal-review-flow li.is-done { background: #e4eafb; }
body.sr-renewal .renewal-check-options label::before { background: var(--blue); }
body.sr-renewal .renewal-check-options label:hover { background: #f5f6fc; }
body.sr-renewal .renewal-check-options label:has(input:checked) { background: #edf1fc; }
body.sr-renewal .renewal-check-actions button:disabled { border-color: #deded5; color: #6c7168; background: #eeeee7; }
body.sr-renewal .search-faq summary::after { color: var(--blue); }
body.sr-renewal .renewal-final { background: var(--blue); color: #fff8e9; }
body.sr-renewal .renewal-final h2 { color: inherit; }
body.sr-renewal .renewal-final :is(.renewal-eyebrow, p:not(.renewal-eyebrow)) { color: #edf0fc; }
body.sr-renewal .renewal-final .renewal-button { background: #f8f5ed; border-color: #f8f5ed; color: #2848b3; }
body.sr-renewal .renewal-final .renewal-button:hover { background: #fffdf9; border-color: #fffdf9; }
body.sr-renewal .renewal-final a:focus-visible { outline-color: #fff8e9; }
body.sr-renewal .search-footer { margin-top: 0; background: var(--canvas); color: var(--copy); }
body.sr-renewal .search-footer .public-footer-navigation { --public-footer-link: #626b61; --public-footer-heading: #263229; --public-footer-focus: #3156d6; }
body.sr-renewal .search-footer :is(.public-wordmark, .search-operator strong) { color: var(--ink); }
body.sr-renewal .search-footer :is(.public-footer-brand > p, .search-operator) { color: var(--copy); }
body.sr-renewal .search-footer .search-operator { border-color: var(--line); }

body.sr-renewal .renewal-reading-icon {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: #3156d6;
}
body.sr-renewal .renewal-scope-rows { margin: 0; border-top: 1px solid var(--line); }
body.sr-renewal .renewal-scope-rows > div {
  display: grid;
  grid-template-columns: minmax(140px, .32fr) minmax(0, 1fr);
  gap: 32px;
  padding-block: 26px;
  border-bottom: 1px solid var(--line);
}
body.sr-renewal .renewal-scope-rows dt { display: flex; align-items: center; gap: 15px; font-size: 16px; font-weight: 600; }
body.sr-renewal .renewal-scope-rows dd { min-width: 0; margin: 0; }
body.sr-renewal .renewal-scope-rows strong { font-size: 21px; font-weight: 650; letter-spacing: -.025em; }
body.sr-renewal .renewal-scope-rows p { margin-top: 7px; color: var(--copy); font-size: 16px; line-height: 1.75; }
body.sr-renewal .renewal-reading-boundary { margin-top: 20px; color: var(--copy); font-size: 16px; line-height: 1.75; }
body.sr-renewal .renewal-reading-process { margin-top: 54px; }
body.sr-renewal :is(.renewal-reading-process, .renewal-reading-included, .renewal-reading-extended) h3 {
  margin: 0 0 24px;
  font-size: clamp(21px, 2.2vw, 27px);
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: -.035em;
}
body.sr-renewal .renewal-reading-process ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
body.sr-renewal .renewal-reading-process li { padding-top: 20px; border-top: 1px solid var(--line); }
body.sr-renewal .renewal-reading-process li > div { display: flex; align-items: center; gap: 12px; }
body.sr-renewal .renewal-reading-process li span { color: #3156d6; font: 500 14px "Geist Variable", sans-serif; }
body.sr-renewal .renewal-reading-process h4 { margin: 18px 0 8px; font-size: 19px; font-weight: 650; letter-spacing: -.03em; }
body.sr-renewal .renewal-reading-process p { color: var(--copy); font-size: 16px; line-height: 1.7; }

body.sr-renewal .renewal-cost { background: #fffdf9; color: var(--ink); border-block: 1px solid var(--line); }
body.sr-renewal .renewal-cost > header h2 { max-width: none; }
body.sr-renewal .renewal-cost > header p { color: var(--copy); }
body.sr-renewal .renewal-cost > header .search-kicker { color: #3156d6; }
body.sr-renewal .renewal-reading-table { width: 100%; table-layout: fixed; border-collapse: collapse; color: var(--ink); font-size: 16px; line-height: 1.65; }
body.sr-renewal .renewal-reading-label-col { width: 24%; }
body.sr-renewal .renewal-reading-table :is(th, td) { padding: 20px 24px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
body.sr-renewal .renewal-reading-table thead { background: #edf1fc; }
body.sr-renewal .renewal-reading-table thead th { color: #2848b3; font-weight: 650; }
body.sr-renewal .renewal-reading-table tbody th { color: var(--copy); font-weight: 500; }
body.sr-renewal .renewal-reading-table td span { display: block; margin-bottom: 3px; color: var(--copy); }
body.sr-renewal .renewal-reading-table strong { display: block; font-size: clamp(16px, 2.1vw, 26px); font-weight: 650; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
body.sr-renewal .renewal-price-note { margin-top: 18px; color: var(--copy); font-size: 16px; line-height: 1.75; }
body.sr-renewal .renewal-reading-included { padding-block: 40px; }
body.sr-renewal .renewal-reading-included ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; margin: 0; padding: 0; list-style: none; }
body.sr-renewal .renewal-reading-included li { display: flex; align-items: flex-start; gap: 15px; font-size: 16px; line-height: 1.7; }
body.sr-renewal .renewal-reading-included li svg { margin-top: 3px; }
body.sr-renewal .renewal-reading-plus { margin-top: 28px; color: var(--copy); font-size: 16px; line-height: 1.75; }
body.sr-renewal .renewal-reading-plus strong { color: var(--ink); font-weight: 650; }
body.sr-renewal .renewal-reading-extended { padding-block: 32px 20px; border-top: 1px solid var(--line); }
body.sr-renewal .renewal-reading-extended h3 { margin-bottom: 12px; }
body.sr-renewal .renewal-reading-extended > p { color: var(--copy); font-size: 16px; line-height: 1.75; }
body.sr-renewal .renewal-reading-details { border-bottom: 1px solid var(--line); }
body.sr-renewal .renewal-reading-extended .renewal-reading-details { margin-top: 14px; border-bottom: 0; }
body.sr-renewal .renewal-reading-details summary { padding-block: 16px; min-height: 56px; color: var(--ink); cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.65; }
body.sr-renewal .renewal-reading-details summary::marker { color: #3156d6; }
body.sr-renewal .renewal-reading-details :is(ul, dl) { margin: 0 0 20px; color: var(--copy); font-size: 16px; line-height: 1.8; }
body.sr-renewal .renewal-reading-details ul { padding-left: 24px; }
body.sr-renewal .renewal-reading-details li + li { margin-top: 6px; }
body.sr-renewal .renewal-reading-baseline dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
body.sr-renewal .renewal-reading-baseline dt { color: var(--ink); font-weight: 600; }
body.sr-renewal .renewal-reading-baseline dd { margin: 4px 0 0; }
body.sr-renewal .renewal-reading-baseline a { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 16px; color: #2848b3; font-size: 16px; text-underline-offset: 4px; }
body.sr-renewal .renewal-reading-cta { margin-top: 32px; background: #3156d6; border-color: #3156d6; }
body.sr-renewal .renewal-reading-cta:hover { background: #2848b3; border-color: #2848b3; color: #fff; }
body.sr-renewal :is(.renewal-reading-details summary, .renewal-reading-baseline a, .renewal-reading-cta):focus-visible { outline: 3px solid #3156d6; outline-offset: 4px; }

/* A brief movement, never a prerequisite for reading. No opacity or delays. */
body.sr-renewal [data-renewal-reading].is-reading-in { animation: renewal-reading-in 220ms cubic-bezier(.2, .7, .3, 1); }
@keyframes renewal-reading-in { from { transform: translateY(6px); } to { transform: translateY(0); } }

/* Keep the now-visible process concise without collapsing facts or controls. */
@media (min-width: 801px) {
  body.sr-renewal :is(.renewal-reading-method, .renewal-cost, .renewal-assessment-section, .renewal-faq) { padding-block: 60px; }
  body.sr-renewal :is(.renewal-reading-method, .renewal-cost, .renewal-assessment-section, .renewal-faq) > header { margin-bottom: 32px; }
  body.sr-renewal .renewal-scope-rows > div { padding-block: 20px; }
  body.sr-renewal .renewal-reading-process { margin-top: 36px; }
  body.sr-renewal .renewal-reading-table :is(th, td) { padding-block: 16px; }
  body.sr-renewal .renewal-reading-included { padding-block: 28px; }
  body.sr-renewal .renewal-reading-plus { margin-top: 20px; }
  body.sr-renewal .renewal-reading-extended { padding-block: 24px 12px; }
  body.sr-renewal .renewal-final { padding-block: 60px; }
}
@media (max-width: 800px) {
  body.sr-renewal .renewal-scope-rows > div { grid-template-columns: 132px minmax(0, 1fr); gap: 24px; }
  body.sr-renewal .renewal-reading-process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  body.sr-renewal .renewal-reading-table :is(th, td) { padding: 18px 14px; }
  body.sr-renewal .renewal-reading-included ul { gap: 24px; }
}
@media (max-width: 480px) {
  body.sr-renewal .renewal-scope-rows > div { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 22px; }
  body.sr-renewal .renewal-scope-rows strong { font-size: 19px; }
  body.sr-renewal .renewal-reading-process { margin-top: 38px; }
  body.sr-renewal .renewal-reading-process ol { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.sr-renewal .renewal-reading-process li { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 6px 14px; padding-block: 20px; }
  body.sr-renewal .renewal-reading-process li > div { grid-row: 1 / 3; align-self: start; gap: 9px; }
  body.sr-renewal .renewal-reading-process h4 { margin: 0; }
  body.sr-renewal .renewal-reading-process p { grid-column: 2; }
  body.sr-renewal .renewal-reading-table :is(th, td) { padding: 16px 8px; }
  body.sr-renewal .renewal-reading-table :is(th, td):first-child { padding-left: 0; }
  body.sr-renewal .renewal-reading-table thead th:first-child { padding-left: 8px; }
  body.sr-renewal .renewal-reading-table strong { font-size: 16px; letter-spacing: -.035em; }
  body.sr-renewal .renewal-reading-included { padding-block: 32px; }
  body.sr-renewal .renewal-reading-included ul { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body.sr-renewal .renewal-reading-baseline dl { grid-template-columns: minmax(0, 1fr); }
  body.sr-renewal .renewal-reading-cta { width: 100%; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.sr-renewal [data-renewal-reading].is-reading-in { animation: none; transform: none; }
}
@media print {
  body.sr-renewal [data-renewal-reading].is-reading-in { animation: none; transform: none; }
}
