/* Public product pages keep the site's palette and typography. */
.product-page { padding-top: clamp(3rem, 7vw, 6rem); }
.product-page header.major { max-width: 56rem; margin-inline: auto; }
.product-page header.major h2 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.15; letter-spacing: -.035em; }
.product-page header.major p { font-size: 1.15rem; line-height: 1.75; text-wrap: balance; }
.product-page .legal-content { line-height: 1.8; }
.product-page .legal-content h3 { margin-top: 1.75rem; line-height: 1.4; }
.product-page .legal-content li { padding-left: .4rem; margin-bottom: .65rem; }
.product-page .legal-content li::marker { color: #7cb8ff; }
.product-page .image { border-radius: 1rem; overflow: hidden; }
.product-page .image img { border-radius: inherit; }
.product-page .box { border-radius: 1rem; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.04); }
.product-page .button { border-radius: .6rem; height: auto; min-height: 3rem; line-height: 1.5; padding: .8rem 1.4rem; white-space: normal; }
.product-page :is(a, button):focus-visible { outline: 3px solid #7cb8ff; outline-offset: 4px; }
@media (max-width: 736px) {
  .product-page header.major { margin-bottom: 2rem; }
  .product-page .button { width: 100%; text-align: center; }
}
.ai-offer .ai-card { border-radius: 1rem; box-shadow: 0 3px 16px rgb(15 23 42 / 6%); }
.ai-offer :is(a, button):focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.ai-offer .ai-card li { margin-bottom: .65rem; }
@media (max-width: 736px) {
  .ai-offer { margin-top: 5rem; }
  .ai-offer .ai-hero { padding: 1.2rem; }
}
