/* Sprint 70-72: accessibility, mobile and interaction QA */
html{scroll-padding-top:92px}
:focus-visible{outline:3px solid #22c7f3;outline-offset:3px;border-radius:6px}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #22c7f3;outline-offset:3px}
[aria-current="page"]{color:#fff!important;text-decoration:underline;text-underline-offset:5px}
input,select,textarea,button{font:inherit}
select,textarea{max-width:100%}
textarea{resize:vertical}
button,.btn,.main-nav a,summary{touch-action:manipulation}
section[id],main[id]{scroll-margin-top:92px}
.content-card,.benefit-card,.price-card{overflow-wrap:anywhere}
.content-card>a,.benefit-card>a{display:inline-block;margin-top:8px}
.audience-strip>a{display:block;padding:24px 28px;border-right:1px solid var(--line)}
.audience-strip>a:last-child{border-right:0}
.audience-strip>a:hover{background:#f7faff}
.media-placeholder .content-grid{margin-top:22px;text-align:left;width:100%}
.media-placeholder .content-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:none;color:#fff;padding:18px}
.media-placeholder .content-card p{color:#c6d7e6;margin:5px 0 0}
.form-status:focus{outline:0}
img,video,svg{max-width:100%;height:auto}
@media(max-width:980px){
  .audience-strip>a{border-right:0;border-bottom:1px solid var(--line)}
  .main-nav.open{box-shadow:0 24px 70px rgba(0,0,0,.35)}
  .main-nav a{padding:10px 4px;min-height:44px;display:flex;align-items:center}
  .nav-wrap:not(:has(.menu-toggle)){height:auto;min-height:76px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
  .nav-wrap:not(:has(.menu-toggle)) .main-nav{display:flex!important;position:static!important;flex:1 1 100%;order:3;margin-left:0;background:transparent;padding:8px 0 0;border-radius:0;flex-direction:row;flex-wrap:wrap;gap:12px 18px;max-height:none;overflow:visible}
  .nav-wrap:not(:has(.menu-toggle)) .main-nav a{padding:4px 0;min-height:36px}
}
@media(max-width:640px){
  h1{font-size:clamp(2.55rem,13vw,4.2rem)}
  .subhero h1{font-size:clamp(2.55rem,13vw,4.2rem);line-height:1}
  .section-heading h2,.compare-grid h2{font-size:clamp(2rem,10vw,3rem)}
  .footer-grid{grid-template-columns:1fr}
  .comparison-table{overflow-x:auto}
  .media-placeholder{padding:24px 18px}
  .audience-strip>a{padding:20px}
  .contact-form.light{padding:22px 18px}
  .nav-wrap:not(:has(.menu-toggle)) .main-nav{gap:6px 14px}
  .nav-wrap:not(:has(.menu-toggle)) .nav-cta{display:inline-flex;width:auto;margin-left:auto}
  table{font-size:.92rem}
}
@media(hover:none){.btn:hover,.benefit-card:hover,.content-card:hover{transform:none}.main-nav a{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}.btn:hover,.benefit-card:hover{transform:none}}
@media(prefers-contrast:more){:root{--muted:#405269;--line:#afbdca}.main-nav a,.footer-grid a{color:#e2ebf4}.btn-primary{background:#174ed1}.content-card,.price-card,.benefit-card{border-width:2px}}
@media print{.site-header,.page-nav,.nav-cta,.menu-toggle,.slider-arrow,.slider-dots,.cta-section{display:none!important}body{color:#000;background:#fff}.section,.subhero{padding:24px 0;background:#fff!important;color:#000!important}.content-card,.price-card,.benefit-card{box-shadow:none;border:1px solid #aaa;break-inside:avoid}.site-footer{background:#fff;color:#000;border-top:1px solid #aaa}.site-footer a,.site-footer p{color:#000}.container{width:100%;max-width:none}}
