/* ── tipografías autoalojadas (Geist · subconjuntos latin y latin-ext) ── */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/geist-latin.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}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/geist-latinext.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}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/geistmono-latin.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}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/geistmono-latinext.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}

:root{--cream:#FFFDF9;--app:#FAF7F2;--sunk:#F3EFE7;--b1:#E6DFD2;--b2:#D6CFC1;--s400:#B6AC99;--s500:#8B8270;--s600:#6A6253;--s700:#4E483D;--s800:#3A352C;--s900:#1A1610;--t50:#FBF3EA;--t100:#F5E2CC;--t300:#DFA372;--t500:#BB6438;--t600:#A1502C;--t700:#823E24;--ok:#527A45;--ok50:#EEF3EB;--okE:#D8E3CC;--wa:#B5841F;--wa50:#FBF1DF;--waE:#EFDDB3;--in:#5E6F84;--in50:#EDEFF2;--inE:#D2D8DF;--mono:'Geist Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--app);color:var(--s700);font-family:'Geist',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.mono{font-family:var(--mono);letter-spacing:-.005em}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
a{color:var(--t700);text-decoration:none}a:hover{color:var(--t600)}
h1,h2,h3{color:var(--s900);margin:0;letter-spacing:-.02em}
p{margin:0;line-height:1.62;text-wrap:pretty}
/* ── marca ── */
.mark{display:inline-flex;align-items:baseline;font-size:18px;font-weight:600;color:var(--s900);letter-spacing:-.022em}
.mark::before{content:"";width:9px;height:9px;border-radius:4px;background:var(--t500);display:inline-block;margin-right:9px}
.mark i{font-style:normal;color:var(--t600)}
/* ── nav ── */
nav{position:fixed;top:0;left:0;right:0;z-index:60;height:64px;display:flex;align-items:center;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;border-bottom:1px solid transparent}
nav.stuck{background:rgba(255,253,249,.82);backdrop-filter:blur(14px);border-color:var(--b1)}
nav .wrap{display:flex;align-items:center;gap:18px;width:100%}
.nlinks{display:flex;gap:22px;margin-left:auto}
.nlinks a{font-size:13px;color:var(--s600);position:relative;white-space:nowrap}
.nlinks a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;background:var(--t500);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.nlinks a:hover{color:var(--s900)}.nlinks a:hover::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:10px;font-size:13.5px;font-weight:600;border:1px solid var(--t700);background:var(--t600);color:var(--cream);cursor:pointer;transition:transform .2s cubic-bezier(.2,.7,.3,1),background .2s,box-shadow .2s;box-shadow:0 1px 0 rgba(28,22,14,.04)}
.btn:hover{background:var(--t700);transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(130,62,36,.45)}
.btn.g{background:var(--cream);color:var(--s700);border-color:var(--b1);box-shadow:none}
.btn.g:hover{background:var(--sunk);color:var(--s900);box-shadow:none}
.btn.lg{height:46px;padding:0 22px;font-size:14.5px;border-radius:11px}
/* ── hero ── */
header.hero{padding:150px 0 0;position:relative;overflow:hidden}
.glow{position:absolute;inset:-30% -10% auto -10%;height:760px;background:radial-gradient(58% 52% at 50% 0%,rgba(206,130,83,.20),rgba(206,130,83,.05) 45%,transparent 72%);pointer-events:none}
.grain{position:absolute;inset:0;background-image:radial-gradient(var(--b1) 1px,transparent 1px);background-size:26px 26px;opacity:.5;mask-image:radial-gradient(70% 60% at 50% 20%,#000,transparent 75%);pointer-events:none}
.hero .wrap{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:9px;height:28px;padding:0 12px;border-radius:999px;background:var(--cream);border:1px solid var(--t100);color:var(--t700);font-size:12.5px;font-weight:500}
.eyebrow b{font-family:var(--mono);font-size:11px;font-weight:500;background:var(--t50);border:1px solid var(--t100);border-radius:5px;padding:1px 5px}
h1.big{font-size:clamp(40px,6.1vw,70px);line-height:1.02;font-weight:600;letter-spacing:-.032em;margin:22px 0 0;max-width:19ch}
h1.big em{font-style:normal;color:var(--t600);position:relative;white-space:nowrap}
h1.big em svg{position:absolute;left:0;bottom:-.13em;width:100%;height:.22em;overflow:visible}
h1.big em path{fill:none;stroke:var(--t300);stroke-width:7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s .75s cubic-bezier(.4,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.sub{font-size:18px;color:var(--s600);max-width:60ch;margin-top:22px}
.cta{display:flex;gap:12px;margin-top:30px;align-items:center;flex-wrap:wrap}
.cta .fine{font-size:12.5px;color:var(--s500)}
/* ── mockup del hero ── */
.stage{position:relative;margin-top:64px;perspective:1600px;z-index:1}
.win{background:var(--cream);border:1px solid var(--b2);border-radius:16px 16px 0 0;box-shadow:0 40px 80px -40px rgba(28,22,14,.4),0 2px 6px rgba(28,22,14,.05);overflow:hidden;transform:rotateX(7deg) translateY(0);transform-origin:top center}
.chrome{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--sunk);border-bottom:1px solid var(--b1)}
.tl{width:9px;height:9px;border-radius:50%;background:var(--b2)}
.url{margin-left:10px;height:22px;flex:1;max-width:280px;border-radius:6px;background:var(--cream);border:1px solid var(--b1);display:flex;align-items:center;padding:0 9px;font-family:var(--mono);font-size:10.5px;color:var(--s400)}
.board{display:grid;grid-template-columns:212px 1fr;min-height:556px}
.side{border-right:1px solid var(--b1);padding:10px 8px;background:var(--cream);display:flex;flex-direction:column}
.sorg{display:flex;align-items:center;gap:8px;background:var(--sunk);border-radius:9px;padding:6px 8px;margin-bottom:8px}
.sorg u{width:20px;height:20px;border-radius:6px;background:var(--cream);border:1px solid var(--b1);font-family:var(--mono);font-size:9px;color:var(--s600);display:flex;align-items:center;justify-content:center;text-decoration:none;flex:none}
.sorg b{font-size:11px;color:var(--s800);font-weight:600;letter-spacing:.01em}
.si{display:flex;align-items:center;gap:9px;padding:5px 9px;border-radius:8px;font-size:12px;color:var(--s600)}
.si.on{background:var(--t50);color:var(--t700);font-weight:500;box-shadow:inset 0 0 0 1px var(--t100)}
.si svg{width:14px;height:14px;color:var(--s400);flex:none}
.si.on svg{color:var(--t600)}
.si em{margin-left:auto;font-family:var(--mono);font-style:normal;font-size:9.5px;color:var(--s500);background:var(--sunk);border-radius:4px;padding:1px 4px}
.ssub{display:flex;flex-direction:column;padding:1px 0 3px 32px}
.ssub a{font-size:11px;color:var(--s500);padding:3px 0;text-decoration:none}
.ssub a.on{color:var(--t700);font-weight:500}
.sdiv{height:1px;background:var(--b1);margin:7px 2px}
.sfoot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:7px 9px;font-size:10.5px;color:var(--s500)}
.panel{padding:16px 18px;background:var(--app)}
.prow{display:flex;align-items:center;gap:10px}
.pchip{margin-left:auto;font-size:10.5px;color:var(--s500);background:var(--cream);border:1px solid var(--b1);border-radius:999px;padding:2px 8px}
.plab{font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--s400);margin:14px 0 7px}
.pcols{display:grid;grid-template-columns:1fr 176px;gap:14px}
.aside{display:flex;flex-direction:column}
.acard{background:var(--cream);border:1px solid var(--b1);border-radius:10px;padding:9px 11px;margin-bottom:8px}
.acard .at{font-size:11.5px;font-weight:600;color:var(--s900)}
.acard .as{font-size:10.5px;color:var(--s500);margin-top:3px}
.abar{height:4px;border-radius:999px;background:var(--sunk);overflow:hidden;margin-top:8px}
.abar u{display:block;height:100%;background:var(--t600);border-radius:999px}
.apill{display:inline-block;margin-top:7px;font-size:10px;padding:2px 7px;border-radius:6px;font-weight:500}
.apill.ok{background:var(--ok50);border:1px solid var(--okE);color:#3A5A30}
.apill.tt{background:var(--t50);border:1px solid var(--t100);color:var(--t700)}
.ptitle{font-size:14px;font-weight:600;color:var(--s900)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.kpi{background:var(--cream);border:1px solid var(--b1);border-radius:10px;padding:11px 12px}
.kpi u{display:block;text-decoration:none;font-size:11px;color:var(--s500)}
.kpi b{font-family:var(--mono);font-size:19px;color:var(--s900);font-weight:600;display:block;margin-top:3px}
.feed{background:var(--cream);border:1px solid var(--b1);border-radius:12px;overflow:hidden}
.frow{display:grid;grid-template-columns:8px 1fr auto auto;gap:11px;align-items:center;padding:0 13px;height:40px;border-bottom:1px solid var(--sunk);animation:pop .5s both}
.frow:last-child{border-bottom:0}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.frow i{width:7px;height:7px;border-radius:50%;display:block}
.frow p{font-size:12.5px;color:var(--s700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{font-size:10.5px;padding:2px 7px;border-radius:6px;white-space:nowrap;font-weight:500}
.tag.ok{background:var(--ok50);border:1px solid var(--okE);color:#3A5A30}
.tag.wa{background:var(--wa50);border:1px solid var(--waE);color:#84600F}
.tag.in{background:var(--in50);border:1px solid var(--inE);color:#3F4D5E}
.tag.tt{background:var(--t50);border:1px solid var(--t100);color:var(--t700)}
.frow em{font-family:var(--mono);font-size:11px;color:var(--s400);font-style:normal}
.float{position:absolute;z-index:3;background:var(--cream);border:1px solid var(--b1);border-radius:12px;box-shadow:0 18px 40px -18px rgba(28,22,14,.3);padding:12px 14px;animation:bob 6s ease-in-out infinite}
.float .fh{margin:0;font-size:12.5px;color:var(--s900);font-weight:600;display:flex;align-items:center;gap:7px}
.float .fh svg{width:13px;height:13px;color:var(--t600);flex:none}
.float p{font-size:11.5px;color:var(--s500);margin-top:4px}
.f1{right:-52px;top:-30px;animation-delay:.4s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.dotpulse{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(82,122,69,.5);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(82,122,69,0)}100%{box-shadow:0 0 0 0 rgba(82,122,69,0)}}
/* ── tira de organismos ── */
.strip{border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);background:var(--cream);padding:20px 0;margin-top:0;overflow:hidden;position:relative}
.strip::before,.strip::after{content:"";position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.strip::before{left:0;background:linear-gradient(90deg,var(--cream),transparent)}
.strip::after{right:0;background:linear-gradient(-90deg,var(--cream),transparent)}
.track{display:flex;gap:52px;width:max-content;animation:slide 34s linear infinite;align-items:center}
.track:hover{animation-play-state:paused}
.track span{font-size:13.5px;color:var(--s500);white-space:nowrap;display:flex;align-items:center;gap:9px}
.track span svg{color:var(--s400)}
@keyframes slide{to{transform:translateX(-50%)}}
/* ── secciones ── */
section{padding:104px 0}
.shead{max-width:66ch}
.klabel{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--t600)}
h2.sec{font-size:clamp(28px,3.5vw,42px);font-weight:600;line-height:1.1;margin-top:14px;letter-spacing:-.026em}
.slead{font-size:16.5px;color:var(--s600);margin-top:16px;max-width:62ch}
/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
/* pilares */
.pill3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.pcard{background:var(--cream);border:1px solid var(--b1);border-radius:16px;padding:26px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
.pcard::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--t500),var(--t300));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.pcard:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(28,22,14,.35);border-color:var(--b2)}
.pcard:hover::after{transform:scaleX(1)}
.pico{width:42px;height:42px;border-radius:12px;background:var(--t50);border:1px solid var(--t100);color:var(--t700);display:flex;align-items:center;justify-content:center}
.pcard h3{font-size:18px;font-weight:600;margin-top:18px;letter-spacing:-.014em}
.pcard p{font-size:14px;color:var(--s600);margin-top:9px}
/* bloques alternos */
.blk{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:88px}
.blk:first-of-type{margin-top:52px}
.blk.rev .vis{order:-1}
.blk h3{font-size:clamp(24px,2.6vw,31px);font-weight:600;letter-spacing:-.022em;line-height:1.14;margin-top:14px}
.blk p.d{font-size:15.5px;color:var(--s600);margin-top:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:var(--cream);border:1px solid var(--b1);font-size:12.5px;color:var(--s600);transition:border-color .25s,color .25s,transform .25s}
.chip:hover{border-color:var(--t100);color:var(--t700);transform:translateY(-1px)}
.vis{background:var(--cream);border:1px solid var(--b1);border-radius:18px;padding:20px;box-shadow:0 26px 50px -34px rgba(28,22,14,.32);min-height:310px;display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden}
.vhead{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--s500);font-family:var(--mono)}
.vhead b{color:var(--s800);font-weight:500}
.mini{border:1px solid var(--b1);border-radius:11px;padding:12px 13px;background:var(--app)}
.mini .t{font-size:12.5px;font-weight:600;color:var(--s900)}
.mini .s{font-size:11.5px;color:var(--s500);margin-top:3px}
.bar{height:6px;border-radius:999px;background:var(--sunk);overflow:hidden;margin-top:9px}
.bar u{display:block;height:100%;background:var(--t600);width:0;border-radius:999px;transition:width 1.4s cubic-bezier(.2,.7,.3,1)}
.in .bar u{width:var(--w,68%)}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.stat{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--s600)}
.stat b{font-family:var(--mono);font-size:13px;color:var(--s900);font-weight:500;min-width:44px;text-align:right}
.htl{display:flex;flex-direction:column;gap:0;flex:1}
.htli{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--sunk)}
.htli:last-child{border-bottom:0}
.htli .htld{width:7px;height:7px;border-radius:50%;background:var(--t300);flex:none;margin-top:5px}
.htli .t{font-size:12.5px;color:var(--s800);font-weight:500;line-height:1.35}
.htli .s{font-size:11px;color:var(--s500);margin-top:3px}
/* flagship: papel -> asiento */
.flag{background:var(--s900);color:var(--cream);position:relative;overflow:hidden}
.flag::before{content:"";position:absolute;inset:-40% -10% auto 30%;height:620px;background:radial-gradient(50% 50% at 50% 50%,rgba(206,130,83,.22),transparent 70%);pointer-events:none}
.flag .wrap{position:relative}
.flag .klabel{color:var(--t300)}
.flag h2.sec,.flag h3{color:var(--cream)}
.flag .slead{color:var(--s400)}
.flow3{display:grid;grid-template-columns:1fr 46px 1fr 46px 1fr;align-items:stretch;margin-top:52px}
.fnode{background:rgba(255,253,249,.05);border:1px solid rgba(255,253,249,.14);border-radius:16px;padding:20px;min-height:262px;display:flex;flex-direction:column;gap:11px}
.fnode .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--t300)}
.fnode h3{margin:2px 0 0;font-size:16px;font-weight:600;color:var(--cream);letter-spacing:-.014em}
.fnode p.x{font-size:13px;color:var(--s400);line-height:1.5}
.link{display:flex;align-items:center;justify-content:center}
.link u{display:block;height:2px;width:100%;background:linear-gradient(90deg,transparent,rgba(206,130,83,.6),transparent);position:relative}
.link u::after{content:"";position:absolute;top:-2.5px;left:0;width:7px;height:7px;border-radius:50%;background:var(--t300);box-shadow:0 0 10px 2px rgba(223,163,114,.55);animation:travel 2.8s cubic-bezier(.5,0,.5,1) infinite}
.link.d u::after{animation-delay:1.4s}
@keyframes travel{0%{left:-4px;opacity:0}18%{opacity:1}82%{opacity:1}100%{left:calc(100% - 4px);opacity:0}}
.rcp{background:var(--cream);border-radius:9px;padding:12px 13px;position:relative;overflow:hidden;flex:1}
.rcp .rl{height:6px;border-radius:3px;background:var(--sunk);margin-bottom:7px}
.rcp .w1{width:56%}.rcp .w2{width:82%}.rcp .w3{width:44%}.rcp .w4{width:70%}
.rcp .rt{font-family:var(--mono);font-size:11px;color:var(--s600);display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px dashed var(--b2)}
.rcp .rt b{color:var(--s900)}
.scan{position:absolute;left:0;right:0;height:34px;background:linear-gradient(180deg,transparent,rgba(206,130,83,.24),transparent);border-top:1.5px solid var(--t500);animation:sweep 3.4s cubic-bezier(.5,0,.5,1) infinite}
@keyframes sweep{0%{top:-34px}100%{top:100%}}
.led{background:var(--cream);border-radius:9px;overflow:hidden;flex:1}
.led .lh{display:flex;justify-content:space-between;padding:7px 11px;background:var(--sunk);font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--s500)}
.led .lr{display:grid;grid-template-columns:50px 1fr auto;gap:9px;padding:7px 11px;font-size:11.5px;border-top:1px solid var(--sunk);align-items:center}
.led .lr b{font-family:var(--mono);color:var(--t700);font-weight:500}
.led .lr span{color:var(--s600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.led .lr em{font-family:var(--mono);font-style:normal;color:var(--s900);font-size:11px;text-align:right}
.hint{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--s400);font-family:var(--mono)}
.hint i{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none}
/* integraciones */
.igrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px}
.icard{background:var(--cream);border:1px solid var(--b1);border-radius:12px;padding:16px 14px;display:flex;flex-direction:column;gap:9px;transition:border-color .25s,transform .25s,box-shadow .25s}
.icard:hover{border-color:var(--t100);transform:translateY(-3px);box-shadow:0 16px 30px -22px rgba(28,22,14,.32)}
.icard b{font-size:13.5px;color:var(--s900);font-weight:600;letter-spacing:-.008em}
.icard span{font-size:11.5px;color:var(--s500);line-height:1.45}
.icard .lg{height:60px;display:flex;align-items:center}
.icard .lg img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;filter:saturate(.92)}
.icard .mk{width:60px;height:60px;border-radius:10px;background:var(--sunk);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--s600);font-weight:500}
.inote{margin-top:16px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--s500)}
/* soberanía */
.house{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;margin-top:44px}
.hitem{display:flex;gap:14px;padding:17px 0;border-top:1px solid var(--b1)}
.hitem:last-child{border-bottom:1px solid var(--b1)}
.hitem .hi{width:34px;height:34px;border-radius:10px;background:var(--cream);border:1px solid var(--b1);color:var(--t700);display:flex;align-items:center;justify-content:center;flex:none}
.hitem h3{margin:0;font-size:14.5px;font-weight:600;color:var(--s900);letter-spacing:-.01em}
.hitem p{font-size:13.5px;color:var(--s600);margin-top:5px}
.vault{background:var(--cream);border:1px solid var(--b1);border-radius:18px;padding:22px;box-shadow:0 26px 50px -34px rgba(28,22,14,.3)}
.vault .vt{display:flex;align-items:center;gap:9px;font-size:12.5px;font-family:var(--mono);color:var(--s500)}
.ring{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.rcell{border:1px solid var(--b1);border-radius:10px;padding:12px 10px;text-align:center;background:var(--app)}
.rcell u{display:block;text-decoration:none;font-family:var(--mono);font-size:15px;color:var(--s900);font-weight:600}
.rcell span{font-size:10.5px;color:var(--s500);display:block;margin-top:4px;line-height:1.35}
.gate{margin-top:14px;border:1px dashed var(--b2);border-radius:12px;padding:12px 14px;background:var(--app)}
.gate .gr{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--s700);padding:6px 0}
/* agentes */
.ag{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.agc{background:var(--cream);border:1px solid var(--b1);border-radius:14px;padding:20px;position:relative;overflow:hidden}
.agc::before{content:"";position:absolute;right:-32px;top:-32px;width:92px;height:92px;border-radius:50%;background:var(--t50);opacity:0;transition:opacity .35s}
.agc:hover::before{opacity:1}
.agc .ah{display:flex;align-items:center;gap:9px;position:relative}
.agc .ah i{width:8px;height:8px;border-radius:50%;background:var(--t500);flex:none;animation:pulse 2.4s infinite}
.agc h3{margin:0;font-size:14.5px;font-weight:600;color:var(--s900);letter-spacing:-.01em}
.agc p{font-size:13px;color:var(--s600);margin-top:9px;position:relative}
.agc code{font-family:var(--mono);font-size:11px;color:var(--t700);background:var(--t50);border:1px solid var(--t100);border-radius:5px;padding:1px 5px;margin-top:12px;display:inline-block;position:relative}
@media(max-width:920px){
  .flow3{grid-template-columns:1fr}.link{height:28px}.link u{width:2px;height:28px;background:linear-gradient(180deg,transparent,rgba(206,130,83,.6),transparent)}.link u::after{animation:none;left:-2.5px;top:10px}
  .igrid{grid-template-columns:repeat(2,1fr)}.house{grid-template-columns:1fr;gap:30px}.ag{grid-template-columns:1fr}
}
/* chat vivo */
.chatsec{background:var(--cream);border-bottom:1px solid var(--b1)}
.chatgrid{display:grid;grid-template-columns:.86fr 1.14fr;gap:56px;align-items:center;margin-top:40px}
.c-win{background:var(--app);border:1px solid var(--b2);border-radius:16px;box-shadow:0 30px 60px -34px rgba(28,22,14,.35);overflow:hidden;height:572px;display:flex;flex-direction:column}
.c-top{height:42px;display:flex;align-items:center;gap:9px;padding:0 14px;background:var(--cream);border-bottom:1px solid var(--b1)}
.c-top .cav{width:22px;height:22px;border-radius:7px;background:var(--t50);border:1px solid var(--t100);color:var(--t700);display:flex;align-items:center;justify-content:center;flex:none}
.c-top b{font-size:12.5px;color:var(--s900);font-weight:600}
.c-top .cst{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--s500);font-family:var(--mono)}
.c-body{flex:1;min-height:0;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:11px;overflow:hidden}
.c-msg{max-width:82%;animation:cin .45s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes cin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.c-msg.me{align-self:flex-end;background:var(--t600);color:var(--cream);border-radius:13px 13px 4px 13px;padding:9px 13px;font-size:13px;line-height:1.45}
.c-msg.ai{align-self:flex-start;background:var(--cream);border:1px solid var(--b1);border-radius:13px 13px 13px 4px;padding:10px 13px;font-size:13px;line-height:1.5;color:var(--s700)}
.c-msg.ai b{color:var(--s900);font-weight:600}
.caret{display:inline-block;width:2px;height:1em;background:var(--t500);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.c-think{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--s500);font-family:var(--mono);align-self:flex-start;animation:cin .3s forwards}
.c-think i{width:5px;height:5px;border-radius:50%;background:var(--t400,#CE8253);animation:tdot 1.3s infinite}
.c-think i:nth-child(2){animation-delay:.18s}.c-think i:nth-child(3){animation-delay:.36s}
@keyframes tdot{0%,100%{opacity:.28;transform:translateY(0)}45%{opacity:1;transform:translateY(-3px)}}
/* artefactos */
.art{align-self:stretch;background:var(--cream);border:1px solid var(--b1);border-radius:13px;overflow:hidden;animation:artin .5s cubic-bezier(.2,.7,.3,1) forwards;box-shadow:0 12px 26px -20px rgba(28,22,14,.32)}
@keyframes artin{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.art .ah2{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--sunk);border-bottom:1px solid var(--b1)}
.art .ah2 span{font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--s500);flex:1}
.art .ab{padding:12px}
.arow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:6px 0;font-size:12.5px;border-bottom:1px solid var(--sunk)}
.arow:last-child{border-bottom:0}
.arow span{color:var(--s600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow em{font-family:var(--mono);font-style:normal;color:var(--s900);font-size:12px}
.arow em.up{color:#3A5A30}.arow em.dn{color:#862E1E}
.spark{display:flex;align-items:flex-end;gap:5px;height:52px;margin-top:4px}
.spark u{flex:1;background:var(--t100);border-radius:3px 3px 0 0;height:var(--h);transform-origin:bottom;animation:grow .8s cubic-bezier(.2,.7,.3,1) forwards}
.spark u.hi{background:var(--t500)}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.slab{display:flex;gap:5px;margin-top:6px}
.slab i{flex:1;font-family:var(--mono);font-size:9px;color:var(--s400);text-align:center;font-style:normal}
.cite{display:flex;gap:9px;padding:9px 11px;background:var(--app);border:1px solid var(--b1);border-radius:9px;margin-top:9px}
.cite .cq{width:2px;border-radius:2px;background:var(--t300);flex:none}
.cite p{font-size:11.5px;color:var(--s600);line-height:1.45}
.cite p b{color:var(--s900);font-weight:600;display:block;font-size:11px;font-family:var(--mono);margin-bottom:3px}
.afoot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--b1);background:var(--app)}
.afoot .ok2{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:8px;background:var(--t600);color:var(--cream);font-size:12px;font-weight:600;border:1px solid var(--t700)}
.afoot .no2{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:8px;background:var(--cream);color:var(--s600);font-size:12px;border:1px solid var(--b1)}
.afoot .hnt{margin-left:auto;font-size:10.5px;color:var(--s400);font-family:var(--mono)}
.c-bar{display:flex;align-items:center;gap:9px;padding:11px 14px;border-top:1px solid var(--b1);background:var(--cream)}
.c-bar .fake{flex:1;height:34px;border-radius:10px;border:1px solid var(--b1);background:var(--app);display:flex;align-items:center;padding:0 11px;font-size:12.5px;color:var(--s400)}
.c-bar .snd{width:34px;height:34px;border-radius:10px;background:var(--t600);border:1px solid var(--t700);color:var(--cream);display:flex;align-items:center;justify-content:center;flex:none}
.qlist{display:flex;flex-direction:column;gap:2px;margin-top:26px}
.qi{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--b1);cursor:pointer;transition:opacity .25s}
.qi:last-child{border-bottom:1px solid var(--b1)}
.qi.on .qt{color:var(--t700)}
.qi .qn{font-family:var(--mono);font-size:11px;color:var(--s400);flex:none;width:18px;padding-top:2px}
.qi.on .qn{color:var(--t600)}
.qi .qt{font-size:14.5px;font-weight:600;color:var(--s900);letter-spacing:-.01em}
.qi .qd{font-size:13px;color:var(--s600);margin-top:4px}
@media(max-width:920px){.chatgrid{grid-template-columns:1fr;gap:30px}.c-win{height:540px}}
/* procesos especiales */
.limit{display:flex;gap:16px;align-items:flex-start;margin-top:24px;background:var(--cream);border:1px solid var(--b1);border-radius:14px;padding:20px 22px}
.limit .lic{width:38px;height:38px;border-radius:11px;background:var(--t50);border:1px solid var(--t100);color:var(--t700);display:flex;align-items:center;justify-content:center;flex:none}
.limit h3{margin:2px 0 0;font-size:15.5px;font-weight:600;color:var(--s900);letter-spacing:-.012em}
.limit p{font-size:13.5px;color:var(--s600);margin-top:6px;max-width:88ch}
.pgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.prc{background:var(--app);border:1px solid var(--b1);border-radius:16px;padding:22px;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
.prc:hover{transform:translateY(-4px);border-color:var(--b2);box-shadow:0 22px 40px -28px rgba(28,22,14,.34)}
.prc.alt{background:var(--t50);border-color:var(--t100)}
.prc .ph{display:flex;align-items:center;gap:10px}
.prc .pk{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--t600);flex:1}
.prc .ph svg{color:var(--s400);width:17px;height:17px}
.prc.alt .ph svg{color:var(--t600)}
.prc h3{margin:14px 0 0;font-size:17px;font-weight:600;color:var(--s900);letter-spacing:-.014em}
.prc p{font-size:13.5px;color:var(--s600);margin-top:9px;flex:1}
.prc .pr{margin-top:16px;padding-top:13px;border-top:1px solid var(--b1);font-size:12.5px;color:var(--s600)}
.prc .pr b{font-family:var(--mono);color:var(--t700);font-weight:500}
.prc.alt .pr{border-color:var(--t100)}
@media(max-width:920px){.pgrid3{grid-template-columns:1fr}.limit{flex-direction:column;gap:12px}}
/* formulario de contacto */
.contact{background:var(--cream);border-top:1px solid var(--b1)}
.cgrid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:start;margin-top:40px}
.cpts{display:flex;flex-direction:column}
.cpt{display:flex;gap:13px;padding:16px 0;border-top:1px solid var(--b1)}
.cpt:last-child{border-bottom:1px solid var(--b1)}
.cpt .ci{width:32px;height:32px;border-radius:9px;background:var(--app);border:1px solid var(--b1);color:var(--t700);display:flex;align-items:center;justify-content:center;flex:none}
.cpt h3{margin:1px 0 0;font-size:14px;font-weight:600;color:var(--s900);letter-spacing:-.01em}
.cpt p{font-size:13px;color:var(--s600);margin-top:4px}
.card-form{background:var(--app);border:1px solid var(--b1);border-radius:18px;padding:26px;box-shadow:0 24px 48px -34px rgba(28,22,14,.3)}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.wide{grid-column:1/-1}
.fld label{font-size:12px;font-weight:600;color:var(--s800);letter-spacing:-.004em}
.fld label u{text-decoration:none;color:var(--t600)}
.fld input,.fld select,.fld textarea{height:40px;border:1px solid var(--b1);border-radius:10px;background:var(--cream);padding:0 12px;font-family:var(--sans,'Geist',system-ui,sans-serif);font-size:13.5px;color:var(--s800);outline:none;width:100%;transition:border-color .2s,box-shadow .2s}
.fld textarea{height:88px;padding:10px 12px;resize:vertical;line-height:1.5}
.fld select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B8270' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;background-size:15px;padding-right:34px;cursor:pointer}
.fld input::placeholder,.fld textarea::placeholder{color:var(--s400)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--t300);box-shadow:0 0 0 3px rgba(187,100,56,.12)}
.fld .hint2{font-size:11px;color:var(--s500)}
.consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;margin-top:2px}
.consent input{appearance:none;width:16px;height:16px;border:1.5px solid var(--s400);border-radius:4px;background:var(--cream);flex:none;margin:2px 0 0;cursor:pointer;position:relative}
.consent input:checked{background:var(--t600);border-color:var(--t700)}
.consent input:checked::after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg)}
.consent.bad input{border-color:#B44A36;box-shadow:0 0 0 3px rgba(180,74,54,.12)}
.consent.bad span{color:#862E1E}
.ferr{grid-column:1/-1;display:none;align-items:center;gap:8px;font-size:12.5px;color:#862E1E;background:#FBECE7;border:1px solid #ECCFC4;border-radius:9px;padding:9px 11px}
.ferr.show{display:flex}
.consent span{font-size:12px;color:var(--s600);line-height:1.5}
.fsend{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.fsend .btn{height:44px;padding:0 20px;font-size:14px}
.fsend .fmeta{font-size:12px;color:var(--s500)}
.sent{grid-column:1/-1;display:none;flex-direction:column;align-items:center;text-align:center;padding:26px 10px}
.sent .sic{width:44px;height:44px;border-radius:13px;background:var(--ok50);border:1px solid var(--okE);color:var(--ok);display:flex;align-items:center;justify-content:center}
.sent h3{margin:16px 0 0;font-size:17px;font-weight:600;color:var(--s900);letter-spacing:-.014em}
.sent p{font-size:13.5px;color:var(--s600);margin-top:8px;max-width:44ch}
.card-form.done .frm>*:not(.sent){display:none}
.card-form.done .sent{display:flex}
/* cifras */
.nums{background:var(--s900);border-radius:22px;padding:56px 48px;color:var(--cream);position:relative;overflow:hidden}
.nums::before{content:"";position:absolute;inset:auto -20% -60% 40%;height:420px;background:radial-gradient(50% 50% at 50% 50%,rgba(206,130,83,.28),transparent 70%)}
.nums h2{color:var(--cream);font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.024em;position:relative;max-width:24ch}
.ngrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px;position:relative}
.ncell u{display:block;text-decoration:none;font-family:var(--mono);font-size:clamp(30px,3.6vw,44px);font-weight:600;color:var(--cream);letter-spacing:-.03em}
.ncell p{font-size:13.5px;color:var(--s400);margin-top:8px;line-height:1.5}
/* proceso */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border:1px solid var(--b1);border-radius:16px;overflow:hidden;background:var(--cream)}
.step{padding:30px 26px;border-right:1px solid var(--b1);position:relative}
.step:last-child{border-right:0}
.step u{font-family:var(--mono);font-size:11.5px;color:var(--t600);text-decoration:none}
.step h3{font-size:17px;font-weight:600;margin-top:12px;letter-spacing:-.012em}
.step p{font-size:13.5px;color:var(--s600);margin-top:8px}
/* cierre */
.close{text-align:center;padding:110px 0 118px}
.close h2{font-size:clamp(30px,4.2vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1.06;max-width:22ch;margin:0 auto}
.close p{font-size:17px;color:var(--s600);margin:20px auto 0;max-width:52ch}
footer{border-top:1px solid var(--b1);background:var(--cream);padding:34px 0}
.fgrid{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fbrand{display:flex;flex-direction:column;gap:7px}
footer p{font-size:12.5px;color:var(--s500)}
.flinks{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.flinks a{font-size:12.5px;color:var(--s600)}
.pwr{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;background:var(--app);border:1px solid var(--b1);font-size:12.5px;color:var(--s600);white-space:nowrap;transition:border-color .25s,color .25s}
.pwr:hover{border-color:var(--t100);color:var(--t700)}
.pwr b{font-weight:600;color:var(--s900);letter-spacing:-.008em}
.pwr:hover b{color:var(--t700)}
.pwr i{width:7px;height:7px;border-radius:50%;background:var(--t500);flex:none}
.fbot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--b1)}
.fbot span{font-size:11.5px;color:var(--s400)}
/* nav móvil */
nav .btn{flex:none}
.burger{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--b1);background:var(--cream);color:var(--s700);align-items:center;justify-content:center;cursor:pointer;flex:none}
.drawer{position:fixed;inset:64px 0 auto;max-height:calc(100vh - 64px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:rgba(255,253,249,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--b1);padding:14px 0 20px;z-index:55;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.2,.7,.3,1)}
.drawer.open{opacity:1;transform:none;pointer-events:auto}
.drawer .wrap{display:flex;flex-direction:column;gap:2px}
.drawer a{font-size:16px;color:var(--s800);padding:11px 0;border-bottom:1px solid var(--b1);font-weight:500}
.drawer a:last-of-type{border-bottom:0}
.drawer .btn{margin-top:14px;height:44px;font-size:14.5px}

/* ── responsive ── */
@media(max-width:1180px){.wrap{padding:0 24px}.igrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1120px){.f1{right:-14px;top:-26px}}
@media(max-width:1060px){
  .nlinks{display:none}.burger{display:flex}nav .btn{margin-left:auto}
  .cgrid{grid-template-columns:1fr;gap:34px}
  .chatgrid{grid-template-columns:1fr;gap:32px}.c-win{height:548px}
  .house{grid-template-columns:1fr;gap:34px}
  .ag{grid-template-columns:repeat(2,1fr)}
  .pgrid3{grid-template-columns:repeat(2,1fr)}
  .blk{gap:40px}
  .nums{padding:44px 32px}.ngrid{grid-template-columns:repeat(2,1fr);gap:26px}
}
@media(max-width:920px){
  .board{grid-template-columns:1fr}.side{display:none}
  .pill3,.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--b1)}
  .step:last-child{border-bottom:0}
  .blk{grid-template-columns:1fr;gap:30px}.blk.rev .vis{order:0}
  .kpis{grid-template-columns:repeat(2,1fr)}.float{display:none}
  .pcols{grid-template-columns:1fr}.aside{display:none}
  .flow3{grid-template-columns:1fr}.link{height:28px}
  .link u{width:2px;height:28px;background:linear-gradient(180deg,transparent,rgba(206,130,83,.6),transparent)}
  .link u::after{animation:none;left:-2.5px;top:10px}
  .igrid{grid-template-columns:repeat(3,1fr)}
  .pgrid3{grid-template-columns:1fr}.limit{flex-direction:column;gap:12px}
  section{padding:72px 0}header.hero{padding-top:112px}
  .stage{margin-top:44px}.win{transform:none}
  .close{padding:80px 0 84px}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  header.hero{padding-top:96px}
  h1.big{font-size:clamp(31px,8.6vw,42px);max-width:none}
  h1.big em{white-space:normal}
  .sub{font-size:16px}
  .cta{gap:10px}.cta .btn.lg{width:100%;justify-content:center}.cta .fine{font-size:12px}
  .eyebrow{height:auto;padding:5px 12px;line-height:1.4;text-align:left}
  .igrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .ag{grid-template-columns:1fr}
  .ngrid{grid-template-columns:1fr;gap:22px}.nums{padding:34px 22px;border-radius:18px}
  .kpis{grid-template-columns:repeat(2,1fr);gap:8px}
  .chrome{height:32px}.url{max-width:none}
  .panel{padding:14px}
  .vis{padding:16px;min-height:0}
  .c-win{height:520px}.c-body{padding:13px;gap:9px}.c-msg{max-width:90%}
  .prc{padding:18px}
  .steps .step{padding:24px 20px}
  .fgrid{gap:16px}.flinks{margin-left:0;gap:16px}
  .frm{grid-template-columns:1fr}.card-form{padding:20px}
  .fsend .btn{width:100%;justify-content:center}
  .fbot span[style]{margin-left:0!important}
  section{padding:60px 0}.close{padding:66px 0 70px}
}
@media(max-width:420px){
  .igrid{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .frow{grid-template-columns:8px 1fr auto;gap:9px}.frow em{display:none}
  h2.sec{font-size:clamp(25px,7.4vw,30px)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.c-msg,.c-think,.art,.frow{opacity:1;transform:none}.spark u{transform:none}.bar u{width:var(--w,68%)}h1.big em path{stroke-dashoffset:0}}
/* ── campo trampa antispam: fuera de pantalla, nunca visible ── */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* ── banner de cookies ── */
.ckb{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:0 20px 20px;display:none;pointer-events:none}
.ckb.show{display:block}
.ckb-in{pointer-events:auto;max-width:1180px;margin:0 auto;background:var(--cream);border:1px solid var(--b2);border-radius:16px;box-shadow:0 30px 60px -28px rgba(28,22,14,.4);padding:22px 24px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;animation:ckin .4s cubic-bezier(.2,.7,.3,1) both}
@keyframes ckin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ckb-tx{flex:1;min-width:280px}
.ckb-tx h2{font-size:15.5px;font-weight:600;letter-spacing:-.012em;margin:0}
.ckb-tx p{font-size:13px;color:var(--s600);margin-top:7px;max-width:76ch}
.ckb-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ckb-btns .btn{height:40px;padding:0 18px}
.ckb-link{font-size:13px;color:var(--s600);background:none;border:0;cursor:pointer;font-family:inherit;padding:0 4px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--b2)}
.ckb-link:hover{color:var(--t700)}
.fbot .ckb-link{font-size:11.5px;color:var(--s600);padding:0}
.fbot .ckb-link:hover{color:var(--t700)}
.ckp{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(26,22,16,.42);backdrop-filter:blur(3px)}
.ckp.show{display:flex}
.ckp-in{background:var(--cream);border:1px solid var(--b2);border-radius:18px;box-shadow:0 40px 80px -40px rgba(28,22,14,.5);width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;padding:26px}
.ckp-in h2{font-size:19px;font-weight:600;letter-spacing:-.018em;margin:0}
.ckp-in>p{font-size:13.5px;color:var(--s600);margin-top:9px}
.cko{display:flex;gap:13px;align-items:flex-start;border-top:1px solid var(--b1);padding:16px 0}
.cko:last-of-type{border-bottom:1px solid var(--b1);margin-bottom:20px}
.cko-tx h3{font-size:14px;font-weight:600;letter-spacing:-.01em;margin:0}
.cko-tx p{font-size:12.5px;color:var(--s600);margin-top:5px}
.cko input{appearance:none;width:16px;height:16px;border:1.5px solid var(--s400);border-radius:4px;background:var(--cream);flex:none;margin:2px 0 0;cursor:pointer;position:relative}
.cko input:checked{background:var(--t600);border-color:var(--t700)}
.cko input:checked::after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg)}
.cko input:disabled{background:var(--s400);border-color:var(--s400);cursor:not-allowed}
.ckp-btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:680px){
  .ckb{padding:0 12px 12px}.ckb-in{padding:18px;gap:16px}
  .ckb-btns{width:100%}.ckb-btns .btn{flex:1;justify-content:center}
  .ckp-btns .btn{flex:1;justify-content:center}
}

