/* Desktop-wide enhancement. Mobile and tablet layouts keep their existing rules. */
@media (min-width: 1280px) {
  body .container,
  body .locked-homepage .container {
    width: calc(100% - clamp(40px, 5vw, 120px)) !important;
    max-width: none !important;
  }

  .tandees-newsletter__inner {
    width: calc(100% - clamp(40px, 5vw, 120px));
    max-width: none;
  }
}

/* Mobile containment: prevent wide text and fixed controls from enlarging the page. */
@media (max-width: 920px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }

  body *,
  body *::before,
  body *::after {
    box-sizing: border-box;
  }

  body .utility-bar,
  body .utility-inner,
  body .utility-left,
  body .utility-left span {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body .utility-left span {
    display: block;
    overflow-wrap: anywhere;
    white-space: normal;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body:has(.locked-homepage) .locked-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12vw, 3.15rem);
    line-height: 1.02;
    overflow-wrap: anywhere;
  }

  body:has(.locked-homepage) .locked-lead,
  body:has(.locked-homepage) .locked-trust,
  body:has(.locked-homepage) .locked-trust span,
  body:has(.locked-homepage) .locked-tech,
  body:has(.locked-homepage) .locked-tech-scene {
    max-width: 100%;
    min-width: 0;
  }

  body:has(.locked-homepage) .locked-lead,
  body:has(.locked-homepage) .locked-trust span {
    overflow-wrap: anywhere;
  }

  body:has(.locked-homepage) .locked-trust span {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  body:has(.locked-homepage) .mobile-contact {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, .65fr) minmax(0, 1.25fr);
    width: 100%;
    max-width: 100%;
    gap: 4px;
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom));
  }

  body:has(.locked-homepage) .mobile-contact a {
    min-width: 0;
    width: 100%;
    padding-inline: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 360px) {
  body:has(.locked-homepage) .locked-trust {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body:has(.locked-homepage) .mobile-contact a {
    font-size: 12px !important;
  }
}
