/* Dazzle My Pool global styles
   Extracted from the approved homepage design and adapted for PHP templates. */
:root {
  --dhm-navy: #052b4f;
  --dhm-deep: #021d38;
  --dhm-blue: #075f9f;
  --dhm-bright: #0aa7df;
  --dhm-aqua: #36d6ff;
  --dhm-soft: #eaf8ff;
  --dhm-white: #ffffff;
  --dhm-text: #17324d;
  --dhm-muted: #5f7488;
  --dhm-border: rgba(7, 95, 159, 0.18);
  --dhm-shadow: 0 18px 45px rgba(5, 43, 79, 0.14);
  --dhm-radius: 24px;
  --dhm-max: 1180px;
}

:root {
      --navy: #052b4f;
      --deep: #021d38;
      --blue: #075f9f;
      --bright: #0aa7df;
      --aqua: #36d6ff;
      --soft: #eaf8ff;
      --white: #ffffff;
      --text: #17324d;
      --muted: #5f7488;
      --border: rgba(7, 95, 159, 0.18);
      --shadow: 0 18px 45px rgba(5, 43, 79, 0.14);
      --radius: 24px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      background: #ffffff;
    }

    .dhm-wrap {
      width: 100%;
      max-width: var(--max);
      margin: 0 auto;
    }

    .dhm-site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background:
        radial-gradient(circle at 12% 20%, rgba(54, 214, 255, 0.22), transparent 30%),
        linear-gradient(135deg, #021d38 0%, #052b4f 42%, #075f9f 100%);
      border-bottom: 1px solid rgba(255,255,255,0.16);
      box-shadow: 0 14px 34px rgba(2, 29, 56, 0.28);
    }

    .dhm-header-wrap {
      max-width: var(--max);
      margin: 0 auto;
      min-height: 78px;
      padding: 12px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .dhm-logo {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      gap: 12px;
    }

    .dhm-logo-mark {
      width: 60px;
      height: 60px;
      border-radius: 16px;
      background: rgba(255,255,255,0.95);
      display: grid;
      place-items: center;
      color: var(--blue);
      font-size: 26px;
      font-weight: 900;
      box-shadow: 0 12px 28px rgba(0,0,0,0.18);
    }

    .dhm-logo-text {
      color: #ffffff;
      font-size: 25px;
      line-height: 1;
      font-weight: 900;
      letter-spacing: -0.04em;
    }

    .dhm-logo-text span {
      display: block;
      margin-top: 4px;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      opacity: 0.82;
    }

    .dhm-nav {
      display: flex;
      align-items: center;
      gap: 22px;
    }

    .dhm-nav a {
      color: rgba(255,255,255,0.9);
      font-weight: 800;
      text-decoration: none;
      font-size: 15px;
    }

    .dhm-nav .dhm-nav-cta {
      padding: 11px 18px;
      border-radius: 999px;
      background: #ffffff;
      color: var(--blue);
      box-shadow: 0 12px 26px rgba(0,0,0,0.16);
    }

    .dhm-menu-toggle {
      display: none;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255,255,255,0.24);
      border-radius: 12px;
      background: rgba(255,255,255,0.12);
    }

    .dhm-menu-toggle span {
      display: block;
      width: 22px;
      height: 2px;
      margin: 5px auto;
      background: #ffffff;
    }

    .dhm-hero {
      position: relative;
      overflow: hidden;
      padding: clamp(78px, 9vw, 132px) 20px;
      color: #ffffff;
      background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,0.34), transparent 27%),
        radial-gradient(circle at 78% 28%, rgba(54, 214, 255, 0.32), transparent 34%),
        linear-gradient(135deg, #0a7fc5 0%, #10b7ec 45%, #74ddff 100%);
    }

    /* Soft overall shimmer */
    .dhm-hero::before {
      content: "";
      position: absolute;
      inset: -20%;
      pointer-events: none;
      opacity: 0.35;
      mix-blend-mode: screen;
      background:
        radial-gradient(circle at 15% 30%, rgba(255,255,255,0.22), transparent 16%),
        radial-gradient(circle at 65% 20%, rgba(255,255,255,0.16), transparent 18%),
        radial-gradient(circle at 85% 70%, rgba(255,255,255,0.18), transparent 20%),
        radial-gradient(circle at 35% 82%, rgba(255,255,255,0.14), transparent 17%);
      animation: dhm-water-shimmer 18s ease-in-out infinite alternate;
    }

    /* Multiple raindrop-style ripple rings */
    .dhm-ripples {
      position: absolute;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
      z-index: 1;
      opacity: 0.82;
      mix-blend-mode: screen;
    }

    .dhm-ripple {
      position: absolute;
      left: var(--x);
      top: var(--y);
      width: var(--s);
      height: var(--s);
      border-radius: 999px;
      border: var(--w) solid rgba(255,255,255,var(--o));
      box-shadow:
        0 0 calc(var(--s) * 0.22) rgba(255,255,255,var(--glow)),
        inset 0 0 calc(var(--s) * 0.12) rgba(255,255,255,0.12);
      transform: translate(-50%, -50%) scale(0.08);
      opacity: 0;
      filter: blur(var(--b));
      animation:
        dhm-rain-ripple var(--d) cubic-bezier(.16,.7,.28,1) infinite,
        dhm-ripple-drift var(--drift) ease-in-out infinite alternate;
      animation-delay: var(--delay), var(--delay2);
    }

    .dhm-ripple::before,
    .dhm-ripple::after {
      content: "";
      position: absolute;
      border-radius: inherit;
      pointer-events: none;
    }

    .dhm-ripple::before {
      inset: calc(var(--s) * -0.23);
      border: 1px solid rgba(255,255,255,calc(var(--o) * 0.68));
      box-shadow: 0 0 calc(var(--s) * 0.16) rgba(255,255,255,0.12);
    }

    .dhm-ripple::after {
      inset: calc(var(--s) * -0.48);
      border: 1px solid rgba(255,255,255,calc(var(--o) * 0.38));
      filter: blur(0.4px);
    }

    .dhm-ripple:nth-child(1)  { --x: 8%;  --y: 22%; --s: 28px; --w: 1px; --o: .42; --glow: .22; --b: .1px; --d: 7.8s;  --delay: -1.2s; --delay2: -2s;  --drift: 11s; --scale: 7.2; }
    .dhm-ripple:nth-child(2)  { --x: 18%; --y: 42%; --s: 44px; --w: 2px; --o: .30; --glow: .18; --b: .3px; --d: 9.6s;  --delay: -4.4s; --delay2: -1s;  --drift: 14s; --scale: 6.6; }
    .dhm-ripple:nth-child(3)  { --x: 29%; --y: 19%; --s: 36px; --w: 1px; --o: .48; --glow: .24; --b: .0px; --d: 8.3s;  --delay: -6.1s; --delay2: -3s;  --drift: 12s; --scale: 8.4; }
    .dhm-ripple:nth-child(4)  { --x: 43%; --y: 31%; --s: 54px; --w: 1px; --o: .28; --glow: .16; --b: .5px; --d: 10.2s; --delay: -2.8s; --delay2: -7s;  --drift: 15s; --scale: 6.1; }
    .dhm-ripple:nth-child(5)  { --x: 57%; --y: 18%; --s: 31px; --w: 2px; --o: .40; --glow: .20; --b: .2px; --d: 7.1s;  --delay: -5.7s; --delay2: -4s;  --drift: 10s; --scale: 7.8; }
    .dhm-ripple:nth-child(6)  { --x: 72%; --y: 27%; --s: 48px; --w: 1px; --o: .34; --glow: .20; --b: .4px; --d: 9.1s;  --delay: -3.5s; --delay2: -8s;  --drift: 16s; --scale: 6.9; }
    .dhm-ripple:nth-child(7)  { --x: 88%; --y: 21%; --s: 24px; --w: 1px; --o: .50; --glow: .26; --b: .0px; --d: 6.9s;  --delay: -6.6s; --delay2: -2s;  --drift: 13s; --scale: 8.7; }
    .dhm-ripple:nth-child(8)  { --x: 94%; --y: 51%; --s: 58px; --w: 2px; --o: .24; --glow: .16; --b: .7px; --d: 11.4s; --delay: -8.3s; --delay2: -5s;  --drift: 18s; --scale: 5.8; }
    .dhm-ripple:nth-child(9)  { --x: 12%; --y: 69%; --s: 40px; --w: 1px; --o: .38; --glow: .18; --b: .3px; --d: 8.9s;  --delay: -7.2s; --delay2: -6s;  --drift: 14s; --scale: 7.1; }
    .dhm-ripple:nth-child(10) { --x: 26%; --y: 82%; --s: 30px; --w: 1px; --o: .44; --glow: .24; --b: .1px; --d: 7.6s;  --delay: -2.1s; --delay2: -9s;  --drift: 12s; --scale: 8.2; }
    .dhm-ripple:nth-child(11) { --x: 39%; --y: 67%; --s: 62px; --w: 1px; --o: .22; --glow: .14; --b: .8px; --d: 12.1s; --delay: -9.4s; --delay2: -3s;  --drift: 17s; --scale: 5.6; }
    .dhm-ripple:nth-child(12) { --x: 53%; --y: 79%; --s: 34px; --w: 2px; --o: .36; --glow: .20; --b: .2px; --d: 8.1s;  --delay: -4.8s; --delay2: -7s;  --drift: 11s; --scale: 7.5; }
    .dhm-ripple:nth-child(13) { --x: 66%; --y: 62%; --s: 50px; --w: 1px; --o: .31; --glow: .17; --b: .5px; --d: 10.6s; --delay: -1.7s; --delay2: -6s;  --drift: 15s; --scale: 6.4; }
    .dhm-ripple:nth-child(14) { --x: 78%; --y: 78%; --s: 27px; --w: 1px; --o: .52; --glow: .24; --b: .0px; --d: 7.2s;  --delay: -5.1s; --delay2: -2s;  --drift: 13s; --scale: 8.9; }
    .dhm-ripple:nth-child(15) { --x: 89%; --y: 84%; --s: 46px; --w: 2px; --o: .26; --glow: .16; --b: .6px; --d: 9.8s;  --delay: -3.3s; --delay2: -4s;  --drift: 18s; --scale: 6.0; }
    .dhm-ripple:nth-child(16) { --x: 47%; --y: 48%; --s: 32px; --w: 1px; --o: .39; --glow: .21; --b: .2px; --d: 8.7s;  --delay: -6.9s; --delay2: -8s;  --drift: 12s; --scale: 7.7; }
    .dhm-ripple:nth-child(17) { --x: 6%;  --y: 46%; --s: 52px; --w: 1px; --o: .23; --glow: .13; --b: .7px; --d: 11.8s; --delay: -10s;  --delay2: -1s;  --drift: 19s; --scale: 5.9; }
    .dhm-ripple:nth-child(18) { --x: 34%; --y: 35%; --s: 25px; --w: 1px; --o: .49; --glow: .25; --b: .1px; --d: 7.4s;  --delay: -3.9s; --delay2: -5s;  --drift: 10s; --scale: 8.8; }
    .dhm-ripple:nth-child(19) { --x: 62%; --y: 39%; --s: 41px; --w: 1px; --o: .33; --glow: .19; --b: .3px; --d: 9.3s;  --delay: -8.8s; --delay2: -6s;  --drift: 14s; --scale: 6.8; }
    .dhm-ripple:nth-child(20) { --x: 81%; --y: 43%; --s: 29px; --w: 2px; --o: .41; --glow: .22; --b: .2px; --d: 7.9s;  --delay: -0.9s; --delay2: -3s;  --drift: 11s; --scale: 8.0; }
    .dhm-ripple:nth-child(21) { --x: 21%; --y: 56%; --s: 66px; --w: 1px; --o: .19; --glow: .11; --b: .9px; --d: 12.8s; --delay: -7.7s; --delay2: -9s;  --drift: 20s; --scale: 5.4; }
    .dhm-ripple:nth-child(22) { --x: 51%; --y: 12%; --s: 22px; --w: 1px; --o: .55; --glow: .28; --b: .0px; --d: 6.6s;  --delay: -4.2s; --delay2: -1s;  --drift: 10s; --scale: 9.2; }
    .dhm-ripple:nth-child(23) { --x: 69%; --y: 88%; --s: 38px; --w: 2px; --o: .32; --glow: .18; --b: .4px; --d: 8.8s;  --delay: -6.3s; --delay2: -7s;  --drift: 16s; --scale: 7.0; }
    .dhm-ripple:nth-child(24) { --x: 96%; --y: 73%; --s: 33px; --w: 1px; --o: .37; --glow: .21; --b: .2px; --d: 8.0s;  --delay: -2.5s; --delay2: -5s;  --drift: 13s; --scale: 7.9; }

    @keyframes dhm-rain-ripple {
      0% {
        transform: translate(-50%, -50%) scale(0.08);
        opacity: 0;
      }

      7% {
        opacity: calc(var(--o) + 0.14);
      }

      35% {
        opacity: calc(var(--o) * 0.72);
      }

      70% {
        opacity: calc(var(--o) * 0.24);
      }

      100% {
        transform: translate(-50%, -50%) scale(var(--scale));
        opacity: 0;
      }
    }

    @keyframes dhm-ripple-drift {
      0% { margin-left: -8px; margin-top: -4px; }
      50% { margin-left: 7px; margin-top: 6px; }
      100% { margin-left: -3px; margin-top: 9px; }
    }

    @keyframes dhm-water-shimmer {
      0% { transform: translate3d(-2%, -1%, 0) scale(1.02); opacity: 0.28; }
      50% { transform: translate3d(2%, 1%, 0) scale(1.07); opacity: 0.42; }
      100% { transform: translate3d(-1%, 2%, 0) scale(1.04); opacity: 0.34; }
    }

    .dhm-hero-grid {
      position: relative;
      z-index: 4;
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
      gap: clamp(28px, 5vw, 58px);
      align-items: center;
    }

    .dhm-kicker {
      display: inline-flex;
      margin-bottom: 14px;
      padding: 7px 14px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.38);
      background: rgba(255,255,255,0.18);
      color: #ffffff;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      backdrop-filter: blur(8px);
    }

    .dhm-kicker-blue {
      color: var(--blue);
      background: rgba(10,167,223,0.12);
      border-color: transparent;
    }

    .dhm-hero h1 {
  text-shadow:
    0 2px 6px rgba(0,0,0,0.25),
    0 8px 18px rgba(0,0,0,0.35),
    0 14px 38px rgba(0,0,0,0.45);
      margin: 0 0 20px;
      max-width: 820px;
      color: #ffffff;
      font-size: clamp(44px, 6vw, 82px);
      line-height: 0.98;
      letter-spacing: -0.06em;
      text-shadow: 0 8px 28px rgba(3, 45, 82, 0.28);
    }

    .dhm-hero p {
  text-shadow:
    0 2px 4px rgba(0,0,0,0.25),
    0 6px 14px rgba(0,0,0,0.3);
      margin: 0 0 30px;
      max-width: 690px;
      color: rgba(255,255,255,0.94);
      font-size: clamp(18px, 2vw, 23px);
      line-height: 1.55;
    }

    .dhm-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
    }

    .dhm-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 14px 26px;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .dhm-btn:hover { transform: translateY(-2px); }

    .dhm-btn-primary {
      background: #ffffff;
      color: var(--blue);
      box-shadow: 0 16px 34px rgba(0,0,0,0.18);
    }

    .dhm-btn-secondary {
      background: rgba(255,255,255,0.16);
      border: 1px solid rgba(255,255,255,0.36);
      color: #ffffff;
    }

    .dhm-btn-blue {
      background: linear-gradient(135deg, var(--bright), var(--blue));
      color: #ffffff;
      box-shadow: 0 14px 30px rgba(10,167,223,0.25);
    }

    .dhm-hero-image {
      padding: 16px;
      border: 1px solid rgba(255,255,255,0.36);
      border-radius: 28px;
      background: rgba(255,255,255,0.2);
      box-shadow: 0 22px 55px rgba(5,43,79,0.22);
      backdrop-filter: blur(10px);
    }

    .dhm-hero-product-placeholder {
      aspect-ratio: 4 / 5;
      border-radius: 18px;
      display: grid;
      place-items: center;
      text-align: center;
      background:
        radial-gradient(circle at 50% 30%, rgba(255,255,255,0.95), rgba(255,255,255,0.55) 45%, rgba(255,255,255,0.28) 100%);
      color: var(--blue);
      font-size: clamp(28px, 4vw, 48px);
      font-weight: 900;
      line-height: 1.05;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55);
    }

    .dhm-hero-product-placeholder span {
      display: block;
      margin-top: 8px;
      color: var(--muted);
      font-size: 15px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .dhm-section {
      width: 100%;
      padding: clamp(52px, 7vw, 92px) 20px;
      background:
        radial-gradient(circle at 12% 8%, rgba(54,214,255,0.16), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f3fbff 100%);
    }

    .dhm-white { background: #ffffff; }

    .dhm-section-head {
      max-width: 830px;
      margin: 0 auto 38px;
      text-align: center;
    }

    .dhm-section-head h2,
    .dhm-centre-panel h2,
    .dhm-panel h2,
    .dhm-upsell h2,
    .dhm-final-panel h2 {
      margin: 0 0 16px;
      color: var(--navy);
      font-size: clamp(34px, 4vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.045em;
    }

    .dhm-section-head p,
    .dhm-centre-panel p,
    .dhm-panel p,
    .dhm-upsell p,
    .dhm-final-panel p {
      margin: 0 0 24px;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.62;
    }

    .dhm-cta-centre {
      padding: clamp(54px,7vw,88px) 20px;
      background: #ffffff;
    }

    .dhm-centre-panel {
      max-width: 860px;
      text-align: center;
      padding: clamp(28px,5vw,52px);
      border: 1px solid var(--border);
      border-radius: 32px;
      box-shadow: var(--shadow);
      background: linear-gradient(180deg,#ffffff 0%,#f3fbff 100%);
    }

    .dhm-card-grid-six,
    .dhm-product-grid {
      display: grid;
      grid-template-columns: repeat(3,minmax(0,1fr));
      gap: 22px;
    }

    .dhm-card,
    .dhm-product-card,
    .dhm-panel,
    .dhm-mini-cta {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      background: #ffffff;
      box-shadow: var(--shadow);
    }

    .dhm-card {
      padding: 28px;
    }

    .dhm-icon {
      width: 60px;
      height: 60px;
      margin-bottom: 18px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg,var(--aqua),var(--blue));
      color: #ffffff;
      font-weight: 900;
      font-size: 22px;
    }

    .dhm-card h3,
    .dhm-product-card h3,
    .dhm-mini-cta h3 {
      margin: 0 0 10px;
      color: var(--navy);
      font-size: clamp(22px,2.3vw,30px);
      line-height: 1.15;
      letter-spacing: -0.03em;
    }

    .dhm-card p,
    .dhm-product-card p,
    .dhm-mini-cta p {
      margin: 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.6;
    }

    .dhm-grid {
      display: grid;
      gap: clamp(22px,3vw,40px);
      align-items: center;
    }

    .dhm-grid-66-33 {
      grid-template-columns: minmax(0,2fr) minmax(280px,1fr);
    }

    .dhm-panel {
      padding: clamp(26px,4vw,44px);
    }

    .dhm-mini-cta-stack {
      display: grid;
      gap: 20px;
    }

    .dhm-mini-cta {
      padding: 24px;
    }

    .dhm-mini-cta-light {
      background: var(--soft);
      border-left: 5px solid var(--bright);
    }

    .dhm-mini-cta-dark {
      background: linear-gradient(135deg,var(--navy),var(--blue));
    }

    .dhm-mini-cta-dark h3,
    .dhm-mini-cta-dark p { color: #ffffff; }

    .dhm-product-card {
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .dhm-featured-product { border: 2px solid var(--bright); }

    .dhm-badge {
      position: absolute;
      top: 16px;
      left: 16px;
      z-index: 2;
      padding: 7px 12px;
      border-radius: 999px;
      background: linear-gradient(135deg,var(--bright),var(--blue));
      color: #ffffff;
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
    }

    .dhm-product-image {
      padding: 26px 24px 10px;
      background: linear-gradient(180deg,#f3fbff 0%,#ffffff 100%);
    }

    .dhm-product-placeholder {
      height: 230px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      text-align: center;
      color: var(--blue);
      font-size: 26px;
      font-weight: 900;
      background: rgba(10,167,223,0.1);
      border: 1px solid var(--border);
    }

    .dhm-product-content {
      display: flex;
      flex-direction: column;
      flex: 1;
      padding: 24px;
    }

    .dhm-price-row {
      display: flex;
      align-items: baseline;
      gap: 8px;
      margin: 16px 0;
    }

    .dhm-price {
      color: var(--blue);
      font-size: 36px;
      line-height: 1;
      font-weight: 900;
    }

    .dhm-price-note {
      color: var(--muted);
      font-size: 13px;
    }

    .dhm-product-card ul {
      margin: 0 0 22px;
      padding: 0;
      list-style: none;
    }

    .dhm-product-card li {
      position: relative;
      margin: 0 0 10px;
      padding-left: 24px;
      color: var(--text);
      line-height: 1.45;
    }

    .dhm-product-card li::before {
      content: "";
      position: absolute;
      top: 0.48em;
      left: 0;
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: linear-gradient(135deg,var(--aqua),var(--blue));
    }

    .dhm-product-content .dhm-btn { margin-top: auto; }

    .dhm-upsell,
    .dhm-final-panel {
      padding: clamp(30px,5vw,56px);
      border-radius: 32px;
      background:
        radial-gradient(circle at 15% 20%, rgba(54,214,255,0.24), transparent 34%),
        linear-gradient(135deg,var(--navy),var(--blue));
      box-shadow: var(--shadow);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .dhm-upsell h2,
    .dhm-upsell p,
    .dhm-final-panel h2,
    .dhm-final-panel p {
      color: #ffffff;
    }

    .dhm-final-cta {
      padding: clamp(56px,8vw,96px) 20px;
      background: #ffffff;
    }

    .dhm-footer {
      padding: 34px 20px;
      color: #ffffff;
      background:
        radial-gradient(circle at 12% 20%, rgba(54,214,255,0.14), transparent 30%),
        linear-gradient(135deg, #021d38 0%, #052b4f 55%, #075f9f 100%);
    }

    .dhm-footer-grid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .dhm-footer a {
      display: inline-block;
      margin-left: 18px;
      color: #ffffff;
      text-decoration: none;
      font-weight: 800;
    }

    @media (max-width: 980px) {
      .dhm-nav {
        position: absolute;
        top: 78px;
        left: 20px;
        right: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 18px;
        border: 1px solid rgba(255,255,255,0.16);
        border-radius: 20px;
        background: linear-gradient(135deg, #021d38, #075f9f);
        box-shadow: var(--shadow);
      }

      .dhm-nav.is-open { display: flex; }
      .dhm-menu-toggle { display: block; }

      .dhm-hero-grid,
      .dhm-grid-66-33 {
        grid-template-columns: 1fr;
      }

      .dhm-upsell,
      .dhm-final-panel {
        flex-direction: column;
        align-items: flex-start;
      }

      .dhm-card-grid-six,
      .dhm-product-grid {
        grid-template-columns: 1fr;
        max-width: 580px;
        margin-left: auto;
        margin-right: auto;
      }

      .dhm-hero-product-placeholder { aspect-ratio: 16 / 10; }
    }

    @media (max-width: 720px) {
      .dhm-section,
      .dhm-cta-centre,
      .dhm-final-cta { padding: 44px 16px; }

      .dhm-section-head,
      .dhm-centre-panel { text-align: left; }

      .dhm-actions,
      .dhm-btn { width: 100%; }

      .dhm-actions { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      .dhm-hero::before,
      .dhm-ripple { animation: none; }
    }
  
    /* Clearly visible floating sparkle layer */
    .dhm-sparkles {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      overflow: hidden;
    }

    .dhm-sparkle {
      position: absolute;
      left: var(--x);
      top: var(--y);
      width: var(--s);
      height: var(--s);
      border-radius: 50%;
      background: #ffffff;
      opacity: 0;
      box-shadow:
        0 0 8px rgba(255,255,255,0.95),
        0 0 18px rgba(255,255,255,0.65),
        0 0 34px rgba(255,255,255,0.35);
      animation:
        dhm-visible-sparkle var(--dur) ease-in-out infinite,
        dhm-visible-sparkle-drift calc(var(--dur) * 2.2) ease-in-out infinite alternate;
      animation-delay: var(--delay), var(--delay);
    }

    .dhm-sparkle::before,
    .dhm-sparkle::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      background: rgba(255,255,255,0.85);
      border-radius: 999px;
      opacity: 0;
      animation: dhm-visible-sparkle-cross var(--dur) ease-in-out infinite;
      animation-delay: var(--delay);
    }

    .dhm-sparkle::before {
      width: calc(var(--s) * 4);
      height: 1px;
    }

    .dhm-sparkle::after {
      width: 1px;
      height: calc(var(--s) * 4);
    }

    @keyframes dhm-visible-sparkle {
      0%, 100% {
        opacity: 0;
        transform: translate(0, 0) scale(0.4);
      }

      18% {
        opacity: 0.95;
        transform: translate(calc(var(--dx) * .25), calc(var(--dy) * .25)) scale(1.35);
      }

      40% {
        opacity: 0.45;
        transform: translate(calc(var(--dx) * .55), calc(var(--dy) * .55)) scale(0.85);
      }

      62% {
        opacity: 0.9;
        transform: translate(calc(var(--dx) * .8), calc(var(--dy) * .8)) scale(1.12);
      }

      82% {
        opacity: 0.12;
        transform: translate(var(--dx), var(--dy)) scale(0.55);
      }
    }

    @keyframes dhm-visible-sparkle-cross {
      0%, 100% { opacity: 0; }
      18% { opacity: 0.8; }
      40% { opacity: 0.22; }
      62% { opacity: 0.55; }
      82% { opacity: 0; }
    }

    @keyframes dhm-visible-sparkle-drift {
      0% { margin-left: calc(var(--dx) * -0.35); margin-top: calc(var(--dy) * -0.25); }
      50% { margin-left: calc(var(--dx) * 0.45); margin-top: calc(var(--dy) * 0.55); }
      100% { margin-left: calc(var(--dx) * 0.85); margin-top: calc(var(--dy) * -0.15); }
    }

    /* Hero title drop shadow, aqua glow and moving light sweep */
    .dhm-hero .dhm-sweep-title {
      position: relative;
      display: inline-block;
      overflow: hidden;
      letter-spacing: -0.05em;
      text-shadow:
        0 1px 2px rgba(0,0,0,0.25),
        0 8px 20px rgba(0,0,0,0.45),
        0 18px 50px rgba(0,0,0,0.55),
        0 0 12px rgba(54, 214, 255, 0.35),
        0 0 28px rgba(10, 167, 223, 0.25);
    }

    .dhm-hero .dhm-sweep-title::after {
      content: attr(data-text);
      position: absolute;
      inset: 0;
      color: transparent;
      pointer-events: none;
      background:
        linear-gradient(
          105deg,
          transparent 0%,
          transparent 34%,
          rgba(255,255,255,0.18) 42%,
          rgba(255,255,255,0.95) 48%,
          rgba(159,236,255,0.82) 52%,
          rgba(255,255,255,0.20) 58%,
          transparent 68%,
          transparent 100%
        );
      background-size: 260% 100%;
      background-position: 140% 0;
      -webkit-background-clip: text;
      background-clip: text;
      text-shadow:
        0 0 8px rgba(255,255,255,0.35),
        0 0 20px rgba(54,214,255,0.45);
      animation: dhm-title-light-sweep 5.8s ease-in-out infinite;
      mix-blend-mode: screen;
    }

    @keyframes dhm-title-light-sweep {
      0%, 18% {
        background-position: 140% 0;
        opacity: 0;
      }

      28% {
        opacity: 0.95;
      }

      48% {
        background-position: -80% 0;
        opacity: 0.85;
      }

      58%, 100% {
        background-position: -120% 0;
        opacity: 0;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .dhm-hero .dhm-sweep-title::after {
        animation: none;
        opacity: 0;
      }
    }

    /* Refined hero title: subtle darker shadow, contrast gradient, softer sweep */
    .dhm-hero .dhm-sweep-title {
      position: relative;
      display: inline-block;
      overflow: hidden;
      letter-spacing: -0.05em;
      color: transparent;
      background:
        linear-gradient(
          180deg,
          #ffffff 0%,
          #f5fdff 42%,
          #dff8ff 100%
        );
      -webkit-background-clip: text;
      background-clip: text;
      text-shadow:
        0 1px 1px rgba(0,0,0,0.35),
        0 5px 12px rgba(0,0,0,0.52),
        0 11px 24px rgba(0,0,0,0.40),
        0 0 8px rgba(54, 214, 255, 0.18);
    }

    .dhm-hero .dhm-sweep-title::after {
      content: attr(data-text);
      position: absolute;
      inset: 0;
      color: transparent;
      pointer-events: none;
      background:
        linear-gradient(
          105deg,
          transparent 0%,
          transparent 38%,
          rgba(255,255,255,0.10) 44%,
          rgba(255,255,255,0.70) 50%,
          rgba(159,236,255,0.48) 54%,
          rgba(255,255,255,0.10) 60%,
          transparent 70%,
          transparent 100%
        );
      background-size: 260% 100%;
      background-position: 140% 0;
      -webkit-background-clip: text;
      background-clip: text;
      text-shadow:
        0 0 5px rgba(255,255,255,0.22),
        0 0 12px rgba(54,214,255,0.22);
      animation: dhm-title-light-sweep 6.2s ease-in-out infinite;
      mix-blend-mode: screen;
    }

    /* Dim sparkles mainly where the headline lives, keep them brighter elsewhere */
    .dhm-hero .dhm-sparkles::before {
      content: "";
      position: absolute;
      z-index: 2;
      left: 0;
      top: 0;
      width: min(68%, 860px);
      height: 68%;
      pointer-events: none;
      background:
        radial-gradient(
          ellipse at 34% 42%,
          rgba(10, 103, 160, 0.38) 0%,
          rgba(10, 103, 160, 0.24) 34%,
          rgba(10, 103, 160, 0.10) 58%,
          transparent 76%
        );
      backdrop-filter: none;
    }

    .dhm-hero .dhm-sparkle {
      box-shadow:
        0 0 6px rgba(255,255,255,0.70),
        0 0 12px rgba(255,255,255,0.38),
        0 0 22px rgba(255,255,255,0.18);
    }

    @media (max-width: 980px) {
      .dhm-hero .dhm-sparkles::before {
        width: 100%;
        height: 54%;
        background:
          radial-gradient(
            ellipse at 45% 42%,
            rgba(10, 103, 160, 0.34) 0%,
            rgba(10, 103, 160, 0.22) 36%,
            rgba(10, 103, 160, 0.08) 60%,
            transparent 78%
          );
      }
    }

    /* Final hero title: clean white text, subtle darker shadow, aqua glow, sweep retained */
    .dhm-hero .dhm-sweep-title {
      position: relative;
      display: inline-block;
      overflow: hidden;
      letter-spacing: -0.05em;
      color: #ffffff !important;
      background: none !important;
      -webkit-background-clip: initial !important;
      background-clip: initial !important;
      text-shadow:
        0 1px 1px rgba(0,0,0,0.35),
        0 5px 12px rgba(0,0,0,0.55),
        0 11px 24px rgba(0,0,0,0.45),
        0 0 8px rgba(54, 214, 255, 0.18);
    }

    .dhm-hero .dhm-sweep-title::after {
      content: attr(data-text);
      position: absolute;
      inset: 0;
      color: transparent;
      pointer-events: none;
      background:
        linear-gradient(
          105deg,
          transparent 0%,
          transparent 38%,
          rgba(255,255,255,0.08) 44%,
          rgba(255,255,255,0.62) 50%,
          rgba(159,236,255,0.42) 54%,
          rgba(255,255,255,0.08) 60%,
          transparent 70%,
          transparent 100%
        );
      background-size: 260% 100%;
      background-position: 140% 0;
      -webkit-background-clip: text;
      background-clip: text;
      text-shadow:
        0 0 5px rgba(255,255,255,0.18),
        0 0 11px rgba(54,214,255,0.18);
      animation: dhm-title-light-sweep 6.6s ease-in-out infinite;
      mix-blend-mode: screen;
    }

/* FINAL HERO TITLE SHADOW FIX - smooth realistic shadow */
.dhm-hero .dhm-sweep-title {
  position: relative;
  display: inline-block;
  overflow: hidden;
  letter-spacing: -0.05em;
  color: #ffffff;

  text-shadow: 0 0 6px rgba(54,214,255,0.12);

  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,0.35))
    drop-shadow(0 6px 12px rgba(0,0,0,0.45))
    drop-shadow(0 14px 30px rgba(0,0,0,0.40));

  -webkit-text-stroke: 0.3px rgba(0,0,0,0.12);
}

/* Floating scroll-to-top button with SVG icon, glow pulse and progress ring */
.dhm-scroll-top {
  position: fixed;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  z-index: 100;

  width: clamp(52px, 4vw, 68px);
  height: clamp(52px, 4vw, 68px);

  border: none;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.22), transparent 34%),
    linear-gradient(135deg, #0aa7df, #075f9f);

  cursor: pointer;

  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.92);

  box-shadow:
    0 12px 28px rgba(5,43,79,0.28);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.25s ease;

  touch-action: manipulation;
}

.dhm-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.dhm-scroll-top.is-visible.dhm-scroll-pulse {
  animation: dhm-scroll-glow-pulse 1.6s ease-out 1;
}

.dhm-scroll-top:hover {
  transform: translateY(-2px) scale(1.07);
  box-shadow:
    0 16px 34px rgba(5,43,79,0.34),
    0 0 24px rgba(54,214,255,0.35);
}

.dhm-scroll-top:active {
  transform: translateY(0) scale(0.96);
}

.dhm-scroll-progress {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.dhm-scroll-track,
.dhm-scroll-bar {
  fill: none;
  stroke-width: 3;
}

.dhm-scroll-track {
  stroke: rgba(255,255,255,0.24);
}

.dhm-scroll-bar {
  stroke: rgba(255,255,255,0.96);
  stroke-linecap: round;
  stroke-dasharray: 144.51;
  stroke-dashoffset: 144.51;
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.45));
  transition: stroke-dashoffset 0.08s linear;
}

.dhm-scroll-icon {
  width: 40%;
  height: 40%;
  fill: #ffffff;
  filter:
    drop-shadow(0 1px 1px rgba(0,0,0,0.25))
    drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}

@keyframes dhm-scroll-glow-pulse {
  0% {
    box-shadow:
      0 12px 28px rgba(5,43,79,0.28),
      0 0 0 0 rgba(54,214,255,0.65);
  }

  55% {
    box-shadow:
      0 16px 34px rgba(5,43,79,0.34),
      0 0 0 14px rgba(54,214,255,0.0),
      0 0 32px rgba(54,214,255,0.42);
  }

  100% {
    box-shadow:
      0 12px 28px rgba(5,43,79,0.28),
      0 0 0 0 rgba(54,214,255,0);
  }
}

@media (max-width: 620px) {
  .dhm-scroll-top {
  position: fixed;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  z-index: 100;

  width: clamp(52px, 4vw, 68px);
  height: clamp(52px, 4vw, 68px);

  border: none;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.22), transparent 34%),
    linear-gradient(135deg, #0aa7df, #075f9f);

  cursor: pointer;

  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.92);

  box-shadow:
    0 12px 28px rgba(5,43,79,0.28);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.25s ease;

  touch-action: manipulation;
}

  .dhm-scroll-progress {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
}

/* Subtle haptic-style confirm animation */
.dhm-scroll-top.dhm-confirmed {
  animation: dhm-scroll-confirm-pop 0.34s cubic-bezier(.2, 1.4, .35, 1) 1;
  box-shadow:
    0 16px 34px rgba(5,43,79,0.34),
    0 0 0 7px rgba(54,214,255,0.14),
    0 0 24px rgba(54,214,255,0.34);
}

.dhm-scroll-top.dhm-confirmed .dhm-scroll-icon {
  animation: dhm-scroll-icon-nudge 0.34s ease-out 1;
}

@keyframes dhm-scroll-confirm-pop {
  0% {
    transform: translateY(0) scale(1);
  }

  38% {
    transform: translateY(1px) scale(0.93);
  }

  68% {
    transform: translateY(-1px) scale(1.08);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes dhm-scroll-icon-nudge {
  0% {
    transform: translateY(0);
  }

  42% {
    transform: translateY(-2px);
  }

  100% {
    transform: translateY(0);
  }
}

/* Visible haptic trigger class - stays long enough to be seen */
.dhm-scroll-top.dhm-haptic-active {
  animation: dhm-scroll-haptic-pop 0.42s cubic-bezier(.2, 1.55, .35, 1) 1;
  box-shadow:
    0 16px 34px rgba(5,43,79,0.36),
    0 0 0 8px rgba(54,214,255,0.18),
    0 0 28px rgba(54,214,255,0.40);
}

.dhm-scroll-top.dhm-haptic-active .dhm-scroll-icon {
  animation: dhm-scroll-haptic-icon 0.42s ease-out 1;
}

.dhm-scroll-top.dhm-haptic-active .dhm-scroll-bar {
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,0.75))
    drop-shadow(0 0 8px rgba(54,214,255,0.55));
}

@keyframes dhm-scroll-haptic-pop {
  0% {
    transform: translateY(0) scale(1);
  }

  32% {
    transform: translateY(2px) scale(0.88);
  }

  66% {
    transform: translateY(-2px) scale(1.11);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes dhm-scroll-haptic-icon {
  0% {
    transform: translateY(0) scale(1);
  }

  35% {
    transform: translateY(-3px) scale(0.92);
  }

  70% {
    transform: translateY(-1px) scale(1.14);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

/* Arrow visibility fix for scroll-to-top button */
.dhm-scroll-progress {
  z-index: 1;
}

.dhm-scroll-bar {
  z-index: 2;
}

.dhm-scroll-icon {
  position: relative;
  z-index: 3;
  width: 42%;
  height: 42%;
  fill: #ffffff;
  transform: translateY(0) scale(1);
  filter:
    drop-shadow(0 1px 1px rgba(0,0,0,0.25))
    drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}

.dhm-scroll-top.dhm-haptic-active .dhm-scroll-icon {
  animation: dhm-scroll-haptic-icon-fixed 0.42s ease-out 1;
}

@keyframes dhm-scroll-haptic-icon-fixed {
  0% {
    transform: translateY(0) scale(1);
  }

  40% {
    transform: translateY(-3px) scale(0.95);
  }

  70% {
    transform: translateY(-1px) scale(1.08);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

/* Hero desktop/mobile layout refinement */
.dhm-hero-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.85fr);
}

.dhm-hero-copy {
  text-align: left;
}

@media (max-width: 980px) {
  .dhm-hero-grid {
    grid-template-columns: 1fr;
  }

  .dhm-hero-copy {
    text-align: center;
  }

  .dhm-hero-copy .dhm-kicker {
    margin-left: auto;
    margin-right: auto;
  }

  .dhm-hero-copy h1,
  .dhm-hero-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .dhm-hero .dhm-actions {
    justify-content: center;
  }

  .dhm-hero-image {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 720px) {
  .dhm-hero {
    padding: 58px 16px 64px;
  }

  .dhm-hero-copy {
    text-align: center;
  }

  .dhm-hero .dhm-actions {
    align-items: center;
  }

  .dhm-hero .dhm-btn {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Before / After image slider section */
.dhm-before-after-section {
  background:
    radial-gradient(circle at 80% 12%, rgba(54,214,255,0.18), transparent 30%),
    linear-gradient(180deg, #f3fbff 0%, #ffffff 100%);
}

.dhm-ba-slider {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}

.dhm-ba-viewport {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: var(--shadow);
  touch-action: pan-y;
}

.dhm-ba-track {
  display: flex;
  transition: transform 0.35s ease;
  will-change: transform;
}

.dhm-ba-slide {
  position: relative;
  flex: 0 0 100%;
  min-width: 100%;
  background: var(--soft);
}

.dhm-ba-image {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  color: #ffffff;
  font-size: clamp(34px, 6vw, 72px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.dhm-ba-image::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.82;
}

.dhm-ba-image span {
  position: relative;
  z-index: 2;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(5,43,79,0.38);
  border: 1px solid rgba(255,255,255,0.26);
  backdrop-filter: blur(8px);
}

.dhm-ba-before {
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,0.18), transparent 28%),
    linear-gradient(135deg, #2f6f75 0%, #4d8b7e 45%, #7aa089 100%);
}

.dhm-ba-during {
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,0.28), transparent 28%),
    linear-gradient(135deg, #0a7fc5 0%, #20b5e8 48%, #8fe9ff 100%);
}

.dhm-ba-after {
  background:
    radial-gradient(circle at 40% 26%, rgba(255,255,255,0.42), transparent 25%),
    linear-gradient(135deg, #0698d6 0%, #36d6ff 48%, #c9f7ff 100%);
}

.dhm-ba-caption {
  position: absolute;
  left: clamp(18px, 4vw, 34px);
  right: clamp(18px, 4vw, 34px);
  bottom: clamp(18px, 4vw, 34px);
  max-width: 520px;
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid rgba(255,255,255,0.30);
  border-radius: 22px;
  background: rgba(5,43,79,0.68);
  color: #ffffff;
  backdrop-filter: blur(10px);
}

.dhm-ba-caption h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.dhm-ba-caption p {
  margin: 0;
  color: rgba(255,255,255,0.9);
  font-size: 16px;
  line-height: 1.55;
}

.dhm-ba-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 46px;
  height: 46px;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 999px;
  background: rgba(5,43,79,0.72);
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(5,43,79,0.25);
  transition: transform 0.2s ease, background 0.2s ease;
}

.dhm-ba-arrow:hover {
  background: rgba(7,95,159,0.86);
  transform: translateY(-50%) scale(1.04);
}

.dhm-ba-prev {
  left: 16px;
}

.dhm-ba-next {
  right: 16px;
}

.dhm-ba-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.dhm-ba-dot {
  width: 11px;
  height: 11px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(7,95,159,0.26);
  cursor: pointer;
  transition: width 0.2s ease, background 0.2s ease;
}

.dhm-ba-dot.is-active {
  width: 34px;
  background: linear-gradient(135deg, var(--bright), var(--blue));
}

@media (max-width: 720px) {
  .dhm-ba-image {
    aspect-ratio: 4 / 3;
  }

  .dhm-ba-caption {
    position: static;
    max-width: none;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    background: linear-gradient(135deg, var(--navy), var(--blue));
  }

  .dhm-ba-arrow {
    display: none;
  }
}

/* Side-by-side draggable before/after comparison slider */
.dhm-compare-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(54,214,255,0.16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f3fbff 100%);
}

.dhm-compare {
  --compare-pos: 50%;
  position: relative;
  overflow: hidden;
  max-width: 980px;
  margin: 0 auto;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: var(--shadow);
  aspect-ratio: 16 / 9;
  cursor: ew-resize;
  user-select: none;
  touch-action: pan-y;
}

.dhm-compare-image {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #ffffff;
  font-size: clamp(34px, 6vw, 72px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.dhm-compare-after {
  background:
    radial-gradient(circle at 40% 26%, rgba(255,255,255,0.42), transparent 25%),
    linear-gradient(135deg, #0698d6 0%, #36d6ff 48%, #c9f7ff 100%);
}

.dhm-compare-before-wrap {
  position: absolute;
  inset: 0;
  width: var(--compare-pos);
  overflow: hidden;
  z-index: 2;
}

.dhm-compare-before {
  width: 100%;
  min-width: 980px;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,0.18), transparent 28%),
    linear-gradient(135deg, #2f6f75 0%, #4d8b7e 45%, #7aa089 100%);
}

.dhm-compare-label {
  position: absolute;
  z-index: 4;
  top: 20px;
  padding: 9px 15px;
  border-radius: 999px;
  background: rgba(5,43,79,0.48);
  border: 1px solid rgba(255,255,255,0.25);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.dhm-compare-label-before {
  left: 20px;
}

.dhm-compare-label-after {
  right: 20px;
}

.dhm-compare-line {
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  left: var(--compare-pos);
  width: 3px;
  transform: translateX(-50%);
  background: rgba(255,255,255,0.95);
  box-shadow:
    0 0 12px rgba(255,255,255,0.8),
    0 0 28px rgba(54,214,255,0.45);
  pointer-events: none;
}

.dhm-compare-handle {
  position: absolute;
  z-index: 6;
  left: var(--compare-pos);
  top: 50%;
  width: 58px;
  height: 58px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,0.92);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.30), transparent 36%),
    linear-gradient(135deg, var(--bright), var(--blue));
  color: #ffffff;
  cursor: ew-resize;
  box-shadow:
    0 14px 30px rgba(5,43,79,0.28),
    0 0 22px rgba(54,214,255,0.35);
}

.dhm-compare-arrows {
  display: block;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -2px;
  transform: translateY(-1px);
}

.dhm-compare-range {
  position: absolute;
  inset: 0;
  z-index: 7;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
}

.dhm-compare::after {
  content: "Drag";
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5,43,79,0.42);
  border: 1px solid rgba(255,255,255,0.24);
  color: rgba(255,255,255,0.92);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  pointer-events: none;
}

@media (max-width: 720px) {
  .dhm-compare {
    aspect-ratio: 4 / 3;
    border-radius: 22px;
  }

  .dhm-compare-before {
    min-width: 100vw;
  }

  .dhm-compare-handle {
    width: 54px;
    height: 54px;
  }

  .dhm-compare-label {
    top: 14px;
  }

  .dhm-compare-label-before {
    left: 14px;
  }

  .dhm-compare-label-after {
    right: 14px;
  }
}

/* Solution slide with product focus */
.dhm-ba-solution {
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,0.92), rgba(255,255,255,0.52) 42%, rgba(255,255,255,0.16) 68%),
    radial-gradient(circle at 25% 78%, rgba(54,214,255,0.36), transparent 28%),
    linear-gradient(135deg, #0a7fc5 0%, #20b5e8 50%, #8fe9ff 100%);
}

.dhm-ba-product-card {
  position: relative;
  z-index: 3;
  width: min(320px, 70%);
  aspect-ratio: 0.82 / 1;
  border-radius: 32px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,0.96), rgba(255,255,255,0.78) 46%, rgba(255,255,255,0.58) 100%);
  border: 1px solid rgba(255,255,255,0.82);
  box-shadow:
    0 24px 56px rgba(5,43,79,0.26),
    inset 0 0 0 1px rgba(255,255,255,0.44);
}

.dhm-ba-product-name {
  color: var(--blue);
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 900;
  letter-spacing: -0.06em;
}

.dhm-ba-product-sub {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dhm-btn-slide {
  margin-top: 16px;
}

.dhm-ba-slide:last-child .dhm-btn-slide {
  box-shadow:
    0 14px 30px rgba(0,0,0,0.24),
    0 0 18px rgba(54,214,255,0.28);
}

/* Extra CTA water section using hero-style animated background */
.dhm-extra-cta-water {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.34), transparent 27%),
    radial-gradient(circle at 78% 28%, rgba(54, 214, 255, 0.32), transparent 34%),
    linear-gradient(135deg, #0a7fc5 0%, #10b7ec 45%, #74ddff 100%);
}

.dhm-extra-cta-water::before {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  opacity: 0.30;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle at 15% 30%, rgba(255,255,255,0.22), transparent 16%),
    radial-gradient(circle at 65% 20%, rgba(255,255,255,0.16), transparent 18%),
    radial-gradient(circle at 85% 70%, rgba(255,255,255,0.18), transparent 20%),
    radial-gradient(circle at 35% 82%, rgba(255,255,255,0.14), transparent 17%);
  animation: dhm-water-shimmer 18s ease-in-out infinite alternate;
}

.dhm-extra-cta-wrap {
  position: relative;
  z-index: 4;
}

.dhm-extra-cta-head {
  max-width: 830px;
  margin: 0 auto 34px;
  text-align: center;
}

.dhm-extra-cta-head h2 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.045em;
  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,0.25))
    drop-shadow(0 8px 20px rgba(0,0,0,0.28));
}

.dhm-extra-cta-head p {
  margin: 0;
  color: rgba(255,255,255,0.92);
  font-size: 18px;
  line-height: 1.62;
}

.dhm-extra-cta-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.85fr;
  grid-template-areas:
    "feature split"
    "feature dark";
  gap: 24px;
}

.dhm-extra-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.34);
  border-radius: 28px;
  background: rgba(255,255,255,0.18);
  box-shadow:
    0 24px 60px rgba(5,43,79,0.20),
    inset 0 0 0 1px rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  padding: clamp(24px, 3vw, 36px);
}

