:root{--navy:#06192f;--navy2:#0a223d;--navy3:#102f58;--panel:#102f57;--panel2:#173d6d;--gold:#e5b942;--gold2:#c99c2d;--cream:#f5efe2;--text:#f4f6f8;--muted:#b7c4d3;--line:rgba(229,185,66,.34);--soft:rgba(255,255,255,.08);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--navy);color:var(--text);line-height:1.62}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:60;background:rgba(6,25,47,.91);backdrop-filter:blur(15px);border-bottom:1px solid var(--soft)}.navbar{height:74px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-seal{width:42px;height:42px;border-radius:50%;object-fit:cover}.brand-copy{display:flex;flex-direction:column;font:700 1rem Georgia,serif;letter-spacing:.04em}.brand-copy small{font:600 .54rem system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.14em;color:var(--muted);margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.desktop-nav a{font-size:.73rem;color:#cdd7e3;transition:.2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--gold)}.partner-link{display:flex;align-items:center;gap:9px;border:1px solid rgba(229,185,66,.48);border-radius:999px;padding:5px 10px 5px 6px;min-width:max-content;transition:.2s;background:rgba(10,34,61,.55)}.partner-link:hover{border-color:var(--gold);background:rgba(20,55,95,.82);transform:translateY(-1px)}.partner-logo{width:36px;height:36px;border-radius:50%;object-fit:contain;object-position:center;flex:0 0 auto}.partner-copy{display:flex;flex-direction:column;line-height:1.05}.partner-link small{display:block;font-size:.5rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.partner-link strong{font-size:.8rem;color:var(--cream);white-space:nowrap}.partner-arrow{width:15px;height:15px;color:var(--gold);flex:0 0 auto;margin-left:2px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--gold);border-radius:8px;width:42px;height:42px}.mobile-nav{display:none}
.hero-home{min-height:calc(100vh - 74px);display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 15%,#142d46 0,#081f39 32%,#06192f 72%);padding:68px 0 48px;position:relative;overflow:hidden}.hero-home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(229,185,66,.025) 50%,transparent 100%);pointer-events:none}.hero-home-inner{position:relative}.hero-title{font:500 clamp(4rem,8vw,7.8rem)/.9 Georgia,serif;color:var(--cream);letter-spacing:.02em}.hero-title span,.section-identity span{color:var(--gold)}.logo-stage{width:min(420px,68vw);aspect-ratio:1.5/1;margin:12px auto 0;overflow:hidden;position:relative;border-radius:42%}.logo-stage img{width:100%;height:100%;object-fit:cover}.logo-stage:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 58px 34px var(--navy)}.hero-kicker{font:700 clamp(1.5rem,3vw,2.35rem) Georgia,serif;color:var(--gold);margin:4px 0 7px}.hero-lead{max-width:760px;margin:0 auto;font-size:clamp(1rem,1.7vw,1.18rem)}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:42px}.service-card{min-height:88px;border:1px solid rgba(229,185,66,.38);border-radius:11px;background:linear-gradient(180deg,rgba(22,60,106,.72),rgba(13,43,78,.55));padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.22s}.service-card:hover{transform:translateY(-4px);border-color:var(--gold);background:rgba(23,64,113,.8)}.service-card .icon{width:32px;height:32px;border-radius:8px;background:rgba(229,185,66,.1);display:grid;place-items:center;color:var(--gold)}.service-card strong{font-size:.76rem;line-height:1.2}.scroll-hint{display:inline-flex;gap:9px;align-items:center;margin-top:34px;color:var(--muted);font-size:.78rem}.scroll-hint span{color:var(--gold);font-size:1rem}
.major-section{padding:92px 0 76px;background:linear-gradient(180deg,#071c34,#06192f)}.major-section.alt{background:linear-gradient(180deg,#0a213b,#071a31)}.major-section+ .major-section{border-top:1px solid rgba(229,185,66,.18)}.section-identity{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 48px}.section-identity img{width:115px;height:80px;object-fit:cover;border-radius:35%}.section-identity>div{display:flex;flex-direction:column}.section-identity strong{font:500 2.1rem Georgia,serif;line-height:1}.section-identity small{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.57rem;margin-top:6px}.section-identity.compact img{width:68px;height:68px;border-radius:50%;object-fit:cover}.split{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}.center-head{max-width:900px;margin:0 auto 35px;text-align:center}.section-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;margin-bottom:8px}.page-title{font:600 clamp(2.35rem,4.5vw,4rem)/1.05 Georgia,serif;color:var(--gold);text-transform:uppercase;margin:0 0 16px}.page-title.mixed{text-transform:none;color:var(--cream)}.page-title.mixed em{font-style:normal;color:var(--gold)}.subtitle{font:700 clamp(1.3rem,2.1vw,1.75rem)/1.25 Georgia,serif;color:var(--cream);margin:0 0 16px}.copy{color:var(--muted);font-size:1rem}.copy p{margin:0 0 14px}.visual-panel{min-height:360px;border:1px solid rgba(229,185,66,.42);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(0,0,0,.12));display:grid;place-items:center;position:relative;overflow:hidden}.map-visual:before,.network-visual:before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(229,185,66,.48);border-radius:50%}.map-visual:after,.network-visual:after{content:"";position:absolute;width:290px;height:1px;background:rgba(229,185,66,.5);transform:rotate(35deg)}.map-core{position:relative;z-index:3;width:92px;height:92px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.7rem;letter-spacing:.08em}.map-visual .n{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);z-index:2}.n1{left:18%;top:17%}.n2{right:16%;top:13%}.n3{left:13%;bottom:22%}.n4{right:12%;bottom:24%}.n5{left:35%;bottom:9%}.n6{right:36%;top:30%}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.chips span{border:1px solid rgba(229,185,66,.4);border-radius:999px;padding:5px 11px;font-size:.74rem;background:rgba(17,48,87,.54)}
.section{padding:34px 0}.sub-section{border-top:1px solid var(--line);margin-top:42px;padding-top:40px}.section-title{font:700 2rem/1.18 Georgia,serif;color:var(--cream);margin:5px 0 15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:38px 0}.cards.two{grid-template-columns:repeat(2,1fr)}.cards.five{grid-template-columns:repeat(6,1fr)}.cards.five .card:nth-child(-n+3){grid-column:span 2}.cards.five .card:nth-child(4){grid-column:2/span 2}.cards.five .card:nth-child(5){grid-column:4/span 2}.card{background:linear-gradient(145deg,rgba(21,60,107,.96),rgba(15,47,86,.92));border:1px solid rgba(229,185,66,.36);border-radius:12px;padding:22px;min-height:168px}.card h4{margin:0 0 9px;color:var(--gold);font-size:.96rem}.card p,.card ul{color:var(--muted);font-size:.91rem;margin:0}.card ul{padding-left:18px}.card li::marker{color:var(--gold)}.quote-line{border-left:3px solid var(--gold);padding:6px 0 6px 18px;color:var(--text)}.notice{margin-top:24px;border:1px solid rgba(229,185,66,.38);border-radius:13px;background:rgba(229,185,66,.055);padding:18px 20px;color:var(--muted)}.notice strong{display:block;color:var(--gold);margin-bottom:5px}.feature-card{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;background:linear-gradient(145deg,rgba(23,61,110,.95),rgba(15,47,86,.92));border:1px solid rgba(229,185,66,.38);border-radius:18px;padding:28px;margin:42px 0}.lipfm{min-height:150px;border:1px solid rgba(229,185,66,.35);border-radius:14px;display:grid;place-items:center;font:700 2rem Georgia,serif;color:var(--gold);background:rgba(4,18,35,.35)}.cta{text-align:center;padding:50px 0 6px}.cta-line{font:700 1.45rem Georgia,serif;color:var(--gold);margin-bottom:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 28px;background:linear-gradient(90deg,#f1cd61,#d6a719);color:#07192f;font-weight:800;cursor:pointer;box-shadow:0 14px 34px rgba(213,167,25,.17);transition:.2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.pdca{width:260px;height:260px;border:2px solid var(--gold);border-radius:50%;position:relative}.pdca:before{content:"";position:absolute;inset:64px;border:1px solid rgba(229,185,66,.7);border-radius:50%}.pdca b{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font:700 2rem Georgia,serif}.pdca span{position:absolute;font-size:.58rem;letter-spacing:.13em;color:var(--gold)}.pdca span:nth-child(1){top:-25px;left:50%;transform:translateX(-50%)}.pdca span:nth-child(2){right:-42px;top:50%;transform:translateY(-50%)}.pdca span:nth-child(3){bottom:-25px;left:50%;transform:translateX(-50%)}.pdca span:nth-child(4){left:-42px;top:50%;transform:translateY(-50%)}.esg-visual .circle{position:absolute;width:160px;height:160px;border:2px solid rgba(229,185,66,.75);border-radius:50%;display:grid;place-items:start center;padding-top:8px;color:var(--gold)}.esg-visual .c1{left:24%;top:15%}.esg-visual .c2{right:24%;top:15%}.esg-visual .c3{left:50%;transform:translateX(-50%);bottom:12%}.esg-visual b{z-index:4;color:var(--cream);font-size:1.5rem}.talent-hero{padding-top:8px}.human-logo b{font:700 5rem/.85 Georgia,serif;color:var(--gold)}.human-logo span{text-align:center;color:var(--cream);letter-spacing:.12em;font-size:.7rem;font-weight:700}.field-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(229,185,66,.09),transparent 50%)}.field-photo span{position:absolute;left:18px;bottom:16px;color:var(--gold);font-size:.68rem;letter-spacing:.12em}.bullet-list{padding-left:18px}.timeline{border-left:1px solid var(--gold);padding-left:26px;display:grid;gap:22px}.timeline article{position:relative}.timeline article:before{content:"";position:absolute;left:-32px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--gold)}.timeline b{display:block;color:var(--cream);margin-bottom:3px}.timeline span{color:var(--muted);font-size:.9rem}.network-visual b{z-index:4;border:2px solid var(--gold);border-radius:10px;padding:12px 17px;color:var(--gold);font-size:1.7rem}.network-visual .tag{position:absolute;color:var(--gold);font-size:.6rem;letter-spacing:.1em}.t1{left:20%;top:18%}.t2{right:18%;top:15%}.t3{right:10%;top:55%}.t4{right:20%;bottom:14%}.t5{left:20%;bottom:12%}.t6{left:9%;top:55%}
.contact-section{padding:92px 0 88px;background:radial-gradient(circle at 50% 20%,#102b4b,#071b32 60%,#06172c)}.contact-wrap{display:grid;grid-template-columns:.86fr 1.14fr;gap:48px;align-items:start}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}.form input,.form textarea,.form select{width:100%;border:1px solid rgba(229,185,66,.34);border-radius:10px;background:#0d294b;color:var(--text);padding:13px 14px;outline:none}.form textarea{min-height:150px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--gold)}.site-footer{border-top:1px solid var(--soft);padding:22px 0 28px;background:#051629;color:#92a3b7;font-size:.76rem}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-row a{color:var(--gold)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.partner-link{margin-left:0}.service-grid{grid-template-columns:repeat(3,1fr)}.split,.contact-wrap{grid-template-columns:1fr}.visual-panel{min-height:330px}.cards{grid-template-columns:repeat(2,1fr)}.cards.five{grid-template-columns:repeat(2,1fr)}.cards.five .card{grid-column:auto!important}.mobile-nav.open{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:13px 20px 18px;border-top:1px solid var(--soft);background:#071b31}.mobile-nav a{padding:9px 12px;border:1px solid var(--soft);border-radius:8px;font-size:.78rem}.feature-card{grid-template-columns:1fr}.lipfm{min-height:100px}}
@media(max-width:680px){html{scroll-padding-top:70px}.container{width:min(calc(100% - 26px),var(--max))}.navbar{height:68px}.brand-copy small{display:none}.brand-seal{width:38px;height:38px}.partner-link small{display:none}.partner-link{padding:4px 8px 4px 5px;gap:7px}.partner-logo{width:31px;height:31px}.partner-link strong{font-size:.7rem}.partner-arrow{width:13px;height:13px}.hero-home{min-height:auto;padding:48px 0 42px}.hero-title{font-size:3.9rem}.logo-stage{width:82vw}.hero-kicker{font-size:1.5rem}.service-grid{grid-template-columns:repeat(2,1fr);margin-top:32px}.major-section,.contact-section{padding:68px 0 58px}.section-identity{margin-bottom:34px}.section-identity img{width:90px;height:64px}.section-identity strong{font-size:1.7rem}.split{gap:32px}.page-title{font-size:2.35rem}.cards,.cards.two,.cards.five{grid-template-columns:1fr}.card{min-height:auto}.visual-panel{min-height:290px}.cta-line{font-size:1.2rem}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.footer-row{flex-direction:column;text-align:center}.mobile-nav.open{grid-template-columns:1fr}.pdca{width:210px;height:210px}.esg-visual .circle{width:135px;height:135px}.esg-visual .c1{left:14%}.esg-visual .c2{right:14%}.feature-card{padding:20px}.cta{padding-top:38px}}

/* Iconografía Lucide vía CDN */
.service-card .icon svg{width:19px;height:19px;stroke:currentColor}
.menu-toggle{align-items:center;justify-content:center}.menu-toggle svg{width:21px;height:21px}
.scroll-hint svg{width:16px;height:16px;color:var(--gold)}
.btn{gap:9px}.btn svg{width:16px;height:16px;stroke-width:2}
.network-visual b{display:grid;place-items:center}.network-visual b svg{width:28px;height:28px}

/* V9 — Navbar integrado al hero (sin franja/bloque superior en estado inicial) */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:60;
  background:transparent;
  border-bottom:1px solid transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background .32s ease,border-color .32s ease,backdrop-filter .32s ease,box-shadow .32s ease;
}
.site-header.scrolled{
  background:rgba(5,23,43,.86);
  border-bottom-color:rgba(229,185,66,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 35px rgba(0,0,0,.12);
}
.site-header .navbar{
  height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-header .brand{
  margin-right:auto;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-header .brand-seal{
  width:44px;
  height:44px;
  flex:0 0 44px;
  object-fit:contain;
}
.site-header .brand-copy{
  line-height:1.02;
}
.site-header .brand-copy small{
  margin-top:5px;
}
.site-header .partner-link{
  margin-left:auto;
  min-height:48px;
  padding:5px 11px 5px 6px;
  gap:10px;
  background:rgba(7,28,51,.18);
  border-color:rgba(229,185,66,.64);
  box-shadow:none;
}
.site-header .partner-link:hover{
  background:rgba(10,34,61,.62);
  border-color:var(--gold);
}
.site-header .partner-logo{
  width:36px;
  height:36px;
  flex:0 0 36px;
  object-fit:contain;
  object-position:center;
}
.site-header .desktop-nav{display:none!important}

/* El hero comienza detrás del navbar, igual que en la referencia. */
.hero-home{
  min-height:100vh;
  padding:124px 0 52px;
}

@media(max-width:1080px){
  .site-header .navbar{height:76px;gap:12px}
  .site-header .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:0;
    flex:0 0 42px;
    background:rgba(7,28,51,.26);
  }
  .mobile-nav.open{
    background:rgba(5,23,43,.96);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-top:1px solid rgba(229,185,66,.13);
  }
  .hero-home{padding-top:108px}
}

@media(max-width:680px){
  html{scroll-padding-top:76px}
  .site-header .navbar{height:70px;gap:8px}
  .site-header .brand-seal{width:38px;height:38px;flex-basis:38px}
  .site-header .brand-copy small{display:none}
  .site-header .partner-link{min-height:42px;padding:4px 8px 4px 5px;gap:7px}
  .site-header .partner-logo{width:31px;height:31px;flex-basis:31px}
  .site-header .partner-link small{display:none}
  .site-header .partner-link strong{font-size:.7rem}
  .site-header .partner-arrow{width:13px;height:13px}
  .hero-home{padding-top:98px}
}

@media(max-width:430px){
  .site-header .partner-copy{display:none}
  .site-header .partner-link{width:42px;height:42px;min-height:42px;padding:4px;justify-content:center}
  .site-header .partner-logo{width:32px;height:32px;flex-basis:32px}
  .site-header .partner-arrow{display:none}
}


/* V28 — planeta del hero con capas separadas para evitar conflictos GSAP */
.hero-home{
  isolation:isolate;
}
.hero-home:before{
  z-index:0;
}
.hero-world-anchor{
  --hero-world-opacity:.92;
  position:absolute;
  z-index:1;
  top:50%;
  right:clamp(-380px,-19vw,-220px);
  width:clamp(700px,64vw,980px);
  max-width:none;
  height:auto;
  transform:translateY(-49%);
  pointer-events:none;
  user-select:none;
}
.hero-world-motion{
  width:100%;
  opacity:var(--hero-world-opacity);
  will-change:transform,opacity;
}
.hero-world{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:saturate(.96) contrast(1.02);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 13%,#000 33%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 13%,#000 33%,#000 100%);
  will-change:transform;
}
.hero-home-inner{
  position:relative;
  z-index:2;
}

@media(max-width:1180px){
  .hero-world-anchor{
    --hero-world-opacity:.76;
    right:-360px;
    width:850px;
  }
}

@media(max-width:860px){
  .hero-world-anchor{
    --hero-world-opacity:.42;
    top:36%;
    right:-330px;
    width:720px;
  }
  .hero-world{
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 52%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 24%,#000 52%,#000 100%);
  }
}

@media(max-width:560px){
  .hero-world-anchor{
    --hero-world-opacity:.26;
    top:27%;
    right:-260px;
    width:590px;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-world-anchor{transform:translateY(-49%)}
  .hero-world-motion{opacity:var(--hero-world-opacity)!important;transform:none!important}
  .hero-world{transform:none!important}
}

/* V11 — entradas premium sutiles del hero */
.hero-title{
  overflow:hidden;
  line-height:.92;
}
.hero-title .char,
.hero-kicker,
.hero-lead,
.service-card,
.scroll-hint,
.logo-stage,
.brand,
.partner-link,
.menu-toggle{
  will-change:transform,opacity;
}
.hero-title .char{
  display:inline-block;
}
.hero-home.animating .service-card{
  box-shadow:0 12px 34px rgba(0,0,0,.12);
}
@media(prefers-reduced-motion:reduce){
  .hero-title .char,
  .hero-kicker,
  .hero-lead,
  .service-card,
  .scroll-hint,
  .logo-stage,
  .hero-world-motion,
  .hero-world,
  .brand,
  .partner-link,
  .menu-toggle{
    transition:none!important;
    animation:none!important;
    transform:none!important;
    opacity:1!important;
  }
}

/* V12 — estado inicial real para evitar que el hero aparezca de golpe antes de GSAP */
html.animations-pending .site-header .brand,
html.animations-pending .site-header .partner-link,
html.animations-pending .site-header .menu-toggle,
html.animations-pending .hero-world-motion,
html.animations-pending .hero-title .char,
html.animations-pending .logo-stage,
html.animations-pending .hero-kicker,
html.animations-pending .hero-lead,
html.animations-pending .hero-home .service-card,
html.animations-pending .hero-home .scroll-hint{
  opacity:0;
}
.hero-title{overflow:visible}
.hero-title .char{display:inline-block}
.hero-kicker-wrap,.hero-lead-wrap{overflow:hidden}
@media(prefers-reduced-motion:reduce){
  html.animations-pending .site-header .brand,
  html.animations-pending .site-header .partner-link,
  html.animations-pending .site-header .menu-toggle,
  html.animations-pending .hero-world-motion,
  html.animations-pending .hero-title .char,
  html.animations-pending .logo-stage,
  html.animations-pending .hero-kicker,
  html.animations-pending .hero-lead,
  html.animations-pending .hero-home .service-card,
  html.animations-pending .hero-home .scroll-hint{opacity:1}
}

/* V13 — evita cualquier flash antes de que GSAP inicialice */
html.animations-pending .hero-title{
  opacity:0;
}

/* V14 — logo principal transparente, sin bloque de fondo */
.logo-stage{
  width:min(430px,68vw);
  aspect-ratio:auto;
  margin:14px auto 6px;
  overflow:visible;
  border-radius:0;
  background:transparent;
}
.logo-stage img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.22));
}
.logo-stage:after{display:none!important;content:none!important;box-shadow:none!important}
.section-identity img{
  object-fit:contain;
  background:transparent;
}
@media(max-width:680px){
  .logo-stage{width:min(82vw,390px);margin-top:10px}
}

/* V15 — indicador de scroll tipo mouse animado */
.scroll-hint{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:32px;
  color:var(--muted);
  text-decoration:none;
}
.scroll-hint-label{
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .22s ease;
}
.mouse-scroll{
  width:25px;
  height:39px;
  border:1.5px solid rgba(229,185,66,.78);
  border-radius:15px;
  position:relative;
  display:block;
  box-shadow:0 0 0 1px rgba(229,185,66,.06),0 5px 18px rgba(0,0,0,.12);
}
.mouse-wheel{
  position:absolute;
  top:7px;
  left:50%;
  width:3px;
  height:7px;
  border-radius:999px;
  background:var(--gold);
  transform:translateX(-50%);
  animation:mouseWheel 1.65s cubic-bezier(.45,0,.25,1) infinite;
}
.mouse-scroll:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-12px;
  width:7px;
  height:7px;
  border-right:1.5px solid rgba(229,185,66,.75);
  border-bottom:1.5px solid rgba(229,185,66,.75);
  transform:translateX(-50%) rotate(45deg);
  animation:mouseChevron 1.65s ease-in-out infinite;
}
.scroll-hint:hover .scroll-hint-label{color:var(--cream)}
.scroll-hint:hover .mouse-scroll{border-color:var(--gold)}
@keyframes mouseWheel{
  0%{opacity:0;transform:translate(-50%,0)}
  20%{opacity:1}
  72%{opacity:1;transform:translate(-50%,13px)}
  100%{opacity:0;transform:translate(-50%,15px)}
}
@keyframes mouseChevron{
  0%,100%{opacity:.28;transform:translate(-50%,-2px) rotate(45deg)}
  50%{opacity:1;transform:translate(-50%,3px) rotate(45deg)}
}
@media(max-width:680px){
  .scroll-hint{margin-top:27px;gap:8px}
  .mouse-scroll{width:23px;height:36px}
}
@media(prefers-reduced-motion:reduce){
  .mouse-wheel,.mouse-scroll:after{animation:none!important}
  .mouse-wheel{opacity:1;transform:translate(-50%,6px)}
}

/* V16 — imagen Family Office */
.media-panel{padding:0;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.12));}
.family-office-media{align-items:stretch;min-height:420px}
.family-office-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:17px}
@media(max-width:1080px){.family-office-media{min-height:360px}}
@media(max-width:680px){.family-office-media{min-height:280px}.family-office-media img{object-fit:contain;background:rgba(8,22,39,.45)}}

/* V17 — imagen oficial LIPFM */
.feature-card{grid-template-columns:240px 1fr}
.lipfm-media{display:flex;align-items:center;justify-content:center;min-width:0}
.lipfm-media img{display:block;width:100%;max-width:230px;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 16px 34px rgba(0,0,0,.16)}
@media(max-width:1080px){.feature-card{grid-template-columns:1fr}.lipfm-media img{max-width:300px}}
@media(max-width:680px){.lipfm-media img{max-width:250px}}

/* V20 — logo Humanos con Recursos */
.humanos-media{
  min-height:400px;
  padding:24px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(22,58,95,.42),rgba(5,22,41,.08) 68%,transparent 100%);
}
.humanos-media img{
  width:min(86%,430px);
  max-height:360px;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.28));
}
@media(max-width:1080px){
  .humanos-media{min-height:340px}
  .humanos-media img{width:min(74%,400px);max-height:320px}
}
@media(max-width:680px){
  .humanos-media{min-height:280px;padding:18px}
  .humanos-media img{width:min(82%,330px);max-height:260px}
}

