@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100&display=swap');
/* REVI Bookkeeping site styles (REVI Design System, "rds")
   Source of truth: Figma, REVI Design System (Website section).
   Every class starts with "rds-" so nothing here touches the existing Squarespace pages,
   which use their own "revi-" classes. Lato and Lora come from the Squarespace site fonts. */

:root {
  /* Color */
  --rds-surface-page: #f6f6f6;
  --rds-surface-raised: #ffffff;
  --rds-surface-sunken: #e9e9e9;
  --rds-surface-brand-tint: #f3e8f7;
  --rds-surface-on-brand-tile: #d6d6d6;
  --rds-text-primary: #3d3c3d;
  --rds-text-accent: #651482;
  --rds-text-on-brand: #ffffff;
  --rds-text-on-brand-muted: #d6d6d6;
  --rds-text-numeral: #a553c2;
  --rds-border-subtle: #e9e9e9;
  --rds-border-default: #e2e2e2;
  --rds-border-brand: #871aae;
  --rds-border-brand-subtle: #c38cd7;
  --rds-border-focus: #a553c2;
  --rds-brand: #871aae;
  --rds-brand-hover: #651482;
  --rds-brand-pressed: #440d57;
  --rds-icon-brand: #871aae;

  /* Space */
  --rds-space-4: 4px;
  --rds-space-8: 8px;
  --rds-space-10: 10px;
  --rds-space-12: 12px;
  --rds-space-16: 16px;
  --rds-space-20: 20px;
  --rds-space-24: 24px;
  --rds-space-32: 32px;
  --rds-space-40: 40px;
  --rds-space-48: 48px;
  --rds-space-56: 56px;
  --rds-space-64: 64px;
  --rds-space-80: 80px;
  --rds-space-96: 96px;

  /* Radius */
  --rds-radius-sm: 6px;
  --rds-radius-md: 8px;
  --rds-radius-lg: 12px;
  --rds-radius-pill: 999px;

  /* Type */
  --rds-serif: "Lora", Georgia, serif;
  --rds-sans: "Lato", "Helvetica Neue", Arial, sans-serif;
  --rds-content: 912px;
}

/* ---------- Layout ---------- */
.rds-section { padding: var(--rds-space-80) var(--rds-space-24) var(--rds-space-96); background: var(--rds-surface-page); }
.rds-section--sunken { background: var(--rds-surface-sunken); }
.rds-section--tint { background: var(--rds-surface-brand-tint); }
.rds-section--raised { background: var(--rds-surface-raised); }
.rds-container { max-width: var(--rds-content); margin: 0 auto; display: flex; flex-direction: column; gap: var(--rds-space-16); }
.rds-row { display: flex; gap: var(--rds-space-56); align-items: flex-start; }
.rds-row--center { align-items: center; }
.rds-col { display: flex; flex-direction: column; gap: var(--rds-space-16); flex: 1 1 0; min-width: 0; }
.rds-stack-0 { display: flex; flex-direction: column; gap: 0; }
.rds-stack-8 { display: flex; flex-direction: column; gap: var(--rds-space-8); }
.rds-stack-16 { display: flex; flex-direction: column; gap: var(--rds-space-16); }
@media (max-width: 767px) {
  .rds-section { padding: var(--rds-space-56) var(--rds-space-20) var(--rds-space-64); }
  .rds-row { flex-direction: column; gap: var(--rds-space-32); }
}

/* ---------- Type (web/* text styles) ---------- */
.rds-display, .rds-section-title, .rds-price, .rds-card-title, .rds-small-title, .rds-footer-title { font-family: var(--rds-serif); font-weight: 600; color: var(--rds-text-primary); margin: 0; }
.rds-display { font-size: 48px; line-height: 1.12; letter-spacing: -0.5px; }
.rds-section-title { font-size: 44px; line-height: 1.12; letter-spacing: -0.5px; }
.rds-display em, .rds-section-title em { font-style: italic; font-weight: 400; color: var(--rds-text-accent); }
.rds-price { font-size: 34px; line-height: 1.15; letter-spacing: -0.5px; }
.rds-card-title { font-size: 22px; line-height: 1.3; }
.rds-small-title { font-size: 17px; line-height: 1.3; }
.rds-footer-title { font-size: 15px; line-height: 1.3; font-weight: 700; }
.rds-lead, .rds-body, .rds-body-sm, .rds-caption, .rds-label, .rds-label-caps, .rds-lead-strong, .rds-body-sm-strong { font-family: var(--rds-sans); color: var(--rds-text-primary); margin: 0; }
.rds-lead { font-size: 15px; line-height: 1.5; }
.rds-lead-strong { font-size: 15px; line-height: 1.5; font-weight: 700; }
.rds-body { font-size: 14px; line-height: 1.5; }
.rds-body-sm { font-size: 13px; line-height: 1.5; }
.rds-body-sm-strong { font-size: 13px; line-height: 1.5; font-weight: 700; }
.rds-label { font-size: 11px; line-height: 1.4; font-weight: 700; }
.rds-label-caps { font-size: 11px; line-height: 1.4; font-weight: 700; text-transform: uppercase; }
.rds-caption { font-size: 11px; line-height: 1.5; }
.rds-numeral { font-family: var(--rds-sans); font-weight: 300; font-size: 64px; line-height: 1; color: var(--rds-text-numeral); margin: 0; }
.rds-accent { color: var(--rds-text-accent); }
.rds-link { color: var(--rds-text-accent); text-decoration: underline; }
@media (max-width: 767px) {
  .rds-display { font-size: 36px; }
  .rds-section-title { font-size: 32px; }
}

/* ---------- Eyebrow (16px caps label, no rule; use only where it adds meaning) ---------- */
.rds-eyebrow { display: block; font-family: var(--rds-sans); font-weight: 900; font-size: 16px; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rds-text-accent); margin: 0; }

