/* Carteriva · informe editorial sereno · Instrument Serif + Instrument Sans (OFL-1.1) */
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("fonts/instrument-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("fonts/instrument-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("fonts/instrument-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --marfil:#FBF8F1;--superficie:#FFFFFF;--tinta:#1C2321;--texto-suave:#56605C;
  --billete:#0F5132;--terracota:#9A3412;--menta:#E6EFE8;--ocre:#7A5C00;--borde:#E2DCCD;
  --t1:#CFE3D5;--t2:#8DBB9C;--t3:#3F7D58;--t4:#9A3412;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --e1:.25rem;--e2:.5rem;--e3:.75rem;--e4:1rem;--e5:1.5rem;--e6:2rem;--e7:3rem;--e8:4.5rem;--e9:6rem;
  --gutter:16px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--marfil);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img,svg{max-width:100%}
img{display:block;height:auto}
p{margin:0 0 var(--e4)}
a{color:var(--billete);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--billete);outline-offset:3px;border-radius:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.saltar{position:absolute;left:var(--gutter);top:-4rem;background:var(--tinta);color:#fff;padding:var(--e2) var(--e4);z-index:10;border-radius:2px}
.saltar:focus{top:var(--e2)}

/* Tipografía */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;color:var(--tinta)}
h1{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.01em;text-wrap:balance}
h1 em,h2 em{font-style:italic;color:var(--billete)}
h2{font-size:clamp(1.9rem,4.2vw,2.6rem);line-height:1.12;margin-bottom:var(--e5);text-wrap:balance}
h3{font-size:1.5rem;line-height:1.2;margin-bottom:var(--e2)}
.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--billete);margin-bottom:var(--e4)}
.chico{font-size:.9375rem;color:var(--texto-suave)}

/* Cabecera */
.cabecera{border-bottom:4px double var(--tinta)}
.cabecera-in{width:min(46rem,100% - 2*var(--gutter));margin-inline:auto;display:flex;justify-content:space-between;align-items:baseline;padding-block:var(--e4)}
.marca{font-family:var(--serif);font-size:1.75rem;line-height:1;color:var(--tinta);text-decoration:none;letter-spacing:.005em}
.enlace-discreto{font-size:.9375rem;color:var(--texto-suave);text-decoration:underline;text-decoration-color:var(--borde);text-decoration-thickness:1px;padding:var(--e2) 0}
.enlace-discreto:hover{color:var(--billete);text-decoration-color:currentColor}

/* Contenedores */
.col{width:min(40rem,100% - 2*var(--gutter));margin-inline:auto;position:relative}
.ancho{width:min(56rem,100% - 2*var(--gutter));margin:var(--e6) auto}
.col-portada{width:min(46rem,100% - 2*var(--gutter));margin-inline:auto}

/* Portada */
.portada{padding-block:var(--e7) var(--e6)}
.bajada{font-size:1.1875rem;line-height:1.6;max-width:38rem;margin-top:var(--e5)}
.acciones{display:flex;flex-wrap:wrap;gap:var(--e4) var(--e5);align-items:center;margin-top:var(--e5)}
.confianza{margin-top:var(--e4);font-size:.9375rem;color:var(--texto-suave)}
.grafico{margin:var(--e7) 0 0;padding:var(--e5) 0 0;border-top:1px solid var(--borde)}
.grafico img{width:100%;max-width:40rem;margin-inline:auto}
.grafico figcaption{max-width:40rem;margin:var(--e4) auto 0;font-family:var(--serif);font-size:1.125rem;line-height:1.45;color:var(--texto-suave)}
.grafico figcaption i{color:var(--tinta)}

