/* GIA CONDOS — dirección premium 2026 */
:root {
  --navy-deep: #062b3d;
  --navy: #0b4760;
  --blue: #087f9c;
  --blue-pale: #e8f7f8;
  --mint: #58b99d;
  --mint-pale: #ebf8f2;
  --coral: #e48468;
  --sand: #f3e7d2;
  --bg: #eaf4f2;
  --surface: rgba(255,255,255,.94);
  --ink: #12333d;
  --ink-soft: #48656d;
  --ink-mute: #70888e;
  --line: rgba(6,43,61,.105);
  --radius-s: 14px;
  --radius: 24px;
  --radius-l: 36px;
  --shadow-s: 0 10px 34px rgba(6,43,61,.07);
  --shadow: 0 22px 70px rgba(6,43,61,.11);
  --shadow-l: 0 32px 100px rgba(6,43,61,.16);
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-padding-top: 96px; }
@property --tropical-a { syntax:"<color>"; inherits:true; initial-value:rgba(33,211,154,.42); }
@property --tropical-b { syntax:"<color>"; inherits:true; initial-value:rgba(0,176,218,.38); }
@property --tropical-c { syntax:"<color>"; inherits:true; initial-value:rgba(255,190,82,.22); }
@property --tropical-base-1 { syntax:"<color>"; inherits:true; initial-value:#c4f3df; }
@property --tropical-base-2 { syntax:"<color>"; inherits:true; initial-value:#b9ecf2; }
@property --tropical-base-3 { syntax:"<color>"; inherits:true; initial-value:#d7f5e8; }
@property --tropical-base-4 { syntax:"<color>"; inherits:true; initial-value:#b8e4ee; }
body {
  --tropical-a:rgba(33,211,154,.42);
  --tropical-b:rgba(0,176,218,.38);
  --tropical-c:rgba(255,190,82,.22);
  --tropical-base-1:#c4f3df;
  --tropical-base-2:#b9ecf2;
  --tropical-base-3:#d7f5e8;
  --tropical-base-4:#b8e4ee;
  overflow-x: clip;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 8%, var(--tropical-a), transparent 30rem),
    radial-gradient(circle at 94% 24%, var(--tropical-b), transparent 34rem),
    radial-gradient(circle at 42% 78%, var(--tropical-c), transparent 31rem),
    linear-gradient(135deg,var(--tropical-base-1) 0%,var(--tropical-base-2) 34%,var(--tropical-base-3) 67%,var(--tropical-base-4) 100%);
  background-size:230% 230%;
  background-attachment:fixed;
  animation:tropical-flow 10s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  letter-spacing: -.008em;
}
@keyframes tropical-flow {
  0% {
    --tropical-a:rgba(22,213,143,.46); --tropical-b:rgba(0,151,224,.4); --tropical-c:rgba(255,202,88,.2);
    --tropical-base-1:#c3f4da; --tropical-base-2:#b7e9f4; --tropical-base-3:#d4f5e5; --tropical-base-4:#b2e1ee;
    background-position:-25% 0%,125% 8%,10% 115%,0% 50%;
  }
  50% {
    --tropical-a:rgba(0,177,218,.42); --tropical-b:rgba(31,220,158,.44); --tropical-c:rgba(95,202,226,.25);
    --tropical-base-1:#b8e7f5; --tropical-base-2:#baf2df; --tropical-base-3:#b9e9f0; --tropical-base-4:#caf4df;
    background-position:65% 18%,25% 48%,90% 55%,55% 50%;
  }
  100% {
    --tropical-a:rgba(20,197,182,.45); --tropical-b:rgba(0,128,220,.38); --tropical-c:rgba(68,218,151,.25);
    --tropical-base-1:#c0f0e9; --tropical-base-2:#aeddf3; --tropical-base-3:#c9f3d9; --tropical-base-4:#b5e7eb;
    background-position:125% 32%,-20% 2%,25% 35%,100% 50%;
  }
}
::selection { background: #bdeee4; color: var(--navy-deep); }
.texture { opacity: .16; }
.wrap { width: min(1180px, calc(100% - clamp(32px, 7vw, 96px))); }
p { line-height: 1.75; }
h1,h2,h3,h4 { letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(3rem, 7.2vw, 7rem); line-height: .94; }
h2 { font-size: clamp(2.2rem, 4.6vw, 4.5rem); line-height: 1.02; }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
.lead { font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.65; }
.eyebrow {
  color: var(--blue);
  font-size: .72rem;
  letter-spacing: .18em;
  font-weight: 800;
}
.grad { background: linear-gradient(105deg, #087f9c, #52ad91 62%, #dd866d); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Navegación */
.nav {
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:transparent;
  border:0;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  z-index:100;
}
.nav__inner {
  width: min(1200px, calc(100% - clamp(20px, 4vw, 56px)));
  min-height: 72px;
  margin-inline: auto;
  padding: 10px 12px 10px 16px;
  border:0;
  border-radius:0;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
}
.nav.is-stuck { background:transparent; border:0; box-shadow:none; }
.nav.is-stuck .nav__inner { background:transparent; box-shadow:none; }
.brand img {
  width:58px;
  height:58px;
  object-fit:contain;
  padding:3px;
  border:1px solid rgba(255,255,255,.96);
  border-radius:16px;
  background:linear-gradient(155deg,#fff 0%,#fbffff 46%,#e6f8fa 100%);
  mix-blend-mode:normal;
  box-shadow:
    inset 0 2px 1px #fff,
    inset 0 -3px 7px rgba(0,147,181,.12),
    0 7px 0 rgba(0,78,105,.1),
    0 15px 30px rgba(0,60,88,.2),
    0 0 18px rgba(203,255,255,.72);
  transform:translateY(-2px);
  transition:transform .28s ease,box-shadow .28s ease;
}
.brand:hover img { transform:translateY(-5px) scale(1.025); box-shadow:inset 0 2px 1px #fff,inset 0 -3px 7px rgba(0,147,181,.12),0 10px 0 rgba(0,78,105,.08),0 21px 38px rgba(0,60,88,.24),0 0 26px rgba(224,255,255,.92); }
.brand__name { color: var(--navy-deep); letter-spacing: -.02em; }
.brand__tag { font-size: .65rem; letter-spacing: .035em; }
.nav__menu { gap: 3px; }
.nav__menu > a { padding: 10px 14px; border-radius: 12px; font-size: .86rem; }
.nav__menu > a:hover { background:rgba(255,255,255,.76); color:var(--navy-deep); }
.nav__menu > a.is-active {
  position:relative;
  overflow:hidden;
  color:var(--navy-deep);
  background:linear-gradient(155deg,#fff 0%,#fbffff 48%,#e2f7f8 100%);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:
    inset 0 2px 1px #fff,
    inset 0 -3px 7px rgba(0,147,181,.11),
    0 5px 0 rgba(0,78,105,.09),
    0 13px 26px rgba(0,60,88,.18),
    0 0 18px rgba(221,255,255,.8);
  transform:translateY(-2px);
}
.nav__menu > a.is-active::after { content:""; position:absolute; inset:1px 3px 52%; border-radius:inherit; background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,0)); pointer-events:none; }
.nav__menu > a.is-active:hover { transform:translateY(-4px); box-shadow:inset 0 2px 1px #fff,inset 0 -3px 7px rgba(0,147,181,.11),0 7px 0 rgba(0,78,105,.08),0 18px 34px rgba(0,60,88,.22),0 0 25px rgba(232,255,255,.95); }
.lang { padding: 4px; border-radius: 13px; background: rgba(6,43,61,.045); }
.lang button { border-radius: 9px; }

/* Hero */
.hero--slider {
  position: relative;
  min-height: min(940px, 100svh);
  padding: 0;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #dff4f4;
}
.hero__slides,.hero__slide,.hero__slide img { position:absolute; inset:0; width:100%; height:100%; }
.hero__slide { opacity:0; visibility:hidden; transition: opacity .9s ease, visibility .9s; }
.hero__slide.is-active { opacity:1; visibility:visible; }
.hero__slide img { object-fit:cover; object-position:center; transform:scale(1.015); transition:transform 3s ease; }
.hero__slide.is-active img { transform:scale(1); }
.hero--slider .wrap { position:relative; z-index:2; padding-bottom:max(16px,var(--sab)); }
.hero--slider .hero__panel {
  position:relative;
  width:min(940px, 100%);
  padding:clamp(20px,3vw,38px) 0 4px;
  border:0;
  border-radius:0;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.hero--slider .hero__badge {
  position:relative;
  top:28px;
  margin-bottom:28px;
}
.hero--slider h1 { max-width:11.5ch; font-size:clamp(3.6rem,7.2vw,7.2rem); color:#00aef4; margin-left:0; margin-right:0; text-shadow:0 2px 1px rgba(230,255,255,.98),0 0 16px rgba(0,201,255,.5),0 8px 32px rgba(255,255,255,.92); }
.hero--slider .lead { max-width:62ch; color:#073747; font-size:clamp(1.05rem,1.45vw,1.28rem); font-weight:650; text-shadow:0 1px 2px #fff,0 4px 18px rgba(255,255,255,.96); }
.hero--slider h1 span,.hero--slider h1 .grad {
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#00aef4!important;
  color:#00aef4!important;
  filter:none!important;
}
.hero__badge { background:linear-gradient(135deg,#00a97f,#008db8); color:#fff; border:1px solid rgba(255,255,255,.75); box-shadow:0 10px 28px rgba(0,112,133,.24); }
.hero__facts { display:none; }
.hero__nav { display:flex; gap:8px; margin-top:22px; }
.hero__nav button { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(6,43,61,.2); cursor:pointer; transition:.35s ease; }
.hero__nav button.is-active { width:38px; background:var(--blue); }
.soc--fb,.soc--ig { display:none; }

/* Botones */
.btn { min-height:50px; padding:14px 22px; border-radius:15px; font-weight:750; letter-spacing:-.01em; box-shadow:none; }
.btn--wa { color:#032f32; background:linear-gradient(135deg,#43ff9b,#00edb2); border:1px solid #adffd2; box-shadow:0 0 10px rgba(40,255,164,.9),0 0 30px rgba(0,238,178,.58),0 15px 36px rgba(0,115,92,.34); }
.btn--wa:hover { color:#012b2e; background:linear-gradient(135deg,#7effb7,#00ffd0); box-shadow:0 0 16px rgba(69,255,174,1),0 0 42px rgba(0,244,194,.76),0 18px 40px rgba(0,115,92,.4); transform:translateY(-3px); }
.btn--ghost { color:#002e49; background:linear-gradient(135deg,#42ecff,#00aef4); border-color:#baf8ff; box-shadow:0 0 10px rgba(53,231,255,.9),0 0 30px rgba(0,182,255,.56),0 15px 36px rgba(0,104,170,.3); }
.btn--ghost:hover { color:#00243d; background:linear-gradient(135deg,#77f3ff,#21c3ff); box-shadow:0 0 16px rgba(65,235,255,1),0 0 42px rgba(0,183,255,.75),0 18px 40px rgba(0,95,166,.38); transform:translateY(-3px); }
.btn--primary { background:linear-gradient(135deg,#00aa7d,#008fc3); box-shadow:0 14px 34px rgba(0,132,148,.25); }

/* Secciones y tarjetas */
.section,.section--tight { position:relative; isolation:isolate; }
.section { padding-block:clamp(80px,10vw,150px); }
.section--tight { padding-block:clamp(50px,7vw,94px); }
main > .section:not(.section--alt):nth-of-type(3n),
main > .section--tight:nth-of-type(3n) { background:linear-gradient(135deg,rgba(200,248,224,.28),rgba(184,232,244,.3),rgba(234,246,210,.22)); border-block:0; }
.section--alt { overflow:hidden; background:linear-gradient(135deg,#052f43 0%,#075c70 52%,#118d8d 100%); border-block:1px solid rgba(255,255,255,.12); box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(255,255,255,.08); }
.section--alt::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; right:-170px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(126,237,203,.34),transparent 68%); filter:blur(8px); }
.section--alt::after { content:""; position:absolute; z-index:-1; width:420px; height:420px; left:-180px; bottom:-250px; border-radius:50%; background:radial-gradient(circle,rgba(242,173,130,.28),transparent 68%); }
.section--alt h2,.section--alt h3,.section--alt h4 { color:#fff; }
.section--alt .eyebrow { color:#9fe8d0; }
.section--alt p,.section--alt .lead { color:rgba(255,255,255,.8); }
.grid { gap:clamp(14px,2vw,24px); }
.card,.svc-block,.form,.contact-card {
  border:1px solid rgba(6,43,61,.09);
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(235,247,244,.86));
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow-s);
}
.card { --card-pad:clamp(24px,3vw,34px); min-height:100%; padding:var(--card-pad); border-radius:28px; overflow:hidden; }
#servicios .card { padding:0; display:flex; flex-direction:column; }
.card__media { display:block; width:100%; height:clamp(280px,25vw,360px); margin:0; flex:0 0 auto; object-fit:cover; object-position:center; filter:saturate(1.08) contrast(1.02); transition:transform .65s ease,filter .65s ease; }
.card:hover .card__media { transform:scale(1.035); filter:saturate(1.18) contrast(1.03); }
.card__media + .card__ico { position:relative; z-index:2; flex:0 0 auto; margin:-29px 28px 15px; border:3px solid rgba(255,255,255,.9); }
#servicios .card h3 { margin:0 28px .45em; }
#servicios .card p { margin:0 28px 30px; }
.card:nth-child(4n+1) { background:linear-gradient(145deg,#ffffff,#e5f6f1); }
.card:nth-child(4n+2) { background:linear-gradient(145deg,#fffaf3,#f6e6d5); }
.card:nth-child(4n+3) { background:linear-gradient(145deg,#edf8f8,#d9eff1); }
.card:nth-child(4n+4) { background:linear-gradient(145deg,#f4f0ff,#e7e1f6); }
.card:hover { transform:translateY(-8px); box-shadow:var(--shadow); border-color:rgba(8,127,156,.22); }
.card__ico { width:48px; height:48px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--navy-deep),var(--blue)); box-shadow:0 12px 25px rgba(8,127,156,.2); }
.card p { color:var(--ink-soft); }
.g1,.g2,.g3,.g4 { --g:linear-gradient(135deg,var(--navy-deep),var(--blue)); --glow:rgba(8,127,156,.2); }
.stats { gap:12px; }
.stat { border-radius:22px; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.3); box-shadow:0 18px 42px rgba(0,22,32,.2); }
.stat__num { color:var(--blue); }
.photo-slider,.parallax,.split__media { border-radius:34px; }
.photo-slide img,.split__media img { filter:saturate(.92); }
.photo-slider-track { position:relative; display:block; aspect-ratio:16/10; transform:none!important; transition:none; }
.photo-slider-track figure { position:absolute; inset:0; width:100%; height:100%; opacity:0; visibility:hidden; transition:opacity .38s ease,visibility .38s ease; }
.photo-slider-track figure.is-active { opacity:1; visibility:visible; z-index:1; }
.photo-slider-track img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.svc-block { border-radius:30px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(224,242,239,.9)); box-shadow:0 24px 70px rgba(6,43,61,.13); }
.svc-block.g1 { background:linear-gradient(145deg,#fff,#e6f2ff); }
.svc-block.g3 { background:linear-gradient(145deg,#fff,#e1f6ee); }
.svc-block.g4 { background:linear-gradient(145deg,#fffaf4,#f3e4d4); }
.svc-block::before { height:3px; background:linear-gradient(90deg,var(--blue),var(--mint),var(--coral)); }
.pill { background:var(--mint-pale); color:var(--navy); }
.note { border-radius:16px; }
.leak-showcase { margin-top:clamp(34px,5vw,64px); padding-top:clamp(30px,4vw,48px); border-top:1px solid var(--line); }
.leak-showcase__head { max-width:760px; margin-bottom:26px; }
.leak-showcase__head h4 { font-size:clamp(1.8rem,3.5vw,3rem); margin:10px 0 12px; color:var(--navy-deep); }
.leak-showcase__head p { margin:0; color:var(--ink-soft); }
.leak-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:210px; gap:12px; }
.leak-photo { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:20px; background:#dfeae7; box-shadow:0 10px 28px rgba(6,43,61,.1); }
.leak-photo--wide { grid-column:span 2; }
.leak-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.3,1); }
.leak-photo:hover img { transform:scale(1.035); }
.leak-photo figcaption { position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:7px 11px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--navy-deep); font-size:.72rem; font-weight:750; box-shadow:0 5px 16px rgba(6,43,61,.12); }
.service-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:32px; }
.service-proof-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-proof-grid figure { position:relative; min-width:0; margin:0; aspect-ratio:4/3; overflow:hidden; border-radius:18px; background:#dbe9e7; box-shadow:0 12px 30px rgba(6,43,61,.12); }
.service-proof-grid img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.service-proof-grid figure:hover img { transform:scale(1.04); }
.service-proof-grid figcaption,.project-gallery figcaption { position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:7px 11px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--navy-deep); font-size:.72rem; font-weight:750; box-shadow:0 5px 16px rgba(6,43,61,.12); }
.project-gallery { columns:4 230px; column-gap:12px; }
.project-gallery--expandable { margin-top:42px; padding-top:34px; border-top:1px solid rgba(0,174,244,.28); scroll-margin-top:28px; }
.project-gallery--expandable[hidden] { display:none!important; }
.project-gallery figure { position:relative; break-inside:avoid; margin:0 0 12px; overflow:hidden; border-radius:20px; background:#dbe9e7; box-shadow:0 14px 36px rgba(6,43,61,.13); }
.project-gallery img { width:100%; height:auto; display:block; transition:transform .55s cubic-bezier(.2,.7,.3,1); }
.project-gallery figure:hover img { transform:scale(1.025); }
.badge { background:rgba(255,255,255,.82); padding:10px 16px; }
.review-card { border-radius:25px; background:#fff; }
.review-card .stars { color:var(--mint); }
.section--alt .review-card { background:#fff; border-color:rgba(167,241,247,.9); box-shadow:0 20px 54px rgba(0,24,42,.28),0 0 24px rgba(0,211,229,.14); }
.section--alt .review-card p { color:var(--ink); }
.section--alt .review-card strong { color:var(--navy-deep); }
.section--alt .review-card em { color:var(--ink-mute); }

/* Contacto */
.form { border-radius:32px; }
.field input,.field select,.field textarea { background:#f5faf9; border-radius:14px; border-color:rgba(6,43,61,.1); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(8,127,156,.1); }
.contact-card { border-radius:22px; }
.contact-card .ico { background:linear-gradient(135deg,var(--navy-deep),var(--blue)); }

/* CTA y pie */
.cta { border-radius:38px; background:linear-gradient(135deg,#062b3d 0%,#0b5870 54%,#168b91 100%); box-shadow:0 30px 90px rgba(6,43,61,.2); }
.cta::before { background:radial-gradient(circle,rgba(113,222,191,.42),transparent 68%); }
.footer { background:#052735; border-radius:44px 44px 0 0; }
.footer__bot { gap:14px 28px; flex-wrap:wrap; }
.footer__legal { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.footer__legal a { color:#8fefff; font-weight:700; text-decoration:none; transition:color .25s ease,text-shadow .25s ease; }
.footer__legal a:hover { color:#fff; text-shadow:0 0 14px rgba(56,231,255,.8); }
.wa-float { right:max(18px,var(--sar)); bottom:max(18px,var(--sab)); width:58px; height:58px; }
.fomo-notification { border-radius:18px; }

.privacy-card { max-width:900px; margin-inline:auto; padding:clamp(28px,5vw,62px); border:1px solid rgba(135,242,255,.62); border-radius:34px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(24px) saturate(150%); backdrop-filter:blur(24px) saturate(150%); box-shadow:0 30px 80px rgba(2,52,76,.18),0 0 30px rgba(0,205,229,.12); }
.privacy-card h2 { margin-top:1.55em; font-size:clamp(1.45rem,2.6vw,2.1rem); color:var(--navy-deep); }
.privacy-card h2:first-of-type { margin-top:.7em; }
.privacy-card p { color:var(--ink-soft); }
.privacy-card a { color:#007db7; font-weight:750; }
.privacy-updated { display:inline-flex; padding:8px 13px; border-radius:999px; background:var(--blue-pale); color:var(--blue)!important; font-size:.82rem; font-weight:750; }

/* Plataforma tecnológica — profundidad, vidrio y luz */
.btn { position:relative; isolation:isolate; overflow:hidden; transform:translateZ(0); border-top-color:rgba(255,255,255,.9); border-left-color:rgba(255,255,255,.72); text-shadow:0 1px 1px rgba(255,255,255,.36); transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease; }
.btn::after { content:""; position:absolute; z-index:-1; inset:1px 3px 52% 3px; border-radius:inherit; background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,0)); pointer-events:none; }
.btn:hover { filter:saturate(1.15) brightness(1.04); }
.btn:active { transform:translateY(1px) scale(.985); }

.card,.svc-block,.form,.contact-card,.stat,.review-card,.badge,.cta { transform-style:preserve-3d; border-color:rgba(127,244,255,.5); box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 -1px 0 rgba(0,171,197,.12) inset,0 20px 46px rgba(1,50,75,.15),0 4px 12px rgba(0,168,194,.12),0 0 24px rgba(36,224,226,.1); }
.card,.svc-block,.form,.contact-card,.review-card,.badge { background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(218,249,246,.64)); -webkit-backdrop-filter:blur(22px) saturate(155%); backdrop-filter:blur(22px) saturate(155%); }
.card:nth-child(4n+1),.svc-block.g1 { background:linear-gradient(145deg,rgba(244,255,255,.88),rgba(186,246,255,.62)); }
.card:nth-child(4n+2),.svc-block.g2 { background:linear-gradient(145deg,rgba(246,255,252,.86),rgba(179,255,222,.6)); }
.card:nth-child(4n+3),.svc-block.g3 { background:linear-gradient(145deg,rgba(237,255,255,.86),rgba(163,237,242,.6)); }
.card:nth-child(4n+4),.svc-block.g4 { background:linear-gradient(145deg,rgba(248,252,255,.88),rgba(190,220,255,.62)); }
.card:hover,.svc-block:hover,.contact-card:hover,.stat:hover,.badge:hover { transform:perspective(1000px) translateY(-10px) rotateX(1.5deg) scale(1.012); border-color:rgba(57,246,255,.92); box-shadow:0 1px 0 #fff inset,0 30px 70px rgba(0,58,88,.24),0 0 22px rgba(0,239,225,.32),0 0 52px rgba(0,175,255,.17); }
.card__ico,.contact-card .ico,.tick { border:1px solid rgba(173,250,255,.8); background:linear-gradient(145deg,#003f69,#00a9bd 55%,#00edb2); box-shadow:0 8px 0 rgba(0,57,79,.18),0 14px 28px rgba(0,162,190,.32),0 0 18px rgba(0,239,213,.4),inset 0 1px 1px rgba(255,255,255,.78); transform:translateZ(20px); }
.stat__num {
  background:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:#008da3;
  color:#008da3;
  text-shadow:none;
  filter:none;
}
.stats .stat {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:176px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px 20px 27px;
  border:1px solid rgba(255,255,255,.98);
  border-radius:24px;
  background:linear-gradient(155deg,#fff 0%,#f8ffff 48%,#dff8f8 100%);
  box-shadow:
    inset 0 2px 1px #fff,
    inset 0 -5px 11px rgba(0,165,190,.11),
    0 8px 0 rgba(0,88,112,.1),
    0 20px 42px rgba(0,57,84,.2),
    0 0 25px rgba(119,247,255,.24);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease;
}
.stats .stat:nth-child(even) { background:linear-gradient(155deg,#fff 0%,#f8fffc 48%,#ddfaed 100%); box-shadow:inset 0 2px 1px #fff,inset 0 -5px 11px rgba(0,180,137,.11),0 8px 0 rgba(0,91,93,.1),0 20px 42px rgba(0,57,84,.2),0 0 25px rgba(92,255,198,.22); }
.stats .stat::before { content:""; position:absolute; z-index:-1; inset:1px 4px 52%; border-radius:inherit; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,0)); pointer-events:none; }
.stats .stat::after { content:""; position:absolute; left:18px; right:18px; bottom:8px; height:4px; border-radius:999px; background:linear-gradient(90deg,#27f5ae,#09cce6,#12a9f4); box-shadow:0 0 14px rgba(0,211,225,.48); }
.stats .stat:hover { transform:translateY(-9px) scale(1.015); filter:saturate(1.08); box-shadow:inset 0 2px 1px #fff,inset 0 -5px 11px rgba(0,165,190,.11),0 12px 0 rgba(0,88,112,.08),0 29px 58px rgba(0,57,84,.25),0 0 32px rgba(119,247,255,.38); }
.stats .stat:nth-child(even) .stat__num { color:#008c70; -webkit-text-fill-color:#008c70; }
.stats .stat__num { font-size:clamp(2.45rem,5vw,3.45rem); }
.stats .stat__lbl { max-width:15ch; color:#496a73; font-weight:750; }

.parallax--card {
  height:auto;
  display:grid;
  grid-template-rows:auto auto;
  overflow:hidden;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 28px 68px rgba(1,54,78,.2),0 0 28px rgba(0,213,225,.14);
}
.parallax--card img {
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:clamp(360px,46vw,540px);
  object-fit:cover;
  object-position:center;
  transform:none!important;
}
.parallax--card .parallax__pill {
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  max-width:none;
  transform:none;
  padding:24px clamp(24px,4vw,48px) 27px;
  text-align:left;
  background:linear-gradient(155deg,#fff,#eefcfa);
  border:0;
  border-top:1px solid rgba(0,174,197,.16);
  border-radius:0;
  box-shadow:inset 0 2px 1px #fff;
}
.parallax--card .parallax__pill strong { font-size:clamp(1.25rem,2.2vw,1.75rem); }
.parallax--card .parallax__pill span { display:block; margin-top:5px; font-size:.95rem; }
.field input,.field select,.field textarea { border-color:rgba(0,181,208,.28); box-shadow:inset 0 3px 8px rgba(0,57,78,.06),0 1px 0 rgba(255,255,255,.9); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#00dfe5; box-shadow:inset 0 3px 8px rgba(0,57,78,.05),0 0 0 3px rgba(0,226,229,.16),0 0 24px rgba(0,205,235,.24); }
.service-proof-grid figure,.project-gallery figure,.leak-photo,.photo-slider,.split__media { border:1px solid rgba(128,244,255,.5); box-shadow:0 24px 52px rgba(2,53,77,.2),0 0 24px rgba(0,213,225,.12),inset 0 1px 0 rgba(255,255,255,.78); }

/* Clientes reales y documentación extraída del material entregado */
.client-title { max-width:18ch; margin:12px auto 34px; font-size:clamp(1.65rem,3.4vw,3.2rem); }
.logo-marquee { padding:10px 0 24px; }
.logo-marquee-track { gap:18px; animation-duration:48s; }
.logo-marquee-track .chip {
  width:190px;
  min-height:132px;
  padding:12px;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  overflow:hidden;
  color:var(--navy-deep);
  background:rgba(255,255,255,.9);
  border:1px solid rgba(106,234,238,.5);
  border-radius:20px;
  opacity:1;
  box-shadow:0 14px 34px rgba(0,61,82,.13),inset 0 1px 0 #fff;
}
.logo-marquee-track .chip img { width:154px; height:82px; border-radius:10px; object-fit:contain; background:#fff; }
.logo-marquee-track .chip > span:last-child { max-width:100%; overflow:hidden; text-overflow:ellipsis; font-size:.72rem; letter-spacing:.02em; }

.document-section { margin-top:clamp(62px,8vw,104px); padding-top:clamp(46px,6vw,72px); border-top:1px solid rgba(0,151,183,.22); }
.document-section h3 { max-width:22ch; margin:10px auto 8px; font-size:clamp(1.65rem,3vw,2.7rem); }
.document-section .center > p { margin:0; color:var(--ink-soft); }
.document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,24px); margin-top:34px; text-align:left; }
.document-card {
  min-width:0;
  overflow:hidden;
  color:var(--ink);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(219,250,247,.82));
  border:1px solid rgba(98,237,241,.58);
  border-radius:26px;
  box-shadow:0 22px 54px rgba(1,53,76,.16),inset 0 1px 0 #fff;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.document-card:hover { transform:translateY(-8px); border-color:#37e8ed; box-shadow:0 30px 70px rgba(1,53,76,.22),0 0 28px rgba(0,221,225,.2); }
.document-card__preview { display:block; height:380px; padding:16px; overflow:hidden; background:#fff; }
.document-card__preview img { width:100%; height:100%; object-fit:contain; object-position:top center; }
.document-card__copy { display:flex; flex-direction:column; gap:5px; padding:20px 22px 23px; }
.document-card__copy small { color:#008c9f; font-size:.67rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.document-card__copy strong { font-family:var(--font-display); font-size:1.12rem; color:var(--navy-deep); }
.document-card__copy > span { color:var(--blue); font-size:.82rem; font-weight:750; }

@media (min-width:1080px) {
  .hero--slider .wrap { position:static; }
  .hero__facts { display:grid; position:absolute; left:75%; right:auto; top:50%; transform:translate(-50%,-50%); gap:14px; margin:0; justify-items:center; pointer-events:none; z-index:2; }
  .hero__fact { min-width:240px; justify-content:flex-start; border-radius:18px; color:#04394c; background:linear-gradient(135deg,rgba(235,255,255,.76),rgba(181,247,239,.55)); border:1px solid rgba(149,250,255,.85); -webkit-backdrop-filter:blur(22px) saturate(170%); backdrop-filter:blur(22px) saturate(170%); box-shadow:0 1px 0 #fff inset,0 18px 46px rgba(0,51,78,.24),0 0 24px rgba(0,225,225,.27); animation:interface-float 5.5s ease-in-out infinite; }
  .hero__fact:nth-child(2) { transform:translateX(-34px); animation-delay:-1.8s; }
  .hero__fact:nth-child(3) { transform:translateX(8px); animation-delay:-3.6s; }
  .hero__fact svg { fill:#00aebf; filter:drop-shadow(0 0 5px rgba(0,230,220,.65)); }
}
@keyframes interface-float { 0%,100% { translate:0 0; } 50% { translate:0 -10px; } }

/* Atmósfera viva: nubes tropicales en movimiento */
body > main,body > footer { position:relative; z-index:1; }
.texture { z-index:0; opacity:1; background:none; overflow:hidden; }
.texture::before,.texture::after { opacity:.72; filter:blur(72px); will-change:transform,border-radius; }
.texture::before {
  width:72vw;
  height:62vw;
  top:-18vw;
  left:-22vw;
  right:auto;
  background:
    radial-gradient(circle at 28% 34%,rgba(0,174,244,.62),transparent 36%),
    radial-gradient(circle at 68% 58%,rgba(0,242,195,.54),transparent 42%),
    radial-gradient(circle at 48% 82%,rgba(91,224,255,.42),transparent 34%);
  animation:cloud-drift-one 18s ease-in-out infinite alternate;
}
.texture::after {
  width:78vw;
  height:68vw;
  right:-24vw;
  left:auto;
  bottom:-22vw;
  background:
    radial-gradient(circle at 62% 30%,rgba(0,132,255,.52),transparent 38%),
    radial-gradient(circle at 30% 62%,rgba(34,255,165,.5),transparent 40%),
    radial-gradient(circle at 76% 74%,rgba(0,218,226,.44),transparent 36%);
  animation:cloud-drift-two 22s ease-in-out infinite alternate;
}
@keyframes cloud-drift-one {
  0% { transform:translate3d(-8vw,-3vh,0) rotate(-8deg) scale(.92); border-radius:42% 58% 63% 37%/48% 38% 62% 52%; }
  50% { transform:translate3d(38vw,20vh,0) rotate(8deg) scale(1.12); border-radius:63% 37% 41% 59%/35% 62% 38% 65%; }
  100% { transform:translate3d(78vw,48vh,0) rotate(18deg) scale(.98); border-radius:38% 62% 57% 43%/61% 43% 57% 39%; }
}
@keyframes cloud-drift-two {
  0% { transform:translate3d(10vw,8vh,0) rotate(10deg) scale(1.08); border-radius:58% 42% 36% 64%/44% 63% 37% 56%; }
  50% { transform:translate3d(-38vw,-18vh,0) rotate(-6deg) scale(.94); border-radius:35% 65% 58% 42%/62% 39% 61% 38%; }
  100% { transform:translate3d(-76vw,-42vh,0) rotate(-18deg) scale(1.14); border-radius:66% 34% 44% 56%/39% 58% 42% 61%; }
}

/* Página interior */
main > .hero:not(.hero--slider) { min-height:520px; display:grid; align-items:end; padding:170px 0 80px; overflow:hidden; background:radial-gradient(circle at 80% 18%,rgba(107,225,194,.5),transparent 25rem),radial-gradient(circle at 14% 88%,rgba(234,144,105,.28),transparent 26rem),linear-gradient(145deg,#ccebe6,#d8eef0 48%,#f7dfc8); border-bottom:1px solid rgba(6,43,61,.1); }
main > .hero:not(.hero--slider)::before { content:""; position:absolute; width:420px; height:420px; right:-120px; bottom:-230px; border-radius:50%; border:80px solid rgba(255,255,255,.22); }
main > .hero:not(.hero--slider) h1 { max-width:13ch; color:var(--navy-deep); }
main > .hero:not(.hero--slider) .lead { max-width:66ch; }

@media (max-width:940px) {
  .nav { z-index:100; }
  .nav__inner { position:relative; z-index:2; }
  .nav__menu { top:max(10px,var(--sat)); right:10px; bottom:auto; height:auto; max-height:calc(100dvh - 20px); border-radius:26px; border:1px solid var(--line); padding:82px 20px 22px; background:rgba(255,255,255,.99); z-index:120; overflow-y:auto; }
  .nav__menu:not(.is-open) { display:none; }
  .nav__menu.is-open { display:flex; transform:none; }
  .nav__menu > a { padding:14px 16px; }
  .nav__social { margin:4px 0 0; padding:4px 0 0; border:0; justify-content:flex-start; }
  .nav__social .soc--wa { display:flex; width:100%; height:auto; min-height:48px; justify-content:flex-start; gap:10px; padding:14px 16px; border:0; border-radius:12px; background:transparent; color:#12a85b; box-shadow:none; font-size:1rem; font-weight:750; }
  .nav__social .soc--wa:hover { transform:none; background:rgba(18,168,91,.08); box-shadow:none; }
  .nav__social .soc--wa svg { width:20px; height:20px; }
  .nav__social .soc__label { display:inline; }
  .burger { position:relative; z-index:130; }
  .nav-backdrop { z-index:90; }
  .nav-backdrop.is-on { background:rgba(6,43,61,.3); }
}

@media (max-width:700px) {
  .wrap { width:min(100% - 28px,1180px); }
  .nav { top:max(7px,var(--sat)); }
  .nav__inner { width:calc(100% - 14px); min-height:62px; border-radius:18px; padding:7px 8px 7px 11px; }
  .brand img { width:48px; height:48px; border-radius:14px; }
  .lang { gap:4px; padding:4px; }
  .lang button { min-width:38px; padding:7px 8px; justify-content:center; }
  .lang .flag { display:block; width:22px; height:14px; opacity:.72; }
  .lang button.is-on .flag { opacity:1; }
  .lang button > span { display:none; }
  .hero--slider { min-height:100svh; }
  .hero--slider .wrap { width:calc(100% - 22px); padding-bottom:max(12px,var(--sab)); }
  .hero--slider .hero__panel { padding:22px 4px 18px; border-radius:0; background:transparent; }
  .hero--slider .hero__badge { top:54px; margin-bottom:54px; }
  .hero--slider h1 { max-width:10ch; font-size:clamp(3.15rem,15vw,5rem); }
  .hero--slider .lead { max-width:36ch; font-size:1rem; line-height:1.5; }
  .hero__slide img { object-position:center; }
  .btn-row { gap:9px; }
  .btn { width:100%; justify-content:center; }
  .hero--slider .btn-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; width:100%; }
  .hero--slider .btn { min-width:0; min-height:48px; padding:11px 9px; border-radius:14px; font-size:.72rem; line-height:1.15; letter-spacing:-.015em; box-shadow:0 8px 22px rgba(0,70,100,.2),0 0 12px rgba(32,230,239,.2); }
  .hero--slider .btn svg { width:17px; height:17px; }
  .wa-float { display:none; }
  .hero__nav { justify-content:center; }
  .section { padding-block:76px; }
  .section--tight { padding-block:48px; }
  .card,.svc-block,.form { border-radius:24px; }
  .cta { border-radius:28px; }
  .footer { border-radius:30px 30px 0 0; }
  .fomo-notification { display:none; }
  main > .hero:not(.hero--slider) { min-height:500px; padding:150px 0 60px; }
  .leak-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:190px; gap:9px; }
  .leak-photo--wide { grid-column:span 2; }
  .leak-photo { border-radius:16px; }
  .service-proof-grid,.service-proof-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .service-proof-grid--3 figure:first-child { grid-column:span 2; }
  .service-proof-grid figure { border-radius:15px; }
  .card__media { height:clamp(300px,92vw,430px); }
  .card__media + .card__ico { margin-left:22px; margin-right:22px; }
  #servicios .card h3,#servicios .card p { margin-left:22px; margin-right:22px; }
  .project-gallery { columns:2 145px; column-gap:9px; }
  .project-gallery figure { margin-bottom:9px; border-radius:15px; }
  .parallax--card { height:auto; border-radius:24px; }
  .parallax--card img { height:clamp(280px,78vw,360px); }
  .parallax--card .parallax__pill { padding:18px 20px 21px; }
  .parallax--card .parallax__pill strong { font-size:1.08rem; line-height:1.25; }
  .parallax--card .parallax__pill span { margin-top:5px; font-size:.84rem; line-height:1.35; }
  .stats { gap:18px; }
  .stats .stat { min-height:168px; }
  .client-title { margin-bottom:24px; font-size:1.75rem; }
  .logo-marquee-track .chip { width:158px; min-height:116px; padding:10px; border-radius:17px; }
  .logo-marquee-track .chip img { width:132px; height:68px; }
  .document-grid { grid-template-columns:1fr; }
  .document-card__preview { height:360px; }
  .document-card__preview--wide { height:240px; }
}

@media (max-width:380px) {
  .brand__name { font-size:.96rem; }
  .hero--slider .hero__panel { padding:18px 3px 15px; }
  .hero--slider h1 { font-size:2.95rem; }
  .hero__badge { font-size:.68rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero__slide img { transform:none!important; }
}