/* V21 — fotografía de asesoría en terreno */
.field-photo{padding:0;overflow:hidden;align-items:stretch;background:transparent}
.field-photo:before{display:none}
.field-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:17px}
@media(max-width:1080px){.field-photo{min-height:360px}}
@media(max-width:680px){.field-photo{min-height:280px}.field-photo img{object-position:center top}}

/* V22 — imagen Innovación & Tecnología */
.network-media{padding:0;overflow:hidden;align-items:stretch;background:transparent;min-height:420px}
.network-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:17px}
@media(max-width:1080px){.network-media{min-height:360px}}
@media(max-width:680px){.network-media{min-height:280px}.network-media img{object-fit:contain;background:rgba(8,22,39,.45)}}

/* V23 — footer institucional premium */
.premium-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%,rgba(229,185,66,.08),transparent 28%),
    linear-gradient(180deg,#06192f 0%,#041423 100%);
  border-top:1px solid rgba(229,185,66,.22);
  padding:0;
  color:var(--muted);
}
.premium-footer:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-280px;
  top:-320px;
  border:1px solid rgba(229,185,66,.08);
  border-radius:50%;
  box-shadow:0 0 0 80px rgba(229,185,66,.025),0 0 0 160px rgba(229,185,66,.015);
  pointer-events:none;
}
.footer-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.45fr .8fr .95fr;
  gap:clamp(36px,6vw,86px);
  padding-top:58px;
  padding-bottom:48px;
}
.footer-brand-lockup{display:inline-flex;align-items:center;gap:13px;color:var(--cream)}
.footer-seal{width:58px;height:58px;object-fit:contain;flex:0 0 58px}
.footer-brand-lockup>span{display:flex;flex-direction:column}
.footer-brand-lockup strong{font:600 2rem/1 Georgia,serif;letter-spacing:.02em}
.footer-brand-lockup strong span{color:var(--gold)}
.footer-brand-lockup small{margin-top:6px;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem;color:var(--gold)}
.footer-brand p{max-width:560px;margin:22px 0 24px;font-size:.92rem;line-height:1.75;color:#9fb0c1}
.footer-cta{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-weight:800;font-size:.82rem;letter-spacing:.02em}
.footer-cta svg{width:16px;height:16px;transition:transform .2s ease}
.footer-cta:hover svg{transform:translateX(4px)}
.footer-column h3{margin:6px 0 18px;color:var(--cream);font:600 1rem Georgia,serif;letter-spacing:.03em}
.footer-column nav{display:grid;gap:11px}
.footer-column nav a{width:max-content;max-width:100%;font-size:.82rem;color:#9fb0c1;transition:color .2s ease,transform .2s ease}
.footer-column nav a:hover{color:var(--gold);transform:translateX(3px)}
.footer-partner{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(229,185,66,.38);border-radius:14px;background:rgba(13,41,75,.38);transition:border-color .2s ease,background .2s ease,transform .2s ease}
.footer-partner:hover{border-color:var(--gold);background:rgba(17,52,91,.62);transform:translateY(-2px)}
.footer-partner img{width:39px;height:39px;object-fit:contain;flex:0 0 39px}
.footer-partner>span{display:flex;flex-direction:column;min-width:0}
.footer-partner small{text-transform:uppercase;letter-spacing:.12em;font-size:.5rem;color:#91a4b7}
.footer-partner strong{margin-top:2px;color:var(--cream);font-size:.82rem}
.footer-partner>svg{margin-left:auto;width:16px;height:16px;color:var(--gold);flex:0 0 16px}
.footer-location{display:flex;align-items:center;gap:8px;margin-top:18px;color:#91a4b7;font-size:.78rem}
.footer-location svg{width:15px;height:15px;color:var(--gold)}
.footer-bottom{
  position:relative;
  z-index:1;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(229,185,66,.13);
  font-size:.7rem;
  color:#7890a5;
}
.footer-top{display:inline-flex;align-items:center;gap:7px;color:#9fb0c1;white-space:nowrap;transition:color .2s ease}
.footer-top:hover{color:var(--gold)}
.footer-top svg{width:14px;height:14px}
@media(max-width:900px){
  .footer-main{grid-template-columns:1fr 1fr;gap:38px 48px}
  .footer-brand{grid-column:1/-1}
  .footer-brand p{max-width:680px}
}
@media(max-width:620px){
  .footer-main{grid-template-columns:1fr;padding-top:46px;padding-bottom:38px;gap:34px}
  .footer-brand{grid-column:auto}
  .footer-brand-lockup strong{font-size:1.75rem}
  .footer-seal{width:52px;height:52px;flex-basis:52px}
  .footer-bottom{min-height:auto;padding-top:18px;padding-bottom:22px;flex-direction:column;text-align:center;gap:12px}
}

/* V24 — badges sectoriales con iconos + microinteracciones */
.sector-badges span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 11px;
  transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.sector-badges span svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  color:var(--gold);
  stroke-width:1.8;
}
@media(hover:hover) and (pointer:fine){
  .sector-badges span:hover{
    transform:translateY(-2px);
    border-color:rgba(229,185,66,.78);
    background:rgba(20,57,97,.78);
    box-shadow:0 8px 20px rgba(0,0,0,.12);
  }
}

/* Las cards mantienen su diseño; GSAP controla solamente la entrada. */
.cards .card{will-change:transform,opacity;}
.sector-badges span{will-change:transform,opacity;}

/* V26 — planeta cinematográfico durante el scroll */
.major-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.major-section > .container{
  position:relative;
  z-index:2;
}
.section-world{
  position:absolute;
  z-index:1;
  left:-32vw;
  top:50%;
  width:clamp(560px,52vw,860px);
  max-width:none;
  height:auto;
  opacity:0;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:saturate(.9) contrast(1.02) brightness(.9);
  transform:translateY(-50%);
  will-change:transform,opacity;
}
.major-section:nth-of-type(even) .section-world{top:43%;}
.major-section:nth-of-type(odd) .section-world{top:58%;}

@media(max-width:1080px){
  .section-world{
    left:-44vw;
    width:clamp(520px,72vw,760px);
    opacity:0;
  }
}
@media(max-width:680px){
  .section-world{
    left:-78vw;
    width:620px;
    filter:saturate(.85) contrast(1.02) brightness(.82);
  }
}
@media(prefers-reduced-motion:reduce){
  .section-world{display:none!important;}
}

/* V31 — contacto, menú móvil, WhatsApp y mapa */
.mobile-nav-links{display:contents}
.mobile-contact-panel{display:none}

.contact-details{min-width:0}
.contact-info-list{display:grid;gap:12px;margin-top:28px}
.contact-info-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:15px 16px;
  border:1px solid rgba(229,185,66,.3);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(18,53,94,.72),rgba(9,34,63,.62));
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
a.contact-info-card:hover{border-color:rgba(229,185,66,.72);background:rgba(20,58,102,.74);transform:translateY(-2px)}
.contact-info-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:rgba(229,185,66,.09);color:var(--gold)}
.contact-info-icon svg{width:19px;height:19px}
.contact-info-content{display:flex;flex-direction:column;min-width:0;flex:1}
.contact-info-content small{text-transform:uppercase;letter-spacing:.12em;font-size:.56rem;color:#8fa3b8;margin-bottom:4px}
.contact-info-content strong,.contact-number{color:var(--cream);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}
.contact-number-row{display:flex;align-items:center;gap:9px;min-width:0}
.copy-phone{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border:1px solid rgba(229,185,66,.28);border-radius:8px;background:rgba(5,23,43,.55);color:var(--gold);cursor:pointer;transition:.2s}
.copy-phone:hover{border-color:var(--gold);background:rgba(229,185,66,.08)}
.copy-phone svg{width:14px;height:14px}
.contact-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.contact-action-row a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(229,185,66,.25);border-radius:999px;font-size:.72rem;color:#cbd5e0;background:rgba(4,21,40,.36);transition:.2s}
.contact-action-row a:hover{border-color:var(--gold);color:var(--cream)}
.contact-action-row svg{width:14px;height:14px;color:var(--gold)}
.contact-action-row .fa-whatsapp{font-size:15px;color:#25D366}
.copy-feedback{min-height:16px;margin-top:5px;font-size:.67rem;color:var(--gold)}
.contact-card-arrow{width:16px;height:16px;flex:0 0 16px;color:var(--gold);margin-left:auto}

.map-section{padding:64px 0 82px;background:linear-gradient(180deg,#06192f,#051629);border-top:1px solid rgba(229,185,66,.16)}
.map-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}
.map-section-head .section-title{margin-bottom:0}
.map-open-link{display:inline-flex;align-items:center;gap:7px;color:var(--gold);font-size:.78rem;font-weight:800;white-space:nowrap}
.map-open-link svg{width:15px;height:15px}
.map-frame-wrap{position:relative;overflow:hidden;border:1px solid rgba(229,185,66,.36);border-radius:18px;background:#071b31;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.map-frame-wrap iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.82) contrast(.96)}

.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:75;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:50px;
  padding:0 17px 0 14px;
  border-radius:999px;
  background:#1f9d55;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  box-shadow:0 14px 36px rgba(0,0,0,.32);
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;
}
.floating-whatsapp:hover{transform:translateY(-3px);filter:brightness(1.07);box-shadow:0 18px 42px rgba(0,0,0,.36)}
.floating-whatsapp .fa-whatsapp{font-size:22px}

@media(max-width:1080px){
  .mobile-nav.open{display:block!important;padding:12px 18px 18px!important}
  .mobile-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(229,185,66,.16)}
  .mobile-contact-main{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;padding:11px 12px!important;border:1px solid rgba(229,185,66,.45)!important;background:rgba(229,185,66,.07);color:var(--cream);font-weight:800}
  .mobile-contact-main svg:first-child{width:17px;height:17px;color:var(--gold)}
  .mobile-contact-main svg:last-child{width:15px;height:15px;margin-left:auto;color:var(--gold)}
  .mobile-contact-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-contact-actions a{display:flex!important;align-items:center;justify-content:center;gap:8px;padding:10px!important;border:1px solid rgba(229,185,66,.26)!important;background:rgba(9,35,65,.62)}
  .mobile-contact-actions svg{width:16px;height:16px;color:var(--gold)}
  .mobile-contact-actions .fa-whatsapp{font-size:17px;color:#25D366}
  .mobile-email{grid-column:1/-1;display:flex!important;align-items:center;gap:8px;padding:9px 11px!important;border:0!important;background:transparent!important;color:#9fb0c1;font-size:.7rem!important;overflow-wrap:anywhere}
  .mobile-email svg{width:14px;height:14px;flex:0 0 14px;color:var(--gold)}
}

@media(max-width:680px){
  .mobile-nav-links{grid-template-columns:1fr}
  .contact-info-card{padding:13px}
  .contact-info-icon{width:38px;height:38px;flex-basis:38px}
  .contact-info-content strong,.contact-number{font-size:.82rem}
  .map-section{padding:50px 0 66px}
  .map-section-head{align-items:flex-start;flex-direction:column;gap:12px}
  .map-frame-wrap iframe{height:340px}
  .floating-whatsapp{right:15px;bottom:15px;width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}
  .floating-whatsapp span{display:none}
  .floating-whatsapp .fa-whatsapp{font-size:25px}
}

@media(max-width:420px){
  .mobile-contact-actions{grid-template-columns:1fr 1fr}
  .contact-number-row{align-items:flex-start}
  .contact-number{line-height:1.25}
}

/* V33 — copia de correos + doble envío del formulario */
.contact-email-row{display:flex;align-items:center;gap:9px;min-width:0}
.contact-email{color:var(--cream);font-size:.9rem;font-weight:700;overflow-wrap:anywhere;min-width:0}
.copy-contact{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border:1px solid rgba(229,185,66,.28);border-radius:8px;background:rgba(5,23,43,.55);color:var(--gold);cursor:pointer;transition:.2s}
.copy-contact:hover{border-color:var(--gold);background:rgba(229,185,66,.08)}
.copy-contact svg{width:14px;height:14px}
.contact-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2px}
.form-channel{min-height:56px;border-radius:12px;border:1px solid rgba(229,185,66,.34);display:flex;align-items:center;justify-content:center;gap:11px;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.form-channel:hover{transform:translateY(-2px);border-color:var(--gold)}
.form-channel i,.form-channel svg{width:20px;height:20px;flex:0 0 20px}
.form-channel span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}
.form-channel small{font-size:.58rem;font-weight:600;letter-spacing:.04em;opacity:.78;margin-bottom:3px}
.whatsapp-channel{background:rgba(37,211,102,.11);color:#eafdf0;box-shadow:0 12px 28px rgba(37,211,102,.06)}
.whatsapp-channel .fa-whatsapp{font-size:23px;color:#25D366}
.email-channel{background:linear-gradient(145deg,rgba(21,60,107,.76),rgba(13,43,78,.62));color:var(--cream)}
.email-channel svg{color:var(--gold)}
.form-helper{margin:0;text-align:center;color:#8fa3b8;font-size:.72rem}

@media(max-width:680px){
  .contact-email{font-size:.8rem}
  .contact-form-actions{grid-template-columns:1fr}
  .form-channel{min-height:54px}
}

/* V33 — menú móvil suave y cierre visual sin display:none */
@media(max-width:1080px){
  .mobile-nav{
    display:block!important;
    max-height:0;
    opacity:0;
    visibility:hidden;
    overflow:hidden;
    padding:0 18px!important;
    border-top:1px solid transparent;
    background:rgba(5,23,43,.97);
    transform:translateY(-8px);
    transition:max-height .38s ease,opacity .26s ease,transform .32s ease,padding .32s ease,border-color .32s ease,visibility 0s linear .38s;
  }
  .mobile-nav.open{
    max-height:620px;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    padding:12px 18px 18px!important;
    border-top-color:rgba(229,185,66,.16);
    transition:max-height .42s ease,opacity .28s ease,transform .34s ease,padding .34s ease,border-color .34s ease,visibility 0s;
  }
}

/* V33 — conserva correcciones mobile de la versión anterior */
html,body{max-width:100%;overflow-x:hidden}
.split>*{min-width:0}
.visual-panel,.network-media{max-width:100%;min-width:0}
.network-media img{max-width:100%;height:auto}
@media(max-width:680px){
  #innovacion .page-title{font-size:clamp(2rem,10vw,2.55rem);overflow-wrap:anywhere}
  #innovacion .split{width:100%;min-width:0}
  #innovacion .network-media{width:100%;max-width:100%;overflow:hidden}
  #innovacion .network-media img{width:100%;max-width:100%;object-fit:contain}
}

/* V34 — envío real del formulario mediante Web3Forms */
.web3forms-botcheck{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.form-status{
  min-height:22px;
  margin:2px 0 0;
  font-size:.82rem;
  line-height:1.4;
  color:var(--muted);
}
.form-status.is-success{color:#9ed7b5}
.form-status.is-error{color:#ffb4ad}
.form-channel[disabled]{
  opacity:.62;
  cursor:wait;
  pointer-events:none;
}
.form-channel .spin-icon{animation:web3Spin .85s linear infinite}
@keyframes web3Spin{to{transform:rotate(360deg)}}

/* V35 — confirmación del formulario + capa anti-bot */
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.modal-open{overflow:hidden}
.form-success-modal{
  position:fixed;
  inset:0;
  z-index:250;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,visibility 0s linear .24s;
}
.form-success-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s ease,visibility 0s;
}
.form-success-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,10,20,.78);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.form-success-dialog{
  position:relative;
  z-index:1;
  width:min(100%,510px);
  padding:46px 42px 38px;
  border:1px solid rgba(229,185,66,.55);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 0%,rgba(229,185,66,.13),transparent 38%),
    linear-gradient(145deg,#0b2847,#06182c 72%);
  box-shadow:0 30px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.04);
  text-align:center;
  transform:translateY(18px) scale(.97);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.form-success-modal.is-open .form-success-dialog{transform:translateY(0) scale(1)}
.form-success-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(229,185,66,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.025);
  color:var(--muted);
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.form-success-close:hover{border-color:var(--gold);color:var(--cream);background:rgba(229,185,66,.08)}
.form-success-close svg{width:18px;height:18px}
.form-success-icon{
  width:70px;
  height:70px;
  margin:0 auto 18px;
  border:1px solid rgba(229,185,66,.62);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold);
  background:rgba(229,185,66,.08);
  box-shadow:0 0 34px rgba(229,185,66,.1);
}
.form-success-icon svg{width:31px;height:31px;stroke-width:1.8}
.form-success-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.form-success-dialog h2{
  margin:0 0 12px;
  color:var(--cream);
  font:600 clamp(1.65rem,4vw,2.15rem)/1.08 Georgia,serif;
}
.form-success-dialog p{
  max-width:410px;
  margin:0 auto 26px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.65;
}
.form-success-button{
  min-width:150px;
  min-height:45px;
  padding:10px 24px;
  border:1px solid var(--gold);
  border-radius:999px;
  background:linear-gradient(135deg,#f0c857,#c8951f);
  color:#07192d;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.form-success-button:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(229,185,66,.16)}
@media(max-width:560px){
  .form-success-dialog{padding:42px 24px 30px;border-radius:18px}
  .form-success-icon{width:62px;height:62px}
}
@media(prefers-reduced-motion:reduce){
  .form-success-modal,.form-success-dialog{transition:none!important}
}

/* V36 — fallback de error del formulario */
.form-error-modal{
  position:fixed;
  inset:0;
  z-index:255;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,visibility 0s linear .24s;
}
.form-error-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s ease,visibility 0s;
}
.form-error-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,10,20,.8);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.form-error-dialog{
  position:relative;
  z-index:1;
  width:min(100%,540px);
  padding:46px 42px 38px;
  border:1px solid rgba(229,185,66,.5);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 0%,rgba(229,185,66,.11),transparent 38%),
    linear-gradient(145deg,#0b2847,#06182c 72%);
  box-shadow:0 30px 90px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.04);
  text-align:center;
  transform:translateY(18px) scale(.97);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.form-error-modal.is-open .form-error-dialog{transform:translateY(0) scale(1)}
.form-error-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(229,185,66,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.025);
  color:var(--muted);
  cursor:pointer;
}
.form-error-close svg{width:18px;height:18px}
.form-error-icon{
  width:70px;
  height:70px;
  margin:0 auto 18px;
  border:1px solid rgba(229,185,66,.55);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold);
  background:rgba(229,185,66,.07);
}
.form-error-icon svg{width:31px;height:31px}
.form-error-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.form-error-dialog h2{
  margin:0 0 12px;
  color:var(--cream);
  font:600 clamp(1.65rem,4vw,2.15rem)/1.08 Georgia,serif;
}
.form-error-dialog p{
  max-width:430px;
  margin:0 auto 26px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.65;
}
.form-error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.form-error-whatsapp,.form-error-dismiss{
  min-height:46px;
  padding:10px 20px;
  border-radius:999px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.form-error-whatsapp{
  border:1px solid rgba(37,211,102,.52);
  background:rgba(37,211,102,.12);
  color:#eafdf0;
}
.form-error-whatsapp .fa-whatsapp{margin-right:7px;color:#25D366;font-size:18px}
.form-error-dismiss{
  border:1px solid rgba(229,185,66,.3);
  background:transparent;
  color:var(--cream);
}
@media(max-width:560px){
  .form-error-dialog{padding:42px 24px 30px;border-radius:18px}
  .form-error-actions{flex-direction:column}
  .form-error-whatsapp,.form-error-dismiss{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .form-error-modal,.form-error-dialog{transition:none!important}
}

/* V37 — privacidad y consentimiento */
.footer-legal-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.footer-legal-links>a:not(.footer-top){color:#b8c7d6;transition:color .2s ease}
.footer-legal-links>a:not(.footer-top):hover{color:var(--gold)}
@media(max-width:680px){.footer-legal-links{justify-content:center}}

.form-helper a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.form-helper a:hover{color:#f1cf69}


/* V39 — hCaptcha gratuito integrado con Web3Forms */
.captcha-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(229,185,66,.2);border-radius:12px;background:rgba(7,28,51,.45);min-width:0}
.captcha-copy{display:flex;align-items:center;gap:10px;min-width:0;color:var(--muted)}
.captcha-copy>i,.captcha-copy>svg{width:20px;height:20px;flex:0 0 20px;color:var(--gold)}
.captcha-copy span{display:flex;flex-direction:column;min-width:0}
.captcha-copy strong{font-size:.8rem;color:var(--cream);font-weight:700}
.captcha-copy small{margin-top:2px;font-size:.67rem;color:#8fa3b8}
.captcha-wrap .h-captcha{flex:0 0 auto;min-height:78px;display:flex;align-items:center;justify-content:center}
@media(max-width:680px){
  .captcha-wrap{flex-direction:column;align-items:flex-start;padding:13px;gap:10px}
  .captcha-wrap .h-captcha{width:100%;justify-content:flex-start;overflow:hidden}
  .captcha-wrap .h-captcha iframe{max-width:100%}
}

/* V40 — hCaptcha directo (Web3Forms Free) */
.captcha-wrap .h-captcha{max-width:100%;overflow:hidden}
@media(max-width:380px){
  .captcha-wrap .h-captcha{transform:scale(.88);transform-origin:left top;width:303px;margin-bottom:-9px}
}


/* V41 production — iconos SVG locales y animaciones nativas */
.icon-svg{display:inline-block;width:20px;height:20px;fill:currentColor;vertical-align:-.125em;flex:0 0 auto}
.fa-whatsapp{width:1em;height:1em;fill:currentColor}
.hero-world.is-floating{animation:heroWorldNativeFloat 4.8s ease-in-out infinite alternate}
@keyframes heroWorldNativeFloat{from{transform:translateY(0)}to{transform:translateY(10px)}}
.cards .card.native-enter,.sector-badges span.native-enter{opacity:0}
@media(prefers-reduced-motion:reduce){.hero-world.is-floating{animation:none!important}.cards .card.native-enter,.sector-badges span.native-enter{opacity:1!important;transform:none!important}}


/* V43 — Lighthouse/LCP móvil:
   el contenido principal del hero nunca comienza en opacity:0.
   Conservamos el movimiento de entrada, pero el navegador puede registrar LCP desde el primer paint. */
@media(max-width:680px){
  html.animations-pending .hero-title,
  html.animations-pending .hero-title .char,
  html.animations-pending .logo-stage,
  html.animations-pending .hero-kicker{
    opacity:1!important;
  }
}


/* V45 — ajuste visual de Innovación & Tecnología en escritorio */
@media(min-width:1081px){
  #innovacion .split{
    grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
    gap:46px;
    align-items:center;
  }
  #innovacion .page-title{
    font-size:clamp(2.75rem,3.45vw,3.45rem);
    line-height:1.04;
    letter-spacing:-.025em;
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  #innovacion .subtitle{
    max-width:640px;
  }
  #innovacion .network-media{
    width:100%;
    max-width:520px;
    justify-self:end;
    min-height:0;
    aspect-ratio:1 / 1;
  }
  #innovacion .network-media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}
@media(min-width:1081px) and (max-width:1280px){
  #innovacion .split{
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
    gap:34px;
  }
  #innovacion .page-title{
    font-size:clamp(2.55rem,3.8vw,3.1rem);
  }
  #innovacion .network-media{
    max-width:470px;
  }
}
