/* Conversion and accessibility refinements; preserve the existing brand. */
.hero-title { max-width: 1050px; margin-inline: auto; text-wrap: balance; }
.hero-sub { max-width: 820px; text-wrap: pretty; }
.nfc-scope { padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid #2b536e; background: #0d1b2a; border-radius: 18px; margin-block: 1.5rem; color: #dae7f5; line-height: 1.7; }
.nfc-scope h3 { color: #7ccfff; margin-bottom: .6rem; }
.nfc-scope .btn-primary { margin-top: 1rem; }
.nfc-consent { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .65rem; margin-block: 1rem; font-size: .85rem; line-height: 1.5; color: #cad7e8; }
.nfc-consent input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; accent-color: #38b6ff; margin-top: .2rem; }
.nfc-consent span { flex: 1 1 240px; }
.nfc-consent a { color: #7ccfff; }
button, a.btn-primary, a.btn-plan, .hero-jump { min-height: 44px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #7ccfff; outline-offset: 4px; }
.plan-usage, .plans-note { color: #bfcede; line-height: 1.6; }
.pw-overlay { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; color: #e8eff8; }
.pw-overlay::backdrop { background: rgba(3,8,18,.72); }
.pw-contact label { font-size: .9rem; line-height: 1.4; }
@media (max-width: 640px) {
  .hero-title { font-size: clamp(2rem, 9vw, 3.2rem); line-height: 1.14; }
  .hero-cta-group { gap: .75rem; }
  .hero-cta-group > a { width: 100%; text-align: center; }
  .hero-jumps { gap: .5rem; }
  .plan-grid { grid-template-columns: 1fr; }
  .nfc-form-row { grid-template-columns: 1fr; }
  .pw-panel { max-height: 94dvh; width: calc(100% - 20px); overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
