:root { color-scheme: light; }
html { scroll-padding-top: 88px; }
body { overflow-x: hidden; }
::selection { background: #99f6e4; color: #083c5a; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; border-radius: .6rem; background: #fff; padding: .7rem 1rem; color: #075985; box-shadow: 0 8px 30px rgba(0,0,0,.15); transition: top .2s; }
.skip-link:focus { top: 1rem; }
.nav-scrolled { background: rgba(255,255,255,.93); border-color: rgba(226,232,240,.9) !important; box-shadow: 0 8px 30px rgba(8,60,90,.07); backdrop-filter: blur(16px); }
.nav-link { position: relative; font-size: .91rem; font-weight: 700; color: #334155; transition: color .2s; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 2px; background: #14b8a6; transition: right .2s; }
.nav-link:hover { color: #075985; }
.nav-link:hover::after { right: 0; }
.btn-primary,.btn-secondary { display: inline-flex; align-items: center; gap: .6rem; border-radius: .85rem; padding: .9rem 1.25rem; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; }
.btn-primary { background: #075985; color: #fff; box-shadow: 0 12px 28px -12px rgba(7,89,133,.75); }
.btn-primary:hover { transform: translateY(-2px); background: #086b9f; box-shadow: 0 16px 34px -12px rgba(7,89,133,.65); }
.btn-secondary { border: 1px solid #cbd5e1; background: #fff; color: #102f3c; }
.btn-secondary:hover { transform: translateY(-2px); border-color: #14b8a6; }
.eyebrow { display: inline-flex; align-items: center; gap: .6rem; border: 1px solid #ccfbf1; border-radius: 999px; background: rgba(240,253,250,.82); padding: .45rem .75rem; font-size: .73rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #0f766e; }
.text-gradient { background: linear-gradient(110deg,#075985,#14b8a6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.check { display: grid; height: 1.35rem; width: 1.35rem; place-items: center; border-radius: 999px; background: #ccfbf1; color: #0f766e; font-size: .7rem; font-weight: 800; }
.hero-frame::before { content: ''; position: absolute; inset: 1rem; z-index: 2; border: 1px solid rgba(255,255,255,.35); border-radius: 1.3rem; pointer-events: none; }
.float-card { animation: float 4s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-9px); } }
.section-space { padding-top: 7rem; padding-bottom: 7rem; }
.section-title { max-width: 740px; font-family: Manrope,sans-serif; font-size: clamp(2.25rem,4vw,3.5rem); font-weight: 800; line-height: 1.08; letter-spacing: -.04em; color: #102f3c; }
.service-card { position: relative; min-height: 320px; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1.5rem; padding: 2rem; transition: transform .28s, border-color .28s, box-shadow .28s; }
.service-card:hover { transform: translateY(-7px); border-color: #99f6e4; box-shadow: 0 24px 60px -28px rgba(7,89,133,.35); }
.service-card h3 { margin-top: 1.7rem; font-family: Manrope,sans-serif; font-size: 1.35rem; font-weight: 800; }
.service-card p { margin-top: .8rem; line-height: 1.65; color: #64748b; }
.service-card a { position: absolute; bottom: 1.9rem; display: flex; gap: .5rem; font-size: .9rem; font-weight: 800; color: #075985; }
.service-card a span { transition: transform .2s; }
.service-card:hover a span { transform: translateX(5px); }
.service-icon { display: grid; height: 3.5rem; width: 3.5rem; place-items: center; border-radius: 1rem; background: #f0fdfa; color: #0f766e; font-size: 1.7rem; }
.service-number { position: absolute; right: 1.7rem; top: 1.6rem; font-family: Manrope,sans-serif; font-size: .75rem; font-weight: 800; letter-spacing: .12em; color: #94a3b8; }
.service-card-accent { border-color: #075985; background: #075985; color: #fff; }
.service-card-accent p { color: #dbeafe; }.service-card-accent a { color: #99f6e4; }.service-card-accent .service-icon { background: rgba(255,255,255,.12); color: white; }.service-card-accent .service-number { color: #7dd3fc; }
figure figcaption { position: absolute; inset: auto .8rem .8rem .8rem; border: 1px solid rgba(255,255,255,.2); border-radius: .75rem; background: rgba(8,47,70,.75); padding: .65rem .8rem; font-size: .78rem; font-weight: 700; backdrop-filter: blur(8px); }
.value-item { display: flex; gap: 1rem; border-top: 1px solid #dbe7e8; padding-top: 1.2rem; }
.value-item > span { display: grid; height: 2.4rem; min-width: 2.4rem; place-items: center; border-radius: .75rem; background: #fff; color: #0f766e; font-weight: 800; }
.value-item h3 { font-family: Manrope,sans-serif; font-weight: 800; }.value-item p { margin-top: .2rem; color: #64748b; }
.process-line { position: absolute; left: 16.66%; right: 16.66%; top: 2.2rem; height: 1px; border-top: 1px dashed #99f6e4; }
.process-card { position: relative; z-index: 1; text-align: center; padding: 0 1.5rem; }
.process-card > span { display: grid; width: 4.5rem; height: 4.5rem; margin: 0 auto; place-items: center; border: 8px solid #fff; border-radius: 999px; background: #e6fffb; color: #0f766e; font-family: Manrope,sans-serif; font-weight: 800; box-shadow: 0 0 0 1px #ccfbf1; }
.process-card h3 { margin-top: 1.5rem; font-family: Manrope,sans-serif; font-size: 1.2rem; font-weight: 800; }.process-card p { margin: .6rem auto 0; max-width: 18rem; color: #64748b; line-height: 1.65; }
.cta-panel::before { content: ''; position: absolute; width: 420px; height: 420px; right: 20%; top: -260px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 50px rgba(255,255,255,.035), 0 0 0 100px rgba(255,255,255,.02); }
.contact-row { display: flex; align-items: center; gap: 1rem; border-radius: 1rem; padding: .9rem; transition: background .2s; }.contact-row:hover { background: #fff; }
.contact-row > span { display: grid; height: 3rem; width: 3rem; min-width: 3rem; place-items: center; border-radius: .85rem; background: #dff7f4; color: #0f766e; font-size: 1.3rem; }
.contact-row small,.contact-row strong,.contact-row em { display: block; }.contact-row small { color: #64748b; }.contact-row strong { margin-top: .1rem; font-family: Manrope,sans-serif; }.contact-row em { margin-top: .1rem; font-size: .78rem; font-style: normal; color: #94a3b8; }
.field span { display: block; margin-bottom: .45rem; font-size: .82rem; font-weight: 700; color: #334155; }
.field input,.field select,.field textarea { width: 100%; border: 1px solid #dbe4ea; border-radius: .85rem; background: #f8fafc; padding: .82rem 1rem; color: #102f3c; outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
.field input:focus,.field select:focus,.field textarea:focus { border-color: #14b8a6; background: #fff; box-shadow: 0 0 0 4px rgba(20,184,166,.1); }
.field textarea { resize: vertical; }
.whatsapp-float { position: fixed; right: 1.3rem; bottom: 1.3rem; z-index: 45; display: grid; height: 3.75rem; width: 3.75rem; place-items: center; border: 4px solid #fff; border-radius: 999px; background: #25d366; color: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.25); transition: transform .2s; }.whatsapp-float:hover { transform: scale(1.08) rotate(-4deg); }
.mobile-menu a { display: block; border-radius: .7rem; padding: .75rem; font-weight: 700; color: #334155; }
.menu-icon { display: flex; width: 1.25rem; flex-direction: column; gap: 4px; }.menu-icon i { display: block; height: 2px; width: 100%; background: #102f3c; transition: .2s; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }.reveal-delay { transition-delay: .12s; }.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 767px) { .section-space { padding-top: 5.25rem; padding-bottom: 5.25rem; }.service-card { min-height: 285px; }.reveal { transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }.reveal { opacity: 1; transform: none; } }
