/* ============================================================
   O DESPERTAR PARA A VIDA PLENA — Curso 2 · Educar Mentes
   Estilo editorial da família Educar Mentes, layout próprio.
   Paleta "amanhecer": noite profunda -> brilho âmbar/aurora.
   ============================================================ */

:root{
  --bg:        #0e1320;
  --bg-2:      #151d2e;
  --bg-3:      #1d2740;
  --text:      #ECE8E0;
  --text-soft: #AEB4C2;
  --muted:     #7B8294;
  --accent:    #E0A458;   /* âmbar do amanhecer */
  --accent-2:  #6FBFB0;   /* verde sereno (paz) */
  --line:      rgba(255,255,255,.08);
  --serif:     "Fraunces", Georgia, "Times New Roman", serif;
  --sans:      "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:16px;
  overflow-x:hidden;
}
.container{ width:100%; max-width:1140px; margin:0 auto; padding:0 24px; }
.text-center{ text-align:center; }
section{ padding:96px 0; position:relative; }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.18; }
a{ color:inherit; text-decoration:none; }

.section-label{
  display:inline-block; font-family:var(--sans); font-size:12px; font-weight:700;
  letter-spacing:4px; text-transform:uppercase; color:var(--accent);
}
.dawn-line{ width:54px; height:3px; border-radius:2px; margin:14px 0 22px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
.text-center .dawn-line{ margin-left:auto; margin-right:auto; }
.section-title{ font-size:38px; margin-bottom:18px; }
.section-subtitle{ color:var(--text-soft); font-size:18px; max-width:680px; }
.text-center .section-subtitle{ margin-left:auto; margin-right:auto; }
.verse{ font-family:var(--serif); font-style:italic; color:var(--text-soft); }
.verse cite{ display:block; font-style:normal; font-size:13px; letter-spacing:1px;
  color:var(--accent); margin-top:8px; text-transform:uppercase; }

/* ===== Botões ===== */
.btn-primary,.btn-ghost{
  display:inline-block; font-family:var(--sans); font-weight:700; font-size:15px;
  padding:15px 32px; border-radius:50px; cursor:pointer; transition:.3s; border:1px solid transparent;
}
.btn-primary{ background:linear-gradient(90deg,var(--accent),#d08f3f); color:#1a1208; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(224,164,88,.3); }
.btn-ghost{ border-color:rgba(255,255,255,.2); color:var(--text); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }

/* ===== Header ===== */
.header{ position:fixed; top:0; left:0; width:100%; z-index:1000;
  padding:18px 0; transition:.3s; }
.header.scrolled{ background:rgba(14,19,32,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line); padding:12px 0; }
.header .container{ display:flex; align-items:center; justify-content:space-between; }
.header-logo img{ height:38px; }
.nav-links{ display:flex; gap:30px; list-style:none; align-items:center; }
.nav-links a{ font-size:14px; color:var(--text-soft); transition:.2s; }
.nav-links a:hover{ color:var(--accent); }
.nav-cta{ background:var(--accent); color:#1a1208 !important; padding:9px 20px;
  border-radius:50px; font-weight:700; }
.hamburger{ display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span{ width:26px; height:2px; background:var(--text); }

/* ===== Hero ===== */
.hero{ min-height:100vh; display:flex; align-items:center; padding-top:120px;
  background:
    radial-gradient(900px 500px at 80% -10%, rgba(224,164,88,.22), transparent 60%),
    radial-gradient(700px 500px at 10% 110%, rgba(111,191,176,.12), transparent 55%),
    var(--bg); }
.hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center; }
.hero-inner{ max-width:none; }
.hero-emblem{ text-align:center; }
.hero-emblem img{ width:100%; max-width:430px; height:auto;
  filter:drop-shadow(0 22px 55px rgba(224,164,88,.28));
  animation:emblemFloat 6s ease-in-out infinite; }
@keyframes emblemFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.hero .verse{ font-size:17px; margin-bottom:24px; }
.hero h1{ font-size:62px; line-height:1.05; margin-bottom:20px; }
.hero h1 .em{ background:linear-gradient(90deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-tagline{ font-size:20px; color:var(--text-soft); margin-bottom:34px; max-width:640px; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:12px; margin:34px 0; }
.hero-badge{ display:inline-flex; align-items:center; gap:8px; font-size:13px;
  padding:9px 16px; border:1px solid var(--line); border-radius:50px; color:var(--text-soft); }
.hero-badge i{ color:var(--accent); }
.hero-buttons{ display:flex; gap:14px; flex-wrap:wrap; }

/* ===== Conceito (faixa) ===== */
.concept{ background:var(--bg-2); }
.concept-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.concept-quote{ font-family:var(--serif); font-size:30px; line-height:1.4; }
.concept-quote .em{ color:var(--accent); }

/* ===== Jornada (8 módulos como trilha vertical) ===== */
.journey{ background:var(--bg); }
.journey-track{ max-width:820px; margin:48px auto 0; position:relative; }
.journey-track::before{ content:''; position:absolute; left:31px; top:8px; bottom:8px;
  width:2px; background:linear-gradient(180deg,var(--accent),var(--accent-2)); opacity:.35; }
.journey-step{ position:relative; padding:0 0 38px 84px; }
.journey-step:last-child{ padding-bottom:0; }
.journey-num{ position:absolute; left:0; top:0; width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--serif);
  font-size:22px; color:var(--accent); background:var(--bg-2);
  border:1px solid rgba(224,164,88,.4); }
.journey-step h4{ font-size:21px; margin-bottom:6px; }
.journey-step p{ color:var(--text-soft); margin-bottom:8px; }
.journey-step .verse{ font-size:14px; }

/* ===== Mentor ===== */
.mentor{ background:var(--bg-2); }
.mentor-grid{ display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:center; }
.mentor-photo{ border-radius:16px; overflow:hidden; border:1px solid var(--line);
  background:var(--bg-3); aspect-ratio:4/5; }
.mentor-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.mentor-role{ color:var(--accent); font-weight:700; margin-bottom:16px; }
.mentor p{ color:var(--text-soft); margin-bottom:14px; }

/* ===== Para quem é ===== */
.audience-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.audience-card{ background:var(--bg-2); border:1px solid var(--line); border-radius:14px;
  padding:32px 26px; }
.audience-card i{ font-size:30px; color:var(--accent); margin-bottom:14px; }
.audience-card h4{ font-size:19px; margin-bottom:8px; }
.audience-card p{ color:var(--text-soft); font-size:15px; }

/* ===== Disclaimer (cuidado profissional) ===== */
.care-note{ background:var(--bg-3); border:1px solid rgba(111,191,176,.3);
  border-left:4px solid var(--accent-2); border-radius:10px; padding:24px 28px;
  max-width:880px; margin:0 auto; }
.care-note h4{ font-family:var(--sans); font-size:15px; letter-spacing:1px;
  text-transform:uppercase; color:var(--accent-2); margin-bottom:8px; }
.care-note p{ color:var(--text-soft); font-size:15px; }

/* ===== Investimento ===== */
.pricing{ background:var(--bg); }
.pricing-card{ max-width:520px; margin:48px auto 0; background:var(--bg-2);
  border:1px solid rgba(224,164,88,.3); border-radius:18px; padding:46px 40px; text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.4); }
.pricing-card .label{ font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--accent); }
.pricing-card .name{ font-family:var(--serif); font-size:28px; margin:8px 0 18px; }
.pricing-card .price{ font-family:var(--serif); font-size:58px; line-height:1; }
.pricing-card .price small{ display:block; font-family:var(--sans); font-size:14px;
  color:var(--muted); margin-top:8px; font-weight:600; }
.pricing-features{ list-style:none; text-align:left; margin:28px 0; }
.pricing-features li{ padding:9px 0 9px 30px; position:relative; color:var(--text-soft); border-bottom:1px solid var(--line); }
.pricing-features li::before{ content:'\f00c'; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; left:0; color:var(--accent); font-size:13px; }

/* ===== FAQ ===== */
.faq{ background:var(--bg-2); }
.faq-list{ max-width:820px; margin:40px auto 0; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-question{ width:100%; background:none; border:none; color:var(--text); cursor:pointer;
  font-family:var(--sans); font-size:18px; font-weight:600; text-align:left;
  padding:22px 40px 22px 0; position:relative; }
.faq-icon{ position:absolute; right:0; top:22px; color:var(--accent); font-size:22px; transition:.3s; }
.faq-item.open .faq-icon{ transform:rotate(45deg); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-answer-inner{ padding:0 0 22px; color:var(--text-soft); }

/* ===== Footer ===== */
.footer{ background:var(--bg); border-top:1px solid var(--line); padding:56px 0 32px; }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }
.footer-brand img{ height:34px; margin-bottom:16px; }
.footer-brand p{ color:var(--muted); font-size:14px; max-width:320px; }
.footer h5{ font-family:var(--sans); font-size:14px; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; }
.footer-links{ list-style:none; }
.footer-links li{ margin-bottom:10px; }
.footer-links a{ color:var(--text-soft); font-size:14px; }
.footer-links a:hover{ color:var(--accent); }
.footer-bottom{ border-top:1px solid var(--line); margin-top:40px; padding-top:24px;
  text-align:center; color:var(--muted); font-size:13px; }

/* ===== CTA banner ===== */
.cta-banner{ text-align:center; background:
  radial-gradient(700px 360px at 50% 0%, rgba(224,164,88,.18), transparent 60%), var(--bg-2); }
.cta-banner h2{ font-size:40px; max-width:760px; margin:0 auto 16px; }
.cta-banner p{ color:var(--text-soft); max-width:600px; margin:0 auto 30px; }

/* ===== Reveal on scroll ===== */
.fade-up{ opacity:0; transform:translateY(28px); transition:.7s ease; }
.fade-up.in{ opacity:1; transform:none; }

/* ===== Responsivo ===== */
@media (max-width:900px){
  .nav-links{ display:none; }
  .hamburger{ display:flex; }
  .concept-grid,.mentor-grid{ grid-template-columns:1fr; gap:32px; }
  .audience-cards{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero-grid{ grid-template-columns:1fr; gap:28px; }
  .hero-emblem{ order:-1; }
  .hero-emblem img{ max-width:240px; }
  .hero h1{ font-size:42px; }
  .section-title{ font-size:30px; }
  section{ padding:72px 0; }
}
