:root{
  --negro:#0D0D0D;--negro2:#141414;--negro3:#1C1C1C;--borde:#282828;--borde2:#343434;
  --hueso:#F2F0EA;--hueso2:#DBD7CD;
  --volt:#D6FF2E;--voltd:#5AA000;--volt-osc:#A8CC16;
  --rojo:#FF3B18;--gris:#8C8880;--gris2:#5C5952;
  --sans:'Inter',-apple-system,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --mk:'Permanent Marker',cursive;
  --max:1220px;--pad:24px;--nav:66px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--negro);color:var(--hueso);font-family:var(--sans);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.26;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}
::selection{background:var(--volt);color:var(--negro)}
:focus-visible{outline:2px solid var(--volt);outline-offset:3px}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}

.w{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.w-s{max-width:880px;margin:0 auto;padding:0 var(--pad)}
section{padding:106px 0;position:relative}
.bt{border-top:1px solid var(--borde)}
@media(max-width:820px){section{padding:64px 0}:root{--pad:18px}body{font-size:16px}}

/* ---------- tipografía ---------- */
h1,h2,h3,h4{font-weight:900;letter-spacing:-.045em;line-height:1.02}
.h-xl{font-size:clamp(42px,9.4vw,124px);letter-spacing:-.055em;line-height:.96}
.h-l{font-size:clamp(32px,5.8vw,68px);letter-spacing:-.05em;line-height:1.0}
.h-m{font-size:clamp(26px,4vw,44px);letter-spacing:-.045em}
.h-s{font-size:clamp(19px,2.4vw,26px);letter-spacing:-.03em;font-weight:800}
p{color:#C6C2BA;margin-bottom:15px;max-width:660px}
.lead{font-size:clamp(17px,2.1vw,21px);color:var(--hueso);line-height:1.45;max-width:700px;font-weight:400}
strong{color:var(--hueso);font-weight:700}
.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.mono.v{color:var(--volt)}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--volt)}
.eyebrow::after{content:'';flex:1;height:1px;background:var(--borde)}
.mk{font-family:var(--mk);color:var(--volt);display:inline-block;transform:rotate(-2.4deg)}
.mk.d{color:var(--voltd)}

/* highlighter */
.hl{position:relative;display:inline;color:var(--negro);z-index:0;padding:0 .1em}
.hl::before{content:'';position:absolute;z-index:-1;left:-.14em;right:-.14em;top:.08em;bottom:.02em;
  background:var(--volt);border-radius:14px 4px 12px 5px/6px 10px 4px 9px;transform:scaleX(0) rotate(-.7deg);
  transform-origin:left center;transition:transform .5s cubic-bezier(.64,0,.36,1)}
.rev.on .hl::before,.hl.on::before{transform:scaleX(1) rotate(-.7deg)}
/* tachón */
.tach{position:relative;display:inline-block}
.tach>svg{position:absolute;left:-3%;top:0;width:106%;height:100%;overflow:visible;pointer-events:none;
  transform:scaleX(0);transform-origin:left center;transition:transform .42s cubic-bezier(.62,0,.36,1)}
.tach>svg path{fill:var(--volt)}
.rev.on .tach>svg,.tach.on>svg{transform:scaleX(1)}


/* ---------- CAPA MANUSCRITA ---------- */
.corr{position:relative;display:inline-block;margin-top:.7em}
.corr>.arr{position:absolute;left:2%;top:-.62em;font-family:var(--mk);color:var(--volt);
  font-size:.4em;transform:rotate(-4deg);white-space:nowrap;line-height:1;letter-spacing:0}
.circ{position:relative;display:inline-block;padding:.04em .3em}
.circ>svg{position:absolute;inset:-26% -12%;width:124%;height:152%;overflow:visible;pointer-events:none}
.circ>svg path{fill:none;stroke:var(--volt);stroke-width:3.2;stroke-linecap:round;
  stroke-dasharray:330;stroke-dashoffset:330;transition:stroke-dashoffset .7s cubic-bezier(.5,0,.4,1)}
.rev.on .circ>svg path{stroke-dashoffset:0}
.subr{position:relative;display:inline-block}
.subr>svg{position:absolute;left:-2%;bottom:-.22em;width:104%;height:.3em;overflow:visible;
  transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.64,0,.36,1) .15s}
.subr>svg path{fill:var(--volt)}
.rev.on .subr>svg{transform:scaleX(1)}
.nota-m{position:relative;display:inline-block;font-family:var(--mk);color:var(--volt);
  font-size:19px;line-height:1.25;transform:rotate(-2.2deg)}
.nota-m.d{color:var(--voltd)}
.flecha{display:inline-block;width:34px;height:44px;overflow:visible}
.flecha path{stroke:var(--volt);stroke-width:3;fill:none;stroke-linecap:round}
.flecha.d path{stroke:var(--voltd)}
.crop{position:relative}
.crop::before,.crop::after{content:'';position:absolute;width:26px;height:26px;pointer-events:none}
.crop::before{top:-1px;left:-1px;border-top:2px solid var(--volt);border-left:2px solid var(--volt)}
.crop::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--volt);border-right:2px solid var(--volt)}
.margen{position:relative}
.margen .mn{position:absolute;font-family:var(--mk);color:var(--volt);font-size:17px;
  line-height:1.3;transform:rotate(-3deg);white-space:nowrap;pointer-events:none}
@media(max-width:900px){.margen .mn{display:none}}