/* ---------- Button (Lato SemiBold, per the design system) ---------- */
.rds-button { display: inline-flex; align-items: center; justify-content: center; font-family: var(--rds-sans); font-weight: 600; font-size: 14px; line-height: 1; color: var(--rds-text-on-brand); background: var(--rds-brand); border: 0; border-radius: var(--rds-radius-md); padding: 12px 20px; text-decoration: none; cursor: pointer; }
.rds-button:hover { background: var(--rds-brand-hover); }
.rds-button:active { background: var(--rds-brand-pressed); }
.rds-button:focus-visible { outline: 2px solid var(--rds-border-focus); outline-offset: 2px; }
.rds-button--full { width: 100%; }

/* ---------- Icon tile (Lucide icon inside) ---------- */
.rds-icon-tile { flex: none; width: 28px; height: 28px; border-radius: var(--rds-radius-pill); background: var(--rds-surface-brand-tint); display: inline-flex; align-items: center; justify-content: center; color: var(--rds-icon-brand); }
.rds-icon-tile svg { width: 16px; height: 16px; stroke: currentColor; }

/* ---------- Checklist item + card ---------- */
.rds-check { display: flex; gap: var(--rds-space-10); padding: var(--rds-space-10) 0; border-bottom: 1px solid var(--rds-border-subtle); font-family: var(--rds-sans); font-size: 13px; line-height: 1.5; color: var(--rds-text-primary); }
.rds-check::before { content: "\2713"; font-weight: 700; color: var(--rds-text-accent); }
.rds-checklist-card { background: var(--rds-surface-page); border: 1px solid var(--rds-border-brand); border-radius: var(--rds-radius-lg); padding: var(--rds-space-8) var(--rds-space-16); }

/* ---------- Note callout ---------- */
.rds-note { background: var(--rds-surface-brand-tint); border-radius: var(--rds-radius-md); padding: var(--rds-space-16) var(--rds-space-20); font-family: var(--rds-sans); font-size: 13px; line-height: 1.5; color: var(--rds-text-accent); }
.rds-note strong { font-weight: 700; }

/* ---------- Feature row ---------- */
.rds-feature { display: flex; gap: var(--rds-space-12); padding: var(--rds-space-12) 0; border-bottom: 1px solid var(--rds-border-subtle); }
.rds-feature__title { font-family: var(--rds-sans); font-weight: 700; font-size: 13px; line-height: 1.5; color: var(--rds-text-accent); margin: 0; }
.rds-feature__body { font-family: var(--rds-sans); font-size: 13px; line-height: 1.5; color: var(--rds-text-primary); margin: var(--rds-space-4) 0 0; }

/* ---------- Audience card ---------- */
.rds-audience-card { background: var(--rds-surface-page); border: 1px solid var(--rds-border-brand); border-radius: var(--rds-radius-lg); padding: var(--rds-space-24); display: flex; flex-direction: column; gap: var(--rds-space-8); }

/* ---------- Price card ---------- */
.rds-price-card { border-radius: var(--rds-radius-lg); padding: var(--rds-space-24); display: flex; flex-direction: column; gap: var(--rds-space-10); background: var(--rds-surface-sunken); border: 1px solid var(--rds-border-subtle); }
.rds-price-card--brand { background: var(--rds-surface-brand-tint); border-color: var(--rds-border-brand); }

/* ---------- Process step ---------- */
.rds-step { display: flex; gap: var(--rds-space-16); padding: var(--rds-space-12) 0; }
.rds-step__num { flex: none; width: 32px; height: 32px; border-radius: var(--rds-radius-pill); display: inline-flex; align-items: center; justify-content: center; font-family: var(--rds-sans); font-weight: 700; font-size: 13px; background: var(--rds-surface-raised); border: 1px solid var(--rds-border-default); color: var(--rds-text-accent); }
.rds-step--current .rds-step__num { background: var(--rds-brand); border-color: var(--rds-brand); color: var(--rds-text-on-brand); }
.rds-step__title { display: flex; align-items: center; gap: var(--rds-space-8); font-family: var(--rds-sans); font-weight: 700; font-size: 13px; color: var(--rds-text-primary); margin: 0; }
.rds-tag { font-family: var(--rds-sans); font-weight: 700; font-size: 11px; line-height: 1; padding: 4px 8px; border-radius: var(--rds-radius-pill); background: var(--rds-surface-brand-tint); color: var(--rds-text-accent); }

/* ---------- Numbered item ---------- */
.rds-numbered { display: flex; gap: var(--rds-space-12); padding: var(--rds-space-12) 0; border-bottom: 1px solid var(--rds-border-subtle); }
.rds-numbered__num { flex: none; width: 24px; height: 24px; border-radius: var(--rds-radius-pill); background: var(--rds-surface-brand-tint); display: inline-flex; align-items: center; justify-content: center; font-family: var(--rds-sans); font-size: 11px; color: var(--rds-text-accent); }

/* ---------- CTA card ---------- */
.rds-cta-card { background: var(--rds-surface-raised); border: 1px solid var(--rds-border-subtle); border-radius: var(--rds-radius-lg); padding: var(--rds-space-24); display: flex; flex-direction: column; gap: var(--rds-space-12); flex: 0 0 320px; }
@media (max-width: 767px) { .rds-cta-card { flex-basis: auto; } }

/* ---------- Fit chip ---------- */
.rds-chips { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rds-space-8); }
.rds-chip { display: flex; align-items: center; gap: var(--rds-space-8); padding: var(--rds-space-8) var(--rds-space-10); background: var(--rds-surface-brand-tint); border: 1px solid var(--rds-border-brand-subtle); border-radius: var(--rds-radius-md); font-family: var(--rds-sans); font-size: 11px; line-height: 1.5; color: var(--rds-text-accent); }
.rds-chip::before { content: ""; flex: none; width: 4px; height: 4px; border-radius: 50%; background: var(--rds-brand); }

