.global-footer {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(194, 222, 255, 0.16);
  background:
    radial-gradient(980px 520px at 112% -18%, rgba(255, 124, 46, 0.2), transparent 56%),
    radial-gradient(900px 560px at -10% 8%, rgba(0, 94, 164, 0.44), transparent 62%),
    linear-gradient(145deg, #081a2b 0%, #0f2b47 52%, #1f4465 100%);
  color: #eaf3ff;
  overflow: hidden;
}

.global-footer__inner {
  width: min(78rem, calc(100% - 2.4rem));
  margin: 0 auto;
  padding: clamp(1.3rem, 2.6vw, 2.2rem) 0 clamp(1.2rem, 2.4vw, 1.9rem);
}

.global-footer__glass {
  position: relative;
  border-radius: clamp(1rem, 2.1vw, 1.45rem);
  border: 1px solid rgba(196, 222, 250, 0.34);
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.09) 38%, rgba(255, 255, 255, 0.07) 100%);
  box-shadow:
    0 24px 68px rgba(4, 13, 23, 0.44),
    inset 0 1px 0 rgba(255, 255, 255, 0.27);
  -webkit-backdrop-filter: blur(14px) saturate(132%);
  backdrop-filter: blur(14px) saturate(132%);
  padding: clamp(1rem, 2.2vw, 1.8rem);
  overflow: hidden;
}

.global-footer__glass::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(480px 200px at 7% -8%, rgba(255, 255, 255, 0.24), transparent 62%);
  pointer-events: none;
}

.global-footer__main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.08fr) minmax(14rem, 0.82fr);
  align-items: start;
  gap: clamp(1rem, 2vw, 1.6rem);
}

.global-footer__brand {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
}

.global-footer__logoLink {
  display: inline-block;
  width: fit-content;
  text-decoration: none;
}

.global-footer__logo {
  display: block;
  width: clamp(138px, 15vw, 192px);
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(2, 8, 15, 0.42));
}

.global-footer__lead {
  margin: 0;
  color: #d8e9fc;
  font-size: 0.9rem;
  line-height: 1.54;
  max-width: 43ch;
}

.global-footer__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.global-footer__chips li {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(205, 225, 245, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #f0f6ff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.global-footer__links {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.global-footer__col {
  min-width: 0;
}

.global-footer__col h3 {
  margin: 0 0 0.52rem;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b8d0eb;
}

.global-footer__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.32rem;
}

.global-footer__quick {
  grid-template-columns: 1fr;
}

.global-footer__systems {
  grid-template-columns: 1fr;
}

.global-footer__col a {
  color: #eff6ff;
  text-decoration: none;
  font-size: 0.89rem;
  line-height: 1.45;
}

.global-footer__col a:hover {
  color: #ffffff;
}

.global-footer__contact {
  display: grid;
  gap: 0.52rem;
  align-content: start;
  padding: 0.78rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(196, 221, 247, 0.24);
  background: rgba(8, 24, 39, 0.26);
}

.global-footer__contact h3 {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b8d0eb;
}

.global-footer__mail {
  color: #ffffff;
  text-decoration: none;
  font-size: 0.96rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.global-footer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(255, 141, 73, 0.68);
  background: linear-gradient(140deg, rgba(255, 130, 53, 0.94), rgba(236, 107, 36, 0.94));
  color: #ffffff;
  text-decoration: none;
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(131, 47, 8, 0.34);
}

.global-footer__hours {
  margin: 0;
  color: #c4daef;
  font-size: 0.79rem;
}

.global-footer__bottom {
  position: relative;
  z-index: 1;
  margin-top: 0.95rem;
  padding-top: 0.84rem;
  border-top: 1px solid rgba(194, 222, 255, 0.22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.62rem;
  color: #bdd0e4;
  font-size: 0.79rem;
}

.global-footer__bottom p {
  margin: 0;
}

.global-footer__bottom span {
  text-align: right;
}

.global-footer__tech {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(194, 222, 255, 0.18);
  display: grid;
  gap: 0.72rem;
}

.global-footer__techHead {
  margin: 0;
  display: grid;
  gap: 0.32rem;
}

.global-footer__techKicker {
  margin: 0;
  color: #b8d0eb;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.global-footer__techHead h3 {
  margin: 0;
  color: #f2f8ff;
  font-size: 1rem;
  line-height: 1.34;
  letter-spacing: -0.01em;
}

.global-footer__techLead {
  margin: 0;
  color: #ccddf0;
  font-size: 0.82rem;
  line-height: 1.52;
  max-width: 72ch;
}

.global-footer__techGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.62rem;
}

