/* ═══════════════════════════════════════════════════════════════════
   Blue Market Corp · hoja de estilos del sitio (rediseño gráfico y minimalista, 10/10/2026)
   Idea: bloques con una imagen 3D grande, un título y una línea; el detalle vive en su propia página.
   Paleta de la marca: azul noche (fondo = orilla de las imágenes 3D), azul marino del logo,
   plateado y dorado. Montserrat (títulos) + Playfair Display en cursiva (acentos) + Inter (texto).
   ═══════════════════════════════════════════════════════════════════ */
/* ── Fuentes propias (latín): se precargan las dos principales y no dependen de otro servidor.
   Las «Fallback» ajustan Arial/Georgia a las medidas de cada fuente para que el texto no salte al cargar. ── */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/montserrat-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: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/montserrat-latin-600-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: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/montserrat-latin-700-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: 'Montserrat'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/montserrat-latin-800-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: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/inter-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: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/inter-latin-600-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: 'Playfair Display'; font-style: italic; font-weight: 600; font-display: swap; src: url(/assets/fonts/playfair-display-latin-600-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: 'Montserrat Fallback'; src: local('Arial'); size-adjust: 113.4%; ascent-override: 85.3%; descent-override: 22.1%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; src: local('Arial'); size-adjust: 107.1%; ascent-override: 90.4%; descent-override: 22.5%; line-gap-override: 0%; }
