/* styles-polish.css (growth-plan-20261107, STAGED, additive only, loads AFTER styles.css).
   Safe to delete: nothing else depends on it except the .home-faq block on the home page. */

/* Anchors land below the sticky header instead of under it */
section[id], [id="top"] { scroll-margin-top: 84px; }

/* Keyboard and switch users can see where they are (WCAG 2.4.7) */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--blue-light); outline-offset: 3px; border-radius: 6px;
}

/* Calmer line breaks on headings and paragraphs */
h1, h2, h3 { text-wrap: balance; }
.section-header p, .hero p, .cta-content p { text-wrap: pretty; }

/* Bigger thumb targets for the small footer and contact links on phones (many were under 40px tall) */
@media (max-width: 768px) {
  .footer-links a, .footer-contact a { display: inline-block; padding: 8px 0; min-height: 40px; }
  .footer-links li { margin-bottom: 2px; }
}

/* Gentle lift on cards for people with a mouse; none on touch, none if motion is reduced */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pricing-card, .price-card, .review-card, .testimonial-card { transition: transform .18s ease, box-shadow .18s ease; }
  .pricing-card:hover, .price-card:hover, .review-card:hover, .testimonial-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(10,58,99,.12); }
}

/* Home FAQ (native details, works without JavaScript) */
.home-faq { padding: 72px 0; background: var(--gray-50); }
.hf-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.hf-item { background: var(--white); border: 1px solid var(--gray-200); border-radius: 12px; padding: 0 20px; }
.hf-item[open] { border-color: var(--blue-light); box-shadow: 0 6px 18px rgba(10,58,99,.08); }
.hf-item summary { list-style: none; cursor: pointer; padding: 18px 28px 18px 0; font-weight: 600; font-size: 16px; color: var(--blue); position: relative; min-height: 44px; }
.hf-item summary::-webkit-details-marker { display: none; }
.hf-item summary::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--blue-light); }
.hf-item[open] summary::after { content: '\2212'; }
.hf-item p { padding: 0 0 18px; margin: 0; font-size: 15px; line-height: 1.7; color: var(--gray-600); }
@media (max-width: 768px) { .home-faq { padding: 48px 0; } }

/* Two review buttons side by side (wrap on phones) */
.reviews-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
