/* ═══════════════════════════════════════════════════
   FORTUNITY II — 360 Redesign
   Tierra & Calor · Estilo Aman Resorts
   ─────────────────────────────────────────────────
   Tokens
   --terra  #6EC1E4   azul Riviera Azul · --terra2 #4AADD4 hover
   --cream  #FAF7F2   crema pura
   --forest #1A4A66   azul oscuro · --blue  #6EC1E4  azul Riviera Azul
   --sand   #E8DDD0   arena
   --char   #1A1A18   carbón casi negro
   --mid    #7A6E62   gris cálido
   --gold   #B8926A   oro tostado
═══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --terra:#6EC1E4; --terra2:#4AADD4; --cream:#FAF7F2;
  --forest:#1A4A66; --blue:#6EC1E4; --blue2:#4AADD4; --sand:#E8DDD0; --char:#1A1A18;
  --mid:#7A6E62; --gold:#B8926A; --gold2:#D4B08C;
  --ff-d:'Playfair Display',Georgia,serif;
  --ff-b:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease2:cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--ff-b);font-weight:300;color:var(--char);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}

/* ── TYPE ── */
h1{font-family:var(--ff-d);font-weight:500;font-size:clamp(3rem,6.5vw,7rem);line-height:1.04;letter-spacing:-.02em}
h2{font-family:var(--ff-d);font-weight:400;font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.08;letter-spacing:-.015em}
h3{font-family:var(--ff-d);font-weight:400;font-size:1.5rem;line-height:1.2;margin-bottom:.5rem}
h4{font-family:var(--ff-b);font-size:.9rem;font-weight:500;letter-spacing:.04em;margin-bottom:.5rem}
em{font-style:italic;color:var(--terra)}
.light em{color:var(--gold2)}
.light{color:var(--cream)}
.light-body{color:rgba(232,221,208,.75);max-width:480px;font-size:.95rem;line-height:1.8}
.body{font-size:clamp(.87rem,1.1vw,.98rem);line-height:1.85;color:var(--mid);max-width:500px}
.eyebrow{display:block;font-family:var(--ff-b);font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--terra);margin-bottom:1rem}
.eyebrow.light{color:var(--gold2)}
.kicker{display:block;font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,221,208,.6);margin-bottom:1.4rem}

/* ── LAYOUT ── */
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}

