/* Home Check Axarquía v2: readable text, clear controls and flexible layouts. */
html { font-size: 18px; scroll-padding-top: 120px; }
body { font-size: 1rem; line-height: 1.65; color: var(--text-main); }
main p, main li, main label, main input, main select, main textarea { font-size: 1rem; }
main p { line-height: 1.7; }
main p + p { margin-top: .8rem; }
main h1 span { color: var(--accent); }
body .hero-title { font-size: clamp(2.2rem, 3.6vw, 3.35rem); line-height: 1.15; letter-spacing: -.035em; }
body .hero-title span { font-size: .88em; }
body .page-masthead .hero-title { font-size: clamp(2rem, 3.5vw, 3rem); max-width: 24ch; }
body .page-masthead .section-subtitle { font-size: 1rem !important; max-width: 62ch; }
body .hero-lead { font-size: 1.05rem; max-width: 58ch; line-height: 1.75; }
body .section-title { font-size: clamp(1.65rem, 2.7vw, 2.35rem); line-height: 1.25; }
body .section-subtitle { font-size: 1rem; line-height: 1.7; max-width: 64ch; }
body .card-title { font-size: 1.2rem; line-height: 1.35; }
body .card-desc, body .addon-desc, body .process-card p, body .pricing-tier-desc { font-size: 1rem !important; line-height: 1.65; }
body .feature-card, body .pricing-card, body .addon-card { min-width: 0; }
body .grid-2 > *, body .grid-3 > *, body .grid-4 > *, body .hero-grid > * { min-width: 0; }
body .hero-locations, body .badge-item { font-size: .87rem; }
body .hero-plan-name { font-size: 1.15rem !important; }
body .hero-plan-copy { font-size: .92rem; line-height: 1.5; }
body .hero-plan-feature { font-size: .9rem; line-height: 1.55; }
body .hero-simple-perks { font-size: .9rem; }
body .hero-card { padding: 1.2rem; }
body .hero-plan-preview { padding: 1.2rem .9rem !important; }
body .hero-card-cta { white-space: normal; }
body .btn, body .btn-lg, body .btn-contact-v2 { min-height: 48px; font-size: .95rem; line-height: 1.4; white-space: normal; }
body .nav-link-v2 { font-size: .9rem; min-height: 44px; display: inline-flex; align-items: center; }
body .hero-tab { min-height: 48px; padding: .65rem .45rem; font-size: .9rem; line-height: 1.4; }
body .hero-plan-feature, body .card-title, body .addon-title { overflow-wrap: break-word; }
body .hero-plan-preview .hero-plan-price { font-size: 2.5rem !important; }
body .addon-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .home-addons .addon-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .addon-card { padding: 1.3rem; }
body .addon-title { font-size: 1.1rem; line-height: 1.4; }
body .addon-price { font-size: .95rem; }
body .example-quote { font-size: 1rem; line-height: 1.75; }
body .example-location, body .example-plan-badge, body .example-tag { font-size: .85rem; }
body .process-card h3 { font-size: 1.15rem; }
body .process-grid { gap: 1.4rem; }
body .process-card { padding: 1.5rem; }
body .story-grid h2, body .walkthrough-row h2 { font-size: clamp(1.55rem, 2.7vw, 2rem) !important; }
body .walkthrough-row { gap: 2.5rem !important; }
body .walkthrough-row ul, body .walkthrough-row li { font-size: 1rem !important; }
body .walkthrough-row li { margin-bottom: .6rem; }
body .sample-label { text-align: center; font-size: .88rem; font-weight: 650; margin: 0 0 .6rem; }
body .pricing-item { font-size: 1rem; line-height: 1.6; gap: .65rem; }
body .pricing-item-icon { flex-shrink: 0; margin-top: .25rem; }
body .pricing-tier-name { font-size: 1.25rem; line-height: 1.35; }
body .pricing-price { font-size: 2.6rem; line-height: 1.2; overflow-wrap: normal; }
body .price-unit { display: inline-block; font-size: .85rem; white-space: normal; }
body .pricing-tax { font-size: .85rem; line-height: 1.6; }
body .pricing-list { margin-block: 1.2rem; }
body .pricing-card { padding: 1.5rem; }
@media (min-width: 1025px) {
  body #panel-single .pricing-tier-desc { min-height: 3.4em; }
  body .sub-panel .pricing-tier-desc { min-height: 5.1em; }
  body .sub-panel .pricing-tax { min-height: 4.8em; }
}
body .plan-type-intro small { font-size: .95rem; line-height: 1.6; display: block; }
body.pricing-page .switcher-copy strong { font-size: 1rem !important; }
body.pricing-page .switcher-copy small { font-size: .85rem !important; }
body.pricing-page .switcher-badge { font-size: .75rem; }
body .switcher-btn, body .sub-switcher-btn, body .pack-switcher-btn { font-size: .95rem !important; min-height: 48px; white-space: normal; line-height: 1.45; }
body .faq-question { font-size: 1rem; line-height: 1.5; min-height: 52px; gap: 1rem; }
body .faq-item.active .faq-answer, body .faq-answer p { font-size: 1rem; line-height: 1.7; }
body .faq-icon { flex-shrink: 0; }
body .area-block h2 { font-size: 1.6rem !important; }
body .area-list { gap: 2.5rem !important; }
body .area-block { margin-bottom: 0 !important; padding-bottom: 2rem !important; }
body .area-protocol li { font-size: 1rem; line-height: 1.65; }
body .form-label { font-size: 1rem; line-height: 1.5; }
body .field-hint { font-size: .85rem; font-weight: 400; color: var(--text-muted); }
body .form-control { font-size: 1rem; line-height: 1.5; padding: .8rem .9rem; min-height: 50px; }
body textarea.form-control { min-height: 150px; resize: vertical; }
body .form-status { font-size: 1rem; }
body .contact-card, body .contact-form-card { min-width: 0; }
body .contact-card p, body .contact-details a { font-size: 1rem !important; }
body .legal-content p, body .legal-content li { font-size: 1rem; line-height: 1.8; }
body .legal-content h2 { line-height: 1.4; }
body .site-footer p { font-size: .9rem; line-height: 1.65; }
body .footer-links a { font-size: .9rem; display: inline-block; padding-block: .25rem; line-height: 1.5; }
body .footer-col-title { font-size: .95rem; }
body .footer-legal-notice, body .footer-bottom { font-size: .8rem; line-height: 1.65; }
body .cta-banner .section-subtitle { font-size: 1rem; }
body a:focus-visible, body button:focus-visible, body summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
body .site-footer a:focus-visible, body .cta-banner a:focus-visible { outline-color: white; }
@media (max-width: 1100px) {
  body .addon-grid, body .home-addons .addon-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .nav-link-v2 { font-size: .88rem; padding-inline: .45rem; }
}
@media (max-width: 1024px) {
  body .hero-grid, body .coverage-layout { grid-template-columns: minmax(0,1fr); }
  body .hero-grid { max-width: 760px; margin-inline: auto; }
  body .hero-card { padding: 1.1rem; }
  body .hero-title { font-size: clamp(2rem,5vw,3rem); }
  body .nav-link-v2 { width: 100%; font-size: 1rem; padding: .65rem .8rem; }
  body .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .container, .pricing-page .container { padding-inline: 22px; }
  body .hero-title { font-size: clamp(1.9rem,8.7vw,2.6rem); }
  body .hero-title span { font-size: .88em; }
  body .page-masthead .hero-title { font-size: clamp(1.8rem,8vw,2.25rem); }
  body .hero-lead { font-size: 1rem; }
  body .hero-plan-feature { font-size: .95rem; }
  body .hero-plan-copy { font-size: .95rem; }
  body .hero-plan-preview { padding: 1.25rem .85rem !important; }
  body .hero-tab { font-size: .88rem; }
  body .hero-simple-perks { font-size: .9rem; }
  body .section-title { font-size: 1.8rem; }
  body .home-benefits .card-desc { font-size: 1rem !important; }
  body .grid-3, body .addon-grid, body .home-addons .addon-grid, body .grid-4, body .footer-grid { grid-template-columns: minmax(0,1fr); }
  body .addon-card { padding: 1.3rem; }
  body .footer-grid > div:first-child { grid-column: auto; }
  body .pricing-card { padding: 1.35rem; }
  body .switcher-icon, body.pricing-page .switcher-badge { display: none; }
  body.pricing-page .switcher-copy small { font-size: .8rem !important; }
  body .sub-switcher, body .pricing-switcher { max-width: 100%; }
  body .pack-switcher-btn, body .sub-switcher-btn { padding-inline: .7rem !important; font-size: .9rem !important; }
  body .cta-banner { margin-inline: 12px; }
  body .cta-banner .section-title { font-size: 1.75rem; }
  body .legal-content > .container > div { padding: 0 !important; }
  body .area-block h2 { font-size: 1.45rem !important; }
  body .faq-question { padding: 1rem; }
  body .faq-item.active .faq-answer { padding: 1rem; }
}
@media (max-width: 360px) {
  .container, .pricing-page .container { padding-inline: 18px; }
  body .hero-card { padding: .8rem; }
  body .hero-tab { font-size: .82rem; }
  body .hero .hero-badges .badge-item { font-size: .82rem; }
}
@media print { html { font-size: 12pt; } }
