/* ── RESET ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'DM Sans', -apple-system, sans-serif; background: #FFFFFF; color: #111827; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --pink: #E8186D; --pink-d: #B5124F; --pink-bg: #FDF0F5; --pink-lt: #FCE7F3;
  --blue: #2563EB; --blue-bg: #EFF6FF;
  --warm: #F97316; --warm-bg: #FFF7ED;
  --dark: #09090F; --ink: #111827; --body: #374151; --muted: #6B7280;
  --xmuted: #9CA3AF; --border: #E5E7EB; --snow: #F9FAFB; --card: #F3F4F6;
  --green: #059669; --red: #DC2626; --radius: 12px; --radius-sm: 8px;
}

/* ── SCROLL PROGRESS ────────────────────────────────────── */
.scroll-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--pink),var(--blue)); z-index:999; width:0%; transition:width 0.1s linear; }

/* ══ NAV ════════════════════════════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 60px;
  background:rgba(255,255,255,0.97); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(0,0,0,0.06); transition:box-shadow 0.3s;
}
nav.scrolled { box-shadow:0 2px 24px rgba(0,0,0,0.08); }
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; z-index:210; }
.nav-logo-img { height:36px; width:auto; display:block; }
.nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:2px; background:linear-gradient(135deg,var(--pink),var(--blue)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-links { display:flex; align-items:center; gap:28px; list-style:none; }
.nav-links a { text-decoration:none; color:var(--body); font-size:14px; font-weight:500; transition:color 0.2s; white-space:nowrap; }
.nav-links a:hover, .nav-links a.active { color:var(--pink); }
.nav-cta { background:var(--pink)!important; color:white!important; padding:9px 22px; border-radius:50px; font-weight:600!important; transition:background 0.2s,transform 0.2s!important; }
.nav-cta:hover { background:var(--pink-d)!important; transform:translateY(-1px); }
.nav-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; cursor:pointer; padding:8px; background:none; border:none; z-index:210; }
.nav-hamburger span { display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform 0.3s,opacity 0.3s; transform-origin:center; }
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile overlay */
.nav-overlay { display:none; position:fixed; inset:0; z-index:190; background:rgba(0,0,0,0.5); backdrop-filter:blur(4px); }
.nav-overlay.open { display:block; }

/* Mobile drawer */
.nav-drawer { position:fixed; top:0; right:0; bottom:0; width:min(320px,88vw); z-index:195; background:white; box-shadow:-4px 0 40px rgba(0,0,0,0.15); display:flex; flex-direction:column; transform:translateX(100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); }
.nav-drawer.open { transform:translateX(0); }
.nav-drawer-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--border); }
.nav-drawer-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-drawer-logo img { height:28px; }
.nav-drawer-logo-text { font-family:'Bebas Neue',sans-serif; font-size:17px; letter-spacing:2px; background:linear-gradient(135deg,var(--pink),var(--blue)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-drawer-close { width:34px; height:34px; border-radius:50%; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; background:var(--snow); flex-shrink:0; transition:background 0.2s; }
.nav-drawer-close:hover { background:var(--pink-bg); }
.nav-drawer-links { flex:1; overflow-y:auto; padding:8px 0; }
.nav-drawer-links a { display:flex; align-items:center; justify-content:space-between; padding:15px 24px; text-decoration:none; font-size:15px; font-weight:500; color:var(--ink); border-left:3px solid transparent; transition:all 0.15s; }
.nav-drawer-links a:hover { background:var(--snow); color:var(--pink); border-left-color:var(--pink); }
.nav-drawer-links a.active { color:var(--pink); border-left-color:var(--pink); background:var(--pink-bg); }
.nav-drawer-divider { height:1px; background:var(--border); margin:6px 24px; }
.nav-drawer-cta { padding:16px 24px 32px; }
.nav-drawer-cta a { display:block; text-align:center; background:var(--pink); color:white; padding:14px; border-radius:50px; font-weight:600; font-size:15px; text-decoration:none; transition:background 0.2s; }
.nav-drawer-cta a:hover { background:var(--pink-d); }
.nav-drawer-tagline { font-size:11px; color:var(--xmuted); text-align:center; margin-top:10px; line-height:1.5; }

/* ── FOOTER ─────────────────────────────────────────────── */
footer { background:var(--dark); border-top:1px solid rgba(255,255,255,0.06); padding:60px 60px 40px; }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:48px; }
.footer-brand-logo { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-brand-logo img { height:32px; }
.footer-brand-logo-text { font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:2px; background:linear-gradient(135deg,var(--pink),var(--blue)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.footer-brand-desc { font-size:13px; color:rgba(255,255,255,0.35); line-height:1.7; max-width:260px; }
.footer-col-title { font-size:11px; font-weight:600; letter-spacing:2px; color:rgba(255,255,255,0.25); text-transform:uppercase; margin-bottom:16px; }
.footer-col a { display:block; font-size:13.5px; color:rgba(255,255,255,0.45); text-decoration:none; margin-bottom:10px; transition:color 0.2s; }
.footer-col a:hover { color:var(--pink); }
.footer-bottom { max-width:1100px; margin:40px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,0.06); display:flex; justify-content:space-between; align-items:center; }
.footer-copy { font-size:12px; color:rgba(255,255,255,0.2); }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--pink); color:white; padding:13px 28px; border-radius:50px; font-weight:600; font-size:15px; text-decoration:none; border:none; cursor:pointer; font-family:inherit; transition:background 0.2s,transform 0.2s; }
.btn-primary:hover { background:var(--pink-d); transform:translateY(-2px); }
.btn-outline { display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--border); color:var(--body); padding:12px 28px; border-radius:50px; font-weight:500; font-size:15px; text-decoration:none; background:transparent; cursor:pointer; font-family:inherit; transition:border-color 0.2s,color 0.2s; }
.btn-outline:hover { border-color:var(--pink); color:var(--pink); }
.btn-dark { display:inline-flex; align-items:center; gap:8px; background:var(--dark); color:white; padding:13px 28px; border-radius:50px; font-weight:600; font-size:15px; text-decoration:none; transition:opacity 0.2s,transform 0.2s; }
.btn-dark:hover { opacity:0.85; transform:translateY(-2px); }
.btn-cashapp { display:inline-flex; align-items:center; gap:10px; background:#00D632; color:white; padding:13px 28px; border-radius:50px; font-weight:600; font-size:15px; text-decoration:none; border:none; cursor:pointer; font-family:inherit; transition:opacity 0.2s,transform 0.2s; }
.btn-cashapp:hover { opacity:0.88; transform:translateY(-2px); }

/* ── SECTION SHARED ──────────────────────────────────────── */
.section-tag { display:inline-block; font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--pink); margin-bottom:14px; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(30px,4vw,46px); font-weight:700; color:var(--ink); line-height:1.12; margin-bottom:20px; }
.section-sub { font-size:16px; line-height:1.8; color:var(--muted); }

/* ── REVEAL ──────────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:0.1s; } .reveal-d2 { transition-delay:0.2s; } .reveal-d3 { transition-delay:0.3s; }

/* ── SCROLL TOP ──────────────────────────────────────────── */
.scroll-top { position:fixed; bottom:28px; right:28px; width:44px; height:44px; border-radius:50%; background:var(--pink); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(232,24,109,0.35); opacity:0; transform:translateY(10px); transition:opacity 0.3s,transform 0.3s; z-index:90; }
.scroll-top.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:960px){
  nav { padding:14px 20px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  footer { padding:40px 20px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
}
@media(max-width:520px){
  .footer-inner { grid-template-columns:1fr; }
}