.dhm-extra-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.18), transparent 36%),
    radial-gradient(circle at 85% 18%, rgba(255,255,255,0.18), transparent 28%);
  opacity: 0.8;
}

.dhm-extra-cta > * {
  position: relative;
  z-index: 2;
}

.dhm-extra-cta h3 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.045em;
  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,0.25))
    drop-shadow(0 8px 18px rgba(0,0,0,0.24));
}

.dhm-extra-cta p {
  margin: 0 0 22px;
  color: rgba(255,255,255,0.92);
  font-size: 17px;
  line-height: 1.58;
}

.dhm-extra-label {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.34);
  background: rgba(255,255,255,0.18);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dhm-extra-cta-feature {
  grid-area: feature;
  min-height: 440px;
  display: grid;
  grid-template-columns: 1fr minmax(180px, 0.55fr);
  gap: 28px;
  align-items: center;
}

.dhm-extra-cta-split {
  grid-area: split;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dhm-extra-cta-dark {
  grid-area: dark;
  background:
    radial-gradient(circle at 85% 20%, rgba(54,214,255,0.20), transparent 30%),
    linear-gradient(135deg, rgba(5,43,79,0.72), rgba(7,95,159,0.58));
}

.dhm-extra-product {
  min-height: 280px;
  border-radius: 28px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 25%, rgba(255,255,255,0.96), rgba(255,255,255,0.72) 44%, rgba(255,255,255,0.46) 100%);
  border: 1px solid rgba(255,255,255,0.78);
  box-shadow:
    0 22px 50px rgba(5,43,79,0.22),
    inset 0 0 0 1px rgba(255,255,255,0.38);
}

