:root{--bg:#fff;--ink:#111;--muted:#6d6d72;--line:#dedede;--soft:#f6f6f6;--radius:18px;--shadow:0 10px 30px rgba(0,0,0,.04)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:50;height:72px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:34px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-weight:800;font-size:21px;letter-spacing:-.8px;text-decoration:none;white-space:nowrap}.brand span{font-weight:400;margin:0 2px}.nav{display:flex;align-items:center;gap:4px}.nav button,.menu,.back,.linkbtn{font:inherit;color:var(--ink);background:none;border:0;cursor:pointer}.nav button{padding:10px 12px;border-radius:10px}.nav button:hover{background:var(--soft)}.menu{display:none;margin-left:auto;font-size:22px}.view{display:none}.view.active{display:block}.hero{padding:92px 0 56px}.kicker{font-size:12px;font-weight:800;letter-spacing:1.8px;margin:0 0 16px}.hero h1,.tool-title h1{font-size:clamp(42px,7vw,82px);line-height:.95;letter-spacing:-4px;margin:0}.hero-copy{max-width:650px;font-size:19px;line-height:1.55;color:var(--muted);margin:26px 0 0}.section{padding:28px 0}.section h2{font-size:16px;margin:0 0 14px;letter-spacing:-.2px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{text-align:left;min-height:180px;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:.18s ease;box-shadow:var(--shadow)}.card:hover{background:#111;color:#fff;border-color:#111;transform:translateY(-2px)}.card .ico{font-size:31px;line-height:1;margin-bottom:auto}.card strong{font-size:22px;letter-spacing:-.5px;margin-top:24px}.card small{font-size:14px;color:var(--muted);line-height:1.45;margin-top:8px}.card:hover small{color:#cfcfcf}.tool-title{padding:52px 0 26px}.tool-title .back{padding:0;margin-bottom:30px;color:var(--muted)}.tool-title h1{font-size:clamp(38px,6vw,66px);letter-spacing:-3px}.tool-title p{color:var(--muted);font-size:17px;margin:16px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start;padding-bottom:70px}.maincol{min-width:0}.drop{min-height:250px;border:1.5px dashed #bdbdbd;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;cursor:pointer;background:#fff;transition:.15s}.drop:hover,.drop.drag{border-color:#111;background:#fafafa}.drop>span{font-size:42px;font-weight:200}.drop strong{font-size:20px}.drop small{font-size:14px;color:var(--muted)}.panel{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff}.panel h2{font-size:18px;margin:0 0 22px}.panel label{display:block;font-size:13px;font-weight:650;margin:0 0 18px}.panel select,.panel input{width:100%;margin-top:8px;background:#fff;border:1px solid #cfcfcf;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);outline:none}.panel select:focus,.panel input:focus{border-color:#111}.hint{font-size:13px;color:var(--muted);line-height:1.45}.primary,.secondary{width:100%;border-radius:12px;padding:14px 16px;font:inherit;font-weight:700;cursor:pointer}.primary{border:1px solid #111;background:#111;color:#fff;margin-top:8px}.primary:hover:not(:disabled){background:#2a2a2a}.primary:disabled{background:#d8d8d8;border-color:#d8d8d8;color:#8d8d8d;cursor:not-allowed}.secondary{border:1px solid #cfcfcf;background:#fff;color:#111;margin-top:10px}.filelist{display:flex;flex-direction:column;gap:10px;margin-top:14px}.filerow{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:12px;background:#fff;cursor:grab}.filerow.dragging{opacity:.45}.thumb{width:48px;height:48px;border-radius:9px;background:var(--soft);display:grid;place-items:center;font-size:11px;font-weight:800;object-fit:cover}.meta{min-width:0;flex:1}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:650}.size{font-size:12px;color:var(--muted);margin-top:3px}.remove{border:0;background:none;font-size:24px;color:#777;cursor:pointer;padding:4px 8px}.single-info{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:14px}.pagegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.pagecard{position:relative;border:1px solid var(--line);border-radius:14px;padding:8px;background:#fff;cursor:grab}.pagecard.dragging{opacity:.4}.pagecard canvas{width:100%;height:auto;display:block;border-radius:8px;background:#f4f4f4}.pagecard .pnum{font-size:12px;text-align:center;color:var(--muted);padding:7px 0 2px}.pagecard .remove-page{position:absolute;right:5px;top:5px;width:28px;height:28px;border:1px solid #ddd;background:#fff;border-radius:50%;cursor:pointer;font-size:18px;line-height:24px}.signature-box{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius);padding:14px}.signature-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.linkbtn{color:var(--muted);text-decoration:underline}.signature-box canvas{width:100%;height:180px;border:1px dashed #aaa;border-radius:12px;background:#fff;touch-action:none}.result-view{min-height:72vh;place-items:center;padding:70px 20px}.result-view.active{display:grid}.result-card{width:min(470px,100%);border:1px solid var(--line);border-radius:22px;padding:36px;text-align:center}.check{width:54px;height:54px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:24px}.result-card h1{font-size:32px;letter-spacing:-1px;margin:0}.result-card p{color:var(--muted);line-height:1.5}.footer{border-top:1px solid var(--line);margin-top:45px;padding:26px 0 40px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#111;color:#fff;padding:11px 16px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.nav{display:none;position:absolute;left:14px;right:14px;top:64px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px;box-shadow:0 14px 40px rgba(0,0,0,.08)}.nav.open{display:grid}.nav button{text-align:left}.menu{display:block}.grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.panel{position:static}.pagegrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.shell{width:min(100% - 24px,1180px)}.topbar{height:62px;padding:0 12px}.hero{padding:60px 0 38px}.hero h1{letter-spacing:-2.6px}.hero-copy{font-size:16px}.grid{grid-template-columns:1fr}.card{min-height:145px}.tool-title{padding-top:34px}.tool-title h1{letter-spacing:-2px}.drop{min-height:210px}.pagegrid{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column}.signature-box canvas{height:150px}}

/* V3: portada centrada */
#homeView .hero{
  width:min(920px,calc(100% - 40px));
  text-align:center;
  padding-top:96px;
  padding-bottom:60px;
}
#homeView .hero-copy{
  margin:26px auto 0;
  max-width:700px;
}
#homeView .section{
  width:min(980px,calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
#homeView .section h2{
  text-align:center;
  margin-bottom:18px;
}
#homeView .grid{
  justify-content:center;
}
#homeView .card{
  min-height:170px;
}
@media(max-width:560px){
  #homeView .hero,
  #homeView .section{
    width:min(100% - 24px,980px);
  }
  #homeView .hero{
    padding-top:58px;
    padding-bottom:38px;
  }
}

