/* ==========================================================================
   Health Initiative Landing — template-health-landing.php
   Self-contained: the regular theme CSS is not loaded on this page.
   ========================================================================== */

@font-face {
  font-family: "MuseoModerno";
  src: url("../fonts/MuseoModerno-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url("../fonts/BarlowCondensed-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url("../fonts/BarlowCondensed-Black.ttf") format("truetype");
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: "Mulish";
  src: url("../fonts/Mulish-VariableFont_wght.ttf") format("truetype");
  font-weight: 200 1000;
  font-display: swap;
}

@font-face {
  font-family: "Comfortaa";
  src: url("../fonts/Comfortaa-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 700;
  font-display: swap;
}

@font-face {
  font-family: "Bebas Neue";
  src: url("../fonts/BebasNeue-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}

:root {
  --hl-teal: #22a6c3;
  --hl-teal-dark: #178aa4;
  --hl-ink: #141b2d;
  --hl-text: #3d4556;
  --hl-muted: #6b7385;
  --hl-line: #e6e9ef;
  --hl-bg: #ffffff;
  --hl-cream: #fbf8f3;
  --hl-card: #ffffff;
  --hl-radius: 16px;
  --hl-radius-sm: 10px;
  --hl-shadow: 0 10px 30px rgba(20, 27, 45, 0.08);
  --hl-shadow-sm: 0 4px 14px rgba(20, 27, 45, 0.07);
  --hl-header-h: 74px;
  --hl-gutter: clamp(16px, 5.6944vw, 82px);
  --hl-font: "Comfortaa", system-ui, -apple-system, "Segoe UI", sans-serif;
  --hl-heading: "MuseoModerno", "Comfortaa", sans-serif;
  --hl-display: "Bebas Neue", "MuseoModerno", sans-serif;
}

/* ---------- Base ---------- */
.hl-body {
  overflow-x: clip;
  margin: 0;
  background: var(--hl-bg);
  color: var(--hl-text);
  font-family: var(--hl-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.hl-body *,
.hl-body *::before,
.hl-body *::after {
  box-sizing: border-box;
}

/* Never let wide decorative art make the page pan sideways. The class is set
   on <html> in header-health-landing.php; `hidden` is the fallback for
   browsers without `clip` (both stop the viewport scrolling horizontally). */
.hl-html,
html:has(.hl-body) {
  overflow-x: hidden;
  overflow-x: clip;
  scroll-padding-top: calc(var(--hl-header-h) + 16px);
}

.hl-body img {
  max-width: 100%;
  height: auto;
  display: block;
}

.hl-body a {
  color: inherit;
}

.hl-body h1,
.hl-body h2,
.hl-body h3,
.hl-body p,
.hl-body ul,
.hl-body ol,
.hl-body dl,
.hl-body dd {
  margin: 0;
  padding: 0;
}

.hl-body ul,
.hl-body ol {
  list-style: none;
}

.hl-body button {
  font: inherit;
  cursor: pointer;
}

.hl-body .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.hl-body :focus-visible {
  outline: 2px solid var(--hl-teal);
  outline-offset: 3px;
  border-radius: 6px;
}

.hl-skip {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 200;
  padding: 10px 16px;
  background: var(--hl-ink);
  color: #fff !important;
  border-radius: 8px;
  text-decoration: none;
}

.hl-skip:focus {
  top: 12px;
}

.hl-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--hl-gutter);
}

.hl-icon {
  width: 24px;
  height: 24px;
  flex: none;
}

/* ---------- Header — Figma node 2501:296 ---------- */
.hl-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: transparent;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.admin-bar .hl-header {
  top: 32px;
}

/* Once the page scrolls the header gets a solid backdrop so it stays readable.
   No backdrop-filter: it would trap the fixed mobile menu inside the header. */
.hl-header.is-scrolled {
  background: #fff;
  box-shadow: 0 4px 24px rgba(15, 19, 38, 0.08);
}

.hl-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: var(--hl-header-h);
  padding-top: 32px;
  transition: height 0.3s ease, padding-top 0.3s ease;
}

.hl-header.is-scrolled .hl-header__inner {
  padding-top: 0;
}

@media (max-width: 782px) {
  .admin-bar .hl-header {
    top: 46px;
  }
}

@media (max-width: 600px) {
  /* WordPress's admin bar scrolls away on small phones. */
  .admin-bar .hl-header {
    top: 0;
  }
}

.hl-logo {
  display: inline-flex;
  align-items: center;
  flex: none;
}

.hl-body .hl-logo__img {
  width: 122.5px !important;
  height: 40px;
  max-width: none;
  object-fit: contain;
}

.hl-nav {
  flex: none;
  display: flex;
  align-items: center;
}

.hl-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-right: 4px !important; /* Figma's last label carries a trailing space (549px group) */
}

.hl-nav__list a {
  position: relative;
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  white-space: nowrap;
}

.hl-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: #2cb3cc;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
}

.hl-nav__list a:hover::after,
.hl-nav__list a.is-current::after,
.hl-nav__list .current-menu-item > a::after {
  transform: scaleX(1);
}

.hl-header__cta,
.hl-nav__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: #2cb3cc;
  border-radius: 8px;
  color: #fff !important;
  font-family: "MuseoModerno", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  text-decoration: none;
  white-space: nowrap;
}

.hl-header__cta:hover,
.hl-nav__cta:hover {
  background: #239fb7;
}

.hl-nav__cta {
  display: none;
}

.hl-burger {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hl-line);
  border-radius: 10px;
  background: #fff;
  color: #0f1326;
}

.hl-burger__close {
  display: none;
}

.hl-burger[aria-expanded="true"] .hl-burger__open {
  display: none;
}

.hl-burger[aria-expanded="true"] .hl-burger__close {
  display: block;
}

/* ---------- Hero — Figma node 2501:258 (1440 x 1135 incl. 74px navbar) ---------- */
.hl-hero {
  position: relative;
  overflow: hidden;
  overflow: clip; /* never scrollable, even by focus or anchor jumps */
  background: #fff;
  min-height: calc(100vw * 1061 / 1440);
  padding-top: min(7.2222vw, 104px);
}

