@font-face {
  font-family: 'TSA Inter';
  src: url('/assets/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
html.p1-document { background: #FFFFFF; color-scheme: light; }
.p1-page {
  --p1-ink: #111114;
  --p1-purple: #6D28D9;
  --p1-purple-hover: #5720AE;
  --p1-muted: #64616D;
  --p1-subtle: #F6F5F8;
  --p1-border: #DEDCE5;
  --p1-control-border: #8A8494;
  --p1-selected: #F2EBFC;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  background: #FFFFFF;
  color: var(--p1-ink);
  font-family: 'TSA Inter', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.p1-page *, .p1-page *::before, .p1-page *::after { box-sizing: border-box; }
.p1-page::before { display: none; }
.p1-page ::selection { color: #FFFFFF; background: var(--p1-purple); }
.p1-page .skip-link { min-height: 44px; border-radius: 8px; color: #FFFFFF; background: var(--p1-purple); font-weight: 500; }
.p1-page h1, .p1-page h2, .p1-page h3, .p1-page p { margin: 0; }
.p1-page button, .p1-page input { font: inherit; }
.p1-header, .p1-layout, .p1-footer { width: min(calc(100% - 96px), 1200px); margin-inline: auto; }
.p1-header { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 32px; }
/* The supplied PNG is unchanged; this frame excludes its transparent outer margin. */
.p1-logo { position: relative; width: 252px; aspect-ratio: 2489 / 516; overflow: hidden; background: #FFFFFF; flex: 0 0 auto; }
.p1-logo img { position: absolute; width: 118.601848%; max-width: none; height: auto; left: -9.883487%; top: -85.658915%; }
.p1-portal-label { display: inline-flex; align-items: center; gap: 12px; color: var(--p1-muted); font-size: 14px; line-height: 20px; }
.p1-portal-label::before { content: ''; width: 4px; height: 20px; background: var(--p1-purple); border-radius: 2px; }
.p1-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; column-gap: clamp(56px, 7.2vw, 104px); flex: 1; padding-block: 16px 40px; }
.p1-introduction { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 610px; padding: clamp(32px, 3.6vw, 52px); border-radius: 12px; background: var(--p1-ink); color: #FFFFFF; }
.p1-page .p1-eyebrow { font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; }
.p1-introduction .p1-eyebrow { margin-bottom: 24px; color: #C8C4D0; }
.p1-introduction h2 { font-size: 32px; line-height: 40px; font-weight: 600; letter-spacing: -.035em; }
.p1-page .p1-intro-copy { margin-top: 20px; max-width: 350px; color: #C8C4D0; font-size: 16px; line-height: 24px; }
.p1-benefits { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.p1-benefits li { display: flex; gap: 20px; align-items: flex-start; }
.p1-benefit-number { flex: 0 0 24px; padding-top: 3px; color: #C8C4D0; font-size: 12px; line-height: 18px; font-variant-numeric: tabular-nums; }
.p1-benefits h3 { font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: -.01em; }
.p1-benefits p { margin-top: 4px; color: #C8C4D0; font-size: 14px; line-height: 20px; }
.p1-page .p1-intro-footnote { padding-top: 24px; border-top: 1px solid #45434C; color: #C8C4D0; font-size: 12px; line-height: 20px; }
.p1-access { width: 100%; max-width: 448px; justify-self: center; padding-block: 12px; }
.p1-heading { margin-bottom: 32px; }
.p1-heading .p1-eyebrow { margin-bottom: 12px; color: var(--p1-muted); }
.p1-heading h1 { font-size: 32px; line-height: 40px; font-weight: 600; letter-spacing: -.035em; }
.p1-heading > p:last-child { margin-top: 12px; color: var(--p1-muted); font-size: 16px; line-height: 24px; }
.p1-form { display: grid; gap: 24px; }
.p1-field { display: grid; gap: 8px; min-width: 0; }
.p1-field label, .p1-channels legend { color: var(--p1-ink); font-size: 14px; line-height: 20px; font-weight: 500; }
.p1-field-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.p1-field input { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 14px; border: 1px solid var(--p1-control-border); border-radius: 8px; background: #FFFFFF; color: var(--p1-ink); font-size: 16px; line-height: 24px; box-shadow: none; transition: border-color .15s ease; }
.p1-field input::placeholder { color: var(--p1-muted); opacity: 1; }
.p1-field input:hover { border-color: var(--p1-ink); }
.p1-field input:focus { border-color: var(--p1-purple); box-shadow: none; }
.p1-field input[aria-invalid='true'] { border: 2px solid var(--p1-ink); padding: 10px 13px; }
.p1-field-error { display: flex; gap: 8px; align-items: baseline; color: var(--p1-ink); font-size: 14px; line-height: 20px; }
.p1-field-error[hidden] { display: none; }
.p1-field-error::before { content: '!'; display: inline-grid; place-items: center; flex: 0 0 16px; width: 16px; height: 16px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 600; line-height: 14px; }
.p1-password { position: relative; }
.p1-password input, .p1-password input[aria-invalid='true'] { padding-right: 92px; }
.p1-password-toggle { position: absolute; right: 3px; top: 2px; width: 80px; min-height: 44px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--p1-ink); font-size: 14px !important; font-weight: 500 !important; cursor: pointer; box-shadow: none; }
.p1-password-toggle:hover { background: var(--p1-subtle); }
.p1-text-link { color: var(--p1-purple); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.p1-text-link:hover { color: var(--p1-purple-hover); }
.p1-recover { display: inline-flex; align-items: center; min-height: 44px; margin-block: -8px; font-size: 14px; line-height: 20px; }
.p1-channels { min-width: 0; margin: 0; padding: 0; border: 0; }
.p1-channels legend { margin-bottom: 8px; padding: 0; }
.p1-channel-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.p1-channel { position: relative; min-width: 0; cursor: pointer; }
.p1-channel input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; clip-path: inset(50%); }
.p1-channel-surface { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 11px 14px; border: 1px solid var(--p1-control-border); border-radius: 8px; background: #FFFFFF; color: var(--p1-ink); font-size: 14px; line-height: 24px; font-weight: 500; }
.p1-channel-surface svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.p1-radio-indicator { display: grid; place-items: center; width: 16px; height: 16px; margin-left: auto; border: 1px solid var(--p1-control-border); border-radius: 50%; flex: 0 0 auto; }
.p1-channel input:checked + .p1-channel-surface { border-color: var(--p1-purple); color: var(--p1-purple); background: var(--p1-selected); }
.p1-channel input:checked + .p1-channel-surface .p1-radio-indicator { border-color: var(--p1-purple); }
.p1-channel input:checked + .p1-channel-surface .p1-radio-indicator::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--p1-purple); }
.p1-channel:hover .p1-channel-surface { border-color: var(--p1-purple); }
.p1-channels p { margin-top: 10px; color: var(--p1-muted); font-size: 14px; line-height: 20px; }
.p1-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin: 0; padding: 13px 20px; border: 1px solid transparent; border-radius: 8px; background: var(--p1-purple); color: #FFFFFF; font-size: 16px; line-height: 24px; font-weight: 500 !important; cursor: pointer; box-shadow: none; transform: none; transition: background-color .15s ease; }
.p1-submit:hover { background: var(--p1-purple-hover); box-shadow: none; transform: none; }
.p1-submit:disabled { background: #E8E6ED; color: var(--p1-muted); opacity: 1; cursor: wait; }
.p1-page .is-executing { animation: none; }
.p1-submit.is-loading::before { width: 16px; height: 16px; border-color: #B6B1BF; border-top-color: var(--p1-muted); }
.p1-register { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--p1-border); font-size: 14px; line-height: 20px; }
.p1-register p { color: var(--p1-muted); }
.p1-register a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.p1-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 80px; padding-block: 16px; border-top: 1px solid var(--p1-border); color: var(--p1-muted); font-size: 14px; line-height: 20px; }
.p1-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.p1-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--p1-ink); text-decoration: underline; text-underline-offset: 3px; }
.p1-footer a:hover { color: var(--p1-purple); }
.p1-page .status-box { position: relative; display: none; margin: 0 0 24px; padding: 14px 16px 14px 42px; border: 1px solid var(--p1-border); border-left: 3px solid var(--p1-purple); border-radius: 8px; background: var(--p1-subtle); color: var(--p1-ink); font-size: 14px; line-height: 20px; box-shadow: none; backdrop-filter: none; }
.p1-page .status-box.show { display: block; }
.p1-page .status-box.show::after { content: 'i'; position: absolute; top: 16px; left: 15px; display: grid; place-items: center; width: 16px; height: 16px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; line-height: 14px; font-weight: 600; }
.p1-page .status-box.error { border-left-color: var(--p1-ink); background: #FFFFFF; }
.p1-page .status-box.error::before { content: 'No pudimos continuar'; display: block; margin-bottom: 4px; font-weight: 600; }
.p1-page .status-box.error::after { content: '!'; }
.p1-page .status-box.success::before { content: 'Código enviado'; display: block; margin-bottom: 4px; font-weight: 600; }
.p1-page .status-box.success::after { content: '✓'; color: var(--p1-purple); }
.p1-page :is(input, button, a):focus-visible { outline: 2px solid var(--p1-purple); outline-offset: 2px; }
.p1-channel input:focus-visible { outline: none; }
.p1-channel input:focus-visible + .p1-channel-surface { outline: 2px solid var(--p1-purple); outline-offset: 2px; }
@media (max-width: 1050px) {
  .p1-header, .p1-layout, .p1-footer { width: calc(100% - 64px); }
  .p1-layout { column-gap: 40px; }
  .p1-introduction { padding: 32px; }
  .p1-introduction h2 { font-size: 28px; line-height: 36px; }
}
@media (max-width: 850px) {
  .p1-header, .p1-layout, .p1-footer { width: min(calc(100% - 48px), 600px); }
  .p1-header { padding-block: 32px; }
  .p1-logo { width: 220px; }
  .p1-portal-label { display: none; }
  .p1-layout { grid-template-columns: 1fr; padding-block: 16px 40px; }
  .p1-introduction { display: none; }
  .p1-access { padding: 0; }
  .p1-footer { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 480px) {
  .p1-header, .p1-layout, .p1-footer { width: calc(100% - 32px); }
  .p1-header { padding-block: 28px; }
  .p1-layout { padding-block: 8px 32px; }
  .p1-heading h1 { font-size: 28px; line-height: 36px; }
  .p1-channel-options { gap: 8px; }
  .p1-channel-surface { padding-inline: 12px; gap: 8px; }
  .p1-footer nav { gap: 0 24px; }
  .p1-footer nav > span { flex-basis: 100%; }
}
@media (min-width: 1600px) { .p1-layout { flex: 0; margin-block: auto; padding-block: 32px 56px; } }
@media (prefers-reduced-motion: reduce) { .p1-page *, .p1-page *::before, .p1-page *::after { animation: none !important; transition: none !important; } }
