/* ==========================================================================
   LenguajeNatural.AI — sistema de diseño
   Colores y tipografía en :root. Componentes con prefijo .lna-
   ========================================================================== */

/* Tipografías autoalojadas (sin peticiones a Google): Source Serif 4 con tamaño óptico
   para titulares y Source Sans 3 para texto e interfaz. */
@font-face {
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url(../fonts/source-serif-4-latin-opsz-normal.woff2) format('woff2-variations');
    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: 'Source Serif 4';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url(../fonts/source-serif-4-latin-ext-opsz-normal.woff2) format('woff2-variations');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Serif 4';
    font-style: italic;
    font-weight: 200 900;
    font-display: swap;
    src: url(../fonts/source-serif-4-latin-opsz-italic.woff2) format('woff2-variations');
    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: 'Source Sans 3';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url(../fonts/source-sans-3-latin-wght-normal.woff2) format('woff2-variations');
    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: 'Source Sans 3';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url(../fonts/source-sans-3-latin-ext-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --lna-bg: #fbf9f5;
    --lna-bg-blue: #eef4fa;
    --lna-bg-warm: #faf3e5;
    --lna-surface: #ffffff;
    --lna-ink: #0d1b2a;
    --lna-ink-2: #283546;
    --lna-text: #445062;
    --lna-muted: #6b7484;
    --lna-line: #e6e2d9;
    --lna-line-soft: #eeebe4;
    --lna-line-blue: #d9e4f0;
    --lna-primary: #1f5b98;
    --lna-primary-hover: #174a7f;
    --lna-primary-soft: #e7eef7;
    --lna-navy: #0b2340;
    --lna-accent: #1d5fc0;
    --lna-gold: #c4973c;
    --lna-gold-ink: #8a6420;
    --lna-gold-soft: #f6ecd4;
    --lna-green: #2f8a5b;
    --lna-radius: 6px;
    --lna-radius-lg: 12px;
    --lna-shadow-sm: 0 1px 2px rgba(13, 27, 42, .04), 0 2px 10px rgba(13, 27, 42, .04);
    --lna-shadow-md: 0 14px 34px -14px rgba(13, 27, 42, .2);
    --lna-shadow-lg: 0 34px 70px -24px rgba(11, 35, 64, .32);
    --lna-serif: 'Source Serif 4', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
    --lna-sans: 'Source Sans 3', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --lna-container: 1320px;
    --lna-gutter: clamp(20px, 4vw, 48px);
    --lna-header-h: 76px;
    --lna-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */

.lna *,
.lna *::before,
.lna *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--lna-header-h) + 16px);
    -webkit-text-size-adjust: 100%;
}

body.lna {
    margin: 0;
    background: var(--lna-bg);
    color: var(--lna-text);
    font-family: var(--lna-sans);
    font-size: 17px;
    line-height: 1.6;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}

:where(.lna) img,
:where(.lna) svg,
:where(.lna) video {
    display: block;
    max-width: 100%;
}

:where(.lna) img {
    height: auto;
}

:where(.lna) a {
    color: inherit;
    text-decoration: none;
}

:where(.lna) p {
    margin: 0 0 1em;
}

:where(.lna) :is(h1, h2, h3, h4) {
    margin: 0;
    font-family: var(--lna-serif);
    color: var(--lna-ink);
    font-weight: 500;
    letter-spacing: -.015em;
}

:where(.lna) em {
    font-style: italic;
}

:where(.lna) figure {
    margin: 0;
}

:where(.lna) :is(ul, ol) {
    margin: 0;
    padding: 0;
    list-style: none;
}

:where(.lna) button {
    font: inherit;
    color: inherit;
}

.lna :focus-visible {
    outline: 2px solid var(--lna-accent);
    outline-offset: 3px;
    border-radius: 4px;
}

.lna ::selection {
    background: #cfe0f4;
    color: var(--lna-ink);
}

.lna-sr {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.lna-skip {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 200;
    background: var(--lna-navy);
    color: #fff;
    padding: 10px 16px;
    border-radius: var(--lna-radius);
    font-weight: 600;
    transition: top .2s;
}

.lna-skip:focus {
    top: 12px;
}

.lna-container {
    width: 100%;
    max-width: calc(var(--lna-container) + var(--lna-gutter) * 2);
    margin-inline: auto;
    padding-inline: var(--lna-gutter);
}

.lna-icon {
    width: 1.25em;
    height: 1.25em;
    flex: none;
}

.lna-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---------- Tipografía ---------- */

.lna-eyebrow {
    font-family: var(--lna-sans);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lna-muted);
    margin: 0 0 14px !important;
}

.lna-h2 {
    font-size: clamp(2rem, 1.4rem + 1.9vw, 3.05rem);
    line-height: 1.07;
    letter-spacing: -.022em;
    margin-bottom: .45em !important;
    text-wrap: balance;
}

.lna-h2 em {
    color: var(--lna-primary);
}

.lna-h3 {
    font-size: clamp(1.4rem, 1.1rem + .9vw, 1.9rem);
    line-height: 1.15;
    letter-spacing: -.015em;
}

.lna-lead {
    font-size: 18px;
    line-height: 1.55;
    color: var(--lna-text);
    text-wrap: pretty;
}

.lna-accent {
    color: var(--lna-accent);
}

.lna-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--lna-primary);
    font-weight: 600;
    font-size: 15.5px;
}

.lna-link .lna-icon {
    width: 17px;
    height: 17px;
    transition: transform .25s var(--lna-ease);
}

.lna-link:hover .lna-icon {
    transform: translateX(4px);
}

/* ---------- Botones ---------- */

.lna-btn {
    --btn-bg: var(--lna-primary);
    --btn-color: #fff;
    --btn-border: var(--lna-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 22px;
    border: 1.5px solid var(--btn-border);
    border-radius: var(--lna-radius);
    background: var(--btn-bg);
    color: var(--btn-color) !important;
    font-family: var(--lna-sans);
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .005em;
    cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--lna-ease), box-shadow .2s;
    white-space: nowrap;
}

.lna-btn .lna-icon {
    width: 17px;
    height: 17px;
    transition: transform .25s var(--lna-ease);
}

.lna-btn:hover {
    transform: translateY(-1px);
}

.lna-btn:hover .lna-icon {
    transform: translateX(3px);
}

.lna-btn--primary:hover {
    --btn-bg: var(--lna-primary-hover);
    --btn-border: var(--lna-primary-hover);
    box-shadow: 0 10px 22px -10px rgba(31, 91, 152, .6);
}

.lna-btn--outline {
    --btn-bg: transparent;
    --btn-color: var(--lna-primary);
}

.lna-btn--outline:hover {
    --btn-bg: var(--lna-primary-soft);
}

.lna-btn--navy {
    --btn-bg: var(--lna-navy);
    --btn-border: var(--lna-navy);
}

.lna-btn--navy:hover {
    --btn-bg: #12355c;
    --btn-border: #12355c;
}

.lna-btn--light {
    --btn-bg: #fff;
    --btn-color: var(--lna-navy);
    --btn-border: #fff;
}

.lna-btn--ghost-light {
    --btn-bg: transparent;
    --btn-color: #fff;
    --btn-border: rgba(255, 255, 255, .55);
}

.lna-btn--sm {
    padding: 10px 16px;
    font-size: 14.5px;
}

.lna-btn--lg {
    padding: 16px 28px;
    font-size: 16.5px;
}

.lna-btn--block {
    width: 100%;
}

.lna-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* ---------- Cabecera ---------- */

.lna-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--lna-line-soft);
    transition: box-shadow .3s;
}

/* El desenfoque va en un pseudoelemento: si estuviera en la cabecera, el menú móvil
   (position: fixed) quedaría atrapado dentro de ella. */
.lna-header::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(251, 249, 245, .86);
    -webkit-backdrop-filter: saturate(1.6) blur(14px);
    backdrop-filter: saturate(1.6) blur(14px);
    transition: background-color .3s;
}

.admin-bar .lna-header {
    top: 32px;
}

.lna-header.is-scrolled {
    box-shadow: 0 6px 24px -18px rgba(13, 27, 42, .35);
}

.lna-header.is-scrolled::before,
.lna-header.is-open::before {
    background: rgba(255, 255, 255, .96);
}

.lna-header__inner {
    display: flex;
    align-items: center;
    gap: 28px;
    height: var(--lna-header-h);
}

.lna-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: none;
}

.lna-brand__mark {
    width: 44px;
    height: auto;
}

.lna-brand__name {
    font-family: var(--lna-sans);
    font-weight: 700;
    font-size: 19px;
    letter-spacing: -.01em;
    color: var(--lna-ink);
}

.lna-brand__name span {
    color: var(--lna-ink);
}

.lna-nav {
    margin-inline: auto;
}

.lna-nav ul {
    display: flex;
    gap: clamp(14px, 1.9vw, 30px);
}

.lna-nav__link {
    position: relative;
    display: block;
    padding: 6px 0;
    font-size: 15px;
    font-weight: 500;
    color: var(--lna-ink-2);
    transition: color .2s;
}

.lna-nav__link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc((var(--lna-header-h) - 34px) / -2);
    height: 2.5px;
    background: var(--lna-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--lna-ease);
}

.lna-nav__link:hover {
    color: var(--lna-primary);
}

.lna-nav__link.is-current {
    color: var(--lna-primary);
    font-weight: 600;
}

.lna-nav__link.is-current::after,
.lna-nav__link:hover::after {
    transform: scaleX(1);
}

.lna-header__toggle {
    display: none;
    margin-left: auto;
    width: 44px;
    height: 44px;
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    background: var(--lna-surface);
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.lna-header__toggle .lna-icon {
    width: 22px;
    height: 22px;
    color: var(--lna-ink);
}

.lna-header__toggle .is-open,
.lna-header.is-open .lna-header__toggle .is-closed {
    display: none;
}

.lna-header.is-open .lna-header__toggle .is-open {
    display: block;
}

.lna-drawer {
    display: none;
}

/* ---------- Secciones y rejillas ---------- */

.lna-main {
    display: block;
}

.lna-section {
    padding-block: clamp(64px, 6vw + 24px, 112px);
}

.lna-section--tight {
    padding-block: clamp(52px, 4vw + 20px, 84px);
}

.lna-section--alt {
    background: var(--lna-bg-blue);
}

.lna-section--warm {
    background: var(--lna-bg-warm);
}

.lna-section--white {
    background: var(--lna-surface);
}

.lna-section--navy {
    background: var(--lna-navy);
    color: rgba(255, 255, 255, .78);
}

.lna-section--navy .lna-h2,
.lna-section--navy h3 {
    color: #fff;
}

.lna-section--navy .lna-eyebrow {
    color: rgba(255, 255, 255, .6);
}

.lna-section--navy .lna-lead {
    color: rgba(255, 255, 255, .76);
}

.lna-section-head {
    max-width: 860px;
    margin-bottom: clamp(32px, 3vw, 48px);
}

.lna-section-head--row {
    max-width: none;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.lna-section-head .lna-lead {
    margin-bottom: 0;
}

.lna-split {
    display: grid;
    grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}

.lna-split--wide {
    grid-template-columns: minmax(250px, 290px) minmax(0, 1fr);
}

.lna-split__head .lna-lead {
    font-size: 17px;
}

.lna-split__head .lna-link {
    margin-top: 6px;
}

.lna-grid {
    display: grid;
    gap: 16px;
}

.lna-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lna-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lna-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lna-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lna-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.lna-card {
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    box-shadow: var(--lna-shadow-sm);
}

.lna-gold {
    color: var(--lna-gold);
}

/* ---------- Hero ---------- */

.lna-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: clamp(460px, 26vw + 170px, 580px);
    padding-block: 56px 64px;
    overflow: hidden;
}

.lna-hero--lg {
    min-height: clamp(500px, 28vw + 190px, 620px);
}

.lna-hero__media {
    position: absolute;
    inset: 0 0 0 auto;
    width: min(64%, 1120px);
    z-index: -1;
}

.lna-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--pos, center);
}

.lna-hero__media::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, var(--lna-bg) 0%, var(--lna-bg) 2%, rgba(251, 249, 245, .9) 11%, rgba(251, 249, 245, .5) 25%, rgba(251, 249, 245, 0) 44%);
}

.lna-hero__media::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 22%;
    z-index: 1;
    background: linear-gradient(0deg, rgba(251, 249, 245, .55), rgba(251, 249, 245, 0));
}

.lna-hero__media figcaption {
    position: absolute;
    right: 20px;
    bottom: 16px;
    z-index: 2;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
}

.lna-hero__inner {
    position: relative;
}

.lna-hero__content {
    max-width: 640px;
}

.lna-hero__title {
    font-size: clamp(2.45rem, 1.55rem + 2.6vw, 3.95rem);
    line-height: 1.01;
    letter-spacing: -.028em;
    font-weight: 500;
    margin: 0 0 .42em !important;
    text-wrap: balance;
}

.lna-hero__lead {
    font-family: var(--lna-serif);
    font-size: clamp(1.1rem, 1rem + .4vw, 1.32rem);
    line-height: 1.5;
    color: #3a4657;
    max-width: 560px;
    margin-bottom: 30px !important;
    text-wrap: pretty;
}

.lna-hero .lna-btn {
    padding: 14px 24px;
}

/* Traza animada en el hero de portada */
.lna-trace {
    position: absolute;
    right: clamp(24px, 4vw, 72px);
    bottom: 44px;
    z-index: 3;
    width: 330px;
    padding: 18px 20px 16px;
    border-radius: var(--lna-radius-lg);
    background: rgba(255, 255, 255, .84);
    -webkit-backdrop-filter: blur(16px) saturate(1.5);
    backdrop-filter: blur(16px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, .75);
    box-shadow: var(--lna-shadow-lg);
    font-size: 14px;
    color: var(--lna-ink-2);
}

.lna-trace__head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lna-trace__live {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2fb36f;
    box-shadow: 0 0 0 0 rgba(47, 179, 111, .5);
    animation: lna-pulse 2s infinite;
}

.lna-trace__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-trace__case {
    margin-left: auto;
    padding: 3px 10px;
    border-radius: 99px;
    background: var(--lna-navy);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.lna-trace__task {
    margin: 12px 0 12px !important;
    font-family: var(--lna-serif);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--lna-ink);
    min-height: 1.25em;
}

.lna-trace__steps {
    display: grid;
    gap: 8px;
    margin-bottom: 12px !important;
}

.lna-trace__steps li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--lna-muted);
    transition: color .3s;
}

.lna-trace__steps li .lna-icon {
    width: 18px;
    height: 18px;
    padding: 3px;
    border-radius: 50%;
    border: 1.5px solid var(--lna-line);
    color: transparent;
    transition: all .3s;
}

.lna-trace__steps li.is-active {
    color: var(--lna-ink);
}

.lna-trace__steps li.is-active .lna-icon {
    border-color: var(--lna-primary);
    border-right-color: transparent;
    animation: lna-spin .8s linear infinite;
}

.lna-trace__steps li.is-done {
    color: var(--lna-ink-2);
}

.lna-trace__steps li.is-done .lna-icon {
    border-color: var(--lna-green);
    background: var(--lna-green);
    color: #fff;
    stroke-width: 3;
}

.lna-trace__result {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px !important;
    padding: 8px 12px;
    border-radius: var(--lna-radius);
    background: var(--lna-gold-soft);
    color: var(--lna-gold-ink);
    font-weight: 600;
    font-size: 13.5px;
    transition: opacity .4s, transform .4s var(--lna-ease);
}

