:root{
  --navy:#050B14; --panel:#0C1826; --panel2:#10233A; --brass:#E8C158; --cream:#EDE8DD;
  --teal:#3EC6B3; --red:#FF5C7A; --line:rgba(237,232,221,.10); --muted:rgba(237,232,221,.62);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--navy);color:var(--cream);font-family:'Inter',sans-serif;line-height:1.55;overflow-x:hidden;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:42px 42px}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em}
.mono{font-family:'Space Mono',monospace}

/* Fondo animado */
.blobs{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.blobs i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:float 18s ease-in-out infinite}
.blobs i:nth-child(1){width:480px;height:480px;background:var(--teal);top:-120px;left:-120px}
.blobs i:nth-child(2){width:420px;height:420px;background:var(--brass);top:30%;right:-160px;animation-delay:-6s;opacity:.22}
.blobs i:nth-child(3){width:380px;height:380px;background:#3B5BFF;bottom:-140px;left:30%;animation-delay:-12s;opacity:.25}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.15)}}

/* Nav */
nav.top{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:rgba(5,11,20,.7);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.brand{font-family:'Oswald';font-weight:700;font-size:20px;letter-spacing:.06em;text-decoration:none}
.brand b{color:var(--brass)}
nav.top .links{display:flex;gap:6px;flex-wrap:wrap}
nav.top .links a{font-family:'Space Mono';font-size:12px;text-decoration:none;padding:8px 12px;border-radius:100px;color:var(--muted)}
nav.top .links a:hover,nav.top .links a.on{color:var(--navy);background:var(--brass)}
@media(max-width:640px){nav.top .links a.hide-sm{display:none}}

/* Hero */
.hero{padding:70px 0 50px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Space Mono';font-size:12px;letter-spacing:.18em;color:var(--teal);
  text-transform:uppercase;border:1px solid rgba(62,198,179,.4);padding:6px 14px;border-radius:100px;margin-bottom:24px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4}}
.hero h1{font-size:clamp(36px,7vw,76px);line-height:1;max-width:900px;margin:0 auto}
.grad{background:linear-gradient(90deg,var(--brass),#FFE8A3,var(--teal),var(--brass));background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:300% 0}}
.hero p.sub{margin:22px auto 0;max-width:620px;font-size:18px;color:var(--muted)}
.cta-row{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald';font-weight:600;font-size:15px;letter-spacing:.04em;
  text-transform:uppercase;padding:14px 26px;border-radius:100px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.gold{background:var(--brass);color:var(--navy);animation:glow 2.4s infinite}
.btn.ghost{background:transparent;color:var(--cream);border:1px solid rgba(237,232,221,.3)}
.btn.wa{background:#1FAF5E;color:#fff}
.btn.sm{padding:8px 14px;font-size:12.5px}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(232,193,88,.4)}50%{box-shadow:0 0 0 14px rgba(232,193,88,0)}}

.stats{margin-top:50px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;background:rgba(12,24,38,.6)}
.stats div{padding:20px;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats .num{font-family:'Oswald';font-size:34px;color:var(--brass)}
.stats .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

section{padding:56px 0}
.head{margin-bottom:30px}
.head .tag{font-family:'Space Mono';font-size:12px;color:var(--brass);letter-spacing:.14em;text-transform:uppercase}
.head h2{font-size:clamp(26px,4vw,40px);margin-top:6px}
.head p{color:var(--muted);max-width:620px;margin-top:8px}

/* Filtros */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{font-family:'Space Mono';font-size:12px;background:transparent;color:var(--muted);border:1px solid var(--line);
  padding:7px 14px;border-radius:100px;cursor:pointer}
.filters button.on{background:var(--teal);color:var(--navy);border-color:var(--teal)}

/* Tarjetas de apps */
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.app{--c:var(--teal);position:relative;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);
  border-radius:16px;padding:22px;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;flex-direction:column}
.app::before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:var(--c);filter:blur(60px);opacity:.18;top:-60px;right:-60px;transition:opacity .25s}
.app:hover{transform:translateY(-6px);border-color:var(--c);box-shadow:0 18px 40px -18px var(--c)}
.app:hover::before{opacity:.4}
.app .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:rgba(255,255,255,.05);border:1px solid var(--line);margin-bottom:16px}
.app .st{position:absolute;top:22px;right:22px;font-family:'Space Mono';font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--c);border:1px solid var(--c);padding:3px 9px;border-radius:100px}
.app h3{font-size:19px;margin-bottom:6px}
.app p{font-size:14px;color:var(--muted);flex:1}
.app .stack{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.app .stack span{font-family:'Space Mono';font-size:10.5px;color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:4px}
.app .acts{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.app .acts a{flex:1;text-align:center;font-family:'Space Mono';font-size:11.5px;text-decoration:none;padding:8px;border-radius:8px;border:1px solid var(--line)}
.app .acts a.pri{background:var(--c);color:var(--navy);border-color:var(--c);font-weight:700}
.app .acts a:hover{border-color:var(--c)}

/* Pasos */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
.step{border:1px solid var(--line);border-radius:14px;padding:22px;background:rgba(12,24,38,.6)}
.step .n{font-family:'Oswald';font-size:40px;color:transparent;-webkit-text-stroke:1px var(--brass)}
.step h3{font-size:16px;margin:6px 0}
.step p{font-size:13.5px;color:var(--muted)}

/* Formularios */
.card{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;padding:28px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
label{display:block;font-family:'Space Mono';font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
input,select,textarea{width:100%;background:rgba(5,11,20,.7);border:1px solid var(--line);color:var(--cream);border-radius:10px;padding:12px 14px;
  font:inherit;font-size:15px;outline:none;transition:border-color .2s}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(62,198,179,.15)}
textarea{min-height:120px;resize:vertical}
.field{margin-bottom:16px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips input{display:none}
.chips label{text-transform:none;letter-spacing:0;font-family:'Inter';font-size:14px;color:var(--cream);border:1px solid var(--line);
  padding:9px 14px;border-radius:100px;cursor:pointer;margin:0}
.chips input:checked+label{background:var(--brass);color:var(--navy);border-color:var(--brass);font-weight:600}

.alert{padding:14px 18px;border-radius:12px;margin-bottom:18px;border:1px solid}
.alert.ok{border-color:var(--teal);background:rgba(62,198,179,.1)}
.alert.err{border-color:var(--red);background:rgba(255,92,122,.1)}

/* Badges */
.badge{display:inline-block;font-family:'Space Mono';font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:100px;border:1px solid}
.b-abierto{color:#7AA7FF;border-color:#7AA7FF}.b-proceso{color:var(--brass);border-color:var(--brass)}
.b-espera{color:#B48CFF;border-color:#B48CFF}.b-resuelto{color:var(--teal);border-color:var(--teal)}.b-cerrado{color:var(--muted);border-color:var(--muted)}
.p-critica{color:var(--red);border-color:var(--red)}.p-alta{color:#FF7A59;border-color:#FF7A59}.p-media{color:var(--brass);border-color:var(--brass)}.p-baja{color:var(--muted);border-color:var(--muted)}

/* Ticket éxito */
.ticket-ok{text-align:center;padding:40px 28px}
.ticket-ok .code{font-family:'Space Mono';font-size:clamp(26px,6vw,44px);color:var(--brass);letter-spacing:.08em;margin:12px 0;
  border:2px dashed var(--brass);display:inline-block;padding:10px 24px;border-radius:12px}
.timeline{display:flex;justify-content:space-between;margin:26px 0;position:relative}
.timeline::before{content:'';position:absolute;top:13px;left:6%;right:6%;height:2px;background:var(--line)}
.timeline div{position:relative;text-align:center;flex:1;font-size:12px;color:var(--muted)}
.timeline span{display:block;width:28px;height:28px;margin:0 auto 6px;border-radius:50%;background:var(--panel);border:2px solid var(--line)}
.timeline .done span{background:var(--teal);border-color:var(--teal);box-shadow:0 0 14px var(--teal)}
.timeline .done{color:var(--cream)}

/* Admin */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:'Space Mono';font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
tr:hover td{background:rgba(255,255,255,.02)}
.table-wrap{overflow-x:auto}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}
@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{border:1px solid var(--line);border-radius:12px;padding:16px;background:rgba(12,24,38,.6)}
.kpi .num{font-family:'Oswald';font-size:30px}
.kpi .lbl{font-size:11px;color:var(--muted);text-transform:uppercase}

footer{border-top:1px solid var(--line);padding:26px 0;text-align:center;font-family:'Space Mono';font-size:12px;color:rgba(237,232,221,.4)}

.wa-float{position:fixed;bottom:22px;right:22px;z-index:50;display:flex;align-items:center;gap:10px;background:#1FAF5E;color:#fff;
  text-decoration:none;padding:14px 20px 14px 16px;border-radius:100px;font-weight:600;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.4);animation:waPulse 2.4s infinite}
@keyframes waPulse{50%{box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 10px rgba(31,175,94,0)}}
.wa-float svg{width:22px;height:22px}
@media(max-width:520px){.wa-float span{display:none}.wa-float{padding:14px}}
.sound-btn{position:fixed;bottom:22px;left:22px;z-index:50;display:flex;align-items:center;gap:8px;background:rgba(12,24,38,.85);
  border:1px solid rgba(232,193,88,.35);color:var(--brass);font-family:'Space Mono';font-size:12px;padding:10px 14px;border-radius:100px;cursor:pointer}
.sound-btn .bars{display:flex;align-items:flex-end;gap:2px;height:12px}
.sound-btn .bars i{width:2.5px;height:4px;background:var(--brass)}
.sound-btn.playing .bars i{animation:beat .9s infinite}
.sound-btn.playing .bars i:nth-child(2){animation-delay:.15s}.sound-btn.playing .bars i:nth-child(3){animation-delay:.3s}
@keyframes beat{50%{height:12px}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}

/* ================= PORTADA COMERCIAL ================= */
.hero2{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:70px 0 40px;min-height:calc(100vh - 64px)}
@media(max-width:900px){.hero2{grid-template-columns:1fr;text-align:center;min-height:auto;padding-top:50px}.hero2 .cta-row{justify-content:center}}
.hero2 h1{font-size:clamp(40px,6.4vw,84px);line-height:.98}
.hero2 .sub{margin-top:22px;font-size:18px;color:var(--muted);max-width:560px}
@media(max-width:900px){.hero2 .sub{margin-left:auto;margin-right:auto}}
.hero2 .cta-row{justify-content:flex-start}
.typed{color:var(--brass);text-shadow:0 0 30px rgba(232,193,88,.5);border-right:3px solid var(--brass);padding-right:4px;animation:caret 1s steps(1) infinite;white-space:nowrap}
@keyframes caret{50%{border-color:transparent}}
.trust{margin-top:28px;display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
@media(max-width:900px){.trust{justify-content:center}}
.trust b{color:var(--teal);font-family:'Oswald';font-size:22px;display:block}

/* mockups flotantes */
.stage{position:relative;height:460px;perspective:1200px}
@media(max-width:900px){.stage{height:360px;max-width:420px;margin:0 auto;width:100%}}
.browser{position:absolute;inset:20px 40px 60px 0;background:var(--panel);border:1px solid rgba(62,198,179,.35);border-radius:14px;
  box-shadow:0 30px 80px -20px rgba(62,198,179,.35);transform:rotateY(-14deg) rotateX(6deg);animation:bob 6s ease-in-out infinite;overflow:hidden}
.browser .bar{height:30px;display:flex;gap:6px;align-items:center;padding:0 12px;border-bottom:1px solid var(--line)}
.browser .bar i{width:9px;height:9px;border-radius:50%;background:#FF5C7A}.browser .bar i:nth-child(2){background:#E8C158}.browser .bar i:nth-child(3){background:#3EC6B3}
.browser .bar span{margin-left:10px;font-family:'Space Mono';font-size:10px;color:var(--muted)}
.mock{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mock .k{height:56px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:8px;font-family:'Oswald';font-size:20px;color:var(--brass)}
.mock .k small{display:block;font-family:'Inter';font-size:9px;color:var(--muted)}
.mock .chart{grid-column:1/-1;height:120px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:flex-end;gap:6px;padding:10px}
.mock .chart i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(var(--teal),rgba(62,198,179,.2));animation:grow 2.6s ease-in-out infinite alternate}
@keyframes grow{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.mock .chart i{transform-origin:bottom}
.mock .row{grid-column:1/-1;height:12px;border-radius:4px;background:rgba(255,255,255,.05)}
.phone{position:absolute;right:0;bottom:0;width:170px;height:330px;background:#08121F;border:2px solid rgba(232,193,88,.5);border-radius:30px;
  box-shadow:0 30px 60px -10px rgba(232,193,88,.35);animation:bob 6s ease-in-out infinite -3s;padding:14px 12px;overflow:hidden}
@media(max-width:900px){.phone{width:140px;height:270px}}
.phone .notch{width:60px;height:14px;background:#000;border-radius:10px;margin:0 auto 12px}
.phone .msg{background:#1FAF5E;color:#fff;font-size:10.5px;border-radius:12px 12px 2px 12px;padding:8px 10px;margin:0 0 8px auto;max-width:90%;
  opacity:0;animation:pop .5s forwards}
.phone .msg.in{background:var(--panel2);border-radius:12px 12px 12px 2px;margin:0 auto 8px 0}
.phone .msg:nth-child(2){animation-delay:.8s}.phone .msg:nth-child(3){animation-delay:2s}.phone .msg:nth-child(4){animation-delay:3.2s}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
@keyframes bob{50%{translate:0 -14px}}
.orbit{position:absolute;font-size:30px;animation:bob 5s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}

/* marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee div{display:flex;gap:48px;width:max-content;animation:scroll 32s linear infinite}
.marquee span{font-family:'Oswald';font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:rgba(237,232,221,.35);white-space:nowrap}
.marquee span b{color:var(--brass);margin-right:48px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* tarjetas de servicio */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.svc{grid-template-columns:1fr 1fr}}@media(max-width:560px){.svc{grid-template-columns:1fr}}
.svc-c{position:relative;border-radius:18px;padding:26px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);
  overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s}
.svc-c::after{content:'';position:absolute;inset:-1px;border-radius:18px;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 60%,var(--brass),var(--teal),transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s}
.svc-c:hover{transform:translateY(-6px)}.svc-c:hover::after{opacity:1;animation:spin 3s linear infinite}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes spin{to{--a:360deg}}
.svc-c .big{font-size:40px;margin-bottom:14px;display:inline-block;transition:transform .3s}
.svc-c:hover .big{transform:scale(1.15) rotate(-6deg)}
.svc-c h3{font-size:20px;margin-bottom:6px}
.svc-c p{font-size:14px;color:var(--muted)}
.svc-c .ej{margin-top:12px;font-family:'Space Mono';font-size:11px;color:var(--teal)}
.svc-c .go{margin-top:16px;font-family:'Oswald';font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass)}

/* selector de servicio en el formulario */
.pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:640px){.pick{grid-template-columns:1fr 1fr}}
.pick input{display:none}
.pick label{text-transform:none;letter-spacing:0;font-family:'Inter';margin:0;cursor:pointer;border:1px solid var(--line);border-radius:14px;padding:14px;
  text-align:center;color:var(--cream);font-size:14px;font-weight:600;transition:all .2s;background:rgba(5,11,20,.5)}
.pick label span{display:block;font-size:26px;margin-bottom:4px}
.pick input:checked+label{border-color:var(--brass);background:rgba(232,193,88,.12);box-shadow:0 0 0 3px rgba(232,193,88,.18)}
.wizard-steps{display:flex;gap:8px;margin-bottom:22px}
.wizard-steps i{flex:1;height:4px;border-radius:4px;background:var(--line);transition:background .3s}
.wizard-steps i.on{background:linear-gradient(90deg,var(--brass),var(--teal))}
.wstep{display:none;animation:pop .35s}.wstep.on{display:block}
.wnav{display:flex;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}

/* banda CTA */
.band{margin:30px 0 70px;border-radius:24px;padding:50px 30px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(120deg,rgba(232,193,88,.18),rgba(62,198,179,.14)),var(--panel);border:1px solid rgba(232,193,88,.35)}
.band h2{font-size:clamp(28px,4.6vw,48px);max-width:820px;margin:0 auto}
.band p{color:var(--muted);margin:14px auto 0;max-width:560px}

/* FAQ */
details{border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:10px;background:rgba(12,24,38,.6)}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:10px}
summary::after{content:'+';color:var(--brass);font-size:20px;line-height:1}
details[open] summary::after{content:'–'}
details p{color:var(--muted);margin-top:10px;font-size:14.5px}

/* tilt en portafolio */
.app{transform-style:preserve-3d;will-change:transform}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ================= COTIZACIÓN (documento) ================= */
.doc{background:#fff;color:#1b2430;font-family:'Inter',sans-serif;font-size:13.5px;line-height:1.55;padding:46px 50px;border-radius:6px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);max-width:820px;margin:0 auto}
@media(max-width:640px){.doc{padding:26px 20px}}
.doc h3{font-family:'Oswald';font-size:15px;color:#0C1826;margin:22px 0 6px;letter-spacing:.04em;border-bottom:2px solid #E8C158;padding-bottom:3px}
.doc h4{font-family:'Space Mono';font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#7a8594;margin-bottom:4px}
.doc ul{padding-left:20px}.doc li{margin:2px 0}
.doc .pre{white-space:pre-wrap}.doc .small{font-size:11.5px;color:#7a8594;margin-top:6px}
.doc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid #0C1826;padding-bottom:16px;margin-bottom:18px}
.doc-logo{font-family:'Oswald';font-weight:700;font-size:30px;color:#0C1826;letter-spacing:.02em}.doc-logo b{color:#E8C158}
.doc-lema{font-size:11.5px;color:#7a8594}
.doc-num{text-align:right;font-family:'Oswald';color:#7a8594;letter-spacing:.12em;font-size:13px}
.doc-num b{display:block;font-size:22px;color:#0C1826;letter-spacing:.04em}.doc-num small{font-family:'Inter';letter-spacing:0;font-size:11.5px}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f4f6f8;border-radius:6px;padding:14px 16px}
@media(max-width:560px){.doc-grid{grid-template-columns:1fr}}
.doc-t{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}
.doc-t th{background:#0C1826;color:#fff;font-family:'Space Mono';font-size:10.5px;padding:8px;text-align:left;text-transform:uppercase}
.doc-t td{padding:8px;border-bottom:1px solid #e3e7ec;color:#1b2430}
.doc-t td:nth-child(n+3),.doc-t th:nth-child(n+3){text-align:right;white-space:nowrap}
.doc-t tfoot td{text-align:right;border:0;padding:5px 8px}
.doc-t tfoot .tot td{font-family:'Oswald';font-size:18px;color:#0C1826;border-top:2px solid #0C1826;background:#fbf4dc}
.doc-t tr:hover td{background:transparent}
.doc-firmas{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;font-size:12px;color:#4a5562}
.doc-firmas span{display:block;border-top:1px solid #1b2430;margin-bottom:6px}
.doc-f{margin-top:36px;padding-top:12px;border-top:1px solid #e3e7ec;text-align:center;font-size:11px;color:#7a8594;font-family:'Space Mono'}

/* editor */
.cz{display:grid;grid-template-columns:440px 1fr;gap:24px;align-items:start}
@media(max-width:1100px){.cz{grid-template-columns:1fr}}
.cz .card{padding:20px}
.cz .doc-wrap{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;border-radius:8px}
.items-ed .it{display:grid;grid-template-columns:1fr 54px 110px 30px;gap:6px;margin-bottom:6px}
.items-ed input{padding:8px 10px;font-size:13px}
.xbtn{background:transparent;border:1px solid var(--line);color:var(--red);border-radius:8px;cursor:pointer}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}

@media print{
  body{background:#fff!important}
  nav.top,footer,.wa-float,.sound-btn,.blobs,.no-print,.cz>.card{display:none!important}
  .cz{display:block}.cz .doc-wrap{position:static;max-height:none;overflow:visible}
  .wrap{max-width:none;padding:0}
  .doc{box-shadow:none;padding:0;max-width:none;border-radius:0}
  .doc h3,.doc-t tr{break-inside:avoid}
  @page{size:letter;margin:16mm}
}

/* formato DaH-web v2 */
.doc .kv{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}
.doc .kv th,.doc .kv td{border:1px solid #cfd6de;padding:7px 9px;vertical-align:top;color:#1b2430;text-transform:none;letter-spacing:0}
.doc .kv th{background:#eef2f6;width:19%;font-family:'Inter';font-weight:700;font-size:11.5px;color:#0C1826}
.doc .kv tr:hover td{background:transparent}
.doc .kv p{margin:0 0 4px}.doc .kv ul{margin:0}
.doc .cks{line-height:2}
.doc .ck{display:inline-grid;place-items:center;width:14px;height:14px;border:1.5px solid #0C1826;border-radius:3px;font-size:10px;font-weight:700;margin:0 4px 0 10px;vertical-align:-2px;color:#fff}
.doc .cks .ck:first-child{margin-left:0}
.doc .ck.on{background:#0C1826}
.doc .nd{color:#b0b8c2}
.doc h3{background:#0C1826;color:#fff;border:0;padding:6px 10px;border-radius:3px;font-size:13.5px;margin-top:20px}
.doc h4{margin-top:4px}
.doc .two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 6px;font-size:12.5px}
@media(max-width:560px){.doc .two{grid-template-columns:1fr}}
.doc .tots{margin:8px 0 0 auto;border-collapse:collapse;min-width:330px;font-size:13px}
.doc .tots th,.doc .tots td{border:1px solid #cfd6de;padding:6px 10px;text-align:right;color:#1b2430;text-transform:none;letter-spacing:0;font-family:'Inter'}
.doc .tots th{background:#eef2f6;text-align:left;font-size:12px}
.doc .tots .tot th,.doc .tots .tot td{background:#0C1826;color:#fff;font-family:'Oswald';font-size:16px}
.doc .tots .tot td{color:#E8C158}
.doc-firmas{font-size:11.5px}
@media print{.doc .kv,.doc .tots,.doc .two,.doc-firmas{break-inside:avoid}}
.cz h4.sec{font-family:'Oswald';font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.cz .chips label{font-size:13px;padding:7px 12px}
.est{border:1px solid rgba(232,193,88,.45);border-radius:14px;padding:16px;margin-bottom:8px;background:linear-gradient(135deg,rgba(232,193,88,.10),rgba(62,198,179,.06))}
.est-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.est-h b{font-family:'Oswald';font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--brass)}
.est-h small{color:var(--muted);font-size:12px}
.est .chips label{font-size:12px;padding:6px 10px}
.est-r{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;text-align:center}
.est-r div{border:1px solid var(--line);border-radius:10px;padding:10px 6px;background:rgba(5,11,20,.5)}
.est-r small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.est-r b{font-family:'Oswald';font-size:17px}
.est-r .rec{border-color:var(--brass);box-shadow:0 0 18px -6px var(--brass)}.est-r .rec b{color:var(--brass);font-size:21px}
.est-r p{grid-column:1/-1;font-size:12.5px;color:var(--muted);margin-top:4px}
.est-d{margin-top:10px;padding:10px 14px;background:rgba(5,11,20,.4)}
.est-d table{font-size:12.5px;margin-top:6px}.est-d td{padding:4px 6px}.est-d td:last-child{text-align:right;white-space:nowrap}
