@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Plus+Jakarta+Sans:wght@500;800&display=swap');

/* Basic resets */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: #070509;
  font-family: 'Inter', sans-serif;
  color: #B3AABC;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center; /* helps centering the 1280x container */
}

/* -------------------------------------
Typography Tokens
------------------------------------- */
h1, .hero-h1 {
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: normal;
  font-weight: 800;
  line-height: 100%;
  
  /* Gradient text setup */
  background: radial-gradient(circle, #F5F0FE 0%, #BCB1D0 100%);
  -webkit-background-clip: text;
  color: transparent;
  background-clip: text;
}

h2, .hero-h2 {
  color: #E1DAED;
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}

h3, .hero-h3 {
  color: #E1DAED;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}

.body-text {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 110%; /* 19.8px on destkop */
}

/* Mobile typography */
@media screen and (max-width: 768px) {
  h1, .hero-h1 {
    width: 356px;
    margin: 0 auto; /* To center the 356px block in layout */
    font-size: 36px;
    letter-spacing: -1.492px;
    text-align: center;
  }

  h2, .hero-h2 {
    font-size: 25px;
    letter-spacing: -1px;
  }

  h3, .hero-h3 {
    text-align: center;
    font-size: 20px;
    letter-spacing: -0.6px;
  }

  .body-text, .box-text {
    font-size: 16px !important;
  }
}

/* Desktop typography overrides */
@media screen and (min-width: 769px) {
  h1, .hero-h1 {
    font-size: 69.186px;
    letter-spacing: -2.767px;
    width: 703px;
    margin: 0 auto;
  }

  h2, .hero-h2 {
    font-size: 39px;
    letter-spacing: -1.56px;
  }

  h3, .hero-h3 {
    font-size: 26px;
    letter-spacing: -1.04px;
  }

  .body-text {
    font-size: 18px;
  }
}

/* -------------------------------------
Container 1 (Notice bar)
------------------------------------- */
.container-1 {
  display: flex;
  width: 100%;
  min-height: 114px;
  padding: 16px 80px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  border-bottom: 1px solid #2C2A2E;
  background: #070509;
  margin: 0 auto;
}

.c1-text-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 4px;
}

@media screen and (max-width: 768px) {
  .container-1 {
    flex-direction: row;
    padding: 24px 16px;
    text-align: left;
    gap: 12px;
  }
}

.c1-icon {
  width: 65.631px;
  height: 44.522px;
  flex-shrink: 0;
}

.c1-title {
  color: #FFEBE4;
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
  flex-shrink: 0;
}

.c1-desc {
  width: 100%;
  max-width: 603px;
  color: #FFC8B7;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
}

@media screen and (max-width: 768px) {
  .c1-icon {
    width: 78.15px;
    height: 44.52px;
  }
  
  .c1-title {
    font-size: 16px;
  }

  .c1-desc {
    font-size: 14px;
    width: 238px;
  }
}

/* -------------------------------------
Container 2 (Hero logic)
------------------------------------- */
.container-2 {
  position: relative;
  width: 100%;
  max-width: 1280px;
  border-right: 1px solid #2C2A2E;
  border-bottom: 1px solid #2C2A2E;
  border-left: 1px solid #2C2A2E;
  background-color: #070509;
  margin: 0 auto;
  min-height: 800px;
  padding: 60px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}



.hero-content-wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* Feature Boxes wrapping */
.features-boxes {
  display: flex;
  width: 100%;
  max-width: 702px;
  align-items: flex-start;
  align-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
  justify-content: center;
}

.feature-box {
  display: flex;
  width: 347px;
  height: 98px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background-color: rgba(7, 5, 9, 0.5); /* slight backdrop */
  backdrop-filter: blur(4px);
}

.feature-box img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.box-text {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 110%;
}

/* User specifics for widths */
.box-1 .box-text, .box-2 .box-text {
  width: 275px;
}
.box-3 .box-text {
  width: 234px;
}
.box-4 .box-text {
  width: 227px;
}

@media screen and (max-width: 768px) {
  .feature-box {
    height: 79px;
    padding: 0 16px;
    width: 347px;
  }
  .box-text {
    width: 100% !important;
  }
}

/* Buttons Section */
.hero-buttons {
  display: flex;
  gap: 20px;
  margin-top: 30px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-nao-aluno {
  display: flex;
  padding: 20px 60px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 6px;
  background: radial-gradient(79.35% 301.12% at 65.12% 0%, #C8ADFF 0%, #9972E8 100%);
  box-shadow: 0 4px 0 0 #4D2699;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  
  /* Text styling */
  color: #12062B;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 110%;
  text-transform: uppercase;
}

.btn-sou-aluno {
  display: flex;
  width: 291px;
  padding: 20px 60px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 6px;
  background: radial-gradient(79.35% 301.12% at 65.12% 0%, #643BB4 0%, #3A1E71 100%);
  box-shadow: 0 4px 0 0 #1E0C42;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  
  /* Text styling */
  color: #DDCCFF; /* "color: #DCF" from prompt -> expanded to standard hex */
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 110%;
  text-transform: uppercase;
}

.btn-nao-aluno:active, .btn-sou-aluno:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 0 transparent;
}

/* Hero Image */
.hero-image-wrapper {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  width: 100%;
}

.hero-image-wrapper img {
  height: 204px;
  max-width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .hero-image-wrapper img {
    height: auto;
  }
  
  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }
  .btn-nao-aluno, .btn-sou-aluno {
    width: 100% !important;
  }
}

/* =====================================================
   Shared section wrapper
===================================================== */
.sec-comparativo,
.sec-pricing,
.sec-buttons,
.sec-atencao,
.container-1-style,
.sec-cursos,
.sec-bonus,
.sec-depoimentos,
.sec-lucas,
.sec-vida-curta,
.sec-footer {
  width: 1280px;
  margin: 0 auto;
  border-right: 1px solid #2C2A2E;
  border-bottom: 1px solid #2C2A2E;
  border-left: 1px solid #2C2A2E;
}

@media screen and (max-width: 1280px) {
  .sec-comparativo,
  .sec-pricing,
  .sec-buttons,
  .sec-atencao,
  .container-1-style,
  .sec-cursos,
  .sec-bonus,
  .sec-depoimentos,
  .sec-lucas,
  .sec-vida-curta,
  .sec-footer {
    width: 100%;
  }
}

/* =====================================================
   SEC-COMPARATIVO — Barra de texto comparativo
===================================================== */
.sec-comparativo {
  display: flex;
  height: 127px;
  padding: 22px 227px 27px 228px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: #070509;
}

.comparativo-text {
  width: 825px;
  color: #E1DAED;
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 39px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -1.56px;
}

.comparativo-text em {
  font-style: normal;
  color: #BEA0FA;
}



/* =====================================================
   SEC-PRICING — Tabela de preços (Normal + Blackcamp)
===================================================== */
.sec-pricing {
  display: flex;
  align-items: stretch;
  background: #0A0812;
  min-height: 600px;
}

/* Coluna Oferta Normal */
.pricing-normal {
  display: flex;
  width: 640px;
  flex-direction: column;
  align-items: stretch;
  flex-shrink: 0;
  border-right: 1px solid #2C2A2E;
  padding-bottom: 40px;
}

.pn-header {
  padding: 28px 32px 24px;
  border-bottom: 1px solid #2C2A2E;
}

.pn-title {
  color: #E1DAED;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.8px;
  margin-bottom: 4px;
}

.pn-sub {
  color: #7B6E96;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
}

.pn-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 32px;
}

.pn-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pn-check {
  color: #7B6E96;
  font-size: 14px;
  flex-shrink: 0;
  width: 16px;
}

.pn-name {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  flex: 1;
}

.pn-val {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  white-space: nowrap;
  margin-left: auto;
}

.pn-total-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: #13101A;
  border-radius: 8px;
  border: 1px solid #1f1b28;
  margin: 4px 0;
}