.lna-trace__result .lna-icon {
    width: 16px;
    height: 16px;
}

.lna-trace__result.is-hidden {
    opacity: 0;
    transform: translateY(4px);
}

.lna-trace__progress {
    height: 2px;
    border-radius: 2px;
    background: var(--lna-line-soft);
    overflow: hidden;
}

.lna-trace__progress span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--lna-primary), var(--lna-gold));
}

@keyframes lna-pulse {
    0% { box-shadow: 0 0 0 0 rgba(47, 179, 111, .5); }
    70% { box-shadow: 0 0 0 8px rgba(47, 179, 111, 0); }
    100% { box-shadow: 0 0 0 0 rgba(47, 179, 111, 0); }
}

@keyframes lna-spin {
    to { transform: rotate(360deg); }
}

/* ---------- Franja de confianza ---------- */

.lna-trust {
    background: var(--lna-bg-blue);
    border-block: 1px solid var(--lna-line-blue);
    padding-block: 20px;
}

.lna-trust__inner {
    display: flex;
    align-items: center;
    gap: 24px;
}

.lna-trust__label {
    flex: none;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-ink-2);
}

.lna-trust__label::after {
    content: '';
    width: 38px;
    height: 1px;
    background: var(--lna-muted);
    opacity: .5;
}

.lna-trust__viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.lna-trust__list {
    display: flex;
    width: max-content;
}

.lna-trust__list li {
    padding-inline: 18px;
    border-left: 1px solid #b9c4d2;
    font-size: 14.5px;
    font-weight: 500;
    color: var(--lna-ink-2);
    white-space: nowrap;
    line-height: 1.1;
}

.lna-trust__list li:first-child {
    border-left: 0;
}

.lna-trust__viewport.is-marquee .lna-trust__list {
    animation: lna-marquee var(--duration, 40s) linear infinite;
}

.lna-trust__viewport.is-marquee:hover .lna-trust__list {
    animation-play-state: paused;
}

.lna-trust__viewport.is-marquee .lna-trust__list li:first-child {
    border-left: 1px solid #b9c4d2;
}

@keyframes lna-marquee {
    to { transform: translateX(-50%); }
}

/* ---------- Tarjetas de solución (portada) ---------- */

.lna-tiles {
    gap: 14px;
}

.lna-tile {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 24px 18px 22px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s, border-color .3s;
}

.lna-tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--lna-shadow-md);
    border-color: #d5dfeb;
}

.lna-tile__icon {
    color: var(--lna-gold);
    margin-bottom: 6px;
}

.lna-tile__icon .lna-icon {
    width: 34px;
    height: 34px;
    stroke-width: 1.4;
}

.lna-tile__title {
    font-size: 18.5px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -.01em;
}

.lna-tile p {
    margin: 0 !important;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--lna-muted);
}

/* En Sectores las tarjetas son botones que abren el panel de cada solución. */
button.lna-tile {
    width: 100%;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

button.lna-tile .lna-tile__title {
    display: block;
    font-family: var(--lna-serif);
    color: var(--lna-ink);
}

/* Portada: seis soluciones en 3 × 2, con aire suficiente para el texto. */
.lna-grid--6.lna-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.lna-tiles .lna-tile {
    padding: 28px 28px 24px;
}

.lna-tiles .lna-tile p {
    flex: 1;
    max-width: 34ch;
}

.lna-tile__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--lna-primary);
}

.lna-tile__more .lna-icon {
    width: 16px;
    height: 16px;
    transition: transform .25s var(--lna-ease);
}

.lna-tile:hover .lna-tile__more .lna-icon {
    transform: translateX(3px);
}

/* ---------- Casos ---------- */

.lna-featured {
    display: grid;
    gap: 16px;
}

.lna-case {
    min-width: 0;
}

.lna-case__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-case__link:hover {
    transform: translateY(-4px);
    box-shadow: var(--lna-shadow-md);
}

.lna-case__media {
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: #e9e5dc;
}

.lna-case--full .lna-case__media {
    aspect-ratio: 16 / 6.2;
}

.lna-case__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s var(--lna-ease);
}

.lna-case__link:hover .lna-case__media img {
    transform: scale(1.05);
}

.lna-case__body {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 14px 16px 40px;
}

.lna-case--full .lna-case__body {
    padding: 16px 18px 44px;
}

.lna-case__sector {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px !important;
    font-size: 13px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-case__sector .lna-icon {
    width: 20px;
    height: 20px;
    padding: 3px;
    border-radius: 50%;
    background: var(--lna-primary-soft);
    color: var(--lna-primary);
}

.lna-case__title {
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 4px !important;
}

.lna-case--full .lna-case__title {
    font-size: 21px;
}

.lna-case__summary {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.45;
    color: var(--lna-muted);
}

.lna-case__arrow {
    position: absolute;
    right: 14px;
    bottom: 12px;
    color: var(--lna-primary);
    transition: transform .3s var(--lna-ease);
}

.lna-case__arrow .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-case__link:hover .lna-case__arrow {
    transform: translateX(4px);
}

.lna-case.is-hidden {
    display: none;
}

/* ---------- Vídeos ---------- */

.lna-video {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-height: 200px;
    aspect-ratio: 2.55 / 1;
    padding: 22px 26px;
    border: 0;
    border-radius: var(--lna-radius);
    overflow: hidden;
    background: var(--lna-navy);
    color: #fff;
    text-align: left;
    cursor: pointer;
    isolation: isolate;
    box-shadow: var(--lna-shadow-md);
}

.lna-video--lg {
    aspect-ratio: 2.4 / 1;
    min-height: 230px;
}

.lna-video__poster {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.lna-video__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s var(--lna-ease);
}

.lna-video::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, rgba(6, 18, 34, .88) 0%, rgba(6, 18, 34, .45) 45%, rgba(6, 18, 34, .12) 100%);
}

.lna-video:hover .lna-video__poster img {
    transform: scale(1.05);
}

.lna-video__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: var(--lna-radius);
    background: rgba(6, 18, 34, .35);
    font-size: 13px;
    font-weight: 600;
}

.lna-video__badge .lna-icon {
    width: 12px;
    height: 12px;
}

.lna-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin: -44px 0 0 -31px;
    border-radius: 50%;
    background: #fff;
    color: var(--lna-navy);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
    transition: transform .3s var(--lna-ease);
}

.lna-video__play::after {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .5);
    animation: lna-ring 2.4s infinite;
}

.lna-video__play .lna-icon {
    width: 24px;
    height: 24px;
    margin-left: 3px;
}

.lna-video:hover .lna-video__play {
    transform: scale(1.08);
}

.lna-video__text {
    display: grid;
    gap: 4px;
}

.lna-video__title {
    font-family: var(--lna-serif);
    font-size: clamp(22px, 1.6vw + 10px, 28px);
    line-height: 1.1;
    font-weight: 500;
}

.lna-video__subtitle {
    font-size: 14.5px;
    color: rgba(255, 255, 255, .86);
    max-width: 52ch;
}

.lna-video__person {
    margin-top: 4px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--lna-gold-soft);
}

@keyframes lna-ring {
    0% { transform: scale(.9); opacity: 1; }
    100% { transform: scale(1.35); opacity: 0; }
}

/* ---------- Cifras ---------- */

.lna-proof__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 88px);
    align-items: center;
}

.lna-proof__intro .lna-lead {
    margin-bottom: 0;
}

.lna-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
}

.lna-stat {
    padding: 22px 0 18px;
    border-top: 1px solid var(--lna-line);
    position: relative;
}

.lna-stat::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 36px;
    height: 2px;
    background: var(--lna-gold);
}

.lna-stat__value {
    margin: 0 0 4px !important;
    font-family: var(--lna-serif);
    font-size: clamp(2.5rem, 1.8rem + 2vw, 3.6rem);
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.03em;
    color: var(--lna-ink);
    font-variant-numeric: tabular-nums lining-nums;
}

.lna-stat__label {
    margin: 0 !important;
    font-size: 15px;
    color: var(--lna-muted);
    max-width: 24ch;
}

.lna-section--navy .lna-stat {
    border-color: rgba(255, 255, 255, .16);
}

.lna-section--navy .lna-stat__value {
    color: #fff;
}

.lna-section--navy .lna-stat__label {
    color: rgba(255, 255, 255, .7);
}

/* ---------- Investigación en portada ---------- */

.lna-research-home {
    display: grid;
    grid-template-columns: minmax(260px, 350px) minmax(0, 1fr);
    grid-template-areas: 'head models' 'aside models';
    gap: 28px clamp(32px, 4vw, 64px);
    align-items: center;
}

.lna-research-home__head {
    grid-area: head;
    align-self: end;
}

.lna-research-home__head .lna-lead {
    margin: 0;
    font-size: 16.5px;
}

.lna-research-home__models {
    grid-area: models;
    gap: 14px;
}

.lna-research-home__aside {
    grid-area: aside;
    align-self: start;
    padding-top: 22px;
    border-top: 1px solid var(--lna-line-blue);
}

.lna-research-home__aside p {
    font-size: 14.5px;
    line-height: 1.55;
}

.lna-mini {
    display: flex;
    gap: 14px;
    padding: 12px;
    height: 100%;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-mini:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-mini__media {
    flex: none;
    width: 78px;
    border-radius: 4px;
    overflow: hidden;
    background: #e6ecf3;
}

.lna-mini__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-mini__title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 4px !important;
}

.lna-mini p {
    margin: 0 0 8px !important;
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--lna-muted);
}

.lna-mini__badge {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--lna-gold-ink);
}

/* ---------- Banda CTA ---------- */

.lna-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--lna-bg-warm);
    padding-block: clamp(48px, 4vw + 16px, 72px);
}

.lna-cta__media {
    position: absolute;
    inset: 0 0 0 auto;
    width: 40%;
    z-index: -1;
}

.lna-cta__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 65%;
}

.lna-cta__media::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--lna-bg-warm) 0%, var(--lna-bg-warm) 6%, rgba(250, 243, 229, .8) 30%, rgba(250, 243, 229, .15) 70%, rgba(250, 243, 229, 0) 100%);
}

.lna-cta__inner {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.lna-cta__text {
    flex: 1 1 520px;
    max-width: 620px;
}

.lna-cta__title {
    font-size: clamp(2rem, 1.4rem + 1.9vw, 3rem);
    line-height: 1.08;
    letter-spacing: -.022em;
    margin-bottom: 10px !important;
}

.lna-cta__text p:last-child {
    margin: 0;
    font-size: 17px;
}

/* ---------- Proceso ---------- */

.lna-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.lna-step__top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.lna-step__top::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #c3cfdc;
}

.lna-step:last-child .lna-step__top::after {
    display: none;
}

.lna-step__num {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: none;
    border-radius: 50%;
    border: 1.5px solid var(--lna-ink-2);
    font-family: var(--lna-serif);
    font-weight: 600;
    font-size: 14px;
    color: var(--lna-ink);
}

.lna-step__icon {
    color: var(--lna-gold);
}

.lna-step__icon .lna-icon {
    width: 32px;
    height: 32px;
    stroke-width: 1.4;
}

.lna-step__title {
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 8px !important;
}

.lna-step p {
    margin: 0 !important;
    font-size: 15px;
    line-height: 1.5;
    color: var(--lna-muted);
}

/* ---------- Preguntas frecuentes ---------- */

.lna-faq__list {
    border-top: 1px solid var(--lna-line);
}

.lna-faq__item {
    border-bottom: 1px solid var(--lna-line);
}

.lna-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0;
    cursor: pointer;
    list-style: none;
    font-family: var(--lna-serif);
    font-size: 20px;
    font-weight: 500;
    color: var(--lna-ink);
    line-height: 1.3;
}

.lna-faq__item summary::-webkit-details-marker {
    display: none;
}

.lna-faq__item summary .lna-icon {
    width: 22px;
    height: 22px;
    color: var(--lna-primary);
    transition: transform .3s var(--lna-ease);
}

.lna-faq__item[open] summary .lna-icon {
    transform: rotate(45deg);
}

.lna-faq__answer {
    padding: 0 48px 22px 0;
    max-width: 760px;
}

.lna-faq__answer p {
    margin: 0;
    color: var(--lna-text);
}

/* ---------- Pie ---------- */

.lna-footer {
    background: var(--lna-surface);
    border-top: 1px solid var(--lna-line);
    padding-top: 48px;
    font-size: 14.5px;
}

.lna-footer__top {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(0, 1.6fr) minmax(200px, 1fr) auto;
    gap: 40px;
    padding-bottom: 36px;
    align-items: start;
}

.lna-footer__brand p {
    margin: 16px 0 0;
    color: var(--lna-muted);
    max-width: 34ch;
    line-height: 1.55;
}

.lna-footer__brand .lna-brand__mark {
    width: 40px;
}

.lna-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, max-content));
    gap: 10px 36px;
    padding-top: 6px;
}

.lna-footer__nav a,
.lna-footer__contact a,
.lna-footer__contact span {
    color: var(--lna-ink-2);
    transition: color .2s;
}

.lna-footer__nav a:hover,
.lna-footer__contact a:hover,
.lna-footer__bottom a:hover {
    color: var(--lna-primary);
}

.lna-footer__contact {
    display: grid;
    gap: 10px;
    padding-top: 6px;
}

.lna-footer__contact > a,
.lna-footer__contact > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.lna-footer__contact .lna-icon {
    width: 17px;
    height: 17px;
    color: var(--lna-muted);
}

.lna-footer__social {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.lna-footer__social a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    color: var(--lna-ink-2);
}

.lna-footer__social a:hover {
    border-color: var(--lna-primary);
}

.lna-footer__social .lna-icon {
    width: 17px;
    height: 17px;
}

.lna-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 24px;
    padding-block: 18px 22px;
    border-top: 1px solid var(--lna-line-soft);
    font-size: 13px;
    color: var(--lna-muted);
}

.lna-footer__bottom p {
    margin: 0;
}

.lna-footer__bottom nav {
    display: flex;
    gap: 20px;
}

/* ---------- Modal de vídeo ---------- */

.lna-modal {
    width: min(1120px, calc(100vw - 32px));
    max-width: none;
    max-height: none;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
}

.lna-modal::backdrop {
    background: rgba(4, 12, 24, .86);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.lna-modal[open] {
    animation: lna-pop .35s var(--lna-ease);
}

.lna-modal__frame {
    position: relative;
}

.lna-modal__media video {
    width: 100%;
    max-height: calc(100vh - 140px);
    border-radius: var(--lna-radius-lg);
    background: #000;
    box-shadow: 0 40px 90px rgba(0, 0, 0, .5);
}

.lna-modal__caption {
    margin-top: 14px;
    color: rgba(255, 255, 255, .8);
    font-size: 14px;
    text-align: center;
}

.lna-modal__close {
    position: absolute;
    top: -52px;
    right: 0;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff !important;
    cursor: pointer;
}

.lna-modal__close .lna-icon {
    width: 20px;
    height: 20px;
}

@keyframes lna-pop {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: none; }
}

/* ---------- Aparición al hacer scroll ---------- */

.lna-js [data-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .65s var(--lna-ease), transform .65s var(--lna-ease);
    transition-delay: var(--reveal-delay, 0ms);
}

