:root{--morado: #6c2bd9;--morado-claro: #9b6bf0;--coral: #ff5f7e;--fondo: #120a24;--fondo-suave: #1c1236;--texto: #f5f1ff;--gris: #b7aed6;--radio: 22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fondo);color:var(--texto);font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,.logo,.footer-logo{font-family:Cormorant Garamond,serif;font-weight:700;color:var(--texto);margin:0}p{line-height:1.7;color:var(--gris)}a{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 6vw;background:#120a24bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{font-size:1.5rem;letter-spacing:.5px}.logo span{color:var(--coral)}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--texto);opacity:.85;transition:opacity .2s,color .2s}.nav-links a:hover{opacity:1;color:var(--coral)}.nav-cta{border:1px solid var(--coral);padding:9px 18px;border-radius:30px;color:var(--coral)!important}.nav-cta:hover{background:var(--coral);color:var(--fondo)!important}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.menu-toggle span{width:24px;height:2px;background:var(--texto)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,var(--fondo) 40%,var(--morado) 100%);overflow:hidden}.hero-shape{position:absolute;top:-20%;right:-15%;width:60vw;height:60vw;max-width:700px;max-height:700px;border-radius:50%;background:radial-gradient(circle,rgba(255,95,126,.45),transparent 70%);filter:blur(10px)}.hero-content{position:relative;z-index:2;padding:160px 6vw 100px;max-width:700px}.hero-kicker{color:var(--coral);letter-spacing:2px;text-transform:uppercase;font-size:.85rem;font-weight:600;margin-bottom:20px}.hero h1{font-size:clamp(3.4rem,10vw,7rem);line-height:.95;margin-bottom:24px}.hero h1 span{color:var(--coral)}.hero-sub{font-size:1.05rem;max-width:520px;margin-bottom:36px}.hero-actions{display:flex;gap:18px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:40px;font-weight:600;font-size:.95rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn-primary{background:var(--coral);color:var(--fondo)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px #ff5f7e66}.btn-outline{border:1px solid rgba(245,241,255,.35);color:var(--texto)}.btn-outline:hover{border-color:var(--texto);transform:translateY(-2px)}section{padding:110px 6vw;position:relative}.section-head{max-width:640px;margin-bottom:56px}.section-tag{color:var(--coral);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:600}.section-head h2,.nosotros-texto h2,.contacto-grid h2{font-size:clamp(2.1rem,4.5vw,3.4rem);margin:10px 0 16px}.servicios{background:var(--fondo-suave)}.servicios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.servicio-card{border-radius:var(--radio);padding:36px 30px;position:relative;transition:transform .3s ease}.card-0{background:linear-gradient(160deg,#3a1e6e,#2a1650);transform:rotate(-1.5deg)}.card-1{background:linear-gradient(160deg,#6c2bd9,#401a86);transform:rotate(1deg);margin-top:24px}.card-2{background:linear-gradient(160deg,#ff5f7e,#b93a58);transform:rotate(-.5deg)}.servicio-card:hover{transform:translateY(-8px) rotate(0)}.servicio-num{font-family:Cormorant Garamond,serif;font-size:1.8rem;opacity:.6;color:var(--texto)}.servicio-card h3{margin:12px 0 10px;font-size:1.5rem}.servicio-card p{font-size:.95rem;color:#f5f1ffd9}.nosotros{max-width:780px}.nosotros-texto p{max-width:560px;margin-bottom:20px}.checklist{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:10px}.checklist li{padding-left:28px;position:relative;color:var(--texto);font-size:.95rem}.checklist li:before{content:"✦";position:absolute;left:0;color:var(--coral)}.contacto{background:var(--fondo-suave)}.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.horario-nota{font-size:.85rem}.horario-nota em{color:var(--coral);font-style:normal}.horarios{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid rgba(245,241,255,.1)}.horarios li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(245,241,255,.1);font-size:.95rem}.horarios li span:first-child{color:var(--texto)}.horarios li span:last-child{color:var(--gris)}.contacto-info{display:flex;flex-direction:column;gap:18px}.info-card{background:#6c2bd92e;border:1px solid rgba(255,95,126,.2);border-radius:var(--radio);padding:22px 26px;display:flex;flex-direction:column;gap:4px;transition:border-color .25s ease,transform .25s ease}.info-card:hover{border-color:var(--coral);transform:translate(6px)}.info-card strong{color:var(--coral);text-transform:uppercase;font-size:.75rem;letter-spacing:1px}.info-card span:not(.ver-mapa){font-size:1.05rem;color:var(--texto)}.ver-mapa{font-size:.8rem;color:var(--gris);margin-top:6px}.footer{text-align:center;padding:50px 6vw 40px;background:var(--fondo);border-top:1px solid rgba(255,95,126,.15)}.footer-logo{font-size:1.4rem;margin-bottom:10px}.footer-logo span{color:var(--coral)}.footer p{font-size:.85rem;margin:4px 0}.footer-demo{opacity:.55;font-size:.75rem;margin-top:14px}.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px #25d36673;transition:transform .25s ease}.whatsapp-float:hover{transform:scale(1.08)}@media (max-width: 900px){.contacto-grid{grid-template-columns:1fr}}@media (max-width: 720px){.menu-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;background:#120a24f7;flex-direction:column;align-items:flex-start;padding:20px 6vw 30px;gap:18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}section{padding:70px 6vw}.card-1{margin-top:0}}