.hl-hero__banner {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1440 / 1003;
  overflow: hidden;
}

.hl-body .hl-hero__banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

/* Figma crops the bundled illustration inside the banner frame */
.hl-body .hl-hero__banner-img--design {
  position: absolute;
  left: -6.1%;
  top: 1.75%;
  width: 106.11%;
  height: 102.99%;
  max-width: none;
  object-fit: fill;
}

.hl-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, #fff 57.59%, rgba(255, 255, 255, 0));
  pointer-events: none;
}

.hl-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 571fr) minmax(0, 667fr);
  column-gap: 2.978%;
  align-items: start;
}

.hl-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}

.hl-hero__intro {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.hl-hero__tagline {
  color: #2cb3cc;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 21px;
  text-transform: uppercase;
}

/* One line on desktop, as in Figma; scales down with the column width. */
.hl-body .hl-hero__title {
  width: max-content;
  max-width: none;
  white-space: nowrap;
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: clamp(40px, 3.6111vw, 52px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
}

.hl-hero__text {
  color: #6f717d;
  font-family: "Comfortaa", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
}

.hl-hero__text p {
  margin: 0;
}

.hl-hero__text strong,
.hl-hero__text b {
  color: #0f1326;
  font-weight: 700;
}

.hl-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 16px;
  width: 100%;
}

.hl-feature {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
}

.hl-feature:nth-child(odd) {
  border-right: 1px solid #ebead9;
}

.hl-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 40px;
  height: 40px;
}

.hl-body .hl-feature__icon img {
  max-width: none;
}

.hl-feature__text {
  flex: 1 0 0;
  min-width: 0;
  color: #404251;
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

/* Orbit — Figma node 2501:261, 667 x 650; children placed in % by hl_orbit_box() */
.hl-orbit {
  position: relative;
  width: 100%;
  aspect-ratio: 667 / 650;
}

.hl-body .hl-orbit__layer {
  position: absolute;
  display: block;
  max-width: none;
}

.hl-orbit__badge {
  position: absolute;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}

/* Category badge image (orbit + category pins) */
.hl-body .hl-badge__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hl-body .hl-badge__img--crop {
  position: absolute;
  max-width: none;
  object-fit: fill;
}

.hl-badge {
  --s: clamp(38px, 3.6vw, 52px);
  position: relative;
  display: grid;
  place-items: center;
  width: var(--s);
  height: var(--s);
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  color: var(--c, #2cb3cc);
  box-shadow: 0 4px 12px rgba(15, 19, 38, 0.1);
}

.hl-badge > .hl-icon {
  width: 50%;
  height: 50%;
}

.hl-badge--sm {
  --s: clamp(38px, 3.6vw, 52px);
}

/* ---------- Shared type (Figma text styles) ---------- */
.hl-tagline {
  color: #2cb3cc;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
}

.hl-label {
  color: #2cb3cc;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.hl-body .hl-display {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 64px;
  font-weight: 600;
  line-height: 1.1;
}

.hl-body .hl-h32 {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}

.hl-copy {
  color: #6f717d;
  font-family: "Comfortaa", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}

.hl-copy p,
.hl-action__text p {
  margin: 0;
}

.hl-copy strong,
.hl-copy b,
.hl-action__text strong,
.hl-action__text b {
  color: #0f1326;
  font-weight: 700;
}

.hl-body img.hl-band__layer,
.hl-body .hl-band__layer img,
.hl-body .hl-footer img,
.hl-body .hl-value img,
.hl-body .hl-orders img,
.hl-body .hl-card img,
.hl-body .hl-pins img,
.hl-body .hl-slider__btn img {
  max-width: none;
}

/* ---------- Health Value — Figma node 2501:362 (page y 1135–1939) ---------- */
.hl-value {
  position: relative;
  overflow: hidden;
  background: #fff;
  min-height: calc(100vw * 804 / 1440);
  padding: 88px 0 64px;
}

.hl-value__scene {
  position: absolute;
  left: 0;
  top: calc(100vw * 422 / 1440);
  z-index: 0;
  width: 100%;
  aspect-ratio: 1440 / 414;
  overflow: hidden;
}

.hl-body .hl-value__scene img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 115.73%;
  object-fit: cover;
}

.hl-value__fade {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: calc(100vw * 202 / 1440);
  background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0.2) 55%, rgba(255, 255, 255, 0));
}

.hl-value__patch {
  position: absolute;
  left: calc(100vw * 527 / 1440);
  top: calc(100vw * 552 / 1440);
  z-index: 1;
  width: calc(100vw * 170 / 1440);
  height: calc(100vw * 87 / 1440);
  background: #fff;
}

.hl-value__inner {
  position: relative;
  z-index: 2;
}

.hl-value__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 678px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.hl-value__row {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: 47px;
}

.hl-value__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: none;
  width: 448px;
  padding-top: 10px;
}

.hl-value__info-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.hl-body .hl-value__heading {
  width: 320.742px;
  max-width: 100%;
}

.hl-value__calc {
  display: flex;
  flex: none;
  align-items: flex-start;
  gap: 32px;
}

.hl-value__equation {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  height: 278px;
  padding: 24px 40px;
  border-left: 1px solid rgba(15, 19, 38, 0.1);
  border-right: 1px solid rgba(15, 19, 38, 0.1);
}

.hl-eq {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #0f1326;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.hl-eq__power {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.hl-eq__power sup {
  font-size: 40px;
  line-height: 1.2;
  vertical-align: baseline;
}

.hl-eq-legend {
  display: flex;
  align-items: center;
  width: 100%;
}

.hl-eq-legend__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 112px;
  padding: 20px 0;
}

.hl-eq-legend__item:nth-child(1) {
  width: 128px;
  padding-right: 16px;
  border-right: 0.5px solid rgba(15, 19, 38, 0.16);
}

.hl-eq-legend__item:nth-child(2) {
  border-right: 0.5px solid rgba(15, 19, 38, 0.16);
}

