
:root {
  --c1:#638291; --c1d:#3d5566; --c1x:#1e2e3a; --c1l:#8faabb; --c1p:#eaf2f6;
  --c2:#7FD9FF; --c2d:#3bbce8; --c2p:#e3f6ff;
  --c3:#5EB94F; --c3d:#3c9030; --c3p:#e4f5e0;
  --c4:#F21A9E; --c4d:#c0007e; --c4p:#fde8f4;
  --bg:#f4f8fa; --bg2:#eaf1f5; --wh:#fff;
  --tx:#1a2c38; --tx2:#435566; --tx3:#7a96a6;
  --bd:#cddbe6; --bdl:#e1ecf3;
  --fd:'Playfair Display',Georgia,serif;
  --fb:'DM Sans',system-ui,sans-serif;
  --sh1:0 2px 8px rgba(26,44,56,.08);
  --sh2:0 6px 22px rgba(26,44,56,.12);
  --sh3:0 16px 48px rgba(26,44,56,.16);
  --shp:0 8px 28px rgba(242,26,158,.32);
  --shs:0 8px 24px rgba(127,217,255,.36);
  --shg:0 8px 24px rgba(94,185,79,.3);
  --ea:cubic-bezier(.25,.46,.45,.94);
  --sp:cubic-bezier(.34,1.56,.64,1);
  --mw:1220px; --nh:72px; --th:38px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);color:var(--tx);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}ul,ol{list-style:none}
button{cursor:pointer;font:inherit;border:none;background:none}
input,textarea,select{font:inherit}address{font-style:normal}svg{flex-shrink:0}
:focus-visible{outline:2px solid var(--c4);outline-offset:3px;border-radius:5px}

