[data-section="header"] {
        --hdr-h: 83px;
        --hdr-space-2xs: clamp(0.5625rem, 0.5417rem + 0.0926vw, 0.625rem);
        --hdr-space-s: clamp(1.0625rem, 1.0208rem + 0.1852vw, 1.1875rem);
        --hdr-space-m: clamp(1.625rem, 1.5625rem + 0.2778vw, 1.8125rem);
        --hdr-space-l: clamp(2.125rem, 2.0417rem + 0.3704vw, 2.375rem);
        --hdr-space-xl: clamp(3.1875rem, 3.0625rem + 0.5556vw, 3.5625rem);
        --hdr-ease: cubic-bezier(0.34, 0.34, 0.02, 0.97);
        --hdr-mega-h: 420px;
        position: relative;
        z-index: 99;
      }
      @media (min-width: 1280px) {
        [data-section="header"] {
          --hdr-h: 115px;
          --hdr-mega-h: 560px;
        }
      }
      .hdr-spacer { height: var(--hdr-h); }
      .hdr-fixed {
        position: fixed;
        top: 0;
        inset-inline: 0;
        z-index: 99;
      }

      /* ---------- desktop ---------- */
      .hdr-desk { display: none; }
      @media (min-width: 1280px) {
        .hdr-desk { display: block; }
      }
      .hdr-desk-nav {
        position: relative;
        isolation: isolate;
        display: flex;
        align-items: center;
        gap: var(--hdr-space-l);
        min-height: var(--hdr-h);
        width: 100%;
      }
      .hdr-desk-nav::before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 0;
        inset-inline: calc(-2 * var(--gutter));
        height: var(--hdr-mega-h);
        pointer-events: none;
        background: var(--beige);
        clip-path: inset(0 0 calc(var(--hdr-mega-h) - var(--hdr-h)));
        transition: clip-path 0.3s var(--hdr-ease), background-color 0.3s var(--hdr-ease);
      }
      .hdr-desk-nav:has(.hdr-item--sub:hover)::before,
      .hdr-desk-nav:has(.hdr-item--sub:focus-within)::before {
        background: var(--mauve);
        clip-path: inset(0 round 0 0 56px 56px);
      }
      .hdr-logo {
        position: relative;
        z-index: 2;
        display: block;
        flex-shrink: 0;
        height: var(--hdr-h);
        text-decoration: none;
      }
      .hdr-logo img {
        display: block;
        width: auto;
        height: 100%;
      }
      .hdr-menus {
        flex: 1 1 auto;
        align-self: stretch;
        display: flex;
        justify-content: space-between;
        min-width: 0;
      }
      .hdr-group {
        display: flex;
        align-items: stretch;
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .hdr-item {
        display: flex;
        align-items: center;
        line-height: 1;
      }
      .hdr-link {
        position: relative;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        align-self: stretch;
        padding: 33px 14.5px;
        font-family: fontSuisse, Helvetica, Arial, sans-serif;
        font-size: var(--step-0);
        font-weight: 500;
        line-height: 17px;
        color: var(--purple);
        text-decoration: none;
        white-space: nowrap;
      }
      .hdr-group:last-of-type > .hdr-item:last-child .hdr-link {
        padding-right: 0;
      }
      .hdr-btns {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: var(--hdr-space-2xs);
        flex-shrink: 0;
      }
      .hdr-mega {
        position: absolute;
        z-index: 1;
        top: 0;
        left: calc(-2 * var(--gutter));
        right: calc(-2 * var(--gutter));
        width: auto;
        height: var(--hdr-mega-h);
        padding:
          calc(var(--hdr-h) + var(--hdr-space-xl))
          calc(2 * var(--gutter))
          var(--hdr-space-l);
        display: flex;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        clip-path: inset(0 0 calc(var(--hdr-mega-h) - var(--hdr-h)));
        transition:
          opacity 0.3s var(--hdr-ease),
          visibility 0.3s var(--hdr-ease),
          clip-path 0.3s var(--hdr-ease);
      }
      .hdr-item--sub:hover .hdr-mega,
      .hdr-item--sub:focus-within .hdr-mega {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        clip-path: inset(0 round 0 0 56px 56px);
      }
      .hdr-mega-heading { flex-basis: 33%; min-width: 0; }
      .hdr-mega-heading .t-h2 { color: var(--purple); }
      .hdr-mega-list {
        flex-basis: 67%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        list-style: none;
        margin: 0;
        padding: 0 0 0 calc(2 * var(--gutter));
        border-left: 1px solid var(--purple);
      }
      .hdr-mega-list li { width: 100%; }
      .hdr-mega-list li + li { margin-top: var(--hdr-space-s); }
      .hdr-mega-list a { color: var(--purple); }

      /* ---------- mobile ---------- */
      .hdr-mob { display: block; }
      @media (min-width: 1280px) {
        .hdr-mob { display: none; }
      }
      .hdr-mob-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: var(--hdr-h);
        padding-right: calc(2 * var(--gutter));
        background: var(--beige);
        transition: background-color 0.5s var(--hdr-ease);
      }
      html.menu-open .hdr-mob-bar { background: var(--mauve); }
      .hdr-mob-right {
        display: flex;
        align-items: center;
        gap: var(--hdr-space-2xs);
      }
      .hdr-mob-right .btn:not(.hdr-burger) {
        padding-inline: var(--hdr-space-m);
      }
      .hdr-burger {
        width: 51px;
        height: 51px;
        padding: 0;
        flex-direction: column;
        gap: 4px;
      }
      .hdr-burger span {
        display: block;
        width: 24px;
        height: 4px;
        border-radius: 4px;
        background: var(--beige);
        transform-origin: center;
        transition: transform 0.3s ease, opacity 0.3s ease;
      }
      html.menu-open .hdr-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
      html.menu-open .hdr-burger span:nth-child(2) { transform: scale(0); opacity: 0; }
      html.menu-open .hdr-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
      .hdr-phone .ico { display: none; }
      @media (max-width: 1023px) {
        .hdr-phone-label {
          position: absolute;
          width: 1px;
          height: 1px;
          overflow: hidden;
          clip: rect(0 0 0 0);
          clip-path: inset(50%);
          white-space: nowrap;
        }
        .hdr-phone { width: 52px; height: 52px; padding: 0; }
        .hdr-phone .ico { display: inline-block; }
      }
      .hdr-drawer {
        position: fixed;
        z-index: 98;
        inset: var(--hdr-h) 0 0;
        display: flex;
        flex-direction: column;
        background: var(--mauve);
        padding: var(--hdr-space-l) var(--hdr-space-s);
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate3d(10px, 0, 0);
        transition: opacity 0.3s var(--hdr-ease), transform 0.5s var(--hdr-ease), visibility 0.3s var(--hdr-ease);
      }
      html.menu-open .hdr-drawer {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateZ(0);
      }
      html.menu-open { overflow: hidden; }
      .hdr-panels {
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .hdr-acc + .hdr-acc {
        position: relative;
      }
      .hdr-acc + .hdr-acc::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 1px;
        background: var(--purple);
        opacity: 0.2;
        pointer-events: none;
      }
      .hdr-acc-btn,
      .hdr-acc-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        width: 100%;
        padding-block: var(--hdr-space-m);
        background: none;
        border: 0;
        cursor: pointer;
        text-align: left;
        color: var(--purple);
        font-family: inherit;
      }
      .hdr-acc:first-child .hdr-acc-btn,
      .hdr-acc:first-child .hdr-acc-link { padding-top: 0; }
      .hdr-acc-btn .t-lead,
      .hdr-acc-link .t-lead { color: var(--purple); flex: 1; }
      .hdr-acc-btn .ico {
        transition: transform 0.4s var(--hdr-ease);
      }
      .hdr-acc-btn[aria-expanded="true"] .ico { transform: rotate(180deg); }
      .hdr-acc-panel { padding-bottom: var(--hdr-space-m); }
      .hdr-acc-panel[hidden] { display: none; }
      .hdr-acc-list {
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .hdr-acc-list a {
        display: block;
        padding-block: calc(var(--hdr-space-m) / 2);
        padding-left: var(--hdr-space-m);
        color: var(--purple);
      }
      .hdr-acc-list li:first-child a { padding-top: 0; }
      .hdr-acc-list li:last-child a { padding-bottom: 0; }

/* ---- treatments mega (4-col) ---- */
.hdr-mega--treatments {
  flex-direction: column;
  gap: var(--hdr-space-l);
}
.hdr-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--hdr-space-m);
  width: 100%;
}
.hdr-mega-col-title {
  display: block;
  margin-bottom: var(--hdr-space-s);
  color: var(--purple);
  text-decoration: none;
}
.hdr-mega-col .hdr-mega-list {
  flex-basis: auto;
  width: 100%;
  padding-left: 0;
  border-left: 0;
}
.hdr-mega-col .hdr-mega-list a {
  font-size: var(--step-0);
  font-weight: 500;
  line-height: 1.35;
}