/* ── SCROLL REVEAL ── */
.reveal,.reveal-up{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in,.reveal-up.in{opacity:1;transform:none}
.delay1{transition-delay:.12s}.delay2{transition-delay:.24s}.delay3{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-up{opacity:1;transform:none;transition:none}}

/* ── BUTTONS ── */
.btn-terra{display:inline-block;background:var(--terra);color:#1A4A66;font-family:var(--ff-b);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:1.05rem 2.4rem;transition:background .3s,transform .3s}
.btn-terra:hover{background:var(--terra2);transform:translateY(-2px)}
.btn-terra.full{display:block;text-align:center}
.btn-ghost-light{display:inline-flex;align-items:center;gap:.55rem;color:rgba(250,247,242,.8);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:1.05rem 1.8rem;border:1px solid rgba(250,247,242,.28);transition:border-color .3s,background .3s}
.btn-ghost-light:hover{border-color:var(--gold2);background:rgba(184,146,106,.12)}
.btn-wa-big{display:flex;align-items:center;justify-content:center;gap:.7rem;background:#25D366;color:#fff;font-family:var(--ff-b);font-size:.88rem;font-weight:500;padding:1.1rem 2rem;transition:background .3s,transform .3s;width:100%}
.btn-wa-big:hover{background:#1db954;transform:translateY(-2px)}
.text-link{display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--terra);border-bottom:1px solid rgba(110,193,228,.4);padding-bottom:3px;margin-top:2rem;transition:border-color .3s}
.text-link:hover{border-color:var(--terra)}

/* ═══ NAV ═══ */
#nav{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.7rem clamp(1.5rem,5vw,4rem);transition:background .5s,padding .4s,backdrop-filter .5s}
#nav.scrolled{background:rgba(26,26,24,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:1rem;padding-bottom:1rem}
.logo{font-family:var(--ff-d);font-size:1.1rem;font-weight:400;color:var(--cream);letter-spacing:.08em}
.logo span{color:var(--terra);font-style:italic}
.nav-links{display:flex;align-items:center;gap:2.2rem;list-style:none}
.nav-links a{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,247,242,.55);transition:color .3s}
.nav-links a:hover{color:var(--cream)}
.nav-links .nav-cta{background:var(--terra);color:#1A4A66;padding:.6rem 1.35rem;font-weight:500}
.nav-links .nav-cta:hover{background:var(--terra2);color:#1A4A66}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.burger span{display:block;width:22px;height:1px;background:var(--cream);transition:transform .4s}

/* Mobile menu */
.mmenu{display:none;position:fixed;inset:0;z-index:195;background:var(--char);flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;opacity:0;pointer-events:none;transition:opacity .4s}
.mmenu.open{opacity:1;pointer-events:all}
.mclose{position:absolute;top:1.8rem;right:2rem;background:none;border:none;color:rgba(232,221,208,.5);font-size:1.1rem;cursor:pointer}
.ml{font-family:var(--ff-d);font-size:2.5rem;color:var(--cream);transition:color .3s}
.ml:hover{color:var(--terra)}
.ml.accent{font-family:var(--ff-b);font-size:1rem;letter-spacing:.1em;color:var(--terra)}

/* ═══ HERO ═══ */
.hero{position:relative;height:100dvh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:#0d1a15}
.hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.4s ease-in-out;will-change:opacity}
.hv.active{opacity:1}
/* Gradient: left-heavy so text is always readable without covering the whole frame */
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(26,26,24,.78) 0%,rgba(26,26,24,.35) 55%,rgba(26,26,24,.05) 100%),linear-gradient(to top,rgba(26,26,24,.6) 0%,transparent 40%)}
.hero-body{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem);padding-top:4.5rem}
.hero-body h1{color:var(--cream);margin-bottom:1.4rem}
.hero-body h1 em{color:var(--gold2)}
.hero-sub{font-size:clamp(.87rem,1.1vw,.98rem);color:rgba(232,221,208,.62);line-height:1.78;max-width:420px;margin-bottom:2.4rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}

/* Preventa badge */
.hero-badge{position:absolute;top:calc(1.7rem + 0px);right:clamp(1.5rem,5vw,4rem);z-index:10;display:flex;flex-direction:column;align-items:center;background:rgba(110,193,228,.12);border:1px solid rgba(110,193,228,.35);backdrop-filter:blur(8px);padding:.9rem 1.4rem;text-align:center;transition:opacity .5s .8s}
.hero-badge span{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2)}
.hero-badge strong{font-family:var(--ff-d);font-size:1.1rem;color:var(--cream);font-weight:400}

/* Typewriter cursor */
.line::after{content:'|';color:var(--terra);animation:blink .8s step-end infinite;margin-left:2px}
.line.done::after{display:none}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* Scroll cue */
.scroll-cue{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-cue span{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,247,242,.32)}
.sc-line{width:1px;height:46px;background:linear-gradient(to bottom,rgba(110,193,228,.8),transparent);animation:scPulse 2.2s ease-in-out infinite}
@keyframes scPulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.1)}}

/* ═══ INTRO BAND ═══ */
.intro-band{background:var(--char);padding:0}
.ib-inner{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem);display:grid;grid-template-columns:repeat(4,1fr) repeat(3,.06fr);align-items:stretch}
.ib-item{padding:2.2rem 1.5rem;display:flex;flex-direction:column;gap:.4rem}
.ib-label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.ib-item strong{font-family:var(--ff-d);font-size:1.2rem;color:var(--cream);font-weight:400}
.ib-div{width:1px;background:rgba(184,146,106,.18);margin:1.5rem 0}

