:root{--crema: #fbf7ef;--crema-2: #f4ecdb;--azul: #1d4fbf;--marino: #0b1f5c;--oro: #c99a3e;--tinta: #1c2540;--suave: #5b6482;--error: #b3261e;--gutter: 1.25rem;--radio: 14px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--crema);color:var(--tinta);font-family:Montserrat,system-ui,sans-serif;font-size:1rem;line-height:1.6}h1,h2,h3{color:var(--marino);line-height:1.2;margin:0 0 .6em;font-weight:600}p{margin:0 0 1em}a{color:var(--azul)}:focus-visible{outline:3px solid var(--oro);outline-offset:2px;border-radius:4px}.manuscrita{font-family:Great Vibes,cursive;font-weight:400;color:var(--oro)}.filete{height:2px;width:4.5rem;background:var(--oro);border:0;margin:1.25rem auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.85rem 1.6rem;border:0;border-radius:999px;cursor:pointer;text-decoration:none;background:var(--azul);color:#fff;font:600 .78rem/1 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:background .2s,transform .1s}.btn:hover{background:var(--marino)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn-oro{background:var(--oro);color:var(--marino)}.btn-oro:hover{background:#b88a30}.btn-borde{background:transparent;color:var(--marino);box-shadow:inset 0 0 0 1.5px var(--marino)}.btn-borde:hover{background:var(--marino);color:#fff}.campo{display:block;margin-bottom:1.1rem}.campo>span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--marino);margin-bottom:.4rem}.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo input[type=password]{width:100%;min-height:48px;padding:.7rem .9rem;font:inherit;color:var(--tinta);background:#fff;border:1.5px solid #d9d0bb;border-radius:10px}.campo input:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px #1d4fbf2e}.campo input.invalido{border-color:var(--error)}.campo small{display:block;color:var(--suave);font-size:.78rem;margin-top:.3rem}.error-campo,.campo .error-campo{color:var(--error)}.alerta{background:#fdecea;color:var(--error);border-left:4px solid var(--error);padding:.8rem 1rem;border-radius:8px;margin-bottom:1.1rem;font-size:.9rem}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.acceso{max-width:30rem;margin:0 auto;padding:1.5rem var(--gutter) 4rem}.acceso-tarjeta{background:#fff;border-radius:18px;border-top:4px solid var(--oro);box-shadow:0 18px 40px -24px #0b1f5c73;padding:1.75rem 1.4rem 1.6rem}.acceso h1{font-size:1.5rem;margin-bottom:.25rem}.acceso .intro{color:var(--suave);font-size:.92rem;margin-bottom:1.5rem}.acceso .btn{width:100%;margin-top:.4rem}.acceso .pie{text-align:center;font-size:.9rem;margin:1.25rem 0 0;color:var(--suave)}.casilla-terminos{display:flex;gap:.7rem;align-items:flex-start;margin:.4rem 0 1.1rem;font-size:.9rem}.casilla-terminos input{width:22px;height:22px;margin:.1rem 0 0;accent-color:var(--azul);flex:none}.panel{max-width:72rem;margin:0 auto;padding:1.5rem var(--gutter) 4rem}.panel-estrecho{max-width:46rem}.campo input[type=number],.campo input[type=datetime-local],.campo select,.campo textarea{width:100%;min-height:48px;padding:.7rem .9rem;font:inherit;color:var(--tinta);background:#fff;border:1.5px solid #d9d0bb;border-radius:10px}.campo textarea{min-height:7rem;resize:vertical}.campo input[type=color]{width:100%;height:48px;padding:.25rem;background:#fff;border:1.5px solid #d9d0bb;border-radius:10px;cursor:pointer}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px #1d4fbf2e}.campo input:disabled,.campo select:disabled,.campo textarea:disabled{background:#f1ece0;color:var(--suave);cursor:not-allowed}.campo input.invalido,.campo textarea.invalido{border-color:var(--error)}.aviso{background:#fff7e0;border-left:4px solid var(--oro);color:var(--marino);padding:.8rem 1rem;border-radius:8px;margin-bottom:1.1rem;font-size:.9rem}.exito{background:#e4f4ea;border-left:4px solid #2e9d5b;color:#1b6b3a;padding:.8rem 1rem;border-radius:8px;margin-bottom:1.1rem;font-size:.9rem}
