/* Ori · ori.report · hoja de estilos propia (sin frameworks).
   Papel y tinta; el color solo para los veredictos. Retícula de 12 columnas. */

/* Tipografías alojadas en la propia web (sin Google Fonts): Figtree e IBM Plex Mono,
   licencia SIL OFL 1.1 (ver /assets/fonts/OFL-*.txt). Figtree es variable (400 a 900). */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --tinta:#16181D; --papel:#F5F4EF; --gris:#5B5E66; --sup:#ECEAE3; --linea:#DEDCD4; --blanco:#FBFBF8;
  --suave:#A9ACB3; --gris-osc:#C9C8C2;
  --verde:#3DB46D; --amarillo:#F2C230; --rojo:#D2453A;
  --sans:'Figtree', 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --ancho:1280px;
  --margen:clamp(16px, 5vw, 64px);
  --col-gap:clamp(16px, 2.6vw, 40px);
  --radio:20px;
  --cab:72px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--cab) + 16px)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
img{display:block}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{line-height:1.08;letter-spacing:-.02em;text-wrap:balance;font-weight:800}
p,li,figcaption,dd{text-wrap:pretty}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2.5px}
button,input,select,textarea{font:inherit;color:inherit}
.nw{white-space:nowrap}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Foco visible en todo */
:focus{outline:none}
:focus-visible{outline:3px solid var(--tinta);outline-offset:3px;border-radius:4px}
.oscuro :focus-visible,.cab-movil :focus-visible{outline-color:var(--amarillo)}

/* Saltar al contenido */
.saltar{position:absolute;left:16px;top:-80px;z-index:100;background:var(--tinta);color:var(--papel);padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none}
.saltar:focus{top:12px}

/* Contenedores y retícula */
.wrap{max-width:calc(var(--ancho) + 2 * var(--margen));margin-inline:auto;padding-inline:var(--margen)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);row-gap:clamp(28px,4vw,48px)}
.g12>*{min-width:0;grid-column:span 12}
@media (min-width:900px){
  .c2{grid-column:auto / span 2}.c3{grid-column:auto / span 3}.c4{grid-column:auto / span 4}.c5{grid-column:auto / span 5}.c6{grid-column:auto / span 6}
  .c7{grid-column:auto / span 7}.c8{grid-column:auto / span 8}.c9{grid-column:auto / span 9}.c10{grid-column:auto / span 10}
  .s2{grid-column-start:2}.s3{grid-column-start:3}.s4{grid-column-start:4}.s5{grid-column-start:5}.s6{grid-column-start:6}.s7{grid-column-start:7}.s8{grid-column-start:8}
}
@media (min-width:600px) and (max-width:899px){ .m6{grid-column:auto / span 6} }

.seccion{padding-block:clamp(56px,8vw,112px)}
.seccion.ajustada{padding-block:clamp(40px,5vw,72px)}
.seccion+.seccion{border-top:1.5px solid var(--linea)}
.seccion.sup{background:var(--sup);border-top:0}
.seccion.sup+.seccion{border-top:0}

