@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Manrope:wght@400;500;600;700;800&display=swap");

/* =========================================================
   HEATLIFT — GLOBAL DESIGN SYSTEM 2026
   Shared declarations proven identical across all current pages.
   ========================================================= */
:root {
  --hl26-orange: #E6541A;
  --hl26-orange-dark: #C94715;
  --hl26-orange-pale: #FFF4EF;
  --hl26-orange-soft: #F8DED3;
  --hl26-blue: #195F94;
  --hl26-blue-dark: #12476D;
  --hl26-blue-soft: #E6EFF5;
  --hl26-ink: #1F1F1C;
  --hl26-ink-2: #343430;
  --hl26-text: #585851;
  --hl26-muted: #7B7A73;
  --hl26-line: #DED9D0;
  --hl26-canvas: #F7F3EE;
  --hl26-canvas-2: #EFEAE3;
  --hl26-white: #FFFFFF;
  --hl26-container: 1320px;
  --hl26-gutter: clamp(1.25rem, 4.5vw, 4.5rem);
  --hl26-section-space: clamp(4.5rem, 8vw, 7.5rem);
  --hl26-radius-sm: .75rem;
  --hl26-radius-md: 1.35rem;
  --hl26-radius-lg: 2rem;
  --hl26-shadow: 0 18px 55px rgba(31, 31, 28, .09);
  --hl26-transition: 260ms cubic-bezier(.2, .7, .2, 1);
  --hl26-section-header-margin: clamp(2.75rem, 5vw, 4.5rem);
  --hl26-section-header-gap-mobile: 1rem;
  --hl26-copy-measure: 50rem;
  --hl26-kicker-gap: 1rem;
}

/* Global document reset — prevents browser default margins from creating white gutters around full-width heroes. */
html,
body {
  margin: 0;
  padding: 0
}

/* =========================================================
   GLOBAL TYPOGRAPHY & SECTION RHYTHM
   Shared by the validated Heatlift page family.
   Page styles may override only deliberate variants.
   ========================================================= */
.hl26-section {
  padding-block: var(--hl26-section-space);
}

.hl26-section--white {
  background: var(--hl26-white);
}

.hl26-section--canvas {
  background: var(--hl26-canvas);
}


.hl26-section-heading {
  margin: 0 0 1.2rem;
  font-size: clamp(1.95rem, 3vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
}

.hl26-section-lead {
  max-width: var(--hl26-copy-measure);
  margin: 0;
  color: var(--hl26-text);
  font-size: clamp(1.05rem, 1.35vw, 1.22rem);
  line-height: 1.7;
}

.hl26-section-header {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(24rem, 1.2fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: var(--hl26-section-header-margin);
}



.hl26-kicker {
  margin: 0 0 var(--hl26-kicker-gap);
  color: var(--hl26-orange-dark);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.hl26-text-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  text-decoration: none !important;
}

.hl26-container {
  width: min(100%, var(--hl26-container));
  margin-inline: auto;
  padding-inline: var(--hl26-gutter);
}

.hl26-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-height: 3.35rem;
  padding: .9rem 1.45rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--hl26-orange);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  color: var(--hl26-white) !important;
  transition: transform var(--hl26-transition), background var(--hl26-transition), box-shadow var(--hl26-transition), border-color var(--hl26-transition);
}

.hl26-btn:hover {
  transform: translateY(-2px);
  background: var(--hl26-orange-dark);
  box-shadow: 0 12px 28px rgba(230, 84, 26, .22);
}

.hl26-arrow {
  transition: transform var(--hl26-transition);
}

.hl26-component a {
  color: inherit;
}

.hl26-js .hl26-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 650ms ease, transform 650ms ease;
}

.hl26-js .hl26-reveal.hl26-is-visible {
  opacity: 1;
  transform: none;
}


/* =========================================================
   GLOBAL COMPONENT FOUNDATIONS & VARIANTS — V3
   ========================================================= */
.hl26-component,
.hl26-component * {
  box-sizing: border-box
}

.hl26-component {
  width: 100%;
  font-family: "Manrope", Arial, sans-serif;
  color: var(--hl26-ink)
}

.hl26-component h1,
.hl26-component h2,
.hl26-component h3,
.hl26-component h4,
.hl26-component p,
.hl26-component ul,
.hl26-component ol,
.hl26-component figure {
  margin-top: 0
}

.hl26-component img {
  display: block;
  max-width: 100%
}

.hl26-component a:focus-visible,
.hl26-component button:focus-visible {
  outline: 3px solid rgba(230, 84, 26, .35);
  outline-offset: 4px;
}

.hl26-section-heading {
  text-wrap: balance
}



/* Canonical light CTA used on orange contact bands. */
.hl26-btn--light {
  background: var(--hl26-white);
  color: var(--hl26-orange-dark) !important;
  border-color: rgba(255, 255, 255, .82);
}

.hl26-btn--light:hover {
  background: var(--hl26-orange-pale);
  color: var(--hl26-orange-dark) !important;
  box-shadow: 0 12px 30px rgba(132, 44, 10, .2);
}


.hl26-btn--outline-light {
  border-color: rgba(255, 255, 255, .48);
  background: rgba(255, 255, 255, .04);
  color: var(--hl26-white) !important;
  backdrop-filter: blur(8px);
}

.hl26-btn--outline-light:hover {
  border-color: var(--hl26-white);
  background: rgba(255, 255, 255, .12);
  box-shadow: none;
}

.hl26-btn:hover .hl26-arrow,
.hl26-text-link:hover .hl26-arrow {
  transform: translateX(.25rem)
}

.hl26-text-link {
  color: var(--hl26-ink) !important;
  font-weight: 700;
  transition: color var(--hl26-transition)
}

.hl26-text-link:hover {
  color: var(--hl26-orange) !important
}

/* Shared hero shell for product/service detail pages. */
.hl26-detail-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: end;
  min-height: clamp(25rem, 50vh, 37rem);
  background: #171816;
  color: var(--hl26-white);
}

.hl26-detail-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  background: linear-gradient(90deg, var(--hl26-orange) 0 62%, var(--hl26-blue) 62% 100%);
}

.hl26-detail-hero__inner {
  padding-block: clamp(7rem, 10vw, 10rem) clamp(4rem, 7vw, 5.5rem)
}

.hl26-detail-hero__title {
  max-width: 12ch;
  margin: 0;
  color: var(--hl26-white) !important;
  font-size: clamp(3rem, 6.3vw, 6rem);
  font-weight: 700;
  letter-spacing: -.065em;
  line-height: .96;
  text-wrap: balance;
}

@media(max-width:950px) {
  .hl26-section-header {
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--hl26-section-header-gap-mobile)
  }
}

@media(max-width:680px) {
  :root {
    --hl26-section-space: 4rem
  }

  .hl26-detail-hero {
    min-height: 21rem
  }

  .hl26-detail-hero__inner {
    padding-block: 7rem 3.5rem
  }

  .hl26-detail-hero__title {
    font-size: clamp(2.8rem, 14vw, 4.2rem)
  }
}

@media(prefers-reduced-motion:reduce) {

  .hl26-component *,
  .hl26-component *::before,
  .hl26-component *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .hl26-js .hl26-reveal {
    opacity: 1;
    transform: none
  }
}