.pn-total-label {
  color: #E1DAED;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
}

.pn-total-val {
  color: #E1DAED;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.pn-total-val--crossed {
  text-decoration: line-through;
  color: #5C5268;
}

.pn-total-box--final {
  background: #0D0B15;
}

.pn-calc-text {
  color: #7B6E96;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  text-align: center;
  line-height: 140%;
  padding: 8px 0;
}

.pn-italic {
  color: #5C5268;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-style: italic;
  text-align: center;
}

/* Coluna Oferta Blackcamp */
.pricing-blackcamp {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 640px;
  border: 1px solid #453252;
  background: #0C0817;
}

.pb-header {
  padding: 28px 32px 24px;
  background: #7B3FD4;
  background: linear-gradient(90deg, #6B2FBE 0%, #9040E0 100%);
}

.pb-title {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.8px;
  margin-bottom: 4px;
}

.pb-sub {
  color: rgba(255,255,255,0.75);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
}

.pb-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 32px 32px;
}

.pb-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pb-check {
  color: #7B6E96;
  font-size: 14px;
  flex-shrink: 0;
  width: 16px;
}

.pb-check--highlight {
  color: #BEA0FA;
}

.pb-name {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  flex: 1;
}

.pb-name--highlight {
  color: #BEA0FA;
  font-weight: 600;
}

