@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600&family=Space+Mono:wght@400;700&display=swap');

:root {
  --purple: #7B2FBE;
  --purple-dark: #4A1A7C;
  --purple-deep: #1A0033;
  --gold: #F0B429;
  --gold-light: #FDE68A;
  --cream: #FAF8F5;
  --white: #FFFFFF;
  --text: #1A0033;
  --muted: #6B5A82;
  --border: rgba(123,47,190,0.12);
  --card-bg: rgba(255,255,255,0.9);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--cream);
  color: var(--text);
  overflow-x: hidden;
}

/* ── NAVBAR ── */
.navbar {
  position: fixed; top:0; width:100%; z-index:1000;
  display:flex; justify-content:space-between; align-items:center;
  padding: .9rem 4rem;
  background: rgba(250,248,245,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .3s;
}
.navbar.scrolled { box-shadow: 0 4px 24px rgba(123,47,190,0.1); }

.nav-brand { display:flex; align-items:center; gap:.85rem; text-decoration:none; }
.nav-logo-img { height:44px; width:auto; }
.nav-brand-text { line-height:1.2; }
.nav-brand-name {
  font-family: 'Cormorant Garamond', serif;
  font-size:1.2rem; font-weight:700; color:var(--purple-dark);
  display:block;
}
.nav-brand-sub {
  font-size:.62rem; color:var(--muted); letter-spacing:.1em;
  text-transform:uppercase; display:block;
}

.nav-links { display:flex; gap:2.2rem; list-style:none; }
.nav-links a {
  text-decoration:none; color:var(--text); font-size:.85rem;
  font-weight:500; letter-spacing:.02em;
  transition:color .2s; padding-bottom:2px;
  border-bottom:2px solid transparent;
}
.nav-links a:hover, .nav-links a.active { color:var(--purple); border-bottom-color:var(--gold); }

.nav-cta {
  background:var(--purple-dark); color:var(--white);
  padding:.6rem 1.5rem; border-radius:100px;
  font-size:.82rem; font-weight:600; text-decoration:none;
  letter-spacing:.03em;
  transition:background .2s, transform .2s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(74,26,124,0.3);
}
.nav-cta:hover { background:var(--purple); transform:translateY(-1px); box-shadow:0 6px 24px rgba(123,47,190,0.4); }

/* ── PAGE HERO BANDS ── */
.page-hero {
  padding: 9rem 4rem 4rem;
  background: linear-gradient(135deg, var(--purple-deep) 0%, var(--purple-dark) 60%, var(--purple) 100%);
  position:relative; overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:50px 50px;
}
.page-hero-inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
.page-hero-tag {
  font-family:'Space Mono',monospace; font-size:.7rem;
  letter-spacing:.15em; text-transform:uppercase; color:var(--gold);
  margin-bottom:.75rem; display:block;
}
.page-hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,5vw,4rem); font-weight:700; line-height:1.1;
  color:var(--white); margin-bottom:1rem;
}
.page-hero-sub { font-size:1rem; color:rgba(255,255,255,.65); max-width:550px; line-height:1.75; }

/* ── SECTIONS ── */
.section { padding:5rem 4rem; }
.section-inner { max-width:1100px; margin:0 auto; }

.section-tag {
  font-family:'Space Mono',monospace; font-size:.7rem;
  letter-spacing:.15em; text-transform:uppercase; color:var(--purple);
  margin-bottom:.6rem;
}
.section-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:700; line-height:1.15;
  color:var(--text); margin-bottom:.9rem;
}
.section-sub { color:var(--muted); font-size:.95rem; line-height:1.75; max-width:580px; }

/* ── CARDS ── */
.card {
  background:var(--white); border-radius:18px; padding:1.8rem;
  border:1px solid var(--border);
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.card:hover {
  transform:translateY(-5px);
  box-shadow:0 14px 44px rgba(123,47,190,0.13);
  border-color:rgba(123,47,190,0.22);
}

/* ── BUTTONS ── */
.btn-primary {
  display:inline-block;
  background:var(--purple-dark); color:var(--white);
  padding:.82rem 2rem; border-radius:100px;
  font-size:.88rem; font-weight:600; text-decoration:none; letter-spacing:.03em;
  transition:background .2s, transform .2s, box-shadow .2s;
  box-shadow:0 4px 18px rgba(74,26,124,0.3);
}
.btn-primary:hover { background:var(--purple); transform:translateY(-2px); box-shadow:0 8px 28px rgba(123,47,190,0.4); }

.btn-outline {
  display:inline-block;
  border:2px solid var(--purple-dark); color:var(--purple-dark);
  padding:.8rem 2rem; border-radius:100px;
  font-size:.88rem; font-weight:600; text-decoration:none;
  transition:all .2s;
}
.btn-outline:hover { background:var(--purple-dark); color:var(--white); transform:translateY(-2px); }

/* ── FADE ANIMATIONS ── */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.fade-up.visible { opacity:1; transform:none; }

/* ── FOOTER ── */
footer {
  background:var(--purple-deep); color:rgba(255,255,255,.55);
  padding:3rem 4rem;
}
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand {}
.footer-logo { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; text-decoration:none; }
.footer-logo-img { height:42px; width:auto; filter:brightness(1.5); }
.footer-logo-name { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:700; color:var(--white); }
.footer-tagline { font-size:.82rem; line-height:1.65; color:rgba(255,255,255,.45); }
.footer-col h4 { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:700; color:var(--white); margin-bottom:1rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.6rem; }
.footer-col a { text-decoration:none; color:rgba(255,255,255,.5); font-size:.82rem; transition:color .2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { max-width:1100px; margin:0 auto; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; }
.footer-bottom p { font-size:.78rem; }

/* ── SCROLL PROGRESS ── */
.scroll-bar { position:fixed; top:0; left:0; height:3px; background:var(--gold); z-index:9999; transition:width .08s; }

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .navbar { padding:.9rem 1.5rem; }
  .nav-links { display:none; }
  .page-hero { padding:7rem 1.5rem 3rem; }
  .section { padding:3.5rem 1.5rem; }
  footer { padding:2.5rem 1.5rem; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:.5rem; text-align:center; }
}
