.contact-page{overflow:hidden;background:#fff}.contact-hero{position:relative;padding:72px 0 82px;overflow:hidden;background:radial-gradient(circle at 85% 18%,rgba(204,15,31,.25),transparent 31%),linear-gradient(135deg,#06172b,#0b2948);color:#fff}.contact-hero::before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:68px 68px}.contact-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);align-items:center;gap:64px}.contact-hero h1{max-width:880px;margin:17px 0 20px;font-size:clamp(3rem,5.9vw,5.7rem);font-variation-settings:"opsz" 72;font-weight:760;letter-spacing:-.052em;line-height:.98}.contact-hero p{max-width:750px;margin:0;color:#c7d5e1;font-size:clamp(1.08rem,1.6vw,1.3rem)}.contact-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.contact-emergency{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:rgba(255,255,255,.1);box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(13px)}.contact-emergency__icon{display:grid;width:68px;height:68px;place-items:center;border-radius:20px;background:var(--red);font-size:2.2rem;animation:emergencyIconSignal 3.6s ease-in-out infinite}.contact-emergency small{display:block;color:#ffb9c0;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.contact-emergency strong{display:block;margin:3px 0 6px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.contact-emergency p{font-size:.9rem;line-height:1.55}.contact-emergency>a{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border-radius:14px;background:#fff;color:var(--red);font-weight:900;text-decoration:none;transition:transform var(--motion-fast) var(--ease-smooth),background-color var(--motion-fast),color var(--motion-fast)}.contact-emergency>a:hover,.contact-emergency>a:focus-visible{background:var(--navy);color:#fff;transform:translateY(-2px)}@keyframes emergencyIconSignal{0%,55%,100%{box-shadow:0 0 0 0 rgba(204,15,31,0)}65%{box-shadow:0 0 0 10px rgba(204,15,31,.14)}77%{box-shadow:0 0 0 18px rgba(204,15,31,0)}}
.contact-channels{padding:92px 0;background:linear-gradient(#f4f7fa,#fff)}.contact-channels .section-heading{max-width:820px;margin-bottom:38px}.contact-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-channel-card{position:relative;display:flex;min-height:310px;flex-direction:column;padding:27px;overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#fff;color:var(--navy);box-shadow:0 16px 42px rgba(7,24,45,.06);text-decoration:none;transition:transform var(--motion-base) var(--ease-smooth),box-shadow var(--motion-base),border-color var(--motion-base)}.contact-channel-card:hover,.contact-channel-card:focus-visible{border-color:rgba(204,15,31,.32);box-shadow:0 25px 58px rgba(7,24,45,.13);transform:translateY(-5px)}.contact-channel-card>.material-symbols-rounded{display:grid;width:62px;height:62px;margin-bottom:26px;place-items:center;border-radius:18px;background:#fdecee;color:var(--red);font-size:2rem;transition:transform var(--motion-base) var(--ease-smooth)}.contact-channel-card:hover>.material-symbols-rounded{transform:scale(1.1) rotate(-5deg)}.contact-channel-card small{color:var(--red);font-size:.71rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.contact-channel-card h3{margin:5px 0 9px;font-size:1.3rem}.contact-channel-card strong{overflow-wrap:anywhere;font-size:1.05rem}.contact-channel-card em{display:flex;align-items:center;gap:6px;margin-top:auto;color:var(--red);font-size:.87rem;font-style:normal;font-weight:850}.contact-channel-card em i{font-size:1.15rem;transition:transform var(--motion-fast) var(--ease-smooth)}.contact-channel-card:hover em i{transform:translateX(5px)}.contact-channel-card--urgent{border-color:transparent;background:linear-gradient(145deg,#c90f1f,#a90817);color:#fff}.contact-channel-card--urgent small,.contact-channel-card--urgent em{color:#fff}.contact-channel-card--urgent>.material-symbols-rounded{background:#fff;color:var(--red)}
.location-section{padding:96px 0;background:#fff}.location-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(370px,.86fr);align-items:stretch;gap:34px}.location-map{position:relative;min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#e8eef3;box-shadow:0 24px 65px rgba(7,24,45,.12)}.location-map iframe{display:block;width:100%;height:100%;min-height:650px;border:0;filter:saturate(.85) contrast(1.03)}.location-map__badge{position:absolute;right:18px;bottom:18px;left:18px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.72);border-radius:17px;background:rgba(255,255,255,.93);box-shadow:0 12px 30px rgba(7,24,45,.18);color:var(--navy);backdrop-filter:blur(12px);pointer-events:none}.location-map__badge>.material-symbols-rounded{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:var(--red);color:#fff}.location-map__badge span{display:grid}.location-map__badge small{color:var(--muted)}.location-copy{padding:22px 4px}.location-copy h2{margin:14px 0 20px;color:var(--navy);font-size:clamp(2.3rem,4vw,3.8rem);letter-spacing:-.045em;line-height:1.02}.location-copy address{display:grid;margin:0 0 15px;padding:20px;border-left:4px solid var(--red);border-radius:0 16px 16px 0;background:#f5f8fb;font-style:normal}.location-copy address span{color:var(--red);font-weight:850}.location-copy address strong{margin:3px 0;color:var(--navy);line-height:1.3}.location-copy address small{color:var(--muted)}
.copy-address{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:9px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.copy-address:hover,.copy-address:focus-visible,.copy-address.is-copied{border-color:var(--navy);background:var(--navy);color:#fff;transform:translateY(-2px)}.copy-status{min-height:1.5em;margin:5px 0 14px;color:#50708d;font-size:.78rem}.route-options{display:grid;gap:9px}.route-options>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:68px;padding:11px 13px;border:1px solid var(--line);border-radius:16px;color:var(--navy);text-decoration:none;transition:border-color var(--motion-fast),background-color var(--motion-fast),transform var(--motion-fast)}.route-options>a:hover,.route-options>a:focus-visible{border-color:rgba(204,15,31,.3);background:#fff5f6;transform:translateX(4px)}.route-options>a>.material-symbols-rounded{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#edf3f8;color:var(--navy)}.route-options>a span{display:grid}.route-options>a small{color:var(--muted)}.route-options>a>i{color:var(--red);font-size:1.2rem}.location-note{display:flex;gap:9px;margin:16px 0 0;color:#65768a;font-size:.82rem;line-height:1.5}.location-note .material-symbols-rounded{flex:0 0 auto;color:var(--red);font-size:1.2rem}
.arrival-guide{padding:88px 0;background:#f4f7fa}.arrival-guide .section-heading{max-width:780px}.arrival-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:35px 0 0;padding:0;list-style:none}.arrival-steps li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff}.arrival-steps li>span{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:850}.arrival-steps strong{display:block;margin:5px 0 8px;color:var(--navy);font-size:1.08rem}.arrival-steps p{margin:0;color:var(--muted);font-size:.91rem;line-height:1.55}.contact-request{padding:96px 0;background:linear-gradient(135deg,#07182d,#102f50);color:#fff}.contact-request__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);align-items:start;gap:60px}.contact-request h2{margin:15px 0;color:#fff;font-size:clamp(2.6rem,4.8vw,4.5rem);letter-spacing:-.045em;line-height:1}.contact-request>div p{color:#c1cfdb}.contact-request .contact-form{background:#fff;color:var(--navy)}

/* Movimiento y color de la referencia de llegada. */
.arrival-steps li{position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(7,24,45,.04);transition:transform var(--motion-base) var(--ease-smooth),box-shadow var(--motion-base) var(--ease-smooth),border-color var(--motion-base) var(--ease-smooth),background-color var(--motion-base) var(--ease-smooth)}
.arrival-steps li::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--red),#ef5260);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-base) var(--ease-smooth)}
.arrival-steps li>span{transition:transform var(--motion-base) var(--ease-smooth),background-color var(--motion-base) var(--ease-smooth),box-shadow var(--motion-base) var(--ease-smooth)}
.arrival-steps li:hover,.arrival-steps li:focus-within{border-color:rgba(204,15,31,.28);background:#fffafb;box-shadow:0 24px 52px rgba(7,24,45,.12);transform:translateY(-7px)}
.arrival-steps li:hover::before,.arrival-steps li:focus-within::before{transform:scaleX(1)}
.arrival-steps li:hover>span,.arrival-steps li:focus-within>span{background:var(--red);box-shadow:0 10px 22px rgba(204,15,31,.25);transform:rotate(-5deg) scale(1.08)}
.js .arrival-steps li.reveal:nth-child(2){transition-delay:80ms}.js .arrival-steps li.reveal:nth-child(3){transition-delay:160ms}
@media(max-width:1050px){.contact-hero__grid,.location-layout,.contact-request__layout{grid-template-columns:1fr}.contact-emergency{max-width:650px}.location-map,.location-map iframe{min-height:520px}.location-copy{padding:12px 0}.contact-request__layout{gap:34px}.contact-request__layout>.reveal{max-width:760px}}
@media(max-width:760px){.contact-hero{padding:55px 0 65px}.contact-hero h1{font-size:clamp(2.55rem,12vw,4rem)}.contact-hero__actions{display:grid}.contact-hero__actions .button{width:100%}.contact-emergency{grid-template-columns:1fr}.contact-emergency__icon{width:58px;height:58px}.contact-channel-grid,.arrival-steps{grid-template-columns:1fr}.contact-channels,.location-section,.arrival-guide,.contact-request{padding:72px 0}.contact-channel-card{min-height:260px}.location-map,.location-map iframe{min-height:430px}.contact-request__layout{grid-template-columns:minmax(0,1fr)}.contact-request .contact-form{width:100%;min-width:0}}
@media(max-width:430px){.contact-emergency{padding:22px}.contact-emergency strong{font-size:2rem}.location-map,.location-map iframe{min-height:390px}.location-map__badge{right:10px;bottom:10px;left:10px}.location-copy h2{font-size:2.25rem}.route-options>a{grid-template-columns:auto minmax(0,1fr) auto}.route-options>a strong{font-size:.9rem}.route-options>a small{font-size:.72rem}.arrival-steps li{padding:20px}}
@media(prefers-reduced-motion:reduce){.contact-emergency__icon{animation:none}}
.a11y-high-contrast :where(.contact-hero,.contact-channels,.contact-channel-card,.location-section,.location-map__badge,.location-copy address,.route-options>a,.arrival-guide,.arrival-steps li,.contact-request,.contact-emergency){border-color:#fff!important;background:#000!important;color:#fff!important;background-image:none!important;box-shadow:none!important}.a11y-high-contrast :where(.contact-hero p,.contact-channel-card h3,.contact-channel-card strong,.location-copy h2,.location-copy address strong,.location-copy address small,.route-options>a,.route-options>a small,.arrival-steps strong,.arrival-steps p,.contact-request p){color:#fff!important}.a11y-high-contrast :where(.contact-emergency__icon,.contact-channel-card>.material-symbols-rounded,.location-map__badge>.material-symbols-rounded,.arrival-steps li>span){border:1px solid #ffeb3b!important;background:#ffeb3b!important;color:#000!important}.a11y-high-contrast .location-map{border:3px solid #fff!important}.a11y-high-contrast .copy-address{border:2px solid #00ffff!important;background:#000!important;color:#00ffff!important}
