/* Public-site interface review, 30/10/2026. No application or billing rules. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:8px; left:12px; z-index:100; padding:12px 18px; background:#071a2b; color:#fff; border-radius:8px; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.vexmail-page { --brand-blue:#143fba; line-height:1.6; }
.vexmail-page :is(main,section,article,aside,form,fieldset,.contact-copy) { min-width:0; }
.vexmail-page :is(.hero,.section-heading,.vm-benefit-line) > * { min-width:0; overflow-wrap:anywhere; }
.vexmail-page .vm-price { overflow-wrap:anywhere; }
.vexmail-page :is(h1,h2,h3,p,li,.button,.header-cta) { overflow-wrap:break-word; }
.vexmail-page h1,.vexmail-page h2,.vexmail-page h3 { line-height:1.2; }
.vexmail-page .section-heading > p,.vexmail-page .section-heading div + p { color:#435d73; }
.vexmail-page .section-heading .eyebrow { color:#143fba; }
.vexmail-page .contact-panel { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:24px; padding:20px; border:1px solid #bcd8d4; border-radius:12px; background:#fff; }
.vexmail-page .contact-panel a { min-height:44px; display:inline-flex; align-items:center; color:#143fba; text-decoration:underline; text-underline-offset:3px; }
.vexmail-page :is(input,select,textarea) { font-size:1rem; min-width:0; }
.vexmail-page :is(button,.button,.header-cta,.nav a,.vm-wa,.vm-doc-links a,.social-links a) { min-height:44px; }
.vexmail-page :is(.nav a,.vm-wa,.vm-doc-links a,.social-links a) { display:inline-flex; align-items:center; }
.vexmail-page :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #143fba; outline-offset:4px; }
.vexmail-page button:disabled { opacity:.65; cursor:wait; }
.vexmail-page .contact-form p { margin:0; line-height:1.65; }
.vexmail-page .contact-form :is(input,select,textarea):focus { border-color:#143fba; }
.vexmail-page .contact-form a,.vexmail-page .vm-legal p a { text-decoration:underline; text-underline-offset:3px; }
.vexmail-page .required-note { font-size:.9rem; color:#435d73; margin-bottom:12px; }
.vexmail-page .footer { gap:16px 28px; align-items:center; }
.social-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.social-links a { color:#143fba; font-weight:700; gap:6px; text-decoration:underline; text-underline-offset:4px; }
.vexmail-page .vm-table-wrap { overscroll-behavior-x:contain; }
.table-hint { display:none; }
.vexmail-page .chatbot-panel { max-height:min(620px,calc(100dvh - 92px)); }
.vexmail-page .site-chatbot.open .chatbot-panel { grid-template-rows:auto minmax(0,1fr) auto; }
.vexmail-page .chatbot-messages { min-height:0; max-height:38dvh; }
.vexmail-page .chatbot-actions { max-height:28dvh; overflow-y:auto; }
.vexmail-page .chatbot-header button { min-width:44px; min-height:44px; }
.vexmail-page .chatbot-actions button { min-height:44px; padding:8px 12px; }
@media(max-width:980px) {
  .vexmail-page .site-header { position:relative; gap:12px; padding:16px 24px; }
  html { scroll-padding-top:20px; }
  .vexmail-page .nav { gap:4px 20px; }
  .vexmail-page .hero { padding-top:36px; }
  .vexmail-page .hero { grid-template-columns:minmax(0,1fr); }
  .vexmail-page .vm-plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .table-hint { display:block; }
  .vexmail-page .vm-plans { grid-template-columns:minmax(0,1fr); }
  .vexmail-page .site-header { padding:12px 18px; }
  .vexmail-page h1 { font-size:clamp(1.9rem,8vw,2.5rem); }
  .vexmail-page .hero { gap:24px; }
  .vexmail-page .contact-form { padding:18px; }
  .vexmail-page .vm-plan { padding:24px; }
  .vexmail-page .footer { align-items:flex-start; padding-bottom:96px; }
  .vexmail-page .vm-legal { padding-inline:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Social network symbols accompany visible, accessible link labels. */
.social-links .social-icon { flex:0 0 24px; width:24px; height:24px; }

@media (forced-colors:active) { .social-icon-instagram { stroke:LinkText; } .social-icon-facebook { fill:LinkText; } }