.lna-js [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .lna-js [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .lna *,
    .lna *::before,
    .lna *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1240px) {
    .lna-nav ul {
        gap: 18px;
    }

    .lna-nav__link {
        font-size: 14.5px;
    }

    .lna-grid--6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lna-research-home {
        grid-template-columns: 1fr;
        grid-template-areas: 'head' 'models' 'aside';
    }

    .lna-footer__top {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 1100px) {
    :root {
        --lna-header-h: 68px;
    }

    .lna-nav,
    .lna-header__cta {
        display: none;
    }

    .lna-header__toggle {
        display: inline-flex;
    }

    .lna-drawer {
        display: block;
        position: fixed;
        inset: var(--lna-header-h) 0 0 0;
        z-index: 99;
        padding: 12px var(--lna-gutter) 32px;
        background: var(--lna-bg);
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        transition: opacity .3s, transform .3s var(--lna-ease), visibility 0s .3s;
    }

    .admin-bar .lna-drawer {
        top: calc(var(--lna-header-h) + 46px);
    }

    .lna-header.is-open .lna-drawer {
        visibility: visible;
        opacity: 1;
        transform: none;
        transition: opacity .3s, transform .3s var(--lna-ease);
    }

    .lna-drawer__nav a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 0;
        border-bottom: 1px solid var(--lna-line);
        font-family: var(--lna-serif);
        font-size: 26px;
        font-weight: 500;
        color: var(--lna-ink);
        opacity: 0;
        transform: translateY(8px);
        transition: opacity .4s, transform .4s var(--lna-ease);
        transition-delay: calc(var(--i) * 35ms);
    }

    .lna-header.is-open .lna-drawer__nav a {
        opacity: 1;
        transform: none;
    }

    .lna-drawer__nav a.is-current {
        color: var(--lna-primary);
    }

    .lna-drawer__nav .lna-icon {
        width: 20px;
        height: 20px;
        color: var(--lna-primary);
    }

    .lna-drawer__foot {
        display: grid;
        gap: 16px;
        margin-top: 28px;
    }

    .lna-drawer__mail {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: var(--lna-ink-2);
    }

    .lna-drawer__mail .lna-icon {
        width: 18px;
        height: 18px;
    }

    body.lna.has-menu-open {
        overflow: hidden;
    }

    .lna-split,
    .lna-split--wide {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lna-split__head {
        max-width: 720px;
    }

    .lna-grid--5 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lna-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 28px;
    }

    .lna-step:nth-child(2) .lna-step__top::after {
        display: none;
    }

    .lna-proof__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .lna-hero,
    .lna-hero--lg {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding-block: 0 48px;
    }

    .lna-hero__media {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(240px, 56vw, 420px);
        order: -1;
    }

    .lna-hero__media::before {
        background: linear-gradient(0deg, var(--lna-bg) 0%, rgba(251, 249, 245, .6) 18%, rgba(251, 249, 245, 0) 42%);
    }

    .lna-hero__media::after {
        display: none;
    }

    .lna-hero__inner {
        margin-top: -28px;
    }

    .lna-trace {
        position: relative;
        right: auto;
        bottom: auto;
        width: auto;
        margin: 28px var(--lna-gutter) 0;
        max-width: 420px;
    }

    .lna-cta__media {
        width: 100%;
        opacity: .35;
    }

    .lna-cta__media::before {
        background: linear-gradient(90deg, var(--lna-bg-warm) 30%, rgba(250, 243, 229, .6));
    }

    .lna-grid--3 {
        grid-template-columns: 1fr;
    }

    .lna-grid--2 {
        grid-template-columns: 1fr;
    }

    .lna-trust__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .lna-trust__viewport {
        width: 100%;
    }

    .lna-footer__top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lna-footer__nav {
        grid-template-columns: repeat(2, minmax(0, max-content));
    }
}

@media (max-width: 640px) {
    body.lna {
        font-size: 16.5px;
    }

    .lna-grid--6,
    .lna-grid--5,
    .lna-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lna-tile {
        padding: 20px 16px;
    }

    .lna-tile__title {
        font-size: 17px;
    }

    .lna-steps {
        grid-template-columns: 1fr;
    }

    .lna-step__top::after {
        display: none;
    }

    .lna-stats {
        grid-template-columns: 1fr 1fr;
        gap: 0 18px;
    }

    .lna-actions .lna-btn {
        flex: 1 1 auto;
    }

    .lna-video {
        aspect-ratio: 16 / 10;
    }

    .lna-faq__item summary {
        font-size: 18px;
    }

    .lna-faq__answer {
        padding-right: 0;
    }

    .lna-brand__name {
        font-size: 17px;
    }

    .lna-brand__mark {
        width: 38px;
    }
}

@media (max-width: 420px) {
    .lna-grid--6,
    .lna-grid--5 {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 783px) {
    .admin-bar .lna-header {
        top: 32px;
    }
}

@media (max-width: 782px) {
    .admin-bar .lna-header {
        top: 46px;
    }
}

@media (max-width: 600px) {
    .admin-bar .lna-header {
        top: 0;
    }
}

/* ==========================================================================
   Soluciones
   ========================================================================== */

.lna-solutions {
    gap: 16px;
}

.lna-solution {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42%;
    min-height: 190px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
    transition: box-shadow .3s, transform .3s var(--lna-ease);
}

.lna-solution:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-solution__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 22px 20px;
}

.lna-solution__icon {
    color: var(--lna-gold);
    margin-bottom: 14px;
}

.lna-solution__icon .lna-icon {
    width: 36px;
    height: 36px;
    stroke-width: 1.4;
}

.lna-solution__title {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 8px !important;
}

.lna-solution__body p {
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--lna-muted);
    margin-bottom: 14px;
}

.lna-solution__body .lna-link {
    margin-top: auto;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font-size: 15px;
}

.lna-solution__media {
    position: relative;
    margin: 8px 8px 8px 0;
    border-radius: 4px;
    overflow: hidden;
}

.lna-solution__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--lna-ease);
}

.lna-solution:hover .lna-solution__media img {
    transform: scale(1.05);
}

/* Cita de principio */
.lna-principle {
    padding-block: clamp(56px, 5vw + 20px, 96px);
    background: var(--lna-surface);
    border-block: 1px solid var(--lna-line-soft);
}

.lna-principle__quote {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding-left: clamp(0px, 6vw, 72px);
}

.lna-principle__mark {
    position: absolute;
    left: 0;
    top: -.28em;
    font-family: var(--lna-serif);
    font-size: clamp(80px, 9vw, 130px);
    line-height: 1;
    color: var(--lna-gold);
}

.lna-principle__quote p {
    font-family: var(--lna-serif);
    font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.35rem);
    line-height: 1.3;
    letter-spacing: -.015em;
    color: var(--lna-ink);
    margin: 0 0 18px;
    text-wrap: pretty;
}

.lna-principle__quote footer {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

/* Panel lateral de detalle */
.lna-panel {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(560px, 100vw);
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: var(--lna-bg);
    box-shadow: -30px 0 80px rgba(4, 12, 24, .25);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.lna-panel::backdrop {
    background: rgba(8, 20, 36, .45);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.lna-panel[open] {
    animation: lna-slide-in .45s var(--lna-ease);
}

@keyframes lna-slide-in {
    from { transform: translateX(40px); opacity: 0; }
    to { transform: none; opacity: 1; }
}

.lna-panel__inner {
    position: relative;
    padding: 44px clamp(24px, 4vw, 44px) 40px;
}

.lna-panel__close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--lna-line);
    border-radius: 50%;
    background: var(--lna-surface);
    cursor: pointer;
}

.lna-panel__close .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-panel__icon {
    display: inline-flex;
    color: var(--lna-gold);
    margin-bottom: 18px;
}

.lna-panel__icon .lna-icon {
    width: 44px;
    height: 44px;
    stroke-width: 1.3;
}

.lna-panel__title {
    font-size: clamp(2rem, 1.6rem + 1.2vw, 2.6rem);
    line-height: 1.05;
    letter-spacing: -.02em;
    margin-bottom: 14px !important;
}

.lna-panel__lead {
    font-family: var(--lna-serif);
    font-size: 19px;
    line-height: 1.5;
    color: var(--lna-ink-2);
}

.lna-panel__block {
    padding-block: 22px;
    border-top: 1px solid var(--lna-line);
}

.lna-panel__block h3 {
    font-family: var(--lna-sans);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-muted);
    margin-bottom: 12px !important;
}

.lna-panel__block p {
    margin: 0;
}

.lna-panel__cases {
    display: grid;
    gap: 10px;
}

.lna-panel__foot {
    padding-top: 22px;
    border-top: 1px solid var(--lna-line);
}

.lna-checks {
    display: grid;
    gap: 10px;
}

.lna-checks li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.45;
    color: var(--lna-ink-2);
}

.lna-checks .lna-icon {
    width: 20px;
    height: 20px;
    padding: 3px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--lna-primary-soft);
    color: var(--lna-primary);
    stroke-width: 3;
}

.lna-bullets {
    display: grid;
    gap: 10px;
}

.lna-bullets li {
    position: relative;
    padding-left: 20px;
    line-height: 1.45;
    color: var(--lna-ink-2);
}

.lna-bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--lna-gold);
    transform: rotate(45deg);
}

.lna-chip-case {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    transition: border-color .2s, transform .25s var(--lna-ease), box-shadow .25s;
}

.lna-chip-case:hover {
    border-color: #c9d6e6;
    transform: translateX(3px);
    box-shadow: var(--lna-shadow-sm);
}

.lna-chip-case__icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: var(--lna-radius);
    background: var(--lna-gold-soft);
    color: var(--lna-gold-ink);
}

.lna-chip-case__icon .lna-icon {
    width: 20px;
    height: 20px;
}

.lna-chip-case > span:nth-child(2) {
    display: grid;
    flex: 1;
    min-width: 0;
}

.lna-chip-case strong {
    font-family: var(--lna-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--lna-ink);
}

.lna-chip-case small {
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--lna-muted);
}

.lna-chip-case > .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

/* ==========================================================================
   Sectores
   ========================================================================== */

.lna-sectors {
    gap: 14px;
}

.lna-sector {
    display: flex;
    flex-direction: column;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-sector:hover {
    transform: translateY(-4px);
    box-shadow: var(--lna-shadow-md);
}

.lna-sector__media {
    aspect-ratio: 16 / 7.5;
    overflow: hidden;
}

.lna-sector__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--lna-ease);
}

.lna-sector:hover .lna-sector__media img {
    transform: scale(1.05);
}

.lna-sector__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
}

.lna-sector__icon {
    color: var(--lna-gold);
    margin-bottom: 10px;
}

.lna-sector__icon .lna-icon {
    width: 32px;
    height: 32px;
    stroke-width: 1.4;
}

.lna-sector__title {
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 6px !important;
}

.lna-sector__body p {
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--lna-muted);
}

.lna-sector__body .lna-link {
    margin-top: auto;
}

/* Pestañas */
.lna-tabs {
    display: flex;
    gap: 8px;
    padding: 6px;
    margin-bottom: 28px;
    border: 1px solid var(--lna-line);
    border-radius: 10px;
    background: var(--lna-bg);
    overflow-x: auto;
    scrollbar-width: none;
}

.lna-tabs::-webkit-scrollbar {
    display: none;
}

.lna-tab {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex: 1 0 auto;
    justify-content: center;
    padding: 12px 18px;
    border: 0;
    border-radius: var(--lna-radius);
    background: transparent;
    color: var(--lna-ink-2) !important;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: background-color .2s, color .2s, box-shadow .2s;
    white-space: nowrap;
}

.lna-tab .lna-icon {
    width: 20px;
    height: 20px;
    color: var(--lna-gold);
}

.lna-tab:hover {
    background: var(--lna-surface);
}

.lna-tab[aria-selected="true"] {
    background: var(--lna-navy);
    color: #fff !important;
    box-shadow: 0 8px 18px -10px rgba(11, 35, 64, .6);
}

.lna-tab[aria-selected="true"] .lna-icon {
    color: var(--lna-gold-soft);
}

.lna-explorer__panel {
    display: grid;
    grid-template-columns: 1fr 1fr 1.1fr;
    gap: 20px;
}

.lna-explorer__panel[hidden] {
    display: none;
}

.lna-explorer__col {
    padding: 26px 24px;
    background: var(--lna-bg);
    border: 1px solid var(--lna-line-soft);
    border-radius: 10px;
}

.lna-explorer__col h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 18px !important;
}

.lna-explorer__col h3 .lna-icon {
    width: 22px;
    height: 22px;
    color: var(--lna-gold);
}

.lna-explorer__col--cases {
    display: grid;
    gap: 10px;
    align-content: start;
    background: var(--lna-bg-blue);
    border-color: var(--lna-line-blue);
}

.lna-explorer__col--cases h3 {
    margin-bottom: 8px !important;
}

.lna-section-head--row .lna-lead {
    max-width: 440px;
}

.lna-tile--static:hover {
    transform: none;
    box-shadow: var(--lna-shadow-sm);
    border-color: var(--lna-line);
}

/* ==========================================================================
   Casos (listado)
   ========================================================================== */

.lna-split__head--sticky {
    position: sticky;
    top: calc(var(--lna-header-h) + 32px);
}

.lna-count {
    display: inline-block;
    margin-top: 6px !important;
    padding: 6px 12px;
    border-radius: 99px;
    background: var(--lna-gold-soft);
    color: var(--lna-gold-ink);
    font-size: 13.5px;
    font-weight: 700;
}

.lna-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.lna-filter {
    padding: 9px 22px;
    border: 1.5px solid #c8d4e2;
    border-radius: 99px;
    background: var(--lna-surface);
    color: var(--lna-primary) !important;
    font-weight: 600;
    font-size: 14.5px;
    cursor: pointer;
    transition: all .2s;
}

.lna-filter:hover {
    border-color: var(--lna-primary);
}

.lna-filter[aria-pressed="true"] {
    background: var(--lna-primary);
    border-color: var(--lna-primary);
    color: #fff !important;
    box-shadow: 0 8px 18px -10px rgba(31, 91, 152, .7);
}

.lna-cases {
    gap: 16px;
}

/* Logos de clientes */
.lna-logos {
    padding-block: 40px 56px;
}

.lna-logos__label {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--lna-muted);
    margin-bottom: 24px !important;
}

.lna-logos__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 22px clamp(24px, 3vw, 44px);
}

.lna-logos__list li img {
    height: 40px;
    width: auto;
    max-width: 128px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .7;
    mix-blend-mode: multiply;
    transition: filter .3s, opacity .3s;
}

.lna-logos__list li:hover img {
    filter: none;
    opacity: 1;
}

.lna-logos__text {
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #8a8f99;
    white-space: nowrap;
}

/* ==========================================================================
   Página de caso
   ========================================================================== */

.lna-casehero {
    padding-block: clamp(32px, 4vw, 56px) clamp(48px, 5vw, 80px);
    background: linear-gradient(180deg, var(--lna-bg) 0%, var(--lna-bg-blue) 100%);
    border-bottom: 1px solid var(--lna-line-blue);
}

.lna-casehero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}

.lna-crumbs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--lna-primary);
}

.lna-crumbs .lna-icon {
    width: 16px;
    height: 16px;
    transition: transform .25s var(--lna-ease);
}

.lna-crumbs a:hover .lna-icon {
    transform: translateX(-3px);
}

.lna-casehero__sector {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 28px 0 16px !important;
    padding: 6px 12px 6px 8px;
    border-radius: 99px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-casehero__sector .lna-icon {
    width: 20px;
    height: 20px;
    padding: 3px;
    border-radius: 50%;
    background: var(--lna-gold-soft);
    color: var(--lna-gold-ink);
}

.lna-casehero__title {
    font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem);
    line-height: 1.04;
    letter-spacing: -.026em;
    margin-bottom: 18px !important;
    text-wrap: balance;
}

