/* ───────────────────────── FORM SECTION ───────────────────────── */
  .form-section{
    background:var(--cream);
    min-height:100vh;
    display:flex;
    align-items:stretch;
    padding: 40px 32px;
  }
  .form-section .weave{ background-blend-mode:overlay; }

  .form-wrap{
    max-width:1120px; width:100%; margin:0 auto;
    min-height: calc(100vh - 140px);
    position:relative; z-index:2;
    display:grid;
    grid-template-columns: 0.85fr 1.5fr;
    gap:0;
    border-radius: var(--r-card);
    overflow:hidden;
    box-shadow: 0 24px 60px rgba(36,16,8,.28);
  }

  .form-side{
    background:var(--espresso2);
    color:var(--cream);
    padding:44px 40px;
    display:flex; flex-direction:column; justify-content:space-between;
  }
  .form-side .rune{
    width:36px; height:36px; margin-bottom:12px; opacity:.9;
  }
  .form-side h2{
    font-family:var(--font-display);
    font-size:1.85rem;
    color:var(--olive);
    line-height:1.15;
    margin:0 0 16px;
  }
  .form-side p{
    font-size:.98rem;
    line-height:1.55;
    color:var(--cream2);
    opacity:.9;
    margin:0 0 20px;
  }
  .tag-scrawl{
    font-family:var(--font-eyebrow);
    font-size:1.25rem;
    color:var(--mustard);
    display:inline-block;
    border:2px solid var(--mustard);
    border-radius:40px;
    padding:3px 18px;
    transform:rotate(-2deg);
    width:fit-content;
    margin: 10px 0 20px;
  }

  .side-extra{
    display:flex;
    flex-direction:column;
    gap:25px;
    margin:0px 0;
  }

  .side-trabalhe p{
    margin: 0;
    display:flex;
    flex-direction:column;
    gap:25px;
  }

  .work-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:fit-content;
    text-decoration:none;
    color:var(--cream2);
    padding: 10px 0px;
    font-family:var(--font-ui);
    font-size:1.2rem;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .work-link:hover{
    color:var(--olive-dark);
    transform:translateY(-2px);
  }
  .work-link strong{
    font-weight:600;
    color:var(--olive);
  }
  .work-link:hover strong{
    font-weight:600;
    color:var(--olive-dark);
  }

  .work-link svg{ width:11px; height:11px; fill:currentColor; opacity:.8; }

  .side-social{ display:flex; gap:14px; }
  .side-social a{
    width:48px; height:48px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(251,244,227,.1);
    color:var(--cream);
    text-decoration:none;
    transition:background .2s ease;
  }
  .side-social a:hover{ background:var(--olive); color:var(--espresso2); }
  .side-social svg{ width:21px; height:21px; fill:currentColor; }

  .form-card{
    background:var(--cream);
    padding:44px 52px;
    display:flex;
    flex-direction:column;
  }

  .form-card form{
    display:flex;
    flex-direction:column;
    flex:1;
  }

  .field{
    margin-bottom:18px;
  }

  .field-message{
    flex:1;
    display:flex;
    flex-direction:column;
    margin-bottom:22px;
  }

  .field input,
  .field select,
  .field textarea{
    width:100%;
    font-family:var(--font-ui);
    font-size:.98rem;
    font-weight:500;
    color:var(--text);
    background:var(--cream2);
    border:2px solid transparent;
    border-radius:14px;
    padding:14px 18px;
    outline:none;
    transition:border-color .2s ease, background .2s ease;
    appearance:none;
  }
  .field input::placeholder,
  .field textarea::placeholder{ color:var(--plum-brown); opacity:.7; }
  .field select{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237A3000'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:22px;
    padding-right:46px;
    color:var(--text);
  }
  .field select:invalid{ color:var(--plum-brown); }

  .field-message textarea{
    flex:1;
    resize:none;
    min-height:180px;
    font-family:var(--font-ui);
    line-height:1.5;
  }

  .field input:focus,
  .field select:focus,
  .field textarea:focus{
    border-color:var(--olive-dark);
    background:#fff;
  }

  .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }


  .termos {
    margin: 10px;
  }

  .termos label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
  }

.termos input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    flex-shrink: 0;
    cursor: pointer;
}

.termos a {
    color: var(--olive-dark);
    text-decoration: none;
}

.termos a:hover {
    text-decoration: underline;
}

#btnEnviar:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


  .submit-btn{
    font-family:var(--font-display);
    font-size:1.05rem;
    letter-spacing:.5px;
    color:var(--cream);
    background:var(--rust);
    border:none;
    border-radius:40px;
    padding:13px 32px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:4px;
    align-self:flex-start;
    transition: transform .2s ease, background .2s ease;
  }
  .submit-btn:hover{ background:var(--rust-dark); transform:translateY(-2px); }
  .submit-btn svg{ width:16px; height:16px; fill:currentColor; }

  .alert{
    margin-top:20px;
    padding:16px 20px;
    border-radius:14px;
    font-size:.95rem;
    font-weight:600;
  }
  .alert-success{
    background:rgba(79,107,42,.12);
    color:var(--forest);
    border:2px solid var(--forest);
  }

  /* ───────────────────────── RESPONSIVE ───────────────────────── */
  @media (max-width: 900px){
    .form-wrap{ grid-template-columns:1fr; min-height:auto; }
    .form-side{ padding:40px 32px; }
    .form-card{ padding:40px 28px; }
  }
  @media (max-width: 760px){
    .form-section{ padding:20px 16px; }
    .row-2{ grid-template-columns:1fr; }
    .field-message textarea{ min-height:160px; }
  }

  :focus-visible{ outline:3px solid var(--rust); outline-offset:2px; }