/* MultiDocs v8 — oscuro y sobrio (base «La app») + papeles y cobalto («Adiós al papeleo») */
:root{
  --bg:#0b0d11; --bg2:#101318; --win:#14171d; --win2:#191d24; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --tx:#eef0f4; --tx2:#b4b9c5; --mu:#8a90a0;
  --acc:#4466ff; --acc-d:#3352e6; --acc-soft:rgba(68,102,255,.16);
  --ok:#3ccf98; --ok-soft:rgba(60,207,152,.14); --wait:#f2b450; --wait-soft:rgba(242,180,80,.14); --bad:#ff7a66; --bad-soft:rgba(255,122,102,.14);
  --sig:#2b4bd8; --paper:#fff; --pink:#ff5a36;
  --wrap:1200px; --gut:24px; --nav-h:64px; --r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;background:var(--bg)}
body{margin:0;background:var(--bg);font:400 17px/1.55 Onest,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.035em;line-height:1.04}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.muted{color:var(--mu)}
.label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}
.label::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--acc)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;background:#fff;font-weight:600;font-size:16px;border:0;transition:background .2s,transform .2s}
.btn-sm{min-height:36px;padding:0 15px;font-size:14px}
.btn-lg{font-size:17px}
.btn-ghost:hover{background:rgba(255,255,255,.06)}
.lnk{color:var(--tx);font-weight:600;display:inline-flex;gap:6px;align-items:center}
.lnk::after{content:"→";transition:transform .2s}
.lnk:hover::after{transform:translateX(3px)}

