  /* ── Palette override: lipstick red + gold on neutral espresso ── */
  body.vdl {
    --vdl-ink:        #0c0a0a;
    --vdl-ink-2:      #151111;
    --vdl-ink-3:      #1d1717;
    --vdl-forest-900: #1f1414;
    --vdl-forest-800: #2a1b1b;
    --vdl-forest-700: #3a2424;
    --vdl-forest-600: #4d2f30;
    --vdl-green-600:  #c01030;
    --vdl-green-500:  #d6203f;
    --vdl-green-400:  #e63e54;
    --vdl-emerald:      #ea384d;
    --vdl-emerald-soft: #f58a95;
    --vdl-grad-bg:        radial-gradient(ellipse at 50% 14%, #241616 0%, #0c0a0a 56%, #000 100%);
    --vdl-grad-green-cta: linear-gradient(180deg, #d6203f 0%, #b00d2c 100%);
    --vdl-grad-emerald-glow: radial-gradient(ellipse at center, rgba(214,32,63,0.32) 0%, rgba(214,32,63,0) 70%);
    --vdl-grad-forest-hero:  linear-gradient(180deg, #2a1b1b 0%, #0c0a0a 100%);
    --vdl-glow-green: 0 0 30px rgba(214,32,63,0.34), 0 0 8px rgba(214,32,63,0.5);
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body.vdl { margin: 0; background: var(--vdl-grad-bg); background-attachment: fixed; overflow-x: hidden; }
  img { display: block; max-width: 100%; }
  /* [hidden] SEMPRE esconde — sem isto, `img{display:block}` acima vence o UA stylesheet
     e elementos hidden (ex.: preview de foto do quiz) aparecem quebrados. */
  [hidden] { display: none !important; }
  a { text-decoration: none; color: inherit; }
  .wrap { max-width: 1140px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; }
  .narrow { max-width: 880px; }

  /* decorative soft glow blobs */
  .glow-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.5; pointer-events: none; z-index: 0; }

  /* ── Sticky price bar ── */
  .pricebar { position: fixed; top: 0; left: 0; right: 0; z-index: 90; background: rgba(12,10,10,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--vdl-gold-700); transform: translateY(-100%); transition: transform .35s ease; }
  .pricebar.show { transform: translateY(0); }
  .pricebar-in { max-width: 1140px; margin: 0 auto; padding: 11px 32px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
  .pricebar .pb-l { display: flex; align-items: baseline; gap: 12px; }
  .pricebar .pb-l .lbl { font-size: 12px; color: var(--vdl-fg-3); letter-spacing: 0.06em; text-transform: uppercase; }
  .pricebar .pb-l .val { font-family: var(--vdl-font-display); font-size: 22px; color: var(--vdl-gold-300); }
  .pricebar .pb-l .val small { font-size: 13px; color: var(--vdl-fg-3); }
  .pricebar .cta-mini { font-weight: 800; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; padding: 11px 22px; border-radius: var(--vdl-radius-pill); background: var(--vdl-grad-green-cta); color: #fff; box-shadow: var(--vdl-glow-green); }

  /* ── Top brand bar ── */
  .topbar { position: relative; z-index: 3; border-bottom: 1px solid var(--vdl-hairline); }
  .topbar-in { display: flex; align-items: center; justify-content: space-between; height: 70px; }
  .logo-lock { display: flex; align-items: center; gap: 13px; }
  .logo-mark { width: 36px; height: 36px; flex: 0 0 auto; }
  .logo-txt { display: flex; flex-direction: column; line-height: 1; flex: 0 0 auto; }
  .logo-txt .lt-1 { font-family: var(--vdl-font-serif); font-weight: 600; font-size: 17px; letter-spacing: 0.18em; color: var(--vdl-gold-300); white-space: nowrap; }
  .logo-txt .lt-2 { font-weight: 600; font-size: 9px; letter-spacing: 0.34em; text-transform: uppercase; color: var(--vdl-fg-4); margin-top: 5px; white-space: nowrap; }
  .topbar .tb-cta { font-size: 13px; font-weight: 700; color: var(--vdl-gold-300); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-pill); padding: 9px 18px; }

  /* ── Scarcity strip (header) ── */
  .scarcity { position: relative; z-index: 4; background: var(--vdl-grad-green-cta); box-shadow: inset 0 -1px 0 rgba(0,0,0,0.25); }
  .scarcity-in { max-width: 1140px; margin: 0 auto; padding: 9px 32px; display: flex; align-items: center; justify-content: center; gap: 11px; flex-wrap: wrap; text-align: center; }
  .scarcity .sc-dot { width: 8px; height: 8px; border-radius: 50%; background: #ffe9b0; box-shadow: 0 0 10px rgba(255,233,176,0.9); animation: scblink 1.2s ease-in-out infinite; flex: 0 0 auto; }
  @keyframes scblink { 50% { opacity: .25; } }
  .scarcity .sc-txt { font-size: 13px; font-weight: 600; letter-spacing: 0.01em; color: #fff; }
  .scarcity .sc-txt b { font-weight: 800; }

  /* ── Buttons ── */
  .cta { font-family: var(--vdl-font-sans); font-weight: 800; font-size: 16px; cursor: pointer; border: none; padding: 18px 30px; border-radius: var(--vdl-radius-sm); background: var(--vdl-grad-green-cta); color: var(--vdl-cta-fg, #fff); box-shadow: var(--vdl-glow-green), inset 0 1px 0 rgba(255,255,255,0.25); display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: transform .2s, filter .2s; }
  .cta:hover { transform: translateY(-2px); filter: brightness(1.08); }
  .cta .arrow { transition: transform .2s; }
  .cta:hover .arrow { transform: translateX(4px); }
  .cta-lg { font-size: 18px; padding: 21px 44px; }
  .cta-gold { background: var(--vdl-grad-gold); color: #3a2606; box-shadow: var(--vdl-glow-gold), inset 0 1px 0 rgba(255,255,255,0.4); }

  /* ── Hero ── */
  .hero { position: relative; padding: 64px 0 84px; }
  .hero .glow-blob { width: 520px; height: 520px; background: #7a0f22; top: -120px; right: -120px; }
  .hero-grid { display: grid; grid-template-columns: 1.06fr 0.94fr; gap: 60px; align-items: center; }
  .event-name { display: inline-flex; flex-direction: column; gap: 9px; margin-bottom: 22px; }
  .event-bar { width: 52px; height: 2px; background: var(--vdl-gold-500); box-shadow: var(--vdl-glow-gold); }
  .event-sub { font-family: var(--vdl-font-serif); font-weight: 500; font-size: 13px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--vdl-gold-500); }
  .hero .headline { font-family: var(--vdl-font-display); font-weight: 400; font-size: clamp(38px, 5.3vw, 74px); line-height: 0.95; text-transform: uppercase; color: var(--vdl-fg-1); margin: 0 0 22px; }
  .hero .headline .h-em { color: var(--vdl-emerald); text-shadow: 0 0 22px rgba(214,32,63,0.4); }
  .hero .headline em { font-style: normal; background: var(--vdl-grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 0 rgba(107,74,20,0.5)); }
  .hero .subhead { font-size: 18px; line-height: 1.55; color: var(--vdl-fg-3); max-width: 480px; margin: 0 0 28px; }
  .hero .subhead strong { color: var(--vdl-fg-1); font-weight: 600; }
  .hero-cta-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
  .hero-price-hint { font-size: 13px; color: var(--vdl-fg-3); line-height: 1.4; }
  .hero-price-hint b { color: var(--vdl-gold-300); font-weight: 700; }
  .hero-price-hint s { color: var(--vdl-fg-4); }

  .hero-trust { display: flex; align-items: center; gap: 16px; margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--vdl-hairline); }
  .avatars { display: flex; }
  .avatars .a { width: 36px; height: 36px; border-radius: 50%; background: var(--vdl-forest-700); border: 2px solid var(--vdl-ink); margin-left: -10px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--vdl-emerald-soft); }
  .avatars .a:first-child { margin-left: 0; }
  .hero-trust .t-txt { font-size: 13px; color: var(--vdl-fg-3); line-height: 1.4; }
  .hero-trust .t-txt strong { color: var(--vdl-fg-1); }
  .hero-trust .stars { color: var(--vdl-gold-300); letter-spacing: 2px; font-size: 13px; }

  /* portrait */
  .portrait-frame { position: relative; aspect-ratio: 4/5; border-radius: var(--vdl-radius-lg); overflow: hidden; border: 1px solid var(--vdl-gold-700); box-shadow: var(--vdl-shadow-lg), inset 0 0 0 1px rgba(212,162,74,0.2); background: var(--vdl-ink-3); }
  .portrait-frame image-slot { display: block; width: 100%; height: 100%; }
  .portrait-badge { position: absolute; top: 16px; left: 16px; z-index: 3; white-space: nowrap; font-family: var(--vdl-font-serif); font-weight: 600; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--vdl-gold-300); background: rgba(12,10,10,0.7); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-pill); padding: 7px 16px; backdrop-filter: blur(6px); }
  .portrait-stats { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; background: linear-gradient(180deg, transparent, rgba(8,6,6,0.92) 42%); padding: 40px 16px 16px; gap: 6px; }
  .pstat { flex: 1; text-align: center; }
  .pstat .num { font-family: var(--vdl-font-display); font-size: 28px; line-height: 1; color: var(--vdl-fg-1); }
  .pstat .num.gold { color: var(--vdl-gold-300); }
  .pstat .lbl { font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--vdl-fg-3); margin-top: 6px; }

  /* ── Section scaffold ── */
  section { position: relative; }
  .sec { padding: 92px 0; position: relative; }
  .sec.alt { background: var(--vdl-ink-2); border-top: 1px solid var(--vdl-hairline); border-bottom: 1px solid var(--vdl-hairline); }
  .sec-head { max-width: 720px; margin-bottom: 12px; }
  .sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
  .sec-head .eyebrow { display: inline-block; margin-bottom: 14px; }
  .sec-head h2 { margin: 0; }
  .sec-head p { margin: 16px 0 0; color: var(--vdl-fg-3); font-size: 17px; }
  .sec-head.center p { margin-left: auto; margin-right: auto; }

  /* ── Problem ── */
  .pain-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 46px; }
  .pain { display: flex; gap: 16px; align-items: flex-start; background: var(--vdl-ink-3); border: 1px solid var(--vdl-hairline); border-radius: var(--vdl-radius-md); padding: 24px 24px; }
  .pain .x { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: rgba(214,32,63,0.14); border: 1px solid rgba(214,32,63,0.4); color: var(--vdl-emerald); display: flex; align-items: center; justify-content: center; font-size: 15px; }
  .pain h3 { margin: 0 0 5px; font-size: 17px; }
  .pain p { margin: 0; font-size: 14.5px; color: var(--vdl-fg-3); }
  .pain-foot { text-align: center; margin-top: 38px; font-size: 18px; color: var(--vdl-fg-2); }
  .pain-foot b { color: var(--vdl-gold-300); }

  /* ── Method split ── */
  .split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
  .split.rev .s-txt { order: 2; }
  .s-photo { position: relative; aspect-ratio: 5/6; border-radius: var(--vdl-radius-lg); overflow: hidden; border: 1px solid var(--vdl-gold-700); background: var(--vdl-ink-3); box-shadow: var(--vdl-shadow-lg); }
  .s-photo image-slot { display: block; width: 100%; height: 100%; }
  .s-txt h2 { margin: 14px 0 18px; }
  .check-list { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 14px; }
  .check-list li { display: flex; gap: 13px; align-items: flex-start; font-size: 16px; color: var(--vdl-fg-2); }
  .check-list .ic { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--vdl-forest-800); border: 1px solid var(--vdl-gold-700); color: var(--vdl-gold-300); display: flex; align-items: center; justify-content: center; font-size: 12px; margin-top: 1px; }

  /* ── Modules ── */
  .mods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }
  .mod { background: var(--vdl-ink-3); border: 1px solid var(--vdl-hairline); border-radius: var(--vdl-radius-lg); padding: 28px 26px 30px; transition: transform .3s, border-color .3s; }
  .mod:hover { transform: translateY(-4px); border-color: var(--vdl-gold-700); }
  .mod .mn { font-family: var(--vdl-font-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vdl-emerald); }
  .mod h3 { margin: 12px 0 10px; font-size: 22px; }
  .mod p { margin: 0; font-size: 14.5px; color: var(--vdl-fg-3); }
  .mod .ln { width: 30px; height: 2px; background: var(--vdl-gold-500); margin-top: 20px; box-shadow: var(--vdl-glow-gold); }

  /* ── Included ── */
  .incl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 46px; }
  .incl-item { display: flex; gap: 14px; align-items: center; background: var(--vdl-ink-3); border: 1px solid var(--vdl-hairline); border-radius: var(--vdl-radius-md); padding: 20px 22px; }
  .incl-item .ic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: var(--vdl-radius-sm); background: var(--vdl-forest-800); border: 1px solid var(--vdl-gold-700); color: var(--vdl-gold-300); display: flex; align-items: center; justify-content: center; }
  .incl-item .ic svg { width: 22px; height: 22px; }
  .incl-item h3 { margin: 0 0 3px; font-size: 16px; }
  .incl-item p { margin: 0; font-size: 13.5px; color: var(--vdl-fg-3); }

  /* ── Bonus ── */
  .bonus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 46px; }
  .bonus { position: relative; background: var(--vdl-grad-forest-hero); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-lg); padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; }
  .bonus .btag { font-family: var(--vdl-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vdl-gold-300); }
  .bonus h3 { margin: 0; font-size: 20px; line-height: 1.15; }
  .bonus p { margin: 0; font-size: 14px; color: var(--vdl-fg-3); }
  .bonus .val { margin-top: auto; font-size: 14px; color: var(--vdl-fg-1); font-weight: 600; }
  .bonus .val s { color: var(--vdl-fg-4); font-weight: 400; }

  /* ── Testimonials ── */
  .dep-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 46px; }
  .dep { background: var(--vdl-ink-3); border: 1px solid var(--vdl-hairline); border-radius: var(--vdl-radius-lg); padding: 26px 24px; display: flex; flex-direction: column; gap: 14px; }
  .dep .stars { color: var(--vdl-gold-300); letter-spacing: 3px; font-size: 14px; }
  .dep .q { font-size: 15px; line-height: 1.55; color: var(--vdl-fg-1); }
  .dep .by { display: flex; align-items: center; gap: 12px; margin-top: auto; }
  .dep .by image-slot { width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto; }
  .dep .by .nm { font-size: 14px; font-weight: 700; color: var(--vdl-fg-1); }
  .dep .by .ct { font-size: 12px; color: var(--vdl-fg-4); }

  /* ── Mentor ── */
  .mentor-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 54px; align-items: center; }
  .mentor-photo { position: relative; aspect-ratio: 4/5; border-radius: var(--vdl-radius-lg); overflow: hidden; border: 1px solid var(--vdl-gold-700); box-shadow: var(--vdl-shadow-lg); background: var(--vdl-ink-3); }
  .mentor-photo image-slot { display: block; width: 100%; height: 100%; }
  .mentor-txt h2 .sur { display: block; background: var(--vdl-grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .mentor-txt .role { font-family: var(--vdl-font-mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vdl-gold-500); margin: 12px 0 18px; }
  .mentor-txt p { margin: 0 0 14px; color: var(--vdl-fg-2); font-size: 15.5px; }
  .mentor-txt p strong { color: var(--vdl-fg-1); }

  /* ── Offer ── */
  .offer-card { max-width: 620px; margin: 50px auto 0; background: var(--vdl-grad-forest-hero); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-xl); overflow: hidden; box-shadow: var(--vdl-shadow-lg); position: relative; }
  .offer-card .o-glow { position: absolute; inset: 0; background: var(--vdl-grad-emerald-glow); opacity: .4; pointer-events: none; }
  .offer-card > * { position: relative; z-index: 2; }
  .offer-top { text-align: center; padding: 36px 40px 0; }
  .offer-top .ribbon { display: inline-block; font-family: var(--vdl-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vdl-gold-300); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-pill); padding: 6px 16px; margin-bottom: 16px; }
  .offer-top h3 { margin: 0; font-size: 26px; }
  .offer-list { list-style: none; margin: 0; padding: 26px 40px 0; display: flex; flex-direction: column; gap: 12px; }
  .offer-list li { display: flex; gap: 12px; font-size: 15px; color: var(--vdl-fg-2); }
  .offer-list .k { color: var(--vdl-gold-300); flex: 0 0 auto; }
  .offer-price { text-align: center; padding: 28px 40px 4px; }
  .offer-price .from { font-size: 15px; color: var(--vdl-fg-4); text-decoration: line-through; }
  .offer-price .big { font-family: var(--vdl-font-display); font-size: 72px; line-height: 0.9; color: var(--vdl-fg-1); margin: 6px 0; }
  .offer-price .big small { font-size: 26px; vertical-align: top; color: var(--vdl-gold-300); }
  .offer-price .inst { font-size: 14px; color: var(--vdl-fg-3); }
  .offer-act { padding: 22px 40px 38px; }
  .offer-act .cta { width: 100%; }
  .offer-act .safe { text-align: center; font-size: 12px; color: var(--vdl-fg-4); margin-top: 14px; letter-spacing: 0.04em; }

  /* ── Guarantee ── */
  .guar { display: grid; grid-template-columns: 130px 1fr; gap: 40px; align-items: center; max-width: 820px; margin: 0 auto; }
  .seal { width: 130px; height: 130px; border-radius: 50%; border: 1px solid var(--vdl-gold-500); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: var(--vdl-glow-gold); }
  .seal .d { font-family: var(--vdl-font-display); font-size: 44px; line-height: 1; color: var(--vdl-gold-300); }
  .seal .u { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vdl-fg-3); margin-top: 3px; }
  .guar h3 { margin: 0 0 12px; }
  .guar p { margin: 0; font-size: 16px; color: var(--vdl-fg-3); }

  /* ── FAQ ── */
  .faq-wrap { max-width: 800px; margin: 46px auto 0; }
  details { border-bottom: 1px solid var(--vdl-hairline); }
  summary { list-style: none; cursor: pointer; padding: 22px 4px; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-weight: 700; font-size: 18px; color: var(--vdl-fg-1); }
  summary::-webkit-details-marker { display: none; }
  summary .s-ic { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--vdl-gold-700); color: var(--vdl-gold-300); display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .25s; }
  details[open] summary .s-ic { transform: rotate(45deg); }
  details .a { padding: 0 4px 22px; font-size: 15px; color: var(--vdl-fg-3); line-height: 1.65; max-width: 680px; }

  /* ── Final ── */
  .final { text-align: center; }
  .final-card { max-width: 760px; margin: 0 auto; background: var(--vdl-grad-forest-hero); border: 1px solid var(--vdl-gold-700); border-radius: var(--vdl-radius-xl); padding: 56px 48px; box-shadow: var(--vdl-shadow-lg); position: relative; overflow: hidden; }
  .final-card .o-glow { position: absolute; inset: 0; background: var(--vdl-grad-emerald-glow); opacity: .45; pointer-events: none; }
  .final-card > * { position: relative; z-index: 2; }
  .final-card h2 { margin: 14px 0 16px; }
  .final-card p { margin: 0 auto 28px; max-width: 480px; color: var(--vdl-fg-2); font-size: 17px; }
  .final-card .micro { margin-top: 16px; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vdl-fg-4); }

  footer { border-top: 1px solid var(--vdl-hairline); padding: 38px 0; position: relative; z-index: 2; }
  .foot-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
  .foot-meta { font-size: 12px; color: var(--vdl-fg-4); }

  @media (max-width: 920px) {
    .wrap { padding: 0 22px; }
    .hero { padding: 44px 0 60px; }
    .hero-grid { grid-template-columns: 1fr; gap: 42px; }
    .portrait-frame { order: -1; max-width: 400px; margin: 0 auto; width: 100%; }
    .sec { padding: 64px 0; }
    .pain-grid, .mods, .incl-grid, .bonus-grid, .dep-grid { grid-template-columns: 1fr; }
    .split, .mentor-grid { grid-template-columns: 1fr; gap: 34px; }
    .split.rev .s-txt { order: 0; }
    .s-photo, .mentor-photo { max-width: 380px; margin: 0 auto; width: 100%; }
    .guar { grid-template-columns: 1fr; text-align: center; gap: 22px; }
    .seal { margin: 0 auto; }
    .pricebar-in { padding: 10px 18px; }
    .topbar .tb-cta { display: none; }
    .scarcity-in { padding: 9px 18px; gap: 9px; }
    .scarcity .sc-txt { font-size: 12px; }
  }
  @media (prefers-reduced-motion: reduce) { .glow-blob { animation: none !important; } }