.hl-eq-legend__item:nth-child(3) {
  width: 124px;
  padding-left: 12px;
}

.hl-eq-legend dt {
  color: #0f1326;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1;
}

.hl-eq-legend dd {
  height: 16px;
  padding-top: 4px;
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.hl-value__example {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 342px;
}

.hl-value__example-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.hl-value__example-head p {
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
}

.hl-example-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 32px;
}

.hl-example-flow__symbol {
  width: 100px;
  color: #0f1326;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}

/* Figma: 7px arrow rotated -45deg inside a horizontally mirrored 14px frame */
.hl-body .hl-example-flow__arrow {
  width: 8.4px;
  height: 8.4px;
  margin: 3px 2.8px 0;
  transform: scaleX(-1) rotate(-45deg);
}

.hl-example-icons {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.hl-example-icons__item {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-width: 0;
  text-align: center;
}

.hl-example-icons__item:nth-child(2) {
  border-left: 1px solid rgba(15, 19, 38, 0.1);
  border-right: 1px solid rgba(15, 19, 38, 0.1);
}

.hl-example-icons__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0.5px solid rgba(15, 19, 38, 0.1);
  border-radius: 100px;
}

.hl-example-icons__item strong {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  white-space: nowrap;
}

.hl-example-icons__item strong + span {
  margin-top: -8px; /* 4px text gap inside a 12px item gap */
  color: #9fa1a8;
  font-family: "Mulish", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 14px;
}

/* ---------- Categories + Impact band — Figma page y 1939–2947 ---------- */
.hl-band {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  container-type: inline-size;
}

.hl-band--cats {
  z-index: 1;
  min-height: calc(min(100vw, 1440px) * 401 / 1440);
}

.hl-band--impact {
  z-index: 2;
  min-height: calc(min(100vw, 1440px) * 607 / 1440);
}

.hl-band__scroll {
  display: contents;
}

.hl-band__swipe {
  display: none;
}

.hl-band__art {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  aspect-ratio: 1440 / 401;
  pointer-events: none;
}

.hl-band--impact .hl-band__art {
  aspect-ratio: 1440 / 607;
}

.hl-band__layer {
  position: absolute;
  display: block;
}

.hl-band__seam {
  position: absolute;
  left: 0.625%;
  top: -18.95px;
  width: 99.375%;
  height: 37.89px;
  background: linear-gradient(to bottom, rgba(245, 245, 245, 0.3), #f5f5f5 55%, rgba(245, 245, 245, 0));
}

.hl-band__seam-right {
  position: absolute;
  left: 86.597%;
  top: -15px;
  width: 13.403%;
  height: 40px;
  background: linear-gradient(to left, #fff, #fff 24.825%, rgba(255, 255, 255, 0));
}

.hl-cats__scene,
.hl-impact__scene {
  overflow: hidden;
}

.hl-body .hl-cats__scene img {
  position: absolute;
  left: -2.34%;
  top: -31.93%;
  width: 105.8%;
  height: 161.66%;
  object-fit: cover;
}

.hl-body .hl-impact__scene img {
  position: absolute;
  left: 0;
  top: -20.94%;
  width: 100%;
  height: 121.57%;
  object-fit: cover;
}

.hl-cats__warm {
  background: linear-gradient(to right, #fef7e1, #fef4db 49.272%, #fef0d5);
}

.hl-cats__stem.is-mirrored {
  transform: scaleX(-1);
}

.hl-cats__ripple-fade {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 45.625%, rgba(255, 255, 255, 0) 82.432%);
}

.hl-band__edge {
  background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff 83.366%);
}

.hl-pins {
  position: absolute;
  inset: 0;
}

.hl-pin {
  position: absolute;
  z-index: 3;
}

.hl-pin.is-active {
  z-index: 4;
}

.hl-pin__btn {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  pointer-events: auto;
}

.hl-pin__icon {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
}

.hl-tip {
  position: absolute;
  left: 12.85px;
  top: calc(100% + 23px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 168px;
  padding: 12px;
  background: #fff;
  border-radius: 4px;
  filter: drop-shadow(0 7px 10px rgba(16, 24, 40, 0.11)) drop-shadow(0 1px 4px rgba(16, 24, 40, 0.04));
  visibility: hidden;
  pointer-events: none;
}

.hl-pin.is-active .hl-tip {
  visibility: visible;
}

.hl-body .hl-tip__arrow {
  position: absolute;
  left: 11.87px;
  top: -7.69px;
}

/* Last three icons: open the tooltip towards the left so it never runs off the edge */
.hl-pin:nth-last-child(-n + 3) .hl-tip {
  left: auto;
  right: 12.85px;
}

.hl-body .hl-pin:nth-last-child(-n + 3) .hl-tip__arrow {
  left: auto;
  right: 11.87px;
}

.hl-tip__title {
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  white-space: nowrap;
}

.hl-tip__text {
  color: #808080;
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.hl-band__text {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-left: var(--hl-gutter);
  padding-top: calc(100cqw * 88 / 1440 + 10px);
}

.hl-band__text--cats {
  width: calc(100cqw * 531 / 1440);
  min-width: 340px;
}

.hl-band__text--impact {
  width: calc(100cqw * 440 / 1440);
  min-width: 320px;
  padding-top: calc(100cqw * 99 / 1440 + 10px);
}

.hl-band__text-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Impact Order card — Figma node 2501:479 */
.hl-orders {
  position: absolute;
  left: calc(100cqw * 609 / 1440);
  top: calc(100cqw * 11 / 1440);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100cqw * 800 / 1440);
  height: 120px;
  padding: 24px !important;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow:
    0 80px 88px rgba(0, 0, 0, 0.1),
    0 320px 125px rgba(0, 0, 0, 0.09),
    0 720px 125px rgba(0, 0, 0, 0.05),
    0 1280px 125px rgba(0, 0, 0, 0.01);
}

.hl-order {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hl-order--1 { width: 140px; }
.hl-order--2 { width: 130px; }
.hl-order--3 { width: 174px; }

.hl-orders__arrow {
  display: flex;
  flex: none;
}

.hl-order__icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 0.5px solid color-mix(in srgb, var(--c) 12%, transparent);
  border-radius: 100px;
  background: color-mix(in srgb, var(--c) 8%, transparent);
}

.hl-order__text {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.hl-order__text strong {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
}

.hl-order__text span {
  color: #6f717d;
  font-family: "Mulish", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  white-space: nowrap;
}

/* ---------- Health in Action — Figma node 2501:501 (page y 2947–3603) ---------- */
.hl-action {
  position: relative;
  z-index: 3;
  padding-bottom: 61px;
  background: transparent;
}

.hl-action__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}

.hl-action__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 824px;
  max-width: 100%;
  text-align: center;
}

.hl-action__text {
  color: #6f717d;
  font-family: "Comfortaa", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
}

.hl-slider {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 100%;
}

.hl-slider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 16px) / 4);
  gap: 16px;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  overflow-anchor: none;
  scrollbar-width: none;
}