/* ---------- Exclusion item ---------- */
.rds-exclusion { display: flex; align-items: center; gap: var(--rds-space-12); padding: var(--rds-space-8) 0; border-bottom: 1px solid var(--rds-border-subtle); font-family: var(--rds-sans); font-size: 13px; color: var(--rds-text-primary); }

/* ---------- Contact item ---------- */
.rds-contact { display: flex; align-items: center; gap: var(--rds-space-12); }
.rds-contact__detail { font-family: var(--rds-sans); font-weight: 700; font-size: 15px; line-height: 1.5; color: var(--rds-text-accent); text-decoration: none; }
.rds-contact__note { font-family: var(--rds-sans); font-size: 11px; line-height: 1.5; color: var(--rds-text-primary); }

/* ---------- FAQ item ---------- */
.rds-faq { padding: var(--rds-space-16) 0; }
.rds-faq__q { font-family: var(--rds-sans); font-weight: 700; font-size: 15px; line-height: 1.5; color: var(--rds-text-primary); margin: 0 0 var(--rds-space-8); }
.rds-faq__a { font-family: var(--rds-sans); font-size: 14px; line-height: 1.5; color: var(--rds-text-primary); margin: 0; }

/* ---------- Portrait ---------- */
.rds-portrait { width: 336px; max-width: 100%; aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: center 35%; }

/* ---------- Page layout helpers (added for the page builds) ---------- */
.rds-hero-copy { max-width: 640px; }
.rds-col--copy { flex: 0 0 430px; }
.rds-col--cta-copy { flex: 0 0 536px; }
.rds-kind { margin-bottom: var(--rds-space-12); }
.rds-steps { padding-top: var(--rds-space-16); }
.rds-icon-tile svg { fill: currentColor; stroke: none; }
.rds-section *, .rds-section *::before, .rds-section *::after { box-sizing: border-box; }
@media (max-width: 767px) {
  .rds-col--copy, .rds-col--cta-copy { flex: 1 1 auto; }
}

/* Inside a Squarespace section: the section supplies width, background and padding */
.rds-in-sqs { max-width: none; margin: 0; }

/* ---------- Type inside Squarespace sections ----------
   Headings and body follow Squarespace's own fluid type scale (Site Styles), so code blocks
   match the text blocks around them. Small text matches the existing site HTML (16 to 18px). */
.rds-in-sqs { --rds-sq-unit: min(1.2vw, 18.432px); }
.rds-in-sqs .rds-display, .rds-in-sqs .rds-section-title { font-size: calc(1rem + (var(--heading-1-size-value, 4) - 1) * var(--rds-sq-unit)); line-height: 1.06; }
.rds-in-sqs .rds-card-title { font-size: calc(1rem + (var(--heading-4-size-value, 1.6) - 1) * var(--rds-sq-unit)); line-height: 1.2; }
.rds-in-sqs .rds-lead { font-size: calc(1rem + (var(--normal-text-size-value, 1.3) - 1) * var(--rds-sq-unit)); line-height: 1.5; }
.rds-in-sqs .rds-numeral { font-size: 110px; line-height: 0.8; }
.rds-in-sqs .rds-eyebrow { font-size: 16px; }
.rds-in-sqs .rds-feature__title, .rds-in-sqs .rds-body-sm-strong { font-size: 18px; line-height: 1.3; }
.rds-in-sqs .rds-feature__body, .rds-in-sqs .rds-body-sm, .rds-in-sqs .rds-check, .rds-in-sqs .rds-chip { font-size: 16px; line-height: 1.4; }
.rds-in-sqs .rds-label, .rds-in-sqs .rds-label-caps { font-size: 16px; }
.rds-in-sqs .rds-cta-card .rds-card-title { font-size: 24px; }
.rds-in-sqs .rds-icon-tile { width: 36px; height: 36px; }
.rds-in-sqs .rds-icon-tile svg { width: 20px; height: 20px; }
.rds-in-sqs .rds-feature { gap: var(--rds-space-16); padding: var(--rds-space-16) 0; }
.rds-in-sqs .rds-numbered__num { width: 28px; height: 28px; font-size: 14px; }
.rds-in-sqs .rds-button { font-size: 16px; padding: 14px 24px; }
.rds-in-sqs, .rds-in-sqs *, .rds-in-sqs *::before, .rds-in-sqs *::after { box-sizing: border-box; }

/* Numerals: Lato Thin (loaded at the top of this file), smaller on phones */
.rds-numeral { font-weight: 100; }
@media (max-width: 767px) { .rds-in-sqs .rds-numeral { font-size: 72px; } }

/* Dividers go between rows, not after the last one */
.rds-feature:last-child, .rds-check:last-child, .rds-numbered:last-child, .rds-exclusion:last-child { border-bottom: none; }

/* ---------- Home page pieces ---------- */
.rds-hero-note { font-family: var(--rds-sans); font-size: 13px; line-height: 1.5; color: var(--rds-text-primary); margin: 0; }
.rds-actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--rds-space-12); padding-top: var(--rds-space-8); }
.rds-checks-2col { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--rds-space-32); }
.rds-checks-2col .rds-check:last-child { border-bottom: 1px solid var(--rds-border-subtle); }
@media (max-width: 767px) { .rds-checks-2col { grid-template-columns: 1fr; } .rds-checks-2col .rds-check:last-child { border-bottom: none; } }
.rds-note { margin: 0; }