.lna-casehero__title span {
    display: block;
    font-family: var(--lna-sans);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-primary);
    margin-bottom: 12px;
}

.lna-casehero__lead {
    font-family: var(--lna-serif);
    font-size: clamp(1.1rem, 1rem + .3vw, 1.25rem);
    line-height: 1.5;
    color: #3a4657;
}

.lna-casehero__meta {
    display: grid;
    gap: 0;
    margin: 24px 0 28px;
    border-top: 1px solid var(--lna-line);
}

.lna-casehero__meta div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--lna-line);
    font-size: 15px;
}

.lna-casehero__meta dt {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--lna-muted);
    padding-top: 2px;
}

.lna-casehero__meta dd {
    margin: 0;
    color: var(--lna-ink-2);
}

.lna-casehero__photo {
    border-radius: var(--lna-radius-lg);
    overflow: hidden;
    box-shadow: var(--lna-shadow-lg);
}

.lna-casehero__photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Marco de navegador para capturas */
.lna-frame {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: var(--lna-surface);
    border: 1px solid #d6dde7;
    box-shadow: var(--lna-shadow-lg);
}

.lna-frame__bar {
    display: flex;
    gap: 6px;
    padding: 10px 12px;
    background: #f1f3f6;
    border-bottom: 1px solid #e1e5eb;
}

.lna-frame__bar i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d3d8df;
}

.lna-frame__bar i:first-child { background: #f2a59f; }
.lna-frame__bar i:nth-child(2) { background: #f3d18a; }
.lna-frame__bar i:nth-child(3) { background: #a9d8a6; }

.lna-frame img {
    width: 100%;
}

.lna-frame figcaption {
    padding: 12px 16px;
    font-size: 13.5px;
    color: var(--lna-muted);
    border-top: 1px solid var(--lna-line-soft);
}

.lna-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

/* Teléfonos (TerapIA) */
.lna-phones {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 0;
    padding: 20px 0;
}

.lna-phone {
    width: min(42%, 250px);
    border-radius: 34px;
    padding: 9px;
    background: #0e1622;
    box-shadow: var(--lna-shadow-lg);
}

.lna-phone img {
    border-radius: 26px;
}

.lna-phone--0 {
    transform: rotate(-5deg) translateY(16px);
    z-index: 1;
}

.lna-phone--1 {
    transform: rotate(4deg) translateX(-18px);
    margin-top: -10px;
}

/* Reto y solución */
.lna-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 80px);
}

.lna-story__label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-story__label span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--lna-gold);
    color: var(--lna-gold-ink);
    font-family: var(--lna-serif);
    letter-spacing: 0;
    font-size: 14px;
}

.lna-story__text {
    font-family: var(--lna-serif);
    font-size: clamp(1.15rem, 1.02rem + .45vw, 1.4rem);
    line-height: 1.55;
    color: var(--lna-ink-2);
    text-wrap: pretty;
}

/* Arquitectura por capas */
.lna-arch .lna-lead {
    color: rgba(255, 255, 255, .78);
}

.lna-layers {
    position: relative;
    display: grid;
    gap: 10px;
    counter-reset: layer;
}

.lna-layers::before {
    content: '';
    position: absolute;
    left: 27px;
    top: 30px;
    bottom: 30px;
    width: 1px;
    background: linear-gradient(180deg, var(--lna-gold), rgba(196, 151, 60, .1));
}

.lna-layer {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 18px 22px 18px 0;
    border-radius: 10px;
    transition: background-color .3s;
}

.lna-layer:hover {
    background: rgba(255, 255, 255, .04);
}

.lna-layer__num {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    flex: none;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 1px solid rgba(196, 151, 60, .6);
    background: var(--lna-navy);
    color: var(--lna-gold-soft);
    font-family: var(--lna-serif);
    font-size: 18px;
}

.lna-layer h3 {
    font-size: 21px;
    font-weight: 500;
    color: #fff;
    margin: 6px 0 4px !important;
}

.lna-layer p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 15.5px;
    line-height: 1.5;
}

.lna-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px !important;
}

.lna-tags li {
    padding: 6px 12px;
    border-radius: 99px;
    border: 1px solid var(--lna-line);
    background: var(--lna-surface);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-tags--dark li {
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .05);
    color: rgba(255, 255, 255, .86);
}

/* Resultados */
.lna-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--lna-line);
}

.lna-result {
    padding: 26px 28px 8px 0;
}

.lna-result + .lna-result {
    padding-left: 28px;
    border-left: 1px solid var(--lna-line);
}

.lna-result__value {
    margin: 0 0 6px !important;
    font-family: var(--lna-serif);
    font-size: clamp(2.4rem, 1.7rem + 2.2vw, 3.8rem);
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--lna-primary);
}

.lna-result__label {
    margin: 0 !important;
    color: var(--lna-ink-2);
    max-width: 30ch;
}

.lna-result__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--lna-primary-soft);
    color: var(--lna-primary);
}

.lna-result__icon .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-result__text {
    margin: 0 !important;
    max-width: 34ch;
    font-family: var(--lna-serif);
    font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem);
    line-height: 1.4;
    color: var(--lna-ink);
}

.lna-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 28px 0 0 !important;
    padding: 12px 16px;
    border-radius: var(--lna-radius);
    background: var(--lna-bg-blue);
    font-size: 14.5px;
    color: var(--lna-ink-2);
}

.lna-note .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

/* Prensa */
.lna-press {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 22px 52px 22px 24px;
    background: var(--lna-bg);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    transition: border-color .2s, box-shadow .2s, transform .25s var(--lna-ease);
}

.lna-press:hover {
    border-color: #c9d6e6;
    box-shadow: var(--lna-shadow-md);
    transform: translateY(-2px);
}

.lna-press__outlet {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--lna-gold-ink);
}

.lna-press__title {
    font-family: var(--lna-serif);
    font-size: 19px;
    line-height: 1.3;
    color: var(--lna-ink);
}

.lna-press > .lna-icon {
    position: absolute;
    top: 22px;
    right: 20px;
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

.lna-related {
    gap: 20px;
}

/* ---------- EcoPuertos: detecciones sobre foto real ---------- */
.lna-detect {
    position: relative;
}

.lna-detect__stage {
    position: relative;
    border-radius: var(--lna-radius-lg);
    overflow: hidden;
    box-shadow: var(--lna-shadow-lg);
}

.lna-detect__stage img {
    width: 100%;
}

.lna-detect__box {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--w);
    height: var(--h);
    border: 2px solid #ffd166;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), inset 0 0 0 1px rgba(0, 0, 0, .15);
    opacity: 0;
    transform: scale(1.12);
    transition: opacity .4s, transform .5s var(--lna-ease);
    transition-delay: calc(400ms + var(--i) * 260ms);
}

.lna-detect__tag {
    position: absolute;
    left: -2px;
    bottom: 100%;
    margin-bottom: 2px;
    padding: 2px 6px;
    border-radius: 3px 3px 3px 0;
    background: #ffd166;
    color: #2b2100;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.lna-detect__scan {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 30%;
    background: linear-gradient(180deg, rgba(255, 209, 102, 0), rgba(255, 209, 102, .22) 80%, rgba(255, 209, 102, .7));
    opacity: 0;
    pointer-events: none;
}

.lna-detect.is-visible .lna-detect__scan {
    animation: lna-scan 2.6s .2s var(--lna-ease) both;
}

.lna-detect.is-visible .lna-detect__box,
html:not(.lna-js) .lna-detect__box {
    opacity: 1;
    transform: none;
}

@keyframes lna-scan {
    0% { top: -30%; opacity: 1; }
    90% { opacity: 1; }
    100% { top: 100%; opacity: 0; }
}

.lna-detect__panel {
    position: absolute;
    right: -20px;
    bottom: -28px;
    width: min(300px, 70%);
    padding: 16px 16px 12px;
    border-radius: var(--lna-radius-lg);
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: var(--lna-shadow-lg);
    font-size: 13px;
}

.lna-detect__panel-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px !important;
    font-weight: 700;
    color: var(--lna-ink);
}

.lna-detect__panel-title .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

.lna-detect__panel ul {
    display: grid;
    gap: 6px;
}

.lna-detect__panel li {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 6px 8px;
    border-radius: 5px;
    background: var(--lna-bg);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .4s, transform .4s var(--lna-ease);
    transition-delay: calc(1600ms + var(--i) * 300ms);
}

.lna-detect.is-visible .lna-detect__panel li,
html:not(.lna-js) .lna-detect__panel li {
    opacity: 1;
    transform: none;
}

.lna-detect__panel li span {
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-detect__panel li small {
    grid-column: 1;
    font-size: 11.5px;
    color: var(--lna-muted);
}

.lna-detect__panel li b {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--lna-green);
}

.lna-detect__panel li b .lna-icon {
    width: 14px;
    height: 14px;
    stroke-width: 3;
}

.lna-detect__export {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0 !important;
    font-size: 12px;
    font-weight: 700;
    color: var(--lna-primary);
}

.lna-detect__export .lna-icon {
    width: 15px;
    height: 15px;
}

.lna-detect figcaption,
.lna-extract figcaption {
    margin-top: 44px;
    font-size: 13px;
    color: var(--lna-muted);
    max-width: 60ch;
}

/* ---------- BOE: de la publicación al registro ---------- */
.lna-extract {
    display: grid;
    grid-template-columns: 1.15fr auto 1fr;
    align-items: center;
    gap: 14px;
}

.lna-extract__doc {
    position: relative;
    padding: 22px 22px 18px;
    background: #fffdf8;
    border: 1px solid #e6dfcf;
    border-radius: 6px;
    box-shadow: var(--lna-shadow-md);
    font-family: var(--lna-serif);
    color: #2c2a26;
}

.lna-extract__doc-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 8px;
    margin-bottom: 12px !important;
    border-bottom: 2px solid #2c2a26;
    font-family: var(--lna-sans);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .14em;
}

.lna-extract__doc-title {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 8px !important;
}

.lna-extract__doc-text {
    font-size: 14px;
    line-height: 1.7;
    margin: 0 !important;
}

.lna-extract__doc mark {
    position: relative;
    padding: 1px 3px;
    border-radius: 3px;
    background: transparent;
    color: inherit;
    box-shadow: inset 0 -2px 0 rgba(31, 91, 152, .0);
    transition: background-color .5s, box-shadow .5s;
}

.lna-extract.is-visible mark,
html:not(.lna-js) .lna-extract mark {
    background: #dfeaf7;
    box-shadow: inset 0 -2px 0 var(--lna-primary);
}

.lna-extract mark:nth-of-type(2) { transition-delay: .25s; }
.lna-extract mark:nth-of-type(3) { transition-delay: .5s; }
.lna-extract mark:nth-of-type(4) { transition-delay: .75s; background-color: transparent; }
.lna-extract mark:nth-of-type(5) { transition-delay: 1s; }
.lna-extract mark:nth-of-type(6) { transition-delay: 1.25s; }

.lna-extract.is-visible mark:nth-of-type(4) {
    background: #f6ecd4;
    box-shadow: inset 0 -2px 0 var(--lna-gold);
}

.lna-extract__lines {
    display: grid;
    gap: 7px;
    margin-top: 14px;
}

.lna-extract__lines i {
    height: 6px;
    border-radius: 3px;
    background: #ece6d8;
}

.lna-extract__lines i:nth-child(2) { width: 86%; }
.lna-extract__lines i:nth-child(3) { width: 64%; }

.lna-extract__flow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--lna-primary);
    color: #fff;
    box-shadow: 0 10px 22px -10px rgba(31, 91, 152, .7);
}

.lna-extract__flow .lna-icon {
    width: 20px;
    height: 20px;
}

.lna-extract__record {
    padding: 18px;
    background: var(--lna-navy);
    border-radius: 10px;
    color: rgba(255, 255, 255, .85);
    box-shadow: var(--lna-shadow-lg);
    font-size: 13.5px;
}

.lna-extract__record-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px !important;
    font-weight: 700;
    color: #fff;
}

.lna-extract__record-head .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-gold-soft);
}

.lna-extract__record dl {
    display: grid;
    gap: 2px;
    margin: 0 0 14px;
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    font-size: 12px;
}

.lna-extract__record dl div {
    display: grid;
    grid-template-columns: 112px 1fr;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .05);
}

.lna-extract__record dt {
    color: var(--lna-gold-soft);
}

.lna-extract__record dd {
    margin: 0;
    color: #fff;
}

.lna-extract__actions {
    display: grid;
    gap: 6px;
}

.lna-extract__actions li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #bfe8cf;
}

.lna-extract__actions .lna-icon {
    width: 16px;
    height: 16px;
    stroke-width: 3;
}

.lna-extract figcaption {
    grid-column: 1 / -1;
    margin-top: 6px;
}

/* ---------- Responsive de estas páginas ---------- */