.hl-slider__track::-webkit-scrollbar {
  display: none;
}

.hl-slider__slide {
  min-width: 0;
  scroll-snap-align: start;
}

.hl-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.hl-card__media {
  height: 206px;
  overflow: hidden;
  border-radius: 8px;
  background: #eef1f4;
}

/* Metallic glow frame in the category colour — the popup frame image
   (popup/tint/frame-glow-N.png) scaled to a ~6px ring, as in Figma */
.hl-card__media.has-frame {
  border-radius: 15px;
}

.hl-card__frame {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-style: solid;
  border-width: 18px;
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-radius: 15px;
  pointer-events: none;
}

.hl-card__media.has-frame .hl-card__img {
  border-radius: 12px;
}

.hl-body .hl-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Figma crops the bundled photo of card 3 inside its frame */
.hl-card__media {
  position: relative;
}

.hl-body .hl-card__img--design-3 {
  position: absolute;
  left: -2.59%;
  top: -3.87%;
  width: 105.77%;
  height: 110.98%;
  object-fit: fill;
}

.hl-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hl-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.hl-card__tag {
  padding: 4px 10px;
  border-radius: 40px;
  background: color-mix(in srgb, var(--c) 8%, transparent);
  backdrop-filter: blur(2px);
  color: var(--c);
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  text-transform: uppercase;
  white-space: nowrap;
}

.hl-card__going {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(111, 113, 125, 0.8);
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  white-space: nowrap;
}

