/* WS Editore — CATÁLOGO (ola 1, 16-oct-2026)
   Copia fiel del Sistema de Diseño:
   · W-40 Portada del catálogo — héroe teal, cinco tarjetas de nivel (W-15a) con número dorado
     y foto del material, franja de IA oscura, la muestra en 3 pasos.
   · W-41 Catálogo por nivel — migas 13 px, pestañas de nivel 44 px, tarjeta de curso 4 por fila,
     portada 3:4, píldora de grados, filtros Todos · Libros · Cuadernos · Complementos.
   · W-42 Ficha de curso — portada 3:4 a 300 px, «Por dentro» en hojas A4 al 40 %,
     ficha técnica en tabla, en móvil botón de WhatsApp fijo al pie.
   Escritorio 1440 (aire lateral 160 → contenido 1120) · móvil 390 (aire 20). */

.cat{ font-family: "Karla", system-ui, sans-serif; color: #1f252c; background: #f6f3ee; }
.cat h1, .cat h2, .cat h3{ color: #1f252c; font-family: "Fraunces", Georgia, serif; font-weight: 600; margin: 0; }
.cat p{ margin: 0; }
.cat a{ text-decoration: none; }
.cw{ max-width: 1120px; margin: 0 auto; }
.cat-sec{ padding: 88px 20px; }
.cat-sec--72{ padding-top: 72px; padding-bottom: 72px; }

/* rótulo mono «// …» y títulos de sección */
.k{ font: 500 11px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .18em; color: #96733a; text-transform: uppercase; }
.k--on-dark{ color: #c79a52; }
.h2{ font: 600 32px/1.15 "Fraunces", Georgia, serif; margin-top: 12px !important; }

/* botones W-16 (52 px · padding 0 26 · radio 26 · 120 ms · baja 1 px al presionar · foco teal) */
.b{
  display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 26px; border-radius: 26px;
  font: 700 15px "Karla", system-ui, sans-serif; white-space: nowrap; box-sizing: border-box; cursor: pointer; outline: none;
  transition: background .12s ease, color .12s ease, transform .12s ease, border-color .12s ease;
}
.b:active{ transform: translateY(1px); }
.b:focus-visible{ box-shadow: 0 0 0 2px #fbf9f4, 0 0 0 5px #0e5a6f; outline: none; }
.b--wa{ background: #25d366; color: #1f252c; }
.b--wa:hover{ background: #1eb356; color: #1f252c; }
.b--light{ background: #fbf9f4; color: #0e5a6f; }
.b--light:hover{ background: #f5ecdd; color: #0e5a6f; }
.b--gold{ background: #c79a52; color: #1f252c; }
.b--gold:hover{ background: #b68c4a; color: #1f252c; }
.b--terra{ background: #a55a3b; color: #fff; }
.b--terra:hover{ background: #8a4a30; color: #fff; }
.b--ghost{ border: 2px solid #a55a3b; color: #a55a3b; background: transparent; }
.b--ghost:hover{ background: #f8f1e7; color: #8a4a30; }
.b--ghost-light{ border: 2px solid rgba(248,241,231,.6); color: #f8f1e7; background: transparent; }
.b--ghost-light:hover{ background: rgba(248,241,231,.1); color: #f8f1e7; }
.lnk{ color: #0e5a6f; font-weight: 700; font-size: 15px; text-underline-offset: 3px; transition: color .12s ease; }

/* tarjetas: toda la tarjeta es enlace — sube 3 px, gana sombra y el enlace se subraya (W-15 / W-28) */
.card-link{ color: #1f252c; outline: none; }
.card-link:hover{ color: #1f252c; }
.card-link:hover .lnk{ color: #a55a3b; text-decoration: underline; }
.card-link:focus-visible{ box-shadow: 0 0 0 2px #f6f3ee, 0 0 0 5px #0e5a6f; outline: none; }

/* migas */
.crumbs{ font-size: 13px; color: #56606b; }
.crumbs a{ color: #0e5a6f; }
.crumbs a:hover{ color: #a55a3b; text-decoration: underline; }

/* ============ W-40 · PORTADA DEL CATÁLOGO ============ */
.cp-hero{ background: #0e5a6f; color: #f8f1e7; padding: 72px 20px; position: relative; overflow: hidden; }
.cp-hero__mark{ position: absolute; right: -60px; bottom: -80px; height: 440px; opacity: .07; pointer-events: none; }
.cp-hero__grid{ position: relative; display: grid; grid-template-columns: 1fr 360px; gap: 64px; align-items: center; }
.cp-hero h1{ font: 600 48px/1.08 "Fraunces", Georgia, serif; letter-spacing: -0.02em; margin-top: 14px; max-width: 760px; color: #f8f1e7; }
.cp-hero h1 em{ color: #c79a52; }
.cp-hero__p{ font-size: 18px; line-height: 1.55; color: #dbe9ec; max-width: 680px; margin-top: 16px !important; }
.cp-hero__btns{ display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.cp-books{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cp-book{ aspect-ratio: 3/4; border-radius: 3px 8px 8px 3px; padding: 14px; box-sizing: border-box; box-shadow: -8px 12px 30px rgba(0,0,0,.3); font: 500 7px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .18em; }

.nv-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 32px; }
.nv{ background: #fbf9f4; border: 1px solid #d6cec2; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; min-height: 340px; }
.nv__ph{ height: 150px; position: relative; background: #eae3d7; overflow: hidden; }
.nv__ph img{ width: 100%; height: 100%; object-fit: cover; object-position: center 45%; display: block; }
.nv__ph::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(31,37,44,.55) 0%, rgba(31,37,44,0) 55%); z-index: 1; }
.nv__n{ position: absolute; left: 20px; top: 16px; font: 600 44px/1 "Fraunces", Georgia, serif; color: #b68c4a; z-index: 2; }
.nv__ph .nv__n{ color: #c79a52; text-shadow: 0 1px 8px rgba(31,37,44,.35); }
.nv__b{ padding: 22px 24px; display: flex; flex-direction: column; flex: 1; }
.nv__s{ font: 500 10px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .14em; color: #96733a; text-transform: uppercase; }
.nv__t{ font: 600 26px/1.15 "Fraunces", Georgia, serif; margin-top: 6px; }
.nv__d{ font-size: 14px; line-height: 1.5; color: #3c4650; margin-top: 8px !important; }
.nv .lnk{ margin-top: auto; padding-top: 14px; }
.nv-medida{ background: #f5ecdd; border: 1px solid rgba(182,140,74,.5); border-radius: 18px; padding: 28px; display: flex; flex-direction: column; }
.nv-medida__k{ font: 500 10px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .14em; color: #96733a; }
.nv-medida__t{ font: 600 24px/1.2 "Fraunces", Georgia, serif; margin-top: 8px; }
.nv-medida p{ font-size: 14px; line-height: 1.5; color: #3c4650; margin-top: 8px; }
.nv-medida a{ margin-top: auto; padding-top: 14px; color: #a55a3b; font-weight: 700; font-size: 15px; outline: none; border-radius: 4px; }
.nv-medida a:hover{ color: #8a4a30; text-decoration: underline; text-underline-offset: 3px; }
.nv-medida a:focus-visible{ box-shadow: 0 0 0 3px rgba(14,90,111,.3); }

.cp-ia{ background: #3e3128; color: #f8f1e7; padding: 72px 20px; }
.cp-ia__g{ display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
.cp-ia h2{ color: #f8f1e7; max-width: 720px; }
.cp-ia p{ font-size: 16px; line-height: 1.55; color: #e8dcc9; max-width: 700px; margin-top: 12px; }
.cp-ia .b:focus-visible{ box-shadow: 0 0 0 2px #3e3128, 0 0 0 5px #c79a52; }

.cp-mu{ background: #fbf9f4; }
.steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.step{ background: #f6f3ee; border: 1px solid #d6cec2; border-radius: 16px; padding: 24px; }
.step__n{ width: 44px; height: 44px; border-radius: 50%; background: #0e5a6f; color: #f8f1e7; font: 700 17px/44px "Fraunces", Georgia, serif; text-align: center; }
.step__n--g{ background: #b68c4a; color: #1f252c; }
.step__t{ font-weight: 700; font-size: 17px; margin-top: 14px; }
.step__d{ font-size: 14px; line-height: 1.5; color: #3c4650; margin-top: 4px; }
.cp-mu .b{ margin-top: 28px; }

/* ============ W-41 · CATÁLOGO POR NIVEL ============ */
.lv-head{ background: #fbf9f4; padding: 40px 20px 0; border-bottom: 1px solid #d6cec2; }
.lv-head__g{ display: grid; grid-template-columns: 1fr 400px; gap: 64px; align-items: end; margin-top: 20px; }
.lv-head h1, .fi-head h1{ font: 600 48px/1.08 "Fraunces", Georgia, serif; letter-spacing: -0.02em; margin-top: 14px; }
.lv-head__p{ font-size: 18px; line-height: 1.55; color: #3c4650; max-width: 680px; margin-top: 16px !important; }
.tabs{ display: flex; gap: 8px; margin-top: 28px; overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar{ display: none; }
.tab{
  flex: none; height: 44px; padding: 0 18px; border-radius: 22px 22px 0 0; background: #f6f3ee; color: #3c4650;
  font: 600 14px/44px "Karla", system-ui, sans-serif; outline: none; transition: background .12s ease, color .12s ease;
}
.tab:hover{ background: #f5ecdd; color: #a55a3b; }
.tab:focus-visible{ box-shadow: inset 0 0 0 2px #0e5a6f; }
.tab[aria-current="page"]{ background: #0e5a6f; color: #f8f1e7; font-weight: 700; }
.tab__c{ display: none; }
.lv-ph{ aspect-ratio: 4/3; border-radius: 20px 20px 0 0; overflow: hidden; background: #eae3d7; }
.lv-ph img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.lv-bar{ display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.filters{ margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.flt{
  height: 36px; padding: 0 14px; border-radius: 18px; border: 2px solid #d6cec2; background: transparent; box-sizing: border-box;
  font: 600 13px "Karla", system-ui, sans-serif; color: #3c4650; cursor: pointer; outline: none;
  transition: background .12s ease, color .12s ease, border-color .12s ease, transform .12s ease;
}
.flt:hover{ border-color: #a55a3b; color: #a55a3b; background: #f8f1e7; }
.flt:active{ transform: translateY(1px); }
.flt:focus-visible{ box-shadow: 0 0 0 2px #f6f3ee, 0 0 0 5px #0e5a6f; }
.flt[aria-pressed="true"]{ background: #0e5a6f; border-color: #0e5a6f; color: #f8f1e7; font-weight: 700; }

.cu-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 32px; }
.cu{ background: #fbf9f4; border: 1px solid #d6cec2; border-radius: 18px; padding: 20px; display: flex; flex-direction: column; }
.cu.is-out{ opacity: 0 !important; transition: opacity .16s ease !important; }
.cu[hidden]{ display: none; }
.cover{
  aspect-ratio: 3/4; width: 60%; border-radius: 3px 8px 8px 3px; background: #0e5a6f; padding: 14px; box-sizing: border-box;
  box-shadow: -6px 10px 24px rgba(62,49,40,.2); display: flex; flex-direction: column; color: #f8f1e7;
}
.cover__k{ font: 500 7px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .16em; color: #c79a52; text-transform: uppercase; }
.cover__t{ font: 600 15px/1.1 "Fraunces", Georgia, serif; margin-top: 6px; }
.cover__bar{ margin-top: auto; height: 4px; background: #b68c4a; width: 40%; }
.cu__t{ font: 600 20px/1.2 "Fraunces", Georgia, serif; margin-top: 16px; }
.pill{ display: inline-block; margin-top: 8px; height: 24px; padding: 0 10px; border-radius: 12px; background: #f5ecdd; color: #96733a; font: 700 11px/24px "Karla", system-ui, sans-serif; align-self: flex-start; }
.cu__d{ font-size: 14px; line-height: 1.5; color: #3c4650; margin-top: 8px; }
.cu .lnk{ margin-top: auto; padding-top: 14px; font-size: 14px; }

.lv-pack{ background: #f5ecdd; padding: 72px 20px; }
.lv-pack__g{ display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.lv-pack__g > div{ flex: 1; min-width: 400px; }
.lv-pack p{ font-size: 16px; line-height: 1.55; color: #3c4650; margin-top: 10px; }
.lv-pack__btns{ display: flex; gap: 12px; flex-wrap: wrap; }

/* ============ W-42 · FICHA DE CURSO ============ */
.fi-head{ background: #fbf9f4; padding: 40px 20px 64px; border-bottom: 1px solid #d6cec2; }
.fi-head__g{ display: grid; grid-template-columns: 300px 1fr; gap: 64px; align-items: center; margin-top: 28px; }
.fcover{
  aspect-ratio: 3/4; border-radius: 4px 12px 12px 4px; background: #0e5a6f; padding: 28px 24px; box-sizing: border-box;
  box-shadow: -16px 24px 50px rgba(62,49,40,.3); display: flex; flex-direction: column; color: #f8f1e7; position: relative; overflow: hidden;
}
.fcover__k{ font: 500 9px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .18em; color: #c79a52; text-transform: uppercase; }
.fcover__t{ font: 600 40px/1.02 "Fraunces", Georgia, serif; margin-top: 14px; }
.fcover__t--m{ font-size: 32px; }
.fcover__t--l{ font-size: 26px; }
.fcover__s{ font-size: 13px; color: #dbe9ec; margin-top: 8px; }
.fcover__ph{ margin-top: auto; height: 110px; border-radius: 6px; overflow: hidden; background: rgba(255,255,255,.12); }
.fcover__ph img{ width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; }
.fcover__logo{ display: flex; align-items: center; gap: 8px; margin-top: 14px; font: 500 8px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .14em; }
.fcover__logo img{ height: 22px; width: auto; }
.fcover--img{ padding: 0; background: #fff; color: #1f252c; }
.fcover--img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.fi-lead{ font-size: 18px; line-height: 1.55; color: #3c4650; max-width: 640px; margin-top: 16px !important; }
.chips{ display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.chip{ height: 32px; padding: 0 12px; border-radius: 16px; background: #f5ecdd; color: #96733a; font: 700 13px/32px "Karla", system-ui, sans-serif; }
.chip--n{ background: #eae3d7; color: #3c4650; }
.fi-btns{ display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }

.fi-two{ display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.fi-two p{ font-size: 17px; line-height: 1.6; color: #3c4650; margin-top: 14px; }
.fi-two p + p{ margin-top: 12px; }
.inc{ display: grid; gap: 10px; margin-top: 20px; font-size: 15px; line-height: 1.5; }
.inc__i{ display: flex; gap: 12px; background: #fbf9f4; border: 1px solid #d6cec2; border-radius: 14px; padding: 14px 16px; }
.inc__i span{ color: #b68c4a; font-weight: 700; }
.inc__i--opt{ background: #f5ecdd; border-color: rgba(182,140,74,.5); }

.fi-pd{ background: #f5ecdd; }
.fi-pd__help{ font-size: 15px; color: #56606b; margin-top: 8px; }
.pages{ display: flex; gap: 28px; margin-top: 32px; justify-content: center; flex-wrap: wrap; }
.pg{ margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pg__btn{
  display: block; padding: 0; border: 0; cursor: zoom-in; background: #fff; color: #1f252c; outline: none;
  width: 317px; aspect-ratio: 595/842; box-shadow: 0 10px 30px rgba(62,49,40,.18); overflow: hidden;
}
.pg__btn--h{ width: 449px; aspect-ratio: 842/595; }
.pg__btn img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.pg__btn:focus-visible{ box-shadow: 0 0 0 2px #f5ecdd, 0 0 0 5px #0e5a6f; }
.pg figcaption{ max-width: 317px; font: 500 10px/1.5 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .1em; color: #96733a; text-align: center; text-transform: uppercase; }
.pg--h figcaption{ max-width: 449px; }
.pd-swipe{ display: none; font-size: 12px; color: #56606b; margin-top: 10px; }

.fi-tec{ display: grid; grid-template-columns: 1fr 400px; gap: 64px; align-items: start; }
.tbl{ background: #fbf9f4; border: 1px solid #d6cec2; border-radius: 18px; overflow: hidden; font-size: 15px; margin-top: 24px; }
.tbl__r{ display: grid; grid-template-columns: 220px 1fr; padding: 14px 24px; gap: 12px; }
.tbl__r + .tbl__r{ border-top: 1px solid #d6cec2; }
.tbl__r b{ font-weight: 700; }
.tbl__code{ font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 13px; }
.ask{ background: #3e3128; color: #f8f1e7; border-radius: 20px; padding: 32px; position: sticky; top: 88px; }
.ask__k{ font: 500 10px "JetBrains Mono", ui-monospace, monospace; letter-spacing: .16em; color: #c79a52; }
.ask__t{ font: 600 28px/1.15 "Fraunces", Georgia, serif; margin-top: 10px; }
.ask p{ font-size: 15px; line-height: 1.5; color: #e8dcc9; margin-top: 12px; }
.ask .b{ display: flex; width: 100%; margin-top: 20px; }
.ask .b + .b{ margin-top: 10px; }
.ask .b:focus-visible{ box-shadow: 0 0 0 2px #3e3128, 0 0 0 5px #c79a52; }
.ask__c{ font-size: 13px; color: #cdbfa9; margin-top: 16px; text-align: center; }

.rel{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 20px; }
.rel a{ background: #fbf9f4; border: 1px solid #d6cec2; border-radius: 16px; padding: 20px; display: block; }
.rel__t{ font: 600 18px/1.25 "Fraunces", Georgia, serif; }
.rel__d{ font-size: 13px; color: #56606b; margin-top: 4px; }

.fi-fix{ display: none; }

/* visor de páginas (toca una página para ampliarla) */
.pv{ border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 96vh; overflow: visible; }
.pv::backdrop{ background: rgba(31,37,44,.82); }
.pv[open]{ animation: pvIn .2s cubic-bezier(.2,.7,.2,1); }
@keyframes pvIn{ from{ opacity: 0; transform: translateY(14px); } to{ opacity: 1; transform: none; } }
.pv img{ display: block; max-width: 92vw; max-height: 86vh; width: auto; height: auto; box-shadow: 0 20px 60px rgba(0,0,0,.4); background: #fff; color: #1f252c; }
.pv__x{
  position: absolute; top: -56px; right: 0; height: 44px; padding: 0 18px; border-radius: 22px; border: 0;
  background: #fbf9f4; color: #1f252c; font: 700 14px "Karla", system-ui, sans-serif; cursor: pointer; outline: none;
  transition: background .12s ease;
}
.pv__x:hover{ background: #f5ecdd; }
.pv__x:focus-visible{ box-shadow: 0 0 0 2px #1f252c, 0 0 0 5px #c79a52; }

/* ============ intermedio (tableta) ============ */
@media (max-width: 1100px){
  .cp-hero__grid{ grid-template-columns: 1fr 260px; gap: 40px; }
  .nv-grid{ grid-template-columns: repeat(2, 1fr); }
  .cu-grid{ grid-template-columns: repeat(3, 1fr); }
  .lv-head__g{ grid-template-columns: 1fr 320px; gap: 40px; }
  .fi-head__g{ grid-template-columns: 260px 1fr; gap: 40px; }
  .fi-tec{ grid-template-columns: 1fr; }
  .ask{ position: static; }
  .rel{ grid-template-columns: repeat(2, 1fr); }
  .pg__btn{ width: 260px; } .pg__btn--h{ width: 368px; }
}

/* ============ móvil 390 (W-40b · W-41b · W-42b) ============ */
@media (max-width: 760px){
  .cat-sec, .cat-sec--72{ padding: 64px 20px; }
  .h2{ font-size: 26px; }
  .k{ font-size: 10px; }
  .b{ height: 52px; }

  .cp-hero{ padding: 40px 20px; }
  .cp-hero__grid{ grid-template-columns: 1fr; gap: 0; }
  .cp-hero h1{ font-size: 34px; margin-top: 12px; }
  .cp-hero__p{ font-size: 16px; }
  .cp-hero__btns{ flex-direction: column; gap: 10px; margin-top: 20px; }
  .cp-hero__btns .b{ width: 100%; }
  .cp-hero__btns .b--wa{ order: -1; }
  .cp-books{ display: none; }

  .nv-grid{ grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }
  .nv{ min-height: 0; border-radius: 16px; display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; padding: 18px; }
  .nv__ph{ display: contents; }
  .nv__ph img, .nv__ph::before{ display: none; }
  .nv__ph .nv__n, .nv__n{ position: static; font-size: 36px; color: #b68c4a; text-shadow: none; }
  .nv__b{ padding: 0; display: flex; flex-direction: column-reverse; justify-content: flex-end; }
  .nv__s{ font-size: 9px; margin-top: 4px; }
  .nv__t{ font-size: 20px; margin-top: 0; }
  .nv__d, .nv .lnk{ display: none; }
  .nv-medida{ padding: 22px; }

  .cp-ia{ padding: 64px 20px; }
  .cp-ia__g{ grid-template-columns: 1fr; gap: 24px; }
  .steps{ grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  .cp-mu .b{ width: 100%; }

  .lv-head{ padding: 24px 20px 0; }
  .crumbs{ font-size: 12px; }
  .lv-head__g{ grid-template-columns: 1fr; gap: 0; margin-top: 16px; }
  .lv-head h1, .fi-head h1{ font-size: 34px; margin-top: 10px; }
  .lv-head__p{ font-size: 15px; line-height: 1.5; margin-top: 12px !important; }
  .tabs{ gap: 6px; margin-top: 20px; }
  .tab{ padding: 0 14px; font-size: 13px; }
  .tab__f{ display: none; } .tab__c{ display: inline; }
  .lv-ph{ display: none; }
  .k--lv-d{ display: none; } .k--lv-m{ display: block !important; }

  .lv-bar{ display: block; }
  .lv-bar .h2{ display: none; }
  .filters{ margin: 16px 0 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .filters::-webkit-scrollbar{ display: none; }
  .flt{ flex: none; }
  .cu-grid{ grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
  .cu{ border-radius: 14px; padding: 14px; }
  .cover{ width: 56%; border-radius: 2px 6px 6px 2px; padding: 8px; box-shadow: none; }
  .cover__k, .cover__bar{ display: none; }
  .cover__t{ font-size: 11px; margin-top: 0; }
  .cu__t{ font-size: 16px; margin-top: 10px; }
  .pill{ background: none; padding: 0; height: auto; margin-top: 4px; font: 700 11px "Karla", system-ui, sans-serif; color: #96733a; }
  .cu__d, .cu .lnk{ display: none; }

  .lv-pack{ padding: 64px 20px; }
  .lv-pack__g{ display: block; }
  .lv-pack__g > div{ min-width: 0; }
  .lv-pack__btns{ flex-direction: column; margin-top: 24px; gap: 10px; }
  .lv-pack__btns .b{ width: 100%; }

  .fi-head{ padding: 24px 20px 40px; }
  .fi-head__g{ grid-template-columns: 1fr; gap: 0; margin-top: 0; }
  .fcover{ width: 180px; margin: 24px auto 0; border-radius: 3px 10px 10px 3px; padding: 18px 16px; box-shadow: -10px 16px 36px rgba(62,49,40,.3); }
  .fcover--img{ padding: 0; }
  .fcover__k{ font-size: 7px; }
  .fcover__t{ font-size: 26px; margin-top: 10px; }
  .fcover__t--m{ font-size: 21px; } .fcover__t--l{ font-size: 17px; }
  .fcover__s, .fcover__ph, .fcover__logo{ display: none; }
  .fi-head .k{ margin-top: 28px; }
  .fi-head h1{ font-size: 32px; }
  .fi-lead{ font-size: 15px; line-height: 1.5; margin-top: 12px !important; }
  .chips{ gap: 6px; margin-top: 14px; }
  .chip{ height: 28px; padding: 0 10px; border-radius: 14px; font-size: 12px; line-height: 28px; }
  .fi-btns{ display: none; }
  .fi-two{ grid-template-columns: 1fr; gap: 48px; }
  .fi-two p{ font-size: 16px; }

  .fi-pd .h2, .fi-pd__help{ display: none; }
  .pages{ flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 12px; margin: 16px -20px 0; padding: 0 20px 8px; scroll-snap-type: x mandatory; }
  .pg{ flex: none; scroll-snap-align: start; }
  .pg__btn{ width: 285px; } .pg__btn--h{ width: 330px; }
  .pg figcaption{ max-width: 285px; }
  .pd-swipe{ display: block; }

  .fi-tec{ gap: 40px; }
  .fi-tec .h2{ display: none; }
  .tbl{ border-radius: 14px; font-size: 14px; margin-top: 14px; }
  .tbl__r{ grid-template-columns: 110px 1fr; padding: 12px 16px; }
  .rel{ grid-template-columns: 1fr 1fr; gap: 10px; }
  .rel a{ padding: 16px; }
  .rel__t{ font-size: 16px; }

  .fi-fix{
    display: block; position: sticky; bottom: 0; z-index: 40; padding: 12px 16px 16px;
    background: rgba(246,243,238,.96); border-top: 1px solid #d6cec2;
  }
  .fi-fix .b{ display: flex; width: 100%; height: 56px; border-radius: 28px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce){
  .b, .tab, .flt, .lnk, .pv__x{ transition: none !important; }
  .cu.is-out{ transition: none !important; }
  .pv[open]{ animation: none; }
}

/* los hijos de rejilla no se ensanchan por sus pestañas o páginas desplazables */
.cp-hero__grid > *, .lv-head__g > *, .fi-head__g > *, .fi-two > *, .fi-tec > *{ min-width: 0; }
.cover, .fcover{ overflow: hidden; }
.cover__t, .fcover__t{ hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