.wrap{width:100%;max-width:var(--mw);margin-inline:auto;padding-inline:1.5rem}
.sec{padding-block:6rem}
.sec-alt{background:var(--bg2)}
.sec-dk{background:var(--c1x);color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c4);margin-bottom:1rem}
.eyebrow::before{content:'';width:14px;height:2px;background:currentColor;border-radius:2px}
.htitle{font-family:var(--fd);font-size:clamp(1.7rem,4vw,2.9rem);font-weight:700;line-height:1.1;color:var(--tx);margin-bottom:1rem}
.htitle em{font-style:italic;color:var(--c4);font-weight:400}
.htitle-w{color:#fff}
.hsub{color:var(--tx2);font-size:1.1rem;max-width:560px;margin-inline:auto;line-height:1.75}
.hsub-w{color:rgba(255,255,255,.68)}
.hcenter{text-align:center;margin-bottom:4rem}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.9rem;font-size:.875rem;font-weight:800;border-radius:999px;border:2px solid transparent;transition:all .3s var(--sp);white-space:nowrap}
.bp{background:var(--c4);color:#fff;border-color:var(--c4);box-shadow:var(--shp)}
.bp:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 38px rgba(242,26,158,.44)}
.bs{background:var(--c2);color:var(--c1x);border-color:var(--c2)}
.bs:hover{transform:translateY(-2px) scale(1.03);background:var(--c2d)}
.bg-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.bg-btn:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.bo{background:transparent;color:var(--c1);border-color:var(--c1)}
.bo:hover{background:var(--c1);color:#fff}
.bgreen{background:var(--c3);color:#fff;border-color:var(--c3);box-shadow:var(--shg)}
.bgreen:hover{transform:translateY(-2px) scale(1.03);background:var(--c3d)}
.bw{width:100%;justify-content:center}

/* TOPBAR */
.topbar{background:var(--c1x);color:rgba(255,255,255,.62);font-size:.72rem;height:var(--th)}
.tb-row{max-width:var(--mw);margin-inline:auto;padding-inline:1.5rem;height:100%;display:flex;align-items:center;gap:1.5rem}
.tb-item{display:flex;align-items:center;gap:5px}
.tb-end{margin-left:auto;display:flex;gap:.75rem}
.tb-soc{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:color .15s}
.tb-soc:hover{color:#fff}

/* HEADER */
.header{position:sticky;top:0;z-index:100;height:var(--nh);background:rgba(255,255,255,.95);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--bdl);transition:box-shadow .3s,transform .3s}

.header.up{box-shadow:var(--sh2)}
.header.dn{transform:translateY(-100%)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative}
.logo-img{
  height:66px;
  width:auto;
  object-fit:contain;
}
.logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.logo-mark{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--c1x),var(--c1));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(26,44,56,.2)}
.logo-mark::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(127,217,255,.22),transparent)}
.logo-lt{font-family:var(--fd);font-weight:700;font-size:.88rem;color:#fff;letter-spacing:.05em;position:relative;z-index:1}
.logo-txt strong{display:block;font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--c1x);line-height:1.1}
.logo-txt span{font-size:.72rem;color:var(--tx3);font-weight:600}
.nl{display:flex;align-items:center;gap:2px}
.na{display:inline-flex;align-items:center;gap:4px;padding:.44rem .7rem;font-size:.875rem;font-weight:700;color:var(--tx2);border-radius:10px;transition:all .15s}
.na:hover,.na-on{color:var(--c1);background:var(--c1p)}
.ncta{background:linear-gradient(135deg,var(--c4),var(--c4d));color:#fff!important;padding:.44rem 1.2rem;border-radius:999px;margin-left:.75rem;box-shadow:0 4px 12px rgba(242,26,158,.26);transition:all .3s var(--sp)}
.ncta:hover{transform:translateY(-2px);box-shadow:var(--shp)}
.ddw{position:relative}
.ddb{background:none;border:none}
.dd{position:absolute;top:calc(100% + 10px);left:0;min-width:215px;background:var(--wh);border:1px solid var(--bdl);border-radius:16px;box-shadow:var(--sh3);padding:.5rem;opacity:0;pointer-events:none;transform:translateY(-10px) scale(.97);transition:all .3s var(--ea);transform-origin:top left}
.ddw:hover .dd,.ddw.open .dd{opacity:1;pointer-events:auto;transform:none}
.dda{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;color:var(--tx2);border-radius:10px;transition:all .15s}
.dda:hover{color:var(--c1);background:var(--c1p)}
.dda svg{color:var(--c2d)}
.burger{display:none;flex-direction:column;gap:5px;padding:.5rem;border-radius:10px}
.burger span{display:block;width:21px;height:2px;background:var(--tx);border-radius:999px;transition:all .3s var(--ea)}
.burger.open span:first-child{transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:last-child{transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--c1x);min-height:calc(100vh - var(--nh) - var(--th));display:flex;flex-direction:column}
.hbg{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 65% 55% at 85% 15%,rgba(127,217,255,.17),transparent 60%),
    radial-gradient(ellipse 50% 50% at 8% 82%,rgba(94,185,79,.11),transparent 60%),
    radial-gradient(ellipse 40% 55% at 55% 90%,rgba(242,26,158,.11),transparent 60%),
    linear-gradient(155deg,#121d26 0%,#1b2e3c 55%,#162535 100%)}
/* animated grid */
.hgrid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(127,217,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(127,217,255,.05) 1px,transparent 1px);
  background-size:44px 44px;animation:gridScroll 35s linear infinite}
@keyframes gridScroll{to{background-position:44px 44px}}
/* scan line */
.hscan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(127,217,255,.22),transparent);animation:scanDown 6s ease-in-out infinite}
@keyframes scanDown{0%,100%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
/* blobs */
.hblob{position:absolute;border-radius:50%;filter:blur(72px);animation:blobDrift 16s ease-in-out infinite}
.hb1{width:500px;height:500px;background:rgba(127,217,255,.13);top:-170px;right:-90px}
.hb2{width:360px;height:360px;background:rgba(242,26,158,.09);bottom:-90px;left:6%;animation-delay:-5s}
.hb3{width:270px;height:270px;background:rgba(94,185,79,.09);top:38%;right:3%;animation-delay:-10s}
@keyframes blobDrift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(22px,-28px) scale(1.07)}66%{transform:translate(-18px,20px) scale(.93)}}
/* orbit ring */
.horbit{position:absolute;top:50%;left:50%;width:600px;height:600px;margin:-300px 0 0 -300px;border:1px solid rgba(127,217,255,.06);border-radius:50%;animation:orbitSpin 40s linear infinite}
.horbit::after{content:'';position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--c2);box-shadow:0 0 18px var(--c2);animation:orbitGlow 2s ease-in-out infinite}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes orbitGlow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}

.hero-wedge{position:absolute;bottom:0;left:0;right:0;height:0px;background:var(--bg);clip-path:polygon(0 100%,100% 0,100% 100%)}
.hero-body{position:relative;flex:1;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding-block:5rem}

