/* Global responsive safety layer. Desktop styling remains controlled by page styles. */ html,body {
  max-width:100%;
  overflow-x:hidden
}
img,video,canvas,svg {
  max-width:100%
}
main * {
  min-width:0
}
main table {
  max-width:100%
}
main input,main select,main textarea,main button {
  max-width:100%
}
@media(max-width:1180px) {
  .container {
    width:min(100% - 40px,var(--container,1300px))!important
  }
}
@media(max-width:900px) {
  main h1 {
    font-size:clamp(42px,7vw,64px)!important;
    line-height:1.06!important
  }
  main h2 {
    font-size:clamp(32px,5vw,48px)!important;
    line-height:1.1!important
  }
  main [class*="-grid"] {
    min-width:0
  }
  main form {
    max-width:100%
  }
  main input,main select,main textarea {
    width:100%;
    box-sizing:border-box
  }
  main table {
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch
  }
}
@media(max-width:767px) {
  .container {
    width:min(100% - 28px,var(--container,1300px))!important
  }
  main h1 {
    font-size:clamp(36px,11vw,50px)!important
  }
  main h2 {
    font-size:clamp(30px,9vw,40px)!important
  }
  main h3 {
    overflow-wrap:anywhere
  }
  main p,main li,main a,main button,main label {
    overflow-wrap:anywhere
  }
  main [class*="-grid"] {
    grid-template-columns:minmax(0,1fr)!important
  }
  main [class*="-actions"] {
    flex-wrap:wrap
  }
  main [class*="-actions"]>.btn,main [class*="-actions"]>a.btn {
    max-width:100%
  }
  main .btn {
    white-space:normal;
    text-align:center
  }
  main figure,main img {
    max-width:100%;
    height:auto
  }
  .site-footer .footer-grid,.site-footer .premium-footer-grid {
    grid-template-columns:1fr 1fr!important
  }
}
@media(max-width:520px) {
  .container {
    width:min(100% - 22px,var(--container,1300px))!important
  }
  main h1 {
    font-size:clamp(34px,10.7vw,44px)!important
  }
  main h2 {
    font-size:clamp(28px,9vw,36px)!important
  }
  main .btn {
    width:100%;
    justify-content:center
  }
  .site-footer .footer-grid,.site-footer .premium-footer-grid {
    grid-template-columns:1fr!important
  }
  .footer-topline,.footer-bottom {
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important
  }
}