/* Botones y enlaces */
.button{display:inline-flex;align-items:center;gap:var(--e2);justify-content:center;min-height:3rem;padding:.75rem 1.5rem;background:var(--billete);color:#fff;border:2px solid var(--billete);border-radius:2px;font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}
.button:hover{background:#0b3d26;border-color:#0b3d26;color:#fff}
.button:focus-visible{outline:3px solid var(--tinta);outline-offset:3px}
.button:disabled{background:#c9d3cc;border-color:#c9d3cc;color:#3c4642;cursor:not-allowed}
.button.secondary{background:transparent;color:var(--billete)}
.button.secondary:hover{background:var(--menta);color:var(--billete)}
.button.secondary:disabled{background:transparent;border-color:var(--borde);color:var(--texto-suave)}
.flecha{flex:none}
.enlace{font-weight:500;color:var(--billete)}

/* Secciones con filete doble y notas al margen */
.sec{padding-top:var(--e8)}
.sec>.col:first-child{padding-top:var(--e6);border-top:4px double var(--tinta)}
.sec-muestra>.ancho{margin-top:var(--e6)}
.nota{margin:0 0 var(--e3);font-size:.8125rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--texto-suave)}
.nota b{font-weight:600;color:var(--tinta)}
.nota span::before{content:" · "}
@media (min-width:68rem){
  .nota{position:absolute;right:calc(100% + 2rem);top:var(--e6);width:8rem;text-align:right;margin:0;padding-top:.4rem}
  .nota b,.nota span{display:block}
  .nota span::before{content:none}
}

/* Cita */
.cita{margin:var(--e6) 0 0;padding:var(--e5) 0 var(--e2) var(--e5);border-left:2px solid var(--billete)}
.cita p{font-family:var(--serif);font-style:italic;font-size:clamp(1.65rem,3.6vw,2.15rem);line-height:1.2;color:var(--billete);margin:0;text-wrap:balance}

/* Pasos */
.pasos{list-style:none;counter-reset:paso;margin:var(--e6) 0 0;padding:0}
.pasos li{counter-increment:paso;position:relative;padding:var(--e5) 0;border-top:1px solid var(--borde)}
.pasos li:first-child{border-top:0;padding-top:0}
.pasos li::before{content:counter(paso);display:block;font-family:var(--serif);font-style:italic;font-size:2.4rem;line-height:1;color:var(--billete);margin-bottom:var(--e2)}
.pasos h3{font-size:1.4rem}
.pasos p{margin:0;color:var(--tinta)}
@media (min-width:68rem){
  .pasos li::before{position:absolute;right:calc(100% + 2rem);top:var(--e5);font-size:3.4rem;margin:0}
  .pasos li:first-child::before{top:0}
}

/* Bloques con filete doble */
.bloques{margin-top:var(--e5)}
.bloque{padding:var(--e5) 0}
.bloque+.bloque{border-top:4px double var(--borde)}
.bloque h3{font-size:1.5rem}
.bloque p{margin:0}

/* Muestra */
.sub{font-family:var(--sans);font-weight:600;font-size:.9375rem;letter-spacing:.04em;color:var(--texto-suave);margin:var(--e6) 0 var(--e3)}
.tabla-wrap{overflow-x:auto;background:var(--superficie);border:1px solid var(--borde);border-radius:2px;-webkit-overflow-scrolling:touch}
.tabla{width:100%;min-width:40rem;border-collapse:separate;border-spacing:0;font-size:.9375rem;line-height:1.4}
.tabla caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tabla th,.tabla td{padding:.85rem 1rem;border-bottom:1px solid var(--borde);text-align:left;font-weight:400;vertical-align:baseline}
.tabla thead th{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);background:var(--marfil);border-bottom:2px solid var(--tinta);white-space:nowrap}
.tabla tbody th,.tabla tfoot th{font-weight:600;position:sticky;left:0;background:var(--superficie);min-width:11rem;box-shadow:1px 0 0 var(--borde)}
.tabla thead th:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--borde)}
.tabla .num{text-align:right;white-space:nowrap}
.tabla .total{font-weight:600}
.tabla .alerta{color:var(--terracota);font-weight:600}
.tabla tfoot th,.tabla tfoot td{font-weight:600;border-top:4px double var(--tinta);border-bottom:0;background:var(--menta)}
.tabla tfoot th{background:var(--menta)}
.tr{display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:1px;vertical-align:-.05rem;border:1px solid rgba(28,35,33,.25)}
.t1{background:var(--t1)}.t2{background:var(--t2)}.t3{background:var(--t3)}.t4{background:var(--t4)}
.pie-tabla{margin:var(--e3) 0 0;font-size:.875rem;color:var(--texto-suave);font-style:italic}
.sin-asignar{margin-top:var(--e5);padding:var(--e4) var(--e5);background:var(--superficie);border:1px dashed var(--ocre);border-radius:2px}
.sin-asignar h4{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ocre);margin-bottom:var(--e2)}
.sin-asignar p{margin:0 0 var(--e2)}
.sin-asignar .chico{margin:0}
.sello{display:inline-block;margin-left:.35rem;padding:.05rem .55rem;border:1px solid var(--ocre);border-radius:999px;color:var(--ocre);font-size:.8125rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}

