.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%}

/* thai */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/5846bdb2fb9e.woff2") format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/a6bc279a29aa.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: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/8eb6de0dee28.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: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/cd2df6837df3.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;
}
/* thai */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/5f5b544ab80c.woff2") format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/fca8b4a7980e.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: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/9cc6078d1d49.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: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/d09f6c283158.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;
}
/* devanagari */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/landing/assets/52c90339c9dc.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/landing/assets/b49699f24b92.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: 'Rajdhani';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/landing/assets/c92bcfc91211.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;
}
/* devanagari */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/landing/assets/ea9f8c07f71c.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/landing/assets/b00d2063a60e.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: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/landing/assets/e7d0d08b1ced.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;
}
/* devanagari */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/a6b67407d97c.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/85a99df0c205.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: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/landing/assets/dcd4cf87ae72.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;
}
/* devanagari */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/f2be76ae232b.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/d9a9ec34038e.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: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/be9eae3d1d9f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/e8cd26b604d1.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: 'Saira Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/90756954a32c.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: 'Saira Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/landing/assets/0bebd662da7f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/landing/assets/f405912fb993.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: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/landing/assets/e32189bff121.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: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/landing/assets/6c2884398ab8.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 */
@font-face {
  font-family: 'Share Tech Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/landing/assets/ea30f8dd2501.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;
}

html{scroll-behavior:smooth;color-scheme:dark;scrollbar-color:#b97a12 #05080f;scrollbar-width:thin}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#05080f}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffd24a,#8a5a0e);border-radius:6px;border:3px solid #05080f}
body{margin:0;background:#05080f;color:#f2f5ff;-webkit-font-smoothing:antialiased;font-family:'Rajdhani',sans-serif}
a{color:#ffd24a;text-decoration:none}a:hover{color:#ffe9a3}
::selection{background:#ffd24a;color:#05080f}
:where(a,button,[tabindex]):focus-visible{outline:2px solid rgba(255,210,74,.6);outline-offset:3px;border-radius:8px}
/* --- firma: sheen diagonal en hover (imposible inline: pseudo + hover) --- */
.mm-btn{position:relative;overflow:hidden;isolation:isolate}
.mm-btn::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;transform:translateX(-135%) skewX(-18deg);background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.55) 50%,transparent 66%);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.mm-btn:hover::after{transform:translateX(135%) skewX(-18deg)}
.mm-btn:active{transform:translateY(0) scale(.98)}
.mm-breathe{animation:breathe 3.4s ease-in-out infinite}
/* ── luz especular que sigue al puntero sobre el oro ── */
.mm-spec::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(170px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.6),rgba(255,255,255,.16) 34%,transparent 62%);opacity:var(--so,0);transition:opacity .28s cubic-bezier(.22,1,.36,1);mix-blend-mode:overlay}
@keyframes breathe{0%,100%{box-shadow:0 12px 30px -12px rgba(255,210,74,.75)}50%{box-shadow:0 16px 40px -8px rgba(255,210,74,1),0 0 0 4px rgba(255,210,74,.09)}}
/* --- firma: brackets dorados de panel --- */
.mm-panel{position:relative}
.mm-panel::before,.mm-panel::after{content:"";position:absolute;width:15px;height:15px;pointer-events:none;z-index:3}
.mm-panel::before{top:-1px;left:-1px;border-top:1.5px solid #ffd24a;border-left:1.5px solid #ffd24a;border-top-left-radius:14px}
.mm-panel::after{bottom:-1px;right:-1px;border-bottom:1.5px solid #ffd24a;border-right:1.5px solid #ffd24a;border-bottom-right-radius:14px}
/* --- firma: lift de tarjeta --- */
.mm-lift{transition:transform 280ms cubic-bezier(.22,1,.36,1),box-shadow 280ms cubic-bezier(.22,1,.36,1),border-color 280ms cubic-bezier(.22,1,.36,1)}
.mm-lift:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(0,0,0,.55),0 26px 50px -20px rgba(0,0,0,.9);border-color:rgba(255,210,74,.5)}
.mm-sheen{position:relative;overflow:hidden}
.mm-sheen::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.12) 50%,transparent 68%);transition:transform 500ms cubic-bezier(.22,1,.36,1)}
/* overlay del teaser: oculto en reposo, aparece al pasar el cursor */
.mm-open{opacity:0;transform:translateY(8px);transition:opacity 280ms cubic-bezier(.22,1,.36,1),transform 280ms cubic-bezier(.22,1,.36,1)}
.mm-lift:hover .mm-open{opacity:1;transform:translateY(0)}
.mm-lift:hover .mm-sheen::after{transform:translateX(130%) skewX(-18deg)}
@keyframes mm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mm-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes mm-drop{from{opacity:0;transform:translateY(-56px)}to{opacity:1;transform:none}}
@keyframes mm-focus{from{opacity:0;filter:blur(14px);transform:scale(1.03)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes mm-left{from{opacity:0;transform:translateX(-56px)}to{opacity:1;transform:none}}
@keyframes mm-right{from{opacity:0;transform:translateX(56px)}to{opacity:1;transform:none}}
@keyframes mm-wipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes mm-swing{0%{transform:rotateX(10deg) rotateY(-16deg)}100%{transform:rotateX(10deg) rotateY(16deg)}}
@keyframes mm-hover{from{transform:translateY(-10px)}to{transform:translateY(10px)}}
@keyframes mm-shadow{0%,100%{transform:translateX(-50%) scaleX(1.1);opacity:.6}50%{transform:translateX(-50%) scaleX(.92);opacity:.46}}
@keyframes mm-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes mm-blink{0%,49%{opacity:1}50%,100%{opacity:.18}}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(255,59,59,.55)}70%{box-shadow:0 0 0 8px rgba(255,59,59,0)}100%{box-shadow:0 0 0 0 rgba(255,59,59,0)}}
@keyframes mm-smk{0%{transform:translateY(9%) scale(.98);opacity:0}28%{opacity:.13}72%{opacity:.1}100%{transform:translateY(-16%) scale(1.14);opacity:0}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}}

