/* ============================================================================
   DRIMERS — Sistema de diseño compartido (funnel público: página madre, Motor,
   Canal, onboarding). NO se carga desde ningún archivo del OS interno/admin —
   ver public/legacy/*.html, esas páginas tienen su propio sistema y quedan
   completamente aparte a propósito.

   Principios (misión de rediseño 2026-07-29, reskin 2026-08-02 sobre la misma
   base): una idea dominante por sección, dos familias tipográficas + mono solo
   para precios/datos/pasos, contenedores 1120-1240px, menos cards/chips/pills,
   más espacio y jerarquía editorial, timelines en vez de grids de cards
   idénticas, prueba real sin recortar.

   Reskin 2026-08-02 (referencia: docs/design-reference/drimers-acquisition-
   frontend-reference.png): mismos componentes/estructura de siempre (.btn,
   .card, .fc-*, .timeline...), solo cambian los VALORES de los tokens de color
   y tipografía display + se suma --blue como segundo acento ("el canal, el
   movimiento") y una utilidad de borde rasgado. Cero red (regla dura del
   board). --gold sigue siendo el nombre de la variable para no tocar cientos
   de usos ya correctos en cada página — el VALOR ahora es el amarillo señal
   del board, no dorado.
   ============================================================================ */

:root{
  /* ---- color: paleta del board (reskin 2026-08-02) ---- */
  --ink:#0D0D0F;           /* texto principal, fondo de secciones oscuras */
  --ink-soft:#3d3f42;      /* cuerpo de texto sobre fondo claro */
  --carbon:#0D0D0F;        /* fondo de secciones oscuras (near-black del board) */
  --carbon-line:#2a2a2d;   /* bordes sobre fondo oscuro */
  --on-carbon:#d5d5d3;     /* texto de cuerpo sobre fondo oscuro */
  --on-carbon-dim:#8f8f8c; /* texto secundario sobre fondo oscuro */
  --paper:#F6F3EC;         /* marfil — superficie editorial principal del board */
  --paper-alt:#EFEAE0;     /* marfil alterno, para dar ritmo entre secciones */
  --card:#ffffff;          /* fondo de tarjetas sobre paper */
  --line:rgba(13,13,15,.16); /* bordes sobre fondo claro */
  --gray:#6b6b67;          /* gris neutro unico (reemplaza --slate/--muted/--slate2) */
  --blue:#0A41FF;          /* electrico — el canal, el movimiento, la transformacion */
  --blue-ink:#ffffff;      /* texto sobre fondo azul */
  --blue-soft:#e8edff;     /* azul muy claro, para fondos sutiles sobre paper */
  --gold:#FFC400;          /* amarillo señal del board (nombre de variable sin cambiar) */
  --gold-deep:#7d5a00;     /* amarillo con contraste AA real (5.25:1 sobre --paper-alt, Lighthouse-verificado) */
  --gold-ink:#241a00;      /* texto sobre fondo amarillo */
  --gold-soft:#fff3c4;
  --green:#1a8f4c;         /* unico uso semantico permitido (exito/activo), nunca decorativo */
  --green-soft:#e3f3e9;

  /* ---- tipografia: display condensado (referencia: Druk Condensed — no
     disponible con licencia en el repo, se documenta Barlow Condensed 900
     como alternativa deliberada), Inter para cuerpo/UI, mono acotado ---- */
  --font-display:'Barlow Condensed', 'Archivo', system-ui, sans-serif;
  --font-body:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace; /* SOLO precios/datos/numeros de paso */

  /* ---- espaciado (8pt) ---- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  /* ---- contenedor y medida ---- */
  --maxw:1180px;
  --measure:66ch;
  --pad:20px;
  --sec:clamp(64px, 11vw, 128px);
  --radius:10px;
  --radius-sm:6px;

  /* ---- movimiento (respeta prefers-reduced-motion global mas abajo) ---- */
  --ease:cubic-bezier(.2,.8,.2,1);

  /* ---- alias literal de los tokens del JSON contract (mismos valores que los
     de arriba, nombres exactos del contrato para que "grep --dr-" encuentre
     coincidencias reales en vez de solo un renombre en la documentacion) ---- */
  --dr-paper:#F6F3EC; --dr-ink:#0D0D0F; --dr-blue:#0A41FF; --dr-yellow:#FFC400;
  --dr-white:#FFFFFF; --dr-muted:#686864; --dr-hairline:rgba(13,13,15,.22); --dr-ease:cubic-bezier(.2,.8,.2,1);
}

/* ============================================================================
   RESET Y BASE
   ============================================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  color:var(--ink-soft);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block}
b,strong{color:var(--ink);font-weight:700}
/* BUG REAL (rediseño visual profundo 2026-08-02, pase 2): --ink es casi el mismo
   hex que el fondo de section.ink (#0D0D0F ambos) — cualquier <b>/<strong> dentro
   de una seccion oscura quedaba invisible. Encontrado al convertir "Que es un
   Estimado Calificado" (canal) a .ink; el <b>Estimado Calificado</b> desaparecia
   por completo. Corregido de forma centralizada, no parcheado en cada instancia. */
section.ink b,section.ink strong,section.carbon b,section.carbon strong{color:#fff}
a{color:var(--gold-deep);text-decoration:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}}

/* ---- tipografia ---- */
h1,h2,h3{
  font-family:var(--font-display);
  color:var(--ink);
  margin:0;
  letter-spacing:-.02em;
  text-wrap:balance;
  font-weight:800;
}
h1{font-size:clamp(44px, 11vw, 92px);line-height:.94;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;max-width:20ch}
h2{font-size:clamp(26px, 4.6vw, 42px);line-height:1.1;max-width:22ch}
h3{font-size:clamp(19px, 3vw, 23px);line-height:1.25}
p{margin:0;color:var(--gray)}
.lead{font-size:clamp(17.5px, 2.2vw, 20px);line-height:1.6;color:var(--ink-soft);max-width:var(--measure)}
.muted{color:var(--gray);font-size:14.5px;line-height:1.55}
/* --gray sobre --ink da 3.63:1 (falla AA en texto normal) — variante oscura real,
   no solo un mismo tono mas claro por estetica. */
section.ink .muted,section.carbon .muted{color:var(--on-carbon-dim)}

/* Label editorial: reemplaza el eyebrow monoespaciado por defecto — mayuscula,
   tracking, peso, SIN fuente mono. Mono queda reservado para datos/precios. */
