
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}
  body{font-family:'Inter',sans-serif; overflow-x:hidden; max-width:100%;}
  h1,h2,h3,h4,.font-display{font-family:'Space Grotesk',sans-serif;}

  /* ---------- Assinatura visual: linha de razão (ledger rule) ---------- */
  .ledger-rule{
    background-image:linear-gradient(90deg, transparent 0%, rgba(212,175,55,0.5) 50%, transparent 100%);
    height:1px;
  }

  /* ---------- Botões premium com efeito shine ---------- */
  .btn-shine{ position:relative; overflow:hidden; isolation:isolate; }
  .btn-shine::after{
    content:"";
    position:absolute; top:0; left:-140%; width:60%; height:100%;
    background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%);
    transform:skewX(-20deg);
    transition:left .7s cubic-bezier(.4,0,.2,1);
  }
  .btn-shine:hover::after{ left:140%; }

  .ripple{
    position:absolute; border-radius:9999px; background:rgba(255,255,255,0.5);
    transform:scale(0); animation:rippleAnim .6s cubic-bezier(.16,.84,.44,1); pointer-events:none;
  }
  @keyframes rippleAnim{ to{ transform:scale(2.8); opacity:0; } }

  /* ---------- Mockup do ebook ---------- */
  @keyframes floatBook{
    0%,100%{ transform:translateY(0) rotate(-2deg); }
    50%{ transform:translateY(-16px) rotate(-1deg); }
  }
  @keyframes glowPulse{
    0%,100%{ opacity:.55; transform:scale(1); }
    50%{ opacity:.85; transform:scale(1.08); }
  }
  .book-float{ animation:floatBook 6s ease-in-out infinite; }
  .book-glow{ animation:glowPulse 5s ease-in-out infinite; }

  /* ---------- FAQ accordion (details nativo, painel animado) ---------- */
  details.faq > summary{ list-style:none; cursor:pointer; }
  details.faq > summary::-webkit-details-marker{ display:none; }
  details.faq .faq-panel{
    display:grid; grid-template-rows:0fr; opacity:0;
    transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1), opacity .35s ease;
  }
  details.faq[open] .faq-panel{ grid-template-rows:1fr; opacity:1; }
  details.faq .faq-panel > div{ overflow:hidden; }
  details.faq .faq-icon{ transition:transform .35s cubic-bezier(.4,0,.2,1); }
  details.faq[open] .faq-icon{ transform:rotate(135deg); }

  /* ---------- Navbar ---------- */
  #navbar{ transition:box-shadow .3s ease, padding .3s ease, background-color .3s ease; }
  #navbar.is-scrolled{ box-shadow:0 8px 30px -12px rgba(15,23,42,0.15); }

  ::selection{ background:#10b981; color:white; }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  }