/* ═══ PROYECTO ═══ */
.proyecto{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:var(--cream)}
.proy-media{position:relative;overflow:hidden}
.proy-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.proy-media:hover img{transform:scale(1.04)}
.proy-media-caption{position:absolute;bottom:1.5rem;left:1.5rem;background:rgba(26,26,24,.52);backdrop-filter:blur(6px);padding:.45rem 1.1rem}
.proy-media-caption span{font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,247,242,.65)}
.proy-content{padding:clamp(3rem,7vw,8rem) clamp(2rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center}
.proy-content h2{margin-bottom:1.5rem}
.proy-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--sand)}
.pillar{display:flex;flex-direction:column;gap:.4rem}
.pillar-icon{font-size:1.4rem;margin-bottom:.2rem}
.pillar span{font-size:.75rem;line-height:1.45;color:var(--mid)}

/* ═══ LIFESTYLE ═══ */
.lifestyle{background:var(--sand);overflow:hidden}
.ls-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:4px}
.ls-img{overflow:hidden;position:relative}
.ls-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ls-img:hover img{transform:scale(1.05)}
.ls-img.tall{grid-row:span 2;min-height:500px}
.ls-img.wide{grid-column:span 2;height:320px}
.ls-text{background:var(--forest);padding:clamp(2.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}
.ls-text h2{color:var(--cream);margin-bottom:1.4rem}
.ls-text h2 em{color:var(--gold2)}
.ls-text .body{color:rgba(232,221,208,.7)}
.ls-text .text-link{color:var(--gold);border-color:rgba(184,146,106,.3)}
.ls-text .text-link:hover{border-color:var(--gold)}

/* ═══ AMENIDADES ═══ */
.amenidades{background:var(--cream);padding:clamp(5rem,10vw,10rem) 0}
.amenidades .wrap{margin-bottom:4rem}
.amen-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}
.amen-card{background:#fff;overflow:hidden;transition:box-shadow .4s,transform .4s}
.amen-card:hover{box-shadow:0 16px 48px rgba(26,26,24,.1);transform:translateY(-4px);z-index:2}
.ac-img{height:220px;background-size:cover;background-position:center;transition:transform .8s var(--ease),filter .6s;filter:saturate(.8)}
.amen-card:hover .ac-img{transform:scale(1.06);filter:saturate(1)}
.ac-body{padding:1.8rem 1.8rem 2.2rem}
.ac-body h3{font-size:1.3rem;color:var(--char);margin-bottom:.5rem}
.ac-body p{font-size:.8rem;line-height:1.7;color:var(--mid)}

/* ═══ BREAK FULLSCREEN ═══ */
.break-full{position:relative;height:65vh;min-height:360px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bf-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 12s ease}
.break-full.zoomed .bf-img{transform:scale(1.06)}
.bf-veil{position:absolute;inset:0;background:rgba(26,26,24,.5)}
.bf-text{position:relative;z-index:2;text-align:center;padding:0 2rem;max-width:800px}
.bf-text p{font-family:var(--ff-d);font-size:clamp(1.6rem,3.2vw,3.2rem);font-weight:300;color:var(--cream);line-height:1.4}
.bf-text em{color:var(--gold2)}

/* ═══ TIPOLOGÍAS ═══ */
.tipologias{background:var(--cream);padding:clamp(5rem,10vw,10rem) 0}
.tipologias .wrap{margin-bottom:3rem}
.tipo-ui{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}
.tipo-tabs{display:flex;gap:0;margin-bottom:3rem;border-bottom:1px solid var(--sand)}
.ttab{background:none;border:none;font-family:var(--ff-b);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);padding:1rem 1.8rem;cursor:pointer;position:relative;transition:color .3s}
.ttab::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--terra);transform:scaleX(0);transition:transform .4s var(--ease)}
.ttab.active,.ttab:hover{color:var(--char)}
.ttab.active::after{transform:scaleX(1)}
.tipo-panels{position:relative}
.tpanel{display:none;grid-template-columns:1fr 1fr;gap:0;animation:fadeInUp .5s var(--ease)}
.tpanel.active{display:grid}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.tp-img{overflow:hidden;height:480px}
.tp-img img{width:100%;height:100%;object-fit:cover}
.tp-info{background:var(--char);padding:clamp(2.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}
.tp-tag{display:inline-block;font-size:.58rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;background:rgba(184,146,106,.15);border:1px solid rgba(184,146,106,.3);color:var(--gold2);padding:.3rem .9rem;margin-bottom:1.2rem}
.tp-tag.popular{background:rgba(110,193,228,.15);border-color:rgba(110,193,228,.4);color:var(--blue)}
.tp-tag.exclusive{background:rgba(110,193,228,.2);border-color:rgba(110,193,228,.4);color:rgba(232,221,208,.8)}
.tp-info h3{font-size:2rem;color:var(--cream);margin-bottom:.4rem}
.tp-area{font-size:.8rem;letter-spacing:.1em;color:var(--gold);margin-bottom:1.5rem;text-transform:uppercase}
.tp-feats{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.8rem}
.tp-feats li{font-size:.82rem;color:var(--sand);padding-left:1.1rem;position:relative;line-height:1.4}
.tp-feats li::before{content:'';position:absolute;left:0;top:.5em;width:4px;height:4px;border-radius:50%;background:var(--terra)}
.tp-price{font-size:.72rem;color:rgba(232,221,208,.4);letter-spacing:.06em;margin-bottom:1.6rem}

/* ═══ INVERSIÓN ═══ */
.inversion{background:var(--forest);overflow:hidden}
.inv-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.inv-left{padding:clamp(4rem,8vw,8rem) clamp(2rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center}
.inv-left h2{margin-bottom:1.8rem}
.inv-cards{display:grid;grid-template-columns:1fr 1fr;gap:0;align-content:center;padding:clamp(2rem,4vw,5rem);background:rgba(0,0,0,.15)}
.ic{padding:2rem;border-bottom:1px solid rgba(184,146,106,.12);border-right:1px solid rgba(184,146,106,.12)}
.ic:nth-child(2n){border-right:none}
.ic:nth-child(3),.ic:nth-child(4){border-bottom:none}
.ic-icon{font-size:1.5rem;margin-bottom:1rem}
.ic h4{color:var(--cream);font-size:.88rem;letter-spacing:.04em;margin-bottom:.5rem}
.ic p{font-size:.78rem;line-height:1.7;color:rgba(232,221,208,.6)}
.inv-img{position:relative;height:420px;overflow:hidden}
.inv-img img{width:100%;height:100%;object-fit:cover}
.inv-img-tag{position:absolute;bottom:1.5rem;right:1.5rem;background:rgba(26,26,24,.6);backdrop-filter:blur(6px);padding:.45rem 1rem}
.inv-img-tag span{font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,247,242,.6)}

/* ═══ FAQ ═══ */
.faq{background:var(--sand);padding:clamp(5rem,10vw,10rem) 0}
.faq-cols{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem;align-items:start}
.faq-head h2{margin-bottom:0}
.faq-list{display:flex;flex-direction:column}
.fi{border-bottom:1px solid rgba(26,26,24,.12)}
.fq{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.6rem 0;font-family:var(--ff-d);font-size:1.12rem;font-weight:400;color:var(--char);text-align:left;cursor:pointer;transition:color .3s}
.fq:hover{color:var(--terra)}
.fq svg{width:20px;height:20px;flex-shrink:0;color:var(--terra);transition:transform .4s var(--ease)}
.fq[aria-expanded="true"] svg{transform:rotate(180deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .5s var(--ease),padding .4s}
.fa.open{max-height:200px;padding-bottom:1.6rem}
.fa p{font-size:.86rem;line-height:1.85;color:var(--mid)}

/* ═══ CTA FINAL ═══ */
.cta-final{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.ctaf-left{position:relative;overflow:hidden;min-height:600px}
.ctaf-left img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctaf-img-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,24,.85) 0%,rgba(26,26,24,.2) 60%)}
.ctaf-img-text{position:absolute;bottom:3rem;left:2.5rem;z-index:2;max-width:380px}
.ctaf-img-text p{font-family:var(--ff-d);font-size:clamp(1.3rem,2.5vw,2rem);font-weight:300;color:var(--cream);line-height:1.4}
.ctaf-right{background:var(--cream);display:flex;align-items:center;overflow-y:auto}
.ctaf-content{padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);width:100%;max-width:540px;margin:0 auto}
.ctaf-content h2{margin-bottom:2.5rem}

