/*
 * Fixed desktop crop boundary / 2026-08-24
 *
 * 769px and wider keeps the approved desktop composition. Below 1440px,
 * subpages use a centered 1440px canvas so narrowing the browser only crops
 * both sides. At 1440px and wider, the body returns to viewport width so
 * full-bleed section backgrounds remain truly full width; fixed inner stages
 * keep their own image and copy coordinates. At 768px the mobile layouts take
 * over abruptly.
 */

@import url("global-header-type-balance-20260824.css?v=2");
@import url("desktop-header-viewport-20260824.css?v=8");

@media (min-width: 769px) {
  html,
  body {
    overflow-x: clip;
  }

  body.subpage {
    min-width: 1440px;
  }
}

@media (min-width: 769px) {
  body.subpage {
    position: relative;
    left: 50%;
    width: 1440px;
    max-width: none;
    margin-right: 0;
    margin-left: -720px;
  }

  body:not(.subpage) > .header .header-inner {
    position: relative;
    left: 50%;
    width: 1440px;
    min-width: 1440px;
    max-width: none;
    margin-right: 0;
    margin-left: -720px;
  }

  /* Fixed conversion controls belong to the 1440px desktop canvas too. */
  .header .header-actions,
  body.no-side-tabs .header .header-actions {
    right: calc((100vw - 1440px) / 2);
  }

  .header .tel-widget,
  body.no-side-tabs .header .tel-widget {
    right: calc((100vw - 1440px) / 2 + 10px);
  }

  /* Resolve desktop clamp()/vw values at the 1440px reference width. */
  .header .nav {
    gap: 16.56px;
  }

  .header .nav-dropdown > .nav-parent {
    font-size: 12px;
  }

  .subpage .page-wm {
    font-size: 115.2px;
  }

  .subpage .page-head h1,
  .subpage .fi-h1 {
    font-size: 46.08px;
  }

  .subpage section .h2,
  .subpage section.case-sec .sec-head,
  .subpage .fi-sec h2,
  .subpage .svgb .h2 {
    font-size: 43.2px;
  }

  .subpage .fi-function-heading {
    font-size: 42px;
  }

  .subpage .fi-basic-list {
    column-gap: 34.56px;
  }

  .subpage .fi-basic-list li {
    font-size: 17.568px;
  }

  .subpage .svg-fgrid .fi-card {
    padding-top: 16.56px;
    padding-bottom: 16.56px;
  }

  .subpage .column-pending-card h2 {
    font-size: 36px;
  }

  .form-platform .contact-2col {
    gap: 72px;
  }

  .form-platform .contact-h1 {
    font-size: 35.28px;
  }

  .form-contact-platform .contact-h1 {
    font-size: 34px;
  }

  .form-platform .contact-card {
    padding: 43.2px;
  }

  .support-page .sup-horizontal-label {
    font-size: 14px;
  }
}

/* Keep full-bleed backgrounds at viewport width on wide desktop screens. */
@media (min-width: 1440px) {
  body.subpage {
    position: static;
    left: auto;
    width: auto;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
}

@media (min-width: 769px) and (max-width: 1439px) and (max-height: 520px) {
  .header .nav > a {
    font-size: 12px;
  }
}
