/* Scoped to build-generated public pages. Keep initial and final layout equal. */
.generated-seo-page { font-family: var(--brand-font); }
.generated-seo-page main { max-width: 960px; padding: 2rem 1.25rem; }
.generated-seo-page h1 { margin: 1.5rem 0; font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.2; }
.generated-seo-page h2 { margin: 2rem 0 1rem; }
.generated-seo-page h3 { margin: 1.5rem 0 .75rem; }
.generated-seo-page p, .generated-seo-page ul, .generated-seo-page ol { margin-bottom: 1rem; }
.generated-seo-page ul, .generated-seo-page ol { padding-left: 1.5rem; }
.generated-seo-page li { margin-bottom: .5rem; }
.generated-seo-page table { display: block; overflow-x: auto; border-collapse: collapse; margin: 1rem 0; }
.generated-seo-page td, .generated-seo-page th { padding: .75rem; border: 1px solid hsl(var(--brand-border)); }
body.generated-seo-page:not(.pfc-public-document) header nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.generated-seo-page .nav-links { display: flex; flex-wrap: wrap; gap: 1rem; }
.generated-seo-page main nav[aria-label="Breadcrumb"] { display: block; padding: 0; border: 0; background: none; }
.generated-seo-page .seo-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.generated-seo-page .seo-metrics dd { font-weight: 700; margin: 0; }
.generated-seo-page .seo-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1rem; }
.generated-seo-page .pricing-card { padding: 1.5rem; }
.generated-seo-page .price { font-size: 2rem; font-weight: 700; }
.generated-seo-page .price-period { font-size: 1rem; }
.generated-seo-page .seo-cta { padding: 1rem 0; }
.generated-seo-page main [id] { scroll-margin-top: 112px; }
.generated-seo-page .seo-contents { margin: 1.5rem 0; }
.generated-seo-page .seo-contents summary { cursor: pointer; font-weight: 600; }
.generated-seo-page .seo-contents ul { margin-top: 1rem; }
.generated-seo-page .seo-faq { padding: 1rem 1.25rem; margin: .75rem 0; border: 1px solid hsl(var(--brand-border)); border-radius: var(--brand-radius); background: hsl(var(--brand-surface)); }
.generated-seo-page .seo-faq summary { cursor: pointer; }
.generated-seo-page .seo-faq summary h3 { display: inline; margin: 0; font-size: 1rem; }
.generated-seo-page .seo-faq > p { margin: .75rem 0 0; }
.generated-seo-page summary:focus-visible { outline: 2px solid hsl(var(--brand-blue)); outline-offset: 4px; }
.generated-seo-page footer { padding: 2rem 1.25rem; line-height: 2; }

.generated-seo-page #quick-answer {
  padding: 1.5rem; margin: 2rem 0; border-radius: var(--brand-radius);
  background: hsl(var(--brand-blue-soft)); border: 1px solid hsl(var(--brand-blue-border));
}
.generated-seo-page #quick-answer h2 { margin-top: 0; }
.generated-seo-page #quick-answer p { color: hsl(var(--brand-body)); }
.generated-seo-page .seo-metrics > div {
  padding: 1rem; background: hsl(var(--brand-surface)); border-radius: var(--brand-radius);
}
.generated-seo-page main:has(.seo-pricing) { max-width: 1200px; }
.generated-seo-page .pricing-card {
  position: relative; display: flex; flex-direction: column; gap: 1rem;
  background: hsl(var(--brand-surface)); border: 1px solid hsl(var(--brand-border));
  box-shadow: 0 4px 12px hsl(var(--brand-ink) / .05); padding: 2.5rem 1.5rem 1.5rem;
}
.generated-seo-page .pricing-card h2, .generated-seo-page .pricing-card p { margin: 0; }
.generated-seo-page .pricing-card .price { color: hsl(var(--brand-ink)); line-height: 1.4; }
.generated-seo-page .price-period { display: inline-block; font-weight: 400; white-space: nowrap; }
.generated-seo-page .pricing-card .cta-button { margin-top: auto; padding: .75rem 1rem; }
.generated-seo-page .pricing-card-popular { border: 2px solid hsl(var(--brand-blue)); }
.generated-seo-page .pricing-card .pricing-badge {
  position: absolute; top: 0; right: 0; padding: .25rem .75rem;
  background: hsl(var(--brand-blue)); color: hsl(var(--brand-surface));
  border-radius: 0 .5rem 0 .5rem; font-size: .75rem; font-weight: 600;
}

/* Preserve the heading when a shared page link targets the main content. */
.generated-seo-page #seo-content { scroll-margin-top: 112px; }
