:root{--cp-touch:44px}
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
table{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
button,.button,.nav-cta,.cp-submit,input,select,textarea{min-height:var(--cp-touch)}
input,select,textarea{max-width:100%}
.brand img,.site-header .brand img{display:block;width:min(310px,100%);height:auto;object-fit:contain}
.cp-redirect-brand{display:block;width:min(330px,calc(100% - 36px));margin:24px auto 8px}.cp-redirect-brand img{display:block;width:100%;height:auto}
.footer img{width:min(290px,100%);height:auto}
.container,.narrow,.content,.article-layout,.cp-lead-wrap{max-width:100%}
.content,.page-hero,.hero-copy,.section-heading>*{min-width:0}
h1,h2,h3,p,a,li,td,th{overflow-wrap:anywhere}
.table-wrap,.comparison-table,.source-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:980px){
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
  .site-header .brand{min-width:0;max-width:68%}
  .site-header nav:not(.open){display:none}
  .site-header nav.open{display:flex;position:absolute;z-index:100;inset:100% 0 auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 20px;background:#fff;border-top:1px solid #e4e9ef;box-shadow:0 18px 35px rgba(5,27,54,.15)}
  .site-header nav.open>a,.site-header nav.open details{width:100%;padding:12px 4px}
  .menu,.menu-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:var(--cp-touch)}
  .hero-grid,.intelligence-grid,.simulator-shell,.faq-grid,.article-layout,.footer-grid,.goal-grid,.partner-grid,.reason-grid,.knowledge-grid,.search-demand-grid,.press-grid,.op-cards,.steps{grid-template-columns:1fr!important}
  .simulator-shell,.cp-lead-wrap{gap:28px}
  .hero-card,.data-card{width:100%;max-width:none}
  .utility-bar .container{gap:10px;flex-wrap:wrap}
  .utility-bar nav{display:flex;gap:12px;flex-wrap:wrap}
}

@media(max-width:720px){
  body{font-size:16px}
  input,select,textarea{font-size:16px!important}
  .container,.content,.page-hero .container{width:100%!important;padding-left:18px!important;padding-right:18px!important}
  .section,.page-hero,.cp-lead-section{padding-top:48px!important;padding-bottom:48px!important}
  h1{font-size:clamp(2.15rem,11vw,3.35rem)!important;line-height:1.02!important}
  h2{font-size:clamp(1.7rem,8vw,2.45rem)!important;line-height:1.08!important}
  .hero-actions,.center-action,.trust-row,.hero-proof{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .hero-actions .button,.center-action .button,.inline-cta .button,.nav-cta{width:100%;justify-content:center;text-align:center}
  .form-row,.cp-form-grid,.admin-checks{grid-template-columns:1fr!important}
  .simulator form,.calculator-card,.cp-lead-form{padding:20px!important;border-radius:18px!important}
  .calc-results{grid-template-columns:1fr!important}
  .footer-grid{gap:30px!important}
  .footer-bottom{display:grid!important;gap:12px;text-align:left}
  .cp-ai-mascot{width:72px!important;height:72px!important;left:12px!important;bottom:12px!important}
  .cp-ai-label{display:none!important}
}

@media(max-width:420px){
  .container,.content,.page-hero .container{padding-left:14px!important;padding-right:14px!important}
  .site-header .brand{max-width:72%}
  .site-header .brand img{width:230px}
  .utility-bar{font-size:.72rem}
  .breadcrumbs{font-size:.76rem;gap:6px;flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
