:root{--ink:#2A1C1F;--ink2:#4A3A3D;--plum:#6B2E41;--rose:#F3D6DA;--cream:#F7EFE9;--card:#FFFAF7;--line:#EADBD3}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font:17px/1.5 'Figtree',-apple-system,sans-serif;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.box{width:100%;max-width:440px;background:var(--card);border-radius:28px;padding:32px 26px;box-shadow:0 20px 60px rgba(107,46,65,.12)}
.centro{text-align:center}
.marca{display:inline-block;font:600 20px 'Fraunces',Georgia,serif;color:var(--ink);text-decoration:none;margin-bottom:22px}
em{font-style:italic;color:var(--plum)}
h1{font:600 34px/1.1 'Fraunces',Georgia,serif;margin:0 0 10px}
.sub{color:var(--ink2);margin:0 0 20px}
.precio{font:600 44px 'Fraunces',Georgia,serif;margin:0 0 22px}
.precio small{font:500 16px 'Figtree';color:var(--ink2)}
form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
label small{font-weight:400;color:var(--ink2);font-size:13px}
input{font:inherit;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
input:focus{outline:none;border-color:var(--plum)}
.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;color:var(--ink2)}
.check input{margin-top:3px;accent-color:var(--plum);width:18px;height:18px;padding:0}
a{color:var(--plum);font-weight:600}
button,.boton{display:flex;align-items:center;justify-content:center;min-height:56px;border:none;border-radius:999px;background:var(--ink);color:#fff;font:600 18px 'Figtree';cursor:pointer;text-decoration:none;margin-top:4px}
button:disabled{opacity:.6;cursor:default}
.error{color:#B4475A;font-size:14px;min-height:20px}
.incluye{margin:22px 0 0;padding:0 0 0 20px;color:var(--ink2);font-size:15px}
.incluye li{margin:4px 0}
.ya{text-align:center;font-size:14px;color:var(--ink2);margin:18px 0 0}
.icono{font-size:56px;margin:4px 0 10px}