.dhm-extra-product strong {
  display: block;
  color: var(--blue);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.06em;
}

.dhm-extra-product span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dhm-extra-cta .dhm-btn-primary {
  width: fit-content;
}

@media (max-width: 980px) {
  .dhm-extra-cta-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "feature"
      "split"
      "dark";
  }

  .dhm-extra-cta-feature {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .dhm-extra-product {
    min-height: 220px;
  }
}

@media (max-width: 720px) {
  .dhm-extra-cta-head {
    text-align: center;
  }

  .dhm-extra-cta .dhm-btn-primary {
    width: 100%;
  }
}

/* Restored floating scroll-to-top button */
.dhm-scroll-top {
  position: fixed;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  z-index: 9999;

  width: clamp(52px, 4vw, 68px);
  height: clamp(52px, 4vw, 68px);
  padding: 0;

  border: none;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.22), transparent 34%),
    linear-gradient(135deg, #0aa7df, #075f9f);

  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.92);

  box-shadow:
    0 12px 28px rgba(5,43,79,0.28);

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.25s ease;

  touch-action: manipulation;
}

.dhm-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.dhm-scroll-top:hover {
  transform: translateY(-2px) scale(1.06);
  box-shadow:
    0 16px 34px rgba(5,43,79,0.34),
    0 0 24px rgba(54,214,255,0.35);
}

.dhm-scroll-top:active {
  transform: translateY(0) scale(0.96);
}

.dhm-scroll-progress {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
}

.dhm-scroll-track,
.dhm-scroll-bar {
  fill: none;
  stroke-width: 3;
}

.dhm-scroll-track {
  stroke: rgba(255,255,255,0.24);
}

.dhm-scroll-bar {
  z-index: 2;
  stroke: rgba(255,255,255,0.96);
  stroke-linecap: round;
  stroke-dasharray: 144.51;
  stroke-dashoffset: 144.51;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,0.45));
  transition: stroke-dashoffset 0.08s linear;
}

.dhm-scroll-icon {
  position: relative;
  z-index: 3;
  width: 42%;
  height: 42%;
  fill: #ffffff;
  transform: translateY(0) scale(1);
  pointer-events: none;
  filter:
    drop-shadow(0 1px 1px rgba(0,0,0,0.25))
    drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}

.dhm-scroll-top.dhm-scroll-pulse {
  animation: dhm-scroll-glow-pulse 1.6s ease-out 1;
}

.dhm-scroll-top.dhm-haptic-active {
  animation: dhm-scroll-haptic-pop 0.42s cubic-bezier(.2, 1.55, .35, 1) 1;
  box-shadow:
    0 16px 34px rgba(5,43,79,0.36),
    0 0 0 8px rgba(54,214,255,0.18),
    0 0 28px rgba(54,214,255,0.40);
}

.dhm-scroll-top.dhm-haptic-active .dhm-scroll-icon {
  animation: dhm-scroll-haptic-icon-fixed 0.42s ease-out 1;
}

.dhm-scroll-top.dhm-haptic-active .dhm-scroll-bar {
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,0.75))
    drop-shadow(0 0 8px rgba(54,214,255,0.55));
}

@keyframes dhm-scroll-glow-pulse {
  0% {
    box-shadow:
      0 12px 28px rgba(5,43,79,0.28),
      0 0 0 0 rgba(54,214,255,0.65);
  }

  55% {
    box-shadow:
      0 16px 34px rgba(5,43,79,0.34),
      0 0 0 14px rgba(54,214,255,0),
      0 0 32px rgba(54,214,255,0.42);
  }

  100% {
    box-shadow:
      0 12px 28px rgba(5,43,79,0.28),
      0 0 0 0 rgba(54,214,255,0);
  }
}

@keyframes dhm-scroll-haptic-pop {
  0% {
    transform: translateY(0) scale(1);
  }

  32% {
    transform: translateY(2px) scale(0.88);
  }

  66% {
    transform: translateY(-2px) scale(1.11);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes dhm-scroll-haptic-icon-fixed {
  0% {
    transform: translateY(0) scale(1);
  }

  40% {
    transform: translateY(-3px) scale(0.95);
  }

  70% {
    transform: translateY(-1px) scale(1.08);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

/* Dhm final rebuild safety overrides */
.dhm-scroll-top { z-index: 99999; }
.dhm-scroll-icon { position: relative; z-index: 3; display:block; fill:#fff; }
.dhm-extra-cta-water { display:block; }
@media (max-width: 980px) {
  .dhm-hero-grid { grid-template-columns: 1fr; }
  .dhm-hero-copy { text-align: center; }
  .dhm-hero-copy .dhm-kicker, .dhm-hero-copy h1, .dhm-hero-copy p { margin-left:auto; margin-right:auto; }
  .dhm-hero .dhm-actions { justify-content:center; }
  .dhm-hero-image { max-width:520px; width:100%; margin:0 auto; }
}
@media (max-width:720px){
  .dhm-hero .dhm-actions { align-items:center; }
  .dhm-hero .dhm-btn { max-width:320px; margin-left:auto; margin-right:auto; }
}

/* One-shot treatment emphasis */
.dhm-one-shot-highlight {
  display: inline-block;
  position: relative;
  padding: 0.06em 0.22em 0.12em;
  color: var(--dhm-blue);
  white-space: nowrap;
}

.dhm-one-shot-highlight::before {
  content: "";
  position: absolute;
  inset: 0.1em 0 0.02em;
  z-index: -1;
  border-radius: 0.28em;
  background:
    linear-gradient(135deg, rgba(54,214,255,0.24), rgba(10,167,223,0.14));
  box-shadow:
    0 8px 24px rgba(10,167,223,0.16),
    inset 0 -2px 0 rgba(10,167,223,0.32);
}

#dhm-benefits-section .dhm-section-head p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

#dhm-benefits-section .dhm-section-head p::first-sentence {
  color: var(--dhm-navy);
  font-weight: 900;
}

#dhm-benefits-section .dhm-card {
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-areas:
    "icon title"
    "text text";
  column-gap: 14px;
  row-gap: 14px;
  align-items: center;
}

#dhm-benefits-section .dhm-icon {
  grid-area: icon;
  width: 42px;
  height: 42px;
  margin-bottom: 0;
  font-size: 18px;
}

#dhm-benefits-section .dhm-card h3 {
  grid-area: title;
  margin: 0;
}

#dhm-benefits-section .dhm-card p {
  grid-area: text;
}

@media (max-width: 520px) {
  .dhm-one-shot-highlight {
    white-space: normal;
  }

  #dhm-benefits-section .dhm-card {
    grid-template-columns: 38px 1fr;
    column-gap: 12px;
  }

  #dhm-benefits-section .dhm-icon {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
}

/* Left (previous) */
  #dhm-products-section .dhm-product-card[data-pos="prev"] {
    transform: translateX(-60%) scale(0.9) translateY(20px) !important;
    opacity: 0.6 !important;
    z-index: 1 !important;
  }

  /* Active center */
  #dhm-products-section .dhm-product-card[data-pos="active"] {
    transform: translateX(0%) scale(1) translateY(0) !important;
    opacity: 1 !important;
    z-index: 3 !important;
  }

  /* Right (next) */
  #dhm-products-section .dhm-product-card[data-pos="next"] {
    transform: translateX(60%) scale(0.9) translateY(20px) !important;
    opacity: 0.6 !important;
    z-index: 1 !important;
  }
}

/* Remove the offset pseudo-card layers that were showing as odd background lines */
  #dhm-products-section .dhm-product-card::before,
  #dhm-products-section .dhm-product-card::after {
    content: none !important;
    display: none !important;
  }

  /* Hide the old floating dots container */
  #dhm-products-section .dhm-product-carousel-controls,
  #dhm-products-section .dhm-product-carousel-dots {
    display: none !important;
  }

  /* Add subtle indicator pills centred on the active card's top and bottom borders */
  #dhm-products-section .dhm-product-card.is-product-active::before,
  #dhm-products-section .dhm-product-card.is-product-active::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    z-index: 20 !important;
    width: 78px !important;
    height: 12px !important;
    border-radius: 999px !important;
    transform: translateX(-50%) !important;
    background:
      radial-gradient(circle at 12px 50%, #0aa7df 0 4px, transparent 4.5px),
      radial-gradient(circle at 39px 50%, #075f9f 0 4px, transparent 4.5px),
      radial-gradient(circle at 66px 50%, #0aa7df 0 4px, transparent 4.5px),
      rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(10,167,223,0.22) !important;
    box-shadow:
      0 8px 20px rgba(5,43,79,0.12),
      0 0 14px rgba(54,214,255,0.18) !important;
    pointer-events: none !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active::before {
    top: 0 !important;
    transform: translate(-50%, -50%) !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active::after {
    bottom: 0 !important;
    transform: translate(-50%, 50%) !important;
  }

  /* Make inactive cards clean, with no pseudo indicators */
  #dhm-products-section .dhm-product-card:not(.is-product-active)::before,
  #dhm-products-section .dhm-product-card:not(.is-product-active)::after {
    content: none !important;
    display: none !important;
  }
}

/* Add breathing room so bottom pill does not cover the buy button */
  #dhm-products-section .dhm-product-card.is-product-active .dhm-product-content {
    padding-bottom: 42px !important;
  }
}

/* Reduce spacing between product image and title */
#dhm-products-section .dhm-product-content h3 {
  margin-top: 6px !important;
}

#dhm-products-section .dhm-product-image {
  margin-bottom: 6px !important;
}

/* Header/menu fixed in consolidated block below. */

/* Header remains pinned above all animated/product layers */
@media (max-width: 980px) {
  .dhm-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    translate: none !important;
    z-index: 2147483647 !important;
  }
}

/* RESTORED compact product-card spacing */
#dhm-products-section .dhm-product-content h3 {
  margin-top: 2px !important;
  margin-bottom: 6px !important;
  line-height: 1.12 !important;
}

#dhm-products-section .dhm-product-image {
  margin-bottom: 2px !important;
  padding-top: 16px !important;
  padding-bottom: 4px !important;
}

#dhm-products-section .dhm-product-placeholder {
  height: 200px !important;
}

#dhm-products-section .dhm-product-content {
  padding-top: 12px !important;
}

#dhm-products-section .dhm-product-content ul {
  margin: 8px 0 14px !important;
}

#dhm-products-section .dhm-product-content li {
  margin-bottom: 6px !important;
  line-height: 1.34 !important;
}

@media (max-width: 720px) {
  #dhm-products-section .dhm-product-image {
    padding-top: 14px !important;
    padding-bottom: 2px !important;
  }

  #dhm-products-section .dhm-product-placeholder {
    height: 158px !important;
  }

  #dhm-products-section .dhm-product-content {
    padding: 10px 16px 18px !important;
  }

  #dhm-products-section .dhm-product-content h3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    line-height: 1.08 !important;
  }

  #dhm-products-section .dhm-price-row {
    margin: 10px 0 !important;
  }

  #dhm-products-section .dhm-product-content ul {
    margin: 6px 0 12px !important;
  }

  #dhm-products-section .dhm-product-content li {
    margin-bottom: 4px !important;
    line-height: 1.28 !important;
  }
}

