:root{
  --deep:#052337;
  --blue:#0879b8;
  --aqua:#24c7d8;
  --green:#17b86e;
  --white:#ffffff;
  --soft:#eefaff;
  --text:#183747;
  --muted:#607884;
  --line:#d8edf5;
  --shadow:0 24px 70px rgba(5,35,55,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f8fdff;color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}.container{width:min(1140px,92%);margin:auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(5,35,55,.05)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--aqua));display:grid;place-items:center;color:white;font-weight:900;letter-spacing:-.05em;box-shadow:0 14px 35px rgba(8,121,184,.28)}.brand-text strong{display:block;color:var(--deep);font-size:18px}.brand-text small{display:block;color:var(--muted);font-weight:700;font-size:12px;margin-top:2px}.menu{display:flex;gap:8px}.menu a{font-weight:800;color:#365866;padding:12px 15px;border-radius:999px}.menu a:hover{background:#e6f8fe;color:var(--blue)}.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer}.menu-btn span{display:block;height:3px;background:var(--deep);margin:6px 0;border-radius:8px}
.hero{position:relative;overflow:hidden;color:white;padding:92px 0 78px;background:radial-gradient(circle at 16% 12%,rgba(103,238,238,.55),transparent 25%),linear-gradient(135deg,#052337 0%,#0879b8 56%,#22c8d7 100%)}.hero:after{content:"";position:absolute;inset:auto 0 -1px 0;height:90px;background:linear-gradient(to bottom,transparent,#f8fdff)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:42px}.eyebrow,.tag{display:inline-flex;margin:0 0 16px;padding:9px 15px;border-radius:999px;font-weight:900;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.eyebrow{background:rgba(255,255,255,.17);color:white}.tag{background:#e5f8fc;color:var(--blue)}.tag.light{background:rgba(255,255,255,.18);color:white}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,7vw,78px);line-height:.96;letter-spacing:-.06em;margin-bottom:22px}h2{font-size:clamp(31px,4vw,52px);line-height:1.02;letter-spacing:-.045em;color:var(--deep);margin-bottom:16px}h3{font-size:24px;color:var(--deep);margin-bottom:12px}.lead{font-size:20px;line-height:1.72;color:#eafcff;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 23px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s ease}.btn:hover{transform:translateY(-3px)}.btn-whatsapp{background:linear-gradient(135deg,#1ecb7b,#0b9f5d);color:white;box-shadow:0 18px 45px rgba(10,159,93,.28)}.btn-outline{background:rgba(255,255,255,.13);color:white;border-color:rgba(255,255,255,.34)}.hero-visual{min-height:370px;display:grid;place-items:center}.pool-card{width:min(440px,100%);border-radius:34px;padding:24px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.65);transform:rotate(1.3deg)}.pool-water{height:235px;border-radius:28px;background:linear-gradient(180deg,#dffcff 0%,#72dce8 48%,#0879b8 100%);position:relative;overflow:hidden;box-shadow:inset 0 -25px 42px rgba(5,35,55,.24)}.pool-water:before,.pool-water:after{content:"";position:absolute;left:-20%;width:140%;height:48px;border-radius:50%;background:rgba(255,255,255,.58);animation:wave 5s ease-in-out infinite}.pool-water:before{top:64px}.pool-water:after{top:125px;animation-delay:1.2s}.pool-info{padding:22px 4px 4px;color:var(--deep)}.pool-info span{display:block;color:var(--muted);font-weight:800;margin-bottom:6px}.pool-info strong{font-size:22px;line-height:1.22}
.section{padding:82px 0}.summary-card{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:34px;padding:34px;border-radius:var(--radius);background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.summary-card p:last-child{font-size:18px;line-height:1.8;color:#526f7c;margin-bottom:0}.section-heading{text-align:center;max-width:780px;margin:0 auto 42px}.section-heading p:not(.tag){font-size:18px;line-height:1.7;color:#5f7884}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;overflow:hidden;padding:34px;border-radius:var(--radius);background:linear-gradient(180deg,#fff,#effaff);border:1px solid var(--line);box-shadow:0 18px 45px rgba(5,35,55,.08);min-height:240px}.service-card:before{content:"";position:absolute;right:-46px;top:-46px;width:145px;height:145px;border-radius:50%;background:linear-gradient(135deg,var(--aqua),transparent);opacity:.36}.service-card span{width:54px;height:54px;border-radius:18px;background:var(--deep);color:white;font-weight:900;display:grid;place-items:center;margin-bottom:24px}.service-card p{font-size:17px;line-height:1.7;color:#5c7480}.coverage{background:linear-gradient(135deg,#e8faff,#fff)}.coverage-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:42px;border-radius:var(--radius);background:linear-gradient(135deg,#052337,#0879b8);color:white;box-shadow:var(--shadow)}.coverage-card:after{content:"";position:absolute;right:-95px;bottom:-130px;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.12)}.coverage-card h2{color:white}.coverage-card p{font-size:18px;line-height:1.75;color:#e6fbff;max-width:650px}.coverage-card>*{position:relative;z-index:1}.gallery-section{background:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{appearance:none;border:0;padding:0;margin:0;height:305px;border-radius:24px;overflow:hidden;cursor:pointer;background:#dff8ff;box-shadow:0 16px 38px rgba(5,35,55,.12);position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:"Ver imagen";position:absolute;left:14px;right:14px;bottom:14px;background:rgba(5,35,55,.78);color:white;border-radius:999px;padding:12px 14px;font-weight:900;opacity:0;transform:translateY(8px);transition:.25s ease}.gallery-item:hover:after{opacity:1;transform:translateY(0)}.contact-section{padding:92px 0;background:radial-gradient(circle at 85% 0%,rgba(36,199,216,.7),transparent 27%),linear-gradient(135deg,#031a29,#052337);color:white}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:center}.contact-section h2{color:white}.contact-section p{font-size:18px;line-height:1.75;color:#e2f9ff}.contact-box{display:grid;gap:14px;background:white;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.contact-box a{display:block;padding:20px;border-radius:22px;background:#eefaff;border:1px solid var(--line);color:var(--deep)}.contact-box span{display:block;color:var(--muted);font-weight:900;margin-bottom:6px}.contact-box strong{font-size:24px}.floating-wa{position:fixed;right:18px;bottom:18px;z-index:30;background:#13b66b;color:white;font-weight:900;padding:15px 18px;border-radius:999px;box-shadow:0 16px 40px rgba(10,159,93,.35)}.footer{background:#02131f;color:#dff8ff;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer p{margin:0;font-weight:800}.lightbox{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;background:rgba(2,19,31,.92);padding:24px}.lightbox.show{display:flex}.lightbox img{max-width:min(1100px,94vw);max-height:86vh;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border:0;border-radius:50%;background:white;color:var(--deep);font-size:32px;cursor:pointer}
@keyframes wave{50%{transform:translateX(28px)}}
@media (max-width:860px){.menu-btn{display:block}.menu{position:absolute;left:4%;right:4%;top:76px;display:none;flex-direction:column;align-items:stretch;background:white;padding:15px;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow)}.menu.open{display:flex}.hero{padding:58px 0}.hero-grid,.summary-card,.contact-grid{grid-template-columns:1fr}.service-grid,.gallery{grid-template-columns:1fr}.coverage-card{flex-direction:column;align-items:flex-start}.gallery-item{height:270px}.footer-inner{flex-direction:column;text-align:center}.brand-text small{display:none}}
@media (max-width:460px){.nav{height:70px}.menu{top:70px}.brand-mark{width:44px;height:44px;border-radius:16px}.brand-text strong{font-size:15px}.hero-actions{display:grid}.btn{width:100%}h1{font-size:43px}.section{padding:64px 0}.summary-card,.coverage-card,.contact-box{padding:22px;border-radius:22px}.gallery-item{height:235px}.floating-wa{left:18px;text-align:center}.contact-box strong{font-size:20px}}