/* Monthly Portfolio Summary panel (sample numbers) */
.rds-panel { background: var(--rds-surface-raised); border-radius: var(--rds-radius-lg); overflow: hidden; box-shadow: 0 8px 24px rgba(61, 60, 61, 0.10); font-family: var(--rds-sans); color: var(--rds-text-primary); }
.rds-panel__head { display: flex; align-items: center; justify-content: space-between; gap: var(--rds-space-12); padding: var(--rds-space-12) var(--rds-space-16); background: var(--rds-brand-pressed); color: var(--rds-text-on-brand); font-weight: 700; font-size: 14px; }
.rds-panel__date { background: var(--rds-surface-raised); color: var(--rds-text-accent); border-radius: var(--rds-radius-pill); padding: 4px 10px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.rds-panel__row { display: flex; justify-content: space-between; align-items: center; gap: var(--rds-space-12); padding: var(--rds-space-12) var(--rds-space-16); border-bottom: 1px solid var(--rds-border-subtle); }
.rds-panel__name { font-size: 14px; line-height: 1.4; margin: 0 0 var(--rds-space-4); }
.rds-panel__amount { text-align: right; }
.rds-panel__value { font-size: 17px; font-weight: 700; color: var(--rds-text-accent); margin: 0; line-height: 1.2; }
.rds-panel__label { font-size: 11px; margin: 0; }
.rds-panel__total { display: flex; justify-content: space-between; align-items: center; padding: var(--rds-space-16); background: var(--rds-surface-brand-tint); color: var(--rds-text-accent); font-weight: 700; font-size: 17px; }

/* Squarespace sizes for these pieces */
.rds-in-sqs .rds-body, .rds-in-sqs .rds-note, .rds-in-sqs .rds-hero-note { font-size: 16px; line-height: 1.5; }
.rds-in-sqs .rds-price { font-size: 40px; }
.rds-in-sqs .rds-step__title { font-size: 18px; }
.rds-in-sqs .rds-tag { font-size: 13px; padding: 5px 10px; }
.rds-in-sqs .rds-step__num { width: 36px; height: 36px; font-size: 15px; }
.rds-in-sqs .rds-audience-card .rds-label { font-size: 15px; }
.rds-in-sqs .rds-panel__head { font-size: 17px; }
.rds-in-sqs .rds-panel__date { font-size: 14px; }
.rds-in-sqs .rds-panel__name { font-size: 16px; }
.rds-in-sqs .rds-panel__value { font-size: 20px; }
.rds-in-sqs .rds-panel__label { font-size: 13px; }
.rds-in-sqs .rds-panel__total { font-size: 20px; }

/* Hero intro line length scales with the site-sized text, matching the Figma frames */
.rds-in-sqs .rds-hero-copy { max-width: 42em; }

/* ---------- About and FAQs ---------- */
.rds-contact-list { display: flex; flex-direction: column; gap: var(--rds-space-20); padding-top: var(--rds-space-16); }
.rds-contact__detail:hover { text-decoration: underline; }
.rds-faq__q { font-family: var(--rds-sans); }
.rds-disclaimer { padding-top: var(--rds-space-24); }
.rds-in-sqs .rds-contact__detail { font-size: 20px; }
.rds-in-sqs .rds-contact__note { font-size: 14px; margin: var(--rds-space-4) 0 0; }
.rds-in-sqs .rds-faq { padding: var(--rds-space-20) 0; }
.rds-in-sqs .rds-faq__q, .rds-in-sqs .rds-faq__a { font-size: calc(1rem + (var(--normal-text-size-value, 1.3) - 1) * var(--rds-sq-unit)); line-height: 1.5; }
.rds-in-sqs .rds-section-title + .rds-faq { padding-top: var(--rds-space-32); }
.rds-in-sqs .rds-caption { font-size: 14px; }

/* ---------- Mobile menu (Squarespace header menu) ----------
   Left-aligned links that start at the top, dividers between them,
   and a full-width purple Get in Touch button right under the list. */
body .header-menu .header-menu-nav-folder-content { flex-grow: 0 !important; justify-content: flex-start !important; padding-top: var(--rds-space-24); }
body .header-menu .header-menu-nav-wrapper { text-align: left !important; }
body .header-menu .header-menu-nav-item { text-align: left !important; padding-left: var(--rds-space-24) !important; padding-right: var(--rds-space-24) !important; }
body .header-menu .header-menu-nav-item a { display: block !important; font-family: var(--rds-sans) !important; font-size: 26px !important; line-height: 1.3 !important; padding: 14px 0 !important; color: var(--rds-text-primary) !important; border-bottom: 1px solid var(--rds-border-subtle); }
body .header-menu .header-menu-nav-item:last-child a { border-bottom: none; }
body .header-menu .header-menu-nav-item--active a { color: var(--rds-text-accent) !important; font-weight: 700 !important; }
body .header-menu .header-menu-cta { text-align: left !important; padding: var(--rds-space-24) !important; }
body .header-menu .header-menu-cta a { display: block !important; width: 100% !important; text-align: center !important; background: var(--rds-brand) !important; color: var(--rds-text-on-brand) !important; font-family: var(--rds-sans) !important; font-weight: 600 !important; font-size: 18px !important; letter-spacing: normal !important; border: 0 !important; border-radius: var(--rds-radius-md) !important; padding: 16px 24px !important; }
/* Squarespace adds its own side margins to the menu links and button; zero them so both line up on the same 24px edge */
body .header-menu .header-menu-nav-item a, body .header-menu .header-menu-cta a { margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important; max-width: 100% !important; }

/* ---------- Video transcript (expandable, under the homepage video) ---------- */
.rds-transcript { padding-top: var(--rds-space-8); }
.rds-transcript summary { cursor: pointer; font-family: var(--rds-sans); font-weight: 700; list-style: revert; }
.rds-transcript summary:focus-visible { outline: 2px solid var(--rds-border-focus); outline-offset: 2px; }
.rds-transcript[open] summary { margin-bottom: var(--rds-space-16); }
.rds-transcript em { font-style: italic; color: var(--rds-text-accent); }

/* Smaller section heading for supporting sections, like the homepage video (Figma: web/subsection) */
.rds-subsection-title { font-family: var(--rds-serif); font-weight: 600; font-size: 38px; line-height: 1.12; color: var(--rds-text-primary); margin: 0; }
.rds-in-sqs .rds-subsection-title { font-size: calc(1rem + (var(--heading-2-size-value, 2.3) - 1) * var(--rds-sq-unit)); }

/* Transcript toggle: document icon, text, chevron that turns when open; content eases in and out */
.rds-transcript summary { list-style: none; }
.rds-transcript summary::-webkit-details-marker { display: none; }
.rds-transcript__toggle { display: inline-flex; align-items: center; gap: 0.4em; color: var(--rds-text-accent); font-family: var(--rds-sans); font-weight: 700; text-decoration: none; }
.rds-transcript__toggle span { text-decoration: underline; text-underline-offset: 3px; }
.rds-transcript__icon { width: 1em; height: 1em; flex: none; }
.rds-transcript__chevron { width: 0.85em; height: 0.85em; flex: none; transition: transform 0.3s ease; }
.rds-transcript[open]:not(.is-closing) .rds-transcript__chevron { transform: rotate(180deg); }
.rds-transcript__content { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .rds-transcript__chevron { transition: none; } }

/* ---------- Guides (Squarespace blog at /guides) ----------
   Post pages and the guide list use the site's type: Lora 600 headings, Lato body,
   purple accents, on the same fluid scale as the other pages (Site Styles sizes).
   Width is capped in ems so lines stay readable at any screen size. */
.blog-item-wrapper, .blog-side-by-side-wrapper, .item-pagination, .rds-guide-end { --rds-sq-unit: min(1.2vw, 18.432px); --rds-guide-text: calc(1rem + (var(--normal-text-size-value, 1.3) - 1) * var(--rds-sq-unit)); }
.blog-item-wrapper .blog-item-top-wrapper,
.blog-item-wrapper .blog-item-content-wrapper,
.rds-guide-end { max-width: calc(var(--rds-guide-text) * 38); margin-left: auto !important; margin-right: auto !important; }
.blog-item-wrapper .blog-item-top-wrapper { margin-bottom: var(--rds-space-32) !important; }
.blog-item-wrapper .blog-item-title::before { content: "Guide"; display: block; font-family: var(--rds-sans); font-weight: 900; font-size: 16px; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rds-text-accent); margin-bottom: var(--rds-space-12); }
.blog-item-wrapper h1.entry-title { font-family: var(--rds-serif) !important; font-weight: 600 !important; font-size: calc(1rem + (var(--heading-1-size-value, 4) - 1) * var(--rds-sq-unit) * 0.75) !important; line-height: 1.12 !important; letter-spacing: -0.5px !important; color: var(--rds-text-primary) !important; text-wrap: balance; }
/* Dates hidden on guides; the list hides them too */
.blog-item-wrapper .blog-item-meta-wrapper { display: none !important; }
.blog-item-content h2 { font-family: var(--rds-serif) !important; font-weight: 600 !important; font-size: calc(1rem + (var(--heading-2-size-value, 2.3) - 1) * var(--rds-sq-unit) * 0.7) !important; line-height: 1.2 !important; letter-spacing: -0.3px !important; color: var(--rds-text-primary) !important; margin: var(--rds-space-48) 0 var(--rds-space-12) !important; }
.blog-item-content h2:first-child { margin-top: 0 !important; }
.blog-item-content p, .blog-item-content li { font-family: var(--rds-sans) !important; font-size: var(--rds-guide-text) !important; line-height: 1.6 !important; color: var(--rds-text-primary) !important; }
.blog-item-content p { margin: 0 0 var(--rds-space-16) !important; }
.blog-item-content strong { font-weight: 700; color: var(--rds-text-accent); }
.blog-item-content a { color: var(--rds-text-accent) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; }
.blog-item-content a:hover { color: var(--rds-brand-pressed) !important; }
.blog-item-content ul { margin: 0 0 var(--rds-space-16) !important; padding-left: 1.25em !important; }
.blog-item-content li { margin: 0 0 var(--rds-space-8) !important; padding-left: 0.25em; }
.blog-item-content li p { margin: 0 !important; }
.blog-item-content li::marker { color: var(--rds-brand); }
@media (max-width: 767px) { .blog-item-content h2 { margin-top: var(--rds-space-40) !important; } }