.franja .circ>svg path{stroke:#0D0D0D}
.franja .nota-m{color:#0D0D0D}
.franja .flecha path{stroke:#0D0D0D}

/* ---------- reveal ---------- */
.rev{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
.rev.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none}*{transition:none!important;animation:none!important}}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:900;background:rgba(13,13,13,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--borde)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--nav);
  max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.marca{font-weight:900;font-size:20px;letter-spacing:-.05em}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);transition:color .15s}
.nav-links a:hover,.nav-links a.act{color:var(--hueso)}
.burger{display:none;flex-direction:column;gap:5px;padding:8px}
.burger span{width:22px;height:2px;background:var(--hueso);display:block}
@media(max-width:1000px){
  .nav-links{display:none}
  .burger{display:flex}
  .nav-links.open{display:flex;position:fixed;top:var(--nav);left:0;right:0;bottom:0;background:var(--negro);
    flex-direction:column;align-items:flex-start;gap:0;padding:26px var(--pad);z-index:899;overflow-y:auto}
  .nav-links.open a{font-size:22px;font-family:var(--sans);font-weight:900;letter-spacing:-.04em;text-transform:none;
    padding:14px 0;border-bottom:1px solid var(--borde);width:100%;color:var(--hueso)}
}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--volt);color:#0D0D0D!important;
  border:2px solid var(--volt);font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:14px 24px;transition:background .16s,color .16s,transform .16s;
  text-shadow:none;-webkit-font-smoothing:antialiased}
