@import url("theme-tokens.css?v=red1");
/* FAQ and Contact follow the compact Pricing presentation without changing other routes. */
:is(.page-faq, .page-contact) {
    --help-accent: var(--brand-primary);
    --help-border: var(--jc-border);
    --help-positive: #087b54;
}
:is(.page-faq, .page-contact) .page-hero { padding: 40px 0 20px; background: var(--surface); }
:is(.page-faq, .page-contact) .page-hero::before { content: none; }
:is(.page-faq, .page-contact) .page-hero h1 { max-width: 820px; margin: 10px auto 16px; font-size: clamp(1.9rem, 3.5vw, 2.8rem); text-wrap: balance; }
:is(.page-faq, .page-contact) .page-hero p { max-width: 700px; font-size: 1rem; text-wrap: pretty; }
:is(.page-faq, .page-contact) main:focus-visible { outline: 3px solid var(--help-accent); outline-offset: 4px; }
:is(.page-faq, .page-contact) .button { min-height: 46px; padding: 10px 16px; border-radius: 10px; font-size: .9375rem; box-shadow: none; transition: background .16s, border-color .16s; }
:is(.page-faq, .page-contact) .button:hover { transform: none; }
:is(.page-faq, .page-contact) .button-primary { background: var(--help-accent); }
:is(.page-faq, .page-contact) .button-primary:hover { background: var(--dark-800); }
.page-faq .faq-page, .page-contact .contact-section { padding: 16px 0 56px; }
.page-faq .faq-page-grid { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; }
.page-faq .faq-index { padding: 16px; gap: 8px; border-color: var(--help-border); border-radius: 16px; box-shadow: none; top: calc(var(--header-height) + 16px); }
.page-faq .faq-index strong { padding: 0 8px 4px; font-size: .875rem; letter-spacing: 0; text-transform: none; }
.page-faq .faq-index a { display: flex; min-height: 44px; align-items: center; padding: 8px; font-size: .9375rem; line-height: 1.6; }
.page-faq .faq-groups { gap: 32px; }
.page-faq .faq-group { padding: 24px; border: 1px solid var(--help-border); border-radius: 16px; scroll-margin-top: calc(var(--header-height) + 24px); }
.page-faq .faq-group h2 { margin: 0 0 12px; font-size: 1.25rem; text-wrap: balance; }
.page-faq .faq-stack summary { min-height: 60px; padding: 12px 0; gap: 16px; font-size: 1rem; font-weight: 600; }
.page-faq .faq-stack details:last-child { border-bottom: 0; }
.page-faq .faq-stack details p { padding: 0 40px 16px 0; font-size: 1rem; }
.page-faq .simple-cta { padding: 0 0 56px; }
.page-faq .closing-card { padding: 24px; gap: 24px; border: 1px solid var(--help-border); border-radius: 16px; background: var(--surface-soft); box-shadow: none; color: var(--ink); }
.page-faq .closing-card h2 { margin: 0 0 8px; font-size: 1.35rem; }
.page-faq .closing-card p { margin: 0; color: var(--muted); font-size: 1rem; }
.page-contact .contact-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 20px; align-items: start; }
.page-contact .contact-card { min-width: 0; padding: 24px; border: 1px solid var(--help-border); border-radius: 16px; box-shadow: none; }
.page-contact .primary-contact { grid-row: auto; }
.page-contact .contact-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.page-contact .contact-heading .icon-box { width: 40px; height: 40px; margin: 0; border-radius: 10px; }
.page-contact .contact-card h2 { margin: 0 0 16px; font-size: 1.25rem; }
.page-contact .contact-heading h2 { margin: 0; }
.page-contact .contact-email { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; color: var(--help-accent); font-size: clamp(1rem, 1.6vw, 1.25rem); font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.page-contact .primary-contact > p { margin: 8px 0 20px; font-size: 1rem; }
.page-contact .contact-card small { margin-top: 16px; font-size: .8125rem; line-height: 1.7; }
.page-contact .contact-card ul { margin: 0; gap: 16px; font-size: 1rem; }
.page-contact .contact-card li .icon { color: var(--help-positive); }
.page-contact .app-contact { grid-column: 1 / -1; background: var(--surface-soft); color: var(--ink); }
.page-contact .app-contact h2 { margin-bottom: 4px; }
.page-contact .app-contact p { color: var(--muted); font-size: 1rem; }
.page-contact .help-button-secondary { flex-shrink: 0; border: 1px solid var(--help-border); background: var(--surface); color: var(--ink); }
.page-contact .help-button-secondary:hover { border-color: var(--help-accent); background: var(--surface-soft); }
@media (max-width: 860px) {
    .page-faq .faq-page-grid, .page-contact .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .page-faq .faq-index { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-faq .faq-index strong { grid-column: 1 / -1; }
    .page-faq .faq-index a { border: 1px solid var(--line); }
}
@media (max-width: 639px) {
    :is(.page-faq, .page-contact) .page-hero { padding-top: 32px; }
    .page-faq .faq-group, .page-contact .contact-card { padding: 20px; }
    .page-faq .faq-stack details p { padding-right: 0; }
    .page-faq .faq-index a { font-size: 1rem; }
    .page-contact .app-contact { flex-direction: column; align-items: stretch; gap: 16px; }
    .page-contact .primary-contact > .button { width: 100%; }
}