/* End of each guide (Post Blog Item Code Injection): get in touch card and a link back to the list */
.rds-guide-end { margin-top: var(--rds-space-48); display: flex; flex-direction: column; gap: var(--rds-space-20); }
.rds-guide-end .rds-cta-card { flex: none; }
.rds-guide-end .rds-cta-card { max-width: 30em; font-size: var(--rds-guide-text); }
.rds-guide-end .rds-card-title { font-size: calc(1rem + (var(--heading-4-size-value, 1.6) - 1) * var(--rds-sq-unit)); }
.rds-guide-end .rds-body { font-size: var(--rds-guide-text); line-height: 1.5; }
.rds-guide-end .rds-button { font-size: var(--rds-guide-text); padding: 0.8em 1.4em; }
.rds-guide-end .rds-link { font-family: var(--rds-sans); font-weight: 700; font-size: var(--rds-guide-text); text-underline-offset: 3px; }

/* Previous and next guide links under each post */
.item-pagination .item-pagination-title { font-family: var(--rds-sans) !important; font-weight: 700 !important; font-size: var(--rds-guide-text) !important; line-height: 1.4 !important; color: var(--rds-text-accent) !important; letter-spacing: normal !important; }
.item-pagination .item-pagination-icon { color: var(--rds-text-accent) !important; }
.item-pagination .item-pagination-link:hover .item-pagination-title { text-decoration: underline; text-underline-offset: 3px; }
.rds-guide-end, .rds-guide-end * { box-sizing: border-box; }