/* Product bullet icon treatment */
#dhm-products-section .dhm-product-card ul {
  list-style: none !important;
  padding-left: 0 !important;
}

#dhm-products-section .dhm-product-card li {
  position: relative !important;
  padding-left: 28px !important;
}

#dhm-products-section .dhm-product-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.05em !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #36d6ff, #075f9f) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(7,95,159,0.18) !important;
}


/* ===== CLEAN FINAL OVERRIDES ===== */

/* Benefits section final six-card layout */
#dhm-benefits-section .dhm-benefits-six-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  overflow: visible !important;
}

#dhm-benefits-section .dhm-benefits-six-card {
  display: block !important;
  position: relative !important;
  padding: 28px !important;
  border: 1px solid var(--dhm-border) !important;
  border-radius: var(--dhm-radius) !important;
  background: #ffffff !important;
  box-shadow: var(--dhm-shadow) !important;
}

#dhm-benefits-section .dhm-benefits-six-top {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 14px !important;
}

#dhm-benefits-section .dhm-benefits-six-orb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #36d6ff 0%, #075f9f 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(7, 95, 159, 0.24), inset 0 0 0 1px rgba(255,255,255,0.25) !important;
}

#dhm-benefits-section .dhm-benefits-six-orb span {
  display: block !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#dhm-benefits-section .dhm-benefits-six-card h3 {
  margin: 0 !important;
  color: var(--dhm-navy) !important;
  font-size: clamp(22px, 2.3vw, 30px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
}

#dhm-benefits-section .dhm-benefits-six-card p {
  margin: 0 !important;
  color: var(--dhm-muted) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.dhm-one-shot-highlight {
  display: inline-block;
  position: relative;
  padding: 0.06em 0.22em 0.12em;
  color: var(--dhm-blue);
}

.dhm-one-shot-highlight::before {
  content: "";
  position: absolute;
  inset: 0.1em 0 0.02em;
  z-index: -1;
  border-radius: 0.28em;
  background: linear-gradient(135deg, rgba(54,214,255,0.24), rgba(10,167,223,0.14));
  box-shadow: 0 8px 24px rgba(10,167,223,0.16), inset 0 -2px 0 rgba(10,167,223,0.32);
}

/* Product cards final styling */
#dhm-products-section .dhm-product-card,
#dhm-products-section .dhm-featured-product {
  border: 2px solid rgba(10, 167, 223, 0.42) !important;
  box-shadow: 0 18px 45px rgba(5,43,79,0.14), 0 0 0 1px rgba(255,255,255,0.70) inset !important;
}

#dhm-products-section .dhm-product-content h3 {
  margin-top: 2px !important;
  margin-bottom: 6px !important;
  line-height: 1.12 !important;
}

#dhm-products-section .dhm-product-image {
  margin-bottom: 2px !important;
  padding-top: 16px !important;
  padding-bottom: 4px !important;
}

#dhm-products-section .dhm-product-placeholder {
  height: 200px !important;
}

#dhm-products-section .dhm-product-content {
  padding-top: 12px !important;
}

#dhm-products-section .dhm-product-card ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 8px 0 14px !important;
}

#dhm-products-section .dhm-product-card li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 6px !important;
  line-height: 1.34 !important;
}

#dhm-products-section .dhm-product-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.05em !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #36d6ff, #075f9f) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(7,95,159,0.18) !important;
}

/* Stacked product carousel on mobile */
@media (max-width: 720px) {
  #dhm-products-section .dhm-product-carousel-shell {
    overflow: visible !important;
    padding: 4px 0 16px !important;
  }

  #dhm-products-section .dhm-product-grid {
    display: block !important;
    position: relative !important;
    height: 560px !important;
    overflow: visible !important;
    padding: 44px 0 56px !important;
    touch-action: pan-y !important;
    perspective: 1200px !important;
  }

  #dhm-products-section .dhm-product-card {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: min(78vw, 340px) !important;
    min-width: 0 !important;
    margin-left: calc(-1 * min(78vw, 340px) / 2) !important;
    transform-origin: center center !important;
    will-change: transform, opacity, filter !important;
    transition:
      transform 560ms cubic-bezier(.22, 1, .36, 1),
      opacity 420ms ease,
      filter 420ms ease,
      box-shadow 420ms ease !important;
  }

  #dhm-products-section .dhm-product-card[data-pos="active"] {
    z-index: 5 !important;
    opacity: 1 !important;
    filter: blur(0) saturate(1) brightness(1) !important;
    transform:
      translateX(calc(var(--dhm-drag-x, 0px) * 0.24))
      translateY(0)
      rotate(calc(var(--dhm-drag-x, 0px) * 0.018deg))
      scale(1)
      translateZ(72px) !important;
    box-shadow:
      0 30px 70px rgba(5,43,79,0.26),
      0 0 0 2px rgba(10,167,223,0.22),
      0 0 0 1px rgba(255,255,255,0.82) inset !important;
  }

  #dhm-products-section .dhm-product-card[data-pos="prev"] {
    z-index: 3 !important;
    opacity: 0.64 !important;
    filter: blur(1.6px) saturate(0.82) brightness(0.96) !important;
    transform: translateX(calc(-58% + (var(--dhm-drag-x, 0px) * 0.10))) translateY(26px) rotate(-7deg) scale(0.88) !important;
  }

  #dhm-products-section .dhm-product-card[data-pos="next"] {
    z-index: 3 !important;
    opacity: 0.64 !important;
    filter: blur(1.6px) saturate(0.82) brightness(0.96) !important;
    transform: translateX(calc(58% + (var(--dhm-drag-x, 0px) * 0.10))) translateY(26px) rotate(7deg) scale(0.88) !important;
  }

  #dhm-products-section .dhm-product-card[data-pos="hidden-left"],
  #dhm-products-section .dhm-product-card[data-pos="hidden-right"] {
    z-index: 1 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    filter: blur(3px) saturate(0.7) !important;
  }

  #dhm-products-section .dhm-product-grid.is-dragging .dhm-product-card {
    transition: transform 80ms linear, opacity 180ms ease, filter 180ms ease !important;
  }

  #dhm-products-section .dhm-product-grid.is-snapping .dhm-product-card {
    transition:
      transform 620ms cubic-bezier(.22, 1, .36, 1),
      opacity 420ms ease,
      filter 420ms ease,
      box-shadow 420ms ease !important;
  }

  #dhm-products-section .dhm-product-grid.dhm-loop-glow .dhm-product-card[data-pos="active"] {
    animation: dhm-product-loop-glow 0.72s ease-out 1;
  }

  @keyframes dhm-product-loop-glow {
    42% {
      box-shadow:
        0 30px 74px rgba(5,43,79,0.28),
        0 0 0 2px rgba(10,167,223,0.34),
        0 0 26px rgba(54,214,255,0.42),
        0 0 0 1px rgba(255,255,255,0.82) inset;
    }
  }

  #dhm-products-section .dhm-product-image {
    padding-top: 14px !important;
    padding-bottom: 2px !important;
  }

  #dhm-products-section .dhm-product-placeholder {
    height: 158px !important;
  }

  #dhm-products-section .dhm-product-content {
    padding: 10px 16px 18px !important;
  }

  #dhm-products-section .dhm-product-content h3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    line-height: 1.08 !important;
  }

  #dhm-products-section .dhm-price-row {
    margin: 10px 0 !important;
  }

  #dhm-products-section .dhm-product-card ul {
    margin: 6px 0 12px !important;
  }

  #dhm-products-section .dhm-product-card li {
    margin-bottom: 4px !important;
    line-height: 1.28 !important;
  }

  #dhm-products-section .dhm-product-card::before,
  #dhm-products-section .dhm-product-card::after {
    content: none !important;
    display: none !important;
  }

  #dhm-products-section .dhm-card-edge-indicator {
    display: none !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active .dhm-card-edge-indicator {
    position: absolute !important;
    left: 50% !important;
    z-index: 60 !important;
    width: 132px !important;
    height: 28px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    background: rgba(255,255,255,0.97) !important;
    border: 1px solid rgba(10,167,223,0.24) !important;
    box-shadow: 0 8px 20px rgba(5,43,79,0.14), 0 0 14px rgba(54,214,255,0.18) !important;
    pointer-events: auto !important;
  }

  #dhm-products-section .dhm-card-edge-indicator-top {
    top: -22px !important;
    transform: translateX(-50%) !important;
  }

  #dhm-products-section .dhm-card-edge-indicator-bottom {
    bottom: -22px !important;
    transform: translateX(-50%) !important;
  }

  #dhm-products-section .dhm-card-edge-indicator span {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: rgba(7,95,159,0.22) !important;
  }

  #dhm-products-section .dhm-card-edge-indicator span.is-current {
    width: 20px !important;
    background: linear-gradient(135deg, #0aa7df, #075f9f) !important;
  }

  #dhm-products-section .dhm-card-indicator-chevron {
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(10,167,223,0.08) !important;
    color: rgba(5,43,79,0.58) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  #dhm-products-section .dhm-product-carousel-controls {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    margin: 12px 0 0 !important;
    pointer-events: auto !important;
  }

  #dhm-products-section .dhm-product-carousel-dots {
    position: static !important;
    display: flex !important;
    gap: 8px !important;
    transform: none !important;
    margin: 0 auto !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.9) !important;
    box-shadow: 0 10px 26px rgba(5,43,79,0.12) !important;
  }

  #dhm-products-section .dhm-product-carousel-dot {
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    border: none !important;
    border-radius: 999px !important;
    background: rgba(7,95,159,0.25) !important;
    padding: 0 !important;
  }

  #dhm-products-section .dhm-product-carousel-dot.is-active {
    width: 28px !important;
    background: linear-gradient(135deg, #0aa7df, #075f9f) !important;
  }
}

/* Scroll-to-top button final position */
.dhm-scroll-top {
  position: fixed !important;
  right: clamp(16px, 2vw, 28px) !important;
  bottom: clamp(16px, 2vw, 28px) !important;
  left: auto !important;
  top: auto !important;
  z-index: 2147483000 !important;
}

@media (max-width: 980px) {
  #dhm-benefits-section .dhm-benefits-six-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 640px) {
  #dhm-benefits-section .dhm-benefits-six-grid {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }

  #dhm-benefits-section .dhm-benefits-six-card {
    padding: 24px !important;
  }

  #dhm-benefits-section .dhm-benefits-six-orb {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  #dhm-benefits-section .dhm-benefits-six-orb span {
    font-size: 16px !important;
  }
}


/* FINAL PRODUCT CARD INDICATOR FIX */
@media (max-width: 720px) {
  #dhm-products-section .dhm-product-card {
    overflow: visible !important;
  }

  /* Keep normal card pseudo-elements off so they cannot become stray lines */
  #dhm-products-section .dhm-product-card::before,
  #dhm-products-section .dhm-product-card::after {
    content: none !important;
    display: none !important;
  }

  #dhm-products-section .dhm-card-edge-indicator {
    display: none !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active .dhm-card-edge-indicator {
    position: absolute !important;
    left: 50% !important;
    z-index: 90 !important;
    width: 132px !important;
    height: 28px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    transform: translateX(-50%) !important;
    background: rgba(255,255,255,0.97) !important;
    border: 1px solid rgba(10,167,223,0.24) !important;
    box-shadow:
      0 8px 20px rgba(5,43,79,0.14),
      0 0 14px rgba(54,214,255,0.18) !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active .dhm-card-edge-indicator-top {
    top: -22px !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active .dhm-card-edge-indicator-bottom {
    bottom: -22px !important;
  }

  #dhm-products-section .dhm-card-edge-indicator span {
    display: block !important;
    flex: 0 0 auto !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: rgba(7,95,159,0.22) !important;
  }

  #dhm-products-section .dhm-card-edge-indicator span.is-current {
    width: 20px !important;
    background: linear-gradient(135deg, #0aa7df, #075f9f) !important;
  }

  #dhm-products-section .dhm-card-indicator-chevron {
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(10,167,223,0.08) !important;
    color: rgba(5,43,79,0.58) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  #dhm-products-section .dhm-card-indicator-chevron:active {
    transform: scale(0.92);
    background: rgba(10,167,223,0.16) !important;
  }

  /* Space for indicators outside card border */
  #dhm-products-section .dhm-product-grid {
    padding-top: 44px !important;
    padding-bottom: 56px !important;
  }
}

@media (min-width: 721px) {
  #dhm-products-section .dhm-card-edge-indicator {
    display: none !important;
  }
}


/* FINAL PRODUCT CARD CLEANUP */
#dhm-products-section .dhm-product-carousel-controls,
#dhm-products-section .dhm-product-carousel-dots {
  display: none !important;
}

/* Outer card allows indicators outside; inner image/content keep clean rounded corners */
#dhm-products-section .dhm-product-card {
  overflow: visible !important;
  background: transparent !important;
  border-radius: var(--dhm-radius) !important;
}

/* Create a proper clipped white card surface behind the content */
#dhm-products-section .dhm-product-image,
#dhm-products-section .dhm-product-content {
  position: relative !important;
  z-index: 2 !important;
  background: #ffffff !important;
}

#dhm-products-section .dhm-product-image {
  border-top-left-radius: calc(var(--dhm-radius) - 2px) !important;
  border-top-right-radius: calc(var(--dhm-radius) - 2px) !important;
  overflow: hidden !important;
}

#dhm-products-section .dhm-product-content {
  border-bottom-left-radius: calc(var(--dhm-radius) - 2px) !important;
  border-bottom-right-radius: calc(var(--dhm-radius) - 2px) !important;
}

/* Rebuild the card border as an overlay so corners stay rounded while indicators remain outside */
#dhm-products-section .dhm-product-card > .dhm-product-image::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-top-left-radius: calc(var(--dhm-radius) - 2px) !important;
  border-top-right-radius: calc(var(--dhm-radius) - 2px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Prevent previous pseudo-element hacks from reappearing on the card itself */
#dhm-products-section .dhm-product-card::before,
#dhm-products-section .dhm-product-card::after {
  content: none !important;
  display: none !important;
}

/* Mobile-specific: add a rounded background panel under image+content */
@media (max-width: 720px) {
  #dhm-products-section .dhm-product-card {
    background: #ffffff !important;
    border-radius: var(--dhm-radius) !important;
  }

  #dhm-products-section .dhm-product-image {
    background:
      linear-gradient(180deg,#f3fbff 0%,#ffffff 100%) !important;
  }

  #dhm-products-section .dhm-product-card.is-product-active {
    overflow: visible !important;
  }
}


/* REPAIR: before/after carousel slider */
#dhm-results-slider-section .dhm-ba-slider {
  position: relative !important;
}

#dhm-results-slider-section .dhm-ba-viewport {
  overflow: hidden !important;
  touch-action: pan-y !important;
}

#dhm-results-slider-section .dhm-ba-track {
  display: flex !important;
  width: 100% !important;
  transform: translateX(0);
  transition: transform 0.35s ease;
  will-change: transform;
}

#dhm-results-slider-section .dhm-ba-slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

#dhm-results-slider-section .dhm-ba-arrow,
#dhm-results-slider-section .dhm-ba-dot {
  pointer-events: auto !important;
  cursor: pointer !important;
}

#dhm-results-slider-section .dhm-ba-dots {
  display: flex !important;
}


/* REPAIR: drag-to-compare slider */
#dhm-compare-slider-section .dhm-compare {
  --dhm-compare-pos: 50%;
  cursor: default !important;
  touch-action: pan-y !important;
}

#dhm-compare-slider-section .dhm-compare-before-wrap {
  width: var(--dhm-compare-pos) !important;
}

#dhm-compare-slider-section .dhm-compare-line,
#dhm-compare-slider-section .dhm-compare-handle {
  left: var(--dhm-compare-pos) !important;
}

#dhm-compare-slider-section .dhm-compare-handle {
  pointer-events: auto !important;
  cursor: ew-resize !important;
  touch-action: none !important;
  z-index: 20 !important;
}

#dhm-compare-slider-section .dhm-compare-range {
  pointer-events: none !important;
}

#dhm-compare-slider-section .dhm-compare.is-dragging .dhm-compare-handle {
  transform: translate(-50%, -50%) scale(0.94) !important;
  box-shadow:
    0 10px 22px rgba(5,43,79,0.32),
    0 0 24px rgba(54,214,255,0.48) !important;
}


/* Product card eyebrow label */
#dhm-products-section .dhm-product-eyebrow {
  position: absolute;
  top: 10px;
  left: 12px;
  z-index: 5;

  padding: 4px 10px;
  border-radius: 999px;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;

  color: #075f9f;
  background: rgba(255,255,255,0.92);

  border: 1px solid rgba(10,167,223,0.25);
  box-shadow: 0 6px 14px rgba(5,43,79,0.12);
}

#dhm-products-section .dhm-product-image {
  position: relative;
}

/* Highlight middle (2kg) */
#dhm-products-section .dhm-product-card:nth-child(2) .dhm-product-eyebrow {
  background: linear-gradient(135deg, #36d6ff, #0aa7df);
  color: #fff;
  border: none;
}


/* Animate product eyebrow on active/focused card */
@media (max-width: 720px) {
  #dhm-products-section .dhm-product-card.is-product-active .dhm-product-eyebrow {
    animation: dhm-eyebrow-focus-pop 0.72s cubic-bezier(.22, 1, .36, 1) 1;
  }

  #dhm-products-section .dhm-product-card.is-product-active .dhm-product-eyebrow::after {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    border: 1px solid rgba(54,214,255,0.45);
    opacity: 0;
    animation: dhm-eyebrow-focus-ring 0.72s ease-out 1;
    pointer-events: none;
  }
}

@keyframes dhm-eyebrow-focus-pop {
  0% {
    transform: translateY(-3px) scale(0.96);
    filter: brightness(0.96);
  }

  48% {
    transform: translateY(-1px) scale(1.06);
    filter: brightness(1.08);
  }

  100% {
    transform: translateY(0) scale(1);
    filter: brightness(1);
  }
}

@keyframes dhm-eyebrow-focus-ring {
  0% {
    opacity: 0.7;
    transform: scale(0.92);
  }

  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}


/* Product card indicators now show current product position */
#dhm-products-section .dhm-card-edge-indicator span {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(7,95,159,0.22) !important;
  transition:
    width 0.22s ease,
    background 0.22s ease,
    transform 0.22s ease !important;
}

#dhm-products-section .dhm-card-edge-indicator span.is-current {
  width: 20px !important;
  background: linear-gradient(135deg, #0aa7df, #075f9f) !important;
  transform: scale(1.04) !important;
}

/* Remove whitespace between header and hero */
#dhm-hero-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#dhm-hero-section > *:first-child {
  margin-top: 0 !important;
}


/* REAL FIX: remove white spacer between fixed header and hero */
#dhm-mobile-header-spacer {
  display: none !important;
  height: 0 !important;
}

@media (max-width: 980px) {
  body {
    padding-top: 0 !important;
  }

  #dhm-main-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #dhm-hero-section,
  .dhm-hero {
    margin-top: 0 !important;
    padding-top: clamp(78px, 9vw, 132px) !important;
  }
}

@media (min-width: 981px) {
  #dhm-hero-section,
  .dhm-hero {
    margin-top: 0 !important;
  }
}


/* SCREEN/DESKTOP ONLY: remove whitespace above header */
@media (min-width: 981px) {
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
  }

  html::before,
  body::before {
    content: none !important;
    display: none !important;
    height: 0 !important;
  }

  #dhm-site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  body > #dhm-site-header:first-child,
  body > header:first-child {
    margin-top: 0 !important;
  }

  #dhm-main-content,
  #dhm-hero-section,
  .dhm-hero {
    margin-top: 0 !important;
  }
}


/* DESKTOP PRODUCT LAYOUT FIX:
   On screen/desktop, remove the product carousel/stacking behaviour and show
   the three product cards side by side with tighter, even spacing.
   Mobile carousel remains controlled by the existing max-width:720px rules. */
@media (min-width: 981px) {
  #dhm-products-section .dhm-product-carousel-shell {
    display: block !important;
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #dhm-products-section .dhm-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    height: auto !important;
    overflow: visible !important;
    perspective: none !important;
    touch-action: auto !important;
  }

  #dhm-products-section .dhm-product-card,
  #dhm-products-section .dhm-product-card[data-pos],
  #dhm-products-section .dhm-product-card.is-product-active {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    z-index: auto !important;
    pointer-events: auto !important;
  }

  #dhm-products-section .dhm-card-edge-indicator,
  #dhm-products-section .dhm-product-carousel-controls,
  #dhm-products-section .dhm-product-carousel-dots {
    display: none !important;
  }

  #dhm-products-section .dhm-product-image {
    padding: 18px 18px 6px !important;
    margin-bottom: 0 !important;
  }

  #dhm-products-section .dhm-product-placeholder {
    height: 190px !important;
  }

  #dhm-products-section .dhm-product-content {
    padding: 18px !important;
  }

  #dhm-products-section .dhm-product-content h3 {
    margin-top: 0 !important;
  }
}

