:root{
  --bg: #0b0a08;
  --bg-panel: #131110;
  --ink: #f4ecdd;
  --ink-muted: #b9ac93;
  --gold: #c9a24d;
  --gold-light: #e9cd8d;
  --gold-deep: #8a6a2f;
  --line: rgba(201,162,77,0.25);
  --success: #7fbf7f;
  --error: #e07a6b;
  --serif: 'Playfair Display', 'Cormorant Garamond', serif;
  --script: 'Cormorant Garamond', serif;
  --sans: 'Jost', sans-serif;
  --maxw: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;margin:0;color:var(--ink);}

:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:3px;
}

/* ambient glows */
.bg-glow{
  position:fixed;
  border-radius:50%;
  filter:blur(120px);
  opacity:.35;
  z-index:0;
  pointer-events:none;
}
.bg-glow--one{
  width:600px;height:600px;
  top:-200px;right:-200px;
  background:radial-gradient(circle, var(--gold-deep), transparent 70%);
}
.bg-glow--two{
  width:500px;height:500px;
  bottom:0;left:-150px;
  background:radial-gradient(circle, var(--gold-deep), transparent 70%);
}

/* HEADER */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px clamp(20px,5vw,60px);
}
.brand-mark{display:flex;align-items:center;gap:10px;}
.brand-logo{
  display:block;
  width:52px;
  height:52px;
}
.brand-ring{
  width:56px;height:56px;
  border:1px solid var(--gold);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.brand-ring::before{
  content:"";
  position:absolute;inset:4px;
  border:1px solid rgba(201,162,77,0.4);
  border-radius:50%;
}
.brand-ring__inner{
  display:flex;flex-direction:column;align-items:center;
  line-height:1;
}
.brand-name{
  font-family:var(--serif);
  font-size:9.5px;
  letter-spacing:1.5px;
  color:var(--gold-light);
  text-transform:uppercase;
}
.brand-sub{
  font-family:var(--script);
  font-style:italic;
  font-size:9px;
  color:var(--gold);
  letter-spacing:2px;
}

.menu-toggle{
  display:flex;align-items:center;gap:10px;
  background:none;border:none;cursor:pointer;
  color:var(--ink);
}
.menu-toggle__box{
  width:38px;height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.menu-toggle__inner,
.menu-toggle__inner::before,
.menu-toggle__inner::after{
  content:"";
  position:absolute;
  width:14px;height:1px;
  background:var(--gold-light);
  transition:transform .35s ease, opacity .35s ease, top .35s ease;
}
.menu-toggle__inner{top:17px;}
.menu-toggle__inner::before{top:-5px;left:0;}
.menu-toggle__inner::after{top:5px;left:0;}
.menu-toggle__label{
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--ink-muted);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__inner{background:transparent;}
.menu-toggle[aria-expanded="true"] .menu-toggle__inner::before{top:0;transform:rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle__inner::after{top:0;transform:rotate(-45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle__label{opacity:0;}

/* NAV OVERLAY */
.nav-overlay{
  position:fixed;
  inset:0;
  z-index:50;
  background:linear-gradient(160deg,#0b0a08 0%, #171310 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:110px clamp(20px,8vw,120px) 40px;
  transform:translateY(-100%);
  opacity:0;
  transition:transform .6s cubic-bezier(.77,0,.18,1), opacity .5s ease;
  pointer-events:none;
  overflow-y:auto;
}
.nav-overlay.is-open{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.nav-overlay__deco{
  position:absolute;
  right:6%;top:50%;
  transform:translateY(-50%);
  opacity:.15;
  width:180px;
}
.leaf-deco{width:100%;fill:none;stroke:var(--gold);stroke-width:1.5;}
.nav-list{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;}
.nav-link{
  display:flex;
  align-items:baseline;
  gap:18px;
  font-family:var(--serif);
  font-size:clamp(18px,3.6vw,34px);
  color:var(--ink-muted);
  padding:6px 0;
  border-bottom:1px solid transparent;
  transition:color .3s ease, border-color .3s ease, padding-left .3s ease;
  width:fit-content;
}
.nav-link::before{
  content:attr(data-index);
  font-family:var(--sans);
  font-size:12px;
  color:var(--gold-deep);
  letter-spacing:1px;
}
.nav-link:hover{color:var(--gold-light);padding-left:14px;}
.nav-overlay__footer{
  display:flex;justify-content:space-between;
  margin-top:30px;
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--ink-muted);
  border-top:1px solid var(--line);
  padding-top:18px;
}

/* MAIN LAYOUT */
main{position:relative;z-index:1;}
.section{
  max-width:var(--maxw);
  margin:0 auto;
  padding:120px clamp(20px,5vw,40px) 90px;
}
.section--panel{
  max-width:none;
  background:var(--bg-panel);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section--panel > *{max-width:var(--maxw);margin-left:auto;margin-right:auto;}

.eyebrow{
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 18px;
}
.kicker{
  display:block;
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:12px;
}
.section__head{max-width:720px;margin-bottom:50px;}
.section__head h2{font-size:clamp(28px,4vw,42px);}
.section__lede{
  margin-top:16px;
  color:var(--ink-muted);
  font-size:17px;
  font-weight:300;
}

/* HERO */
.hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:140px 20px 60px;
  position:relative;
}
.hero__ornament{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:70px;opacity:.6;}
.sprig{width:100%;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;}
.hero__title{margin-bottom:26px;}
.serif-display{
  display:block;
  font-family:var(--serif);
  font-size:clamp(48px,10vw,110px);
  letter-spacing:10px;
  background:linear-gradient(180deg, var(--gold-light), var(--gold) 55%, var(--gold-deep));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1;
}
.script{
  display:block;
  font-family:var(--script);
  font-style:italic;
  font-size:clamp(18px,3vw,28px);
  color:var(--ink-muted);
  margin-top:14px;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.hero__subtitle{
  max-width:600px;
  color:var(--ink-muted);
  font-size:17px;
  margin-bottom:36px;
}
.hero__cta{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;}

.btn{
  padding:15px 34px;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  border-radius:2px;
  border:1px solid transparent;
  transition:all .35s ease;
  display:inline-block;
  cursor:pointer;
  font-family:var(--sans);
}
.btn--ghost{
  border:1px solid var(--gold);
  color:var(--gold-light);
  background:transparent;
}
.btn--ghost:hover{background:var(--gold);color:#12100c;}
.btn--solid{
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:#1a1509;
  font-weight:500;
}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(201,162,77,0.6);}

.social-proof{
  margin-top:50px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  letter-spacing:.5px;
  color:var(--ink-muted);
  border:1px solid var(--line);
  padding:10px 20px;
  border-radius:30px;
}
.social-proof__dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,77,0.25);
}

/* STORY */
.story-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;}
.drop::first-letter{
  font-family:var(--serif);
  font-size:56px;
  float:left;
  line-height:.8;
  padding-right:10px;
  color:var(--gold);
}
.story-copy p{color:var(--ink-muted);margin-bottom:20px;font-size:16px;}
.story-copy strong{color:var(--ink);}
.pillars{display:flex;flex-direction:column;gap:22px;}
.pillar{
  padding:24px;
  border:1px solid var(--line);
  background:linear-gradient(160deg, rgba(201,162,77,0.06), transparent);
}
.pillar h3{font-size:16px;color:var(--gold-light);margin-bottom:10px;}
.pillar p{color:var(--ink-muted);font-size:14.5px;margin:0;}

/* KIT */
.kit-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-bottom:50px;
}
.kit-card{
  background:var(--bg-panel);
  padding:34px 26px;
  position:relative;
}
.kit-card__num{
  font-family:var(--serif);
  font-size:13px;
  color:var(--gold-deep);
  letter-spacing:2px;
}
.kit-card h3{font-size:19px;margin:16px 0 12px;color:var(--gold-light);}
.kit-card p{color:var(--ink-muted);font-size:14px;margin:0;}

/* TWO COL / CHECK LIST */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.two-col__block h4{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
  font-family:var(--sans);
  font-weight:500;
}
.check-list li{
  position:relative;
  padding-left:24px;
  margin-bottom:12px;
  color:var(--ink);
  font-size:15px;
}
.check-list li::before{
  content:"✓";
  position:absolute;left:0;top:0;
  color:var(--gold);
  font-size:13px;
}

/* CARDS GRID (O QUE VOCÊ RECEBE) */
.cards-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.feature-card{
  padding:30px 24px;
  border:1px solid var(--line);
  transition:border-color .3s ease, transform .3s ease;
}
.feature-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.feature-card__ico{color:var(--gold);font-size:18px;}
.feature-card h3{font-size:17px;color:var(--gold-light);margin:14px 0 10px;}
.feature-card p{color:var(--ink-muted);font-size:14px;margin:0;}

/* GANHOS */
.ganhos-card{
  max-width:560px;
  margin:0 auto;
  text-align:center;
  padding:60px 40px;
  border:1px solid var(--gold);
  background:radial-gradient(circle at 50% 0%, rgba(201,162,77,0.15), transparent 60%), var(--bg-panel);
}
.ganhos-card__value{
  display:block;
  font-family:var(--serif);
  font-size:clamp(48px,8vw,72px);
  background:linear-gradient(180deg, var(--gold-light), var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ganhos-card__label{
  color:var(--ink-muted);
  font-size:14px;
  letter-spacing:.5px;
  margin:10px 0 26px;
}
.ganhos-card__disclaimer{
  font-size:13px;
  color:var(--ink-muted);
  border-top:1px solid var(--line);
  padding-top:20px;
  margin:0;
  line-height:1.7;
}

/* STEPS (COMO FUNCIONA) */
.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.step-card{
  padding:30px 24px;
  border:1px solid var(--line);
  position:relative;
}
.step-card__num{
  display:block;
  font-family:var(--serif);
  font-size:28px;
  color:var(--gold-deep);
  margin-bottom:14px;
}
.step-card h3{font-size:17px;color:var(--gold-light);margin-bottom:10px;}
.step-card p{color:var(--ink-muted);font-size:14px;margin:0;}

/* NÍVEIS */
.niveis-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.nivel-card{
  padding:40px 34px;
  border:1px solid var(--line);
  text-align:left;
}
.nivel-card--gold{border-color:var(--gold);background:linear-gradient(160deg, rgba(201,162,77,0.1), transparent);}
.nivel-card h3{font-size:24px;color:var(--gold-light);margin-bottom:14px;}
.nivel-card p{color:var(--ink-muted);font-size:15px;margin-bottom:26px;}
.nivel-card__cta{width:100%;text-align:center;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{
  border:1px solid var(--line);
  padding:20px 24px;
}
.faq-item summary{
  cursor:pointer;
  font-family:var(--serif);
  font-size:17px;
  color:var(--ink);
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  color:var(--gold);
  font-size:20px;
  margin-left:20px;
  transition:transform .3s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{color:var(--ink-muted);font-size:14.5px;margin:16px 0 0;}

/* FORM */
.form{max-width:820px;}
.hp-field{
  position:absolute;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.form__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-bottom:26px;
}
.form__field--wide{grid-column:span 2;}
.form__field{display:flex;flex-direction:column;gap:8px;}
.form__field label{
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--ink-muted);
}
.form__field input,
.form__field select{
  background:var(--bg-panel);
  border:1px solid var(--line);
  color:var(--ink);
  padding:13px 14px;
  font-size:15px;
  font-family:var(--sans);
  border-radius:2px;
  transition:border-color .3s ease;
}
.form__field input:focus,
.form__field select:focus{border-color:var(--gold);outline:none;}
.form__field--invalid input,
.form__field--invalid select{border-color:var(--error);}
.form__error{
  font-size:12.5px;
  color:var(--error);
  min-height:16px;
}
.form__consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
  font-size:13.5px;
  color:var(--ink-muted);
  cursor:pointer;
}
.form__consent input{margin-top:3px;accent-color:var(--gold);}
.form__consent a{color:var(--gold-light);text-decoration:underline;}
.form__field--invalid.form__consent{color:var(--error);}

.form__submit{
  margin-top:16px;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.form__submit:disabled{opacity:.7;cursor:not-allowed;}
.form__spinner{
  display:none;
  width:14px;height:14px;
  border:2px solid rgba(26,21,9,0.3);
  border-top-color:#1a1509;
  border-radius:50%;
}
.form__submit.is-loading .form__spinner{display:inline-block;animation:spin .7s linear infinite;}
.form__submit.is-loading .form__submit-label{opacity:.7;}
@keyframes spin{to{transform:rotate(360deg);}}

.form__status{
  margin-top:16px;
  font-size:14px;
  min-height:20px;
}
.form__status--success{color:var(--success);}
.form__status--error{color:var(--error);}

/* STICKY MOBILE CTA */
.sticky-cta{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:55;
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  background:rgba(11,10,8,0.92);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
}
.sticky-cta .btn{display:block;text-align:center;width:100%;}

/* FOOTER */
.site-footer{
  padding:70px 20px 40px;
  border-top:1px solid var(--line);
  position:relative;z-index:1;
}
.footer-grid{
  max-width:var(--maxw);
  margin:0 auto 40px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px;
}
.footer-grid h4{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
  font-family:var(--sans);
  font-weight:500;
}
.footer-grid p{color:var(--ink-muted);font-size:14px;margin:0 0 8px;}
.footer-grid a:hover{color:var(--gold-light);}
.site-footer__copy{
  max-width:var(--maxw);
  margin:0 auto;
  padding-top:24px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--ink-muted);
  text-align:center;
}

/* REVEAL ANIMATION */
.reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* RESPONSIVE */
@media (max-width: 900px){
  .story-grid{grid-template-columns:1fr;}
  .kit-grid{grid-template-columns:repeat(2,1fr);}
  .two-col{grid-template-columns:1fr;}
  .cards-grid{grid-template-columns:repeat(2,1fr);}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .niveis-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
}
@media (max-width: 560px){
  .menu-toggle__label{display:none;}
  .kit-grid{grid-template-columns:1fr;}
  .cards-grid{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr;}
  .form__grid{grid-template-columns:1fr;}
  .form__field--wide{grid-column:span 1;}
  .section{padding:90px 18px 70px;}
  .sticky-cta{display:block;}
  body{padding-bottom:76px;}
}