.btn:visited{color:#0D0D0D}
.btn:hover{background:transparent;color:var(--volt)!important;transform:translateY(-1px)}
.btn.g{background:transparent;color:var(--hueso)!important;border-color:var(--borde2)}
.btn.g:hover{background:var(--hueso);color:#0D0D0D!important;border-color:var(--hueso)}
.btn.neg{background:#0D0D0D;color:var(--volt)!important;border-color:#0D0D0D}
.btn.neg:hover{background:transparent;color:#0D0D0D!important;border-color:#0D0D0D}
.btn.xl{padding:19px 34px;font-size:12.5px}
.btn.sm{padding:10px 16px;font-size:10px}

/* ---------- marquesina ---------- */
.marq{background:var(--volt);color:var(--negro);overflow:hidden;white-space:nowrap;padding:11px 0;
  border-top:2px solid var(--negro);border-bottom:2px solid var(--negro)}
.marq .p{display:inline-block;animation:desl 34s linear infinite;font-weight:900;font-size:14px;letter-spacing:-.01em}
.marq span{padding:0 15px}
.marq.n{background:var(--negro);color:var(--volt);border-color:var(--volt)}
@keyframes desl{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- rejillas ---------- */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- cajas ---------- */
.card{border:1px solid var(--borde);background:var(--negro2);padding:26px;transition:background .18s,border-color .18s,transform .18s}
.card:hover{background:var(--negro3);border-color:var(--borde2)}
.card.v{background:var(--volt);border-color:var(--volt);color:var(--negro)}
.card.v p,.card.v .mono{color:rgba(0,0,0,.72)}
.card.v strong,.card.v h3,.card.v h4{color:var(--negro)}
.card.v:hover{background:var(--volt-osc)}
.card.h{background:var(--hueso);border-color:var(--hueso);color:var(--negro)}
.card.h p{color:#3D3A35}
.card.h strong,.card.h h3,.card.h h4{color:var(--negro)}
.card.h:hover{background:var(--hueso2)}
.card.r{border-color:var(--rojo)}

/* ---------- hero ---------- */
.hero{padding:clamp(56px,10vw,110px) 0 clamp(48px,8vw,84px);position:relative;overflow:hidden}
.hero-tag{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--borde2);padding:8px 14px;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:30px}
.hero-tag i{width:6px;height:6px;background:var(--volt);border-radius:50%;display:block;animation:lat 2s ease infinite}
@keyframes lat{0%,100%{opacity:1}50%{opacity:.25}}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px;align-items:center}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--borde);margin-top:56px}
.hero-stats>div{padding:20px;border-right:1px solid var(--borde)}
.hero-stats>div:last-child{border-right:none}
.hero-stats b{display:block;font-weight:900;font-size:clamp(24px,3.4vw,36px);letter-spacing:-.05em;line-height:1}
.hero-stats span{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);display:block;margin-top:7px}
@media(max-width:760px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats>div:nth-child(2){border-right:none}
  .hero-stats>div:nth-child(-n+2){border-bottom:1px solid var(--borde)}}

/* ---------- temario corregido ---------- */
.temario{background:var(--hueso);color:var(--negro);padding:clamp(24px,4vw,38px)}
.temario .t-cab{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#6B6862;padding-bottom:13px;margin-bottom:18px;border-bottom:1.5px solid rgba(0,0,0,.22)}
.temario .t-f{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.temario .t-f .n{font-family:var(--mono);font-size:11px;color:#9A968E;min-width:20px}
.temario .t-f .as{font-size:clamp(15px,2vw,18px);font-weight:600;color:#4A4741}
.temario .t-add{display:flex;align-items:baseline;gap:12px;margin-bottom:11px}
.temario .t-add .mas{font-family:var(--mono);font-size:14px;color:var(--voltd)}
.temario .t-add .tx{font-family:var(--mk);font-size:clamp(17px,2.2vw,21px);color:var(--voltd);line-height:1.25;display:inline-block}
.temario .t-pie{margin-top:20px;padding-top:14px;border-top:1.5px solid rgba(0,0,0,.22);
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--rojo);font-weight:600}

/* ---------- módulos ---------- */
.mod{border:1px solid var(--borde);background:var(--negro2);margin-bottom:-1px;transition:background .16s}
.mod:hover{background:var(--negro3)}
.mod-cab{display:grid;grid-template-columns:74px 1fr auto;align-items:center;width:100%;text-align:left;cursor:pointer}
.mod-cab .c{font-family:var(--mono);font-size:12px;color:var(--volt);letter-spacing:.06em;align-self:stretch;
  display:flex;align-items:center;justify-content:center;border-right:1px solid var(--borde)}
.mod-cab .b{padding:19px 22px}
.mod-cab .b h4{font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:3px}
.mod-cab .b span{font-size:13px;color:var(--gris)}
.mod-cab .x{padding:0 22px;font-family:var(--mono);font-size:18px;color:var(--volt);transition:transform .22s}
.mod.open .mod-cab .x{transform:rotate(45deg)}
.mod-cnt{max-height:0;overflow:hidden;transition:max-height .3s ease}
.mod.open .mod-cnt{max-height:800px}
.mod-int{padding:4px 22px 24px 96px;border-top:1px solid var(--borde)}
.mod-int ul{list-style:none;margin:14px 0}
.mod-int ul li{font-size:14.5px;color:#C6C2BA;padding:8px 0 8px 20px;position:relative;border-bottom:1px solid var(--negro3)}
.mod-int ul li::before{content:'';position:absolute;left:0;top:17px;width:9px;height:1.5px;background:var(--volt)}
.mod-ent{margin-top:16px;border-left:2px solid var(--volt);padding:10px 0 10px 16px}
.mod-ent .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--volt);display:block;margin-bottom:5px}
.mod-ent p{font-size:15px;font-weight:700;color:var(--hueso);margin:0}
@media(max-width:620px){.mod-cab{grid-template-columns:56px 1fr auto}.mod-int{padding-left:22px}}

/* ---------- precio ---------- */
.precio{border:2px solid var(--volt);background:var(--negro2);position:relative;overflow:hidden}
.precio::before{content:'';position:absolute;top:-60%;left:-20%;width:70%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(214,255,46,.10),transparent);transform:rotate(18deg);
  animation:brillo 5.5s ease-in-out infinite}
@keyframes brillo{0%{left:-40%}55%{left:120%}100%{left:120%}}
.precio-in{position:relative;z-index:2;padding:clamp(28px,4.4vw,46px)}
.precio-num{font-weight:900;font-size:clamp(62px,12vw,124px);line-height:.9;letter-spacing:-.06em;color:var(--volt)}
.precio-tach{font-weight:900;font-size:clamp(22px,3vw,32px);letter-spacing:-.04em;color:var(--gris2);margin-bottom:6px}
.precio-lista{list-style:none;margin-top:26px}
.precio-lista li{padding:12px 0 12px 26px;border-bottom:1px solid var(--borde);position:relative;font-size:15.5px;color:#C6C2BA}
.precio-lista li::before{content:'';position:absolute;left:0;top:22px;width:11px;height:2px;background:var(--volt)}
.precio-lista li strong{color:var(--hueso)}
.barra-plazas{height:6px;background:var(--negro3);margin:16px 0 10px;position:relative;overflow:hidden}
.barra-plazas i{position:absolute;inset:0 auto 0 0;background:var(--volt);width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}

/* ---------- club ---------- */
.club-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:1px;background:var(--borde);border:1px solid var(--borde)}
.club-g div{background:var(--negro2);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:6px;transition:background .16s}
.club-g div:hover{background:var(--volt);color:var(--negro)}
.club-g .ini{font-weight:900;font-size:26px;letter-spacing:-.05em}
.club-g .nn{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--gris)}
.club-g div:hover .nn{color:rgba(0,0,0,.6)}

/* carnet */
.carnet{background:var(--volt);color:var(--negro);padding:24px;aspect-ratio:1.586/1;display:flex;flex-direction:column;
  justify-content:space-between;max-width:400px;transform:rotate(-2deg);transition:transform .3s}
.carnet:hover{transform:rotate(0) scale(1.02)}
.carnet .cm{font-weight:900;font-size:clamp(20px,3.2vw,26px);letter-spacing:-.055em;line-height:1}
.carnet .cn{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}
.carnet .cnom{font-weight:900;font-size:clamp(17px,2.6vw,23px);letter-spacing:-.04em;line-height:1.05}
.carnet .cb{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:8.5px;
  letter-spacing:.12em;text-transform:uppercase;border-top:2px solid var(--negro);padding-top:10px}

/* ---------- faq ---------- */
.faq{border-bottom:1px solid var(--borde)}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;width:100%;text-align:left;
  padding:22px 0;font-size:clamp(16.5px,2vw,19px);font-weight:700;letter-spacing:-.02em;cursor:pointer}
.faq-q span:last-child{font-family:var(--mono);color:var(--volt);font-size:18px;transition:transform .22s;flex-shrink:0}
.faq.open .faq-q span:last-child{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq.open .faq-a{max-height:600px}
.faq-a p{padding-bottom:22px;font-size:15.5px}

/* ---------- artículos ---------- */
.art{border:1px solid var(--borde);background:var(--negro2);padding:26px;display:flex;flex-direction:column;
  justify-content:space-between;min-height:250px;transition:background .18s,border-color .18s}
.art:hover{background:var(--negro3);border-color:var(--volt)}
.art h3{font-size:clamp(19px,2.2vw,23px);letter-spacing:-.035em;line-height:1.12;margin:14px 0}
.art p{font-size:14.5px;margin:0}
.art .meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}

