:root{
    --creme:      #F3EBDD;
    --vinho:      #64263D;
    --vinho-esc:  #4d1e30;
    --rosa:       #A95C6B;
    --salvia:     #78806A;
    --dourado:    #C7A56B;
    --oliva:      #565D4E;
    --tinta:      #2D2528;

    --font-titulo: 'Avenir Next', 'Segoe UI', Helvetica, Arial, sans-serif;
    --font-editorial: Georgia, 'Times New Roman', serif;
    --radius: 18px;
    --radius-sm: 10px;
    --transition: 320ms ease;
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background: var(--creme);
    color: var(--tinta);
    font-family: var(--font-titulo);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  p{ margin:0; }

  :focus-visible{ outline: 3px solid var(--dourado); outline-offset:2px; }

  .tela{
    display:grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
  }
  .foto-painel{
    position:relative;
    background: var(--vinho);
    min-height: 280px;
  }
  .foto-painel img{
    width:100%; height:100%;
    object-fit:cover;
    object-position: center 20%;
  }
  .form-painel{
    background: var(--vinho);
    color: var(--creme);
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 56px 40px;
  }
  .form-conteudo{
    width:100%;
    max-width: 420px;
    opacity:0;
    transform: translateY(14px);
    animation: subir 700ms ease forwards 120ms;
  }
  @keyframes subir{ to{ opacity:1; transform:none; } }
  @media (prefers-reduced-motion: reduce){
    .form-conteudo{ opacity:1; transform:none; animation:none; }
  }

  .marca{
    display:flex; align-items:center; gap:9px;
    margin-bottom: 40px;
  }
  .marca img{ width:30px; height:30px; }
  .marca span{ font-size:13.5px; font-weight:700; letter-spacing:0.02em; }
  .marca span small{ display:block; font-weight:500; font-size:10px; letter-spacing:0.07em; text-transform:uppercase; color: rgba(243,235,221,0.65); }

  .kicker{
    font-family: var(--font-editorial); font-style:italic;
    font-size: 15px; color: rgba(243,235,221,0.78);
    margin-bottom: 14px;
  }
  h1{
    font-family: var(--font-titulo);
    font-size: clamp(26px, 3vw, 32px);
    line-height:1.22;
    font-weight:700;
    letter-spacing:-0.01em;
    margin:0;
    color: var(--creme);
  }
  .subtitle{
    margin-top:16px;
    font-size:15.5px;
    color: rgba(243,235,221,0.88);
    max-width: 420px;
  }

  .pontos{
    list-style:none; margin: 24px 0 0; padding:0;
    display:flex; flex-direction:column; gap:9px;
  }
  .pontos li{
    display:flex; gap:9px;
    font-size:14px;
    color: rgba(243,235,221,0.92);
  }
  .pontos li::before{ content:"—"; color:var(--dourado); font-weight:700; flex-shrink:0; }

  .cta-bloco{ margin-top: 28px; }
  .btn-enviar{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    font-family: var(--font-titulo);
    font-weight:700; font-size:16px;
    line-height:1.2;
    padding:16px 24px;
    border-radius:100px;
    border:none;
    cursor:pointer;
    background: var(--creme);
    color: var(--vinho);
    text-decoration:none;
    transition: transform var(--transition), background var(--transition);
  }
  .btn-enviar svg{ width:20px; height:20px; flex:0 0 auto; }
  .btn-enviar:hover{ background:#fff; transform: translateY(-2px); }
  @media (prefers-reduced-motion: reduce){ .btn-enviar:hover{ transform:none; } }

  .confianca{
    margin-top:12px;
    font-size:13px;
    line-height:1.45;
    color: rgba(243,235,221,0.68);
    text-align:center;
  }

  .sinal{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    padding:7px 11px;
    border:1px solid rgba(199,165,107,0.42);
    border-radius:999px;
    color:var(--dourado);
    font-size:12px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .sinal::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--dourado);
    box-shadow:0 0 0 4px rgba(199,165,107,.12);
  }

  .contexto{
    margin-top:24px;
    padding:16px 18px;
    border-left:2px solid var(--dourado);
    background:rgba(243,235,221,.06);
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  }
  .contexto strong{ display:block; font-size:14px; color:var(--creme); }
  .contexto p{ margin-top:4px; font-size:13px; color:rgba(243,235,221,.7); }

  .rodape-mini{
    margin-top: 34px;
    font-size:13px;
    color: rgba(243,235,221,0.6);
  }
  .rodape-mini a{ color: rgba(243,235,221,0.85); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
  @media (max-width: 860px){
    .tela{ grid-template-columns: 1fr; }
    .foto-painel{ min-height: 34vh; order:-1; }
    .form-painel{ padding: 40px 24px 48px; }
  }

  .rodape-links{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-top:12px;
    font-size:12px;
    color:rgba(243,235,221,.58);
  }
  .rodape-links a{
    color:rgba(243,235,221,.78);
    text-decoration:underline;
    text-underline-offset:2px;
  }