/* Tipografía */
.eyebrow{font:500 13px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.oscuro .eyebrow{color:var(--suave)}
.t1{font-size:clamp(40px,6.4vw,88px);font-weight:900;line-height:.98;letter-spacing:-.035em}
.t2{font-size:clamp(32px,4.4vw,60px);line-height:1.02;letter-spacing:-.028em}
.t3{font-size:clamp(24px,2.6vw,34px);line-height:1.12;letter-spacing:-.018em}
.t4{font-size:21px;line-height:1.25;letter-spacing:-.01em}
.lead{font-size:clamp(19px,1.8vw,23px);line-height:1.5;color:var(--gris)}
.oscuro .lead{color:var(--gris-osc)}
.peq{font-size:15px;line-height:1.5}
.gris{color:var(--gris)}
.mono{font-family:var(--mono)}
.fuente{font:400 13px/1.5 var(--mono);color:var(--gris)}
.fuente a{color:inherit}
.oscuro .fuente{color:var(--suave)}
.pila>*+*{margin-top:var(--pila,20px)}
.pila-s{--pila:12px}.pila-l{--pila:32px}
.prosa{max-width:68ch}
.prosa>*+*{margin-top:1.1em}
.prosa h2{font-size:clamp(26px,2.8vw,34px);margin-top:1.8em}
.prosa h3{font-size:22px;margin-top:1.6em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li+li{margin-top:.45em}
.prosa blockquote{border-left:4px solid var(--tinta);padding:4px 0 4px 22px;font-size:21px;line-height:1.5}
.prosa code{font:500 .88em var(--mono);background:var(--sup);padding:.1em .35em;border-radius:6px}
.prosa table{width:100%;border-collapse:collapse;font-size:16px}
.prosa th{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gris);text-align:left;padding:0 12px 10px 0;border-bottom:2.5px solid var(--tinta)}
.prosa td{padding:12px 12px 12px 0;border-bottom:1.5px solid var(--linea);vertical-align:top}
.prosa hr{border:0;border-top:1.5px solid var(--linea);margin-block:2em}
.tabla-scroll{overflow-x:auto}

/* Filete de tinta arriba (columnas) */
.filete{border-top:3px solid var(--tinta);padding-top:20px}
.oscuro .filete{border-color:var(--papel)}
.filete-s{border-top:1.5px solid var(--linea);padding-top:16px}

/* Cifra protagonista */
.cifra{font-weight:900;letter-spacing:-.05em;line-height:.88;font-variant-numeric:tabular-nums;white-space:nowrap}
.cifra-xl{font-size:clamp(96px,16vw,220px)}
.cifra-l{font-size:clamp(56px,7vw,96px)}
.cifra-m{font-size:clamp(44px,4.6vw,64px)}
.cifra small{font-size:.5em;letter-spacing:-.02em;margin-left:.04em}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;border:2px solid var(--tinta);background:var(--tinta);color:var(--papel);font-weight:700;font-size:17px;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:#2A2D35;border-color:#2A2D35}
.btn.sec{background:transparent;color:var(--tinta)}
.btn.sec:hover{background:var(--sup)}
.oscuro .btn{background:var(--papel);color:var(--tinta);border-color:var(--papel)}
.oscuro .btn:hover{background:#fff}
.oscuro .btn.sec{background:transparent;color:var(--papel);border-color:var(--papel)}
.oscuro .btn.sec:hover{background:#2A2D35}
.btn svg{width:22px;height:22px;flex:none}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.enlace-flecha{font-weight:700;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.enlace-flecha::after{content:"→";transition:transform .15s}
.enlace-flecha:hover::after{transform:translateX(3px)}
.enlace-flecha:hover{text-decoration:underline}

/* Marcas de pendiente o ejemplo: visibles a propósito */
.pend{display:inline;background:#FBE7A1;color:var(--tinta);font:500 .82em/1.4 var(--mono);padding:.08em .4em;border-radius:6px;letter-spacing:.01em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.aviso{display:flex;gap:14px;align-items:flex-start;border:1.5px dashed var(--gris);border-radius:16px;padding:16px 18px;font-size:16px;line-height:1.5}
.aviso svg{flex:none;width:32px;height:32px}
.aviso b{display:block}

/* ===== Cabecera ===== */
.cab{position:sticky;top:0;z-index:40;background:rgba(245,244,239,.96);border-bottom:1.5px solid var(--linea)}
@supports (backdrop-filter:blur(8px)){.cab{background:rgba(245,244,239,.86);backdrop-filter:saturate(1.2) blur(10px)}}
.cab .wrap{height:var(--cab);display:flex;align-items:center;gap:20px}
.logo{display:inline-flex;align-items:center;text-decoration:none;flex:none;border-radius:8px}
.logo .marca{display:inline-flex;align-items:baseline;font-weight:800;font-size:34px;line-height:1;letter-spacing:-.035em}
.logo .marca svg{width:.62em;height:.62em;margin-right:.02em;align-self:baseline}
.logo img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav a{font-weight:600;font-size:15.5px;text-decoration:none;padding:8px 11px;border-radius:999px;white-space:nowrap}
.nav a:hover{background:var(--sup)}
.nav a[aria-current="page"],.nav a.en{text-decoration:underline;text-decoration-thickness:2.5px;text-underline-offset:.35em}
.ctas{display:flex;gap:8px;flex:none}
.ctas .btn{min-height:42px;padding:8px 16px;font-size:15px}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--tinta);background:transparent;font-weight:700;font-size:15px;cursor:pointer}
.menu-btn .hamb{width:18px;height:12px;position:relative;display:inline-block}
.menu-btn .hamb::before,.menu-btn .hamb::after,.menu-btn .hamb i{content:"";position:absolute;left:0;right:0;height:2px;background:var(--tinta);border-radius:2px}
.menu-btn .hamb::before{top:0}.menu-btn .hamb i{top:5px}.menu-btn .hamb::after{bottom:0}
.menu-btn[aria-expanded="true"] .hamb i{opacity:0}
.menu-btn[aria-expanded="true"] .hamb::before{top:5px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .hamb::after{bottom:5px;transform:rotate(-45deg)}

@media (max-width:1219px){
  .js .menu-btn{display:inline-flex}
  .js .nav{display:none}
  .js .cab.abierta .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--papel);border-bottom:1.5px solid var(--linea);padding:8px var(--margen) 20px;max-height:calc(100vh - var(--cab));overflow:auto;box-shadow:0 24px 40px rgba(22,24,29,.10)}
  .js .cab.abierta .nav a{font-size:20px;padding:14px 4px;border-radius:0;border-bottom:1.5px solid var(--linea)}
  .js .cab.abierta .nav a:hover{background:transparent;text-decoration:underline}
  .js .ctas{order:3}
  .js .menu-btn{order:2}
  /* sin JS: el menú se ve entero, en dos líneas */
  html:not(.js) .cab .wrap{height:auto;flex-wrap:wrap;padding-block:12px}
  html:not(.js) .nav{order:4;width:100%;flex-wrap:wrap;margin-left:0}
}
/* Móvil: los dos CTA pasan a una barra fija abajo (siempre visibles) */
.cab-movil{display:none}
@media (max-width:899px){
  :root{--cab:64px}
  .logo .marca{font-size:30px}
  .ctas{display:none!important}
  .cab-movil{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--tinta);padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right))}
  .cab-movil a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:6px 10px;border-radius:999px;border:2px solid var(--papel);color:var(--papel);font-weight:700;font-size:15px;line-height:1.15;text-align:center;text-decoration:none}
  .cab-movil a.prim{background:var(--papel);color:var(--tinta)}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  /* WCAG 2.4.11: el elemento con foco no queda tapado por la barra fija de abajo */
  html{scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}

