:root{--teal:#078899;--teal-dark:#004c58;--aqua:#18d0c4;--ink:#061419;--muted:#6b7d83;--white:#fff;--soft:#eef8f9;--line:rgba(255,255,255,.22);--shadow:0 22px 60px rgba(0,31,38,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 5vw;background:linear-gradient(90deg,#051316,#087d8b);color:#fff;font-size:.85rem}.lang{display:flex;gap:.35rem}.lang button{border:1px solid var(--line);background:transparent;color:#fff;border-radius:999px;padding:.25rem .6rem;cursor:pointer;font-weight:800}.lang button.active{background:#fff;color:var(--teal-dark)}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.8rem 5vw;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(0,0,0,.07)}.brand{display:flex;align-items:center;gap:.75rem;font-weight:900;font-size:1.35rem;color:var(--teal-dark)}.brand img{width:56px;height:56px;object-fit:cover;border-radius:50%;background:#0a252b}.nav{display:flex;align-items:center;gap:1.35rem;font-weight:700;color:#173840}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;height:3px;width:0;background:var(--aqua);transition:.25s}.nav a:hover:after{width:100%}.menu-btn{display:none;background:var(--teal-dark);color:#fff;border:0;border-radius:12px;padding:.55rem .8rem;font-size:1.2rem}.hero{min-height:76vh;position:relative;display:grid;place-items:center;overflow:hidden;background:#001317}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,85,96,.55),rgba(0,0,0,.38)),url('../img/portada.jpg') center/cover no-repeat;transform:scale(1.02)}.hero-content{position:relative;z-index:1;width:min(1120px,90vw);color:#fff;padding:6rem 0}.eyebrow{font-weight:900;color:var(--aqua);text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;margin:0 0 .7rem}.hero h1{font-size:clamp(2.3rem,6vw,5.6rem);max-width:880px;line-height:.95;margin:.2rem 0 1.2rem}.hero-copy{font-size:clamp(1rem,2vw,1.3rem);max-width:680px;line-height:1.7;color:rgba(255,255,255,.9)}.hero-actions,.socials,.quick-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.25rem;font-weight:900;border:1px solid transparent;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(135deg,var(--aqua),var(--teal));color:#fff;box-shadow:0 14px 30px rgba(0,142,155,.28)}.whatsapp{background:#20c763;color:#fff}.ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.1)}.section-pad{padding:92px 5vw}.container{width:min(1180px,100%);margin:0 auto}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}.logo-card{background:linear-gradient(145deg,#052329,#0a8a99);padding:2rem;border-radius:34px;box-shadow:var(--shadow)}.logo-card img{border-radius:22px;margin:auto}.intro h2,.section-title h2,.benefits h2,.location-section h2,.contact-section h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;margin:.2rem 0 1rem;color:#062b32}.intro p,.section-title p,.benefits p,.location-section p,.contact-section p,.card p{color:var(--muted);line-height:1.75}.quick-tags span{background:var(--soft);border:1px solid #d2eef1;border-radius:999px;padding:.55rem .85rem;font-weight:800;color:var(--teal-dark)}.services{background:linear-gradient(180deg,#f4fbfc,#fff)}.section-title{max-width:760px;margin-bottom:2.5rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{background:#fff;border:1px solid #dceff1;border-radius:28px;padding:1.55rem;box-shadow:0 15px 35px rgba(1,75,87,.08);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--aqua),var(--teal))}.card h3{font-size:1.25rem;margin:.6rem 0;color:#06313a}.benefits{background:#061419;color:#fff}.benefits h2,.benefits p{color:#fff}.benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.check-list li{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem;color:#fff;font-weight:800}.check-list li:before{content:'✓';color:var(--aqua);font-weight:900;margin-right:.65rem}.gallery-section{background:#f4fbfc}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery button{border:0;padding:0;background:transparent;border-radius:22px;overflow:hidden;box-shadow:0 16px 32px rgba(0,49,58,.12);cursor:pointer}.gallery img{width:100%;height:260px;object-fit:cover;transition:.3s}.gallery button:hover img{transform:scale(1.05)}.gallery .wide{grid-column:span 4}.gallery .wide img{height:420px}.video-section{background:linear-gradient(145deg,#06252c,#078899);color:#fff}.video-section h2,.video-section p{color:#fff}.video-box{position:relative;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);min-height:520px}.video-box iframe{width:100%;height:520px;border:0;background:#000}.video-link{position:absolute;right:1rem;bottom:1rem;background:rgba(0,0,0,.48)}.map-card{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);min-height:390px}.map-card iframe{width:100%;height:390px;border:0}.contact-lines{display:grid;gap:.7rem;margin:1.2rem 0}.contact-lines a{color:var(--teal-dark);font-weight:800}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.socials a{background:#06313a;color:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:900}.contact-form{display:grid;gap:1rem;background:#fff;border:1px solid #dceff1;border-radius:30px;padding:1.5rem;box-shadow:var(--shadow)}.contact-form label{display:grid;gap:.45rem;font-weight:800}.contact-form input,.contact-form textarea{font:inherit;border:1px solid #cfe5e8;border-radius:16px;padding:.9rem 1rem;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal)}.contact-form small{color:var(--muted)}.footer{background:#020b0d;color:#fff;text-align:center;padding:3rem 5vw}.footer img{width:86px;height:86px;border-radius:50%;object-fit:cover;margin:0 auto 1rem}.footer a{color:var(--aqua);font-weight:900}.floating-actions{position:fixed;right:1rem;bottom:1rem;display:flex;gap:.55rem;z-index:60}.floating-actions a{background:var(--teal-dark);color:#fff;border-radius:999px;padding:.8rem 1rem;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.25)}.floating-actions a+ a{background:#20c763}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;display:none;align-items:center;justify-content:center;padding:2rem}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:92vw;border-radius:20px}.lightbox-close{position:absolute;right:1.2rem;top:1.2rem;border:0;background:#fff;color:#111;border-radius:999px;width:44px;height:44px;font-size:1.2rem;cursor:pointer}.fade-in{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fade-in.visible{opacity:1;transform:none}@media(max-width:900px){.menu-btn{display:block}.nav{position:absolute;left:5vw;right:5vw;top:78px;display:none;flex-direction:column;align-items:flex-start;background:#fff;border-radius:20px;padding:1.2rem;box-shadow:var(--shadow)}.nav.open{display:flex}.hero{min-height:78vh}.split,.benefits-grid,.contact-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .wide{grid-column:span 2}.video-box,.video-box iframe{min-height:420px;height:420px}}@media(max-width:560px){.topbar{font-size:.72rem;align-items:flex-start}.brand span{font-size:1.05rem}.brand img{width:44px;height:44px}.cards,.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:span 1}.gallery img,.gallery .wide img{height:310px}.hero-content{padding:4.5rem 0}.section-pad{padding:68px 5vw}.floating-actions{left:1rem;right:1rem}.floating-actions a{flex:1;text-align:center}.video-box,.video-box iframe{min-height:360px;height:360px}}