/* ---------- glosario ---------- */
.glo-f{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}
.glo-f button{border:1px solid var(--borde);padding:8px 13px;font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gris);transition:all .14s}
.glo-f button:hover,.glo-f button.act{background:var(--volt);border-color:var(--volt);color:var(--negro)}
.glo-i{border-bottom:1px solid var(--borde);padding:24px 0;display:grid;grid-template-columns:230px 1fr;gap:24px}
@media(max-width:760px){.glo-i{grid-template-columns:1fr;gap:10px}}
.glo-i h4{font-size:19px;letter-spacing:-.03em}
.glo-i .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--volt);display:block;margin-top:6px}
.glo-i p{font-size:15px;margin:0}

/* ---------- cta franja ---------- */
.franja{background:var(--volt);color:var(--negro);padding:clamp(48px,7vw,86px) 0}
.franja h2{color:var(--negro)}
.franja p{color:rgba(0,0,0,.75)}

/* ---------- tabla ---------- */
table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:22px}
th{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-align:left;
  padding:11px 12px;border-bottom:2px solid var(--volt);color:var(--volt);white-space:nowrap}
td{padding:13px 12px;border-bottom:1px solid var(--borde);color:#C6C2BA;vertical-align:top}
td:first-child{color:var(--hueso);font-weight:700}
.scroll{overflow-x:auto}

/* ---------- pasos ---------- */
.paso{border-left:2px solid var(--borde);padding:0 0 30px 24px;position:relative}
.paso:last-child{padding-bottom:0}
.paso::before{content:'';position:absolute;left:-6px;top:4px;width:10px;height:10px;background:var(--volt)}
.paso .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--volt);display:block;margin-bottom:8px}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--borde);padding:64px 0 46px}
.foot-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
@media(max-width:800px){.foot-g{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-g{grid-template-columns:1fr}}
.foot-g h5{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--volt);margin-bottom:14px}
.foot-g a{display:block;font-size:14.5px;color:#C6C2BA;padding:6px 0;transition:color .14s}
.foot-g a:hover{color:var(--volt)}
.foot-bot{margin-top:44px;padding-top:22px;border-top:1px solid var(--borde);display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris2)}


/* ---------- módulo tachado ---------- */
.mod-tach{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding:14px 22px 18px 96px;border-top:1px solid var(--borde);background:rgba(214,255,46,.03)}
.mod-tach .vieja{font-size:14.5px;color:var(--gris2);font-weight:500;text-align:right}
.mod-tach .vieja .t{position:relative;display:inline-block}
.mod-tach .vieja .t svg{position:absolute;left:-3%;top:0;width:106%;height:100%;overflow:visible;
  pointer-events:none;transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.62,0,.36,1) .1s}
.mod-tach .vieja .t svg path{fill:var(--volt)}
.mod.on .mod-tach .vieja .t svg{transform:scaleX(1)}
.mod-tach .fl{font-family:var(--mk);color:var(--volt);font-size:22px;line-height:1;opacity:0;
  transition:opacity .3s ease .45s;transform:rotate(-4deg)}
.mod.on .mod-tach .fl{opacity:1}
.mod-tach .nueva{font-size:15.5px;font-weight:700;color:var(--hueso);opacity:0;transform:translateY(6px);
  transition:opacity .35s ease .5s,transform .35s ease .5s}
.mod.on .mod-tach .nueva{opacity:1;transform:none}
@media(max-width:760px){
  .mod-tach{grid-template-columns:1fr;gap:8px;padding:14px 22px 18px}
  .mod-tach .vieja{text-align:left}
  .mod-tach .fl{transform:rotate(84deg);font-size:18px}
}
/* club */
.socio{border:1px solid var(--borde);background:var(--negro2);padding:22px;display:flex;gap:16px;align-items:flex-start}
.socio .av{width:46px;height:46px;background:var(--volt);color:var(--negro);display:flex;align-items:center;
  justify-content:center;font-weight:900;font-size:16px;letter-spacing:-.04em;flex-shrink:0}
.socio .nn{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--volt);display:block;margin-bottom:4px}
.socio h4{font-size:15.5px;letter-spacing:-.02em;margin-bottom:4px}
.socio p{font-size:14px;margin:0}
.pasos-club{counter-reset:pc}
.pc{counter-increment:pc;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--borde)}
.pc::before{content:counter(pc,decimal-leading-zero);font-weight:900;font-size:30px;letter-spacing:-.05em;color:var(--volt);line-height:1}
.pc h4{font-size:19px;letter-spacing:-.03em;margin-bottom:6px}
.pc p{font-size:15px;margin:0}

/* páginas */
.page{display:none}
.page.act{display:block}
.page-cab{padding:clamp(48px,7vw,90px) 0 clamp(30px,4vw,50px)}

