/*
 * 13-form-modal.css - Formulario V4 en modal liquid glass: trigger, backdrop, panel, campos, submit y estados.
 * Origen: index.html, <style> #1 (lineas 353-402). Contenido identico al original.
 */
/* ===== FORMULARIO LIQUID GLASS — V4 ===== */
.form-trigger-wrap{display:flex;justify-content:center;margin-top:34px}
.form-trigger{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font:700 13px/1 var(--ios);letter-spacing:.04em;background:rgba(255,255,255,.09);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 55px rgba(0,0,0,.22);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease,background .45s ease}
.form-trigger:before{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.34) 48%,transparent 61%);transform:translateX(-80%) rotate(7deg);transition:transform .9s ease;pointer-events:none}
.form-trigger:hover{transform:translateY(-5px) scale(1.025);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 24px 75px rgba(0,0,0,.32),0 0 50px rgba(184,255,217,.10)}
.form-trigger:hover:before{transform:translateX(80%) rotate(7deg)}
.form-trigger .trigger-dot{width:8px;height:8px;border-radius:50%;background:#b8ffd9;box-shadow:0 0 14px rgba(184,255,217,.9);animation:triggerPulse 2.2s ease-in-out infinite}
@keyframes triggerPulse{50%{transform:scale(1.45);opacity:.7}}

.form-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s ease}
.form-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.form-backdrop{position:absolute;inset:0;background:rgba(3,5,12,.48);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}
.form-backdrop:before,.form-backdrop:after{content:"";position:absolute;border-radius:50%;filter:blur(75px);pointer-events:none;animation:modalOrb 12s ease-in-out infinite alternate}
.form-backdrop:before{width:35vw;height:35vw;left:-8vw;top:10vh;background:rgba(160,130,255,.15)}
.form-backdrop:after{width:30vw;height:30vw;right:-5vw;bottom:0;background:rgba(110,255,210,.09);animation-delay:-4s}
@keyframes modalOrb{to{transform:translate3d(7vw,-5vh,0) scale(1.16)}}
.form-panel{position:relative;width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(255,255,255,.2);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055) 45%,rgba(10,12,23,.68));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(255,255,255,.05),0 50px 150px rgba(0,0,0,.58),0 0 90px rgba(150,125,255,.10);backdrop-filter:blur(45px) saturate(180%);-webkit-backdrop-filter:blur(45px) saturate(180%);transform:translateY(28px) scale(.97);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.form-modal.is-open .form-panel{transform:translateY(0) scale(1)}
.form-panel:before{content:"";position:absolute;left:7%;right:7%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);opacity:.7}
.form-inner{padding:38px}
.form-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
.form-kicker{font:600 10px/1 var(--ios);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.52);margin-bottom:12px}
.form-title{margin:0;font-family:var(--display);font-size:clamp(36px,6vw,66px);line-height:.92;letter-spacing:-.045em;color:#fff;text-transform:uppercase}
.form-title em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:rgba(255,255,255,.78)}
.form-close{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:19px;backdrop-filter:blur(18px);transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.form-close:hover{transform:rotate(90deg) scale(1.08);background:rgba(255,255,255,.14);box-shadow:0 0 30px rgba(255,255,255,.10)}
.form-intro{margin:0 0 26px;color:rgba(255,255,255,.63);font:400 14px/1.65 var(--ios);max-width:560px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{position:relative}
.form-field.full{grid-column:1/-1}
.form-field label{display:block;margin:0 0 8px 4px;color:rgba(255,255,255,.55);font:600 10px/1 var(--ios);letter-spacing:.12em;text-transform:uppercase}
.form-field input,.form-field select,.form-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:17px;outline:none;color:#fff;background:rgba(255,255,255,.065);padding:15px 16px;font:500 14px/1.4 var(--ios);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 30px rgba(0,0,0,.10);transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease}
.form-field textarea{min-height:112px;resize:vertical}
.form-field select{appearance:none;-webkit-appearance:none}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(255,255,255,.32)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:rgba(184,255,217,.45);background:rgba(255,255,255,.095);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 4px rgba(184,255,217,.055),0 16px 45px rgba(0,0,0,.16);transform:translateY(-1px)}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 2px 0;color:rgba(255,255,255,.42);font:400 11px/1.5 var(--ios)}
.form-consent input{margin-top:2px;accent-color:#b8ffd9}
.form-submit{position:relative;overflow:hidden;width:100%;margin-top:22px;border:1px solid rgba(255,255,255,.2);border-radius:17px;padding:16px 20px;color:#09100d;background:linear-gradient(120deg,#eafff4,#b8ffd9);font:800 12px/1 var(--ios);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.25),0 0 45px rgba(184,255,217,.12);transition:transform .35s ease,box-shadow .35s ease,filter .35s ease}
.form-submit:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s ease}
.form-submit:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(0,0,0,.32),0 0 60px rgba(184,255,217,.22);filter:saturate(1.08)}
.form-submit:hover:before{transform:translateX(120%)}
.form-status{display:none;margin-top:14px;padding:13px 15px;border-radius:15px;border:1px solid rgba(184,255,217,.2);background:rgba(184,255,217,.07);color:rgba(234,255,244,.86);font:500 12px/1.5 var(--ios)}
.form-status.show{display:block;animation:statusIn .5s ease both}
@keyframes statusIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.form-note{margin-top:14px;text-align:center;color:rgba(255,255,255,.28);font:400 10px/1.5 var(--ios)}
@media(max-width:640px){.form-modal{padding:12px}.form-panel{border-radius:26px;max-height:92vh}.form-inner{padding:25px 20px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-top{margin-bottom:22px}.form-title{font-size:42px}.form-close{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.form-backdrop:before,.form-backdrop:after,.form-trigger .trigger-dot{animation:none}.form-panel,.form-modal{transition:none}.form-trigger:before,.form-submit:before{display:none}}
