:root {
  --bg: #04090f;
  --bg2: #070f1a;
  --cyan: #00e5ff;
  --blue: #0072ff;
  --blue2: #0038cc;
  --white: #e8f6ff;
  --muted: rgba(180,230,255,0.55);
  --glass: rgba(0,180,255,0.06);
  --glass-border: rgba(0,200,255,0.15);
  --glass-border-hover: rgba(0,220,255,0.35);
  --font-display: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--white);font-family:var(--font-body);font-size:16px;line-height:1.7;overflow-x:hidden;cursor:none;}

/* ── SECTIONS BASE ── */
section{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:7rem 2rem;}
.section-label{font-family:var(--font-display);font-size:0.68rem;letter-spacing:4px;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem;display:flex;align-items:center;gap:10px;}
.section-label::before{content:'';width:28px;height:1px;background:var(--cyan);}
.section-title{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:1.2rem;}
.section-sub{font-size:1rem;color:var(--muted);max-width:560px;line-height:1.8;margin-bottom:0;}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,200,255,0.15),transparent);margin:0 auto;max-width:800px;position:relative;z-index:1;}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s cubic-bezier(.16,1,.3,1),transform 0.8s cubic-bezier(.16,1,.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── ANIMATIONS ── */
@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── PIVA HIDDEN ── */
#piva-section{display:none;}