/* Componentes base de style.css. Ajustes exclusivos de esta página. */
.infraestructura-page .infraestructura-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 35px; color: #b9c8d5; font-size: .78rem; }
.infraestructura-page .infraestructura-breadcrumb a:hover { color: var(--cyan); }
.infraestructura-page .hero-content { grid-template-columns: 1.2fr .85fr; gap: 60px; }
.infraestructura-page .hero-copy { min-width: 0; }
.infraestructura-page h1 { overflow-wrap: anywhere; font-size: clamp(2.75rem, 5.1vw, 4.6rem); }
.infraestructura-page .infraestructura-subtitle { max-width: 650px; color: var(--white); font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.35; }
.infraestructura-page .hero-lead { font-size: 1.05rem; }
.infraestructura-page .hero-points { margin-top: 30px; }
.infraestructura-page .panel-label { color: #afbfcb; }
.infraestructura-page .infraestructura-capabilities, .infraestructura-page .infraestructura-sector-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.infraestructura-page .problem-card .service-icon { margin-bottom: 40px; }
.infraestructura-page .infraestructura-scope-note { margin-top: 30px; padding: 25px 30px; border: 1px solid var(--line); border-left: 3px solid #087891; border-radius: 4px; background: var(--white); }
.infraestructura-page .infraestructura-scope-note p { margin: 8px 0 0; color: var(--muted); font-size: .9rem; }
.infraestructura-page .infraestructura-method { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.infraestructura-page .infraestructura-method h3 { min-height: 72px; }
.infraestructura-page .infraestructura-method li { padding-right: 18px; }
.infraestructura-page .infraestructura-note { margin: 28px 0 20px; color: var(--muted); font-size: .88rem; }
.infraestructura-page .infraestructura-sector-grid .environment-card { min-height: 260px; }
.infraestructura-page .infraestructura-evaluation-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; }
.infraestructura-page .infraestructura-evaluation-layout p:not(.eyebrow) { color: #b9c8d5; }
.infraestructura-page .infraestructura-contact-note { margin-top: 18px; font-size: .8rem; }
.infraestructura-page .infraestructura-evaluation-layout .text-link { color: var(--cyan); }
.infraestructura-page .main-nav.open { overflow-y: auto; }
.infraestructura-page .footer-bottom { color: #afbfcb; }
.infraestructura-page .eyebrow.dark, .infraestructura-page .method-steps span { color: #087891; }
@media (max-width: 980px) {
  .infraestructura-page .infraestructura-capabilities, .infraestructura-page .infraestructura-sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .infraestructura-page .hero-content { grid-template-columns: 1fr; gap: 48px; }
  .infraestructura-page .infraestructura-method { grid-template-columns: 1fr; }
  .infraestructura-page .infraestructura-method li { padding-right: 0; }
  .infraestructura-page .infraestructura-method h3 { min-height: 0; }
  .infraestructura-page .infraestructura-evaluation-layout { gap: 40px; }
}
@media (max-width: 740px) {
  .infraestructura-page .infraestructura-capabilities, .infraestructura-page .infraestructura-sector-grid, .infraestructura-page .infraestructura-evaluation-layout { grid-template-columns: 1fr; }
  .infraestructura-page .hero-copy { min-width: 0; }
.infraestructura-page h1 { overflow-wrap: anywhere; font-size: clamp(2.55rem, 10vw, 4rem); }
  .infraestructura-page .infraestructura-breadcrumb { margin-bottom: 26px; }
  .infraestructura-page .infraestructura-scope-note { padding: 23px; }
  .infraestructura-page .infraestructura-evaluation-layout { gap: 30px; }
  .infraestructura-page .infraestructura-evaluation-layout .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .infraestructura-page .reveal { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1200px) {
  .infraestructura-page .infraestructura-method { grid-template-columns: 1fr; gap: 0; }
  .infraestructura-page .infraestructura-method li { min-height: 120px; padding: 25px 0 24px 55px; border-top: 0; border-left: 2px solid #cedbe2; }
  .infraestructura-page .infraestructura-method li::before { top: 27px; left: -7px; }
  .infraestructura-page .infraestructura-method li:not(:last-child)::after { display: none; }
  .infraestructura-page .infraestructura-method h3 { min-height: 0; }
}

/* Recurso ambiental del hero, sin panel ni superficie independiente. */
.infraestructura-page .infraestructura-ambient { display: block; width: 100%; height: auto; max-height: 430px; overflow: hidden; }
/* Dominios opcionales: conexiones decorativas y contenido legible en HTML. */
.infraestructura-page .infraestructura-modular { margin: 0; padding: 36px; border: 1px solid #25445c; border-radius: 8px; background: var(--navy-900); color: var(--white); }
.infraestructura-page .infraestructura-domain-layout { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto auto; gap: 28px; align-items: center; }
.infraestructura-page .infraestructura-domain-links { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.infraestructura-page .infraestructura-domain-center { z-index: 1; grid-column: 2; grid-row: 2; padding: 24px 12px; border: 1px solid #39758a; border-radius: 4px; background: var(--navy-800); text-align: center; }
.infraestructura-page .infraestructura-domain-center .eyebrow { margin: 0; font-size: .8rem; letter-spacing: .1em; }
.infraestructura-page .infraestructura-domain { position: relative; z-index: 1; min-width: 0; padding: 24px; border: 1px solid #29475d; border-radius: 4px; background: var(--navy-800); }
.infraestructura-page .infraestructura-domain h3 { margin-bottom: 15px; font-size: 1.12rem; color: #d8e5ee; }
.infraestructura-page .infraestructura-domain ul { margin: 0; padding: 0; list-style: none; color: #afbfcb; font-size: .87rem; }
.infraestructura-page .infraestructura-domain li { margin-top: 5px; }
.infraestructura-page .infraestructura-domain li::before { content: "—"; margin-right: 8px; color: var(--cyan); }
.infraestructura-page .infraestructura-domain-connectivity { grid-column: 1; grid-row: 1; }
.infraestructura-page .infraestructura-domain-security { grid-column: 3; grid-row: 1; }
.infraestructura-page .infraestructura-domain-access { grid-column: 1; grid-row: 2; }
.infraestructura-page .infraestructura-domain-services { grid-column: 3; grid-row: 2; }
.infraestructura-page .infraestructura-domain-management { grid-column: 2; grid-row: 3; }
.infraestructura-page .infraestructura-modular figcaption { margin-top: 30px; padding-top: 22px; border-top: 1px solid #29475d; color: #afbfcb; font-size: .85rem; }
@media (max-width: 980px) {
  .infraestructura-page .infraestructura-ambient { max-width: 560px; max-height: 290px; justify-self: center; }
  .infraestructura-page .infraestructura-modular { padding: 28px; }
  .infraestructura-page .infraestructura-domain-layout { gap: 18px; }
  .infraestructura-page .infraestructura-domain { padding: 18px; }
}
@media (max-width: 740px) {
  .infraestructura-page .infraestructura-ambient { max-height: 200px; }
  .infraestructura-page .infraestructura-ambient-detail { display: none; }
  .infraestructura-page .infraestructura-modular { padding: 22px 18px; }
  .infraestructura-page .infraestructura-domain-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 16px; }
  .infraestructura-page .infraestructura-domain-center, .infraestructura-page .infraestructura-domain { grid-column: auto; grid-row: auto; }
  .infraestructura-page .infraestructura-domain-links { display: none; }
}