@media (max-width: 1240px) {
    .lna-grid--3.lna-solutions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-grid--5.lna-sectors {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lna-grid--4.lna-cases {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .lna-split__head--sticky {
        position: static;
    }

    .lna-explorer__panel {
        grid-template-columns: 1fr 1fr;
    }

    .lna-explorer__col--cases {
        grid-column: 1 / -1;
    }

    .lna-casehero__grid {
        grid-template-columns: 1fr;
    }

    .lna-detect__panel {
        right: 12px;
    }

    .lna-section-head--row {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 900px) {
    .lna-grid--4.lna-cases,
    .lna-grid--5.lna-sectors {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-story {
        grid-template-columns: 1fr;
    }

    .lna-results {
        grid-template-columns: 1fr;
    }

    .lna-result + .lna-result {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--lna-line);
    }

    .lna-extract {
        grid-template-columns: 1fr;
    }

    .lna-extract__flow {
        justify-self: center;
        transform: rotate(90deg);
    }
}

@media (max-width: 640px) {
    .lna-grid--3.lna-solutions {
        grid-template-columns: 1fr;
    }

    .lna-solution {
        grid-template-columns: 1fr;
    }

    .lna-solution__media {
        aspect-ratio: 16 / 8;
        margin: 0 8px 8px;
        order: -1;
        margin-top: 8px;
    }

    .lna-explorer__panel {
        grid-template-columns: 1fr;
    }

    .lna-grid--4.lna-cases,
    .lna-grid--5.lna-sectors {
        grid-template-columns: 1fr;
    }

    .lna-tab {
        flex: 0 0 auto;
    }

    .lna-detect__panel {
        position: relative;
        right: auto;
        bottom: auto;
        width: auto;
        margin-top: 12px;
    }

    .lna-detect figcaption {
        margin-top: 12px;
    }

    /* En pantallas pequeñas las etiquetas se pisarían: bastan los recuadros y la lista. */
    .lna-detect__tag {
        display: none;
    }

    .lna-casehero__meta div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .lna-panel__inner {
        padding-top: 64px;
    }
}

/* ==========================================================================
   Productos
   ========================================================================== */

:root {
    --lna-teal: #2fa3b0;
    --lna-teal-700: #21747d;
    --lna-teal-soft: #e3f3f5;
}

.lna-hero--products {
    min-height: clamp(420px, 22vw + 200px, 520px);
}

.lna-hero--products .lna-hero__media {
    width: min(48%, 820px);
}

.lna-products .lna-container {
    display: grid;
    gap: 22px;
}

.lna-product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(20px, 3vw, 44px);
    align-items: center;
    padding: clamp(28px, 3.4vw, 48px);
    border-radius: 16px;
    border: 1px solid #d3e9ec;
    background: linear-gradient(135deg, #f2fafb 0%, #e6f4f6 100%);
    overflow: hidden;
}

.lna-product--yocontigo {
    border-color: #e5e3db;
    background: linear-gradient(135deg, #fbfaf6 0%, #f3f1ea 100%);
}

.lna-product__num {
    margin-bottom: 18px !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-product__name {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: clamp(2.2rem, 1.6rem + 1.6vw, 3rem);
    line-height: 1;
    letter-spacing: -.025em;
    margin-bottom: 18px !important;
}

.lna-product__name em {
    font-style: normal;
    color: var(--lna-teal);
}

.lna-product__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 6px 14px -6px rgba(33, 116, 125, .5);
}

.lna-product__name--logo img {
    height: 74px;
    width: auto;
}

.lna-product__title {
    font-family: var(--lna-serif);
    font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem);
    line-height: 1.25;
    color: var(--lna-ink);
    margin-bottom: 12px !important;
}

.lna-product__text {
    font-size: 15.5px;
    color: var(--lna-text);
}

.lna-product__stats {
    display: grid;
    gap: 8px;
    margin: 6px 0 20px;
}

/* Cada cifra en una fila: valor a la izquierda, explicación a la derecha. */
.lna-product__stats div {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .7);
    border: 1px solid #d3e9ec;
}

.lna-product__stats strong {
    display: block;
    font-family: var(--lna-serif);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--lna-teal-700);
}

.lna-product__stats span {
    font-size: 12.5px;
    line-height: 1.35;
    color: var(--lna-muted);
}

.lna-btn--teal {
    --btn-bg: var(--lna-teal-700);
    --btn-border: var(--lna-teal-700);
}

.lna-btn--teal:hover {
    --btn-bg: #1a5f66;
    --btn-border: #1a5f66;
}

.lna-product__note {
    margin: 10px 0 0 !important;
    font-size: 12.5px;
    color: var(--lna-teal-700);
}

.lna-product--yocontigo .lna-product__note {
    color: var(--lna-muted);
}

.lna-product__quote {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 20px !important;
    border-left: 3px solid var(--lna-gold);
    background: rgba(255, 255, 255, .7);
    font-size: 14px;
    line-height: 1.45;
    color: var(--lna-ink-2);
}

.lna-product__quote .lna-icon {
    width: 20px;
    height: 20px;
    color: var(--lna-gold);
}

.lna-phones--product {
    padding: 10px 0 24px;
}

.lna-phones--product .lna-phone {
    width: min(48%, 240px);
}

.lna-product__features {
    display: grid;
    gap: 18px;
}

.lna-product__features li {
    display: flex;
    gap: 14px;
}

.lna-product__ficon {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    color: var(--lna-teal-700);
    box-shadow: 0 6px 16px -10px rgba(33, 116, 125, .6);
}

.lna-product--yocontigo .lna-product__ficon {
    color: var(--lna-primary);
}

.lna-product__ficon .lna-icon {
    width: 20px;
    height: 20px;
}

.lna-product__features h3 {
    font-family: var(--lna-sans);
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 2px !important;
}

.lna-product__features p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--lna-muted);
}

.lna-product__visual--photo {
    position: relative;
    align-self: stretch;
    min-height: 380px;
}

.lna-product__photo {
    position: absolute;
    inset: 0 0 0 12%;
    border-radius: 12px;
    overflow: hidden;
}

/* La foto deja libre su lado izquierdo para la captura de la app. */
.lna-product__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% 50%;
}

/* YoContigo: captura real de la app sobre el margen libre de la foto (no tapa a las personas). */
.lna-phone--yc {
    position: absolute;
    left: 0;
    bottom: 7%;
    z-index: 1;
    width: min(42%, 210px);
    padding: 7px;
    border-radius: 30px;
    transform: rotate(-3deg);
}

.lna-phone--yc img {
    border-radius: 24px;
}

/* Productos para empresas */
.lna-b2b {
    gap: 22px;
}

.lna-b2b__card {
    display: grid;
    grid-template-rows: auto 1fr;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
}

.lna-b2b__visual {
    padding: 28px 28px 0;
    background: linear-gradient(180deg, #e9f0f8, #f6f8fb);
    border-bottom: 1px solid var(--lna-line-blue);
}

.lna-b2b__visual .lna-frame {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: 0;
    max-height: 290px;
}

.lna-b2b__visual--call {
    display: grid;
    place-items: end center;
    background: linear-gradient(180deg, #0b2340, #13355c);
    border-bottom: 0;
}

.lna-call {
    width: 100%;
    max-width: 460px;
    padding: 20px 22px;
    border-radius: 14px 14px 0 0;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 0;
    color: #fff;
}

.lna-call__top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lna-call__avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--lna-gold);
    color: var(--lna-navy);
    font-weight: 700;
}

.lna-call__top strong {
    display: block;
    font-size: 15px;
}

.lna-call__top small {
    font-size: 12.5px;
    color: rgba(255, 255, 255, .7);
}

.lna-call__live {
    margin-left: auto;
    padding: 4px 10px;
    border-radius: 99px;
    background: rgba(47, 179, 111, .2);
    color: #8fe3b6;
    font-size: 12px;
    font-weight: 700;
}

.lna-call__wave {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 54px;
    margin: 16px 0 10px;
}

.lna-call__wave i {
    flex: 1;
    height: 30%;
    border-radius: 3px;
    background: linear-gradient(180deg, var(--lna-gold-soft), var(--lna-gold));
    animation: lna-wave 1.2s ease-in-out infinite;
    animation-delay: calc(var(--i) * -0.09s);
}

@keyframes lna-wave {
    0%, 100% { height: 18%; }
    50% { height: 92%; }
}

.lna-call__line {
    font-family: var(--lna-serif);
    font-style: italic;
    font-size: 15px;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 14px !important;
}

.lna-call__skills {
    display: grid;
    gap: 8px;
    padding-bottom: 18px;
}

.lna-call__skills span {
    display: grid;
    gap: 5px;
    font-size: 12.5px;
    color: rgba(255, 255, 255, .75);
}

.lna-call__skills b {
    display: block;
    height: 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, .1);
    position: relative;
    overflow: hidden;
}

.lna-call__skills b::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(var(--v) * 100%);
    border-radius: 3px;
    background: linear-gradient(90deg, #6aa7e8, #9fd0ff);
}

.lna-b2b__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 30px 32px;
}

.lna-b2b__name {
    font-size: 34px;
    letter-spacing: -.02em;
    line-height: 1;
    margin-bottom: 8px !important;
}

.lna-b2b__title {
    font-family: var(--lna-serif);
    font-size: 20px;
    line-height: 1.3;
    color: var(--lna-ink-2);
    margin-bottom: 10px !important;
}

.lna-b2b__body > p:not(.lna-b2b__title):not(.lna-product__num) {
    font-size: 15.5px;
}

.lna-b2b__features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    margin: 6px 0 24px !important;
}

.lna-b2b__features li {
    display: flex;
    gap: 10px;
}

.lna-b2b__features .lna-icon {
    width: 22px;
    height: 22px;
    color: var(--lna-gold);
    flex: none;
    margin-top: 2px;
}

.lna-b2b__features strong {
    display: block;
    font-size: 15px;
    color: var(--lna-ink);
}

.lna-b2b__features span {
    display: block;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--lna-muted);
}

.lna-b2b__body .lna-btn {
    margin-top: auto;
}

/* Visión */
.lna-vision {
    background: var(--lna-bg-blue);
    border-top: 1px solid var(--lna-line-blue);
    padding-block: 40px;
}

.lna-vision__inner {
    display: grid;
    grid-template-columns: minmax(220px, 300px) 1fr;
    gap: 32px;
    align-items: center;
}

.lna-vision__head h2 {
    font-size: clamp(1.6rem, 1.3rem + .8vw, 2rem);
    line-height: 1.12;
}

.lna-vision__head .lna-eyebrow {
    margin-bottom: 8px !important;
}

.lna-vision__items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lna-vision__items li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 6px 20px;
    border-left: 1px solid #c9d6e4;
    font-size: 15px;
    line-height: 1.35;
    color: var(--lna-ink-2);
}

.lna-vision__items .lna-icon {
    width: 28px;
    height: 28px;
    color: var(--lna-primary);
}

/* ==========================================================================
   Investigación
   ========================================================================== */

.lna-models {
    gap: 16px;
}

.lna-model {
    display: flex;
    flex-direction: column;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
}

.lna-model__media {
    aspect-ratio: 16 / 8;
    overflow: hidden;
}

.lna-model__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-model__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px 22px 22px;
}

.lna-model__head {
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
}

.lna-model__icon {
    color: var(--lna-primary);
}

.lna-model__icon .lna-icon {
    width: 34px;
    height: 34px;
    stroke-width: 1.4;
}

.lna-model__title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 4px !important;
}

.lna-model__short {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.4;
    color: var(--lna-ink-2);
}

.lna-model__text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--lna-muted);
}

.lna-model__badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: var(--lna-radius);
    background: var(--lna-gold-soft);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--lna-gold-ink);
}

.lna-model__badge .lna-icon {
    width: 16px;
    height: 16px;
}

.lna-model .lna-link {
    margin-top: auto;
}

.lna-pubs {
    gap: 14px;
}

.lna-pub {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px 20px 18px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-pub:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-pub__type {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-pub__type .lna-icon {
    width: 17px;
    height: 17px;
    color: var(--lna-primary);
}

.lna-pub__title {
    font-family: var(--lna-serif);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--lna-ink);
}

.lna-pub__summary {
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--lna-text);
}

.lna-pub__authors {
    font-size: 13px;
    color: var(--lna-muted);
}

.lna-pub__venue {
    font-size: 13px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-pub__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 8px;
    color: var(--lna-primary);
    font-weight: 600;
    font-size: 14.5px;
}

.lna-pub__cta .lna-icon {
    width: 16px;
    height: 16px;
}

.lna-pub--more {
    background: var(--lna-navy);
    border-color: var(--lna-navy);
}

.lna-pub--more .lna-pub__type {
    color: var(--lna-gold-soft);
}

.lna-pub--more .lna-pub__title {
    color: #fff;
}

.lna-pub--more .lna-pub__summary {
    color: rgba(255, 255, 255, .75);
}

.lna-pub--more .lna-pub__cta {
    color: #fff;
}

/* Recursos abiertos */
.lna-oss {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
    border-top: 1px solid var(--lna-line);
}

.lna-oss a {
    position: relative;
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 2px 16px;
    align-items: baseline;
    padding: 18px 40px 18px 0;
    border-bottom: 1px solid var(--lna-line);
    transition: background-color .2s;
}

.lna-oss a:hover {
    background: var(--lna-bg);
}

.lna-oss__type {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lna-gold-ink);
}

.lna-oss__type .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-oss__title {
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    font-size: 15px;
    font-weight: 600;
    color: var(--lna-ink);
}

.lna-oss__text {
    font-size: 14px;
    color: var(--lna-muted);
}

.lna-oss a > .lna-icon {
    position: absolute;
    right: 8px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    color: var(--lna-primary);
}

/* Comunidad */
.lna-community {
    gap: 14px;
}

.lna-community__card {
    display: flex;
    flex-direction: column;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-community__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-community__card figure {
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: #f1ede4;
}

.lna-community__card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-community__card > div {
    position: relative;
    padding: 16px 16px 18px 64px;
}

.lna-community__icon {
    position: absolute;
    left: 16px;
    top: 16px;
    color: var(--lna-primary);
}

.lna-community__icon .lna-icon {
    width: 32px;
    height: 32px;
    stroke-width: 1.4;
}

.lna-community__eyebrow {
    margin: 0 0 4px !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-ink-2);
}

.lna-community__card p:last-child {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--lna-muted);
}

/* Charlas */
.lna-talks {
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.lna-talks li {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 20px;
    align-items: baseline;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.lna-talks__date {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--lna-gold-soft);
}

.lna-talks__title {
    font-family: var(--lna-serif);
    font-size: 18px;
    line-height: 1.3;
    color: #fff;
}

.lna-talks__event {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .6);
    text-align: right;
}

/* Colaboración */
.lna-collab {
    padding-block: clamp(48px, 4vw + 16px, 72px);
    background: var(--lna-bg-blue);
    border-top: 1px solid var(--lna-line-blue);
}

.lna-collab__inner {
    display: grid;
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
    gap: 20px clamp(32px, 4vw, 64px);
    align-items: center;
}

.lna-collab__head .lna-h2 {
    margin-bottom: 0 !important;
}

.lna-collab__text {
    margin: 0 !important;
    padding-left: clamp(0px, 2vw, 32px);
    border-left: 1px solid #c9d6e4;
    font-size: 16px;
}

.lna-collab__logos {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px !important;
}

.lna-collab__logos li {
    display: grid;
    place-items: center;
    flex: 1 1 150px;
    height: 84px;
    padding: 14px 18px;
    border-radius: var(--lna-radius);
    background: var(--lna-surface);
    border: 1px solid var(--lna-line-blue);
}

.lna-collab__logos img {
    max-height: 48px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/* ==========================================================================
   Nosotros
   ========================================================================== */

.lna-hero--about .lna-hero__media {
    width: min(55%, 960px);
}

.lna-features {
    background: var(--lna-bg-blue);
    border-block: 1px solid var(--lna-line-blue);
    padding-block: 26px;
}

.lna-features__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lna-features__list li {
    display: flex;
    gap: 16px;
    padding: 4px 24px;
    border-left: 1px solid #c9d6e4;
}

.lna-features__list li:first-child {
    padding-left: 0;
    border-left: 0;
}

.lna-features__icon {
    color: var(--lna-gold);
}

.lna-features__icon .lna-icon {
    width: 38px;
    height: 38px;
    stroke-width: 1.3;
}

.lna-features__list h2 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 4px !important;
}

.lna-features__list p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--lna-muted);
}

.lna-track {
    gap: 18px;
}

.lna-track__card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    overflow: hidden;
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

a.lna-track__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-track__media {
    position: relative;
    aspect-ratio: 16 / 7.5;
    overflow: hidden;
}

.lna-track__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-track__tag {
    position: absolute;
    left: 14px;
    bottom: 12px;
    padding: 4px 12px;
    border-radius: 99px;
    background: #fff;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--lna-ink-2);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .15);
}

.lna-track__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 20px;
}

.lna-track__body h3 {
    font-size: 23px;
    margin-bottom: 2px !important;
}

.lna-track__sub {
    margin-bottom: 8px !important;
    font-family: var(--lna-serif);
    font-size: 16px;
    color: var(--lna-primary);
}

.lna-track__body > p:not(.lna-track__sub):not(.lna-track__award) {
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--lna-muted);
}

.lna-track__award {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: auto 0 0 !important;
    padding: 10px 14px;
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    font-size: 13px;
    color: var(--lna-ink-2);
}

.lna-track__award .lna-icon {
    width: 26px;
    height: 26px;
    color: var(--lna-gold);
}

.lna-track__award strong {
    display: block;
    font-size: 14px;
    color: var(--lna-ink);
}

.lna-track__arrow {
    margin-top: auto;
    align-self: flex-end;
    color: var(--lna-primary);
}

.lna-leadership-wrap {
    padding-top: 0;
}

.lna-leadership {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr) minmax(0, 1.05fr);
    gap: 18px;
    padding: clamp(22px, 2.6vw, 36px);
    border-radius: 16px;
    background: var(--lna-bg-blue);
    border: 1px solid var(--lna-line-blue);
}

.lna-leadership__head {
    padding: 8px 8px 8px 4px;
}

.lna-leadership__head p:not(.lna-eyebrow) {
    font-size: 15.5px;
}

.lna-person {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 18px;
    padding: 16px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: 12px;
}

