.sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts — keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }

/* ---------- */

x-dc{display:none!important}

/* ---------- */



/* ---------- */

html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}

/* ---------- */

/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--font-display:"Plus Jakarta Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace}

/* ---------- */

:root{
/* Primarios */
--blue-600:#2438b7;--cyan-400:#67c9f9;--navy-900:#000061;
/* Neutros */
--black:#020202;--white:#ffffff;--blue-050:#F0F4FF;
/* Escalas derivadas (solo mezclas de los primarios — no colores nuevos) */
--blue-700:#1c2c92;--blue-500:#3a4dcc;--blue-100:#d6dcf5;
--cyan-500:#3cb8f7;--cyan-200:#bfe8fd;--cyan-100:#e2f4fe;
--grey-700:#3a3a3f;--grey-500:#6b6b73;--grey-300:#c9ccd6;--grey-150:#e6e9f2;

/* Semánticos — texto */
--text-strong:var(--navy-900);--text-body:var(--grey-700);--text-muted:var(--grey-500);
--text-on-dark:var(--white);--text-on-dark-muted:var(--cyan-200);--text-accent:var(--blue-600);
/* Semánticos — superficies */
--surface-page:var(--white);--surface-subtle:var(--blue-050);--surface-card:var(--white);
--surface-inverse:var(--navy-900);--surface-brand:var(--blue-600);--surface-accent:var(--cyan-400);
/* Semánticos — bordes */
--border-subtle:var(--grey-150);--border-strong:var(--blue-100);--border-accent:var(--cyan-400);
/* Semánticos — acción */
--action-primary:var(--blue-600);--action-primary-hover:var(--blue-700);--action-primary-text:var(--white);
--action-accent:var(--cyan-400);--action-accent-text:var(--navy-900);
--focus-ring:var(--cyan-400);
/* Cierre obligatorio de pieza */
--closing-blue:var(--blue-600);--closing-navy:var(--navy-900);

/* Degradado de marca */
--gradient-brand:radial-gradient(120% 140% at 50% 55%,#5fdbe0 0%,#67c9f9 32%,#4a90f0 62%,#5566ea 100%); /* @kind color */
--gradient-brand-soft:radial-gradient(100% 120% at 30% 0%,rgba(103,201,249,.35) 0%,rgba(36,56,183,0) 70%); /* @kind color */
--gradient-ink:linear-gradient(160deg,var(--blue-600) 0%,var(--navy-900) 100%); /* @kind color */
--gradient-protect:linear-gradient(180deg,rgba(0,0,97,0) 0%,rgba(0,0,97,.72) 100%); /* @kind color */
}

/* ---------- */

:root{
--fs-display:clamp(44px,6vw,84px); /* @kind font */
--fs-h1:clamp(34px,4.2vw,56px); /* @kind font */
--fs-h2:32px;--fs-h3:24px;
--fs-lead:20px;--fs-body:17px;--fs-small:15px;--fs-caption:13px;--fs-eyebrow:13px;
--lh-tight:1.02; /* @kind font */
--lh-heading:1.1; /* @kind font */
--lh-body:1.6; /* @kind font */
--lh-lead:1.5; /* @kind font */
--ls-display:-.02em; /* @kind font */
--ls-heading:-.01em; /* @kind font */
--ls-eyebrow:.16em; /* @kind font */
--ls-body:0; /* @kind font */
--fw-body:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-extrabold:800; /* @kind font */
}
.mb-display{font-family:var(--font-display);font-weight:800;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--ls-display);text-transform:uppercase}
.mb-h1{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h1);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase}
.mb-h2{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase}
.mb-h3{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h3);line-height:1.2;text-transform:uppercase}
.mb-eyebrow{font-family:var(--font-display);font-weight:700;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.mb-lead{font-family:var(--font-body);font-size:var(--fs-lead);line-height:var(--lh-lead)}
.mb-body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body)}
.mb-small{font-family:var(--font-body);font-size:var(--fs-small);line-height:1.55}
.mb-caption{font-family:var(--font-body);font-size:var(--fs-caption);line-height:1.4;color:var(--text-muted)}

/* ---------- */

:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
--section-y:var(--sp-9);--section-y-tight:var(--sp-8);--gutter:var(--sp-5);
--container-max:1200px; /* @kind spacing */
--container-narrow:760px; /* @kind spacing */
--measure:66ch; /* @kind other */
}

/* ---------- */