@media (min-width: 1180px) {
  #dhm-products-section .dhm-product-grid {
    gap: 20px !important;
  }
}


.dhm-logo-img {
  height: 42px;
  width: auto;
  display: block;
}

@media (max-width: 980px) {
  .dhm-logo-img {
    height: 36px;
  }
}


/* HERO spacing (desktop only) */
@media (min-width: 981px) {
  #dhm-hero-section {
    padding-top: 60px !important;
  }
}

/* LOGO sizing + glow */
.dhm-logo-img {
  height: 56px !important;
  width: auto;
  display: block;
  filter: drop-shadow(0 0 6px rgba(54,214,255,0.35))
          drop-shadow(0 0 14px rgba(54,214,255,0.25));
}

@media (max-width: 980px) {
  .dhm-logo-img {
    height: 44px !important;
  }
}


/* DESKTOP: fully disable product carousel UI/state */
@media (min-width: 981px) {
  #dhm-products-section .dhm-product-carousel-shell {
    max-width: 1040px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  #dhm-products-section .dhm-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    perspective: none !important;
    touch-action: auto !important;
  }

  #dhm-products-section .dhm-product-card,
  #dhm-products-section .dhm-product-card[data-pos],
  #dhm-products-section .dhm-product-card.is-product-active {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    z-index: auto !important;
    pointer-events: auto !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    animation: none !important;
  }

  #dhm-products-section .dhm-card-edge-indicator,
  #dhm-products-section .dhm-card-edge-indicator *,
  #dhm-products-section .dhm-product-carousel-controls,
  #dhm-products-section .dhm-product-carousel-dots,
  #dhm-products-section .dhm-product-carousel-dot,
  #dhm-products-section [data-dhm-card-prev],
  #dhm-products-section [data-dhm-card-next],
  #dhm-products-section [data-dhm-indicator-dot] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #dhm-products-section .dhm-product-card::before,
  #dhm-products-section .dhm-product-card::after {
    content: none !important;
    display: none !important;
  }
}

/* =========================================================
   DHM HEADER / MENU CONSOLIDATED FINAL
   Desktop and mobile both use dropdown navigation.
   Desktop button is text-only: "Main Menu".
========================================================= */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* Header shell */
#dhm-site-header,
.dhm-site-header {
  width: 100% !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(54, 214, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #021d38 0%, #052b4f 42%, #075f9f 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 14px 34px rgba(2, 29, 56, 0.28) !important;
  z-index: 999999 !important;
  overflow: visible !important;
}

/* Header inner row */
#dhm-site-header .dhm-header-wrap,
.dhm-site-header .dhm-header-wrap {
  width: min(var(--dhm-max), calc(100% - 40px)) !important;
  max-width: var(--dhm-max) !important;
  min-height: 78px !important;
  margin: 0 auto !important;
  padding: 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

/* Logo */
#dhm-site-header .dhm-logo,
.dhm-site-header .dhm-logo {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
  min-width: 0 !important;
}

#dhm-site-header .dhm-logo-img,
.dhm-site-header .dhm-logo-img {
  height: 56px !important;
  width: auto !important;
  max-width: min(240px, 52vw) !important;
  display: block !important;
  filter:
    drop-shadow(0 0 6px rgba(54,214,255,0.35))
    drop-shadow(0 0 14px rgba(54,214,255,0.25)) !important;
}

/* Hide inline nav on all viewport sizes; overlay becomes the menu */
#dhm-site-header .dhm-nav,
.dhm-site-header .dhm-nav {
  display: none !important;
}

/* Menu button visible on all viewport sizes */
#dhm-site-header .dhm-menu-toggle,
.dhm-site-header .dhm-menu-toggle {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: 124px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  z-index: 1000001 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

#dhm-site-header .dhm-menu-toggle:hover,
.dhm-site-header .dhm-menu-toggle:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,0.18) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.18) !important;
}

/* Label without needing extra header markup */
#dhm-site-header .dhm-menu-toggle::after,
.dhm-site-header .dhm-menu-toggle::after {
  content: "Main Menu";
  display: inline-block !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
}

/* Hamburger icon lines */
#dhm-site-header .dhm-menu-toggle span,
.dhm-site-header .dhm-menu-toggle span {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  margin: 3px 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  opacity: 1 !important;
  transform-origin: center !important;
  transition: transform 0.22s ease, opacity 0.22s ease !important;
}

#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg) !important;
}

#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2) {
  opacity: 0 !important;
}

#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg) !important;
}

/* Desktop text-only button */
@media (min-width: 981px) {
  #dhm-site-header,
  .dhm-site-header {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    min-height: 78px !important;
  }

  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    min-width: 140px !important;
    height: 46px !important;
    padding: 0 24px !important;
    gap: 0 !important;
    border-radius: 10px !important;
    justify-content: center !important;
  }

  #dhm-site-header .dhm-menu-toggle span,
  .dhm-site-header .dhm-menu-toggle span {
    display: none !important;
  }
}

/* Overlay menu container */
.dhm-mobile-menu-overlay {
  display: none !important;
  position: fixed !important;
  top: 78px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  z-index: 1000000 !important;
  padding: 14px 20px 18px !important;
  overflow-x: hidden !important;
  pointer-events: none !important;
}

.dhm-mobile-menu-overlay.is-open {
  display: block !important;
  pointer-events: auto !important;
}

/* Desktop dropdown: neat right-aligned panel */
@media (min-width: 981px) {
  .dhm-mobile-menu-overlay {
    top: 70px !important;
  }

  .dhm-mobile-menu-panel {
    width: min(380px, calc(100vw - 40px)) !important;
    max-width: 380px !important;
    margin: 0 calc((100vw - min(var(--dhm-max), calc(100vw - 40px))) / 2) 0 auto !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 22px !important;
    background:
      radial-gradient(circle at 14% 18%, rgba(54,214,255,0.22), transparent 34%),
      linear-gradient(135deg, #021d38 0%, #052b4f 48%, #075f9f 100%) !important;
    box-shadow: 0 24px 60px rgba(2,29,56,0.38) !important;
    overflow-x: hidden !important;
    animation: dhm-menu-fade 0.2s ease !important;
  }

  @keyframes dhm-menu-fade {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* Mobile fixed header */
@media (max-width: 980px) {
  body {
    padding-top: 78px !important;
  }

  #dhm-site-header,
  .dhm-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
  }

  #dhm-site-header .dhm-header-wrap,
  .dhm-site-header .dhm-header-wrap {
    width: 100% !important;
    max-width: 100vw !important;
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
    padding: 12px 14px !important;
    gap: 10px !important;
  }

  #dhm-site-header .dhm-logo,
  .dhm-site-header .dhm-logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #dhm-site-header .dhm-logo-img,
  .dhm-site-header .dhm-logo-img {
    height: 44px !important;
    max-width: calc(100vw - 140px) !important;
  }

  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    min-width: 106px !important;
    height: 46px !important;
    padding: 0 13px !important;
    gap: 9px !important;
  }

  .dhm-mobile-menu-overlay {
    padding: 14px 12px 18px !important;
  }

  .dhm-mobile-menu-panel {
    width: 100% !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 auto !important;
    padding: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 22px !important;
    background:
      radial-gradient(circle at 14% 18%, rgba(54,214,255,0.22), transparent 34%),
      linear-gradient(135deg, #021d38 0%, #052b4f 48%, #075f9f 100%) !important;
    box-shadow: 0 24px 60px rgba(2,29,56,0.38) !important;
    overflow-x: hidden !important;
  }
}

/* Close button inside dropdown */
.dhm-menu-close {
  align-self: flex-end !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}

.dhm-menu-close:hover {
  background: rgba(255,255,255,0.18) !important;
  transform: scale(1.05) !important;
}

/* Shared dropdown link styles */
.dhm-mobile-menu-panel a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 13px 14px !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,0.96) !important;
  background: rgba(255,255,255,0.08) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
  box-shadow: none !important;
}

.dhm-mobile-menu-panel a:hover {
  background: rgba(255,255,255,0.13) !important;
}

@media (max-width: 420px) {
  #dhm-site-header .dhm-logo-img,
  .dhm-site-header .dhm-logo-img {
    height: 40px !important;
    max-width: calc(100vw - 122px) !important;
  }

  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    min-width: 96px !important;
    height: 44px !important;
    padding: 0 11px !important;
    font-size: 14px !important;
  }

  #dhm-site-header .dhm-menu-toggle span,
  .dhm-site-header .dhm-menu-toggle span {
    width: 20px !important;
  }
}

/* =========================================================
   DHM SIMPLE MENU PANEL - CONDENSED
========================================================= */

.dhm-menu-panel-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 4px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.14) !important;
}

.dhm-menu-title {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}

.dhm-mobile-menu-panel {
  gap: 6px !important;
}

.dhm-mobile-menu-panel a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,0.96) !important;
  background: rgba(255,255,255,0.06) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
  box-shadow: none !important;
  transition: background 0.18s ease, transform 0.18s ease !important;
}

.dhm-mobile-menu-panel a:hover {
  background: rgba(255,255,255,0.13) !important;
  transform: translateX(2px) !important;
}

.dhm-menu-close {
  width: 34px !important;
  height: 34px !important;
  margin-bottom: 0 !important;
  font-size: 16px !important;
}

@media (min-width: 981px) {
  .dhm-mobile-menu-panel {
    max-width: 340px !important;
    padding: 14px !important;
  }
}

@media (max-width: 520px) {
  .dhm-mobile-menu-panel {
    padding: 14px !important;
  }
}

/* =========================================================
   MOBILE HAMBURGER ICON FIX
   Mobile shows icon-only button. Open state animates into X.
========================================================= */

@media (max-width: 980px) {
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  /* Hide desktop text label on mobile */
  #dhm-site-header .dhm-menu-toggle::after,
  .dhm-site-header .dhm-menu-toggle::after {
    content: "" !important;
    display: none !important;
  }

  /* Draw the three hamburger bars */
  #dhm-site-header .dhm-menu-toggle span,
  .dhm-site-header .dhm-menu-toggle span {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    opacity: 1 !important;
    transform-origin: center !important;
    transition:
      transform 0.22s ease,
      opacity 0.18s ease,
      background 0.18s ease !important;
  }

  #dhm-site-header .dhm-menu-toggle span:nth-child(1),
  .dhm-site-header .dhm-menu-toggle span:nth-child(1) {
    transform: translate(-50%, -8px) rotate(0deg) !important;
  }

  #dhm-site-header .dhm-menu-toggle span:nth-child(2),
  .dhm-site-header .dhm-menu-toggle span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(0deg) !important;
  }

  #dhm-site-header .dhm-menu-toggle span:nth-child(3),
  .dhm-site-header .dhm-menu-toggle span:nth-child(3) {
    transform: translate(-50%, 6px) rotate(0deg) !important;
  }

  /* Open state: turn hamburger into X */
  #dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1),
  .dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  #dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2),
  .dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
    transform: translate(-50%, -50%) scaleX(0.25) !important;
  }

  #dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3),
  .dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

/* =========================================================
   DHM FOOTER FINAL
========================================================= */

#dhm-site-footer.dhm-footer {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(54,214,255,0.18), transparent 32%),
    radial-gradient(circle at 88% 10%, rgba(255,255,255,0.08), transparent 28%),
    linear-gradient(135deg, #021d38 0%, #052b4f 52%, #075f9f 100%) !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
}

.dhm-footer-ripple {
  position: absolute;
  right: -110px;
  top: -120px;
  width: 320px;
  height: 320px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 999px;
  pointer-events: none;
}

.dhm-footer-ripple::before,
.dhm-footer-ripple::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,0.10);
}

.dhm-footer-ripple::before {
  inset: 38px;
}

.dhm-footer-ripple::after {
  inset: 78px;
}

.dhm-footer-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, 0.7fr) minmax(150px, 0.7fr) minmax(190px, 0.75fr);
  gap: clamp(22px, 4vw, 44px);
  padding: clamp(38px, 6vw, 64px) 20px 32px;
}

.dhm-footer-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.dhm-footer-logo {
  display: block;
  width: min(230px, 72vw);
  height: auto;
  filter:
    drop-shadow(0 0 6px rgba(54,214,255,0.35))
    drop-shadow(0 0 14px rgba(54,214,255,0.25));
}



.dhm-footer-column h2,
.dhm-footer-social h2 {
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.dhm-footer-column ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.dhm-footer-column li {
  margin: 0 0 9px !important;
}

.dhm-footer-column a {
  color: rgba(255,255,255,0.78) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color 0.18s ease, transform 0.18s ease !important;
}

.dhm-footer-column a:hover {
  display: inline-block;
  color: #ffffff !important;
  transform: translateX(2px);
}

.dhm-footer-social-links {
  display: grid;
  grid-template-columns: repeat(3, 46px);
  gap: 10px;
  margin: 0 0 14px;
}

.dhm-footer-social-links a {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  text-decoration: none !important;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.dhm-footer-social-links a:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.16);
  box-shadow: 0 14px 30px rgba(0,0,0,0.16);
}

.dhm-footer-social-links span {
  color: #ffffff;
  font-size: 19px;
  font-weight: 900;
  line-height: 1;
}

.dhm-footer-social-note {
  max-width: 230px;
  margin: 0 !important;
  color: rgba(255,255,255,0.72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.dhm-footer-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px 24px;
  border-top: 1px solid rgba(255,255,255,0.14);
}

.dhm-footer-bottom p {
  margin: 0 !important;
  color: rgba(255,255,255,0.68) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

@media (max-width: 980px) {
  .dhm-footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .dhm-footer-brand {
    grid-column: 1 / -1;
  }

  .dhm-footer-social-links {
    grid-template-columns: repeat(3, 46px);
  }
}

@media (max-width: 640px) {
  .dhm-footer-main {
    grid-template-columns: 1fr;
    padding-top: 38px;
  }

  .dhm-footer-logo {
    width: min(210px, 78vw);
  }

  .dhm-footer-column li {
    margin-bottom: 7px !important;
  }

  .dhm-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 22px;
  }
}

/* Footer refinement: centered social block + lighter links */
.dhm-footer-social {
  text-align: center !important;
}

.dhm-footer-social h2 {
  text-align: center !important;
}

.dhm-footer-social-links {
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.dhm-footer-social-note {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.dhm-footer-column a {
  font-weight: 600 !important;
}

/* =========================================================
   DHM FOOTER TRUE CENTER FIX
   Forces brand/logo/tagline and socials onto exact shared center axes.
========================================================= */

#dhm-site-footer .dhm-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  width: 100% !important;
}

#dhm-site-footer .dhm-footer-logo-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  text-align: center !important;
}

#dhm-site-footer .dhm-footer-logo {
  display: block !important;
  width: min(230px, 72vw) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

#dhm-site-footer .dhm-footer-social {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  width: 100% !important;
}

#dhm-site-footer .dhm-footer-social h2 {
  width: 100% !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  text-align: center !important;
}

#dhm-site-footer .dhm-footer-social-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  gap: 10px !important;
}

#dhm-site-footer .dhm-footer-social-links a {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
}

#dhm-site-footer .dhm-footer-social-note {
  display: block !important;
  width: 100% !important;
  max-width: 230px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

/* Mobile still keeps sections centered and divided */
@media (max-width: 640px) {
  #dhm-site-footer .dhm-footer-main {
    gap: 0 !important;
  }

  #dhm-site-footer .dhm-footer-brand,
  #dhm-site-footer .dhm-footer-column,
  #dhm-site-footer .dhm-footer-social {
    text-align: center !important;
    padding: 22px 0 !important;
  }

  #dhm-site-footer .dhm-footer-brand {
    padding-top: 0 !important;
  }

  #dhm-site-footer .dhm-footer-column,
  #dhm-site-footer .dhm-footer-social {
    border-top: 1px solid rgba(255,255,255,0.14) !important;
  }

  #dhm-site-footer .dhm-footer-column h2,
  #dhm-site-footer .dhm-footer-social h2 {
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-column ul {
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-column li,
  #dhm-site-footer .dhm-footer-column a {
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-bottom {
    align-items: center !important;
    text-align: center !important;
  }
}

@media (min-width: 641px) {
  #dhm-site-footer .dhm-footer-column,
  #dhm-site-footer .dhm-footer-social {
    position: relative !important;
  }

  #dhm-site-footer .dhm-footer-column::before,
  #dhm-site-footer .dhm-footer-social::before {
    content: "" !important;
    position: absolute !important;
    left: calc(clamp(22px, 4vw, 44px) / -2) !important;
    top: 6px !important;
    bottom: 6px !important;
    width: 1px !important;
    background: rgba(255,255,255,0.12) !important;
  }
}



/* Footer brand alignment update */
#dhm-site-footer .dhm-footer-brand {
  align-items: flex-start !important;
  text-align: left !important;
}

#dhm-site-footer .dhm-footer-logo-link {
  justify-content: flex-start !important;
  margin: 0 0 14px 0 !important;
}

/* Keep mobile centered */
@media (max-width: 640px) {
  #dhm-site-footer .dhm-footer-brand {
    align-items: center !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-logo-link {
    justify-content: center !important;
    margin: 0 auto 10px !important;
  }
}

/* ===== Final header polish: lighter left gradient, blue border and shadow ===== */
#dhm-site-header,
.dhm-site-header {
  background:
    radial-gradient(circle at 10% 18%, rgba(255, 255, 255, 0.54), transparent 30%),
    radial-gradient(circle at 0% 52%, rgba(191, 243, 255, 0.68), transparent 38%),
    linear-gradient(135deg, #9feeff 0%, #38cfff 26%, #0aa7df 52%, #075f9f 76%, #052b4f 100%) !important;
  border-bottom: 3px solid #8fe9ff !important;
  box-shadow:
    0 3px 0 rgba(255, 255, 255, 0.24),
    0 16px 34px rgba(5, 43, 79, 0.26),
    0 0 24px rgba(54, 214, 255, 0.22) !important;
}

/* =========================================================
   DAZZLE GLOBAL HERO BAR - SOURCE OF TRUTH
   Copied from the working homepage/includes hero implementation.
   Do not import /assets/css/hero.css from page stylesheets.
========================================================= */
/* =========================================================
   GLOBAL EYEBROW STYLE
========================================================= */

.dhm-eyebrow {
  display: inline-flex !important;
  margin: 0 0 18px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  opacity: 0.75 !important;
  backdrop-filter: blur(8px) !important;
}

.dhm-eyebrow--light {
  border: 1px solid rgba(255,255,255,0.28) !important;
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.90) !important;
}

.dhm-eyebrow--dark {
  border: 1px solid rgba(7,95,159,0.18) !important;
  background: rgba(10,167,223,0.10) !important;
  color: var(--dhm-blue) !important;
}

/* =========================================================
   HOME PAGE HERO
========================================================= */

.dhm-home-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(620px, 78vh, 820px);
  display: flex;
  align-items: center;
  padding: clamp(76px, 8vw, 124px) 20px;
  color: #ffffff;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.30), transparent 26%),
    radial-gradient(circle at 78% 28%, rgba(54,214,255,0.34), transparent 34%),
    linear-gradient(135deg, #0a7fc5 0%, #10b7ec 45%, #74ddff 100%);
}

.dhm-home-hero::before {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  opacity: 0.32;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle at 15% 30%, rgba(255,255,255,0.22), transparent 16%),
    radial-gradient(circle at 65% 20%, rgba(255,255,255,0.16), transparent 18%),
    radial-gradient(circle at 85% 70%, rgba(255,255,255,0.18), transparent 20%),
    radial-gradient(circle at 35% 82%, rgba(255,255,255,0.14), transparent 17%);
  animation: dhm-home-water-shimmer 18s ease-in-out infinite alternate;
}

.dhm-home-hero__grid {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.85fr);
  gap: clamp(30px, 5vw, 64px);
  align-items: center;
}

.dhm-home-hero__copy {
  max-width: 790px;
}



.dhm-home-hero h1 {
  margin: 0 0 22px;
  max-width: 850px;
  color: #ffffff;
  font-size: clamp(44px, 6vw, 84px);
  line-height: 0.98;
  letter-spacing: -0.06em;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.25),
    0 8px 18px rgba(0,0,0,0.35),
    0 14px 38px rgba(0,0,0,0.38);
}