/* hero left */
.hleft{color:#fff}
.hpill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(127,217,255,.12);border:1px solid rgba(127,217,255,.26);color:var(--c2);padding:.4rem 1rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;animation:fadeUp .7s var(--ea) .1s both}
.hpill-dot{width:6px;height:6px;background:var(--c3);border-radius:50%;animation:dotPulse 2s ease-in-out infinite}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}
.hh1{font-family:var(--fd);font-size:clamp(2.2rem,5.5vw,4.5rem);font-weight:700;line-height:1.04;margin-bottom:1.5rem;animation:fadeUp .7s var(--ea) .22s both}
.hh1 .l1{display:block;color:#fff}
.hh1 .l2{display:block;color:var(--c2);font-style:italic;font-weight:400}
.hh1 .l3{display:block;-webkit-text-stroke:2px var(--c4);color:transparent}
.hdesc{font-size:1.1rem;color:rgba(255,255,255,.7);line-height:1.8;max-width:490px;margin-bottom:2rem;animation:fadeUp .7s var(--ea) .36s both}
.hdesc strong{color:var(--c2);font-weight:800}
.hbtns{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .7s var(--ea) .5s both}
.hstats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;animation:fadeUp .7s var(--ea) .64s both}
.hstat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:1.25rem 1rem;text-align:center;backdrop-filter:blur(8px);transition:all .3s var(--ea);cursor:default}
.hstat:hover{background:rgba(127,217,255,.12);border-color:rgba(127,217,255,.28);transform:translateY(-3px)}
.hstat-n{font-family:var(--fd);font-size:2.2rem;font-weight:700;color:var(--c2);line-height:1}
.hstat-l{font-size:.72rem;color:rgba(255,255,255,.52);font-weight:700;margin-top:4px;letter-spacing:.04em}

/* hero right */
.hright{display:flex;align-items:center;justify-content:center;animation:fadeUp .7s var(--ea) .42s both}
.hcard{position:relative;width:100%;max-width:390px}
.hcard-main{background:linear-gradient(135deg,rgba(127,217,255,.14),rgba(94,185,79,.08));border:1px solid rgba(255,255,255,.14);border-radius:32px;padding:2.5rem 2rem;text-align:center;backdrop-filter:blur(14px)}
.hcard-ico{font-size:5.5rem;line-height:1;display:block;margin-bottom:1.25rem;animation:floatY 4.5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hcard-title{font-family:var(--fd);font-size:1.3rem;color:#fff;font-weight:700;line-height:1.4;margin-bottom:.75rem}
.hcard-sub{font-size:.875rem;color:rgba(255,255,255,.52);line-height:1.6}
/* chips */
.chip{position:absolute;background:var(--wh);border-radius:14px;padding:.6rem 1rem;box-shadow:0 8px 28px rgba(0,0,0,.18);display:flex;align-items:center;gap:.5rem;animation:chipBob 6s ease-in-out infinite}
.chip-a{top:-18px;right:-18px}
.chip-b{bottom:-18px;left:-18px;animation-delay:-2s}
.chip-c{bottom:5px;right:-28px;animation-delay:-4s}
@keyframes chipBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.chip-ico{font-size:1.3rem}
.chip-tx{font-size:.72rem;font-weight:800;color:var(--c1x);line-height:1.25}
.chip-tx small{font-weight:500;color:var(--tx3);display:block}

/* ticker */
.ticker{background:rgba(0,0,0,.28);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.07)}
.ticker-row{display:flex;align-items:stretch;min-height:48px}
.ticker-label{background:var(--c4);color:#fff;padding:0 1.25rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:6px;flex-shrink:0}
.ticker-track{flex:1;overflow:hidden;display:flex;align-items:center;padding:0 1.5rem}
.tslide{min-width:100%;display:none;align-items:center;gap:1rem;color:rgba(255,255,255,.8);font-size:.875rem;font-weight:600;animation:tIn .38s var(--ea)}
.tslide.on{display:flex}
@keyframes tIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.ttag{background:rgba(127,217,255,.18);color:var(--c2);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px;flex-shrink:0}
.ticker-btns{display:flex;align-items:center;gap:6px;padding:0 1rem;flex-shrink:0}
.tbtn{width:26px;height:26px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .15s}
.tbtn:hover{background:rgba(255,255,255,.24)}

/* FAMILY */
.fam-bg{background:linear-gradient(155deg,var(--c1p) 0%,var(--c2p) 48%,var(--c3p) 100%)}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem}
.fcard{background:var(--wh);border-radius:22px;padding:2rem 1.5rem;text-align:center;border:2px solid transparent;box-shadow:var(--sh1);transition:all .3s var(--sp);position:relative;overflow:hidden}
.fcard::before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--c4),var(--c2),var(--c3));transform:scaleX(0);transition:transform .4s var(--ea);transform-origin:left}
.fcard:hover{transform:translateY(-7px);box-shadow:var(--sh3);border-color:rgba(127,217,255,.35)}
.fcard:hover::before{transform:scaleX(1)}
.fcard-ico{font-size:3.2rem;display:block;margin-bottom:1rem;animation:rock 3.2s ease-in-out infinite}
.fcard:nth-child(2) .fcard-ico{animation-delay:-.8s}
.fcard:nth-child(3) .fcard-ico{animation-delay:-1.6s}
.fcard:nth-child(4) .fcard-ico{animation-delay:-2.4s}
@keyframes rock{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(4deg) scale(1.05)}}
.fcard-name{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--c1x);margin-bottom:4px}
.fcard-tag{font-size:.72rem;font-weight:800;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;display:block}
.fcard-txt{font-size:.875rem;color:var(--tx2);line-height:1.65}
/* statement */
.stmt{background:linear-gradient(135deg,var(--c1x),var(--c1d));border-radius:32px;padding:3rem 4rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;position:relative;overflow:hidden}
.stmt::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;border-radius:50%;background:rgba(127,217,255,.08);filter:blur(55px)}
.stmt h3{font-family:var(--fd);font-size:2.2rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:.75rem}
.stmt h3 em{color:var(--c2);font-style:italic;font-weight:400}
.stmt p{color:rgba(255,255,255,.66);font-size:1.1rem;line-height:1.72}
.stmt-cta{flex-shrink:0;display:flex;flex-direction:column;gap:.75rem;align-items:center}