/* ---------- legibilidad forzada sobre claro ---------- */
.franja strong,.franja b,.franja h2,.franja h3,.franja h4,.franja em{color:#0D0D0D}
.card.v strong,.card.v b,.card.h strong,.card.h b{color:#0D0D0D}
.card.v .nota-m,.card.h .nota-m,.franja .nota-m{color:#0D0D0D}
.card.v .hl::before,.card.h .hl::before{background:#0D0D0D}
.card.v .hl,.card.h .hl{color:var(--volt)}
.franja .hl::before{background:#0D0D0D}
.franja .hl{color:var(--volt)}
.card.v a,.card.h a,.franja a:not(.btn){color:#0D0D0D;text-decoration:underline}
.temario strong{color:#0D0D0D}
.temario .nota-m{color:var(--voltd)}

/* ==========================================================================
   CÁTEDRA · CAPA 2
   Componentes añadidos para el sitio multipágina.
   Respeta el sistema original: misma paleta, misma tipografía, mismos gestos.
   Nada de degradados, nada de iconos de librería, nada de emojis.
   ========================================================================== */

/* ---------- nav con desplegables ---------- */
.nav-links > .nav-item{position:relative}
.nav-links > .nav-item > a,.nav-links > .nav-item > button{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris);transition:color .15s;display:inline-flex;align-items:center;gap:7px;
  height:var(--nav);padding:0}
.nav-links > .nav-item > a:hover,.nav-links > .nav-item > button:hover,
.nav-links > .nav-item.act > a,.nav-links > .nav-item.act > button{color:var(--hueso)}
.nav-item > button .cv{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav-item.abierto > button .cv{transform:rotate(-135deg) translateY(-1px)}

.desp{position:absolute;top:var(--nav);left:-18px;min-width:300px;background:var(--negro2);
  border:1px solid var(--borde2);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s;z-index:950}
.nav-item:hover .desp,.nav-item.abierto .desp{opacity:1;visibility:visible;transform:none}
.desp a{display:block;padding:11px 13px;border-bottom:1px solid var(--negro3);
  font-family:var(--sans);font-size:14.5px;font-weight:700;letter-spacing:-.02em;
  text-transform:none;color:var(--hueso);transition:background .13s,color .13s}
.desp a:last-child{border-bottom:none}
.desp a:hover{background:var(--volt);color:var(--negro)}
.desp a small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gris);font-weight:400;margin-top:3px}
.desp a:hover small{color:rgba(0,0,0,.62)}
.desp-cab{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--volt);padding:9px 13px 7px}
.desp.ancho{min-width:620px;display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.desp.ancho .desp-cab{grid-column:1/-1}

@media(max-width:1000px){
  .nav-links.open{display:block}
  .nav-links.open > .nav-item{display:block;width:100%}
  .nav-links.open > .nav-item > a,.nav-links.open > .nav-item > button{
    font-size:21px;font-family:var(--sans);font-weight:900;letter-spacing:-.04em;text-transform:none;
    padding:14px 0;border-bottom:1px solid var(--borde);width:100%;color:var(--hueso);height:auto;
    justify-content:space-between}
  .nav-links.open .desp{position:static;opacity:1;visibility:visible;transform:none;border:none;
    background:transparent;padding:0 0 10px;min-width:0;display:none}
  .nav-links.open .nav-item.abierto .desp{display:block}
  .nav-links.open .desp.ancho{grid-template-columns:1fr}
  .nav-links.open .desp a{font-size:15px;padding:10px 0 10px 14px;border-left:2px solid var(--borde);border-bottom:none}
  .nav-links.open .desp a:hover{background:transparent;color:var(--volt);border-left-color:var(--volt)}
  .nav-links.open .desp a:hover small{color:var(--gris)}
  .nav-links.open .nav-cta{margin-top:20px;display:block}
  .nav-links.open .nav-cta a{display:inline-flex;font-family:var(--mono);font-size:11.5px;
    text-transform:uppercase;letter-spacing:.14em;font-weight:600;border-bottom:none;padding:14px 24px;width:auto}
}

/* ---------- barra de anuncio ---------- */
.aviso{background:var(--volt);color:var(--negro);text-align:center;padding:8px var(--pad);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.aviso a{text-decoration:underline;text-underline-offset:3px}

/* ---------- migas ---------- */
.migas{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gris2);padding:20px 0 0;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.migas a{color:var(--gris);transition:color .14s}
.migas a:hover{color:var(--volt)}
.migas span.sep{color:var(--borde2)}

/* ---------- prosa larga: lecciones y artículos ---------- */
.prosa{font-size:18px;line-height:1.72;max-width:720px}
.prosa > p{font-size:18px;color:#C6C2BA;margin-bottom:18px;max-width:720px}
.prosa > p.entradilla{font-size:20px;color:var(--hueso);line-height:1.5;font-weight:500}
.prosa h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.04em;margin:52px 0 16px;line-height:1.06}
.prosa h3{font-size:clamp(19px,2.4vw,24px);letter-spacing:-.032em;margin:38px 0 12px;font-weight:800}
.prosa h4{font-size:17.5px;letter-spacing:-.02em;margin:28px 0 10px;font-weight:800}
.prosa ul,.prosa ol{margin:18px 0 22px;padding-left:0;list-style:none;max-width:720px}
.prosa ul li{position:relative;padding:9px 0 9px 24px;font-size:17px;color:#C6C2BA;
  border-bottom:1px solid var(--negro3)}
.prosa ul li::before{content:'';position:absolute;left:0;top:19px;width:11px;height:1.5px;background:var(--volt)}
.prosa ol{counter-reset:po}
.prosa ol li{counter-increment:po;position:relative;padding:9px 0 9px 34px;font-size:17px;
  color:#C6C2BA;border-bottom:1px solid var(--negro3)}
.prosa ol li::before{content:counter(po,decimal-leading-zero);position:absolute;left:0;top:10px;
  font-family:var(--mono);font-size:11px;color:var(--volt);letter-spacing:.08em}
.prosa li strong{color:var(--hueso)}
.prosa blockquote{border-left:2px solid var(--volt);padding:4px 0 4px 22px;margin:30px 0;
  max-width:700px}
.prosa blockquote p{font-size:20px;font-weight:700;letter-spacing:-.025em;line-height:1.34;
  color:var(--hueso);margin:0}
.prosa hr{border:none;border-top:1px solid var(--borde);margin:44px 0;max-width:720px}
.prosa a:not(.btn){color:var(--volt);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(214,255,46,.42)}
.prosa a:not(.btn):hover{text-decoration-color:var(--volt)}
.prosa em{color:var(--hueso2);font-style:italic}
.prosa code{font-family:var(--mono);font-size:.86em;background:var(--negro3);
  border:1px solid var(--borde);padding:2px 6px;color:var(--volt)}
.prosa .scroll{margin:26px 0}
.prosa table{max-width:100%}

/* recuadros dentro de prosa */
.caja{border:1px solid var(--borde);background:var(--negro2);padding:24px 26px;margin:32px 0;max-width:720px}
.caja > .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--volt);display:block;margin-bottom:11px}
.caja p{margin-bottom:14px}
.caja p:last-child{margin-bottom:0}
.caja.regla{border-color:var(--volt)}
.caja.regla p{font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.25;color:var(--hueso)}
.caja.error{border-color:var(--rojo)}
.caja.error > .k{color:var(--rojo)}
.caja.dato{background:var(--negro3)}
.caja.legal{border-style:dashed;border-color:var(--borde2)}
.caja.legal p{font-size:14.5px;color:var(--gris)}
.caja.legal > .k{color:var(--gris)}

/* cifra grande dentro de prosa */
.cifra{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:baseline;
  border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);padding:22px 0;margin:30px 0;max-width:720px}
.cifra b{font-weight:900;font-size:clamp(32px,5.4vw,48px);letter-spacing:-.055em;color:var(--volt);line-height:.9}
.cifra span{font-size:16px;color:#C6C2BA}

/* ---------- índice lateral ---------- */
.leccion-wrap{display:grid;grid-template-columns:1fr 250px;gap:56px;align-items:start}
@media(max-width:1020px){.leccion-wrap{grid-template-columns:1fr;gap:0}.indice{display:none}}
.indice{position:sticky;top:calc(var(--nav) + 26px);border-left:1px solid var(--borde);padding-left:22px}
.indice .k{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--volt);display:block;margin-bottom:14px}
.indice a{display:block;font-size:13.5px;color:var(--gris);padding:6px 0 6px 20px;line-height:1.35;
  transition:color .14s,border-color .14s;border-left:2px solid transparent;margin-left:-24px}
.indice a:hover,.indice a.act{color:var(--hueso);border-left-color:var(--volt)}
.progreso{height:3px;background:var(--negro3);position:fixed;top:var(--nav);left:0;right:0;z-index:880}
.progreso i{display:block;height:100%;background:var(--volt);width:0}

/* ---------- anterior / siguiente ---------- */
.ant-sig{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--borde);
  border:1px solid var(--borde);margin-top:56px}
@media(max-width:620px){.ant-sig{grid-template-columns:1fr}}
.ant-sig a,.ant-sig .vacio{background:var(--negro2);padding:24px;transition:background .16s;display:block}
.ant-sig a:hover{background:var(--negro3)}
.ant-sig .der{text-align:right}
.ant-sig .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--volt);display:block;margin-bottom:8px}
.ant-sig h4{font-size:17px;letter-spacing:-.03em;line-height:1.2}
.ant-sig .vacio{background:var(--negro);opacity:.35}

/* ---------- examen ---------- */
.examen{border:1px solid var(--borde2);background:var(--negro2);margin:34px 0}
.examen-cab{padding:26px 28px;border-bottom:1px solid var(--borde)}
.examen-cab .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--volt)}
.examen-cab h3{font-size:24px;letter-spacing:-.04em;margin:10px 0 6px}
.examen-cab p{font-size:14.5px;margin:0;color:var(--gris)}
.preg{padding:26px 28px;border-bottom:1px solid var(--borde)}
.preg:last-of-type{border-bottom:none}
.preg .num{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--volt);display:block;margin-bottom:10px}
.preg .enun{font-size:17.5px;font-weight:700;letter-spacing:-.025em;line-height:1.34;margin-bottom:18px;color:var(--hueso)}
.opc{width:100%;text-align:left;border:1px solid var(--borde);background:var(--negro);
  padding:14px 16px;margin-bottom:9px;font-size:15.5px;color:#C6C2BA;line-height:1.42;
  transition:border-color .14s,background .14s,color .14s;display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}
