/* dx-product */
  #buy [hidden], #dx-sheet [hidden] { display: none !important; }
  html:has(#dx-sheet[open]) { overflow: hidden; }
  #dx-sheet {
    position: fixed; inset: auto 0 0; margin: 0; width: 100%; max-width: none; max-height: 92dvh;
    overflow-y: auto; overscroll-behavior: contain; border: 0; color: var(--ink);
    padding: 10px 16px calc(22px + env(safe-area-inset-bottom));
  }
  #dx-sheet::backdrop { background: rgba(6,21,40,.52); }
  .dx-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .dx-steplabel { font-size: .8rem; font-weight: 700; color: var(--muted); text-align: center; }
  .dx-back { display: inline-flex; align-items: center; gap: 2px; height: 36px; padding: 0 12px 0 6px; border: 0; border-radius: 999px; background: var(--soft); color: var(--navy); font-size: .84rem; font-weight: 700; cursor: pointer; }
  .dx-x { flex: none; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--soft); color: var(--navy); display: grid; place-items: center; cursor: pointer; }
  .dx-scr { display: flex; flex-direction: column; gap: 12px; }
  .dx-scr h2 { font-size: 1.5rem; }
  .dx-scr h2:focus { outline: none; }
  .dx-p { font-size: .92rem; color: var(--muted); line-height: 1.5; }
  .dx-list { display: flex; flex-direction: column; gap: 8px; }
  .dx-ico { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--soft); display: grid; place-items: center; }
  .dx-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .dx-tx small { font-size: .8rem; font-weight: 500; color: var(--muted); }
  .dx-role { min-height: 50px; padding: 10px 14px; }
  .dx-panel { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: 14px; background: var(--soft); }
  .dx-wrap { height: auto; min-height: 58px; padding: 12px 22px; white-space: normal; line-height: 1.3; text-align: center; }
  .dx-sum { border-radius: 16px; background: var(--soft); padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; font-size: .88rem; }
  .dx-sum > div { display: flex; justify-content: space-between; gap: 12px; }
  .dx-sum .m { color: var(--muted); }
  .dx-sum .t { padding-top: 8px; border-top: 1px solid var(--line-2); font-weight: 800; font-size: .95rem; }
  .dx-th { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .dx-th-tag { padding: 4px 10px; border-radius: 99px; background: var(--teal); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .dx-th .price { color: var(--teal-ink); }
  .dx-th-tag.navy { background: var(--navy); }
  .dx-th[data-dx-for-setup="1"] .price { color: var(--ink); }
  .dx-trial.dx-box { background: var(--soft); border-color: var(--line-2); }
  .dx-th-then { font-size: .95rem; line-height: 1.6; color: var(--muted); }
  .dx-th-then .tag { margin-left: 4px; vertical-align: 1px; }
  .dx-th-then b { color: var(--ink); font-size: 1.15rem; }
  .dx-trial { list-style: none; margin: 0; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 16px; background: color-mix(in srgb, var(--mint) 22%, #fff); border: 1px solid color-mix(in srgb, var(--teal) 35%, transparent); font-size: .86rem; line-height: 1.45; color: var(--muted); }
  .dx-trial li { display: flex; gap: 10px; align-items: flex-start; }
  .dx-trial svg { flex: none; margin-top: 3px; }
  .dx-trial b { color: var(--ink); }
  .pick .pr { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  .pick .pr b { font-size: .95rem; font-weight: 750; }
  .pick .pr b.free { color: var(--teal-ink); }
  .pick .pr small { font-size: .76rem; }
  .dx-rr { display: block; margin-top: -2px; font-size: .8rem; font-weight: 600; color: var(--teal-ink); }
  .dx-hero-trial, .dx-hero-cta { animation: rise .9s var(--ease) 1.1s both; }
  .dx-hero-trial { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: .92rem; font-weight: 650; color: var(--ink); }
  .dx-hero-trial span { display: inline-flex; align-items: center; gap: 6px; }
  .dx-hero-cta { display: none; }
  @container (max-width: 900px) { .dx-hero-cta { display: inline-flex; } }
  .dx-fine { font-size: .76rem; line-height: 1.45; color: var(--muted); text-align: center; }
  .dx-err { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 12px; background: color-mix(in srgb, var(--cta) 8%, #fff); color: #8F1116; font-size: .88rem; line-height: 1.45; }
  @media (min-width: 640px) {
    #dx-sheet { inset: 0; margin: auto; width: min(500px, calc(100% - 32px)); max-height: min(880px, calc(100dvh - 48px)); border-radius: 26px; padding: 20px 24px 26px; }
    #dx-sheet .grab { display: none; }
  }

  /* Hero B: headline on top, the video as the main gallery media (tilts flat on scroll, see dx.js). */
  @container (min-width: 901px) { .pdp.is-video { grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr); } }
  .dx-hero-text { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; padding-top: 18px; margin-bottom: clamp(28px, 4cqi, 44px); }
  .pdp.is-video .gal-main { aspect-ratio: 16 / 9; background: #04101F; transform-origin: 50% 100%; box-shadow: 0 0 0 1px var(--line), 0 0 0 9px rgba(255,255,255,.75), 0 0 0 10px var(--line), 0 50px 100px -30px rgba(0,43,92,.55), 0 30px 60px -40px color-mix(in srgb, var(--cta) 45%, transparent); }
  .vsl-v, .vsl-v video { position: absolute; inset: 0; width: 100%; height: 100%; }
  .vsl-v video { object-fit: cover; background: #04101F; }
  .dx-sound { position: absolute; inset: 0; z-index: 2; width: 100%; padding: 0; border: 0; background: linear-gradient(180deg, transparent 45%, rgba(4,16,31,.6)); cursor: pointer; }
  .dx-sound-label { position: absolute; left: 50%; bottom: 4cqi; transform: translateX(-50%); white-space: nowrap; }
  .dx-pp { position: absolute; top: 4cqi; left: 4cqi; z-index: 3; font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; }
  .dx-sound:focus-visible { outline: 2px solid #fff; outline-offset: -8px; border-radius: 12px; }
  .is-watching .dx-sound, .is-watching .dx-pp { display: none; }
  .dx-cap { position: absolute; left: 4cqi; bottom: 4cqi; z-index: 2; }
  .dx-thumb-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(4,16,31,.35); }
  .pdp.is-video .chapters { margin-top: 4px; }

/* dx-process */
  /* overflow: clip (not .night's hidden) so the .rv view() timeline tracks the page scroll, not this section. */
  .dx-process { display: flex; align-items: flex-end; min-height: clamp(520px, 88vh, 860px); overflow: clip; }
  .dx-process :focus-visible { outline-color: var(--mint); }
  /* The footage is a bright white clinic: shade the text side and the bottom so white copy keeps its contrast. */
  .dx-process::before { background: linear-gradient(90deg, rgba(6,21,40,.82), rgba(6,21,40,.5) 45%, rgba(6,21,40,0) 78%), linear-gradient(180deg, rgba(6,21,40,.4), rgba(6,21,40,0) 30%, rgba(6,21,40,.15) 55%, rgba(6,21,40,.8)); }
  .dx-pv { position: absolute; inset: 0; z-index: -2; background: #04101F; }
  .dx-pv video, .dx-pv img { width: 100%; height: 100%; object-fit: cover; }
  .dx-pc { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-block: clamp(48px, 7cqi, 96px); }
  .dx-pc h2 { max-width: 16ch; font-size: clamp(2.2rem, 4.6cqi, 4rem); }
  .dx-pc .lede { color: rgba(255,255,255,.88); max-width: 52ch; }
  .dx-bgv-pp { font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; }
  @container (max-width: 640px) {
    .dx-process { min-height: 78svh; }
    .dx-process::before { background: linear-gradient(180deg, rgba(6,21,40,.45), rgba(6,21,40,.3) 20%, rgba(6,21,40,.75) 40%, rgba(6,21,40,.92)); }
  }

/* dx-offer */
  .dx-tl { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: 100%; max-width: 680px; text-align: left; }
  .dx-tl li { position: relative; display: flex; flex-direction: column; gap: 4px; padding-top: 18px; border-top: 3px solid var(--soft); font-size: .88rem; line-height: 1.45; color: var(--muted); }
  .dx-tl li:first-child { border-top-color: var(--teal); }
  .dx-tl li::before { content: ''; position: absolute; top: -9px; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--surface); border: 3px solid var(--teal); }
  .dx-tl b { color: var(--ink); font-size: 1rem; }
  @container (max-width: 640px) {
    .dx-tl { grid-template-columns: 1fr; gap: 14px; }
    .dx-tl li { padding: 0 0 0 20px; border-top: 0; border-left: 3px solid var(--soft); }
    .dx-tl li:first-child { border-left-color: var(--teal); }
    .dx-tl li::before { top: 2px; left: -9px; }
  }

/* dx-faq */
  /* .qa in dx.css styles a <button>; these rules give native <details>/<summary> the same look. */
  .qa > summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;cursor:pointer;text-align:left;border-radius:inherit;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:560;font-size:1.15rem}
  .qa > summary::-webkit-details-marker{display:none}
  .qa[open]{border-color:var(--teal-20);box-shadow:0 24px 50px -36px rgba(0,122,104,.6)}
  .qa[open] .pm{background:var(--cta);transform:rotate(180deg)}
  .qa[open] .pm::before,.qa[open] .pm::after{background:#fff}
  .qa[open] .pm::after{transform:rotate(0)}

/* dx-float */
  .float>div{transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s}
  .float.off>div{opacity:0;transform:translateY(16px);visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}

/* dx-call */
#dx-call{padding:0;border:0;color:var(--ink);background:var(--bg);width:100%;max-width:none;max-height:94vh;max-height:94dvh;margin:auto 0 0;overflow:hidden}
#dx-call[open]{display:flex;flex-direction:column}
#dx-call::backdrop{background:rgba(0,43,92,.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#dx-call [hidden]{display:none !important}
#dx-call .aurora{opacity:.55}
html:has(#dx-call[open]){overflow:hidden}
@media (min-width:640px){
  #dx-call{margin:auto;width:min(520px,calc(100% - 32px));max-height:min(88dvh,860px);border-radius:26px}
}
#dx-call .dx-c-top{position:relative;z-index:1;flex:none;padding:12px 16px 14px;background:rgba(246,249,252,.86);border-bottom:1px solid rgba(0,43,92,.08);display:flex;flex-direction:column;gap:10px}
#dx-call .dx-c-bar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}
#dx-call .dx-c-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,43,92,.12);background:var(--surface);display:grid;place-items:center;color:var(--navy);cursor:pointer;padding:0}
#dx-call .dx-c-logo{height:26px;width:auto;justify-self:center}
#dx-call .dx-c-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;font-weight:700;color:var(--ink)}
#dx-call .dx-c-meta span+span{color:var(--muted);font-weight:600}
#dx-call .dx-c-main{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 16px 24px}
#dx-call .dx-c-foot{position:relative;z-index:1;flex:none;padding:10px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid rgba(0,43,92,.06);background:rgba(246,249,252,.86)}
#dx-call h2{font-size:1.75rem}
#dx-call h2:focus{outline:none}
#dx-call .dx-c-h2s{font-size:1.6rem}
#dx-call .dx-c-step{display:flex;flex-direction:column;gap:16px}
#dx-call .dx-c-gap18{gap:18px}
#dx-call .dx-c-gap14{gap:14px}
#dx-call .dx-c-pad{padding-top:12px}
#dx-call .dx-c-pad6{padding-top:6px}
#dx-call .dx-c-mt4{margin-top:4px}
#dx-call .dx-c-head{display:flex;flex-direction:column;gap:8px}
#dx-call .dx-c-sub{font-size:.92rem;color:var(--muted)}
#dx-call .dx-c-count{color:var(--teal-ink)}
#dx-call .dx-c-text{font-size:.95rem;color:var(--muted);line-height:1.5}
#dx-call .dx-c-list{display:flex;flex-direction:column;gap:8px}
#dx-call .dx-c-gl{font-size:.85rem;font-weight:700}
#dx-call .dx-c-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#dx-call .dx-c-two-col .row-opt{justify-content:center}
#dx-call .dx-c-two{display:flex;flex-direction:column;gap:2px}
#dx-call .dx-c-two small{font-size:.8rem;font-weight:500;color:var(--muted)}
#dx-call .dx-c-chev{margin-left:auto;flex:none}
#dx-call .dx-c-chips{display:flex;flex-wrap:wrap;gap:8px}
#dx-call .dx-c-tp{cursor:pointer;border:1.5px solid rgba(0,43,92,.18);box-shadow:none;padding:10px 14px;text-align:left;line-height:1.25}
#dx-call .dx-c-tp[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
#dx-call .dx-c-tp:disabled{opacity:.45;cursor:not-allowed}
#dx-call .dx-c-tz{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--muted);background:var(--soft);border-radius:12px;padding:10px 12px}
#dx-call .dx-c-tz svg{flex:none}
#dx-call .dx-c-tz b{color:var(--ink)}
#dx-call .dx-c-err{font-size:.88rem;color:#8F1A1E;background:#FDECEC;border-radius:12px;padding:10px 12px}
#dx-call .dx-c-err ul{margin:0;padding-left:18px}
#dx-call .dx-vh{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#dx-call .dx-c-plain{background:none;border:0;cursor:pointer;padding:8px;align-self:center}
#dx-call .dx-c-done{flex:none;width:60px;height:60px;border-radius:50%;background:var(--teal);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,122,104,.6)}
#dx-call .dx-c-mail{width:64px;height:64px}
#dx-call .dx-c-row{display:flex;align-items:center;gap:14px}
#dx-call .dx-c-qa{padding:14px 16px;border-radius:18px;box-shadow:none;display:flex;flex-direction:column;gap:4px}
#dx-call .dx-c-qa h3{font-size:1.05rem}
#dx-call .dx-c-qa p{font-size:.88rem;color:var(--muted);line-height:1.45}
#dx-call .dx-c-badge{align-self:flex-start;font-size:.84rem;color:var(--ink)}
#dx-call .dx-c-flag{font-size:.86rem;line-height:1.45;color:var(--navy);background:rgba(40,191,155,.12);border-radius:12px;padding:10px 12px}
#dx-call .dx-c-cal{width:100%;min-height:420px;overflow:auto;border-radius:18px;background:var(--surface)}
#dx-call .dx-c-booked{font-size:.98rem;color:var(--ink)}
#dx-call .dx-c-note{font-size:.86rem;color:var(--muted)}
#dx-call .dx-c-vsl{display:flex;align-items:center;gap:12px;padding:10px;border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:none;font-size:.9rem;font-weight:650;line-height:1.35}
#dx-call .dx-c-thumb{flex:none;position:relative;width:88px;height:60px;border-radius:12px;overflow:hidden;background:#04101F}
#dx-call .dx-c-thumb img{width:100%;height:100%;object-fit:cover;opacity:.8}
#dx-call .dx-c-play{position:absolute;inset:0;display:grid;place-items:center}
#dx-call .dx-c-play>span{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center}