/* ===== Pie ===== */
.pie{border-top:3px solid var(--tinta);padding-block:56px 40px;font-size:16px}
.pie h2{font:500 12.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:14px}
.pie ul{list-style:none;padding:0}
.pie li+li{margin-top:8px}
.pie a{text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie .inst{display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.pie .inst img{height:44px;width:auto}
.pie .legal{margin-top:48px;padding-top:20px;border-top:1.5px solid var(--linea);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;color:var(--gris);font-size:14px}

/* ===== Ori ===== */
.ori{display:block;flex:none}
.ori.gira{transform:scaleX(-1)}
.ori-24{width:24px;height:24px}.ori-32{width:32px;height:32px}.ori-48{width:48px;height:48px}.ori-64{width:64px;height:64px}.ori-96{width:96px;height:96px}.ori-128{width:128px;height:128px}
@media (max-width:899px){.ori-128{width:96px;height:96px}}

/* Estado: punto de color + texto en tinta (nunca texto sobre el color) */
.estado{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.estado i{width:12px;height:12px;border-radius:50%;background:var(--tinta);flex:none}
.estado.v i{background:var(--verde)}.estado.s i{background:var(--amarillo);box-shadow:inset 0 0 0 1.5px #9C7A0C}.estado.r i{background:var(--rojo)}

/* Tarjetas de estado */
.estados{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--col-gap)}
@media (max-width:1023px){.estados{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.estados{gap:20px 14px}.est h3{font-size:20px}.est p{font-size:15.5px}}
.est{display:flex;flex-direction:column;gap:14px}
.est .cara{background:var(--sup);border-radius:var(--radio);aspect-ratio:4/3;display:grid;place-items:center}
.est .cara svg{width:44%;height:auto;aspect-ratio:1}
.est h3{font-size:24px}
.est p{color:var(--gris);font-size:17px;line-height:1.5}

/* Pasos numerados */
.pasos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--col-gap);counter-reset:p}
@media (max-width:899px){.pasos{grid-template-columns:1fr}}
.pasos li{border-top:3px solid var(--tinta);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.pasos .n{font:500 15px var(--mono);color:var(--gris)}
.pasos h3{font-size:24px}
.pasos p{color:var(--gris);font-size:17px}

/* Tarjetas enlace */
.tarjetas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--col-gap)}
.tarjetas.t3c{grid-template-columns:repeat(3,minmax(0,1fr))}
.tarjetas.t2c{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1023px){.tarjetas,.tarjetas.t3c{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.tarjetas,.tarjetas.t3c,.tarjetas.t2c{grid-template-columns:1fr}}
.tarjeta{position:relative;display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--tinta);padding-top:18px}
.tarjeta h3{font-size:23px;line-height:1.15}
.tarjeta h2 a,.tarjeta h3 a{text-decoration:none}
.tarjeta h2 a::after,.tarjeta h3 a::after{content:"";position:absolute;inset:0}
.tarjeta:hover h2 a,.tarjeta:hover h3 a{text-decoration:underline}
.tarjeta p{color:var(--gris);font-size:16.5px}
.tarjeta .eyebrow{display:flex;gap:10px;align-items:center}
.tarjeta:focus-within{outline:3px solid var(--tinta);outline-offset:8px;border-radius:4px}
.tarjeta a:focus-visible{outline:none}

/* Bloque en tinta (puntual) */
.oscuro{background:var(--tinta);color:var(--papel)}
.bloque-tinta{border-radius:28px;padding:clamp(28px,5vw,64px)}

/* Superficie */
.surf{background:var(--sup);border-radius:var(--radio);padding:clamp(22px,3vw,36px)}

/* ===== Portada (inicio) ===== */
.hero{padding-block:clamp(48px,7vw,104px) clamp(48px,6vw,88px)}
.casillas{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
.casillas li{display:flex;align-items:center;gap:12px;font-size:20px;color:var(--gris)}
.casillas i{width:30px;height:30px;border:2.5px solid var(--suave);border-radius:8px;display:grid;place-items:center;flex:none}
.casillas li.on{color:var(--tinta);font-weight:700}
.casillas li.on i{background:var(--tinta);border-color:var(--tinta)}
.casillas li.on svg{width:20px;height:20px}

/* Maqueta de la extensión */
.maqueta{position:relative;background:var(--blanco);border:1.5px solid var(--linea);border-radius:22px;box-shadow:0 24px 60px rgba(22,24,29,.12);overflow:hidden}
.maqueta .barra{height:44px;border-bottom:1.5px solid var(--linea);display:flex;align-items:center;gap:8px;padding:0 16px}
.maqueta .barra i{width:11px;height:11px;border-radius:50%;background:var(--linea)}
.maqueta .url{margin-left:10px;flex:1;min-width:0;height:28px;border-radius:14px;background:var(--sup);font:400 13px var(--mono);color:var(--gris);display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 12px;gap:8px}
.maqueta .url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maqueta .cuerpo{padding:22px;display:grid;grid-template-columns:1fr;gap:10px}
.ph{background:var(--sup);border-radius:6px;height:12px}
.pop{margin:-6px 18px 20px auto;width:min(340px,calc(100% - 36px));background:var(--papel);border:2px solid var(--tinta);border-radius:20px;padding:20px;box-shadow:0 18px 40px rgba(22,24,29,.18);display:flex;flex-direction:column;gap:10px;position:relative}
.pop .top{display:flex;gap:12px;align-items:center}
.pop .top b{font-size:20px;line-height:1.1;display:block}
.pop ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px;font-size:15.5px}
.pop li{display:flex;gap:10px;align-items:center}
.pop li svg{width:20px;height:20px;flex:none}
.pop .ver{font-weight:700;font-size:15px}
.etiqueta-ej{position:absolute;top:56px;left:16px;font:500 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--tinta);color:var(--papel);padding:4px 8px;border-radius:6px}

