*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
:root {
  --sky:   #4AABCC;
  --ocean: #1E7A9A;
  --deep:  #0E4D65;
  --foam:  #E8F6FB;
  --sand:  #FDF9F5;
  --warm:  #F0EBE3;
  --text:  #1A2F3A;
  --muted: #6B8A96;
  --white: #FFFFFF;
  --accent:#F4A261;
}
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; color:var(--text); background:var(--sand); overflow-x:hidden; margin:0; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:.75rem 5vw;
  background:rgba(255,255,255,.95); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(74,171,204,.18);
  transition:box-shadow .3s;
}
nav.scrolled { box-shadow:0 4px 28px rgba(14,77,101,.10); }

/* Logo oficial — imagen completa, sin texto al lado */
.nav-logo { display:flex; align-items:center; text-decoration:none; }
.nav-logo img { height:52px; width:auto; object-fit:contain; flex-shrink:0; display:block; }
.nav-logo-text { display:none; }

.nav-back {
  display:inline-flex; align-items:center; gap:.45rem;
  color:var(--muted); font-size:.84rem; font-weight:500;
  text-decoration:none; transition:color .2s;
  padding:.4rem .9rem; border-radius:50px;
  border:1.5px solid rgba(14,77,101,.15);
  background:rgba(255,255,255,.6);
}
.nav-back:hover { color:var(--ocean); border-color:rgba(74,171,204,.4); background:var(--foam); }

.nav-cta {
  background:var(--sky); color:#fff; border:none;
  padding:.5rem 1.2rem; border-radius:50px;
  font-family:'DM Sans',sans-serif; font-size:.83rem; font-weight:600;
  cursor:pointer; text-decoration:none;
  transition:background .2s, transform .15s;
  white-space:nowrap;
}
.nav-cta:hover { background:var(--ocean); transform:translateY(-1px); }

/* ── HERO DEL SERVICIO ── */
.srv-hero {
  min-height:58vh; display:flex; align-items:flex-end;
  padding:8rem 5vw 4.5rem;
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, var(--deep) 0%, var(--ocean) 100%);
}
.srv-hero-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:.25; mix-blend-mode:luminosity;
}
.srv-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(14,77,101,.88) 0%, rgba(14,77,101,.45) 55%, transparent 100%);
}
.srv-hero-content { position:relative; z-index:1; max-width:720px; }
.srv-breadcrumb {
  display:flex; align-items:center; gap:.4rem; margin-bottom:1.3rem;
  flex-wrap:wrap;
}
.srv-breadcrumb a { color:rgba(255,255,255,.55); font-size:.76rem; text-decoration:none; transition:color .2s; }
.srv-breadcrumb a:hover { color:var(--sky); }
.srv-breadcrumb span { color:rgba(255,255,255,.3); font-size:.76rem; }
.srv-emoji { font-size:3rem; display:block; margin-bottom:.8rem; }
.srv-hero-content h1 {
  font-family:'DM Serif Display',serif;
  font-size:clamp(2rem,5vw,3.2rem); color:#fff; line-height:1.1; margin-bottom:.9rem;
}
.srv-hero-content p { font-size:1rem; color:rgba(255,255,255,.72); line-height:1.75; max-width:600px; }
.srv-chip {
  display:inline-block; margin-top:1rem;
  background:rgba(74,171,204,.25); border:1px solid rgba(74,171,204,.45);
  color:#fff; padding:.3rem .9rem; border-radius:50px;
  font-size:.73rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em;
}

/* ── CONTENIDO ── */
.srv-content { max-width:920px; margin:0 auto; padding:4.5rem 5vw 5rem; }
.srv-section { margin-bottom:3.5rem; }
.srv-section h2 {
  font-family:'DM Serif Display',serif; font-size:1.75rem;
  color:var(--deep); margin-bottom:1rem; line-height:1.2;
}
.srv-section p { font-size:.97rem; color:var(--muted); line-height:1.82; margin-bottom:.9rem; }
.srv-section p:last-child { margin-bottom:0; }

/* Split imagen + texto */
.srv-split {
  display:grid; grid-template-columns:1fr 1fr;
  gap:2.5rem; align-items:center; margin-bottom:3.5rem;
}
.srv-split.reverse { direction:rtl; }
.srv-split.reverse > * { direction:ltr; }
.srv-split img {
  width:100%; border-radius:22px; object-fit:cover; height:290px;
  box-shadow:0 14px 40px rgba(14,77,101,.15);
  cursor:zoom-in; transition:transform .25s;
}
.srv-split img:hover { transform:scale(1.02); }
.srv-split-text h2 {
  font-family:'DM Serif Display',serif; font-size:1.55rem;
  color:var(--deep); margin-bottom:.85rem; line-height:1.2;
}
.srv-split-text p { font-size:.94rem; color:var(--muted); line-height:1.8; }