/* ---------- logo-firma ---------- */
.logo{width:128px;height:32px;overflow:visible}
.logo text{font:700 25px Onest,sans-serif;letter-spacing:-.045em;fill:currentColor}
.logo path{fill:none;stroke:var(--acc);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--draw,0)}
.logo-xl{width:min(980px,100%);height:auto;margin:0 auto 64px;color:#fff}
.logo-xl path{stroke-width:1.3}

/* ---------- cabecera ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.nav.solid{backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px)}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:var(--nav-h);align-items:center}
.nav-links{display:flex}
.nav-links a{font-weight:500;color:var(--tx2);transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--tx)}
.burger{display:none;width:44px;height:44px;border:0;background:none;position:relative;margin-right:-10px}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--tx);transition:transform .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:var(--nav-h) 0 0;z-index:49;background:var(--bg);padding:12px var(--gut) 32px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.menu.open{visibility:visible;opacity:1;transition:opacity .25s}
.menu nav a{display:flex;justify-content:space-between;font-weight:700;letter-spacing:-.03em;border-bottom:1px solid var(--line)}
.menu nav a span{color:var(--mu);font-weight:400}

/* ---------- secciones ---------- */
.sec{padding:130px 0}
.sec-2{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head{max-width:780px;margin-bottom:56px}
.head.c{margin-left:auto;margin-right:auto;text-align:center}
.head.c .label{justify-content:center}
.head h2{font-size:clamp(36px,5vw,64px)}
.head p:not(.label){margin-top:18px;font-size:clamp(18px,1.7vw,21px);color:var(--tx2);max-width:640px}
.head.c p:not(.label){margin-left:auto;margin-right:auto}

/* ---------- app (ventana) ---------- */
.win{background:var(--win);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden}
.win-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line)}
.win-bar i{width:10px;height:10px;border-radius:50%}
.win-bar span{margin-left:8px;font-size:13px;color:var(--mu)}
.app{display:grid;grid-template-columns:210px 1fr;height:100%}
.side{border-right:1px solid var(--line);padding:16px 10px;font-size:14px;color:var(--tx2);display:flex;flex-direction:column;gap:2px}
.side .logo{width:110px;height:28px;margin:0 8px 18px;color:var(--tx)}
.side a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px}
.side a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.side a.on{background:var(--win2);color:var(--tx)}
.side .who{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid var(--line);font-size:13px}
.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.main{padding:20px 22px;min-width:0;position:relative;overflow:hidden}
.top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.top h3{font-size:20px;letter-spacing:-.02em}
.top .srch{flex:1;max-width:280px;margin-left:auto;border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:13.5px;color:var(--mu)}
.top .nb{background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.kpi small{color:var(--mu);font-size:13px}
.kpi b{display:block;font-size:28px;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:2px}
.rows{position:relative}
.rw{display:grid;grid-template-columns:1.7fr 1fr 130px 104px;gap:14px;align-items:center;padding:11px 10px;border-top:1px solid var(--line);font-size:14px;transition:background .3s,opacity .4s}
.rw small{display:block;color:var(--mu);font-size:12.5px}
.rw .nm{display:flex;align-items:center;gap:10px;min-width:0}
.rw .nm>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fi{width:26px;height:32px;border-radius:4px;flex:none;position:relative}
.fi::after{content:"";position:absolute;left:5px;right:5px;top:7px;height:12px;background:repeating-linear-gradient(#cfd3db 0 1.5px,transparent 1.5px 4px)}
.bar{height:6px;border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ok);border-radius:3px;width:0}
.pill{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:99px;justify-self:start;white-space:nowrap}.p-a{color:#9db0ff}.p-n{background:rgba(255,255,255,.07)}
.rw.hl{background:var(--win2);border-radius:8px}
.rw.off{opacity:0}

/* hoja de papel */
.paper{background:var(--paper);color:#1b1d22;border-radius:4px;padding:7%;font-size:12.5px;line-height:1.55;position:relative}
.paper .ph{display:flex;gap:10px;align-items:center;border-bottom:1px solid #e4e5e8;padding-bottom:10px;margin-bottom:14px}
.paper .pl{width:30px;height:30px;border-radius:5px;background:#1b3a6b;color:#fff;font-weight:700;font-size:11px;display:grid;place-items:center;flex:none}
.paper .ph b{font-size:13px}
.paper .ph small{display:block;color:#7a7f89;font-size:11px}
.paper .pt{font-weight:700;text-align:center;letter-spacing:.04em;margin-bottom:12px;font-size:12.5px}
.paper p{margin-bottom:8px}
.paper .sgl{position:absolute;left:8%;width:38%;bottom:11%;border-top:1px solid #9a9ea8;padding-top:5px;font-size:11px;color:#7a7f89;text-align:center}
.paper .sgl.r{left:auto;right:8%}
.ink path{fill:none;stroke:var(--sig);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}

/* ---------- hero ---------- */
.hero{height:480vh;position:relative}
.pin{position:sticky;top:0;height:100svh;overflow:hidden}
.copy{position:absolute;left:0;right:0;top:calc(var(--nav-h) + 6vh);text-align:center;padding:0 var(--gut);z-index:4}
.copy .label{justify-content:center}
.copy .h1{font-weight:700}
.copy p{font-size:clamp(18px,1.7vw,21px);color:var(--tx2);max-width:640px;margin:22px auto 0}
.copy .row-b{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.hwin{position:absolute;left:50%;top:50%;width:min(1080px,94vw);height:min(600px,calc(100svh - 150px));z-index:2}
.hwin .win{height:100%}
.hwin .app{height:calc(100% - 39px)}
.sheet{position:absolute;left:0;top:0;width:150px;background:#fff;color:#1b1d22;border-radius:6px;padding:13px 12px;font-size:10.5px;line-height:1.35;z-index:3;will-change:transform}
.sheet b{display:block;font-size:12.5px;margin-bottom:7px;letter-spacing:-.01em}
.sheet i{display:block;height:5px;border-radius:3px;background:#e6e7eb;margin-bottom:5px}
.sheet i:nth-of-type(2){width:82%}.sheet i:nth-of-type(3){width:60%}
.sheet u{display:block;margin-top:12px;border-top:1px solid #a9adb5;padding-top:4px;text-decoration:none;color:#8a8f99;font-size:9.5px}
.det{position:absolute;inset:0;background:var(--win);display:grid;grid-template-columns:1.15fr .85fr;gap:22px;padding:20px 22px;transform-origin:0 0;opacity:0;pointer-events:none}
.det .paper{height:100%;overflow:hidden}
.det .ink{position:absolute;left:10%;bottom:14%;width:34%;height:12%}
.tl h4{font-size:19px;margin-bottom:6px}
.tl>small{display:block;color:var(--mu);font-size:13.5px;margin-bottom:16px}
.ev{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;opacity:.28;transition:opacity .35s}
.ev.on{opacity:1}
.ev b{width:10px;height:10px;border-radius:50%;background:var(--ok);margin-top:5px;flex:none}
.ev small{display:block;color:var(--mu)}
.done{margin-top:16px;display:inline-flex;gap:8px;align-items:center;background:var(--ok-soft);color:var(--ok);border-radius:99px;padding:8px 14px;font-weight:600;font-size:14px;opacity:0;transition:opacity .35s}
.hcap{position:absolute;left:0;right:0;bottom:max(18px,3vh);display:grid;justify-items:center;z-index:5;pointer-events:none;padding:0 var(--gut)}
.hcap p{grid-area:1/1;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:9px 18px 9px 9px;font-weight:700;font-size:clamp(16px,1.6vw,19px);letter-spacing:-.02em;opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}
.hcap p.on{opacity:1;transform:none;transition:opacity .4s .15s,transform .45s .15s}
.hcap b{width:30px;height:30px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:14px}

/* ---------- escenas por pasos (8 áreas) ---------- */
.scrolly{position:relative}
.sc-pin{position:sticky;top:0;height:100svh;overflow:hidden;padding-top:var(--nav-h)}
.sc-in{height:100%;display:flex;flex-direction:column;padding-top:min(4vh,36px);padding-bottom:min(3vh,28px)}
.sc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.sc-head h2{font-size:clamp(30px,3.8vw,50px)}
.sc-head .lnk{white-space:nowrap;font-size:15px}
.sc-chips{display:flex;gap:8px;margin:22px 0 18px;overflow-x:auto;scrollbar-width:none;flex:none}
.sc-chips::-webkit-scrollbar{display:none}
.sc-chips button{border:1px solid var(--line2);border-radius:999px;padding:9px 15px;font-size:14.5px;font-weight:500;white-space:nowrap;display:flex;gap:8px;align-items:center;transition:background .25s,color .25s,border-color .25s}
.sc-chips button i{font-style:normal;font-size:12px;color:var(--mu)}
.sc-chips button[aria-selected=true]{background:#fff;color:#0b0d11;border-color:#fff}
.sc-chips button[aria-selected=true] i{color:#5d6475}
.sc-stage{position:relative;flex:1;min-height:0}
.sc-card{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;transform-origin:50% 40%}
.sc-card.on{opacity:1;visibility:visible;transition:opacity .45s}
.area{height:100%;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:stretch;background:var(--win);border:1px solid var(--line2);border-radius:18px;padding:clamp(22px,3.4vw,44px);overflow:hidden}
.a-txt{display:flex;flex-direction:column}
.a-n{font-size:14px;font-weight:600;color:var(--mu);margin-bottom:12px}
.a-txt h3{font-size:clamp(28px,3.2vw,42px);margin-bottom:12px}
.a-txt>p{font-size:clamp(16px,1.5vw,19px);color:var(--tx2)}
.a-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:9px}
.a-list li{display:flex;gap:10px;font-size:15.5px;color:var(--tx)}
.a-list li::before{content:"";width:16px;height:16px;border-radius:50%;flex:none;margin-top:4px}
.a-txt .lnk{margin-top:auto;padding-top:18px;font-size:15px}
.a-ui{border:1px solid var(--line);border-radius:12px;padding:20px;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px}
.sc-card.on .a-ui>*{animation:up .5s both}
.sc-card.on .a-ui>*:nth-child(2){animation-delay:.1s}.sc-card.on .a-ui>*:nth-child(3){animation-delay:.2s}.sc-card.on .a-ui>*:nth-child(4){animation-delay:.3s}.sc-card.on .a-ui>*:nth-child(5){animation-delay:.4s}.sc-card.on .a-ui>*:nth-child(6){animation-delay:.5s}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* piezas de interfaz dentro de las áreas */
.ui-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--win)}
.ui-row small{display:block;color:var(--mu);font-size:12.5px}
.ui-row .pill{margin-left:auto}
.ui-srch{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--tx2);display:flex;gap:8px;align-items:center}
.ui-srch svg{width:15px;height:15px;stroke:var(--mu);fill:none;stroke-width:2}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:12.5px;padding:4px 9px;border-radius:6px;background:rgba(255,255,255,.06);color:var(--tx2)}
.flow{display:grid;gap:10px}
.node{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:14px;background:var(--win);display:flex;justify-content:space-between;gap:8px;align-items:center}
.node.cond{border-style:dashed;border-color:rgba(242,180,80,.5);color:var(--wait)}
.node small{color:var(--mu);font-size:12.5px}
.branch{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.arrow{text-align:center;color:var(--mu);font-size:14px;line-height:1}
.fb{display:grid;grid-template-columns:110px 1fr;gap:12px;min-height:0}
.fb-pal{display:grid;gap:6px;align-content:start}
.fb-pal span{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;color:var(--tx2)}
.fb-form{background:#fff;color:#1b1d22;border-radius:10px;padding:14px;display:grid;gap:9px;font-size:13px}
.fb-form label{display:grid;gap:4px;font-weight:600;font-size:12.5px;color:#444}
.fb-form .in{border:1px solid #d9dbe0;border-radius:7px;padding:7px 9px;font-weight:400;color:#1b1d22}
.fb-form .rule{font-size:12px;color:#8a5a00;background:#fff4dc;border-radius:6px;padding:6px 8px;font-weight:500}
.fx{display:grid;gap:8px;align-content:start}
.fx div{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13.5px;display:flex;justify-content:space-between;gap:8px;background:var(--win)}
.fx div span{color:var(--mu)}
.fx em{font-style:normal;font-size:12px;color:var(--ok)}
.gen{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.gen .paper{font-size:11.5px;padding:12px}
.gen mark{background:rgba(68,102,255,.15);color:#2b4bd8;border-radius:3px;padding:0 3px;font-size:11px}
.chans{display:flex;gap:6px;flex-wrap:wrap}

/* ---------- cifras de control (sin inventos: de la demo) ---------- */
.control{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.control div{padding:28px;border-right:1px solid var(--line)}
.control div:last-child{border-right:0}
.control b{display:block;font-size:20px;letter-spacing:-.02em;margin-bottom:8px}
.control p{color:var(--tx2);font-size:16px}

/* ---------- método de implantación ---------- */
.method{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line2);counter-reset:m}
.method li{list-style:none;padding:24px 18px 0 0;position:relative}
.method li::before{counter-increment:m;content:"0" counter(m);display:block;font-size:14px;font-weight:600;color:var(--acc);margin-bottom:16px}
.method li::after{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--acc)}
.method b{display:block;font-size:19px;letter-spacing:-.02em;margin-bottom:8px}
.method p{color:var(--tx2);font-size:15px}
.method{padding:0;margin:0}

/* ---------- sectores (papeles de color, de la propuesta B) ---------- */
.sectors{display:grid;gap:14px}
.sct{border-radius:20px;padding:30px;min-height:420px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.sct:hover{transform:translateY(-4px)}
.sct.s1{background:#2448ff}.sct.s2{background:#ff5a36}.sct.s3{background:#12805a}
.sct small{font-size:14px;font-weight:600;opacity:.85}
.sct h3{font-size:clamp(26px,2.4vw,32px);margin:10px 0 12px}
.sct p{opacity:.9;font-size:16px}
.sct .lnk{color:#fff;margin-top:18px}
.sct .mini{position:absolute;left:30px;right:30px;bottom:-30px;transform:rotate(-3deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sct:hover .mini{transform:rotate(0) translateY(-10px)}
.sct .mini .paper{font-size:10.5px;padding:16px}
.others{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.others a{border:1px solid var(--line2);border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:background .2s}
.others a:hover{background:rgba(255,255,255,.04)}
.others b{font-size:19px;letter-spacing:-.02em}
.others span{color:var(--mu);font-size:14.5px;display:block}

/* ---------- validez y seguridad ---------- */
.lv{border:1px solid var(--line2);border-radius:16px;padding:28px;background:var(--win)}
.lv.main{border-color:var(--acc)}
.lv em{font-style:normal;font-size:13px;font-weight:600;color:#9db0ff}
.lv h3{font-size:23px;margin:10px 0}
.lv p{color:var(--tx2)}
.secu{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}
.secu b{display:block;font-size:17px;margin-bottom:6px}
.secu p{color:var(--tx2);font-size:15px}

/* ---------- precio ---------- */
.bill{display:flex;justify-content:center;margin-bottom:28px}
.bill-sw{display:flex;border:1px solid var(--line2);border-radius:999px;padding:4px}
.bill-sw button{border:0;background:none;border-radius:999px;padding:10px 20px;font-size:15px;font-weight:600;color:var(--tx2)}
.bill-sw button[aria-pressed=true]{background:#fff;color:#0b0d11}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan{border:1px solid var(--line2);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:16px;background:var(--win)}
.plan.main{border-color:var(--acc);background:linear-gradient(var(--win),var(--win)) padding-box}
.plan h3{font-size:22px}
.plan .who{color:var(--mu);margin-top:-8px}
.price{display:flex;align-items:baseline;gap:6px}
.price b{font-size:52px;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.price span{color:var(--mu)}
.equiv{font-size:14px;color:var(--mu);margin-top:-8px}
.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15.5px;color:var(--tx2)}
.plan li{padding-left:24px;position:relative}
.plan li::before{content:"";position:absolute;left:2px;top:7px;width:11px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.plan .btn{margin-top:auto}
.price-note{text-align:center;margin-top:22px;color:var(--mu);font-size:15px}
.cmp{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2);border-radius:18px;overflow:hidden}
.cmp-ctl{padding:30px;display:grid;gap:22px;align-content:start;border-right:1px solid var(--line)}
.cmp-ctl h3{font-size:24px}
.cmp-ctl label{display:grid;grid-template-columns:1fr auto;gap:8px;font-weight:500;color:var(--tx2)}
.cmp-ctl output{font-size:24px;font-weight:700;color:var(--tx)}
.cmp-ctl input{grid-column:1/-1;accent-color:var(--acc);width:100%;height:28px}
.cmp-out{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.cmp-col{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px;background:var(--win)}
.cmp-col span{font-size:14px;color:var(--mu)}
.cmp-col b{font-size:30px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.cmp-col small{font-size:13px;color:var(--mu)}
.cmp-col.us{border-color:var(--acc)}
.cmp-col.us b{color:#9db0ff}
.cmp-save{grid-column:1/-1;font-size:20px}
.cmp-save b{color:var(--ok)}
.cmp-note{font-size:13.5px;color:var(--mu);margin-top:12px}

/* ---------- carta ---------- */
.letter{max-width:660px;margin:0 auto;background:#fff;color:#1b1d22;border-radius:6px;padding:clamp(28px,5vw,56px);font-size:19px;line-height:1.6;transform:rotate(-.8deg)}
.letter p+p{margin-top:16px}
.letter .hi{font-weight:700}
.l-sign{margin:24px 0 26px;color:#6a6f79;font-size:15px}
.l-sign svg{width:220px;height:56px;overflow:visible}
.l-sign path{fill:none;stroke:var(--sig);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.letter .btn{background:#0b0d11;color:#fff}

/* ---------- página producto ---------- */
.p-hero{padding:calc(var(--nav-h) + 90px) 0 60px}
.p-hero h1:not(.label):not(.badge),
.p-hero .hx{font-size:clamp(44px,6.4vw,88px);letter-spacing:-.05em;max-width:980px}
.p-hero p{font-size:clamp(18px,1.8vw,22px);color:var(--tx2);max-width:680px;margin-top:22px}
.p-nav{position:sticky;top:var(--nav-h);z-index:30;background:rgba(11,13,17,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.p-nav .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.p-nav .wrap::-webkit-scrollbar{display:none}
.p-nav a{white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:500;color:var(--tx2);border:1px solid transparent}
.p-nav a.on{background:#fff;color:#0b0d11}
.p-sec{padding:110px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 60px)}
.p-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:start}
.p-sec h2{font-size:clamp(32px,4vw,52px);margin-bottom:14px}
.p-sec .lead{font-size:clamp(17px,1.6vw,20px);color:var(--tx2);max-width:560px}
.p-ui{position:sticky;top:calc(var(--nav-h) + 90px)}
.p-ui .a-ui{min-height:360px}
.caps{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:40px}
.caps h4{font-size:16px;letter-spacing:-.01em;margin-bottom:12px;color:var(--tx)}
.caps ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.caps li{font-size:15px;color:var(--tx2);padding-left:18px;position:relative;line-height:1.45}
.caps li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.areas-sum{display:grid;gap:12px}
.areas-sum a{border:1px solid var(--line2);border-radius:14px;padding:20px;background:var(--win);transition:border-color .2s,transform .3s}
.areas-sum a:hover{border-color:#5a6175;transform:translateY(-2px)}
.areas-sum i{font-style:normal;font-size:13px;color:var(--mu)}
.areas-sum b{display:block;font-size:19px;letter-spacing:-.02em;margin:8px 0 6px}
.areas-sum span{font-size:14.5px;color:var(--tx2)}
.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.use{border:1px solid var(--line2);border-radius:16px;padding:24px;background:var(--win)}
.use h3{font-size:21px;margin-bottom:12px}
.use ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.use li{font-size:15px;color:var(--tx2);padding-left:16px;position:relative}
.use li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--acc)}

/* ---------- páginas de sector ---------- */
.s-hero{height:380vh;position:relative}
.s-copy{position:absolute;left:0;right:0;top:calc(var(--nav-h) + 6vh);padding:0 var(--gut);text-align:center;z-index:3}
.s-copy h1:not(.label):not(.badge),
.s-copy .hx{font-size:clamp(44px,7vw,100px);letter-spacing:-.055em;line-height:.95;max-width:1000px;margin:0 auto}
.s-copy p{font-size:clamp(18px,1.7vw,21px);color:var(--tx2);max-width:620px;margin:20px auto 0}
.s-doc{position:absolute;left:50%;top:50%;width:min(540px,calc(100vw - 32px));z-index:2}
.s-doc .fld{position:absolute;border-radius:4px;font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;background:#e8edff;color:#2b4bd8;outline:1.5px solid #2b4bd8;opacity:0;transform:scale(.7);transition:opacity .3s,transform .4s cubic-bezier(.3,1.5,.5,1)}
.s-doc .fld.g{background:#e2f4ea;color:#12805a;outline-color:#12805a}
.s-doc .fld.on{opacity:1;transform:none}
.s-doc .fld.done{background:transparent;outline-style:dashed;outline-width:1px}
.s-doc .ink{position:absolute;z-index:2}
.stamp{position:absolute;border:3px solid #12805a;color:#12805a;font-weight:800;letter-spacing:.06em;padding:6px 14px;border-radius:8px;background:rgba(255,255,255,.9);transform:rotate(-9deg) scale(1.4);opacity:0;transition:opacity .3s,transform .45s cubic-bezier(.3,1.6,.5,1)}
.stamp.on{opacity:1;transform:rotate(-9deg) scale(1)}
.season{height:420vh;position:relative}
.season-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;width:100%;height:100%}
.season h2{font-size:clamp(30px,3.8vw,48px)}
.scaps{display:grid;margin-top:22px}
.scaps p{grid-area:1/1;font-size:19px;color:var(--tx2);opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.scaps p.on{opacity:1;transform:none;transition:opacity .45s .2s,transform .5s .2s}
.scaps b{color:var(--tx)}
.scard{background:var(--win);border:1px solid var(--line2);border-radius:16px;padding:22px}
.days{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}
.days div{text-align:center;padding:8px 2px;font-size:13px;color:var(--mu);border-right:1px solid var(--line);transition:background .3s,color .3s}
.days div:last-child{border-right:0}
.days b{display:block;font-size:19px;font-weight:700;color:var(--mu)}
.days div.past b{color:var(--tx)}
.days div.on{background:#fff;color:#0b0d11}
.stat{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.stat b{font-size:42px;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.stat span{color:var(--mu);font-size:15px}
.ppl{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.pp{border-radius:7px;background:var(--bg2);border:1px solid var(--line);padding:8px 4px;text-align:center;font-size:13px;font-weight:500;color:var(--mu);transition:background .35s,color .35s,border-color .35s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp.ok{background:var(--ok-soft);border-color:rgba(60,207,152,.35);color:var(--ok)}
.pp.ping{background:var(--wait-soft);border-color:rgba(242,180,80,.35);color:var(--wait)}
.pp.late{background:var(--bad-soft);border-color:rgba(255,122,102,.35);color:var(--bad)}
.note{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--bg2);font-size:15px;color:var(--tx2)}
.faq{max-width:840px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:19px;font-weight:600;letter-spacing:-.01em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:26px;font-weight:400;color:var(--mu);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 22px 0;color:var(--tx2)}
.cta-end{text-align:center;padding:140px 0}
.cta-end h2{font-size:clamp(36px,5.4vw,72px);margin-bottom:18px}
.cta-end p{color:var(--tx2);font-size:20px;margin-bottom:30px}

/* demo */
.pg-demo .nav{background:rgba(11,13,17,.82);border-bottom-color:var(--line)}
.demo{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;padding-top:calc(var(--nav-h) + 80px);padding-bottom:120px}
.demo h1{font-size:clamp(40px,5vw,64px);letter-spacing:-.05em}
.demo .lead{margin-top:18px;font-size:19px;color:var(--tx2)}
.demo ul{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:12px;color:var(--tx2)}
.demo li{padding-left:26px;position:relative}
.demo li::before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.form{border:1px solid var(--line2);border-radius:18px;padding:32px;display:grid;gap:16px}
.form .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:7px;font-size:14px;font-weight:500;color:var(--tx2)}
.form input,.form select{font:inherit;font-size:17px;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;background:var(--bg2);color:var(--tx);min-height:50px;width:100%}
.form input:focus,.form select:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.form .btn{min-height:52px;margin-top:6px}
.form .small{font-size:13px;color:var(--mu);text-align:center}
.done-box{text-align:center;padding:40px 10px}
.done-box h3{font-size:28px;margin-bottom:10px}
.done-box p{color:var(--tx2)}

/* pie */
.foot{border-top:1px solid var(--line);padding:80px 0 30px;color:var(--tx2);font-size:15px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr 1fr;gap:28px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.foot h3{font-size:14px;color:var(--tx);letter-spacing:0;margin-bottom:12px}
.foot-grid a{display:block;padding:4px 0}
.foot-grid a:hover{color:var(--tx)}
.foot-legal{padding-top:20px;font-size:13.5px;color:var(--mu)}

/* aparición */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .nav .btn-sm{margin-left:auto}
  .burger{display:block}
  .menu .btn{width:100%}
  .method{grid-template-columns:repeat(3,1fr);row-gap:28px}
  .areas-sum{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .sec{padding:96px 0}
  .area{grid-template-columns:1fr;gap:18px;align-content:start;overflow:hidden}
  .a-list{display:none}
  .a-txt .lnk{display:none}
  .control{grid-template-columns:1fr 1fr}
  .control div:nth-child(2){border-right:0}
  .control div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .sectors,.others,.plans,.uses{grid-template-columns:1fr}
  .sct{min-height:340px}
  .secu{grid-template-columns:1fr 1fr}
  .cmp{grid-template-columns:1fr}
  .cmp-ctl{border-right:0;border-bottom:1px solid var(--line)}
  .p-grid{grid-template-columns:1fr;gap:32px}
  .p-ui{position:static}
  .season-grid{grid-template-columns:1fr;gap:18px;align-content:start;padding-top:20px}
  .demo{grid-template-columns:1fr;gap:32px;padding-top:calc(var(--nav-h) + 32px)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .side{display:none}
  .main{padding:14px}
  .top .srch{display:none}
  .kpis{gap:6px}.kpi{padding:9px 10px}.kpi b{font-size:22px}.kpi small{font-size:12px}
  .rw{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 6px}
  .rw .bar{grid-column:1/-1;grid-row:2}
  .rw .wh{display:none}
  .det{grid-template-columns:1fr;padding:12px;gap:10px;align-content:start}
  .tl h4{font-size:16px}.tl>small{margin-bottom:6px}.ev{padding:6px 0;font-size:13px}
  .sheet{width:118px;font-size:9.5px;padding:10px}.sheet b{font-size:11px}
}
@media (max-width:640px){
  :root{--gut:18px}
  .copy{top:calc(var(--nav-h) + 4vh)}
  .copy .h1{font-weight:700}
  .hwin{width:calc(100vw - 20px);height:calc(100svh - 170px)}
  .sc-head .lnk{display:none}
  .sc-head .label{display:none}
  .sc-head h2{font-size:28px}
  .sc-chips{margin:14px calc(-1 * var(--gut)) 12px;padding:0 var(--gut)}
  .area{padding:20px;border-radius:16px}
  .a-txt h3{font-size:26px;margin-bottom:6px}
  .a-n{margin-bottom:6px}
  .a-ui{padding:14px;gap:8px}
  .ui-row{padding:9px 10px;font-size:13.5px}
  .fb{grid-template-columns:1fr}.fb-pal{display:none}
  .control{grid-template-columns:1fr}
  .control div{border-right:0;border-bottom:1px solid var(--line)}
  .control div:last-child{border-bottom:0}
  .method{grid-template-columns:1fr 1fr}
  .secu{grid-template-columns:1fr}
  .cmp-out{grid-template-columns:1fr;padding:20px}
  .cmp-ctl{padding:20px}
  .caps{grid-template-columns:1fr}
  .letter{font-size:17px}
  .s-copy h1:not(.label):not(.badge),
  .s-copy .hx{font-size:42px}
  .form{padding:20px}.form .f2{grid-template-columns:1fr}
  .ppl{gap:4px}.pp{font-size:12.5px;padding:7px 2px}
  .scaps p{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
.sb-t{font-size:clamp(24px,2.6vw,32px);margin-bottom:18px}
.uses .use h3{font-size:19px}
.caps ul[data-secu]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 32px}
.caps:has(ul[data-secu]){grid-template-columns:1fr !important}
@media (max-width:900px){.caps ul[data-secu]{grid-template-columns:1fr}}
.s-hero .pin{padding-top:0}
.btn{white-space:nowrap}
.s-doc .paper{aspect-ratio:auto;padding-bottom:34%}
@media (max-width:760px){
  .nav .btn-sm{padding:0 12px;font-size:13.5px;min-height:34px}
  .det .paper{font-size:11px}
  .det .paper p:nth-of-type(3){display:none}
  .det .paper{padding-bottom:26%}
  .det .ink{bottom:9%}
  .s-doc .paper{font-size:11.5px;padding:6% 6% 34%}
  .copy .row-b .btn{padding:0 14px;font-size:16px}
}
.s-doc .fld.done{color:transparent}
.stamp{top:3%;right:5%;font-size:20px}
@media (max-width:760px){.det .paper{height:260px;max-height:none}}
/* ---------- revisión móvil ---------- */
@media (max-width:900px){
  .p-grid,.area,.uses,.sectors,.others,.plans,.cmp,.season-grid{grid-template-columns:minmax(0,1fr)}
  .caps{grid-template-columns:minmax(0,1fr)}
  .p-sec{padding:64px 0}
  .p-ui .a-ui{min-height:0}
}
@media (max-width:640px){
  .copy .label::before,.s-copy .label::before{display:none}
  .copy .label,.s-copy .label{margin-bottom:12px}
  .branch{grid-template-columns:1fr}
  .node{font-size:13.5px;padding:9px 10px}
  .node .pill{font-size:12px;padding:3px 8px}
  .ui-row .pill{font-size:12px;padding:3px 8px}
  .a-ui .ui-row small{font-size:12.5px}
  .area .a-ui{max-height:none}
  .method li{padding-right:12px}
  .p-hero{padding:calc(var(--nav-h) + 48px) 0 40px}
  .areas-sum a{padding:16px}
  .sec-2 .head,.sec .head{margin-bottom:32px}
}
.ev small{font-size:13px}
.ui-row>span:not(.pill):not(.av){flex:1;min-width:0}
@media (max-width:640px) and (max-height:700px){.a-txt>p{display:none}.a-n{display:none}}

/* cabecera: entrar y firmar gratis */
.nav-links{margin-right:auto}
.menu-foot{display:grid;gap:10px}

/* ---------- entrar ---------- */
.login{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;padding-top:var(--nav-h)}
.lg-side{border-right:1px solid var(--line);padding:clamp(32px,6vw,80px);display:flex;flex-direction:column;justify-content:center;gap:22px}
.lg-side h2{font-size:clamp(30px,3.4vw,44px)}
.lg-side p{color:var(--tx2);font-size:18px}
.lg-side .tip{border:1px solid var(--line2);border-radius:14px;padding:18px;background:var(--win)}
.lg-side .tip b{display:block;margin-bottom:4px}
.lg-main{display:flex;align-items:center;justify-content:center;padding:40px var(--gut)}
.lg-card{width:min(420px,100%);display:grid;gap:14px}
.lg-card h1{font-size:32px;letter-spacing:-.04em;margin-bottom:6px}
.lg-card>p{color:var(--tx2);margin-bottom:8px}
.sso{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--tx);font-weight:600;font-size:16px}
.sso:hover{background:rgba(255,255,255,.05)}
.sso i{width:20px;height:20px;border-radius:4px;flex:none}
.sso .g{background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);border-radius:50%}
.sso .m{background:linear-gradient(90deg,#f25022 50%,#7fba00 50%) top/100% 50% no-repeat,linear-gradient(90deg,#00a4ef 50%,#ffb900 50%) bottom/100% 50% no-repeat}
.or{display:flex;align-items:center;gap:12px;color:var(--mu);font-size:14px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line2)}
.lg-card label{display:grid;gap:7px;font-size:14px;font-weight:500;color:var(--tx2)}
.lg-card input{font:inherit;font-size:17px;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;color:var(--tx);min-height:50px}
.lg-card input:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.lg-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--tx2)}
.lg-row a{color:#9db0ff}
.lg-card .btn{min-height:52px;width:100%}
.lg-msg{font-size:14px;color:var(--wait);background:var(--wait-soft);border-radius:10px;padding:10px 12px;display:none}
.lg-foot{font-size:14.5px;color:var(--tx2);text-align:center;margin-top:8px}
.lg-foot a{color:#9db0ff}
@media (max-width:900px){.login{grid-template-columns:1fr}.lg-side{order:2;border-right:0;border-top:1px solid var(--line)}}

/* ---------- firmar gratis ---------- */
.fr-hero{padding:calc(var(--nav-h) + 64px) 0 36px;text-align:center}
.fr-hero h1:not(.label):not(.badge),
.fr-hero .hx{font-size:clamp(40px,6vw,76px);letter-spacing:-.05em}
.fr-hero p{color:var(--tx2);font-size:clamp(17px,1.7vw,21px);max-width:640px;margin:18px auto 0}
.tool{max-width:1000px;margin:0 auto 100px;overflow:hidden}
.t-steps{display:grid;border-bottom:1px solid var(--line)}
.t-steps div{display:flex;gap:10px;align-items:center;font-weight:600;color:var(--mu)}
.t-steps b{border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;flex:none}.t-steps .on b{background:#fff;border-color:#fff}
.t-pane{padding:24px}
.drop{border:1.5px dashed var(--line2);border-radius:14px;text-align:center;display:grid;gap:12px;justify-items:center;cursor:pointer;transition:border-color .2s,background .2s}
.drop.over,.drop:hover{border-color:var(--acc);background:var(--acc-soft)}
.drop svg{stroke:var(--tx2);fill:none;stroke-width:1.6}
.t-alt{text-align:center;margin-top:14px;color:var(--tx2)}
.t-alt button{background:none;border:0;font-weight:600;padding:6px}
.t-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.t-bar .hint{color:var(--mu);margin-left:auto}
.pages{display:grid;gap:16px;justify-items:center;background:#0e1014;border-radius:12px;padding:16px}
.pg{position:relative;background:#fff;box-shadow:none;max-width:100%;touch-action:pan-y}
.pg canvas{display:block;width:100%;height:auto}
.pg.armed{outline:2px dashed var(--acc);outline-offset:3px}
.ov{position:absolute;touch-action:none;cursor:move}
.ov img{width:100%;height:100%;display:block;pointer-events:none}
.ov .tx{display:block;font:500 14px Onest,sans-serif;color:#111;white-space:nowrap;line-height:1;pointer-events:none}
.ov .del{position:absolute;border-radius:50%;border:0;background:#0b0d11;color:#fff;display:none;padding:0}
.ov .rs{position:absolute;border-radius:50%;background:var(--acc);border:2px solid #fff;display:none;touch-action:none;cursor:nwse-resize}
.ov.sel .del,.ov.sel .rs{display:block}
.t-next{display:flex;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}
.sigm{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.sigm.on{opacity:1;visibility:visible;transition:opacity .2s}
.sigm-box{background:var(--win);border:1px solid var(--line2);border-radius:18px;width:min(560px,100%);padding:22px;display:grid;gap:14px}
.sigm-box h3{font-size:22px}
.sigm-box p{color:var(--tx2);font-size:15px}
.spad{height:220px;border-radius:12px;background:#fff;position:relative;touch-action:none}
.spad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.spad::after{content:"";position:absolute;left:24px;right:24px;bottom:54px;border-top:1px solid #c8cbd2;pointer-events:none}
.sigm-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:760px){
  .t-steps div{padding:12px 8px;font-size:13.5px;gap:6px}
  .t-steps b{width:22px;height:22px;font-size:12px}
  .t-pane{padding:14px}
  .drop{padding:36px 14px}
  .t-bar .hint{margin-left:0;width:100%}
  .pages{padding:8px;max-height:62svh}
}

/* =========================================================
   v9 · CLARO, CÁLIDO Y GRANDE (modelo zernio, pensado para personas mayores)
   ========================================================= */
:root{
  --bg:#f5f2ec; --bg2:#ece7de; --win:#ffffff; --win2:#f7f5f0; --line:rgba(30,25,15,.09); --line2:rgba(30,25,15,.16);
  --tx:#1d1c1a; --tx2:#47443e; --mu:#6b6760;
  --acc:#2448ff; --acc-d:#1a37d6; --acc-soft:rgba(36,72,255,.10);
  --ok:#0f7a4f; --ok-soft:#dff3e8; --wait:#8a5200; --wait-soft:#fdeed3; --bad:#b4321b; --bad-soft:#fbe4de;
}
html,body{background:var(--bg)}
body{font-size:18px;color:var(--tx)}
.btn-lg{min-height:60px;padding:0 30px;font-size:19px}
.nav-links a{font-size:16px}
.label::before{display:none}
.bar{background:var(--bg2)}
.lv em,.cmp-col.us b,.lg-row a,.lg-foot a{color:var(--acc)}
.p-nav{background:rgba(245,242,236,.92)}
.side a.on{background:var(--win2)}
.win{box-shadow:none}
.foot{background:var(--bg2)}

/* --- franja de aviso arriba (como zernio) --- */

/* --- portada sencilla --- */
.home-hero{padding:calc(var(--nav-h) + 56px) 0 40px;text-align:center}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:7px 14px;font-size:15px;font-weight:600;margin-bottom:22px}
.badge i{width:9px;height:9px;border-radius:50%;background:var(--ok)}
.home-hero h1:not(.label):not(.badge),
.home-hero .hx{font-size:clamp(44px,7.2vw,96px);letter-spacing:-.05em;line-height:1;max-width:980px;margin:0 auto}
.home-hero h1:not(.label):not(.badge) .sw,
.home-hero .hx .sw{position:relative;white-space:nowrap}
.home-hero h1:not(.label):not(.badge) .sw svg,
.home-hero .hx .sw svg{position:absolute;left:-2%;width:104%;bottom:-.16em;height:.4em;overflow:visible}
.home-hero h1:not(.label):not(.badge) .sw path,
.home-hero .hx .sw path{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;animation:swd 1.3s .5s cubic-bezier(.5,0,.2,1) forwards}
@keyframes swd{to{stroke-dashoffset:0}}
.home-hero .sub{font-size:clamp(19px,2vw,24px);color:var(--tx2);max-width:640px;margin:22px auto 0;line-height:1.45}
.home-tool{max-width:900px;margin:40px auto 0;text-align:left}
.home-tool .tool{margin-bottom:0}
.reassure{display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;margin-top:22px;font-size:16px;color:var(--tx2)}
.reassure span::before{content:"✓ ";font-weight:700}
/* herramienta grande y clara */
.tool{border:1.5px solid var(--line2);background:#fff;border-radius:22px}
.t-steps div{font-size:17px;padding:16px 18px}
.t-steps b{width:32px;height:32px;font-size:15px}
.t-steps .on{color:var(--tx)}
.drop{border:2.5px dashed #b8bfd8;padding:52px 20px}
.drop svg{width:56px;height:56px;stroke:var(--acc)}
.drop b{font-size:26px;letter-spacing:-.02em}
.drop span{font-size:17px}
.drop .btn{pointer-events:none;margin-top:6px}
.t-alt{font-size:17px}
.t-alt button{color:var(--acc);font-size:17px}
.t-bar .btn{min-height:54px;font-size:17px}
.t-bar .hint{color:var(--tx2)}
.t-next .btn{min-height:56px;font-size:18px}
.sigm-box .btn{min-height:54px;font-size:17px}
.ov .rs{width:26px;height:26px;right:-13px;bottom:-13px}
.ov .del{width:30px;height:30px;font-size:17px;top:-15px;right:-15px}
/* --- dos caminos grandes --- */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.path{background:#fff;border:1.5px solid var(--line2);border-radius:22px;padding:34px;display:flex;flex-direction:column;gap:14px}
.path .ico{width:64px;height:64px;border-radius:18px;background:var(--acc-soft);display:grid;place-items:center;font-size:30px}
.path h3{font-size:30px}
.path p{font-size:18px;color:var(--tx2)}
.path ol{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:s}
.path li{display:flex;gap:14px;align-items:flex-start;font-size:18px}
.path li::before{counter-increment:s;content:counter(s);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.path .btn{align-self:flex-start;margin-top:auto}
/* --- teléfono grande para quien firma --- */
.easy{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.easy h2{font-size:clamp(34px,4.6vw,58px)}
.easy .big-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px}
.easy .big-list li{font-size:20px;display:flex;gap:14px;align-items:flex-start}
.easy .big-list li b{font-size:20px}
.easy .big-list li::before{content:"✓";width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none}
.bigphone{width:340px;height:700px;border-radius:52px;border:12px solid #1d1c1a;margin:0 auto;position:relative;overflow:hidden}
.bigphone::before{content:"";position:absolute;top:10px;left:50%;width:100px;height:28px;margin-left:-50px;border-radius:16px;z-index:2}
.bp-in{position:absolute;inset:0;padding:56px 20px 22px;display:flex;flex-direction:column;gap:14px}
.bp-from{display:flex;gap:12px;align-items:center}
.bp-from .av{width:46px;height:46px;font-size:15px}
.bp-from b{display:block;font-size:18px}
.bp-from span{font-size:15px;color:var(--mu)}
.bp-in h4{font-size:26px;letter-spacing:-.03em;line-height:1.15}
.bp-in p{font-size:18px;color:var(--tx2)}
.bp-doc{border:1.5px solid var(--line2);border-radius:14px;padding:16px;font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.bp-doc span{color:var(--acc);font-weight:700}
.bp-btn{margin-top:auto;min-height:64px;border-radius:16px;background:var(--acc);color:#fff;font-size:21px;font-weight:700;display:grid;place-items:center}
.bp-help{text-align:center;font-size:15px;color:var(--mu)}
/* --- precios tipo zernio --- */
.pnotes{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:22px;font-size:16px;color:var(--tx2)}
.pnotes span::before{content:"✓ ";color:var(--ok);font-weight:700}
@media (max-width:900px){.paths,.easy{grid-template-columns:1fr}.easy{gap:36px}}
@media (max-width:640px){
  body{font-size:17px}
  .home-hero{padding-top:calc(var(--nav-h) + 28px)}
  .home-hero h1:not(.label):not(.badge),
  .home-hero .hx{font-size:44px}
  .home-hero .sub{font-size:19px}
  .home-tool{margin-top:28px}
  .t-steps div{font-size:15px;padding:12px 8px;justify-content:center}
  .drop{padding:34px 14px}
  .drop b{font-size:23px}
  .path{padding:24px}
  .path h3{font-size:26px}
  .bigphone{width:310px;height:640px}
}

.lg-wrap{width:min(440px,100%);display:grid;gap:22px}
.lg-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:14px;padding:5px}
.lg-tabs button{border:0;background:none;border-radius:10px;min-height:50px;font-size:17px;font-weight:600;color:var(--tx2)}
.lg-card input{background:#fff}
.pages{max-height:none !important;overflow:visible}

/* =========================================================
   v10 · vuelven los colores de la v8 (oscuro + cobalto), con la estructura sencilla y grande de la v9
   ========================================================= */
:root{
  --bg:#0b0d11; --bg2:#101318; --win:#14171d; --win2:#191d24; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --tx:#eef0f4; --tx2:#b9bec9; --mu:#9298a7;
  --acc:#4466ff; --acc-d:#3352e6; --acc-soft:rgba(68,102,255,.16);
  --ok:#3ccf98; --ok-soft:rgba(60,207,152,.14); --wait:#f2b450; --wait-soft:rgba(242,180,80,.14); --bad:#ff7a66; --bad-soft:rgba(255,122,102,.14);
}
html,body{background:var(--bg)}
.btn{background:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.06)}
.label{color:#8fa3ff}
.sc-chips button[aria-selected=true],.days div.on,.p-nav a.on,.bill-sw button[aria-pressed=true]{background:#fff;border-color:#fff}
.p-a{color:#9db0ff}
.p-n{background:rgba(255,255,255,.07)}
.lv em,.cmp-col.us b,.lg-row a,.lg-foot a{color:#9db0ff}
.p-nav{background:rgba(11,13,17,.88)}
.top .nb{background:#fff}
.logo-xl{color:#fff}
.foot{background:var(--bg)}
.sigm-box{background:var(--win)}
/* portada sencilla, en oscuro */
.badge{background:var(--win)}
.home-hero h1:not(.label):not(.badge) .sw path,
.home-hero .hx .sw path{stroke:var(--acc)}
.tool{background:var(--win);border-color:var(--line2)}
.drop svg{stroke:#8fa3ff}
.drop span{color:var(--tx2)}
.t-alt button{color:#9db0ff}
.pages{background:#0e1014}
.path{background:var(--win);border-color:var(--line2)}
.path li::before{background:#fff}
.bigphone{background:#fff;color:#1d1c1a}
.bp-in p,.bp-from span,.bp-help{color:#5b5953}
.bp-in .av{background:#e4e9ff;color:#1a37d6}
.bp-doc{border-color:#d9d6cf;color:#1d1c1a}
.bp-doc span{color:#2448ff}
.bp-btn{background:#2448ff}
.easy .big-list li::before{background:var(--ok-soft);color:var(--ok)}
.lg-tabs button[aria-pressed=true]{color:#0b0d11;box-shadow:none}
.lg-card input{background:var(--bg2)}
.letter{outline:none}
/* filas que se deslizan: nunca un botón cortado contra el borde */
.sc-chips{padding-left:22px;padding-right:22px;margin-left:-22px;margin-right:-22px}
@media (max-width:640px){.sc-chips{margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));padding-left:var(--gut);padding-right:var(--gut)}}
/* ---------- enviar a firmar ---------- */
.ov.field{background:rgba(68,102,255,.14);border:2px dashed #4466ff;border-radius:6px;display:grid;place-items:center}
.ov.field .fl{font:700 13px Onest,sans-serif;color:#1a37d6;pointer-events:none;text-align:center}
.ov.field.sel{border-style:solid}
.sendform{display:grid;gap:18px}
.sendform fieldset{border:1px solid var(--line2);border-radius:14px;padding:18px;margin:0;display:grid;gap:12px}
.sendform legend{font-weight:700;font-size:18px;padding:0;float:left;width:100%;margin:0;line-height:1.3}
.sendform legend+*{clear:both}
.sendform legend small,.sendform label small{font-weight:400;color:var(--mu);font-size:14px}
.sendform label{display:grid;gap:7px;font-size:15px;color:var(--tx2)}
.sendform input,.sendform textarea{font:inherit;font-size:17px;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;background:var(--bg2);color:var(--tx);min-height:52px}
.sendform textarea{min-height:90px;resize:vertical}
.sendform input:focus,.sendform textarea:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.err{grid-column:1/-1;color:var(--bad);background:var(--bad-soft);border-radius:10px;padding:12px 14px}
.sent{text-align:center;padding:30px 10px;display:grid;gap:12px;justify-items:center}
.sent h2{font-size:36px}
.sent p{font-size:19px;color:var(--tx2);max-width:560px}
.ok-big{width:84px;height:84px;border-radius:50%;background:var(--ok);color:#06150e;font-size:44px;font-weight:800;display:grid;place-items:center}
.ok-big.bad{background:var(--bad)}
@media (max-width:760px){.sendform{grid-template-columns:1fr}}
/* ---------- página de quien firma (muy sencilla) ---------- */
body.pg-firma .nav-links,body.pg-firma .burger,body.pg-firma .foot{display:none}
body.pg-firma main{padding-top:0}
body.pg-firma .nav{top:0}
.signer{padding:calc(var(--nav-h) + 28px) 0 140px}
.sg-head{max-width:760px;margin:0 auto 22px}
.sg-head h1{font-size:clamp(34px,5vw,48px);letter-spacing:-.04em}
.sg-head>p{font-size:21px;color:var(--tx2);margin-top:10px;line-height:1.45}
.sg-msg{border:1px solid var(--line2);border-radius:14px;padding:14px 16px;font-style:italic}
.sg-steps{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:s}
.sg-steps li{display:flex;gap:12px;align-items:center;font-size:19px}
.sg-steps li::before{counter-increment:s;content:counter(s);width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.sg-where{margin-top:18px;background:none;border:0;color:#9db0ff;font-size:18px;font-weight:600;padding:8px 0}
.signer .pages{max-width:800px;margin:0 auto}
.sg-field{position:absolute;background:#fff3b0;outline:2.5px solid #e2b500;border-radius:6px;display:grid;place-items:center;cursor:pointer;animation:sgp 1.6s ease-in-out infinite}
.sg-field span{font:800 15px Onest,sans-serif;color:#6b5100}
.sg-field.sg-ok{background:transparent;outline:1.5px dashed #9aa0ad;animation:none}
.sg-field img{max-width:100%;max-height:100%}
@keyframes sgp{50%{background:#ffe680}}
.sg-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:14px 16px calc(14px + env(safe-area-inset-bottom));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center}
.sg-bar .btn{width:min(520px,100%);min-height:66px;font-size:23px;border-radius:18px}
.sg-state{max-width:640px;margin:8vh auto 0;text-align:center;display:grid;gap:14px;justify-items:center}
.sg-state h1{font-size:clamp(32px,5vw,46px);letter-spacing:-.04em}
.sg-state p{font-size:20px;color:var(--tx2)}
[hidden]{display:none !important}

/* la herramienta, ahora debajo de la escena de los papeles */
.hero .copy{top:calc(var(--nav-h) + 38px + 4vh)}
body.past .hero .copy{top:calc(var(--nav-h) + 4vh)}
@media (max-width:640px){.copy .row-b{flex-direction:column;align-items:stretch}.copy .row-b .btn{flex:none;min-height:56px}}
.nav-links a,.nav .btn{white-space:nowrap}

/* ---------- cabecera limpia (v11) ---------- */
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.nav-links{margin:0;justify-content:center;gap:6px;align-items:center}
.nav-links>a,.dd-btn{font-size:15.5px;font-weight:500;color:var(--tx2);padding:9px 14px;border-radius:999px;white-space:nowrap;transition:color .2s,background .2s;background:none;border:0;display:inline-flex;align-items:center;gap:6px}
.nav-links>a:hover,.dd-btn:hover,.dd.open .dd-btn{color:var(--tx);background:rgba(255,255,255,.06)}
.nav-links>a[aria-current]{color:var(--tx)}
.dd{position:relative}
.dd-btn svg{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);width:320px;background:var(--win);border:1px solid var(--line2);border-radius:16px;padding:8px;display:grid;gap:2px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s .2s}
.dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
.dd-menu a{display:block;padding:12px 14px;border-radius:10px}
.dd-menu a:hover,.dd-menu a[aria-current]{background:var(--win2)}
.dd-menu b{display:block;font-size:15.5px;font-weight:600}
.dd-menu span{display:block;font-size:14px;color:var(--mu);margin-top:2px}
.nav-end{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.nav-end .btn-sm{min-height:40px;padding:0 18px;font-size:15px}
body main{padding-top:0}
@media (max-width:1040px){
  .nav-in{display:flex}
  .nav-links{display:none}
  .nav-end{margin-left:auto;gap:8px}
}
.menu{overflow-y:auto;justify-content:flex-start;gap:24px}
.menu nav a{font-size:21px;padding:13px 0}
.menu-foot{padding-bottom:24px}

/* ---------- final de «Firmar gratis»: descargar o enviar ---------- */
.end{max-width:680px;margin:0 auto;display:grid;gap:18px;text-align:center}
.end-ok{display:inline-flex;align-items:center;gap:10px;justify-self:center;font-weight:700;border-radius:999px;padding:9px 16px 9px 9px;font-size:17px}
.end-ok span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:15px}
.end-q{font-size:clamp(26px,3.4vw,36px)}
.end-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{background:var(--bg2);border:1.5px solid var(--line2);border-radius:20px;padding:28px 18px;display:grid;justify-items:center;gap:8px;color:var(--tx);transition:border-color .2s,background .2s}
.choice svg{width:44px;height:44px;fill:none;stroke:#8fa3ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.choice b{font-size:23px;letter-spacing:-.02em}
.choice span{font-size:16px;color:var(--tx2)}
.mailform{display:grid;gap:14px;text-align:left;border:1px solid var(--line2);border-radius:18px;padding:20px}
.mailform label{display:grid;gap:7px;font-size:16px;color:var(--tx2)}
.mailform small{color:var(--mu)}
.mailform input,.mailform textarea{font:inherit;font-size:18px;border:1px solid var(--line2);border-radius:12px;padding:13px 14px;background:var(--win);color:var(--tx);min-height:54px}
.mailform textarea{min-height:84px;resize:vertical}
.mailform input:focus,.mailform textarea:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.mailform .btn{width:100%}
.end-done{display:flex;gap:12px;align-items:center;text-align:left;background:var(--ok-soft);border-radius:16px;padding:16px 18px;font-size:18px}
.end-done span{width:34px;height:34px;border-radius:50%;background:var(--ok);color:#06150e;display:grid;place-items:center;font-weight:800;flex:none}
.end-name{font-size:14px;color:var(--mu)}
@media (max-width:560px){.end-choices{grid-template-columns:1fr}.choice{padding:22px 16px;grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:14px}.choice svg{grid-row:span 2;width:40px;height:40px}}

/* =========================================================
   v12 · BLANCO (mismo diseño, fondo blanco y azul cobalto)
   ========================================================= */
:root{
  --bg:#ffffff; --bg2:#f5f6f8; --win:#ffffff; --win2:#f3f4f7; --line:#e6e8ee; --line2:#d5d9e2;
  --tx:#14161b; --tx2:#454b58; --mu:#6a7080;
  --acc:#2448ff; --acc-d:#1a37d6; --acc-soft:#ebefff;
  --ok:#0f7a4f; --ok-soft:#e1f4ea; --wait:#8a5200; --wait-soft:#fdf0d8; --bad:#b4321b; --bad-soft:#fce6e1;
}
html,body{background:#fff;color:var(--tx)}
.btn{background:var(--tx);color:#fff}.btn:hover{background:#000}
.btn-acc{background:var(--acc);color:#fff}.btn-acc:hover{background:var(--acc-d)}
.btn-ghost{background:#fff;color:var(--tx);box-shadow:inset 0 0 0 1.5px var(--line2)}.btn-ghost:hover{background:var(--bg2)}
.nav.solid{background:rgba(255,255,255,.92);border-bottom-color:var(--line)}
.nav-links>a:hover,.dd-btn:hover,.dd.open .dd-btn{background:var(--bg2)}
.dd-menu{background:#fff}
.label{color:var(--acc)}
.logo-xl{color:var(--tx)}
.copy .h1 .muted{color:#a2a8b5}
.sec-2{background:var(--bg2);border-color:var(--line)}
.foot{background:#fff}
/* escena de los papeles: app blanca, papeles con borde */
.win{background:#fff;border-color:var(--line2)}
.win-bar i{background:#e3e6ec}
.side{background:#fafbfc}
.side a.on{background:#eef1f6}
.kpi{background:var(--bg2);border-color:var(--line)}
.bar{background:#e9ecf2}
.fi{border:1px solid var(--line2);background:#fff}
.rw.hl{background:#f3f5f9}
.top .nb{background:var(--tx);color:#fff}
.top .srch{border-color:var(--line2)}
.sheet{border:1px solid #d9dde5}
.det{background:#fff}
.det .paper{outline:1px solid var(--line2)}
.hcap p{background:var(--tx);color:#fff}
.av{background:#e8edff;color:#1a37d6}.av.g{background:#e1f4ea;color:#0f7a4f}.av.o{background:#fdf0d8;color:#8a5200}.av.p{background:#f4e6fa;color:#7a2c95}
.p-a{background:var(--acc-soft);color:var(--acc)}.p-n{background:var(--bg2);color:var(--tx2)}
.p-o{background:var(--ok-soft);color:var(--ok)}.p-w{background:var(--wait-soft);color:var(--wait)}
/* chips, pestañas, días */
.sc-chips button{background:#fff;border-color:var(--line2);color:var(--tx2)}
.sc-chips button[aria-selected=true],.days div.on,.p-nav a.on,.bill-sw button[aria-pressed=true]{background:var(--tx);color:#fff;border-color:var(--tx)}
.days div.on b{color:#fff}
.p-nav{background:rgba(255,255,255,.94)}
/* tarjetas y bloques */
.area,.lv,.plan,.use,.control,.cmp,.others a,.areas-sum a,.scard,.tool,.path{background:#fff;border-color:var(--line2)}
.a-ui{background:var(--bg2);border-color:var(--line)}
.ui-row,.node,.fx div,.cmp-col{background:#fff;border-color:var(--line)}
.cmp-out{background:var(--bg2)}
.cmp-col.us b,.lv em,.lg-row a,.lg-foot a,.t-alt button,.sg-where{color:var(--acc)}
.a-list li::before{background:var(--acc-soft) center/9px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%232448ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.letter{outline:1px solid var(--line2);box-shadow:none}
.bigphone{border-color:#14161b}
.bigphone::before{background:#14161b}
/* herramienta Firmar gratis */
.badge{background:#fff;border-color:var(--line2);color:var(--tx2)}
.drop{background:#f6f8ff;border-color:#b9c4f2}
.drop svg,.choice svg{stroke:var(--acc)}
.pages{background:var(--bg2)}
.pg{outline:1px solid var(--line2)}
.choice{background:#fff;border-color:var(--line2)}
.choice:hover{background:var(--acc-soft);border-color:var(--acc)}
.mailform{background:var(--bg2);border-color:var(--line2)}
.mailform input,.mailform textarea,.sendform input,.sendform textarea,.form input,.form select,.lg-card input{background:#fff;color:var(--tx);border-color:var(--line2)}
.sendform fieldset{border-color:var(--line2)}
.path li::before{background:var(--tx);color:#fff}
.end-ok span,.ok-big{color:#fff}
.t-steps .on b{background:var(--acc);border-color:var(--acc);color:#fff}
.sigm{background:rgba(20,22,27,.5)}
.sigm-box{background:#fff;border-color:var(--line2)}
/* páginas */
.lg-side{background:var(--bg2)}
.lg-tabs{background:var(--bg2)}
.lg-tabs button[aria-pressed=true]{background:#fff;color:var(--tx);box-shadow:0 0 0 1px var(--line2)}
.sg-steps li::before{background:var(--tx);color:#fff}
.sg-bar{background:rgba(255,255,255,.95);border-top-color:var(--line)}
.sg-msg{background:var(--bg2);border-color:var(--line)}
.menu{background:#fff}
.form{background:var(--bg2);border-color:var(--line2)}
.drop .btn,.drop span.btn{color:#fff}

/* campos para que rellene la otra persona */
.fadd{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.fadd button{min-height:48px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font-size:16px;font-weight:600;color:var(--tx)}
.fadd button.on{background:var(--acc);color:#fff}
.ov.field.f-text,.ov.field.f-date{background:rgba(15,122,79,.10);border-color:#0f7a4f}
.ov.field.f-text .fl,.ov.field.f-date .fl{color:#0b5e3c}
.ov.field.f-check{background:rgba(138,82,0,.12);border-color:#8a5200}
.ov.field.f-check .fl{color:#8a5200;font-size:14px}

/* quien firma: datos para rellenar */
.fill{max-width:760px;margin:0 auto 22px;background:var(--bg2);border:1.5px solid var(--line2);border-radius:20px;padding:22px}
.fill h2{font-size:26px;letter-spacing:-.03em}
.fill>p{color:var(--tx2);margin:4px 0 16px;font-size:17px}
.fill-list{display:grid;gap:14px}
.fill-row{display:grid;gap:7px;font-size:18px;font-weight:600}
.fill-row input{font:inherit;font-weight:400;font-size:20px;min-height:60px;border:2px solid var(--line2);border-radius:14px;padding:12px 16px;background:#fff;color:var(--tx)}
.fill-row input:focus{outline:3px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.fill-check{display:flex;align-items:center;gap:14px;font-size:19px;background:#fff;border:2px solid var(--line2);border-radius:14px;padding:14px 16px;min-height:60px}
.fill-check input{width:30px;height:30px;accent-color:var(--acc);flex:none}
.fill-err{max-width:760px;margin:0 auto 16px;background:var(--bad-soft);color:var(--bad);border-radius:12px;padding:12px 16px;font-size:18px;font-weight:600}
.sg-field.sg-data{background:rgba(15,122,79,.10);outline:2px dashed #0f7a4f;animation:none}
.sg-field.sg-data span{color:#0b5e3c;font:600 12px Onest,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}
.sg-field.sg-data.has{background:rgba(255,255,255,.6);outline:1px dashed #9aa0ad}
.sg-field.sg-data.has span{color:#111;font-weight:500;font-size:12.5px}
.sg-field.t-check span{font-size:15px}
/* etiquetas de los datos: una línea, pequeñas, nunca se salen */
.ov.field.f-text .fl,.ov.field.f-date .fl{font-size:10.5px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:94%}
.sg-field.sg-data span{line-height:1}
/* landing Firmar gratis */
.fr-top .home-tool{scroll-margin-top:calc(var(--nav-h) + 12px)}
.head.c .lead{max-width:620px;margin:14px auto 0;font-size:19px;color:var(--tx2)}
/* precio único */
.uprice{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;max-width:900px;margin:0 auto;align-items:start}
.up-card{background:#fff;text-align:left;color:var(--tx);border:1.5px solid var(--line2);border-radius:22px;padding:32px;display:flex;flex-direction:column;gap:14px}
.up-card.main{border:2px solid var(--acc)}
.up-card h3{font-size:26px}
.up-who{color:var(--tx2);font-size:17px;margin-top:-8px}
.up-price{display:flex;align-items:baseline;gap:10px}
.up-price b{font-size:56px;letter-spacing:-.04em;line-height:1}
.up-price span{font-size:18px;color:var(--tx2)}
.up-yr{font-size:16px;color:var(--tx2);margin-top:-4px}
.up-card ul{list-style:none;padding:0;margin:4px 0;display:grid;gap:10px}
.up-card li{font-size:17px;padding-left:28px;position:relative}
.up-card li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.up-card .btn{align-self:stretch;justify-content:center;margin-top:6px}
.up-small{font-size:15px;color:var(--mu);text-align:center}
#precio .price-note a{color:var(--acc)}
@media (max-width:760px){.uprice{grid-template-columns:1fr}.up-card{padding:24px}.up-card.main{order:-1}.up-price b{font-size:48px}}

h1.label{letter-spacing:normal;line-height:inherit;font-weight:600}
.copy .h1{color:var(--tx);margin:0 auto}
/* guías */
.g-art{padding:calc(var(--nav-h) + 40px) 0 72px}
.g-wrap{max-width:740px;margin:0 auto;padding:0 var(--gut)}
.g-wrap.g-wide{max-width:1040px}
.g-crumbs{font-size:15px;color:var(--mu);margin-bottom:18px}
.g-crumbs a{color:var(--tx2)}
.g-art h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.045em;line-height:1.05}
.g-intro{font-size:clamp(19px,2vw,22px);color:var(--tx2);line-height:1.5;margin-top:18px}
.g-meta{font-size:15px;color:var(--mu);margin:16px 0 8px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.g-body{font-size:18px;line-height:1.65;color:var(--tx)}
.g-body h2,.g-faqh,.g-rel h2{font-size:clamp(26px,3vw,32px);letter-spacing:-.03em;margin:44px 0 14px}
.g-body p{margin:0 0 16px}
.g-body a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.g-body ul{padding-left:22px;margin:0 0 16px;display:grid;gap:8px}
.g-steps{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:14px;counter-reset:g}
.g-steps li{position:relative;padding-left:52px;min-height:36px}
.g-steps li::before{counter-increment:g;content:counter(g);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--tx);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}
.g-cta{margin:32px 0;background:var(--acc-soft);border-radius:20px;padding:26px}
.g-cta b{display:block;font-size:22px;letter-spacing:-.02em}
.g-cta p{color:var(--tx2);margin:6px 0 16px}
.g-cta .btn{text-decoration:none;color:#fff}
.g-table{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 18px;display:block;overflow-x:auto}
.g-table th,.g-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}
.g-table th{font-weight:600;background:var(--bg2)}
.g-model{background:var(--bg2);border:1.5px solid var(--line2);border-radius:16px;padding:22px;font-size:17px;margin:0 0 14px}
.g-note{font-size:15px;color:var(--mu)}
.g-faqh{margin-top:48px}
.g-rel{margin-top:40px}
.g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:28px}
.g-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1.5px solid var(--line2);border-radius:18px;padding:22px;color:var(--tx);text-decoration:none}
.g-card:hover{border-color:var(--acc)}
.g-card small{font-size:14px;font-weight:600;color:var(--acc)}
.g-card b{font-size:20px;letter-spacing:-.02em;line-height:1.25}
.g-card span{font-size:16px;color:var(--tx2)}
.g-more{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:28px;font-size:17px}
.g-more a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){
  .g-table,.g-table tbody,.g-table tr,.g-table td{display:block;width:100%}
  .g-table thead{display:none}
  .g-table tr{border:1.5px solid var(--line2);border-radius:14px;padding:6px 14px;margin-bottom:12px}
  .g-table td{border:0;padding:8px 0;min-width:0}
  .g-table td:first-child{font-weight:700;font-size:18px}
  .g-table td:not(:first-child)[data-l]:not([data-l=""])::before{content:attr(data-l);display:block;font-size:14px;font-weight:600;color:var(--mu);margin-bottom:2px}
}
/* textos legales en formularios */
.chk{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;color:var(--tx2);cursor:pointer}
.chk input{width:24px;height:24px;flex:none;margin-top:1px;accent-color:var(--acc)}
.chk a,.legal-s a,.sg-legal a{color:var(--acc);text-decoration:underline}
.legal-s{font-size:14.5px;color:var(--mu);line-height:1.45}
.sg-legal{font-size:15px;color:var(--tx2);line-height:1.45;margin:14px 0 4px;max-width:640px}
.lg .lg-id{list-style:none;padding:18px 20px;background:var(--bg2);border-radius:16px}
.lg .g-body h2{font-size:24px;margin-top:36px}
.vf-drop{margin:28px 0 8px}
.vf-out{border-radius:18px;padding:22px;margin:16px 0;font-size:18px;line-height:1.5}
.vf-out.ok{background:var(--ok-soft);color:#0b5e3c}
.vf-out.bad{background:var(--bad-soft);color:var(--bad)}
.vf-out b{font-size:20px;display:block;margin-bottom:6px}
.vf-out .muted{font-size:13.5px;word-break:break-all;opacity:.8;margin-top:8px}
.fr-seo{max-width:820px}
.fr-seo h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.035em;margin:0 0 16px}
.fr-seo h3{font-size:22px;letter-spacing:-.02em;margin:32px 0 12px}
.node.fin{background:var(--ok-soft);border-color:rgba(15,122,79,.35);color:#0b5e3c;font-weight:600;flex-direction:column;align-items:flex-start}
.node.fin small{color:#0b5e3c;opacity:.8;font-weight:400}
.sectors{grid-template-columns:repeat(2,1fr)}
.sct.s4{background:#1c2a6b}
@media (max-width:640px){.sectors{grid-template-columns:1fr}}
.sectors .sct{min-height:340px}
/* enviar por correo, WhatsApp o SMS */
.how-t{font-size:17px;font-weight:600;margin:6px 0 0}
.how-t small{font-weight:400;color:var(--mu);font-size:15px}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.how label{cursor:pointer}
.how input{position:absolute;opacity:0;pointer-events:none}
.how span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border:2px solid var(--line2);border-radius:16px;font-size:16px;font-weight:600;background:#fff;color:var(--tx2);min-height:84px;justify-content:center}
.how svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.how input:checked+span{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}
.how input:focus-visible+span{outline:3px solid var(--acc);outline-offset:2px}
.share{background:var(--bg2);border-radius:18px;padding:20px;margin:16px auto;max-width:520px;display:grid;gap:12px}
.share .btn{justify-content:center}
.btn.wa{background:#1f9d55;color:#fff;border-color:#1f9d55}

/* ================= ESCALA TIPOGRÁFICA ÚNICA =================
   Titular de portada · Título de página · Título de sección · Subtítulo · Entradilla · Texto · Texto pequeño · Etiqueta */
:root{
  --fs-hero:clamp(44px,6.4vw,92px);
  --fs-h1:clamp(36px,4.4vw,56px);
  --fs-h2:clamp(32px,4vw,52px);
  --fs-h3:clamp(24px,2.4vw,30px);
  --fs-h4:clamp(20px,1.7vw,22px);
  --fs-lead:clamp(18px,1.6vw,21px);
  --fs-body:clamp(17px,1.2vw,18px);
  --fs-small:15px;
  --fs-label:14px;
}
/* titulares de portada de cada página */
.copy .h1,.home-hero h1:not(.label):not(.badge),.home-hero .hx,.p-hero h1:not(.label):not(.badge),.p-hero .hx,.s-copy h1:not(.label):not(.badge),.s-copy .hx,.fr-hero h1:not(.label):not(.badge),.fr-hero .hx{font-size:var(--fs-hero)}
/* títulos de página interior (guías, legales, demo, firma) */
.g-art h1,.demo h1,.sg-head h1,.sg-state h1{font-size:var(--fs-h1)}
/* títulos de sección */
.head h2,.sc-head h2,.p-sec h2,.season h2,.cta-end h2,.easy h2,.lg-side h2,.a-txt h3{font-size:var(--fs-h2)}
/* subtítulos dentro de una sección */
.g-body h2,.g-faqh,.g-rel h2,.fr-seo h2,.sent h2,.fill h2,.lg .g-body h2,.sct h3,.path h3,.up-card h3,.done-box h3,.end-q,.sb-t{font-size:var(--fs-h3)}
/* títulos de tarjeta */
.use h3,.uses .use h3,.lv h3,.plan h3,.cmp-ctl h3,.top h3,.sigm-box h3,.fr-seo h3,.g-card b,.g-cta b{font-size:var(--fs-h4)}
/* entradillas */
.head p:not(.label),.copy p:not(.h1),.s-copy p,.p-hero p,.p-sec .lead,.home-hero .sub,.g-intro,.head.c .lead,.demo .lead,.fr-hero p{font-size:var(--fs-lead)}
/* texto */
.g-body,.faq summary,.faq p,.path p,.path li,.sct p,.use li,.uses .use li,.up-card li,.a-list li,.caps li,.easy .big-list li,.easy .big-list li b,.sg-steps li,.chk,.vf-out{font-size:var(--fs-body)}
/* texto pequeño */
.price-note,.legal-s,.g-meta,.pnotes,.reassure,.up-small,.sg-legal,.g-crumbs,.up-yr{font-size:var(--fs-small)}
.label,.g-card small,.foot h3{font-size:var(--fs-label)}
/* resto de piezas a la escala */
.btn-lg{font-size:var(--fs-body)}
.hcap p,.scaps p,.sent p,.cta-end p,.a-n,.letter p{font-size:var(--fs-body)}
.drop b,.choice b,.areas-sum b{font-size:var(--fs-h4)}
/* chips deslizables: fundido más largo para que nada se vea cortado en seco */
.sc-chips,.p-nav .wrap{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 56px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 56px),transparent 100%);scroll-padding-inline:48px}
.p-nav .wrap::after,.sc-chips::after{content:"";flex:0 0 40px}
.p-nav{background:var(--bg)}
/* «Todo lo que puedes hacer» en móvil: lista de tarjetas, todo visible */
.sc-list{height:auto!important}
.sc-list .sc-pin{position:static;height:auto;overflow:visible;padding-top:0}
.sc-list .sc-in{height:auto;padding-top:56px;padding-bottom:24px}
.sc-list .sc-chips{display:none}
.sc-list .sc-stage{display:grid;gap:16px;margin-top:24px}
.sc-list .sc-card{position:static;opacity:1;visibility:visible;transform:none!important}
.sc-list .area{height:auto;display:flex;flex-direction:column;gap:16px;padding:22px}
.sc-list .a-txt>p,.sc-list .a-n{display:block}
.sc-list .a-txt .lnk{display:inline-flex;margin-top:12px;padding-top:0}
.sc-list .a-ui{max-height:230px;position:relative;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.sc-list .sc-card.on .a-ui>*{animation:none}
.sc-list .a-txt h3{font-size:var(--fs-h3)}
.sc-list .sc-stage{grid-template-columns:minmax(0,1fr)}.sc-list .sc-card,.sc-list .area,.sc-list .a-ui{min-width:0}
/* Firmar · «Qué puedes pedir»: documento con los campos colocados */
.ask{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ask-lead{font-size:var(--fs-lead);color:var(--tx2);margin-top:14px}
.ask-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:18px;counter-reset:a}
.ask-steps li{position:relative;padding-left:52px;display:grid;gap:4px}
.ask-steps li::before{counter-increment:a;content:counter(a);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--tx);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}
.ask-steps b{font-size:var(--fs-body)}
.ask-steps span{font-size:var(--fs-body);color:var(--tx2)}
.ask-doc{background:var(--bg2);border-radius:24px;padding:clamp(18px,3vw,40px)}
.ad-paper{background:#fff;border-radius:6px;box-shadow:0 1px 0 var(--line2),0 18px 40px -24px rgba(20,22,27,.25);padding:clamp(20px,3vw,36px);font-size:clamp(12px,1vw,14px);line-height:2.1;color:#2a2d35}
.ad-t{font-weight:700;text-align:center;font-size:clamp(11px,.95vw,13px);letter-spacing:.02em;margin-bottom:12px}
.ad-l{margin:0 0 8px}
.ad-g{color:#7a7f8c}
.ad-f{display:inline-block;border-radius:6px;padding:0 8px;line-height:1.7;font-weight:600;font-size:.92em;white-space:nowrap}
.ad-text{background:rgba(15,122,79,.10);outline:1.5px dashed #0f7a4f;color:#0b5e3c;min-width:150px}
.ad-s{min-width:84px}.ad-w{min-width:120px}
.ad-check{background:rgba(138,82,0,.12);outline:1.5px dashed #8a5200;color:#8a5200;width:24px;padding:0;text-align:center}
.ad-sign{margin-top:22px;display:grid;justify-items:start;gap:4px}
.ad-firma{background:rgba(36,72,255,.10);outline:1.5px dashed var(--acc);color:var(--acc);padding:10px 26px;font-size:1.05em}
.ad-line{border-top:1px solid #9aa0ad;padding-top:2px;min-width:200px;font-size:.85em;color:#7a7f8c;line-height:1.6}
@media (max-width:860px){.ask{grid-template-columns:1fr;gap:32px}.ad-text{min-width:110px}.ad-w{min-width:90px}}
.ask h2{font-size:var(--fs-h2)}
.ad-paper{box-shadow:none;border:1px solid var(--line2)}
.form label.chk{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-small);font-weight:400}
.form label.chk input{width:22px;height:22px;min-height:0;padding:0;flex:none;margin-top:1px}
/* Pymes: página corta y clara */
.p-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.p-keys{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.p-keys li{position:relative;padding-left:32px;font-size:var(--fs-body);font-weight:500}
.p-keys li::before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:700}
.p-more{margin-top:24px;border-top:1px solid var(--line);padding-top:14px}
.p-more summary{cursor:pointer;color:var(--acc);font-weight:600;font-size:var(--fs-small);list-style:none}
.p-more summary::-webkit-details-marker{display:none}
.p-more summary::after{content:" +"}
.p-more[open] summary::after{content:" −"}
.p-more .caps{margin-top:18px}
.ex-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.ex{background:var(--bg2);border-radius:20px;padding:28px}
.ex h3{font-size:var(--fs-h4);margin-bottom:12px}
.ex ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ex li{position:relative;padding-left:26px;font-size:var(--fs-body);color:var(--tx2)}
.ex li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.sec4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:32px}
.sec4 h3{font-size:var(--fs-h4);margin-bottom:8px}
.sec4 p{font-size:var(--fs-body);color:var(--tx2)}
.sec4 a{color:var(--acc);text-decoration:underline}
.p-price{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end}
.p-price .p-acts{justify-content:flex-end;margin:0}
@media (max-width:900px){.ex-cards,.sec4{grid-template-columns:1fr 1fr}.p-price{grid-template-columns:1fr}.p-price .p-acts{justify-content:flex-start}}
@media (max-width:640px){.ex-cards,.sec4{grid-template-columns:1fr}.p-acts .btn{flex:1;justify-content:center}}
.areas-sum{grid-template-columns:repeat(5,1fr)} @media (max-width:1000px){.areas-sum{grid-template-columns:repeat(2,1fr)}} @media (max-width:640px){.areas-sum{grid-template-columns:1fr}}
.season-pay{max-width:900px;margin:20px auto 0;background:var(--acc-soft);border-radius:20px;padding:22px 26px}
.season-pay b{display:block;font-size:var(--fs-h4);letter-spacing:-.02em;margin-bottom:6px}
.season-pay p{font-size:var(--fs-body);color:var(--tx2);margin:0}
/* Solicitar demo con calendario */
.demo{padding-bottom:56px}
.book{background:var(--bg2);border-radius:24px;padding:32px;display:grid;gap:12px;align-content:start}
.book h2{font-size:var(--fs-h3)}
.book p{color:var(--tx2);font-size:var(--fs-body)}
.book .btn{justify-self:start;margin-top:8px}
.book-note{font-size:var(--fs-small)!important}
.book-note a{color:var(--acc);text-decoration:underline}
.book.open{padding:8px;background:#fff;border:1px solid var(--line2)}
.book iframe{width:100%;height:720px;border:0;border-radius:18px}
.demo-alt{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;padding-top:56px;padding-bottom:120px;border-top:1px solid var(--line)}
.demo-alt h2{font-size:var(--fs-h3)}
.demo-alt p{color:var(--tx2);font-size:var(--fs-body);margin-top:10px}
.demo-alt a{color:var(--acc);text-decoration:underline}
@media (max-width:900px){.demo-alt{grid-template-columns:1fr;gap:24px;padding-bottom:72px}.book iframe{height:820px}}
/* «Todo lo que puedes hacer» en ordenador: que todo quepa en la tarjeta */
.scrolly:not(.sc-list) .a-txt h3{font-size:var(--fs-h3);margin:6px 0 10px}
.scrolly:not(.sc-list) .a-n{font-size:var(--fs-small);color:var(--acc);font-weight:600}
.scrolly:not(.sc-list) .a-txt>p{font-size:var(--fs-body)}
.scrolly:not(.sc-list) .a-list{margin-top:14px;gap:8px}
.scrolly:not(.sc-list) .a-list li{font-size:var(--fs-body)}
.scrolly:not(.sc-list) .a-list li:nth-child(n+4){display:none}
.scrolly:not(.sc-list) .a-txt .lnk{padding-top:14px}
.scrolly:not(.sc-list) .area{overflow:hidden}
.scrolly:not(.sc-list) .a-ui{align-self:start}
/* ===== Prototipo interactivo ===== */
.pt-head{padding:calc(var(--nav-h) + 56px) 0 28px;text-align:center}
.pt-head h1{font-size:var(--fs-h1);letter-spacing:-.045em;margin-top:6px}
.pt-head .label{justify-content:center}
.pt-lead{font-size:var(--fs-lead);color:var(--tx2);max-width:640px;margin:14px auto 0}
.pt-sect{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px;background:var(--bg2);padding:6px;border-radius:999px}
.pt-sect button{border:0;background:transparent;border-radius:999px;padding:11px 20px;font:600 var(--fs-body) Onest,sans-serif;color:var(--tx2);cursor:pointer}
.pt-sect button[aria-selected=true]{background:#fff;color:var(--tx);box-shadow:0 0 0 1px var(--line2)}
.pt-stage{padding:8px 0 96px}
.pt-app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:640px;border:1px solid var(--line2);border-radius:22px;overflow:hidden;background:#fff}
.pt-side{background:var(--bg2);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:14px}
.pt-org{display:flex;align-items:center;gap:10px;font-size:15px}
.pt-org b{line-height:1.25}
.pt-logo{width:34px;height:34px;border-radius:10px;background:var(--tx);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.pt-new{border:0;background:var(--acc);color:#fff;border-radius:12px;padding:12px;font:600 15px Onest,sans-serif;cursor:pointer}
.pt-nav{display:grid;gap:2px}
.pt-nav button{text-align:left;border:0;background:transparent;border-radius:10px;padding:10px 12px;font:500 15px Onest,sans-serif;color:var(--tx2);cursor:pointer}
.pt-nav button.on{background:#fff;color:var(--tx);font-weight:600;box-shadow:0 0 0 1px var(--line)}
.pt-main{padding:28px 32px;min-width:0}
.pt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.pt-top h2{font-size:var(--fs-h3);letter-spacing:-.03em}
.pt-top p{color:var(--tx2);font-size:16px;margin-top:4px}
.pt-btn{border:0;background:var(--acc);color:#fff;border-radius:999px;padding:11px 18px;font:600 15px Onest,sans-serif;cursor:pointer;white-space:nowrap}
.pt-btn.ghost{background:#fff;color:var(--tx);box-shadow:0 0 0 1.5px var(--line2)}
.pt-btn[disabled]{opacity:.4;cursor:default}
.pt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.pt-kpis div{background:var(--bg2);border-radius:16px;padding:16px 18px}
.pt-kpis b{display:block;font-size:30px;letter-spacing:-.03em}
.pt-kpis span{color:var(--tx2);font-size:15px}
.pt-h{font-size:17px;font-weight:700;margin:0 0 12px}
.pt-list{display:grid;gap:10px}
.pt-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line2);background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer;font:inherit;color:inherit}
.pt-row:hover{border-color:var(--acc)}
.pt-ico{width:38px;height:38px;border-radius:12px;background:var(--acc-soft);display:grid;place-items:center;flex:none}
.pt-rt{display:grid;gap:3px;flex:1;min-width:0}
.pt-rt b{font-size:16px;font-weight:600}
.pt-rt small{font-size:14px;color:var(--mu)}
.pt-bar{display:block;height:6px;border-radius:99px;background:var(--bg2);overflow:hidden;margin-top:6px;max-width:320px}
.pt-bar i{display:block;height:100%;background:var(--ok);border-radius:99px}
.pt-pill{font-size:13px;font-weight:600;border-radius:99px;padding:5px 10px;white-space:nowrap}
.pt-pill.o{background:var(--ok-soft);color:var(--ok)}.pt-pill.w{background:var(--wait-soft);color:var(--wait)}.pt-pill.a{background:var(--acc-soft);color:var(--acc)}.pt-pill.n{background:var(--bg2);color:var(--tx2)}
.pt-back{border:0;background:none;color:var(--acc);font:600 15px Onest,sans-serif;cursor:pointer;padding:0;margin-bottom:14px}
.pt-prog{display:flex;align-items:center;gap:14px;font-size:16px;margin-bottom:18px}
.pt-prog .pt-bar{flex:1;margin:0}
.pt-two{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.pt-card{border:1px solid var(--line2);border-radius:18px;padding:18px}
.pt-person{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.pt-person:last-child{border-bottom:0}
.pt-av{width:34px;height:34px;border-radius:50%;background:var(--bg2);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--tx2);flex:none}
.pt-av.big{width:48px;height:48px;font-size:15px}
.pt-more{color:var(--mu);font-size:14px;margin-top:8px}
.pt-paper{background:#fff;border:1px solid var(--line2);border-radius:8px;padding:18px;font-size:13px;line-height:2;color:#2a2d35}
.pt-pt{font-weight:700;text-align:center;font-size:12px;letter-spacing:.02em}
.pt-g{color:#7a7f8c}
.pt-f{display:inline-block;border-radius:5px;padding:0 6px;line-height:1.6;font-weight:600;font-size:.92em;background:rgba(15,122,79,.10);outline:1.5px dashed #0f7a4f;color:#0b5e3c;min-width:110px}
.pt-f.s{min-width:60px}.pt-f.c{min-width:0;background:rgba(138,82,0,.12);outline-color:#8a5200;color:#8a5200}
.pt-f.sig{display:block;width:max-content;margin-top:10px;background:rgba(36,72,255,.10);outline-color:var(--acc);color:var(--acc);padding:8px 20px}
.pt-small{font-size:14px;color:var(--mu);margin-top:10px}
.pt-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.pt-steps span{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--mu);background:var(--bg2);border-radius:99px;padding:6px 14px 6px 6px}
.pt-steps b{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:13px}
.pt-steps .on{background:var(--acc-soft);color:var(--acc);font-weight:600}.pt-steps .on b{background:var(--acc);color:#fff}
.pt-steps .ok b{background:var(--ok);color:#fff}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pt-grid.three{grid-template-columns:repeat(3,1fr)}
.pt-tile{display:grid;gap:6px;text-align:left;border:1.5px solid var(--line2);background:#fff;border-radius:16px;padding:16px;font:500 16px Onest,sans-serif;color:var(--tx);cursor:pointer}
.pt-tile small{color:var(--mu);font-size:14px}
.pt-tile.on{border-color:var(--acc);background:var(--acc-soft)}
.pt-tile.static{cursor:default}
.pt-nav2{display:flex;justify-content:space-between;margin-top:24px}
.pt-sum p{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}
.pt-sum p:last-child{border-bottom:0}.pt-sum span{color:var(--mu)}
.pt-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;margin-bottom:14px}
.pt-search input{border:0;font:inherit;font-size:16px;flex:1;outline:0;background:transparent}
.pt-fhead{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.pt-fhead small{display:block;color:var(--mu);font-size:14px}
.pt-note{text-align:center;color:var(--mu);font-size:var(--fs-small);margin-top:16px}
.pt-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.pt-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--tx);color:#fff;padding:14px 20px;border-radius:14px;font-size:16px;transition:.3s;pointer-events:none;z-index:80;max-width:90vw}
.pt-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:860px){
  .pt-side{border-right:0;border-bottom:1px solid var(--line);padding:14px}
  .pt-nav{display:flex;overflow-x:auto;gap:6px;scrollbar-width:none}
  .pt-nav button{white-space:nowrap;padding:9px 14px;background:#fff}
  .pt-main{padding:20px 16px}
  .pt-top{flex-direction:column}
  .pt-kpis{grid-template-columns:1fr 1fr 1fr;gap:8px}.pt-kpis b{font-size:24px}.pt-kpis span{font-size:13px}
  .pt-two{grid-template-columns:1fr}
  .pt-grid.three{grid-template-columns:1fr}
  .pt-row .pt-pill{display:none}
}
@media (max-width:860px){.pt-app{grid-template-columns:minmax(0,1fr)}.pt-side,.pt-main{min-width:0}.pt-new{width:100%}.pt-rt b,.pt-rt small{overflow-wrap:anywhere}}
@media (max-width:860px){.pt-nav{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}.pt-nav::after{content:"";flex:0 0 32px}}
/* varios firmantes */
.who-t{font-weight:600;font-size:15px;margin-right:4px}
.who-bar{display:inline-flex;flex-wrap:wrap;gap:6px;margin-right:8px}
.pc{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:6px 12px 6px 6px;font:600 14px Onest,sans-serif;color:var(--tx2);cursor:pointer}
.pc i,.pb,.sg-pt i,.sl-n i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;background:var(--c,#2448ff);flex:none}
.pc.on{border-color:var(--c,#2448ff);color:var(--tx);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--c,#2448ff) 18%,transparent)}
.pc.add{padding:6px 12px;color:var(--acc);border-style:dashed}
.p0{--c:#2448ff}.p1{--c:#c2410c}.p2{--c:#0f7a4f}.p3{--c:#7c3aed}.p4{--c:#be185d}
.ov.field .pb{position:absolute;top:-9px;left:-9px;width:20px;height:20px;font-size:11px;display:none}
.multi .ov.field .pb{display:grid}
.multi .ov.field.f-sign{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.multi .ov.field.f-sign .fl{color:var(--c)}
.signers{display:grid;gap:14px;margin-top:6px}
.sg-p{display:grid;gap:10px;border-radius:16px}
.signers .sg-p+.sg-p{border-top:1px solid var(--line);padding-top:14px}
.sg-pt{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;margin:0}
.logo-in input{padding:10px;background:#fff}
.logo-prev img{max-height:48px;max-width:180px;margin-top:6px;display:block}
.sent-list{display:grid;gap:12px;max-width:560px;margin:16px auto;text-align:left}
.sl{background:var(--bg2);border-radius:16px;padding:16px}
.sl-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.sl-n b{font-size:17px}.sl-n span{flex-basis:100%;color:var(--tx2);font-size:15px}
.sl-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sg-logo{max-height:56px;max-width:220px;margin-bottom:14px;display:block}
.sendform fieldset,.sendform>*{min-width:0}.sendform{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.sendform .full{grid-column:1/-1}
.sendform label,.sendform input,.sendform textarea{min-width:0;max-width:100%}.sendform input{width:100%}.sendform label small{white-space:normal}
.sendform input[type=checkbox]{width:24px;height:24px;flex:none;min-height:0;padding:0}.sendform .chk{display:flex}
/* ===== Editor de Firmar gratis: más claro ===== */
.pg.armed{outline:0;cursor:default}
.t-bar .hint{order:10;width:100%;margin:6px 0 0;background:var(--acc-soft);color:#1b2a8a;border-radius:14px;padding:12px 16px;font-size:16px;line-height:1.45}
.ov{border:2px solid transparent;border-radius:6px}
.ov.sel{border-color:var(--acc);background:rgba(36,72,255,.04)}
.ov:not(.sel):hover{border-color:rgba(36,72,255,.35)}
/* todas las casillas para quien firma, con el mismo estilo */
.ov.field,.ov.field.f-text,.ov.field.f-date,.ov.field.f-check{background:rgba(36,72,255,.08);border:1.5px solid rgba(36,72,255,.45);border-radius:6px}
.ov.field.sel{border:2px solid var(--acc);background:rgba(36,72,255,.12)}
.ov.field .fl,.ov.field.f-text .fl,.ov.field.f-date .fl,.ov.field.f-check .fl{color:#1b2a8a;font-weight:600}
.ov.field.f-sign .fl{font-size:13px}
.multi .ov.field{border-color:var(--c);background:color-mix(in srgb,var(--c) 9%,transparent)}
.multi .ov.field .fl{color:var(--c)}
.fadd button.on{background:#fff;border-color:var(--line2);color:var(--tx)}
.fadd button:active{background:var(--acc-soft)}
@media (max-width:760px){
  .t-bar{gap:6px}
  .t-bar .btn{min-height:44px;font-size:15px;padding:0 14px;flex:1 1 auto}
  .t-bar .hint{font-size:15px;padding:10px 14px}
  .fadd{gap:6px}.fadd button{min-height:40px;padding:0 12px;font-size:15px}
  .who-t{font-size:15px}
}
.g-cat{font-size:var(--fs-h3);margin:44px 0 0;letter-spacing:-.03em}
.g-dl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:6px 0 22px}
.g-dl .btn{text-decoration:none!important;color:var(--tx)!important}
.g-dl span{color:var(--mu);font-size:var(--fs-small)}
/* Normativa en portada */
.norm-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 32px}
.norm-badges span{font-weight:700;font-size:15px;letter-spacing:.02em;border:1.5px solid var(--line2);border-radius:999px;padding:9px 18px;color:var(--tx);background:#fff}
.norm{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.norm>div{background:var(--bg2);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.norm b{font-size:var(--fs-h4);letter-spacing:-.02em;line-height:1.25}
.norm p{font-size:var(--fs-body);color:var(--tx2);flex:1}
.norm a{color:var(--acc);font-weight:600;font-size:var(--fs-small)}
.norm-note{text-align:center;color:var(--mu);font-size:var(--fs-small);margin-top:22px;max-width:760px;margin-left:auto;margin-right:auto}
.norm-note a{color:var(--acc)}
@media (max-width:1000px){.norm{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.norm{grid-template-columns:1fr}.norm-badges span{font-size:14px;padding:8px 14px}}
/* ===== Móvil más compacto y limpio ===== */
@media (max-width:640px){
  .hero{height:330vh}
  .sec{padding:60px 0}
  .head{margin-bottom:24px}
  .head h2{margin-top:4px}
  /* plataforma: tarjetas más cortas */
  .sc-list .sc-in{padding-top:44px}
  .sc-list .area{padding:18px;gap:12px}
  .sc-list .a-txt>p{font-size:16px}
  .sc-list .a-list li:nth-child(n+4){display:none}
  .sc-list .a-ui{max-height:170px}
  /* sectores: tarjetas más bajas */
  .sectors .sct{min-height:0;padding:22px 22px 0}
  .sectors .sct p{font-size:15.5px}
  .sectors .sct .mini{position:relative;left:auto;right:auto;bottom:auto;margin:16px 4px -26px;transform:rotate(-2deg)}
  .sectors .sct .mini .paper{max-height:130px;overflow:hidden}
  .sectors .sct{overflow:hidden}
  /* normativa: compacta */
  .norm-badges{gap:6px;margin-bottom:20px}
  .norm{gap:10px}
  .norm>div{padding:18px;border-radius:16px;gap:6px}
  .norm b{font-size:18px}
  .norm p{font-size:15px}
  /* precios */
  .up-card{padding:22px}
  .up-card li{font-size:16px}
  .season-pay{padding:18px}
  .season-pay p{font-size:15.5px}
  .faq summary{font-size:17px}
}
.ad-text,.ad-check{background:rgba(36,72,255,.08);outline:1.5px solid rgba(36,72,255,.45);color:#1b2a8a}
.ad-firma{outline-style:solid}

/* Confirmar el correo de quien envía (código de 6 números) */
.vc-code{width:100%;font-family:inherit;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:.3em;text-align:center;padding:14px;border:1px solid var(--line2);border-radius:12px;background:#fff;color:inherit}
.vc-code:focus{outline:2px solid var(--acc);outline-offset:1px}
.vc-box .vc-note{font-size:var(--fs-small,16px)}
@media (max-width:640px){.vc-box .sigm-btns{flex-direction:column-reverse}.vc-box .sigm-btns .btn{width:100%}}

/* /precios: el titular es h1 pero se ve como los h2 de sección */
.pg-precios .head h1{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.03em}

/* /registro: el código grande también dentro de la tarjeta de acceso */
.lg-card input.vc-code{font-size:32px;font-weight:600;letter-spacing:.3em;text-align:center;padding:14px}

/* /registro: la casilla «No quiero recibir novedades» en línea con su texto (no como un campo de texto) */
.lg-card label.chk{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:400}
.lg-card label.chk input{width:22px;height:22px;min-height:0;padding:0;border-radius:6px;flex:none;margin-top:1px}

/* Firmar gratis y página de firma: los «hecho» en azul de la marca, no en verde */
.t-steps .ok b{background:var(--acc);border-color:var(--acc);color:#fff}
.ok-big:not(.bad){background:var(--acc);color:#fff}
.end-ok{background:var(--acc-soft);color:var(--acc)}
.end-ok span{background:var(--acc);color:#fff}
.reassure span::before{color:var(--acc)}

/* Portada: el titular ahora dice qué hace MultiDocs (más largo que «Envía. Firman. Listo.»), así que un poco más pequeño */
.copy .h1{font-size:clamp(40px,5.2vw,76px);letter-spacing:-.04em;line-height:1.02;max-width:1000px;margin-left:auto;margin-right:auto}
@media (max-width:640px){.copy .h1{font-size:34px;line-height:1.06}}
.copy .label{color:var(--acc);font-weight:600}

/* Portada: tres ventajas con icono bajo los botones */
.hero-feats{list-style:none;padding:0;margin:26px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;font-size:16px;font-weight:500;color:var(--tx2)}
.hero-feats li{display:flex;align-items:center;gap:8px}
.hero-feats svg{width:20px;height:20px;fill:none;stroke:var(--acc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media (max-width:640px){.hero-feats{gap:10px 18px;font-size:15px}}
.copy p.label{font-size:14px}
#como-funciona{scroll-margin-top:64px}

/* Portada: la palabra que cambia del titular, en gris; el resto del titular en negro. Su línea reserva el alto para que no salte */
.copy .h1 .rotline{display:block}
.copy .h1 .rot{display:inline-block;color:#a2a8b5;transition:opacity .35s ease,transform .35s ease}
.copy .h1 .rot.out{opacity:0;transform:translateY(.25em)}

/* Firmar: las tres opciones primero */
.end-choices.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.end-choices.three .choice{align-content:start;text-align:center}
.end-choices.three .choice b{font-size:var(--fs-h4,21px)}
.t-chosen{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 16px;font-size:16px;color:var(--tx2)}
.t-chosen span{font-weight:600;color:var(--tx)}
.t-chosen span::before{content:'✓ ';color:var(--acc)}
.t-chosen button{text-underline-offset:3px}
@media (max-width:820px){.end-choices.three{grid-template-columns:1fr}.end-choices.three .choice{text-align:left;grid-template-columns:auto 1fr;justify-items:start;column-gap:14px;padding:20px 16px}.end-choices.three .choice svg{grid-row:span 2;width:40px;height:40px}}
.t-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:560px){.t-steps div{padding:12px 4px;font-size:14px;gap:6px;justify-content:center;flex-direction:column}.t-steps b{width:28px;height:28px;font-size:14px}}
/* editor: «Siguiente» siempre a la vista, pegado abajo */
.t-pane[data-p="1"] > .t-next{position:sticky;bottom:0;z-index:5;background:rgba(255,255,255,.96);margin:16px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line2)}
.t-bar .hint .btn{margin-left:10px;min-height:44px;font-size:16px;vertical-align:middle}
@media (max-width:560px){.t-pane[data-p="1"] > .t-next{margin:16px -14px 0;padding-left:14px;padding-right:14px}.t-bar .hint .btn{display:flex;margin:10px 0 0;width:100%;justify-content:center}}
.tool:has(.t-pane[data-p="1"]:not([hidden])){overflow:clip}
.t-chosen button{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--line2);border-radius:999px;padding:7px 16px;font:inherit;font-size:15px;font-weight:500;color:var(--tx);text-decoration:none;cursor:pointer;transition:border-color .2s,background .2s}
.t-chosen button:hover{border-color:var(--acc);background:var(--acc-soft);color:var(--acc)}
/* Yo y otra persona: un solo «¿Para quién es?» con «Tú» primero */
.pme{--c:#111318}
/* la barra de herramientas acompaña al bajar por el documento (para poner cosas en cualquier página) */
.t-pane[data-p="1"] > .t-bar{position:sticky;top:var(--navh,64px);z-index:6;background:#fff;margin:-24px -24px 14px;padding:18px 24px 14px;border-bottom:1px solid var(--line2)}
@media (max-width:760px){
  .t-pane[data-p="1"] > .t-bar{margin:-14px -14px 12px;padding:10px 14px}
  .tool .t-bar .fadd{overflow-x:auto;scrollbar-width:none}
  .tool .t-bar .fadd::-webkit-scrollbar{display:none}
  .tool .t-bar .fadd button{flex:none}
  .tool .t-bar .who-bar{overflow-x:auto;scrollbar-width:none}
}
/* barra más sencilla */
.fmore{display:contents}.fmore[hidden]{display:none}
.fadd button.main{background:var(--acc);border-color:var(--acc);color:#fff}
.fadd button.more{border-style:dashed;color:var(--acc)}
.pme{padding:6px 14px}
.pme.on{box-shadow:0 0 0 3px rgba(17,19,24,.14)}
.pg[data-n]{margin-bottom:26px}
.pg[data-n]::after{content:attr(data-n);position:absolute;left:0;right:0;bottom:-24px;text-align:center;font-size:14px;color:var(--tx2)}
@media (max-width:760px){
  .tool .t-bar .fadd{flex-wrap:wrap;overflow:visible;padding:0;-webkit-mask-image:none;mask-image:none}
  .tool .t-bar .fadd button{min-height:42px;padding:0 14px}
  .t-pane[data-p="1"] > .t-bar .hint{font-size:15px;padding:8px 12px;line-height:1.35}
}
/* un solo camino: los tres usos bajo la subida */
.t-uses{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.t-uses li{display:flex;gap:12px;align-items:flex-start;background:var(--bg2);border-radius:16px;padding:14px 16px;font-size:16px;line-height:1.4;color:var(--tx2)}
.t-uses svg{width:28px;height:28px;flex:none;fill:none;stroke:var(--acc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t-uses b{display:block;color:var(--tx);font-weight:600}
@media (max-width:760px){.t-uses{grid-template-columns:1fr;gap:8px}}
.pc .rm{margin-left:4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);color:var(--tx2);font-size:14px;line-height:1}
.tool.me .ov.field{opacity:.55}
.t-bar .who-t{display:inline}
.pc{white-space:nowrap}
@media (max-width:760px){
  .tool .t-bar .who-bar{flex-wrap:wrap;overflow:visible;max-width:none;margin-right:0}
  .tool .t-bar .who-t{width:100%}
  .pc{font-size:15px;padding:6px 12px 6px 6px}.pme,.pc.add{padding:6px 14px}
}
/* cuadro para escribir un dato */
.asks{position:fixed;inset:0;z-index:95;background:rgba(20,22,27,.45);display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.asks.on{opacity:1;visibility:visible;transition:opacity .2s}
.asks-c{width:min(440px,100%);background:#fff;border-radius:24px;padding:28px 24px 22px;transform:translateY(12px);transition:transform .25s}
.asks.on .asks-c{transform:none}
/* «¿Quién tiene que firmar?»: tres respuestas grandes, una debajo de otra */
.who-pick{display:grid;gap:10px;margin-top:16px}
.who-pick button{display:block;width:100%;text-align:left;padding:16px 18px;border:1.5px solid var(--line2);border-radius:16px;background:#fff;font:inherit;color:var(--tx);cursor:pointer}
.who-pick button:hover,.who-pick button:focus-visible{border-color:var(--acc);background:var(--acc-soft,#eef1ff);outline:none}
.who-pick b{display:block;font-size:18px;font-weight:600;margin-bottom:3px}
.who-pick span{display:block;font-size:15px;line-height:1.45;color:var(--tx2)}
/* lo opcional del envío (mensaje, tu logo, tu DNI), recogido */
.more{border:1px solid var(--line2);border-radius:14px;padding:0 18px}
.more>summary{cursor:pointer;list-style:none;padding:16px 0;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px}
.more>summary::-webkit-details-marker{display:none}
.more>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--tx2);border-bottom:2px solid var(--tx2);transform:rotate(45deg);transition:transform .2s}
.more[open]>summary::after{transform:rotate(-135deg)}
.more>summary small{font-weight:400;color:var(--tx2);font-size:15px}
.more-in{display:grid;gap:14px;padding:0 0 18px}
.me-data{grid-template-columns:1fr 1fr}.me-data legend{grid-column:1/-1}
@media (max-width:600px){.me-data{grid-template-columns:1fr}}
.asks h3{font-size:24px;letter-spacing:-.02em;margin:0 0 6px}
.asks p{font-size:16px;color:var(--tx2);margin:0 0 18px;line-height:1.4}
.asks input{width:100%;font:inherit;font-size:20px;padding:14px 16px;border:1.5px solid var(--line2);border-radius:14px;background:#fff;color:var(--tx);outline:none}
.asks input:focus{border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.asks-b{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.asks-b .btn{width:100%;justify-content:center}
@media (max-width:560px){.asks{place-items:end center;padding:0}.asks-c{border-radius:24px 24px 0 0;padding:24px 18px calc(18px + env(safe-area-inset-bottom))}}
/* ayuda */
.t-help{margin-left:auto;order:-1;align-self:center;border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:6px 14px;font:500 15px Onest,sans-serif;color:var(--tx);cursor:pointer}
.t-help:hover{border-color:var(--acc);color:var(--acc)}
.t-bar .t-help{position:absolute;top:14px;right:24px}
@media (max-width:760px){.t-bar .t-help{top:8px;right:14px}}
.tour-on{outline:3px solid var(--acc)!important;outline-offset:6px;border-radius:16px;animation:tourp 1.6s ease-in-out infinite}
@keyframes tourp{50%{outline-color:rgba(36,72,255,.35)}}
.tour{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom));transform:translate(-50%,16px);z-index:80;width:min(420px,calc(100% - 32px));background:#111318;color:#fff;border-radius:22px;padding:20px 20px 16px;opacity:0;visibility:hidden;transition:opacity .2s,transform .25s,visibility 0s .2s}
.tour.on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .25s}
.tour-n{font-size:14px;color:#aab1c4;margin:0 0 4px}
.tour h3{font-size:21px;margin:0 0 6px;letter-spacing:-.01em;color:#fff}
.tour p{font-size:16px;line-height:1.45;margin:0;color:#e6e8ee}
.tour-b{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.tour .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
/* quien firma: revisar antes de enviar */
.sg-bar{flex-wrap:wrap;gap:10px}
.sg-bar .sg-review{width:100%;text-align:center;margin:0;font-size:15px;line-height:1.4;color:var(--tx2)}
.sg-bar [data-resign],.sg-bar [data-send]{width:min(255px,calc(50% - 5px));font-size:20px;min-height:60px}
.sg-bar [hidden]{display:none!important}
.ov.clash{outline:2.5px solid #d92d20!important;outline-offset:2px;background:rgba(217,45,32,.08)}
/* ¿Quién firma? — una fila por persona con sus botones */
.t-bar .t-head{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:2px}
.t-bar .t-head .who-t{font-size:18px;font-weight:600;display:inline}
.t-bar .t-head .t-help{position:static}
.srows{width:100%;display:grid;gap:8px}
.srow{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1.5px solid var(--line2);border-radius:16px;padding:8px 8px 8px 14px;background:#fff}
.srow.ok{border-color:color-mix(in srgb,var(--c) 45%,var(--line2))}
.sname{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px;color:var(--tx);min-width:0}
.sname i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:13px;font-weight:700;flex:none}
.srow.pme .sname i{background:#111318}
.srow.pme .sname i::before{content:'';width:9px;height:9px;border-radius:50%;background:#fff}
.sname em{font-style:normal;font-weight:500;font-size:14px;color:#0f7a4f}
.sacts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sb{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:600 15px Onest,sans-serif;color:var(--tx);cursor:pointer;white-space:nowrap}
.sb:hover{border-color:var(--acc)}
.sb.main{background:var(--acc);border-color:var(--acc);color:#fff}
.srow.ok .sb.main{background:#fff;color:var(--acc);border-color:var(--acc)}
.sx{width:36px;height:36px;border-radius:50%;border:0;background:var(--bg2);color:var(--tx2);font-size:18px;cursor:pointer}
.sadd{justify-self:start;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px dashed var(--acc);background:transparent;color:var(--acc);font:600 15px Onest,sans-serif;cursor:pointer}
.sadd:hover{background:var(--acc-soft)}
.dlist{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dlist button{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line2);background:#fff;font:500 17px Onest,sans-serif;color:var(--tx);text-align:left;cursor:pointer}
.dlist button:hover{border-color:var(--acc);background:var(--acc-soft)}
.dlist span{font-size:20px}
.asks-b.one{grid-template-columns:1fr}
@media (max-width:760px){
  .srow{flex-direction:column;align-items:stretch;gap:8px;padding:10px}
  .sacts{justify-content:flex-start;flex-wrap:nowrap}
  .sb{flex:1;padding:0 10px;font-size:15px}
  .sadd{width:100%}
  .dlist{grid-template-columns:1fr}
  .t-bar .t-head .who-t{font-size:17px}
}
.t-bar .t-head .who-t{order:1}.t-bar .t-head .t-help{order:2;margin-left:auto;white-space:nowrap}
.srows,.srow,.sacts,.sname{min-width:0}
.asks-c{max-height:calc(100svh - 24px);overflow:auto}
@media (max-width:760px){
  .sacts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:6px}
  .srow.pme .sacts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .sb{white-space:normal;line-height:1.15;padding:6px 10px;min-height:46px}
  .dlist{grid-template-columns:1fr 1fr;gap:8px}
  .dlist button{min-height:52px;font-size:16px;padding:0 10px;gap:8px}
  .asks h3{font-size:22px}
}
.sb .sh,.sadd .sh{display:none}
@media (max-width:760px){
  .tool.compact .t-bar{padding-top:8px;padding-bottom:8px}
  .tool.compact .t-head,.tool.compact .t-bar .hint,.tool.compact .sname em{display:none}
  .tool.compact .srows{display:flex;flex-wrap:wrap;gap:6px}
  .tool.compact .srow{flex-direction:row;align-items:center;padding:4px 4px 4px 8px;gap:6px;flex:1 1 100%}
  .tool.compact .srow.ok .sname::after{content:'✓';color:#0f7a4f;font-weight:700}
  .tool.compact .sname{font-size:15px;gap:6px}
  .tool.compact .sname i{width:22px;height:22px;font-size:12px}
  .tool.compact .sacts{display:flex;gap:4px;flex:none}
  .tool.compact .sb{min-height:38px;padding:0 12px;font-size:14px;flex:none;white-space:nowrap}
  .tool.compact .sx{width:32px;height:32px}
  .tool.compact .sb .lg,.tool.compact .sadd .lg{display:none}
  .tool.compact .sb .sh,.tool.compact .sadd .sh{display:inline}
  .tool.compact .sadd{width:auto;min-height:36px;font-size:14px;padding:0 14px}
}
.sname{white-space:nowrap}
@media (max-width:760px){.tool.compact .sname{font-size:14px}.tool.compact .sb{padding:0 10px}}
/* interruptor «Firmo yo» */
.tgl{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin-left:6px;font:500 15px Onest,sans-serif;color:var(--tx2);white-space:nowrap}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.swk{width:46px;height:28px;border-radius:999px;background:#c9ccd4;position:relative;transition:background .2s;flex:none}
.swk::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s}
.tgl input:checked + .swk{background:#0f7a4f}
.tgl input:checked + .swk::after{transform:translateX(18px)}
.tgl input:focus-visible + .swk{outline:3px solid var(--acc);outline-offset:2px}
.srow.off{background:var(--bg2);border-style:dashed}
.srow.off .sname{color:var(--tx2)}
.srow.off .sname i{background:#c9ccd4}
.sname em.no{color:var(--tx2)}
@media (max-width:760px){
  .srow.pme:not(.off) .sacts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .srow.pme .tgl{grid-column:1 / -1;justify-self:start;margin:2px 0 0}
  .srow.off{flex-direction:row;align-items:center}
  .tool.compact .srow.pme .tgl .swl{display:none}
  .tool.compact .srow.pme .tgl{margin:0}
}
.sname .nm{font-weight:600}
@media (max-width:760px){
  .tool.compact .srow:not(.pme) .sname .nm{display:none}
  .tool.compact .sname{flex:1 1 auto;overflow:hidden}
}
/* una vez empezado: fuera la cabecera grande, solo la herramienta */
body.md-working .fr-top .badge,body.md-working .fr-top h1:not(.label):not(.badge),body.md-working .fr-top .hx,body.md-working .fr-top .sub{display:none}
body.md-working .fr-top{padding-top:calc(var(--nav-h,64px) + 16px)}
body.md-working .fr-top .home-tool{margin-top:0}
.pt-thanks{background:#e8f5ee;color:#0b5e3c;border-radius:16px;padding:14px 18px;font-size:17px;line-height:1.45;margin:10px 0 14px;max-width:760px}
.pt-ask{text-align:center;margin:40px auto 0;max-width:640px}
.pt-ask h2{font-size:var(--fs-h3);letter-spacing:-.02em;margin:0 0 8px}
.pt-ask p{color:var(--tx2);font-size:18px;margin:0 0 18px}
.pt-ask .pt-cta{justify-content:center}
.cta-end .cta-sub{font-size:16px;opacity:.8;margin-top:12px}
.srow.fresh .sb.main{animation:fresh 1.2s ease-in-out 3}
@keyframes fresh{50%{box-shadow:0 0 0 6px var(--acc-soft)}}
.ov.flash{animation:flash 1s ease-in-out 2}
@keyframes flash{50%{box-shadow:0 0 0 8px rgba(36,72,255,.25)}}
@media (max-width:760px){.srow.ok .sacts{grid-template-columns:minmax(0,1fr) auto}.srow.pme.ok .sacts{grid-template-columns:minmax(0,1fr)}}

/* ===== Guías v2: más fáciles de leer (resumen, índice, datos oficiales, fuentes) ===== */
.g-prog{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.g-prog i{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}
.g-v2 .g-head{max-width:1140px}
.g-v2 .g-head>*{max-width:820px}
.g-v2 .g-meta{display:flex;flex-wrap:wrap;gap:6px 18px;border-bottom:0;padding-bottom:0;margin:22px 0 0}
.g-v2 .g-meta span{display:inline-flex;align-items:center;gap:18px}
.g-v2 .g-meta span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--line2);margin-left:-11px;margin-right:-7px}
.g-grid{max-width:1140px;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.g-main{min-width:0;max-width:760px}
.g-k{font-size:15px;font-weight:600;color:var(--acc);margin:0 0 12px}
.g-toc details{border:1.5px solid var(--line2);border-radius:16px;padding:14px 18px}
.g-toc summary{list-style:none;cursor:pointer;font-weight:600;font-size:16px;display:flex;justify-content:space-between}
.g-toc summary::-webkit-details-marker{display:none}
.g-toc summary::after{content:"+";color:var(--mu);font-weight:400;font-size:20px;line-height:1}
.g-toc details[open] summary::after{content:"–"}
.g-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px;counter-reset:t}
.g-toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--line);color:var(--tx2);font-size:15px;line-height:1.4}
.g-toc a:hover{color:var(--tx)}
.g-toc a.on{border-color:var(--acc);color:var(--tx);font-weight:600}
@media (min-width:1100px){
  .g-grid{grid-template-columns:230px minmax(0,760px);gap:72px}
  .g-v2 .g-head{padding-left:calc(var(--gut) + 302px)}
  .g-v2 .g-grid{border-top:0;padding-top:0}
  .g-v2 .g-main{border-top:1px solid var(--line);padding-top:32px}
  .g-v2 .g-toc{padding-top:32px}
  .g-toc{position:sticky;top:calc(var(--nav-h) + 28px);align-self:start;max-height:calc(100vh - var(--nav-h) - 56px);overflow:auto}
  .g-toc details{border:0;padding:0}
  .g-toc summary{pointer-events:none;font-size:15px;color:var(--mu)}
  .g-toc summary::after{display:none}
}
.g-body h2,.g-faqh,.g-src h2{scroll-margin-top:calc(var(--nav-h) + 24px)}
.g-body>h2:first-child{margin-top:8px}
.g-sum{background:var(--acc-soft);border-radius:20px;padding:24px 26px;margin:0 0 36px}
.g-sum ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.g-sum li{position:relative;padding-left:32px;font-size:18px;line-height:1.5}
.g-sum li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.g-datos{margin:28px 0 12px}
.g-datos>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.g-dato{margin:0;border:1.5px solid var(--line2);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px;background:#fff}
.g-dato b{font-size:clamp(34px,4vw,42px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--acc)}
.g-dato p{margin:0!important;font-size:16px;line-height:1.45;color:var(--tx)}
.g-dato figcaption{margin-top:auto;padding-top:6px;font-size:14px;color:var(--mu)}
.g-dato figcaption a{color:var(--mu)!important}
.g-law{margin:22px 0 24px;padding:4px 0 4px 22px;border-left:3px solid var(--acc)}
.g-law p{font-size:19px;line-height:1.55;margin:0 0 8px!important}
.g-law cite{font-style:normal;font-size:15px;color:var(--mu)}
.g-law cite a{color:var(--mu)!important}
.g-src{margin-top:44px;padding-top:8px}
.g-src h2{font-size:var(--fs-h3);letter-spacing:-.03em;margin:0 0 14px}
.g-src ul{margin:0 0 14px;padding-left:20px;display:grid;gap:8px;font-size:16px}
.g-src a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.g-src p{font-size:15px;color:var(--mu)}
.g-v2 .faq{opacity:1!important;transform:none!important}
@media (max-width:640px){
  .g-sum{padding:20px;border-radius:18px}
  .g-sum li{font-size:17px}
  .g-dato{padding:18px}
  .g-grid{margin-top:28px;padding-top:24px}
}
@media (min-width:1100px){.g-v2~.g-rel,.g-v2 .g-rel{max-width:1140px;padding-left:calc(var(--gut) + 302px)}}
@media (max-width:640px){.g-v2 .g-meta{gap:4px 14px}.g-v2 .g-meta span+span::before{display:none}}
.g-body a.btn{text-decoration:none}
.g-body .g-note .btn{margin-right:14px}
@media (max-width:640px){.g-datos>div{gap:8px}.g-dato{padding:16px 18px;gap:6px}.g-dato b{font-size:30px}}

/* Firmar · escanear y plantillas */
.scan-btn{display:flex;gap:14px;align-items:center;width:100%;margin-top:12px;padding:16px 18px;border:1.5px solid var(--line2);border-radius:14px;background:var(--win);color:var(--tx);text-align:left;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.scan-btn:hover{border-color:var(--acc);background:var(--acc-soft)}
.scan-btn svg{width:34px;height:34px;flex:none;fill:none;stroke:var(--acc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scan-btn span{font-size:16px;color:var(--tx2);line-height:1.35}
.scan-btn b{display:block;font-size:18px;color:var(--tx);font-weight:600}
.tpls{margin-top:22px}
.tpls-t{font-weight:600;font-size:17px;margin:0 0 10px}
.tpls-t small{display:block;font-weight:400;color:var(--tx2);font-size:15px}
.tpl-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tpl{display:grid;gap:4px;align-content:start;justify-items:start;padding:14px;border:1px solid var(--line2);border-radius:14px;background:var(--win);color:var(--tx);text-align:left;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.tpl:hover,.tpl:focus-visible{border-color:var(--acc);background:var(--acc-soft)}
.tpl{padding:10px 10px 14px}
.tpl-pv{display:block;width:100%;aspect-ratio:794/520;overflow:hidden;border-radius:8px;background:#fff;border:1px solid var(--line);margin-bottom:8px}
.tpl-pv img{display:block;width:100%;height:auto}
.tpl b,.tpl>span:last-child{padding:0 4px}
.tpl b{font-size:16px;font-weight:600;line-height:1.25}
.tpl span{font-size:14px;color:var(--tx2);line-height:1.3}
@media (max-width:760px){
  .tpl-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 14px;margin:0 -14px;padding:0 14px 4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent);scrollbar-width:none}
  .tpl-row::-webkit-scrollbar{display:none}
  .tpl{flex:0 0 46%;scroll-snap-align:start}
  .tpl-row::after{content:"";flex:0 0 14px}
}
/* pantalla del escáner: a pantalla completa, sin velos ni sombras */
.scan{position:fixed;inset:0;z-index:95;background:#0e1014;color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.scan.on{opacity:1;visibility:visible;transition:opacity .2s}
html.scan-open{overflow:hidden}
.scan-top{display:flex;gap:12px;align-items:center;padding:14px 16px}
.scan-top h3{font-size:19px;color:#fff;margin:0}
.scan-top p{margin:2px 0 0;color:#b9bfcc;font-size:15px}
.scan .scan-hint2,.scan.fixed .scan-hint{display:none}.scan.fixed .scan-hint2{display:block}
.scan-x{width:44px;height:44px;border-radius:50%;border:0;background:#22262f;color:#fff;font-size:26px;line-height:1;cursor:pointer;flex:none}
.scan-stage{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;padding:8px 16px}
.scan-img{position:relative;line-height:0}
.scan-img canvas{display:block;background:#fff}
.scan-img svg{position:absolute;inset:0;touch-action:none}
.sq-shade{fill:rgba(14,16,20,.55)}
.sq-line{fill:none;stroke:#4466ff}
.sq-dot{fill:#4466ff;stroke:#fff;cursor:grab}
.scan.fixed .scan-img svg{display:none}
.scan-bot{display:grid;gap:12px;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}
.sthumbs{display:flex;gap:8px;overflow-x:auto}
.sthumb{position:relative;flex:none}
.sthumb img{height:64px;display:block;border-radius:6px;background:#fff}
.sthumb button{position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;border:2px solid #0e1014;background:#fff;color:#111;font-size:16px;line-height:1;padding:0;cursor:pointer}
.smode{display:flex;gap:4px;background:#22262f;border-radius:999px;padding:4px;justify-self:center}
.smode button{border:0;background:none;color:#cdd2dc;font:inherit;font-size:15px;font-weight:500;padding:8px 18px;border-radius:999px;cursor:pointer}
.smode button[aria-pressed="true"]{background:#fff;color:#111}
.scan.fixed .smode{display:none}
.scan-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.scan-btns .btn{min-height:50px;font-size:16px}
.scan .btn-ghost{color:#fff;border-color:#3a3f4b;background:#1a1d24}
.scan.fixed [data-sagain]{display:none}
@media (max-width:760px){.scan-btns{display:grid;grid-template-columns:1fr 1fr}.scan-btns [data-suse]{grid-column:1/-1}}

/* Firmar · «Lo que necesitas saber»: tres bloques cortos en vez de un artículo */
.know .head{margin-bottom:8px}
.know .lead{color:var(--tx2);font-size:18px;max-width:620px;margin:12px auto 0}
.know-t{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:48px 0 16px}
.know-what{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.know-what li{background:var(--bg2);border-radius:16px;padding:18px 20px;font-size:16px;line-height:1.45;color:var(--tx2)}
.know-what b{display:block;color:var(--tx);font-size:18px;font-weight:600;margin-bottom:2px}
.know-ways{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;align-items:stretch}
.way{border:1px solid var(--line2);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;background:var(--win)}
.way-us{border:2px solid var(--acc)}
.way-tag{font-size:14px;font-weight:600;color:var(--tx2);margin:0}
.way-us .way-tag{color:var(--acc)}
.way h4{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;margin:0}
.way dl{margin:0;display:grid;gap:2px;font-size:16px;line-height:1.45}
.way dt{font-size:14px;color:var(--tx2);margin-top:8px}
.way dd{margin:0;color:var(--tx)}
.way .btn{margin-top:auto;align-self:flex-start}
.way-link{margin-top:auto;font-weight:600;color:var(--acc);font-size:16px}
.way-old{background:var(--bg2);border-color:transparent}
.way-old h4,.way-old dd{color:var(--tx2)}
.know-q{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.know-q>div{border-top:2px solid var(--tx);padding-top:14px}
.know-q h4{font-size:18px;font-weight:600;margin:0 0 6px}
.know-q p{font-size:16px;line-height:1.5;color:var(--tx2);margin:0}
.know-q a{color:var(--acc);font-weight:500}
@media (max-width:760px){
  .know-t{font-size:20px;margin:36px 0 12px}
  .know-what,.know-ways,.know-q{grid-template-columns:1fr}
  .know-what li{padding:14px 16px}
  .know-q{gap:22px}
}
.know-what a{color:var(--acc);font-weight:500}

/* Firmar en el móvil: menos repetición y menos ruido (lo de «Firmarlo tú…» y «Qué puedes pedir» ya se cuenta en «Cómo firmar») */
@media (max-width:760px){
  .fr-top .m-off,.sec.m-off,.fr-top .t-uses{display:none}
  .fr-top .sub{font-size:18px}
  .know-what{gap:0;border-top:1px solid var(--line)}
  .know-what li{background:none;border-radius:0;padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
  .know-what b{font-size:17px;margin:0}
  .know-ways{gap:10px}
  .way{padding:18px;gap:6px}
  .way h4{font-size:18px}
  .way dl{gap:0}
  .way-old{padding:14px 18px}
  .way-old dl{display:none}
  .g-more{display:grid;gap:0;font-size:16px;margin-top:24px}
  .g-more b{padding-bottom:8px}
  .g-more a{text-decoration:none;color:var(--tx);padding:11px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}
  .g-more a::after{content:"›";color:var(--mu)}
}

/* Plantillas: huecos que se tocan para rellenar + páginas de texto */
.slot{position:absolute;border:0;padding:0;margin:0;background:rgba(36,72,255,.06);border-radius:3px;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(36,72,255,.35);transition:background .15s}
.slot:hover,.slot:focus-visible{background:rgba(36,72,255,.14);outline:none}
.sl-check{box-shadow:none;background:rgba(36,72,255,.05)}
.sl-sign{box-shadow:inset 0 0 0 1.5px rgba(36,72,255,.45);border-radius:6px;display:grid;place-items:center}
.sl-sign span{font:600 13px Onest,sans-serif;color:var(--acc);background:#fff;padding:4px 10px;border-radius:999px}
.sl-or{margin:18px 0 10px!important;font-weight:500;color:var(--tx)!important}
.sl-ppl{display:flex;flex-wrap:wrap;gap:8px}
.sl-p{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:inherit;font-size:16px;font-weight:500;color:var(--tx);cursor:pointer}
.sl-p i{font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:13px}
.sl-new{border-style:dashed;color:var(--acc)}
.asks-c .asks-b.one{margin-top:14px}
.asks textarea{width:100%;font:inherit;font-size:17px;line-height:1.45;padding:14px 16px;border:1.5px solid var(--line2);border-radius:14px;background:#fff;color:var(--tx);outline:none;resize:vertical;margin-top:10px;min-height:180px}
.asks textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.pg-c{width:min(620px,100%)}
.addpage{display:grid;gap:2px;justify-items:center;width:min(760px,100%);padding:18px;border:2px dashed #b9c4f2;border-radius:12px;background:var(--win);color:var(--acc);font:inherit;cursor:pointer}
.addpage b{font-size:17px;font-weight:600}
.addpage span{font-size:15px;color:var(--tx2)}
.addpage:hover{border-color:var(--acc)}
.pg-x{position:absolute;top:8px;right:8px;z-index:1;border:0;border-radius:999px;background:#16181d;color:#fff;font:500 14px Onest,sans-serif;padding:8px 14px;cursor:pointer}
@media (max-width:760px){.asks-c{max-height:92svh;overflow:auto}.sl-p{flex:1 1 auto;justify-content:center}}
.slot.used{background:none;box-shadow:none}.slot.used span{display:none}

/* Final de «firmo yo»: cuatro formas de mandarlo, todas iguales */
.end-choices.four{grid-template-columns:1fr 1fr}
.share-note{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:var(--acc-soft);color:var(--tx);font-size:16px;line-height:1.45}
.share-note a{color:var(--acc);font-weight:600;text-decoration:underline}
/* casillas propias: cuadrado redondeado, azul al marcar */
.chk input[type=checkbox],.sendform input[type=checkbox]{-webkit-appearance:none;appearance:none;width:24px;height:24px;min-height:0;padding:0;margin:1px 0 0;flex:none;border:1.5px solid var(--line2);border-radius:7px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}
.chk input[type=checkbox]::after,.sendform input[type=checkbox]::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.chk input[type=checkbox]:checked,.sendform input[type=checkbox]:checked{background:var(--acc);border-color:var(--acc)}
.chk input[type=checkbox]:checked::after,.sendform input[type=checkbox]:checked::after{opacity:1}
.chk input[type=checkbox]:focus-visible,.sendform input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px var(--acc-soft);border-color:var(--acc)}
.how input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
/* logo: botón propio */
.vh{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.logo-pick{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px;border:1.5px dashed var(--line2);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s}
.logo-in:hover .logo-pick,.logo-in:focus-within .logo-pick{border-color:var(--acc)}
.logo-btn{flex:none;padding:10px 16px;border-radius:999px;background:var(--acc-soft);color:var(--acc);font-weight:600;font-size:15px}
.logo-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx2);font-size:15px;font-weight:400}
.logo-pick .logo-prev{flex:none}
/* quitar el logo o las fotos del DNI: enlace discreto debajo */
.rm-lnk{display:block;justify-self:start;margin:8px auto 0 0;text-align:left;padding:6px 0;border:0;background:none;font:inherit;font-size:15px;color:var(--tx2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rm-lnk:hover{color:var(--err,#c62828)}
.rm-lnk[hidden]{display:none}
.logo-pick .logo-prev img{height:36px;width:auto;display:block;border-radius:6px}
.logo-pick .logo-prev img{margin:0;max-height:36px}
@media (max-width:560px){.end-choices.four{grid-template-columns:1fr;gap:10px}.end-choices.four .choice{padding:16px;align-items:center}.end-choices.four .choice svg{width:34px;height:34px;min-width:34px}.end-choices.four .choice b{font-size:18px}.end-choices.four .choice span{font-size:15px}}
.logo-pick{box-sizing:border-box;width:100%;max-width:100%}

/* Errores en rojo: junto al campo y en el editor */
:root{--err:#c8321f;--err-soft:#fdeceb}
input.bad,textarea.bad,.logo-pick.bad{border-color:var(--err)!important;box-shadow:0 0 0 3px var(--err-soft)!important}
label.chk.bad input{border-color:var(--err)!important}
label.chk.bad{color:var(--err)}
.fe{display:flex;gap:6px;align-items:flex-start;margin-top:6px;color:var(--err);font-size:15px;font-weight:500;line-height:1.35}
.fe::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;background:var(--err);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.err{color:var(--err)!important;background:var(--err-soft)!important;border-radius:12px;padding:12px 14px;font-weight:500}
.t-bar .hint.bad{background:var(--err-soft);color:var(--err);font-weight:500}
.srow.need{border-color:var(--err)!important;box-shadow:0 0 0 3px var(--err-soft);animation:need .45s}
@keyframes need{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
[data-finish].wait{opacity:.55}
.fe{color:var(--err)!important}
input.bad:focus,textarea.bad:focus{outline:none;border-color:var(--err)!important;box-shadow:0 0 0 4px var(--err-soft)!important}
.next-err{flex:1 0 100%;margin:0 0 2px;padding:12px 14px 12px 40px;border-radius:14px;background:var(--err-soft);color:var(--err);font-size:15px;font-weight:500;line-height:1.4;position:relative}
.next-err::before{content:"!";position:absolute;left:12px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--err);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}

/* ── Todas las pantallas: nada se sale, letra legible y todo fácil de tocar ── */
/* columnas que no empujan más que la pantalla */
@media (max-width:900px){.easy{grid-template-columns:minmax(0,1fr)}}
.bigphone{max-width:100%}
/* correos y enlaces largos (páginas legales, guías) parten línea en vez de salirse */
.g-art a,.g-art li,.g-body a,.foot a{overflow-wrap:anywhere}
/* en móviles muy estrechos los botones largos pasan a dos líneas */
@media (max-width:400px){.btn{white-space:normal;text-align:center;line-height:1.25;height:auto;min-height:48px;padding-top:12px;padding-bottom:12px}}
/* nada por debajo de 13 px, tampoco en las pantallas de ejemplo */
.pill,.tag,.rule,.in,.pp,.sheet b,.rw small,.app label,.app small{font-size:max(13px,1em)!important}
.sheet u,small.muted{font-size:13px!important}
.pp{white-space:normal!important;text-overflow:clip!important}
.form small,.lg-card small{font-size:14px}
/* fácil de tocar con el dedo */
@media (hover:none),(max-width:1023px){
  .brand{display:inline-flex;align-items:center;min-height:44px}
  .foot-grid a{display:block;width:fit-content;padding:7px 0}
  .foot-legal a{display:inline-block;padding:6px 0}
  .g-toc summary{padding:12px 0}
  .g-toc a{display:inline-block;padding:6px 0}
  .lnk,.way-link{display:inline-block;padding:8px 0}
}
.ui-row small,.ui-row label{font-size:13px!important}
@media (hover:none),(max-width:1023px){.g-crumbs a{display:inline-block;padding:10px 2px}.p-more summary{padding:10px 0}}
/* pantallas grandes: más ancho útil y letra algo mayor, para que no quede todo pequeño en el centro */
@media (min-width:1700px){:root{--wrap:1320px;--fs-hero:104px;--fs-h1:62px;--fs-h2:58px;--fs-h3:32px;--fs-h4:23px;--fs-lead:22px;--fs-body:19px;--fs-small:16px;--fs-label:15px}}
@media (min-width:2200px){:root{--wrap:1520px;--gut:40px;--fs-hero:120px;--fs-h1:70px;--fs-h2:64px;--fs-h3:36px;--fs-h4:25px;--fs-lead:24px;--fs-body:20px;--fs-small:17px;--fs-label:16px}body{font-size:19px}}
.fb-form label,.node small{font-size:13px!important}
.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{min-width:0}.kpi small{overflow-wrap:anywhere}
@media (max-width:360px){.kpi small{font-size:13px!important;line-height:1.15}}

/* ---------- Idiomas ---------- */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;background:none;color:var(--tx2);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s}
.lang-btn:hover,.lang.open .lang-btn{color:var(--tx);border-color:var(--tx2)}
.lang-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;width:230px;background:#fff;border:1px solid var(--line2);border-radius:16px;padding:6px;display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:5}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.lang-menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:15.5px;color:var(--tx)}
.lang-menu a b{width:26px;font-size:13px;font-weight:700;color:var(--mu)}
.lang-menu a:hover{background:var(--bg2)}
.lang-menu a[aria-current]{background:var(--bg2);font-weight:600}
.lang-menu a[aria-current] b{color:var(--acc,#2448ff)}
/* en el menú del móvil: todos los idiomas a la vista */
.lang-m .lang-btn{display:none}
.lang-m .lang-menu{position:static;width:auto;opacity:1;visibility:inherit;transform:none;border:0;padding:0;background:none;grid-template-columns:1fr 1fr;gap:6px}
.lang-m .lang-menu a{border:1px solid var(--line);padding:11px 12px;font-size:15.5px}
.lang-m .lang-menu a[aria-current]{border-color:var(--tx)}
@media (max-width:1040px){ .lang-top{display:none} }
@media (min-width:1041px){ .lang-m{display:none} }
/* pie */
.foot-langs{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:20px;font-size:14.5px}
.foot-langs a{padding:6px 0;color:var(--tx2)}
.foot-langs a:hover{color:var(--tx)}
.foot-langs a[aria-current]{color:var(--tx);font-weight:600}
/* aviso «¿Ver en tu idioma?» */
.lang-ask{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:440px;margin:0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:18px;padding:12px 12px 12px 18px;font-size:16px;color:var(--tx)}
.lang-ask p{flex:1;margin:0;line-height:1.35}
.lang-ask .btn{min-height:42px;padding:0 16px;font-size:15px;white-space:nowrap}
.lang-ask button.x{width:40px;height:40px;border:0;background:none;font-size:22px;color:var(--mu);cursor:pointer;flex:none}

/* Foto del DNI (opcional): dos botones grandes, delante y detrás, con miniatura al elegirla */
.idwrap{grid-column:1/-1;margin-top:6px}
.idup-t{font-size:16px;font-weight:500;margin:0 0 10px}.idup-t small{font-weight:400;color:var(--tx2)}
.idup{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.idbtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1.5px dashed var(--line2);border-radius:16px;background:var(--bg);cursor:pointer;text-align:center;min-width:0}
.idbtn:hover{border-color:var(--acc)}
.idbtn.has{border-style:solid;border-color:var(--acc)}
[data-docask] .idup{grid-template-columns:1fr}
.docpdf{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;background:#d93025;border-radius:6px;padding:6px 8px}
.idph{display:grid;place-items:center;width:100%;height:92px}
.idph svg{width:46px;height:46px;fill:none;stroke:var(--tx2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.idph img{max-width:100%;max-height:92px;border-radius:8px;object-fit:contain}
.idbtn b{font-size:16px;font-weight:500}.idbtn small{font-size:14px;color:var(--acc)}
.idbtn:focus-within{outline:2px solid var(--acc);outline-offset:2px}
.sg-askid{margin-top:4px;font-size:16px}.sg-askid small{display:block;color:var(--tx3,var(--tx2));font-size:14px}
.idask p{color:var(--tx2);margin:6px 0 14px}
/* idiomas con botones más largos (de, fr): el logo nunca se encoge */
.nav-in .brand{flex-shrink:0}
@media (max-width:420px){ .nav-end .btn-sm{padding:0 13px;font-size:14px} }

/* cámara dentro de la página para la foto del DNI (js/idcam.js) */
.idcam{position:fixed;inset:0;z-index:96;background:#0e1014;color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.idcam.open{opacity:1;visibility:visible;transition:opacity .2s}
.idcam-top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;font-size:18px}
.idcam-x{width:44px;height:44px;border:0;background:none;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.idcam-stage{position:relative;overflow:hidden;display:grid;place-items:center}
.idcam-stage video{width:100%;height:100%;object-fit:cover}
.idcam-frame{position:absolute;left:50%;top:50%;width:min(86%,520px);aspect-ratio:85.6/54;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:14px;box-shadow:0 0 0 100vmax rgba(0,0,0,.45);pointer-events:none}
.idcam-msg{position:absolute;left:16px;right:16px;bottom:16px;margin:0;padding:12px 14px;border-radius:12px;background:#1a1d24;font-size:16px;text-align:center}
.idcam-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
.idcam-bar .btn-ghost{color:#fff;border-color:#3a3f4b;background:#1a1d24;font-size:15px}
.idcam-shot{flex:none;width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:#fff;box-shadow:inset 0 0 0 4px #0e1014;cursor:pointer}
.idcam-shot:active{transform:scale(.94)}
/* etiqueta «🪪 DNI» en la fila de cada persona del editor (se toca para cambiarla o quitarla) */
.idtag{margin-left:8px;border:1px solid var(--line2);background:var(--bg);border-radius:999px;padding:3px 10px;font:inherit;font-size:14px;font-weight:500;color:var(--tx2);cursor:pointer;white-space:nowrap}
.idtag:hover{border-color:var(--acc);color:var(--acc)}
.asks .idup{margin:6px 0 4px}
@media (max-width:760px){ .srow .idtag{flex:none;padding:3px 8px;margin-left:6px} .srow:not(.ok) .idtag .t{display:none} }

/* «Enviado»: una tarjeta por persona, con su inicial, lo que falta y sus botones */
.sent-list{max-width:560px;width:100%;gap:10px}
.sl{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;background:#fff;border:1px solid var(--line2);border-radius:18px;padding:16px 18px}
.sl-av{width:40px;height:40px;border-radius:50%;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center;font-weight:600;font-size:17px}
.sl-t{margin:0;display:grid;gap:2px;min-width:0}
.sl-t b{font-size:17px;font-weight:600;overflow-wrap:anywhere}
.sl-t span{font-size:15px;color:var(--tx2);line-height:1.4}
.sl .sl-b{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 0 54px}
.sl .sl-b .btn{min-height:44px;padding:0 18px;font-size:15.5px}
.sl .btn.wa{display:inline-flex;align-items:center;gap:8px}
.sl .btn.wa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){ .sl .sl-b{margin-left:0} .sl .sl-b .btn{flex:1 1 auto;justify-content:center} }

/* aviso de gracias en el prototipo: centrado bajo el título, con un ✓ */
.pt-thanks{margin:18px auto 4px;max-width:620px;background:#eef8f2;color:#0b5e3c;border:0;border-radius:18px;padding:14px 18px;font-size:16px;line-height:1.45;text-align:left}
.pt-thanks:not([hidden]){display:flex;gap:12px;align-items:flex-start}
.pt-thanks i{font-style:normal;flex:none;width:26px;height:26px;border-radius:50%;background:#1f9d5c;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;margin-top:1px}
.pt-thanks b{font-weight:600}
.sl{align-items:start}.sl-av{margin-top:1px}
/* «Enviado»: tarjeta de cada persona con los botones a la derecha (en el ordenador) y debajo una nota con lo que pasa después */
.sl{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;text-align:left}
.sl .sl-b{grid-column:auto;margin:0;flex-wrap:nowrap}
.sent-note{max-width:560px;width:100%;margin:2px auto 6px!important;background:var(--bg2);border-radius:16px;padding:14px 18px;text-align:left;font-size:16px!important;line-height:1.5;color:var(--tx2)}
.sent-note b{color:var(--tx);font-weight:600;overflow-wrap:anywhere}
@media (max-width:760px){ .sl{grid-template-columns:auto minmax(0,1fr)} .sl .sl-b{grid-column:1/-1;flex-wrap:wrap} }

/* «Solo firmo yo»: dos opciones claras y, para mandarlo, el mismo formulario que al pedir firmas */
.end-choices.two{grid-template-columns:1fr 1fr}
@media (max-width:560px){ .end-choices.two{grid-template-columns:1fr} }
.sendform.deliver .logo-in,.sendform.deliver .idwrap{display:none}

/* /firmar · experiencia de firma (30-10): subida con estados, documento a medias, documento abierto, resumen antes de enviar y avisos */
.drop.busy{pointer-events:none;border-style:solid;border-color:var(--acc);background:var(--acc-soft)}
.drop.busy svg{animation:md-lift 1.1s ease-in-out infinite}
.drop.busy .btn{opacity:.5}
@keyframes md-lift{50%{transform:translateY(-6px)}}
.up-msg{margin:12px 0 0;padding:12px 16px;border-radius:14px;background:var(--err-soft);color:var(--err);font-size:16px;line-height:1.45}
.up-note{margin:12px 4px 0;font-size:14px;line-height:1.45;color:var(--tx2);text-align:center}
.resume{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1.5px solid var(--acc);background:var(--acc-soft);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.resume p{flex:1 1 200px;margin:0;display:grid;gap:2px;font-size:15px;color:var(--tx2);line-height:1.35;min-width:0}
.resume p b{color:var(--tx);font-size:17px;overflow-wrap:anywhere}
.resume p small{font-size:13px}
.resume-b{display:flex;gap:8px;flex-wrap:wrap}
.resume-b .btn{min-height:46px}
.rv-ico{flex:none;display:inline-grid;place-items:center;width:36px;height:44px;border-radius:6px;border:1.5px solid var(--line2);background:#fff;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--err)}
.docline{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--line2);font-size:15px;color:var(--tx2);min-width:0}
.docline .rv-ico{width:26px;height:32px;font-size:8.5px;border-radius:4px}
.docline b{color:var(--tx);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.docline [data-dpages]{white-space:nowrap}
.dl-chg{margin-left:auto;flex:none;border:0;background:none;color:var(--acc);font:inherit;font-weight:600;min-height:44px;padding:0 2px;cursor:pointer}
.dl-chg:hover{text-decoration:underline}
.tool.compact .docline{display:none}
@media (max-width:560px){ .docline [data-dpages]{display:none} }
.pg-load{padding:80px 16px;text-align:center;color:var(--tx2);font-size:16px}
.ov:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.t-pane:focus{outline:none}
.review{display:grid;gap:10px;border:1px solid var(--line2);border-radius:16px;padding:14px 16px;background:#fff}
.rv-doc{display:flex;align-items:center;gap:12px;margin:0;min-width:0}
.rv-t{display:grid;gap:1px;min-width:0}
.rv-t b{font-size:17px;overflow-wrap:anywhere}
.rv-t small{font-size:14px;color:var(--tx2)}
.rv-ppl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rv-ppl li{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--tx2);line-height:1.35}
.rv-ppl i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;background:var(--c,#2448ff);flex:none}
.rv-edit{justify-self:start;border:0;background:none;color:var(--acc);font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:0;cursor:pointer}
.rv-edit:hover{text-decoration:underline}
.priv-note{font-size:14px;color:var(--tx2);margin:0;line-height:1.45}
.sent-doc{color:var(--tx2);font-size:16px;margin:-6px 0 14px;overflow-wrap:anywhere}
.md-toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translate(-50%,10px);z-index:120;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100% - 32px);background:#16181d;color:#fff;border-radius:14px;padding:8px 16px;min-height:52px;font-size:16px;line-height:1.35;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s .2s}
.md-toast.on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
.md-toast button{flex:none;border:0;background:none;color:#a9b8ff;font:inherit;font-weight:600;min-height:44px;padding:0 4px;cursor:pointer}
body.md-working .lang-ask{display:none}
@media (max-width:560px){ .spad{height:min(44vh,300px)} }
@media (max-width:560px){ .resume-b{width:100%;flex-direction:column-reverse}.resume-b .btn{width:100%;justify-content:center} }
.drop:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.slot:focus-visible{outline:3px solid var(--acc);outline-offset:1px}
.logo-in,.logo-pick{min-width:0}.logo-pick{overflow:hidden}

/* aviso de cookies (js/consent.js): abajo, «Aceptar» y «Rechazar» iguales; no tapa la barra del editor ni el aviso de idioma */

/* página de firma: quién trata tus datos (primera capa de privacidad, desplegable) */
.sg-legal p{margin:0}
.sg-priv{margin-top:8px}
.sg-priv summary{cursor:pointer;color:var(--acc);font-weight:500;list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:32px}
.sg-priv summary::-webkit-details-marker{display:none}
.sg-priv summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.sg-priv[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.sg-priv ul{margin:6px 0 8px;padding-left:18px;display:grid;gap:6px}
.sg-priv b{color:var(--tx);font-weight:500}

/* «Firmar gratis»: aviso de condiciones junto a «Terminar» */
.t-terms{font-size:var(--fs-small);color:var(--tx2);text-align:center;margin:4px 0 0}
.t-terms a{color:var(--acc);text-decoration:underline}
@media (max-width:600px){ .t-terms{text-align:center} }
.priv-note:empty{display:none}

/* página de firma: código de un solo uso antes de firmar */
.sg-otp{width:100%;display:grid;gap:10px;justify-items:center;text-align:center;margin:0 0 4px}
.sg-otp p{margin:0;font-size:16px;line-height:1.45;color:var(--tx2)}
.sg-otp b{color:var(--tx);font-weight:500}
.sg-otp-in{width:100%;max-width:240px;height:56px;border:1.5px solid var(--line2);border-radius:14px;text-align:center;font-size:26px;letter-spacing:.35em;font-variant-numeric:tabular-nums;background:#fff;color:var(--tx)}
.sg-otp-in:focus{outline:none;border-color:var(--acc)}
.sg-otp-re{background:none;border:0;color:var(--acc);font:inherit;font-size:15px;text-decoration:underline;cursor:pointer;padding:4px 8px;min-height:32px}
.sg-bar:has(.sg-otp:not([hidden])){background:#fff}
.vc-rem{margin:10px 0 0;justify-content:center}

/* ¿Firma simple o avanzada? */
.know-levels em{font-style:normal;font-weight:600;color:var(--acc)}
.know-note{max-width:760px;margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--tx2)}
.know-note b{color:var(--tx)}
.sig-level{margin:2px 0 10px;padding:12px 14px;border-radius:12px;background:var(--acc-soft,#eef1ff);font-size:15px;line-height:1.45;color:var(--tx2)}
.sig-level b{color:var(--tx)}
.sg-dni-in{display:grid;gap:6px;justify-items:center;font-size:16px;color:var(--tx2);width:100%}
.sg-dni-f{letter-spacing:.12em;font-size:22px;text-transform:uppercase}

.soon{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--bg2);color:var(--tx2);font-size:13px;font-weight:500;vertical-align:middle;white-space:nowrap}

/* Al enviar: firma simple o avanzada */
.lvl{display:grid;gap:10px;margin-bottom:6px}
.lvl-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lvl-opts label{cursor:pointer;display:block}
.lvl-opts input{position:absolute;opacity:0;pointer-events:none}
.lvl-opts span{display:block;height:100%;border:1.5px solid var(--line2);border-radius:16px;padding:14px 16px;background:#fff}
.lvl-opts b{display:block;font-size:17px;font-weight:600;color:var(--tx);margin-bottom:4px}
.lvl-opts small{display:block;font-size:15px;line-height:1.45;color:var(--tx2)}
.lvl-opts input:checked+span{border-color:var(--acc);background:var(--acc-soft,#eef1ff)}
.lvl-opts input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
/* con varias personas: cómo firman (a la vez o en orden) y qué ven en su copia; mismas tarjetas que el tipo de firma */
.sg-opts{margin-top:18px}
.sg-opts[hidden]{display:none}
.sg-opts .lvl-opts+.how-t{margin-top:18px}
/* elegir el orden (solo con «Una detrás de otra»): «firma en 1.º lugar», botones «↑ Antes / ↓ Después» y la línea con el orden completo */
.sg-ord,.sg-seq{display:none}
.sendform.ordered .sg-ord{display:inline;font-weight:500;color:var(--tx2)}
.sendform.ordered .sg-seq{display:block;margin:10px 0 0;padding:10px 14px;border-radius:12px;background:var(--acc-soft,#eef1ff);color:var(--tx);font-size:15px;font-weight:500}
.sg-mv{display:none;margin-left:auto;gap:6px;flex-wrap:wrap}
.sendform.ordered .sg-mv{display:flex}
.sg-mv button{padding:7px 12px;border:1.5px solid var(--line2);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:600;color:var(--tx);cursor:pointer}
.sg-mv button:hover:not(:disabled){border-color:var(--acc);color:var(--acc)}
.sg-mv button:disabled{opacity:.35;cursor:default}
.sg-pt{flex-wrap:wrap}
.sg-p{transition:background-color .6s}
.sg-p.moved{background:var(--acc-soft,#eef1ff);border-radius:14px}
.lvl-note{margin:0;font-size:15px;line-height:1.45;color:var(--tx2)}
.lvl-note a{color:var(--acc)}
.how label.off{opacity:.4;cursor:not-allowed}
@media (max-width:600px){ .lvl-opts{grid-template-columns:1fr} }

/* ¿Firma simple o avanzada? (tarjetas comparables, mismo lenguaje que .way) */
.lv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.lv{border:1px solid var(--line2);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;background:var(--win)}
.lv-adv{border:2px solid var(--acc)}
.lv-q{background:var(--bg2);border-color:transparent}
.lv-tag{font-size:14px;font-weight:600;color:var(--tx2);margin:0}
.lv-adv .lv-tag{color:var(--acc)}
.lv h4{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;margin:0}
.lv-q h4,.lv-q dd{color:var(--tx2)}
.lv-bar{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--tx2)}
.lv-bar i{width:26px;height:6px;border-radius:3px;background:var(--line2)}
.lv-bar i.on{background:var(--acc)}
.lv-q .lv-bar i.on{background:var(--tx2)}
.lv-bar span{margin-left:8px}
.lv dl{margin:0;display:grid;gap:2px;font-size:16px;line-height:1.45}
.lv dt{font-size:14px;color:var(--tx2);margin-top:8px}
.lv dd{margin:0;color:var(--tx)}
.lv-foot{margin:auto 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:15px;color:var(--tx2)}
.lv .way-link{margin-top:auto}
.lv-note{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;padding:16px 20px;border-radius:16px;background:var(--bg2);font-size:16px;line-height:1.5;color:var(--tx2)}
.lv-note p{margin:0}
.lv-note b{color:var(--tx)}
.lv-note a{color:var(--acc);font-weight:500}
@media (max-width:900px){ .lv-cards,.lv-note{grid-template-columns:1fr} }
@media (max-width:900px){ .lv-q dl{display:none} .lv-q{padding:16px 20px;gap:6px} }

/* Capturas reales de MultiDocs en las guías (02-11-2026) */
.g-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 8px;align-items:start}
.g-shots figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.g-shots img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:top}
.g-shots figcaption{font-size:15px;line-height:1.4;padding:10px 12px;color:var(--tx2);border-top:1px solid var(--line)}
@media (max-width:760px){.g-shots{grid-template-columns:1fr;gap:12px}.g-shots img{max-height:420px}}
/* móvil: tu fila ya no lleva interruptor, sino la × como las demás; y «+ Firmo yo también» baja a su línea si no cabe */
@media (max-width:760px){
  .srow.pme:not(.off) .sacts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}
  .srow.pme.ok .sacts{grid-template-columns:minmax(0,1fr) auto}
  .srow.off{flex-wrap:wrap;row-gap:8px}
  .srow.off .sacts{display:flex;margin-left:auto}
}
.sg-doc small{display:inline;font-size:15px;color:var(--tx2)}
.sendform label.sg-doc{display:block}.sendform label.sg-doc input{margin-top:6px}
@media (max-width:600px){.more>summary{flex-wrap:wrap;column-gap:6px}.more>summary small{flex:1 1 auto}}
/* «Cada uno ve lo suyo»: qué ve cada firmante, por defecto o compartiendo */
.share{max-width:860px}
.share-tbl{width:100%;border-collapse:collapse;margin-top:28px;font-size:17px}
.share-tbl th,.share-tbl td{padding:14px 12px;border-bottom:1px solid var(--line2);text-align:center;vertical-align:middle}
.share-tbl tbody th{text-align:left;font-weight:500;color:var(--tx)}
.share-tbl thead th{font-size:16px;font-weight:600;color:var(--tx);width:26%}
.share-tbl thead small{display:block;font-weight:400;font-size:14px;color:var(--tx2)}
.share-tbl .y{color:#127a3e;font-weight:700;font-size:19px}
.share-tbl .n{color:var(--tx2)}
.share-foot{margin:20px 0 0;color:var(--tx2);font-size:16px;line-height:1.5;text-align:center}
@media (max-width:600px){.share-tbl{font-size:15px}.share-tbl th,.share-tbl td{padding:12px 6px}.share-tbl thead th{width:28%;font-size:14px}}
.share .head{margin-bottom:0}.share .share-tbl{margin-top:8px}
@media (max-width:600px){.share-tbl thead small{display:none}}

/* ── Envío, estilo Apple: tres bloques numerados, selectores de dos opciones con su explicación debajo y un resumen antes de enviar ── */
.sendform{gap:16px}
.sendform .sf-sec{border:1px solid var(--line2);border-radius:20px;padding:22px 22px 24px;background:#fff;gap:14px}
.sendform .sf-sec>legend{display:flex;align-items:center;gap:10px;float:left;width:100%;margin:0 0 4px;padding:0;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--tx)}
.sendform .sf-sec>legend+*{clear:both}
.sendform .sf-sec>legend i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--tx);color:#fff;font-style:normal;font-size:14px;font-weight:600}
.sendform .sf-sec>legend small{font-size:15px;font-weight:400;color:var(--tx2)}
.sendform .how-t{font-size:15px;font-weight:600;color:var(--tx2);margin:6px 0 0}
.sendform .how-t small{font-weight:400}
.sendform .lvl,.sendform .sg-opts{margin:0;display:grid;gap:8px}
/* selector de dos opciones */
.sendform .lvl-opts{display:flex;gap:4px;padding:4px;background:var(--bg2,#f2f3f6);border-radius:14px}
.sendform .lvl-opts label{flex:1 1 0;min-width:0}
.sendform .lvl-opts span{height:auto;border:0;border-radius:11px;padding:11px 10px;background:transparent;text-align:center;transition:background .2s,color .2s}
.sendform .lvl-opts b{margin:0;font-size:16px;font-weight:500;color:var(--tx2)}
.sendform .lvl-opts small{display:none}
.sendform .lvl-opts input:checked+span{background:#fff;border:1px solid var(--line2);padding:10px 9px}
.sendform .lvl-opts input:checked+span b{color:var(--tx);font-weight:600}
.sendform .seg-help{margin:0;font-size:15px;line-height:1.45;color:var(--tx2)}
.sendform .lvl-note{margin:0;font-size:14px;color:var(--tx2)}
.sendform .sg-opts .lvl-opts+.seg-help+.sg-seq,.sendform .sg-opts>[data-sharewrap]{margin-top:2px}
.sendform [data-sharewrap]{display:grid;gap:8px}
.sendform [data-sharewrap][hidden]{display:none}
/* resumen */
.sf-sum{display:flex;flex-wrap:wrap;gap:6px 8px;padding:14px 16px;border-radius:16px;background:var(--acc-soft,#eef1ff)}
.sf-sum[hidden]{display:none}
.sf-sum span{font-size:15px;font-weight:500;color:var(--tx)}
.sf-sum span+span::before{content:"·";margin-right:8px;color:var(--tx2)}
@media (max-width:600px){.sendform .sf-sec{padding:18px 16px 20px;border-radius:18px}.sendform .sf-sec>legend{font-size:18px}.sendform .lvl-opts b{font-size:15px}}
/* sin números en los bloques (se confundían con «Persona 1, 2…»); cada persona en su tarjeta; resumen en píldoras */
.sendform .sf-sec>legend i{display:none}
.sendform .sf-sec>legend{flex-wrap:wrap;row-gap:2px}
@media (max-width:600px){.sendform .sf-sec>legend small{flex-basis:100%}}
.sendform .signers{display:grid;gap:12px}
.sendform .signers .sg-p{border:1px solid var(--line2);border-radius:16px;padding:14px 14px 16px;background:#fff}
.sendform .signers .sg-p:only-child{border:0;padding:0}
.sf-sum{gap:8px}
.sf-sum span{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line2);font-size:14px}
.sf-sum span+span::before{content:none}
/* «Pedirle un documento»: con algo escrito, ✓ y aviso de que se le pedirá */
.sendform label.sg-doc:has(input:not(:placeholder-shown)) input{border-color:var(--ok);padding-right:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%230f7a4f'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/24px}
.sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Se lo pediremos al firmar: lo adjunta desde su móvil.";display:block;margin-top:6px;font-size:15px;color:var(--ok)}
:lang(ca) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Li ho demanarem en signar: ho adjunta des del mòbil."}
:lang(eu) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Sinatzean eskatuko diogu: mugikorretik eransten du."}
:lang(gl) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Pedirémosllo ao asinar: achégao desde o móbil."}
:lang(en) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"We’ll ask for it when they sign: they attach it from their phone."}
:lang(fr) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Nous le lui demanderons à la signature : il le joint depuis son mobile."}
:lang(de) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Wir fordern es beim Unterschreiben an: Es wird direkt vom Handy angehängt."}
:lang(it) .sendform label.sg-doc:has(input:not(:placeholder-shown))::after{content:"Glielo chiederemo alla firma: lo allega dal cellulare."}
/* «?» que abre la explicación en una ventana (js/qpop.js) */
.qhelp{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:8px;vertical-align:2px;border-radius:50%;border:1.5px solid var(--acc);background:#fff;color:var(--acc);font:600 15px/1 inherit;cursor:pointer;padding:0}
.qhelp:hover{background:var(--acc);color:#fff}
dialog.qpop{border:0;border-radius:20px;padding:0;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--tx)}
dialog.qpop::backdrop{background:rgba(20,22,27,.45)}
.qpop-in{position:relative;padding:28px 28px 24px}
.qpop-in .head{margin-bottom:18px}
.qpop-in .head h2{font-size:clamp(26px,3vw,34px)}
.qpop-x{position:sticky;top:0;float:right;margin:-12px -12px 0 0;width:40px;height:40px;border-radius:50%;border:0;background:var(--bg2);color:var(--tx);font-size:24px;line-height:1;cursor:pointer}
@media (max-width:600px){.qpop-in{padding:22px 16px 18px}}
/* a muchas personas: cada una firma su copia (js/firmar.js) */
.sg-bulk{margin-bottom:14px}
.sg-bulk .sg-list{margin-top:14px}
.sendform .sg-list label{display:block;font-size:16px}
.sg-list small{display:inline;font-size:15px;color:var(--tx2)}
.sendform .sg-list textarea{display:block;width:100%;margin-top:6px;min-height:170px;font-size:16px;line-height:1.5;resize:vertical}
.sg-bcount{margin:8px 0 0;font-size:15px;color:var(--ok)}
.sg-bcount.bad{color:#b42318}
.signers.bulk label:has([data-n]),.signers.bulk label:has([data-e]),.signers.bulk label:has([data-ph]),.signers.bulk label.sg-dni{display:none !important}
.sg-bprev{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.sg-bprev li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--bg2);font-size:15px}
.sg-bprev li i{width:30px;height:30px;border-radius:50%;background:#e8ecff;color:var(--acc);display:grid;place-items:center;font-style:normal;font-weight:600;font-size:13px;flex:none}
.sg-bprev li span{display:grid;min-width:0;flex:1}
.sg-bprev li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-bprev li small{font-size:14px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-bprev li em{font-style:normal;font-weight:700;color:var(--ok);flex:none}
.sg-bprev li.bad{background:#fff3f1}.sg-bprev li.bad i{background:#fde2de;color:#b42318}.sg-bprev li.bad small,.sg-bprev li.bad em{color:#b42318}
.sg-bnote{margin:12px 0 0;font-size:15px;color:var(--tx2)}
/* cuatro formas de enviarlo: correo, WhatsApp, SMS y copiar el enlace */
.how{grid-template-columns:repeat(4,1fr)}
@media (max-width:600px){.how{grid-template-columns:repeat(2,1fr)}}
/* «Muchas personas»: nota bajo la fila y enlace para cambiar a ese modo al llegar a 5 */
.smany{margin:2px 0 0;font-size:15px;line-height:1.45;color:var(--tx2)}
.smany .lnk{border:0;background:none;padding:0;font:inherit;color:var(--acc);font-weight:600;cursor:pointer;text-align:left}
/* hasta 20 personas en el mismo documento: un color para cada una */
.p5{--c:#0e7490}.p6{--c:#a16207}.p7{--c:#4d7c0f}.p8{--c:#9333ea}.p9{--c:#b91c1c}.p10{--c:#1d4ed8}.p11{--c:#c2410c}.p12{--c:#047857}.p13{--c:#6d28d9}.p14{--c:#be123c}.p15{--c:#0369a1}.p16{--c:#854d0e}.p17{--c:#15803d}.p18{--c:#7e22ce}.p19{--c:#9f1239}
/* con 3 o más personas: filas más bajas y la lista con su propio scroll, para que el documento siga a la vista */
.tool.crowd .t-pane[data-p="1"] > .t-bar .srows{max-height:30vh;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.tool.crowd .srow{padding:4px 6px 4px 12px}
.tool.crowd .sb{min-height:36px;padding:0 12px;font-size:14px}
.tool.crowd .sx{width:32px;height:32px}
@media (max-width:760px){.tool.crowd .t-pane[data-p="1"] > .t-bar .srows{max-height:26vh}.tool.crowd .srow{flex-direction:row;align-items:center}.tool.crowd .srow .sacts{display:flex}.tool.crowd .sb .lg{display:none}.tool.crowd .sb .sh{display:inline}}
/* «No voy a firmar» en la página de quien firma: discreto, debajo de la barra de firmar */
.sg-no{text-align:center;margin:10px 0 0}
.sg-no-b{border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:12px 22px;font:inherit;font-size:16px;font-weight:500;color:var(--tx);cursor:pointer;min-height:48px}
.sg-no-b:hover{border-color:var(--tx)}
.sg-no{margin-top:14px}
.sg-decl{display:grid;gap:10px;margin:12px 0 0;padding:16px;border:1px solid var(--line2);border-radius:16px;background:#fff}
.sg-decl[hidden]{display:none}
.sg-decl label{display:grid;gap:6px;font-weight:600}
.sg-decl small{font-weight:400;color:var(--tx2)}
.sg-decl textarea{font:inherit;padding:10px 12px;border:1.5px solid var(--line2);border-radius:12px;resize:vertical}
.sg-decl-b{display:flex;gap:10px;justify-content:flex-end}
.tool{scroll-margin-top:calc(var(--navh,64px) + 8px)} /* al cambiar de paso, los pasos no quedan bajo la cabecera */

.sendform .sf-sec[hidden]{display:none}
.sg-priv>p{margin:8px 0 0}
.sendform .sg-askid{align-items:center}
.sg-bnote{margin-bottom:-6px}

/* funciones del plan de pago (panel) en portada y /pymes */
.a-plan{font-size:16px;font-weight:600;color:var(--acc);margin:0 0 16px}
.sg-promo{margin-top:28px;padding:20px 22px;border-radius:18px;background:var(--bg2,#f5f6f8);display:grid;gap:12px;justify-items:center;max-width:520px}.sg-promo p{font-size:17px!important;margin:0}

/* SEO: la búsqueda va en el <h1> pequeño (etiqueta) y el eslogan grande es <p class="hx"> con el mismo aspecto que antes */
.hx{font-weight:700;letter-spacing:-.035em;line-height:1.04;margin:0}
h1.label,h1.badge{letter-spacing:normal;line-height:inherit}
h1.badge{font-size:15px;font-weight:600}
.s-copy .hx,.p-hero .hx,.home-hero .hx,.fr-hero .hx{color:var(--tx)}
.sig-gen{margin:6px 0 34px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#f5f6f8;display:grid;gap:14px}.sig-gen-t{font-weight:700;font-size:19px}.sig-gen canvas{display:block;width:100%;height:200px;background:#fff;border:1.5px dashed var(--line2);border-radius:14px;touch-action:none;cursor:crosshair}.sig-gen-b{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center}.sig-gen-n{font-size:15px;color:var(--tx2);margin:0}
@media (max-width:640px){.sig-gen{padding:16px}.sig-gen canvas{height:170px}.sig-gen-b .btn-lg{flex:1}}
.sig-gen .btn-acc,.sig-gen .btn-acc:hover{color:#fff;text-decoration:none}.sig-gen .btn-ghost{text-decoration:none}
.pcalc{margin:24px 0 28px;padding:26px;border:1px solid var(--line);border-radius:24px;background:#fff;display:grid;gap:18px}
.pc-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.pc-top label{font-weight:700;font-size:18px}.pc-top output{font-weight:700;font-size:18px;color:var(--acc)}
.pcalc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:linear-gradient(var(--acc),var(--acc)) 0/var(--pct,20%) 100% no-repeat,#e8ebf2;outline:none}
.pcalc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--acc);box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:grab}
.pcalc input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--acc);cursor:grab}
.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.pc-list li{display:grid;grid-template-columns:170px 1fr 80px;align-items:center;gap:6px 14px}
.pc-n{font-weight:600;font-size:16px}.pc-bar{height:14px;border-radius:99px;background:#f0f2f6;overflow:hidden}.pc-bar i{display:block;height:100%;border-radius:99px;background:#c5cad6;transition:width .35s cubic-bezier(.3,0,.2,1)}
.pc-list b{text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.pc-list small{grid-column:2/4;font-size:14px;color:var(--tx2);margin-top:-4px}
.pc-list li.me .pc-n,.pc-list li.me b{color:var(--acc)}.pc-list li.me .pc-bar i{background:var(--acc)}
.pc-note{font-size:14px;color:var(--tx2);margin:0}.g-cmp tr.me td{background:#eef1ff}
@media (max-width:640px){.pcalc{padding:18px}.pc-list li{grid-template-columns:1fr 70px}.pc-n{grid-column:1/3;font-size:15px}.pc-bar{grid-column:1}.pc-list b{grid-column:2;grid-row:2}.pc-list small{grid-column:1/3}}
.g-art .pcalc .pc-list,.pcalc .pc-list{margin:0;padding:0}.pcalc .pc-list li{margin:0;padding:0}.pcalc .pc-list li::before{display:none}
.ptab{display:table;font-size:16px}.ptab th,.ptab td{vertical-align:middle;padding:16px 12px}.ptab thead th{font-size:14px;color:var(--tx2);background:none;border-bottom:1px solid var(--line2)}
.ptab tbody th{font-weight:600;text-align:left;background:none}.ptab tbody th small{display:block;font-weight:400;font-size:13px;color:var(--tx2)}
.ptab td b{display:block;font-size:20px;font-variant-numeric:tabular-nums}.ptab td small{display:block;font-size:13px;color:var(--tx2);margin-top:2px}
.ptab .pt-y::before{content:"✓ ";color:#127a3e;font-weight:700}.ptab .pt-n{color:var(--tx2)}
.ptab tr.me th,.ptab tr.me td{background:#eef1ff}.ptab tr.me th,.ptab tr.me b{color:var(--acc)}
@media (max-width:640px){.ptab{display:block}.ptab tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:14px 12px;border-bottom:1px solid var(--line)}.ptab tbody th{grid-column:1/3;padding:0;border:0}.ptab td{padding:0;border:0;min-width:0}.ptab td::before{content:attr(data-l);display:block;font-size:12px;color:var(--tx2)}.ptab td[data-l="Cobra por usuario"]{grid-column:1/3}.ptab tr.me{background:#eef1ff;border-radius:12px}}
.g-dl .btn.btn-acc,.g-dl .btn.btn-acc:hover{color:#fff!important;text-decoration:none}@media (max-width:640px){.g-dl .btn{width:100%;justify-content:center}}

/* Móvil limpio: precios y pie */
@media (max-width:640px){
  .ptab tbody tr{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:start;padding:16px 2px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
  .ptab tbody tr.me{background:#eef1ff;border-radius:16px;border-bottom:0;padding:16px 14px;margin-bottom:4px}
  .ptab tbody th{grid-column:1;grid-row:1;padding:0;border:0;font-size:17px}
  .ptab tbody th small{display:inline;margin-left:6px}
  .ptab td{padding:0;border:0;min-width:0;width:auto}
  .ptab td[data-l="Plan gratis"]{grid-column:1;grid-row:2;font-size:14px;color:var(--tx2)}
  .ptab td[data-l="Plan gratis"]::before{content:"Plan gratis: "!important;display:inline!important;font-size:14px!important;font-weight:400!important;color:var(--tx2)!important;margin:0!important}
  .ptab td[data-l="Precio al mes"]{grid-column:2;grid-row:1/3;text-align:right}
  .ptab td[data-l="Precio al mes"]::before,.ptab td[data-l="Cobra por usuario"]{display:none!important}
  .ptab td b{font-size:19px}.ptab td small{font-size:12.5px;max-width:150px;margin-left:auto}
  .ptab .pt-y::before{content:""}
  .pc-list li{grid-template-columns:1fr auto!important;gap:8px 12px}.pc-n{grid-column:1!important;grid-row:1}.pc-list b{grid-column:2!important;grid-row:1!important;font-size:17px}.pc-bar{grid-column:1/3!important;grid-row:2;height:10px}.pc-list small{display:none}
  .pcalc{gap:16px}.pc-top{flex-direction:column;align-items:flex-start;gap:4px}
  .foot-grid{grid-template-columns:1fr!important;gap:0;padding-bottom:8px}
  .foot-grid>div:first-child{padding-bottom:20px}
  .foot-grid>div:not(:first-child){border-top:1px solid var(--line)}
  .foot-grid>div h3{margin:0;padding:16px 0;font-size:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .foot-grid>div h3::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--tx2);border-bottom:1.6px solid var(--tx2);transform:rotate(45deg) translateY(-3px);transition:transform .25s}
  .foot-grid>div.open h3::after{transform:rotate(-135deg) translateY(-1px)}
  .foot-grid>div:not(:first-child) a{display:none}
  .foot-grid>div.open a{display:block;padding:9px 0;font-size:16px}.foot-grid>div.open{padding-bottom:10px}
}
@media (max-width:640px){
  .ptab td[data-l="Precio al mes"]{display:contents}
  .ptab td[data-l="Precio al mes"] b{grid-column:2;grid-row:1;text-align:right}
  .ptab td[data-l="Precio al mes"] small{grid-column:1/3;grid-row:3;max-width:none;margin:2px 0 0;text-align:left;font-size:13px;color:var(--tx2)}
  .ptab td[data-l="Plan gratis"]{grid-column:1/3}
}
/* Móvil: que todo se lea (sin palabras partidas ni letra diminuta) */
@media (max-width:640px){
  .hero .kpi small{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .hero .kpi{padding:9px 10px;min-width:0}
  .hero .paper,.hero .paper p{font-size:12.5px!important;line-height:1.5}
  .hero .paper .pt{font-size:13px!important}
  .hero .sgl{font-size:12.5px!important}
  .sc-card .paper,.sc-card .paper *{font-size:13px!important}
}

/* Portada: sellos, «Para particulares / Para empresas», números */
.trustrow{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line2);border-radius:18px;background:#fff;margin:0 0 72px;overflow:hidden}
.trustrow>div{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 14px;font-size:15px;font-weight:600;color:var(--tx2);text-align:left;line-height:1.3}
.trustrow>div+div{border-left:1px solid var(--line2)}
.trustrow svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--tx);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.who2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.who2-c{border:1px solid var(--line2);border-radius:24px;padding:36px;background:#fff;display:flex;flex-direction:column;gap:14px}
.who2-c.who2-e{background:#0b0d11;color:#fff;border-color:#0b0d11}
.who2-s{font-size:14px;font-weight:700;color:var(--acc);margin:0}.who2-e .who2-s{color:#8fa3ff}
.who2-c h3{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.035em;line-height:1.08;margin:0}
.who2-c>p{color:var(--tx2);margin:0;font-size:var(--fs-body)}.who2-e>p{color:#c9ccd6}
.who2-c ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.who2-c li{display:flex;gap:10px;align-items:center;font-size:var(--fs-body)}
.who2-c li svg{width:20px;height:20px;flex:none;fill:none;stroke:#127a3e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.who2-e li svg{stroke:#7ee2a8}
.who2-b{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:16px}
.who2-e .btn-acc{background:#fff;color:#0b0d11}.who2-e .lnk{color:#fff}
.origin{margin:22px 0 0;color:var(--mu);font-size:var(--fs-small)}
.bignums{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bignums>div{border-top:2px solid var(--tx);padding-top:20px}
.bignums b{display:block;font-size:clamp(48px,5.4vw,80px);letter-spacing:-.05em;line-height:1;font-weight:700;white-space:nowrap}
.bignums p{color:var(--tx2);margin:12px 0 0;font-size:var(--fs-body);max-width:260px}
.bignums-note{margin:26px 0 0;color:var(--mu);font-size:var(--fs-small)}
@media (max-width:900px){.trustrow{grid-template-columns:1fr 1fr}.trustrow>div{justify-content:flex-start;border-left:0!important;border-top:1px solid var(--line2)}.trustrow>div:nth-child(-n+2){border-top:0}.trustrow>div:nth-child(2n){border-left:1px solid var(--line2)!important}.trustrow>div:last-child{grid-column:1/3}.bignums{grid-template-columns:1fr 1fr;gap:28px 16px}}
@media (max-width:640px){.who2{grid-template-columns:1fr}.who2-c{padding:26px 22px}.trustrow{margin-bottom:48px}.trustrow>div{padding:14px 12px;font-size:14px}.bignums b{font-size:44px}}
.who2-c li{align-items:flex-start}.who2-c li svg{margin-top:3px}.who2-e li b{color:#fff}
/* Portada v3: «¿Quién firma?» con escenas propias y un solo dato */
.pg-index .trustrow{display:none}
.trustline{display:flex;flex-wrap:wrap;gap:8px 26px;margin:0 0 64px;padding:0 0 22px;border-bottom:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--tx2)}
.trustline span{display:inline-flex;align-items:center;gap:8px}
.trustline span::before{content:"";width:7px;height:7px;border-radius:50%;background:#127a3e}
.who3-h{font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;margin:0 0 40px}
.who3{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.w3{display:flex;flex-direction:column}
.w3-vis{background:var(--bg2);border-radius:22px;height:300px;display:grid;place-items:center;overflow:hidden;margin-bottom:26px;position:relative}
.w3 h3{font-size:clamp(28px,2.6vw,36px);letter-spacing:-.035em;margin:0 0 8px}
.w3>p{color:var(--tx2);margin:0 0 8px;font-size:var(--fs-body);max-width:520px}
.w3 .w3-plan{font-size:15px;color:var(--tx2);margin-top:6px}.w3-plan b{color:var(--tx)}
.w3 .lnk{margin-top:10px;font-weight:600}.w3-b{display:flex;gap:22px;flex-wrap:wrap}.lnk-2{color:var(--tx2)!important}
.ppr{width:250px;background:#fff;border-radius:6px;padding:26px 26px 18px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px rgba(16,24,40,.10);transform:rotate(-3deg) translateY(28px)}
.ppr-t{font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 14px;text-align:center}
.ppr i{display:block;height:6px;border-radius:3px;background:#eceef2;margin-bottom:9px}.ppr i.s{width:68%}
.ppr-f{border-top:1px solid #d4d7df;margin-top:26px;padding-top:2px}
.psig{width:150px;height:46px;margin-top:-40px;display:block}
.psig path,.swash path{fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.plist{width:min(340px,86%);display:grid;gap:10px}
.pr{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 24px rgba(16,24,40,.07)}
.pr i{width:34px;height:34px;border-radius:50%;background:#eef1ff;color:var(--acc);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:700;flex:none}
.pr b{font-size:15px;font-weight:600}.pr .pill{margin-left:auto}
.pr .p-o{background:#e6f5ec;color:#127a3e}.pr .p-w{background:#fff4dc;color:#8a5a00}
.stat1{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.stat1-n{position:relative}.stat1-n b{display:block;font-size:clamp(96px,12vw,180px);font-weight:700;letter-spacing:-.06em;line-height:.9;white-space:nowrap}
.swash{display:block;width:100%;height:26px;margin-top:8px}
.stat1-t h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;line-height:1.1;margin:0 0 14px;max-width:640px}
.stat1-t p{color:var(--tx2);margin:0;font-size:var(--fs-body);max-width:620px}
@media (max-width:760px){.who3{grid-template-columns:1fr;gap:44px}.w3-vis{height:240px}.stat1{grid-template-columns:1fr;gap:20px}.trustline{gap:8px 18px;font-size:13.5px;margin-bottom:44px}}
.stat1-t .bignums-note{margin-top:14px;font-size:var(--fs-small);color:var(--mu)}.swash{height:22px;margin-top:4px}
/* Sellos: franja discreta, sin iconos ni puntos */
.trustline{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;margin:-56px 0 72px;padding:0;border:0;font-size:13.5px;font-weight:500;color:var(--mu);letter-spacing:.01em}
.trustline span{display:inline;gap:0}
.trustline span::before{content:"·";width:auto;height:auto;border-radius:0;background:none;margin:0 14px;color:var(--line2)}
.trustline span:first-child::before{content:none;margin:0}
@media (max-width:760px){.trustline{margin:-24px 0 48px;font-size:12.5px;gap:4px 0}.trustline span::before{margin:0 10px}}
/* Sellos de confianza: fila tipo certificaciones */
.seals{list-style:none;margin:-40px 0 88px;padding:28px 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.seals li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:6px 10px}
.seals li+li{border-left:1px solid var(--line)}
.seal{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--tx);display:grid;place-items:center;margin-bottom:10px}
.seal svg{width:24px;height:24px;fill:none;stroke:var(--tx);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.seals b{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--tx)}
.seals small{font-size:13px;color:var(--mu)}
@media (max-width:760px){.seals{grid-template-columns:repeat(3,1fr);row-gap:22px;margin:-16px 0 56px;padding:22px 0}.seals li:nth-child(4){border-left:0}.seal{width:44px;height:44px;margin-bottom:6px}.seal svg{width:20px;height:20px}.seals b{font-size:14px}.seals small{font-size:12px}}
@media (max-width:420px){.seals{grid-template-columns:1fr 1fr}.seals li:nth-child(3),.seals li:nth-child(5){border-left:0}.seals li:nth-child(4){border-left:1px solid var(--line)}.seals li:last-child{grid-column:1/3}}
.seal .eu-stars polygon{fill:var(--tx);stroke:none}
/* «¿Quién firma?»: capturas reales en el mismo marco de móvil */
.w3-vis{height:360px;align-items:end;place-items:end center;padding-top:40px}
.phm{width:236px;height:320px;border-radius:34px 34px 0 0;background:#111;padding:9px 9px 0;box-shadow:0 20px 50px rgba(16,24,40,.14)}
.phm img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:26px 26px 0 0}
.w3 dl.w3-plan{margin:14px 0 0;display:grid;gap:0;border-top:1px solid var(--line);max-width:520px}
.w3-plan>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.w3-plan dt{font-weight:700;color:var(--tx);font-size:15px}.w3-plan dd{margin:0;color:var(--tx2);font-size:15px}
.sc-tabs .sc-chips,.sc-chips{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)!important;mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)!important}
@media (min-width:1100px){.sc-chips{-webkit-mask-image:none!important;mask-image:none!important}}
@media (max-width:760px){.w3-vis{height:300px}.phm{width:200px;height:270px}.w3-plan>div{grid-template-columns:90px 1fr}}
/* Recursos (/guias): pocos bloques claros */
.rec-nav{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 8px}
.rec-nav a{border:1px solid var(--line2);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:600;color:var(--tx);text-decoration:none;background:#fff}
.rec-nav a:hover{border-color:var(--tx)}
.rec{padding:56px 0 8px;border-top:1px solid var(--line);margin-top:48px;scroll-margin-top:calc(var(--nav-h,64px) + 16px)}
.rec-h{margin-bottom:24px}.rec-h h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;margin:0}.rec-h p{color:var(--tx2);margin:8px 0 0;font-size:var(--fs-body)}
.rec .g-card small{display:none}
.rec-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px 24px}
.rec-col-h{display:block;font-weight:700;font-size:17px;color:var(--tx);text-decoration:none;margin:0 0 6px}
a.rec-col-h::after{content:" →";color:var(--acc)}
.rec-list{list-style:none;margin:0;padding:0;columns:auto}
.rec>.rec-list{columns:2;column-gap:40px}
.rec-list li{break-inside:avoid;border-bottom:1px solid var(--line)}
.rec-list a{display:block;padding:11px 0;color:var(--tx2);text-decoration:none;font-size:16px;line-height:1.35}
.rec-list a:hover{color:var(--acc)}
.rec-mod{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--bg2);border-radius:20px;padding:28px 30px;text-decoration:none;color:var(--tx)}
.rec-mod span{font-size:18px;max-width:640px}.rec-mod b{white-space:nowrap;color:var(--acc)}.rec-mod b::after{content:" →"}
@media (max-width:760px){.rec>.rec-list{columns:1}.rec-mod{flex-direction:column;align-items:flex-start}.rec{padding-top:40px;margin-top:32px}}
/* Modelos de documentos: filas limpias */
.mrows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.mrows li{border-bottom:1px solid var(--line)}
.mrows a{display:flex;align-items:center;gap:16px;padding:16px 0;text-decoration:none;color:var(--tx)}
.mrows .mr-t{flex:1;display:grid;gap:3px}
.mrows b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.mrows small{font-size:14.5px;color:var(--tx2)}
.mrows i{font-style:normal;font-size:12.5px;font-weight:700;color:#185abd;background:#e8f0fb;border-radius:6px;padding:3px 8px;flex:none}
.mrows a:hover b{color:var(--acc)}
.mrows a::after{content:"→";color:var(--mu);flex:none}
@media (max-width:760px){.mrows{grid-template-columns:1fr}}
/* Listas sin rayas: más aire y una flecha discreta */
.rec-list li,.mrows li{border-bottom:0}
.rec-list a{padding:8px 0 8px 22px;position:relative}
.rec-list a::before{content:"→";position:absolute;left:0;top:8px;color:var(--mu);transition:transform .2s,color .2s}
.rec-list a:hover::before{color:var(--acc);transform:translateX(3px)}
.rec{border-top:0;margin-top:24px}
.mrows a{padding:14px 0}
.foot-contact{margin-top:16px!important}.foot-contact a{color:var(--tx2)}
/* Recursos · Por sector: una fila por sector (nombre a la izquierda, guías en dos columnas) */
#sectores .rec-cols,#paises .rec-cols{display:grid;grid-template-columns:1fr;gap:0}
#sectores .rec-col,#paises .rec-col{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line)}
#sectores .rec-col:first-child,#paises .rec-col:first-child{border-top:0;padding-top:4px}
#sectores .rec-col-h,#paises .rec-col-h{font-size:20px;letter-spacing:-.02em;margin:6px 0 0}
#sectores .rec-col .rec-list,#paises .rec-col .rec-list{columns:2;column-gap:40px}

@media (max-width:760px){#sectores .rec-col,#paises .rec-col{grid-template-columns:1fr;gap:8px}#sectores .rec-col .rec-list,#paises .rec-col .rec-list{columns:1}}
.up-vat{margin:-6px 0 0;font-size:14px;color:var(--mu)}
/* Equipo */
.tm-hero h1{font-size:clamp(36px,4.4vw,62px);max-width:900px}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tm-card{border:1px solid var(--line2);border-radius:24px;padding:32px 28px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.tm-av{width:72px;height:72px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:700;font-size:24px;letter-spacing:-.02em;margin-bottom:20px}
.tm-av-2{background:#0b0d11}.tm-av-co{background:var(--bg2);color:var(--tx);font-size:18px}
.tm-card h3{font-size:24px;letter-spacing:-.03em;margin:0}
.tm-role{color:var(--tx2);margin:4px 0 20px;font-size:16px}
.tm-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.tm-links a{border:1px solid var(--line2);border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:600;color:var(--tx);text-decoration:none;transition:border-color .2s}
.tm-links a:hover{border-color:var(--tx)}
.tm-co{background:var(--bg2);border-color:transparent}
.tm-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.tm-n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--tx);font-weight:700;font-size:15px;margin-bottom:16px}
.tm-vals h3{font-size:22px;letter-spacing:-.025em;margin:0 0 8px}
.tm-vals p{color:var(--tx2);font-size:var(--fs-body);margin:0}
.tm-more{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.tm-more h3{font-size:18px;margin:0 0 12px}
.tm-more a{display:block;padding:7px 0;color:var(--tx2);text-decoration:none;font-size:16px}.tm-more a:hover{color:var(--acc)}
@media (max-width:900px){.tm-grid{grid-template-columns:1fr}.tm-vals{grid-template-columns:1fr;gap:28px}.tm-more{grid-template-columns:1fr;gap:20px}.tm-card{padding:26px 22px}}
.tm-co .tm-av-co{background:#fff;border:1px solid var(--line2)}
.tm-grid:has(> .tm-card:only-child){grid-template-columns:minmax(0,520px)}
.p-hero.tm-hero h1:not(.label):not(.badge){font-size:clamp(34px,4vw,56px);max-width:880px;line-height:1.05}
@keyframes slpulse{0%,100%{box-shadow:0 0 0 0 rgba(36,72,255,.5)}50%{box-shadow:0 0 0 10px rgba(36,72,255,0)}}.slot.pulse{animation:slpulse 1.2s 2}

/* dos tarjetas grandes (Guías · Modelos) en las páginas de producto */
.g-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g-two .g-card{padding:28px}
@media (max-width:700px){.g-two{grid-template-columns:1fr}}