.opc:hover:not([disabled]){border-color:var(--borde2);background:var(--negro3);color:var(--hueso)}
.opc .l{font-family:var(--mono);font-size:11px;color:var(--gris);letter-spacing:.1em;padding-top:2px}
.opc.bien{border-color:var(--volt);background:rgba(214,255,46,.09);color:var(--hueso)}
.opc.bien .l{color:var(--volt)}
.opc.mal{border-color:var(--rojo);background:rgba(255,59,24,.08);color:var(--hueso)}
.opc.mal .l{color:var(--rojo)}
.opc[disabled]{cursor:default}
.expl{border-left:2px solid var(--volt);padding:12px 0 12px 16px;margin-top:16px;display:none}
.expl.ver{display:block}
.expl .k{font-family:var(--mono);font-size:9px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--volt);display:block;margin-bottom:7px}
.expl p{font-size:15px;margin:0;color:#C6C2BA}
.examen-pie{padding:24px 28px;border-top:1px solid var(--borde2);background:var(--negro3);
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.marcador{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gris)}
.marcador b{color:var(--volt);font-size:22px;letter-spacing:-.03em;font-family:var(--sans);font-weight:900}
.veredicto{font-weight:900;font-size:19px;letter-spacing:-.035em}
.veredicto.ok{color:var(--volt)}
.veredicto.no{color:var(--rojo)}

/* ---------- práctico / calculadoras ---------- */
.practico{border:2px solid var(--volt);background:var(--negro2);margin:34px 0}
.practico-cab{padding:26px 28px;border-bottom:1px solid var(--borde)}
.practico-cab .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--volt)}
.practico-cab h3{font-size:24px;letter-spacing:-.04em;margin:10px 0 8px}
.practico-cab p{margin:0;font-size:15px}
.practico-cnt{padding:26px 28px}
.campo{margin-bottom:20px}
.campo label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris);margin-bottom:8px}
.campo input,.campo textarea,.campo select{width:100%;background:var(--negro);border:1px solid var(--borde2);
  color:var(--hueso);font-family:var(--sans);font-size:16px;padding:13px 15px;transition:border-color .14s}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--volt)}