/* ── barrido de página (200-420ms): el sitio se siente una sola app ── */
.mm-wipe{position:fixed;inset:0;z-index:150;pointer-events:none;background:#05080f;animation:mm-wipeout .42s cubic-bezier(.22,1,.36,1) both}
.mm-wipe::after{content:"";position:absolute;inset:0;background-image:url("/landing/assets/841b3376094b.webp");background-size:420px;opacity:.07;mix-blend-mode:screen}
@keyframes mm-wipeout{0%{transform:translateX(0)}100%{transform:translateX(102%)}}
/* ── cursor propio: retícula dorada sobre lo interactivo ── */
a,button,summary,[role="button"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cg fill='none' stroke='%23ffd24a' stroke-width='1.3'%3E%3Ccircle cx='13' cy='13' r='7' opacity='.95'/%3E%3Cpath d='M13 1.5v5M13 19.5v5M1.5 13h5M19.5 13h5'/%3E%3C/g%3E%3Ccircle cx='13' cy='13' r='1.5' fill='%23ffd24a'/%3E%3C/svg%3E") 13 13, pointer}
/* ── oro cepillado (anisotrópico): dos capas + barrido lento ── */
.mm-gold-sweep{position:relative;overflow:hidden}
.mm-gold-sweep::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(102deg,rgba(255,255,255,.22) 0 6%,transparent 6% 13%,rgba(255,255,255,.13) 13% 17%,transparent 17% 27%);mix-blend-mode:overlay}
@media (prefers-reduced-motion: reduce){.mm-wipe{animation-duration:.001ms}}

@keyframes mm-grain{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-3%,2%,0)}50%{transform:translate3d(2%,-3%,0)}75%{transform:translate3d(-2%,-2%,0)}100%{transform:translate3d(0,0,0)}}
.mm-grain{animation:mm-grain .9s steps(3) infinite;will-change:transform}
.mm-duo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(150deg,rgba(255,210,74,.16),rgba(26,255,140,.1) 62%,rgba(5,8,15,.2));mix-blend-mode:color;z-index:1}
.mm-seam{position:absolute;top:-27px;left:50%;width:54px;height:54px;margin-left:-27px;pointer-events:none;z-index:4;border-radius:50%;background:#05080f url("/landing/assets/841b3376094b.webp") center/86px;border:1px solid rgba(255,210,74,.42);box-shadow:0 0 22px -4px rgba(255,210,74,.55),inset 0 0 12px rgba(0,0,0,.8)}
.mm-seam::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(26,255,140,.32)}
@media (prefers-reduced-motion: reduce){.mm-grain{animation:none}}