/* MISSION */
.mis-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.mis-vis{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,var(--c1p),var(--c2p));min-height:420px;display:flex;align-items:center;justify-content:center;padding:2.5rem}
.mis-big{font-size:7rem;display:block;animation:floatY 5s ease-in-out infinite;text-align:center}
.mis-quote{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:14px;padding:1.25rem 1.5rem;border-left:4px solid var(--c4)}
.mis-quote p{font-family:var(--fd);font-size:1.1rem;font-style:italic;color:var(--c1x);line-height:1.45;margin-bottom:6px}
.mis-quote span{font-size:.72rem;font-weight:800;color:var(--c4);text-transform:uppercase;letter-spacing:.08em}
.mis-body{font-size:1.1rem;color:var(--tx2);line-height:1.8;margin-bottom:1.5rem}
.mis-pills{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}
.mis-pill{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--wh);border-radius:12px;border:1px solid var(--bdl);transition:all .3s var(--ea)}
.mis-pill:hover{border-color:var(--c2);transform:translateX(5px);box-shadow:var(--sh1)}
.mpd{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.mpd-p{background:var(--c4)}.mpd-s{background:var(--c2d)}.mpd-g{background:var(--c3)}.mpd-c{background:var(--c1l)}
.mis-pill span{font-size:.875rem;font-weight:700;color:var(--tx)}

/* DIRECTIVOS */
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:760px;margin-inline:auto}
.dcard{background:var(--wh);border:1px solid var(--bdl);border-radius:22px;padding:2rem;text-align:center;transition:all .3s var(--sp);position:relative;overflow:hidden}
.dcard::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--c2p),var(--c3p));opacity:0;transition:opacity .3s;pointer-events:none}
.dcard:hover{transform:translateY(-6px);box-shadow:var(--sh3)}
.dcard:hover::after{opacity:1}
.dcard-in{position:relative;z-index:1}
.dcard-av{width:96px;height:96px;border-radius:50%;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--c1p),var(--c2p));display:flex;align-items:center;justify-content:center;font-size:2.8rem;border:3px solid var(--bdl);transition:all .3s var(--ea)}
.dcard:hover .dcard-av{border-color:var(--c2);box-shadow:var(--shs)}
.dcard-name{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--c1x);margin-bottom:.5rem;line-height:1.25}
.dcard-role{display:block;font-size:.875rem;font-weight:800;color:var(--c4);margin-bottom:3px}
.dcard-per{font-size:.72rem;color:var(--tx3);font-weight:600}

