/* interiors.css — interiores con el vocabulario de la Home nueva · Claude, 20-oct-2026.
   Alcance: body.fnx-site.fnx-interior. Usa los tokens de shared.css (--fnx-*) con valores de respaldo.
   No toca .fnx-header ni .fnx-footer. No cambia IDs, data-* ni scripts. */
body.fnx-site.fnx-interior {
  --i-navy: var(--fnx-navy, #01193d);
  --i-navy-deep: #000a1c;
  --i-paper: var(--fnx-paper, #f6f2e9);
  --i-paper-2: #ece6d8;
  --i-gold: var(--fnx-gold, #bd965c);
  --i-gold-text: #8a5a2b;        /* dorado legible sobre papel (5,2:1) */
  --i-gold-light: #d8b479;       /* dorado legible sobre navy */
  --i-ink: #10151c;
  --i-muted: var(--fnx-muted, #5d6876);
  --i-line: var(--fnx-line, #dcd8cf);
  --i-line-dark: rgba(246, 242, 233, .18);
  --i-gutter: var(--fnx-gutter, clamp(24px, 4.45vw, 80px));
  --i-sans: var(--fnx-sans, "Source Sans 3", sans-serif);
  --i-serif: var(--fnx-serif, "Source Serif 4", serif);
  --i-mono: var(--fnx-mono, "IBM Plex Mono", monospace);
  --i-display: var(--i-sans);     /* titulares como la Home: sans; la serif queda para el acento itálico */
  --i-max: 1320px;
  --edge: var(--i-gutter);         /* los contenedores del sitio usan --edge: así alinean con la cabecera */
  --i-band: var(--i-gutter);     /* las bandas y los contenedores alinean con la cabecera: a todo el ancho, mismo margen */
  background: var(--i-paper);
  color: var(--i-ink);
}
body.fnx-site.fnx-interior .inner-page { padding-top: 0; background: var(--i-paper); }
/* Los contenedores de 1320 px del sitio pasan a todo el ancho, con el margen de la cabecera; la medida de lectura la dan los max-width en ch */
body.fnx-site.fnx-interior .crumb, body.fnx-site.fnx-interior .section-head, body.fnx-site.fnx-interior .prose, body.fnx-site.fnx-interior .project-grid, body.fnx-site.fnx-interior .project-meta-row, body.fnx-site.fnx-interior .business-process, body.fnx-site.fnx-interior .business-criteria, body.fnx-site.fnx-interior .pf-bar, body.fnx-site.fnx-interior .project-prevnext, body.fnx-site.fnx-interior .access-inner, body.fnx-site.fnx-interior .cap-system, body.fnx-site.fnx-interior .audience-grid, body.fnx-site.fnx-interior .contact-grid, body.fnx-site.fnx-interior .diagnostic, body.fnx-site.fnx-interior .brand-workspace, body.fnx-site.fnx-interior .loc-layout { max-width: none; margin-left: 0; margin-right: 0; }
body.fnx-site.fnx-interior .access-inner { max-width: 760px; }
body.fnx-site.fnx-interior .diagnostic h2, body.fnx-site.fnx-interior .diagnostic h3, body.fnx-site.fnx-interior .diag-body h3 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.02em; color: var(--i-navy); }
body.fnx-site.fnx-interior .diag-opt, body.fnx-site.fnx-interior .diag-body label { font-family: var(--i-sans); }

/* ---------- Rótulos, títulos, migas ---------- */
body.fnx-site.fnx-interior .crumb { max-width: none; padding: 18px var(--i-band) 0; background: var(--i-navy); color: rgba(246, 242, 233, .6); font: 400 11px/1.6 var(--i-mono); letter-spacing: .08em; }
body.fnx-site.fnx-interior .crumb a { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .section-kicker { font: 600 11.5px/1.5 var(--i-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--i-gold-text); }
body.fnx-site.fnx-interior .section-title { font-family: var(--i-display); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; color: var(--i-navy); max-width: 18ch; }
body.fnx-site.fnx-interior .section-title em, body.fnx-site.fnx-interior h1 em, body.fnx-site.fnx-interior h2 em { font-family: var(--i-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--i-gold-text); }
body.fnx-site.fnx-interior .section-sub { font: 400 18px/1.55 var(--i-sans); color: var(--i-muted); max-width: 56ch; }
body.fnx-site.fnx-interior .section-head { padding-bottom: 36px; }
body.fnx-site.fnx-interior .section-head .section-title { font-size: clamp(28px, 3.2vw, 42px); }

/* ---------- Apertura de interiores: banda navy continua con la miga ---------- */
body.fnx-site.fnx-interior .static-hero { max-width: none; margin: 0; padding: 36px var(--i-band) 56px; background: var(--i-navy); color: var(--i-paper); }
body.fnx-site.fnx-interior .static-hero .section-kicker { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .static-hero .section-title { color: var(--i-paper); font-size: clamp(40px, 5.2vw, 68px); max-width: 16ch; margin: 14px 0 0; }
body.fnx-site.fnx-interior .static-hero .section-title em { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .static-hero .section-sub { color: rgba(246, 242, 233, .82); margin-top: 22px; }
body.fnx-site.fnx-interior .static-hero + * { margin-top: 0; }

/* ---------- Bloques, prosa, listas ---------- */
body.fnx-site.fnx-interior .block { padding-top: 64px; padding-bottom: 64px; }
body.fnx-site.fnx-interior .prose p { font: 400 17px/1.75 var(--i-sans); color: var(--i-muted); max-width: 66ch; }
body.fnx-site.fnx-interior .prose p:first-child { font-size: 20px; line-height: 1.5; color: var(--i-ink); }
body.fnx-site.fnx-interior .business-process { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 36px; padding: 48px var(--i-gutter) 80px; }
body.fnx-site.fnx-interior .business-process article { border-top: 1px solid var(--i-navy); padding-top: 18px; }
body.fnx-site.fnx-interior .business-process article > span { font: 500 11px/1.4 var(--i-mono); letter-spacing: .1em; color: var(--i-gold-text); }
body.fnx-site.fnx-interior .business-process h2 { font: 500 clamp(22px, 1.8vw, 26px)/1.15 var(--i-display); letter-spacing: -.02em; margin: 14px 0 12px; color: var(--i-navy); }
body.fnx-site.fnx-interior .business-process p { font-size: 15px; line-height: 1.65; color: var(--i-muted); }
body.fnx-site.fnx-interior .business-process .business-output { border-top: 1px solid var(--i-line); margin-top: 18px; padding-top: 14px; font-size: 14.5px; color: var(--i-ink); }
body.fnx-site.fnx-interior .business-criteria details { border-bottom: 1px solid var(--i-line); }
body.fnx-site.fnx-interior .business-criteria summary { font: 500 23px/1.25 var(--i-display); letter-spacing: -.02em; color: var(--i-navy); padding: 20px 0; }
body.fnx-site.fnx-interior .business-criteria summary span { font: 500 11px/1.4 var(--i-mono); letter-spacing: .1em; color: var(--i-gold-text); margin: 0 22px 0 6px; }
body.fnx-site.fnx-interior .business-criteria p { font-size: 16px; line-height: 1.65; color: var(--i-muted); padding: 0 24px 22px 54px; }
body.fnx-site.fnx-interior .audience-card { border-bottom: 1px solid var(--i-line); padding: 28px 0; }
body.fnx-site.fnx-interior .audience-card h3 { font: 500 21px/1.2 var(--i-display); letter-spacing: -.02em; color: var(--i-navy); }
body.fnx-site.fnx-interior .audience-card p { font-size: 15px; line-height: 1.65; color: var(--i-muted); }
body.fnx-site.fnx-interior .audience-card a { font: 500 11.5px/1.4 var(--i-mono); letter-spacing: .06em; color: var(--i-gold-text); }

/* ---------- Llamado final (navy) ---------- */
body.fnx-site.fnx-interior .access { background: var(--i-navy); padding: 84px 0; }
body.fnx-site.fnx-interior .access-inner { padding: 0 var(--i-gutter); }
body.fnx-site.fnx-interior .access .section-kicker, body.fnx-site.fnx-interior .access .eyebrow { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .access h2, body.fnx-site.fnx-interior .access .section-title { color: var(--i-paper); font: 500 clamp(32px, 3.6vw, 48px)/1.04 var(--i-display); letter-spacing: -.03em; max-width: 16ch; }
body.fnx-site.fnx-interior .access .access-copy, body.fnx-site.fnx-interior .access p { color: rgba(246, 242, 233, .82); font-size: 16px; line-height: 1.7; max-width: 56ch; }
body.fnx-site.fnx-interior .access .btn, body.fnx-site.fnx-interior .access .btn-primary { background: var(--i-paper); color: var(--i-navy); border: 0; border-radius: 0; min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; font: 500 15px/1 var(--i-sans); }
body.fnx-site.fnx-interior .access .btn:hover, body.fnx-site.fnx-interior .access .btn-primary:hover { background: #fff; }

/* ---------- Portafolio: apertura conservada, catálogo con medios protagonistas ---------- */
body.fnx-site.fnx-interior .pf-opening { background: var(--i-navy); color: var(--i-paper); padding: 32px var(--i-band) 44px; position: relative; }
body.fnx-site.fnx-interior .pf-opening-head { max-width: none; margin: 0; padding: 0 0 20px; }
body.fnx-site.fnx-interior .pf-opening .section-kicker { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .pf-opening-title { color: var(--i-paper); font: 500 clamp(44px, 5.4vw, 76px)/1 var(--i-display); letter-spacing: -.035em; max-width: 14ch; margin: 14px 0 16px; }
body.fnx-site.fnx-interior .pf-opening-title em { font: italic 400 clamp(38px, 4.6vw, 64px)/1.08 var(--i-serif); letter-spacing: -.01em; color: var(--i-gold-light); }
body.fnx-site.fnx-interior .pf-opening-sub { color: rgba(246, 242, 233, .86); font: 400 18px/1.55 var(--i-sans); max-width: 54ch; }
body.fnx-site.fnx-interior .pf-availability { color: rgba(246, 242, 233, .66); font: 400 13px/1.55 var(--i-sans); max-width: 54ch; }
body.fnx-site.fnx-interior .pf-advisor { right: var(--i-band); color: var(--i-paper); border-color: rgba(246, 242, 233, .35); }
body.fnx-site.fnx-interior .pf-advisor span { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .portfolio-index .section-head { padding-top: 40px; }
body.fnx-site.fnx-interior .pf-bar { gap: 10px 12px; margin-bottom: 28px; }
body.fnx-site.fnx-interior .pf-bar-search, body.fnx-site.fnx-interior .pf-bar-select { background-color: #fff; border: 1px solid var(--i-line); border-radius: 0; color: var(--i-ink); font-family: var(--i-sans); font-size: 14px; }
body.fnx-site.fnx-interior .pf-bar-select { font-family: var(--i-mono); font-size: 12px; letter-spacing: .02em; }
body.fnx-site.fnx-interior .pf-bar-select:hover, body.fnx-site.fnx-interior .pf-bar-search:hover { border-color: var(--i-navy); }
body.fnx-site.fnx-interior .pf-view-btn { border: 1px solid var(--i-line); background: #fff; color: var(--i-navy); font: 500 13px/1 var(--i-sans); padding: 0 16px; border-radius: 0; }
body.fnx-site.fnx-interior .pf-view-btn.is-active { background: var(--i-navy); color: var(--i-paper); border-color: var(--i-navy); }
body.fnx-site.fnx-interior .pf-count { font: 400 12px/1.4 var(--i-mono); color: var(--i-muted); margin-left: auto; }
body.fnx-site.fnx-interior .project-grid { background: none; border: 0; gap: 20px; }
body.fnx-site.fnx-interior .project-card { background: none; border: 0; }
body.fnx-site.fnx-interior .project-card .thumb { aspect-ratio: 16 / 10; background: var(--i-paper-2); }
body.fnx-site.fnx-interior .project-card .thumb img { transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
body.fnx-site.fnx-interior .project-card:hover .thumb img { transform: scale(1.03); }
body.fnx-site.fnx-interior .project-card .thumb .hp-tag { left: 12px; bottom: 12px; padding: 6px 9px; font: 500 9.5px/1.3 var(--i-mono); letter-spacing: .1em; text-transform: uppercase; background: rgba(1, 25, 61, .92); color: var(--i-paper); }
body.fnx-site.fnx-interior .project-card .card-body { background: none; padding: 14px 0 20px; gap: 6px; }
body.fnx-site.fnx-interior .project-card .card-cat { font: 500 10.5px/1.4 var(--i-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--i-gold-text); }
body.fnx-site.fnx-interior .project-card h3 { font: 500 20px/1.2 var(--i-display); letter-spacing: -.015em; color: var(--i-navy); }
body.fnx-site.fnx-interior .project-card .card-loc { font: 400 13.5px/1.5 var(--i-sans); color: var(--i-muted); }
body.fnx-site.fnx-interior .project-card:focus-visible { outline: 2px solid var(--i-gold); outline-offset: 4px; }
/* Sin imagen pública: no se finge un visual; la ubicación y el tipo son el dato */
body.fnx-site.fnx-interior .fnx-card--text .thumb { aspect-ratio: auto; min-height: 0; background: var(--i-navy); display: block; }
body.fnx-site.fnx-interior .fnx-card--text .catalog-location-plate { position: static; inset: auto; display: grid; gap: 8px; padding: 26px 24px 24px; background: var(--i-navy); color: var(--i-paper); min-height: 0; border: 0; box-shadow: none; }
body.fnx-site.fnx-interior .fnx-card--text .catalog-location-eyebrow { font: 500 10.5px/1.4 var(--i-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--i-gold-light); }
body.fnx-site.fnx-interior .fnx-card--text .catalog-location-plate h3 { font: 500 24px/1.12 var(--i-display); letter-spacing: -.02em; color: var(--i-paper); margin: 2px 0 10px; }
body.fnx-site.fnx-interior .fnx-card--text .catalog-location-note { font: 400 11px/1.5 var(--i-mono); letter-spacing: .04em; color: rgba(246, 242, 233, .62); }
body.fnx-site.fnx-interior .fnx-card--text .catalog-location-note i { font-style: normal; }
body.fnx-site.fnx-interior .fnx-card--text .card-body { padding-top: 12px; }
body.fnx-site.fnx-interior .fnx-card--text .card-loc { color: var(--i-ink); font-size: 14.5px; }
body.fnx-site.fnx-interior .fnx-card--text:hover .catalog-location-plate h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--i-gold-light); }
body.fnx-site.fnx-interior .pf-empty-state { font: 400 16px/1.6 var(--i-sans); color: var(--i-muted); }

/* ---------- Ficha: el medio manda; el nombre y los datos, sobre navy ---------- */
body.fnx-site.fnx-interior .project-hero.fnx-hero--media { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); gap: 0; align-items: stretch; height: auto; min-height: 0; padding: 0; margin: 0; background: var(--i-navy); color: var(--i-paper); }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media > img { position: static; inset: auto; justify-self: stretch; width: 100%; max-width: none; height: 100%; max-height: none; min-height: 360px; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media > .scrim { display: none; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-content { position: static; max-width: none; width: auto; margin: 0; padding: clamp(32px, 3.4vw, 48px) var(--i-gutter) clamp(28px, 3vw, 40px) clamp(28px, 3vw, 44px); display: flex; flex-direction: column; justify-content: flex-end; gap: 0; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .eyebrow { color: var(--i-gold-light); font: 600 11.5px/1.5 var(--i-mono); letter-spacing: .14em; text-transform: uppercase; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .hero-title { color: var(--i-paper); font: 500 clamp(34px, 3.6vw, 54px)/1 var(--i-display) !important; letter-spacing: -.035em; margin: 14px 0 18px; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .render-tag { font: 400 12px/1.5 var(--i-mono); letter-spacing: .04em; text-transform: none; color: var(--i-gold-light); margin: 0 0 10px; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-context { color: rgba(246, 242, 233, .85); font: 400 16px/1.5 var(--i-sans); margin: 0 0 22px; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-contact { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; background: var(--i-paper); color: var(--i-navy); border: 0; border-radius: 0; font: 500 15px/1 var(--i-sans); align-self: flex-start; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-contact:hover { background: #fff; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-gmaps, body.fnx-site.fnx-interior .project-hero.fnx-hero--text .project-hero-gmaps { display: inline-block; margin-top: 14px; font: 400 12px/1.5 var(--i-mono); letter-spacing: .04em; color: rgba(246, 242, 233, .7); opacity: 1; border: 0; padding: 0 0 2px; background: none; box-shadow: none; transform: none; border-bottom: 1px solid rgba(246, 242, 233, .3); align-self: flex-start; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text { background: var(--i-navy); padding: 0; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .project-hero-content { padding: 48px var(--i-band) 56px; max-width: none; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .hero-title { font: 500 clamp(40px, 5vw, 68px)/1 var(--i-display) !important; letter-spacing: -.035em; color: var(--i-paper); max-width: 14ch; margin: 14px 0 18px; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .eyebrow { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .render-tag { font: 400 12px/1.5 var(--i-mono); color: var(--i-gold-light); }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .project-hero-context { color: rgba(246, 242, 233, .85); font-size: 16px; margin-bottom: 22px; }
body.fnx-site.fnx-interior .project-hero.fnx-hero--text .project-hero-contact { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; background: var(--i-paper); color: var(--i-navy); border: 0; border-radius: 0; font: 500 15px/1 var(--i-sans); }
body.fnx-site.fnx-interior .project-meta-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 28px; padding: 30px var(--i-gutter) 26px; border-bottom: 1px solid var(--i-line); }
body.fnx-site.fnx-interior .project-meta-row .meta-item { border-top: 1px solid var(--i-navy); padding-top: 12px; }
body.fnx-site.fnx-interior .project-meta-row .meta-item .label { font: 500 10.5px/1.4 var(--i-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--i-gold-text); margin-bottom: 6px; }
body.fnx-site.fnx-interior .project-meta-row .meta-item .value { font: 500 18px/1.3 var(--i-sans); letter-spacing: -.01em; color: var(--i-navy); }
body.fnx-site.fnx-interior .project-meta-row .project-media-record { grid-column: 1 / -1; }
body.fnx-site.fnx-interior .project-media-note summary { font: 400 13px/1.5 var(--i-sans); color: var(--i-muted); cursor: pointer; }
body.fnx-site.fnx-interior .project-related .section-head { padding-bottom: 28px; }
body.fnx-site.fnx-interior .project-prevnext { max-width: var(--i-max); margin: 0 auto; padding: 22px var(--i-gutter) 48px; display: flex; justify-content: space-between; gap: 20px; font: 400 13px/1.5 var(--i-mono); letter-spacing: .03em; }
body.fnx-site.fnx-interior .project-prevnext a { color: var(--i-navy); border-bottom: 1px solid var(--i-line); padding-bottom: 3px; }

/* ---------- Capacidades: índice y divisiones ---------- */
body.fnx-site.fnx-interior .cap-system { padding-top: 48px; }
body.fnx-site.fnx-interior .cap-node { border-radius: 0; }
body.fnx-site.fnx-interior .cap-node-label { font: 500 18px/1.2 var(--i-display); letter-spacing: -.015em; }
body.fnx-site.fnx-interior .cap-node-role { font: 500 10px/1.4 var(--i-mono); letter-spacing: .12em; text-transform: uppercase; }
body.fnx-site.fnx-interior .cap-panel h2, body.fnx-site.fnx-interior .cap-panel h3 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.025em; color: var(--i-navy); }
body.fnx-site.fnx-interior .cm-hero { min-height: 0; background: var(--i-navy); }
body.fnx-site.fnx-interior .cm-hero > img { opacity: .62; }
body.fnx-site.fnx-interior .cm-hero-scrim { background: linear-gradient(180deg, rgba(1, 25, 61, .25) 0%, rgba(1, 25, 61, .6) 45%, var(--i-navy) 100%); }
body.fnx-site.fnx-interior .cm-hero-content { padding: 120px var(--i-band) 60px; max-width: none; }
body.fnx-site.fnx-interior .cm-hero-content h1 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; max-width: 16ch; font-size: clamp(36px, 4.6vw, 60px); }
body.fnx-site.fnx-interior .cm-hero-content p { max-width: 54ch; font-size: 17px; }
body.fnx-site.fnx-interior .cm-hero-diff { color: var(--i-gold-light); }
body.fnx-site.fnx-interior .division-media-note { font: 400 11px/1.5 var(--i-mono); letter-spacing: .06em; text-transform: uppercase; color: rgba(246, 242, 233, .7); display: block; margin-top: 22px; }

/* Divisiones heredadas: seis heros con la misma banda navy, titular en sans y acento itálico dorado */
body.fnx-site.fnx-interior :is(.cm-hero, .dc-hero, .ar-hero, .pe-hero, .if-hero, .eg-hero) { background: var(--i-navy); min-height: 0; }
body.fnx-site.fnx-interior :is(.cm-hero, .ar-hero, .pe-hero, .if-hero, .eg-hero) > img, body.fnx-site.fnx-interior .dc-hero-bg img { opacity: .6; filter: none; }
body.fnx-site.fnx-interior .dc-hero-bg { opacity: 1; }
body.fnx-site.fnx-interior :is(.cm-hero-scrim, .ar-hero-scrim, .pe-hero-scrim, .if-hero-scrim, .eg-hero-scrim), body.fnx-site.fnx-interior .dc-hero-bg::after { background: linear-gradient(180deg, rgba(1, 25, 61, .3) 0%, rgba(1, 25, 61, .62) 45%, var(--i-navy) 100%); }
body.fnx-site.fnx-interior :is(.cm-hero-content, .dc-hero-content, .ar-hero-content, .pe-hero-content, .if-hero-content, .eg-hero-content) { padding: 120px var(--i-band) 60px; max-width: none; }
body.fnx-site.fnx-interior :is(.cm-hero-content, .dc-hero-content, .ar-hero-content, .pe-hero-content, .if-hero-content, .eg-hero-content) h1 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; color: var(--i-paper); max-width: 16ch; font-size: clamp(36px, 4.6vw, 60px); margin: 0 0 20px; }
body.fnx-site.fnx-interior :is(.cm-hero-content, .dc-hero-content, .ar-hero-content, .pe-hero-content, .if-hero-content, .eg-hero-content) > p { color: rgba(246, 242, 233, .85); max-width: 54ch; font-size: 17px; line-height: 1.6; }
body.fnx-site.fnx-interior :is(.cm-hero-diff, .dc-hero-diff, .pe-hero-diff, .if-hero-diff, .eg-hero-diff) { font: italic 400 18px/1.5 var(--i-serif); color: var(--i-gold-light); }
body.fnx-site.fnx-interior .division-signature-parent { color: var(--i-gold-light); }
body.fnx-site.fnx-interior :is(.cm-act, .dc-act, .ar-act, .pe-act, .if-act, .eg-act, .if-solves, .if-formats, .cm-territory, .cm-formats) h2 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.025em; }

/* ---------- Contacto y formularios ---------- */
body.fnx-site.fnx-interior .lead-form label { font: 500 10.5px/1.4 var(--i-mono); letter-spacing: .12em; color: var(--i-gold-text); }
body.fnx-site.fnx-interior .lead-form input, body.fnx-site.fnx-interior .lead-form select, body.fnx-site.fnx-interior .lead-form textarea { font-family: var(--i-sans); font-size: 17px; color: var(--i-ink); border-bottom-color: var(--i-line); }
body.fnx-site.fnx-interior .lead-form input:focus, body.fnx-site.fnx-interior .lead-form select:focus, body.fnx-site.fnx-interior .lead-form textarea:focus { border-bottom-color: var(--i-navy); }
body.fnx-site.fnx-interior .contact-info h3, body.fnx-site.fnx-interior .contact h3 { font-family: var(--i-display); font-weight: 500; letter-spacing: -.02em; color: var(--i-navy); }

/* ---------- Anchos menores ---------- */
@media (max-width: 1100px) {
  body.fnx-site.fnx-interior .business-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.fnx-site.fnx-interior .project-meta-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body.fnx-site.fnx-interior .project-hero.fnx-hero--media { grid-template-columns: minmax(0, 1fr); }
  body.fnx-site.fnx-interior .project-hero.fnx-hero--media > img { min-height: 0; aspect-ratio: 16 / 10; height: auto; }
  body.fnx-site.fnx-interior .project-hero.fnx-hero--media .project-hero-content { padding: 28px var(--i-gutter) 32px; }
}
@media (max-width: 700px) {
  body.fnx-site.fnx-interior .static-hero { padding: 28px var(--i-gutter) 40px; }
  body.fnx-site.fnx-interior .static-hero .section-title { font-size: clamp(34px, 9.5vw, 44px); }
  body.fnx-site.fnx-interior .crumb { padding: 14px var(--i-gutter) 0; }
  body.fnx-site.fnx-interior .project-meta-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  body.fnx-site.fnx-interior .business-process { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.fnx-site.fnx-interior .project-card h3 { font-size: 20px; }
  body.fnx-site.fnx-interior .fnx-card--text .catalog-location-plate { padding: 20px 18px 18px; }
  body.fnx-site.fnx-interior .fnx-card--text .catalog-location-plate h3 { font-size: 22px; }
  body.fnx-site.fnx-interior .pf-count { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.fnx-site.fnx-interior .project-card .thumb img { transition: none; }
  body.fnx-site.fnx-interior .project-card:hover .thumb img { transform: none; }
}
