/* NeoMaturity — final visual correction pass · 2026-09-11 */
:root{--fix-ink:#07172f;--fix-text:#233044;--fix-muted:#667085;--fix-line:#e4eaf1;--fix-blue:#0768d7;--fix-soft:#f6f9fc}
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
:where(main,section,article,aside,div,form,fieldset,table)>*{min-width:0}
:where(h1,h2,h3,h4,p,li,a,span,strong,label,address){overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%}

/* Home navigation switches before the links start compressing. */
@media(min-width:721px) and (max-width:1020px){
  .topbar .links{display:none!important;position:absolute!important;top:72px!important;left:16px!important;right:16px!important;padding:10px!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;border:1px solid var(--fix-line)!important;border-radius:18px!important;box-shadow:0 22px 60px rgba(7,23,47,.16)!important;z-index:150!important}
  .topbar.open .links{display:flex!important}
  .topbar .links a{padding:12px 14px!important;border-radius:12px!important}
  .topbar .menu{display:block!important}
}

/* SEO/resource navigation also collapses early enough for tablets. */
@media(max-width:980px){
  .seo-nav .seo-container{gap:10px!important}
  .seo-links a:not(.cta){display:none!important}
  .seo-links .cta{white-space:nowrap!important}
}

/* Diagnostic: compact horizontal stepper on mobile, never a tall vertical rail. */
@media(max-width:800px){
  body.diagnostic-only .diagnostic-app{grid-template-columns:1fr!important;gap:10px!important}
  body.diagnostic-only .steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:5px!important;position:sticky!important;top:6px!important;z-index:30!important;padding:9px!important;border-radius:17px!important;max-width:100%!important;overflow:hidden!important}
  body.diagnostic-only .steps h3,body.diagnostic-only .steps>p,body.diagnostic-only .steps .trust-strip{display:none!important}
  body.diagnostic-only .steps .progress{grid-column:1/-1!important;margin:2px 0 0!important;min-width:0!important}
  body.diagnostic-only .step{display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;min-width:0!important;min-height:0!important;height:auto!important;padding:7px 3px!important;border-radius:11px!important;font-size:0!important;line-height:1!important;overflow:hidden!important}
  body.diagnostic-only .step span{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;min-width:24px!important;border-radius:50%!important;font-size:10px!important;line-height:1!important;margin:0!important}
  body.diagnostic-only .step i{display:none!important}
  body.diagnostic-only .assistant{min-width:0!important;border-radius:20px!important;overflow:hidden!important}
  body.diagnostic-only .chat-head{min-width:0!important;padding:10px 11px!important;gap:8px!important}
  body.diagnostic-only .chat-agent,body.diagnostic-only .chat-agent>div{min-width:0!important}
  body.diagnostic-only .chat-agent strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:170px!important}
  body.diagnostic-only .status-pill{flex:0 0 auto!important;white-space:nowrap!important;font-size:9.5px!important;padding:6px 7px!important}
  body.diagnostic-only .panel{padding:16px 14px!important;min-width:0!important}
  body.diagnostic-only :where(input,select,textarea){width:100%!important;min-width:0!important;font-size:16px!important}
}
@media(max-width:430px){
  body.diagnostic-only .chat-agent strong{max-width:130px!important}
  body.diagnostic-only #step5 .result-actions{grid-template-columns:1fr!important}
}

/* Keep UI screenshots readable and uncropped. */
:where(.seo-page,.diagnostic-only) img[data-ui],.resource img,.benchmark-card img{object-fit:contain!important;background:#f3f6fa!important}

/* Mobile typography and cards: less visual pressure. */
@media(max-width:760px){
  .seo-hero h1{font-size:clamp(34px,10.5vw,47px)!important;line-height:1.02!important}
  .seo-main h2{font-size:clamp(27px,8vw,35px)!important}
  .seo-main p,.seo-main li{font-size:15.5px!important;line-height:1.72!important}
  .seo-main :where(.grid,.cards){gap:12px!important}
  .seo-main :where(.card,.seo-resource-card){padding:18px!important;border-radius:18px!important}
  .neo-maturity-footer :where(a,span,address){overflow-wrap:anywhere}
}

/* Sticky CTA appears after the hero instead of covering the first screen. */
@media(max-width:720px){
  .mobile-sticky{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(18px)!important;transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important}
  .mobile-sticky.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
}

:where(.field,.form-group,.newsletter-form){min-width:0!important}
:where(input,select,textarea){width:100%;min-width:0}