/* Guide list page: one column of questions, no empty image column */
.blog-side-by-side-wrapper { max-width: calc(var(--rds-guide-text) * 38) !important; margin: 0 auto !important; }
.blog-side-by-side-wrapper::before { content: "Guides"; display: block; font-family: var(--rds-sans); font-weight: 900; font-size: 16px; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rds-text-accent); margin: var(--rds-space-24) 0 var(--rds-space-12); }
.blog-side-by-side-wrapper::after { content: ""; display: block; height: var(--rds-space-48); }
.blog-side-by-side-wrapper article:first-of-type { border-top: 1px solid var(--rds-border-default); padding-top: var(--rds-space-24) !important; }
.blog-side-by-side-wrapper .blog-image-wrapper { display: none !important; }
.blog-side-by-side-wrapper article { display: block !important; max-width: calc(var(--rds-guide-text) * 38); margin: 0 !important; padding: var(--rds-space-24) 0 !important; border-bottom: 1px solid var(--rds-border-default); }
.blog-side-by-side-wrapper .blog-item-summary { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.blog-side-by-side-wrapper .blog-title { font-family: var(--rds-serif) !important; font-weight: 600 !important; font-size: calc(1rem + (var(--heading-4-size-value, 1.6) - 1) * var(--rds-sq-unit)) !important; line-height: 1.25 !important; margin: 0 0 var(--rds-space-12) !important; }
.blog-side-by-side-wrapper .blog-title a { color: var(--rds-text-primary) !important; text-decoration: none !important; }
.blog-side-by-side-wrapper .blog-title a:hover { color: var(--rds-text-accent) !important; }
.blog-side-by-side-wrapper .blog-meta-section { display: none !important; }
.blog-side-by-side-wrapper .blog-more-link { font-family: var(--rds-sans) !important; font-weight: 700 !important; font-size: 16px !important; color: var(--rds-text-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; letter-spacing: normal !important; text-transform: none !important; }

/* FAQ answers that link to a matching guide */
.rds-faq__more { margin-top: var(--rds-space-8) !important; }
.rds-faq__more .rds-link { font-weight: 700; text-underline-offset: 3px; }

/* FAQs: questions and answers start on the same left edge as the page title, like the other pages
   (Figma FAQs / Proposed: title and items both at 264 on the 1440 frame). The block keeps its
   18-column width, so the text wraps the same and the section heights don't change.
   Phones use Squarespace's own mobile layout and are not affected. */
@media (min-width: 768px) {
  .fe-block:has(.rds-faq) { grid-column: 2 / 20 !important; }
}

/* ---------- Your starting point (Services, interactive) ----------
   Figma: REVI SQS Website, Services / Readiness Check. Components: Chip, Web/Range slider,
   Web/Readiness meter, Web/Status tooltip, Web/Driver row, Button. Dark values live in dark.css. */
:root {
  --rds-surface-control: #f2f2f2;   /* gray/150 */
  --rds-text-secondary: #5b5a5b;    /* gray/700 */
  --rds-border-strong: #b6b5b8;     /* gray/400 */
  --rds-warn-surface: #fbf6ec; --rds-warn-border: #ecd1a0; --rds-warn-text: #362910; --rds-warn-icon: #d9a441;
  --rds-ok-surface: #ecf5f0;   --rds-ok-border: #9fcdb5;   --rds-ok-text: #10271b;   --rds-ok-icon: #3f9a6b;
}
.rds-sp [hidden] { display: none !important; }
.rds-sp, .rds-sp * { box-sizing: border-box; }
.rds-sp .rds-hero-copy { margin-bottom: var(--rds-space-24); }
.rds-sp__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 472px); gap: var(--rds-space-48); align-items: start; }
.rds-sp__controls { display: flex; flex-direction: column; gap: var(--rds-space-24); min-width: 0; margin: 0; }
.rds-sp__q { border: 0; padding: 0; margin: 0; min-width: 0; }
.rds-sp__q legend, .rds-sp__slider-head label { font-family: var(--rds-sans); font-weight: 700; font-size: 16px; line-height: 1.4; color: var(--rds-text-primary); padding: 0; margin: 0 0 var(--rds-space-12); }
.rds-sp__chips { display: flex; flex-wrap: wrap; gap: var(--rds-space-8); }
.rds-sp__chip { position: relative; margin: 0; }
.rds-sp__chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.rds-sp__chip span { display: inline-block; font-family: var(--rds-sans); font-size: 14px; line-height: 1.5; padding: 8px 16px; border-radius: var(--rds-radius-pill); border: 1px solid var(--rds-border-default); background: var(--rds-surface-raised); color: var(--rds-text-primary); transition: border-color 120ms ease; }
.rds-sp__chip:hover span { border-color: var(--rds-border-brand); }
.rds-sp__chip input:checked + span { background: var(--rds-surface-brand-tint); border: 1.5px solid var(--rds-border-brand); color: var(--rds-text-accent); font-weight: 700; padding: 7.5px 15.5px; }
.rds-sp__chip input:focus-visible + span { outline: 2px solid var(--rds-border-focus); outline-offset: 2px; }
.rds-sp__slider-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--rds-space-8); }
.rds-sp__slider-head label { margin: 0; }
.rds-sp__slider-head output { font-family: var(--rds-sans); font-weight: 700; font-size: 16px; color: var(--rds-text-accent); font-variant-numeric: tabular-nums; }
.rds-sp__ends { display: flex; justify-content: space-between; font-family: var(--rds-sans); font-size: 12px; color: var(--rds-text-secondary); margin-top: 6px; }
.rds-sp input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 24px; margin: 0; padding: 0; background: transparent; border: 0; cursor: pointer; --rds-sp-pct: 20%; }
.rds-sp input[type=range]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(to right, var(--rds-brand) var(--rds-sp-pct), var(--rds-border-default) var(--rds-sp-pct)); }
.rds-sp input[type=range]::-moz-range-track { height: 4px; border-radius: 2px; background: var(--rds-border-default); }
.rds-sp input[type=range]::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--rds-brand); }
.rds-sp input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; margin-top: -7px; border-radius: 50%; background: var(--rds-brand); border: 2px solid var(--rds-surface-raised); box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.rds-sp input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--rds-brand); border: 2px solid var(--rds-surface-raised); box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.rds-sp input[type=range]:focus-visible { outline: 2px solid var(--rds-border-focus); outline-offset: 4px; border-radius: 4px; }
.rds-sp__jump { display: none; font-family: var(--rds-sans); font-weight: 700; font-size: 16px; text-underline-offset: 3px; }