.lna-person__photo {
    border-radius: 8px;
    overflow: hidden;
}

.lna-person__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
}

.lna-person h3 {
    font-size: 22px;
    margin: 4px 0 2px !important;
}

.lna-person__role {
    margin-bottom: 10px !important;
    font-size: 14.5px;
    color: var(--lna-primary);
    font-weight: 600;
}

.lna-person p:not(.lna-person__role) {
    font-size: 14px;
    line-height: 1.5;
    color: var(--lna-text);
}

.lna-person .lna-link .lna-icon {
    width: 16px;
    height: 16px;
}

.lna-network {
    padding: 20px 20px 18px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: 12px;
}

.lna-network h3 {
    font-size: 20px;
    margin-bottom: 4px !important;
}

.lna-network > p {
    font-size: 14px;
    color: var(--lna-muted);
}

.lna-network ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.lna-network li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--lna-line-soft);
    border-radius: var(--lna-radius);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-network li .lna-icon {
    width: 24px;
    height: 24px;
    color: var(--lna-primary);
    stroke-width: 1.4;
}

.lna-teamrow {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid var(--lna-line);
    background: var(--lna-surface);
}

.lna-teamrow__photo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    flex: none;
}

.lna-teamrow p {
    margin: 0;
    font-size: 14.5px;
}

.lna-teamrow strong {
    color: var(--lna-ink);
}

.lna-pillars {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 16px;
    padding: 22px clamp(20px, 2.6vw, 36px);
    border-radius: 16px;
    background: var(--lna-bg-blue);
    border: 1px solid var(--lna-line-blue);
    align-items: center;
}

.lna-pillars__head {
    padding-right: 20px;
}

.lna-pillars__head .lna-eyebrow {
    margin-bottom: 6px !important;
    font-size: 11px;
}

.lna-pillars__head h2 {
    font-size: 25px;
    line-height: 1.1;
}

.lna-pillars__item {
    display: flex;
    gap: 12px;
    padding: 4px 18px;
    border-left: 1px solid #c9d6e4;
}

.lna-pillars__item span {
    color: var(--lna-gold);
}

.lna-pillars__item .lna-icon {
    width: 34px;
    height: 34px;
    stroke-width: 1.3;
}

.lna-pillars__item h3 {
    font-size: 16.5px;
    font-weight: 600;
    margin-bottom: 2px !important;
}

.lna-pillars__item p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--lna-muted);
}

.lna-awards {
    gap: 18px;
}

.lna-award {
    display: flex;
    flex-direction: column;
    padding: 16px 16px 20px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
}

.lna-award figure {
    aspect-ratio: 16 / 10;
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.lna-award figure img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lna-award__event {
    margin-bottom: 6px !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--lna-gold-soft);
}

.lna-award h3 {
    font-size: 21px;
    color: #fff;
    margin-bottom: 6px !important;
}

.lna-award p:last-child {
    margin: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, .7);
}

.lna-presslist {
    border-top: 1px solid var(--lna-line);
}

.lna-presslist a {
    position: relative;
    display: grid;
    grid-template-columns: 150px 1fr 120px;
    gap: 16px;
    align-items: baseline;
    padding: 18px 40px 18px 0;
    border-bottom: 1px solid var(--lna-line);
    transition: background-color .2s;
}

.lna-presslist a:hover {
    background: var(--lna-bg);
}

.lna-presslist__outlet {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--lna-gold-ink);
}

.lna-presslist__title {
    font-family: var(--lna-serif);
    font-size: 18px;
    line-height: 1.35;
    color: var(--lna-ink);
}

.lna-presslist__date {
    font-size: 13.5px;
    color: var(--lna-muted);
    text-align: right;
}

.lna-presslist a > .lna-icon {
    position: absolute;
    right: 6px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    color: var(--lna-primary);
}

/* ==========================================================================
   Recursos
   ========================================================================== */

.lna-subnav {
    position: sticky;
    top: var(--lna-header-h);
    z-index: 50;
    background: rgba(238, 244, 250, .94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-block: 1px solid var(--lna-line-blue);
}

.admin-bar .lna-subnav {
    top: calc(var(--lna-header-h) + 32px);
}

.lna-subnav__inner {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
}

.lna-subnav__inner::-webkit-scrollbar {
    display: none;
}

.lna-subnav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1 0 auto;
    padding: 17px 22px;
    border-left: 1px solid var(--lna-line-blue);
    font-size: 15.5px;
    font-weight: 600;
    color: var(--lna-ink-2);
    transition: color .2s, background-color .2s;
    white-space: nowrap;
}

.lna-subnav a:first-child {
    border-left: 0;
}

.lna-subnav a:hover {
    color: var(--lna-primary);
    background: rgba(255, 255, 255, .6);
}

.lna-subnav .lna-icon {
    width: 20px;
    height: 20px;
}

.lna-academy-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    border-radius: 16px;
    background: linear-gradient(110deg, #fbf3e4 0%, #f7ecd8 45%, #f3e6cf 100%);
    border: 1px solid #ecdcbd;
    overflow: hidden;
}

.lna-academy-card__text {
    padding: clamp(28px, 3.6vw, 52px);
}

.lna-academy-card__points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px !important;
    padding-top: 20px;
    border-top: 1px solid #e6d3ae;
}

.lna-academy-card__points li {
    display: flex;
    gap: 10px;
    font-size: 13.5px;
    line-height: 1.35;
    color: var(--lna-ink-2);
}

.lna-academy-card__points .lna-icon {
    width: 24px;
    height: 24px;
    color: var(--lna-primary);
}

.lna-academy-card__media {
    align-self: stretch;
}

/* Captura real del campus, asomando por la derecha de la tarjeta. */
.lna-academy-card__media--shot {
    display: flex;
    align-items: center;
    padding: clamp(28px, 3vw, 48px) 0 clamp(28px, 3vw, 48px) clamp(8px, 1.5vw, 24px);
}

.lna-academy-card__media--shot .lna-frame {
    width: 118%;
    flex: none;
    transform: rotate(-1.5deg);
    box-shadow: var(--lna-shadow-lg);
}

.lna-res-head {
    align-items: flex-end;
}

.lna-res-head__title {
    display: flex;
    gap: 18px;
}

.lna-res-head__icon {
    color: var(--lna-ink);
    margin-top: 6px;
}

.lna-res-head__icon .lna-icon {
    width: 36px;
    height: 36px;
    stroke-width: 1.4;
}

.lna-res-head .lna-h2 {
    margin-bottom: 6px !important;
}

.lna-resource {
    position: relative;
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: 18px;
    padding: 12px 40px 12px 12px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: var(--lna-radius);
    box-shadow: var(--lna-shadow-sm);
    transition: transform .3s var(--lna-ease), box-shadow .3s;
}

.lna-resource:hover {
    transform: translateY(-3px);
    box-shadow: var(--lna-shadow-md);
}

.lna-resource__thumb {
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.lna-resource__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-resource__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding-block: 4px;
}

.lna-resource__title {
    font-family: var(--lna-serif);
    font-size: 17px;
    line-height: 1.28;
    color: var(--lna-ink);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lna-resource__text {
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--lna-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lna-resource__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    font-size: 12.5px;
    color: var(--lna-muted);
}

.lna-resource__meta .lna-icon {
    width: 15px;
    height: 15px;
}

.lna-resource__meta i {
    width: 1px;
    height: 12px;
    background: var(--lna-line);
}

.lna-resource__arrow {
    position: absolute;
    right: 14px;
    bottom: 14px;
    color: var(--lna-primary);
}

.lna-resource__arrow .lna-icon {
    width: 18px;
    height: 18px;
}

/* Portadas tipográficas (papers y artículos sin imagen) */
.lna-cover {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 12px;
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    overflow: hidden;
    background: linear-gradient(140deg, #0b2340, #1f5b98);
    color: #fff;
}

.lna-cover::after {
    content: '';
    position: absolute;
    right: -30%;
    bottom: -40%;
    width: 90%;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 0 0 14px rgba(255, 255, 255, .04), 0 0 0 30px rgba(255, 255, 255, .03);
}

.lna-cover--1 {
    background: linear-gradient(140deg, #8a6420, #c4973c);
}

.lna-cover--2 {
    background: linear-gradient(140deg, #21747d, #2fa3b0);
}

.lna-cover__venue {
    position: relative;
    z-index: 1;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.3;
}

.lna-cover__year {
    position: relative;
    z-index: 1;
    font-family: var(--lna-serif);
    font-size: 28px;
    line-height: 1;
}

.lna-cover--big {
    aspect-ratio: auto;
    height: 100%;
    min-height: 260px;
    padding: 28px;
}

.lna-cover--big .lna-cover__venue {
    font-size: 13px;
}

.lna-cover--big .lna-cover__year {
    font-size: 64px;
}

.lna-formats {
    gap: 14px;
    margin-top: 22px;
}

.lna-format {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 14px;
    align-items: center;
    padding: 18px;
    border-radius: var(--lna-radius);
    border: 1px dashed #cdd8e5;
    background: var(--lna-bg-blue);
    transition: background-color .2s, border-color .2s;
}

.lna-format:hover {
    background: var(--lna-surface);
    border-color: var(--lna-primary);
}

.lna-format .lna-icon {
    grid-row: 1 / span 2;
    width: 30px;
    height: 30px;
    color: var(--lna-primary);
    stroke-width: 1.4;
}

.lna-format strong {
    font-size: 15.5px;
    color: var(--lna-ink);
}

.lna-format span {
    font-size: 13px;
    color: var(--lna-muted);
}

/* Banda y formulario de newsletter */
.lna-nlband {
    padding-block: clamp(56px, 5vw + 20px, 92px);
    background:
        radial-gradient(ellipse at 85% 0%, rgba(196, 151, 60, .18), transparent 55%),
        radial-gradient(ellipse at 0% 100%, rgba(31, 91, 152, .45), transparent 60%),
        var(--lna-navy);
    color: rgba(255, 255, 255, .8);
}

.lna-nlband__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}

.lna-nlband .lna-eyebrow {
    color: var(--lna-gold-soft);
}

.lna-nlband .lna-h2 {
    color: #fff;
}

.lna-nlband__text > p {
    font-size: 17.5px;
}

.lna-nlband__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}

.lna-nlband__proof li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
}

.lna-nlband__proof .lna-icon {
    width: 16px;
    height: 16px;
    color: var(--lna-gold);
    stroke-width: 3;
}

.lna-nl-form {
    display: grid;
    gap: 14px;
}

.lna-nl-form__row {
    display: flex;
    gap: 10px;
    padding: 6px;
    border-radius: 10px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-md);
}

.lna-nl-form input[type="email"] {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 16.5px;
    color: var(--lna-ink);
}

.lna-nl-form input[type="email"]:focus {
    outline: none;
}

.lna-nl-form__row:focus-within {
    border-color: var(--lna-primary);
    box-shadow: 0 0 0 3px rgba(31, 91, 152, .2), var(--lna-shadow-md);
}

.lna-nl-form.is-dark .lna-check {
    color: rgba(255, 255, 255, .7);
}

.lna-nl-form.is-dark .lna-check a {
    color: #fff;
}

.lna-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--lna-muted);
    cursor: pointer;
}

.lna-check input {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--lna-primary);
}

.lna-check a {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--lna-ink-2);
}

.lna-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    padding: 12px 14px;
    border-radius: var(--lna-radius);
    font-size: 14.5px;
    line-height: 1.45;
}

.lna-alert .lna-icon {
    width: 20px;
    height: 20px;
    flex: none;
    stroke-width: 2.6;
}

.lna-alert--success {
    background: #e7f5ec;
    color: #1d5e3b;
}

.lna-alert--error {
    background: #fbeaea;
    color: #8a2525;
}

.lna-btn.is-loading {
    opacity: .75;
    pointer-events: none;
}

.lna-btn.is-loading .lna-icon {
    animation: lna-spin .8s linear infinite;
}

/* ==========================================================================
   Contacto
   ========================================================================== */

.lna-contact {
    padding-block: clamp(40px, 4vw, 72px) clamp(56px, 6vw, 96px);
    background:
        radial-gradient(ellipse at 100% 0%, rgba(31, 91, 152, .08), transparent 50%),
        var(--lna-bg);
}

.lna-contact__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: start;
}

.lna-contact__title {
    font-size: clamp(2.6rem, 1.6rem + 3vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -.028em;
    margin-bottom: 16px !important;
}

.lna-contact__steps {
    display: grid;
    gap: 16px;
    margin: 8px 0 28px !important;
}

.lna-contact__steps li {
    display: flex;
    gap: 14px;
}

.lna-contact__steps li > span {
    display: grid;
    place-items: center;
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1.5px solid var(--lna-gold);
    font-family: var(--lna-serif);
    font-weight: 600;
    color: var(--lna-gold-ink);
}

.lna-contact__steps strong {
    display: block;
    color: var(--lna-ink);
    font-size: 16.5px;
}

.lna-contact__steps p {
    margin: 0;
    font-size: 14.5px;
    color: var(--lna-muted);
}

.lna-contact__person {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border-radius: 12px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-sm);
}

.lna-contact__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 15%;
    flex: none;
}

.lna-contact__person q {
    display: block;
    font-family: var(--lna-serif);
    font-size: 16.5px;
    line-height: 1.4;
    color: var(--lna-ink);
    quotes: '«' '»';
}

.lna-contact__person figcaption span {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: var(--lna-muted);
}

.lna-contact__direct {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 22px !important;
}

.lna-contact__direct a,
.lna-contact__direct span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-contact__direct a:hover {
    color: var(--lna-primary);
}

.lna-contact__direct .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

.lna-contact__card {
    padding: clamp(22px, 3vw, 40px);
    border-radius: 16px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-lg);
    scroll-margin-top: calc(var(--lna-header-h) + 20px);
}

.lna-form {
    display: grid;
    gap: 18px;
}

.lna-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.lna-field {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.lna-field > span,
.lna-field legend {
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--lna-ink-2);
}

.lna-field b {
    color: var(--lna-primary);
}

.lna-field legend {
    margin-bottom: 9px;
}

.lna-field input,
.lna-field textarea,
.lna-field select {
    width: 100%;
    padding: 13px 14px;
    border: 1.5px solid var(--lna-line);
    border-radius: 8px;
    background: var(--lna-bg);
    font: inherit;
    font-size: 16px;
    color: var(--lna-ink);
    transition: border-color .2s, box-shadow .2s, background-color .2s;
}

.lna-field textarea {
    resize: vertical;
    min-height: 130px;
    line-height: 1.5;
}

.lna-field input:focus,
.lna-field textarea:focus {
    outline: none;
    border-color: var(--lna-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(31, 91, 152, .15);
}

.lna-field input:user-invalid,
.lna-field textarea:user-invalid {
    border-color: #c24848;
}

.lna-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lna-chip {
    position: relative;
    cursor: pointer;
}

.lna-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lna-chip span {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 99px;
    border: 1.5px solid var(--lna-line);
    background: var(--lna-bg);
    font-size: 14px;
    font-weight: 600;
    color: var(--lna-ink-2);
    transition: all .2s;
}

.lna-chip:hover span {
    border-color: #b9c9dc;
}

.lna-chip input:checked + span {
    border-color: var(--lna-primary);
    background: var(--lna-primary);
    color: #fff;
}

.lna-chip input:focus-visible + span {
    outline: 2px solid var(--lna-accent);
    outline-offset: 2px;
}

.lna-form__note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 !important;
    font-size: 13px;
    color: var(--lna-muted);
}

