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