
:root {
  --black:#050505;
  --charcoal:#111111;
  --gold:#d4af37;
  --soft-gold:#f1d27a;
  --cream:#f4efe5;
  --muted:#b7ab9a;
  --wine:#6b121f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0;
  background: var(--black);
  color: var(--cream);
  font-family: Inter, Arial, sans-serif;
  overflow-x:hidden;
}

.serif { font-family: Georgia, 'Times New Roman', serif; }
.gold { color: var(--gold); }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding: 16px 26px;
  border-radius: 999px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:.35s ease;
  border:1px solid rgba(212,175,55,.6);
  cursor:pointer;
}
.btn-primary {
  color:#111;
  background:linear-gradient(135deg,var(--gold),#fff0a8,var(--gold));
  box-shadow:0 18px 60px rgba(212,175,55,.25);
}
.btn-primary:hover { transform: translateY(-3px); box-shadow:0 24px 80px rgba(212,175,55,.35); }
.btn-secondary { color: var(--cream); background:rgba(255,255,255,.04); }
.btn-secondary:hover { background:rgba(212,175,55,.12); transform: translateY(-3px); }

header {
  position:fixed; top:0; left:0; right:0; z-index:20;
  padding: 18px 6vw;
  display:flex; align-items:center; justify-content:space-between;
  backdrop-filter: blur(18px);
  background:rgba(0,0,0,.36);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.brand {
  font-family:Georgia,serif;
  color:var(--gold);
  letter-spacing:.22em;
  font-size:18px;
  text-transform:uppercase;
}
nav a {
  color:var(--muted); text-decoration:none; margin-left:28px; font-size:13px;
  letter-spacing:.12em; text-transform:uppercase;
}
nav a:hover { color:var(--gold); }

.hero {
  min-height:100vh;
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  align-items:center;
  gap:40px;
  padding: 130px 6vw 70px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 45%, rgba(212,175,55,.22), transparent 34%),
    linear-gradient(135deg, #030303 0%, #111 45%, #1b130d 100%);
}
.hero:before {
  content:"";
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:70px 70px;
  mask-image:linear-gradient(to bottom, transparent, #000 22%, #000 80%, transparent);
  pointer-events:none;
}
.hero-copy { position:relative; z-index:1; max-width:720px; }
.eyebrow {
  color:var(--soft-gold);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:22px;
}
h1 {
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(48px,8vw,104px);
  line-height:.92;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.subtitle {
  margin-top:18px;
  font-family:Georgia,serif;
  color:var(--gold);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:clamp(13px,1.6vw,18px);
}
.hero p {
  color:#d8d0c3;
  font-size:20px;
  line-height:1.7;
  max-width:620px;
  margin:32px 0;
}
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.hero-media {
  position:relative; z-index:1;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 30px 120px rgba(0,0,0,.7);
  border:1px solid rgba(212,175,55,.28);
}
.hero-media img { width:100%; display:block; }
.floating-price {
  position:absolute; right:6vw; bottom:7vh;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(212,175,55,.45);
  border-radius:22px;
  padding:20px 26px;
  backdrop-filter:blur(16px);
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  z-index:3;
}
.floating-price strong { font-size:30px; color:var(--gold); font-family:Georgia,serif; }

section { padding: 105px 6vw; position:relative; }
.section-title {
  font-family:Georgia,serif;
  font-size:clamp(34px,5vw,68px);
  font-weight:400;
  line-height:1.05;
  margin:0 0 22px;
}
.section-lead {
  color:#cfc5b6;
  font-size:19px;
  line-height:1.75;
  max-width:760px;
  margin:0 auto 56px;
}
.center { text-align:center; }

.split {
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap:70px;
  align-items:center;
}
.panel {
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.11);
  border-radius:34px;
  padding:42px;
  box-shadow:0 30px 90px rgba(0,0,0,.3);
}
.panel p, .panel li { color:#d7ccbd; line-height:1.8; font-size:18px; }
.image-card {
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.24);
  box-shadow:0 30px 100px rgba(0,0,0,.5);
}
.image-card img { width:100%; display:block; }

.features {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
  margin-top:40px;
}
.feature {
  padding:30px;
  border-radius:28px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
}
.feature span { font-size:28px; color:var(--gold); }
.feature h3 { font-family:Georgia,serif; font-weight:400; color:var(--soft-gold); }
.feature p { color:#cfc5b6; line-height:1.65; }

.pricing {
  display:grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap:28px;
  max-width:980px;
  margin: 0 auto;
}
.price-card {
  border-radius:36px;
  padding:42px;
  background:linear-gradient(145deg, rgba(212,175,55,.13), rgba(255,255,255,.035));
  border:1px solid rgba(212,175,55,.32);
  position:relative;
  overflow:hidden;
}
.price-card:before {
  content:"";
  position:absolute; width:180px; height:180px; border-radius:50%;
  background:rgba(212,175,55,.18); top:-80px; right:-70px; filter:blur(15px);
}
.price {
  font-family:Georgia,serif;
  font-size:72px;
  color:var(--gold);
  margin:10px 0;
}
.price-card ul { padding-left:20px; color:#d7ccbd; line-height:2; text-align:left; }
.price-card h3 { font-family:Georgia,serif; font-size:34px; font-weight:400; margin:0; }

.quote {
  min-height:560px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.55), rgba(0,0,0,.2)),
    url('../images/nelly-coaching.png') center/cover;
  border-top:1px solid rgba(212,175,55,.2);
  border-bottom:1px solid rgba(212,175,55,.2);
}
.quote-box {
  max-width:720px;
  padding:56px;
  border-radius:36px;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
}
.quote-box p {
  font-family:Georgia,serif;
  font-size:clamp(28px,4vw,54px);
  line-height:1.18;
  margin:0 0 26px;
}

.mockup-wide {
  max-width:1200px;
  margin:0 auto;
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.24);
  box-shadow:0 34px 110px rgba(0,0,0,.5);
}
.mockup-wide img { width:100%; display:block; }

.final-cta {
  text-align:center;
  padding:120px 6vw;
  background:
    radial-gradient(circle at center, rgba(212,175,55,.18), transparent 42%),
    linear-gradient(#050505,#0d0a06);
}
.final-cta h2 {
  font-family:Georgia,serif;
  font-size:clamp(42px,7vw,90px);
  font-weight:400;
  line-height:1;
  margin:0 0 22px;
}

footer {
  padding:34px 6vw;
  display:flex;
  justify-content:space-between;
  color:#857b6d;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:13px;
}

.reveal {
  opacity:0;
  transform:translateY(35px);
  transition:1s ease;
}
.reveal.visible {
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 900px) {
  .hero, .split, .features, .pricing {
    grid-template-columns:1fr;
  }
  nav { display:none; }
  .floating-price { position:static; margin:24px 6vw; }
  .hero { padding-top:110px; }
  .panel { padding:28px; }
  footer { flex-direction:column; gap:12px; }
}