.pb-val {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  white-space: nowrap;
  margin-left: auto;
}

.pb-val--highlight {
  color: #BEA0FA;
  font-weight: 700;
}

.pb-row--highlight {
  padding: 4px 0;
}

.pb-bonus-box {
  background: #110E1B;
  border: 1px solid #1a1626;
  border-radius: 8px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 4px 0;
}

.pb-bonus-label {
  color: #E1DAED;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}

.pb-row--sm .pb-name {
  font-size: 13px;
}

.pb-row--sm .pb-val {
  font-size: 13px;
}

.pb-price-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: #13101A;
  border-radius: 8px;
  border: 1px solid #1a1626;
}

.pb-price-label {
  color: #E1DAED;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
}

.pb-price-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.pb-price-main {
  color: #E1DAED;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.pb-price-alt {
  color: #BEA0FA;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}



/* =====================================================
   SEC-BUTTONS — Barra de CTAs
===================================================== */
.sec-buttons {
  display: flex;
  height: 127px;
  padding: 37px 338px;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
  background: #070509;
}

@media screen and (max-width: 1024px) {
  .sec-buttons {
    padding: 37px 40px;
  }
}



/* =====================================================
   Container-1-style (reusable notice bar)
===================================================== */
.container-1-style {
  display: flex;
  min-height: 114px;
  padding: 16px 80px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  background: #070509;
}



/* =====================================================
   SEC-CURSOS — "O que você vai levar" (bg: sec_6.webp)
===================================================== */
.sec-cursos {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 50px 244px 50px;
  background: #070509 url('../img/features/sec_6.webp') center top / cover no-repeat;
  min-height: 749px;
}

.cursos-heading {
  width: 100%;
  max-width: 792px;
  color: #E1DAED;
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 39px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -1.56px;
}

.curso-card {
  display: flex;
  align-items: center;
  gap: 36px;
  width: 100%;
  max-width: 792px;
}

.curso-card-img {
  width: 180px;
  height: auto; /* preserva proporção da imagem sem cortar */
  border-radius: 8px;
  flex-shrink: 0;
  display: block;
}

.curso-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.curso-card-title {
  color: #E1DAED;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 100%;
}

.curso-card-desc {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 150%;
}



/* =====================================================
   SEC-BONUS — Grid de bônus (2 por linha)
===================================================== */
.sec-bonus {
  background: #070509;
}

.bonus-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}

