/* ASA Portal v2.1.5.D — Mobile Conversion QA, Performance, SEO & Accessibility Finalization */
/* ASA_DEPLOY_MARKER_PORTAL_V2_1_5_D_MOBILE_PERFORMANCE_SEO_A11Y_CSS */

:root{--asa-focus:#f6c94f;--asa-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:92px}
body{overflow-x:clip}
.asa-skip-link{position:fixed;z-index:10050;left:14px;top:10px;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#fff;color:#07113b;font-weight:800;box-shadow:0 10px 30px rgba(7,17,59,.22);transition:transform .16s ease}
.asa-skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--asa-focus);outline-offset:3px}
.asa-nav a,.btn,.asa-menu-btn,.asa-faq-list summary{touch-action:manipulation}
.asa-menu-btn{min-width:44px;min-height:44px}
section[id]{scroll-margin-top:92px}
img{height:auto}
.asa-story-hero-art img,.asa-character-story-media img,.asa-support-media img{display:block;width:100%;aspect-ratio:1672/941;object-fit:cover}
.asa-demo-label{display:inline-flex;align-items:center;margin-left:8px;padding:5px 9px;border:1px solid #dce5f3;border-radius:999px;background:#f8fbff;color:#61708a;font-size:10px;font-weight:750;letter-spacing:.035em;vertical-align:middle}

/* Below-fold rendering containment: improves long-page paint without hiding content from SEO/accessibility. */
@supports(content-visibility:auto){.asa-section:not(.asa-student360-showcase),.asa-final-cta,.asa-footer{content-visibility:auto;contain-intrinsic-size:1px 720px}}

/* Accessible registration controls and iOS zoom protection. */
.asa-form input,.asa-form select,.asa-form textarea{font-size:max(16px,1rem)}
.asa-form label{cursor:pointer}
.asa-form input:invalid:not(:placeholder-shown){border-color:#d85b5b}
.asa-form input:focus,.asa-form select:focus{box-shadow:0 0 0 4px rgba(37,99,235,.11)}

/* Make mobile CTA safe around notches/browser bars. */
@media(max-width:767px){
  html{scroll-padding-top:76px}
  section[id]{scroll-margin-top:76px}
  .asa-hero{min-height:auto}
  .asa-story-hero-art{overflow:hidden;border-radius:22px}
  .asa-story-hero-art img{object-position:62% center}
  .asa-character-story-media img,.asa-support-media img{object-position:center center}
  .asa-mobile-conversion-bar{bottom:calc(8px + var(--asa-safe-bottom));max-width:calc(100vw - 14px);margin-inline:auto}
  .asa-footer{padding-bottom:calc(90px + var(--asa-safe-bottom))!important}
  .asa-nav-actions .btn,.asa-hero-actions .btn,.asa-final-cta-actions .btn{min-height:46px}
  .asa-testimonial-grid-v215c{-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .asa-testimonial-grid-v215c::-webkit-scrollbar{display:none}
  .asa-demo-label{margin:7px 0 0 0}
}
@media(max-width:430px){
  .asa-container{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .asa-hero-copy h1{overflow-wrap:anywhere}
  .asa-mobile-conversion-bar{grid-template-columns:minmax(0,1fr) auto}
  .asa-mobile-conversion-bar a{min-width:0}
}

/* Performance fallback for data saver / low-spec devices, toggled by v215d.js. */
.asa-performance-lite .asa-story-orbit,.asa-performance-lite .asa-hero-glow,.asa-page-hidden .asa-story-orbit{animation:none!important;transform:none!important}
.asa-performance-lite [data-asa-parallax]{transform:none!important}
.asa-performance-lite .asa-proof-cards article:hover{transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){
  :is(a,button,input,select,textarea,summary):focus-visible{outline-width:4px}
  .asa-trust-proof-grid article,.asa-proof-cards article,.asa-form{border-color:#8b98ad}
}
