/* Shared customer-facing mobile/readability/accessibility hardening. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
a,button,input,textarea,select,[role="button"]{touch-action:manipulation}
button,.btn,.navcta,.login,.package-action,[role="button"]{min-height:44px}
input,select{min-height:44px}
textarea{min-height:120px}
input,textarea,select{max-width:100%}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #62e69a!important;outline-offset:3px!important;box-shadow:0 0 0 2px #07110d!important}
:where(p,li,small,label,.muted,.section-copy,.lead){overflow-wrap:anywhere}
:where(h1,h2,h3,h4,.brand){overflow-wrap:break-word}

/* Dark surfaces should never fall back to low-contrast gray text. */
:where(.dark-section,.form,.signal,.os-card,.package,.trust-card,.contact-strip,.panel,.card)[style*="background"] :where(label,small,p){text-shadow:none}
.form label{color:#d9eee3!important}
.form-note{color:#b9d2c5!important}
.form input,.form textarea,.form select{color:#f7fff9!important;border-color:#3f6b55!important;background:#10241a!important}
.form input::placeholder,.form textarea::placeholder{color:#a9c1b5;opacity:1}
.form input:focus,.form textarea:focus,.form select:focus{border-color:#62e69a!important;box-shadow:0 0 0 3px rgba(98,230,154,.14)}

/* Email/contact content is allowed to wrap instead of shrinking or clipping. */
.contact-strip{min-width:0}
.contact-strip>*,.contact-strip p,.contact-strip a{min-width:0}
.contact-strip p,.contact-strip a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word}

@media(max-width:760px){
  body{font-size:16px}
  .wrap{max-width:100%}
  .nav,.navlinks,nav,.foot,.footlinks,.hero-actions{min-width:0}
  input,textarea,select{font-size:16px!important}
  .form-row,.legal-grid,.faq,.agent-grid{grid-template-columns:1fr!important}
  .contact-strip{grid-template-columns:1fr!important;align-items:stretch!important;gap:14px!important}
  .contact-strip .btn,.contact-strip a[href^="mailto:"]{width:100%;justify-content:center;text-align:center}
  .btn,.navcta,.login,.package-action,button{padding-left:16px;padding-right:16px}
  h1{letter-spacing:-2.2px!important}
  h2{letter-spacing:-1.5px!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:420px){
  .wrap{width:min(100% - 22px,1200px)!important}
  .form,.signal,.os-card,.package,.trust-card,.contact-strip{border-radius:16px!important}
  .form{padding:20px!important}
  .btn,.navcta,.login,.package-action,button{min-height:46px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
