/* Phase 2: mobile conversion safety and 44px interaction targets. */

/* Local font files keep the scan/partner surface fast and give Russian the
   same type system instead of a platform-dependent fallback. */
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url('../fonts/inter/inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url('../fonts/inter/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url('../fonts/inter/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/ibm-plex-mono/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


.btn-cta:hover { filter: brightness(.92); }

/* The conversion surface is interactive immediately; below-fold sections keep
   the reveal choreography. */
.motion-ready .hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.motion-ready .hero .clipin {
  clip-path: inset(0 0 0 0);
  transition: none;
}

/* Content is readable by default. Motion is enabled only after the observer is ready. */
.reveal {
  opacity: 1;
  transform: none;
}

.clipin {
  clip-path: inset(0 0 0 0);
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(var(--length-ab98c047));
}

.motion-ready .reveal.in {
  opacity: 1;
  transform: none;
}

.motion-ready .clipin {
  clip-path: inset(0 0 100% 0);
}

.motion-ready .clipin.in {
  clip-path: inset(0 0 0 0);
}

/* The partner ask belongs in the first screen, not behind a footer toggle. */
.hero-lead {
  max-width: var(--length-ae6cfbb1);
  margin-top: var(--length-c80bfee3);
  padding: var(--length-9bf0c8e6);
  border: var(--length-93e20626) solid var(--line);
  border-radius: var(--r);
  background: var(--bg);
}

.hero-lead-title {
  font-size: var(--length-9bb5d32d);
  font-weight: 700;
  line-height: var(--line-height-9c193c60);
}

.hero-lead-copy {
  margin-top: var(--length-3772b3a1);
  color: var(--slate);
  font-size: var(--length-ff989d8f);
  line-height: var(--line-height-6918de1a);
}

.hero-lead .leadform {
  margin-top: var(--length-09f97395);
  padding: var(--space-5feceb66);
  border: 0;
  border-radius: 0;
  background: var(--color-10e9f560);
  box-shadow: none;
}

.hero-lead .lf-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--length-eb4ebe48);
}

.hero-lead .leadform input {
  min-height: var(--length-1968afbf);
  padding: var(--length-38cb6b4a) var(--length-7769e817);
  background: var(--white);
}

.hero-lead .leadform .btn {
  min-height: var(--length-47128122);
  margin-top: var(--length-38cb6b4a);
}

.hero-lead .lf-note {
  margin-top: var(--length-eb4ebe48);
}

.hero-lead .lf-thanks {
  margin-top: var(--length-09f97395);
  color: var(--navy);
  font-weight: 600;
}

.perk-static {
  cursor: default;
}

.topbar .back,
.topbar .btn,
.scrollcue,
.tlink,
.leadform-toggle,
button {
  min-height: var(--length-717594bb);
}

.langsw a,
.langsw span {
  display: inline-flex;
  min-width: var(--length-717594bb);
  min-height: var(--length-717594bb);
  align-items: center;
  justify-content: center;
}

.foot a,
.gabi a:not(.btn),
a[href*="hrbl.me/"] {
  display: inline-flex;
  min-height: var(--length-717594bb);
  align-items: center;
}

.leadform-toggle {
  padding: var(--length-7769e817) var(--length-eb4ebe48);
}

.skip {
  left: var(--space-5feceb66);
  transform: translateY(-120%);
}

.skip:focus {
  transform: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(var(--length-9db9e740) + env(safe-area-inset-bottom));
  }

  .topbar {
    min-height: var(--length-45c49e2e);
    gap: var(--length-38cb6b4a);
    padding: var(--length-38cb6b4a) max(var(--length-09f97395), env(safe-area-inset-right)) var(--length-38cb6b4a) max(var(--length-09f97395), env(safe-area-inset-left));
  }

  .topbar.shrink {
    padding-top: var(--length-eb4ebe48);
    padding-bottom: var(--length-eb4ebe48);
  }

  .topbar-right {
    min-width: 0;
    margin-left: auto;
  }

  .topbar .btn-cta {
    display: none;
  }

  .langsw {
    gap: var(--space-5feceb66);
  }

  .langsw a,
  .langsw span {
    padding: var(--space-5feceb66);
  }

  .stickycta {
    display: block;
    padding: var(--length-38cb6b4a) max(var(--length-09f97395), env(safe-area-inset-right)) calc(var(--length-38cb6b4a) + env(safe-area-inset-bottom)) max(var(--length-09f97395), env(safe-area-inset-left));
    transform: translateY(120%);
  }

  .stickycta.show {
    transform: none;
  }

  .stickycta .btn {
    min-height: var(--length-da5e345c);
  }

  .btn {
    max-width: 100%;
  }

  .hero {
    padding-top: var(--length-96ecb2fd);
  }

  .hero h1 {
    margin-top: var(--length-7769e817);
  }

  .hero-lead {
    margin-top: var(--length-ab98c047);
    padding: var(--length-7f108801);
  }

  .hero-lead-copy {
    display: none;
  }

  .hero-lead .leadform {
    margin-top: var(--length-38cb6b4a);
  }

  .hero-lead .lf-grid {
    grid-template-columns: 1fr;
  }

  .hero .sub {
    margin-top: var(--length-5d6c4397);
  }
}

@media (max-width: 360px) {
  .hero .cta-row .btn,
  .final .btn,
  .ctx .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Meaningful small blue labels need text contrast, independently of accents. */
.col .t, .step .n, .acstep .t, .income .box .t, .tlink,
.u-inline-7f130918 { color: var(--color-87b7054a); }
.clubrow:focus-visible, .cwrap:focus-visible {
  outline: var(--length-ac33ff91) solid var(--color-87b7054a);
  outline-offset: var(--length-74761400);
}

/* Boost Team lockup (B leaf leaf st Team. / BUILD YOUR BEST) replaces the BOOST CLUB text mark. */
.brand .bt-logo {
  display: block;
  width: var(--bt-logo-w);
  height: auto;
  transition: width var(--d2) var(--ease);
}

.topbar.shrink .brand .bt-logo {
  width: var(--bt-logo-w-shrink);
}

.foot .brand .bt-logo {
  width: var(--bt-logo-w-foot);
}

@media (max-width: 760px) {
  .topbar .brand .bt-logo,
  .topbar.shrink .brand .bt-logo {
    width: var(--bt-logo-w-mobile);
  }
}