/* Barras simples */
.barras{display:flex;flex-direction:column;gap:16px}
.barra-d{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:baseline}
.barra-d .et{font-size:17px}
.barra-d .vl{font-weight:800;font-variant-numeric:tabular-nums}
.barra-d .hb{grid-column:1/-1;height:12px;background:var(--linea);border-radius:6px;overflow:hidden}
.barra-d .hb b{display:block;height:100%;background:var(--tinta);border-radius:6px}

/* Cabecera de página interior */
.pag-cab{padding-block:clamp(44px,6vw,88px) clamp(28px,4vw,56px)}
.migas{font:400 13.5px var(--mono);color:var(--gris);margin-bottom:22px}
.migas ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.migas li+li::before{content:"/";margin-right:6px;color:var(--suave)}
.migas a{text-decoration:none}
.migas a:hover{text-decoration:underline}
.cab-ori{display:flex;gap:clamp(16px,2.5vw,28px);align-items:flex-start}
.cab-ori .ori{margin-top:.2em}

/* Tabla de criterios */
.criterios{list-style:none;padding:0;border-top:3px solid var(--tinta)}
.criterios li{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.2fr);gap:8px 24px;padding:18px 0;border-bottom:1.5px solid var(--linea);align-items:baseline}
.criterios .n{font:500 15px var(--mono);color:var(--gris)}
.criterios b{font-size:20px}
.criterios span:last-child{color:var(--gris)}
@media (max-width:700px){.criterios li{grid-template-columns:44px minmax(0,1fr)}.criterios span:last-child{grid-column:2}}