/* PROGRAMS */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pcard{background:var(--wh);border:1px solid var(--bdl);border-radius:22px;padding:2rem 1.5rem 1.5rem;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .3s var(--sp)}
.pcard::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c4),var(--c2),var(--c3));transform:scaleX(0);transition:transform .5s var(--ea);transform-origin:left}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh3);border-color:var(--c2)}
.pcard:hover::after{transform:scaleX(1)}
.pcard-dk{background:linear-gradient(135deg,var(--c1x),var(--c1d));border-color:transparent}
.pcard-dk .pcard-ttl,.pcard-dk .pcard-txt{color:rgba(255,255,255,.88)}
.pcard-dk .pcard-lnk{color:var(--c2)}
.pcard-dk .pcard-ico{background:rgba(127,217,255,.18);color:var(--c2)}
.ptop{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem}
.pcard-ico{width:50px;height:50px;border-radius:14px;background:var(--c1p);color:var(--c1);display:flex;align-items:center;justify-content:center;transition:all .3s var(--sp)}
.pcard:hover:not(.pcard-dk) .pcard-ico{background:var(--c1);color:#fff;transform:scale(1.08) rotate(-6deg)}
.pnum{font-family:var(--fd);font-size:2.8rem;font-weight:700;color:var(--bd);line-height:1;transition:color .3s}
.pcard:hover .pnum{color:var(--c2p)}
.pcard-ttl{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--tx);margin-bottom:.75rem;line-height:1.25}
.pcard-txt{font-size:.875rem;color:var(--tx2);line-height:1.7;flex:1;margin-bottom:1.25rem}
.pcard-lnk{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:800;color:var(--c1);transition:gap .15s;margin-top:auto}
.pcard-lnk:hover{gap:.75rem}
.parr{transition:transform .15s}
.pcard:hover .parr{transform:translateX(4px)}

/* EJES */
.ejes-bg{background:linear-gradient(135deg,var(--c1x),var(--c1d))}
.egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.ecard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:2rem 1.5rem;text-align:center;backdrop-filter:blur(8px);transition:all .3s var(--sp);cursor:default;position:relative;overflow:hidden}
.ecard::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(127,217,255,.14),rgba(94,185,79,.07));opacity:0;transition:opacity .3s}
.ecard:hover{transform:translateY(-5px) scale(1.02);border-color:rgba(127,217,255,.38)}
.ecard:hover::after{opacity:1}
.ecard-in{position:relative;z-index:1}
.eico{width:60px;height:60px;border-radius:14px;background:rgba(255,255,255,.1);margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;font-size:1.85rem;transition:all .3s var(--sp)}
.ecard:hover .eico{background:var(--c2);transform:scale(1.12) rotate(-7deg)}
.ecard h3{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.75rem;line-height:1.28}
.ecard p{font-size:.875rem;color:rgba(255,255,255,.58);line-height:1.65}

/* TRANSPARENCIA */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tcard{display:flex;flex-direction:column;background:var(--wh);border:2px solid var(--bdl);border-radius:22px;padding:2rem;text-decoration:none;position:relative;overflow:hidden;transition:all .3s var(--sp)}
.tcard::before{content:'';position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--c4),var(--c2));transform:scaleY(0);transition:transform .4s var(--ea);transform-origin:top}
.tcard:hover{transform:translateY(-5px);box-shadow:var(--sh3);border-color:var(--c4)}
.tcard:hover::before{transform:scaleY(1)}
.tcode{font-family:var(--fd);font-size:2.8rem;font-weight:700;color:var(--bd);line-height:1;margin-bottom:1rem;transition:color .3s}
.tcard:hover .tcode{color:var(--c4)}
.tcard h3{font-weight:800;font-size:1rem;color:var(--tx);margin-bottom:.5rem}
.tcard p{font-size:.875rem;color:var(--tx2);flex:1;margin-bottom:1.25rem;line-height:1.65}
.tcta{font-size:.875rem;font-weight:800;color:var(--c4);display:flex;align-items:center;gap:4px}

