/* ==========================================================================
   poseidon_solicitudes · Formulario de contacto
   ========================================================================== */
.lead-form__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(40px,7vw,120px);align-items:start}
.lead-form__intro{position:sticky;top:calc(var(--header-h) + 30px)}
.lead-form__intro h2{margin-top:22px}
.lead-form__intro .section-eyebrow{color:var(--muted)}
.lead-form__text{max-width:440px;margin-top:26px;font-size:var(--fs-text);line-height:1.9;color:var(--muted)}
.lead-form__aside{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;align-items:center;max-width:460px;margin-top:44px;padding:26px 26px 24px;border:1px solid #4f8a80;background:linear-gradient(135deg,#185b52,#0f3d3f);transition:transform .3s var(--ease),border-color .25s}
.lead-form__aside:hover{transform:translateY(-4px);border-color:#8fcfc0}
.lead-form__aside-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(223,252,244,.35);border-radius:50%}
.lead-form__aside-icon .p-icon{width:22px;height:22px;color:#dffcf4}
.lead-form__aside strong{display:block;font-family:var(--serif);font-weight:400;font-size:var(--fs-title-sm);line-height:1.25;color:var(--white)}
.lead-form__aside small{display:block;margin-top:4px;font-size:var(--fs-text);line-height:1.7;color:#cfe6e2}
.lead-form__aside-cta{grid-column:1/-1;display:inline-flex;align-items:center;gap:12px;margin-top:10px;padding-top:16px;border-top:1px solid rgba(223,252,244,.2);font-size:var(--fs-text);font-weight:600;color:#dffcf4}
.lead-form__aside-cta .p-icon{width:15px;height:15px}

.lead-form__form{position:relative;padding:clamp(28px,3.6vw,56px);border:1px solid var(--line);background:linear-gradient(160deg,rgba(18,57,75,.55),rgba(7,26,38,.35))}
.lead-form__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lead-form__fields .is-full{grid-column:1/-1}
.lead-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.lead-field{position:relative;display:block;min-width:0}
.lead-field input,.lead-field select,.lead-field textarea{display:block;width:100%;min-width:0;min-height:62px;padding:26px 16px 10px;border:1px solid #3d5c6b;border-radius:0;background-color:rgba(6,23,32,.72);color:var(--white);font-size:var(--fs-text);line-height:1.5;color-scheme:dark;transition:border-color .25s,background-color .25s;appearance:none;-webkit-appearance:none}
.lead-field textarea{min-height:150px;resize:vertical}
.lead-field select{cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7d9d7' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.lead-field select option{background:#0a202d;color:var(--white)}
.lead-field input:hover,.lead-field select:hover,.lead-field textarea:hover{border-color:#5f8494}
.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus{outline:0;border-color:var(--aqua);background-color:rgba(10,32,45,.9)}
.lead-field>span{position:absolute;left:17px;top:20px;max-width:calc(100% - 34px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:var(--fs-text);color:#9fb6bf;transform-origin:left top;transition:transform .22s var(--ease),color .22s}
.lead-field input:focus+span,.lead-field textarea:focus+span,.lead-field input:not(:placeholder-shown)+span,.lead-field textarea:not(:placeholder-shown)+span,.lead-field--select>span{transform:translateY(-12px) scale(.8);color:var(--aqua);letter-spacing:.4px}
.lead-field.is-invalid input,.lead-field.is-invalid textarea{border-color:#e39a8f}
.lead-field.is-invalid>span{color:#ffbcb4}
.lead-form__hint{margin:-6px 0 2px;font-size:var(--fs-text);color:#8ea6b0}
.lead-form__hint.is-invalid{color:#ffbcb4}

.lead-chips{min-width:0;margin:6px 0 0;padding:0;border:0}
.lead-chips legend{margin-bottom:14px;padding:0;font-size:var(--fs-text);color:#c6d7dc}
.lead-chips__list{display:flex;flex-wrap:wrap;gap:10px}
.lead-chip{position:relative;cursor:pointer}
.lead-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.lead-chip span{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #3d5c6b;font-size:var(--fs-text);color:#d3e2e6;transition:background .25s,border-color .25s,color .25s}
.lead-chip .p-icon{width:16px;height:16px;color:var(--aqua)}
.lead-chip:hover span{border-color:#6f97a6}
.lead-chip input:checked+span{background:var(--aqua);border-color:var(--aqua);color:var(--navy)}
.lead-chip input:checked+span .p-icon{color:var(--navy)}
.lead-chip input:focus-visible+span{outline:2px solid var(--aqua);outline-offset:3px}

.lead-form__submit{width:100%;margin-top:28px}
.lead-form__submit[aria-busy="true"]{opacity:.7;pointer-events:none}
.lead-form__legal{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:var(--fs-text);line-height:1.7;color:#8ea6b0}
.lead-form__legal .p-icon{width:17px;height:17px;margin-top:2px;color:var(--aqua)}
.lead-form__notice{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding:16px 18px;border:1px solid;font-size:var(--fs-text);line-height:1.6}
.lead-form__notice:focus{outline:0}
.lead-form__notice .p-icon{width:20px;height:20px}
.lead-form__notice.is-success{border-color:#4f8a80;background:rgba(24,91,82,.45);color:#dffcf4}
.lead-form__notice.is-error{border-color:#b86c62;background:rgba(120,40,32,.3);color:#ffd3cc}

@media(max-width:1000px){
  .lead-form__grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .lead-form__intro{position:static}
  .lead-form__text,.lead-form__aside{max-width:none}
}
@media(max-width:760px){
  .lead-form__fields{grid-template-columns:minmax(0,1fr);gap:14px}
  .lead-field input,.lead-field select,.lead-field textarea{font-size:16px;min-height:58px}
  .lead-field>span{top:18px}
  .lead-form__form{padding:26px 20px}
  .lead-form__aside{margin-top:32px;padding:22px 20px}
  .lead-chip span{min-height:42px;padding:9px 13px}
}
@media(prefers-reduced-motion:reduce){.lead-field>span,.lead-form__aside{transition:none}}
