/* ── Custom cursor ── */
.cursor-dot{width:7px;height:7px;background:#C8A882;border-radius:50%;position:fixed;pointer-events:none;z-index:9999;left:0;top:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s;}
.cursor-ring{width:28px;height:28px;border:1px solid rgba(200,168,130,0.35);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;left:0;top:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s,width .25s ease,height .25s ease,border-color .25s ease;}
body:has(a:hover) .cursor-ring,body:has(button:hover) .cursor-ring{width:44px;height:44px;border-color:rgba(200,168,130,0.65);}
@media(hover:none){.cursor-dot,.cursor-ring{display:none;}}

/* ── Scroll progress bar ── */
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#C8A882,#A88860);z-index:500;width:0%;transition:width .08s linear;pointer-events:none;}

/* ── Page transition ── */
body{animation:pageFadeIn .45s ease forwards;}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
body.fade-out{opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease;}

/* ── Module card 3D tilt ── */
.ac-level-card{will-change:transform;}

/* ── Treatment item hover ── */
.t-sub-item{transition:background .2s,padding-left .2s;}
.t-sub-item:hover{background:rgba(200,168,130,0.04);padding-left:8px;}

/* ── Stat number ── */
.stat-num{transition:color .3s;}
