:root{
  --magenta:#E90085; --magenta-900:#A8005F; --magenta-050:#FDF0F7;
  --tinta:#101A24; --tinta-70:#46535F; --tinta-45:#7D8994; --tinta-20:#C9D0D6;
  --linea:#E7EBEE; --papel:#FFFFFF; --papel-2:#F7F9FA;
  --ok:#0E7A45; --alerta:#B26A00; --critico:#C42121;
  --serif:'Jost',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans); color:var(--tinta); background:#DFE4E8;
  -webkit-font-smoothing:antialiased; line-height:1.55;
  display:flex; align-items:flex-start; justify-content:center; padding:28px 16px 64px;
}
.card{
  position:relative; width:100%; max-width:640px; background:var(--papel);
  border-radius:16px; box-shadow:0 18px 60px rgba(16,26,36,.14); overflow:hidden;
}
.card::before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--magenta)}
.card__body{padding:40px 40px 44px}
@media(max-width:560px){.card__body{padding:30px 22px 34px}}

.kicker{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--magenta);margin-bottom:18px;display:flex;align-items:center;gap:11px}
.kicker::after{content:"";flex:1;height:1px;background:var(--linea);max-width:180px}

h1{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.08;letter-spacing:-.02em}
h2{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.15;letter-spacing:-.015em;margin-bottom:6px}
.sub{font-size:16px;line-height:1.55;color:var(--tinta-70);margin-top:14px}
.sub b{color:var(--tinta);font-weight:600}
.mg{color:var(--magenta)}
p{font-size:15px;line-height:1.6;color:var(--tinta-70)}
label{display:block;font-size:14px;font-weight:600;color:var(--tinta);margin-bottom:8px}
.hint{font-size:13px;color:var(--tinta-45);margin-top:8px;line-height:1.5}

input[type=email],input[type=text],select,textarea{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--tinta);
  padding:13px 14px;border:1.5px solid var(--linea);border-radius:10px;background:var(--papel);
  transition:border-color .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--magenta)}
textarea{resize:vertical;min-height:88px;line-height:1.55}
.field{margin-top:22px}
.field:first-child{margin-top:0}

.code-input{letter-spacing:.5em;text-align:center;font-size:24px;font-family:var(--serif);font-weight:600}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;margin-top:26px;padding:14px 20px;border:none;border-radius:10px;cursor:pointer;
  font-family:var(--sans);font-size:16px;font-weight:600;color:#fff;background:var(--magenta);
  transition:background .15s,opacity .15s;
}
.btn:hover{background:var(--magenta-900)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn--ghost{background:transparent;color:var(--tinta-70);width:auto;margin-top:16px;padding:6px 0;font-size:14px}
.btn--ghost:hover{background:transparent;color:var(--magenta);text-decoration:underline}
.btn-row{display:flex;gap:12px;margin-top:26px}
.btn-row .btn{margin-top:0}
.btn--back{background:var(--papel-2);color:var(--tinta-70);flex:0 0 auto;width:auto;padding:14px 22px}
.btn--back:hover{background:var(--linea)}

.promise{list-style:none;margin-top:22px;display:grid;gap:14px}
.promise li{display:flex;gap:12px;font-size:15px;line-height:1.55;color:var(--tinta-70)}
.promise li b{color:var(--tinta)}
.promise .ic{flex:0 0 26px;height:26px;border-radius:50%;background:var(--magenta-050);color:var(--magenta);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin-top:1px}

.scale{margin-top:12px}
.scale__track{display:flex;gap:6px;flex-wrap:wrap}
.scale__opt{flex:1 1 0;min-width:34px}
.scale__opt input{position:absolute;opacity:0;pointer-events:none}
.scale__opt label{
  display:flex;align-items:center;justify-content:center;height:44px;margin:0;
  border:1.5px solid var(--linea);border-radius:9px;font-family:var(--serif);font-size:16px;font-weight:600;
  color:var(--tinta-70);cursor:pointer;transition:all .12s;
}
.scale__opt input:checked + label{background:var(--magenta);border-color:var(--magenta);color:#fff}
.scale__opt label:hover{border-color:var(--magenta)}
.scale__ends{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--tinta-45)}

.countdown{display:inline-flex;align-items:baseline;gap:8px;background:var(--magenta-050);
  border-radius:999px;padding:9px 16px;margin-top:18px;font-size:14px;color:var(--magenta-900)}
.countdown__label{font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
#countdown__time{font-family:var(--serif);font-weight:600;font-size:16px}
.closed-msg{background:var(--papel-2);border:1px solid var(--linea);border-left:3px solid var(--alerta);
  border-radius:10px;padding:16px 18px;margin-top:18px;font-size:15px;color:var(--tinta-70);line-height:1.55}

.edit-note{background:var(--magenta-050);border-radius:10px;padding:13px 15px;margin-top:16px;
  font-size:14px;color:var(--magenta-900);line-height:1.55}
.edit-note b{color:var(--magenta-900);font-weight:700}

.example{background:var(--papel-2);border:1px solid var(--linea);border-left:3px solid var(--magenta);
  border-radius:10px;padding:16px 18px;margin-top:20px}
.example h4{font-size:13px;font-weight:700;color:var(--magenta-900);margin-bottom:8px;letter-spacing:.01em}
.example p{font-size:14px;color:var(--tinta-70);line-height:1.6}
.example b{color:var(--tinta);font-weight:600}

.q{margin-top:30px;padding-top:30px;border-top:1px solid var(--linea)}
.q:first-child{margin-top:0;padding-top:0;border-top:none}
.q__label{font-size:16px;font-weight:600;color:var(--tinta);margin-bottom:6px;line-height:1.4}
.q__opt{font-size:13px;color:var(--tinta-45);font-weight:500}

.badge{display:inline-flex;align-items:center;gap:7px;background:var(--magenta-050);color:var(--magenta-900);
  font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:999px;margin-top:18px}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--magenta)}

.step{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-45);margin-bottom:20px}
.progress{height:4px;background:var(--linea);border-radius:999px;overflow:hidden;margin-bottom:26px}
.progress__bar{height:100%;background:var(--magenta);width:0;transition:width .3s}

.msg{margin-top:18px;padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5;display:none}
.msg--err{background:#FDECEC;color:var(--critico);display:block}
.msg--ok{background:#E9F6EF;color:var(--ok);display:block}

.hidden{display:none !important}
.foot{margin-top:26px;font-size:12px;color:var(--tinta-45);line-height:1.5}
.center{text-align:center}
.big-check{width:64px;height:64px;border-radius:50%;background:var(--magenta-050);color:var(--magenta);
  display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 20px}
.brandbar{display:inline-flex;align-items:center;gap:14px;background:var(--magenta);
  border-radius:12px;padding:11px 18px;margin-bottom:26px;box-shadow:0 6px 16px rgba(233,0,133,.20)}
.brandbar__logo{height:24px;width:auto;display:block}
.brandbar__logo--hipo{height:18px}
.brandbar__sep{width:1px;height:22px;background:rgba(255,255,255,.42);flex:0 0 auto}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