/* V5: pie de página informativo y páginas legales */
.footer-main{
  display:block;
  text-align:center;
  padding-top:32px;
  padding-bottom:42px;
}
.footer-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 20px;
  margin-bottom:18px;
}
.footer-links a{
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
}
.footer-links a:hover{text-decoration:underline}
.footer-meta{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 18px;
  color:var(--muted);
}
.info-topbar{justify-content:space-between}
.info-home{
  color:var(--ink);
  text-decoration:none;
  font-size:14px;
  padding:9px 12px;
  border-radius:10px;
}
.info-home:hover{background:var(--soft)}
.info-page{
  width:min(760px,calc(100% - 40px));
  margin:0 auto;
  padding:76px 0 44px;
}
.info-page .eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:1.6px;
  margin:0 0 14px;
}
.info-page h1{
  font-size:clamp(40px,7vw,64px);
  letter-spacing:-3px;
  line-height:.98;
  margin:0 0 28px;
}
.info-page h2{
  font-size:23px;
  letter-spacing:-.5px;
  margin:38px 0 12px;
}
.info-page p,.info-page li{
  color:#444;
  font-size:16px;
  line-height:1.75;
}
.info-page ul{padding-left:22px}
.info-page a{color:var(--ink)}
.info-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
  margin:28px 0;
  background:#fff;
}
.info-card p:first-child{margin-top:0}
.info-card p:last-child{margin-bottom:0}
.contact-box{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  margin-top:30px;
  text-align:center;
}
.contact-mail{
  display:inline-block;
  margin-top:10px;
  padding:12px 18px;
  border-radius:12px;
  background:#111;
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
}
.info-footer{
  width:min(760px,calc(100% - 40px));
  margin:30px auto 0;
}
@media(max-width:560px){
  .info-page,.info-footer{width:min(100% - 24px,760px)}
  .info-page{padding-top:52px}
  .info-page h1{letter-spacing:-2px}
  .footer-meta{flex-direction:column}
}