/* Hoja de ruta */
.ruta{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--col-gap)}
@media (max-width:1023px){.ruta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ruta{grid-template-columns:1fr}}
.ruta li{border-top:3px dashed var(--linea);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.ruta li.on{border-top:3px solid var(--tinta)}
.ruta .tag{font:500 13px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.ruta li.on .tag{color:var(--tinta)}
.ruta h3{font-size:23px}
.ruta p{color:var(--gris);font-size:16.5px}

/* Equipo: acreditaciones */
.acreds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;list-style:none;padding:0}
@media (max-width:1100px){.acreds{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.acreds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.acreds{grid-template-columns:1fr}}
.acred{background:var(--blanco);border:1.5px solid var(--linea);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 30px rgba(22,24,29,.06)}
.acred .banda{background:var(--tinta);color:var(--papel);padding:14px 18px 12px;display:flex;flex-direction:column;gap:12px}
.acred .ranura{width:56px;height:10px;border-radius:5px;background:var(--papel);align-self:center}
.acred .banda span{font:500 12.5px var(--mono);letter-spacing:.16em}
.acred .in{padding:20px 18px 18px;display:flex;flex-direction:column;gap:14px;flex:1}
.acred .nm{font-size:22px;font-weight:800;line-height:1.12;letter-spacing:-.015em}
.acred .rol{font-size:15px;color:var(--gris)}
.acred .meta{margin-top:auto;font:400 12.5px var(--mono);color:var(--gris);border-top:1.5px solid var(--linea);padding-top:12px;display:flex;justify-content:space-between}

/* ===== Formularios ===== */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}
.form .ancho{grid-column:1/-1}
@media (max-width:620px){.form{grid-template-columns:1fr}}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label,.campo legend{font-weight:700;font-size:16px}
.campo .ayuda{font-size:14.5px;color:var(--gris);margin-top:-2px}
.campo input[type=text],.campo input[type=email],.campo input[type=number],.campo input[type=date],.campo input[type=tel],.campo select,.campo textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid #8A8D94;border-radius:12px;background:var(--blanco);font-size:17px}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:3px solid var(--tinta);outline-offset:1px;border-color:var(--tinta)}
.campo input:user-invalid,.campo select:user-invalid,.campo textarea:user-invalid{border-color:var(--rojo)}
.req{color:var(--gris);font-weight:400}
.check{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;font-size:16px;line-height:1.45}
.check input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--tinta)}
.radios{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.radios legend{margin-bottom:10px;padding:0}
.radio{position:relative}
.radio input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.radio span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:2px solid #8A8D94;border-radius:999px;font-weight:600;font-size:15.5px}
.radio input:checked+span{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.radio input:focus-visible+span{outline:3px solid var(--tinta);outline-offset:3px}
.oculto{display:none!important}
.form .btn{justify-self:start}
.form-nota{font-size:14.5px;color:var(--gris)}

/* ===== Blog ===== */
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtros button{min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid #8A8D94;background:transparent;font-weight:600;font-size:15px;cursor:pointer}
.filtros button[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.entradas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px var(--col-gap);list-style:none;padding:0}
@media (max-width:1023px){.entradas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.entradas{grid-template-columns:1fr}}
.entrada{position:relative;display:flex;flex-direction:column;gap:12px}
.entrada .img{aspect-ratio:1200/630;background:var(--sup);border-radius:16px;overflow:hidden;display:grid;place-items:center}
.entrada .img img{width:100%;height:100%;object-fit:contain}
.entrada .img svg.ori{width:22%;height:auto}
.entrada h2,.entrada h3{font-size:23px;line-height:1.15}
.entrada h2 a,.entrada h3 a{text-decoration:none}
.entrada h2 a::after,.entrada h3 a::after{content:"";position:absolute;inset:0}
.entrada:hover h2 a,.entrada:hover h3 a{text-decoration:underline}
.entrada p{color:var(--gris);font-size:16.5px}
.entrada .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.tipo{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--tinta);border-radius:999px;padding:6px 10px}
.entrada:focus-within{outline:3px solid var(--tinta);outline-offset:8px;border-radius:6px}
.entrada a:focus-visible{outline:none}
.vacio{border:1.5px dashed var(--gris);border-radius:var(--radio);padding:40px;display:flex;gap:24px;align-items:center}

.art-cab{padding-block:clamp(40px,6vw,80px) 28px}
.art-meta{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font:400 14px var(--mono);color:var(--gris)}
.art-portada{margin-block:12px 8px}
.art-portada img{width:100%;border-radius:20px;background:var(--sup)}
.art-portada figcaption,.prosa figcaption{font:400 13.5px/1.5 var(--mono);color:var(--gris);margin-top:10px}
.prosa figure img{width:100%;border-radius:16px;background:var(--sup)}
.prosa figure{margin-block:1.8em}
.video{position:relative;border-radius:16px;overflow:hidden;background:var(--tinta)}
.video video{display:block;width:100%;height:auto}
.video-pend{display:flex;gap:18px;align-items:center;border:1.5px dashed var(--gris);border-radius:16px;padding:28px;background:var(--sup)}
.uso-clase{border:2.5px solid var(--tinta);border-radius:22px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:14px;background:var(--blanco)}
.uso-clase .t{display:flex;gap:14px;align-items:center}
.uso-clase h2{font-size:24px}
.fuentes-lista{list-style:none;padding:0;counter-reset:f;border-top:3px solid var(--tinta)}
.fuentes-lista li{counter-increment:f;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1.5px solid var(--linea);font-size:16.5px;overflow-wrap:anywhere}
.fuentes-lista li::before{content:counter(f, decimal-leading-zero);font:500 14px var(--mono);color:var(--gris);padding-top:2px}
.art-lateral{display:flex;flex-direction:column;gap:28px}
@media (min-width:900px){.art-lateral{position:sticky;top:calc(var(--cab) + 32px);align-self:start}}
.compartir{display:flex;flex-wrap:wrap;gap:8px}
.compartir a,.compartir button{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid #8A8D94;background:transparent;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer}
.compartir a:hover,.compartir button:hover{background:var(--sup)}
.banda-ej{background:#FBE7A1;border-bottom:1.5px solid #E2C766;font:500 14px var(--mono);padding:10px 0;text-align:center}

/* ===== Test ===== */
.test{display:flex;flex-direction:column;gap:28px}
.test-progreso{display:flex;gap:8px}
.test-progreso span{flex:1;height:6px;border-radius:3px;background:var(--linea)}
.test-progreso span.hecho{background:var(--gris)}
.test-progreso span.on{background:var(--tinta)}
.caso{background:var(--blanco);border:1.5px solid var(--linea);border-radius:22px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 30px rgba(22,24,29,.06)}
.caso .origen{font:500 13px var(--mono);letter-spacing:.06em;color:var(--gris);display:flex;flex-wrap:wrap;gap:6px 16px}
.caso h3{font-size:clamp(22px,2.4vw,30px);line-height:1.15}
.caso .datos{list-style:none;padding:0;display:grid;gap:6px;font-size:16px;border-top:1.5px solid var(--linea);padding-top:14px}
.caso .datos li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}
.caso .datos li b{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gris);padding-top:3px}
@media (max-width:520px){.caso .datos li{grid-template-columns:1fr;gap:0}}
.caso.chat{background:#E9E7DF}
.burbuja{background:var(--blanco);border-radius:4px 18px 18px 18px;padding:14px 16px;font-size:17px;max-width:520px;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.opciones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:700px){.opciones{grid-template-columns:1fr}}
.opcion{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 16px;border:2px solid #8A8D94;border-radius:16px;background:var(--blanco);font-weight:700;font-size:17px;text-align:left;cursor:pointer;line-height:1.2}
.opcion:hover{border-color:var(--tinta)}
.opcion svg{width:40px;height:40px;flex:none}
.opcion small{display:block;font-weight:400;font-size:14px;color:var(--gris);margin-top:2px}
.opcion[aria-pressed="true"]{border-color:var(--tinta);box-shadow:inset 0 0 0 1.5px var(--tinta)}
.opcion:disabled{cursor:default}
.opcion:disabled:not([aria-pressed="true"]):not(.correcta){opacity:.55}
.opcion.correcta{border-color:var(--tinta);background:var(--sup)}
.respuesta{border-top:3px solid var(--tinta);padding-top:20px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:start}
.respuesta .ori{width:72px;height:72px}
.respuesta h3{font-size:24px;margin-bottom:8px}
.respuesta p{color:var(--gris)}
.resultado{text-align:left}

/* Pasos guía (Verifica en 5 pasos) */
.guia{list-style:none;padding:0;display:flex;flex-direction:column}
.guia>li{display:grid;grid-template-columns:clamp(64px,10vw,140px) minmax(0,1fr);gap:var(--col-gap);padding-block:clamp(28px,4vw,48px);border-top:3px solid var(--tinta)}
.guia .num{font-weight:900;font-size:clamp(56px,8vw,112px);line-height:.85;letter-spacing:-.05em}
.guia h2{font-size:clamp(26px,3vw,40px);margin-bottom:12px}
.guia .lista-c{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;margin-top:16px}
.guia .lista-c li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}
.guia .lista-c li svg{width:22px;height:22px;margin-top:3px}

/* Material descargable */
.material{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:var(--col-gap);align-items:start;padding-block:28px;border-top:3px solid var(--tinta)}
@media (max-width:620px){.material{grid-template-columns:1fr}}
.material img{border:1.5px solid var(--linea);border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(22,24,29,.08)}
.material .ficha{display:flex;flex-wrap:wrap;gap:6px 18px;font:400 13.5px var(--mono);color:var(--gris)}

/* 404 */
.e404{min-height:56vh;display:flex;align-items:center}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .btn,.opcion,.nav a{transition:background-color .15s,border-color .15s,color .15s}
}

/* Impresión */
@media print{
  .cab,.cab-movil,.pie,.saltar,.compartir,.btns{display:none!important}
  body{background:#fff;font-size:12pt;padding:0}
  a{text-decoration:underline}
}

/* Preguntas frecuentes */
.faq{border-top:3px solid var(--tinta)}
.faq details{border-bottom:1.5px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-weight:700;font-size:20px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 26px/1 var(--mono);flex:none;width:28px;text-align:center}
.faq details[open] summary::after{content:"−"}
.faq summary:hover{text-decoration:underline}
.faq .prosa{padding:0 0 22px;color:var(--gris)}

/* Marcador pendiente que ocupa un párrafo entero (lo rellena el equipo) */
.pend-bloque{border:1.5px dashed #B8962A;background:#FDF6DA;border-radius:12px;padding:12px 16px;font-size:15px}
.pend-bloque .pend{background:transparent;padding:0;font-size:14px}
.prosa figcaption{font-style:italic}
.logo-pie img{height:48px;width:auto}
.prosa>h2:first-child,.prosa>h3:first-child{margin-top:0}
.pend{font-size:min(.82em,15px)}
.campo.radios{flex-direction:row;gap:10px}

/* Filetes entre secciones alineados con la retícula (no con el borde de la ventana) */
.seccion+.seccion.wrap{border-top:0}
.wrap[data-linea],.seccion+.seccion.wrap{position:relative}
.wrap[data-linea]::before,.seccion+.seccion.wrap::before{content:"";position:absolute;top:0;left:var(--margen);right:var(--margen);border-top:1.5px solid var(--linea)}
.wrap[data-linea="tinta"]::before{border-top:3px solid var(--tinta)}
.seccion.sup+.seccion.wrap:not([data-linea])::before{display:none}
.art-portada{max-width:min(100%,860px)}.art-portada img{border:1.5px solid var(--linea)}
.prosa figure img{max-height:780px;object-fit:contain}
[tabindex="-1"]:focus{outline:none}