/* ── microimpresión: lo que separa un billete de una fotocopia ── */
.mm-panel{--mm-micro:"MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · MONEYMATION · "}
.mm-micro{position:absolute;left:16px;right:16px;top:3px;height:6px;overflow:hidden;pointer-events:none;z-index:2;font-family:'Share Tech Mono',monospace;font-size:4px;line-height:6px;letter-spacing:.4px;white-space:nowrap;color:rgba(255,210,74,.28);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mm-micro-b{top:auto;bottom:3px;color:rgba(26,255,140,.2)}

/* ── cámara: el fondo se acerca conforme la sección cruza la pantalla ── */
@keyframes mm-approach{from{transform:scale(1.03)}to{transform:scale(1.17)}}
.mm-approach{animation:mm-approach linear both;animation-timeline:view();animation-range:cover 0% cover 100%;will-change:transform}
@media (prefers-reduced-motion: reduce){.mm-approach{animation:none}}

/* ── ajuste óptico: kerning, ligaduras y equilibrio de línea ── */
html{font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;text-rendering:optimizeLegibility}
h1,h2{text-wrap:balance;font-feature-settings:"kern" 1,"liga" 1}
p{text-wrap:pretty}
/* cifras siempre tabulares: las columnas de precio no bailan */
[data-price-slot],[data-credits-slot]{font-variant-numeric:tabular-nums lining-nums}
/* ── anillo de foco diseñado, no el del sistema ── */
:where(a,button,summary,[tabindex]):focus-visible{outline:none;box-shadow:0 0 0 2px #05080f,0 0 0 4px rgba(255,210,74,.9),0 0 22px -4px rgba(255,210,74,.85);border-radius:10px}
.mm-focus-ring:focus-visible{box-shadow:0 0 0 2px #05080f,0 0 0 4px rgba(26,255,140,.9),0 0 22px -4px rgba(26,255,140,.8)}

/* ── denominación de página: microdetalle sólo en escritorio ── */
.mm-denom{position:fixed;top:107px;right:15px;z-index:39;pointer-events:none;display:none;flex-direction:column;align-items:flex-end;gap:3px;opacity:.42;transition:opacity .4s}
.mm-denom:hover{opacity:.8}
@media (min-width:1000px){.mm-denom{display:flex}}

/* ── cold open: sólo la primera visita. Sale por transform/opacity, nada más. ── */
#mm-cold{position:fixed;inset:0;z-index:200;background:#04060c;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;animation:mm-cold-out .72s 2.05s cubic-bezier(.7,0,.3,1) forwards}
#mm-cold[hidden]{display:none}
#mm-cold.mm-out{animation:mm-cold-out .5s cubic-bezier(.7,0,.3,1) forwards}
@keyframes mm-cold-out{to{opacity:0;transform:scale(1.06);visibility:hidden}}
.mm-door{position:absolute;top:0;bottom:0;width:50.5%;background:linear-gradient(100deg,#0b1018,#05080f 60%);border-color:rgba(255,210,74,.22);box-shadow:0 0 90px -20px rgba(0,0,0,.95)}
.mm-door-l{left:0;border-right:1px solid rgba(255,210,74,.3);animation:mm-door-l 1.15s .95s cubic-bezier(.72,0,.24,1) forwards}
.mm-door-r{right:0;border-left:1px solid rgba(255,210,74,.3);animation:mm-door-r 1.15s .95s cubic-bezier(.72,0,.24,1) forwards}
@keyframes mm-door-l{to{transform:translateX(-101%)}}
@keyframes mm-door-r{to{transform:translateX(101%)}}
.mm-seam{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:linear-gradient(180deg,transparent,#ffd24a 22%,#fff3c8 50%,#ffd24a 78%,transparent);box-shadow:0 0 26px 3px rgba(255,210,74,.7);animation:mm-seam 1.1s cubic-bezier(.4,0,.2,1) both}
@keyframes mm-seam{0%{opacity:0;transform:scaleY(0)}42%{opacity:1;transform:scaleY(1)}100%{opacity:1;transform:scaleY(1)}}
.mm-coldmark{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;animation:mm-coldmark 1.5s .18s cubic-bezier(.22,1,.36,1) both}
@keyframes mm-coldmark{0%{opacity:0;transform:scale(.9)}30%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@media (prefers-reduced-motion: reduce){#mm-cold{display:none !important}}

/* ── recompensa al pulsar: el sello se acuña antes de navegar (transform+opacity) ── */
.mm-stamp{position:fixed;z-index:150;pointer-events:none;width:120px;height:120px;margin:-60px 0 0 -60px;display:flex;align-items:center;justify-content:center;animation:mm-stamp .52s cubic-bezier(.2,1.5,.4,1) forwards}
@keyframes mm-stamp{0%{opacity:0;transform:scale(.35) rotate(-16deg)}38%{opacity:1;transform:scale(1) rotate(-6deg)}100%{opacity:0;transform:scale(1.5) rotate(-4deg)}}
.mm-ring{position:fixed;z-index:149;pointer-events:none;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid rgba(255,210,74,.9);animation:mm-ring .58s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes mm-ring{0%{opacity:.95;transform:scale(.5)}100%{opacity:0;transform:scale(4.2)}}

/* ===== Rediseño final: cursor propio + ajustes responsive ===== */
/* ═══════════════════════════════════════════════════════════════════════
   CURSOR PROPIO — MoneyMation
   Pegar en el CSS global (app/ui.css o el <style> del layout).
   Antes sólo había cursor en <a> y <button>: al salir de ellos el cursor
   volvía al nativo. Con esto está personalizado en todo momento.
   Tres estados, cada uno con fallback nativo por si el SVG no carga.
   ═══════════════════════════════════════════════════════════════════════ */

/* 1 · RETÍCULA BASE (18px, cruz + punto) — fondo y todo lo no interactivo */
html, body {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' stroke='%23ffd24a' stroke-width='1'%3E%3Cpath d='M9 1v4M9 13v4M1 9h4M13 9h4'/%3E%3Ccircle cx='9' cy='9' r='2.6' stroke-opacity='.75'/%3E%3C/g%3E%3Ccircle cx='9' cy='9' r='1' fill='%23ffd24a'/%3E%3C/svg%3E") 9 9, default;
}

/* 2 · BARRA DORADA — sobre texto seleccionable y campos */
p, h1, h2, h3, h4, span, li, td, th, label, input, textarea, [contenteditable] {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24'%3E%3Cg stroke='%23ffd24a' stroke-width='1.2'%3E%3Cpath d='M6 3v18M3 3h6M3 21h6'/%3E%3C/g%3E%3C/svg%3E") 6 12, text;
}

/* 3 · Controles que NO son de texto vuelven a la retícula base */
input[type="button"], input[type="submit"], select, option {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' stroke='%23ffd24a' stroke-width='1'%3E%3Cpath d='M9 1v4M9 13v4M1 9h4M13 9h4'/%3E%3Ccircle cx='9' cy='9' r='2.6' stroke-opacity='.75'/%3E%3C/g%3E%3Ccircle cx='9' cy='9' r='1' fill='%23ffd24a'/%3E%3C/svg%3E") 9 9, default;
}

/* 4 · RETÍCULA GRANDE (26px, círculo + cruz) — lo interactivo */
a, button, summary, [role="button"] {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cg fill='none' stroke='%23ffd24a' stroke-width='1.3'%3E%3Ccircle cx='13' cy='13' r='9'/%3E%3Cpath d='M13 1v5M13 21v5M1 13h5M21 13h5'/%3E%3C/g%3E%3Ccircle cx='13' cy='13' r='2' fill='%23ffd24a'/%3E%3C/svg%3E") 13 13, pointer;
}

/* 5 · CLAVE: los hijos de un enlace/botón heredan.
      Sin esta regla, un <span> dentro de un <a> caía en la regla 2 (barra de
      texto) y el cursor "parpadeaba" al pasar sobre el texto del botón. */
a *, button *, summary *, [role="button"] * {
  cursor: inherit;
}

/* Rieles de tarjetas (planes + cofres, data-rail): >=1100px las 5 caben (grid), nada cortado.
   <1100px carrusel con snap + peek intencional. */
@media (min-width:1100px){
  [data-rail="1"]{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:14px !important;overflow:visible !important;perspective:none !important;scroll-snap-type:none !important}
  [data-rail="1"] > *{flex:0 0 auto !important;width:auto !important;min-width:0 !important;max-width:none !important}
}
@media (max-width:1099px){
  [data-rail="1"]{scroll-snap-type:x mandatory;padding-left:16px !important;padding-right:16px !important}
  [data-rail="1"] > *{scroll-snap-align:center;flex:0 0 84% !important}
}
/* BUG1: el desglose "EN QUÉ SE TRADUCE…" venía como popover position:absolute anclado al ancho del
   pill (angosto) → se partía en columna y se encimaba. La caja de créditos (.mm-cr) está dimensionada
   para contenerlo, así que se pasa a flujo NORMAL (estático), ancho completo de la caja, legible.
   Aplica a los 5 planes y los 5 cofres (misma clase .mm-crx). */
.mm-cr{flex-wrap:wrap !important}
.mm-crx{position:static !important; opacity:1 !important; transform:none !important; left:auto !important;
  right:auto !important; top:auto !important; flex:1 0 100% !important; width:100% !important;
  max-width:none !important; white-space:normal !important; margin-top:11px !important; box-shadow:none !important;
  text-align:left !important; line-height:1.5 !important}
.mm-crx > span{white-space:normal !important}
/* /quienes-somos: el título gigante desbordaba su columna y encimaba el párrafo. Se capa para que
   "MONEYMATION" quepa en su celda del grid. */
.mm-qs-h1{font-size:clamp(38px,6.2vw,92px) !important; overflow-wrap:break-word}

/* ── EL PRECIO MANDA SOBRE SU CAJA ────────────────────────────────────────────────────────────
   "$16,999" se cortaba en la tarjeta de Imperio: el número se dibujaba a 44px fijos (clamp con
   3.5vw, que mira la VENTANA) dentro de una tarjeta cuyo contenido mide 142px en escritorio.
   Necesitaba 158. No faltaba tabular-nums —lo trae— ni white-space: faltaba que el tamaño del
   número tuviera algo que ver con el ancho de SU tarjeta.
   Ahora la tarjeta es un contenedor de consulta y el precio se mide contra ella (cqi), no contra
   la ventana. 24cqi sobre 142px da ~34px, que aguanta OCHO caracteres ($124,999) sin cortarse; en
   móvil, donde la tarjeta es ancha, el clamp lo devuelve a los 44px del diseño.
   El !important es porque el tamaño viene en el style= del HTML exportado, y ahí no se edita. */
.mm-plan { container-type: inline-size; }
.mm-plan [data-price-slot] { font-size: clamp(24px, 24cqi, 44px) !important; }