.campo textarea{min-height:110px;resize:vertical;line-height:1.55}
.campo .ayuda{font-size:13px;color:var(--gris2);margin-top:6px}
.campos2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media(max-width:620px){.campos2{grid-template-columns:1fr}}
.resultado{border-top:1px solid var(--borde2);margin-top:24px;padding-top:24px}
.res-fila{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:12px 0;border-bottom:1px solid var(--negro3);font-size:15.5px;color:#C6C2BA}
.res-fila b{font-family:var(--sans);font-weight:900;font-size:20px;letter-spacing:-.04em;color:var(--hueso);white-space:nowrap}
.res-fila.destacada{border-bottom:none;padding-top:18px}
.res-fila.destacada b{color:var(--volt);font-size:clamp(26px,4vw,34px)}
.res-fila.alarma b{color:var(--rojo)}
.dictamen{border-left:2px solid var(--volt);padding:14px 0 14px 18px;margin-top:20px;
  font-size:16px;color:var(--hueso);line-height:1.55}
.dictamen.mal{border-left-color:var(--rojo)}
.tabla-mini th{padding:8px 10px;font-size:9px}
.tabla-mini td{padding:9px 10px;font-size:14px}

/* ---------- captura de leads ---------- */
.captura{border:2px solid var(--volt);background:var(--negro2);padding:clamp(28px,4.4vw,44px);position:relative}
.captura h3{font-size:clamp(24px,3.6vw,36px);letter-spacing:-.045em;line-height:1.05;max-width:540px}
.captura > p{margin-top:14px;max-width:560px}
.form-lead{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;max-width:640px}
.form-lead input[type=email],.form-lead input[type=text]{flex:1;min-width:220px;background:var(--negro);
  border:1px solid var(--borde2);color:var(--hueso);font-family:var(--sans);font-size:16px;padding:15px 16px}
.form-lead input:focus{outline:none;border-color:var(--volt)}
.form-lead button{flex-shrink:0}
.form-nota{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gris2);margin-top:14px}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;max-width:640px}
.form-consent input{margin-top:4px;accent-color:var(--volt);width:16px;height:16px;flex-shrink:0}
.form-consent label{font-size:13px;color:var(--gris);line-height:1.5}
.form-consent label a{color:var(--volt);text-decoration:underline}
.form-estado{margin-top:18px;font-size:16px;display:none;line-height:1.5}
.form-estado.ver{display:block}
.form-estado.ok{color:var(--volt);font-weight:700}
.form-estado.err{color:var(--rojo);font-weight:700}
.trampa{position:absolute;left:-9999px;opacity:0;height:0;width:0;pointer-events:none}
.captura.claro{background:var(--hueso);border-color:var(--negro);color:var(--negro)}
.captura.claro h3{color:var(--negro)}
.captura.claro > p{color:#3D3A35}
.captura.claro input[type=email],.captura.claro input[type=text]{background:#fff;border-color:rgba(0,0,0,.28);color:var(--negro)}
.captura.claro .form-nota,.captura.claro .form-consent label{color:#6B6862}
.captura.claro .form-consent label a{color:var(--voltd)}
.captura.claro .form-estado.ok{color:var(--voltd)}

/* ---------- listado de módulos ---------- */
.mod-lista{border:1px solid var(--borde)}
.mod-fila{display:grid;grid-template-columns:76px 1fr auto;align-items:center;
  border-bottom:1px solid var(--borde);transition:background .15s}
.mod-fila:last-child{border-bottom:none}
.mod-fila:hover{background:var(--negro3)}
.mod-fila .c{font-family:var(--mono);font-size:12px;color:var(--volt);letter-spacing:.06em;
  align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--borde)}
.mod-fila .b{padding:20px 22px}
.mod-fila .b h4{font-size:18.5px;font-weight:800;letter-spacing:-.032em;margin-bottom:4px}
.mod-fila .b span{font-size:13.5px;color:var(--gris)}
.mod-fila .fl{padding:0 24px;font-family:var(--mono);font-size:16px;color:var(--volt)}
@media(max-width:620px){.mod-fila{grid-template-columns:56px 1fr auto}.mod-fila .fl{padding:0 16px}}

/* ---------- lecciones del módulo ---------- */
.lec-lista{border:1px solid var(--borde)}
.lec-fila{display:grid;grid-template-columns:88px 1fr auto;align-items:center;
  border-bottom:1px solid var(--borde);transition:background .15s}
.lec-fila:last-child{border-bottom:none}
.lec-fila:hover{background:var(--negro3)}
.lec-fila .n{font-family:var(--mono);font-size:11.5px;color:var(--volt);letter-spacing:.05em;
  align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--borde)}
.lec-fila .b{padding:17px 20px}
.lec-fila .b h4{font-size:16.5px;font-weight:700;letter-spacing:-.028em;margin-bottom:3px}
.lec-fila .b span{font-size:12px;color:var(--gris2);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase}
.lec-fila .fl{padding:0 20px;font-family:var(--mono);font-size:13px;color:var(--gris)}
.lec-fila:hover .fl{color:var(--volt)}
.lec-fila.bloq .b h4{color:var(--gris)}
.lec-fila.bloq .fl{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:620px){.lec-fila{grid-template-columns:64px 1fr auto}.lec-fila .fl{padding:0 14px}}

/* ---------- muro de pago ---------- */
.muro{margin-top:-120px;padding-top:120px;position:relative;
  background:linear-gradient(180deg,rgba(13,13,13,0) 0,var(--negro) 30%)}
.muro-in{border:2px solid var(--volt);background:var(--negro2);padding:clamp(28px,4.4vw,42px);text-align:center}
.muro-in h3{font-size:clamp(23px,3.4vw,32px);letter-spacing:-.042em;line-height:1.08}
.muro-in p{margin:16px auto 0;max-width:490px}

/* ---------- herramientas ---------- */
.herr{border:1px solid var(--borde);background:var(--negro2);padding:26px;display:flex;
  flex-direction:column;justify-content:space-between;min-height:210px;transition:border-color .18s,background .18s}
.herr:hover{border-color:var(--volt);background:var(--negro3)}
.herr h3{font-size:20px;letter-spacing:-.035em;line-height:1.14;margin:12px 0 8px}
.herr p{font-size:14.5px;margin:0}
.herr .fl{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--volt);margin-top:20px}

