/* Public content cluster: deliberately separate from the app/studio styles. */
.seo-page { min-height: 40vh; }
.home-seo-fallback { color: var(--ink); background: var(--soft); }
.home-fallback-hero, .home-fallback-section { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.home-fallback-hero { padding: clamp(75px, 11vw, 150px) 0 85px; }
.home-fallback-hero h1 { max-width: 850px; font-size: clamp(3rem, 8vw, 6.8rem); line-height: .94; letter-spacing: -.075em; margin: 18px 0 24px; }
.home-fallback-hero > p:not(.kicker):not(.hero-actions) { max-width: 680px; font-size: 1.08rem; }
.home-fallback-section { padding: 72px 0; border-top: 1px solid var(--line); }
.home-fallback-section h2 { max-width: 760px; font-size: clamp(2rem, 5vw, 4rem); line-height: 1; margin: 12px 0 15px; }
.home-fallback-section > p:not(.kicker) { max-width: 720px; }
.home-fallback-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.home-fallback-links a { color: var(--violet); border: 1px solid var(--line); background: var(--panel); border-radius: 9px; padding: 10px 13px; font-size: .83rem; font-weight: 750; }
.home-fallback-noscript { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 0 0 70px; color: var(--muted); }
.seo-breadcrumbs { border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.seo-breadcrumbs .section-inner { width: min(1230px, calc(100% - 40px)); margin: 0 auto; padding: 15px 0; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.seo-breadcrumbs a { color: var(--violet); font-weight: 700; }
.seo-hero { padding-top: clamp(60px, 9vw, 120px); padding-bottom: clamp(55px, 8vw, 95px); }
.seo-hero .hero-inner { max-width: 980px; }
.seo-hero h1 { max-width: 920px; }
.seo-hero p { max-width: 760px; font-size: 1.08rem; }
.seo-section + .seo-section { border-top: 1px solid var(--line); }
.seo-section .section-heading { max-width: 760px; }
.seo-section .section-heading h2 { max-width: 780px; }
.seo-section .feature-grid { margin-top: 28px; }
.seo-section .feature-card { min-height: 170px; }
.seo-section .feature-card h3 { font-size: 1.15rem; }
.seo-related { border-top: 1px solid var(--line); }
.seo-cta .section-inner { max-width: 920px; }
.seo-cta h2 { max-width: 720px; }
.seo-steps { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 0; max-width: 900px; }
.seo-steps li { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.seo-steps li > span { color: var(--violet); font-weight: 850; letter-spacing: .08em; }
.seo-steps h3 { margin: 0 0 7px; font-size: 1.15rem; }
.seo-steps p { margin: 0; }
.seo-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.seo-table th, .seo-table td { text-align: left; vertical-align: top; padding: 15px 16px; border-bottom: 1px solid var(--line); }
.seo-table th { width: 31%; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.seo-table caption { text-align: left; margin-bottom: 12px; color: var(--muted); }
.seo-disclosure { color: var(--muted); font-size: .82rem; max-width: 800px; }
.model-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.model-card { display: flex; flex-direction: column; min-height: 250px; padding: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.model-card h3 { margin: 15px 0 8px; font-size: 1.28rem; }
.model-card p { margin-bottom: 18px; font-size: .88rem; }
.model-card .text-link { margin-top: auto; }
.model-kind { color: var(--violet); text-transform: uppercase; letter-spacing: .12em; font-size: .66rem; font-weight: 850; }
.article-shell { width: min(980px, calc(100% - 40px)); margin: 0 auto; padding: 55px 0 85px; }
.article-shell > header { max-width: 820px; }
.article-shell h1 { max-width: 850px; font-size: clamp(2.65rem, 6vw, 5.7rem); }
.article-meta { display: flex; flex-wrap: wrap; gap: 15px; color: var(--muted); font-size: .78rem; margin: 22px 0 36px; }
.article-meta span + span { padding-left: 15px; border-left: 1px solid var(--line); }
.article-content { max-width: 780px; }
.article-content h2 { font-size: clamp(1.8rem, 4vw, 3rem); margin: 54px 0 15px; }
.article-content h3 { font-size: 1.25rem; margin: 30px 0 9px; }
.article-content p, .article-content li { font-size: 1rem; line-height: 1.78; color: var(--muted); }
.article-content ul, .article-content ol { padding-left: 22px; }
.article-content li + li { margin-top: 9px; }
.article-content a { color: var(--violet); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-note { margin: 28px 0; padding: 19px 21px; border-left: 3px solid var(--violet); background: rgba(102,88,245,.08); }
.article-note strong { display: block; margin-bottom: 5px; }
.article-note p { margin: 0; font-size: .9rem; }
.article-toc { margin: 24px 0 35px; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.article-toc strong { display: block; margin-bottom: 10px; }
.article-toc ol { margin: 0; padding-left: 20px; }
.article-toc li { margin: 5px 0; font-size: .9rem; }
.seo-callout { margin: 26px 0; padding: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.seo-callout h3 { margin-top: 0; }
.seo-callout p:last-child { margin-bottom: 0; }
.article-content .seo-table { margin: 22px 0 13px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.article-content .seo-table th, .article-content .seo-table td { border-color: var(--line); }
.article-footer-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 45px; padding-top: 25px; border-top: 1px solid var(--line); }
.article-footer-links a { display: inline-flex; padding: 10px 13px; border: 1px solid var(--line); border-radius: 9px; text-decoration: none; font-size: .82rem; font-weight: 750; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 900px) { .model-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .seo-breadcrumbs .section-inner, .article-shell { width: min(100% - 30px, 680px); }
  .model-directory { grid-template-columns: 1fr; }
  .seo-steps li { grid-template-columns: 42px 1fr; gap: 12px; }
  .seo-table { min-width: 560px; }
  .seo-section .table-wrap { overflow-x: auto; }
  .article-shell { padding-top: 38px; }
  .article-content p, .article-content li { font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) { .seo-page *, .article-shell * { scroll-behavior: auto !important; transition: none !important; } }
:root[data-theme="dark"] .model-card, :root[data-theme="dark"] .article-toc, :root[data-theme="dark"] .seo-callout { background: linear-gradient(145deg, #171624, #100f1b); }
:root[data-theme="dark"] .article-note { background: rgba(148,136,255,.12); }
:root[data-theme="dark"] .home-seo-fallback { color: var(--ink); background: var(--soft); }