.hl-card__titles {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.hl-body .hl-card__title {
  overflow: hidden;
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.4px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.hl-body .hl-card__link {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-decoration: none;
  text-transform: inherit;
  cursor: pointer;
}

.hl-card:has(.hl-card__link) {
  cursor: pointer;
}

.hl-card:has(.hl-card__link):hover .hl-card__title {
  color: #2cb3cc;
}

.hl-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.hl-card__details {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.hl-card__info {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #404251;
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}

.hl-card__info span {
  opacity: 0.7;
}

.hl-slider__nav {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hl-slider__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(15, 19, 38, 0.16);
  border-radius: 100px;
  background: transparent;
  cursor: pointer;
}

.hl-slider__btn--next img {
  transform: scaleX(-1);
}

.hl-slider__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.hl-slider__btn:not(:disabled):hover {
  border-color: #2cb3cc;
}

/* ---------- Footer — Figma node 2501:541 (1440 × 734) ---------- */
.hl-footer {
  position: relative;
  height: 734px;
  overflow: hidden;
  overflow: clip; /* never scrollable, even by focus or anchor jumps */
  background: #fff;
}

.hl-footer__scene {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 974px;
  overflow: hidden;
}

.hl-body .hl-footer__scene img {
  position: absolute;
  left: 50%;
  top: 13.06%;
  width: auto;
  min-width: 101.46%;
  height: 100%;
  object-fit: cover;
  transform: translateX(-50%);
}

.hl-footer__overlay {
  position: absolute;
  left: 0;
  top: -66px;
  width: 100%;
  height: 800px;
  background: linear-gradient(180deg, #fff 0%, #fff 50.074%, rgba(255, 255, 255, 0) 100%);
}

.hl-footer__grid {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 88px;
  padding-top: 90px;
}

.hl-footer__company {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 40px;
  min-width: 0;
}

.hl-footer__about {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 328px;
  max-width: 100%;
}

.hl-footer__logo {
  display: inline-flex;
}

.hl-body .hl-footer__logo-img {
  width: 104.125px;
  height: 34px;
}

.hl-footer__desc {
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #0f1326;
}

.hl-footer__tagline {
  font-family: "MuseoModerno", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 21px;
}

.hl-footer__text {
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  opacity: 0.8;
}

.hl-footer__meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hl-socials {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hl-socials__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e3e7ef;
  border-radius: 36.8px;
}

.hl-socials__link--framed {
  border: 0;
}

.hl-socials__link:hover {
  border-color: #2cb3cc;
}

.hl-footer__copy {
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
  opacity: 0.8;
}

.hl-footer__links-wrap {
  display: flex;
  flex: none;
  align-items: flex-start;
  gap: 80px;
  color: #0f1326;
  line-height: 21px;
}

.hl-footer__col {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.hl-footer__col--1 { width: 120px; }
.hl-footer__col--2 { width: 168px; }

.hl-footer__heading {
  color: #0f1326;
  font-family: "Mulish", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 21px;
}

.hl-footer__links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hl-footer__links a {
  color: #0f1326;
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  text-decoration: none;
  opacity: 0.8;
}

.hl-footer__links a:hover {
  color: #2cb3cc;
  opacity: 1;
}

.hl-footer__news {
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  width: 330px;
}

.hl-footer__news-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #0f1326;
}

.hl-footer__news-title {
  font-family: "MuseoModerno", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 21px;
  letter-spacing: -0.18px;
}

.hl-footer__news-text {
  font-family: "Mulish", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
  opacity: 0.8;
}

.hl-subscribe {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 6px 6px 6px 20px;
  overflow: hidden;
  border: 1px solid rgba(227, 231, 239, 0.3);
  border-radius: 40px;
  background: rgba(227, 231, 239, 0.24);
  backdrop-filter: blur(6px);
}

.hl-subscribe__input {
  flex: 1 0 0;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f1326;
  font-family: "Mulish", sans-serif;
  font-size: 13px;
  line-height: normal;
  outline: none;
}

.hl-subscribe__input::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.hl-body .hl-subscribe__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 26px;
  border: 0;
  border-radius: 36px;
  background: #2cb3cc;
  color: #fff;
  font-family: "MuseoModerno", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 22px;
  text-transform: uppercase;
  cursor: pointer;
}

.hl-subscribe__btn:hover {
  background: #239fb7;
}

.hl-subscribe:focus-within {
  border-color: #2cb3cc;
}

/* The pill border above shows focus; drop the global focus ring on the field. */
.hl-body .hl-subscribe__input:focus,
.hl-body .hl-subscribe__input:focus-visible {
  outline: none;
}

.hl-subscribe__msg {
  color: #0aa277;
  font-family: "Mulish", sans-serif;
  font-size: 13px;
}

.hl-subscribe__msg--error {
  color: #e95515;
}

.hl-footer__watermark {
  position: absolute;
  left: 50%;
  top: 603px;
  z-index: 1;
  width: calc(100% - 2 * var(--hl-gutter));
  max-width: 1276px;
  transform: translateX(-50%);
}

.hl-body .hl-footer__watermark img {
  width: 100%;
  height: auto;
}

.hl-footer__bottom-fade {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 167px;
  background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1279px) {
  /* Health Value stacks */
  .hl-value {
    min-height: 0;
    padding: 56px 0 calc(100vw * 414 / 1440);
  }

  .hl-value__scene {
    top: auto;
    bottom: 0;
  }

  .hl-value__patch {
    display: none;
  }


  .hl-value__equation {
    height: auto;
  }

  .hl-value__calc {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Health Value: info on top, equation + example below */
  .hl-value__row {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 40px;
  }

  .hl-value__info {
    width: 100%;
  }

  .hl-body .hl-value__heading {
    width: auto;
  }

  .hl-value__info .hl-copy {
    max-width: 760px;
  }

  /* Footer wraps into two rows; the scene sits below the content */
  .hl-footer {
    --hl-scene-h: clamp(320px, 62vw, 974px);
    height: auto;
    padding-bottom: calc(var(--hl-scene-h) * 0.72);
  }

  .hl-footer__scene {
    height: var(--hl-scene-h);
  }

  .hl-body .hl-footer__scene img {
    top: 0;
  }

  .hl-footer__overlay {
    top: auto;
    bottom: 0;
    height: calc(var(--hl-scene-h) + 40px);
    background: linear-gradient(180deg, #fff 0%, #fff 12%, rgba(255, 255, 255, 0) 55%);
  }

  .hl-footer__grid {
    flex-wrap: wrap;
    gap: 40px 64px;
  }

  .hl-footer__company {
    flex-basis: 100%;
  }

  .hl-footer__watermark {
    top: auto;
    bottom: 0;
  }
}

@media (max-width: 1199px) {
  /* Hero stacks: text, orbit, then the illustration in normal flow */
  .hl-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-top: 40px;
  }

  .hl-hero__grid {
    order: 1;
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .hl-hero__banner {
    order: 2;
    position: relative;
    margin-top: -12%;
  }

  .hl-body .hl-hero__title {
    width: auto;
    max-width: 100%;
    white-space: normal;
    font-size: 52px;
  }

  .hl-hero__content {
    max-width: 571px;
  }

  .hl-orbit {
    max-width: 560px;
    margin: 0 auto;
  }

  .hl-hero__overlay {
    display: none;
  }

  .hl-hero__banner::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
    height: 45%;
    background: linear-gradient(#fff, rgba(255, 255, 255, 0));
  }
}

@media (max-width: 1100px) {
  .hl-slider__track {
    grid-auto-columns: calc((100% - 2 * 16px) / 3);
  }
}

@media (max-width: 1023px) {
  :root {
    --hl-header-h: 64px;
  }

  /* Header: burger + drawer */
  .hl-header__inner {
    padding-top: 12px;
    height: calc(var(--hl-header-h) + 12px);
  }

  .hl-header.is-scrolled .hl-header__inner {
    padding-top: 0;
    height: var(--hl-header-h);
  }

  .hl-header.is-scrolled .hl-nav {
    top: var(--hl-header-h);
  }

  .admin-bar .hl-header.is-scrolled .hl-nav {
    top: calc(var(--hl-header-h) + 32px);
  }

  .hl-burger {
    display: inline-flex;
  }

  .hl-header__cta {
    display: none;
  }

  .hl-nav {
    position: fixed;
    top: calc(var(--hl-header-h) + 12px);
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 24px;
    padding: 24px var(--hl-gutter) 40px;
    background: #fff;
    overflow-y: auto;
    visibility: hidden;
  }

  .admin-bar .hl-nav {
    top: calc(var(--hl-header-h) + 58px);
  }

  .hl-nav.is-open {
    visibility: visible;
  }

  .hl-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-right: 0 !important;
  }

  .hl-nav__list li {
    border-bottom: 1px solid #ebead9;
  }

  .hl-nav__list a {
    display: block;
    padding: 16px 0;
    font-size: 18px;
  }

  .hl-nav__list a::after {
    display: none;
  }

  .hl-nav__cta {
    display: inline-flex;
    padding: 16px;
    font-size: 16px;
  }

  body.hl-nav-open {
    overflow: hidden;
  }

  .hl-body .hl-display {
    font-size: 44px;
  }

  /* Categories / Impact: text first, then the right-hand artwork cropped to fit */
  .hl-band {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    overflow: clip; /* the wide scene art must not make the band scrollable */
    min-height: 0;
  }

  .hl-band__text,
  .hl-band__text--cats,
  .hl-band__text--impact {
    order: 1;
    width: auto;
    min-width: 0;
    margin: 0 var(--hl-gutter);
    padding-top: 56px;
  }

  .hl-band__art,
  .hl-band--impact .hl-band__art {
    order: 3;
    position: relative;
    width: 170.82%;
    margin-left: -70.82%;
    margin-top: 24px;
  }

  .hl-band__seam,
  .hl-band__seam-right {
    display: none;
  }

  /* Category scene on tablets/phones: the Figma composition at a readable size,
     swiped sideways (at least 720px of the 843px art is shown at a time). */
  .hl-band__scroll {
    order: 3;
    display: block;
    margin-top: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .hl-band__scroll::-webkit-scrollbar {
    display: none;
  }

  .hl-band--cats .hl-cats__ripple-fade {
    display: none;
  }

  .hl-band--cats .hl-band__art {
    overflow: clip;
    width: calc(max(720px, 100%) * 1440 / 843);
    margin-top: 0;
    margin-left: calc(max(720px, 100%) * -597 / 843);
  }

  .hl-body .hl-band__swipe {
    order: 4;
    display: none;
    margin: 4px var(--hl-gutter) 0;
    padding: 0;
    text-align: right;
    transition: opacity 0.2s;
    color: #6f717d;
    font-family: "Comfortaa", sans-serif;
    font-size: 12px;
    font-weight: 700;
  }

  .hl-body .hl-orders {
    order: 2;
    position: relative;
    left: auto;
    top: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: auto;
    height: auto;
    margin: 32px var(--hl-gutter) 0;
    box-shadow: 0 40px 60px rgba(0, 0, 0, 0.08);
  }

  .hl-order--1,
  .hl-order--2,
  .hl-order--3 {
    width: auto;
  }

  .hl-orders__arrow {
    padding-left: 11px;
    transform: rotate(90deg);
    transform-origin: 23px 12px;
  }

  .hl-action {
    padding-top: 56px;
    padding-bottom: 8px;
  }

  .hl-footer__grid {
    padding-top: 48px;
  }

  .hl-slider__track {
    grid-auto-columns: calc((100% - 16px) / 2.2);
  }
}

@media (max-width: 767px) {
  .hl-body .hl-band__swipe {
    display: block;
  }

  .hl-value__calc {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .hl-value__equation {
    width: 100%;
    padding: 24px 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(15, 19, 38, 0.1);
    border-bottom: 1px solid rgba(15, 19, 38, 0.1);
  }

  .hl-eq-legend {
    justify-content: center;
  }

  .hl-eq-legend__item {
    width: auto;
    flex: 1 1 0;
  }

  .hl-value__example {
    width: 100%;
    max-width: 342px;
  }

  .hl-footer__links-wrap {
    gap: 40px;
    flex: 0 1 auto;
    max-width: 100%;
  }

  /* Let the fixed-width link columns shrink on very narrow phones. */
  .hl-footer__col {
    flex: 0 1 auto;
    min-width: 0;
  }

  .hl-footer__news {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .hl-body .hl-hero__title {
    font-size: 40px;
  }

  .hl-hero__banner {
    aspect-ratio: 4 / 3;
  }

  .hl-features {
    column-gap: 16px;
  }

  .hl-feature {
    gap: 12px;
  }

  .hl-body .hl-display {
    font-size: 36px;
  }

  .hl-eq {
    font-size: 56px;
  }

  .hl-slider__track {
    grid-auto-columns: 82%;
  }
}

@media (max-width: 380px) {
  .hl-features {
    grid-template-columns: 1fr;
  }

  .hl-feature:nth-child(odd) {
    border-right: 0;
  }

  .hl-feature:not(:last-child) {
    border-bottom: 1px solid #ebead9;
  }
}

/* ==========================================================================
   Category detail popup — Figma node 2501:980 (1280 × 1581, backdrop 0 0 0 / .7)
   ========================================================================== */

@font-face {
  font-family: "MuseoModerno";
  src: url("../fonts/MuseoModerno-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}


.hl-popup {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 80px clamp(12px, 5.5556vw, 80px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  background: transparent;
  color: #0f1326;
}

.hl-popup::backdrop {
  background: rgba(0, 0, 0, 0.7);
}

body.hl-popup-open {
  overflow: hidden;
}

.hl-popup__close {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #0f1326;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

/* Keep the round shape when focused (the global :focus-visible rule sets 6px corners). */
.hl-body .hl-popup__close:focus-visible {
  border-radius: 50%;
  outline-offset: 3px;
}

/* The dialog receives focus on open; it needs no ring of its own. */
.hl-body .hl-popup:focus,
.hl-body .hl-popup:focus-visible {
  outline: none;
}

.hl-popup__close .hl-icon {
  width: 22px;
  height: 22px;
}

.hl-popup__modal {
  position: relative;
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  padding: 18px 52px 19px;
  overflow: hidden;
  border-radius: 48px;
  background: #fff;
}

/* Glowing border: Figma stretches four slices of one image — a 9-slice border-image does the same at any height */
.hl-popup__frame {
  position: absolute;
  inset: 0;
  z-index: 6;
  border-style: solid;
  border-width: 56px;
  border-image-slice: 60;
  border-image-repeat: stretch;
  border-radius: 48px;
  pointer-events: none;
}

.hl-popup__fade-top {
  position: absolute;
  left: 50%;
  top: -278.44px;
  z-index: 2;
  width: calc(100% - 39px);
  height: 321px;
  transform: translateX(-50%);
  border-radius: 26px 26px 0 0;
  background: linear-gradient(180deg, #fff 0%, #fff 43.475%, rgba(255, 255, 255, 0.4) 70%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.hl-popup__media {
  position: relative;
  height: 650px;
  margin: 0 -32px;
  overflow: hidden;
  border-radius: 27px 27px 0 0;
}

.hl-body .hl-popup__photo-img {
  position: absolute;
  left: -4.27%;
  top: 11.02%;
  width: 108.53%;
  height: 145.91%;
  max-width: none;
  object-fit: fill;
}

.hl-body .hl-popup__photo-img--custom {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hl-popup__media-fade {
  position: absolute;
  inset: 0 0 auto;
  height: 421px;
  background: linear-gradient(180deg, #fff 0%, #fff 24.741%, rgba(255, 255, 255, 0.8) 48.536%, rgba(255, 255, 255, 0.4) 75.098%, rgba(255, 255, 255, 0) 100%);
}

.hl-popup__bar {
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 120px;
  padding: 32px;
}

.hl-body .hl-popup__logo {
  width: 172px;
  height: 56px;
  max-width: none;
}

.hl-popup__cat-icon,
.hl-popup__foot-icon {
  position: relative;
  flex: none;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}

.hl-popup__cat-icon {
  width: 72px;
  height: 72px;
}

.hl-popup__foot-icon {
  width: 64px;
  height: 64px;
}

/* Category badge with count (Figma 2501:990) */
.hl-popup__badge {
  position: absolute;
  left: 52px;
  top: 596.96px;
  z-index: 3;
  width: 131.524px;
  height: 128px;
}

.hl-body .hl-popup__badge-ring {
  position: absolute;
  left: 0;
  top: 1.04px;
  width: 131.524px;
  height: 128px;
  max-width: none;
}

.hl-body .hl-popup__badge-icon {
  position: absolute;
  left: 28.29px;
  top: 26.52px;
  width: 74.949px;
  height: 77.037px;
  max-width: none;
}

.hl-popup__badge-icon--cat {
  overflow: hidden;
  border-radius: 50%;
}

.hl-popup__badge-num {
  position: absolute;
  left: 90.99px;
  top: 7.29px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 24.75px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}

/* Title block */
.hl-popup__head {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 784px;
  max-width: 100%;
  margin: 40px auto 0;
}

.hl-body .hl-popup__title {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 49px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.hl-popup__subtitle {
  color: #404251;
  font-family: "Comfortaa", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.hl-popup__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 55.7px;
}

.hl-popup__row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

/* About / Benefits / Impacts card */
.hl-popup__info {
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: space-between;
  width: 460px;
  height: 434px;
  padding: 16px;
  border: 1px solid #fbddd0;
  border-radius: 24px;
}

.hl-popup__info-item {
  display: flex;
  align-items: center;
  gap: 24px;
}

.hl-popup__info-text {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.hl-popup__info-item:first-child .hl-popup__info-text {
  gap: 10px;
}

.hl-body .hl-popup__info-text h3 {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
}

.hl-popup__info-text p {
  color: #404251;
  font-family: "Comfortaa", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
}

.hl-popup__rule {
  display: block;
  height: 1px;
  background: #fbddd0;
}

/* Ringed icons (category ring + white disc + inner icon) */
.hl-pring {
  position: relative;
  flex: none;
}

.hl-pring--lg {
  width: 96px;
  height: 96px;
}

.hl-pring--sm {
  width: 40px;
  height: 40px;
}

.hl-pring__base {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
  background: #fefef1;
}

.hl-pring--plain {
  overflow: hidden;
  border-radius: 50%;
}

.hl-body .hl-pring__disc {
  position: absolute;
  max-width: none;
}

.hl-pring--lg .hl-pring__disc {
  left: 6px;
  top: 6px;
  width: 84px;
  height: 84px;
}

.hl-pring--sm .hl-pring__disc {
  left: 2.5px;
  top: 2.5px;
  width: 35px;
  height: 35px;
}

.hl-crop {
  position: absolute;
  overflow: hidden;
}

.hl-body .hl-crop img {
  position: absolute;
  max-width: none;
  object-fit: fill;
}

/* Right column */
.hl-popup__side {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.hl-popup__details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 16px 16px;
  border: 1px solid #fbddd0;
  border-radius: 24px;
}

.hl-popup__details-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.hl-body .hl-popup__details-head img {
  width: 108px;
  height: 24px;
  max-width: none;
  object-fit: cover;
}

.hl-body .hl-popup__details-head img.is-mirrored {
  transform: scaleX(-1);
}

.hl-body .hl-popup__italic {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.hl-popup__meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 254px;
}

.hl-popup__meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hl-popup__meta-row dt {
  flex: none;
  width: 88px;
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
}

.hl-popup__meta-row dd {
  flex: 1 0 0;
  min-width: 0;
  margin-left: 4px;
  padding-left: 20px;
  border-left: 1px solid #fbddd0;
  color: #404251;
  font-family: "Comfortaa", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  min-height: 40px;
  display: flex;
  align-items: center;
}

.hl-popup__meta-rule {
  display: block;
  height: 1px;
  background: #fbddd0;
}

/* What to bring */
.hl-popup__bring {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hl-popup__bring-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hl-popup__bring-line {
  flex: 1 0 0;
  height: 22px;
  min-width: 0;
  background: var(--hl-pop-strip, url("../img/health-landing/popup/bring-strip.png")) left center / auto 22px no-repeat;
}

.hl-popup__bring-list {
  display: flex;
  align-items: center;
}

.hl-popup__bring-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.hl-popup__bring-item--1 { width: 116px; }
.hl-popup__bring-item--2 { width: 110px; }
.hl-popup__bring-item--3 { width: 90px; }
.hl-popup__bring-item--4 { width: 104px; }

.hl-popup__bring-icon {
  position: relative;
  flex: none;
  width: 40px;
  height: 40px;
  border: 0.75px solid #fbddd0;
  border-radius: 75px;
}

.hl-popup__bring-icon .hl-crop {
  margin: 6px;
}

/* Action cards (Shop / Invite / People Counter / RSVP) */
.hl-popup__actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hl-action-card {
  position: relative;
  display: block;
  flex: none;
  width: 282px;
  height: 96px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: default;
}

a.hl-action-card,
button.hl-action-card {
  cursor: pointer;
}

.hl-action-card__frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 18px;
}

.hl-action-card__frame .hl-crop {
  inset: 0;
}

.hl-action-card__frame::after {
  content: "";
  position: absolute;
  left: 4.37px;
  top: 5px;
  width: 273.256px;
  height: 86px;
  border-radius: 12px;
  background: var(--card-bg);
}

.hl-action-card--shop { --card-bg: #fffcf6; --card-title: #0d0a02; --card-text: #47443f; --card-go: #faefd8; }
.hl-action-card--invite { --card-bg: #fafffc; --card-title: #020d06; --card-text: #4c5650; --card-go: #e6f9ed; }
.hl-action-card--people { --card-bg: #fcfaff; --card-title: #0c0417; --card-text: #5b5268; --card-go: #f0ebf6; }
.hl-action-card--rsvp { --card-bg: #fffaf7; --card-title: #0f0703; --card-text: #554e49; --card-go: #f8eee8; }

.hl-action-card__inner {
  position: absolute;
  left: 11.38px;
  right: 15px;
  top: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.hl-action-card__icon {
  position: relative;
  flex: none;
  width: 56px;
  height: 56px;
}

.hl-action-card__text {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.hl-action-card__text strong {
  color: var(--card-title);
  font-family: "MuseoModerno", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}

.hl-action-card__text span {
  color: var(--card-text);
  font-family: "Comfortaa", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: normal;
}

.hl-action-card--shop .hl-action-card__text span {
  font-size: 13px;
}

.hl-action-card__go {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  background: var(--card-go);
}

a.hl-action-card:hover .hl-action-card__go,
button.hl-action-card:hover .hl-action-card__go {
  filter: brightness(0.95);
}

.hl-action-card__status {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -22px;
  font-family: "Comfortaa", sans-serif;
  font-size: 12px;
  text-align: center;
  color: #0aa277;
}

/* Footer row */
.hl-popup__foot {
  display: flex;
  align-items: center;
  gap: 56px;
  padding: 40px 0;
}

.hl-popup__foot-left {
  display: flex;
  flex: 1 0 0;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.hl-popup__tagline {
  color: #0f1326;
  font-family: "MuseoModerno", sans-serif;
  font-size: 32px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.hl-popup__foot-rule {
  flex: none;
  width: 2px;
  height: 40px;
  background: #fea900;
}

@media (max-width: 1279px) {
  .hl-popup {
    padding-top: 72px;
  }

  .hl-popup__row {
    flex-direction: column;
    align-items: stretch;
  }

  .hl-popup__info {
    width: 100%;
    height: auto;
    gap: 20px;
  }

  .hl-popup__actions {
    display: grid;
    grid-template-columns: repeat(2, 282px);
    justify-content: center;
  }

  .hl-body .hl-popup__tagline {
    font-size: 26px;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .hl-popup {
    padding: 12px 12px 24px;
  }

  /* Close button sits inside the card's header (where the category icon is on desktop)
     and stays pinned while the popup scrolls. */
  .hl-popup__close {
    position: sticky;
    top: 30px;
    z-index: 10;
    width: 40px;
    height: 40px;
    margin: 30px 30px -70px auto;
    box-shadow: 0 2px 10px rgba(15, 19, 38, 0.2);
  }

  .hl-popup__cat-icon {
    visibility: hidden;
  }

  .hl-popup__modal {
    padding: 12px 20px 12px;
    border-radius: 28px;
  }

  .hl-popup__frame {
    border-width: 34px;
    border-radius: 28px;
  }

  .hl-popup__media {
    height: 300px;
    margin: 0 -12px;
    border-radius: 20px 20px 0 0;
  }

  .hl-popup__media-fade {
    height: 200px;
  }

  .hl-popup__bar {
    height: 84px;
    padding: 16px;
  }

  .hl-body .hl-popup__bar .hl-popup__logo {
    width: 123px;
    height: 40px;
  }

  .hl-popup__cat-icon {
    width: 52px;
    height: 52px;
  }

  .hl-popup__badge {
    left: 16px;
    top: 252px;
    transform: scale(0.7);
    transform-origin: top left;
  }

  .hl-popup__head {
    margin-top: 48px;
    gap: 12px;
  }

  .hl-body .hl-popup__title {
    font-size: 30px;
    white-space: normal;
  }

  .hl-popup__subtitle {
    font-size: 17px;
    line-height: 1.4;
    white-space: normal;
  }

  .hl-popup__body {
    margin-top: 28px;
  }

  .hl-popup__info-item {
    gap: 14px;
  }

  .hl-pring--lg {
    transform: scale(0.72);
    margin: -13px;
  }

  .hl-popup__details-head img {
    display: none;
  }

  .hl-popup__meta {
    height: auto;
    gap: 12px;
  }

  .hl-popup__meta-row dt {
    width: 72px;
    white-space: nowrap;
  }

  .hl-popup__meta-row dd {
    padding-left: 12px;
  }

  .hl-popup__bring-list {
    flex-wrap: wrap;
    row-gap: 12px;
  }

  .hl-popup__bring-item {
    width: 50% !important;
  }

  .hl-popup__actions {
    grid-template-columns: 282px;
  }

  .hl-popup__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 28px 0 20px;
  }

  .hl-popup__foot-rule {
    display: none;
  }

  .hl-body .hl-popup__tagline {
    font-size: 22px;
  }
}

/* Category tint (set inline as --hl-pop-line); the frame, badge ring and
   ornaments use pre-tinted images from popup/tint/ */
.hl-popup__info,
.hl-popup__details {
  border-color: var(--hl-pop-line, #fbddd0);
}

.hl-popup__rule,
.hl-popup__meta-rule {
  background: var(--hl-pop-line, #fbddd0);
}

.hl-popup__meta-row dd {
  border-left-color: var(--hl-pop-line, #fbddd0);
}

.hl-popup__bring-icon {
  border-color: var(--hl-pop-line, #fbddd0);
}

.hl-band__swipe.is-hidden {
  opacity: 0;
}

/* Sticky header: mobile menu offset under the WordPress admin bar.
   Kept last so it wins over the tablet rules above. */
@media (max-width: 782px) {
  .admin-bar .hl-header.is-scrolled .hl-nav {
    top: calc(var(--hl-header-h) + 46px);
  }
}

@media (max-width: 600px) {
  .admin-bar .hl-header.is-scrolled .hl-nav {
    top: var(--hl-header-h);
  }
}