.dhm-home-hero h1 span {
  display: block;
  color: #ffffff;
  filter:
    drop-shadow(0 0 8px rgba(54,214,255,0.28))
    drop-shadow(0 10px 26px rgba(0,0,0,0.24));
}

.dhm-home-hero__text {
  margin: 0 0 30px;
  max-width: 690px;
  color: rgba(255,255,255,0.94);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.55;
  text-shadow:
    0 2px 4px rgba(0,0,0,0.24),
    0 6px 14px rgba(0,0,0,0.24);
}

.dhm-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.dhm-home-hero__visual {
  position: relative;
}

.dhm-home-hero__image-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.36);
  border-radius: 32px;
  background: rgba(255,255,255,0.20);
  box-shadow:
    0 0 calc(var(--s) * 1.4) rgba(255,255,255,0.85),
    0 0 calc(var(--s) * 2.6) rgba(180,245,255,0.55);
  backdrop-filter: blur(10px);
}

.dhm-home-hero__image-card::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 0;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,0.95), rgba(255,255,255,0.55) 45%, rgba(255,255,255,0.28) 100%);
  box-shadow:
    0 0 calc(var(--s) * 1.4) rgba(255,255,255,0.85),
    0 0 calc(var(--s) * 2.6) rgba(180,245,255,0.55);
}

.dhm-home-hero__image-card img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  min-height: 360px;
  object-fit: contain;
  filter: drop-shadow(0 28px 34px rgba(5,43,79,0.22));
}

.dhm-home-hero__ripples {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
  mix-blend-mode: screen;
}

.dhm-home-hero__ripples span {
  position: absolute;
  width: var(--size);
  height: var(--size);
  left: var(--left);
  top: var(--top);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,var(--opacity));
  transform: translate(-50%, -50%) scale(0.2);
  opacity: 0;
  animation: dhm-home-ripple var(--duration) cubic-bezier(.16,.7,.28,1) infinite;
  animation-delay: var(--delay);
}

.dhm-home-hero__ripples span:nth-child(1) { --left: 8%; --top: 22%; --size: 36px; --opacity: .44; --duration: 8s; --delay: -1s; }
.dhm-home-hero__ripples span:nth-child(2) { --left: 18%; --top: 54%; --size: 58px; --opacity: .28; --duration: 10s; --delay: -4s; }
.dhm-home-hero__ripples span:nth-child(3) { --left: 31%; --top: 18%; --size: 42px; --opacity: .40; --duration: 9s; --delay: -6s; }
.dhm-home-hero__ripples span:nth-child(4) { --left: 46%; --top: 74%; --size: 62px; --opacity: .24; --duration: 12s; --delay: -3s; }
.dhm-home-hero__ripples span:nth-child(5) { --left: 60%; --top: 24%; --size: 36px; --opacity: .42; --duration: 8s; --delay: -5s; }
.dhm-home-hero__ripples span:nth-child(6) { --left: 72%; --top: 50%; --size: 68px; --opacity: .22; --duration: 11s; --delay: -7s; }
.dhm-home-hero__ripples span:nth-child(7) { --left: 88%; --top: 20%; --size: 32px; --opacity: .48; --duration: 7s; --delay: -2s; }
.dhm-home-hero__ripples span:nth-child(8) { --left: 92%; --top: 78%; --size: 54px; --opacity: .30; --duration: 10s; --delay: -8s; }
.dhm-home-hero__ripples span:nth-child(9) { --left: 12%; --top: 82%; --size: 42px; --opacity: .36; --duration: 9s; --delay: -6s; }
.dhm-home-hero__ripples span:nth-child(10) { --left: 52%; --top: 12%; --size: 28px; --opacity: .52; --duration: 7s; --delay: -4s; }
.dhm-home-hero__ripples span:nth-child(11) { --left: 36%; --top: 42%; --size: 50px; --opacity: .28; --duration: 10s; --delay: -9s; }
.dhm-home-hero__ripples span:nth-child(12) { --left: 68%; --top: 84%; --size: 40px; --opacity: .34; --duration: 8s; --delay: -5s; }
.dhm-home-hero__ripples span:nth-child(13) { --left: 80%; --top: 66%; --size: 30px; --opacity: .44; --duration: 7s; --delay: -1s; }
.dhm-home-hero__ripples span:nth-child(14) { --left: 24%; --top: 68%; --size: 70px; --opacity: .20; --duration: 12s; --delay: -7s; }

@keyframes dhm-home-ripple {
  0% {
    transform: translate(-50%, -50%) scale(0.08);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  70% {
    opacity: 0.22;
  }

  100% {
    transform: translate(-50%, -50%) scale(7);
    opacity: 0;
  }
}

@keyframes dhm-home-water-shimmer {
  0% { transform: translate3d(-2%, -1%, 0) scale(1.02); opacity: 0.28; }
  50% { transform: translate3d(2%, 1%, 0) scale(1.07); opacity: 0.42; }
  100% { transform: translate3d(-1%, 2%, 0) scale(1.04); opacity: 0.34; }
}

@media (max-width: 980px) {
  .dhm-home-hero {
    min-height: auto;
    padding: 86px 16px 64px;
  }

  .dhm-home-hero__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .dhm-home-hero__copy,
  .dhm-home-hero__text {
    margin-left: auto;
    margin-right: auto;
  }

  

  .dhm-home-hero__actions {
    justify-content: center;
  }

  .dhm-home-hero__visual {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 720px) {
  .dhm-home-hero {
    padding: 78px 16px 52px;
  }

  .dhm-home-hero h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .dhm-home-hero__actions {
    flex-direction: column;
    align-items: center;
  }

  .dhm-home-hero__actions .dhm-btn {
    width: min(100%, 320px);
  }

  .dhm-home-hero__image-card img {
    min-height: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dhm-home-hero::before,
  .dhm-home-hero__ripples span {
    animation: none;
  }
}


/* HERO IMAGE FALLBACK */
.dhm-home-hero__image-card img[src$="dazzle-hero-product.png"] {
  min-height: 360px;
}

.dhm-home-hero__image-card img {
  color: transparent;
}

.dhm-home-hero__image-card img:not([src]),
.dhm-home-hero__image-card img[src=""] {
  display: none;
}

/* Current hero sparkle layering */
.dhm-home-hero {
  position: relative !important;
  overflow: hidden !important;
}

.dhm-home-ripples,
.dhm-home-hero__ripples {
  z-index: 1 !important;
}

.dhm-home-sparkles {
  z-index: 2 !important;
}

.dhm-home-hero__grid {
  position: relative !important;
  z-index: 4 !important;
}


/* Clearly visible floating sparkle layer */
    .dhm-home-sparkles {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      overflow: hidden;
    }

    .dhm-home-sparkle {
      position: absolute;
      left: var(--x);
      top: var(--y);
      width: var(--s);
      height: var(--s);
      border-radius: 50%;
      background: #ffffff;
      opacity: 0;
      box-shadow:
        0 0 8px rgba(255,255,255,0.95),
        0 0 18px rgba(255,255,255,0.65),
        0 0 34px rgba(255,255,255,0.35);
      animation:
        dhm-visible-sparkle var(--dur) ease-in-out infinite,
        dhm-visible-sparkle-drift calc(var(--dur) * 2.2) ease-in-out infinite alternate;
      animation-delay: var(--delay), var(--delay);
    }

    .dhm-home-sparkle::before,
    .dhm-home-sparkle::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      background: rgba(255,255,255,0.85);
      border-radius: 999px;
      opacity: 0;
      animation: dhm-visible-sparkle-cross var(--dur) ease-in-out infinite;
      animation-delay: var(--delay);
    }

    .dhm-home-sparkle::before {
      width: calc(var(--s) * 4);
      height: 1px;
    }

    .dhm-home-sparkle::after {
      width: 1px;
      height: calc(var(--s) * 4);
    }

    @keyframes dhm-visible-sparkle {
      0%, 100% {
        opacity: 0;
        transform: translate(0, 0) scale(0.4);
      }

      18% {
        opacity: 0.95;
        transform: translate(calc(var(--dx) * .25), calc(var(--dy) * .25)) scale(1.35);
      }

      40% {
        opacity: 0.45;
        transform: translate(calc(var(--dx) * .55), calc(var(--dy) * .55)) scale(0.85);
      }

      62% {
        opacity: 0.9;
        transform: translate(calc(var(--dx) * .8), calc(var(--dy) * .8)) scale(1.12);
      }

      82% {
        opacity: 0.12;
        transform: translate(var(--dx), var(--dy)) scale(0.55);
      }
    }

    @keyframes dhm-visible-sparkle-cross {
      0%, 100% { opacity: 0; }
      18% { opacity: 0.8; }
      40% { opacity: 0.22; }
      62% { opacity: 0.55; }
      82% { opacity: 0; }
    }

    @keyframes dhm-visible-sparkle-drift {
      0% { margin-left: calc(var(--dx) * -0.35); margin-top: calc(var(--dy) * -0.25); }
      50% { margin-left: calc(var(--dx) * 0.45); margin-top: calc(var(--dy) * 0.55); }
      100% { margin-left: calc(var(--dx) * 0.85); margin-top: calc(var(--dy) * -0.15); }
    }

/* Dim sparkles mainly where the headline lives, keep them brighter elsewhere */
    .dhm-home-hero .dhm-home-sparkles::before {
      content: "";
      position: absolute;
      z-index: 2;
      left: 0;
      top: 0;
      width: min(68%, 860px);
      height: 68%;
      pointer-events: none;
      background:
        radial-gradient(
          ellipse at 34% 42%,
          rgba(10, 103, 160, 0.38) 0%,
          rgba(10, 103, 160, 0.24) 34%,
          rgba(10, 103, 160, 0.10) 58%,
          transparent 76%
        );
      backdrop-filter: none;
    }

    .dhm-home-hero .dhm-home-sparkle {
      box-shadow:
        0 0 6px rgba(255,255,255,0.70),
        0 0 12px rgba(255,255,255,0.38),
        0 0 22px rgba(255,255,255,0.18);
    }

    @media (max-width: 980px) {
      .dhm-home-hero .dhm-home-sparkles::before {
        width: 100%;
        height: 54%;
        background:
          radial-gradient(
            ellipse at 45% 42%,
            rgba(10, 103, 160, 0.34) 0%,
            rgba(10, 103, 160, 0.22) 36%,
            rgba(10, 103, 160, 0.08) 60%,
            transparent 78%
          );
      }
    }


/* Compatibility: support old standalone hero class names too */
.dhm-hero .dhm-sparkles {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.dhm-hero .dhm-sparkle {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  border-radius: 50%;
  background: #ffffff;
  opacity: 0;
  box-shadow:
    0 0 6px rgba(255,255,255,0.70),
    0 0 12px rgba(255,255,255,0.38),
    0 0 22px rgba(255,255,255,0.18);
  animation:
    dhm-visible-sparkle var(--dur) ease-in-out infinite,
    dhm-visible-sparkle-drift calc(var(--dur) * 2.2) ease-in-out infinite alternate;
  animation-delay: var(--delay), var(--delay);
}

.dhm-hero .dhm-sparkle::before,
.dhm-hero .dhm-sparkle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255,255,255,0.85);
  border-radius: 999px;
  opacity: 0;
  animation: dhm-visible-sparkle-cross var(--dur) ease-in-out infinite;
  animation-delay: var(--delay);
}

.dhm-hero .dhm-sparkle::before {
  width: calc(var(--s) * 4);
  height: 1px;
}

.dhm-hero .dhm-sparkle::after {
  width: 1px;
  height: calc(var(--s) * 4);
}
/* =========================================================
   FINAL FIX: VISIBLE STAR GLINTS, NO CIRCLE DOTS
   Keep the sparkle parent visible; hide only the circular fill.
========================================================= */

.dhm-home-sparkles {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}

.dhm-home-sparkle {
  position: absolute !important;
  left: var(--x) !important;
  top: var(--y) !important;
  width: var(--s) !important;
  height: var(--s) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
  animation: dhm-star-glint-drift calc(var(--dur) * 2.2) ease-in-out infinite alternate !important;
  animation-delay: var(--delay) !important;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,0.78))
    drop-shadow(0 0 10px rgba(180,245,255,0.38)) !important;
}

.dhm-home-sparkle::before,
.dhm-home-sparkle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  border-radius: 999px !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.28) rotate(0deg) !important;
  background: rgba(255,255,255,0.98) !important;
  box-shadow:
    0 0 4px rgba(255,255,255,0.9),
    0 0 10px rgba(190,245,255,0.58) !important;
  animation: dhm-star-glint-ray var(--dur) ease-in-out infinite !important;
  animation-delay: var(--delay) !important;
}

.dhm-home-sparkle::before {
  width: calc(var(--s) * 4.8) !important;
  height: 1px !important;
}

.dhm-home-sparkle::after {
  width: 1px !important;
  height: calc(var(--s) * 4.8) !important;
}

@keyframes dhm-star-glint-ray {
  0%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.22) rotate(-8deg);
  }

  15% {
    opacity: 0.16;
  }

  22% {
    opacity: 0.96;
    transform: translate(-50%, -50%) scale(1.24) rotate(10deg);
  }

  34% {
    opacity: 0.20;
    transform: translate(-50%, -50%) scale(0.52) rotate(-4deg);
  }

  56% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1.02) rotate(8deg);
  }

  76% {
    opacity: 0.08;
    transform: translate(-50%, -50%) scale(0.42) rotate(0deg);
  }
}

@keyframes dhm-star-glint-drift {
  0% {
    margin-left: calc(var(--dx) * -0.35);
    margin-top: calc(var(--dy) * -0.25);
  }

  50% {
    margin-left: calc(var(--dx) * 0.45);
    margin-top: calc(var(--dy) * 0.55);
  }

  100% {
    margin-left: calc(var(--dx) * 0.85);
    margin-top: calc(var(--dy) * -0.15);
  }
}

/* =========================================================
   FINAL FIX: sparkle parents invisible, only star rays visible
   Removes white square/circle bodies while preserving pseudo-element glints.
========================================================= */

.dhm-home-sparkle,
.dhm-hero .dhm-sparkle {
  background: transparent !important;
  color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  /* Keep a tiny positioning box so pseudo-elements can render from its centre */
  width: var(--s) !important;
  height: var(--s) !important;

  /* IMPORTANT: do not use opacity here, it hides ::before/::after too */
  opacity: 1 !important;
  overflow: visible !important;
}

/* Hide any accidental child/core spans */
.dhm-home-sparkle > *,
.dhm-hero .dhm-sparkle > * {
  display: none !important;
}

/* Horizontal star ray */
.dhm-home-sparkle::before,
.dhm-hero .dhm-sparkle::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: calc(var(--s) * 4.8) !important;
  height: 1px !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,255,255,0) 14%,
      rgba(255,255,255,0.88) 48%,
      rgba(255,255,255,1) 50%,
      rgba(255,255,255,0.88) 52%,
      rgba(255,255,255,0) 86%,
      transparent 100%
    ) !important;
  box-shadow:
    0 0 4px rgba(255,255,255,0.72),
    0 0 9px rgba(190,245,255,0.42) !important;
  animation: dhm-visible-sparkle-cross var(--dur) ease-in-out infinite !important;
  animation-delay: var(--delay) !important;
}

/* Vertical star ray */
.dhm-home-sparkle::after,
.dhm-hero .dhm-sparkle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 1px !important;
  height: calc(var(--s) * 4.8) !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(255,255,255,0) 14%,
      rgba(255,255,255,0.82) 48%,
      rgba(255,255,255,1) 50%,
      rgba(255,255,255,0.82) 52%,
      rgba(255,255,255,0) 86%,
      transparent 100%
    ) !important;
  box-shadow:
    0 0 4px rgba(255,255,255,0.68),
    0 0 8px rgba(190,245,255,0.38) !important;
  animation: dhm-visible-sparkle-cross var(--dur) ease-in-out infinite !important;
  animation-delay: var(--delay) !important;
}

@keyframes dhm-visible-sparkle-cross {
  0%, 100% {
    opacity: 0;
  }

  16% {
    opacity: 0;
  }

  22% {
    opacity: 0.95;
  }

  34% {
    opacity: 0.18;
  }

  48% {
    opacity: 0.72;
  }

  64% {
    opacity: 0.10;
  }
}

/* =========================================================
   CLUSTERED HERO SPARKLE TUNING
   More sparkles, varied sizes, larger glints, clustered water highlights.
========================================================= */

.dhm-home-sparkles {
  opacity: 1 !important;
  mix-blend-mode: screen !important;
}

.dhm-home-sparkle::before,
.dhm-hero .dhm-sparkle::before {
  width: calc(var(--s) * 9.5) !important;
  height: max(2px, calc(var(--s) * 0.18)) !important;
  box-shadow:
    0 0 calc(var(--s) * 0.9) rgba(255,255,255,0.72),
    0 0 calc(var(--s) * 1.65) rgba(190,245,255,0.44) !important;
}

.dhm-home-sparkle::after,
.dhm-hero .dhm-sparkle::after {
  width: max(2px, calc(var(--s) * 0.18)) !important;
  height: calc(var(--s) * 9.5) !important;
  box-shadow:
    0 0 calc(var(--s) * 0.85) rgba(255,255,255,0.68),
    0 0 calc(var(--s) * 1.45) rgba(190,245,255,0.38) !important;
}

/* Bigger glints should feel brighter, not blocky. */
.dhm-home-sparkle[style*="--s:10px"],
.dhm-home-sparkle[style*="--s:12px"] {
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,0.72))
    drop-shadow(0 0 12px rgba(180,245,255,0.42)) !important;
}

/* Make the cluster sparkle rhythm feel busier and more alive. */
@keyframes dhm-visible-sparkle-cross {
  0%, 100% { opacity: 0; }
  10% { opacity: 0; }
  18% { opacity: 0.95; }
  26% { opacity: 0.18; }
  38% { opacity: 0.76; }
  48% { opacity: 0.12; }
  62% { opacity: 0.58; }
  74% { opacity: 0.08; }
}


/* EXTRA SCALE FOR BIG SPARKLES */
.dhm-home-sparkle[style*="--s:8px"],
.dhm-home-sparkle[style*="--s:10px"],
.dhm-home-sparkle[style*="--s:12px"] {
  transform: scale(1.6) !important;
}

/* Desktop: gently mute sparkles over copy area so headline stays readable. */
@media (min-width: 981px) {
  .dhm-home-hero .dhm-home-sparkles::before {
    content: "";
    position: absolute;
    z-index: 4;
    left: 0;
    top: 0;
    width: 58%;
    height: 72%;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse at 34% 42%,
        rgba(6, 63, 111, 0.28) 0%,
        rgba(6, 63, 111, 0.18) 36%,
        rgba(6, 63, 111, 0.06) 62%,
        transparent 78%
      );
  }
}

/* Mobile: keep the large glints higher and softer so they don't crowd text. */
@media (max-width: 980px) {
  .dhm-home-hero .dhm-hero-glint {
    transform: scale(0.78) !important;
  }

  .dhm-home-hero .dhm-home-sparkles::before {
    content: "";
    position: absolute;
    z-index: 4;
    left: 0;
    top: 0;
    width: 100%;
    height: 56%;
    pointer-events: none;
    background:
      radial-gradient(
        ellipse at 50% 38%,
        rgba(6, 63, 111, 0.22) 0%,
        rgba(6, 63, 111, 0.12) 42%,
        transparent 78%
      );
  }
}



/* =========================================================
   VISIBLE HERO LENS GLINTS
   Separate oversized glint layer. Does not rely on old sparkle variables.
========================================================= */

.dhm-home-hero {
  position: relative !important;
  overflow: hidden !important;
}

.dhm-hero-lens-glints {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}

.dhm-hero-lens-glint {
  position: absolute !important;
  left: var(--x) !important;
  top: var(--y) !important;
  width: var(--w) !important;
  height: var(--h) !important;
  transform: translate(-50%, -50%) rotate(var(--r)) scale(0.78) !important;
  opacity: 0.68 !important;
  filter:
    drop-shadow(0 0 14px rgba(255,255,255,0.95))
    drop-shadow(0 0 42px rgba(180,245,255,0.72))
    drop-shadow(0 0 90px rgba(54,214,255,0.48)) !important;
  animation: dhm-visible-lens-glint 5.8s ease-in-out infinite !important;
  animation-delay: var(--d) !important;
}

.dhm-hero-lens-glint::before,
.dhm-hero-lens-glint::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0) 15%, rgba(255,255,255,0.92) 48%, #fff 50%, rgba(255,255,255,0.92) 52%, rgba(255,255,255,0) 85%, transparent 100%) !important;
  box-shadow:
    0 0 12px rgba(255,255,255,0.92),
    0 0 34px rgba(180,245,255,0.66),
    0 0 70px rgba(54,214,255,0.42) !important;
}