.lna-form__note .lna-icon {
    width: 15px;
    height: 15px;
}

/* ==========================================================================
   AcademIA y newsletter
   ========================================================================== */

.lna-hero--academy .lna-hero__media {
    width: min(52%, 900px);
}

.lna-hero--academy .lna-hero__media::after {
    display: none;
}

.lna-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 28px 0 0;
    border-top: 1px solid var(--lna-line);
}

.lna-meta-row div {
    padding: 14px 22px 0 0;
    margin-right: 22px;
}

.lna-meta-row div + div {
    padding-left: 22px;
    border-left: 1px solid var(--lna-line);
}

.lna-meta-row dt {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-meta-row dd {
    margin: 2px 0 0;
    font-family: var(--lna-serif);
    font-size: 17px;
    color: var(--lna-ink);
}

.lna-credbar {
    background: var(--lna-navy);
    color: rgba(255, 255, 255, .8);
    padding-block: 18px;
}

.lna-credbar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 32px;
    font-size: 14.5px;
}

.lna-credbar p {
    margin: 0;
}

.lna-credbar strong {
    color: #fff;
}

.lna-credbar ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lna-credbar li {
    padding: 5px 12px;
    border-radius: 99px;
    border: 1px solid rgba(255, 255, 255, .2);
    font-size: 13px;
    font-weight: 600;
    color: var(--lna-gold-soft);
}

.lna-pillgrid {
    gap: 16px;
}

.lna-pillcard {
    padding: 24px 24px 22px;
    border-radius: 10px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-sm);
}

.lna-pillcard__n {
    display: block;
    margin-bottom: 14px;
    font-family: var(--lna-serif);
    font-size: 28px;
    line-height: 1;
    color: var(--lna-gold);
}

.lna-pillcard h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px !important;
}

.lna-pillcard p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--lna-muted);
}

.lna-modules {
    display: grid;
    gap: 2px;
}

.lna-module {
    display: flex;
    gap: 22px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.lna-module__n {
    font-family: var(--lna-serif);
    font-size: 34px;
    line-height: 1;
    color: var(--lna-gold);
    min-width: 48px;
}

.lna-module h3 {
    font-size: 22px;
    color: #fff;
    margin-bottom: 6px !important;
}

.lna-module p {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, .72);
    font-size: 15.5px;
}

.lna-module__outcome {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: var(--lna-gold-soft) !important;
    font-size: 14.5px !important;
}

.lna-module__outcome .lna-icon {
    width: 17px;
    height: 17px;
    margin-top: 3px;
}

.lna-instructor {
    display: grid;
    grid-template-columns: minmax(200px, 300px) 1fr;
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
}

.lna-instructor figure {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--lna-shadow-lg);
}

.lna-instructor__badges {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px !important;
}

.lna-instructor__badges li {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--lna-line);
    background: #fff;
}

.lna-instructor__badges img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: contain;
}

.lna-nlhero {
    padding-block: clamp(48px, 5vw, 88px);
    background:
        radial-gradient(ellipse at 90% 10%, rgba(196, 151, 60, .12), transparent 50%),
        var(--lna-bg);
}

.lna-nlhero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}

.lna-nlhero .lna-nl-form {
    max-width: 560px;
}

.lna-nlhero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 22px !important;
}

.lna-nlhero__proof li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    color: var(--lna-ink-2);
}

.lna-nlhero__proof .lna-icon {
    width: 16px;
    height: 16px;
    color: var(--lna-gold);
    stroke-width: 3;
}

.lna-nlhero__author {
    padding: 24px;
    border-radius: 16px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-lg);
}

.lna-nlhero__author figure {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4 / 3.4;
    margin-bottom: 18px;
}

.lna-nlhero__author figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 15%;
}

.lna-nlhero__by {
    font-family: var(--lna-serif);
    font-size: 20px;
    color: var(--lna-ink);
    margin-bottom: 6px !important;
}

.lna-nlhero__author > p:not(.lna-nlhero__by) {
    font-size: 14.5px;
    color: var(--lna-muted);
}

.lna-nlhero__creds {
    display: grid;
    gap: 8px;
}

.lna-nlhero__creds li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-nlhero__creds .lna-icon {
    width: 20px;
    height: 20px;
    color: var(--lna-gold);
}

/* ==========================================================================
   Blog y artículo
   ========================================================================== */

.lna-container--narrow {
    max-width: calc(780px + var(--lna-gutter) * 2);
}

.lna-bloghead {
    padding-block: clamp(40px, 4vw, 72px) 8px;
}

.lna-bloghead .lna-hero__title {
    max-width: 900px;
}

.lna-bloghead__tools {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
}

.lna-bloghead .lna-filters {
    margin: 0;
}

.lna-search {
    position: relative;
    display: flex;
    align-items: center;
    min-width: min(320px, 100%);
}

.lna-search .lna-icon {
    position: absolute;
    left: 14px;
    width: 18px;
    height: 18px;
    color: var(--lna-muted);
}

.lna-search input {
    width: 100%;
    padding: 11px 14px 11px 42px;
    border: 1.5px solid var(--lna-line);
    border-radius: 99px;
    background: var(--lna-surface);
    font: inherit;
    font-size: 15px;
}

.lna-search input:focus {
    outline: none;
    border-color: var(--lna-primary);
}

.lna-featured-post {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    margin-bottom: 32px;
    padding: 16px;
    border-radius: 14px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-sm);
    transition: box-shadow .3s;
}

.lna-featured-post:hover {
    box-shadow: var(--lna-shadow-md);
}

.lna-featured-post figure {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.lna-featured-post figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lna-featured-post h2 {
    font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem);
    line-height: 1.12;
    margin-bottom: 12px !important;
}

.lna-featured-post p:not(.lna-eyebrow) {
    color: var(--lna-text);
}

.lna-postgrid {
    gap: 16px;
}

.lna-resource--post {
    grid-template-columns: 1fr;
    padding: 12px 12px 18px;
}

.lna-resource--post .lna-resource__thumb,
.lna-resource--post .lna-cover {
    aspect-ratio: 16 / 9;
}

.lna-resource--post .lna-resource__body {
    padding: 4px 6px 0;
}

.lna-resource--post .lna-resource__title {
    font-size: 19px;
}

.lna-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 36px !important;
}

.lna-pagination a,
.lna-pagination span {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 99px;
    border: 1px solid var(--lna-line);
    background: var(--lna-surface);
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-pagination .current {
    background: var(--lna-primary);
    border-color: var(--lna-primary);
    color: #fff;
}

.lna-empty {
    padding: 48px;
    text-align: center;
    border: 1px dashed var(--lna-line);
    border-radius: 12px;
}

.lna-empty a {
    color: var(--lna-primary);
    text-decoration: underline;
}

.lna-progress {
    position: fixed;
    top: var(--lna-header-h);
    left: 0;
    right: 0;
    z-index: 99;
    height: 3px;
    pointer-events: none;
}

.admin-bar .lna-progress {
    top: calc(var(--lna-header-h) + 32px);
}

.lna-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--lna-primary), var(--lna-gold));
    transform: scaleX(0);
    transform-origin: left;
}

.lna-article__head {
    padding-block: clamp(36px, 4vw, 64px) 28px;
}

.lna-article__cat {
    margin: 26px 0 12px !important;
}

.lna-article__cat a {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 99px;
    background: var(--lna-gold-soft);
    font-size: 13px;
    font-weight: 700;
    color: var(--lna-gold-ink);
}

.lna-article__title {
    font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem);
    line-height: 1.06;
    letter-spacing: -.026em;
    margin-bottom: 18px !important;
    text-wrap: balance;
}

.lna-article__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 0 !important;
    font-size: 14.5px;
    color: var(--lna-muted);
}

.lna-article__meta strong {
    color: var(--lna-ink);
}

.lna-article__avatar,
.lna-authorbox img {
    border-radius: 50%;
}

.lna-article__cover {
    margin-bottom: 40px;
}

.lna-article__cover img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 14px;
}

.lna-prose {
    font-size: 18.5px;
    line-height: 1.75;
    color: #2f3a49;
}

.lna-prose > * {
    margin-top: 0;
    margin-bottom: 0;
}

.lna-prose > * + * {
    margin-top: 1.15em;
}

.lna-prose > h2 {
    font-size: 30px;
    line-height: 1.2;
    margin-top: 1.9em;
}

.lna-prose > h3 {
    font-size: 23px;
    line-height: 1.25;
    margin-top: 1.6em;
}

.lna-prose > :is(h2, h3) + * {
    margin-top: .55em;
}

.lna-prose a {
    color: var(--lna-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.lna-prose ul,
.lna-prose ol {
    padding-left: 1.3em;
}

.lna-prose ul {
    list-style: disc;
}

.lna-prose ol {
    list-style: decimal;
}

.lna-prose li + li {
    margin-top: .4em;
}

.lna-prose blockquote {
    margin: 1.6em 0;
    padding: 4px 0 4px 24px;
    border-left: 3px solid var(--lna-gold);
    font-family: var(--lna-serif);
    font-size: 22px;
    line-height: 1.5;
    color: var(--lna-ink);
}

.lna-prose img,
.lna-prose figure {
    border-radius: 10px;
    max-width: 100%;
    height: auto;
}

.lna-prose figure {
    margin: 1.8em 0;
}

.lna-prose figcaption {
    margin-top: 8px;
    font-size: 14px;
    color: var(--lna-muted);
    text-align: center;
}

.lna-prose pre,
.lna-prose code {
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    font-size: .86em;
}

.lna-prose pre {
    padding: 18px 20px;
    border-radius: 10px;
    background: #0e1a2b;
    color: #e7eef8;
    overflow-x: auto;
}

.lna-prose :not(pre) > code {
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--lna-primary-soft);
}

.lna-prose iframe,
.lna-prose video {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 10px;
}

.lna-prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.lna-prose th,
.lna-prose td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--lna-line);
    text-align: left;
}

.lna-article__elementor {
    margin-bottom: 40px;
}

.lna-article__foot {
    padding-block: 36px 64px;
}

.lna-share {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 24px;
    border-top: 1px solid var(--lna-line);
    font-size: 14px;
    font-weight: 700;
    color: var(--lna-muted);
}

.lna-share a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--lna-line);
    color: var(--lna-ink-2);
}

.lna-share a:hover {
    border-color: var(--lna-primary);
    color: var(--lna-primary);
}

.lna-share .lna-icon {
    width: 17px;
    height: 17px;
}

.lna-authorbox {
    display: flex;
    gap: 16px;
    align-items: center;
    margin-top: 24px;
    padding: 18px 20px;
    border-radius: 12px;
    background: var(--lna-bg-blue);
}

.lna-authorbox strong {
    color: var(--lna-ink);
}

.lna-authorbox p {
    margin: 2px 0 0;
    font-size: 14.5px;
}

.lna-pagehead {
    padding-block: clamp(40px, 4vw, 64px) 12px;
}

.lna-prose--page {
    padding-bottom: 80px;
    font-size: 17px;
}

.lna-elementor-page {
    min-height: 40vh;
}

/* 404 */
.lna-404 {
    position: relative;
    overflow: hidden;
    padding-block: clamp(64px, 8vw, 128px);
}

.lna-404__inner {
    position: relative;
    max-width: 900px;
}

.lna-404__code {
    position: absolute;
    right: -2%;
    top: -40px;
    margin: 0 !important;
    font-family: var(--lna-serif);
    font-size: clamp(140px, 22vw, 300px);
    line-height: 1;
    color: rgba(31, 91, 152, .07);
    pointer-events: none;
}

.lna-404__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 32px;
}

.lna-404__links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 99px;
    border: 1px solid var(--lna-line);
    background: var(--lna-surface);
    font-weight: 600;
    color: var(--lna-ink-2);
}

.lna-404__links a:hover {
    border-color: var(--lna-primary);
    color: var(--lna-primary);
}

.lna-404__links .lna-icon {
    width: 16px;
    height: 16px;
}

/* ---------- Responsive de estas páginas ---------- */

@media (max-width: 1240px) {
    .lna-product {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .lna-product__features {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-leadership {
        grid-template-columns: 1fr 1fr;
    }

    .lna-leadership__head {
        grid-column: 1 / -1;
    }

    .lna-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 0;
    }

    .lna-pillars__head {
        grid-column: 1 / -1;
    }

    .lna-pillars__item:nth-child(2n) {
        border-left: 0;
        padding-left: 0;
    }

    .lna-features__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 0;
    }

    .lna-features__list li:nth-child(3) {
        padding-left: 0;
        border-left: 0;
    }

    .lna-vision__inner {
        grid-template-columns: 1fr;
    }

    .lna-grid--4.lna-community,
    .lna-grid--4.lna-awards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .lna-grid--3.lna-models,
    .lna-grid--3.lna-pubs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-contact__grid,
    .lna-nlhero__grid,
    .lna-nlband__inner,
    .lna-academy-card,
    .lna-featured-post {
        grid-template-columns: 1fr;
    }

    .lna-academy-card__media--shot {
        padding: 0 0 28px 20px;
    }

    .lna-collab__inner {
        grid-template-columns: 1fr;
    }

    .lna-collab__text {
        padding-left: 0;
        border-left: 0;
    }

    .lna-vision__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
    }
}

@media (max-width: 900px) {
    .lna-hero--products .lna-hero__media,
    .lna-hero--about .lna-hero__media,
    .lna-hero--academy .lna-hero__media {
        width: 100%;
    }

    .lna-product {
        grid-template-columns: 1fr;
    }

    .lna-product__visual--photo {
        min-height: 340px;
    }

    .lna-b2b__features {
        grid-template-columns: 1fr;
    }

    .lna-oss {
        grid-template-columns: 1fr;
    }

    .lna-talks li {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .lna-talks__event {
        text-align: left;
    }

    .lna-presslist a {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .lna-presslist__date {
        text-align: left;
    }

    .lna-instructor {
        grid-template-columns: 1fr;
    }

    .lna-instructor figure {
        max-width: 320px;
    }
}

@media (max-width: 640px) {
    .lna-grid--3.lna-models,
    .lna-grid--3.lna-pubs,
    .lna-grid--4.lna-community,
    .lna-grid--4.lna-awards,
    .lna-grid--4.lna-formats {
        grid-template-columns: 1fr;
    }

    .lna-product__features {
        grid-template-columns: 1fr;
    }

    .lna-features__list,
    .lna-leadership,
    .lna-pillars {
        grid-template-columns: 1fr;
    }

    .lna-features__list li,
    .lna-pillars__item {
        padding-left: 0;
        border-left: 0;
    }

    .lna-person {
        grid-template-columns: 96px 1fr;
    }

    .lna-network ul {
        grid-template-columns: 1fr;
    }

    .lna-form__row {
        grid-template-columns: 1fr;
    }

    .lna-academy-card__points {
        grid-template-columns: 1fr;
    }

    .lna-resource {
        grid-template-columns: 96px 1fr;
    }

    .lna-resource--post {
        grid-template-columns: 1fr;
    }

    .lna-vision__items {
        grid-template-columns: 1fr;
    }

    .lna-vision__items li {
        border-left: 0;
        padding-left: 0;
    }

    .lna-nl-form__row {
        flex-direction: column;
    }

    .lna-instructor__badges {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-oss a {
        grid-template-columns: 1fr;
    }

    .lna-oss__type {
        grid-row: auto;
    }

}

.lna-hero__media--flip img {
    transform: scaleX(-1);
}

/* AcademIA: hero con capturas reales del campus */
.lna-acahero {
    padding-block: clamp(40px, 5vw, 88px) clamp(48px, 5vw, 96px);
    background:
        radial-gradient(ellipse at 85% 30%, rgba(31, 91, 152, .1), transparent 55%),
        var(--lna-bg);
    overflow: hidden;
}

.lna-acahero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

.lna-acahero__visual {
    position: relative;
    padding: 0 0 70px 40px;
}

.lna-acahero__back {
    position: absolute;
    right: -12%;
    top: -30px;
    width: 78%;
    opacity: .9;
    transform: rotate(2deg);
}

.lna-acahero__front {
    position: relative;
    width: 92%;
    margin-top: 70px;
    transform: rotate(-1.5deg);
}

.lna-meta-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, auto));
    justify-content: start;
}

