/* Benefits popup: opened by "See Benefits" buttons (data-benefits="key"). Shared by all treatment pages. */
dialog.bn{padding:0;border:0;background:none;color:var(--ink);
  width:min(440px, calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:visible}
dialog.bn::backdrop{background:rgba(43,13,18,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog.bn[open]::backdrop{animation:bnFade .35s ease}
dialog.bn[open] .bn-card{animation:bnIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes bnFade{from{opacity:0}}
@keyframes bnIn{from{opacity:0;transform:translateY(18px) scale(.95)}}
html.bn-lock{overflow:hidden}

.bn-card{position:relative;overflow:hidden;border-radius:30px;text-align:center;padding:24px 20px 38px;
  max-height:calc(100dvh - 32px);overflow-y:auto;
  background:radial-gradient(120% 70% at 50% 0%, #fff8f9 0%, #fbe4e7 55%, #f5d0d6 100%);
  box-shadow:0 40px 90px -30px rgba(43,13,18,.7), inset 0 0 0 1px rgba(255,255,255,.6)}

.bn-close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;color:var(--burgundy);background:rgba(201,138,147,.24);transition:background .25s, transform .25s}
.bn-close:hover{background:rgba(201,138,147,.42);transform:rotate(90deg)}
.bn-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

.bn-lotus{width:34px;height:24px;color:var(--burgundy);display:block;margin:0 auto 6px}
.bn-lotus path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.bn-label{display:flex;align-items:center;justify-content:center;gap:14px;padding:0 44px;
  font-size:13px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy)}
.bn-label::before,.bn-label::after{content:"";flex:0 1 44px;height:1px;background:rgba(90,22,32,.4)}

.bn-stage{position:relative;margin-top:4px}
.bn-window{overflow:hidden;touch-action:pan-y}
.bn-track{display:flex;transition:transform .6s cubic-bezier(.65,0,.35,1)}
.bn-sl{flex:0 0 100%;padding:0 40px}
.bn-icon{width:156px;height:156px;margin:0 auto}
.bn-icon svg{width:100%;height:100%;overflow:visible}
.bn-sl h3{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--burgundy);
  font-size:clamp(25px, 6.4vw, 31px);line-height:1.15}
.bn-sl p{margin-top:8px;font-size:15.5px;line-height:1.5;color:var(--ink);opacity:.86;min-height:3em}

.bn-arrow{position:absolute;top:78px;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;color:var(--burgundy);background:rgba(255,255,255,.6);
  box-shadow:0 8px 18px -10px rgba(90,22,32,.55);transition:background .25s, transform .25s}
.bn-arrow:hover{background:#fff}
.bn-arrow.prev{left:-2px}
.bn-arrow.next{right:-2px}
.bn-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.bn-dots{display:flex;justify-content:center;gap:4px;margin:14px 0 20px}
.bn-dots button{width:24px;height:24px;display:grid;place-items:center}
.bn-dots button::before{content:"";width:10px;height:10px;border-radius:50%;background:rgba(201,138,147,.55);transition:background .3s, transform .3s}
.bn-dots button[aria-selected="true"]::before{background:var(--burgundy);transform:scale(1.1)}

.bn-book{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  width:100%;max-width:310px;padding:15px 26px;border-radius:999px;background:var(--burgundy);color:#fff;
  font-size:16px;letter-spacing:.02em;box-shadow:0 14px 28px -14px rgba(90,22,32,.9);transition:background .25s, transform .25s}
.bn-book[hidden]{display:none}
.bn-book:hover{background:var(--burgundy-700);transform:translateY(-2px)}
.bn-book svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.bn-wave{position:absolute;left:0;bottom:0;width:100%;height:46px;pointer-events:none}

/* Icon motion: a gentle float and a ripple underneath, only on the slide in view */
.bn-icon .shadow{fill:rgba(184,86,106,.16)}
.bn-icon .rip{fill:none;stroke:rgba(184,86,106,.38);stroke-width:1.1;transform-box:view-box;transform-origin:60px 106px;opacity:0}
.bn-sl.on .float{animation:bnBob 3.4s ease-in-out infinite}
.bn-sl.on .rip{animation:bnRip 3.4s ease-out infinite}
.bn-sl.on .rip.r2{animation-delay:1.1s}
.bn-sl.on .rip.r3{animation-delay:2.2s}
@keyframes bnBob{50%{transform:translateY(-5px)}}
@keyframes bnRip{0%{transform:scale(.45);opacity:.9}100%{transform:scale(1.35);opacity:0}}

@media (prefers-reduced-motion: reduce){
  dialog.bn[open] .bn-card,dialog.bn[open]::backdrop,.bn-sl.on .float,.bn-sl.on .rip{animation:none}
  .bn-icon .rip.r2{opacity:.5}
  .bn-track{transition:none}
}
@media (max-width:380px){
  .bn-sl{padding:0 30px}
  .bn-icon{width:132px;height:132px}
  .bn-arrow{top:66px}
}
