/* Big Sur Energy · elevación (16-oct-2026, tercera versión).
   Fotografía a pantalla completa, tipografía grande y fina, mucho aire y el turquesa solo como acento:
   sin neón, sin resplandores y sin dibujos hechos con código.
   Va después de styles.css y styles-v2.css; para volver atrás basta con sacar este archivo. */

:root { --fria: #f3f5f7; }

/* ---------- Tipografía ---------- */
.h2 { font-weight: 250; font-stretch: 102%; letter-spacing: -.042em; line-height: 1; }
.dark .h2 { color: #fff; }
.eyebrow { font-size: .75rem; letter-spacing: .2em; }

/* ---------- Portada: el parque solar de Atacama al amanecer ---------- */
.hero--foto { position: relative; }
.hero--foto img.foto { width: 100%; height: 100%; object-fit: cover; }
.hero--foto::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(8,21,35,.8) 0%, rgba(8,21,35,.52) 36%, rgba(8,21,35,.1) 68%, rgba(8,21,35,0) 100%),
              linear-gradient(180deg, rgba(8,21,35,.42) 0%, rgba(8,21,35,0) 22%, rgba(8,21,35,0) 52%, rgba(8,21,35,.88) 100%); }
.hero--foto::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); }
.hero--foto .wrap { z-index: 2; }
.hero--home img.foto { object-position: 44% 50%; filter: saturate(1.05) contrast(1.04); }
.hero--home { padding-top: 100px; }
.hero--home .display { font-size: clamp(3rem, 10.5vw, 11rem); font-weight: 200; font-stretch: 104%; letter-spacing: -.048em; line-height: .88; margin-top: 16px; }
.hero--home .display em { font-weight: 250; }
.hero--home .eyebrow, .hero--sub .eyebrow { color: #fff; opacity: .86; }
.hero--home .hero__frase { font-size: clamp(1.2rem, .95rem + 1vw, 1.75rem); max-width: 34ch; margin-top: 24px; color: rgba(255,255,255,.94); }
.hero--home .lead { color: rgba(255,255,255,.8); font-size: clamp(1rem, .95rem + .3vw, 1.15rem); max-width: 52ch; }
.hero--home .hero__grid { grid-template-columns: 1.1fr 1fr; margin-top: clamp(32px, 4vw, 56px); gap: clamp(32px, 5vw, 80px); }
@media (max-width: 900px) { .hero--home .hero__grid { grid-template-columns: 1fr; } }
.hero--home .cifras { border-top: 1px solid rgba(255,255,255,.28); }
.hero--home .cifra { border-bottom: 0; padding: 22px 24px 0 0; }
.hero--home .cifra + .cifra { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
.hero--home .cifra b { font-size: clamp(1.8rem, 1rem + 2.2vw, 3.6rem); font-weight: 200; color: #fff; letter-spacing: -.045em; }
.hero--home .cifra span { color: rgba(255,255,255,.7); font-size: .875rem; }
.hero--home .btn { padding: 16px 26px; font-size: 1rem; }
.hero--home .btn--ghost { color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.hero--home .btn--ghost:hover { background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px #fff; }
@media (max-width: 700px) {
  .hero--foto::before { background: linear-gradient(180deg, rgba(8,21,35,.5) 0%, rgba(8,21,35,.3) 30%, rgba(8,21,35,.82) 62%, rgba(8,21,35,.96) 100%); }
  .hero--home .cifra + .cifra { padding-left: 16px; }
  .hero--home .cifra { padding-right: 12px; }
}

/* La barra de servicios: más lenta y con los bordes que se funden */
.marquee { position: relative; padding: 26px 0; }
.marquee::before, .marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 12%; z-index: 1; pointer-events: none; }
.marquee::before { left: 0; background: linear-gradient(90deg, var(--noche), transparent); }
.marquee::after { right: 0; background: linear-gradient(270deg, var(--noche), transparent); }
.marquee div { font-size: clamp(1.15rem, .9rem + 1vw, 1.6rem); font-weight: 250; font-stretch: 110%; letter-spacing: -.01em; color: rgba(255,255,255,.8); animation-duration: 70s; }
.nav .portal-link { animation-duration: 4.5s; }

/* ---------- Por qué Big Sur: tres columnas con la cifra en grande ---------- */
#nosotros .pilares2 { gap: 0; border-top: 1px solid var(--linea); }
#nosotros .pil { background: none; border-radius: 0; display: flex; flex-direction: column; gap: 14px; padding: clamp(30px, 4vw, 52px) clamp(20px, 2.6vw, 40px) 8px 0; border-right: 1px solid var(--linea); }
#nosotros .pil + .pil { padding-left: clamp(20px, 2.6vw, 40px); }
#nosotros .pil:last-child { border-right: 0; }
#nosotros .pil:hover { transform: none; background: none; color: inherit; }
#nosotros .pil:hover p { color: var(--gris); }
#nosotros .pil svg { display: none; }
#nosotros .pil h3 { font-weight: 300; }
#nosotros .pil__dato { order: -1; margin: 0 0 6px; padding: 0; border: 0; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--pacifico); }
#nosotros .pil__dato b, #nosotros .pil:hover .pil__dato b { display: block; white-space: nowrap; margin-bottom: 14px; font-size: clamp(2.8rem, 1rem + 4.7vw, 6.2rem); font-weight: 200; font-stretch: 102%; letter-spacing: -.055em; line-height: .86; color: var(--tinta); text-transform: none; }
#nosotros .pil.rv .pil__dato b { clip-path: inset(100% 0 0 0); transition: clip-path 1.3s var(--ease) .25s; }
#nosotros .pil.rv.in .pil__dato b { clip-path: inset(-10% 0 -10% 0); }
@media (max-width: 800px) { #nosotros .pil, #nosotros .pil + .pil { padding: 30px 0 24px; border-right: 0; border-bottom: 1px solid var(--linea); } }

/* ---------- Tres áreas: una fotografía por área ---------- */
#areas { background: var(--noche); }
#areas .areas { gap: clamp(20px, 2.6vw, 36px); background: none; border: 0; }
#areas .area { background: none; padding: 0; min-height: 0; gap: 14px; }
#areas .area:hover { background: none; }
#areas .area__img { margin: 0 0 8px; height: auto; aspect-ratio: 4 / 5; border-radius: 3px; }
#areas .area__img::after { display: none; }
#areas .area__img img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.8s var(--ease); }
#areas .area:hover .area__img img { transform: scale(1); }
#areas .area .num { font-size: .75rem; font-weight: 600; letter-spacing: .2em; color: var(--turquesa); line-height: 1; margin-top: 6px; }
#areas .area .h3 { font-size: clamp(1.4rem, 1.1rem + .9vw, 2rem); font-weight: 250; letter-spacing: -.03em; line-height: 1.08; color: #fff; }
#areas .area .go { margin-top: 10px; }
@media (max-width: 900px) { #areas .area__img { aspect-ratio: 16 / 10; } }

/* ---------- Ecosistema: cada área con su fotografía, al bajar ---------- */
#ecosistema .eco__fotos, #ecosistema .eco__capitulo { display: none; }
#ecosistema.con-capitulos { height: 480vh; padding: 0 !important; background: var(--noche); }
#ecosistema.con-capitulos .eco__pegada { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
#ecosistema.con-capitulos .eco__fotos { display: block; position: absolute; inset: 0; }
.eco__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.1); transition: opacity 1.3s var(--ease), transform 8s cubic-bezier(.2,.6,.2,1); }
.eco__foto.ver { opacity: 1; transform: scale(1); }
#ecosistema.con-capitulos .eco__pegada::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(90deg, rgba(8,21,35,.84) 0%, rgba(8,21,35,.55) 34%, rgba(8,21,35,.1) 66%, rgba(8,21,35,0) 100%),
              linear-gradient(0deg, rgba(8,21,35,.72) 0%, rgba(8,21,35,0) 36%), linear-gradient(180deg, rgba(8,21,35,.55) 0%, rgba(8,21,35,0) 18%); }
#ecosistema.con-capitulos .wrap { position: absolute; inset: 0; z-index: 3; pointer-events: none; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(36px, 8vh, 96px); }
#ecosistema.con-capitulos .head { position: absolute; top: clamp(92px, 14vh, 150px); left: var(--g); right: var(--g); max-width: 500px; margin: 0; transition: opacity .7s var(--ease), transform .7s var(--ease); }
#ecosistema.con-capitulos .head .h2 { font-size: clamp(2.2rem, 1.1rem + 3.1vw, 4.4rem); }
#ecosistema.con-capitulos:not([data-cap="0"]) .head { opacity: 0; transform: translateY(-16px); }
#ecosistema.con-capitulos:not([data-cap="0"]) .eco__indice button { pointer-events: none; }
#ecosistema.con-capitulos .eco svg { display: none; }
#ecosistema.con-capitulos .eco { margin: 0; }
#ecosistema.con-capitulos .eco-lista { display: block !important; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.eco__indice { list-style: none; margin: clamp(22px, 4vh, 40px) 0 0; padding: 0; max-width: 420px; border-top: 1px solid rgba(255,255,255,.2); }
.eco__indice button { pointer-events: auto; cursor: pointer; display: grid; grid-template-columns: 44px 1fr auto; align-items: baseline; width: 100%; padding: 13px 0; margin: 0; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.2); border-radius: 0; color: rgba(255,255,255,.82); font: inherit; text-align: left; transition: color .3s, padding .4s var(--ease); }
.eco__indice .n { font-size: .72rem; letter-spacing: .2em; color: var(--turquesa); font-weight: 600; font-variant-numeric: tabular-nums; }
.eco__indice .t { font-size: clamp(1.02rem, .92rem + .4vw, 1.28rem); font-weight: 300; letter-spacing: -.01em; }
.eco__indice .ir { color: var(--turquesa); opacity: 0; transform: translateX(-8px); transition: opacity .3s, transform .4s var(--ease); }
.eco__indice button.on { color: #fff; padding-left: 8px; }
.eco__indice button.on .ir { opacity: 1; transform: none; }
.eco__pie { position: absolute; z-index: 3; right: var(--g); bottom: clamp(22px, 4.5vh, 48px); width: min(430px, 40vw); padding: 14px 18px 15px; background: rgba(8,21,35,.6); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-left: 1px solid var(--turquesa); color: #fff; opacity: 0; transform: translateY(12px); transition: opacity .45s var(--ease), transform .45s var(--ease); pointer-events: none; }
.eco__pie.ver { opacity: 1; transform: none; }
.eco__pie-n { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--turquesa); margin: 0 0 8px; }
.eco__pie-s { margin: 0; font-size: .92rem; line-height: 1.55; font-weight: 300; color: rgba(255,255,255,.92); }
.eco__pie-s i { font-style: normal; margin: 0 9px; color: var(--turquesa); }
#ecosistema.con-capitulos .eco__capitulo { display: block; position: relative; max-width: 700px; opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease), transform .9s var(--ease); pointer-events: none; color: #fff; }
#ecosistema.con-capitulos .eco__capitulo.ver { opacity: 1; transform: none; }
.eco__n { font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--turquesa); font-weight: 600; margin: 0 0 14px; font-variant-numeric: tabular-nums; }
.eco__titulo { font-weight: 200; font-stretch: 104%; letter-spacing: -.048em; line-height: .9; font-size: clamp(2.6rem, 1rem + 5.6vw, 7rem); margin: 0 0 28px; color: #fff; text-wrap: balance; }
.eco__lista { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 40px; max-width: 640px; }
.eco__lista--una { columns: 1; max-width: 360px; }
.eco__lista li { break-inside: avoid; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.22); font-size: clamp(1rem, .92rem + .35vw, 1.2rem); font-weight: 300; color: rgba(255,255,255,.94); }
@media (max-width: 760px) {
  #ecosistema.con-capitulos .eco__pegada::after { background: linear-gradient(0deg, rgba(8,21,35,.95) 0%, rgba(8,21,35,.72) 42%, rgba(8,21,35,.1) 72%, rgba(8,21,35,.35) 100%); }
  #ecosistema.con-capitulos .head { top: auto; bottom: clamp(28px, 6vh, 56px); }
  #ecosistema.con-capitulos .head .h2 { font-size: 2.1rem; }
  .eco__indice, .eco__pie { display: none; }
  #ecosistema.con-capitulos .wrap { padding-bottom: clamp(28px, 6vh, 56px); }
  .eco__titulo { font-size: clamp(2.2rem, 10.5vw, 3.1rem); margin-bottom: 16px; }
  .eco__lista { columns: 1; }
  .eco__lista li { padding: 7px 0; font-size: .95rem; }
}

/* ---------- Calculadora ---------- */
#calculadora { background: var(--fria); }
#calculadora .calc { box-shadow: 0 50px 90px -50px rgba(8,21,35,.55); }

/* ---------- La cita, sobre el parque solar de noche ---------- */
.banda--cita { min-height: 0; background: var(--noche); display: block; overflow: visible; padding: 0; }
.banda--cita::after { display: none; }
.banda--cita .banda__pegada { position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden; }
.banda--cita.viva { height: 175vh; } /* 19-oct: igual de corta que la cita de la portada */
.banda--cita.viva .banda__pegada { position: sticky; top: 0; height: 100vh; height: 100svh; }
.banda--cita .banda__pegada > img.foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.12 - var(--avance, 0) * .12)); will-change: transform; }
.banda--cita .banda__pegada::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(8,21,35,.84) 0%, rgba(8,21,35,.6) 45%, rgba(8,21,35,.25) 100%); }
.banda--cita .wrap { position: relative; z-index: 2; padding-bottom: 0; }
.banda--cita blockquote { font-size: clamp(2.2rem, 1rem + 4.4vw, 5.6rem); font-weight: 200; font-stretch: 104%; letter-spacing: -.045em; line-height: 1.04; max-width: 19ch; margin: 0; color: #fff; }
.banda--cita.viva blockquote span { opacity: calc(.22 + var(--luz, 0) * .78); transition: opacity .25s linear; }

/* ---------- Portal ---------- */
.portal-teaser .mock { box-shadow: 0 40px 90px rgba(0,0,0,.45); }
.portal-teaser .mock__graf path:last-of-type { stroke-dasharray: 520; stroke-dashoffset: 520; }
.portal-teaser .mock.in .mock__graf path:last-of-type { animation: trazo 2.6s var(--ease) .3s forwards; }
.portal-teaser .mock__graf path:first-of-type { opacity: 0; transition: opacity 1.4s ease 1.2s; }
.portal-teaser .mock.in .mock__graf path:first-of-type { opacity: 1; }
@keyframes trazo { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .portal-teaser .mock__graf path { stroke-dashoffset: 0 !important; opacity: 1 !important; animation: none !important; } }

/* ---------- Páginas de área ---------- */
.hero--sub img.foto { object-position: 60% 50%; }
/* Pasos y frentes: columnas con filete, el número en grande y una línea que se dibuja al pasar */
.pasos { gap: 0; background: none; border: 0; border-top: 1px solid var(--linea); }
.paso { position: relative; background: none; padding: clamp(26px, 3vw, 40px) clamp(18px, 2.2vw, 32px) clamp(26px, 3vw, 40px) 0; border-bottom: 1px solid var(--linea); }
.paso + .paso { padding-left: clamp(18px, 2.2vw, 32px); border-left: 1px solid var(--linea); }
.pasos:not(.pasos--4) .paso:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
.pasos--4 .paso:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
.paso::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--tinta); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease); }
.paso:hover::before { transform: scaleX(1); }
.paso b { display: block; font-size: clamp(2.4rem, 1.6rem + 2vw, 3.6rem); font-weight: 200; letter-spacing: -.04em; line-height: 1; color: var(--tinta); }
.paso h3 { margin: 18px 0 10px; font-size: clamp(1.2rem, 1.05rem + .5vw, 1.5rem); font-weight: 400; letter-spacing: -.015em; }
.dark .pasos, .dark .paso { border-color: var(--linea-osc); }
.dark .paso b { color: #fff; }
.dark .paso::before { background: #fff; }
@media (max-width: 900px) { .pasos, .pasos--4 { grid-template-columns: 1fr; } .paso, .paso + .paso { padding-left: 0; border-left: 0; } }
/* Proyectos: la potencia de cada uno como una barra, contra el más grande */
.proyectos { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--linea); }
.proy { display: grid; grid-template-columns: minmax(130px, 200px) 1fr minmax(170px, 260px); align-items: center; gap: clamp(14px, 2.4vw, 32px); border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; padding: 16px 0; }
.proy b { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); font-weight: 200; letter-spacing: -.035em; color: var(--tinta); font-variant-numeric: tabular-nums; }
.proy span { order: 3; text-align: right; }
.proy__barra { order: 2; display: block; height: 2px; background: var(--tinta); width: calc(var(--r, 1) * 100%); transform: scaleX(0); transform-origin: left; transition: transform 1.4s var(--ease) .15s; }
.proy.in .proy__barra, .proy:not(.rv) .proy__barra { transform: scaleX(1); }
@media (max-width: 640px) { .proy { grid-template-columns: 1fr auto; row-gap: 8px; } .proy__barra { grid-column: 1 / -1; order: 3; } .proy span { order: 2; } }
/* Cierre de cada página: banda oscura con el titular en grande */
.cta, .cta.niebla { background: var(--noche); color: #fff; padding: clamp(96px, 12vw, 170px) 0; }
.cta .h2 { color: #fff; font-size: clamp(2.6rem, 1.2rem + 4.4vw, 5.8rem); max-width: 16ch; }
.cta .btn { padding: 18px 30px; font-size: 1.02rem; }

/* ---------- Páginas propias de Equipo y Mercado ---------- */
.pagina-sola { padding-top: clamp(132px, 18vh, 196px) !important; }
.pagina-sola--franja { padding-bottom: clamp(36px, 6vh, 64px) !important; }
.pagina-sola--franja .head { margin-bottom: 0; }

/* ---------- Movimiento ---------- */
/* Scroll suave (Lenis) */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
/* Entrada de la portada: el logo, una línea que se llena y el telón que sube */
.cargador { position: fixed; inset: 0; z-index: 300; background: var(--noche); display: grid; place-items: center; align-content: center; gap: 26px; transition: transform 1.15s cubic-bezier(.76,0,.24,1); animation: cargadorSolo .8s ease 5.5s forwards; }
.cargador img { width: 190px; height: auto; opacity: 0; animation: aparecer .9s ease .1s forwards; }
.cargador i { display: block; width: 190px; height: 1px; background: rgba(255,255,255,.16); position: relative; overflow: hidden; }
.cargador i::after { content: ""; position: absolute; inset: 0; background: #fff; transform-origin: left; transform: scaleX(0); animation: llenar 1.3s cubic-bezier(.6,0,.2,1) .25s forwards; }
.cargador.fuera { transform: translateY(-100%); }
@keyframes aparecer { to { opacity: 1; } }
@keyframes llenar { to { transform: scaleX(1); } }
@keyframes cargadorSolo { to { opacity: 0; visibility: hidden; } }
.entrando .hero .rv { opacity: 0 !important; transform: translateY(28px) !important; }
.entrando .hero .partido.rv { opacity: 1 !important; transform: none !important; }
.entrando .hero .partido .pal > span { transform: translateY(112%) !important; }
/* Titulares que suben palabra por palabra */
.partido.rv { opacity: 1; transform: none; }
.partido .pal { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .06em .14em; margin: 0 -.06em -.14em; }
.partido .pal > span { display: inline-block; transform: translateY(112%); transition: transform 1.15s var(--ease); transition-delay: calc(var(--i, 0) * 42ms + 80ms); }
.partido.in .pal > span { transform: none; }

/* ---------- Sistema sobrio: esquinas precisas, filetes y nada de brillo ----------
   Sin píldoras, sin halos que laten ni tarjetas de juguete: todo lo que era redondo y brillante
   pasa a esquinas de 2 px, filetes de 1 px y el turquesa solo donde hay una acción o un dato. */
.btn, .tag, .filtros button, .perfil, .perfil button, .seg button, .chip, .kpi, .serv span, .campo input, .campo textarea, .campo select,
.destino, .aviso, .alerta, .palanca, .sim, .diagrama, .card-graf, .tip, .filtro-mercado select, .filtro-mercado button, .demo-tag,
.mock, .mock__kpis div, .mock__graf, .mock__docs div, .nav .portal-link, .portal-mini, .flot, .dash .kpi-c, .reportes, .fondo, .fondo__tag,
.idioma, .idioma button, .ref-banda, .ref-tag, .calc, .terreno, .foto-split, .eco-lista div { border-radius: 2px !important; }
.barra div, .cas .bar i, .fondo__barra, .fondo__barra i, .mock__kpis b.esq, .ctl input[type=range] { border-radius: 0 !important; }

/* Botones: rectángulos planos, sin sombra ni salto */
.btn { box-shadow: none !important; padding: 15px 24px; font-weight: 600; letter-spacing: .005em; transition: background .25s, color .25s, box-shadow .25s; }
.btn:hover { transform: none; }
.btn .ir, .btn span[aria-hidden] { transition: transform .35s var(--ease); display: inline-block; }
.btn:hover span[aria-hidden] { transform: translateX(4px); }
/* Acceso al portal sin latido ni punto */
.nav .portal-link { animation: none !important; box-shadow: none !important; border-width: 1px; }
.nav .portal-link i { display: none; }
.portal-mini { animation: none !important; box-shadow: none !important; }
/* Idioma: texto con subrayado, sin cápsula blanca */
.idioma { background: none !important; border: 0 !important; padding: 0 !important; gap: 2px; }
.idioma button { background: none !important; color: rgba(255,255,255,.55) !important; box-shadow: none !important; padding: 6px 7px !important; font-weight: 500; position: relative; }
.idioma button[aria-pressed=true] { color: #fff !important; }
.idioma button[aria-pressed=true]::after { content: ""; position: absolute; left: 7px; right: 7px; bottom: 2px; height: 1px; background: currentColor; }

/* Calculadora: instrumento de precisión */
.calc { box-shadow: 0 40px 80px -50px rgba(8,21,35,.6) !important; }
.calc__out { background: var(--abismo-2) !important; }
.perfil { background: none !important; padding: 0 !important; gap: 0 !important; border: 1px solid rgba(255,255,255,.18); }
.perfil button { padding: 14px 10px; }
.perfil button[aria-selected=true] { background: #fff !important; color: var(--abismo) !important; }
.ctl input[type=range] { height: 2px !important; }
.ctl input[type=range]::-webkit-slider-thumb { width: 18px !important; height: 18px !important; border: 0 !important; background: #fff !important; box-shadow: 0 0 0 1px rgba(8,21,35,.4) !important; }
.ctl input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border: 0; background: #fff; }
.seg button, .chip { background: none !important; border-color: rgba(255,255,255,.16) !important; }
.seg button:hover, .chip:hover:not(:disabled) { transform: none !important; border-color: rgba(255,255,255,.4) !important; }
.seg button[aria-pressed=true], .chip[aria-pressed=true] { background: rgba(255,255,255,.06) !important; border-color: #fff !important; box-shadow: none !important; }
.seg svg { color: #fff; opacity: .8; }
.kpi { background: none !important; border-top: 1px solid rgba(255,255,255,.18); padding: 14px 0 0 !important; }
.ref-banda { background: none !important; border: 0 !important; border-left: 1px solid var(--turquesa) !important; padding: 2px 0 2px 14px !important; }
.ref-tag { background: none !important; color: var(--turquesa) !important; border: 1px solid currentColor; }
.cas.menos .bar i { background: rgba(31,207,179,.55) !important; }
.big { text-shadow: none !important; }

/* Portal: la pantalla sin vidrio ni halo */
.mock { background: #0d1d2e !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border-color: rgba(255,255,255,.12) !important; }
.mock__kpis div, .mock__graf, .mock__docs div { background: rgba(255,255,255,.035) !important; }
.mock__top i { background: rgba(255,255,255,.18); }
.mock__kpis b.esq { background: rgba(255,255,255,.14) !important; animation: none !important; }

/* Diagramas y gráficos: cajas planas */
.diagrama, .card-graf { box-shadow: none !important; }
.diagrama svg rect[rx] { rx: 3px; ry: 3px; }
.demo-tag { background: none !important; border: 1px solid currentColor; }
/* El botón secundario conserva su filete */
.btn--ghost { box-shadow: none !important; border: 1px solid rgba(255,255,255,.5); }
.btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.06); }
/* Portal: fondo plano, sin halos de color */
.portal-teaser { background: var(--noche) !important; }
@media (max-width: 700px) { .hero--home::before { background: linear-gradient(180deg, rgba(8,21,35,.35) 0%, rgba(8,21,35,.2) 22%, rgba(8,21,35,.62) 52%, rgba(8,21,35,.94) 100%) !important; } }

/* Equipo: retratos sin aro ni tarjeta, en una grilla editorial con filetes */
.equipo { gap: 0 clamp(20px, 3vw, 44px) !important; }
.persona { border: 0 !important; border-top: 1px solid var(--linea-osc) !important; border-radius: 0 !important; padding: 28px 0 36px !important; transform: none !important; }
.persona:hover { transform: none !important; }
.persona .foto-p { width: 104px !important; height: 104px !important; border: 0 !important; margin-bottom: 18px; }
.persona .foto-p img { transform: scale(1.12) !important; filter: grayscale(1) contrast(1.06) brightness(1.02) !important; }
.persona:hover .foto-p img { filter: grayscale(0) contrast(1.04) !important; transform: scale(1.16) !important; }
.persona .cli { font-size: 1.3rem !important; font-weight: 300 !important; letter-spacing: -.02em; }
.persona .tipo { color: rgba(255,255,255,.62) !important; letter-spacing: .16em; font-size: .7rem !important; margin-top: 2px; }
.persona .det { margin-top: 6px; }
@media (max-width: 600px) { .persona .foto-p { width: 80px !important; height: 80px !important; } .persona .cli { font-size: 1.1rem !important; } }