.lna-meta-row div,
.lna-meta-row div + div {
    margin-right: 0;
    padding: 14px 22px 0;
}

.lna-meta-row div:first-child {
    padding-left: 0;
}

@media (max-width: 1100px) {
    .lna-acahero__grid {
        grid-template-columns: 1fr;
    }

    .lna-acahero__visual {
        max-width: 640px;
    }
}

@media (max-width: 640px) {
    .lna-meta-row {
        grid-template-columns: 1fr;
    }

    .lna-meta-row div,
    .lna-meta-row div + div {
        padding-left: 0;
        border-left: 0;
    }
}

/* ---------- Móvil: carruseles deslizables en lugar de columnas larguísimas ---------- */
@media (max-width: 640px) {
    .lna-scroller {
        display: flex !important;
        gap: 12px;
        margin-inline: calc(var(--lna-gutter) * -1);
        padding: 4px var(--lna-gutter) 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: var(--lna-gutter);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .lna-scroller::-webkit-scrollbar {
        display: none;
    }

    .lna-scroller > * {
        flex: 0 0 80%;
        scroll-snap-align: start;
    }

    .lna-scroller > .lna-video {
        flex-basis: 88%;
    }

    .lna-grid--5.lna-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lna-grid--6.lna-tiles {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .lna-tiles .lna-tile {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        column-gap: 16px;
        row-gap: 4px;
        padding: 20px 20px 18px;
    }

    .lna-tiles .lna-tile__icon {
        grid-row: span 3;
        margin: 2px 0 0;
    }

    .lna-tiles .lna-tile__icon .lna-icon {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 360px) {
    .lna-grid--5.lna-tiles {
        grid-template-columns: 1fr;
    }
}

/* Páginas legales */
.lna-legal {
    padding-block: clamp(40px, 4vw, 64px) 0;
}

.lna-legal h1 {
    font-size: clamp(2.2rem, 1.6rem + 2vw, 3.2rem);
    line-height: 1.06;
    letter-spacing: -.024em;
    margin-bottom: .2em;
}

.lna-legal__updated {
    font-size: 14px;
    color: var(--lna-muted);
}

.lna-legal__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 3em;
    padding-top: 22px;
    border-top: 1px solid var(--lna-line);
    font-size: 15px;
}

.lna-legal__nav a {
    color: var(--lna-primary);
}

/* Vídeos verticales: el reproductor se ajusta al formato del vídeo */
.lna-modal {
    width: fit-content;
    max-width: calc(100vw - 32px);
}

.lna-modal__media video {
    width: auto;
    height: auto;
    max-width: min(1120px, calc(100vw - 32px));
    max-height: calc(100vh - 140px);
    margin-inline: auto;
}

.lna-modal__media {
    min-width: min(320px, calc(100vw - 32px));
}

.lna-modal__media img {
    display: block;
    width: auto;
    max-width: min(1400px, calc(100vw - 32px));
    max-height: calc(100vh - 140px);
    margin-inline: auto;
    border-radius: var(--lna-radius-lg);
    background: #fff;
    box-shadow: 0 40px 90px rgba(0, 0, 0, .5);
}

/* Capturas de la galería de cada caso: se amplían al pulsar. */
.lna-frame__zoom {
    position: relative;
    display: block;
    cursor: zoom-in;
}

.lna-frame__zoom-icon {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(11, 35, 64, .82);
    color: #fff;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s var(--lna-ease), transform .25s var(--lna-ease);
}

.lna-frame__zoom-icon .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-frame__zoom:hover .lna-frame__zoom-icon,
.lna-frame__zoom:focus-visible .lna-frame__zoom-icon {
    opacity: 1;
    transform: none;
}

@media (hover: none) {
    .lna-frame__zoom-icon {
        opacity: 1;
        transform: none;
    }
}

/* Panel anónimo de TerapIA para empresas */
.lna-dash .lna-call__avatar .lna-icon {
    width: 20px;
    height: 20px;
}

.lna-dash .lna-call__live {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.lna-dash .lna-call__live .lna-icon {
    width: 13px;
    height: 13px;
}

.lna-dash__trend {
    margin: 18px 0 16px;
    padding: 14px 14px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
}

.lna-dash__trend svg {
    display: block;
    width: 100%;
    height: 84px;
}

.lna-dash__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 16px;
}

.lna-dash__kpis span {
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
}

.lna-dash__kpis b {
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, .8);
}

.lna-dash__kpis i {
    display: block;
    height: 34px;
    border-radius: 4px;
    background:
        linear-gradient(90deg, var(--lna-gold) calc(var(--v) * 100%), rgba(255, 255, 255, .08) 0) bottom / 100% 6px no-repeat,
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .12) 0 6px, transparent 6px 10px) top / 100% 22px no-repeat;
}

.lna-dash__label {
    margin: 0 0 10px !important;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lna-gold-soft);
}

/* ---------- Testimonios (cita + vídeo) ---------- */
.lna-quote {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(24px, 4vw, 64px);
    align-items: center;
    margin: 0;
}

.lna-quote__video {
    position: relative;
    display: block;
    width: clamp(180px, 20vw, 260px);
    aspect-ratio: 2 / 3;
    padding: 0;
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    background: var(--lna-navy);
    box-shadow: var(--lna-shadow-lg);
    cursor: pointer;
}

.lna-quote__video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--lna-ease);
}

.lna-quote__video::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(6, 18, 34, .55), rgba(6, 18, 34, 0) 50%);
}

.lna-quote__video:hover img {
    transform: scale(1.04);
}

.lna-quote__play {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-left: -28px;
    border-radius: 50%;
    background: #fff;
    color: var(--lna-navy);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .35);
    transition: transform .3s var(--lna-ease);
}

.lna-quote__play::after {
    content: '';
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .6);
    animation: lna-ring 2.4s infinite;
}

.lna-quote__video:hover .lna-quote__play {
    transform: scale(1.08);
}

.lna-quote__play .lna-icon {
    width: 22px;
    height: 22px;
    margin-left: 3px;
}

.lna-quote__body {
    position: relative;
}

.lna-quote__mark {
    display: block;
    height: .5em;
    font-family: var(--lna-serif);
    font-size: clamp(90px, 9vw, 140px);
    line-height: 1;
    color: var(--lna-gold);
}

.lna-quote blockquote {
    margin: 0;
}

.lna-quote blockquote p {
    margin: 0;
    font-family: var(--lna-serif);
    font-size: clamp(1.45rem, 1.05rem + 1.4vw, 2.3rem);
    line-height: 1.3;
    letter-spacing: -.015em;
    color: var(--lna-ink);
    text-wrap: pretty;
}

.lna-quote blockquote .lna-quote__second {
    margin-top: 18px;
    font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem);
    color: var(--lna-ink-2);
}

.lna-quote figcaption {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    margin-top: 22px;
    font-size: 15px;
}

.lna-quote figcaption strong {
    color: var(--lna-ink);
    font-size: 16px;
}

.lna-quote figcaption span {
    padding-left: 14px;
    border-left: 1px solid var(--lna-line);
    color: var(--lna-muted);
}

.lna-quote figcaption .lna-link {
    margin-left: auto;
}

.lna-testimonials .lna-section-head--row .lna-lead {
    max-width: 44ch;
    margin: 0;
}

/* Portada: los testimonios en paralelo, cada uno con su vídeo. */
.lna-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 32px);
}

.lna-quote--card {
    grid-template-columns: minmax(150px, 38%) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(18px, 2.2vw, 30px);
    padding: clamp(14px, 1.6vw, 22px);
    border: 1px solid var(--lna-line);
    border-radius: 18px;
    background: var(--lna-bg);
}

.lna-section--warm .lna-quote--card {
    background: var(--lna-surface);
}

.lna-quote--card .lna-quote__video {
    width: 100%;
    height: 100%;
    min-height: 320px;
    aspect-ratio: auto;
    box-shadow: none;
}

.lna-quote--card .lna-quote__body {
    display: flex;
    flex-direction: column;
    padding-block: 10px 6px;
}

.lna-quote--card .lna-quote__mark {
    font-size: 84px;
}

.lna-quote--card blockquote p {
    font-size: clamp(1.15rem, 1rem + .5vw, 1.42rem);
    line-height: 1.38;
}

.lna-quote--card figcaption {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-top: auto;
    padding-top: 22px;
}

.lna-quote--card figcaption span {
    padding-left: 0;
    border-left: 0;
}

.lna-quote--card figcaption .lna-link {
    margin: 12px 0 0;
}

@media (max-width: 1080px) {
    .lna-testimonials__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .lna-quote--card .lna-quote__video {
        height: auto;
        min-height: 0;
        aspect-ratio: 1;
    }

    .lna-quote--card .lna-quote__video img {
        object-position: 50% 28%;
    }

    .lna-quote--card .lna-quote__body {
        padding: 0 4px 6px;
    }
}

@media (max-width: 640px) {
    .lna-quote {
        grid-template-columns: 1fr;
    }

    .lna-quote__video {
        width: 100%;
        aspect-ratio: 4 / 3;
    }

    .lna-quote__video img {
        object-position: 50% 22%;
    }

    .lna-quote figcaption .lna-link {
        margin-left: 0;
        width: 100%;
    }
}


/* ---------- Productos: Walkie, organizaciones, PsicoTrain ---------- */
.lna-phones--product {
    position: relative;
}

.lna-phones__badge {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 9px 16px;
    border-radius: 99px;
    background: var(--lna-surface);
    box-shadow: var(--lna-shadow-md);
    font-size: 14px;
    font-weight: 700;
    color: var(--lna-teal-700);
    white-space: nowrap;
    transform: translateX(-50%);
}

.lna-phones__badge .lna-icon {
    width: 18px;
    height: 18px;
}

.lna-product__orgs {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 14px;
    margin-top: 6px;
    padding-top: 22px;
    border-top: 1px solid rgba(13, 27, 42, .08);
}

.lna-product__orgs-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 8px 0 0 !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-product__orgs-label .lna-icon {
    width: 16px;
    height: 16px;
}

.lna-product__org {
    flex: 1 1 280px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .8);
    border: 1px solid rgba(13, 27, 42, .08);
    color: var(--lna-ink);
    text-decoration: none;
    transition: border-color .25s, box-shadow .25s, transform .25s var(--lna-ease);
}

.lna-product__org:hover {
    border-color: var(--lna-line-blue);
    box-shadow: var(--lna-shadow-sm);
    transform: translateY(-2px);
}

.lna-product__org span {
    flex: 1;
    display: grid;
    gap: 2px;
}

.lna-product__org strong {
    font-size: 15.5px;
}

.lna-product__org small {
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--lna-muted);
}

.lna-product__org > .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-primary);
}

.lna-product__quote a {
    white-space: nowrap;
    color: var(--lna-primary);
    font-weight: 600;
}

.lna-b2b__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
    margin-top: auto;
}

.lna-b2b__band {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2.4vw, 32px);
    margin-top: 22px;
    padding: clamp(22px, 2.4vw, 32px);
    border-radius: 14px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    box-shadow: var(--lna-shadow-sm);
}

.lna-b2b__band-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: var(--lna-teal-soft, #e3f3f5);
    color: var(--lna-teal-700, #21747d);
}

.lna-b2b__band-icon .lna-icon {
    width: 30px;
    height: 30px;
}

.lna-b2b__band .lna-b2b__name span {
    font-weight: 400;
    color: var(--lna-ink-2);
}

.lna-b2b__band p:last-child {
    margin: 4px 0 0 !important;
    color: var(--lna-text);
}

@media (max-width: 760px) {
    .lna-b2b__band {
        grid-template-columns: 1fr;
    }

    .lna-phones__badge {
        font-size: 13px;
    }
}

.lna-gallery.lna-gallery--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px) {
    .lna-gallery.lna-gallery--2 {
        grid-template-columns: 1fr;
    }
}

/* Las dos tarjetas para organizaciones con la misma altura de imagen. */
.lna-b2b__visual {
    height: 300px;
    overflow: hidden;
}

.lna-b2b__band .lna-b2b__name {
    font-size: clamp(22px, 1.4vw + 10px, 28px);
    line-height: 1.2;
}

@media (max-width: 640px) {
    .lna-b2b__visual {
        height: 250px;
    }
}

/* ==========================================================================
   Páginas de cada solución y de cada sector (/soluciones/<x>/, /sectores/<x>/)
   ========================================================================== */

.lna-explorer__panel.lna-explorer__panel--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lna-detailpage .lna-layer h3 {
    margin: 0 !important;
}

.lna-morelinks-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 64px;
}

.lna-morelinks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lna-morelinks a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 16px 10px 13px;
    background: var(--lna-surface);
    border: 1px solid var(--lna-line);
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    color: var(--lna-ink-2);
    transition: border-color .2s, color .2s, transform .25s var(--lna-ease);
}

.lna-morelinks a:hover {
    border-color: var(--lna-primary);
    color: var(--lna-primary);
    transform: translateY(-2px);
}

.lna-morelinks .lna-icon {
    width: 18px;
    height: 18px;
    color: var(--lna-gold);
}

@media (max-width: 900px) {
    .lna-explorer__panel.lna-explorer__panel--2,
    .lna-morelinks-wrap {
        grid-template-columns: 1fr;
    }
}

/* ---------- Pie: enlaces a soluciones, sectores y productos ---------- */

.lna-footer__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 40px;
    padding-block: 28px 32px;
    border-top: 1px solid var(--lna-line-soft);
}

.lna-footer__links p {
    margin: 0 0 12px !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lna-muted);
}

.lna-footer__links ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lna-footer__links a {
    color: var(--lna-ink-2);
    transition: color .2s;
}

.lna-footer__links a:hover {
    color: var(--lna-primary);
}

@media (max-width: 760px) {
    .lna-footer__links {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .lna-footer__links {
        grid-template-columns: 1fr;
    }
}

/* ---------- Nosotros: ficha de la empresa ---------- */

.lna-facts {
    display: grid;
    margin: 0;
    border-top: 1px solid var(--lna-line);
}

.lna-facts > div {
    display: grid;
    grid-template-columns: minmax(150px, .38fr) 1fr;
    gap: 6px 28px;
    padding: 15px 0;
    border-bottom: 1px solid var(--lna-line);
}

.lna-facts dt {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lna-muted);
    padding-top: 3px;
}

.lna-facts dd {
    margin: 0;
    color: var(--lna-ink-2);
    line-height: 1.55;
}

@media (max-width: 640px) {
    .lna-facts > div {
        grid-template-columns: 1fr;
    }
}

/* Títulos de las tarjetas de Soluciones y Sectores: enlazan a su página. */
.lna-solution__title a,
.lna-sector__title a {
    color: inherit;
    transition: color .2s;
}

.lna-solution__title a:hover,
.lna-sector__title a:hover {
    color: var(--lna-primary);
}

.lna-panel__foot {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lna-explorer__more {
    margin-top: 8px;
}
