/* Zeovoice mobile quality v201 — public visitor journey.
   Additive across public pages; no changes to pricing, authority, or execution. */

/* iOS Safari will otherwise zoom on 13–15px form controls. */
@media(max-width:820px){
  body.z85-premium :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea),
  body.z85-premium .z85-footer-select{
    font-size:16px!important;
    -webkit-text-size-adjust:100%;
  }
  body.z85-premium .z85-footer-select{
    min-height:44px!important;
    max-width:100%!important;
    border-radius:11px!important;
  }
  body.z85-premium :is(input,select,textarea):focus-visible{
    outline:3px solid #158ed8!important;outline-offset:3px!important;
  }
  /* Keep floating widgets / local controls reachable without tiny hit targets. */
  body.page-build #builder-speak-toggle,
  body.page-build .z198-builder-suggestions button,
  body.page-build .z198-conversation-compose button,
  body.page-build .z198-test-presets button,
  body.page-build .z198-test-controls button{
    min-height:44px!important;
  }
  body.z41-demo-page :is(.d18-toolbar button,.d18-scenario-toolbar button,.d18-quick-actions button,.d18-suggestions button),
  body.z41-demo-page .d18-choice,
  body.z41-demo-page .d18-prompt-choice,
  body.page-pilot .z90-pilot-experience-shell :is(button,[role="button"]),
  body.page-proof button,
  body.page-fit button {
    min-height:44px!important;
    line-height:1.35!important;
  }
  body.z41-demo-page :is(.d18-toolbar button,.d18-quick-actions button),
  body.page-pilot .z90-pilot-experience-shell :is(.d18-toolbar button,.d18-quick-actions button){
    padding-block:9px!important;
  }
  body.z85-premium :is(button,a,summary,select,input,textarea):focus-visible{
    outline:3px solid #31cdeb!important;outline-offset:3px!important;
  }
}
/* Support intentional full-color artwork with readable copy panels on narrow screens.
   Keep the existing images visible and avoid covering faces with naked white text. */
