/* NEWSON — páginas interiores. Blanco cálido, grafito y acentos de precisión. */
body:not(.page-inicio) { --r-sm: 6px; --r-md: 9px; --r-lg: 12px; --r-xl: 14px; }
body:not(.page-inicio) .n-main { overflow: clip; }
.n-page-hero { padding: 137px 0 34px; background: #fafaf9; border-bottom: 0; }
.n-page-hero::after { display: none; }
.n-page-signature { position: absolute; right: max(24px,calc((100vw - 1320px)/2)); bottom: 10px; font: 300 270px/.9 var(--font); letter-spacing: -.09em; color: #ededeb; pointer-events: none; }
.n-crumbs { font-size: 9px; letter-spacing: .08em; margin-bottom: 46px; }
.n-crumbs a { color: #83878c; }
.n-crumbs b { color: #4c5056; }
.n-page-hero__row { grid-template-columns: minmax(0,1.45fr) minmax(0,.65fr); align-items: end; gap: 8%; }
.n-page-kicker { display: flex; align-items: center; gap: 9px; font: 9px var(--mono); color: #686c72; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 24px; }
.n-page-kicker i { display: inline-block; width: 6px; height: 6px; background: var(--brand); border-radius: 1px; transform: rotate(45deg); }
.n-page-hero h1 { font-size: clamp(45px,5.5vw,78px); line-height: 1.02; letter-spacing: -.06em; max-width: 19ch; font-weight: 450; }
.n-page-hero h1 span { color: #92969a; }
.n-page-hero__aside { padding-bottom: 4px; }
.n-page-hero .n-lead { font-size: 14px; line-height: 1.9; max-width: 40ch; color: #777c82; }
.n-editorial-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; font-size: 12px; font-weight: 500; padding: 12px 0; border-bottom: 1px solid #cdd0d2; color: var(--ink); transition: border-color .2s,color .2s; }
.n-editorial-link span { font-size: 19px; color: var(--brand-600); transition: transform .2s; }
.n-editorial-link:hover { color: var(--brand-700); border-color: var(--brand); }
.n-editorial-link:hover span { transform: translate(2px,-2px); }
.n-page-hero__aside .n-editorial-link { margin-top: 22px; }
.n-page-hero__meta { margin-top: 46px; font-size: 8px; letter-spacing: .1em; }
.n-page-hero__meta span:first-child { color: #696e74; text-transform: uppercase; }
.n-team-story { position: relative; margin: 35px 0 0; overflow: hidden; border-radius: 10px; background: #ddd; }
.n-team-story img { width: 100%; height: auto; min-height: 240px; max-height: 385px; object-fit: cover; object-position: 50% 44%; display: block; filter: saturate(.62); }
.n-team-story::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,#191c239c); pointer-events: none; }
.n-team-story figcaption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 23px; display: flex; align-items: end; justify-content: space-between; gap: 20px; color: white; }
.n-team-story figcaption > span:first-child { font-size: 21px; letter-spacing: -.02em; }
.n-team-story figcaption > span:last-child { font: 8px var(--mono); letter-spacing: .08em; color: #dedfdf; }
.n-section-nav { position: sticky; top: 71px; z-index: 60; background: #fafaf9f5; border-block: 1px solid #e0e2e2; backdrop-filter: blur(18px); }
.n-section-nav > div { display: flex; align-items: center; gap: 32px; overflow-x: auto; scrollbar-width: thin; }
.n-section-nav__label { margin-right: auto; padding-block: 19px; font: 9px var(--mono); letter-spacing: .08em; color: #9a9da1; text-transform: uppercase; }
.n-section-nav a { flex: none; padding: 20px 0; position: relative; font-size: 11px; color: #72777d; white-space: nowrap; }
.n-section-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--brand); transform: scaleX(0); transition: transform .25s; }
.n-section-nav a.is-active { color: var(--ink); }
.n-section-nav a.is-active::after, .n-section-nav a:hover::after { transform: scaleX(1); }
.n-section[id], #sedes { scroll-margin-top: 50px; }
body:not(.page-inicio) .n-section--surface { background: #f0f1ef; border-block: 1px solid #e7e8e6; }
body:not(.page-inicio) .n-head h2, body:not(.page-inicio) .n-split h2 { max-width: 25ch; }
body:not(.page-inicio) .n-head--row { display: flex; align-items: end; justify-content: space-between; }
body:not(.page-inicio) .n-head__meta { font-size: 9px; margin-bottom: 25px; }
body:not(.page-inicio) .n-index { width: 25px; height: 25px; font-size: 9px; }
body:not(.page-inicio) .n-split .n-lead { font-size: 14px; line-height: 1.95; color: #777c82; margin-top: 24px; max-width: 51ch; }

/* Nosotros: fotografía propia, cifras editoriales y una cronología legible. */
.n-stat-grid { gap: 16px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.n-stat { padding: 25px; background: #ededeb; border-radius: 9px; min-height: 173px; }
.n-stat:nth-child(2) { background: #f5ede3; }
.n-stat:nth-child(3) { background: #e5e7e8; }
.n-stat:nth-child(4) { background: #f2f2f0; }
.n-stat:hover { background: #e9e8e4; }
.n-stat strong { margin-top: 20px; font-size: clamp(42px,4.8vw,65px); font-weight: 400; letter-spacing: -.065em; }
.n-stat span { font-size: 11px; color: #6c7279; margin-top: 14px; }
.n-stat i { font-size: 12px; color: #a28c72; }
.n-sticky-split__head h2 { font-weight: 400; font-size: clamp(32px,3.4vw,45px); line-height: 1.12; }
.n-sticky-split__head { top: 162px; }
.n-sticky-split__head p { font-size: 13px; line-height: 1.85; }
.n-row { grid-template-columns: 25px 38px 1fr; gap: 19px; padding-block: 26px; }
.n-row__num { font-size: 9px; padding-top: 12px; }
.n-row__icon { width: 36px; height: 36px; background: transparent; border: 1px solid #d8dbdb; border-radius: 50%; font-size: 12px; }
.n-row:hover .n-row__icon { background: #f4dfc8; color: #a36227; border-color: #e8ba8c; box-shadow: none; }
.n-row h3 { font-size: 18px; line-height: 1.35; font-weight: 500; margin-bottom: 10px; }
.n-row p { font-size: 13px; line-height: 1.85; }
.n-history-section { background: #f8f8f6; }
.n-htrack { margin-top: 65px; gap: 20px; }
.n-htrack::before { top: 67px; background: #d7d9d8; }
.n-htrack li { padding: 0; }
.n-htrack__year { font-family: var(--font); font-size: 38px; font-weight: 350; letter-spacing: -.055em; line-height: 1; color: #464d54; margin-bottom: 24px; }
.n-htrack__node { width: 9px; height: 9px; border-width: 1px; box-shadow: 0 0 0 6px #f8f8f6; margin-bottom: 26px; }
.n-htrack h3 { font-size: 17px; font-weight: 500; }
.n-htrack p { font-size: 12px; line-height: 1.8; padding-right: 12px; }
.n-tabs { gap: 40px; grid-template-columns: 180px minmax(0,1fr); }
.n-tabs__nav button { border-radius: 5px; font-size: 24px; font-weight: 400; }
.n-tabs__nav button.is-active { background: #292e35; border-color: #292e35; color: #fff; box-shadow: none; }
.n-tabs__nav button.is-active small { color: #ecb178; }
.n-tabs__panel { gap: 0; border-top: 1px solid #d9dcdb; }
.n-award { padding: 22px 4px; gap: 24px; background: transparent; border: 0; border-bottom: 1px solid #d9dcdb; border-radius: 0; }
.n-award b { font-size: 14px; font-weight: 500; }
.n-award p { font-size: 12px; line-height: 1.75; }
.n-award__year { font-size: 10px; }
.n-purpose { gap: 24px; margin-bottom: 80px; }
.n-purpose__card { background: #292e35; border: 0; box-shadow: none; padding: 40px; min-height: 390px; }
.n-purpose__card .n-head__meta { color: #c3c8ce; }
.n-purpose__card .n-index { color: #e8ad73; border-color: #ffffff33; }
.n-purpose__card h2 { color: #f4f4f2; font-weight: 400; font-size: clamp(27px,2.7vw,37px); margin: 5px 0 25px; }
.n-purpose__card p { color: #b1b8c1; font-size: 13px; line-height: 1.9; }
.n-purpose__card .n-chips span { background: transparent; border-color: #ffffff2e; color: #b9c0c7; font-size: 9px; border-radius: 4px; }
.n-purpose__card--vision { background: #edeae4; }
.n-purpose__card--vision .n-head__meta { color: #666c70; }
.n-purpose__card--vision .n-index { color: #a26329; border-color: #cfc4b6; }
.n-purpose__card--vision h2 { color: #33393f; }
.n-purpose__card--vision p { color: #777c81; }
.n-purpose__card--vision .n-chips span { color: #787b7f; border-color: #ccc9c3; }
.n-purpose__rings { opacity: .45; }
.n-values { gap: 18px; }
.n-value { background: none; border: 0; border-top: 1px solid #daddde; border-radius: 0; padding: 25px 10px 25px 0; box-shadow: none; }
.n-value:hover { transform: none; box-shadow: none; }
.n-value__top { margin-bottom: 23px; }
.n-value__top > .n-mono { font-size: 9px; }
.n-value h3, .n-doc h3 { font-size: 20px; font-weight: 500; }
.n-value p, .n-doc p { font-size: 13px; line-height: 1.85; }
.n-docs { gap: 20px; }
.n-doc { background: #fafaf8; padding: 27px; border-color: #dddfde; border-radius: 9px; }
.n-doc__top { margin-bottom: 25px; }
.n-doc__top > .n-mono { font-size: 8px; }
.n-doc .n-btn { font-size: 11px; --bh: 41px; padding-inline: 15px; }
.n-doc:hover { box-shadow: 0 12px 25px -20px #3338; }
.n-banner { padding: 25px; background: transparent; border: 0; border-top: 1px solid #d8dcda; border-radius: 0; margin-top: 28px; }
.n-banner strong { font-size: 13px; }
.n-banner p, .n-banner .n-link { font-size: 11px; }
.n-banner__icon { background: #e2e4e1; color: #737a7d; border-radius: 50%; width: 35px; height: 35px; font-size: 11px; }
.n-cert-grid { border-radius: 9px; border-color: #e1e3e3; }
.n-cert { background: #f4f4f1; padding-inline: 12px; }
.n-cert b { font-size: 13px; }
.n-cert small { font-size: 10px; margin-top: 7px; }
.n-carbon { margin-top: 24px; border-radius: 9px; box-shadow: none; background: #f2f1ec; }
.n-carbon p { font-size: 13px; line-height: 1.85; }
.n-carbon .n-index { border-color: #dec5a9; background: #f4e4d2; color: #a66a30; }
.n-chip-ok { color: #89613a; border-color: #d7c6b3; font-size: 10px; border-radius: 5px; background: transparent; }

/* Representaciones: directorio filtrable con marcas y perfiles conectados. */
.n-reps-count { padding-left: 35px; border-left: 1px solid #daddde; }
.n-reps-count strong { font-size: 65px; font-weight: 350; }
.n-reps-count .n-mono { font-size: 9px; }
.n-brand-explorer { margin-bottom: 27px; }
.n-brand-explorer__top { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-bottom: 20px; }
.n-brand-explorer__top > span { font-size: 9px; color: #787e84; }
.n-brand-search { display: flex; align-items: center; gap: 12px; background: #efefed; border: 1px solid #e0e2e1; border-radius: 6px; padding: 0 15px; width: min(340px,65%); }
.n-brand-search:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px #e78a2e12; }
.n-brand-search > i { color: #999ea2; font-size: 12px; }
.n-brand-search input { appearance: none; width: 100%; min-width: 0; background: transparent; border: 0; outline: none; font-size: 12px; color: #333940; padding-block: 14px; }
.n-brand-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.n-brand-filters button { font: 11px var(--font); border: 1px solid #dbdede; border-radius: 5px; padding: 9px 13px; background: transparent; color: #737a80; cursor: pointer; transition: all .2s; }
.n-brand-filters button:hover { border-color: #b0b4b8; color: #333; }
.n-brand-filters button[aria-pressed="true"] { background: #2c3138; border-color: #2c3138; color: #fff; }
.n-brand-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.n-brand { min-width: 0; min-height: 215px; padding: 20px; border: 1px solid #e1e3e2; border-radius: 8px; background: #f0f1ef; }
.n-brand:hover { background: #fff; border-color: #d4b594; box-shadow: 0 8px 24px -18px #30343c80; }
.n-brand__index { display: flex; justify-content: space-between; color: #9a9fa4; font: 8px var(--mono); }
.n-brand__index i { font-size: 9px; color: #9b9fa3; }
.n-brand:hover .n-brand__index i { color: var(--brand-600); }
.n-brand__logo { min-height: 100px; padding: 16px 8px; }
.n-brand__logo img { width: 100%; max-width: 135px; max-height: 42px; opacity: .85; }
.n-brand__meta { border-top-style: solid; padding-top: 14px; min-height: 62px; }
.n-brand__meta b { font-size: 13px; font-weight: 500; margin-bottom: 5px; }
.n-brand__meta small { font-size: 10px; line-height: 1.6; }
.n-brand-empty { padding: 55px 20px; text-align: center; border: 1px dashed #cdd0d1; border-radius: 9px; }
.n-brand-empty > i { font-size: 22px; color: #c7a783; }
.n-brand-empty h3 { font-size: 22px; margin-top: 18px; }
.n-brand-empty p { font-size: 13px; color: #7a8086; }
.n-brand-empty button { border: 0; border-bottom: 1px solid #c6a47f; background: none; color: #875c32; font-size: 12px; padding: 8px; }
.n-brand-empty[hidden], .n-brand[hidden], .n-profile[hidden], #perfiles[hidden] { display: none; }
.n-profiles { gap: 20px; }
.n-profile { border-radius: 9px; border-color: #dadddb; background: #f7f7f4; padding: 28px; scroll-margin-top: 60px; }
.n-profile__logo { border: 0; border-radius: 4px; background: #fff; width: 120px; height: 60px; }
.n-profile__head > .n-mono { font-size: 9px; }
.n-profile h3 { font-size: 23px; font-weight: 500; }
.n-profile__tag { border: 0; background: none; color: #a86a31; padding: 0; font-size: 10px; line-height: 1.6; margin-bottom: 19px; }
.n-profile p { font-size: 12px; line-height: 1.9; }
.n-profile li { font-size: 11px; line-height: 1.7; }
.n-profile li i { font-size: 8px; color: #b88550; }
.n-profile .n-link { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 11px; border-bottom: 0; padding-top: 15px; border-top: 1px solid #dadddb; }

/* Contacto: pasos claros, especialidades visibles, canales alternativos. */
.n-contact { grid-template-columns: minmax(0,1.5fr) minmax(0,.85fr); gap: 38px; }
.n-form-card { border-radius: 10px; border-color: #dfe2e0; padding: 36px; box-shadow: none; }
.n-form-card h2 { font-weight: 450; font-size: 34px; }
.n-form-card__lead { font-size: 13px; line-height: 1.8; margin: 13px 0 32px; }
.n-form { gap: 25px; }
.n-form-step, .n-field > .n-form-step { display: flex; align-items: center; gap: 9px; font-size: 11px; color: #494f56; width: 100%; }
.n-form-step > span { font: 9px var(--mono); color: #b1763e; border: 1px solid #e4d5c4; width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.n-form-step b { font-weight: 500; }
.n-form-step small { margin-left: auto; font-size: 9px; color: #94999d; font-weight: 400; }
.n-field > span, .n-choices legend { font-size: 11px; font-weight: 500; margin-bottom: 8px; }
.n-field input, .n-field textarea, .n-field select { background: #f6f6f4; border: 1px solid #dce0df; border-radius: 5px; font: 13px var(--font); min-height: 49px; padding: 14px; }
.n-field input::placeholder, .n-field textarea::placeholder { color: #9a9fa2; }
.n-field input:focus, .n-field textarea:focus, .n-field select:focus { box-shadow: 0 0 0 3px #e78a2e12; border-color: #cb955f; }
.n-choices__grid { gap: 8px; margin-top: 9px; }
.n-choice span { font-size: 10px; height: 48px; padding: 0 10px; gap: 8px; background: #fafaf8; border-color: #dde0df; border-radius: 5px; }
.n-choice span i { font-size: 12px; }
.n-choice input:checked + span { background: #f5e7d7; border-color: #ce985e; box-shadow: none; }
.n-form__foot { flex-wrap: wrap; gap: 22px; padding-top: 24px; }
.n-check { font-size: 10px; max-width: 40ch; line-height: 1.65; gap: 9px; }
.n-check__box { width: 17px; height: 17px; border-radius: 3px; }
.n-form__foot .n-btn { font-size: 12px; --bh: 46px; color: #292e34; }
.n-contact__side { top: 154px; }
.n-contact-note { padding: 27px; background: #2d333a; border-radius: 9px; margin-bottom: 20px; color: #e1e4e6; }
.n-contact-note > .n-mono { font-size: 8px; color: #d9ad7e; letter-spacing: .09em; }
.n-contact-note h3 { color: #fff; font-size: 28px; font-weight: 400; letter-spacing: -.04em; line-height: 1.13; margin: 24px 0 16px; }
.n-contact-note h3 span { color: #b2bac1; }
.n-contact-note p { font-size: 12px; line-height: 1.85; color: #abb4bf; }
.n-contact-note a { display: flex; justify-content: space-between; font-size: 11px; color: #fff; margin-top: 23px; padding-top: 17px; border-top: 1px solid #ffffff25; }
.n-contact-note a i { color: #dca56c; }
.n-info-card { border-radius: 9px; box-shadow: none; border-color: #dfe2e0; }
.n-info-card__map { aspect-ratio: 1.6; }
.n-info-card__body { padding: 25px; background: #f2f3f0; }
.n-info-card__body .n-mono { font-size: 8px; }
.n-info-card__body h3 { font-size: 21px; font-weight: 500; margin: 10px 0 20px; }
.n-info-list li { font-size: 11px; gap: 8px; overflow-wrap: anywhere; }
.n-info-list i { background: #e4e7e4; color: #7d8486; width: 26px; height: 26px; border-radius: 50%; font-size: 9px; }
.n-info-card__sub a { font-size: 11px; margin-top: 5px; }
.n-directory { gap: 16px; border: 0; background: none; overflow: visible; }
.n-dir { border: 1px solid #dce0dd; border-radius: 8px; background: #f9f9f7; padding: 24px; }
.n-dir > .n-mono { font-size: 8px; }
.n-dir b { font-size: 21px; font-weight: 450; margin-top: 23px; }
.n-dir__mail { font-size: 12px; overflow-wrap: anywhere; }
.n-dir__arrow { width: 29px; height: 29px; font-size: 10px; border-color: #dadfdb; top: 21px; right: 21px; }
.n-dir:hover { background: #fff; border-color: #c5a47e; }

/* Catálogo: mismos datos y consultas, una entrada visual nueva. */
.page-productos .n-main { padding-top: 34px; }
.n-catalog-toolbar { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; align-items: center; }
.n-catalog-toolbar .n-mono { font-size: 8px; color: #7e858b; letter-spacing: .1em; }
.n-catalog-toolbar > span:last-child { font-size: 11px; color: #92979c; }
.page-productos .seccion-productos .navbar { position: relative; top: auto; }
.page-productos .seccion-productos .navbar-toggler { display: none; }
.page-productos #navbar_prods { display: block !important; }
.page-productos #navbar_prods .nav-tabs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-radius: 7px; padding: 0; gap: 0; width: 100%; background: #eeefed; box-shadow: none; overflow: hidden; }
.page-productos #navbar_prods .nav-tabs .nav-link { height: 77px; padding: 14px 6px !important; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; border-radius: 0 !important; }
.page-productos #navbar_prods .nav-tabs li + li { border-left: 1px solid #dfe2df; }
.page-productos #navbar_prods .nav-tabs .nav-link span { font-size: 10px !important; text-align: center; }
.page-productos #navbar_prods .nav-tabs .nav-link i { font-size: 16px; color: #7e858b; }
.page-productos #navbar_prods .nav-tabs .nav-link.active { background: #31373e !important; color: #fff !important; box-shadow: inset 0 -2px 0 var(--brand); }
.page-productos #navbar_prods .nav-tabs .nav-link.active i { color: #e7a666; }
.page-productos #productos_view { max-width: 100%; width: 100%; }
.page-productos .tab-pane > .row:first-child { display: none; }
.n-catalog-intro { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 370px; border: 1px solid #dfe2df; border-radius: 11px; overflow: hidden; background: #f6f6f3; }
.n-catalog-intro[hidden] { display: none; }
.n-catalog-media { position: relative; display: grid; place-items: center; padding: 40px; background: #e7e8e9; overflow: hidden; }
.n-catalog-media::before { content: ''; position: absolute; width: 220px; height: 220px; border: 1px solid #cdd0d4; border-radius: 50%; box-shadow: 0 0 0 40px #cdd0d420,0 0 0 80px #cdd0d414; }
.n-catalog-media__index { position: absolute; top: 12px; left: 24px; color: #d4d7da; font-size: 145px; font-weight: 300; letter-spacing: -.08em; line-height: 1; }
.n-catalog-media img { position: relative; z-index: 1; max-width: 85%; max-height: 255px; object-fit: contain; filter: drop-shadow(0 20px 16px #343c3b20); mix-blend-mode: multiply; }
.n-catalog-media__caption { position: absolute; bottom: 19px; left: 23px; font: 8px var(--mono); letter-spacing: .08em; color: #7d8581; text-transform: uppercase; }
.n-catalog-copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; align-items: start; }
.n-catalog-copy .n-page-kicker { font-size: 9px; margin-bottom: 16px; }
.n-catalog-copy h2 { font-size: clamp(27px,3vw,40px); line-height: 1.09; letter-spacing: -.05em; font-weight: 450; margin-bottom: 20px; max-width: 22ch; }
.n-catalog-copy p { font-size: 13px; line-height: 1.85; color: #7b8287; max-width: 46ch; margin: 0; }
.n-catalog-copy .n-chips { margin: 0; padding: 18px 0 25px; gap: 6px; }
.n-catalog-copy .n-chips span { border-radius: 4px; font-size: 8px; padding: 5px 7px; background: transparent; color: #81898b; }
.n-catalog-actions { display: flex; gap: 25px; align-items: center; width: 100%; }
.n-catalog-actions .n-btn { font-size: 11px; --bh: 43px; padding-inline: 17px; }
.n-catalog-actions .n-editorial-link { font-size: 10px; gap: 18px; }
.n-catalog-section-title { margin-top: 38px; padding-bottom: 19px; border-bottom: 1px solid #dfe2df; display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.n-catalog-section-title .n-mono { font-size: 8px; color: #626c73; letter-spacing: .1em; }
.n-catalog-section-title p { margin: 0; font-size: 11px; color: #8a9297; }
.n-catalog-preview { display: flex; gap: 9px; align-items: baseline; margin: 16px 0 5px; color: #989da1; font-size: 10px; line-height: 1.7; }
.n-catalog-preview i { color: #bd9367; }
.page-productos [id$="Menu"].accordion { position: static; background: #eeefed; border: 1px solid #e0e3df; box-shadow: none; border-radius: 7px; padding: 12px; }
.page-productos .accordion-button { font-size: 12px !important; border-radius: 4px !important; padding-block: 15px; }
.page-productos .accordion .accordion .accordion-button { font-size: 11px !important; }
.page-productos .carousel-item > .row { border-radius: 8px; box-shadow: none; background: #f7f7f5; border-color: #e1e4e0; }
.page-productos .carousel-caption.col_desc { font-family: var(--font); }
.page-productos .col_desc h3 { font-family: var(--font); font-weight: 500; }

/* Acceso y registro heredan el mismo lenguaje, sin alterar formularios. */
.n-auth { background: #f1f2ef; border-top: 1px solid #e2e5e0; }
.n-auth__card { border-radius: 10px; border-color: #dbe0d9; box-shadow: 0 12px 40px -30px #272e3670; }
.n-auth__head h2 { font-weight: 450; font-size: 26px; }
.n-auth__head p { font-size: 12px; line-height: 1.8; }
.n-auth__links { font-size: 11px; }
.n-auth__submit { font-size: 12px; }
.n-modal__box { border-radius: 10px; }
.n-modal__grid a { border-radius: 5px; }

@media (max-width: 1100px) {
  .n-page-hero__row { gap: 5%; grid-template-columns: 1.3fr .8fr; }
  .n-page-hero h1 { font-size: 60px; }
  .n-brand-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .n-contact { gap: 22px; grid-template-columns: 1.3fr 1fr; }
  .n-form-card { padding: 25px; }
  .n-choices__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .n-catalog-copy { padding: 28px; }
  .n-catalog-actions { gap: 15px; flex-wrap: wrap; }
  .n-catalog-media { padding: 30px; }
}
@media (max-width: 900px) {
  .n-page-hero { padding-top: 126px; }
  .n-page-hero__row { grid-template-columns: 1fr; gap: 28px; }
  .n-page-hero h1 { font-size: clamp(43px,7.7vw,65px); max-width: 20ch; }
  .n-page-hero .n-lead { max-width: 57ch; font-size: 13px; }
  .n-page-hero__aside { display: flex; align-items: start; gap: 30px; }
  .n-page-hero__aside .n-editorial-link { flex: none; margin-top: 0; }
  .n-page-signature { font-size: 225px; opacity: .7; }
  .n-page-kicker { margin-bottom: 18px; }
  .n-crumbs { margin-bottom: 35px; }
  .n-section-nav > div { gap: 25px; }
  .n-section-nav__label { display: none; }
  .n-team-story img { min-height: 230px; max-height: 280px; }
  .n-team-story figcaption { left: 20px; right: 20px; bottom: 18px; }
  .n-team-story figcaption > span:first-child { font-size: 18px; }
  .n-team-story figcaption > span:last-child { font-size: 6px; }
  .n-contact { grid-template-columns: 1fr; }
  .n-contact__side { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
  .n-contact-note { margin: 0; }
  .n-form-card { padding: 32px; }
  .n-choices__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .n-sticky-split__head { position: static; }
  .n-purpose__card { padding: 30px; }
  .n-profiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .n-catalog-intro { grid-template-columns: .8fr 1.2fr; }
  .n-catalog-copy h2 { font-size: 29px; }
  .n-catalog-media { padding: 25px; }
  .n-catalog-media img { max-width: 100%; }
  .n-catalog-copy p { font-size: 12px; }
  .n-banner { flex-wrap: wrap; padding-inline: 0; }
  .n-htrack { gap: 20px; }
}
@media (max-width: 600px) {
  .n-page-hero { padding: 108px 0 26px; }
  .n-crumbs { font-size: 8px; margin-bottom: 29px; }
  .n-page-kicker { font-size: 7px; margin-bottom: 20px; }
  .n-page-hero h1 { font-size: clamp(38px,10.3vw,56px); letter-spacing: -.055em; }
  .n-page-hero__row { gap: 23px; }
  .n-page-hero__aside { display: block; }
  .n-page-hero .n-lead { font-size: 12px; line-height: 1.9; }
  .n-page-hero__aside .n-editorial-link { margin-top: 14px; font-size: 11px; }
  .n-page-hero__meta { font-size: 6px; gap: 12px; margin-top: 28px; }
  .n-page-signature { bottom: 40px; font-size: 170px; opacity: .5; }
  .n-team-story { margin-top: 25px; border-radius: 7px; }
  .n-team-story img { height: 240px; min-height: 0; object-position: 48% center; }
  .n-team-story figcaption { flex-direction: column; align-items: start; gap: 6px; left: 15px; bottom: 15px; }
  .n-team-story figcaption > span:first-child { font-size: 17px; }
  .n-team-story figcaption > span:last-child { font-size: 6px; }
  .n-section-nav { top: 65px; }
  .n-section-nav > div { gap: 24px; }
  .n-section-nav a { padding-block: 16px; font-size: 10px; }
  .n-section[id], #sedes { scroll-margin-top: 27px; }
  body:not(.page-inicio) .n-section { padding-block: 55px; }
  body:not(.page-inicio) .n-head h2, body:not(.page-inicio) .n-split h2 { font-size: 32px; }
  body:not(.page-inicio) .n-head--row { align-items: start; gap: 25px; flex-direction: column; }
  body:not(.page-inicio) .n-head__meta { margin-bottom: 20px; font-size: 8px; }
  .n-stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .n-stat { padding: 19px; min-height: 145px; }
  .n-stat strong { font-size: 43px; }
  .n-stat span { font-size: 10px; }
  .n-stat i { right: 17px; top: 15px; font-size: 10px; }
  .n-row { grid-template-columns: 20px 1fr; gap: 13px; }
  .n-row__icon { display: none; }
  .n-row h3 { font-size: 17px; }
  .n-row p { font-size: 12px; }
  .n-htrack { grid-template-columns: 1fr; gap: 0; margin-top: 35px; }
  .n-htrack::before { top: 0; bottom: 0; left: 7px; width: 1px; height: auto; right: auto; }
  .n-htrack li { padding: 0 0 30px 35px; }
  .n-htrack__year { font-size: 32px; margin-bottom: 10px; }
  .n-htrack__node { position: absolute; top: 14px; left: 3px; }
  .n-htrack h3 { font-size: 16px; }
  .n-htrack p { max-width: 36ch; }
  .n-tabs { grid-template-columns: 1fr; gap: 22px; }
  .n-tabs__nav { display: flex; flex-direction: row; gap: 6px; overflow-x: auto; padding-bottom: 5px; }
  .n-tabs__nav button { min-width: 78px; padding: 11px; font-size: 20px; flex-direction: column; align-items: start; gap: 3px; }
  .n-tabs__nav button small { font-size: 8px; }
  .n-award { grid-template-columns: 40px 1fr; gap: 16px; padding: 18px 0; }
  .n-award > i { display: none; }
  .n-purpose { grid-template-columns: 1fr; gap: 15px; margin-bottom: 55px; }
  .n-purpose__card { padding: 28px; min-height: 0; }
  .n-purpose__card h2 { font-size: 29px; }
  .n-values, .n-docs { grid-template-columns: 1fr; }
  .n-values { gap: 0; }
  .n-value { padding-block: 25px; }
  .n-value__top { margin-bottom: 17px; }
  .n-doc { padding: 25px; }
  .n-banner { gap: 14px; }
  .n-banner .n-link { overflow-wrap: anywhere; font-size: 10px; }
  .n-cert-grid { grid-template-columns: 1fr 1fr; }
  .n-cert { padding: 22px 15px; }
  .n-carbon { grid-template-columns: 1fr; }
  .n-reps-count { border: 0; padding-left: 0; }
  .n-reps-count strong { font-size: 45px; }
  .n-brand-explorer__top { align-items: stretch; flex-direction: column; gap: 15px; }
  .n-brand-search { width: 100%; }
  .n-brand-filters { gap: 6px; }
  .n-brand-filters button { font-size: 9px; padding: 8px 10px; }
  .n-brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .n-brand { padding: 16px; min-height: 180px; }
  .n-brand__logo { min-height: 80px; padding: 16px 0; }
  .n-brand__logo img { max-width: 105px; max-height: 33px; }
  .n-brand__meta { min-height: 55px; }
  .n-brand__meta b { font-size: 12px; }
  .n-brand__meta small { font-size: 9px; }
  .n-profiles { grid-template-columns: 1fr; }
  .n-profile { padding: 25px; scroll-margin-top: 30px; }
  .n-contact__side { display: flex; flex-direction: column; gap: 20px; }
  .n-contact-note, .n-info-card { width: 100%; }
  .n-form-card { padding: 23px 19px; }
  .n-form-card h2 { font-size: 28px; }
  .n-form-card__lead { font-size: 12px; }
  .n-form-step { flex-wrap: wrap; }
  .n-form-step small { font-size: 8px; }
  .n-form-step b { font-size: 10px; }
  .n-form__grid { grid-template-columns: 1fr; }
  .n-choices__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .n-choice span { font-size: 9px; padding: 0 9px; gap: 7px; }
  .n-form__foot .n-btn { width: 100%; }
  .n-directory { grid-template-columns: 1fr; gap: 12px; }
  .n-dir { padding: 22px; }
  .n-dir b { margin-top: 12px; }
  .n-catalog-toolbar > span:last-child { display: none; }
  .page-productos #navbar_prods .nav-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .page-productos #navbar_prods .nav-tabs .nav-link { height: 67px; padding: 10px 4px !important; gap: 8px; }
  .page-productos #navbar_prods .nav-tabs .nav-link span { font-size: 9px !important; }
  .page-productos #navbar_prods .nav-tabs .nav-link i { font-size: 13px; }
  .n-catalog-intro { grid-template-columns: 1fr; }
  .n-catalog-media { min-height: 235px; padding: 30px; }
  .n-catalog-media img { max-height: 175px; max-width: 75%; }
  .n-catalog-media__index { font-size: 120px; }
  .n-catalog-copy { padding: 27px; }
  .n-catalog-copy h2 { font-size: 31px; }
  .n-catalog-actions { gap: 20px; }
  .n-catalog-section-title { align-items: start; flex-direction: column; gap: 8px; margin-top: 28px; }
  .n-catalog-section-title p { font-size: 10px; }
  .page-productos .tab-pane > span > .row > [class*="col-"] { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .n-auth__card { padding: 27px 22px; }
  .n-auth__head { gap: 13px; }
  .n-auth__head h2 { font-size: 23px; }
  .n-auth__head .n-pillar__icon { width: 40px; height: 40px; flex: none; }
}
@media (prefers-reduced-motion: reduce) {
  .n-section-nav a::after, .n-editorial-link span, .n-brand-filters button { transition: none; }
}