.label{
  font-family:var(--font-body);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12.5px;
  color:var(--gold-deep);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.label::before{content:'';width:26px;height:2px;background:var(--gold);flex:0 0 auto}
section.ink .label{color:var(--gold)}

/* Uso de mono: SOLO estas clases lo usan. */
.num{font-family:var(--font-mono)} /* precios, cifras, pasos */

/* Declaracion grande — cierre de bloque en display font, no un parrafo mas.
   BUG REAL encontrado en el rediseño visual profundo 2026-08-02 (pase 2): esta
   clase solo estaba definida en el <style> local de inicio.html; en motor.html
   y canal/index.html las mismas clases .bigstate llevaban meses sin backing
   CSS, cayendo al <p> generico (section.ink p{color:var(--on-carbon-dim)}) —
   invisible/ilegible como enfasis en las secciones oscuras nuevas. Centralizado
   aca para que las tres paginas (que ya comparten el mismo patron de contenido)
   lo hereden igual, sin duplicar. */
.bigstate{font-family:var(--font-display);font-weight:800;font-size:clamp(21px,3.2vw,28px);
  line-height:1.28;color:var(--ink);letter-spacing:-.015em;max-width:32ch;margin-top:var(--s6)}
section.ink .bigstate,section.carbon .bigstate{color:#fff}

/* ============================================================================
   LAYOUT
   ============================================================================ */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
section{padding-top:var(--sec);padding-bottom:var(--sec);position:relative}
section.alt{background:var(--paper-alt)}
section.ink{background:var(--carbon);color:var(--on-carbon)}
section.ink h1,section.ink h2,section.ink h3{color:#fff}
section.ink .lead{color:var(--on-carbon)}
section.ink p{color:var(--on-carbon-dim)}
section+section{border-top:1px solid var(--line)}
section.ink+section.ink{border-top-color:var(--carbon-line)}
.head{margin-bottom:var(--s7);max-width:46ch}
.head h2{margin-top:var(--s3)}
.head .lead{margin-top:var(--s4)}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* ---- nav: AcquisitionHeader — compacto, hairline en vez de sombra ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(246,243,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--dr-hairline,var(--line))}
.nav .wrap{display:flex;align-items:center;min-height:60px;gap:var(--s4)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:900;font-size:19px;color:var(--ink);letter-spacing:.01em;text-transform:uppercase}
.logo .gem{width:13px;height:13px;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.nav .link{display:none}
.nav .spacer{margin-left:auto}

/* ============================================================================
   BOTONES — un primario dominante, uno secundario discreto
   ============================================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 clamp(24px,5vw,32px);border-radius:var(--radius-sm);border:none;cursor:pointer;
  font-family:var(--font-display);font-weight:800;font-size:16.5px;line-height:1;text-align:center;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease;letter-spacing:-.005em;
}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn.primary{background:var(--gold);color:var(--gold-ink);box-shadow:0 1px 0 var(--gold-deep), 0 6px 16px rgba(138,100,0,.22)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 2px 0 var(--gold-deep), 0 10px 22px rgba(138,100,0,.28)}
.btn.primary:active{transform:translateY(0);box-shadow:0 1px 0 var(--gold-deep)}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{transform:translateY(-1px);background:#000}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn.block{display:flex;width:100%}
.btn.lg{min-height:58px;font-size:17.5px}
.nav .btn{min-height:42px;padding:0 18px;font-size:14px}
.cta-note{color:var(--gray);font-size:13.5px;line-height:1.5}

/* ============================================================================
   TIMELINE — reemplaza grids de 6 cards identicas para procesos/mecanismos
   ============================================================================ */
.timeline{margin-top:var(--s6);max-width:calc(var(--measure) + 60px)}
.timeline .step{display:flex;gap:var(--s5);padding:var(--s6) 0;border-top:1px solid var(--line);align-items:flex-start}
.timeline .step:first-child{border-top:none;padding-top:0}
section.ink .timeline .step{border-top-color:var(--carbon-line)}
/* Numbered sequence (reskin 2026-08-02): indice oversized en vez de mono chico —
   referencia: docs/design-reference/DRIMERS_FRONTEND_VISUAL_SYSTEM_REFERENCE.pdf
   archetype "numbered_sequence". El orden real de los pasos no cambia, solo el
   tamaño/tratamiento del numero que ya existia. */
.timeline .step .n{
  flex:0 0 auto;font-family:var(--font-display);font-size:clamp(30px,5vw,42px);font-weight:900;
  color:var(--blue);line-height:.9;min-width:1.3ch;letter-spacing:-.01em;
}
section.ink .timeline .step .n{color:var(--gold)}
.timeline .step .icon{flex:0 0 auto;width:38px;height:38px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;color:var(--ink);margin-top:2px}
section.ink .timeline .step .icon{border-color:var(--carbon-line);color:#fff}
.timeline .step .icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.timeline .step .body b{display:block;font-family:var(--font-display);font-size:19px;font-weight:800;color:var(--ink);margin-bottom:6px}
section.ink .timeline .step .body b{color:#fff}
.timeline .step .body span{color:var(--gray);font-size:15.5px;line-height:1.55;display:block;max-width:58ch}
section.ink .timeline .step .body span{color:var(--on-carbon-dim)}

/* ============================================================================
   CHECKLIST — para responsabilidades / que hace cada parte
   ============================================================================ */
.checklist{list-style:none;margin:var(--s4) 0 0;padding:0}
.checklist li{display:flex;gap:var(--s3);align-items:flex-start;margin:var(--s3) 0;font-size:15.5px;line-height:1.5;color:var(--ink-soft)}
.checklist li::before{content:'';flex:0 0 7px;height:7px;border-radius:50%;background:var(--gold-deep);margin-top:8px}
.checklist.no li::before{background:var(--gray)}
section.ink .checklist li{color:var(--on-carbon)}

/* ============================================================================
   TARJETAS — reservadas para unidades reales (pricing, comparaciones), no para
   cada frase suelta.
   ============================================================================ */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,28px)}
.card.on-carbon{background:#20252b;border-color:var(--carbon-line)}

/* ============================================================================
   MURO DE PRUEBA — carrusel horizontal en mobile (SIN recortar), grid en
   desktop (SIN recortar: column-count respeta proporcion real).
   ============================================================================ */
.proofcap{color:var(--on-carbon-dim);font-size:13px;margin-top:var(--s2)}
.wall{
  display:flex;gap:var(--s3);margin-top:var(--s6);overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:var(--s3);-webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
.wall::-webkit-scrollbar{height:6px}
.wall::-webkit-scrollbar-thumb{background:var(--carbon-line);border-radius:3px}
.wall > *{
  scroll-snap-align:start;flex:0 0 auto;height:260px;width:auto;border-radius:8px;
  border:1px solid var(--carbon-line);background:#101316;
}
.wall img,.wall video{height:260px;width:auto;max-width:none;object-fit:contain;border-radius:8px}
@media(min-width:820px){
  .wall{display:block;column-count:3;column-gap:var(--s3);overflow:visible}
  .wall > *{height:auto;width:100%;margin:0 0 var(--s3);break-inside:avoid;display:block}
  .wall img,.wall video{height:auto;width:100%;object-fit:initial}
}
.campslab{margin-top:var(--s6);color:var(--on-carbon-dim);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px}
.camps{display:flex;gap:var(--s3);margin-top:var(--s3);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s3);-webkit-overflow-scrolling:touch}
.camps > *{scroll-snap-align:start;flex:0 0 auto;height:220px;width:auto;border-radius:8px;border:1px solid var(--carbon-line)}
.camps img{height:220px;width:auto;max-width:none;object-fit:contain;border-radius:8px}
@media(min-width:820px){
  .camps{display:block;column-count:4;column-gap:var(--s3);overflow:visible}
  .camps > *{height:auto;width:100%;margin:0 0 var(--s3);break-inside:avoid;display:block}
  .camps img{height:auto;width:100%}
}
.statline{margin-top:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s5)}
.statline .st{flex:1;min-width:150px}
.statline .st b{display:block;font-family:var(--font-mono);font-size:clamp(24px,5vw,32px);font-weight:700;color:#fff;letter-spacing:-.01em}
.statline .st span{color:var(--on-carbon-dim);font-size:13.5px}
.honest{margin-top:var(--s5);color:var(--on-carbon-dim);font-size:13.5px;line-height:1.55;max-width:64ch}

/* Video del muro: solo reproduce cuando esta en viewport (ver script compartido) */
.wall video{background:#101316}

/* ============================================================================
   FAQ
   ============================================================================ */
.faq{margin-top:var(--s5);max-width:74ch}
.faq details{border-bottom:1px solid var(--line);padding:var(--s4) 0}
.faq details:first-child{padding-top:0}
.faq summary{
  font-family:var(--font-display);font-weight:700;color:var(--ink);cursor:pointer;font-size:16.5px;
  list-style:none;display:flex;justify-content:space-between;gap:var(--s3);align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--gold-deep);font-size:22px;font-weight:400;line-height:1}
.faq details[open] summary::after{content:'\2212'}
.faq p{padding-top:var(--s3);font-size:15.5px;line-height:1.62;color:var(--gray)}

/* ============================================================================
   FOOTER
   ============================================================================ */
.foot{background:var(--carbon);color:var(--on-carbon-dim);padding:var(--s8) 0;text-align:center}
.foot .brandline{color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(18px,3vw,22px);line-height:1.35;display:block;margin:0 auto var(--s3);max-width:32ch}
.foot .fmuted{font-size:12.5px;color:var(--on-carbon-dim);letter-spacing:.05em}

/* ============================================================================
   STICKY CTA (mobile)
   ============================================================================ */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(21,24,28,.97);
  backdrop-filter:blur(8px);padding:calc(var(--s3) + env(safe-area-inset-bottom,0)) var(--s4) var(--s3);
  transform:translateY(130%);transition:transform .3s ease;box-shadow:0 -6px 20px rgba(0,0,0,.25)}
.sticky.show{transform:translateY(0)}
.sticky .wrap{display:flex;align-items:center;gap:var(--s4);padding:0}
.sticky .t{display:none;color:#cbd2d9;font-size:13.5px;font-weight:600}
.sticky .btn{flex:1}
@media(min-width:640px){.sticky .t{display:block;flex:1}.sticky .btn{flex:0 0 auto}}

/* ============================================================================
   FORMULARIOS Y FIT CHECK — inputs con 16px+ para evitar zoom iOS, targets 48px+
   ============================================================================ */
.fc-shell{max-width:700px;margin:0 auto}
.fc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,6vw,36px);box-shadow:0 20px 44px rgba(21,24,28,.08)}
.fc-progress{height:6px;background:var(--paper-alt);border-radius:100px;overflow:hidden;margin-bottom:var(--s2)}
.fc-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--green));width:0;transition:width .4s ease}
.fc-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);color:var(--gray);font-size:12px;margin-bottom:var(--s6);gap:var(--s3)}
.fc-q{font-family:var(--font-display);font-size:clamp(21px,4.2vw,27px);font-weight:800;color:var(--ink);line-height:1.18;margin-bottom:var(--s2)}
.fc-hint{color:var(--gray);font-size:15px;line-height:1.5;margin-bottom:var(--s5)}
.fc-opts{display:flex;flex-direction:column;gap:10px}
.fc-opt{display:flex;align-items:center;gap:var(--s3);min-height:54px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:14px 18px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;background:var(--card);transition:border-color .12s,background .12s}
.fc-opt:hover{border-color:var(--gold)}
.fc-opt.sel{border-color:var(--green);background:var(--green-soft)}
.fc-opt .box{flex:0 0 22px;height:22px;border-radius:6px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900}
.fc-opt.sel .box{background:var(--green);border-color:var(--green)}
.fc-input{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-size:16px;font-family:inherit;margin-bottom:10px;background:var(--card);color:var(--ink)}
.fc-input:focus{outline:none;border-color:var(--gold)}
.fc-nav{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s6)}
.fc-back{background:none;border:none;color:var(--gray);font-weight:700;font-size:15px;cursor:pointer;min-height:48px;padding:0 12px}
.fc-err{color:var(--ink);background:var(--gold-soft);border:1.5px solid var(--gold);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:700;margin-top:var(--s3);display:none}
.fc-result{display:none}
.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.02em;padding:7px 14px;border-radius:100px;margin-bottom:var(--s4)}
.badge.g{background:var(--green-soft);color:#15803d}.badge.y{background:var(--gold-soft);color:#8a5a0a}.badge.r{background:var(--paper-alt);color:var(--gray)}
.summary{background:var(--paper-alt);border-radius:var(--radius-sm);padding:20px;margin:var(--s5) 0}
.summary .row{display:flex;justify-content:space-between;gap:var(--s4);padding:10px 0;border-bottom:1px dashed var(--line);font-size:15px}
.summary .row:last-child{border-bottom:none}
.summary .row span{color:var(--gray)}.summary .row b{color:var(--ink);text-align:right;font-family:var(--font-mono);font-weight:600;font-size:14.5px}

/* ============================================================================
   PRICING — tarjetas para activacion/mensual/publicidad (unidad real, cards ok)
   ============================================================================ */
.prices{display:grid;gap:var(--s4);grid-template-columns:1fr;margin-top:var(--s6)}
.price{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5)}
.price.lead{border:1.5px solid var(--gold)}
.price .lab{font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}
.price .val{font-family:var(--font-mono);font-size:clamp(26px,5vw,32px);font-weight:700;color:var(--ink);margin:var(--s2) 0 var(--s1);letter-spacing:-.01em}
.price .val small{font-family:var(--font-body);font-size:14px;color:var(--gray);font-weight:500}
.price.lead .val{color:var(--gold-deep)}
.price .desc{color:var(--gray);font-size:14.5px;line-height:1.55}
.noline{margin-top:var(--s6);background:var(--ink);color:#fff;border-radius:var(--radius);padding:var(--s5) var(--s6);font-family:var(--font-display);font-weight:700;font-size:clamp(16px,2.2vw,18.5px);line-height:1.5}
.noline b{color:var(--gold)}
@media(min-width:640px){.prices{grid-template-columns:repeat(3,1fr)}}

/* ---- resultado del Fit Check: plan cards ---- */
.plan-cards{display:grid;gap:var(--s3);grid-template-columns:1fr;margin:var(--s4) 0}
.pc{background:var(--paper-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s4)}
.pc .l{color:var(--gray);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.pc .v{font-family:var(--font-display);color:var(--ink);font-size:18.5px;font-weight:800;margin-top:4px;line-height:1.2}
.pc .v.gold{color:var(--gold-deep)}
.plan-sec{margin-top:var(--s5)}
.plan-sec h3{font-size:16px;margin-bottom:var(--s2)}
.disclaim{color:var(--gray);font-size:13px;line-height:1.5;margin-top:var(--s3)}
@media(min-width:560px){.plan-cards{grid-template-columns:1fr 1fr}}

/* ---- para quien si / no ---- */
.fit{display:grid;gap:var(--s4);grid-template-columns:1fr;margin-top:var(--s5)}
.fitcol{padding-top:var(--s2)}
.fitcol h3{font-size:17px;margin-bottom:var(--s4)}
.fitcol.yes h3{color:var(--green)}.fitcol.no h3{color:var(--gray)}
.fitrow{display:flex;gap:12px;align-items:flex-start;margin:12px 0}
.fitrow .mk{flex:0 0 22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12.5px;margin-top:1px}
.fitrow.yes .mk{background:var(--green-soft);color:var(--green)}.fitrow.no .mk{background:var(--paper-alt);color:var(--gray)}
.fitrow span:last-child{color:var(--ink-soft);font-size:15.5px;line-height:1.45}
@media(min-width:640px){.fit{grid-template-columns:1fr 1fr}}

/* ---- proteccion/comparacion: lista compacta, no 6 cajas identicas ---- */
.protlist{margin-top:var(--s5);border-top:1px solid var(--line)}
.protlist .p{display:flex;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.protlist .p b{flex:0 0 auto;min-width:11ch;color:var(--ink);font-family:var(--font-display);font-size:15px}
.protlist .p span{color:var(--gray);font-size:15px;line-height:1.5}
section.ink .protlist{border-top-color:var(--carbon-line)}
section.ink .protlist .p{border-bottom-color:var(--carbon-line)}
section.ink .protlist .p b{color:#fff}
section.ink .protlist .p span{color:var(--on-carbon-dim)}

/* ============================================================================
   BREAKPOINTS
   ============================================================================ */
@media(min-width:640px){
  :root{--pad:28px}
  .sticky .t{display:block}
}
@media(min-width:900px){
  .nav .link{display:inline;color:var(--ink-soft);font-weight:600;font-size:15px}
}

/* ============================================================================
   BORDE RASGADO — separador reutilizable (reskin 2026-08-02). Un solo
   clip-path fijo, computado una vez en layout — NO se recalcula en scroll, NO
   usa PNGs pesados por sección. Variantes de color se eligen con una clase
   modificadora; top/bottom controla de que borde de la franja "sale" el rasgo.
   Uso: <div class="torn top ink" aria-hidden="true"></div> como primer hijo de
   la seccion siguiente (o ultimo de la anterior) para fingir el corte.
   (Se probó una variante con mask-image + SVG externo per el hint del PDF de
   referencia — no renderizaba de forma confiable, se mantiene clip-path que sí
   está verificado funcionando.)
   ============================================================================ */
.torn{position:relative;height:0;overflow:visible;pointer-events:none}
.torn::after{
  content:'';position:absolute;left:0;right:0;height:22px;
  clip-path:polygon(0% 0%,3% 62%,6% 8%,9% 70%,12% 18%,15% 100%,18% 30%,21% 82%,24% 12%,27% 60%,30% 0%,
    33% 66%,36% 20%,39% 90%,42% 10%,45% 72%,48% 24%,51% 100%,54% 34%,57% 78%,60% 6%,63% 64%,
    66% 16%,69% 92%,72% 28%,75% 68%,78% 8%,81% 80%,84% 20%,87% 100%,90% 32%,93% 70%,96% 12%,100% 60%,100% 0%);
}
.torn.top::after{top:-1px}
.torn.bottom::after{bottom:-1px;transform:scaleY(-1)}
.torn.ink::after{background:var(--ink)}
.torn.carbon::after{background:var(--carbon)}
.torn.paper::after{background:var(--paper)}
.torn.paper-alt::after{background:var(--paper-alt)}
.torn.blue::after{background:var(--blue)}

/* ============================================================================
   MOVIMIENTO LIGERO (reskin 2026-08-02) — revelado por scroll, un solo golpe.
   Se anula solo via prefers-reduced-motion (regla global arriba, linea 86):
   ese media-query pone transition:none!important, asi que al agregar .in via
   JS el contenido igual aparece, pero instantaneo en vez de animado. reveal.js
   agrega .in cuando el elemento entra en viewport (IntersectionObserver, una
   sola vez, luego desconecta ese observer especifico).
   ============================================================================ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal-stagger.in>*{opacity:1;transform:translateY(0)}
.reveal-stagger.in>*:nth-child(1){transition-delay:.03s}
.reveal-stagger.in>*:nth-child(2){transition-delay:.09s}
.reveal-stagger.in>*:nth-child(3){transition-delay:.15s}
.reveal-stagger.in>*:nth-child(4){transition-delay:.21s}
.reveal-stagger.in>*:nth-child(5){transition-delay:.27s}
.reveal-stagger.in>*:nth-child(6){transition-delay:.33s}

/* Franja azul que se "descubre" detras de un borde rasgado (hero/etapas). */
.blue-reveal{position:relative;overflow:hidden}
.blue-reveal::before{
  content:'';position:absolute;inset:0;background:var(--blue);
  clip-path:inset(0 100% 0 0);transition:clip-path .6s var(--ease)
}
.blue-reveal.in::before{clip-path:inset(0 0 0 0)}

/* Barra azul decorativa reutilizable: aplica .blue-reveal a un div vacio de
   este tamaño para el "torn blue field reveal" del motion_system. */
.blue-bar{height:3px;width:64px;margin:22px auto 0}
.blue-bar.left{margin-left:0}

/* Flecha SVG que se "dibuja" una sola vez (stroke-dasharray/-offset), decorativa
   y aria-hidden. dasharray=50 es mayor al largo real del trazo (~48) a proposito
   — tecnica estandar, no requiere medir el path con precision. */
.arrow-draw path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:50;stroke-dashoffset:50;transition:stroke-dashoffset .8s var(--ease) .1s}
.arrow-draw.in path{stroke-dashoffset:0}
section.ink .arrow-draw path,section.carbon .arrow-draw path{stroke:var(--gold)}

/* ============================================================================
   BLUE CHANNEL FIELD — masa azul arquitectonica del hero (rediseño visual
   profundo 2026-08-02, pase 2). El campo azul deja de ser una palabra/numero:
   ocupa ~35-45% del hero como bloque real, con borde rasgado (vertical en
   desktop, horizontal en mobile) y contiene un CTA existente duplicado
   (mismo texto/destino/tracking que el CTA del nav — permitido explicitamente:
   "duplicar visualmente un CTA existente"). El copy del hero (label/h1/sub/
   fine) NO se mueve de orden, solo se envuelve en .hero-copy para poder
   componer el split via flex sin tocar el contenido.
   ============================================================================ */
.hero{padding:0;text-align:left;overflow:hidden}
.hero-inner{display:flex;flex-direction:column}
.hero-copy{padding:clamp(40px,9vw,80px) var(--pad) clamp(32px,6vw,44px)}
.hero-copy .label{justify-content:flex-start}
.hero h1{text-align:left;margin:var(--s5) 0 var(--s4) 0}
.hero .sub{text-align:left;margin:0;max-width:56ch}
.hero .fine{text-align:left;margin:var(--s5) 0 0}

.hero-field{
  position:relative;background:var(--dr-blue);color:#fff;
  padding:clamp(32px,8vw,44px) var(--pad);
  display:flex;align-items:center;justify-content:center;
  clip-path:polygon(0% 9%,4% 2%,9% 11%,14% 1%,19% 10%,24% 0%,29% 9%,34% 2%,39% 12%,
    44% 1%,49% 8%,54% 0%,59% 10%,64% 2%,69% 11%,74% 1%,79% 9%,84% 0%,89% 10%,94% 2%,100% 9%,
    100% 100%,0% 100%);
}
.hero-field-inner{width:100%;max-width:420px;text-align:center}
.hero-field .btn{width:100%;min-height:56px}

@media(min-width:900px){
  .hero-inner{flex-direction:row;align-items:stretch}
  .hero-copy{flex:0 0 58%;max-width:58%;padding:clamp(64px,7vw,104px) clamp(48px,5vw,72px) clamp(64px,7vw,104px) var(--pad);
    display:flex;flex-direction:column;justify-content:center}
  .hero h1{max-width:13ch}
  /* Escopeado a .hero-inner .hero-field (no el bare .hero-field) para que .field-band
     — el mismo campo azul pero full-width, reutilizado en Canal bajo el VSL — no
     herede el split vertical/flex pensado solo para el layout de dos columnas. */
  .hero-inner .hero-field{flex:0 0 42%;max-width:42%;padding:clamp(40px,4vw,56px);
    clip-path:polygon(10% 0%,16% 4%,7% 9%,14% 14%,6% 19%,15% 24%,8% 29%,16% 35%,7% 40%,13% 46%,
      6% 52%,15% 58%,8% 64%,14% 70%,6% 76%,16% 82%,7% 88%,13% 94%,10% 100%,100% 100%,100% 0%);
  }
}

/* Banda azul full-width con borde rasgado horizontal arriba — mismo lenguaje que
   .hero-field pero para heroes de una sola columna (Canal: texto → VSL → esta banda
   con el CTA real). Comparte visual con .hero-field pero SIN el split de 42%/vertical. */
.field-band{
  position:relative;background:var(--dr-blue);color:#fff;margin-top:var(--s6);
  padding:clamp(32px,7vw,44px) var(--pad);display:flex;justify-content:center;
  clip-path:polygon(0% 9%,4% 2%,9% 11%,14% 1%,19% 10%,24% 0%,29% 9%,34% 2%,39% 12%,
    44% 1%,49% 8%,54% 0%,59% 10%,64% 2%,69% 11%,74% 1%,79% 9%,84% 0%,89% 10%,94% 2%,100% 9%,
    100% 100%,0% 100%);
}
.field-band-inner{width:100%;max-width:520px}
.field-band .btn{width:100%;min-height:56px}
.field-band .cta-note{color:var(--blue-soft);text-align:center;display:block;margin-top:var(--s3)}

/* ============================================================================
   SPLIT DECISION — Motor vs Canal como dos territorios editoriales, no
   pricing cards (rediseño visual profundo 2026-08-02, pase 2). Mismo copy,
   precios, orden y CTAs — solo cambia composicion: bloques completos sin
   radio ni sombra, separados por hairline/seam, Canal en territorio oscuro
   para crear el contraste papel/negro que pide la referencia. Comparte clase
   .path con el bloque .recap mas abajo en la pagina (mismo tratamiento,
   sin duplicar CSS).
   ============================================================================ */
.paths,.recap{display:grid;grid-template-columns:1fr;border:1px solid var(--line);gap:0}
.path{border-radius:0;border:none;box-shadow:none;padding:clamp(28px,5vw,44px) clamp(24px,4vw,36px);background:var(--paper)}
.path+.path{border-top:1px solid var(--line)}
.path-idx{display:block;font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:900;
  color:var(--dr-blue);line-height:1;margin-bottom:var(--s3)}
.path .tag{display:block;margin-top:0;font-family:var(--font-body);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.path .ttl{color:var(--ink)}
.path.feat{background:var(--ink);color:#fff}
.path.feat .path-idx{color:var(--gold)}
.path.feat .tag{color:var(--gold)}
.path.feat .ttl{color:#fff}
.path.feat p.desc{color:var(--on-carbon)}
.path.feat .costs{border-color:var(--carbon-line)}
.path.feat .costs .row span{color:var(--on-carbon-dim)}
.path.feat .costs .row b{color:#fff}
@media(min-width:960px){
  .paths,.recap{grid-template-columns:1fr 1fr}
  .path+.path{border-top:none;border-left:1px solid var(--line)}
  .path.feat{border-left:none}
}

/* Indice de etapa (01-05) — badge compacto, mono para el numero. */
.stage-index{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;
  font-weight:700;letter-spacing:.06em;color:var(--gray);text-transform:uppercase}
.stage-index b{color:var(--ink);font-size:13px}
section.ink .stage-index,section.carbon .stage-index{color:var(--on-carbon-dim)}
section.ink .stage-index b,section.carbon .stage-index b{color:#fff}
.stage-index .sep{color:var(--line)}
.stage-index .active{color:var(--blue);font-weight:900}


/* ============================================================================
   REDISEÑO VISUAL PROFUNDO — PASE 3 (2026-08-02)

   Portado desde el harness de diseño (design-preview/). Cambia composicion,
   escala y material; NO toca copy ni orden de secciones — verificado con
   diff de secuencia de texto visible contra el estado previo en las 7 rutas.

   Cambios principales frente al pase 2:
     - Escala tipografica calibrada contra los titulares REALES por viewport.
     - Borde rasgado de papel real (path SVG con ruido de 3 octavas) en lugar
       del zigzag de dientes uniformes, que se leia como hoja de sierra.
     - Campo azul del hero con contenido nativo y masa arquitectonica.
     - Canal desktop: hero en grid con el VSL al lado del titular (antes tenia
       el 50% derecho vacio).
     - Metricas y equipo con tratamiento editorial, en su seccion original.
     - Radio 0 por defecto, hairlines en vez de sombras.
     - CTA del nav a 48px y tap targets a 44px (violaciones medidas).
   ============================================================================ */
/* ============================================================================
   DRIMERS — Hoja de iteracion del rediseño (harness de diseño, NO produccion).

   Se carga DESPUES de /drimers/design-system.css y solo sobreescribe lo que el
   pase 2 dejo corto frente a la referencia visual. Mantenerla separada permite
   (a) ver exactamente que cambia respecto de lo desplegado y (b) portar a
   design-system.css solo lo aprobado, sin arrastrar experimentos.

   Regla que gobierna todo este archivo: cambia COMPOSICION, ESCALA y MATERIAL.
   Nunca copy, nunca orden de secciones.
   ============================================================================ */

/* ── 1. ESCALA TIPOGRAFICA ──────────────────────────────────────────────────
   Brief: hero mobile 46-64px, hero desktop 72-112px, capitulo desktop 48-80px.
   Lo desplegado se queda corto en los dos extremos: clamp(44px,11vw,92px) da
   42.9px a 390px (bajo el minimo) y los h2 topan en 42px (bajo los 48 minimos
   de capitulo). Se recalibra con vw intermedio para cubrir ambos extremos con
   una sola curva. */
/* 104px (8vw) desbordaba el fold en desktop: el titular real es largo y a 56%
   de ancho la ultima linea quedaba cortada. 80px sigue dentro del rango del
   brief (72-112) y entra completo. La escala se calibra contra el TITULAR
   REAL, no contra un maximo teorico. */
h1{
  font-size:clamp(46px, 5.6vw, 80px);
  line-height:.90;
  letter-spacing:-.015em;
}
h2{
  font-size:clamp(30px, 5.2vw, 72px);
  line-height:1.0;
  letter-spacing:-.02em;
  max-width:18ch;
}
h3{font-size:clamp(20px, 2.4vw, 26px);line-height:1.2}

/* Cuerpo: minimo practico 16px en mobile, 16-19px en lectura desktop. */
.lead{font-size:clamp(17px, 1.5vw, 19px);line-height:1.6}
body{font-size:17px}

/* ── 2. HERO: el campo azul deja de verse vacio ─────────────────────────────
   El qualifier ("Para negocios establecidos...") es contenido NATIVO del hero
   y en el DOM ya va despues del sub y antes del CTA. Moverlo dentro del campo
   azul conserva ese orden de lectura y le da masa real al bloque, en vez de
   dejar un rectangulo con un boton flotando. */
.hero-field-inner{max-width:460px}
.hero .fine.in-field{
  color:#fff;opacity:.9;text-align:left;margin:0 0 22px;
  font-size:14.5px;line-height:1.55;max-width:none;
  padding-left:14px;border-left:2px solid rgba(255,255,255,.45);
}
@media(min-width:900px){
  .hero .fine.in-field{font-size:15.5px}
  /* El campo gana presencia: 44% del ancho en vez de 42%. */
  .hero-inner .hero-copy{flex:0 0 56%;max-width:56%}
  .hero-inner .hero-field{flex:0 0 44%;max-width:44%}
}

/* ── 2b. CANAL: el hero deja de tener media pantalla crema vacia ───────────
   Canal no usa el split de .hero-inner (su hero es una columna sola con el VSL
   debajo). A 1440px eso dejaba el 50% derecho vacio — justo lo que el brief
   prohibe — y enterraba el VSL, que es el activo de conversion de la pagina.

   Se resuelve con CSS grid + `grid-area` sobre los MISMOS elementos en el MISMO
   orden del DOM: titular/sub/fine a la izquierda, VSL y banda de CTA a la
   derecha. Es reorganizacion visual dentro de la seccion, no reordenamiento de
   contenido: el orden de lectura y el orden del DOM quedan intactos. */
@media(min-width:1000px){
  .hero .wrap:has(> .vsl){
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    grid-template-areas:
      'eyebrow media'
      'title   media'
      'sub     media'
      'fine    media'
      'band    band';
    column-gap:clamp(40px,4vw,64px);
    align-items:start;
  }
  .hero .wrap:has(> .vsl) > .label{grid-area:eyebrow;align-self:end}
  .hero .wrap:has(> .vsl) > h1{grid-area:title;margin-top:var(--s4)}
  .hero .wrap:has(> .vsl) > .sub{grid-area:sub}
  .hero .wrap:has(> .vsl) > .fine{grid-area:fine;margin-top:var(--s5)}
  .hero .wrap:has(> .vsl) > .vsl{grid-area:media;margin:0;align-self:center;position:sticky;top:96px}
  .hero .wrap:has(> .vsl) > .field-band{grid-area:band;margin-top:clamp(40px,5vw,64px)}
  /* Los decorativos del hero (barra azul y flecha) sobran en esta composicion:
     el propio split ya dirige la mirada hacia el video. */
  .hero .wrap:has(> .vsl) > .blue-bar,
  .hero .wrap:has(> .vsl) > .arrow-draw{display:none}
}

/* ── 3. CAPITULOS: mas aire arriba del titulo, regla de registro ────────────
   La referencia marca los capitulos con un indice y una regla, no con una
   card. `.head` recibe una linea superior fina que funciona como registro. */
.head{max-width:52ch}
section > .wrap > .head{position:relative;padding-top:var(--s5)}
section > .wrap > .head::before{
  content:'';position:absolute;top:0;left:0;width:64px;height:2px;
  /* La regla hereda el color del LABEL de su seccion. Antes era siempre azul y
     chocaba con labels amarillos: dos acentos distintos dentro del mismo
     bloque. El azul queda reservado a las masas y campos; el filete acompaña
     al label. */
  background:var(--gold,#FFC400);
}
section.ink > .wrap > .head::before{background:var(--gold,#FFC400)}
/* En un bloque centrado el filete a la izquierda se lee descolgado del titulo
   (parece que la seccion esta desalineada). Se centra con el bloque. */
section > .wrap > .head.center{padding-top:var(--s5)}
section > .wrap > .head.center::before{left:50%;transform:translateX(-50%)}

/* ── 4. PRUEBA: la banda de metricas se lee como dato, no como card ────────
   Se mantiene EXACTAMENTE donde esta en el DOM (seccion "Trayectoria en
   campañas pagadas"). Solo cambia el tratamiento: numeros grandes en display,
   separados por reglas verticales, sin caja. */
.evidence-stats{gap:0;border-top:1px solid var(--carbon-line);padding-top:var(--s6);margin-top:var(--s7)}
.evidence-stats .st{flex:1;min-width:0;text-align:left;padding:0 var(--s5);position:relative}
.evidence-stats .st + .st::before{
  content:'';position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--carbon-line);
}
.evidence-stats .st b{
  font-family:var(--font-display);font-size:clamp(38px,6vw,64px);font-weight:900;
  letter-spacing:-.02em;line-height:.95;
}
.evidence-stats .st span{font-size:11.5px;letter-spacing:.09em;margin-top:6px;line-height:1.35}
@media(max-width:430px){
  .evidence-stats{flex-wrap:wrap}
  .evidence-stats .st{flex:0 0 100%;width:auto;padding:var(--s4) 0}
  .evidence-stats .st + .st::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
}

/* ── 5. EQUIPO: composicion editorial, no tarjetas centradas ───────────────
   Sin avatares circulares flotando en un mar crema: retrato cuadrado, datos
   alineados a la izquierda, separados por hairline.

   GOTCHA REAL: el .wrap de esta seccion trae `max-width:640px` y `center`
   INLINE en el HTML de produccion. Sin anular ambos, el flex de .person se
   comprime a columnas de ~90px y el texto se parte en 4 lineas (verificado con
   captura). Como el HTML no se toca en esta fase, se anula desde CSS. */
section .wrap.center:has(.team){max-width:1000px!important;text-align:left}
.team{gap:0;margin-top:var(--s7);border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr;justify-content:stretch}
.person{
  display:flex;align-items:center;gap:var(--s5);text-align:left;max-width:none;
  padding:var(--s5) 0;border-bottom:1px solid var(--line);width:100%;
}
.person img{width:84px;height:84px;border-radius:0;margin:0;flex:0 0 84px;object-fit:cover}
.person b{margin-top:0;font-size:19px}
.person span{font-size:14.5px;max-width:42ch}
@media(min-width:760px){ .team{grid-template-columns:1fr 1fr;gap:0 var(--s7)} }

/* ── 6. GEOMETRIA: radio 0 por defecto, hairline en vez de sombra ──────────
   Regla dura del brief. Los controles funcionales conservan un radio minimo
   porque ahi el radio comunica "esto se toca", no decora. */
.card,.price,.noline,.path,.order,.vsl,.control img,.evidence .e,.wall > *,.camps > *{
  border-radius:0;
}
.card,.price{box-shadow:none}
.btn{border-radius:0}
.btn.primary{box-shadow:none;border:2px solid transparent}
.btn.primary:hover{transform:none;box-shadow:none;background:#FFD233}
.btn.primary:active{transform:none}
.btn.dark:hover{transform:none}
/* focus-visible: anillo exterior, no desplaza el layout. */
.btn:focus-visible{outline:3px solid var(--dr-blue,#0A41FF);outline-offset:3px}

/* Controles funcionales: unico lugar donde sobrevive el radio. */
.fc-input,.fc-opt,.chk-opt,.mode-card{border-radius:4px}
.fc-card{border-radius:0;box-shadow:none;border:1px solid var(--line);border-top:3px solid var(--dr-blue,#0A41FF)}

/* ── 7. TIMELINE: el azul como hilo que conecta los pasos ──────────────────
   Hoy los pasos son filas separadas por una linea. Se agrega el rail azul
   continuo que la referencia usa para encadenar la secuencia. */
.timeline{position:relative}
.timeline .step{position:relative}
.timeline .step .n{position:relative;z-index:2}
@media(min-width:640px){
  .timeline::before{
    content:'';position:absolute;left:23px;top:12px;bottom:12px;width:2px;
    background:var(--dr-blue,#0A41FF);opacity:.22;
  }
}

/* ── 8. FOOTER: cierre con peso, no un pie gris ────────────────────────────*/
.foot{border-top:3px solid var(--dr-blue,#0A41FF)}
.foot .brandline{font-size:clamp(20px,3.4vw,30px);max-width:26ch}

/* ── 9. BORDE RASGADO REALISTA ─────────────────────────────────────────────
   El clip-path de dientes uniformes se leia como hoja de sierra, no como papel
   roto (comparado contra la referencia: ahi el borde es una ondulacion
   irregular de amplitud baja con microdentado de fibra encima).

   Se reemplaza por un path SVG generado con ruido de 3 octavas:
     - onda lenta  -> el vaiven general que da caracter de papel
     - onda media  -> rompe la periodicidad
     - ruido fino  -> las fibras del borde
   Mas muescas profundas ocasionales (~4%), nunca en intervalos fijos.

   Va como data-URI en background-image con preserveAspectRatio=none: escala a
   cualquier ancho sin recalcularse, no pesa una peticion extra y no depende de
   mask-image (que ya fallo en un intento anterior). El path es determinista
   (semilla fija), asi que no cambia entre builds.
   Generador: scratchpad/gen_torn.py
   ============================================================================ */
.torn::after{
  clip-path:none!important;
  height:30px;
  /* !important obligatorio: design-system.css usa el SHORTHAND
     `.torn.ink::after{background:var(--ink)}`, que tiene mas especificidad y
     resetea background-size/repeat a sus valores iniciales. Sin esto la imagen
     llega al navegador pero se pinta a tamaño natural (1200x30) y el borde se
     ve plano. Diagnosticado leyendo el computed style: bgSize volvia "auto". */
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-color:transparent!important;
  background-position:center!important;
}
/* Posicion: el path dibuja el rasgado en la franja MEDIA-BAJA de la banda y la
   rellena hacia abajo. Con el `top:-1px` original esos dientes caian dentro de
   la seccion de destino (negro sobre negro = invisible, se veia una linea
   recta). Subiendo la banda su altura completa, el borde solido coincide con el
   limite de la seccion y los dientes quedan arriba, mordiendo el papel. */
.torn.top::after{top:-30px!important}
.torn.bottom::after{bottom:-30px!important;transform:scaleY(-1)}

.torn.ink::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230D0D0F'/%3E%3C/svg%3E")}
.torn.bottom.ink::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230D0D0F' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E")}
.torn.carbon::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230D0D0F'/%3E%3C/svg%3E")}
.torn.bottom.carbon::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230D0D0F' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E")}
.torn.blue::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230A41FF'/%3E%3C/svg%3E")}
.torn.bottom.blue::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%230A41FF' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E")}
.torn.paper::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%23F6F3EC'/%3E%3C/svg%3E")}
.torn.bottom.paper::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%23F6F3EC' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E")}
.torn.paper-alt::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%23EFEAE0'/%3E%3C/svg%3E")}
.torn.bottom.paper-alt::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 23.44 L 0.0 23.44 L 9.39 21.29 L 18.47 18.76 L 22.82 19.18 L 35.35 19.37 L 45.73 25.67 L 53.61 25.75 L 66.48 20.09 L 71.36 20.1 L 76.91 22.05 L 84.53 21.51 L 88.77 18.68 L 96.99 19.18 L 105.49 18.67 L 116.64 17.67 L 125.91 22.08 L 132.62 22.5 L 140.73 20.27 L 149.61 14.11 L 161.47 17.5 L 168.46 17.99 L 178.32 15.46 L 192.12 14.67 L 196.38 16.15 L 210.71 16.14 L 218.47 23.54 L 223.89 9.81 L 235.78 9.18 L 243.61 14.52 L 252.06 11.55 L 264.51 13.38 L 272.59 9.07 L 286.53 6.89 L 292.64 7.32 L 302.6 16.1 L 310.19 9.41 L 321.25 8.77 L 332.15 4.99 L 344.17 11.27 L 352.01 7.51 L 362.46 4.87 L 368.32 5.66 L 372.48 4.41 L 377.18 18.58 L 387.41 5.66 L 394.76 7.41 L 407.53 12.47 L 416.36 5.52 L 423.66 7.03 L 429.0 5.22 L 438.31 6.33 L 442.2 9.37 L 455.12 10.88 L 462.68 6.85 L 472.04 11.75 L 478.04 12.07 L 490.85 12.14 L 502.44 7.68 L 509.88 14.26 L 516.28 11.32 L 524.71 13.2 L 538.63 8.63 L 544.68 7.24 L 555.02 12.57 L 563.79 10.47 L 568.31 10.43 L 580.36 10.82 L 585.89 10.96 L 598.14 11.99 L 606.07 11.51 L 611.51 4.91 L 624.88 9.67 L 637.41 10.48 L 644.79 6.78 L 648.54 9.9 L 657.83 9.19 L 670.85 7.75 L 677.17 3.3 L 687.1 2.6 L 692.11 7.45 L 700.66 4.55 L 708.81 6.83 L 718.15 12.38 L 723.73 1.0 L 729.19 2.64 L 738.8 1.21 L 748.4 4.54 L 758.05 1.0 L 769.99 2.02 L 781.8 5.09 L 792.01 1.91 L 803.09 1.56 L 811.86 5.48 L 824.92 5.72 L 834.57 5.98 L 839.65 1.0 L 844.03 1.0 L 854.86 5.42 L 860.13 5.11 L 865.27 6.63 L 871.24 7.44 L 880.11 8.17 L 885.45 4.09 L 892.71 2.64 L 904.11 1.91 L 912.47 2.4 L 922.81 6.88 L 937.05 9.93 L 941.78 16.95 L 948.3 5.49 L 961.74 11.7 L 966.96 12.8 L 978.12 7.0 L 989.15 10.24 L 1002.89 12.61 L 1007.39 14.56 L 1020.31 12.03 L 1029.88 16.12 L 1034.88 13.19 L 1039.66 10.52 L 1045.44 11.89 L 1057.24 12.07 L 1062.76 20.61 L 1066.53 15.75 L 1072.17 13.86 L 1076.92 16.63 L 1085.87 16.89 L 1094.94 15.85 L 1102.24 17.03 L 1112.71 13.74 L 1116.9 11.6 L 1128.5 12.56 L 1133.01 17.11 L 1143.85 12.68 L 1150.62 14.01 L 1159.03 12.4 L 1173.14 14.45 L 1187.17 12.42 L 1190.78 12.94 L 1199.81 11.42 L 1200 11.66 L 1200 30 Z' fill='%23EFEAE0' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E")}

/* ── 10. HERO: el campo azul tambien con rasgado real ──────────────────────
   .hero-field no usa .torn: trae su propio clip-path de dientes uniformes en
   design-system.css. Se anula y se resuelve con la misma tecnica: una banda
   del color del PAPEL, invertida (solida arriba, rasgada abajo), superpuesta
   al borde superior del campo. Al taparlo con papel, el limite del azul queda
   irregular sin tocar la geometria del bloque. */
.hero-field{clip-path:none!important;position:relative}
.hero-field::before{
  content:'';position:absolute;left:0;right:0;top:0;height:26px;z-index:3;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='30' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M 0 30 L 0 17.01 L 0.0 17.01 L 9.08 13.79 L 18.21 13.54 L 22.83 10.71 L 35.17 13.02 L 49.38 14.36 L 59.63 17.01 L 63.87 7.62 L 67.8 9.58 L 80.5 9.5 L 89.49 10.3 L 96.1 12.72 L 108.77 10.13 L 114.85 6.74 L 126.73 7.41 L 134.5 11.67 L 138.11 5.81 L 146.78 11.77 L 151.17 9.02 L 157.69 4.78 L 171.7 10.07 L 177.96 4.99 L 190.17 5.7 L 198.6 5.91 L 203.61 9.51 L 211.76 6.27 L 225.84 11.1 L 239.0 6.69 L 251.83 10.25 L 266.11 7.1 L 278.06 8.14 L 282.45 6.32 L 288.68 10.35 L 297.17 13.19 L 306.98 12.49 L 312.24 12.81 L 318.53 7.19 L 332.29 7.15 L 345.42 10.17 L 350.14 5.68 L 356.31 10.76 L 368.81 9.64 L 374.31 10.47 L 380.37 9.04 L 390.61 6.55 L 396.41 4.29 L 404.82 4.33 L 412.41 8.03 L 419.92 10.21 L 430.61 8.21 L 435.73 14.38 L 446.9 19.64 L 455.71 7.4 L 470.1 1.64 L 481.66 7.57 L 492.86 6.27 L 500.26 5.13 L 513.27 2.56 L 526.19 3.36 L 533.92 3.23 L 538.39 3.56 L 551.49 3.98 L 563.03 2.67 L 575.68 1.0 L 579.6 2.73 L 585.69 3.5 L 595.93 5.29 L 599.65 1.0 L 605.44 1.0 L 616.16 1.87 L 623.3 3.78 L 631.55 5.11 L 644.66 2.27 L 651.67 1.0 L 664.32 6.73 L 678.18 2.96 L 686.64 3.41 L 694.71 6.6 L 701.72 8.68 L 710.21 14.55 L 714.25 8.43 L 721.19 16.84 L 729.7 4.06 L 735.87 5.36 L 746.26 8.4 L 756.94 11.89 L 767.93 7.81 L 773.46 6.67 L 784.77 8.63 L 792.11 13.07 L 802.34 14.06 L 814.5 15.8 L 828.17 14.94 L 836.67 14.49 L 844.34 14.3 L 856.54 17.57 L 867.17 12.04 L 879.61 15.66 L 885.52 17.75 L 899.67 15.03 L 906.73 17.97 L 914.1 11.52 L 923.64 16.85 L 927.55 17.15 L 939.78 12.11 L 951.89 11.74 L 961.07 16.19 L 972.12 17.79 L 985.97 10.91 L 995.26 12.38 L 1005.76 14.08 L 1015.4 12.34 L 1028.13 16.84 L 1040.92 17.31 L 1050.71 11.33 L 1059.74 26.34 L 1068.92 12.97 L 1078.6 13.78 L 1082.91 14.21 L 1096.84 17.46 L 1105.55 11.44 L 1117.96 17.82 L 1124.99 12.51 L 1138.58 12.51 L 1142.43 13.16 L 1153.45 14.62 L 1163.74 13.39 L 1168.67 16.79 L 1174.4 17.23 L 1182.06 16.7 L 1187.38 15.34 L 1197.88 18.43 L 1200 14.03 L 1200 30 Z' fill='%23F6F3EC' transform='scale(1,-1) translate(0,-30)'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:100% 100%;
}
/* Desktop: el corte es VERTICAL (el campo ocupa la columna derecha). La misma
   banda se rota 90deg y se estira a la altura del campo — reusar el mismo path
   mantiene la coherencia del material en los dos ejes. */
@media(min-width:900px){
  .hero-inner .hero-field::before{
    top:0;bottom:0;left:0;right:auto;height:auto;width:26px;
    background-size:100% 100%;
    /* El SVG es horizontal; se rota sobre su centro y se dimensiona con el
       ancho = altura del contenedor para que cubra todo el borde. */
    transform-origin:center;
  }
  .hero-inner .hero-field{overflow:hidden}
}

/* Desktop: path VERTICAL propio (no el horizontal rotado, que producia manchas
   al estirar el detalle fino sobre 800px de alto). Mismo ruido de 3 octavas
   recorriendo el eje Y. El relleno va del rasgado hacia la DERECHA en color
   papel, mordiendo el borde izquierdo del campo azul. */
@media(min-width:900px){
  .hero-inner .hero-field::before{
    top:0;bottom:0;left:0;right:auto;height:auto;width:30px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='1200' viewBox='0 0 30 1200' preserveAspectRatio='none'%3E%3Cpath d='M 0 0 L 18.8 0 L 18.8 0.0 L 15.16 5.61 L 19.0 11.64 L 14.83 20.98 L 19.63 29.24 L 15.23 32.99 L 19.36 46.0 L 18.89 58.53 L 15.17 70.7 L 19.15 79.56 L 16.22 87.8 L 14.41 94.79 L 21.41 107.01 L 19.76 116.59 L 17.63 127.5 L 18.39 133.29 L 19.24 141.85 L 18.46 146.86 L 16.3 153.01 L 19.97 157.4 L 20.68 165.21 L 16.27 169.28 L 20.41 181.93 L 22.35 189.99 L 17.36 202.27 L 21.46 209.92 L 20.69 224.01 L 20.83 229.89 L 18.82 239.88 L 18.29 247.16 L 16.76 258.15 L 20.85 262.5 L 15.97 271.97 L 4.25 279.27 L 17.74 284.18 L 15.7 294.23 L 12.94 301.79 L 22.05 310.76 L 19.33 319.48 L 17.84 323.42 L 15.36 335.0 L 14.66 347.77 L 14.1 355.21 L 5.83 361.01 L 17.47 365.55 L 17.35 369.19 L 15.06 377.98 L 13.67 384.71 L 10.26 397.63 L 11.33 403.59 L 9.69 407.55 L 14.93 415.92 L 11.98 419.99 L 9.47 432.27 L 1.0 441.76 L 6.63 454.74 L 7.68 462.35 L 10.24 468.26 L 7.92 481.96 L 7.9 490.32 L 9.84 502.99 L 6.79 508.07 L 4.6 517.43 L 2.71 524.25 L 7.58 528.18 L 8.37 539.51 L 4.67 551.85 L 6.79 564.45 L 1.98 576.28 L 4.81 590.64 L 1.0 602.71 L 3.87 609.11 L 7.99 615.38 L 9.24 623.48 L 3.69 632.3 L 6.12 645.65 L 5.82 653.3 L 2.61 663.09 L 3.28 668.62 L 9.56 675.54 L 9.4 684.77 L 8.24 696.42 L 3.66 710.38 L 10.15 715.53 L 7.59 719.71 L 7.6 726.09 L 1.0 732.32 L 6.73 744.12 L 9.59 748.27 L 10.02 761.75 L 11.56 775.22 L 9.58 787.8 L 8.8 798.6 L 9.81 803.64 L 9.1 807.85 L 10.01 816.98 L 10.19 824.69 L 6.86 834.47 L 10.87 842.87 L 10.28 853.73 L 3.55 861.39 L 9.05 869.46 L 5.75 883.71 L 7.79 893.4 L 2.89 899.33 L 9.09 906.17 L 3.4 919.85 L 1.38 933.97 L 1.07 938.96 L 1.0 944.86 L 2.1 948.99 L 5.16 962.13 L 6.05 973.3 L 1.0 978.57 L 3.74 987.77 L 5.15 993.26 L 1.53 1001.41 L 3.97 1011.26 L 5.28 1017.89 L 1.08 1028.53 L 2.09 1042.55 L 2.64 1048.53 L 1.32 1056.9 L 4.13 1066.71 L 3.68 1072.83 L 8.16 1076.45 L 7.67 1081.14 L 5.13 1089.58 L 6.09 1093.19 L 1.0 1098.42 L 8.78 1110.14 L 8.05 1121.75 L 10.77 1135.54 L 9.17 1147.46 L 11.02 1159.88 L 12.61 1163.71 L 9.26 1171.94 L 14.07 1179.87 L 14.33 1189.5 L 14.71 1198.89 L 14.16 1200 L 0 1200 Z' fill='%23F6F3EC'/%3E%3C/svg%3E");
    background-size:100% 100%;background-repeat:no-repeat;
    transform:none;
  }
}

/* ── 11. CTA del nav: 48px minimo ──────────────────────────────────────────
   design-system.css fija `.nav .btn{min-height:42px}`, bajo el minimo de 48px
   que exige el brief. Detectado por auditoria medida, identico en las 4 rutas
   y en los dos viewports — no era un caso aislado sino la regla compartida. */
.nav .btn{min-height:48px;padding:0 20px}
@media(max-width:430px){ .nav .btn{padding:0 16px;font-size:14px} }

/* -- 12. Tap targets reales -------------------------------------------------
   Auditoria de objetivos <44px. Se separo lo real de lo exento:
     - <summary> del FAQ: 350x26px. Es un control que se clickea para abrir y
       cerrar, no texto. Violacion real -> se le da alto y area de toque.
     - boton CC del VSL: 41x28px. Control real -> 44x44 minimo.
     - <a> inline dentro de parrafos ("Escribenos por WhatsApp", 178x17): WCAG
       2.5.8 exceptua explicitamente los enlaces en texto fluido. NO se toca:
       agrandarlos romperia el renglon sin beneficio de accesibilidad. */
.faq summary{min-height:44px;display:flex;align-items:center;padding:9px 0}
.vsl-cc{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

/* ── FULL-BLEED del campo azul en mobile (fix 2026-08-02) ──────────────────
   .hero-field y .field-band viven dentro de .wrap y heredaban su padding
   lateral: a 390px median 350px reales, dejando 20px de crema a cada lado.
   Los divisores .torn en cambio si iban de borde a borde, asi que el rasgado
   se cortaba de forma inconsistente entre unos y otros.

   Margenes negativos del ancho exacto del padding para romper el contenedor.
   Se limita a <900px: en desktop el campo es una COLUMNA del split (42-44%) y
   un full-bleed ahi lo desbordaria fuera del layout. */
@media(max-width:899px){
  .hero-field,
  .field-band{
    margin-left:calc(-1 * var(--pad));
    margin-right:calc(-1 * var(--pad));
    width:calc(100% + (var(--pad) * 2));
    max-width:none;
  }
}

/* ── AJUSTES DE ESPACIADO Y RITMO (fix 2026-08-02) ─────────────────────────*/

/* Checklist con titulo inline ("Satisfaccion. Al terminar el trabajo...").
   El <b> y el texto compartian renglon sin jerarquia y el interlineado dejaba
   un hueco irregular debajo de cada item. El titulo pasa a bloque propio, con
   el punto de vista separado del cuerpo y un ritmo vertical parejo. */
.checklist li{margin:0;padding:var(--s4) 0;border-bottom:1px solid var(--line);align-items:flex-start}
.checklist li:last-child{border-bottom:none}
.checklist li b{display:block;margin-bottom:4px;font-family:var(--font-display);
  font-size:16px;letter-spacing:-.01em}
.checklist li::before{margin-top:11px}
section.ink .checklist li{border-bottom-color:var(--carbon-line)}

/* Equipo: el aire entre retrato, nombre y rol estaba comprimido. */
.person{gap:var(--s5)!important;padding:var(--s6) 0!important}
.person b{margin-bottom:3px}
.person span{line-height:1.5}
@media(max-width:640px){
  .person{gap:var(--s4)!important;padding:var(--s5) 0!important}
}

/* "Campañas en operacion" (Canal): era una tira con scroll horizontal que se
   leia como carrusel a medio cargar. Pasa al mismo collage decorativo que ya
   usan Motor y la pagina madre — las capturas se apilan y se cierran con un
   degradado, sin invitar a arrastrar. */
.camps{display:grid!important;grid-template-columns:repeat(2,1fr);gap:var(--s3);
  overflow:visible!important;margin-top:var(--s4)}
.camps > *{height:auto!important;width:100%!important;flex:none!important;
  border-radius:0!important;object-fit:cover}
.camps img{height:auto!important;width:100%!important}
@media(min-width:820px){ .camps{grid-template-columns:repeat(3,1fr)} }
.campslab{margin-top:var(--s7)}