@media(max-width:760px){
  body.z85-premium:is(.page-receptionist,.page-sales,.page-support,.page-home-services,.page-faq)
  main#main-content>section.page-hero.z54-pricing-hero>.container{
    box-sizing:border-box!important;width:calc(100% - 28px)!important;
    max-width:620px!important;padding:23px 19px 24px!important;
    border:1px solid rgba(150,222,255,.25)!important;border-radius:21px!important;
    background:linear-gradient(140deg,rgba(3,20,48,.84),rgba(5,29,62,.68))!important;
    box-shadow:0 17px 46px rgba(0,13,42,.22)!important;
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  }
  body.z85-premium:is(.page-receptionist,.page-sales,.page-support,.page-home-services,.page-faq)
  main#main-content>section.page-hero.z54-pricing-hero>.container h1{
    font-size:clamp(33px,8.6vw,45px)!important;line-height:1.08!important;
    margin:11px 0 17px!important;letter-spacing:-.045em!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;
    text-wrap:balance!important;
  }
  body.z85-premium:is(.page-receptionist,.page-sales,.page-support,.page-home-services,.page-faq)
  main#main-content>section.page-hero.z54-pricing-hero>.container :is(p,.lead){
    color:#e8f6ff!important;-webkit-text-fill-color:#e8f6ff!important;
    font-size:16px!important;line-height:1.63!important;
  }
  body.z85-premium:is(.page-receptionist,.page-sales,.page-support,.page-home-services,.page-faq)
  main#main-content>section.page-hero.z54-pricing-hero .hero-actions{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
  }
  body.z85-premium:is(.page-receptionist,.page-sales,.page-support,.page-home-services,.page-faq)
  main#main-content>section.page-hero.z54-pricing-hero .hero-actions a{
    min-height:46px!important;width:100%!important;box-sizing:border-box!important;
  }
  /* The Director image has a close-up portrait: give copy a distinct surface
     without replacing the accepted character or background artwork. */
  body.z85-premium.z66-director-page main#main-content .z66-director-hero .z66-director-hero-copy{
    box-sizing:border-box!important;padding:22px 19px 25px!important;
    border:1px solid rgba(145,223,255,.24)!important;border-radius:22px!important;
    background:linear-gradient(144deg,rgba(2,17,41,.88),rgba(7,36,70,.71))!important;
    box-shadow:0 22px 60px rgba(2,12,30,.33)!important;
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  }
  body.z85-premium.z66-director-page main#main-content .z66-director-hero h1{
    font-size:clamp(34px,9.2vw,48px)!important;
    line-height:1.06!important;margin-bottom:17px!important;
    letter-spacing:-.049em!important;
  }
  body.z85-premium.z66-director-page main#main-content .z66-director-hero .lead{
    font-size:16px!important;line-height:1.64!important;color:#e9f7ff!important;
    -webkit-text-fill-color:#e9f7ff!important;
  }
}
/* Prevent a detached punctuation mark after the pricing headline's underlined word. */
@media(max-width:760px){
  body.page-pricing main h1{
    font-size:clamp(34px,8.9vw,43px)!important;
    line-height:1.075!important;letter-spacing:-.045em!important;
    text-wrap:balance!important;
  }
  body.page-pricing main h1 .z46-hero-emphasis{
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  body.z85-premium .z50-mobile-nav a,
  body.z85-premium .z38-mobile-menu summary,
  body.z85-premium .z38-mobile-menu .z38-mobile-actions a{
    min-height:44px!important;
  }
}
/* Render the authority decision's evidence sentence only when the sandbox
   actually exists. Its absence previously threw an exception in Security. */
.z201-authority-evidence{
  display:block;max-width:650px;margin:14px 0 0;padding:12px 14px;
  border:1px solid #cbdfee;border-radius:12px;
  background:linear-gradient(140deg,#eff8ff,#fff);
  color:#1c4c6b;font-size:13px;line-height:1.6;font-weight:650;
}
@media(max-width:820px){
  .z201-authority-evidence{font-size:14px;line-height:1.65;}
}
/* Final iOS form zoom and reachable demo/pilot controls; these specialized
   selectors outrank older versioned per-page rules with !important flags. */
@media(max-width:820px){
  html body.z85-premium.page-pilot main#main-content
  :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select),
  html body.z85-premium.z41-demo-page main#main-content
  :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select),
  html body.z85-premium.page-build main#main-content textarea{
    font-size:16px!important;
  }
  html body.z85-premium.z41-demo-page main#main-content button:not(.z26-menu),
  html body.z85-premium.page-pilot main#main-content button:not(.z26-menu),
  html body.z85-premium.page-fit main#main-content button{
    min-height:44px!important;
    line-height:1.35!important;
  }
  html body.z85-premium.page-pilot main#main-content .z91-market-card
  :is(b[aria-hidden],span[aria-hidden]){
    min-height:28px!important;
  }
}
/* v201c mobile acceptance refinement: eliminate remaining non-checkbox
   undersized touch targets and the 13.5px Pilot brief on iPhone. */
@media(max-width:820px){
  html body.z85-premium.page-pilot main#main-content textarea#pilot-goal[name="goal"]{
    font-size:16px!important;
    line-height:1.55!important;
    -webkit-text-size-adjust:100%!important;
  }
  html body.z85-premium main#main-content button#demo-rule-voice[aria-label="Say a policy rule"]{
    width:46px!important;min-width:46px!important;
    height:46px!important;min-height:46px!important;
    display:inline-grid!important;place-items:center!important;
    padding:0!important;
    border-radius:12px!important;
  }
  html body.z85-premium.page-pilot main#main-content
  details.z53-planner-advanced>summary{
    box-sizing:border-box!important;
    display:flex!important;align-items:center!important;
    min-height:46px!important;
    padding-block:10px!important;
    line-height:1.4!important;
    cursor:pointer!important;
  }
  html body.z85-premium.page-build main#main-content
  details.z198-build-editor>summary{
    box-sizing:border-box!important;
    display:flex!important;align-items:center!important;
    min-height:46px!important;
    padding-block:11px!important;
    line-height:1.45!important;
    cursor:pointer!important;
  }
}