/* ── páginas legales ── */
.legal{padding:132px 0 96px;background:var(--cream);border-bottom:1px solid var(--b1);min-height:70vh}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(30px,4.4vw,44px);font-weight:600;letter-spacing:-.028em;line-height:1.08;margin-top:14px}
.legal .updated{font-family:var(--mono);font-size:12px;color:var(--s500);margin-top:18px}
.legal h2{font-size:20px;font-weight:600;letter-spacing:-.016em;margin:44px 0 0}
.legal h3{font-size:15.5px;font-weight:600;letter-spacing:-.012em;margin:26px 0 0}
.legal p{font-size:15px;color:var(--s600);margin-top:13px}
.legal ul{margin:13px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.legal li{font-size:15px;color:var(--s600);line-height:1.6;position:relative;padding-left:17px}
.legal li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--t300)}
.legal li b,.legal p b{color:var(--s900);font-weight:600}
.legal .box{margin-top:20px;background:var(--app);border:1px solid var(--b1);border-radius:14px;padding:20px 22px}
.legal .box p{margin-top:6px}.legal .box p:first-child{margin-top:0}
.legal .tablewrap{margin-top:16px;overflow-x:auto;border:1px solid var(--b1);border-radius:12px;background:var(--app)}
.legal table{border-collapse:collapse;width:100%;min-width:560px}
.legal th,.legal td{text-align:left;padding:11px 14px;font-size:13px;border-bottom:1px solid var(--b1);vertical-align:top}
.legal th{font-size:11px;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--s500);font-weight:500;background:var(--sunk)}
.legal td{color:var(--s600)}
.legal td:first-child{font-family:var(--mono);font-size:12.5px;color:var(--s900)}
.legal tr:last-child td{border-bottom:0}
@media(max-width:680px){.legal{padding:104px 0 72px}}

/* ── accesibilidad ── */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--t600);color:var(--cream);padding:11px 18px;border-radius:0 0 10px 0;font-size:13.5px;font-weight:600}
.skip:focus{left:0;color:var(--cream)}
:focus-visible{outline:2px solid var(--t500);outline-offset:2px;border-radius:4px}