.correo{margin-top:var(--e3);background:var(--superficie);border:1px solid var(--tinta);border-radius:2px;box-shadow:6px 6px 0 var(--menta)}
.correo-sello{margin:0;padding:.55rem var(--e4);background:var(--menta);border-bottom:1px solid var(--tinta);font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--billete)}
.correo-cab{margin:0;padding:var(--e3) var(--e4);border-bottom:1px solid var(--borde)}
.correo-cab div{display:grid;grid-template-columns:4.25rem 1fr;gap:var(--e2);padding:.2rem 0;font-size:.9375rem}
.correo-cab dt{color:var(--texto-suave)}
.correo-cab dd{margin:0;font-weight:500}
.correo-cuerpo{padding:var(--e4) var(--e4) var(--e2)}
.correo-cuerpo p{margin-bottom:var(--e3)}

/* Para quién */
.tarjeta-menta{background:var(--menta);border:1px solid #cfdcd2;padding:var(--e5);display:grid;gap:var(--e6)}
.tarjeta-menta h3{font-size:1.6rem}
.lista{list-style:none;margin:var(--e3) 0 0;padding:0}
.lista li{position:relative;padding:.4rem 0 .4rem 1.75rem}
.lista.si li::before{content:"";position:absolute;left:.3rem;top:.75rem;width:.45rem;height:.85rem;border:solid var(--billete);border-width:0 2px 2px 0;transform:rotate(45deg)}
.lista.no li::before{content:"×";position:absolute;left:.15rem;top:.2rem;font-size:1.5rem;line-height:1.3;color:var(--terracota);font-weight:600}
@media (min-width:44rem){.tarjeta-menta{grid-template-columns:1fr 1fr;padding:var(--e6)}}

/* Precio */
.precio{margin-top:var(--e5);padding:var(--e6) var(--e5);background:var(--superficie);border-top:4px double var(--tinta);border-bottom:4px double var(--tinta)}
.precio-rotulo{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:var(--e2)}
.precio-cifra{font-family:var(--serif);font-size:clamp(3.4rem,10vw,5rem);line-height:1;margin:0 0 var(--e4);color:var(--billete)}
.precio-cifra .desde{font-family:var(--sans);font-size:1rem;color:var(--texto-suave);margin-right:.25rem}
.precio-cifra .iva{font-family:var(--sans);font-size:1.1rem;color:var(--texto-suave)}
.precio-datos{margin:var(--e5) 0;border-top:1px solid var(--borde)}
.precio-datos div{display:grid;gap:.1rem;padding:var(--e3) 0;border-bottom:1px solid var(--borde)}
.precio-datos dt{font-weight:600;font-size:.9375rem}
.precio-datos dd{margin:0}
.precio-porque{margin:0;font-size:1rem;color:var(--texto-suave)}
.precio-porque b{color:var(--tinta)}
@media (min-width:36rem){.precio{padding:var(--e7)}.precio-datos div{grid-template-columns:8rem 1fr;gap:var(--e4)}}

/* FAQ */
.faq{margin-top:var(--e5);border-top:1px solid var(--tinta)}
.faq details{border-bottom:1px solid var(--borde)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--e4);align-items:flex-start;padding:var(--e4) 0;font-family:var(--serif);font-size:1.35rem;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--sans);font-size:1.5rem;line-height:1.1;color:var(--billete);transition:transform .2s}
.faq details[open] summary::after{content:"−"}
.faq summary:hover{color:var(--billete)}
.faq summary:focus-visible{outline-offset:-3px}
.faq details p{margin:0 0 var(--e4);padding-right:var(--e6);color:var(--texto-suave)}