/* GALLERY */
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:210px 210px;gap:.75rem;border-radius:28px;overflow:hidden}
.gi{position:relative;overflow:hidden;cursor:pointer}
.gi-w{grid-column:span 2}
.gph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .6s var(--ea)}
.gi:hover .gph{transform:scale(1.08)}
.gph1{background:linear-gradient(135deg,#1e3040,#638291)}
.gph2{background:linear-gradient(135deg,#1b5a35,#5EB94F)}
.gph3{background:linear-gradient(135deg,#7a0052,#F21A9E)}
.gph4{background:linear-gradient(135deg,#004d78,#7FD9FF)}
.gph5{background:linear-gradient(135deg,#3d5566,#5EB94F)}
.gph6{background:linear-gradient(135deg,#1a2c38,#7FD9FF)}
.gph span{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:rgba(255,255,255,.48);padding:1rem;text-align:center}
.govl{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.72));display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity .3s}
.gi:hover .govl{opacity:1}
.govl span{font-size:.875rem;font-weight:700;color:#fff}

/* CONTACT */
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.cdesc{color:var(--tx2);font-size:1.1rem;line-height:1.75;margin-top:1rem;margin-bottom:2rem}
.clist{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}
.ci{display:flex;gap:1rem;align-items:flex-start}
.cico{width:42px;height:42px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:all .3s var(--ea)}
.cico-p{background:var(--c4p);color:var(--c4)}.cico-s{background:var(--c2p);color:var(--c2d)}.cico-g{background:var(--c3p);color:var(--c3d)}.cico-c{background:var(--c1p);color:var(--c1)}
.ci:hover .cico{transform:scale(1.1) rotate(-6deg)}
.clbl{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);margin-bottom:3px}
.cval{font-size:1rem;color:var(--tx);line-height:1.5}
.cval a{color:var(--c1);transition:color .15s}
.cval a:hover{color:var(--c4)}
.srow{display:flex;gap:.75rem;flex-wrap:wrap}
.sp{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1.2rem;border-radius:999px;font-size:.875rem;font-weight:800;transition:all .3s var(--sp)}
.sp-fb{background:#1877f2;color:#fff}.sp-fb:hover{background:#0d66d0;transform:translateY(-2px)}
.sp-ig{background:linear-gradient(135deg,#e1306c,#833ab4);color:#fff}.sp-ig:hover{opacity:.88;transform:translateY(-2px)}
.fcard{background:var(--wh);border:1px solid var(--bdl);border-radius:28px;padding:2.5rem;box-shadow:var(--sh2);position:relative;overflow:hidden}
.fcard::before{content:'';position:absolute;top:-60px;right:-60px;width:190px;height:190px;border-radius:50%;background:linear-gradient(135deg,var(--c2p),var(--c4p));pointer-events:none}
.fttl{font-family:var(--fd);font-size:1.7rem;font-weight:700;color:var(--c1x);margin-bottom:2rem;position:relative}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{margin-bottom:1.25rem}
.fl{display:block;font-size:.72rem;font-weight:800;color:var(--tx);margin-bottom:.5rem;letter-spacing:.04em;text-transform:uppercase}
.fi{width:100%;padding:.7rem 1rem;background:var(--bg);border:1.5px solid var(--bd);border-radius:11px;color:var(--tx);font-size:.875rem;transition:all .15s}
.fi:hover{border-color:var(--c2d)}
.fi:focus{outline:none;border-color:var(--c4);background:var(--wh);box-shadow:0 0 0 3px rgba(242,26,158,.1)}
.fsel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a96a6' fill='none' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.farea{resize:vertical;min-height:108px}
.fok{display:flex;align-items:center;gap:.75rem;background:var(--c3p);color:var(--c3d);border-radius:11px;padding:1rem;font-size:.875rem;font-weight:800;margin-top:1rem}
.fok[hidden]{display:none}

/* FOOTER */
.footer{background:var(--c1x);color:rgba(255,255,255,.62)}
.fwave{background:var(--bg2);line-height:0}
.fwave svg{display:block;width:100%}
.footer-top{padding-block:4rem}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1.5fr 1.5fr;gap:3rem}
.flo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.flo-m{width:42px;height:42px;background:rgba(255,255,255,.09);border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.88rem;color:#fff}
.flo-n{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:#fff;display:block}
.flo-s{font-size:.72rem;color:rgba(255,255,255,.34)}
.ftagline{font-size:.875rem;line-height:1.7;max-width:255px;margin-bottom:1.5rem}
.fsoc{display:flex;gap:.75rem}
.fsoc a{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;transition:all .15s}
.fsoc a:hover{background:var(--c4);color:#fff;transform:scale(1.12)}
.fcol h4{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:1.25rem}
.fcol ul{display:flex;flex-direction:column;gap:.75rem}
.fcol a{font-size:.875rem;color:rgba(255,255,255,.54);transition:all .15s;display:flex;align-items:center;gap:6px}
.fcol a:hover{color:#fff;padding-left:.5rem}
.fadr p{font-size:.875rem;margin-bottom:.75rem;line-height:1.6}
.fadr a{color:rgba(255,255,255,.54);transition:color .15s}
.fadr a:hover{color:#fff}
.foot-bot{border-top:1px solid rgba(255,255,255,.07);padding-block:1.25rem}
.foot-bot-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.foot-bot p{font-size:.72rem;color:rgba(255,255,255,.28)}
.foot-bot a{font-size:.72rem;color:rgba(255,255,255,.28);transition:color .15s}
.foot-bot a:hover{color:rgba(255,255,255,.68)}

/* BTT */
.btt{position:fixed;bottom:2rem;right:2rem;z-index:90;width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,var(--c4),var(--c4d));color:#fff;box-shadow:var(--shp);display:flex;align-items:center;justify-content:center;transition:all .3s var(--sp);opacity:0;pointer-events:none;transform:scale(.6) translateY(12px)}
.btt.on{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}
.btt:hover{transform:scale(1.12) translateY(-3px)}

/* PAGE HERO */
.phero{background:linear-gradient(135deg,var(--c1x),var(--c1d));padding:4rem 0 5rem;position:relative;overflow:hidden}
.phero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:56px;background:var(--bg);clip-path:polygon(0 100%,100% 18%,100% 100%)}
.phero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 80% 30%,rgba(127,217,255,.1),transparent),radial-gradient(ellipse 40% 50% at 20% 70%,rgba(242,26,158,.08),transparent)}
.phero-in{position:relative;text-align:center;color:#fff}
.phero-in .eyebrow{color:var(--c2)}
.phero-in h1{font-family:var(--fd);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;line-height:1.1;color:#fff;margin-bottom:1rem}
.phero-in p{color:rgba(255,255,255,.7);font-size:1.1rem;max-width:550px;margin-inline:auto}
/* breadcrumb */
.bc{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.72rem;font-weight:700;color:var(--tx3);margin-bottom:2rem}
.bc a{color:var(--c1);transition:color .15s}.bc a:hover{color:var(--c4)}
/* inner */
.ibox{background:linear-gradient(135deg,var(--c2p),var(--c3p));border-radius:22px;padding:2rem;border-left:4px solid var(--c2d);margin-bottom:2rem}
.ibox p{margin:0;color:var(--c1x);font-size:1.1rem;line-height:1.7}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.si{background:var(--wh);border:1px solid var(--bdl);border-radius:14px;padding:1.5rem;transition:all .3s var(--ea)}
.si:hover{border-color:var(--c4);transform:translateY(-3px);box-shadow:var(--sh2)}
.si-ico{font-size:1.9rem;margin-bottom:.75rem;display:block}
.si-name{font-weight:800;color:var(--c1x);margin-bottom:.5rem;font-size:1rem}
.si-txt{font-size:.875rem;color:var(--tx2);line-height:1.65}
.mcon{background:var(--c1x);border-radius:22px;padding:2rem;color:#fff;margin-top:2rem}
.mcon h4{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--c2);margin-bottom:1.25rem}
.mcon p{font-size:.875rem;color:rgba(255,255,255,.7);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}
.prose{font-size:1.1rem;color:var(--tx2);line-height:1.8}
.prose h3{font-family:var(--fd);font-size:1.7rem;font-weight:700;color:var(--c1x);margin:2rem 0 1rem}
.prose p{margin-bottom:1.25rem}
.prose ul{margin:0 0 1.25rem 1.5rem}
.prose li{margin-bottom:.75rem;list-style:disc;color:var(--tx2)}
/* dir table */
.dtbl{width:100%;border-collapse:collapse;background:var(--wh);border-radius:22px;overflow:hidden;box-shadow:var(--sh2)}
.dtbl th{background:var(--c1x);color:#fff;padding:1rem 1.25rem;text-align:left;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dtbl td{padding:1.25rem;border-bottom:1px solid var(--bdl);font-size:.875rem;color:var(--tx2);vertical-align:middle}
.dtbl tr:last-child td{border-bottom:none}
.dtbl tr:hover td{background:var(--c2p)}
.dav{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--c1p),var(--c2p));display:flex;align-items:center;justify-content:center;font-size:1.3rem;border:2px solid var(--bdl)}
.dn{font-weight:800;color:var(--c1x);font-size:1rem;margin-bottom:2px}
.dbadge{display:inline-block;background:var(--c4p);color:var(--c4);font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:999px}
/* trans detail */
.tdet{background:var(--wh);border:1px solid var(--bdl);border-radius:22px;padding:2rem;margin-bottom:1.5rem}
.tdet-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--bdl)}
.tdet-code{font-family:var(--fd);font-size:2.8rem;font-weight:700;color:var(--c4);line-height:1;min-width:80px}
.tdet-info h3{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--c1x);margin-bottom:4px}
.tdet-info p{font-size:.875rem;color:var(--tx3)}
.tdet-body{font-size:.875rem;color:var(--tx2);line-height:1.7;padding:1.25rem;background:var(--bg);border-radius:11px}
/* premat steps */
.pmsteps{display:flex;flex-direction:column;gap:1.25rem}
.pmstep{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:flex-start}
.pmnum{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--c4),var(--c4d));color:#fff;font-family:var(--fd);font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shp)}
.pmstep h3{font-weight:800;color:var(--c1x);margin-bottom:.5rem;font-size:1.1rem}
.pmstep p{font-size:.875rem;color:var(--tx2);line-height:1.65}
/* nóminas */
.nom-table{width:100%;border-collapse:collapse;background:var(--wh);border-radius:22px;overflow:hidden;box-shadow:var(--sh2);margin-bottom:2rem}
.nom-table th{background:var(--c1x);color:#fff;padding:1rem 1.25rem;text-align:left;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nom-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--bdl);font-size:.875rem;color:var(--tx2);vertical-align:middle}
.nom-table tr:last-child td{border-bottom:none}
.nom-table tr:hover td{background:var(--c2p)}
.nom-table .num{font-weight:800;color:var(--c1x)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.au{opacity:0;transform:translateY(38px);transition:opacity .68s var(--ea),transform .68s var(--ea)}
.al{opacity:0;transform:translateX(-38px);transition:opacity .68s var(--ea),transform .68s var(--ea)}
.ar{opacity:0;transform:translateX(38px);transition:opacity .68s var(--ea),transform .68s var(--ea)}
.az{opacity:0;transform:scale(.88);transition:opacity .6s var(--ea),transform .6s var(--sp)}
.au.in,.al.in,.ar.in,.az.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}
.d7{transition-delay:.49s}.d8{transition-delay:.56s}

/* RESPONSIVE */
@media(max-width:1100px){.fgrid,.egrid{grid-template-columns:repeat(2,1fr)}.pgrid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.stmt{grid-template-columns:1fr;text-align:center}.stmt-cta{flex-direction:row;justify-content:center}}
@media(max-width:900px){.hero-body{grid-template-columns:1fr}.hright{display:none}.mis-grid,.cgrid{grid-template-columns:1fr}.tgrid{grid-template-columns:1fr}.ggrid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gi-w{grid-column:span 1}.dgrid{grid-template-columns:1fr}.topbar{display:none}.sgrid{grid-template-columns:1fr}}

@media(max-width:768px){

:root{--nh:62px}

.burger{display:flex}

.nl{
position:fixed;
top:var(--nh);
left:0;
right:0;
bottom:0;
background:#ffffff;
flex-direction:column;
align-items:stretch;
padding:1.5rem;
gap:.5rem;
transform:translateX(100%);
transition:transform .3s var(--ea);
z-index:200;
border-top:1px solid var(--bdl)
}

.nl.open{
transform:translateX(0)
}

}

@media(max-width:480px){.wrap{padding-inline:1rem}.sec{padding-block:4rem}.hbtns{flex-direction:column}.hbtns .btn{width:100%;justify-content:center}.hstats{grid-template-columns:1fr}.ggrid{grid-template-columns:1fr;grid-template-rows:repeat(6,155px)}}

.header.menu-open{
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}