/* ---------- paginación y etiquetas ---------- */
.pag{display:flex;gap:8px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.pag a,.pag span{border:1px solid var(--borde);padding:11px 16px;font-family:var(--mono);
  font-size:11px;letter-spacing:.12em;color:var(--gris);transition:all .14s}
.pag a:hover{border-color:var(--volt);color:var(--volt)}
.pag span.act{background:var(--volt);border-color:var(--volt);color:var(--negro);font-weight:600}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.tags a{border:1px solid var(--borde);padding:7px 12px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gris);transition:all .14s}
.tags a:hover{border-color:var(--volt);color:var(--volt)}

/* ---------- firma ---------- */
.firma{display:flex;gap:14px;align-items:center;border-top:1px solid var(--borde);
  border-bottom:1px solid var(--borde);padding:20px 0;margin:34px 0;max-width:720px}
.firma .av{width:44px;height:44px;background:var(--volt);color:var(--negro);display:flex;
  align-items:center;justify-content:center;font-weight:900;font-size:15px;letter-spacing:-.04em;flex-shrink:0}
.firma .d{font-size:14px;color:var(--gris)}
.firma .d b{display:block;color:var(--hueso);font-size:15px;letter-spacing:-.02em;margin-bottom:2px}

/* ---------- buscador ---------- */
.buscador{max-width:520px;margin:26px 0}
.buscador input{width:100%;background:var(--negro2);border:1px solid var(--borde2);color:var(--hueso);
  font-family:var(--sans);font-size:16px;padding:14px 16px}
.buscador input:focus{outline:none;border-color:var(--volt)}
.vacio-busq{padding:40px 0;font-family:var(--mono);font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris2);display:none}
.vacio-busq.ver{display:block}

/* ---------- utilidades ---------- */
.centro{text-align:center}
.mt0{margin-top:0}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}
.mt40{margin-top:40px}.mt48{margin-top:48px}.mt64{margin-top:64px}
.mb0{margin-bottom:0}.mb24{margin-bottom:24px}
.ancho-s{max-width:760px}
.g2-56{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media(max-width:900px){.g2-56{grid-template-columns:1fr;gap:36px}}
.oculto{display:none!important}
.solo-lector{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.salto-cont{position:absolute;left:-9999px;top:0;background:var(--volt);color:var(--negro);
  padding:12px 20px;z-index:9999;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.salto-cont:focus{left:0}

/* impresión: que una lección se pueda imprimir sin destrozarse */
@media print{
  body::before,.nav,.aviso,.franja,.captura,.ant-sig,.indice,.foot,.marq,.progreso{display:none!important}
  body{background:#fff;color:#000}
  .prosa > p,.prosa ul li,.prosa ol li{color:#222}
  .leccion-wrap{grid-template-columns:1fr}
  a{color:#000!important;text-decoration:none}
  .caja,.examen,.practico{border-color:#999;background:#fff}
}