.dhm-hero-lens-glint::before {
  width: 100% !important;
  height: 7px !important;
}

.dhm-hero-lens-glint::after {
  width: 7px !important;
  height: 100% !important;
  background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,0) 15%, rgba(255,255,255,0.88) 48%, #fff 50%, rgba(255,255,255,0.88) 52%, rgba(255,255,255,0) 85%, transparent 100%) !important;
}

.dhm-hero-lens-glint-xl::before {
  height: 9px !important;
}

.dhm-hero-lens-glint-xl::after {
  width: 9px !important;
}

.dhm-hero-lens-glint::marker {
  display: none !important;
}

@keyframes dhm-visible-lens-glint {
  0%, 100% {
    opacity: 0.18;
    transform: translate(-50%, -50%) rotate(var(--r)) scale(0.48);
  }
  22% {
    opacity: 0.92;
    transform: translate(-50%, -50%) rotate(calc(var(--r) + 7deg)) scale(0.95);
  }
  42% {
    opacity: 0.36;
    transform: translate(-50%, -50%) rotate(calc(var(--r) - 4deg)) scale(0.66);
  }
  62% {
    opacity: 0.82;
    transform: translate(-50%, -50%) rotate(calc(var(--r) + 3deg)) scale(0.86);
  }
  78% {
    opacity: 0.22;
    transform: translate(-50%, -50%) rotate(var(--r)) scale(0.54);
  }
}

/* Keep content above the lens glints. */
.dhm-home-hero__grid {
  position: relative !important;
  z-index: 5 !important;
}

@media (max-width: 980px) {
  .dhm-hero-lens-glint {
    width: calc(var(--w) * 0.62) !important;
    height: calc(var(--h) * 0.62) !important;
    opacity: 0.48 !important;
  }
}

/* =========================================================
   BULLETPROOF INLINE HERO SPARKLES
   Uses /assets/images/stars.png and direct #sparkle-layer target.
========================================================= */

.dhm-home-hero,
.dhm-hero,
#dhm-hero-section {
  position: relative !important;
  overflow: hidden !important;
}

#sparkle-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 9999 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}

.dhm-home-hero__grid,
.dhm-hero-grid {
  position: relative !important;
  z-index: 10000 !important;
}

.sparkle {
  position: absolute !important;
  background: url('/assets/images/stars.png') no-repeat center !important;
  background-size: contain !important;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.3);
  animation: sparklePop ease-in-out infinite;
  filter:
    brightness(2.5)
    drop-shadow(0 0 12px rgba(255,255,255,1))
    drop-shadow(0 0 30px rgba(180,245,255,1))
    drop-shadow(0 0 60px rgba(54,214,255,0.8)) !important;
  will-change: opacity, transform;
}

@keyframes sparklePop {
  0%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.2);
  }

  40% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  60% {
    opacity: 0.4;
    transform: translate(-50%, -50%) scale(0.7);
  }
}

/* Smaller clustered sparkle accents */
.sparkle--cluster {
  filter:
    brightness(2.7)
    drop-shadow(0 0 8px rgba(255,255,255,1))
    drop-shadow(0 0 18px rgba(180,245,255,0.9))
    drop-shadow(0 0 32px rgba(54,214,255,0.65)) !important;
}



/* keep body text natural */
.dhm-home-hero p {
  letter-spacing: 0.005em;
}

/* HERO HEADER TEXT SPACING RESET */
.dhm-home-hero h1,
.dhm-home-hero h2,
.dhm-home-hero h3,
.dhm-home-hero p {
  letter-spacing: normal !important;
}

/* =========================================================
   HERO PRODUCT IMAGE COVER FIX
   Makes the hero image fill the full card/box instead of containing with gaps.
========================================================= */

.dhm-home-hero__visual {
  align-self: stretch !important;
  display: flex !important;
  align-items: stretch !important;
}

.dhm-home-hero__image-card {
  position: relative !important;
  width: 100% !important;
  min-height: clamp(320px, 36vw, 500px) !important;
  aspect-ratio: 4 / 5 !important;

  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

.dhm-home-hero__image-card::before {
  display: none !important;
}

.dhm-home-hero__image-card img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  filter: none !important;
}

@media (max-width: 980px) {
  .dhm-home-hero__visual {
    align-self: auto !important;
    display: block !important;
  }

  .dhm-home-hero__image-card {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    min-height: 280px !important;
    aspect-ratio: 16 / 10 !important;
  }

  .dhm-home-hero__image-card img {
    object-position: center center !important;
  }
}

/* =========================================================
   HERO MOBILE WIDTH FIX
   Prevents hero content, image card, and sparkle layers from exceeding viewport width.
========================================================= */

.dhm-home-hero {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.dhm-home-hero *,
.dhm-home-hero *::before,
.dhm-home-hero *::after {
  box-sizing: border-box !important;
}

.dhm-home-hero__grid {
  width: min(100%, var(--dhm-wrap, 1180px)) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}

.dhm-home-hero__copy,
.dhm-home-hero__visual,
.dhm-home-hero__image-card,
.dhm-home-hero__actions {
  min-width: 0 !important;
  max-width: 100% !important;
}

.dhm-home-sparkles,
.dhm-home-hero__ripples,
#sparkle-layer {
  max-width: 100vw !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  .dhm-home-hero {
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow-x: clip !important;
  }

  .dhm-home-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 28px !important;
  }

  .dhm-home-hero__copy,
  .dhm-home-hero__visual {
    width: 100% !important;
    max-width: 100% !important;
  }

  .dhm-home-hero__image-card {
    width: 100% !important;
    max-width: min(100%, 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .dhm-home-hero__actions {
    width: 100% !important;
  }
}

@media (max-width: 720px) {
  .dhm-home-hero {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .dhm-home-hero h1,
  .dhm-home-hero__text {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .dhm-home-hero__actions .dhm-btn {
    max-width: 100% !important;
  }
}

/* =========================================================
   HERO MOBILE PERFORMANCE FIX
   Reduces animation/compositing load on mobile scrolling.
========================================================= */

@media (max-width: 980px) {
  .dhm-home-hero::before,
  .dhm-home-hero__ripples,
  .dhm-home-sparkles,
  .dhm-hero-lens-glints {
    display: none !important;
  }

  #sparkle-layer {
    mix-blend-mode: normal !important;
    z-index: 3 !important;
    contain: layout paint !important;
  }

  .sparkle {
    filter:
      brightness(1.8)
      drop-shadow(0 0 8px rgba(255,255,255,0.75))
      drop-shadow(0 0 16px rgba(180,245,255,0.45)) !important;
    will-change: opacity, transform !important;
  }

  .dhm-home-hero__grid {
    z-index: 4 !important;
  }

  .dhm-home-hero__image-card,
  .dhm-home-hero__image-card::before,
  .dhm-home-hero__image-card img {
    backdrop-filter: none !important;
    filter: none !important;
  }
}

@media (max-width: 720px) {
  .sparkle {
    filter: brightness(1.7) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dhm-home-hero::before,
  .dhm-home-hero__ripples,
  .dhm-home-sparkles,
  #sparkle-layer {
    display: none !important;
  }
}

/* =========================================================
   HERO MOBILE SPARKLE DIMMING + COMPACT HERO
   Sparkles still appear everywhere, but are dimmed around mobile text.
========================================================= */

/* Keep hero less tall */
.dhm-home-hero {
  min-height: clamp(520px, 66vh, 700px) !important;
  padding-top: clamp(52px, 6vw, 84px) !important;
  padding-bottom: clamp(44px, 5.5vw, 76px) !important;
}

/* Keep heading spacing natural/tight */
.dhm-home-hero h1,
.dhm-home-hero h1 span {
  letter-spacing: -0.035em !important;
}

.dhm-home-hero h2,
.dhm-home-hero h3 {
  letter-spacing: -0.02em !important;
}

.dhm-home-hero__text,
.dhm-home-hero p {
  letter-spacing: normal !important;
}

@media (max-width: 980px) {
  .dhm-home-hero {
    min-height: auto !important;
    padding-top: 58px !important;
    padding-bottom: 42px !important;
  }

  .dhm-home-hero h1,
  .dhm-home-hero h1 span {
    letter-spacing: -0.03em !important;
  }

  /*
    Mobile text dimming mask.
    This does NOT stop sparkles spawning over text.
    It simply darkens that text area so sparkles read roughly 50% less bright.
  */
  #sparkle-layer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    background:
      linear-gradient(
        to bottom,
        rgba(10, 103, 160, 0.50) 0%,
        rgba(10, 103, 160, 0.42) 34%,
        rgba(10, 103, 160, 0.18) 55%,
        transparent 76%
      );
  }

  .sparkle {
    filter:
      brightness(1.25)
      drop-shadow(0 0 6px rgba(255,255,255,0.55))
      drop-shadow(0 0 14px rgba(180,245,255,0.32)) !important;
  }
}

@media (max-width: 720px) {
  .dhm-home-hero {
    padding-top: 48px !important;
    padding-bottom: 34px !important;
  }

  .dhm-home-hero h1 {
    line-height: 1.02 !important;
  }
}

/* =========================================================
   HERO IMAGE WHITE BORDER + MOBILE SPARKLE BALANCE
========================================================= */

.dhm-home-hero__image-card {
  border: 25px solid #ffffff !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow:
    0 22px 55px rgba(5,43,79,0.22),
    0 0 34px rgba(255,255,255,0.34) !important;
}

.dhm-home-hero__image-card img {
  border-radius: 10px !important;
}

@media (max-width: 720px) {
  .dhm-home-hero__image-card {
    border-width: 18px !important;
    border-radius: 30px !important;
  }
}

/* =========================================================
   RESTORE HERO CIRCULAR RIPPLES + BIGGER SPARKLES
========================================================= */

.dhm-home-hero__ripples {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}

.dhm-home-hero__ripples span {
  display: block !important;
  animation-play-state: running !important;
}

/* Keep ripples visible on mobile but lighter for scrolling performance */
@media (max-width: 980px) {
  .dhm-home-hero::before,
  .dhm-home-hero__ripples {
    display: block !important;
  }

  .dhm-home-hero__ripples {
    opacity: 0.42 !important;
    mix-blend-mode: normal !important;
  }

  .dhm-home-hero__ripples span {
    border-color: rgba(255,255,255,0.28) !important;
  }

  .sparkle {
    filter:
      brightness(1.55)
      drop-shadow(0 0 8px rgba(255,255,255,0.72))
      drop-shadow(0 0 18px rgba(180,245,255,0.48))
      drop-shadow(0 0 34px rgba(54,214,255,0.34)) !important;
  }

  .sparkle--cluster {
    filter:
      brightness(1.8)
      drop-shadow(0 0 7px rgba(255,255,255,0.78))
      drop-shadow(0 0 16px rgba(180,245,255,0.50)) !important;
  }
}

@media (max-width: 720px) {
  .dhm-home-hero__ripples {
    opacity: 0.34 !important;
  }
}

/* =========================================================
   MOBILE: MORE / BIGGER SPARKLES + RIPPLE RESTORE
========================================================= */

@media (max-width: 980px) {
  /* Bring circular ripple effects back on mobile */
  .dhm-home-hero__ripples,
  .dhm-home-hero__ripples span {
    display: block !important;
    visibility: visible !important;
  }

  .dhm-home-hero__ripples {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    opacity: 0.52 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    mix-blend-mode: screen !important;
  }

  .dhm-home-hero__ripples span {
    border: 1px solid rgba(255,255,255,0.34) !important;
    animation: dhm-home-ripple var(--duration) cubic-bezier(.16,.7,.28,1) infinite !important;
    animation-delay: var(--delay) !important;
  }

  /* Mobile sparkles: brighter/larger but still dimmed over text area */
  .sparkle {
    filter:
      brightness(1.75)
      drop-shadow(0 0 9px rgba(255,255,255,0.82))
      drop-shadow(0 0 20px rgba(180,245,255,0.56))
      drop-shadow(0 0 38px rgba(54,214,255,0.38)) !important;
  }

  .sparkle--cluster {
    filter:
      brightness(1.95)
      drop-shadow(0 0 8px rgba(255,255,255,0.86))
      drop-shadow(0 0 18px rgba(180,245,255,0.58))
      drop-shadow(0 0 30px rgba(54,214,255,0.34)) !important;
  }
}

@media (max-width: 720px) {
  .dhm-home-hero__ripples {
    opacity: 0.44 !important;
  }

  .dhm-home-hero__ripples span:nth-child(n+10) {
    display: none !important;
  }
}

/* =========================================================
   FINAL MOBILE RIPPLE RESTORE + SMALLER LARGE SPARKLES
========================================================= */

@media (max-width: 980px) {
  #dhm-home-hero .dhm-home-hero__ripples,
  .dhm-home-hero .dhm-home-hero__ripples {
    display: block !important;
    visibility: visible !important;
    opacity: 0.58 !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    mix-blend-mode: screen !important;
    contain: paint !important;
  }

  #dhm-home-hero .dhm-home-hero__ripples span,
  .dhm-home-hero .dhm-home-hero__ripples span {
    display: block !important;
    visibility: visible !important;
    opacity: 0 !important;
    position: absolute !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.36) !important;
    animation-name: dhm-home-ripple !important;
    animation-timing-function: cubic-bezier(.16,.7,.28,1) !important;
    animation-iteration-count: infinite !important;
    animation-duration: var(--duration) !important;
    animation-delay: var(--delay) !important;
  }

  /* Bring a useful number of ripples back on mobile. */
  #dhm-home-hero .dhm-home-hero__ripples span:nth-child(n+11),
  .dhm-home-hero .dhm-home-hero__ripples span:nth-child(n+11) {
    display: none !important;
  }

  /* Keep big mobile sparkles less overpowering after reducing JS sizes. */
  .sparkle {
    filter:
      brightness(1.6)
      drop-shadow(0 0 8px rgba(255,255,255,0.72))
      drop-shadow(0 0 17px rgba(180,245,255,0.48))
      drop-shadow(0 0 30px rgba(54,214,255,0.30)) !important;
  }
}

@media (max-width: 720px) {
  #dhm-home-hero .dhm-home-hero__ripples,
  .dhm-home-hero .dhm-home-hero__ripples {
    opacity: 0.48 !important;
  }

  #dhm-home-hero .dhm-home-hero__ripples span:nth-child(n+9),
  .dhm-home-hero .dhm-home-hero__ripples span:nth-child(n+9) {
    display: none !important;
  }
}



/* Ensure the generated image sparkles use the bundled star asset and sit below copy. */
#sparkle-layer .sparkle,
#sparkle-layer .sparkle--cluster {
  background-image: url('/assets/images/stars.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#sparkle-layer .sparkle::before,
#sparkle-layer .sparkle::after,
#sparkle-layer .sparkle--cluster::before,
#sparkle-layer .sparkle--cluster::after {
  content: none !important;
  display: none !important;
}

.dhm-home-hero__ripples {
  display: block !important;
  visibility: visible !important;
  pointer-events: none !important;
}

