/* Veltro Academy — direção futurista solicitada pelo proprietário.
   A base mantém a estrutura responsiva; esta camada transforma a identidade. */
:root {
  --ink: #080b1a;
  --paper: #edf2ff;
  --green: #79e6ff;
  --forest: #11152d;
  --muted: #a3acc9;
  --line: rgba(145, 163, 255, .16);
  --violet: #b3a0ff;
  --neon-gradient: linear-gradient(110deg, #79e6ff 0%, #8cb8ff 48%, #b3a0ff 100%);
}

body { background: #080b1a; color: var(--paper); }
.site-header {
  background: rgba(8, 11, 26, .85);
  border-bottom-color: rgba(130, 159, 255, .17);
  backdrop-filter: blur(22px);
}
.brand img { filter: drop-shadow(0 0 12px #6bcaff30); }
.brand-name span { color: #a3bcf0; }
.desktop-nav { color: #b4bfdc; }
.header-cta {
  color: #e0eaff;
  border-color: #637bc266;
  border-radius: 10px;
  background: linear-gradient(115deg, #69d8ff0d, #9278ff12);
}
.header-cta:hover {
  color: var(--ink);
  background: var(--neon-gradient);
  box-shadow: 0 0 26px #7d9aff30;
}
.mobile-nav { background: rgba(10, 14, 34, .98); }
.mobile-nav a { color: #c5d3f4; }

/* Lumière ambiante e grade em perspectiva, sem imagens decorativas pesadas. */
.hero {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 85% 23%, #3134a34d 0%, transparent 48%),
    radial-gradient(ellipse at 16% 64%, #05477538 0%, transparent 46%),
    linear-gradient(125deg, #090d20 0%, #10112d 52%, #080c1d 100%);
}
.hero::before {
  content: '';
  position: absolute;
  width: 660px;
  height: 660px;
  top: -210px;
  right: -130px;
  border-radius: 50%;
  background: radial-gradient(circle, #7152dc29 0%, #3959cb18 36%, transparent 69%);
  pointer-events: none;
  animation: ambient-drift 14s ease-in-out infinite alternate;
}
.hero::after {
  content: '';
  position: absolute;
  left: -20%;
  bottom: -180px;
  width: 140%;
  height: 440px;
  background-image:
    linear-gradient(#7c92ff1c 1px, transparent 1px),
    linear-gradient(90deg, #7c92ff1c 1px, transparent 1px);
  background-size: 66px 66px;
  transform: perspective(550px) rotateX(57deg);
  mask-image: linear-gradient(transparent 0%, #000 65%, transparent 100%);
  pointer-events: none;
  z-index: -1;
}
.hero-layout, .hero-bottom { position: relative; z-index: 1; }
.eyebrow, .light-eyebrow { color: #90dfff; }
.status-dot { box-shadow: 0 0 11px #79e6ff99; }
h1 { color: #f3f4ff; font-weight: 600; }
h1 span, .muted-heading, .offer-copy h2 span, .quote-panel em {
  color: #a7caff;
  background: var(--neon-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-description { color: #aab7d5; }
.hero-description strong { color: #e0eaff; }
.hero-investment { color: #a7b6d5; }
.small-divider { background: #596b9f; }
.hero-copy > .text-link { color: #becbf1; }
.button {
  border-radius: 11px;
  transition: transform .25s, box-shadow .25s, filter .25s;
}
.button-primary {
  background: var(--neon-gradient);
  color: #0b1027;
  border: 1px solid #c1e5ff55;
  box-shadow: 0 7px 26px #608dff24, inset 0 1px 0 #ffffff55;
}
.button-primary:hover {
  background: var(--neon-gradient);
  filter: brightness(1.1);
  box-shadow: 0 10px 38px #6598ff44, 0 0 20px #8872ff1f;
  transform: translateY(-3px);
}
.hero-visual { isolation: isolate; }
.hero-visual::before {
  content: '';
  position: absolute;
  inset: -22px -15px 60px -22px;
  border-radius: 45px;
  background: linear-gradient(145deg, #51d9ff55, #4769f04d 45%, #a861e755);
  filter: blur(37px);
  z-index: -1;
  pointer-events: none;
}
.portrait-frame {
  border-radius: 26px;
  border: 1px solid #a6baff66;
  background: #101935;
  box-shadow: 0 0 0 6px #91a5ff08, 0 20px 65px #02061966;
}
.portrait-frame::after {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid #b5d7ff29;
  border-top-color: #b5d7ff77;
  border-radius: 18px;
  pointer-events: none;
}
.mentor-photo { filter: saturate(1.08); }
.portrait-shade {
  background: linear-gradient(180deg, #0710270d 28%, #0c12303b 59%, #080c22fa 100%);
}
.portrait-badge {
  background: linear-gradient(120deg, #132549b8, #26214cb8);
  border-color: #b1d4ff66;
  border-radius: 20px;
  box-shadow: 0 0 24px #5186ff26;
}
.portrait-caption p { color: #bdcbea; }
.portrait-monogram { opacity: .85; text-shadow: 0 0 28px #74d6ff66; }
.vertical-caption { color: #aab6e6; }
.visual-footnote, .hero-bottom { color: #9aaed4; border-color: #788be12e; }
.topic-strip {
  color: #d6e4ff;
  background: linear-gradient(105deg, #12324a, #19234d 48%, #2c1b49);
  border-top: 1px solid #72d3ff66;
  border-bottom: 1px solid #9671f955;
  box-shadow: 0 0 40px #5359bf1a;
}
.topic-strip i { color: #91dcff; opacity: .9; }

/* Leitura em fundo noturno: os textos continuam com alto contraste. */
.section { color: #edf2ff; background: #0c1024; }
.intro-section {
  background: radial-gradient(ellipse at 4% 100%, #17324d38, transparent 58%), #0c1024;
}
.intro-copy, .principles p, .curriculum-heading > p:not(.eyebrow),
.curriculum-note p, .module-content, .audience-list p,
.faq-list details p { color: #aebbd9; }
.intro-copy strong, .audience-list strong { color: #eff2ff; }
.principles {
  border: 0;
  gap: 22px;
}
.principles article {
  padding: 27px;
  border: 1px solid #6d86d733;
  border-radius: 15px;
  background: linear-gradient(145deg, #87b5ff0b, #8264cc09);
  box-shadow: inset 0 1px 0 #b4caff0a;
  transition: border-color .25s, transform .25s;
}
.principles article:hover { border-color: #819fea77; transform: translateY(-3px); }
.principle-number { color: #8edcff; }
.principles h3 { color: #e6eeff; }
.curriculum-section {
  background:
    radial-gradient(ellipse at 92% 50%, #38308224 0%, transparent 56%),
    linear-gradient(135deg, #0a0f22, #10142e);
  border-color: #778ddd21;
}
.curriculum-note { border-color: #8298e43b; }
.curriculum-note > span { color: #a2ccff; }
.module, .module:first-child {
  border: 1px solid #7f97df35;
  border-radius: 13px;
  background: linear-gradient(115deg, #19234294, #191a3899);
  margin-bottom: 11px;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}
.module:hover, .module[open] {
  border-color: #7cbbf56b;
  box-shadow: 0 0 28px #4f79ef0c;
}
.module[open] { background: linear-gradient(115deg, #16354a80, #24204a80); }
.module summary { padding: 24px 22px; }
.module h3 { color: #edf1ff; }
.module-index { color: #9bccff; }
.module-category { color: #a7b4df; }
.module-plus::before, .module-plus::after { background: #8cdfff; }
.module-content { padding-left: 71px; padding-right: 25px; }
.module-content li {
  border-color: #729bd04f;
  color: #cfdeff;
  background: linear-gradient(110deg, #418baa1a, #7055bb1a);
  border-radius: 6px;
}
.module-disclaimer { color: #a3aecb; }
.module-rule { color: #a2dcff; }
.dark-link { color: #b5d6ff; }
.dark-link:hover { color: #91e4ff; }

.mentor-section {
  background:
    radial-gradient(ellipse at 78% 52%, #5c32a34d, transparent 60%),
    linear-gradient(120deg, #132949, #172046 52%, #271b48);
  border-block: 1px solid #8b9ddd33;
}
.mentor-intro > p:not(.eyebrow) { color: #becded; }
.quote-panel { border-color: #9f9bec66; }
.quote-panel .eyebrow { color: #c4c9f1; }
.quote-mark { color: #bca0ff22; }
.quote-attribution { color: #c3cbee; }
.quote-attribution span { background: var(--neon-gradient); }
.audience-section {
  background: radial-gradient(ellipse at 8% 25%, #16466829, transparent 55%), #0c1024;
}
.audience-list > div { border-color: #8197d32e; }
.audience-list svg { color: #90dfff; }
.audience-footnote { color: #a1b2d4; }
.audience-question a { color: #a6ddff; border-color: #79b6d988; }

.investment-section {
  background:
    radial-gradient(ellipse at 78% 50%, #4850ce3b 0%, transparent 51%),
    radial-gradient(ellipse at 3% 91%, #124e7c3b 0%, transparent 48%),
    linear-gradient(135deg, #080d21, #14112b);
}
.offer-copy > p:not(.eyebrow) { color: #b1bfde; }
.offer-process { border-color: #7f95de40; }
.offer-process span { color: #9abaff; }
.offer-process b { color: #c0cceb; }
.offer-card {
  border: 1px solid transparent;
  border-radius: 22px;
  background:
    linear-gradient(135deg, #142343, #231e42) padding-box,
    linear-gradient(135deg, #79ddffaa, #8a79ff99 52%, #b382edaa) border-box;
  box-shadow: 0 0 65px #6579ff1f, 0 30px 85px #02041680, inset 0 1px 0 #b5cbff26;
}
.offer-card-top { color: #b7c8f5; border-color: #a6aaf044; }
.price-label, .price-description { color: #b0c0df; }
.price { color: #f2f3ff; text-shadow: 0 0 45px #7988ff30; }
.price > span:first-child { color: #a8d7ff; }
.price .price-cents { color: #bdc5fc; }
.offer-features { border-color: #a6aaf044; }
.offer-features li { color: #d4dff7; }
.offer-microcopy { color: #b0bddc; }
.faq-section { background: linear-gradient(130deg, #0d1328, #0c1023); }
.faq-list details, .faq-list details:first-child { border-color: #869ad633; }
.faq-list summary { color: #dfe9ff; }
.faq-list summary:hover { color: #99dfff; }
.site-footer { background: #080c1b; border-top: 1px solid #778bdd21; }
.footer-top > p { color: #abbadb; }
.risk-notice { border-color: #7d92d92e; }
.risk-notice strong { color: #c0cbed; }
.risk-notice p, .footer-bottom { color: #9aaacc; }
.floating-whatsapp {
  background: var(--neon-gradient);
  color: #080c20;
  border-color: #b9dcff99;
  box-shadow: 0 0 25px #6daeff44, 0 8px 28px #04081666;
}
.floating-whatsapp span { color: #e1eaff; background: #182246; border: 1px solid #7c99e34d; }

@keyframes ambient-drift {
  from { transform: translate(0, 0) scale(1); opacity: .75; }
  to { transform: translate(-35px, 45px) scale(1.06); opacity: 1; }
}

@media (max-width: 800px) {
  .principles { gap: 15px; }
  .principles article { padding: 21px 18px; }
  .portrait-frame { border-radius: 24px; }
  .module summary { padding: 23px 18px; }
  .module-content { padding-left: 59px; }
}
@media (max-width: 600px) {
  .hero::before { width: 480px; height: 480px; top: 70px; right: -250px; }
  .hero::after { bottom: -175px; opacity: .75; }
  .hero-visual::before { inset: -8px 0 65px -8px; filter: blur(25px); }
  .portrait-frame { border-radius: 24px; }
  .portrait-frame::after { border-radius: 16px; }
  .portrait-badge { border-radius: 20px; }
  .principles { border: 0; }
  .principles article {
    padding: 22px 20px 22px 55px;
    margin-bottom: 12px;
    border: 1px solid #6d86d744;
  }
  .principle-number { left: 21px; top: 27px; }
  .module summary { padding: 21px 16px; gap: 12px; }
  .module h3 { font-size: 20px; }
  .module-content { padding: 0 16px 22px 48px; }
  .module-category { font-size: 6px; letter-spacing: 1.1px; }
  .quote-panel { border-left: 2px solid #9f9bec66; }
  .offer-card { border-radius: 18px; }
  .topic-strip { background: linear-gradient(120deg, #15324b, #27214d); }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; }
  .button-primary:hover, .principles article:hover { transform: none; }
}
@media (forced-colors: active) {
  h1 span, .muted-heading, .offer-copy h2 span, .quote-panel em {
    background: none;
    -webkit-text-fill-color: CanvasText;
  }
}
