/* ==========================================================================
   Contacto
   ========================================================================== */
.ct{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(20px,3vw,44px);align-items:start;}
@media(max-width:940px){.ct{grid-template-columns:1fr;}}

.ct-form{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.8vw,34px);background:rgba(255,255,255,.035);}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:620px){.f-grid{grid-template-columns:1fr;}}
.f{display:block;}
.f-full{margin-top:1rem;}
.f>span{display:block;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.4rem;}
.f>span i{font-style:normal;opacity:.7;text-transform:none;letter-spacing:.04em;}
.f input,.f select,.f textarea{
  width:100%;background:rgba(6,13,20,.6);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:.7rem .85rem;color:var(--fg);font-family:var(--font-body);font-size:.92rem;
  transition:border-color .2s var(--ease);
}
.f textarea{resize:vertical;line-height:1.6;}
.f select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fb3c4' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .7rem center;background-size:15px;padding-right:2.2rem;}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--secondary);}
.f input.err,.f textarea.err{border-color:var(--late);}

.f-set{border:0;padding:0;margin:1.5rem 0 0;}
.f-set legend{padding:0;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.6rem;}
.f-chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.chip{
  display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border:1px solid var(--line-2);
  border-radius:999px;font-size:.83rem;color:var(--fg-mid);cursor:pointer;min-height:40px;
  transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.chip input{accent-color:var(--primary);width:19px;height:19px;cursor:pointer;flex:none;}
.chip:hover{border-color:var(--secondary);color:#fff;}
.chip:has(input:checked){background:rgba(70,130,180,.2);border-color:var(--secondary);color:#fff;}

.f-check{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.5rem;font-size:.84rem;color:var(--fg-mid);line-height:1.55;cursor:pointer;}
.f-check input{accent-color:var(--primary);width:17px;height:17px;margin-top:.15rem;flex:none;cursor:pointer;}
.f-check a{color:var(--secondary);border-bottom:1px solid currentColor;}
.ct-legal{opacity:.85;max-width:62ch;border-top:1px dashed var(--line-2);padding-top:.9rem;}

.ct-side{display:flex;flex-direction:column;gap:14px;}
.ct-card{border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.2vw,24px);background:rgba(6,13,20,.45);}
.ct-card-quiet{background:transparent;border-style:dashed;}
.ct-card .lnk{color:var(--secondary);}
.ct-card .lnk:hover{color:#fff;}

.pasos{margin-top:1.1rem;}
.pasos li{display:flex;gap:.9rem;padding:.75rem 0;border-top:1px solid var(--line);}
.pasos li:first-child{border-top:0;padding-top:0;}
.pasos .mono{color:var(--secondary);font-size:.68rem;letter-spacing:.1em;flex:none;width:3.2em;padding-top:.15em;}
.pasos strong{display:block;font-family:var(--font-heading);font-size:.92rem;color:#fff;font-weight:600;}
.pasos p{font-size:.84rem;color:var(--fg-mid);line-height:1.5;margin-top:.2rem;}

.ct-list li{display:flex;flex-direction:column;gap:.1rem;padding:.55rem 0;border-top:1px solid var(--line);}
.ct-list li:first-child{border-top:0;padding-top:0;}
.ct-list .mono{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-dim);}
.ct-list a{display:inline-block;padding-block:.35rem;font-size:.9rem;color:var(--fg);word-break:break-word;}
.ct-list a:hover{color:var(--secondary);}