/* 2026-05-09: shared header/menu fixes */
.dhm-site-header .dhm-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:1000001!important;}
.dhm-site-header .dhm-menu-toggle span{display:block!important;width:22px!important;height:2px!important;margin:4px auto!important;background:#fff!important;border-radius:99px!important;}
.dhm-mobile-menu-overlay.is-open{display:block!important;pointer-events:auto!important;}
.dhm-mobile-menu-panel{z-index:1000002!important;}
.dhm-retail-hub-menu-bar{position:relative!important;z-index:45!important;margin:0!important;}
.dhm-retail-hub-menu-bar + .dhm-main-content .dhm-section:first-child{padding-top:clamp(28px,4vw,44px)!important;}
.dhm-retail-hub-menu{padding-left:20px!important;padding-right:20px!important;}
.dhm-retail-hub-nav-icon{filter:none!important;}
.dhm-retail-hub-nav a.is-active .dhm-retail-hub-nav-icon,.dhm-retail-hub-nav a:hover .dhm-retail-hub-nav-icon,.dhm-retail-hub-logout:hover .dhm-retail-hub-nav-icon,.dhm-retail-hub-logout-link:hover .dhm-retail-hub-nav-icon{filter:none!important;}
.dhm-trade-price-page-head{margin-bottom:20px!important;}
.dhm-trade-price-page-head h1{font-size:clamp(40px,6vw,68px)!important;line-height:.95!important;letter-spacing:-.055em!important;color:var(--navy,#052b4f)!important;margin:0!important;}
.dhm-price-panel .dhm-trade-price-intro{margin:0 0 22px!important;max-width:860px!important;}
.dhm-price-panel .dhm-trade-price-intro h2{font-size:clamp(22px,3vw,32px)!important;line-height:1.08!important;margin:0 0 10px!important;color:var(--navy,#052b4f)!important;}
.dhm-price-panel .dhm-trade-price-intro p{font-size:15px!important;line-height:1.55!important;margin:0 0 8px!important;max-width:820px!important;}
.dhm-add-to-cart-main .dhm-btn-icon,.dhm-add-to-order .dhm-btn-icon{width:18px!important;height:18px!important;object-fit:contain!important;}
@media(max-width:760px){.dhm-order-actions{display:grid!important;grid-template-columns:1fr!important;text-align:center!important;justify-content:center!important;}.dhm-order-actions span{margin:0 auto 8px!important;}.dhm-order-actions .dhm-add-to-cart-main{justify-self:center!important;margin-left:auto!important;margin-right:auto!important;min-width:220px!important;}.dhm-trade-price-page-head{text-align:left!important;}.dhm-trade-price-page-head h1{font-size:clamp(42px,13vw,58px)!important;}.dhm-retail-hub-menu{padding-left:20px!important;padding-right:20px!important;}}

/* 2026-05-09: trade pricing header/button and mobile order card updates */
.dhm-trade-price-page-head h1{font-size:clamp(30px,4.4vw,48px)!important;line-height:1.05!important;letter-spacing:-.04em!important;}
.dhm-trade-price-page-subtitle{margin:10px 0 0!important;max-width:760px!important;color:#4b6478!important;font-size:16px!important;line-height:1.5!important;font-weight:650!important;}
.dhm-price-panel .dhm-trade-price-intro h2{font-size:clamp(19px,2.4vw,26px)!important;line-height:1.15!important;}
.dhm-add-to-cart-main,.dhm-add-to-order{min-height:42px!important;border-radius:12px!important;background:var(--blue,#075f9f)!important;border:1px solid var(--blue,#075f9f)!important;color:#fff!important;box-shadow:none!important;text-align:center!important;}
.dhm-add-to-cart-main:hover,.dhm-add-to-order:hover{background:#064f84!important;border-color:#064f84!important;color:#fff!important;}
.dhm-order-card-summary{min-width:0;display:grid;gap:8px;}.dhm-order-card-unit-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgba(5,43,79,.1);}.dhm-order-card-unit-top span{color:#6c7f8f;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}.dhm-order-card-unit-top strong{color:var(--navy,#052b4f);font-size:15px;line-height:1.2;}
@media(max-width:820px){.dhm-order-card .dhm-order-card-top{position:relative!important;grid-template-columns:minmax(0,1fr) auto!important;}.dhm-order-card .dhm-remove-btn,.dhm-order-card .dhm-cart-remove{position:absolute!important;top:12px!important;right:12px!important;}.dhm-order-card .dhm-order-card-summary{padding-right:42px!important;}.dhm-order-card .dhm-order-card-bottom{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.dhm-order-card .dhm-order-card-bottom>div{min-height:82px!important;}.dhm-order-card .dhm-order-card-qty>span{display:none!important;}}
@media(max-width:760px){.dhm-trade-price-page-head h1{font-size:clamp(32px,10vw,42px)!important;}.dhm-trade-price-page-subtitle{font-size:15px!important;}.dhm-order-actions .dhm-add-to-cart-main{display:inline-flex!important;justify-content:center!important;justify-self:center!important;margin-left:auto!important;margin-right:auto!important;min-width:190px!important;}}


/* 2026-05-09: rebuilt main hamburger menu - resilient on public and partner pages */
body.dhm-menu-open { overflow: hidden !important; }
#dhm-site-header.dhm-site-header { z-index: 1000003 !important; }
#dhm-site-header .dhm-menu-toggle,
.dhm-site-header .dhm-menu-toggle {
  isolation: isolate !important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(135deg, rgba(54,214,255,.26), rgba(255,255,255,.10)) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.22) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
#dhm-site-header .dhm-menu-toggle:focus-visible,
.dhm-site-header .dhm-menu-toggle:focus-visible {
  outline: 3px solid rgba(54,214,255,.55) !important;
  outline-offset: 4px !important;
}
.dhm-mobile-menu-overlay {
  top: var(--dhm-menu-top, 78px) !important;
  bottom: 0 !important;
  height: auto !important;
  padding: 16px !important;
  background: rgba(2, 29, 56, .34) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
.dhm-mobile-menu-overlay.is-open { animation: dhm-menu-backdrop-in .16s ease both !important; }
.dhm-mobile-menu-panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(54,214,255,.26), transparent 32%),
    radial-gradient(circle at 92% 16%, rgba(255,255,255,.15), transparent 28%),
    linear-gradient(145deg, #021d38 0%, #052b4f 52%, #075f9f 100%) !important;
  box-shadow: 0 28px 80px rgba(2,29,56,.48) !important;
  animation: dhm-menu-panel-in .2s ease both !important;
}
.dhm-menu-panel-top {
  margin: 0 0 2px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
}
.dhm-menu-title {
  font-size: clamp(20px, 3vw, 24px) !important;
  letter-spacing: -.035em !important;
}
.dhm-mobile-menu-links {
  display: grid !important;
  gap: 8px !important;
}
.dhm-mobile-menu-panel a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 44px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
.dhm-mobile-menu-panel a::after {
  content: "›" !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 24px !important;
  background: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
.dhm-mobile-menu-panel a:hover,
.dhm-mobile-menu-panel a:focus-visible,
.dhm-mobile-menu-panel a.is-active {
  transform: translateX(3px) !important;
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(54,214,255,.38) !important;
  outline: none !important;
}
.dhm-mobile-menu-panel a.is-active::after {
  background: #36d6ff !important;
  color: #052b4f !important;
}
.dhm-mobile-menu-partner {
  margin-top: 4px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
}
.dhm-mobile-menu-kicker {
  margin: 0 0 8px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dhm-menu-close {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.dhm-retail-hub-menu-bar { z-index: 100 !important; }
.dhm-retail-hub-menu-bar .dhm-retail-menu-toggle { position: relative !important; z-index: 2 !important; }
@media (min-width: 981px) {
  .dhm-mobile-menu-overlay { padding: 18px 20px !important; }
  .dhm-mobile-menu-panel {
    width: min(420px, calc(100vw - 40px)) !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: max(20px, calc((100vw - min(var(--dhm-max, 1180px), calc(100vw - 40px))) / 2)) !important;
    padding: 18px !important;
    border-radius: 26px !important;
  }
}
@media (max-width: 980px) {
  .dhm-mobile-menu-overlay { padding: 12px !important; }
  .dhm-mobile-menu-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 16px !important;
    border-radius: 24px !important;
  }
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    border-radius: 16px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dhm-mobile-menu-overlay.is-open,
  .dhm-mobile-menu-panel { animation: none !important; }
}
@keyframes dhm-menu-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dhm-menu-panel-in { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }


/* 2026-05-09 final authoritative main hamburger rebuild */
html.dhm-main-menu-open,
body.dhm-menu-open { overflow: hidden !important; }
#dhm-site-header.dhm-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483000 !important;
}
#dhm-site-header .dhm-header-wrap { position: relative !important; }
#dhm-site-header .dhm-menu-toggle,
.dhm-site-header .dhm-menu-toggle {
  display: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  margin-left: auto !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(54,214,255,.18)) !important;
  box-shadow: 0 14px 34px rgba(2,29,56,.24), inset 0 1px 0 rgba(255,255,255,.24) !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2147483001 !important;
  touch-action: manipulation !important;
}
#dhm-site-header .dhm-menu-toggle span,
.dhm-site-header .dhm-menu-toggle span {
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform-origin: center !important;
  transition: transform .18s ease, opacity .18s ease !important;
}
#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(2) { opacity: 0 !important; }
#dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3),
.dhm-site-header .dhm-menu-toggle.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }
.dhm-mobile-menu-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  padding: calc(var(--dhm-menu-header-space, 74px) + 12px) 14px 14px !important;
  background: rgba(2,29,56,.46) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  pointer-events: none !important;
  z-index: 2147482999 !important;
}
.dhm-mobile-menu-overlay.is-open {
  display: block !important;
  pointer-events: auto !important;
}
.dhm-mobile-menu-panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: min(440px, 100%) !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 26px !important;
  background: radial-gradient(circle at 8% 0%, rgba(54,214,255,.28), transparent 34%), linear-gradient(145deg, #021d38 0%, #052b4f 56%, #075f9f 100%) !important;
  box-shadow: 0 30px 90px rgba(2,29,56,.52) !important;
}
.dhm-mobile-menu-links { display: grid !important; gap: 9px !important; }
.dhm-mobile-menu-panel a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 48px !important;
  padding: 13px 15px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.dhm-mobile-menu-panel a::after { content: '›' !important; font-size: 24px !important; line-height: 1 !important; opacity: .9 !important; }
.dhm-mobile-menu-panel a:hover,
.dhm-mobile-menu-panel a:focus-visible,
.dhm-mobile-menu-panel a.is-active { background: rgba(255,255,255,.18) !important; border-color: rgba(54,214,255,.45) !important; outline: none !important; }
.dhm-menu-panel-top { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; padding-bottom: 12px !important; border-bottom: 1px solid rgba(255,255,255,.16) !important; }
.dhm-menu-title { margin: 0 !important; color: #fff !important; font-size: 22px !important; font-weight: 950 !important; letter-spacing: -.035em !important; }
.dhm-menu-close { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; border-radius: 14px !important; color: #fff !important; background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.22) !important; font-size: 28px !important; line-height: 1 !important; cursor: pointer !important; }
.dhm-mobile-menu-partner { margin-top: 4px !important; padding-top: 12px !important; border-top: 1px solid rgba(255,255,255,.16) !important; }
.dhm-mobile-menu-kicker { margin: 0 0 8px !important; color: rgba(255,255,255,.76) !important; font-size: 11px !important; font-weight: 950 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
@media (max-width: 980px) {
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle { display: inline-flex !important; }
  #dhm-header-nav.dhm-nav,
  .dhm-site-header .dhm-nav { display: none !important; }
}
@media (min-width: 981px) {
  .dhm-mobile-menu-overlay { padding-top: calc(var(--dhm-menu-header-space, 74px) + 16px) !important; padding-right: max(20px, calc((100vw - min(var(--dhm-max, 1180px), calc(100vw - 40px))) / 2)) !important; }
  .dhm-mobile-menu-panel { margin-left: auto !important; margin-right: 0 !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .dhm-mobile-menu-overlay.is-open { animation: dhm-final-menu-fade .16s ease both !important; }
  .dhm-mobile-menu-overlay.is-open .dhm-mobile-menu-panel { animation: dhm-final-menu-drop .2s ease both !important; }
}
@keyframes dhm-final-menu-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes dhm-final-menu-drop { from { opacity: 0; transform: translateY(-10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* 2026-05-09: remove top whitespace caused by old fixed-header spacer rules after hamburger rebuild */
@media (max-width: 980px) {
  html,
  body {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #dhm-site-header.dhm-site-header,
  .dhm-site-header {
    position: sticky !important;
    top: 0 !important;
  }

  #dhm-main-content,
  main.dhm-main-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #dhm-main-content > *:first-child,
  main.dhm-main-content > *:first-child,
  #dhm-hero-section,
  .dhm-hero {
    margin-top: 0 !important;
  }

  #dhm-hero-section,
  .dhm-hero {
    padding-top: 0 !important;
  }

  .dhm-mobile-menu-overlay {
    padding-top: calc(var(--dhm-menu-header-space, 78px) + 12px) !important;
  }
}


/* 2026-05-09: authoritative hamburger visibility and clickability fix.
   Keep the main hamburger available on desktop and mobile, and keep its overlay
   above partner/admin bars without covering the button when closed. */
#dhm-site-header .dhm-menu-toggle,
.dhm-site-header .dhm-menu-toggle {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#dhm-site-header .dhm-header-wrap {
  align-items: center !important;
}

.dhm-mobile-menu-overlay {
  z-index: 2147482999 !important;
}

.dhm-mobile-menu-overlay:not(.is-open) {
  display: none !important;
  pointer-events: none !important;
}

.dhm-mobile-menu-overlay.is-open {
  display: block !important;
  pointer-events: auto !important;
}

@media (min-width: 981px) {
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 48px !important;
  }

  #dhm-header-nav.dhm-nav,
  .dhm-site-header .dhm-nav {
    display: flex !important;
  }
}

@media (max-width: 980px) {
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 48px !important;
  }
}

/* 2026-05-09: lean mobile hero sparkle engine.
   Keeps the hero sparkly, but uses a fixed sparkle pool instead of constant DOM spawning. */
#sparkle-layer.dhm-sparkles-paused .sparkle,
#sparkle-layer.dhm-sparkles-paused .sparkle--cluster {
  animation-play-state: paused !important;
}

@media (max-width: 980px) {
  #sparkle-layer {
    contain: layout paint style !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
  }

  #sparkle-layer .sparkle,
  #sparkle-layer .sparkle--cluster {
    will-change: opacity, transform !important;
    backface-visibility: hidden !important;
  }
}

@media (max-width: 720px) {
  #sparkle-layer .sparkle,
  #sparkle-layer .sparkle--cluster {
    filter:
      brightness(1.45)
      drop-shadow(0 0 6px rgba(255,255,255,0.68))
      drop-shadow(0 0 13px rgba(180,245,255,0.42)) !important;
  }
}

/* 2026-05-11: force-hide public main hamburger on screen/desktop only. */
@media (min-width: 901px) {
  #dhm-site-header .dhm-menu-toggle,
  .dhm-site-header .dhm-menu-toggle,
  button#dhm-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* 2026-05-11: mobile footer alignment and spacing hardening */
@media (max-width: 640px) {
  #dhm-site-footer.dhm-footer {
    overflow: hidden !important;
  }

  #dhm-site-footer .dhm-wrap,
  #dhm-site-footer .dhm-footer-main,
  #dhm-site-footer .dhm-footer-bottom {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #dhm-site-footer .dhm-footer-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 30px 18px 8px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-brand,
  #dhm-site-footer .dhm-footer-column,
  #dhm-site-footer .dhm-footer-social {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 20px 0 !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-brand {
    padding-top: 0 !important;
    padding-bottom: 22px !important;
  }

  #dhm-site-footer .dhm-footer-column,
  #dhm-site-footer .dhm-footer-social {
    border-top: 1px solid rgba(255,255,255,0.14) !important;
  }

  #dhm-site-footer .dhm-footer-logo-link {
    width: 100% !important;
    max-width: 240px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #dhm-site-footer .dhm-footer-logo {
    display: block !important;
    width: min(210px, 72vw) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  #dhm-site-footer .dhm-footer-column h2,
  #dhm-site-footer .dhm-footer-social h2 {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-column ul {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-column li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-column a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 32px !important;
    padding: 2px 6px !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.35 !important;
  }

  #dhm-site-footer .dhm-footer-social-links {
    width: auto !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
  }

  #dhm-site-footer .dhm-footer-social-links a {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
  }

  #dhm-site-footer .dhm-footer-social-note {
    width: 100% !important;
    max-width: 260px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 auto !important;
    padding: 16px 18px 22px !important;
    text-align: center !important;
  }

  #dhm-site-footer .dhm-footer-bottom p {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }
}

/* Floating mobile retail cart widget */
.dhm-floating-cart-widget{display:none}.dhm-floating-cart-checkout.is-loading{opacity:.72;cursor:wait}@media(max-width:820px){.dhm-floating-cart-widget{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2147482500;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(5,43,79,.12);box-shadow:0 18px 44px rgba(5,43,79,.22);backdrop-filter:blur(12px)}.dhm-floating-cart-widget[hidden]{display:none!important}.dhm-floating-cart-info{display:grid;gap:2px;color:#052b4f;font-weight:950;line-height:1.05}.dhm-floating-cart-info span:first-child{font-size:.86rem;color:#496176}.dhm-floating-cart-info span:last-child{font-size:1.18rem}.dhm-floating-cart-actions{display:flex;gap:7px;align-items:center}.dhm-floating-cart-view,.dhm-floating-cart-checkout{min-height:36px;border-radius:999px;padding:8px 11px;text-decoration:none;font-weight:950;font-size:.86rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.dhm-floating-cart-view{background:#e8f5fc;color:#052b4f;border:1px solid rgba(5,43,79,.1)}.dhm-floating-cart-checkout{background:#075f9f;color:#fff;border:1px solid #075f9f;box-shadow:none}.dhm-floating-cart-view:hover,.dhm-floating-cart-view:focus-visible{background:#dff0fb;color:#052b4f}.dhm-floating-cart-checkout:hover,.dhm-floating-cart-checkout:focus-visible{background:#064f84;border-color:#064f84}.dhm-floating-cart-active .dhm-footer{padding-bottom:calc(50px + env(safe-area-inset-bottom))!important}}@media(max-width:480px){.dhm-floating-cart-widget{left:8px;right:8px;grid-template-columns:1fr;gap:8px}.dhm-floating-cart-info{display:flex;justify-content:space-between;align-items:center}.dhm-floating-cart-actions{display:grid;grid-template-columns:1fr 1fr}.dhm-floating-cart-view,.dhm-floating-cart-checkout{width:100%}}

/* 2026-05-12: sitewide mobile floating retail cart and cart confirmation modal. */
.dhm-floating-cart-widget{display:none}
.dhm-cart-added-modal{position:fixed;inset:0;z-index:2147483600;display:none;align-items:center;justify-content:center;padding:22px}.dhm-cart-added-modal.is-open{display:flex}.dhm-cart-added-modal__backdrop{position:absolute;inset:0;background:rgba(5,43,79,.68);backdrop-filter:blur(8px)}.dhm-cart-added-modal__panel{position:relative;z-index:1;width:min(92vw,420px);padding:24px;border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28);text-align:center}.dhm-cart-added-modal__panel h2{margin:4px 0 8px;color:#052b4f;font-size:clamp(25px,5vw,34px)}.dhm-cart-added-modal__panel p:not(.dhm-eyebrow){margin:0 0 18px;color:#40576b;font-weight:800}.dhm-cart-added-modal__close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:999px;background:#e8f5fc;color:#052b4f;font-size:26px;font-weight:950;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dhm-cart-added-modal__close:hover,.dhm-cart-added-modal__close:focus-visible{background:#075f9f;color:#fff}.dhm-cart-added-modal__actions{display:flex;gap:10px;justify-content:center}.dhm-cart-added-modal__actions .dhm-btn{flex:1;justify-content:center;min-height:40px;padding:10px 14px}.dhm-cart-added-modal-open{overflow:hidden}
@media(max-width:820px){.dhm-floating-cart-widget{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2147482500;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(5,43,79,.12);box-shadow:0 18px 44px rgba(5,43,79,.22);backdrop-filter:blur(12px)}.dhm-floating-cart-widget[hidden]{display:none!important}.dhm-floating-cart-info{display:grid;gap:2px;color:#052b4f;font-weight:950;line-height:1.05}.dhm-floating-cart-info span:first-child{font-size:.86rem;color:#496176}.dhm-floating-cart-info span:last-child{font-size:1.18rem}.dhm-floating-cart-actions{display:flex;gap:7px;align-items:center}.dhm-floating-cart-view,.dhm-floating-cart-checkout{min-height:36px;border-radius:999px;padding:8px 11px;text-decoration:none;font-weight:950;font-size:.86rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.dhm-floating-cart-view{background:#e8f5fc;color:#052b4f;border:1px solid rgba(5,43,79,.1)}.dhm-floating-cart-checkout{background:#075f9f;color:#fff;border:1px solid #075f9f;box-shadow:none}.dhm-floating-cart-view:hover,.dhm-floating-cart-view:focus-visible{background:#dff0fb;color:#052b4f}.dhm-floating-cart-checkout:hover,.dhm-floating-cart-checkout:focus-visible{background:#064f84;border-color:#064f84}.dhm-floating-cart-checkout.is-loading{opacity:.72;cursor:wait}.dhm-floating-cart-active .dhm-footer{padding-bottom:calc(50px + env(safe-area-inset-bottom))!important}}
@media(max-width:480px){.dhm-floating-cart-widget{left:8px;right:8px;grid-template-columns:1fr;gap:8px}.dhm-floating-cart-info{display:flex;justify-content:space-between;align-items:center}.dhm-floating-cart-actions{display:grid;grid-template-columns:1fr 1fr}.dhm-floating-cart-view,.dhm-floating-cart-checkout{width:100%}.dhm-cart-added-modal__actions{display:grid;grid-template-columns:1fr 1fr}}
/* Keep the mobile main menu visible on the public Retail Partners page. */
@media(max-width:900px){body.page-retail-partners #dhm-site-header .dhm-menu-toggle,body.page-retail-partners .dhm-site-header .dhm-menu-toggle,body.page-retail-partners button#dhm-menu-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}}
body.page-retail-partners .dhm-hero-actions{margin-bottom:24px!important}

/* 2026-05-12: footer links, mobile social sizing and floating cart redesign. */
#dhm-site-footer.dhm-footer{padding-bottom:50px!important}
@media(max-width:820px){
  .dhm-floating-cart-widget{grid-template-columns:72px minmax(0,1fr)!important;background:#d9f2ff!important;border:1px solid rgba(7,95,159,.22)!important;padding:10px!important;gap:10px!important;align-items:stretch!important}
  .dhm-floating-cart-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:70px;border-radius:18px;background:rgba(255,255,255,.65)}
  .dhm-floating-cart-icon img{width:100%;height:100%;max-width:62px;max-height:62px;object-fit:contain;display:block}
  .dhm-floating-cart-content{display:grid;gap:8px;min-width:0;align-self:center}
  .dhm-floating-cart-info{display:flex!important;justify-content:space-between;align-items:center;gap:8px}
  .dhm-floating-cart-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important}
  .dhm-floating-cart-view,.dhm-floating-cart-checkout{width:100%;box-sizing:border-box}
  .dhm-floating-cart-active .dhm-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
  #dhm-site-footer .dhm-footer-social-links a{flex-basis:69px!important;width:69px!important;height:69px!important}
  #dhm-site-footer .dhm-footer-social-links svg{width:27px!important;height:27px!important}
}
@media(max-width:480px){.dhm-floating-cart-widget{grid-template-columns:64px minmax(0,1fr)!important}.dhm-floating-cart-icon{min-height:64px}.dhm-floating-cart-icon img{max-width:56px;max-height:56px}}


/* 2026-05-12: floating cart extra padding and clickable carousel previews */
@media(max-width:820px){.dhm-floating-cart-widget{padding:20px!important}.dhm-floating-cart-active .dhm-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))!important}}
.dhm-product-photo[data-product-image-preview]{cursor:zoom-in}.dhm-product-photo[data-product-image-preview]:focus-visible{outline:3px solid #075f9f;outline-offset:4px;border-radius:14px}


/* 2026-05-12: remove border backing from floating cart icon and use 3D cart asset cleanly. */
@media(max-width:820px){.dhm-floating-cart-icon{background:transparent!important;border:0!important;box-shadow:none!important}.dhm-floating-cart-icon img{content:url('/assets/images/icons/cart-3d-blue.svg');filter:drop-shadow(0 8px 10px rgba(5,43,79,.22))}}

/* 2026-05-12: tighter spacing across cards on mobile. */
@media(max-width:760px){
  .dhm-card,
  .dhm-admin-card,
  .dhm-public-product-card,
  .dhm-product-card,
  .dhm-feature-card,
  .dhm-step-card,
  .dhm-value-card,
  .dhm-stockist-card,
  .dhm-location-card,
  .dhm-cart-line-card,
  .dhm-sitemap-card,
  .dhm-promo-card,
  .dhm-online-sale-card,
  .dhm-comm-card,
  .dhm-template-card,
  .dhm-quote-row-card,
  [class$="-card"]{
    gap:10px!important;
    margin-bottom:10px!important;
  }
  .dhm-card,
  .dhm-admin-card,
  .dhm-feature-card,
  .dhm-step-card,
  .dhm-value-card,
  .dhm-stockist-card,
  .dhm-location-card,
  .dhm-sitemap-card,
  .dhm-promo-card,
  .dhm-online-sale-card,
  .dhm-comm-card,
  .dhm-template-card,
  .dhm-quote-row-card,
  [class$="-card"]{
    padding:clamp(10px,3.2vw,16px)!important;
  }
  .dhm-section-head{margin-bottom:18px!important;}
}
