  :root{
    --tx-green:#10342a;
    --tx-green-deep:#0c241c;
    --tx-orange:#e8480f;
    --tx-orange-bright:#ff5a24;
    --tx-cream:#f6f1e7;
  }
  html,body{margin:0;padding:0}
  body{background:var(--tx-green);font-family:'DM Sans',sans-serif;color:#1c3a2e}

  /* Split layout */
  .tx-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh}

  /* LEFT: image + title */
  .tx-left{
    position:relative;overflow:hidden;color:#fff;
    background:#10342a url('../assets/img/buseta.jpeg') center/cover no-repeat;
  }
  .tx-left::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(12,36,28,.88) 0%,rgba(16,52,42,.72) 50%,rgba(232,72,15,.35) 100%);
  }
  .tx-left-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:42px 56px}

  .tx-brand{display:flex;align-items:center;gap:10px;color:#ffc6a3;font-family:'Fraunces',serif;font-size:1.2rem;letter-spacing:.04em}
  .tx-brand img{width:38px;height:38px;object-fit:contain}

  .tx-title-block h1{
    font-family:'Fraunces',serif;font-weight:300;
    font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1;margin:0 0 8px;color:#fff
  }
  .tx-title-block h1 em{font-style:italic;color:#ffc6a3;display:block}
  .tx-title-block .arrow{
    display:inline-flex;width:48px;height:48px;border-radius:50%;background:var(--tx-orange);
    color:#fff;align-items:center;justify-content:center;font-size:1.6rem;margin-top:28px
  }

  .tx-bottom h2{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;margin:0 0 10px;color:#fff}
  .tx-bottom p{color:#f1ece2;max-width:380px;font-size:.98rem;line-height:1.55;margin:0 0 22px}
  .tx-back{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:500;font-size:.9rem;opacity:.85}
  .tx-back:hover{opacity:1;color:#ffc6a3}

  /* RIGHT: form panel */
  .tx-right{background:var(--tx-orange);color:#1c3a2e;position:relative;display:flex;align-items:center;justify-content:center;padding:60px 56px}
  .tx-close{
    position:absolute;top:28px;right:36px;width:38px;height:38px;border-radius:50%;
    display:grid;place-items:center;color:#1c3a2e;text-decoration:none;font-size:1.3rem;font-weight:700;
    transition:background .15s
  }
  .tx-close:hover{background:rgba(0,0,0,.08)}

  .tx-form-wrap{width:100%;max-width:560px}
  .tx-form-wrap h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2rem,3.2vw,2.6rem);margin:0 0 10px;color:#1c3a2e}
  .tx-form-wrap p.lead{margin:0 0 26px;color:#1c3a2e;font-size:1rem}

  .tx-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .tx-field{display:flex;flex-direction:column;gap:6px}
  .tx-field.full{grid-column:1 / -1}
  .tx-field label{font-size:.82rem;font-weight:700;color:#1c3a2e;letter-spacing:.02em}
  .tx-field input,.tx-field textarea,.tx-field select{
    font:inherit;padding:12px 14px;border:none;border-radius:6px;background:#fff;color:#1c3a2e;width:100%;
    transition:box-shadow .15s
  }
  .tx-field input:focus,.tx-field textarea:focus,.tx-field select:focus{
    outline:none;box-shadow:0 0 0 3px rgba(16,52,42,.35)
  }
  .tx-field small{color:#3a1f10;font-size:.74rem;opacity:.8}
  .tx-field textarea{min-height:96px;resize:vertical}

  .tx-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
  .tx-actions button{
    flex:1 1 auto;justify-content:center;min-width:200px;
    padding:14px 22px;font-weight:700;border:none;border-radius:6px;cursor:pointer;
    font-family:inherit;font-size:1rem;transition:filter .15s,transform .15s
  }
  .tx-actions button:hover{filter:brightness(1.08)}
  .tx-actions button:active{transform:translateY(1px)}
  .btn-email{background:var(--tx-green);color:#fff}
  .btn-wa{background:#1c3a2e;color:#fff}

  /* Tablet */
  @media(max-width:1000px){
    .tx-left-inner{padding:36px 38px}
    .tx-right{padding:50px 38px}
  }

  /* Mobile: stack */
  @media(max-width:760px){
    .tx-split{grid-template-columns:1fr}
    .tx-left{min-height:340px}
    .tx-left-inner{padding:32px 28px;gap:60px}
    .tx-right{padding:40px 28px 60px}
    .tx-close{top:16px;right:18px}
    .tx-grid{grid-template-columns:1fr}
    .tx-actions button{min-width:0;width:100%}
    .tx-title-block .arrow{margin-top:14px}
  }
  @media(max-width:430px){
    .tx-left-inner{padding:28px 24px}
    .tx-right{padding:36px 24px 56px}
  }