:root{--navy:#142c3e;--navy2:#0f2332;--teal:#1592a6;--mint:#7aa096;--sage:#dbe7df;--cream:#f7f3ec;--paper:#fffaf4;--text:#26313a;--muted:#68747c;--shadow:0 24px 70px rgba(20,44,62,.14);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--cream),#fff);overflow-x:hidden}.container{width:min(1160px,92%);margin:auto}a{text-decoration:none;color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(247,243,236,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,44,62,.08)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand img{height:68px;width:auto;display:block}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;color:var(--navy)}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--teal);transition:.28s}.nav-links a:hover:after{width:100%}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--navy);color:white!important}.menu-toggle{display:none;border:0;background:transparent;font-size:30px;color:var(--navy)}.hero{min-height:100vh;position:relative;display:grid;align-items:center;padding-top:84px;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,236,.92) 0%,rgba(247,243,236,.68) 44%,rgba(247,243,236,.12) 100%)}.hero-content{padding:70px 0}.eyebrow{display:inline-flex;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--teal);margin-bottom:14px}.hero h1,.section h2,.why h2,.appointment h2,.about h2{font-family:'Cormorant Garamond',serif;color:var(--navy);line-height:.95;margin:0}.hero h1{font-size:clamp(56px,8vw,110px);max-width:640px}.hero p{max-width:560px;font-size:18px;line-height:1.8;color:#2f3d45}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:700;letter-spacing:.02em;transition:.3s;border:1px solid transparent;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--navy));color:white;box-shadow:0 16px 40px rgba(21,146,166,.25)}.btn.primary:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(21,146,166,.33)}.btn.secondary{background:rgba(255,255,255,.65);color:var(--navy);border-color:rgba(20,44,62,.16);backdrop-filter:blur(12px)}.glass-card{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:min(680px,100%);background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(16px);overflow:hidden}.hero-metrics div{padding:22px;border-right:1px solid rgba(20,44,62,.08)}.hero-metrics div:last-child{border-right:0}.hero-metrics strong{display:block;color:var(--navy);font-size:18px}.hero-metrics span{font-size:13px;color:var(--muted)}.intro{margin-top:-45px;position:relative;z-index:3}.intro-card{display:grid;grid-template-columns:160px 1fr;gap:30px;align-items:center;padding:34px;border-radius:34px;background:rgba(255,255,255,.86);box-shadow:var(--shadow);border:1px solid rgba(20,44,62,.08)}.intro-card img{width:150px;filter:drop-shadow(0 16px 24px rgba(21,146,166,.12))}.intro-card h2{font-family:'Cormorant Garamond',serif;font-size:42px;line-height:1;color:var(--navy);margin:0 0 12px}.section{padding:100px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.section-heading h2{font-size:clamp(42px,5vw,68px)}.section-heading p{line-height:1.8;color:rgba(255,255,255,.82)}.cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.service-card,.mini-card,.mv-card,.about-card,.appointment-form{background:rgba(255,255,255,.78);border:1px solid rgba(20,44,62,.08);box-shadow:0 18px 50px rgba(20,44,62,.08);border-radius:28px;padding:28px;transition:.35s;position:relative;overflow:hidden}.service-card:before,.mini-card:before,.mv-card:before{content:"";position:absolute;inset:auto -30% -40% -30%;height:120px;background:radial-gradient(circle,rgba(21,146,166,.18),transparent 60%);transition:.35s}.service-card:hover,.mini-card:hover,.mv-card:hover{transform:translateY(-10px);box-shadow:0 28px 70px rgba(20,44,62,.14)}.icon{width:54px;height:54px;border-radius:18px;background:var(--sage);display:grid;place-items:center;font-size:26px;margin-bottom:18px}.service-card h3,.mini-card h3,.mv-card h3{color:var(--navy);margin:0 0 10px;font-size:19px}.service-card p,.mini-card p,.mv-card p,.about-card p{line-height:1.75;color:var(--muted);font-size:14px}.why{padding:100px 0;background:linear-gradient(135deg,var(--navy),#1e5363);color:white;position:relative;overflow:hidden}.why:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:rgba(21,146,166,.24);right:-180px;top:-180px;filter:blur(8px)}.why-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;position:relative}.section-heading.light{text-align:left;margin:0}.light h2{color:white}.why-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mini-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);backdrop-filter:blur(14px)}.mini-card strong{color:#aee8ee;font-size:14px}.mini-card h3{color:white}.mini-card p{color:rgba(255,255,255,.78)}.about{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.about-card{grid-row:span 2;background:linear-gradient(180deg,#fff, #eef7f4)}.about-card h2{font-size:58px}.mv-grid{display:grid;gap:22px}.appointment{padding:100px 0;background:linear-gradient(180deg,#fff,var(--sage))}.appointment-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}.appointment-copy h2{font-size:72px}.appointment-copy p{line-height:1.8;color:var(--muted)}.location-link{display:inline-flex;margin-top:12px;color:var(--teal);font-weight:700}.appointment-form{display:grid;gap:16px;background:rgba(255,255,255,.9)}label{display:grid;gap:8px;font-size:13px;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;border:1px solid rgba(20,44,62,.14);border-radius:18px;padding:15px 16px;font:inherit;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(21,146,166,.12)}.full{width:100%;border:0}.footer{background:var(--navy2);color:white;padding:42px 0}.footer-layout{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center}.footer img{width:110px}.footer h3{font-family:'Cormorant Garamond',serif;font-size:28px;margin:0}.footer p{color:rgba(255,255,255,.72);margin:6px 0 0}.footer-links{display:flex;gap:16px}.footer-links a{color:#b7edf1;font-weight:700}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--teal),#25d366);color:white;display:grid;place-items:center;font-size:28px;box-shadow:0 16px 40px rgba(0,0,0,.22);z-index:40}.floating-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(2px);opacity:.45}.orb-one{width:260px;height:260px;background:rgba(21,146,166,.14);left:-90px;top:180px}.orb-two{width:340px;height:340px;background:rgba(122,160,150,.18);right:-120px;bottom:120px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:980px){.menu-toggle{display:block}.nav-links{position:absolute;top:84px;left:4%;right:4%;background:white;border-radius:22px;box-shadow:var(--shadow);padding:20px;display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero-overlay{background:linear-gradient(180deg,rgba(247,243,236,.94),rgba(247,243,236,.76),rgba(247,243,236,.35))}.cards-grid{grid-template-columns:repeat(2,1fr)}.why-layout,.about,.appointment-layout{grid-template-columns:1fr}.footer-layout{grid-template-columns:1fr;text-align:center;justify-items:center}.intro-card{grid-template-columns:1fr;text-align:center}.intro-card img{margin:auto}.glass-card{grid-template-columns:1fr}.hero-metrics div{border-right:0;border-bottom:1px solid rgba(20,44,62,.08)}}@media(max-width:560px){.brand img{height:54px}.nav{height:72px}.nav-links{top:72px}.hero{padding-top:72px;min-height:92vh}.hero h1{font-size:52px}.hero p{font-size:16px}.hero-actions{flex-direction:column}.btn{width:100%}.cards-grid,.why-cards{grid-template-columns:1fr}.section,.why,.appointment{padding:72px 0}.intro{margin-top:20px}.intro-card{padding:22px}.intro-card h2{font-size:34px}.about-card h2,.appointment-copy h2{font-size:46px}.footer-links{flex-direction:column}.hero-media img{object-position:62% center}}


/* Actualización visual: onda de luz en menú, cards premium y WhatsApp flotante */
.site-header{overflow:hidden}
.site-header::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,.75) 50%,rgba(21,146,166,.16) 58%,transparent 72%);transform:translateX(-120%);animation:navLightWave 5.5s ease-in-out infinite;mix-blend-mode:screen}.nav{position:relative;z-index:2}.nav-links a{overflow:hidden;border-radius:999px;padding:8px 4px}.nav-links a:not(.nav-cta)::before{content:"";position:absolute;top:0;bottom:0;left:-80%;width:60%;background:linear-gradient(90deg,transparent,rgba(21,146,166,.18),transparent);transform:skewX(-24deg);transition:.55s}.nav-links a:not(.nav-cta):hover::before{left:120%}.nav-cta{box-shadow:0 12px 32px rgba(20,44,62,.18);overflow:hidden}.nav-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.24) 45%,transparent 70%);transform:translateX(-100%);animation:ctaLight 3.2s ease-in-out infinite}@keyframes navLightWave{0%,38%{transform:translateX(-130%)}65%,100%{transform:translateX(130%)}}@keyframes ctaLight{0%,45%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
.service-card,.mini-card,.mv-card,.about-card,.appointment-form,.intro-card{isolation:isolate}.service-card::after,.mini-card::after,.mv-card::after,.about-card::after,.appointment-form::after,.intro-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(21,146,166,.5),rgba(255,255,255,.25),rgba(122,160,150,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}.service-card:hover::after,.mini-card:hover::after,.mv-card:hover::after,.about-card:hover::after,.appointment-form:hover::after,.intro-card:hover::after{opacity:1}.service-card:hover .icon{transform:translateY(-4px) scale(1.06);box-shadow:0 12px 28px rgba(21,146,166,.18)}.icon{transition:.35s}.service-card h3,.mini-card h3,.mv-card h3{position:relative}.service-card h3::after,.mini-card h3::after,.mv-card h3::after{content:"";display:block;width:42px;height:2px;border-radius:9px;background:linear-gradient(90deg,var(--teal),transparent);margin-top:10px;transition:.35s}.service-card:hover h3::after,.mini-card:hover h3::after,.mv-card:hover h3::after{width:78px}.cards-grid .service-card:nth-child(odd){animation:softFloat 7s ease-in-out infinite}.cards-grid .service-card:nth-child(even){animation:softFloat 8s ease-in-out infinite reverse}@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.service-card:hover,.mini-card:hover,.mv-card:hover{transform:translateY(-12px) scale(1.015)}
.whatsapp-float{background:transparent;box-shadow:0 18px 42px rgba(37,211,102,.32);animation:whatsPulse 2.2s ease-in-out infinite}.whatsapp-float img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}.whatsapp-float::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(37,211,102,.55);animation:ringPulse 2.2s ease-out infinite}@keyframes whatsPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}@keyframes ringPulse{0%{opacity:.75;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
@media(max-width:980px){.nav-links a{padding:8px 10px}.site-header::before{animation-duration:7s}}


/* Footer profesional + Facebook + modal de privacidad */
.footer{position:relative;overflow:hidden;padding:56px 0 22px;background:linear-gradient(135deg,#0f2332 0%,#142c3e 48%,#0b1b27 100%)}
.footer-glow{position:absolute;right:-120px;top:-180px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(21,146,166,.34),transparent 62%);filter:blur(6px);pointer-events:none}.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(183,237,241,.7),transparent)}
.footer-pro{position:relative;z-index:1;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.footer-brand-block{display:flex;align-items:center;gap:24px}.footer-logo{width:118px;max-height:118px;object-fit:contain;filter:drop-shadow(0 12px 25px rgba(0,0,0,.22))}.footer-title{display:block;color:#b7edf1;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;margin-bottom:14px}.footer-socials{justify-content:flex-end;align-items:center;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);transition:.28s}.social-link:hover{transform:translateY(-3px);background:rgba(255,255,255,.1)}.social-link img{width:24px;height:24px;object-fit:contain}.privacy-link{border:0;background:transparent;color:#b7edf1;font:inherit;font-weight:700;cursor:pointer;padding:0}.privacy-link:hover,.footer-bottom a:hover{text-decoration:underline}.footer-bottom{position:relative;z-index:1;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:16px;color:rgba(255,255,255,.68);font-size:13px}.footer-bottom p{margin:0}.footer-bottom a{color:#b7edf1;font-weight:800}.privacy-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:.28s}.privacy-modal.open{opacity:1;visibility:visible}.privacy-backdrop{position:absolute;inset:0;background:rgba(10,22,31,.62);backdrop-filter:blur(10px)}.privacy-dialog{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#fffaf4,#ffffff);border:1px solid rgba(20,44,62,.12);border-radius:30px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.28);transform:translateY(18px) scale(.98);transition:.28s}.privacy-modal.open .privacy-dialog{transform:translateY(0) scale(1)}.privacy-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(20,44,62,.12);background:white;color:var(--navy);font-size:26px;line-height:1;cursor:pointer}.privacy-dialog h2{font-family:'Cormorant Garamond',serif;color:var(--navy);font-size:46px;margin:6px 0 12px}.privacy-dialog p{color:var(--muted);line-height:1.75}.privacy-content{display:grid;gap:10px;margin-top:16px}.privacy-content h3{margin:8px 0 0;color:var(--navy);font-size:17px}.privacy-content p{margin:0}.body-lock{overflow:hidden}
@media(max-width:980px){.footer-pro{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-brand-block{flex-direction:column}.footer-socials{justify-content:center}.footer-bottom{flex-direction:column;text-align:center}.footer-logo{margin:auto}.privacy-dialog{padding:28px 22px}.privacy-dialog h2{font-size:38px}}


.about-bg{
    position: relative;
    overflow: hidden;
}

.about-bg::before{
    content:'';
    position:absolute;
    inset:0;
    background:url('assets/quienes-somos-bg.png') center center/cover no-repeat;
    opacity:0.18;
    z-index:0;
}

.about-bg .container,
.about-bg .about-content,
.about-bg .about-card,
.about-bg h2,
.about-bg p{
    position:relative;
    z-index:2;
}


/* Corrección menú móvil: apertura estable, cierre limpio y mejor UX táctil */
.menu-toggle{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(20,44,62,.12);
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 28px rgba(20,44,62,.10);
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-direction:column;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  z-index:1002;
}
.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:var(--navy);
  transition:transform .28s ease, opacity .22s ease, width .28s ease;
}
.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0;width:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,35,50,.42);
  backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  transition:.28s ease;
  z-index:48;
}
.mobile-menu-backdrop.open{opacity:1;visibility:visible}
body.menu-open{overflow:hidden}
@media(max-width:980px){
  .site-header{overflow:visible;z-index:1000}
  .nav{height:78px}
  .brand img{height:58px;max-width:225px;object-fit:contain}
  .menu-toggle{display:flex!important}
  .nav-links{
    position:fixed!important;
    top:88px!important;
    left:50%!important;
    right:auto!important;
    width:min(92vw,420px)!important;
    max-height:calc(100vh - 112px);
    overflow:auto;
    transform:translate(-50%,-18px) scale(.96);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:18px!important;
    border-radius:28px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,243,236,.98))!important;
    border:1px solid rgba(20,44,62,.10);
    box-shadow:0 28px 80px rgba(20,44,62,.25)!important;
    z-index:1001;
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
  }
  .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0) scale(1);
  }
  .nav-links a,
  .nav-links .nav-cta{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:14px 18px!important;
    border-radius:18px!important;
    color:var(--navy);
    background:rgba(255,255,255,.68);
    border:1px solid rgba(20,44,62,.08);
    font-size:15px;
  }
  .nav-links a::after{display:none!important}
  .nav-links a::before{display:none!important}
  .nav-links a:not(.nav-cta)::after{
    content:'›';
    display:block!important;
    position:static;
    width:auto;
    height:auto;
    background:transparent;
    color:var(--teal);
    font-size:22px;
    line-height:1;
  }
  .nav-links .nav-cta{
    justify-content:center;
    background:linear-gradient(135deg,var(--teal),var(--navy))!important;
    color:white!important;
    box-shadow:0 16px 34px rgba(21,146,166,.24)!important;
  }
  .nav-links .nav-cta::before{display:none!important}
  .hero{padding-top:78px}
}
@media(max-width:560px){
  .nav{height:70px}
  .brand img{height:50px;max-width:190px}
  .menu-toggle{width:42px;height:42px}
  .nav-links{top:78px!important;width:92vw!important;max-height:calc(100vh - 96px);padding:16px!important;border-radius:24px!important}
  .nav-links a,.nav-links .nav-cta{min-height:48px;font-size:14px}
}
