/* Shared reading and navigation improvements, preserving the THOVYRA palette. */
.site-public { font-size: 1rem; }
.site-public .main-nav a, .site-public .button-compact { font-size: .875rem; }
.site-public .main-nav a[aria-current="page"] { color: var(--gold-light); }
.site-public .section-kicker { font-size: .875rem; letter-spacing: .13em; }
.site-public .footer-grid a, .site-public .footer-grid span, .site-public .footer-bottom { font-size: .875rem; }
.site-public .footer-muted, .site-public .footer-bottom { color: #9cb4c5; }
.site-public .footer-grid a { padding-block: 5px; }
.site-public .portfolio-card, .site-public .software-card { box-shadow: none; }
.home-page .section { padding-block: clamp(72px, 7vw, 104px); }
.home-page .hero-v2 h1 { font-size: clamp(2.65rem, 4.9vw, 4.6rem); line-height: 1.12; }
.home-page .hero-v2-lead { max-width: 58ch; }
.home-page .hero-trust-row { line-height: 1.6; }
.site-public :is(.product-meta, .stage-caption) { color: #a7bdcc; font-size: .875rem; line-height: 1.7; }
.site-public :is(section[id], h2[id]) { scroll-margin-top: 140px; }
.product-intro { padding-top: calc(var(--header-h) + var(--notice-h) + 48px); padding-bottom: 64px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; color: #a7bdcc; font-size: .875rem; }
.breadcrumbs a:hover { color: var(--cyan); }
.product-intro h1 { max-width: 20ch; margin: 0; font-size: clamp(2.3rem, 4.4vw, 4.6rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.product-lead { max-width: 72ch; margin: 26px 0; font-size: 1.125rem; line-height: 1.75; color: #b4cad8; }
.product-meta { margin-top: 24px; }
.product-section { padding-block: 48px 72px; border-top: 1px solid var(--line); }
.product-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 28px; }
.product-section h2, .guide-title, .next-step-card h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.product-section-heading > p { margin: 0; color: #b4cad8; }
.product-image-frame { margin: 0; border: 1px solid var(--line-strong); border-radius: 18px; overflow: hidden; background: #05121e; }
.product-image-link { display: block; }
.product-image-link img { width: 100%; height: auto; }
.product-image-link > span { display: flex; justify-content: space-between; padding: 16px 24px; color: var(--cyan); font-size: .875rem; }
.product-image-frame figcaption { padding: 0 24px 18px; color: #a7bdcc; font-size: .875rem; }
.feature-explanations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.feature-explanations article > span { color: var(--gold-light); font-size: .875rem; }
.feature-explanations h3 { margin: 10px 0; font-size: 1.125rem; }
.feature-explanations p { margin: 0; color: #a7bdcc; }
.comparison-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
.product-comparison { border-collapse: collapse; width: 100%; min-width: 560px; text-align: left; }
.product-comparison caption { text-align: left; padding: 20px; color: #b4cad8; font-size: .875rem; }
.product-comparison :is(th, td) { padding: 18px 20px; border-top: 1px solid var(--line); font-size: 1rem; vertical-align: top; }
.product-comparison thead th { background: #082236; color: var(--gold-light); }
.product-comparison tbody th { font-weight: 600; width: 30%; }
.product-comparison td { color: #b4cad8; width: 35%; }
.next-step-card { display: flex; gap: 32px; align-items: center; justify-content: space-between; padding: 36px; margin-bottom: 80px; border: 1px solid var(--line-strong); border-radius: 20px; background: #071a2b; }
.next-step-card p:not(.section-kicker) { max-width: 65ch; color: #b4cad8; margin-bottom: 0; }
.next-step-card .hero-actions { flex-shrink: 0; flex-wrap: wrap; }
.topic-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.topic-links a { padding: 11px 18px; border: 1px solid var(--line-strong); border-radius: 8px; color: #c8e4f0; font-size: .875rem; }
.topic-links a:hover { background: #0a2439; }
.getting-started-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 32px 0 0; }
.getting-started-list li { padding-top: 24px; border-top: 1px solid var(--line-strong); }
.getting-started-list li > span { color: var(--gold-light); font-size: .875rem; }
.getting-started-list h3 { font-size: 1.2rem; }
.getting-started-list p { color: #b4cad8; }
.faq-section { padding-block: 24px 64px; max-width: 960px; }
.faq-list { margin-top: 28px; border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 24px 12px 24px 0; cursor: pointer; font-size: 1.125rem; font-weight: 600; }
.faq-list summary::marker { color: var(--cyan); }
.faq-list details > div { padding: 0 20px 24px; max-width: 78ch; color: #b4cad8; }
.faq-list details p { margin-top: 0; }
.faq-list a { color: var(--cyan); text-decoration: underline; text-underline-offset: 4px; }
.image-viewer { width: min(96vw, 1600px); max-width: none; max-height: 94dvh; padding: 0; color: #eefaff; background: #05121e; border: 1px solid var(--line-strong); border-radius: 14px; }
.image-viewer::backdrop { background: rgba(0, 5, 12, .92); }
.image-viewer-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; }
.image-viewer h2 { font-size: 1rem; margin: 0; }
.image-viewer button { min-height: 44px; padding: 8px 18px; border: 1px solid var(--line-strong); border-radius: 8px; background: #0a2439; color: #eefaff; }
.image-viewer img { width: 100%; height: auto; max-height: 72dvh; object-fit: contain; background: #000; }
.image-viewer-footer { padding: 16px 20px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .875rem; color: #b4cad8; }
.image-viewer-footer a { color: var(--cyan); text-decoration: underline; }
@media (max-width: 960px) {
  .product-section-heading, .feature-explanations, .getting-started-list { grid-template-columns: 1fr; gap: 24px; }
  .next-step-card { flex-direction: column; align-items: flex-start; }
  .product-intro { padding-bottom: 40px; }
}
@media (max-width: 600px) {
  .product-intro { padding-top: calc(var(--header-h) + var(--notice-h) + 28px); }
  .product-section { padding-block: 36px 48px; }
  .product-section-heading { gap: 18px; }
  .next-step-card { padding: 24px 20px; margin-bottom: 48px; }
  .next-step-card .hero-actions { width: 100%; }
  .image-viewer-bar { align-items: flex-start; padding: 12px; }
  .image-viewer-footer { padding: 12px; }
  .faq-list summary { font-size: 1rem; }
  .home-page .hero-v2 h1 { font-size: clamp(2.4rem, 9vw, 3.5rem); }
}