.bonus-card {
  padding: 40px 48px;
  border-right: 1px solid #2C2A2E;
  border-bottom: 1px solid #2C2A2E;
  border-left: 1px solid #2C2A2E;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Remove double left border for even cards */
.bonus-card:nth-child(even) {
  border-left: none;
}

.bonus-num {
  color: #BEA0FA;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.bonus-title {
  color: #E1DAED;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.5px;
  line-height: 110%;
}

.bonus-desc {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 150%;
}

/* ─── Bonus Featured (para todos) ─────────────────────── */
.bonus-featured {
  margin: 0;
  padding: 48px 80px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  background: url('../img/features/segundo_cerebro.webp') right center / contain no-repeat,
              linear-gradient(135deg, #110e1c 0%, #1a1131 50%, #0e0b19 100%);
  border-bottom: 1px solid #3a2a60;
  position: relative;
  overflow: hidden;
}

/* glowing top border accent */
.bonus-featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #9972e8 30%, #c8adff 60%, #9972e8 80%, transparent 100%);
}

.bonus-featured-badge {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border-radius: 60px;
  background: rgba(153, 114, 232, 0.15);
  border: 1px solid rgba(153, 114, 232, 0.2);
  color: #c8adff;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.bonus-featured-title {
  color: #f0eaff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.8px;
  line-height: 110%;
}

.bonus-featured-desc {
  color: #c4bad8;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 155%;
  max-width: 720px;
}

/* Section label separating general from urgency bonuses */
.bonus-section-label {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 228px;
  color: #E1DAED;
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 39px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -1.56px;
  border-bottom: 1px solid #2C2A2E;
  background: #070509;
}

@media screen and (max-width: 768px) {
  .bonus-featured {
    padding: 36px 16px;
    align-items: flex-start;
    text-align: left;
    background: linear-gradient(135deg, #110e1c 0%, #1a1131 50%, #0e0b19 100%);
  }
  .bonus-featured-badge {
    align-self: center;
    font-size: 10px;
    padding: 6px 14px;
    text-align: center;
  }
  .bonus-featured-title {
    font-size: 22px;
  }
  .bonus-featured-desc {
    font-size: 14px;
  }
  .bonus-section-label {
    padding: 24px 16px;
    font-size: 22px;
    letter-spacing: -0.6px;
    text-align: center;
  }
}


/* =====================================================
   SEC-DESAFIO10K — Banner full-width
===================================================== */
.sec-desafio10k {
  width: 1280px;
  margin: 0 auto;
  border-right: 1px solid #2C2A2E;
  border-left: 1px solid #2C2A2E;
  line-height: 0; /* remove espaço fantasma abaixo do img */
}

.desafio10k-img {
  width: 100%;
  height: auto;
  display: block;
}

/* mobile: mostra versão mobile, esconde desktop */
.desafio10k-img--mobile { display: none; }
.desafio10k-img--desktop { display: block; }

@media screen and (max-width: 768px) {
  .sec-desafio10k {
    width: 100%;
  }
  .desafio10k-img--desktop { display: none; }
  .desafio10k-img--mobile  { display: block; }
}

/* =====================================================
   SEC-DEPOIMENTOS — Grid de prints (4 por linha)
===================================================== */
.sec-depoimentos {

  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 50px 244px 50px;
  gap: 51px;
  background: #070509;
  min-height: 2855px;
  box-sizing: border-box;
}

.depo-heading {
  width: 688px;
  color: #E1DAED;
  text-align: center;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 39px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -1.56px;
}

.depo-highlight {
  color: #BEA0FA;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 39px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: -1.56px;
}

.depo-grid {
  display: grid;
  grid-template-columns: repeat(4, 182.951px);
  gap: 20px;
  justify-content: center;
}

.depo-grid img {
  width: 182.951px;
  height: auto; /* proporção natural, sem corte */
  display: block;
  border-radius: 4px;
}



/* =====================================================
   SEC-LUCAS — Quem é Lucas Felix (50/50)
===================================================== */
.sec-lucas {
  display: flex;
  align-items: stretch;
  height: 749px;
  background: #070509;
}

.lucas-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 56px 52px;
}

.lucas-eyebrow {
  color: #E1DAED;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.6px;
  line-height: 100%;
  text-align: left; /* override global h2 center */
}

.lucas-name {
  color: #BEA0FA;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 100%;
  margin-top: -8px;
  text-align: left; /* override global h2 center */
}

.lucas-bio {
  color: #B3AABC;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 155%;
}

.lucas-photo-wrap {
  width: 50%;
  flex-shrink: 0;
  overflow: hidden;
}

.lucas-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}



