/* Homepage composition. Shared landing pages keep their existing styles. */
.readable-home {
  --home-ink: #090d30;
  --home-muted: #707b99;
  background: #fff;
}

.readable-home .rl-header { background: rgb(255 255 255 / 96%); border: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.readable-home .rl-nav { width: min(1040px, calc(100% - 64px)); min-height: 92px; gap: 20px; }
.readable-home .rl-logo img { width: 230px; height: auto; }
.readable-home .rl-menu { gap: 8px; }
.readable-home .rl-menu a,
.home-platform-menu summary { color: var(--home-ink); font-size: 14px; font-weight: 500; white-space: nowrap; }
.readable-home .rl-nav-actions { gap: 12px; }
.readable-home .rl-header .rl-button,
.home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 1px solid #363944;
  border-radius: 999px;
  background: linear-gradient(180deg, #454957, #10121a);
  box-shadow: 0 2px 4px #11132212, inset 0 1px 0 #ffffff26;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s, color .15s;
}
.readable-home .rl-header .rl-button { min-height: 46px; padding: 10px 24px; }
.readable-home .rl-header .rl-button-ghost { padding-inline: 8px; border-color: transparent; color: var(--home-ink) !important; background: none; box-shadow: none; font-size: 14px; }
.home-button:hover { filter: brightness(1.08); }
.home-button-light { background: #fff; border-color: #cdd1df; color: var(--home-ink); }
.readable-home a.home-button { color: #fff; }
.home-platform-menu { position: relative; }
.home-platform-menu summary { display: flex; align-items: center; gap: 6px; padding: 14px 10px; cursor: pointer; list-style: none; }
.home-platform-menu summary::-webkit-details-marker { display: none; }
.home-platform-menu summary svg { width: 12px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.home-platform-menu[open] summary svg { transform: rotate(180deg); }
.home-platform-links { position: absolute; top: 100%; left: 0; display: grid; min-width: 230px; padding: 8px; border: 1px solid #e7e9f1; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #090d3014; }
.home-platform-links a:hover { background: #f5f4fd; }

.home-hero { position: relative; isolation: isolate; padding: 58px 24px 70px; color: var(--home-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.4; }
.home-hero::before { content: ""; position: absolute; z-index: -1; top: 0; left: 24px; right: 24px; height: 785px; border-radius: 80px; background: linear-gradient(115deg, #f7e8ff 0%, #fbeaf2 57%, #fcece5 100%); }
.home-hero-copy { text-align: center; max-width: 1040px; margin-inline: auto; }
.home-audience { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 28px; padding: 7px 20px; border-radius: 99px; background: #ffffffed; font-size: 14px; line-height: 20px; }
.home-audience svg { width: 22px; height: 22px; color: #3860ff; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.home-hero h1 { margin: 0; color: var(--home-ink); font-size: clamp(38px, 4.4vw, 54px); font-weight: 700; line-height: 1.18; letter-spacing: -.045em; }
.home-intro { margin: 24px auto 0; color: #424e70; font-size: 20px; line-height: 1.45; }
.home-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.home-preview { display: grid; grid-template-columns: 326fr 672fr; align-items: stretch; gap: 20px; width: min(1018px, 100%); margin: 88px auto 0; }
.home-card { min-width: 0; border: 1px solid #e8ebf2; border-radius: 14px; background: #fffffffa; }
.home-preview h2,
.home-preview h3 { margin: 0; color: var(--home-ink); font-size: 18px; font-weight: 600; letter-spacing: -.035em; line-height: 1.35; }
.home-charts { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
.home-corrections,
.home-evolution { padding: 26px 20px; }
.home-card-subtitle { margin: 6px 0 0; color: var(--home-muted); font-size: 14px; line-height: 1.4; }
.home-bars { display: flex; justify-content: space-between; height: 145px; margin-top: 28px; gap: 12px; }
.home-bars > div { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; align-items: center; gap: 12px; }
.home-bars span { display: block; flex-shrink: 0; width: 28px; height: calc(var(--bar-height) * .83); border-radius: 7px; background: linear-gradient(160deg, #fce8e7, #f8e5fa); }
.home-bars span.is-highlight { background: linear-gradient(30deg, #e8acfa, #ffbda9); }
.home-bars small,
.home-months { color: #495474; font-size: 12px; }
.home-line-chart { display: block; width: 100%; height: 150px; margin-top: 24px; }
.home-months { display: flex; justify-content: space-between; margin-top: 6px; }
.home-overview { overflow: hidden; }
.home-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px 16px; border-bottom: 1px solid #edf0f5; }
.home-overview-heading > span { color: var(--home-muted); font-size: 12px; white-space: nowrap; }
.home-overview-content { display: grid; gap: 14px; padding: 20px 25px 0; }
.home-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.home-metrics > div { padding: 16px 18px 12px; }
.home-metrics dt { color: #424e70; font-size: 13px; line-height: 1.3; }
.home-metrics dd { margin: 0; }
.home-metrics dd strong { display: block; margin: 6px 0 4px; font-size: 30px; font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.home-metrics p { margin: 0; color: var(--home-muted); font-size: 12px; line-height: 1.4; }
.home-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.home-score,
.home-sites { padding: 18px; }
.home-gauge { position: relative; margin: 14px auto 0; max-width: 260px; }
.home-gauge svg { display: block; width: 100%; }
.home-gauge-value { position: absolute; inset: auto 0 16px; text-align: center; }
.home-gauge-value span { display: block; margin-bottom: 6px; color: var(--home-muted); font-size: 14px; }
.home-gauge-value strong { font-size: 36px; font-weight: 600; letter-spacing: -.05em; }
.home-score > p { margin: -3px 0 5px; text-align: center; color: var(--home-muted); font-size: 12px; line-height: 1.4; }
.home-sites-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.home-sites-heading button { min-height: 28px; padding: 4px 0 4px 8px; border: 0; background: none; color: #626e90; font: inherit; font-size: 11px; cursor: pointer; }
.home-sites-heading button:hover { text-decoration: underline; }
.home-sites ul { padding: 0; margin: 6px 0 0; list-style: none; }
.home-sites li { display: flex; gap: 12px; align-items: center; padding: 8px 0; font-size: 13px; line-height: 1.35; }
.home-sites li + li { border-top: 1px solid #eceef4; }
.home-sites li strong { margin-left: auto; flex-shrink: 0; font-size: 14px; font-weight: 500; }
.home-site-icon { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; }
.home-site-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.home-site-icon.is-blue { color: #1689ff; background: #e7f4ff; }
.home-site-icon.is-purple { color: #6533e9; background: #f0ebff; }
.home-site-icon.is-green { color: #00b886; background: #e0f7ef; }
.home-action-plan { padding: 18px 18px 0; border-bottom: 0; border-radius: 14px 14px 0 0; }
.home-action-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
.home-action-columns h4 { margin: 0 0 10px; color: var(--home-muted); font-size: 13px; font-weight: 400; }
.home-action-columns p { display: flex; align-items: center; gap: 10px; min-height: 50px; margin: 0; padding: 10px 12px; border: 1px solid #e8ebf2; border-bottom: 0; border-radius: 9px 9px 0 0; color: #495474; font-size: 11px; line-height: 1.4; }
.home-status { display: inline-grid; flex-shrink: 0; place-items: center; width: 20px; height: 20px; border-radius: 50%; }
.home-status.is-todo { color: #ff7888; }
.home-status.is-progress { color: #1689ff; }
.home-status.is-review { color: #ff9e00; }

/* Readable benefits and platform sections. Illustrations are HTML and SVG. */
.home-feature-section,
.home-audiences { color: var(--home-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.5; }
.feature-icon { display: inline-block; flex-shrink: 0; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.readable-home :is(.landing-auth-modal-close, .report-close, [data-collectivites-success-close]) .feature-icon { width: 20px; height: 20px; }
.readable-home :is(.public-auth-check, .collectivites-card-line > span) .feature-icon { width: 16px; height: 16px; }
.readable-home .annex-toc-back .feature-icon { width: 16px; height: 16px; margin-left: 4px; }
.readable-home :is(.home-pricing .rl-price-card, .collectivites-offer-card, .collectivites-contact-points) li::before { content: ""; width: 16px; height: 16px; border: 0; border-radius: 0; background: currentColor; -webkit-mask: url('/assets/lucide/circle-check.svg') center / contain no-repeat; mask: url('/assets/lucide/circle-check.svg') center / contain no-repeat; }
.home-audiences { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 12px 0 100px; text-align: center; }
.home-audiences h2 { margin: 0 0 38px; color: #515972; font-size: 18px; font-weight: 400; }
.home-audiences ul { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin: 0; padding: 0; list-style: none; }
.home-audiences li { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 20px; font-weight: 600; letter-spacing: -.04em; }
.home-audiences .feature-icon { width: 30px; height: 30px; color: #8c71ee; }
.home-audiences li:nth-child(2) .feature-icon { color: #00aba7; }
.home-audiences li:nth-child(3) .feature-icon { color: #4265e5; }
.home-audiences li:nth-child(4) .feature-icon { color: #d75c9f; }
.home-audiences li:nth-child(5) .feature-icon { color: #b18033; }
.home-feature-container { width: min(1120px, 100%); margin-inline: auto; }
.home-benefits { margin-inline: 24px; padding: 92px 56px 66px; border-radius: 80px; background: linear-gradient(105deg, #f7f3f3 0%, #faeafb 100%); }
.home-feature-heading { text-align: center; margin: 0 auto 64px; }
.home-section-pill { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 20px; border-radius: 99px; background: #ffffffc7; font-size: 14px; font-weight: 500; }
.home-feature-heading h2 { margin: 26px 0 0; color: var(--home-ink); font-size: clamp(32px, 3.4vw, 46px); line-height: 1.22; font-weight: 500; letter-spacing: -.045em; }
.home-feature-heading > p { margin: 20px 0 0; color: #515b78; font-size: 17px; line-height: 1.65; }
.home-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-benefit { min-width: 0; }
.home-benefit h3,
.home-solution-card h3 { color: var(--home-ink); font-size: 23px; font-weight: 500; letter-spacing: -.04em; line-height: 1.3; }
.home-benefit h3 { margin: 26px 0 16px; }
.home-benefit > p,
.home-solution-card > p { margin: 0; color: #495474; font-size: 15px; line-height: 1.75; }
.feature-illustration { height: 386px; padding: 26px; overflow: hidden; border-radius: 16px; background: #fff; }
.feature-panel { min-width: 0; border: 1px solid #e9ebf1; border-radius: 13px; background: #fff; }
.feature-panel-title { color: #192345; font-size: 17px; line-height: 1.4; font-weight: 500; letter-spacing: -.025em; }
.feature-panel > p { margin: 5px 0 0; color: #6b748a; font-size: 12px; line-height: 1.5; }
.feature-insights > .feature-panel { padding: 24px 18px 18px; }
.feature-curve { display: block; width: 100%; height: 146px; margin-top: 22px; }
.feature-months { display: flex; justify-content: space-between; color: #59627e; font-size: 11px; gap: 4px; }
.feature-insight-footer { display: flex; align-items: center; gap: 10px; margin-top: 22px; }
.feature-insight-footer > div { display: grid; gap: 2px; }
.feature-insight-footer strong { font-size: 14px; font-weight: 500; }
.feature-insight-footer > div > span { color: #69728b; font-size: 10px; }
.feature-insight-footer .feature-tag { margin-left: auto; font-size: 9px; padding: 4px 6px; }
.feature-symbol { display: grid; flex-shrink: 0; place-items: center; width: 42px; height: 42px; border-radius: 50%; }
.feature-symbol.is-pink,
.feature-avatar.is-pink { color: #be437c; background: #fcebf4; }
.feature-symbol.is-purple,
.feature-avatar.is-purple { color: #6d48c5; background: #f1eaff; }
.feature-avatar.is-blue { color: #2e68c6; background: #e8f0ff; }
.feature-activity { display: flex; align-items: center; gap: 8px; margin: -26px -26px 22px; padding: 18px; border-bottom: 1px solid #f1f1f6; color: #69728b; font-size: 10px; background: #fdfcfe; }
.feature-activity > .feature-icon { width: 20px; color: #5e9f86; }
.feature-activity strong { margin-left: auto; white-space: nowrap; font-weight: 400; }
.feature-correction-preview > .feature-panel { padding: 23px 18px 20px; margin-right: -48px; }
.feature-bars { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; height: 178px; margin-top: 28px; }
.feature-bars > div { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 12px; }
.feature-bars > div > span { display: block; width: 28px; height: calc(var(--feature-bar) * .8); border-radius: 7px; background: linear-gradient(160deg, #fcebea, #fae6fa); }
.feature-bars > div > span.is-accent { background: linear-gradient(20deg, #e9aff6, #ffbfa9); }
.feature-bars small { font-size: 11px; color: #59627e; }
.feature-board { display: flex; flex-direction: column; justify-content: space-between; padding: 24px; }
.feature-board-label { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: #39425e; font-size: 12px; }
.feature-board-label > span:last-child { margin-left: auto; color: #626d88; font-size: 10px; }
.feature-dot { width: 6px; height: 6px; border-radius: 50%; background: #e98bab; }
.feature-dot.is-blue { background: #789ded; }
.feature-dot.is-green { background: #56b297; }
.feature-task { padding: 13px; border: 1px solid #e9ebf1; border-radius: 8px; }
.feature-task.is-highlighted { background: linear-gradient(110deg, #f8f3f4, #f8eafb); }
.feature-task > div { display: flex; align-items: center; gap: 7px; }
.feature-task .feature-icon { width: 16px; height: 16px; color: #9374ce; }
.feature-task strong { font-size: 11px; font-weight: 500; }
.feature-task p { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 9px 0 0; color: #626d88; font-size: 11px; }
.feature-avatar { display: inline-grid; flex-shrink: 0; place-items: center; width: 25px; height: 25px; border: 2px solid #fff; border-radius: 50%; font-size: 10px; }
.feature-benefit-icon { position: relative; display: grid; place-items: center; width: 52px; height: 52px; margin-top: 42px; border-radius: 14px; box-shadow: inset 0 1px 0 #ffffffad; transform: rotate(-5deg); }
.feature-benefit-icon .feature-icon { width: 30px; height: 30px; transform: rotate(5deg); }
.feature-benefit-icon.is-pink { color: #ce4384; background: linear-gradient(145deg, #fff4f4, #f4acd0); }
.feature-benefit-icon.is-blue { color: #2582d9; background: linear-gradient(145deg, #f0faff, #a6d6fd); }
.feature-benefit-icon.is-purple { color: #ac4cd1; background: linear-gradient(145deg, #fff0ff, #eab6ff); }
.home-demo-note { margin: 38px 0 0; text-align: center; color: #666c83; font-size: 11px; line-height: 1.6; }

.home-solutions { padding: 100px 48px 80px; }
.home-solutions .home-section-pill { background: linear-gradient(110deg, #fcedf6, #eef2ff); }
.home-solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.home-solution-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid #e8ebf1; border-radius: 16px; background: #fcfcfe; }
.home-solution-card h3 { margin: 25px 0 12px; }
.home-solution-card > .feature-panel { box-shadow: 0 3px 12px #10152e0a; }
.feature-mini-audit,
.feature-issue-preview { min-height: 209px; padding: 20px; }
.feature-mini-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #eceef5; font-size: 11px; color: #495474; }
.feature-mini-heading strong { color: var(--home-ink); font-weight: 600; }
.feature-mini-heading small { font-weight: 400; font-size: 10px; }
.feature-priority-row { display: flex; align-items: center; gap: 9px; margin-top: 20px; font-size: 11px; }
.feature-priority-row > .feature-icon { width: 15px; height: 15px; color: #8c79f2; }
.feature-priority-row > span:first-of-type { width: 59px; }
.feature-priority-track { flex: 1; height: 10px; overflow: hidden; border-radius: 99px; background: #faedfc; }
.feature-priority-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f6b9ca, #e8acfc); }
.feature-priority-row > strong { width: 15px; color: #626d88; font-size: 10px; font-weight: 400; text-align: right; }
.feature-issue-top { display: flex; align-items: center; gap: 12px; }
.feature-issue-top > div { display: grid; gap: 4px; }
.feature-issue-top strong { font-size: 14px; line-height: 1.35; font-weight: 500; }
.feature-issue-top > div > span { color: #6b748a; font-size: 10px; }
.feature-issue-preview > p { margin: 16px 0; color: #4e5976; font-size: 11px; line-height: 1.65; }
.feature-assignment { display: flex; align-items: center; gap: 6px; padding: 5px 7px; border-radius: 99px; background: linear-gradient(110deg, #f8f0f2, #f8eafb); font-size: 9px; color: #59627e; }
.feature-assignment > .feature-icon { width: 14px; height: 14px; margin-left: auto; }
.feature-text-link { display: inline-flex; width: fit-content; align-items: center; gap: 7px; min-height: 44px; margin-top: 16px; padding: 0; border: 0; background: none; color: #3e3b77; font: inherit; font-size: 12px; font-weight: 500; text-decoration: none; text-align: left; cursor: pointer; }
.readable-home a.feature-text-link { color: #3e3b77; }
.feature-text-link .feature-icon { width: 16px; height: 16px; }
.feature-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.feature-human { grid-column: 3; grid-row: 1 / span 2; }
.feature-checklist { padding: 20px; }
.feature-checklist-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.feature-checklist-heading strong { font-size: 15px; font-weight: 500; }
.feature-checklist-heading .feature-icon { width: 20px; color: #8980bd; }
.feature-checklist > p { font-size: 11px; }
.feature-checklist ul { padding: 0; margin: 19px 0 0; border-top: 1px solid #eceef5; list-style: none; }
.feature-checklist li { display: flex; align-items: center; gap: 10px; padding: 20px 0; }
.feature-checklist li > .feature-icon { width: 27px; height: 27px; color: #8b6ae4; }
.feature-checklist li:nth-child(3n + 2) > .feature-icon { color: #36a5b1; }
.feature-checklist li:nth-child(3n) > .feature-icon { color: #ce81b8; }
.feature-checklist li > div { display: grid; gap: 4px; }
.feature-checklist li strong { font-size: 12px; font-weight: 500; }
.feature-checklist li > div > span { color: #6b748a; font-size: 10px; }
.feature-check-state { flex-shrink: 0; margin-left: auto; padding: 4px 7px; border-radius: 99px; font-size: 9px; white-space: nowrap; }
.feature-check-state.is-checked { color: #267253; background: #e7f6ee; }
.feature-check-state.is-pending { color: #606984; background: #f0f1f6; }
.feature-checklist-progress { border-top: 1px solid #eceef5; padding-top: 16px; font-size: 10px; color: #626d88; }
.feature-checklist-progress strong { color: #393659; font-weight: 500; }
.feature-progress-track { display: block; margin-top: 10px; overflow: hidden; height: 6px; border-radius: 99px; background: #f3effa; }
.feature-progress-track i { display: block; width: 42.857%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e7abed, #a7a9f6); }
.feature-multisite { grid-column: 1 / span 2; }
.feature-sites-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.feature-portfolio-label { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 99px; color: #57547d; background: linear-gradient(110deg, #f9eff1, #f8eafb); font-size: 11px; }
.feature-portfolio-label .feature-icon { width: 18px; height: 18px; }
.feature-site-search { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 140px; min-height: 38px; padding: 6px 12px; border-radius: 99px; background: linear-gradient(110deg, #f9eff1, #f8eafb); }
.feature-site-search .feature-icon { width: 18px; height: 18px; color: #5a5382; }
.readable-home .feature-site-search input { width: 100%; min-width: 0; padding: 3px 0; border: 0; border-radius: 3px; background: transparent; color: #393659; font: inherit; font-size: 11px; }
.feature-site-search input::placeholder { color: #67617f; opacity: 1; }
.feature-report-button { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: #f7eefa; color: #5a5382; cursor: pointer; }
.feature-report-button:hover { background: #eadef2; }
.feature-report-button .feature-icon { width: 20px; height: 20px; }
.feature-portfolio-preview { display: grid; grid-template-columns: .85fr 1.5fr; gap: 14px; align-items: stretch; }
.feature-portfolio-chart { padding: 15px; }
.feature-portfolio-chart > span { font-size: 10px; color: #626d88; }
.feature-portfolio-chart > strong { display: block; margin-top: 3px; font-size: 20px; font-weight: 500; }
.feature-portfolio-chart > strong > small { color: #626d88; font-size: 11px; }
.feature-portfolio-chart .feature-curve { height: 82px; margin-top: 0; }
.feature-portfolio-chart .feature-months { font-size: 9px; }
.feature-site-results { min-width: 0; }
.feature-site-results ul { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }
.feature-site-results li { display: flex; align-items: center; gap: 8px; min-height: 57px; padding: 8px; border: 1px solid #e9ebf1; border-radius: 9px; background: #fff; }
.feature-site-results li[hidden] { display: none; }
.feature-site-avatar { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; }
.feature-site-avatar .feature-icon { width: 18px; height: 18px; }
.feature-site-results li > div { display: grid; gap: 3px; }
.feature-site-results li > div > strong { font-size: 11px; font-weight: 500; }
.feature-site-results li > div > span { color: #6b748a; font-size: 9px; }
.feature-site-score { margin-left: auto; font-size: 12px; white-space: nowrap; }
.feature-site-score small { margin-left: 3px; font-size: 8px; color: #6b748a; }
.feature-tag { display: inline-flex; flex-shrink: 0; align-items: center; padding: 5px 8px; border-radius: 99px; font-size: 9px; white-space: nowrap; }
.feature-tag.is-blue,
.feature-site-avatar.is-blue { color: #365b9e; background: #edf3ff; }
.feature-tag.is-purple,
.feature-site-avatar.is-purple { color: #715496; background: #f5eefa; }
.feature-tag.is-green,
.feature-site-avatar.is-green { color: #287657; background: #e9f7ee; }
.feature-search-empty { padding: 28px 16px; border: 1px dashed #ded9ed; border-radius: 10px; font-size: 13px; color: #626d88; text-align: center; }
.readable-home #solutions,
.readable-home #accessibility-simple { scroll-margin-top: 108px; }

@media (max-width: 1100px) {
  .home-audiences li { font-size: 17px; }
  .home-audiences ul { justify-content: center; gap: 24px 32px; }
  .home-benefits { padding-inline: 32px; }
  .home-benefit-grid { gap: 18px; }
  .feature-illustration { padding: 18px; }
  .feature-insights > .feature-panel { padding: 18px 12px; }
  .feature-activity { margin: -18px -18px 22px; padding: 16px 10px; gap: 5px; font-size: 9px; }
  .feature-insight-footer { gap: 6px; }
  .feature-insight-footer .feature-tag { display: none; }
  .feature-board { padding: 20px 16px; }
  .home-solutions { padding-inline: 40px; }
  .home-solutions-grid { gap: 18px; }
  .home-solution-card { padding: 18px; }
  .feature-mini-audit,
  .feature-issue-preview,
  .feature-checklist { padding: 16px 12px; }
  .feature-checklist li { flex-wrap: wrap; padding-block: 13px; }
  .feature-checklist li > div { flex: 1; }
  .feature-check-state { margin-left: 37px; }
  .feature-portfolio-preview { grid-template-columns: .75fr 1.5fr; }
  .feature-site-results li { flex-wrap: wrap; }
  .feature-site-results li .feature-tag { margin-left: 38px; }
}
@media (max-width: 800px) {
  .home-audiences { padding-bottom: 64px; }
  .home-audiences h2 { font-size: 16px; }
  .home-audiences li { font-size: 16px; }
  .home-audiences .feature-icon { width: 25px; height: 25px; }
  .home-benefits { margin-inline: 16px; padding: 60px 24px 40px; border-radius: 48px; }
  .home-feature-heading { margin-bottom: 40px; }
  .home-feature-heading > p { font-size: 16px; }
  .home-benefit-grid { grid-template-columns: 1fr; gap: 42px; max-width: 500px; margin-inline: auto; }
  .feature-illustration { height: 350px; padding: 24px; }
  .feature-insights > .feature-panel { padding: 20px; }
  .feature-insight-footer .feature-tag { display: inline-flex; }
  .feature-activity { margin: -24px -24px 16px; padding: 18px; font-size: 11px; }
  .feature-correction-preview > .feature-panel { margin-right: 0; }
  .feature-bars { height: 155px; margin-top: 16px; }
  .feature-board { padding: 22px 24px; }
  .feature-benefit-icon { margin-top: 24px; width: 44px; height: 44px; }
  .home-benefit h3 { margin-top: 18px; }
  .home-solutions { padding: 64px 32px; }
  .home-solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-human { grid-column: 1 / -1; grid-row: auto; }
  .feature-multisite { grid-column: 1 / -1; }
  .feature-checklist { padding: 22px; }
  .feature-checklist li { flex-wrap: nowrap; padding-block: 15px; }
  .feature-check-state { margin-left: auto; }
  .feature-portfolio-preview { grid-template-columns: .8fr 1.5fr; }
  .feature-site-results li { flex-wrap: nowrap; }
  .feature-site-results li .feature-tag { margin-left: 0; }
}
@media (max-width: 540px) {
  .home-audiences { width: calc(100% - 40px); padding: 4px 0 52px; }
  .home-audiences h2 { max-width: 290px; margin: 0 auto 28px; font-size: 16px; }
  .home-audiences ul { gap: 20px 24px; }
  .home-audiences li { gap: 7px; font-size: 14px; }
  .home-audiences .feature-icon { width: 23px; height: 23px; }
  .home-benefits { margin-inline: 10px; padding: 44px 20px 32px; border-radius: 36px; }
  .home-section-pill { min-height: 32px; padding: 5px 16px; font-size: 12px; }
  .home-feature-heading h2 { margin-top: 22px; font-size: 32px; }
  .home-feature-heading > p { margin-top: 18px; font-size: 15px; }
  .feature-desktop-break { display: none; }
  .feature-illustration { height: 340px; padding: 20px; }
  .feature-insights > .feature-panel { padding: 18px 14px; }
  .feature-curve { height: 135px; }
  .feature-activity { margin: -20px -20px 16px; padding: 16px 12px; font-size: 10px; }
  .feature-correction-preview > .feature-panel { margin-right: -38px; }
  .feature-board { padding: 18px; }
  .home-benefit h3,
  .home-solution-card h3 { font-size: 22px; }
  .home-benefit > p,
  .home-solution-card > p { font-size: 15px; }
  .home-demo-note { margin-top: 28px; font-size: 10px; }
  .home-solutions { padding: 60px 20px 48px; }
  .home-solutions-grid { grid-template-columns: 1fr; gap: 18px; }
  .home-solution-card { padding: 20px; }
  .feature-human,
  .feature-multisite { grid-column: auto; }
  .feature-mini-audit,
  .feature-issue-preview { min-height: 210px; padding: 20px; }
  .feature-priority-row { margin-top: 22px; }
  .feature-checklist { padding: 18px 14px; }
  .feature-checklist li { gap: 8px; }
  .feature-checklist li > .feature-icon { width: 24px; height: 24px; }
  .feature-checklist li > div > span { font-size: 9px; }
  .feature-check-state { padding: 4px 6px; font-size: 8px; }
  .feature-portfolio-label { width: 100%; }
  .feature-portfolio-preview { grid-template-columns: 1fr; }
  .feature-portfolio-chart .feature-curve { height: 100px; }
  .feature-site-results li { gap: 6px; }
  .feature-site-results li > div > strong { font-size: 10px; }
  .feature-site-results li > div > span { font-size: 8px; }
  .feature-site-results .feature-tag { padding: 4px 5px; font-size: 8px; }
  .feature-site-score { font-size: 11px; }
  .feature-site-score small { display: none; }
  .readable-home #solutions,
  .readable-home #accessibility-simple { scroll-margin-top: 92px; }
}

@media (max-width: 1100px) and (min-width: 981px) {
  .readable-home .rl-nav { width: calc(100% - 48px); gap: 12px; }
  .readable-home .rl-logo img { width: 185px; }
  .readable-home .rl-menu { gap: 0; }
  .readable-home .rl-header .rl-button { padding-inline: 16px; }
}
@media (max-width: 980px) {
  .readable-home .rl-nav { min-height: 80px; }
  .readable-home .rl-logo img { width: 200px; }
  .readable-home .rl-menu { background: #fff; }
  .home-platform-links { position: static; box-shadow: none; margin: 0 8px 8px; }
  .home-hero { padding-top: 64px; }
  .home-hero::before { border-radius: 56px; height: 740px; }
  .home-title-break { display: none; }
  .home-hero h1 { max-width: 760px; margin-inline: auto; }
  .home-intro { max-width: 650px; }
  .home-preview { grid-template-columns: minmax(0, 1fr); max-width: 720px; margin-top: 60px; }
  .home-charts { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .home-overview-content { padding-bottom: 20px; }
  .home-action-plan { padding-bottom: 18px; border-bottom: 1px solid #e8ebf2; border-radius: 14px; }
  .home-action-columns p { border-bottom: 1px solid #e8ebf2; border-radius: 9px; }
}
@media (max-width: 600px) {
  .readable-home .rl-nav { width: calc(100% - 32px); min-height: 76px; }
  .readable-home .rl-logo img { width: 180px; }
  .home-hero { padding: 44px 20px 48px; }
  .home-hero::before { left: 10px; right: 10px; border-radius: 36px; height: 820px; }
  .home-audience { gap: 8px; padding: 7px 12px; margin-bottom: 24px; font-size: 12px; }
  .home-audience svg { width: 18px; height: 18px; }
  .home-hero h1 { font-size: clamp(32px, 8.5vw, 46px); letter-spacing: -.045em; line-height: 1.15; }
  .home-intro { margin-top: 22px; font-size: 17px; line-height: 1.55; }
  .home-hero-actions { flex-direction: column; align-items: center; gap: 12px; margin-top: 26px; }
  .home-hero-actions .home-button { width: 100%; max-width: 340px; padding-inline: 16px; font-size: 15px; }
  .home-preview { margin-top: 44px; gap: 16px; }
  .home-charts { gap: 12px; }
  .home-corrections,
  .home-evolution { padding: 18px 12px; }
  .home-preview h2,
  .home-preview h3 { font-size: 16px; }
  .home-charts h2 { font-size: 15px; }
  .home-card-subtitle { min-height: 34px; font-size: 12px; }
  .home-bars { height: 104px; margin-top: 20px; gap: 5px; }
  .home-bars span { width: 15px; border-radius: 4px; }
  .home-bars small,
  .home-months { font-size: 9px; }
  .home-line-chart { height: 88px; margin-top: 20px; }
  .home-months { margin-top: 6px; }
  .home-overview-heading { flex-wrap: wrap; gap: 6px; padding: 18px 16px; }
  .home-overview-heading > span { font-size: 11px; }
  .home-overview-content { padding: 14px; gap: 12px; }
  .home-metrics { gap: 6px; }
  .home-metrics > div { padding: 12px 8px; border-radius: 10px; }
  .home-metrics dt { min-height: 30px; font-size: 11px; }
  .home-metrics dd strong { font-size: 26px; }
  .home-metrics p { font-size: 10px; }
  .home-detail-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-gauge { max-width: 245px; }
  .home-action-columns { grid-template-columns: 1fr; gap: 14px; }
  .home-action-columns p { font-size: 12px; }
  .home-report h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-button { transition: none; }
  .home-button:hover { transform: none; }
}

/* Reserve the scrollbar space even while a dialog locks page scrolling. */
html:has(.readable-home) { scroll-behavior: auto; scrollbar-gutter: stable; }
.readable-home .landing-auth-form.is-active { animation: none; }
.readable-home .rl-button:hover { transform: none; }