.ctaf-wa{background:var(--char);padding:1.5rem;margin-bottom:0}
.wa-badge{display:flex;align-items:center;gap:.6rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}

.divider-or{display:flex;align-items:center;gap:1rem;margin:1.8rem 0;color:var(--mid);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.divider-or::before,.divider-or::after{content:'';flex:1;height:1px;background:var(--sand)}

#ctaForm{display:flex;flex-direction:column;gap:.85rem}
#ctaForm input,#ctaForm select{background:#fff;border:1px solid var(--sand);color:var(--char);font-family:var(--ff-b);font-size:.84rem;font-weight:300;padding:.92rem 1.1rem;outline:none;transition:border-color .3s;-webkit-appearance:none;border-radius:0;width:100%}
#ctaForm input::placeholder{color:rgba(122,110,98,.45)}
#ctaForm select{color:rgba(122,110,98,.6);cursor:pointer}
#ctaForm select option{background:var(--cream);color:var(--char)}
#ctaForm input:focus,#ctaForm select:focus{border-color:var(--terra)}
.fpriv{font-size:.6rem;color:var(--mid);text-align:center;margin-top:.5rem;letter-spacing:.04em}
.form-ok{display:none;text-align:center;padding:3rem 1rem}
.ok-check{font-size:3rem;color:var(--terra);margin-bottom:1rem;animation:okPop .5s var(--ease)}
@keyframes okPop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.form-ok h3{font-family:var(--ff-d);font-size:2rem;color:var(--char);margin-bottom:.6rem}
.form-ok p{font-size:.87rem;color:var(--mid)}

/* ═══ FOOTER ═══ */
.footer{background:var(--char);padding:4.5rem 0 3rem}
.ft-inner{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(184,146,106,.15);margin-bottom:2rem}
.ft-logo{font-family:var(--ff-d);font-size:1.1rem;color:var(--cream);margin-bottom:.8rem}
.ft-brand p{font-size:.75rem;line-height:1.75;color:rgba(122,110,98,.7)}
.ft-nav,.ft-contact{display:flex;flex-direction:column;gap:.7rem}
.ft-nav a,.ft-contact a{font-size:.75rem;color:rgba(122,110,98,.6);transition:color .3s}
.ft-nav a:hover,.ft-contact a:hover{color:var(--terra)}
.ft-bottom{display:flex;justify-content:space-between;font-size:.6rem;color:rgba(122,110,98,.38);flex-wrap:wrap;gap:.5rem}

/* ═══ WA FAB ═══ */
.wa-fab{position:fixed;bottom:2rem;right:2rem;z-index:180;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 22px rgba(37,211,102,.38);transition:transform .35s var(--ease),box-shadow .35s}
.wa-fab:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 32px rgba(37,211,102,.5)}
.wa-fab::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(37,211,102,.25);animation:waPulse 2.6s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
  .ib-inner{grid-template-columns:1fr 1fr;gap:0}
  .ib-div:nth-child(4){display:none}
  .ib-item:nth-child(3),.ib-item:nth-child(4){border-top:1px solid rgba(184,146,106,.12)}
  .inv-wrap{grid-template-columns:1fr}
  .inv-cards{grid-template-columns:repeat(2,1fr)}
  .inv-img{height:340px}
}
@media(max-width:960px){
  .proyecto{grid-template-columns:1fr}
  .proy-media{height:420px}
  .ls-grid{grid-template-columns:1fr 1fr}
  .ls-img.tall{grid-row:auto}
  .ls-img.wide{grid-column:span 2}
  .tpanel.active{grid-template-columns:1fr}
  .tp-img{height:320px}
  .cta-final{grid-template-columns:1fr}
  .ctaf-left{min-height:50vh}
  .faq-cols{grid-template-columns:1fr;gap:3rem}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .nav-links{display:none}
  .burger{display:flex}
  .mmenu{display:flex}
  .ib-inner{grid-template-columns:1fr 1fr}
  .ib-div{display:none}
  .amen-strip{grid-template-columns:1fr}
  .ls-grid{grid-template-columns:1fr}
  .ls-img.wide{grid-column:auto;height:260px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .tipo-tabs{flex-wrap:wrap}
  .ttab{flex:1;min-width:0;padding:.9rem .8rem;font-size:.65rem}
  .ft-top{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column}
}