/* Solicitud */
.sec-cta{padding-bottom:var(--e9)}
.formulario{margin-top:var(--e5);background:var(--superficie);border:1px solid var(--tinta);padding:var(--e5);box-shadow:6px 6px 0 var(--menta)}
form{display:grid;gap:var(--e4)}
.form-pair{display:grid;gap:var(--e4)}
@media (min-width:36rem){.form-pair{grid-template-columns:1fr 1fr}.formulario{padding:var(--e6)}}
label{display:grid;gap:.35rem;font-size:.9375rem;font-weight:600;color:var(--tinta)}
label small{font-weight:400;color:var(--texto-suave);font-size:.8125rem}
input[type=text],input[type=email],input[type=date],input:not([type]),textarea{width:100%;font:400 1rem/1.5 var(--sans);color:var(--tinta);background:var(--marfil);border:1px solid #8b948f;border-radius:2px;padding:.7rem .8rem;min-height:2.9rem}
textarea{resize:vertical}
input:hover,textarea:hover{border-color:var(--tinta)}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--billete);outline-offset:1px;border-color:var(--billete)}
label.check{display:flex;gap:var(--e3);align-items:flex-start;font-weight:400;font-size:.9375rem;line-height:1.5}
label.check input{flex:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0;accent-color:var(--billete)}
.form-status{min-height:1.5rem;margin:0;font-size:.9375rem;font-weight:500;color:var(--terracota)}
.review{margin-top:var(--e2);padding:var(--e5);background:var(--menta);border:1px solid #cfdcd2}
.review:focus-visible{outline:3px solid var(--billete)}
.review h3{font-size:1.4rem}
.review pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;overflow:auto;margin:var(--e3) 0 var(--e4);padding:var(--e4);background:var(--superficie);border:1px solid var(--borde);font:400 .875rem/1.55 var(--sans)}
.review .actions{display:flex;flex-wrap:wrap;gap:var(--e3);margin-bottom:var(--e3)}
.review .small{font-size:.875rem;color:var(--texto-suave)}
.hosted-step{display:grid;gap:var(--e3);margin-top:var(--e4);padding-top:var(--e4);border-top:4px double var(--tinta)}

/* Pie */
.pie{border-top:4px double var(--tinta);background:var(--marfil);padding-block:var(--e6) var(--e7)}
.pie-in{width:min(40rem,100% - 2*var(--gutter));margin-inline:auto;font-size:.9375rem;color:var(--texto-suave)}
.pie-in p{margin:0 0 var(--e2)}
.pie-marca{font-family:var(--serif);font-size:1.5rem;color:var(--tinta)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.cabecera,.sec-cta,.saltar{display:none}body{background:#fff}}

.tarjeta-menta>*{min-width:0}
.cabecera .boton-contorno{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 1.1rem;color:var(--billete);font-weight:600;text-decoration:none;border:2px solid var(--billete);border-radius:2px}
.cabecera .boton-contorno:hover{background:var(--billete);color:#fff}
