/* ==========================================================
   Michele Lima · estilos compartilhados (todas as páginas)
   Cores, tipografia base, botões, rodapé, crédito e animações.
   ========================================================== */
  :root{
    --bordo-escuro:#5A2233;
    --bordo:#7C2F49;
    --bordo-suave:#A35A6E;
    --rose-claro:#EBC4CE;
    --rose-nevoa:#F7EEF1;
    --cinza-claro:#F1F0F1;
    --branco:#FFFFFF;
    --preto:#2A2528;
    --cinza:#6E646A;
    --serif:'Playfair Display',Georgia,serif;
    --sans:'Montserrat',system-ui,sans-serif;
    --wrap:1180px;
    --shadow:0 18px 50px -24px rgba(90,34,51,.45);
    --bordo-noite:#3A1522;
    --creme:#F7EEF1;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;font-family:var(--sans);color:var(--preto);background:var(--branco);
    font-weight:400;line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;color:var(--bordo-escuro)}
  p{margin:0 0 1em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
  section{scroll-margin-top:84px}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.55em;
    font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.01em;
    padding:.95em 1.7em;border-radius:999px;cursor:pointer;border:1.5px solid transparent;
    transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
  }
  .btn-primary{background:var(--bordo);color:#fff;box-shadow:0 10px 24px -12px rgba(124,47,73,.7)}
  .btn-primary:hover{background:var(--bordo-escuro);transform:translateY(-2px)}
  .btn-light:hover{background:var(--rose-nevoa);transform:translateY(-2px)}
  .site-header.scrolled{box-shadow:0 8px 30px -20px rgba(42,37,40,.4);border-bottom-color:var(--cinza-claro)}
  .brand img{height:46px;width:auto}
  .site-footer{background:var(--preto);color:rgba(255,255,255,.7);padding:52px 0 30px}
  .footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
  .site-footer img{height:60px;width:auto}
  .footer-links{display:flex;gap:26px;flex-wrap:wrap}
  .footer-links a{font-size:.9rem;transition:color .25s}
  .footer-links a:hover{color:#fff}
  .footer-bottom{padding-top:22px;font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.5)}
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
  .reveal.is-visible{opacity:1;transform:none}
  .reveal.d1{transition-delay:.09s}
  .reveal.d2{transition-delay:.18s}
  @keyframes floatUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .gd-credit{display:inline-flex;align-items:center;gap:.45em;color:inherit;opacity:.6;text-decoration:none;font-size:.85em;transition:opacity .2s}
  .gd-credit svg{height:1em;width:auto;display:block;transform:translateY(.06em)}
  .gd-credit .gd-a{transition:fill .2s}
  .gd-credit:hover,.gd-credit:focus-visible{opacity:1}
  .gd-credit:hover .gd-a,.gd-credit:focus-visible .gd-a{fill:#E5117F}