.rds-sp__card { background: var(--rds-surface-raised); border: 1px solid var(--rds-border-subtle); border-radius: var(--rds-radius-lg); padding: var(--rds-space-40); display: flex; flex-direction: column; gap: var(--rds-space-20); min-width: 0; scroll-margin-top: 96px; }
.rds-sp__verdict { margin: 0 0 var(--rds-space-12); text-wrap: balance; }
.rds-sp__lede { margin: 0; font-size: 16px; }
.rds-sp__label { font-family: var(--rds-sans); font-weight: 900; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rds-text-secondary); margin: 0 0 var(--rds-space-8); }
.rds-sp__lane { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 34px; align-items: end; }
.rds-sp__tip { grid-row: 1; justify-self: center; display: flex; flex-direction: column; align-items: center; }
.rds-sp__pill { font-family: var(--rds-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; padding: 4px 8px; border-radius: 4px; border: 1px solid; }
.rds-sp__caret { width: 12px; height: 7px; margin-top: -1px; }
.rds-sp__tip--light .rds-sp__pill { background: var(--rds-surface-control); border-color: var(--rds-border-strong); color: var(--rds-text-primary); }
.rds-sp__tip--light .rds-sp__caret { fill: var(--rds-border-strong); }
.rds-sp__tip--building .rds-sp__pill { background: var(--rds-warn-surface); border-color: var(--rds-warn-border); color: var(--rds-warn-text); }
.rds-sp__tip--building .rds-sp__caret { fill: var(--rds-warn-border); }
.rds-sp__tip--full .rds-sp__pill { background: var(--rds-ok-surface); border-color: var(--rds-ok-border); color: var(--rds-ok-text); }
.rds-sp__tip--full .rds-sp__caret { fill: var(--rds-ok-border); }
.rds-sp__track { display: grid; grid-template-columns: repeat(3, 1fr); height: 8px; border-radius: 4px; overflow: hidden; margin-top: 6px; }
.rds-sp__track i:nth-child(1) { background: var(--rds-border-strong); }
.rds-sp__track i:nth-child(2) { background: var(--rds-warn-icon); }
.rds-sp__track i:nth-child(3) { background: var(--rds-ok-icon); }
.rds-sp__legend { display: grid; grid-template-columns: repeat(3, 1fr); font-family: var(--rds-sans); font-size: 12px; color: var(--rds-text-secondary); text-align: center; margin-top: 6px; }
.rds-sp__rule { border: 0; border-top: 1px solid var(--rds-border-subtle); margin: 0; }
.rds-sp__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--rds-space-12); counter-reset: rds-sp-step; }
.rds-sp__steps li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--rds-space-12); align-items: start; counter-increment: rds-sp-step; margin: 0; padding: 0; font-family: var(--rds-sans); color: var(--rds-text-primary); }
.rds-sp__steps li::before { content: counter(rds-sp-step); width: 28px; height: 28px; border-radius: 50%; background: var(--rds-surface-brand-tint); color: var(--rds-text-accent); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.rds-sp__steps b { display: block; font-size: 16px; }
.rds-sp__steps span { font-size: 15px; line-height: 1.5; }
.rds-sp__driver { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--rds-space-16); padding: 6px 0; font-family: var(--rds-sans); font-size: 16px; line-height: 1.5; color: var(--rds-text-primary); }
.rds-sp__driver b { color: var(--rds-text-accent); }
.rds-sp__cta { align-self: flex-start; }
.rds-sp__note { margin: 0; color: var(--rds-text-secondary); font-size: 14px; }
.rds-sp__fine { margin: var(--rds-space-32) 0 0; text-align: center; font-style: italic; color: var(--rds-text-secondary); font-size: 13px; }
@media (max-width: 820px) {
  .rds-sp__grid { grid-template-columns: minmax(0, 1fr); gap: var(--rds-space-40); }
  .rds-sp__jump { display: inline-block; align-self: flex-start; }
  .rds-sp__cta { align-self: stretch; text-align: center; }
}
@media (max-width: 520px) { .rds-sp__card { padding: var(--rds-space-24); } }
@media (max-width: 400px) { .rds-sp__driver { grid-template-columns: 1fr; gap: 2px; } }
@media (prefers-reduced-motion: reduce) { .rds-sp__chip span { transition: none; } }
/* Squarespace hands the code block a fixed 31.8px line height, which every small label inherited.
   Reset it so the pill, legend, slider ends and steps sit at their Figma sizes. */
.rds-sp { line-height: 1.5; }
.rds-sp__pill { display: block; line-height: 1.4; }
.rds-sp__steps b { line-height: 1.4; }
.rds-sp__steps span { display: block; margin-top: 2px; }