.global-footer__techGroup {
  min-width: 0;
  border-radius: 0.86rem;
  border: 1px solid rgba(196, 221, 247, 0.24);
  background: rgba(8, 24, 39, 0.24);
  padding: 0.64rem 0.7rem;
}

.global-footer__techGroup h4 {
  margin: 0 0 0.48rem;
  color: #cfe0f3;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.global-footer__techList,
.global-footer__trustList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-footer__techList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.global-footer__techItem {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  border-radius: 999px;
  border: 1px solid rgba(205, 225, 245, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #edf5ff;
  min-height: 1.66rem;
  padding: 0 0.54rem;
  font-size: 0.69rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.global-footer__techItem img,
.global-footer__trustList img {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
  object-fit: contain;
  color: #e6f1ff;
  opacity: 0.8;
  transition: opacity 180ms ease, transform 180ms ease;
}

.global-footer__techItem:hover {
  border-color: rgba(255, 152, 87, 0.5);
  background: rgba(255, 255, 255, 0.11);
}

.global-footer__techItem:hover img {
  opacity: 1;
  transform: translateY(-0.5px);
}

.global-footer__trustList {
  display: grid;
  gap: 0.38rem;
}

.global-footer__trustList li {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 1.8rem;
  border-radius: 0.62rem;
  border: 1px solid rgba(205, 225, 245, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #e7f2ff;
  padding: 0.34rem 0.5rem;
  font-size: 0.73rem;
  line-height: 1.34;
}

@media (max-width: 1080px) {
  .global-footer__techGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .global-footer__techGroup:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .global-footer__tech {
    margin-top: 0.88rem;
    padding-top: 0.82rem;
    gap: 0.66rem;
  }

  .global-footer__techHead h3 {
    font-size: 0.93rem;
  }

  .global-footer__techLead {
    font-size: 0.79rem;
  }

  .global-footer__techGrid {
    grid-template-columns: 1fr;
    gap: 0.56rem;
  }

  .global-footer__techGroup:last-child {
    grid-column: auto;
  }
}

@media (max-width: 1080px) {
  .global-footer__main {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .global-footer__contact {
    grid-column: 1 / -1;
    max-width: 22rem;
  }
}

@media (max-width: 760px) {
  .global-footer__inner {
    width: calc(100% - 1.1rem);
    padding-top: 0.95rem;
    padding-bottom: calc(1.05rem + env(safe-area-inset-bottom));
  }

  .global-footer__glass {
    padding: 0.9rem;
  }

  .global-footer__main {
    grid-template-columns: 1fr;
    gap: 0.95rem;
  }

  .global-footer__lead {
    font-size: 0.86rem;
  }

  .global-footer__links {
    grid-template-columns: 1fr;
    gap: 0.82rem;
  }

  .global-footer__cta {
    min-height: 2.5rem;
  }

  .global-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .global-footer__bottom span {
    text-align: left;
  }
}

/* Keep touch-target hardening scoped to deferred UI only to avoid CLS on first viewport content */
.global-footer a,
.gdprx-link,
.gdprx-btn {
  min-height: 44px !important;
  min-width: 40px !important;
  height: auto !important;
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}

.global-footer a,
.gdprx-link {
  padding-inline: 0.35rem;
}

.gdprx-btn {
  justify-content: center;
  padding-block: 0.55rem;
}

/* Mobile menu/layout hardening */
@media (max-width: 700px) {
  .site-header-module__MfhZ2a__wrap {
    gap: 0.5rem !important;
    width: min(74rem, 100% - 1.3rem) !important;
    align-items: center !important;
  }

  .site-header-module__MfhZ2a__brand img {
    width: clamp(7.8rem, 38vw, 9.2rem) !important;
  }

  .site-header-module__MfhZ2a__actions {
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    position: static !important;
  }

  .site-header-module__MfhZ2a__contactLink {
    display: none !important;
  }

  .site-header-module__MfhZ2a__menuTrigger {
    position: static !important;
    width: auto !important;
    min-width: 6rem !important;
    min-height: 2.2rem !important;
    padding: 0 0.72rem !important;
    font-size: 0.68rem !important;
  }

  .site-header-module__MfhZ2a__menuPanel {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-height: calc(100dvh - var(--menu-shell-top)) !important;
    border-radius: 1rem 1rem 0 0 !important;
    transform: translateY(100%) !important;
  }

  .site-header-module__MfhZ2a__open .site-header-module__MfhZ2a__menuPanel {
    transform: translateY(0) !important;
  }

  .site-header-module__MfhZ2a__menuLayout {
    grid-template-columns: 1fr !important;
    gap: 0.56rem !important;
    padding: 0.34rem 0.72rem calc(0.9rem + env(safe-area-inset-bottom)) !important;
  }

  .site-header-module__MfhZ2a__sideColumn {
    display: none !important;
  }

  .site-header-module__MfhZ2a__systemCopy p {
    -webkit-line-clamp: 2 !important;
  }
}

@media (max-width: 420px) {
  .site-header-module__MfhZ2a__menuTrigger {
    min-width: 5.5rem !important;
    min-height: 2.08rem !important;
    font-size: 0.64rem !important;
    padding: 0 0.62rem !important;
  }
}

/* Hero slogan refinement: keep accent rail, calmer typography */
.page-module__E0kJGG__hero .page-module__E0kJGG__heroTitle {
  font-family: var(--font-hero), var(--font-title), "Outfit", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.2 !important;
  font-size: clamp(1.2rem, 1.88vw, 1.62rem) !important;
  color: #15283a !important;
  max-width: min(39ch, 100%) !important;
  padding-left: 0.72rem !important;
  text-wrap: pretty;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroTitle:before {
  display: block !important;
  width: 0.115rem !important;
  top: 0.2rem !important;
  left: 0 !important;
  height: calc(100% - 0.4rem) !important;
  opacity: 0.86;
  background: linear-gradient(
    180deg,
    rgba(16, 58, 88, 0.78) 0%,
    rgba(242, 108, 33, 0.72) 100%
  ) !important;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroNote {
  display: inline-flex !important;
  align-items: center;
  gap: 0.44rem;
  min-height: auto !important;
  margin: 0.1rem 0 0.2rem !important;
  padding: 0.24rem 0.58rem !important;
  border: 1px solid rgba(13, 71, 108, 0.16) !important;
  border-radius: 999px !important;
  background: linear-gradient(
    135deg,
    rgba(247, 251, 255, 0.78),
    rgba(238, 247, 255, 0.66)
  ) !important;
  box-shadow: none !important;
  color: rgba(16, 58, 88, 0.9) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.002em !important;
  order: 2 !important;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroNote::before {
  content: "✓";
  color: rgba(242, 108, 33, 0.96);
  font-size: 0.82em;
  font-weight: 800;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroActions {
  order: 3 !important;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroMetaPanel {
  order: 4 !important;
}

/* Hero package block: editorial strip */
.page-module__E0kJGG__hero .page-module__E0kJGG__heroPackages {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  column-gap: 0;
  row-gap: 0.22rem;
  align-items: start;
  width: min(30rem, 100%);
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroPackages::before {
  content: none;
  display: none;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroPackagesLead {
  grid-column: 1;
  margin: 0 !important;
  color: rgba(17, 47, 72, 0.86) !important;
  font-size: 0.86rem !important;
  font-weight: 620 !important;
  letter-spacing: -0.004em !important;
  line-height: 1.36 !important;
}

.page-module__E0kJGG__hero .page-module__E0kJGG__heroPackagesBadges {
  grid-column: 1;
  margin-top: 0.08rem !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.36rem !important;
}

.page-module__E0kJGG__hero
  .page-module__E0kJGG__heroPackagesBadges
  .tier-badges-module__rz6xjq__badge {
  min-height: 1.42rem !important;
  padding: 0 0.66rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(12, 63, 96, 0.26) !important;
  background: rgba(247, 252, 255, 0.74) !important;
  color: rgba(12, 63, 96, 0.94) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase;
}

@media (max-width: 1060px) {
  .page-module__E0kJGG__hero .page-module__E0kJGG__heroTitle {
    max-width: min(33ch, 100%) !important;
    font-size: clamp(1.12rem, 3.6vw, 1.44rem) !important;
    line-height: 1.22 !important;
    padding-left: 0.66rem !important;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroTitle:before {
    display: block !important;
    width: 0.105rem !important;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroPackages {
    width: min(28rem, 100%);
    column-gap: 0.64rem;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroPackagesLead {
    font-size: 0.82rem !important;
  }
}

@media (max-width: 700px) {
  .page-module__E0kJGG__hero .page-module__E0kJGG__heroTitle {
    max-width: 22ch !important;
    font-size: clamp(1.02rem, 5.4vw, 1.28rem) !important;
    letter-spacing: -0.009em !important;
    line-height: 1.24 !important;
    padding-left: 0.58rem !important;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroNote {
    font-size: 0.78rem !important;
    padding: 0.2rem 0.52rem !important;
    gap: 0.36rem;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroPackages {
    width: 100%;
    column-gap: 0.52rem;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroPackages::before {
    content: none;
    display: none;
  }

  .page-module__E0kJGG__hero .page-module__E0kJGG__heroPackagesLead {
    font-size: 0.78rem !important;
  }

  .page-module__E0kJGG__hero
    .page-module__E0kJGG__heroPackagesBadges
    .tier-badges-module__rz6xjq__badge {
    min-height: 1.32rem !important;
    font-size: 0.69rem !important;
    padding: 0 0.58rem !important;
  }
}

/* System image ratio normalization (uploaded assets are 16:9). */

.page-module__2yl3tq__imageFrame,
.page-module__E0kJGG__systemImageFrame,
.page-module__E0kJGG__systemCardImageFrame,
.page-module__E0kJGG__systemRowImageFrame,
.details-module__DuQ9cq__heroImageFrame,
.openx-systemSplitMedia img {
  aspect-ratio: 16 / 9 !important;
}

.site-header-module__MfhZ2a__systemImage,
.page-module__2yl3tq__image,
.page-module__E0kJGG__systemImage,
.page-module__E0kJGG__systemCardImage,
.page-module__E0kJGG__systemRowImage,
.details-module__DuQ9cq__heroImage,
.openx-systemSplitMedia img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #0f2234;
}

/* Home systems imagery: V4/C style (reversed bend, smaller radius, hover straight). */
.openx-systemStage .openx-systemSplit .openx-systemSplitMedia {
  position: relative;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  perspective: 1200px;
}

.openx-systemStage .openx-systemSplit .openx-systemSplitMedia img {
  width: 100%;
  aspect-ratio: 11 / 6 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  filter: contrast(1.02) saturate(0.96) !important;
  box-shadow: 0 28px 30px rgba(2, 6, 23, 0.2) !important;
  transform-origin: center center;
  transition:
    transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 280ms ease;
}

.openx-systemStage
  .openx-systemSplit:not(.openx-systemSplit--reverse)
  .openx-systemSplitMedia
  img {
  transform: perspective(1200px) rotateY(8deg);
}

.openx-systemStage
  .openx-systemSplit.openx-systemSplit--reverse
  .openx-systemSplitMedia
  img {
  transform: perspective(1200px) rotateY(-8deg);
}

.openx-systemStage .openx-systemSplit:hover .openx-systemSplitMedia img,
.openx-systemStage .openx-systemSplit .openx-systemSplitMedia:hover img {
  transform: perspective(1200px) rotateY(0deg) !important;
  box-shadow: 0 22px 24px rgba(2, 6, 23, 0.18) !important;
}

@media (max-width: 1060px) {
  .openx-systemStage .openx-systemSplit .openx-systemSplitMedia img {
    transform: none !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 18px rgba(2, 6, 23, 0.16) !important;
  }
}
