.page-hero { position: relative; overflow: hidden; padding: 88px max(24px, calc((100vw - 1180px) / 2)) 64px; background: linear-gradient(135deg, #eefaff 0%, #ffffff 52%, #edf5ff 100%); border-bottom: 1px solid rgba(6, 103, 249, .12); }
.page-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(6,103,249,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(6,103,249,.07) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg, #000, transparent 76%); }
.page-hero-inner { position: relative; z-index: 1; max-width: 820px; }
.page-hero h1 { margin: 10px 0 13px; max-width: 760px; color: var(--ink); font-family: "Orbitron", sans-serif; font-size: clamp(2rem, 5vw, 4rem); letter-spacing: 0; line-height: 1.08; }
.page-hero p:not(.eyebrow) { max-width: 680px; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.page-main { padding-top: 64px; }
.page-main > .section { padding-top: 0; }
.directory { padding-top: 72px; padding-bottom: 92px; }
.directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.directory-card { position: relative; min-height: 232px; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 30px rgba(10, 44, 87, .07); color: var(--ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.directory-card:hover { transform: translateY(-6px); border-color: rgba(6,103,249,.42); box-shadow: 0 22px 36px rgba(10, 44, 87, .14); }
.directory-card > .bi { position: absolute; right: 21px; bottom: 20px; color: var(--blue); font-size: 1.35rem; }
.directory-card h3 { margin: 19px 0 8px; font-size: 1.1rem; }.directory-card p { max-width: 90%; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.directory-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; color: #fff; font-size: 1.45rem; background: var(--blue); }.directory-icon.orange { background: linear-gradient(135deg, var(--orange), #ffbd17); }.directory-icon.cyan { background: linear-gradient(135deg, #05c9f4, #0667f9); }.directory-icon.green { background: linear-gradient(135deg, #13c96f, #00a89a); }.directory-icon.violet { background: linear-gradient(135deg, #7057df, #1976ed); }
.page-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 32px; border-radius: var(--radius); background: linear-gradient(120deg, #082d7a, #0667f9 58%, #00bce8); color: #fff; box-shadow: var(--shadow); }.page-cta h2 { margin: 0 0 7px; font-family: "Orbitron", sans-serif; font-size: 1.3rem; }.page-cta p { max-width: 650px; margin: 0; opacity: .9; font-size: .9rem; line-height: 1.6; }.page-cta .btn { flex: 0 0 auto; background: #fff; color: var(--blue); border-color: #fff; }
.simple-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.simple-card { min-height: 216px; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 10px 26px rgba(10,44,87,.06); }.simple-card > i { color: var(--blue); font-size: 2rem; }.simple-card h3 { margin: 16px 0 8px; font-size: 1.05rem; }.simple-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.65; }
.catalog-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 28px rgba(10,44,87,.07); color: var(--ink); text-decoration: none; }.catalog-link:hover { border-color: var(--blue); }.catalog-link i { color: var(--orange); font-size: 2.2rem; }.catalog-link h3 { margin: 0 0 7px; }.catalog-link p { margin: 0; color: var(--muted); font-size: .86rem; }
.map-page-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 20px; align-items: stretch; }.real-map { min-height: 580px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #e7f4fb; box-shadow: var(--shadow); }.real-map iframe { display: block; width: 100%; height: 100%; min-height: 580px; border: 0; }.location-card { position: relative; overflow: hidden; padding: 30px; border-radius: var(--radius); background: linear-gradient(155deg, #05296e, #0667f9 72%, #00bde9); color: #fff; }.location-card::after { content: ""; position: absolute; width: 240px; height: 240px; right: -82px; bottom: -88px; border: 2px solid rgba(255,255,255,.24); border-radius: 50%; }.location-card img { position: relative; z-index: 1; display: block; width: min(100%, 230px); margin: 0 auto -16px; filter: drop-shadow(0 18px 16px rgba(0,0,0,.22)); }.location-card h2,.location-card p,.location-card .contact-links { position: relative; z-index: 2; }.location-card h2 { margin: 0 0 12px; font-family: "Orbitron", sans-serif; font-size: 1.25rem; }.location-card p { line-height: 1.7; }.location-card .contact-links a { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.1); color: #fff; }.location-card .contact-links small { color: rgba(255,255,255,.78); }
.footer-socials { display: flex; gap: 9px; margin-top: 16px; }.footer-socials a { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.app-page-heading { min-height: 420px; display: flex; align-items: center; }
.app-page-heading .page-hero-inner { max-width: 690px; }
.page-hero-robot { position: absolute; z-index: 1; right: max(5vw, calc((100vw - 1180px) / 2)); bottom: -108px; width: min(370px, 31vw); max-height: 470px; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(5, 43, 96, .2)); }
.app-page-main { padding-top: 0; }
.app-page-band { padding: 76px 0; }
.app-page-band .section { padding-top: 0; padding-bottom: 0; }
.digital-process { padding-top: 82px !important; }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.process-grid article { position: relative; min-height: 220px; overflow: hidden; padding: 24px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 28px rgba(10,44,87,.07); }
.process-grid article:nth-child(2) { border-top-color: var(--cyan); }.process-grid article:nth-child(3) { border-top-color: var(--orange); }.process-grid article:nth-child(4) { border-top-color: var(--green); }
.process-grid article > span { position: absolute; right: 18px; top: 14px; color: rgba(6,103,249,.12); font-family: "Orbitron", sans-serif; font-size: 2.2rem; font-weight: 900; }
.process-grid article > i { color: var(--blue); font-size: 1.8rem; }.process-grid article:nth-child(3) > i { color: var(--orange); }.process-grid article:nth-child(4) > i { color: var(--green); }
.process-grid h3 { margin: 34px 0 8px; font-size: 1rem; }.process-grid p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
@media (max-width: 920px) { .directory-grid,.simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.map-page-layout { grid-template-columns: 1fr; }.real-map,.real-map iframe { min-height: 420px; } }
@media (max-width: 920px) { .page-hero-robot { right: -20px; width: 300px; opacity: .28; }.process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .page-hero { padding: 58px 20px 44px; }.page-main { padding-top: 42px; }.app-page-main { padding-top: 0; }.app-page-heading { min-height: 380px; }.page-hero-robot { right: -74px; bottom: -70px; width: 280px; }.app-page-band { padding: 46px 0; }.directory { padding-top: 48px; padding-bottom: 66px; }.directory-grid,.simple-grid,.process-grid { grid-template-columns: 1fr; }.page-cta { align-items: flex-start; flex-direction: column; padding: 25px; }.real-map,.real-map iframe { min-height: 360px; }.location-card { padding: 24px; } }

/* Fase 1 · 2026-10-15: el título del recuadro azul era azul marino sobre azul */
.page-cta h2 { color: #fff; }
