/* =========================================================
   FINAL CROSS-SITE HEADER, HERO SPACING + BADGE ALIGNMENT
   Loaded after every page stylesheet so these rules remain
   consistent across desktop, tablet and mobile layouts.
   ========================================================= */

:root {
  --digitrix-header-shell-height: 74px;
  --digitrix-hero-clearance: 12px;
}

/* A self-contained, light iOS-style glass navigation shell. */
.site-header {
  padding-inline: 10px;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .header-inner {
  min-height: var(--digitrix-header-shell-height) !important;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.80);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.56));
  -webkit-backdrop-filter: blur(24px) saturate(175%);
  backdrop-filter: blur(24px) saturate(175%);
  box-shadow:
    0 16px 42px rgba(31,19,68,.12),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(99,5,244,.05);
}

.site-header.is-sticky {
  padding-top: 9px;
  padding-bottom: 9px;
}

.site-header.is-sticky .header-inner {
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(248,245,255,.68));
  box-shadow:
    0 14px 38px rgba(31,19,68,.14),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(99,5,244,.06);
}

.menu-toggle {
  border-radius: 16px !important;
  border-color: rgba(17,24,39,.10) !important;
  background: rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    0 8px 24px rgba(31,19,68,.08),
    inset 0 1px 0 rgba(255,255,255,.96);
}

/* Position every hero directly below the announcement + glass header.
   This removes the oversized empty band while preventing overlap. */
.hero,
.service-hero,
.services-hero,
.learning-hero,
.company-hero,
.testimonials-hero {
  padding-top: calc(
    var(--announcement-height, 42px)
    + var(--header-gap, 14px)
    + var(--digitrix-header-shell-height)
    + var(--digitrix-hero-clearance)
  ) !important;
}

@media (max-width: 1050px) {
  :root {
    --digitrix-header-shell-height: 70px;
    --digitrix-hero-clearance: 10px;
  }

  .site-header .header-inner {
    border-radius: 22px;
    padding-inline: 13px;
  }
}

@media (max-width: 720px) {
  :root {
    --digitrix-header-shell-height: 66px;
    --digitrix-hero-clearance: 7px;
  }

  .site-header {
    padding-inline: 4px;
  }

  .site-header .header-inner {
    min-height: var(--digitrix-header-shell-height) !important;
    padding: 7px 10px;
    border-radius: 20px;
  }

  .brand-logo {
    width: 158px !important;
  }

  .menu-toggle {
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
  }
}

@media (max-width: 430px) {
  :root {
    --digitrix-header-shell-height: 64px;
    --digitrix-hero-clearance: 5px;
  }

  .site-header .header-inner {
    padding-inline: 9px;
    border-radius: 19px;
  }

  .brand-logo {
    width: 146px !important;
  }

  .menu-toggle {
    width: 44px !important;
    height: 44px !important;
  }
}

/* Keep all 7-day, 30-day, 90-day and cycle badges centred inside
   the smaller inner ring, including multi-line labels. */
.guarantee-seal {
  isolation: isolate;
  overflow: hidden;
}

.guarantee-seal::before {
  inset: 16px !important;
  z-index: 0;
}

.guarantee-seal > div {
  position: relative;
  z-index: 1;
  width: calc(100% - 38px);
  height: calc(100% - 38px);
  border-radius: 50%;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.guarantee-panel .guarantee-seal strong {
  display: block;
  margin: 0 !important;
  font-size: 52px !important;
  line-height: .72 !important;
  letter-spacing: .015em !important;
}

.guarantee-panel .guarantee-seal span {
  display: block;
  width: 100%;
  max-width: 128px;
  margin: 8px auto 0 !important;
  font-size: 9px !important;
  line-height: 1.22 !important;
  letter-spacing: .10em !important;
  text-wrap: balance;
}

@media (max-width: 620px) {
  .guarantee-seal::before {
    inset: 14px !important;
  }

  .guarantee-seal > div {
    width: calc(100% - 34px);
    height: calc(100% - 34px);
    padding: 10px;
  }

  .guarantee-panel .guarantee-seal strong {
    font-size: 42px !important;
    line-height: .74 !important;
  }

  .guarantee-panel .guarantee-seal span {
    max-width: 108px;
    margin-top: 6px !important;
    font-size: 8px !important;
    line-height: 1.18 !important;
    letter-spacing: .085em !important;
  }
}