@font-face { font-family: 'Playfair Fallback'; src: local('Georgia'); size-adjust: 107%; ascent-override: 101%; descent-override: 23.5%; line-gap-override: 0%; }
:root {
  --noche: #0F2744; --noche-2: #12304F; --noche-3: #163A5E; --navy: #0B2A47; --navy-700: #12365A; --azul: #1B5590;
  --azul-metal: #2D5F99; --azul-claro: #8DB2E0; --tarjeta: #15365A; --tarjeta-2: #1A3F67;
  --plata-1: #F3F5F8; --plata-2: #D6DBE2; --plata-3: #A6AFBB; --gris: #5A6474; --gris-2: #8A93A2;
  --oro: #C9A84C; --oro-claro: #E8D394; --oro-oscuro: #96782A;
  --texto: #F1F4F8; --texto-2: #C2CDDC; --linea-o: rgba(214, 219, 226, .14);
  --tinta: #0B1A2A; --fondo: #F2F4F7; --linea: #E1E6ED; --blanco: #FFFFFF;
  --grad-plata: linear-gradient(115deg, #FFFFFF 0%, #CBD2DC 30%, #F5F7FA 52%, #9AA5B3 78%, #E4E8EE 100%);
  --grad-oro: linear-gradient(115deg, #A6842F 0%, #E8D394 45%, #C9A84C 70%, #A6842F 100%);
  --grad-oro-txt: linear-gradient(100deg, #F3E2AE 0%, #E2C26E 38%, #C9A84C 62%, #F0DCA0 100%);
  --grad-azul: linear-gradient(115deg, #0D3150 0%, #2D5F99 50%, #12467A 100%);
  --grad-navy: radial-gradient(70% 60% at 85% 0%, rgba(45, 95, 153, .4) 0%, transparent 60%),
               radial-gradient(60% 55% at 0% 100%, rgba(18, 70, 122, .45) 0%, transparent 60%),
               linear-gradient(180deg, #17406A 0%, #0F2744 100%);
  --f-tit: 'Montserrat', 'Montserrat Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-txt: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-serif: 'Playfair Display', 'Playfair Fallback', Georgia, 'Times New Roman', serif;
  --radio: 22px; --sombra: 0 26px 60px -34px rgba(0, 0, 0, .7); --sombra-s: 0 10px 30px -18px rgba(3, 13, 26, .35);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; }
html.menu-abierto { overflow: hidden; }
body { font-family: var(--f-txt); color: var(--texto); background: var(--noche); line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video, iframe { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--oro); outline-offset: 3px; border-radius: 8px; }
.wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.angosto { max-width: 800px; }
.saltar { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--oro); color: var(--navy); padding: 10px 16px; border-radius: 10px; font-weight: 600; text-decoration: none; }
.saltar:focus { top: 12px; }
.sr-solo { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ── Tipografía ── */
h1, h2, h3, h4 { font-family: var(--f-tit); font-weight: 700; line-height: 1.12; letter-spacing: -.015em; color: inherit; }
h2 { font-size: clamp(1.8rem, 4vw, 2.75rem); }
h3 { font-size: 1.2rem; font-weight: 600; }
.t-plata { background: var(--grad-plata); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t-azul { background: var(--grad-azul); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t-oro { background: var(--grad-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
h2 em, h1 em { font-style: normal; }
/* Título mixto: palo seco muy grueso + acento en cursiva serif dorada */
.tit-mix { font-family: var(--f-tit); font-weight: 800; letter-spacing: -.04em; line-height: .98; }
.tit-mix em { font-family: var(--f-serif); font-style: italic; font-weight: 600; letter-spacing: -.012em; padding: 0 .1em 0 .02em;
  background: var(--grad-oro-txt); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
/* Letras en relieve (3D): capas de sombra; en la cursiva dorada se usan filtros porque el texto es transparente */
.t3d { text-shadow: 0 1px 0 #24334A, 0 2px 0 #1F2D42, 0 3px 0 #1A2739, 0 4px 0 #152031, 0 5px 0 #101A29, 0 7px 3px rgba(0, 0, 0, .5), 0 16px 28px rgba(0, 0, 0, .55); }
.t3d em { text-shadow: none; filter: drop-shadow(0 1px 0 #9A7A2C) drop-shadow(0 1px 0 #876A25) drop-shadow(0 1px 0 #735A1F) drop-shadow(0 1px 0 #5E4919) drop-shadow(0 6px 10px rgba(0, 0, 0, .5)); }
.eb { display: inline-flex; align-items: center; gap: 12px; font-family: var(--f-tit); font-size: .76rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--azul-metal); }
.eb::before { content: ""; width: 26px; height: 2px; background: var(--grad-oro); flex: none; }
.eb--oro { color: var(--oro-claro); }
.eb--plata { color: var(--plata-2); }
.lead { font-size: 1.06rem; color: var(--gris); max-width: 64ch; margin-top: 16px; }

/* ── Botones ── */
.pill { display: inline-flex; align-items: center; gap: 14px; min-height: 54px; padding: 0 10px 0 24px; border-radius: 999px; background: var(--grad-oro); background-size: 160% 100%; color: #1C1505; text-decoration: none;
  font-family: var(--f-tit); font-weight: 600; font-size: .95rem; line-height: 1.2; border: 1px solid transparent; cursor: pointer; box-shadow: 0 16px 34px -18px rgba(201, 168, 76, .9);
  transition: background-position .35s, transform .25s, color .25s, box-shadow .25s; }
.pill:not(:has(i)) { padding-right: 24px; }
.pill i { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: rgba(28, 21, 5, .12); transition: transform .25s; }
.pill i svg { width: 16px; height: 16px; }
.pill > svg { width: 19px; height: 19px; flex: none; }
.pill:hover { background-position: 100% 0; transform: translateY(-2px); }
.pill:hover i { transform: translateX(3px); }
/* secundario: también dorado (champaña), para que dos botones juntos no compitan */
.pill--linea { background: linear-gradient(115deg, #EADCAE 0%, #F8F0D2 50%, #D8C17E 100%); background-size: 160% 100%; box-shadow: 0 12px 28px -18px rgba(201, 168, 76, .8); }
.pill--chico { min-height: 44px; padding: 0 16px; gap: 8px; font-size: .88rem; }
.pill--chico svg { width: 17px; height: 17px; flex: none; }
button.pill { font: inherit; font-family: var(--f-tit); font-weight: 600; }
.redondo { display: inline-grid; place-items: center; align-content: center; gap: 6px; width: 108px; height: 108px; border-radius: 50%; background: rgba(232, 211, 148, .1); border: 1.5px solid var(--oro-claro);
  color: var(--oro-claro); font-family: var(--f-tit); font-weight: 600; font-size: .82rem; text-decoration: none; transition: transform .3s, background-color .3s, border-color .3s; }
.redondo svg { width: 20px; height: 20px; animation: bajar 1.8s ease-in-out infinite; }
.redondo:hover { transform: scale(1.05); border-color: var(--oro-claro); }
@keyframes bajar { 50% { transform: translateY(4px); } }
/* botones de siempre (páginas del blog, proveedores y el servidor) */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--f-tit); font-weight: 600; font-size: .94rem; letter-spacing: .01em;
  text-decoration: none; border: 0; cursor: pointer; border-radius: 999px; padding: 15px 26px; transition: transform .2s, box-shadow .2s, background-color .2s, color .2s; text-align: center; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn:hover { transform: translateY(-2px); }
.btn-oro { background: var(--grad-oro); background-size: 160% 100%; color: #1C1505; box-shadow: 0 16px 34px -16px rgba(201, 168, 76, .85); }
.btn-oro:hover { background-position: 100% 0; }
.btn-vidrio, .btn-navy { background: var(--grad-oro); background-size: 160% 100%; color: #1C1505; box-shadow: 0 16px 34px -16px rgba(201, 168, 76, .85); }
.btn-vidrio:hover, .btn-navy:hover { background-position: 100% 0; }
.btn-linea { color: #6B531A; background: rgba(201, 168, 76, .1); border: 1.5px solid var(--oro); padding: 13px 22px; }
.btn-linea:hover { background: var(--grad-oro); color: #1C1505; }
.enlace { color: var(--azul-metal); font-weight: 600; text-decoration: none; border-bottom: 2px solid rgba(45, 95, 153, .3); }
.enlace:hover { border-color: var(--azul-metal); }

/* ── Cabecera mínima + menú a pantalla completa ── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 60; transition: background-color .35s, box-shadow .35s; }
.nav.solido { background: rgba(15, 39, 68, .9); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); box-shadow: 0 1px 0 var(--linea-o); }
.menu-abierto .nav.solido { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.nav-in { display: flex; align-items: center; justify-content: space-between; gap: 14px; max-width: 1440px; margin: 0 auto; padding: 12px 20px; }
.logo { display: flex; align-items: center; flex: none; }
.logo img { height: 46px; width: auto; }
.nav-acc { display: flex; align-items: center; gap: 10px; }
.btn-asesor { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; background: var(--grad-oro); color: #1C1505; text-decoration: none; border-radius: 999px; padding: 0 18px;
  font-family: var(--f-tit); font-size: .86rem; font-weight: 600; white-space: nowrap; }
.btn-asesor svg { width: 17px; height: 17px; }
.hamb { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 18px 0 15px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .28); background: rgba(15, 39, 68, .45);
  color: #fff; font-family: var(--f-tit); font-weight: 600; font-size: .76rem; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: border-color .2s; }
.hamb:hover { border-color: var(--oro-claro); }
.hamb-l { display: grid; gap: 6px; width: 22px; }
.hamb-l i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s; }
.hamb[aria-expanded="true"] .hamb-l i:first-child { transform: translateY(4px) rotate(45deg); }
.hamb[aria-expanded="true"] .hamb-l i:last-child { transform: translateY(-4px) rotate(-45deg); }
.panel-menu { position: fixed; inset: 0; z-index: 59; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s;
  background: radial-gradient(60% 50% at 80% 10%, rgba(45, 95, 153, .3), transparent 60%), radial-gradient(50% 40% at 0% 100%, rgba(201, 168, 76, .12), transparent 60%), var(--noche); }
.panel-menu.abierto { opacity: 1; visibility: visible; }
.pm-in { min-height: 100%; max-width: 1240px; margin: 0 auto; padding: 100px 20px 40px; display: grid; gap: 36px; align-content: center; }
@media (min-width: 960px) { .pm-in { grid-template-columns: 1.5fr 1fr; align-items: end; } }
.pm-enlaces { display: grid; }
.pm-enlaces a { display: flex; align-items: baseline; gap: 16px; padding: 6px 0; color: #fff; text-decoration: none; font-family: var(--f-tit); font-weight: 800; font-size: clamp(1.9rem, 5.6vw, 3.6rem); letter-spacing: -.035em; line-height: 1.12;
  transform: translateY(14px); opacity: 0; transition: transform .45s, opacity .45s, color .2s; }
.panel-menu.abierto .pm-enlaces a { transform: none; opacity: 1; }
.pm-enlaces a:nth-child(2) { transition-delay: .03s; } .pm-enlaces a:nth-child(3) { transition-delay: .06s; } .pm-enlaces a:nth-child(4) { transition-delay: .09s; }
.pm-enlaces a:nth-child(5) { transition-delay: .12s; } .pm-enlaces a:nth-child(6) { transition-delay: .15s; } .pm-enlaces a:nth-child(7) { transition-delay: .18s; } .pm-enlaces a:nth-child(8) { transition-delay: .21s; }
.pm-enlaces small { font-size: .78rem; font-weight: 600; letter-spacing: .14em; color: var(--oro); }
.pm-enlaces a:hover, .pm-enlaces a[aria-current="page"] { color: var(--oro-claro); }
.pm-pie { display: grid; gap: 4px; color: var(--texto-2); font-size: .98rem; }
.pm-pie > a { text-decoration: none; padding: 8px 0; }
.pm-pie > a:hover { color: #fff; }
.pm-prov { color: var(--oro-claro); font-weight: 600; font-family: var(--f-tit); }
@media (max-width: 520px) { .btn-asesor span { display: none; } .btn-asesor { width: 46px; padding: 0; justify-content: center; } .hamb-t { display: none; } .hamb { width: 46px; padding: 0; justify-content: center; } .logo img { height: 40px; } }

/* ── Portada ── */
.portada { position: relative; overflow: hidden; }
.portada-img img { width: 100%; height: auto; aspect-ratio: 6 / 5; object-fit: cover; }
.portada-txt { position: relative; z-index: 1; margin-top: -9vw; padding-bottom: clamp(56px, 8vw, 96px); text-align: center; }
.portada-tit { font-size: clamp(3rem, 13.6vw, 9.8rem); line-height: .9; }
.portada-kick { display: block; font-weight: 600; font-size: clamp(1rem, 2.2vw, 1.55rem); letter-spacing: .02em; color: var(--texto-2); margin-bottom: .35em; text-shadow: none; line-height: 1.2; }
.portada-sub { margin: 22px auto 0; max-width: 40ch; font-size: clamp(1.02rem, 1.7vw, 1.22rem); color: var(--texto-2); }
.portada-sub b { color: var(--oro-claro); font-weight: 700; }
.portada-acc { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 22px; margin-top: 30px; }
@media (min-width: 760px) {
  .portada-img img { aspect-ratio: auto; height: min(68svh, 56.25vw); min-height: 400px; object-position: 50% 46%; }
  .portada-txt { margin-top: -5.5vw; }
  .portada-tit { font-size: clamp(3rem, 7.4vw, 8.4rem); }
}

/* ── Franja clara de presentación ── */
.intro { background: var(--fondo); color: var(--tinta); padding: clamp(56px, 8vw, 100px) 0; }
.intro-in { display: grid; gap: 28px; align-items: end; }
@media (min-width: 960px) { .intro-in { grid-template-columns: 1fr auto; gap: 60px; } }
.intro-txt { font-family: var(--f-tit); font-weight: 500; font-size: clamp(1.35rem, 2.8vw, 2.15rem); line-height: 1.32; letter-spacing: -.02em; max-width: 34em; }
.intro-txt b { font-weight: 800; }
.intro-txt em { font-family: var(--f-serif); font-style: italic; font-weight: 600; color: var(--oro-oscuro); }

/* ── Marquesina de palabras gigantes ── */
.marquesina { overflow: hidden; padding: clamp(22px, 4vw, 46px) 0; border-block: 1px solid var(--linea-o); }
.mq-in { display: flex; width: max-content; animation: mq 27s linear infinite; }
.marquesina:hover .mq-in { animation-play-state: paused; }
.marquesina span { display: inline-block; white-space: nowrap; padding-right: .5em; font-family: var(--f-tit); font-weight: 800; font-size: clamp(2.6rem, 9vw, 7.6rem); line-height: 1.05; letter-spacing: -.045em; color: #fff;
  text-shadow: 0 1px 0 #24334A, 0 2px 0 #1F2D42, 0 3px 0 #1A2739, 0 4px 0 #152031, 0 9px 18px rgba(0, 0, 0, .5); }
.marquesina span::after { content: "✦"; display: inline-block; vertical-align: .9em; font-size: .32em; color: var(--oro); margin-left: .9em; text-shadow: none; }
.marquesina em { font-family: var(--f-serif); font-style: italic; font-weight: 600; letter-spacing: -.012em; padding: 0 .1em 0 .02em; color: var(--oro-claro); text-shadow: 0 1px 0 #9A7A2C, 0 2px 0 #876A25, 0 3px 0 #735A1F, 0 4px 0 #5E4919, 0 9px 18px rgba(0, 0, 0, .5); }
@keyframes mq { to { transform: translateX(-50%); } }
.marquesina--sectores { border: 0; padding-top: 14px; }
.marquesina--sectores .mq-in { animation-duration: 30s; }
.marquesina--sectores span { font-size: clamp(2rem, 6vw, 4.4rem); color: transparent; -webkit-text-stroke: 1.2px rgba(236, 239, 244, .55); text-shadow: none; }
.marquesina--sectores em { color: var(--oro-claro); -webkit-text-stroke: 0; text-shadow: none; }

/* ── Encabezado de sección ── */
.cab-sec { padding-top: clamp(64px, 9vw, 120px); }
.cab-sec .tit-mix { font-size: clamp(2.5rem, 8.4vw, 6.2rem); margin-top: 18px; }
.cab-sec p:not(.eb) { margin-top: 16px; color: var(--texto-2); max-width: 52ch; font-size: 1.08rem; }
.cab-sec--claro { padding-top: 0; }
.cab-sec--claro .tit-mix em { background: var(--grad-oro); -webkit-background-clip: text; background-clip: text; }
.cab-sec--claro p:not(.eb) { color: var(--gris); }

/* ── Bloques gráficos (imagen grande + título + una línea + botón) ── */
.bloque { padding: clamp(48px, 8vw, 110px) 0; position: relative; }
.bloque-rej { display: grid; gap: 18px; align-items: center; }
.bloque-img { display: block; margin: 0 -20px; overflow: hidden; }
.bloque-img img { width: 100%; height: auto; transition: transform 1.1s cubic-bezier(.2, .8, .2, 1); }
a.bloque-img:hover img { transform: scale(1.04); }
.bloque-txt { max-width: 560px; }
.bloque-n { font-family: var(--f-tit); font-size: .76rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--oro-claro); }
.bloque .tit-mix { font-size: clamp(2.15rem, 9.2vw, 4.4rem); margin-top: 14px; }
.bloque--testi .tit-mix { font-size: clamp(2rem, 7.6vw, 3.6rem); }
.bloque-p { margin-top: 16px; font-size: clamp(1.04rem, 1.6vw, 1.22rem); color: var(--texto-2); max-width: 34ch; }
.bloque-acc { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
@media (min-width: 960px) {
  .bloque-rej { grid-template-columns: 1.45fr 1fr; gap: 44px; }
  .bloque-img { margin: 0; border-radius: 0; }
  .bloque--inv .bloque-rej { grid-template-columns: 1fr 1.45fr; }
  .bloque--inv .bloque-img { order: 2; }
}

/* Testimonios: una cita a la vez */
.testis { margin-top: 24px; }
.testi blockquote { font-family: var(--f-tit); font-weight: 500; font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.5; color: var(--texto); }
.testi figcaption { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.testi figcaption b { font-family: var(--f-tit); color: var(--oro-claro); }
.testi figcaption span { color: var(--texto-2); font-size: .9rem; }
.testi.activo { animation: aparecer .5s ease; }
@keyframes aparecer { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.testis-ctl { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.testis-ctl button { width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--grad-oro); color: #1C1505; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: border-color .2s; }
.testis-ctl button:hover { filter: brightness(1.06); }
.testis-n { font-family: var(--f-tit); font-size: .86rem; color: var(--texto-2); letter-spacing: .08em; }

/* Sectores */
.sectores-mq { padding: clamp(40px, 6vw, 80px) 0 clamp(20px, 3vw, 40px); }

/* ── Blog en la portada (franja clara) ── */
.blog-inicio { background: var(--fondo); color: var(--tinta); padding: clamp(64px, 9vw, 120px) 0; }
.blog-inicio .tit-mix { font-size: clamp(2.6rem, 8vw, 5.6rem); }
.posts { display: grid; gap: 22px; margin-top: 40px; }
@media (min-width: 700px) { .posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1050px) { .posts { grid-template-columns: repeat(3, 1fr); } }
.sec--blog .posts { margin-top: 0; }
.post { background: #fff; color: var(--tinta); border: 1px solid var(--linea); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.post:hover { transform: translateY(-4px); box-shadow: var(--sombra-s); }
.post-img { display: block; aspect-ratio: 16 / 9; background: var(--grad-navy); overflow: hidden; }
.post-img img { width: 100%; height: 100%; object-fit: cover; }
.post-sin { display: grid; place-items: center; height: 100%; }
.post-sin img { width: 96px; height: auto; object-fit: contain; opacity: .85; }
.post-txt { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.post-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: .8rem; color: var(--gris-2); }
.post-meta span { color: var(--azul-metal); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; font-family: var(--f-tit); }
.post-tit { font-size: 1.18rem; margin-top: 10px; line-height: 1.3; }
.post-tit a { text-decoration: none; }
.post-tit a:hover { color: var(--azul-metal); }
.post-res { margin-top: 10px; color: var(--gris); font-size: .94rem; }
.post-autor { margin-top: auto; padding-top: 16px; font-size: .84rem; font-weight: 600; color: var(--tinta); }
.blog-vacio { margin-top: 36px; padding: 34px; border-radius: 22px; background: #fff; border: 1px dashed var(--plata-3); text-align: center; color: var(--gris); }
.blog-pie { margin-top: 32px; text-align: center; }

/* ── Cierre: marquesina + llamado ── */
.cta-final { padding: clamp(40px, 6vw, 70px) 0 clamp(64px, 9vw, 110px); background: radial-gradient(50% 60% at 50% 100%, rgba(45, 95, 153, .22), transparent 70%); }
.marquesina--cta { border: 0; }
.cta-in { text-align: center; margin-top: clamp(20px, 3vw, 36px); }
.cta-in .tit-mix { font-size: clamp(2.3rem, 7vw, 4.8rem); }
.cta-in p { margin: 18px auto 0; max-width: 52ch; color: var(--texto-2); font-size: 1.06rem; }
.cta-acc { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }

/* ── Pie ── */
.pie { background: #0B2038; color: var(--plata-3); padding: 64px 0 0; border-top: 1px solid var(--linea-o); }
.pie-rej { display: grid; gap: 36px; padding-bottom: 44px; }
@media (min-width: 700px) { .pie-rej { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .pie-rej { grid-template-columns: 1.5fr 1fr 1.3fr 1.3fr; } }
.pie-marca img { width: 150px; height: auto; }
.pie-marca p { margin-top: 18px; font-size: .92rem; max-width: 40ch; }
.pie-col { display: flex; flex-direction: column; font-size: .92rem; }
.pie-col b { color: #fff; font-family: var(--f-tit); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: .76rem; margin-bottom: 6px; }
.pie-col a { text-decoration: none; transition: color .2s; overflow-wrap: anywhere; padding: 9px 0; }
.pie-col a:hover { color: #fff; }
.pie-prov { color: var(--oro-claro) !important; font-weight: 600; margin-top: 4px; }
.pie-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; padding: 22px 20px 26px; border-top: 1px solid var(--linea-o); font-size: .82rem; }
.redes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #E7EBF1; border: 1px solid rgba(214, 219, 226, .25); transition: background-color .2s, color .2s, border-color .2s; }
.redes a:hover { background: var(--grad-oro); color: #1C1505; border-color: transparent; }
.redes svg { width: 19px; height: 19px; }

/* ═════════════ Páginas de detalle ═════════════ */
.d-cab { position: relative; padding: 58px 0 clamp(32px, 5vw, 64px); }
.d-cab-rej { display: grid; align-items: center; }
.d-cab-img { order: -1; margin: 0 -20px; }
.d-cab-img img { width: 100%; height: auto; }
.d-cab-txt { position: relative; z-index: 1; margin-top: -4vw; }
.d-cab .tit-mix { font-size: clamp(2.3rem, 7.6vw, 5.2rem); margin-top: 16px; }
.d-lead { margin-top: 20px; font-size: clamp(1.04rem, 1.6vw, 1.18rem); color: var(--texto-2); max-width: 58ch; }
.d-acc { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.d-acc--centro { justify-content: center; }
@media (min-width: 960px) {
  .d-cab { padding-top: 96px; }
  .d-cab-rej { grid-template-columns: 1fr 1.08fr; gap: 40px; }
  .d-cab-img { order: 0; margin: 0; }
  .d-cab-txt { margin-top: 0; }
}
.migas { display: flex; flex-wrap: wrap; gap: 8px; font-size: .84rem; color: var(--plata-3); margin-bottom: 18px; }
.migas a { color: var(--plata-2); text-decoration: none; padding: 4px 0; }
.migas a:hover { color: #fff; }
.d-sec { padding: clamp(48px, 7vw, 100px) 0; }
.d-sec--borde { border-top: 1px solid var(--linea-o); }
.d-rej { display: grid; gap: 32px; align-items: start; }
@media (min-width: 960px) { .d-rej { grid-template-columns: 1.2fr .8fr; gap: 64px; } }
.d-h2 { font-family: var(--f-tit); font-weight: 800; font-size: clamp(1.9rem, 4.4vw, 3rem); line-height: 1.05; letter-spacing: -.035em; }
.d-h2 em { font-family: var(--f-serif); font-style: italic; font-weight: 600; color: var(--oro-claro); letter-spacing: -.01em; }
.d-h3 { font-family: var(--f-tit); font-weight: 700; font-size: 1.3rem; letter-spacing: -.01em; }
.d-prosa p { margin-top: 18px; font-size: 1.1rem; color: var(--texto-2); max-width: 62ch; }
.ideal { padding: 18px 20px; border-left: 3px solid var(--oro); background: rgba(255, 255, 255, .04); border-radius: 0 14px 14px 0; color: var(--texto) !important; }
.ideal b { color: var(--oro-claro); }
.d-caja { background: linear-gradient(160deg, #1B4573 0%, #12304F 100%); border: 1px solid rgba(214, 219, 226, .12); border-radius: 28px; padding: 30px 26px; box-shadow: var(--sombra); }
@media (min-width: 960px) { .d-caja { position: sticky; top: 100px; } }
.check { list-style: none; display: grid; gap: 12px; margin: 18px 0 26px; }
.check li { display: flex; gap: 12px; align-items: flex-start; color: var(--texto); }
.check li::before { content: ""; flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1505' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat, var(--grad-oro); }
.d-cita { display: block; margin-top: 10px; color: var(--oro-claro); font-weight: 600; font-size: .92rem; text-underline-offset: 3px; padding: 12px 0; }
.d-cita:hover { color: #fff; }
.d-otros { padding: clamp(48px, 7vw, 100px) 0; border-top: 1px solid var(--linea-o); }
.d-otros-tit { font-size: clamp(2.2rem, 6vw, 4rem); }
.otros { display: grid; gap: 16px; margin-top: 34px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.otro { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-radius: 22px; overflow: hidden; background: var(--tarjeta); border: 1px solid var(--linea-o); padding-bottom: 22px; transition: transform .3s, border-color .3s; }
.otro:hover { transform: translateY(-4px); border-color: rgba(232, 211, 148, .4); }
.otro-img img { width: 100%; height: auto; }
.otro small { padding: 0 20px; color: var(--oro-claro); font-family: var(--f-tit); font-weight: 600; letter-spacing: .16em; font-size: .8rem; }
.otro b { padding: 4px 20px 0; font-family: var(--f-tit); font-weight: 700; font-size: 1.12rem; line-height: 1.25; }
.otro-l { padding: 6px 20px 0; color: var(--texto-2); font-size: .92rem; }

/* Nosotros */
.mv-rej { display: grid; gap: 18px; }
@media (min-width: 820px) { .mv-rej { grid-template-columns: 1fr 1fr; } }
.mv { background: var(--tarjeta); border: 1px solid var(--linea-o); border-radius: var(--radio); padding: 32px 28px; position: relative; overflow: hidden; }
.mv::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--grad-oro); }
.mv .d-h3 { margin-top: 12px; }
.mv p:not(.eb) { margin-top: 12px; color: var(--texto-2); }
.filosofia { margin-top: 22px; display: grid; gap: 30px; align-items: center; border-radius: 28px; padding: 40px 28px; background: var(--grad-navy); border: 1px solid var(--linea-o); position: relative; overflow: hidden; }
@media (min-width: 900px) { .filosofia { grid-template-columns: 1.1fr .9fr; padding: 56px 52px; } }
.filosofia .tit-mix { font-size: clamp(2.3rem, 6vw, 4rem); margin-top: 14px; }
.filosofia p { color: var(--texto-2); margin-top: 16px; max-width: 58ch; }
.filosofia blockquote { margin-top: 22px; padding-left: 18px; border-left: 3px solid var(--oro); font-family: var(--f-tit); font-size: 1.12rem; line-height: 1.5; color: #fff; }
.filosofia blockquote b { color: var(--oro-claro); font-weight: 600; }
.sht { list-style: none; display: grid; gap: 12px; }
.sht li { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(214, 219, 226, .14); }
.sht b { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-family: var(--f-tit); font-weight: 700; color: #1C1505; background: var(--grad-oro); }
.sht p { margin: 0; max-width: none; }
.sht strong { display: block; font-family: var(--f-tit); font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.sht span { font-size: .92rem; color: var(--texto-2); }
.porque { list-style: none; display: grid; gap: 14px; margin-top: 34px; }
@media (min-width: 760px) { .porque { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .porque { grid-template-columns: repeat(3, 1fr); } }
.porque li { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: 18px; background: var(--tarjeta); border: 1px solid var(--linea-o); }
.porque b { flex: none; font-family: var(--f-serif); font-style: italic; font-weight: 600; font-size: 1.9rem; line-height: 1; color: var(--oro-claro); }
.porque span { color: var(--texto); }

/* Marketing pericial + perito */
.aplic { list-style: none; display: grid; gap: 14px; margin-top: 34px; }
@media (min-width: 640px) { .aplic { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .aplic { grid-template-columns: repeat(3, 1fr); } }
.aplic li { display: flex; gap: 14px; align-items: flex-start; padding: 22px 20px; border-radius: 18px; border: 1px solid var(--linea-o); background: var(--tarjeta); }
.aplic i { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(232, 211, 148, .1); color: var(--oro-claro); }
.aplic i svg { width: 22px; height: 22px; }
.aplic p { margin: 0; }
.aplic b { display: block; font-family: var(--f-tit); font-weight: 700; font-size: 1.02rem; color: #fff; }
.aplic span { display: block; margin-top: 4px; font-size: .92rem; color: var(--texto-2); }
.perito { display: grid; gap: 0; border-radius: 28px; overflow: hidden; background: var(--tarjeta); border: 1px solid var(--linea-o); }
@media (min-width: 860px) { .perito { grid-template-columns: .7fr 1.3fr; align-items: stretch; } }
.perito-logo { background: var(--grad-plata); display: grid; place-items: center; padding: 34px; }
.perito-logo img { width: min(220px, 60%); height: auto; }
.perito-txt { padding: 32px 28px 34px; }
.perito-txt .tit-mix { font-size: clamp(2.2rem, 5.4vw, 3.6rem); margin-top: 14px; }
.perito-rol { margin-top: 10px; font-family: var(--f-tit); font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--oro-claro); line-height: 1.5; }
.perito-txt > p:not(.eb):not(.perito-rol) { margin-top: 16px; color: var(--texto-2); }

/* Brandmómetro */
.pasos { list-style: none; display: grid; gap: 14px; margin-top: 34px; counter-reset: paso; }
@media (min-width: 860px) { .pasos { grid-template-columns: repeat(3, 1fr); } }
.pasos li { display: flex; flex-direction: column; gap: 14px; padding: 26px 24px; border-radius: 20px; background: var(--tarjeta); border: 1px solid var(--linea-o); }
.pasos b { font-family: var(--f-serif); font-style: italic; font-weight: 600; font-size: 2.6rem; line-height: 1; color: var(--oro-claro); }
.pasos span { font-size: 1.04rem; color: var(--texto); }
.confidencial { display: flex; gap: 10px; align-items: center; justify-content: center; margin-top: 26px; color: var(--texto-2); font-size: .92rem; text-align: center; }
.confidencial svg { width: 18px; height: 18px; flex: none; color: var(--oro-claro); }

/* Equipo */
.equipo { display: grid; gap: 18px; }
@media (min-width: 720px) { .equipo { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .equipo { grid-template-columns: repeat(3, 1fr); } }
.miembro { background: var(--tarjeta); border: 1px solid var(--linea-o); border-radius: 22px; padding: 28px 24px; display: flex; flex-direction: column; }
.miembro-cab { display: flex; align-items: center; gap: 16px; }
.miembro-foto { position: relative; margin: -28px -24px 22px; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 21px 21px 0 0; background: #E9ECF1; }
.miembro-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.miembro-foto::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent, rgba(11,24,44,.55)); pointer-events: none; }
.miembro:hover .miembro-foto img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .miembro-foto img { transition: none; } }
.avatar { flex: none; width: 76px; height: 76px; border-radius: 50%; padding: 2px; background: var(--grad-oro); }
.avatar span, .avatar img { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: var(--oro-claro); font-family: var(--f-tit); font-weight: 700; font-size: 1.3rem; letter-spacing: .04em; object-fit: cover; }
.avatar img { background: #fff; object-fit: contain; padding: 8px; }
.miembro h2 { font-size: 1.14rem; color: #fff; }
.miembro-rol { display: block; margin-top: 4px; font-family: var(--f-tit); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--oro-claro); line-height: 1.5; }
.miembro p { margin-top: 16px; font-size: .95rem; color: var(--texto-2); }
.miembro--largo p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.miembro.abierto p { display: block; -webkit-line-clamp: unset; }
.miembro button { align-self: flex-start; margin-top: 10px; border: 0; background: none; color: var(--oro-claro); font-family: var(--f-tit); font-weight: 600; font-size: .88rem; cursor: pointer; padding: 10px 0; min-height: 44px; }
.miembro--lider { background: linear-gradient(var(--tarjeta), var(--tarjeta)) padding-box, var(--grad-oro) border-box; border: 1.5px solid transparent; }

/* Contacto */
.contacto-rej { display: grid; gap: 44px; }
@media (min-width: 980px) { .contacto-rej { grid-template-columns: 1fr 1fr; align-items: start; } }
.datos { display: grid; gap: 12px; margin-top: 26px; }
.dato { display: flex; gap: 14px; align-items: center; color: #E7EBF1; text-decoration: none; padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(214, 219, 226, .12); background: rgba(255, 255, 255, .03); transition: background-color .2s; }
a.dato:hover { background: rgba(255, 255, 255, .08); }
.dato i { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(232, 211, 148, .12); color: var(--oro-claro); }
.dato i svg { width: 20px; height: 20px; }
.dato > span { min-width: 0; overflow-wrap: anywhere; }
.dato small { display: block; font-size: .74rem; color: var(--plata-3); text-transform: uppercase; letter-spacing: .14em; font-family: var(--f-tit); }
.form-vidrio { background: rgba(255, 255, 255, .04); border: 1px solid rgba(214, 219, 226, .16); border-radius: 26px; padding: 30px 26px; }
.form-vidrio .sub { color: var(--texto-2); font-size: .92rem; margin-top: 6px; }
.campos { display: grid; gap: 14px; margin-top: 22px; }
@media (min-width: 560px) { .dos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } }
.dos > * + * { margin-top: 14px; }
@media (min-width: 560px) { .dos > * + * { margin-top: 0; } }
.campo span { display: block; font-size: .86rem; font-weight: 600; margin-bottom: 6px; }
.campo span small { font-weight: 400; color: var(--gris-2); font-size: .82rem; }
.campo input, .campo select, .campo textarea { width: 100%; font: inherit; font-size: 16px; color: var(--tinta); background: #fff; border: 1.5px solid var(--linea); border-radius: 13px; padding: 12px 14px; transition: border-color .2s, box-shadow .2s; }
.campo textarea { min-height: 110px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--azul-metal); box-shadow: 0 0 0 4px rgba(45, 95, 153, .18); }
.form-vidrio .campo span { color: #E7EBF1; }
.form-vidrio .campo input, .form-vidrio .campo select, .form-vidrio .campo textarea { color: #fff; background: rgba(3, 13, 26, .55); border-color: rgba(214, 219, 226, .2); }
.form-vidrio .campo select option { color: var(--tinta); }
.form-vidrio .campo input::placeholder, .form-vidrio .campo textarea::placeholder { color: rgba(231, 235, 241, .5); }
.form-vidrio .btn { width: 100%; margin-top: 6px; }
.nota { font-size: .8rem; color: var(--gris-2); margin-top: 12px; }
.aviso { display: none; margin-top: 12px; padding: 12px 14px; border-radius: 12px; font-size: .92rem; }
.aviso.error { display: block; background: #FDECEA; color: #8F2418; }
.aviso.ok { display: block; background: #E7F4EC; color: #1D5B39; }

/* ═════════════ Blog, artículo y proveedores (las arma el servidor) ═════════════ */
.cab-pagina { position: relative; overflow: hidden; color: #fff; background: radial-gradient(60% 70% at 85% 0%, rgba(45, 95, 153, .35), transparent 60%), var(--noche); padding: 132px 0 64px; }
.cab-pagina h1 { font-size: clamp(2.1rem, 5.6vw, 3.8rem); font-weight: 800; letter-spacing: -.035em; margin-top: 16px; max-width: 22ch; }
.cab-pagina--art h1 { max-width: none; font-size: clamp(1.9rem, 4.6vw, 3.1rem); }
.cab-p { margin-top: 18px; font-size: 1.08rem; color: var(--texto-2); max-width: 62ch; overflow-wrap: anywhere; }
.sec { padding: 88px 0; position: relative; }
.sec--claro { background: var(--fondo); color: var(--tinta); }
.vacio-blog { text-align: center; max-width: 620px; margin: 0 auto; padding: 46px 28px; background: #fff; border-radius: 26px; border: 1px solid var(--linea); color: var(--tinta); }
.vacio-blog img { margin: 0 auto; width: 92px; height: auto; }
.vacio-blog h2 { font-size: 1.5rem; margin-top: 18px; }
.vacio-blog p { color: var(--gris); margin: 12px auto 24px; }
.paginacion { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 40px; font-size: .92rem; color: var(--gris); }
.paginacion a { color: var(--navy); font-weight: 600; text-decoration: none; padding: 11px 18px; border-radius: 999px; border: 1.5px solid var(--linea); background: #fff; }
.articulo { background: #fff; color: var(--tinta); }
.art-meta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; font-size: .9rem; color: var(--plata-2); overflow-wrap: anywhere; }
.art-meta b { color: #fff; font-weight: 600; }
/* portada del artículo: debajo de la franja azul (sin montarse) y del ancho del texto */
.art-portada { max-width: 880px; margin: 44px auto 0; padding: 0 20px; position: relative; z-index: 1; }
@media (max-width: 700px) { .art-portada { margin-top: 26px; } }
.art-portada img { width: 100%; height: auto; border-radius: 22px; box-shadow: var(--sombra); aspect-ratio: 16 / 9; object-fit: cover; }
.prosa { padding-top: 48px; padding-bottom: 20px; font-size: 1.08rem; line-height: 1.85; color: #243243; overflow-wrap: anywhere; }
.prosa > * + * { margin-top: 1.2em; }
.prosa h2 { font-size: 1.65rem; margin-top: 1.9em; color: var(--navy); }
.prosa h3 { font-size: 1.28rem; margin-top: 1.6em; color: var(--navy); }
.prosa ul, .prosa ol { padding-left: 1.4em; }
.prosa li + li { margin-top: .5em; }
.prosa li::marker { color: var(--oro-oscuro); }
.prosa a { color: var(--azul-metal); font-weight: 600; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.prosa blockquote { padding: 18px 22px; border-left: 4px solid var(--oro); background: var(--fondo); border-radius: 0 16px 16px 0; font-family: var(--f-tit); font-size: 1.12rem; color: var(--navy); }
.prosa strong { color: var(--tinta); }
.art-cta { margin-top: 44px; margin-bottom: 20px; display: flex; gap: 22px; align-items: center; padding: 30px 28px; border-radius: 26px; color: #fff; background: var(--grad-navy); }
.art-cta > img { flex: none; width: 84px; height: auto; display: none; }
@media (min-width: 640px) { .art-cta > img { display: block; } }
.art-cta h2 { font-size: 1.35rem; margin-top: 10px; }
.art-cta p { color: #C9D2DE; margin-top: 8px; font-size: .95rem; }
.art-cta .acc { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.art-cta .btn { padding: 12px 20px; font-size: .88rem; }
.mas-art { padding-top: 40px; padding-bottom: 80px; }
.mas-art h2 { font-size: 1.5rem; }
.mas-art > p { margin-top: 22px; }
.posts-mini { display: grid; gap: 14px; margin-top: 22px; }
@media (min-width: 820px) { .posts-mini { grid-template-columns: repeat(3, 1fr); } }
.post-mini { display: flex; gap: 14px; align-items: center; text-decoration: none; padding: 12px; border-radius: 18px; border: 1px solid var(--linea); background: #fff; color: var(--tinta); transition: border-color .2s; }
.post-mini:hover { border-color: var(--azul-metal); }
.post-mini-img { flex: none; width: 96px; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--grad-navy); display: grid; place-items: center; }
.post-mini-img img { width: 100%; height: 100%; object-fit: cover; }
.post-mini-txt small { display: block; font-size: .76rem; color: var(--gris-2); }
.post-mini-txt b { display: block; font-family: var(--f-tit); font-weight: 600; font-size: .95rem; line-height: 1.35; margin-top: 2px; }
.prov-rej { display: grid; gap: 36px; align-items: start; }
@media (min-width: 1000px) { .prov-rej { grid-template-columns: .8fr 1.2fr; } }
.prov-lado h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 12px; }
.prov-lado p { color: var(--gris); margin-top: 12px; overflow-wrap: anywhere; }
.prov-pasos { list-style: none; display: grid; gap: 14px; margin-top: 26px; }
.prov-pasos li { display: flex; gap: 14px; align-items: flex-start; }
.prov-pasos b { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--grad-azul); color: #fff; font-family: var(--f-tit); }
.prov-pasos span { padding-top: 5px; }
.tarjeta-form { background: #fff; color: var(--tinta); border: 1px solid var(--linea); border-radius: 26px; padding: 32px 26px; box-shadow: var(--sombra-s); }
.tarjeta-form h3 { font-size: 1.15rem; padding-bottom: 12px; border-bottom: 1px solid var(--linea); margin-top: 28px; }
.tarjeta-form h3:first-child { margin-top: 0; }
.chk { display: flex; gap: 12px; align-items: flex-start; font-size: .9rem; color: var(--gris); margin: 6px 0 18px; }
.chk input { width: 22px; height: 22px; accent-color: var(--azul); flex: none; }
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tarjeta-form .btn { width: 100%; }
.gracias { display: none; text-align: center; padding: 16px 6px; }
.gracias img { margin: 0 auto; width: 110px; height: auto; }
.gracias h3 { border: 0 !important; margin-top: 14px !important; font-size: 1.5rem !important; }
.gracias p { color: var(--gris); margin: 10px auto 20px; max-width: 44ch; }
.enviado .gracias { display: block; }
.enviado form { display: none; }

/* ── MARK-ET, el asistente ── */
.mk-lanzar { position: fixed; right: 18px; bottom: 18px; z-index: 70; width: 70px; height: 70px; border-radius: 50%; border: 0; cursor: pointer; padding: 0; overflow: hidden;
  background: var(--grad-oro); box-shadow: 0 16px 34px -12px rgba(0, 0, 0, .7), 0 0 0 3px rgba(255, 244, 214, .9); transition: transform .2s; }
.mk-lanzar:hover { transform: scale(1.05); }
.mk-lanzar img { width: 100%; height: 100%; object-fit: cover; }   /* cara y pecho con el remolino (pedido de BMC, 19/10) */
.mk-lanzar::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(232, 211, 148, .7); animation: mkpulso 2.6s ease-out infinite; }
@keyframes mkpulso { from { transform: scale(.9); opacity: .9; } to { transform: scale(1.25); opacity: 0; } }
.mk-burbuja { position: fixed; right: 96px; bottom: 34px; z-index: 70; max-width: 230px; background: #fff; color: var(--tinta); border-radius: 18px 18px 4px 18px; padding: 12px 16px; font-size: .9rem; box-shadow: var(--sombra);
  opacity: 0; transform: translateY(8px); transition: opacity .35s, transform .35s; pointer-events: none; }
.mk-burbuja.ver { opacity: 1; transform: none; pointer-events: auto; }
.mk-burbuja b { font-family: var(--f-tit); }
.mk-panel { position: fixed; right: 18px; bottom: 96px; z-index: 71; width: min(390px, calc(100vw - 24px)); height: min(580px, calc(100vh - 130px)); display: none; flex-direction: column;
  background: #fff; color: var(--tinta); border-radius: 24px; overflow: hidden; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .7); border: 1px solid var(--linea); }
.mk-panel.abierto { display: flex; animation: mkabre .25s ease-out; }
@keyframes mkabre { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.mk-cab { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 16px; background: var(--grad-oro); color: #1C1505; }
.mk-cab img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; background: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85); }
.mk-cab b { display: block; font-family: var(--f-tit); letter-spacing: .06em; }
.mk-cab small { display: flex; align-items: center; gap: 6px; font-size: .76rem; color: #4A3A12; }
.mk-cab small::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #4CC38A; }
.mk-cerrar { margin-left: auto; width: 42px; height: 42px; border-radius: 50%; border: 0; background: rgba(28, 21, 5, .14); color: #1C1505; font-size: 1.3rem; cursor: pointer; line-height: 1; }
.mk-msgs { flex: 1; overflow-y: auto; padding: 16px 14px; background: var(--fondo); display: flex; flex-direction: column; gap: 10px; overscroll-behavior: contain; }
.mk-msg { max-width: 88%; padding: 11px 14px; border-radius: 16px; font-size: .92rem; line-height: 1.5; animation: mkabre .2s ease-out; overflow-wrap: anywhere; }
.mk-msg a { color: var(--azul-metal); font-weight: 600; }
.mk-bot { align-self: flex-start; background: #fff; border: 1px solid var(--linea); border-bottom-left-radius: 4px; }
.mk-yo { align-self: flex-end; background: var(--navy); color: #fff; border-bottom-right-radius: 4px; }
.mk-escribe { align-self: flex-start; display: flex; gap: 4px; padding: 14px; background: #fff; border-radius: 16px; border: 1px solid var(--linea); }
.mk-escribe i { width: 6px; height: 6px; border-radius: 50%; background: var(--plata-3); animation: mkpunto 1s infinite; }
.mk-escribe i:nth-child(2) { animation-delay: .15s; } .mk-escribe i:nth-child(3) { animation-delay: .3s; }
@keyframes mkpunto { 50% { transform: translateY(-4px); opacity: .5; } }
.mk-ops { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 14px 14px; border-top: 1px solid var(--linea); background: #fff; max-height: 46%; overflow-y: auto; }
.mk-op { border: 1.5px solid var(--oro); background: #FFFBEF; color: #5C4614; border-radius: 999px; padding: 8px 13px; min-height: 42px; font-size: .86rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: background-color .2s, color .2s; display: inline-flex; align-items: center; gap: 6px; }
.mk-op:hover { background: var(--grad-oro); color: #1C1505; }
.mk-op--oro { border-color: transparent; background: var(--grad-oro); color: #1C1505; }
.mk-op--oro:hover { color: #1C1505; filter: brightness(1.05); }
.mk-op svg { width: 15px; height: 15px; }
@media (max-width: 480px) { .mk-panel { right: 12px; bottom: 90px; height: calc(100svh - 184px); } .mk-burbuja { right: 92px; } }

/* ── Aparición al bajar ── */
.js .rev { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .8, .2, 1); }
.js .bloque-img.rev, .js .d-cab-img.rev { transform: scale(.96); }
.js .rev.in { opacity: 1; transform: none; }
/* red de seguridad: si bmc.js no llega a cargar (no pone .js-ok), el contenido aparece igual a los 2,5 s */
.js:not(.js-ok) .rev:not(.in) { animation: revelar 0s 2.5s forwards; }
@keyframes revelar { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .rev { opacity: 1; transform: none; transition: none; }
  .mq-in, .mk-lanzar::after, .redondo svg { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ── Celular: nada se sale de la pantalla y el botón de MARK-ET no tapa el final ── */
.contacto-rej > *, .prov-rej > *, .pie-rej > *, .equipo > *, .posts > *, .posts-mini > *, .bloque-rej > *, .d-rej > *, .d-cab-rej > * { min-width: 0; }
@media (max-width: 700px) {
  .post-meta span, .campo span small, .dato small, .miembro-rol, .bloque-n { font-size: .78rem; }
  .pie-legal { padding-bottom: 100px; }
}

/* ═════════════ Cambios pedidos por BMC (13/10/2026) ═════════════ */
/* Textos justificados, formando un bloque */
.bloque-p, .d-lead, .d-prosa p, .mv p:not(.eb), .filosofia p, .miembro p, .perito-txt > p:not(.eb):not(.perito-rol), .testi blockquote,
.intro-txt, .cab-sec p:not(.eb), .prosa p, .aplic span, .porque span, .pasos span, .sht span, .post-res,
.pie-marca p, .tipos-trabajo span, .tipos-lista span, .prov-lado p, .cab-p, .convenio-tit, .servicios-nota, .ideal, .trabaja-nota
{ text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
/* sin justificar: frases cortas con un correo o un enlace largo (si no, la primera línea queda con huecos enormes) */
.izq, .prosa p:has(> strong:only-child), .prosa p:has(> a:only-child) { text-align: left !important; }
.portada-sub, .cta-in p { text-align: justify; text-align-last: center; -webkit-hyphens: auto; hyphens: auto; }

/* Marcas de agua: MARK-ET con el remolino encendido en el pecho y la marca del perito detrás de los ebooks */
.robot-agua { position: absolute; z-index: 0; pointer-events: none; user-select: none; width: clamp(150px, 20vw, 290px); height: auto; opacity: .11; right: 2%; bottom: 0; }
.cta-final, .trabaja-inicio, .d-sec--robot { position: relative; overflow: hidden; }
.bloque--brand { overflow: hidden; }
.bloque--brand > .wrap, .cta-final > *:not(.robot-agua), .trabaja-inicio > .wrap, .d-sec--robot > .wrap { position: relative; z-index: 1; }
.bloque--brand .robot-agua { left: 1%; right: auto; bottom: 6%; transform: scaleX(-1); }
.cta-final .robot-agua { right: 3%; bottom: 8%; }
.d-sec--robot .robot-agua { right: 1%; top: 6%; bottom: auto; }
.bm-agua { position: absolute; z-index: 0; pointer-events: none; user-select: none; height: auto; opacity: .07; }
.d-prosa--autor { position: relative; }
.d-prosa--autor > .bm-agua { width: min(58%, 330px); right: 0; top: 0; }
.d-prosa--autor > *:not(.bm-agua) { position: relative; z-index: 1; }

/* Tarjeta de producto */
.prods { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.prod { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--tarjeta); border: 1px solid var(--linea-o); border-radius: 24px; overflow: hidden; transition: transform .3s, border-color .3s; }
.prod:hover { transform: translateY(-4px); border-color: rgba(232, 211, 148, .45); }
/* cuadro vertical 4:5: libros y tarjetas llenan el cuadro (pedido de BMC 15/10/2026: «que abarque todo el espacio») */
.prod-img { position: relative; flex: none; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; background: radial-gradient(70% 70% at 50% 40%, rgba(96, 150, 220, .38), transparent 72%), var(--noche-3); }
.prod-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }   /* fija al cuadro: con grid, height:100% no se respetaba y la imagen se salía */
.prod--recorte .prod-img img { object-fit: contain; padding: 5% 7%; filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .45)); }
/* las escenas 3D de los programas usan su versión vertical 4:5 (scripts/fichas.py) y llenan el cuadro con cover */
.prod-nivel { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; font-family: var(--f-tit); font-weight: 700; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #1C1505; background: var(--grad-oro); box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .6); }
.prod-nivel--diamante { background: linear-gradient(115deg, #EAF4FF 0%, #A9D3FF 40%, #F4FAFF 62%, #8FC2F7 100%); color: #0B2A47; }
.prod-nivel--basic { background: var(--grad-plata); color: #0B2A47; }
.prod-txt { position: relative; display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.prod-tipo { font-family: var(--f-tit); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--oro-claro); }
.prod-nom { margin-top: 6px; font-size: 1.12rem; line-height: 1.28; color: #fff; }
.prod-nom a { text-decoration: none; }
.prod-nom a:hover { color: var(--oro-claro); }
.prod-corto { margin-top: 8px; font-size: .92rem; color: var(--texto-2); }
.prod-benef { list-style: none; display: grid; gap: 7px; margin-top: 10px; font-size: .9rem; line-height: 1.4; color: var(--texto-2); text-align: left; }
.prod-benef li { position: relative; padding-left: 22px; }
.prod-benef li::before { content: ""; position: absolute; left: 2px; top: .32em; width: 11px; height: 6px; border-left: 2px solid var(--oro-claro); border-bottom: 2px solid var(--oro-claro); transform: rotate(-45deg); }
.prod-regalo { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; font-size: .84rem; line-height: 1.4; color: var(--oro-claro); }
.prod-regalo svg { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.prod-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }
.prod-precio { font-family: var(--f-tit); font-weight: 800; font-size: 1.7rem; letter-spacing: -.02em; color: #fff; }
.prod--autor .prod-txt > .bm-agua { width: 44%; right: 6%; top: 8%; opacity: .085; }
.prod--autor .prod-txt > *:not(.bm-agua) { position: relative; z-index: 1; }

/* Carrusel (de derecha a izquierda) */
.carr { position: relative; margin-top: 30px; }
.carr-pista { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(258px, 300px); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 20px;
  padding: 6px 20px 18px; margin: 0 -20px; scrollbar-width: none; overscroll-behavior-x: contain; }
.carr-pista::-webkit-scrollbar { display: none; }
.carr-pista > * { scroll-snap-align: start; }
.carr-pista:focus-visible { outline-offset: -3px; }
.carr-ctl { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }
.carr-btn { width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--grad-oro); color: #1C1505; font-size: 1.6rem; line-height: 1; cursor: pointer; transition: transform .2s, opacity .2s; }
.carr-btn:hover { transform: translateY(-2px); }
@media (min-width: 1280px) { .carr-pista { margin: 0; padding-inline: 0; scroll-padding-inline: 0; } }
.carr--otros .carr-pista { grid-auto-columns: minmax(240px, 280px); }
.carr--otros .otro { height: 100%; }
.otro-img { display: block; flex: none; aspect-ratio: 4 / 3; overflow: hidden; }
.otro-img--recorte { display: grid; place-items: center; background: radial-gradient(70% 70% at 50% 40%, rgba(96, 150, 220, .38), transparent 72%), var(--noche-3); }
.otro-img--recorte img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.otro-precio { padding: 10px 20px 0; font-family: var(--f-tit); font-weight: 800; font-size: 1.2rem; color: var(--oro-claro); }

/* Productos en la portada y en la tienda */
.productos-inicio { padding: clamp(48px, 7vw, 100px) 0; border-top: 1px solid var(--linea-o); background: radial-gradient(60% 50% at 85% 0%, rgba(96, 150, 220, .2), transparent 70%); }
.productos-inicio .cab-sec { padding-top: 0; }
.productos-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 22px; }
.pagos { display: inline-flex; align-items: center; gap: 8px; color: var(--texto-2); font-size: .92rem; }
.pagos svg { width: 18px; height: 18px; color: var(--oro-claro); flex: none; }
.d-precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: 18px; color: var(--texto-2); }
.d-precio b { font-family: var(--f-tit); font-weight: 800; font-size: clamp(2rem, 4vw, 2.6rem); color: #fff; letter-spacing: -.02em; }
.d-precio span { display: inline-flex; align-items: center; gap: 6px; color: var(--oro-claro); font-size: .92rem; }
.d-precio svg { width: 18px; height: 18px; flex: none; }
@media (min-width: 960px) { .d-cab--izq .d-cab-rej { grid-template-columns: 1.08fr 1fr; } .d-cab--izq .d-cab-img { order: -1; } }
.vitrina { display: flex; align-items: flex-end; justify-content: center; margin-top: 30px; }
.vit-libro { width: min(300px, 56%); height: auto; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .45)); }
.vit-tarjeta { width: min(200px, 36%); height: auto; margin-left: -9%; margin-bottom: 4%; transform: rotate(8deg); filter: drop-shadow(0 20px 26px rgba(0, 0, 0, .45)); }
.prods--planes { margin-top: 34px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.tarjetas-doble { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px; margin-top: 40px; }
.tarjetas-doble img { height: auto; filter: drop-shadow(0 20px 26px rgba(0, 0, 0, .4)); }
.tarjetas-doble img:first-child { width: min(250px, 38%); }
.tarjetas-doble img:last-child { width: min(420px, 56%); }
/* bodegón de la tienda: dos libros y la tarjeta (más específico que .d-cab-img img, que pone todo al 100 %) */
.d-cab-img.bodegon { position: relative; width: 100%; max-width: 560px; margin: 0 auto; aspect-ratio: 5 / 4; }
.d-cab-img.bodegon img { position: absolute; height: auto; filter: drop-shadow(0 26px 30px rgba(0, 0, 0, .45)); }
.d-cab-img.bodegon .bod-1 { width: 64%; left: -2%; bottom: 0; transform: rotate(-4deg); z-index: 1; }
.d-cab-img.bodegon .bod-2 { width: 60%; right: 20%; bottom: 10%; transform: rotate(5deg); z-index: 0; }
/* cabecera de una página de producto sin escena 3D: el libro y la tarjeta (Marketing para Feriantes) */
.d-cab-img .bodegon--uno { position: relative; width: 100%; max-width: 470px; margin: 0 auto; aspect-ratio: 1 / 1; }
.d-cab-img .bodegon--uno img { position: absolute; height: auto; filter: drop-shadow(0 26px 30px rgba(0, 0, 0, .45)); }
.d-cab-img .bodegon--uno .bod-1 { width: 54%; left: 14%; bottom: 4%; transform: rotate(-4deg); z-index: 1; }
.d-cab-img .bodegon--uno .bod-3 { width: 31%; left: 57%; bottom: 3%; transform: rotate(9deg); z-index: 2; }
.d-cab-img.bodegon .bod-3 { width: 27%; left: 56%; bottom: 0; transform: rotate(10deg); z-index: 2; }
@media (max-width: 959px) { .d-cab--tienda .d-cab-img.bodegon { max-width: 330px; margin-top: 30px; } .d-cab--tienda .d-cab-txt { margin-top: 20px; } }
.pasos--compra { margin-top: 30px; }
.pasos--compra b { font-size: 2.2rem; }
.servicios-nota { margin-top: 28px; padding: 18px 22px; border-radius: 18px; background: rgba(232, 211, 148, .08); border: 1px dashed rgba(232, 211, 148, .45); color: var(--texto-2); }
.servicios-nota a { color: var(--oro-claro); font-weight: 600; }

/* Nosotros: «Nuestra filosofía» y «Diferencial clave» sin hueco en medio */
.cab-sec--pegada { padding-top: clamp(34px, 5vw, 56px); }
.cab-sec--pegada .tit-mix { font-size: clamp(2.2rem, 6.4vw, 4.6rem); }

/* Perito con foto */
.perito-logo--foto { padding: 0; background: var(--noche-3); }
.perito-logo--foto img { width: 100%; height: 100%; max-height: 640px; object-fit: cover; object-position: 50% 20%; }

/* Clientes (logos en tarjetas blancas; mientras llegan, el nombre) */
.clientes { background: var(--fondo); color: var(--tinta); padding: clamp(56px, 8vw, 100px) 0; overflow: hidden; }
.clientes .cab-sec { padding-top: 0; }
.clientes .tit-mix { font-size: clamp(2.4rem, 7vw, 4.6rem); }
.clientes .eb { color: var(--oro-oscuro); }
.cli-mq { display: flex; width: max-content; margin-top: 34px; animation: mq 46s linear infinite; }
.cli-mq:hover { animation-play-state: paused; }
.cli-in { display: flex; gap: 14px; padding-right: 14px; list-style: none; }
.cli { flex: none; display: grid; place-items: center; width: 210px; height: 108px; padding: 14px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--linea); box-shadow: var(--sombra-s); text-align: center; }
.cli span { font-family: var(--f-tit); font-weight: 700; font-size: 1rem; line-height: 1.25; color: var(--navy); }
.cli img { max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; }
.cli--foto { padding: 0; overflow: hidden; }   /* logo con fondo de textura: llena la tarjeta */
.cli--foto img { width: 100%; height: 100%; max-height: none; object-fit: cover; }

/* Convenio con la UIDE */
.convenio { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 36px; padding: 22px 26px; border-radius: 22px; background: linear-gradient(120deg, rgba(232, 211, 148, .17), rgba(232, 211, 148, .04)); border: 1px solid rgba(232, 211, 148, .38); }
.convenio-logo { flex: none; display: grid; place-items: center; min-width: 156px; min-height: 86px; padding: 12px 18px; border-radius: 16px; background: #fff; }
.convenio-logo img { max-height: 66px; width: auto; }
.uide { display: grid; text-align: center; color: #0B2A47; }
.uide b { font-family: var(--f-tit); font-weight: 800; font-size: 1.9rem; letter-spacing: .08em; line-height: 1; }
.uide small { margin-top: 5px; font-size: .58rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.convenio-txt { flex: 1 1 260px; }
.convenio-tit { margin-top: 8px; font-family: var(--f-tit); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.42; color: #fff; }
.convenio-tit b { color: var(--oro-claro); }

/* Trabaja con nosotros */
.trabaja-inicio { padding: clamp(48px, 7vw, 100px) 0; border-top: 1px solid var(--linea-o); }
.trabaja-inicio .cab-sec { padding-top: 0; }
.tipos-trabajo { list-style: none; display: grid; gap: 14px; margin-top: 30px; }
@media (min-width: 860px) { .tipos-trabajo { grid-template-columns: repeat(3, 1fr); } }
.tipos-trabajo a { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "ic t fl" "ic d fl"; gap: 4px 14px; align-items: center; height: 100%; padding: 22px; border-radius: 20px;
  background: var(--tarjeta); border: 1px solid var(--linea-o); text-decoration: none; color: inherit; transition: transform .25s, border-color .25s; }
.tipos-trabajo a:hover { transform: translateY(-3px); border-color: rgba(232, 211, 148, .5); }
.tipos-trabajo a > svg { grid-area: ic; align-self: start; width: 46px; height: 46px; padding: 11px; border-radius: 14px; background: rgba(232, 211, 148, .14); color: var(--oro-claro); }
.tipos-trabajo b { grid-area: t; font-family: var(--f-tit); font-size: 1.1rem; color: #fff; }
.tipos-trabajo span { grid-area: d; font-size: .92rem; color: var(--texto-2); }
.tipos-trabajo i { grid-area: fl; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--grad-oro); color: #1C1505; }
.tipos-trabajo i svg { width: 16px; height: 16px; }
.trabaja-rej { display: grid; gap: 36px; align-items: start; margin-top: 36px; }
.trabaja-rej > * { min-width: 0; }
@media (min-width: 1000px) { .trabaja-rej { grid-template-columns: .8fr 1.2fr; } }
.tipos-lista { list-style: none; display: grid; gap: 12px; margin-top: 22px; }
.tipos-lista li { padding: 16px 18px; border-radius: 16px; background: var(--tarjeta); border: 1px solid var(--linea-o); }
.tipos-lista b { display: block; font-family: var(--f-tit); color: var(--oro-claro); }
.tipos-lista span { display: block; margin-top: 4px; color: var(--texto-2); font-size: .94rem; }
.trabaja-nota { margin-top: 18px; color: var(--texto-2); font-size: .94rem; }
.tipos-radio { border: 0; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.tipos-radio legend { font-weight: 600; font-size: .9rem; margin-bottom: 10px; color: var(--tinta); }
.tipos-radio label { position: relative; }
.tipos-radio input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.tipos-radio span { display: inline-block; padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--linea); font-weight: 600; font-size: .9rem; color: var(--gris); cursor: pointer; transition: background-color .2s, color .2s; }
.tipos-radio input:checked + span { background: var(--grad-oro); border-color: transparent; color: #1C1505; }
.tipos-radio input:focus-visible + span { outline: 3px solid var(--oro); outline-offset: 2px; }

/* Ventana de compra */
.compra { margin: auto; padding: 0; border: 0; border-radius: 26px; width: min(560px, calc(100vw - 24px)); max-height: calc(100svh - 24px); background: #fff; color: var(--tinta); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .8); overflow: hidden; }
.compra::backdrop { background: rgba(6, 16, 30, .72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.compra[open] { animation: mkabre .25s ease-out; }
.compra-in { position: relative; padding: 26px 24px 24px; overflow-y: auto; max-height: calc(100svh - 24px); overscroll-behavior: contain; }
.compra-x { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--fondo); color: var(--tinta); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.compra-prod { display: flex; gap: 16px; align-items: center; padding-right: 44px; }
.compra-img { flex: none; width: 96px; height: 116px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; background: radial-gradient(70% 70% at 50% 40%, rgba(96, 150, 220, .38), transparent 72%), var(--noche-3); }
.compra-img img { width: 100%; height: 100%; object-fit: cover; }
.compra-img img.recorte { object-fit: contain; padding: 6px; }
.compra-prod h2 { margin-top: 4px; font-size: 1.12rem; line-height: 1.3; }
.compra .prod-tipo { color: var(--oro-oscuro); }
.compra-precio { margin-top: 4px; font-family: var(--f-tit); font-weight: 800; font-size: 1.6rem; color: var(--navy); }
.compra .prod-regalo { color: #7A5E1C; }
.compra-metodos { border: 0; display: grid; gap: 10px; margin: 22px 0 6px; }
.compra-metodos legend { margin-bottom: 10px; font-family: var(--f-tit); font-weight: 700; font-size: 1rem; }
.metodo { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--linea); cursor: pointer; transition: border-color .2s, background-color .2s; }
.metodo:has(input:checked) { border-color: var(--oro); background: #FFF9E8; }
.metodo input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--oro-oscuro); }
.metodo b { display: block; font-size: .95rem; }
.metodo small { display: block; color: var(--gris); font-size: .84rem; }
.compra .campos { margin-top: 14px; }
.compra .btn { width: 100%; margin-top: 16px; }
.compra .nota { text-align: center; }
.compra-listo { margin-top: 20px; }
.compra-listo .eb { color: var(--oro-oscuro); }
.compra-listo .eb b { color: var(--tinta); letter-spacing: .1em; }
.compra-listo h3 { margin-top: 12px; font-size: 1.2rem; }
.banco { display: grid; margin-top: 14px; border: 1px solid var(--linea); border-radius: 16px; overflow: hidden; }
.banco div { display: grid; grid-template-columns: 9.5em 1fr; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--linea); font-size: .92rem; }
.banco div:first-child { border-top: 0; }
.banco dt { color: var(--gris); }
.banco dd { font-weight: 600; overflow-wrap: anywhere; }
.copiar { margin-left: 6px; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--oro); background: #FFF9E8; color: #6B531A; font-size: .78rem; font-weight: 600; cursor: pointer; }
.compra-nota { margin-top: 12px; font-size: .9rem; color: var(--gris); }
.compra-volver { display: block; margin: 12px auto 0; padding: 10px; border: 0; background: none; color: var(--gris); font-size: .88rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
html.compra-abierta { overflow: hidden; }
@media (max-width: 420px) { .banco div { grid-template-columns: 1fr; gap: 2px; } .compra-in { padding: 22px 18px 20px; } }

/* Pie: brochure, dirección y subtítulo de productos */
.pie-brochure { margin-top: 22px; min-height: 46px; padding: 0 18px; font-size: .88rem; gap: 10px; }
.pie-brochure svg { width: 18px; height: 18px; flex: none; }
.pie-col b.pie-sub { margin-top: 16px; }
.pie-dir { line-height: 1.5; }

@media (prefers-reduced-motion: reduce) { .cli-mq { animation: none; flex-wrap: wrap; width: auto; } .cli-in[aria-hidden="true"] { display: none; } .cli-in { flex-wrap: wrap; justify-content: center; } }
