/* Shared reading layouts for public pages; homepage has its own layout. */
html:not(.home-document) { scroll-behavior: auto; scroll-padding-top: 104px; }
body:not(.page-home) { --presta-display-web: clamp(34px, 3.5vw, 48px); --presta-display-web-mobile: clamp(30px, 6vw, 36px); }
body:not(.page-home) main { min-width: 0; }
body:not(.page-home) main h1 { max-width: 24ch; line-height: 1.14; letter-spacing: -0.035em; text-wrap: balance; }
body:not(.page-home) main h2 { line-height: 1.2; letter-spacing: -0.025em; text-wrap: balance; }
body:not(.page-home) .section-heading h2,
body:not(.page-home) .provider-landing-heading h2 { font-size: clamp(26px, 3vw, 36px); }
body:not(.page-home) .hero-lede,
body:not(.page-home) .provider-landing-lede { font-size: clamp(16px, 1.5vw, 19px); max-width: 62ch; }
body:not(.page-home) :is(.compare-hero, .legal-hero, .store-hero, .blog-hero, .provider-landing-hero) { padding-block: clamp(32px, 4vw, 56px); min-height: 0; }
body:not(.page-home) :is(.compare-hero, .hero-grid, .store-hero--split, .blog-hero, .provider-landing-hero__grid) { gap: clamp(24px, 4vw, 56px); }
body:not(.page-home) :is(.compare-section, .provider-landing-section, .blog-section) { padding-block: clamp(32px, 4vw, 56px); }
body:not(.page-home) .store-assurance h2 { max-width: 25ch; font-size: clamp(26px, 3vw, 36px); }
body:not(.page-home) .provider-landing-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
body:not(.page-home) .provider-landing-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 16px; min-height: 0; }
body:not(.page-home) .provider-landing-device { position: static; width: 100%; height: auto; transform: none; border-radius: 14px; }
body:not(.page-home) .provider-landing-device img { height: auto; object-fit: contain; }
body:not(.page-home) .provider-landing-note { display: none; }
body:not(.page-home) .page-index { max-height: calc(100dvh - 120px); overflow-y: auto; }
body:not(.page-home) :is(.seo-link-list a, .text-action) { min-height: 48px; }
.page-sections { width: min(1180px, calc(100% - 40px)); margin: 24px auto 0; }
.page-sections details { border-block: 1px solid var(--presta-hairline, #ddd); }
.page-sections summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 0; cursor: pointer; color: var(--presta-blue-ink); font-size: 14px; font-weight: 700; list-style: none; }
.page-sections summary::-webkit-details-marker { display: none; }
.page-sections summary span { font-size: 12px; font-weight: 400; color: var(--presta-muted); }
.page-sections summary::after { content: '+'; margin-left: auto; font-size: 20px; }
.page-sections details[open] summary::after { content: '−'; }
.page-sections summary:focus-visible { outline: 2px solid var(--presta-blue); outline-offset: 4px; }
.page-sections__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; padding-bottom: 16px; }
.page-sections__links a { display: flex; align-items: center; min-height: 48px; padding: 8px 12px; border-radius: 8px; background: var(--presta-blue-soft); color: var(--presta-blue-ink); font-size: 14px; line-height: 1.5; }
@media (hover: hover) and (pointer: fine) { .page-sections__links a:hover { text-decoration: underline; text-underline-offset: 3px; } }
@media (max-width: 960px) {
  body:not(.page-home) :is(.compare-hero, .hero-grid, .store-hero--split, .blog-hero, .provider-landing-hero__grid) { grid-template-columns: minmax(0, 1fr); }
  body:not(.page-home) .provider-landing-preview { min-height: 0; max-width: 460px; width: 100%; margin-inline: auto; }
}
@media (max-width: 860px) {
  body:not(.page-home) .page-index { max-height: 280px; border-bottom: 1px solid var(--presta-hairline); padding-bottom: 16px; }
}
@media (max-width: 767px) {
  body:not(.page-home) :is(.legal-hero, .quick-links, .legal-layout, .store-hero, .store-assurance, .referral-flow, .store-note, .compare-hero, .compare-section, .blog-hero, .blog-section, .blog-article-shell, .provider-landing-shell) { width: calc(100% - 40px); margin-inline: auto; }
  body:not(.page-home) main h1 { max-width: 100%; font-size: var(--presta-display-web-mobile); }
  body:not(.page-home) :is(.hero-copy, .store-hero p:not(.eyebrow)) { max-width: 62ch; font-size: 16px; }
  body:not(.page-home) :is(.seo-step-grid, .compare-grid, .seo-link-list) { grid-template-columns: minmax(0, 1fr); }
  body:not(.page-home) .store-grid--inline { width: 100%; margin-inline: 0; display: flex; flex-wrap: wrap; }
  body:not(.page-home) .store-assurance { padding: 24px; }
  body:not(.page-home) .legal-footer { width: calc(100% - 40px); margin-inline: auto; }
  body:not(.page-home) .legal-footer :is(.footer-shell, .legal-identity, .analytics-preferences) { width: 100%; margin-inline: 0; }
  .page-sections__links { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 374px) {
  body:not(.page-home) :is(.legal-hero, .quick-links, .legal-layout, .store-hero, .store-assurance, .referral-flow, .store-note, .compare-hero, .compare-section, .blog-hero, .blog-section, .blog-article-shell, .provider-landing-shell, .legal-footer), .page-sections { width: calc(100% - 32px); }
}
