/* Contraste, jerarquía visual y movimiento sutil para una navegación más clara. */
:root { --lemuy-blue: #126b98; --lemuy-deep-blue: #075273; --lemuy-orange: #e86f1f; --lemuy-yellow: #f3c744; --lemuy-green: #2d895d; --lemuy-ink: #143f56; }

body { color: var(--lemuy-ink); }
.site-header { box-shadow: 0 3px 14px rgba(7, 82, 115, .08); }
.main-nav > a { transition: color .2s ease, transform .2s ease, background .2s ease; }
.main-nav > a:not(.nav-cta):hover { color: var(--lemuy-orange); transform: translateY(-1px); }
.main-nav .nav-cta { box-shadow: 0 6px 14px rgba(232, 111, 31, .22); }
.main-nav .nav-cta:hover { background: #cf5911; color: #fff; transform: translateY(-2px); }

.hero::after { background: linear-gradient(90deg, rgba(7, 53, 77, .96) 0%, rgba(7, 82, 115, .88) 46%, rgba(18, 107, 152, .5) 72%, rgba(18, 107, 152, .18) 100%); }
.hero h1 { text-shadow: 0 2px 12px rgba(0, 0, 0, .16); }
.hero-text { color: #f4fbff; font-weight: 500; text-shadow: 0 1px 4px rgba(0, 0, 0, .2); }
.hero-points { color: #e2f4fb; font-weight: 600; }
.hero-card { box-shadow: 0 13px 32px rgba(0, 0, 0, .28); animation: lemuyFloat 4s ease-in-out infinite; }
.status-dot { animation: lemuyPulse 2s ease-in-out infinite; }

.button, .service-card a, .text-link { transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 19px rgba(7, 53, 77, .2); }
.button-primary:hover { background: #df5f15; color: #fff; }
.button-ghost:hover { background: rgba(255, 255, 255, .13); border-color: #fff; }

.section-heading p, .service-card p, .logistics-copy > p:not(.eyebrow), .coverage > div > p:not(.eyebrow) { color: #365f72; font-weight: 500; }
.section-heading p { max-width: 420px; }
.service-card { box-shadow: 0 7px 17px rgba(7, 82, 115, .07); overflow: hidden; }
.service-card:hover { transform: translateY(-7px); box-shadow: 0 19px 36px rgba(7, 82, 115, .17); }
.service-card h3 { color: var(--lemuy-ink); }
.service-card:first-child h3, .service-card:first-child p { color: var(--lemuy-ink); }
.service-card:first-child .service-number { color: #c85312; }
.service-card a:hover { transform: translateX(3px); box-shadow: 0 5px 12px rgba(7, 82, 115, .12); }

.special-heading h2, .special-grid h3 { color: #fff; }
.special-grid article { transition: background .2s ease; }
.special-grid article:hover { background: rgba(255, 255, 255, .1); }
.special-grid p { color: #f2fbff; font-weight: 500; }

.logistics-copy > p:not(.eyebrow), .logistics-copy li span { color: #e9f7fc; }
.logistics-copy li strong { color: #fff; }
.coverage > div > p:not(.eyebrow) { color: #274f42; }
.coverage-map { box-shadow: 0 13px 28px rgba(20, 63, 86, .18); }
.work-gallery img { transition: transform .45s ease, filter .45s ease; }
.work-gallery img:hover { filter: contrast(1.08) saturate(1.12); transform: scale(1.035); }
.gallery-grid { overflow: hidden; }
.cta { position: relative; overflow: hidden; }
.cta::before { content: ""; position: absolute; width: 440px; height: 440px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; top: -300px; left: -140px; }
.cta > * { position: relative; z-index: 1; }
.cta p:not(.eyebrow) { color: #173e55; font-weight: 600; }
.button-light:hover { background: #075273; color: #fff; }

@keyframes lemuyFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes lemuyPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(45, 137, 93, .35); } 50% { box-shadow: 0 0 0 6px rgba(45, 137, 93, 0); } }
@media (max-width: 560px) { .hero::after { background: linear-gradient(180deg, rgba(7, 53, 77, .96) 0%, rgba(7, 82, 115, .82) 55%, rgba(18, 107, 152, .45) 100%); } .service-card { box-shadow: 0 5px 13px rgba(7, 82, 115, .08); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