:root{
--radius-xs:8px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-xl:40px;--radius-pill:999px;
--shadow-sm:0 1px 2px rgba(0,0,97,.06),0 2px 6px rgba(0,0,97,.06);
--shadow-md:0 6px 18px rgba(0,0,97,.10);
--shadow-lg:0 18px 44px rgba(0,0,97,.14);
--shadow-brand:0 10px 30px rgba(36,56,183,.30);
--shadow-inset-hair:inset 0 0 0 1px var(--border-subtle); /* @kind shadow */
--blur-glass:saturate(140%) blur(14px); /* @kind other */
--glass-dark:rgba(0,0,97,.42); /* @kind color */
--glass-light:rgba(255,255,255,.72); /* @kind color */
--ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:420ms; /* @kind other */
--texture-nodes:url("../assets/textura-nodos.webp"); /* @kind other */
--texture-nodes-opacity:.14; /* @kind other */
}

/* ---------- */

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;color:var(--text-strong);text-transform:uppercase;letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid var(--border-accent);transition:color var(--dur-base) var(--ease-out)}
a:hover{color:var(--navy-900);border-bottom-color:var(--navy-900)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}
::selection{background:var(--cyan-400);color:var(--navy-900)}
.mb-nodes{position:relative;isolation:isolate}
.mb-nodes::before{content:"";position:absolute;inset:0;background-image:var(--texture-nodes);background-size:cover;background-position:center;opacity:var(--texture-nodes-opacity);pointer-events:none;z-index:-1}

/* ---------- */

/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/dc989509.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/ef2bd1c6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/54827290.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/f3abe2c0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/81af0b36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/676efc37.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--font-display:"Plus Jakarta Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace}

:root{
/* Primarios */
--blue-600:#2438b7;--cyan-400:#67c9f9;--navy-900:#000061;
/* Neutros */
--black:#020202;--white:#ffffff;--blue-050:#F0F4FF;
/* Escalas derivadas (solo mezclas de los primarios — no colores nuevos) */
--blue-700:#1c2c92;--blue-500:#3a4dcc;--blue-100:#d6dcf5;
--cyan-500:#3cb8f7;--cyan-200:#bfe8fd;--cyan-100:#e2f4fe;
--grey-700:#3a3a3f;--grey-500:#6b6b73;--grey-300:#c9ccd6;--grey-150:#e6e9f2;

/* Semánticos — texto */
--text-strong:var(--navy-900);--text-body:var(--grey-700);--text-muted:var(--grey-500);
--text-on-dark:var(--white);--text-on-dark-muted:var(--cyan-200);--text-accent:var(--blue-600);
/* Semánticos — superficies */
--surface-page:var(--white);--surface-subtle:var(--blue-050);--surface-card:var(--white);
--surface-inverse:var(--navy-900);--surface-brand:var(--blue-600);--surface-accent:var(--cyan-400);
/* Semánticos — bordes */
--border-subtle:var(--grey-150);--border-strong:var(--blue-100);--border-accent:var(--cyan-400);
/* Semánticos — acción */
--action-primary:var(--blue-600);--action-primary-hover:var(--blue-700);--action-primary-text:var(--white);
--action-accent:var(--cyan-400);--action-accent-text:var(--navy-900);
--focus-ring:var(--cyan-400);
/* Cierre obligatorio de pieza */
--closing-blue:var(--blue-600);--closing-navy:var(--navy-900);

/* Degradado de marca */
--gradient-brand:radial-gradient(120% 140% at 50% 55%,#5fdbe0 0%,#67c9f9 32%,#4a90f0 62%,#5566ea 100%); /* @kind color */
--gradient-brand-soft:radial-gradient(100% 120% at 30% 0%,rgba(103,201,249,.35) 0%,rgba(36,56,183,0) 70%); /* @kind color */
--gradient-ink:linear-gradient(160deg,var(--blue-600) 0%,var(--navy-900) 100%); /* @kind color */
--gradient-protect:linear-gradient(180deg,rgba(0,0,97,0) 0%,rgba(0,0,97,.72) 100%); /* @kind color */
}

:root{
--fs-display:clamp(44px,6vw,84px); /* @kind font */
--fs-h1:clamp(34px,4.2vw,56px); /* @kind font */
--fs-h2:32px;--fs-h3:24px;
--fs-lead:20px;--fs-body:17px;--fs-small:15px;--fs-caption:13px;--fs-eyebrow:13px;
--lh-tight:1.02; /* @kind font */
--lh-heading:1.1; /* @kind font */
--lh-body:1.6; /* @kind font */
--lh-lead:1.5; /* @kind font */
--ls-display:-.02em; /* @kind font */
--ls-heading:-.01em; /* @kind font */
--ls-eyebrow:.16em; /* @kind font */
--ls-body:0; /* @kind font */
--fw-body:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-extrabold:800; /* @kind font */
}
.mb-display{font-family:var(--font-display);font-weight:800;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--ls-display);text-transform:uppercase}
.mb-h1{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h1);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase}
.mb-h2{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase}
.mb-h3{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h3);line-height:1.2;text-transform:uppercase}
.mb-eyebrow{font-family:var(--font-display);font-weight:700;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.mb-lead{font-family:var(--font-body);font-size:var(--fs-lead);line-height:var(--lh-lead)}
.mb-body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body)}
.mb-small{font-family:var(--font-body);font-size:var(--fs-small);line-height:1.55}
.mb-caption{font-family:var(--font-body);font-size:var(--fs-caption);line-height:1.4;color:var(--text-muted)}

:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
--section-y:var(--sp-9);--section-y-tight:var(--sp-8);--gutter:var(--sp-5);
--container-max:1200px; /* @kind spacing */
--container-narrow:760px; /* @kind spacing */
--measure:66ch; /* @kind other */
}

:root{
--radius-xs:8px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-xl:40px;--radius-pill:999px;
--shadow-sm:0 1px 2px rgba(0,0,97,.06),0 2px 6px rgba(0,0,97,.06);
--shadow-md:0 6px 18px rgba(0,0,97,.10);
--shadow-lg:0 18px 44px rgba(0,0,97,.14);
--shadow-brand:0 10px 30px rgba(36,56,183,.30);
--shadow-inset-hair:inset 0 0 0 1px var(--border-subtle); /* @kind shadow */
--blur-glass:saturate(140%) blur(14px); /* @kind other */
--glass-dark:rgba(0,0,97,.42); /* @kind color */
--glass-light:rgba(255,255,255,.72); /* @kind color */
--ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:420ms; /* @kind other */
--texture-nodes:url("../assets/textura-nodos.webp"); /* @kind other */
--texture-nodes-opacity:.14; /* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;color:var(--text-strong);text-transform:uppercase;letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid var(--border-accent);transition:color var(--dur-base) var(--ease-out)}
a:hover{color:var(--navy-900);border-bottom-color:var(--navy-900)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}
::selection{background:var(--cyan-400);color:var(--navy-900)}
.mb-nodes{position:relative;isolation:isolate}
.mb-nodes::before{content:"";position:absolute;inset:0;background-image:var(--texture-nodes);background-size:cover;background-position:center;opacity:var(--texture-nodes-opacity);pointer-events:none;z-index:-1}

/* ---------- */

body { margin: 0; background: var(--surface-page); }
  a { color: var(--blue-600); text-decoration: none; }
  a:hover { color: var(--blue-700); }
  ::selection { background: var(--cyan-200); color: var(--navy-900); }
  html { scroll-behavior: smooth; }
  summary::-webkit-details-marker { display: none; }
  @keyframes mb-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
  @keyframes mb-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes mb-dock { from { opacity: 0; transform: translate(-50%, 140%); } to { opacity: 1; transform: translate(-50%, 0); } }
  @keyframes mb-breathe { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.35); } }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- */

/* El artefacto es desktop-first y el nav se desborda en teléfonos. Como la
   landing se va a compartir por WhatsApp, la mayoría del tráfico entra por
   ahí: los enlaces del nav se ocultan y queda logo + CTA, que es lo único
   que hace falta en esa pantalla. */
@media (max-width: 720px) {
  header nav a[href^="#"]:not([href="#inscripcion"]) { display: none !important; }
  header nav { gap: 0 !important; }
  #dock-cta { padding: 12px 16px !important; font-size: 13px !important; }
  #dock-cta span { flex: 1 1 100%; }

  /* Las grillas de 2 y 3 columnas pasan a una sola. */
  .grid-resp { grid-template-columns: 1fr !important; }
}


/* ---------- */

/* [hidden] tiene que ganarle al display de los estilos inline del artefacto.
   Sin esto, el bloque de confirmación del formulario se ve siempre. */
[hidden] { display: none !important; }
