/* PubliCode · laboratorio de contratación 0.2.6 (misma identidad que el sitio) */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/instrument-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fuentes/instrument-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/instrument-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fuentes/instrument-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Azeret Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fuentes/azeret-mono-latin-500-normal.woff2) format('woff2')}
:root{color-scheme:light;--noche:#0E1A21;--noche-2:#16252E;--papel:#F4EFE7;--blanco:#FBF8F3;--tinta:#14212A;--suave:#56646C;--maiz:#E8B931;--maiz-osc:#8A6410;--linea:#DCD3C5;--sombra:0 1rem 2.5rem rgba(14,26,33,.08);--serif:'Instrument Serif',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--mono:'Azeret Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
button{font:inherit}
.top{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem max(1.25rem,calc((100% - 86rem)/2));background:color-mix(in srgb,var(--noche) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--papel)}
.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none}
.logo{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.6rem;background:var(--maiz);color:var(--noche);font-weight:600;font-size:1.05rem}
.logo span{display:none}
.brand strong{font-size:.875rem;letter-spacing:.14em;font-weight:600}
.brand strong span{color:var(--maiz);font-weight:600}
.brand small{display:block;font:500 .625rem/1.3 var(--mono);letter-spacing:.12em;color:#B9C5CB}
.status{display:inline-flex;max-width:100%;align-items:center;gap:.5rem;font:500 .6875rem/1.2 var(--mono);letter-spacing:.08em;padding:.45rem .7rem;border:1px solid #2A3A44;border-radius:99px;color:#D7E0E4}
.statusdot{width:.45rem;height:.45rem;border-radius:50%;background:var(--maiz)}
.layout{max-width:86rem;margin:auto;padding:2.5rem 1.25rem 3rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.8fr);gap:2.5rem}
.mainpane{min-width:0}
h1{overflow-wrap:break-word;font-family:var(--serif);font-weight:400;line-height:1;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.02em;margin:.75rem 0 1rem;max-width:44rem}
h1 em{color:var(--maiz-osc)}
h2{margin:0 0 .75rem;font-size:1.1875rem;font-weight:600}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0;font:500 .6875rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--maiz-osc)}
.eyebrow::before{content:"";width:1.4rem;height:1px;background:currentColor}
.lead{color:var(--suave);font-size:1.0625rem;max-width:42rem;margin:0 0 2rem}
.panel{background:var(--blanco);border:1px solid var(--linea);padding:1.5rem;border-radius:1.25rem;box-shadow:var(--sombra);margin:1rem 0}
.paneltop{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.paneltop .eyebrow{margin-bottom:.5rem}
.count{font:500 .75rem/1 var(--mono);color:var(--suave)}
label{font-size:.875rem;font-weight:600;display:block;margin:.5rem 0 .5rem}
input,select{min-width:0;background:#fff;border:1px solid #AEB5BA;padding:.8rem .9rem;font-size:1rem;color:var(--tinta);border-radius:.75rem;width:100%;max-width:100%;font-family:inherit}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--maiz);outline-offset:3px}
.fine{font-size:.8125rem;color:#5E6A71;line-height:1.6}
.pill{padding:.35rem .7rem;border-radius:99px;background:#EFE8DC;font-size:.75rem;font-weight:600}
.paneltop{flex-wrap:wrap}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem;margin:1rem 0 1.4rem}
.steps span{height:.3rem;background:#E7E0D4;border-radius:99px;overflow:hidden;text-indent:-999px}
.steps span.on{background:var(--maiz)}
.stage{min-height:9rem;padding:.3rem 0}
.stage p{margin:.5rem 0}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem}
.choice{cursor:pointer;border:1px solid #CCD1D4;border-radius:1rem;background:#fff;padding:1rem;text-align:left;color:var(--tinta)}
.choice[aria-pressed=true]{border:2px solid var(--noche);background:#F5F1E8}
.choice strong,.choice small{display:block}
.choice strong{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1}
.choice small{color:#4F5A63;margin-top:.4rem;font-size:.8125rem}
.check{display:flex;align-items:flex-start;gap:.7rem;font-size:.875rem;margin:.8rem 0}
.check input{flex:none;width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--noche)}
.check label{margin:0;font-weight:400}
.actions{border-top:1px solid var(--linea);padding-top:1.1rem;display:flex;flex-wrap:wrap;gap:.6rem}
.actions button{border-radius:99px;padding:.7rem 1.1rem;font-size:.9375rem;font-weight:600;cursor:pointer;min-height:2.9rem}
.quiet{background:transparent;border:1px solid #B9BFC3;color:var(--tinta)}
.primary{background:var(--noche);color:var(--papel);border:1px solid var(--noche);margin-left:auto}
.actions button:disabled{opacity:.5;cursor:not-allowed}
.feedback{color:#7A4E12;font-size:.875rem;min-height:1.2rem;font-weight:600}
.slim p{color:#4F5A63;font-size:.9375rem;margin:.3rem 0 .8rem}
.right{position:sticky;top:5rem;align-self:start}
.preview{background:var(--noche);border-radius:2rem;color:#fff;overflow:hidden;box-shadow:0 1.5rem 3rem rgba(14,26,33,.3)}
.previewtop{padding:1.1rem 1.25rem;display:flex;justify-content:space-between;gap:.4rem;font:500 .625rem/1 var(--mono);letter-spacing:.12em}
.previewtop span{color:var(--maiz)}
.previewhero{margin:.3rem 1.1rem;min-height:17rem;border-radius:1.25rem;padding:1.25rem;position:relative;overflow:hidden;background:linear-gradient(160deg,#2B4352 0%,#16252E 55%,#0E1A21 100%)}
.previewhero:before{content:"";position:absolute;width:11rem;height:11rem;right:-3.5rem;top:-3rem;border-radius:50%;background:radial-gradient(circle,rgba(232,185,49,.55),rgba(232,185,49,0) 70%)}
.previewmark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.9rem;background:var(--maiz);color:var(--noche);font-size:1.4rem;line-height:1;position:relative}
.previewhero p{font-size:1rem;line-height:1.2;margin:1rem 0 0;color:#D7E0E4;position:relative}
.previewhero h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;font-size:2.4rem;line-height:1;overflow-wrap:anywhere;margin:1rem 0 .5rem;position:relative}
.previewhero>span:last-child{font-size:.8125rem;color:#C6D0D5;position:relative}
.previewitems{padding:.6rem 1.4rem}
.previewitems div{display:flex;gap:1.2rem;border-bottom:1px solid rgba(255,255,255,.1);padding:.7rem 0;color:var(--maiz);font:500 .75rem/1.4 var(--mono)}
.previewitems span{font:400 .9375rem/1.4 var(--sans);color:#F4EFE7}
.previewbottom{text-align:center;color:#9FB0B8;font-size:.75rem;padding:1.1rem}
.quote,.notice{border:1px solid var(--linea);border-radius:1.25rem;background:var(--blanco);margin-top:1rem;padding:1.3rem}
.quote .eyebrow{font-size:.625rem}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:.6rem 0}
.price strong{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1}
.price span{color:#56646C;font-size:.75rem}
.quote dl{margin:0}
.quote dl>div{display:flex;justify-content:space-between;font-size:.875rem;padding:.4rem 0;border-top:1px solid #ECE5D9}
.quote dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.quote dt{color:#56646C}
.notice{background:#FFF7DD;border-color:#EBD28A}
.notice strong{font-size:.875rem}
.notice p{font-size:.875rem;margin:.3rem 0;color:#4A3A0B}
footer a{display:inline-block;padding:.35rem .2rem}
footer{border-top:1px solid var(--linea);text-align:center;padding:1.5rem 1.25rem;color:var(--suave);font-size:.8125rem}
.simulated{padding:.8rem 1rem;border-radius:.75rem;background:#FFF1C7;font-weight:600;color:#5A4300}
.receipt{border:1px dashed #8A9AA7;padding:.9rem 1rem;border-radius:.9rem;background:#fff}
.receipt small{display:block;color:#56646C}
.smalllink{font-size:.875rem;color:#4F5A63}
.success{color:#1D6B44;font-weight:600}
.danger{color:#A23A37;font-weight:600}
.legal-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:.8rem 0}
.legal-links a{font-size:.875rem;color:#6A4D0B;text-decoration:underline;text-underline-offset:3px}
.legaldoc{margin:auto;max-width:52rem;padding:2rem 1.25rem 5rem;overflow-wrap:anywhere}
.legaldoc table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:.875rem;background:#fff}
.legaldoc .num{text-align:right;white-space:nowrap}
.legaldoc th,.legaldoc td{padding:.5rem;border:1px solid #DDD3C2}
.legaldoc h1{font-size:clamp(1.75rem,7vw,2.6rem);line-height:1.05}
.legaldoc h2{margin-top:2rem;font-size:1.25rem}
.legaldoc p,.legaldoc li{font-size:.9375rem}
.legalwarning{padding:.8rem 1rem;border-radius:.75rem;background:#FFF1C7;color:#5A4300;font-weight:600;margin-bottom:1rem}
@media(max-width:60rem){.layout{grid-template-columns:minmax(0,1fr)}.right{position:static;max-width:28rem;margin:auto;width:100%}}
@media(max-width:36rem){.top{padding:.6rem 1rem}.status{font-size:.5625rem;max-width:9rem}.brand small{display:none}.layout{padding:1.25rem 1rem;gap:1.5rem}.panel{padding:1.1rem}.choices{grid-template-columns:1fr}.actions button{padding:.6rem .9rem;font-size:.875rem}.primary{margin-left:0}.previewhero{min-height:15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.wa{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;margin:.75rem 0 .25rem;padding:.75rem 1.25rem;border-radius:99px;background:#1F7A45;color:#fff;font-weight:600;text-decoration:none}
.wa:hover{background:#18653A}

/* PubliCode · marca en el laboratorio */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(../fuentes/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:750;font-display:swap;src:url(../fuentes/figtree-latin-750-normal.woff2) format('woff2')}
:root{--sans:'Figtree',system-ui,sans-serif;--serif:'Figtree',system-ui,sans-serif}
h1,h2{font-weight:750;letter-spacing:-.03em}h1 em,h2 em{font-style:normal}
.logo{background:none;width:2.1rem;height:2.1rem}.logo svg{width:100%;height:100%}
.brand strong{font-size:1.15rem;letter-spacing:-.01em;font-weight:400}.brand strong span{font-weight:700}
