/* Common product-page components; np-* and pi-* describe page-specific content. */
.product-page .product-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px; background: #e8f1fa; color: #456887; }
.product-page .product-icon svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-page { --blue: #456887; --blue2: #365773; --blue-d: #365773; }
.product-page .product-container { width: calc(100% - 48px); max-width: 1120px; margin: 0 auto; padding: 0; }
.product-page .product-section { padding: 80px 0; }
.product-page .product-section.tight { padding: 60px 0; }
.product-page .product-section.alt, .product-page .pi-alt { background: #f7f9fb; }
.product-page .product-title { margin: 0; padding: 0; max-width: none; color: #24313d; font-size: 40px; font-weight: 800; line-height: 1.35; letter-spacing: -.035em; }
.product-page .product-title::after { display: none; }
.product-page .product-lead { max-width: 720px; margin: 18px 0 0; color: #647382; font-size: 16px; line-height: 1.8; }
.product-page .product-eyebrow { display: inline-flex; margin: 0 0 14px; padding: 5px 12px; border-radius: 30px; background: #e8f1f8; color: #365773; font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.product-page .product-eyebrow::before { display: none; }
.product-page .product-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.product-page .product-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid #c5d8e9; border-radius: 7px; font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background .18s, border-color .18s; }
.product-page .product-button:hover { text-decoration: none; transform: none; }
.product-page .product-button--primary { background: #456887; color: #fff; }
.product-page .product-button--primary:hover { background: #365773; color: #fff; }
.product-page .product-button--secondary { background: #fff; color: #456887; }
.product-page .product-button--secondary:hover { background: #eef3f8; }
@media (max-width: 640px) {
    .product-page .product-container { width: calc(100% - 32px); }
    .product-page .product-section, .product-page .product-section.tight { padding: 56px 0; }
    .product-page .product-title { font-size: 30px; }
    .product-page .product-lead { font-size: 15px; }

    /* pro_intro3.php used rem values against the legacy 9px mobile root. */
    .product-page.pi { font-size: 16px; line-height: 1.7; }
    .product-page.pi .np-chip { font-size: 14px !important; }
    .product-page.pi .np-chip b { font-size: 15px !important; }
    .product-page.pi .pi-card h3 { font-size: 18px !important; }
    .product-page.pi .pi-card p { font-size: 14px !important; line-height: 1.7; }
    .product-page.pi .pi-step b { font-size: 12px !important; }
    .product-page.pi .pi-step strong { font-size: 17px !important; }
    .product-page.pi .pi-step p { font-size: 14px !important; line-height: 1.7; }
    .product-page.pi .pi-point h3 { font-size: 17px !important; }
    .product-page.pi .pi-point p { font-size: 14px !important; }
    .product-page.pi .pi-bridge h2 { font-size: 28px !important; }
    .product-page.pi .pi-bridge p { font-size: 15px !important; }
    .product-page.pi .pi-feature-note,
    .product-page.pi .pi-feature-note * { font-size: 13px !important; }
    .product-page.pi .fc-head h2 { font-size: 28px !important; }
    .product-page.pi .fc-chip { font-size: 13px !important; }
    .product-page.pi .fc-card-top { font-size: 12px !important; }
    .product-page.pi .fc-list-footer { font-size: 13px !important; }
    .product-page.pi .fc-viewer-head h3 { font-size: 22px !important; }
    .product-page.pi .fc-viewer-tools button { font-size: 13px !important; }
    .product-page.pi .fc-text h2 { font-size: 18px !important; }
    .product-page.pi .fc-text .text_list { font-size: 14px !important; }
}
