@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,600;1,9..144,400&family=Josefin+Sans:wght@300;400;600;700&display=swap');

:root {
  --bg: #080E1A;
  --card: #0F1829;
  --card2: #131F33;
  --navy: #0A1628;
  --deep: #050C18;
  --gold: #C9960A;
  --gold-light: #F0B429;
  --gold-pale: rgba(201,150,10,0.12);
  --blue: #1A3A6B;
  --blue-light: #2E5FA3;
  --mid: #8BA4C8;
  --muted: #4A6080;
  --text: #D4E4F7;
  --white: #EEF4FF;
  --border: rgba(201,150,10,0.15);
  --border-blue: rgba(46,95,163,0.25);
}

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

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

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:1.2rem 4rem;
  background:rgba(5,12,24,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}

.nav-logo {
  font-family:'Fraunces',serif;
  font-size:0.95rem; font-weight:600;
  color:var(--gold-light); letter-spacing:-0.01em;
  text-decoration:none; white-space:nowrap;
}

.nav-links { display:flex; gap:1.75rem; list-style:none; align-items:center; }

.nav-links a {
  text-decoration:none; color:var(--mid);
  font-size:0.75rem; font-weight:600;
  letter-spacing:0.08em; text-transform:uppercase;
  transition:color 0.2s;
  padding-bottom:2px; border-bottom:2px solid transparent;
}

.nav-links a:hover, .nav-links a.active { color:var(--gold-light); border-bottom-color:var(--gold); }

.nav-cta {
  background:var(--gold) !important; color:#050C18 !important;
  padding:0.5rem 1.25rem !important; border-radius:50px !important;
  border-bottom:none !important; font-weight:700 !important;
  transition:background 0.2s !important;
}
.nav-cta:hover { background:var(--gold-light) !important; }

/* ── PAGE HEADER ── */
.page-header {
  padding:9rem 4rem 5rem;
  background:var(--deep);
  position:relative; overflow:hidden;
}

.page-header-bg {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,150,10,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,150,10,0.04) 1px, transparent 1px);
  background-size:50px 50px; pointer-events:none;
}

.page-header-glow {
  position:absolute; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(26,58,107,0.3) 0%, transparent 70%);
  top:-150px; right:-150px; pointer-events:none;
}

.page-header-glow2 {
  position:absolute; width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,150,10,0.08) 0%, transparent 70%);
  bottom:-100px; left:-100px; pointer-events:none;
}

.page-eyebrow {
  font-size:0.7rem; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:0.75rem; position:relative;
  display:flex; align-items:center; gap:0.75rem;
}

.page-eyebrow::before {
  content:''; width:28px; height:2px;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
  border-radius:2px;
}

.page-title {
  font-family:'Fraunces',serif;
  font-size:clamp(2.5rem,4vw,4.5rem);
  font-weight:400; line-height:1.1;
  letter-spacing:-0.03em; color:var(--white);
  position:relative;
}

.page-title em { font-style:italic; color:var(--gold-light); }

.page-subtitle {
  margin-top:1.25rem; font-size:1rem;
  color:var(--mid); line-height:1.85;
  max-width:600px; position:relative;
}

/* ── SHARED ── */
.section-eyebrow {
  font-size:0.7rem; font-weight:700; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:0.75rem;
  display:flex; align-items:center; gap:0.6rem;
}

.section-eyebrow::before {
  content:''; width:22px; height:2px;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
  border-radius:2px;
}

.section-title {
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,3vw,3rem); font-weight:400;
  line-height:1.2; letter-spacing:-0.02em; color:var(--white);
}

.section-title em { font-style:italic; color:var(--gold-light); }

/* ── BUTTONS ── */
.btn-primary {
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  color:#050C18; padding:0.9rem 2.25rem; border-radius:50px;
  text-decoration:none; font-weight:700;
  font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase;
  transition:all 0.2s; display:inline-block;
  box-shadow:0 4px 24px rgba(201,150,10,0.3);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(201,150,10,0.45); }

.btn-outline {
  border:1.5px solid rgba(201,150,10,0.4); color:var(--gold-light);
  padding:0.9rem 2.25rem; border-radius:50px;
  text-decoration:none; font-weight:700;
  font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase;
  transition:all 0.2s; display:inline-block;
}
.btn-outline:hover { background:var(--gold); color:#050C18; border-color:var(--gold); }

.btn-light {
  background:var(--white); color:var(--deep);
  padding:0.9rem 2.25rem; border-radius:50px;
  text-decoration:none; font-weight:700;
  font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase;
  transition:all 0.2s; display:inline-block;
}
.btn-light:hover { background:var(--gold-light); color:#050C18; transform:translateY(-2px); }

/* ── CARDS ── */
.card {
  background:var(--card); border-radius:20px; padding:2rem;
  border:1px solid var(--border-blue); transition:all 0.3s;
}
.card:hover { border-color:var(--gold); transform:translateY(-4px); box-shadow:0 20px 48px rgba(0,0,0,0.5); }

/* ── FOOTER ── */
footer {
  background:var(--deep);
  border-top:1px solid var(--border);
  padding:3rem 4rem;
  display:flex; justify-content:space-between; align-items:center;
}

.footer-logo {
  font-family:'Fraunces',serif; font-size:0.9rem;
  font-weight:600; color:var(--gold-light); text-decoration:none;
}

.footer-copy { font-size:0.76rem; color:var(--muted); }

.footer-links { display:flex; gap:1.75rem; flex-wrap:wrap; }
.footer-links a {
  color:var(--muted); text-decoration:none;
  font-size:0.74rem; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase;
  transition:color 0.2s;
}
.footer-links a:hover { color:var(--gold-light); }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.1);opacity:.7} }

/* ── TOOL BADGES ── */
.tool-badge-py { display:inline-block; background:#3776AB; color:white; padding:1px 5px; border-radius:3px; font-size:0.75em; font-weight:700; }
.tool-badge-st { display:inline-block; background:#1A6496; color:white; padding:1px 5px; border-radius:3px; font-size:0.75em; font-weight:700; }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  nav { padding:1rem 1.5rem; }
  .nav-links { gap:1rem; }
  .nav-links a { font-size:0.7rem; }
  .page-header { padding:7rem 2rem 3rem; }
  footer { flex-direction:column; gap:1.5rem; text-align:center; }
}
@media(max-width:600px) { .nav-links { display:none; } }