/* Grilla de beneficios */
.benefits-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
  gap:1rem; margin-top:1.5rem;
}
.benefit-card {
  background:var(--foam); border-radius:18px; padding:1.25rem 1.3rem;
  border-left:3px solid var(--sky);
  transition:transform .2s, box-shadow .2s;
}
.benefit-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(14,77,101,.10); }
.benefit-card .bc-icon { font-size:1.5rem; margin-bottom:.5rem; display:block; }
.benefit-card h4 { font-size:.86rem; font-weight:700; color:var(--deep); margin-bottom:.3rem; }
.benefit-card p { font-size:.82rem; color:var(--muted); line-height:1.65; }

/* Galería interna */
.srv-gallery {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:10px; margin:1.5rem 0;
}
.srv-gallery img {
  width:100%; height:185px; object-fit:cover;
  border-radius:16px; box-shadow:0 4px 18px rgba(14,77,101,.10);
  cursor:zoom-in; transition:transform .25s, box-shadow .25s;
}
.srv-gallery img:hover { transform:scale(1.04); box-shadow:0 10px 32px rgba(14,77,101,.18); }

/* Pasos del proceso */
.steps { display:flex; flex-direction:column; gap:1.1rem; margin-top:1.2rem; }
.step { display:flex; gap:1.1rem; align-items:flex-start; }
.step-num {
  width:38px; height:38px; border-radius:50%; background:var(--deep);
  color:#fff; font-weight:700; font-size:.9rem;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:2px;
  box-shadow:0 4px 12px rgba(14,77,101,.25);
}
.step-text h4 { font-size:.92rem; font-weight:600; color:var(--deep); margin-bottom:.28rem; }
.step-text p { font-size:.86rem; color:var(--muted); line-height:1.7; }

/* CTA final */
.srv-cta-box {
  background:linear-gradient(135deg, var(--deep) 0%, var(--ocean) 100%);
  border-radius:26px; padding:2.8rem 2rem; text-align:center; margin-top:4rem;
  position:relative; overflow:hidden;
}
.srv-cta-box::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:280px; height:280px; border-radius:50%;
  background:rgba(255,255,255,.06); pointer-events:none;
}
.srv-cta-box h3 {
  font-family:'DM Serif Display',serif; font-size:1.8rem;
  color:#fff; margin-bottom:.7rem;
}
.srv-cta-box p { color:rgba(255,255,255,.7); margin-bottom:1.5rem; font-size:.96rem; line-height:1.7; }
.btn-cta {
  background:#fff; color:var(--deep);
  padding:.88rem 2.2rem; border-radius:50px;
  font-family:'DM Sans',sans-serif; font-size:.94rem; font-weight:700;
  text-decoration:none; display:inline-flex; align-items:center; gap:.5rem;
  transition:transform .15s, box-shadow .15s;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.btn-cta:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.22); }

/* Otros servicios */
.otros-servicios { background:var(--white); padding:4.5rem 5vw; }
.otros-servicios h3 {
  font-family:'DM Serif Display',serif; font-size:1.6rem;
  color:var(--deep); text-align:center; margin-bottom:2rem;
}
.otros-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(175px,1fr));
  gap:1rem; max-width:920px; margin:0 auto;
}
.otro-card {
  background:var(--sand); border-radius:18px; padding:1.2rem 1rem;
  text-align:center; text-decoration:none;
  border:1.5px solid transparent;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.otro-card:hover {
  border-color:rgba(74,171,204,.4);
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(14,77,101,.10);
}
.otro-card .oc-icon { font-size:1.6rem; display:block; margin-bottom:.45rem; }
.otro-card span { font-size:.82rem; font-weight:600; color:var(--deep); line-height:1.35; display:block; }

/* Footer */
footer {
  background:var(--deep); color:rgba(255,255,255,.6);
  padding:2rem 5vw;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
}
.footer-logo-srv {
  display:flex; align-items:center; gap:.1rem;
}
.footer-logo-srv img {
  height:44px; width:auto; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.85;
}
footer p { font-size:.78rem; }
footer a { color:var(--sky); text-decoration:none; }
footer a:hover { text-decoration:underline; }

/* Lightbox */
.lightbox {
  display:none; position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.88);
  align-items:center; justify-content:center;
}
.lightbox.active { display:flex; }
.lightbox img { max-width:90vw; max-height:88vh; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.lightbox-close {
  position:absolute; top:1.2rem; right:1.5rem;
  color:#fff; font-size:2rem; cursor:pointer; line-height:1;
  width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.lightbox-close:hover { background:rgba(255,255,255,.3); }

/* WhatsApp flotante */
.wa-float {
  position:fixed; bottom:1.8rem; right:1.8rem; z-index:300;
  width:56px; height:56px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  text-decoration:none; font-size:1.55rem;
  transition:transform .2s;
}
.wa-float:hover { transform:scale(1.1); }

/* Responsive */
@media(max-width:700px) {
  .srv-split { grid-template-columns:1fr; }
  .srv-split.reverse { direction:ltr; }
  .srv-gallery { grid-template-columns:1fr 1fr; }
  .benefits-grid { grid-template-columns:1fr; }
  .otros-grid { grid-template-columns:repeat(2,1fr); }
  .srv-hero { min-height:45vh; padding:7rem 5vw 3rem; }
  footer { flex-direction:column; text-align:center; }
}