/* ---------- Legal pages (Privacy Policy, Terms of Use) ---------- */
.rds-legal { max-width: 760px; gap: var(--rds-space-32); line-height: 1.6; }
.rds-legal__head { display: flex; flex-direction: column; gap: var(--rds-space-12); padding-bottom: var(--rds-space-24); border-bottom: 1px solid var(--rds-border-default); }
.rds-legal__dates { margin: 0; font-family: var(--rds-sans); font-size: 15px; line-height: 1.6; font-style: italic; color: var(--rds-text-secondary); }
.rds-legal__body { font-family: var(--rds-sans); font-size: 17px; line-height: 1.65; color: var(--rds-text-primary); }
.rds-legal__body p { margin: 0 0 var(--rds-space-16); font-size: 17px; line-height: 1.65; color: var(--rds-text-primary); }
.rds-legal__h2 { font-family: var(--rds-sans); font-weight: 900; font-size: 16px; line-height: 1.4; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rds-text-accent); margin: var(--rds-space-40) 0 var(--rds-space-16); scroll-margin-top: 96px; }
.rds-legal__h3 { font-family: var(--rds-serif); font-weight: 600; font-size: 22px; line-height: 1.3; color: var(--rds-text-primary); margin: var(--rds-space-24) 0 var(--rds-space-12); }
.rds-legal__h4 { font-family: var(--rds-sans); font-weight: 700; font-size: 17px; line-height: 1.4; color: var(--rds-text-primary); margin: var(--rds-space-16) 0 var(--rds-space-8); }
.rds-legal__list { margin: 0 0 var(--rds-space-16); padding-left: 1.25em; }
.rds-legal__list li { margin: 0 0 var(--rds-space-8); padding-left: 0.25em; font-size: 17px; line-height: 1.65; }
.rds-legal__list li::marker { color: var(--rds-text-accent); }
.rds-legal__list--sub { margin: var(--rds-space-8) 0 0; list-style: circle; }
.rds-legal__defs { list-style: none; padding-left: 0; }
.rds-legal__defs li { padding: var(--rds-space-12) 0; margin: 0; border-bottom: 1px solid var(--rds-border-subtle); }
.rds-legal__body strong { font-weight: 700; color: var(--rds-text-primary); }
.rds-legal .rds-link { overflow-wrap: anywhere; }
.rds-legal__table-wrap { margin: 0 0 var(--rds-space-24); border: 1px solid var(--rds-border-default); border-radius: var(--rds-radius-lg); overflow: hidden; }
.rds-legal__table { width: 100%; border-collapse: collapse; font-family: var(--rds-sans); font-size: 15px; line-height: 1.5; color: var(--rds-text-primary); }
.rds-legal__table th { text-align: left; font-weight: 900; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rds-text-secondary); background: var(--rds-surface-brand-tint); padding: var(--rds-space-12) var(--rds-space-16); }
.rds-legal__table td { vertical-align: top; padding: var(--rds-space-12) var(--rds-space-16); border-top: 1px solid var(--rds-border-subtle); background: var(--rds-surface-raised); }
@media (max-width: 640px) {
  .rds-legal__body, .rds-legal__body p, .rds-legal__list li { font-size: 16px; }
  .rds-legal__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rds-legal__table tr { display: block; border-top: 1px solid var(--rds-border-default); }
  .rds-legal__table tr:first-child { border-top: 0; }
  .rds-legal__table td { display: grid; grid-template-columns: minmax(96px, 34%) 1fr; gap: var(--rds-space-12); border-top: 0; padding: var(--rds-space-8) var(--rds-space-16); }
  .rds-legal__table td::before { content: attr(data-label); font-weight: 900; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rds-text-secondary); }
}

/* ---------- Get in Touch (form loading state and fallback) ---------- */
.rds-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.rds-gt { max-width: 820px; margin: 0 auto; }
.rds-gt [hidden] { display: none !important; }
.rds-gt__frame { position: relative; min-height: 160px; }
.rds-gt__loading { display: flex; align-items: center; justify-content: center; gap: var(--rds-space-12); padding: var(--rds-space-24); font-family: var(--rds-sans); font-size: 16px; line-height: 1.5; color: var(--rds-text-secondary); }
.rds-gt__spinner { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--rds-border-default); border-top-color: var(--rds-brand); animation: rds-gt-spin 0.9s linear infinite; }
@keyframes rds-gt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rds-gt__spinner { animation: none; border-top-color: var(--rds-border-default); } }
.rds-gt__fallback { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--rds-space-12); padding: var(--rds-space-32); background: var(--rds-surface-raised); border: 1px solid var(--rds-border-subtle); border-radius: var(--rds-radius-lg); box-shadow: 0 12px 32px rgba(61, 60, 61, 0.10); }
.rds-gt__fallback .rds-card-title { margin: 0; }
.rds-gt__fallback .rds-lead { margin: 0; color: var(--rds-text-secondary); }
.rds-gt__actions { display: flex; flex-wrap: wrap; gap: var(--rds-space-12); margin-top: var(--rds-space-8); }
.rds-gt__actions .rds-button { font-size: 15px; padding: 14px 20px; }
.rds-button--secondary { background: var(--rds-surface-brand-tint); color: var(--rds-text-accent); box-shadow: inset 0 0 0 1px var(--rds-border-brand-subtle); }
.rds-button--secondary:hover { background: var(--rds-surface-brand-tint); color: var(--rds-text-accent); box-shadow: inset 0 0 0 1px var(--rds-border-brand); }
.rds-gt__note { margin: 0; font-family: var(--rds-sans); font-size: 14px; line-height: 1.5; color: var(--rds-text-secondary); }
.rds-gt__retry { align-self: flex-start; margin-top: var(--rds-space-4, 4px); padding: 0; background: none; border: 0; font-family: var(--rds-sans); font-size: 15px; font-weight: 700; color: var(--rds-text-accent); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rds-gt__retry:focus-visible { outline: 2px solid var(--rds-border-focus); outline-offset: 3px; border-radius: 2px; }
@media (max-width: 520px) {
  .rds-gt__fallback { padding: var(--rds-space-24); }
  .rds-gt__actions .rds-button { width: 100%; }
}
