:root{
  --pink:#f4a7c3;--dpink:#d4608a;--plum:#2d1b2e;--mauve:#8b4a6e;
  --bg:#fdf5f8;--white:#fff;--text:#1a0f14;--muted:#9a7585;--border:#f0e4ea;
  --green:#25D366;--spring:cubic-bezier(.34,1.56,.64,1);--smooth:cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;cursor:none}

/* ── SCROLL PROGRESS ── */
#sp{position:fixed;top:42px;left:0;height:3px;background:linear-gradient(90deg,var(--pink),var(--mauve));z-index:1001;width:0;transition:width .1s linear}

/* ── CURSOR ── */
.cd{position:fixed;left:-100px;top:-100px;width:8px;height:8px;background:var(--mauve);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s var(--spring),height .3s var(--spring);mix-blend-mode:multiply}
.cr{position:fixed;left:-100px;top:-100px;width:40px;height:40px;border:1.5px solid var(--mauve);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s var(--spring),height .3s var(--spring);opacity:.45}
.cd.big{width:5px;height:5px}.cr.big{width:60px;height:60px;opacity:.2;border-color:var(--dpink)}

/* ── ANNOUNCEMENT BAR ── */
.ann-bar{background:var(--plum);padding:10px 0;overflow:hidden;position:fixed;top:0;left:0;right:0;z-index:401;height:42px}
.ann-track{display:flex;gap:0;animation:ann 30s linear infinite;white-space:nowrap}
.ann-item{font-size:12px;font-weight:400;color:rgba(255,255,255,.85);padding:0 40px;flex-shrink:0;letter-spacing:.04em}
.ann-item strong{color:var(--pink)}
@keyframes ann{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── WA FLOAT ── */
.wa-float{position:fixed;bottom:28px;right:24px;z-index:400;display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:13px 20px 13px 15px;border-radius:100px;font-size:13px;font-weight:500;text-decoration:none;box-shadow:0 8px 28px rgba(37,211,102,.38);transition:transform .3s var(--spring),box-shadow .3s;animation:waIn .8s 2s var(--spring) both}
.wa-float:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 14px 40px rgba(37,211,102,.46)}
.wa-ping{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#ff4757;border-radius:50%;border:2px solid #fff;animation:ping 2s ease-in-out infinite}
@keyframes waIn{from{transform:translateY(80px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes ping{0%,100%{transform:scale(1)}50%{transform:scale(1.5);opacity:.6}}

/* ── HEADER ── */
header{position:fixed;top:42px;left:0;right:0;z-index:300;padding:18px 56px;display:flex;align-items:center;justify-content:space-between;transition:all .4s var(--smooth)}
header.sc{background:rgba(253,245,248,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:8px 56px;box-shadow:0 2px 20px rgba(45,27,46,.08)}
.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none}
.logo-img{height:96px;width:auto;object-fit:contain;display:block;transition:height .3s var(--smooth)}
header.sc .logo-img{height:48px}
.logo-img-ft{height:100px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.88}
nav{display:flex;align-items:center;gap:30px}
nav a:not(.nwa){font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;position:relative}
nav a:not(.nwa)::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--mauve);transition:width .3s var(--smooth)}
nav a:not(.nwa):hover{color:var(--plum)}
nav a:not(.nwa):hover::after{width:100%}
.nwa{display:flex;align-items:center;gap:7px;background:var(--plum);color:#fff;padding:9px 20px;border-radius:100px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .25s,transform .2s var(--spring)}
.nwa:hover{background:var(--mauve);transform:translateY(-1px)}

/* ── HAMBURGER ── */
.ham-btn{display:none;flex-direction:column;gap:5px;width:42px;height:42px;padding:0;background:var(--plum);border:none;cursor:pointer;z-index:301;align-items:center;justify-content:center;border-radius:12px;transition:background .25s var(--smooth),transform .2s var(--spring),border-radius .3s;flex-shrink:0}
.ham-btn:active{transform:scale(.92)}
.ham-btn span{display:block;width:18px;height:1.8px;background:#fff;border-radius:2px;transition:transform .35s var(--spring),opacity .25s,width .3s var(--smooth);transform-origin:center}
.ham-btn.open{background:var(--mauve);border-radius:50%}
.ham-btn.open span:nth-child(1){transform:translateY(6.8px) rotate(45deg);width:18px}
.ham-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham-btn.open span:nth-child(3){transform:translateY(-6.8px) rotate(-45deg);width:18px}

/* ── MOBILE NAV DRAWER ── */
.nav-overlay{position:fixed;inset:0;background:rgba(45,27,46,.55);z-index:290;opacity:0;pointer-events:none;transition:opacity .35s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nav-overlay.open{opacity:1;pointer-events:all}
.nav-mobile{position:fixed;top:0;right:0;height:100%;width:min(300px,85vw);background:#fff;z-index:296;transform:translateX(110%);transition:transform .42s var(--smooth);display:flex;flex-direction:column;overflow-y:auto;box-shadow:-12px 0 50px rgba(45,27,46,.22)}
.nav-mobile.open{transform:translateX(0)}
.nav-mobile-links{display:flex;flex-direction:column;padding:64px 24px 36px;flex:1}
.nav-mobile-links a:not(.nwa-m){font-family:'DM Sans',sans-serif;font-size:17px;font-weight:300;color:var(--plum);text-decoration:none;padding:15px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;transition:color .2s;letter-spacing:.01em}
.nav-mobile-links a:not(.nwa-m)::after{content:'›';font-size:20px;color:var(--border);transition:color .2s,transform .2s}
.nav-mobile-links a:not(.nwa-m):active{color:var(--mauve)}
.nav-mobile-links a:not(.nwa-m):active::after{color:var(--mauve);transform:translateX(4px)}
.nav-mobile .nwa-m{margin-top:24px;background:var(--plum);color:#fff;padding:15px 20px;border-radius:14px;text-align:center;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:background .2s,transform .15s var(--spring)}
.nav-mobile .nwa-m:active{background:var(--mauve);transform:scale(.97)}
