/* Compact homepage and SEO page layouts built on the existing PruDent design system. */
.home-hero { min-height: calc(100vh - 78px); }
.home-hero .hero-copy h1 { max-width: 680px; }
.hero-audience { margin: 22px 0 0; color: var(--navy); font-size: .9rem; font-weight: 800; }
.compact-section { padding-block: clamp(76px, 8vw, 112px); }
.proof-compact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); align-items: center; gap: 56px; }
.proof-compact .eyebrow { margin-bottom: 10px; }
.proof-compact h2 { max-width: 640px; margin: 0; color: var(--navy); font-size: clamp(1.55rem, 2.3vw, 2.25rem); line-height: 1.12; }
.proof-compact > p { color: var(--ink-soft); font-weight: 550; }
.benefit-grid, .home-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.benefit-card, .home-feature-grid article { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); }
.benefit-card > span { display: inline-grid; width: 38px; height: 38px; margin-bottom: 28px; place-items: center; border-radius: 12px; background: var(--blue-light); color: var(--blue); font-size: .78rem; font-weight: 900; }
.benefit-card h3, .home-feature-grid h3 { margin: 0 0 10px; }
.benefit-card p, .home-feature-grid p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.home-feature-grid article { min-height: 220px; }
.home-feature-grid article a { display: inline-block; margin-top: 18px; color: var(--blue-dark); font-size: .88rem; font-weight: 800; }
.section-action { margin-top: 34px; text-align: center; }
.simple-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1060px; margin: 46px auto 0; padding: 0; list-style: none; }
.simple-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 28px; border-radius: var(--radius-md); background: #fff; }
.simple-steps > li > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 900; }
.simple-steps h3, .simple-steps p { margin: 0; }
.simple-steps p { margin-top: 8px; color: var(--ink-soft); line-height: 1.55; }
.migration-home { padding-block: clamp(72px, 8vw, 112px); }
.migration-home-card, .final-demo-card { overflow: hidden; border-radius: 32px; background: linear-gradient(135deg, #08294e, #0b4da2); color: #fff; box-shadow: var(--shadow-lg); }
.migration-home-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 70px; padding: clamp(38px, 6vw, 72px); }
.migration-home-card h2, .final-demo-card h2 { margin: 0 0 18px; color: #fff; }
.migration-home-card p:not(.eyebrow), .final-demo-card p:not(.eyebrow) { max-width: 720px; margin: 0 0 28px; color: #dcecff; line-height: 1.7; }
.migration-home-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 12px; }
.migration-home-list span { padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); font-weight: 800; }
.final-demo-section { padding-block: 24px clamp(84px, 9vw, 132px); }
.final-demo-card { padding: clamp(44px, 7vw, 80px); text-align: center; }
.final-demo-card p { margin-inline: auto !important; }

.seo-main { overflow: clip; }
.seo-hero { padding-block: clamp(76px, 9vw, 128px) clamp(68px, 8vw, 108px); background: linear-gradient(180deg, #f2f8ff 0%, #fff 100%); }
.seo-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .88fr); align-items: center; gap: clamp(46px, 7vw, 100px); }
.seo-hero-copy h1 { max-width: 800px; margin: 0 0 22px; font-size: clamp(2.65rem, 5.2vw, 5rem); line-height: .98; }
.seo-hero-copy > p:not(.eyebrow) { max-width: 760px; color: var(--ink-soft); font-size: clamp(1.03rem, 1.5vw, 1.22rem); line-height: 1.75; }
.seo-hero-copy .button { margin-top: 16px; }
.seo-hero-visual { position: relative; }
.seo-hero-visual img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-lg); }
.breadcrumb { padding-block: 18px; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .82rem; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 8px; color: #9aabbd; }
.breadcrumb a { color: var(--blue-dark); font-weight: 750; }
.seo-content { padding-block: clamp(72px, 8vw, 112px); }
.seo-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .32fr); gap: clamp(48px, 7vw, 96px); }
.seo-article { min-width: 0; }
.seo-article section + section { margin-top: 64px; padding-top: 54px; border-top: 1px solid var(--line); }
.seo-article h2 { max-width: 820px; margin-bottom: 18px; font-size: clamp(1.75rem, 3vw, 2.7rem); }
.seo-article h3 { margin: 28px 0 10px; }
.seo-article p, .seo-article li { color: var(--ink-soft); font-size: 1rem; line-height: 1.75; }
.seo-article ul, .seo-article ol { padding-left: 22px; }
.seo-side-nav { position: sticky; top: 110px; align-self: start; display: grid; gap: 8px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #f7fbff; }
.seo-side-nav strong { margin-bottom: 6px; color: var(--navy); }
.seo-side-nav a { color: var(--ink-soft); font-size: .88rem; font-weight: 700; }
.seo-side-nav a:hover { color: var(--blue); }
.fact-grid, .seo-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.fact-card, .seo-link-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.fact-card h3, .seo-link-card h3 { margin-top: 0; }
.seo-link-card { color: inherit; transition: transform 160ms ease, border-color 160ms ease; }
.seo-link-card:hover { transform: translateY(-2px); border-color: #96bee7; }
.seo-link-card span { color: var(--blue-dark); font-weight: 850; }
.seo-qa { display: grid; gap: 0; margin-top: 24px; border-top: 1px solid var(--line); }
.seo-qa details { border-bottom: 1px solid var(--line); }
.seo-qa summary { padding: 22px 42px 22px 0; color: var(--navy); font-weight: 850; cursor: pointer; }
.seo-qa details p { margin: -4px 0 24px; }
.inline-cta { margin-top: 56px; padding: 34px; border-radius: 24px; background: var(--blue-light); }
.inline-cta h2, .inline-cta p { margin-top: 0; }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(440px, 1fr); gap: clamp(42px, 7vw, 90px); align-items: start; }
.contact-page-copy p, .contact-page-copy li { color: var(--ink-soft); line-height: 1.7; }
.contact-page-copy ul { padding-left: 20px; }

@media (max-width: 1000px) {
  .benefit-grid, .home-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seo-hero-grid, .seo-content-grid, .contact-page-grid { grid-template-columns: 1fr; }
  .seo-hero-visual { max-width: 760px; }
  .seo-side-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .proof-compact, .migration-home-card { grid-template-columns: 1fr; gap: 32px; }
  .simple-steps { grid-template-columns: 1fr; }
  .home-feature-grid article { min-height: 0; }
}
@media (max-width: 640px) {
  .home-hero { min-height: auto; }
  .benefit-grid, .home-feature-grid, .fact-grid, .seo-link-grid, .seo-side-nav, .migration-home-list { grid-template-columns: 1fr; }
  .benefit-card, .home-feature-grid article, .simple-steps li { padding: 22px; }
  .seo-hero { padding-block: 58px 64px; }
  .seo-hero-copy h1 { font-size: clamp(2.35rem, 12vw, 3.65rem); }
  .seo-content-grid { gap: 40px; }
  .contact-page-grid { min-width: 0; }
}