/* =====================================================
   SEC-FOOTER — Rodapé
===================================================== */
.sec-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 32px 40px;
  flex-wrap: wrap;
}

.footer-copy {
  color: #3D3549;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}

.footer-link {
  color: #5C5268;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}

.footer-link:hover {
  color: #B3AABC;
}


/* =====================================================
   MOBILE — Todos os ajustes em um único bloco
   Padrão: padding 40px 16px em seções, 24px 16px em barras
===================================================== */
@media screen and (max-width: 768px) {

  /* ---------- Comparativo bar ---------- */
  .sec-comparativo {
    height: auto;
    padding: 24px 16px;
  }
  .comparativo-text {
    width: 100%;
    font-size: 22px;
    letter-spacing: -0.6px;
  }

  /* ---------- Pricing table ---------- */
  .sec-pricing {
    flex-direction: column;
    min-height: auto;
  }
  .pricing-normal,
  .pricing-blackcamp {
    width: 100%;
  }
  .pricing-blackcamp {
    border-top: none;
  }
  .pn-header,
  .pb-header {
    padding: 20px 16px 16px;
  }
  .pn-body,
  .pb-body {
    padding: 20px 16px;
  }
  .pn-title,
  .pb-title {
    font-size: 22px;
  }
  .pn-name,
  .pb-name,
  .pn-val,
  .pb-val {
    font-size: 13px;
  }
  .pb-bonus-box {
    padding: 12px 14px;
  }
  .pb-price-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 14px 16px;
  }
  .pb-price-right {
    align-items: flex-start;
  }

  /* ---------- Buttons bar ---------- */
  .sec-buttons {
    flex-direction: column;
    height: auto;
    padding: 24px 16px;
    gap: 12px;
  }
  .sec-buttons .btn-nao-aluno,
  .sec-buttons .btn-sou-aluno {
    width: 100% !important;
    padding: 18px 20px !important;
  }

  /* ---------- Notice bars (container-1-style) ---------- */
  .container-1-style {
    padding: 20px 16px;
    gap: 12px;
    min-height: auto;
  }
  .container-1-style .c1-desc {
    width: auto !important;
    flex-shrink: 1;
    font-size: 14px;
  }

  /* ---------- Cursos section ---------- */
  .sec-cursos {
    padding: 40px 16px;
    min-height: auto;
  }
  .cursos-heading {
    font-size: 24px;
    letter-spacing: -0.7px;
  }
  .curso-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .curso-card-img {
    width: 255.462px;
    height: 369px;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
    object-fit: cover;
  }
  .curso-card-title {
    font-size: 18px;
  }
  .curso-card-desc {
    font-size: 14px;
  }

  /* ---------- Bônus grid ---------- */
  .bonus-grid {
    grid-template-columns: 1fr;
  }
  .bonus-card {
    padding: 28px 16px;
    border-left: 1px solid #2C2A2E !important;
    text-align: left;
    align-items: flex-start;
  }
  .bonus-num {
    text-align: left;
  }
  .bonus-title {
    font-size: 18px;
    text-align: left;
  }
  .bonus-desc {
    font-size: 14px;
    text-align: left;
  }

  /* ---------- Depoimentos grid ---------- */
  .sec-depoimentos {
    padding: 40px 16px;
    min-height: auto;
    gap: 24px;
  }
  .depo-heading {
    width: 100%;
    font-size: 24px;
    letter-spacing: -0.7px;
  }
  .depo-highlight {
    font-size: 24px;
    letter-spacing: -0.7px;
  }
  .depo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .depo-grid img {
    width: 100%;
    height: auto; /* proporção natural */
  }

  /* ---------- Lucas Felix ---------- */
  .sec-lucas {
    flex-direction: column-reverse;
    height: auto;
  }
  .lucas-text {
    padding: 40px 16px 32px;
    gap: 14px;
  }
  .lucas-eyebrow {
    font-size: 20px;
  }
  .lucas-name {
    font-size: 28px;
    letter-spacing: -1px;
    margin-top: -4px;
  }
  .lucas-bio {
    font-size: 14px;
    line-height: 150%;
  }
  .lucas-photo-wrap {
    width: 100%;
    height: auto;
    max-height: 400px;
    overflow: hidden;
  }

  /* ---------- Footer ---------- */
  .sec-footer {
    flex-direction: column;
    gap: 8px;
    padding: 24px 16px;
    text-align: center;
  }

}

/* =====================================================
   SCROLL REVEAL ANIMATIONS
===================================================== */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-child {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-child.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-child:nth-child(1) { transition-delay: 0ms; }
.reveal-child:nth-child(2) { transition-delay: 80ms; }
.reveal-child:nth-child(3) { transition-delay: 160ms; }
.reveal-child:nth-child(4) { transition-delay: 240ms; }
.reveal-child:nth-child(5) { transition-delay: 320ms; }
.reveal-child:nth-child(6) { transition-delay: 400ms; }
.reveal-child:nth-child(7) { transition-delay: 480ms; }
.reveal-child:nth-child(8) { transition-delay: 560ms; }

/* =====================================================
   HOVER ANIMATIONS
===================================================== */

/* Feature boxes — lift + border glow */
.feature-box {
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.25s ease,
              box-shadow 0.25s ease;
}
.feature-box:hover {
  transform: translateY(-4px);
  border-color: rgba(190, 160, 250, 0.45);
  box-shadow: 0 8px 24px rgba(153, 114, 232, 0.18);
}

/* Bonus cards — lift + subtle glow */
.bonus-card {
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
              background 0.25s ease,
              box-shadow 0.25s ease;
}
.bonus-card:hover {
  transform: translateY(-5px);
  background: #0e0c18;
  box-shadow: 0 12px 32px rgba(153, 114, 232, 0.12);
}

/* Curso cards — lift */
.curso-card {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.curso-card:hover {
  transform: translateY(-6px);
}

/* Curso card image — subtle scale on card hover */
.curso-card-img {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.4s ease;
}
.curso-card:hover .curso-card-img {
  transform: scale(1.03);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
}

/* Depo grid images — scale + brightness */
.depo-grid img {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.3s ease,
              box-shadow 0.3s ease;
  position: relative;
  cursor: pointer;
}
.depo-grid img:hover {
  transform: scale(1.5);
  filter: brightness(1.12);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6);
  z-index: 10;
}

/* Pricing rows — subtle highlight on hover */
.pn-row,
.pb-row {
  transition: background 0.2s ease, padding-left 0.2s ease;
  border-radius: 4px;
  padding-left: 4px;
}
.pn-row:hover,
.pb-row:hover {
  background: rgba(255, 255, 255, 0.03);
  padding-left: 8px;
}

/* Buttons — hover lift + glow */
.btn-nao-aluno {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-nao-aluno:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 0 #4D2699, 0 0 22px rgba(200, 173, 255, 0.4);
}
.btn-sou-aluno {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-sou-aluno:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 0 #1E0C42, 0 0 18px rgba(100, 59, 180, 0.35);
}
