/* Archivo generado desde src/css/. No editar directamente. */
:root{
    --navy-950:#060B16;
    --navy-900:#0A1428;
    --navy-850:#0D1A32;
    --navy-800:#122542;
    --navy-700:#1C3557;
    --navy-100:#E8ECF5;
    --paper:#F6F7FA;
    --paper-dim:#EEF0F5;
    --ink:#0E1524;
    --ink-soft:#4A5570;
    --orange-600:#E4571A;
    --orange-500:#FF6A2C;
    --orange-400:#FF8A50;
    --orange-100:#FFE9DC;
    --line:#DEE3EC;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',sans-serif;
    background:var(--paper);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Space Grotesk',sans-serif;
    letter-spacing:-0.02em;
    line-height:1.05;
    margin:0;
  }
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--orange-500);
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:1rem;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--orange-500);
    display:inline-block;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  a{color:inherit;text-decoration:none;}
  :focus-visible{outline:3px solid var(--orange-400);outline-offset:4px;}
  img{max-width:100%;display:block;}
  section{position:relative;}
  ::selection{background:var(--orange-500);color:#fff;}
  /* Buttons */
  .btn{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.85rem 1.5rem;border-radius:999px;
    font-weight:600;font-size:.94rem;
    border:1px solid transparent;
    cursor:pointer;transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:active{transform:translateY(0) scale(.98);}
  .btn-primary{background:var(--orange-500);color:#fff;}
  .btn-primary:hover{background:var(--orange-600);}
  .btn-outline-dark{border-color:var(--navy-900);color:var(--navy-900);}
  .btn-outline-dark:hover{background:var(--navy-900);color:#fff;}
  .btn-outline-light{border-color:rgba(255,255,255,.35);color:#fff;}
  .btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff;}
  .btn-ghost{color:var(--navy-900);font-weight:600;font-size:.94rem;display:inline-flex;align-items:center;gap:.4rem;}
  .btn-ghost svg{transition:transform .2s ease;}
  .btn-ghost:hover svg{transform:translateX(4px);}
  /* Nav */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:20px 0;
    transition:background .35s ease, padding .35s ease, box-shadow .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  header{background:#fff;}
  header.scrolled{
    background:rgba(246,247,250,.86);
    backdrop-filter:blur(14px);
    padding:12px 0;
    border-color:var(--line);
  }
  header .wrap{width:90%;max-width:1650px;padding:0;display:flex;align-items:center;justify-content:space-between;}
  .logo{display:flex;align-items:center;gap:.55rem;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--navy-900);}
  .logo-full{width:98px;height:auto;display:block;}
  nav.main-nav{display:flex;align-items:center;gap:2.1rem;}
  nav.main-nav a{font-size:.92rem;font-weight:500;color:var(--navy-900);position:relative;padding:.2rem 0;}
  nav.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--orange-500);transition:width .25s ease;}
  nav.main-nav a:hover::after{width:100%;}
  nav.main-nav a[aria-current="page"]{color:var(--orange-600);}
  nav.main-nav a[aria-current="page"]::after{width:100%;}
  .nav-right{display:flex;align-items:center;gap:1.4rem;}
  .nav-cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
  .burger span{width:22px;height:2px;background:var(--navy-900);display:block;}

/* Hero */
  .hero{
    padding:138px 0 0;
    background:#092449;
    color:#fff;
    overflow:hidden;
    position:relative;
  }
  .hero::before{content:"";position:absolute;top:0;right:0;width:36%;height:54%;pointer-events:none;opacity:.2;background:linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.16) 48% 48.3%,transparent 48.3% 62%,rgba(255,255,255,.1) 62% 62.3%,transparent 62.3%);}
  .hero::after{content:"";position:absolute;right:0;bottom:0;left:0;height:80px;background:var(--paper);pointer-events:none;}
  .hero .wrap{width:88%;max-width:1240px;padding:0;position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.95fr);gap:clamp(2rem,5vw,5rem);align-items:center;}
  .hero h1{font-size:clamp(2.55rem,3.8vw,3.4rem);font-weight:700;color:#fff;line-height:1.03;max-width:555px;}
  .hero h1 em{font-style:normal;color:var(--orange-400);}
  .hero p.sub{margin-top:1.25rem;font-size:.98rem;line-height:1.62;color:#D0D8E5;max-width:475px;}
  .hero .cta-row{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;}
  .hero .btn-primary::after,.hero .btn-outline-light::after{content:"→";font-size:1.05rem;line-height:1;}
  .orbit-wrap{position:relative;aspect-ratio:1/1;width:100%;max-width:460px;margin-left:auto;}
  .orbit-wrap > svg{display:none;}

  /* Interactive ecosystem */
  .ecosystem-stage{--focus-color:#d85c28;--focus-deep:#a9441d;position:relative;width:100%;height:100%;min-height:420px;isolation:isolate;overflow:hidden;}
  .ecosystem-stars{display:none;}
  .ecosystem-orbit{position:absolute;inset:13%;border-radius:50%;animation:ecosystem-orbit-spin 46s linear infinite;transform-origin:center;transition:opacity .35s ease;}
  .ecosystem-ring{position:absolute;inset:10%;border:1px solid rgba(211,221,236,.24);border-radius:50%;}
  .ecosystem-ring.ring-two{inset:-5%;border-style:dashed;border-color:rgba(211,221,236,.15);}
  .orbit-arm{position:absolute;left:50%;top:50%;width:43%;height:1px;background:rgba(232,238,247,.62);transform-origin:left center;}
  .arm-one{transform:rotate(-90deg);}
  .arm-two{transform:rotate(150deg);}
  .arm-three{transform:rotate(30deg);}
  .eco-planet{position:absolute;width:92px;height:92px;padding:0;border:0;background:none;color:#fff;cursor:pointer;z-index:3;}
  .planet-tech{left:50%;top:-24px;transform:translateX(-50%);}
  .planet-academy{left:-8px;bottom:12%;}
  .planet-aquatic{right:-8px;bottom:12%;}
  .eco-planet-shell{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;animation:ecosystem-counter-spin 46s linear infinite;}
  .eco-planet-body{width:72px;height:72px;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #aebdd0;background:#f8fafc;color:#fff;box-shadow:0 5px 14px rgba(3,18,40,.2);transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease;}
  .eco-planet-body svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
  .eco-planet-body img{width:100%;height:100%;object-fit:contain;object-position:center;}
  .eco-planet-label{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.08em;color:#DCE5F4;}
  .eco-planet:hover .eco-planet-body,.eco-planet:focus-visible .eco-planet-body{transform:scale(1.08);border-color:#fff;background:#fff;box-shadow:0 8px 20px rgba(3,18,40,.3);}
  .ecosystem-orbit:has(.eco-planet:hover),.ecosystem-stage:focus-within .ecosystem-orbit,.ecosystem-stage.is-focused .ecosystem-orbit{animation-play-state:paused;}
  .ecosystem-orbit:has(.eco-planet:hover) .eco-planet-shell,.ecosystem-stage:focus-within .eco-planet-shell,.ecosystem-stage.is-focused .eco-planet-shell{animation-play-state:paused;}
  .innovation-planet{position:absolute;left:50%;top:50%;width:126px;height:126px;transform:translate(-50%,-50%);border:1px solid #ff9a70;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:var(--orange-500);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.75,.25,1);z-index:4;}
  .innovation-planet img{width:38px;height:auto;}
  .innovation-planet span{font-family:'IBM Plex Mono',monospace;font-size:.58rem;color:#fff;}
  .ecosystem-hint{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);width:100%;margin:0;text-align:center;font-size:.68rem;color:#8290A9;letter-spacing:.03em;transition:opacity .25s ease;}
  .ecosystem-focus{position:absolute;inset:2%;z-index:8;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:1.25rem;padding:1.5rem;border:1px solid #426083;border-radius:18px;background:#102f59;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.82);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1),visibility .35s ease;}
  .ecosystem-stage.is-focused .ecosystem-focus{opacity:1;visibility:visible;transform:scale(1);}
  .ecosystem-stage.is-focused .ecosystem-orbit{opacity:.08;}
  .ecosystem-stage.is-focused .innovation-planet{opacity:0;transform:translate(-50%,-50%) scale(.55);}
  .ecosystem-stage.is-focused .ecosystem-hint{opacity:0;}
  .ecosystem-focus-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:1.15rem;cursor:pointer;pointer-events:auto;}
  .focus-planet{position:relative;width:140px;height:140px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--focus-color);animation:focus-planet-float 4.5s ease-in-out infinite;overflow:hidden;}
  .focus-planet::before{display:none;}
  .focus-planet::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.25);border-radius:50%;}
  .focus-planet-icon{position:relative;z-index:2;width:116px;height:116px;flex:0 0 116px;display:flex;align-items:center;justify-content:center;}
  .focus-planet-icon svg{width:58px;height:58px;fill:none;stroke:#fff;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;}
  .focus-planet-icon img{display:block;width:112px;height:112px;flex:0 0 112px;padding:8px;border-radius:50%;background:#fff;object-fit:contain;}
  .focus-copy{min-width:0;}
  .focus-copy > span{font-family:'IBM Plex Mono',monospace;font-size:.6rem;line-height:1.45;letter-spacing:.11em;color:#75a0cc;}
  .focus-copy h3{max-width:100%;margin:.55rem 0 .65rem;font-size:clamp(1.5rem,2vw,1.8rem);line-height:1.08;color:#fff;}
  .focus-copy p{max-width:100%;margin:0;color:#C2CCDB;font-size:.8rem;line-height:1.55;}
  .ecosystem-stage[data-theme="tech"]{--focus-color:#356b9b;--focus-deep:#234d75;}
  .ecosystem-stage[data-theme="academy"]{--focus-color:#b97829;--focus-deep:#855318;}
  .ecosystem-stage[data-theme="aquatic"]{--focus-color:#287683;--focus-deep:#18545e;}

  @keyframes ecosystem-orbit-spin{to{transform:rotate(360deg);}}
  @keyframes ecosystem-counter-spin{to{transform:rotate(-360deg);}}
  @keyframes focus-planet-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
  @keyframes planet-surface-spin{to{transform:translateX(35%) rotate(8deg)}}
  .hero-noise{display:none;}

  .hero-services{position:relative;z-index:2;width:88%;max-width:1240px;margin:24px auto 0;padding:0 0 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;color:var(--navy-900);}
  .hero-service{position:relative;min-width:0;min-height:104px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:.9rem;padding:1.05rem 1rem;border:1px solid #d9e0e9;border-radius:5px;background:#fff;color:var(--navy-900);overflow:hidden;box-shadow:0 12px 28px -24px rgba(4,20,43,.5);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
  .hero-service::before{content:"";position:absolute;top:0;right:0;left:0;height:2px;background:var(--orange-500);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
  .hero-service:hover{color:var(--navy-900);transform:translateY(-3px);border-color:#c9d2df;box-shadow:0 18px 30px -23px rgba(4,20,43,.5);}
  .hero-service:hover::before{transform:scaleX(1);}
  .hero-service-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#092449;color:#fff;}
  .hero-service-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
  .hero-service-copy{display:flex;min-width:0;flex-direction:column;gap:.28rem;padding-left:.85rem;border-left:1px solid var(--orange-500);}
  .hero-service-copy strong{font-family:'Space Grotesk',sans-serif;font-size:.84rem;font-weight:650;line-height:1.22;}
  .hero-service-copy > span{color:#526078;font-size:.68rem;line-height:1.4;}
  .hero-service-arrow{display:none;}

  @media (prefers-reduced-motion: no-preference){
    .hero .eyebrow,.hero h1,.hero p.sub,.hero .cta-row,.hero .orbit-wrap{opacity:0;animation:hero-rise .8s cubic-bezier(.2,.75,.25,1) forwards;}
    .hero h1{animation-delay:90ms;}
    .hero p.sub{animation-delay:170ms;}
    .hero .cta-row{animation-delay:250ms;}
    .hero .orbit-wrap{animation-delay:180ms;}
    .hero-services .hero-service{opacity:0;animation:hero-rise .65s cubic-bezier(.2,.75,.25,1) forwards;}
    .hero-services .hero-service:nth-child(1){animation-delay:300ms;}
    .hero-services .hero-service:nth-child(2){animation-delay:370ms;}
    .hero-services .hero-service:nth-child(3){animation-delay:440ms;}
    .hero-services .hero-service:nth-child(4){animation-delay:510ms;}
    .orbit-node{animation:pulse 3.6s ease-in-out infinite;}
    .orbit-ring{animation:spin 60s linear infinite;transform-origin:center;}
    .orbit-ring.rev{animation-direction:reverse;animation-duration:80s;}
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
    .reveal.in{opacity:1;transform:translateY(0);}
    .reveal > *{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms);}
    .reveal.in > *{opacity:1;transform:translateY(0);}
  }
  @keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  @keyframes hero-drift{from{transform:scale(1) translate3d(-1%,0,0)}to{transform:scale(1.06) translate3d(1%,1%,0)}}
  @keyframes pulse{0%,100%{opacity:.55;}50%{opacity:1;}}
  @keyframes spin{to{transform:rotate(360deg);}}

/* Generic section spacing */
  .section{padding:100px 0;}
  .section-dark{background:var(--navy-900);color:#fff;}
  .section-dim{background:var(--paper-dim);}
  .section h2{font-size:clamp(1.9rem,3vw,2.6rem);max-width:640px;}
  .section > .wrap > p.lead{max-width:560px;color:var(--ink-soft);margin-top:1rem;font-size:1.05rem;line-height:1.65;}
  .section-dark p.lead{color:#AEB8CC;}
  /* Ecosystem cards */
  .ecosystem-section{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:112px 0 118px;
    background:
      radial-gradient(circle at 82% 18%,rgba(223,229,240,.68),transparent 31%),
      linear-gradient(135deg,#f7f8fb 0%,#f2f4f8 58%,#eef1f6 100%);
  }
  .ecosystem-section::before,
  .ecosystem-section::after{
    content:"";
    position:absolute;
    z-index:-1;
    border:1px solid rgba(14,37,78,.08);
    border-radius:50%;
    pointer-events:none;
  }
  .ecosystem-section::before{
    width:430px;
    height:430px;
    top:-284px;
    right:82px;
    box-shadow:0 0 0 150px rgba(14,37,78,.025);
  }
  .ecosystem-section::after{
    width:340px;
    height:620px;
    left:-298px;
    top:26px;
  }
  .ecosystem-section .wrap{position:relative;z-index:1;}
  .ecosystem-section .eyebrow{margin-bottom:1.35rem;}
  .ecosystem-section h2{
    max-width:720px;
    font-size:clamp(2.45rem,4.5vw,3.45rem);
    line-height:1.01;
    letter-spacing:-.045em;
  }
  .ecosystem-section .accent-dot{color:var(--orange-500);}
  .ecosystem-section .lead{max-width:590px;margin-top:1.15rem;line-height:1.65;}
  .eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.15rem;margin-top:2.65rem;}
  .eco-card{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:320px;
    padding:5rem 1.55rem 1.55rem;
    background:rgba(255,255,255,.93);
    border:1px solid rgba(17,42,83,.07);
    border-radius:12px;
    box-shadow:0 16px 32px -24px rgba(11,29,61,.38);
    display:flex;
    flex-direction:column;
    gap:.75rem;
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background-color .35s ease,color .25s ease;
    will-change:transform;
  }
  .eco-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 48px -25px rgba(11,29,61,.4);
    border-color:rgba(255,100,36,.28);
  }
  .eco-card .tag{
    position:absolute;
    z-index:-1;
    top:-.62rem;
    left:-.22rem;
    width:auto;
    height:auto;
    display:block;
    background:linear-gradient(180deg,#e4e8f0 0%,#e9ecf2 48%,rgba(233,236,242,.58) 70%,rgba(233,236,242,0) 100%);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    font-family:Inter,system-ui,sans-serif;
    font-size:6.2rem;
    font-weight:700;
    line-height:1;
    letter-spacing:-.075em;
    pointer-events:none;
  }
  .eco-card .cardsub{
    position:relative;
    z-index:1;
    color:var(--orange-500);
    font-family:'IBM Plex Mono',monospace;
    font-size:.68rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .eco-card h3{position:relative;z-index:1;font-size:1.08rem;line-height:1.28;}
  .eco-card p{position:relative;z-index:1;font-size:.86rem;color:var(--ink-soft);line-height:1.58;margin:0;flex:1;}
  .eco-card .go{
    position:relative;
    z-index:1;
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    margin-top:.55rem;
    color:var(--navy-900);
    font-size:.8rem;
    font-weight:700;
    transition:color .25s ease,transform .25s ease;
  }
  .eco-card:hover .go{color:var(--orange-500);transform:translateX(3px);}
  .eco-card.aquatic,
  .eco-card:hover,
  .eco-card:focus-within{
    color:#fff;
    border-color:transparent;
    background:#ff5b26;
    box-shadow:0 22px 36px -22px rgba(245,76,24,.72);
  }
  .eco-card:hover,
  .eco-card:focus-within{box-shadow:0 30px 48px -23px rgba(245,76,24,.75);}
  .eco-card.aquatic .tag,
  .eco-card:hover .tag,
  .eco-card:focus-within .tag{
    background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.09) 72%,rgba(255,255,255,0) 100%);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  .eco-card.aquatic .cardsub,
  .eco-card.aquatic h3,
  .eco-card.aquatic p,
  .eco-card.aquatic .go,
  .eco-card:hover .cardsub,
  .eco-card:hover h3,
  .eco-card:hover p,
  .eco-card:hover .go,
  .eco-card:focus-within .cardsub,
  .eco-card:focus-within h3,
  .eco-card:focus-within p,
  .eco-card:focus-within .go{color:#fff;}

  /* Aquatic is the default highlight; another hovered/focused card temporarily takes its place. */
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic{
    color:var(--ink);
    border-color:rgba(17,42,83,.07);
    background:rgba(255,255,255,.93);
    box-shadow:0 16px 32px -24px rgba(11,29,61,.38);
  }
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic .tag,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic .tag{
    background:linear-gradient(180deg,#e4e8f0 0%,#e9ecf2 48%,rgba(233,236,242,.58) 70%,rgba(233,236,242,0) 100%);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic .cardsub,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic .cardsub{color:var(--orange-500);}
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic h3,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic h3{color:var(--ink);}
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic p,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic p{color:var(--ink-soft);}
  .eco-grid:has(.eco-card:not(.aquatic):hover) .eco-card.aquatic .go,
  .eco-grid:has(.eco-card:not(.aquatic):focus-within) .eco-card.aquatic .go{color:var(--navy-900);}

/* Smart needs router */
  .needs-section{
    isolation:isolate;
    overflow:hidden;
    padding:112px 0 106px;
    background:
      radial-gradient(circle at 91% 18%,rgba(225,230,240,.68),transparent 29%),
      radial-gradient(circle at 8% 92%,rgba(255,255,255,.9),transparent 30%),
      linear-gradient(132deg,#f7f8fb 0%,#f2f4f8 56%,#edf0f5 100%);
  }
  .needs-section::before{
    content:"";
    position:absolute;
    z-index:-1;
    width:540px;
    height:540px;
    top:-380px;
    right:-110px;
    border:1px solid rgba(18,37,66,.06);
    border-radius:50%;
    box-shadow:0 0 0 155px rgba(18,37,66,.018);
    pointer-events:none;
  }
  .needs-layout{
    display:grid;
    grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr);
    gap:clamp(3rem,6vw,6.25rem);
    align-items:start;
  }
  .needs-main{min-width:0;}
  .needs-section h2{
    max-width:780px;
    font-size:clamp(2.25rem,3.25vw,2.85rem);
    line-height:1.04;
    letter-spacing:-.045em;
  }
  .needs-lead{
    max-width:600px;
    margin:1.2rem 0 0;
    color:var(--ink-soft);
    font-size:.98rem;
    line-height:1.65;
  }
  .needs-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin-top:2.35rem;
  }
  .need-card{
    position:relative;
    min-width:0;
    min-height:160px;
    padding:1.15rem 1.2rem 1.1rem;
    border:1px solid rgba(18,37,66,.08);
    border-radius:13px;
    background:rgba(255,255,255,.94);
    color:var(--ink);
    font:inherit;
    text-align:left;
    cursor:pointer;
    box-shadow:0 16px 30px -24px rgba(10,20,40,.42);
    transition:border-color .28s ease,background .28s ease,transform .28s ease,box-shadow .28s ease;
  }
  .need-card:hover{
    border-color:rgba(255,106,44,.55);
    background:#fff;
    transform:translateY(-5px);
    box-shadow:0 23px 38px -24px rgba(10,20,40,.46);
  }
  .need-card.is-selected{
    border-color:var(--orange-500);
    background:linear-gradient(145deg,#fff 0%,#fff 68%,#fff7f2 100%);
    box-shadow:0 20px 38px -25px rgba(255,106,44,.62);
  }
  .need-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    margin-bottom:.9rem;
    border-radius:50%;
    background:#fff0e8;
    color:var(--orange-500);
  }
  .need-icon svg,
  .need-check svg,
  .smart-route svg,
  .route-result svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .need-icon svg{width:22px;height:22px;}
  .need-check{
    position:absolute;
    top:.82rem;
    right:.82rem;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border:1px solid var(--orange-500);
    border-radius:50%;
    color:var(--orange-500);
    opacity:0;
    transform:scale(.7);
    transition:opacity .22s ease,transform .22s ease;
  }
  .need-check svg{width:15px;height:15px;stroke-width:2.2;}
  .need-card.is-selected .need-check{opacity:1;transform:scale(1);}
  .need-card h3{max-width:84%;font-size:1rem;line-height:1.27;margin:0 0 .48rem;}
  .need-card p{font-size:.78rem;color:var(--ink-soft);margin:0;line-height:1.5;}
  .need-arrow{
    position:absolute;
    right:1.15rem;
    top:50%;
    color:var(--orange-500);
    font-size:1.35rem;
    line-height:1;
    transform:translateY(-5%);
    transition:transform .24s ease;
  }
  .need-card:hover .need-arrow,
  .need-card.is-selected .need-arrow{transform:translate(4px,-5%);}
  .needs-actions{margin-top:1.7rem;}
  .needs-question{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;color:var(--navy-900);font-size:.78rem;}
  .needs-question span{height:1px;background:rgba(18,37,66,.18);}
  .needs-question strong{font-weight:600;}
  .needs-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1rem;}
  .needs-buttons .btn{min-width:165px;justify-content:space-between;border-radius:8px;padding:.72rem 1.1rem;font-size:.8rem;}
  .needs-explore{border-color:var(--navy-700);color:var(--navy-900);background:rgba(255,255,255,.35);}
  .needs-explore:hover{background:#fff;border-color:var(--orange-500);}
  .needs-buttons .btn-primary{min-width:160px;}
  .needs-buttons .btn span{font-size:1.05rem;transition:transform .22s ease;}
  .needs-buttons .btn:hover span{transform:translateX(3px);}

  .smart-route{padding-top:4.2rem;min-width:0;}
  .smart-route-heading{display:flex;align-items:center;gap:.55rem;color:var(--navy-900);font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;}
  .smart-route-heading svg{width:18px;height:18px;color:var(--orange-500);}
  .smart-route-lead{margin:.5rem 0 0;color:var(--ink-soft);font-size:.8rem;line-height:1.45;}
  .route-steps{position:relative;margin-top:2.1rem;}
  .route-steps::before{
    content:"";
    position:absolute;
    top:24px;
    bottom:25px;
    left:17px;
    border-left:1px dashed rgba(18,37,66,.34);
  }
  .route-step{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr);gap:1rem;align-items:center;margin-bottom:2.05rem;}
  .route-step:last-child{margin-bottom:0;}
  .route-marker{
    position:relative;
    z-index:2;
    width:24px;
    height:24px;
    margin-left:5px;
    display:grid;
    place-items:center;
    border:1px solid rgba(18,37,66,.16);
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 12px -6px rgba(10,20,40,.5);
  }
  .route-marker i{width:6px;height:6px;border-radius:50%;background:var(--navy-900);}
  .route-step.is-active .route-marker{
    width:32px;
    height:32px;
    margin-left:1px;
    border-color:rgba(255,106,44,.3);
    box-shadow:0 0 0 8px rgba(255,106,44,.07),0 0 0 13px rgba(255,106,44,.035);
  }
  .route-step.is-active .route-marker i{width:12px;height:12px;background:var(--orange-500);box-shadow:0 0 0 4px #ffe0d0;}
  .route-card{
    position:relative;
    min-height:58px;
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:.65rem;
    align-items:center;
    padding:.7rem .85rem;
    border:1px solid rgba(18,37,66,.05);
    border-radius:10px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 27px -20px rgba(10,20,40,.55);
    transition:transform .28s ease,box-shadow .28s ease;
  }
  .route-card::before{
    content:"";
    position:absolute;
    left:-8px;
    top:50%;
    width:16px;
    height:16px;
    background:#fff;
    border-left:1px solid rgba(18,37,66,.05);
    border-bottom:1px solid rgba(18,37,66,.05);
    transform:translateY(-50%) rotate(45deg);
  }
  .route-icon{position:relative;z-index:1;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f1f4f9;color:var(--navy-700);}
  .route-step.is-active .route-icon{background:#fff0e8;color:var(--orange-500);}
  .route-icon svg{width:18px;height:18px;}
  .route-card div{position:relative;z-index:1;min-width:0;}
  .route-card strong{display:block;color:var(--navy-900);font-size:.72rem;line-height:1.3;}
  .route-card small{display:block;margin-top:.18rem;color:var(--ink-soft);font-size:.63rem;line-height:1.4;}
  .route-steps.is-refreshing .route-step.is-active .route-card{animation:route-card-refresh .42s ease;}
  @keyframes route-card-refresh{0%{opacity:.5;transform:translateX(-6px)}100%{opacity:1;transform:translateX(0)}}
  .route-result{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:.7rem;
    align-items:start;
    margin-top:2.25rem;
    padding:.9rem;
    border:1px solid rgba(255,106,44,.26);
    border-radius:11px;
    background:rgba(255,233,220,.62);
  }
  .route-result > span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--orange-500);color:#fff;}
  .route-result svg{width:18px;height:18px;}
  .route-result strong{display:block;color:var(--navy-900);font-size:.68rem;line-height:1.35;}
  .route-result p{margin:.2rem 0 0;color:var(--ink-soft);font-size:.63rem;line-height:1.45;}

/* Andes Technology */
  @property --tech-border-angle{
    syntax:"<angle>";
    inherits:false;
    initial-value:0deg;
  }
  .technology-section{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:112px 0 105px;
    background:
      radial-gradient(circle at 82% 33%,rgba(20,51,91,.56),transparent 34%),
      radial-gradient(circle at 8% 92%,rgba(16,43,78,.4),transparent 31%),
      linear-gradient(135deg,#071224 0%,#0a172c 48%,#081326 100%);
  }
  .technology-section::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.16;
    pointer-events:none;
    background-image:radial-gradient(rgba(110,146,194,.55) .7px,transparent .7px);
    background-size:18px 18px;
    mask-image:linear-gradient(90deg,transparent 0%,transparent 43%,#000 76%,#000 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 43%,#000 76%,#000 100%);
  }
  .technology-glow{
    position:absolute;
    z-index:-1;
    width:520px;
    height:520px;
    top:8%;
    right:4%;
    border-radius:50%;
    background:rgba(255,106,44,.07);
    filter:blur(95px);
    pointer-events:none;
  }
  .technology-blueprint{
    position:absolute;
    z-index:-1;
    top:10px;
    right:-30px;
    width:min(58vw,760px);
    height:auto;
    overflow:visible;
    opacity:.48;
    pointer-events:none;
    animation:technology-blueprint-drift 12s ease-in-out infinite;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 22%,#000 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 22%,#000 100%);
  }
  .technology-blueprint path,
  .technology-blueprint rect,
  .technology-blueprint circle{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
  .blueprint-grid path{stroke:rgba(92,133,187,.28);stroke-width:.75;stroke-dasharray:4 7;}
  .blueprint-system path,
  .blueprint-system rect{stroke:rgba(255,132,76,.3);stroke-width:.9;}
  .blueprint-nodes circle{fill:rgba(255,106,44,.58);stroke:none;}
  @keyframes technology-blueprint-drift{
    0%,100%{transform:translate3d(0,0,0);opacity:.42;}
    50%{transform:translate3d(-12px,8px,0);opacity:.58;}
  }
  .technology-content{position:relative;z-index:1;}
  .technology-intro{max-width:680px;}
  .technology-intro h2{max-width:680px;font-size:clamp(2.35rem,4vw,3.35rem);line-height:1.04;letter-spacing:-.045em;}
  .technology-intro .lead{max-width:560px;margin-top:1.15rem;}
  .technology-main-cta{margin-top:1.55rem;border-radius:999px;box-shadow:0 14px 32px -18px rgba(255,106,44,.85);}
  .technology-main-cta span{font-size:1.08rem;transition:transform .22s ease;}
  .technology-main-cta:hover span{transform:translateX(4px);}
  .technology-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:2.75rem;}
  .technology-card{
    --tech-border-angle:0deg;
    position:relative;
    min-width:0;
    min-height:300px;
    display:flex;
    flex-direction:column;
    padding:1.45rem 1.35rem 1.25rem;
    border:1px solid transparent;
    border-radius:14px;
    color:#fff;
    background:
      linear-gradient(145deg,rgba(12,28,52,.96),rgba(10,24,45,.94)) padding-box,
      conic-gradient(from var(--tech-border-angle),rgba(119,149,190,.48) 0 24%,var(--orange-500) 31%,rgba(119,149,190,.48) 39% 75%,rgba(255,106,44,.72) 82%,rgba(119,149,190,.48) 90% 100%) border-box;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 22px 44px -34px rgba(0,0,0,.92);
    animation:technology-border-spin 7s linear infinite;
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .technology-card:nth-child(2){animation-delay:-2.3s;}
  .technology-card:nth-child(3){animation-delay:-4.6s;}
  .technology-card:hover{transform:translateY(-7px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 54px -34px rgba(255,106,44,.38);}
  @keyframes technology-border-spin{to{--tech-border-angle:360deg;}}
  .technology-card-title{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1rem;align-items:center;}
  .technology-card-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid rgba(143,169,203,.34);
    border-radius:11px;
    color:var(--orange-500);
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  }
  .technology-card-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .technology-card h3{position:relative;padding-bottom:.7rem;font-size:1.18rem;line-height:1.14;}
  .technology-card h3::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--orange-500);}
  .technology-card > p{min-height:3.2em;margin:1.05rem 0 .75rem;padding-bottom:.8rem;border-bottom:1px solid rgba(143,169,203,.22);color:#b8c2d5;font-size:.78rem;line-height:1.5;}
  .technology-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;}
  .technology-card li{position:relative;padding-left:.85rem;color:#eef2f8;font-size:.77rem;line-height:1.35;}
  .technology-card li::before{content:"";position:absolute;left:0;top:.42em;width:5px;height:5px;border-radius:50%;background:var(--orange-500);box-shadow:0 0 10px rgba(255,106,44,.65);}
  .technology-card-link{align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:1rem;color:var(--orange-400);font-size:.78rem;font-weight:700;}
  .technology-card-link span{font-size:1rem;transition:transform .22s ease;}
  .technology-card-link:hover span{transform:translateX(4px);}

/* Products */
  .products-section{
    overflow:hidden;
    padding:112px 0 108px;
    background:linear-gradient(135deg,#f8f9fb 0%,#f3f5f8 58%,#eef1f5 100%);
  }
  .products-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.78fr);gap:clamp(2.8rem,5vw,5rem);align-items:center;}
  .products-intro h2{max-width:430px;font-size:clamp(2.2rem,3.5vw,3.1rem);line-height:1.04;letter-spacing:-.045em;}
  .products-intro .lead{max-width:390px;margin-top:1.3rem;color:var(--ink-soft);font-size:.95rem;line-height:1.65;}
  .products-cta{margin-top:1.55rem;border-radius:999px;}
  .products-cta span{font-size:1.05rem;transition:transform .22s ease;}
  .products-cta:hover span{transform:translateX(4px);}
  .products-values{display:flex;flex-direction:column;gap:1.35rem;margin-top:3.4rem;}
  .product-value{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1rem;align-items:center;}
  .product-value > span{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(18,37,66,.08);border-radius:14px;background:#fff;color:var(--orange-500);box-shadow:0 14px 28px -23px rgba(10,20,40,.5);}
  .product-value svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .product-value strong{display:block;color:var(--navy-900);font-size:.8rem;line-height:1.35;}
  .product-value p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.7rem;line-height:1.45;}
  .products-showcase{min-width:0;}
  .product-deck{position:relative;width:100%;height:520px;min-width:0;}
  .product-card{
    position:absolute;
    overflow:hidden;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    padding:0;
    border:1px solid rgba(18,37,66,.1);
    border-radius:17px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    text-align:left;
    cursor:pointer;
    box-shadow:0 20px 42px -34px rgba(10,20,40,.65);
    transition:top .85s cubic-bezier(.2,.78,.2,1),left .85s cubic-bezier(.2,.78,.2,1),width .85s cubic-bezier(.2,.78,.2,1),height .85s cubic-bezier(.2,.78,.2,1),border-color .35s ease,box-shadow .55s ease;
    will-change:top,left,width,height;
  }
  .product-card.is-large{z-index:3;top:0;left:0;width:63.2%;height:100%;border-color:rgba(255,106,44,.55);box-shadow:0 30px 60px -38px rgba(10,20,40,.58),0 18px 42px -34px rgba(255,106,44,.66);}
  .product-card.is-top{z-index:2;top:0;left:65%;width:35%;height:calc(50% - .55rem);}
  .product-card.is-bottom{z-index:2;top:calc(50% + .55rem);left:65%;width:35%;height:calc(50% - .55rem);}
  .product-card:hover{border-color:var(--orange-500);box-shadow:0 28px 52px -35px rgba(255,106,44,.5);}
  .product-card-media{position:relative;display:block;min-height:0;overflow:hidden;background:var(--navy-900);}
  .product-card-media::after{content:"";position:absolute;inset:auto 0 0;height:24%;background:linear-gradient(transparent,rgba(6,11,22,.28));pointer-events:none;}
  .product-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .85s cubic-bezier(.2,.78,.2,1);}
  .product-card:hover .product-card-media img{transform:scale(1.025);}
  .product-card-copy{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;transition:min-height .85s cubic-bezier(.2,.78,.2,1),padding .85s cubic-bezier(.2,.78,.2,1);}
  .product-card-copy small{display:block;color:var(--orange-500);font-family:'IBM Plex Mono',monospace;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
  .product-card-copy strong{display:block;color:var(--navy-900);font-family:'Space Grotesk',sans-serif;line-height:1.2;}
  .product-card-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:var(--ink-soft);line-height:1.5;}
  .product-card-arrow{position:absolute;right:1.15rem;bottom:1rem;color:var(--orange-500);font-size:1.1rem;font-style:normal;transition:transform .22s ease;}
  .product-card:hover .product-card-arrow{transform:translateX(4px);}
  .product-card.is-large .product-card-copy{min-height:166px;padding:1.35rem 1.45rem 1.3rem;}
  .product-card.is-large .product-card-copy small{font-size:.67rem;}
  .product-card.is-large .product-card-copy strong{max-width:88%;margin-top:.58rem;font-size:1.22rem;}
  .product-card.is-large .product-card-description{max-width:88%;margin-top:.55rem;padding-right:1.5rem;font-size:.8rem;-webkit-line-clamp:2;}
  .product-card.is-top .product-card-copy,
  .product-card.is-bottom .product-card-copy{min-height:110px;padding:.82rem .95rem .8rem;}
  .product-card.is-top .product-card-copy small,
  .product-card.is-bottom .product-card-copy small{font-size:.56rem;}
  .product-card.is-top .product-card-copy strong,
  .product-card.is-bottom .product-card-copy strong{max-width:88%;margin-top:.36rem;font-size:.88rem;}
  .product-card.is-top .product-card-description,
  .product-card.is-bottom .product-card-description{max-width:90%;margin-top:.3rem;padding-right:1rem;font-size:.64rem;-webkit-line-clamp:2;}
  .product-card.is-top .product-card-arrow,
  .product-card.is-bottom .product-card-arrow{right:.8rem;bottom:.68rem;font-size:.92rem;}

/* Academy */
  .academy-section{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:112px 0 105px;
    background:
      radial-gradient(circle at 78% 14%,rgba(235,239,245,.92),transparent 31%),
      linear-gradient(135deg,#f9fafc 0%,#f5f7fa 58%,#f1f3f7 100%);
  }
  .academy-section::after{
    content:"";
    position:absolute;
    z-index:-2;
    top:0;
    right:0;
    width:46%;
    height:42%;
    opacity:.25;
    background-image:radial-gradient(rgba(18,37,66,.25) .7px,transparent .7px);
    background-size:14px 14px;
    mask-image:linear-gradient(135deg,transparent 0%,#000 72%,transparent 100%);
    -webkit-mask-image:linear-gradient(135deg,transparent 0%,#000 72%,transparent 100%);
    pointer-events:none;
  }
  .academy-orbits{
    position:absolute;
    z-index:-1;
    top:-12px;
    right:-20px;
    width:min(58vw,760px);
    height:auto;
    opacity:.52;
    pointer-events:none;
    animation:academy-orbit-drift 15s ease-in-out infinite;
  }
  .academy-orbit-lines path{fill:none;stroke:rgba(25,55,93,.16);stroke-width:1;vector-effect:non-scaling-stroke;}
  .academy-orbit-dots circle{fill:var(--orange-500);opacity:.9;}
  .academy-orbit-node circle{fill:rgba(255,255,255,.82);stroke:rgba(25,55,93,.16);stroke-width:1;}
  .academy-orbit-node path{fill:none;stroke:rgba(25,55,93,.35);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
  .node-book{animation:academy-node-float 5.4s ease-in-out infinite;}
  .node-cap{animation:academy-node-float 6.3s ease-in-out -2s infinite;}
  .node-globe{animation:academy-node-float 5.8s ease-in-out -3.5s infinite;}
  @keyframes academy-orbit-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12px,8px,0)}}
  @keyframes academy-node-float{0%,100%{opacity:.72}50%{opacity:1}}
  .academy-content{position:relative;z-index:1;}
  .academy-section h2{max-width:850px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,4.4vw,3.75rem);font-weight:500;line-height:1.08;letter-spacing:-.035em;color:var(--navy-900);}
  .academy-section h2 span{color:var(--orange-500);}
  .academy-section .lead{max-width:590px;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;line-height:1.55;}
  .academy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3.25rem;}
  .academy-item{
    min-width:0;
    min-height:86px;
    display:grid;
    grid-template-columns:34px 1px 48px minmax(0,1fr);
    align-items:center;
    gap:1rem;
    padding:1rem 1.25rem;
    border:1px solid rgba(18,37,66,.1);
    border-radius:11px;
    background:rgba(255,255,255,.92);
    box-shadow:0 17px 32px -27px rgba(10,20,40,.5);
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;
  }
  .academy-item:hover{transform:translateY(-5px);border-color:rgba(255,106,44,.48);background:#fff;box-shadow:0 24px 40px -27px rgba(10,20,40,.52);}
  .academy-item .n{font-family:'IBM Plex Mono',monospace;color:var(--orange-500);font-size:.78rem;font-weight:600;}
  .academy-divider{width:1px;height:38px;background:rgba(18,37,66,.15);}
  .academy-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--navy-700);}
  .academy-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
  .academy-item h3{font-family:Georgia,'Times New Roman',serif;font-size:.98rem;font-weight:500;line-height:1.25;color:var(--navy-900);}
  .academy-cta{margin-top:2.7rem;border-radius:999px;box-shadow:0 14px 30px -18px rgba(255,106,44,.75);}
  .academy-cta span{font-size:1.05rem;transition:transform .22s ease;}
  .academy-cta:hover span{transform:translateX(4px);}

  /* Modalidades */
  .institutional-section{
    isolation:isolate;
    overflow:hidden;
    padding:112px 0 110px;
    background:
      radial-gradient(circle at 76% 48%,rgba(231,235,242,.78),transparent 34%),
      linear-gradient(135deg,#f9fafc 0%,#f5f7fa 58%,#f0f3f7 100%);
  }
  .institutional-section::before{
    content:"";
    position:absolute;
    z-index:-2;
    width:680px;
    height:680px;
    top:-72px;
    right:4%;
    border:1px solid rgba(18,37,66,.06);
    border-radius:50%;
    box-shadow:0 0 0 95px rgba(18,37,66,.02),0 0 0 190px rgba(18,37,66,.012);
    pointer-events:none;
  }
  .institutional-section::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 0 0 auto;
    width:44%;
    opacity:.24;
    background-image:radial-gradient(rgba(18,37,66,.24) .7px,transparent .7px);
    background-size:14px 14px;
    mask-image:linear-gradient(135deg,transparent 4%,#000 48%,transparent 94%);
    -webkit-mask-image:linear-gradient(135deg,transparent 4%,#000 48%,transparent 94%);
    pointer-events:none;
  }
  .institutional-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(530px,1.02fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:center;}
  .institutional-intro{min-width:0;}
  .institutional-intro h2{max-width:620px;font-size:clamp(2.35rem,3.8vw,3.25rem);line-height:1.06;letter-spacing:-.045em;}
  .institutional-intro .lead{max-width:590px;margin-top:1.35rem;font-size:1.02rem;line-height:1.65;}
  .modal-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.85rem;}
  .modal-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--navy-700);border-radius:999px;padding:.5rem .85rem;color:var(--navy-900);font-size:.72rem;font-weight:600;background:rgba(255,255,255,.38);transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease;}
  .modal-pill svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .modal-pill:hover{background:var(--navy-900);border-color:var(--navy-900);color:#fff;transform:translateY(-2px);}
  .institutional-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:2.4rem;}
  .institutional-actions .btn{border-radius:999px;box-shadow:0 14px 30px -18px rgba(255,106,44,.76);}
  .institutional-actions .btn span{font-size:1.05rem;transition:transform .22s ease;}
  .institutional-actions .btn:hover span{transform:translateX(4px);}
  .institutional-link{position:relative;display:inline-flex;align-items:center;gap:.55rem;color:var(--navy-900);font-size:.78rem;font-weight:700;}
  .institutional-link::after{content:"";position:absolute;left:0;right:1.5rem;bottom:-4px;height:1px;background:var(--navy-900);transform-origin:left;transition:transform .24s ease;}
  .institutional-link:hover::after{transform:scaleX(.6);}
  .institutional-link span{color:var(--orange-500);font-size:1rem;transition:transform .22s ease;}
  .institutional-link:hover span{transform:translateX(4px);}
  .institutional-visual{position:relative;min-width:0;height:500px;}
  .institutional-program{
    position:absolute;
    z-index:3;
    top:14px;
    left:0;
    width:295px;
    min-height:402px;
    padding:1.75rem 1.55rem 1.35rem;
    border:1px solid rgba(18,37,66,.07);
    border-radius:17px;
    background:rgba(255,255,255,.95);
    box-shadow:0 30px 58px -34px rgba(10,20,40,.4);
    animation:institutional-card-float 6s ease-in-out infinite;
  }
  @keyframes institutional-card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
  .institutional-brand{display:flex;align-items:center;gap:.55rem;color:var(--orange-500);font-family:'IBM Plex Mono',monospace;font-size:.62rem;font-weight:600;line-height:1.05;text-transform:uppercase;}
  .institutional-brand svg{width:34px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
  .institutional-program h3{margin-top:1.35rem;color:var(--navy-900);font-size:1.15rem;line-height:1.2;}
  .institutional-program > p{margin:.75rem 0 0;color:var(--ink-soft);font-size:.79rem;line-height:1.58;}
  .institutional-audiences{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:1.75rem;}
  .institutional-audiences > div{text-align:center;min-width:0;}
  .institutional-audiences span{width:48px;height:48px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:#f2f4f8;color:var(--navy-900);}
  .institutional-audiences svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
  .institutional-audiences small{display:block;margin-top:.5rem;color:var(--navy-900);font-size:.55rem;line-height:1.25;}
  .institutional-progress{display:flex;align-items:center;gap:.35rem;margin-top:2.25rem;}
  .institutional-progress span{width:44px;height:3px;background:var(--orange-500);border-radius:99px;}
  .institutional-progress i{width:34px;height:3px;background:#e8ebf1;border-radius:99px;}
  .institutional-process{position:absolute;z-index:4;top:4px;right:-4px;width:210px;display:flex;flex-direction:column;gap:1.05rem;}
  .institutional-process::before{content:"";position:absolute;z-index:-1;top:28px;bottom:28px;left:23px;width:1px;background:linear-gradient(var(--orange-400),rgba(18,37,66,.15) 25%,rgba(18,37,66,.15) 75%,var(--orange-400));}
  .institutional-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.8rem;align-items:start;}
  .institutional-step > span{position:relative;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(18,37,66,.08);border-radius:50%;background:#fff;color:var(--navy-900);box-shadow:0 11px 24px -18px rgba(10,20,40,.55);animation:institutional-step-pulse 8s ease-in-out infinite;}
  .institutional-step:nth-child(2) > span{animation-delay:-6s;}
  .institutional-step:nth-child(3) > span{animation-delay:-4s;}
  .institutional-step:nth-child(4) > span{animation-delay:-2s;}
  @keyframes institutional-step-pulse{0%,20%,100%{border-color:rgba(18,37,66,.08);box-shadow:0 11px 24px -18px rgba(10,20,40,.55)}10%{border-color:var(--orange-400);box-shadow:0 0 0 7px rgba(255,106,44,.08)}}
  .institutional-step svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .institutional-step strong{display:block;margin-top:.35rem;color:var(--navy-900);font-size:.75rem;line-height:1.25;}
  .institutional-step p{margin:.3rem 0 0;color:var(--ink-soft);font-size:.63rem;line-height:1.45;}
  .institutional-back-card{position:absolute;z-index:1;border:1px solid rgba(18,37,66,.055);border-radius:14px;background:rgba(255,255,255,.56);box-shadow:0 22px 45px -38px rgba(10,20,40,.48);}
  .institutional-chart{left:-6%;top:102px;width:190px;height:214px;padding:2rem 1.5rem;}
  .institutional-chart > span{display:inline-block;width:14px;margin-right:9px;border-radius:4px 4px 0 0;background:#e5e9f0;vertical-align:bottom;}
  .institutional-chart > span:nth-child(1){height:28px}.institutional-chart > span:nth-child(2){height:52px}.institutional-chart > span:nth-child(3){height:74px}.institutional-chart > span:nth-child(4){height:43px;background:#ffc4a9}
  .institutional-chart i{display:block;width:70%;height:6px;margin-top:14px;border-radius:99px;background:#e8ebf1;}
  .institutional-profile{right:2%;bottom:10px;width:205px;height:110px;padding:1.5rem;display:grid;grid-template-columns:40px 1fr;gap:1rem;}
  .institutional-profile > span{width:40px;height:40px;border-radius:50%;background:#e8ebf1;}
  .institutional-profile i{display:block;height:6px;margin-bottom:10px;border-radius:99px;background:#e8ebf1;}
  .institutional-profile i:nth-child(2){width:72%}.institutional-profile i:nth-child(3){width:48%}

/* Projects */
  .projects-section{position:relative;overflow:hidden;border-top:1px solid #dfe4ec;background:#f5f7fa;}
  .projects-section::before{content:"";position:absolute;top:0;right:0;width:42%;height:48%;pointer-events:none;background-image:linear-gradient(135deg,transparent 0 49.8%,rgba(19,40,72,.08) 50%,transparent 50.2%);background-size:150px 150px;opacity:.32;mask-image:linear-gradient(to left,#000,transparent 86%);}
  .projects-orbit{position:absolute;border:1px solid rgba(21,43,77,.08);border-radius:50%;pointer-events:none;}
  .projects-orbit-one{width:540px;height:540px;right:-290px;top:-290px;}
  .projects-orbit-two{width:360px;height:360px;right:-120px;top:-190px;}
  .projects-wrap{position:relative;z-index:1;}
  .projects-section h2{max-width:650px;margin-top:1.15rem;font-size:clamp(2.4rem,4.4vw,4.1rem);line-height:1.04;letter-spacing:-.045em;}
  .projects-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin:2.2rem 0 1.8rem;}
  .proj-filter{display:flex;gap:.6rem;flex-wrap:wrap;margin:0;}
  .proj-filter button{border:1px solid #d6dce6;background:rgba(255,255,255,.72);border-radius:999px;padding:.58rem 1.12rem;font-size:.79rem;font-weight:650;color:#59677e;cursor:pointer;box-shadow:0 8px 20px -18px rgba(16,35,63,.8);transition:border-color .22s ease,color .22s ease,background .22s ease,transform .22s ease;}
  .proj-filter button.active,.proj-filter button:hover{border-color:var(--navy-900);background:var(--navy-900);color:#fff;transform:translateY(-1px);}
  .proj-filter button:focus-visible{outline:3px solid rgba(255,96,36,.22);outline-offset:2px;}
  .projects-count{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;margin:0 0 .55rem;color:#7a879b;font-size:.75rem;}
  .projects-count span,.projects-footer p span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange-500);}
  .projects-count strong{color:inherit;font-weight:500;}
  .proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;}
  .proj-card{position:relative;display:flex;min-height:510px;overflow:hidden;border:1px solid #dde3eb;border-radius:10px;background:#fff;box-shadow:0 18px 38px -30px rgba(15,36,66,.42);isolation:isolate;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
  .proj-card[hidden]{display:none;}
  .proj-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,rgba(255,108,50,.055),transparent 45%);opacity:0;transition:opacity .35s ease;}
  .proj-card:hover{transform:translateY(-5px);border-color:#c9d3e0;box-shadow:0 28px 48px -30px rgba(15,36,66,.52);}
  .proj-card:hover::before{opacity:1;}
  .proj-card-accent{position:absolute;top:0;left:0;width:100%;height:3px;background:var(--orange-500);transform:scaleX(.22);transform-origin:left;transition:transform .4s ease;}
  .proj-card:hover .proj-card-accent{transform:scaleX(1);}
  .proj-card-number{position:absolute;z-index:-1;top:5px;right:14px;color:rgba(17,39,72,.035);font-family:'Space Grotesk',sans-serif;font-size:5rem;font-weight:700;line-height:1;letter-spacing:-.08em;}
  .proj-card .body{display:flex;flex:1;min-width:0;flex-direction:column;padding:1.35rem 1.25rem 1.2rem;}
  .proj-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:25px;}
  .proj-card .cat{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:600;color:var(--orange-500);letter-spacing:.09em;text-transform:uppercase;}
  .proj-status{padding:.28rem .55rem;border:1px solid #e4e8ef;border-radius:999px;background:#f8f9fb;color:#7d899b;font-size:.57rem;white-space:nowrap;}
  .proj-card-media{position:relative;height:170px;margin:1rem 0 1.1rem;overflow:hidden;border:1px solid #dde4ed;border-radius:7px;background:#e9edf3;}
  .proj-card-media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);pointer-events:none;}
  .proj-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.2,.7,.2,1);}
  .proj-card-media--portrait{background:var(--navy-900);}
  .proj-card-media--portrait img{object-position:center 36%;}
  .proj-card--course .proj-status{border-color:#d9e0ea;background:#f3f6fa;color:#4f5e75;}
  .proj-card:hover .proj-card-media img{transform:scale(1.025);}
  .proj-card h3{max-width:100%;margin:0 0 .55rem;color:var(--navy-900);font-size:1.24rem;line-height:1.18;}
  .proj-card p{margin:0;color:var(--ink-soft);font-size:.79rem;line-height:1.55;}
  .project-tags{display:flex;flex-wrap:wrap;gap:.38rem;margin:1rem 0;}
  .project-tags span{padding:.34rem .55rem;border:1px solid #e0e5ed;border-radius:6px;background:#f5f7fa;color:#657187;font-size:.62rem;}
  .proj-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:.9rem;border-top:1px solid #e0e4eb;}
  .proj-card-footer a{display:inline-flex;align-items:center;gap:.45rem;color:var(--navy-900);font-size:.72rem;font-weight:700;}
  .proj-card-footer a span{color:var(--orange-500);font-size:1rem;transition:transform .25s ease;}
  .proj-card-footer a:hover span{transform:translateX(4px);}
  .proj-card-footer small{color:#98a2b1;font-size:.62rem;}
  .projects-footer{display:flex;align-items:center;gap:2rem;margin-top:2rem;}
  .projects-more{display:inline-flex;align-items:center;gap:.7rem;padding:.72rem 1.25rem;}
  .projects-more[hidden]{display:none;}
  .projects-more svg{width:18px;height:18px;fill:currentColor;}
  .projects-more[aria-expanded="true"] svg{transform:rotate(45deg);}
  .projects-more svg{transition:transform .25s ease;}
  .proj-card.is-revealed{animation:project-card-reveal .38s ease both;}
  .projects-footer p{display:flex;align-items:center;gap:.75rem;margin:0;color:#748198;font-size:.74rem;}

  @keyframes project-card-reveal{
    from{opacity:0;transform:translateY(14px);}
    to{opacity:1;transform:translateY(0);}
  }

  @media (max-width:760px){
    .projects-toolbar{align-items:flex-start;flex-direction:column;margin-top:1.8rem;}
    .projects-count{margin:0;}
    .projects-footer{align-items:flex-start;flex-direction:column;gap:1.1rem;}
    .proj-filter{flex-wrap:nowrap;width:calc(100vw - 2rem);margin-left:-.1rem;padding:.15rem .1rem .55rem;overflow-x:auto;scrollbar-width:none;}
    .proj-filter::-webkit-scrollbar{display:none;}
    .proj-filter button{flex:0 0 auto;}
    .proj-card{min-height:490px;}
    .proj-card-media{height:165px;}
    .proj-card-meta{align-items:flex-start;flex-direction:column;gap:.45rem;}
    .proj-status{white-space:normal;}
  }

/* Trust */
  .trust-section{position:relative;overflow:hidden;background:#fff;}
  .trust-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(236,240,247,.75),transparent 42%);pointer-events:none;}
  .trust-wrap{position:relative;z-index:1;}
  .trust-heading{text-align:center;}
  .trust-heading .eyebrow{justify-content:center;}
  .trust-heading .eyebrow::before{display:none;}
  .trust-heading h2{max-width:760px;margin:1rem auto 0;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.04em;}
  .trust-heading p{max-width:640px;margin:1rem auto 0;color:var(--ink-soft);font-size:.92rem;line-height:1.65;}
  .logo-carousel{position:relative;overflow:hidden;margin-top:2.7rem;padding:1.7rem 0;outline:none;}
  .logo-carousel::before,.logo-carousel::after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:90px;pointer-events:none;}
  .logo-carousel::before{left:0;background:linear-gradient(90deg,#fff 18%,rgba(255,255,255,0));}
  .logo-carousel::after{right:0;background:linear-gradient(-90deg,#fff 18%,rgba(255,255,255,0));}
  .logo-carousel:focus-visible{border-radius:10px;box-shadow:0 0 0 3px rgba(255,96,36,.22);}
  .logo-track{position:relative;z-index:1;display:flex;width:max-content;gap:0;will-change:transform;}
  .logo-carousel.is-ready .logo-track{animation:trusted-brands-scroll 38s linear infinite;}
  .logo-carousel:hover .logo-track,.logo-carousel:focus-within .logo-track{animation-play-state:paused;}
  .logo-group{display:flex;align-items:center;flex:0 0 auto;gap:3.5rem;padding-right:3.5rem;}
  .logo-ph{display:flex;align-items:center;justify-content:center;flex:0 0 150px;width:150px;height:68px;padding:.4rem;background:transparent;}
  .logo-ph img{display:block;width:auto;height:auto;max-width:100%;max-height:54px;object-fit:contain;filter:grayscale(1) contrast(.96);mix-blend-mode:multiply;opacity:.7;transition:filter .3s ease,opacity .3s ease,transform .3s ease;}
  .logo-ph:hover img{filter:grayscale(0) contrast(1);opacity:1;transform:scale(1.04);}
  .trust-note{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:1.3rem auto 0;color:#7e899a;font-size:.72rem;text-align:center;}
  .trust-note span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange-500);}
  @keyframes trusted-brands-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  @media (max-width:600px){
    .logo-carousel{margin-inline:-.35rem;padding:1.35rem 0;}
    .logo-carousel::before,.logo-carousel::after{width:48px;}
    .logo-group{gap:2.2rem;padding-right:2.2rem;}
    .logo-ph{flex-basis:122px;width:122px;height:58px;}
    .logo-carousel.is-ready .logo-track{animation-duration:31s;}
  }

/* Why Code Andes */
  .reasons-section{position:relative;overflow:hidden;min-height:650px;background:#06172f;isolation:isolate;}
  .reasons-section::before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,rgba(116,151,199,.2) 1px,transparent 1.4px);background-size:34px 34px;opacity:.13;pointer-events:none;}
  .reasons-particles{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none;opacity:.78;}
  .reasons-orbit{position:absolute;z-index:-1;width:730px;height:730px;right:-70px;top:-85px;border:1px solid rgba(255,105,48,.13);border-radius:50%;pointer-events:none;}
  .reasons-orbit::before,.reasons-orbit::after{content:"";position:absolute;border:1px solid rgba(118,151,196,.08);border-radius:50%;}
  .reasons-orbit::before{inset:78px;}
  .reasons-orbit::after{inset:158px;}
  .reasons-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);align-items:center;gap:4.5rem;}
  .reasons-intro .eyebrow{color:var(--orange-400);}
  .reasons-intro h2{max-width:410px;margin-top:1.45rem;color:#fff;font-size:clamp(2.35rem,4vw,3.8rem);line-height:1.08;letter-spacing:-.045em;}
  .reasons-title-line{display:block;width:52px;height:3px;margin:1.65rem 0 1.55rem;border-radius:99px;background:var(--orange-500);}
  .reasons-intro > p{max-width:390px;margin:0;color:#aeb9cb;font-size:.95rem;line-height:1.72;}
  .reasons-assurance{display:flex;align-items:center;gap:1rem;margin-top:3.2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.09);}
  .reasons-assurance-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(255,102,42,.48);border-radius:50%;box-shadow:0 0 28px rgba(255,95,30,.11);}
  .reasons-assurance-icon svg{width:29px;height:29px;fill:none;stroke:var(--orange-400);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .reasons-assurance strong{max-width:255px;color:#f7f9fc;font-size:.82rem;line-height:1.5;}
  .reasons-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.35rem 1.15rem;}
  .reason-card{--reason-x:50%;--reason-y:50%;position:relative;grid-column:span 2;min-height:222px;padding:1.15rem 1.1rem 1.2rem;overflow:hidden;border:1px solid transparent;border-radius:18px;outline:none;transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease;}
  .reason-card:nth-child(4){grid-column:2/span 2;}
  .reason-card:nth-child(5){grid-column:4/span 2;}
  .reason-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--reason-x) var(--reason-y),rgba(255,102,42,.13),transparent 48%);opacity:0;transition:opacity .35s ease;pointer-events:none;}
  .reason-card:hover,.reason-card:focus-visible{border-color:rgba(255,108,50,.3);background:rgba(255,255,255,.025);box-shadow:0 22px 42px -30px rgba(0,0,0,.8);transform:translateY(-6px);}
  .reason-card:hover::before,.reason-card:focus-visible::before{opacity:1;}
  .reason-number{position:absolute;top:.15rem;right:.7rem;color:rgba(207,220,241,.075);font-family:'Space Grotesk',sans-serif;font-size:5.65rem;font-weight:500;line-height:1;letter-spacing:-.08em;transition:color .35s ease,transform .35s ease;}
  .reason-icon{position:relative;display:flex;align-items:center;width:52px;height:52px;color:var(--orange-500);transition:transform .35s ease,color .35s ease;}
  .reason-icon svg{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;}
  .reason-accent{position:relative;display:block;width:36px;height:3px;margin:.55rem 0 1.15rem;border-radius:99px;background:var(--orange-500);transition:width .35s ease,box-shadow .35s ease;}
  .reason-card h3{position:relative;margin:0 0 .6rem;color:#fff;font-size:1rem;line-height:1.3;}
  .reason-card p{position:relative;margin:0;color:#aeb8c9;font-size:.82rem;line-height:1.65;}
  .reason-card:hover .reason-number,.reason-card:focus-visible .reason-number{color:rgba(255,112,52,.13);transform:translateX(-4px);}
  .reason-card:hover .reason-icon,.reason-card:focus-visible .reason-icon{color:var(--orange-400);transform:scale(1.08) rotate(-2deg);}
  .reason-card:hover .reason-accent,.reason-card:focus-visible .reason-accent{width:58px;box-shadow:0 0 18px rgba(255,102,42,.48);}

  @media (max-width:1100px){
    .reasons-layout{grid-template-columns:1fr;gap:3.5rem;}
    .reasons-intro{max-width:720px;}
    .reasons-intro h2{max-width:620px;}
    .reasons-intro > p{max-width:610px;}
    .reasons-assurance{max-width:520px;margin-top:2rem;}
    .reasons-orbit{right:-260px;top:280px;}
  }

  @media (max-width:720px){
    .reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
    .reason-card,.reason-card:nth-child(4),.reason-card:nth-child(5){grid-column:auto;}
    .reason-card:last-child{grid-column:1/-1;}
  }

  @media (max-width:520px){
    .reasons-grid{grid-template-columns:1fr;}
    .reason-card,.reason-card:last-child{grid-column:auto;min-height:205px;}
    .reasons-assurance{align-items:flex-start;}
  }

/* Aquatic */
  .aquatic{position:relative;overflow:hidden;padding-bottom:0;background:#f7f9fc;color:var(--navy-900);}
  .aquatic::before{content:"";position:absolute;z-index:0;top:0;right:0;width:27%;height:150px;border-radius:0 0 0 34px;background:var(--orange-500);pointer-events:none;}
  .aquatic-current{position:absolute;border:1px solid rgba(17,48,82,.07);border-radius:50%;pointer-events:none;}
  .aquatic-current-one{width:660px;height:660px;right:-370px;bottom:-300px;}
  .aquatic-current-two{width:510px;height:510px;right:-300px;bottom:-230px;}
  .aquatic-content{position:relative;z-index:1;}
  .aquatic-main{display:grid;grid-template-columns:minmax(400px,.82fr) minmax(520px,1.18fr);align-items:center;gap:4.8rem;padding-bottom:4.4rem;}
  .aquatic .eyebrow{color:var(--orange-500);}
  .aquatic .eyebrow::before{background:var(--orange-500);}
  .aquatic-intro h2{max-width:610px;margin-top:1.5rem;color:var(--navy-900);font-size:clamp(2.65rem,4.15vw,4rem);line-height:1.04;letter-spacing:-.048em;}
  .aquatic-intro > p{max-width:500px;margin:1.35rem 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.7;}
  .aquatic-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.8rem;}
  .aquatic-benefit{min-width:0;padding:0 1.05rem;border-left:1px solid #d9e0e9;}
  .aquatic-benefit:first-child{padding-left:0;border-left:0;}
  .aquatic-benefit > span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:.5rem;color:var(--orange-500);}
  .aquatic-benefit svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .aquatic-benefit strong{display:block;margin-bottom:.32rem;color:var(--navy-900);font-size:.77rem;}
  .aquatic-benefit p{margin:0;color:#69778c;font-size:.65rem;line-height:1.55;}
  .aquatic-cta{display:inline-flex;margin-top:1.85rem;padding:.88rem 1.35rem;background:var(--navy-950);color:#fff;box-shadow:0 17px 30px -20px rgba(0,19,43,.7);}
  .aquatic-cta:hover{background:#102542;transform:translateY(-3px);}
  .aquatic-cta span{transition:transform .25s ease;}
  .aquatic-cta:hover span{transform:translateX(4px);}

  .aquatic-visual{position:relative;min-width:0;padding:20px 0 24px 18px;}
  .aquatic-gallery{position:relative;z-index:2;aspect-ratio:16/9;overflow:hidden;border-radius:86px 0 86px 0;background:#dce7ee;box-shadow:0 30px 55px -36px rgba(11,35,65,.42);}
  .aquatic-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.025);transition:opacity .85s ease,transform 3.6s ease;}
  .aquatic-slide.is-active{z-index:1;opacity:1;transform:scale(1);}
  .aquatic-slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
  .aquatic-visual-accent{position:absolute;z-index:1;background:var(--orange-500);}
  .aquatic-visual-accent-top{width:44%;height:34%;top:-20px;right:-78px;border-radius:22px 0 0 0;}
  .aquatic-visual-accent-bottom{width:26%;height:31%;right:38px;bottom:-20px;border-radius:0 0 34px 0;}
  .aquatic-gallery-dots{position:absolute;z-index:3;right:28px;bottom:4px;display:flex;gap:.42rem;padding:.5rem .6rem;border-radius:999px;background:rgba(9,31,60,.82);backdrop-filter:blur(8px);}
  .aquatic-gallery-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer;transition:width .25s ease,background .25s ease;}
  .aquatic-gallery-dots button.is-active{width:22px;border-radius:999px;background:#fff;}
  .aquatic-gallery-dots button:focus-visible{outline:2px solid var(--orange-500);outline-offset:3px;}

  .aquatic-programs{position:relative;z-index:3;display:grid;grid-template-columns:1.05fr repeat(3,1fr) 1.7fr;align-items:stretch;border-top:1px solid #dfe5ed;background:rgba(255,255,255,.92);box-shadow:0 -16px 35px -32px rgba(16,40,72,.32);}
  .aquatic-programs-heading,.aq-program,.aq-upcoming{min-width:0;padding:1.55rem 1.35rem;}
  .aquatic-programs-heading{padding-left:0;}
  .aquatic-programs-heading > span,.aq-upcoming-label{color:var(--orange-500);font-family:'IBM Plex Mono',monospace;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
  .aquatic-programs-heading h3{margin:.38rem 0 0;color:var(--navy-900);font-size:1rem;line-height:1.25;}
  .aq-program{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;border-left:1px solid #dfe5ed;color:var(--navy-900);transition:background .25s ease,transform .25s ease;}
  .aq-program:hover{background:#f7f9fc;transform:translateY(-3px);}
  .aq-program-number{color:var(--orange-500);font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:600;}
  .aq-program strong{display:block;margin:.55rem 0 .45rem;font-size:.82rem;line-height:1.35;}
  .aq-program-action{color:var(--orange-500);font-size:.65rem;font-weight:650;}
  .aq-program-action b{display:inline-block;margin-left:.25rem;font-size:.85rem;transition:transform .22s ease;}
  .aq-program:hover .aq-program-action b{transform:translateX(4px);}
  .aq-upcoming{border-left:1px solid #dfe5ed;}
  .aq-upcoming-label{display:block;margin-bottom:.55rem;color:#9aa5b4;}
  .aq-upcoming-list{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #e2e7ed;border-radius:12px;background:#f3f5f8;}
  .aq-upcoming-item{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:.7rem;padding:.82rem;}
  .aq-upcoming-item + .aq-upcoming-item{border-left:1px solid #d9dfe7;}
  .aq-upcoming-item > span{color:rgba(255,97,38,.58);}
  .aq-upcoming-item svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;}
  .aq-upcoming-item strong,.aq-upcoming-item small{display:block;}
  .aq-upcoming-item strong{color:#798597;font-size:.66rem;line-height:1.3;}
  .aq-upcoming-item small{margin-top:.18rem;color:#9aa4b2;font-size:.57rem;}

  @media (max-width:1180px){
    .aquatic-main{grid-template-columns:minmax(350px,.85fr) minmax(450px,1.15fr);gap:3rem;}
    .aquatic-programs{grid-template-columns:1fr repeat(3,1fr);}
    .aq-upcoming{grid-column:1/-1;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;border-top:1px solid #dfe5ed;border-left:0;}
    .aq-upcoming-label{margin:0;}
  }
  @media (max-width:900px){
    .aquatic::before{width:38%;height:110px;}
    .aquatic-main{grid-template-columns:1fr;gap:2.8rem;}
    .aquatic-intro{max-width:720px;}
    .aquatic-visual{padding-left:0;}
    .aquatic-gallery{border-radius:64px 0 64px 0;}
    .aquatic-programs{grid-template-columns:repeat(3,1fr);}
    .aquatic-programs-heading{grid-column:1/-1;padding-left:0;}
    .aq-program:first-of-type{border-left:0;}
  }
  @media (max-width:600px){
    .aquatic{padding-bottom:0;}
    .aquatic::before{width:34%;height:76px;border-radius:0 0 0 24px;}
    .aquatic-main{gap:2.2rem;padding-bottom:3rem;}
    .aquatic-intro h2{font-size:clamp(2.15rem,10.5vw,2.85rem);}
    .aquatic-intro > p{font-size:.86rem;}
    .aquatic-benefits{grid-template-columns:1fr;gap:1rem;}
    .aquatic-benefit{display:grid;grid-template-columns:38px minmax(0,1fr);gap:.7rem;padding:0;border:0;}
    .aquatic-benefit > span{margin:0;}
    .aquatic-gallery{aspect-ratio:4/3;border-radius:44px 0 44px 0;}
    .aquatic-visual-accent-top{right:-24px;width:40%;}
    .aquatic-visual-accent-bottom{right:18px;}
    .aquatic-programs{grid-template-columns:1fr;}
    .aquatic-programs-heading{grid-column:auto;padding-left:0;}
    .aq-program{min-height:112px;border-top:1px solid #dfe5ed;border-left:0;padding-left:0;}
    .aq-upcoming{grid-column:auto;display:block;padding:1.35rem 0;border-top:1px solid #dfe5ed;}
    .aq-upcoming-label{margin-bottom:.6rem;}
    .aq-upcoming-list{grid-template-columns:1fr;}
    .aq-upcoming-item + .aq-upcoming-item{border-top:1px solid #d9dfe7;border-left:0;}
  }

/* Innovation ecosystem */
  .innovation-section{position:relative;overflow:hidden;background:#f7f9fc;}
  .innovation-section::before{content:"";position:absolute;width:520px;height:520px;left:50%;top:56%;border-radius:50%;background:rgba(255,107,48,.035);filter:blur(18px);transform:translate(-50%,-50%);pointer-events:none;}
  .innovation-specks{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(19,43,78,.17) 1px,transparent 1.3px),radial-gradient(circle,rgba(255,103,43,.38) 1.2px,transparent 1.5px);background-position:0 0,17px 23px;background-size:62px 62px,97px 97px;opacity:.16;mask-image:linear-gradient(to bottom,transparent 4%,#000 28%,#000 88%,transparent);pointer-events:none;}
  .innovation-wrap{position:relative;z-index:1;}
  .innovation-heading{text-align:center;}
  .innovation-heading .eyebrow{justify-content:center;}
  .innovation-heading .eyebrow::after{content:"";display:inline-block;width:24px;height:1px;margin-left:.7rem;background:var(--orange-500);}
  .innovation-heading h2{max-width:760px;margin:1rem auto 0;color:var(--navy-900);font-size:clamp(2.35rem,4.3vw,4rem);line-height:1.06;letter-spacing:-.045em;}
  .innovation-heading p{max-width:720px;margin:1.15rem auto 0;color:var(--ink-soft);font-size:.96rem;line-height:1.7;}
  .innovation-universe{position:relative;height:520px;margin:2.5rem auto -1rem;isolation:isolate;}
  .innovation-ring{position:absolute;z-index:-1;left:50%;top:53%;border:1px solid rgba(29,56,94,.15);border-radius:50%;transform:translate(-50%,-50%);}
  .innovation-ring-one{width:82%;height:58%;}
  .innovation-ring-two{width:64%;height:43%;border-color:rgba(29,56,94,.12);}
  .innovation-ring-three{width:43%;height:28%;border-color:rgba(255,103,43,.23);}
  .innovation-ring::after{content:"";position:absolute;width:8px;height:8px;right:10%;top:16%;border:2px solid rgba(255,103,43,.72);border-radius:50%;background:#fff;box-shadow:0 0 14px rgba(255,103,43,.42);}
  .innovation-ring-two::after{right:auto;left:8%;top:62%;width:6px;height:6px;}
  .innovation-ring-three::after{right:12%;top:68%;width:5px;height:5px;}
  .innovation-links{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;}
  .innovation-links path{fill:none;stroke:rgba(36,63,101,.12);stroke-width:1.2;stroke-dasharray:5 8;transition:stroke .3s ease,stroke-width .3s ease,opacity .3s ease;}
  .innovation-links path.is-active{stroke:rgba(255,103,43,.62);stroke-width:1.8;stroke-dasharray:4 5;}
  .innovation-core{position:absolute;z-index:3;left:50%;top:53%;display:grid;place-items:center;width:150px;height:150px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:#ff6428;color:#fff;box-shadow:0 0 0 12px rgba(255,101,39,.07),0 0 0 28px rgba(255,101,39,.035),0 24px 48px -22px rgba(255,91,26,.8);transform:translate(-50%,-50%);animation:innovation-core-breathe 4.8s ease-in-out infinite;}
  .innovation-core::before,.innovation-core::after{content:"";position:absolute;border:1px solid rgba(255,111,49,.22);border-radius:50%;}
  .innovation-core::before{inset:-22px;}
  .innovation-core::after{inset:-42px;border-style:dashed;animation:innovation-spin 18s linear infinite;}
  .innovation-core span{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase;}
  .innovation-core.is-connected{box-shadow:0 0 0 12px rgba(255,101,39,.1),0 0 0 30px rgba(255,101,39,.055),0 24px 55px -18px rgba(255,91,26,.9);}
  .innovation-universe.is-paused .innovation-ring{border-color:rgba(255,103,43,.2);}
  .ecosystem-orb-node{--orbit-x:0px;--orbit-y:0px;position:absolute;z-index:4;display:flex;align-items:center;flex-direction:column;width:150px;color:var(--navy-900);text-align:center;outline:none;transform:translate3d(var(--orbit-x),var(--orbit-y),0);will-change:transform;backface-visibility:hidden;transition:opacity .35s ease;}
  .ecosystem-orb-technology{left:11%;top:4%;}
  .ecosystem-orb-academy{right:11%;top:4%;}
  .ecosystem-orb-aquatic{left:calc(50% - 75px);bottom:-1%;}
  .ecosystem-orb-logo{position:relative;display:grid;place-items:center;width:112px;height:112px;padding:.55rem;border:1px solid rgba(14,40,76,.22);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 0 0 8px rgba(15,41,77,.035),0 18px 35px -24px rgba(9,31,62,.7);transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;}
  .ecosystem-orb-logo::after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,103,43,.2);border-radius:50%;}
  .ecosystem-orb-logo img{display:block;width:100%;height:100%;object-fit:contain;}
  .ecosystem-orb-node strong{margin-top:.7rem;font-size:.75rem;line-height:1.25;}
  .ecosystem-orb-node small{margin-top:.18rem;color:#7f8b9d;font-size:.61rem;}
  .ecosystem-orb-node:hover,.ecosystem-orb-node:focus-visible{z-index:6;}
  .ecosystem-orb-node:hover .ecosystem-orb-logo,.ecosystem-orb-node:focus-visible .ecosystem-orb-logo{border-color:rgba(255,103,43,.62);box-shadow:0 0 0 10px rgba(255,103,43,.06),0 24px 42px -22px rgba(13,37,70,.72);transform:scale(1.07);}
  .innovation-universe:has(.ecosystem-orb-node:hover) .ecosystem-orb-node:not(:hover),.innovation-universe:has(.ecosystem-orb-node:focus-visible) .ecosystem-orb-node:not(:focus-visible){opacity:.42;}
  .innovation-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--orange-500);box-shadow:0 0 12px rgba(255,103,43,.55);animation:innovation-dot-pulse 2.8s ease-in-out infinite;}
  .innovation-dot-one{left:18%;top:43%;}.innovation-dot-two{right:17%;top:45%;animation-delay:-.8s}.innovation-dot-three{left:34%;bottom:17%;animation-delay:-1.6s}.innovation-dot-four{right:32%;bottom:12%;animation-delay:-2.2s}
  @keyframes innovation-core-breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.035)}}
  @keyframes innovation-spin{to{transform:rotate(360deg)}}
  @keyframes innovation-dot-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.35)}}

  @media (max-width:780px){
    .innovation-universe{height:auto;margin-top:2.5rem;padding-top:185px;display:grid;grid-template-columns:1fr;gap:1rem;}
    .innovation-ring,.innovation-links,.innovation-dot{display:none;}
    .innovation-core{top:70px;width:126px;height:126px;}
    .ecosystem-orb-node,.ecosystem-orb-technology,.ecosystem-orb-academy,.ecosystem-orb-aquatic{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;min-height:104px;display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:1rem;border:1px solid rgba(18,43,78,.1);border-radius:15px;background:rgba(255,255,255,.76);text-align:left;animation:none;}
    .ecosystem-orb-logo{grid-row:1/3;width:76px;height:76px;padding:.38rem;}
    .ecosystem-orb-node strong{align-self:end;margin:.1rem 0 0 1rem;font-size:.82rem;}
    .ecosystem-orb-node small{align-self:start;margin:.2rem 0 0 1rem;}
    .ecosystem-orb-node:hover,.ecosystem-orb-node:focus-visible{transform:translateY(-4px);}
  }

/* Nosotros */
  .direction-section{position:relative;overflow:hidden;background:#f2f5f9;}
  .direction-section::before{content:"";position:absolute;width:380px;height:380px;right:-210px;top:-210px;border:1px solid rgba(18,43,78,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(18,43,78,.018),0 0 0 140px rgba(18,43,78,.012);pointer-events:none;}
  .direction-wrap{position:relative;z-index:1;}
  .direction-header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:4rem;}
  .direction-header h2{max-width:690px;margin-top:1.1rem;color:var(--navy-900);font-size:clamp(2.35rem,4.3vw,3.9rem);line-height:1.06;letter-spacing:-.045em;}
  .direction-header > p{max-width:430px;margin:0 0 .35rem;color:var(--ink-soft);font-size:.94rem;line-height:1.7;}
  .nosotros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:3.2rem;}
  .mv-card{--mv-color:var(--orange-500);position:relative;min-height:315px;overflow:hidden;border:1px solid rgba(17,41,74,.11);border-radius:18px;padding:2rem 2.1rem 1.8rem;background:rgba(255,255,255,.92);box-shadow:0 24px 45px -38px rgba(12,35,66,.58);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;}
  .mv-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--mv-color);transform:scaleX(.18);transform-origin:left;transition:transform .4s ease;}
  .mv-vision{--mv-color:#285f9b;}
  .mv-number{position:absolute;right:1.5rem;top:.8rem;color:rgba(13,37,70,.045);font-family:'Space Grotesk',sans-serif;font-size:7.2rem;font-weight:650;line-height:1;letter-spacing:-.08em;}
  .mv-card-head{position:relative;display:flex;align-items:center;gap:.85rem;}
  .mv-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--mv-color) 30%,transparent);border-radius:12px;background:color-mix(in srgb,var(--mv-color) 8%,#fff);color:var(--mv-color);}
  .mv-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .mv-label{font-family:'IBM Plex Mono',monospace;color:var(--mv-color);font-size:.69rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
  .mv-card h3{position:relative;max-width:390px;margin:2.1rem 0 .8rem;color:var(--navy-900);font-size:1.4rem;line-height:1.25;}
  .mv-card p{position:relative;max-width:500px;margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.72;}
  .mv-accent{position:absolute;left:2.1rem;bottom:1.65rem;width:42px;height:3px;border-radius:99px;background:var(--mv-color);transition:width .35s ease;}
  .mv-card:hover{border-color:color-mix(in srgb,var(--mv-color) 35%,transparent);box-shadow:0 30px 55px -36px rgba(12,35,66,.68);transform:translateY(-6px);}
  .mv-card:hover::before{transform:scaleX(1);}
  .mv-card:hover .mv-accent{width:76px;}

  @media (max-width:860px){
    .direction-header{grid-template-columns:1fr;gap:1.4rem;}
    .direction-header > p{max-width:650px;}
  }

/* CTA final */
  .cta-final{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:grid;
    min-height:450px;
    padding:104px 0;
    place-items:center;
    background:#07152b;
    color:#fff;
    text-align:center;
  }
  .cta-final::before{
    content:"";
    position:absolute;
    z-index:-1;
    width:640px;
    height:340px;
    left:50%;
    top:50%;
    border-radius:50%;
    background:rgba(31,65,110,.18);
    filter:blur(80px);
    transform:translate(-50%,-50%);
    pointer-events:none;
  }
  .cta-final .wrap{position:relative;z-index:1;}
  .cta-final h2{
    max-width:760px;
    margin:0 auto;
    color:#fff;
    font-size:clamp(2.15rem,3.7vw,3.25rem);
    line-height:1.08;
    letter-spacing:-.045em;
    text-wrap:balance;
  }
  .cta-final p{
    max-width:570px;
    margin:1.35rem auto 2.15rem;
    color:#b9c3d5;
    font-size:.98rem;
    line-height:1.65;
    text-wrap:balance;
  }
  .cta-final .cta-row{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;}
  .cta-final .btn{min-height:46px;padding:.78rem 1.45rem;border-radius:999px;}
  .cta-final .btn-outline-light{border-color:rgba(255,255,255,.46);}
  .cta-final .btn-outline-light:hover{border-color:#fff;background:#fff;color:var(--navy-900);}

/* Contact */
  .contact-section{
    overflow:hidden;
    padding:82px 0 86px;
    background:
      radial-gradient(circle at 90% 12%,rgba(219,225,235,.42),transparent 31%),
      linear-gradient(135deg,#f8f9fb 0%,#f3f5f8 100%);
  }
  .contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);gap:clamp(3.2rem,6vw,6rem);align-items:center;}
  .contact-heading h2{max-width:680px;font-size:clamp(2.35rem,3.35vw,3rem);line-height:1.04;letter-spacing:-.045em;}
  .contact-heading > p{max-width:510px;margin:1.1rem 0 0;color:var(--ink-soft);font-size:.95rem;line-height:1.65;}
  form.contact-form{display:flex;flex-direction:column;gap:.78rem;margin-top:1.9rem;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
  .field{min-width:0;margin-bottom:0;}
  .contact-form label{display:block;margin-bottom:.45rem;color:var(--navy-900);font-size:.77rem;font-weight:700;}
  .contact-form label span{color:var(--orange-500);}
  .input-shell{position:relative;}
  .field-icon{position:absolute;z-index:1;left:.9rem;top:50%;display:grid;width:20px;height:20px;place-items:center;color:#71809a;transform:translateY(-50%);pointer-events:none;}
  .field-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .contact-form input,.contact-form select,.contact-form textarea{
    width:100%;
    border:1px solid #d6dde8;
    border-radius:8px;
    padding:.82rem .9rem .82rem 2.65rem;
    background:rgba(255,255,255,.9);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:.82rem;
    box-shadow:0 5px 14px -13px rgba(15,32,57,.45);
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
  }
  .contact-form input::placeholder,.contact-form textarea::placeholder{color:#8490a6;opacity:1;}
  .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--orange-500);background:#fff;box-shadow:0 0 0 3px rgba(255,106,44,.12);}
  .contact-form select{appearance:auto;cursor:pointer;}
  .textarea-shell .field-icon{top:1rem;transform:none;}
  .contact-form textarea{min-height:124px;resize:vertical;line-height:1.55;}
  .contact-side{
    position:relative;
    min-height:500px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:3.25rem 2.75rem;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:#07152b;
    color:#fff;
    box-shadow:0 26px 55px -34px rgba(4,18,39,.62);
  }
  .contact-side-accent{display:block;width:38px;height:2px;margin-bottom:1.25rem;background:var(--orange-500);}
  .contact-side h3{margin-bottom:.9rem;color:#fff;font-size:1.3rem;}
  .contact-side .row{display:flex;align-items:center;gap:1rem;padding:1.05rem 0;border-top:1px solid rgba(255,255,255,.1);color:#fff;transition:color .2s ease,transform .2s ease;}
  .contact-side .row:hover{color:var(--orange-400);transform:translateX(4px);}
  .contact-side .row:first-of-type{border-top:none;}
  .contact-side .ic{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.065);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .contact-side .ic svg{width:20px;height:20px;fill:none;stroke:var(--orange-500);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .contact-side .ic svg .fill{fill:var(--orange-400);stroke:none;}
  .contact-detail{display:flex;min-width:0;flex-direction:column;gap:.24rem;}
  .contact-detail strong{color:#fff;font-size:.8rem;font-weight:650;}
  .contact-detail > span{color:#c4ccda;font-size:.75rem;line-height:1.45;overflow-wrap:anywhere;}
  .contact-side .row:hover .contact-detail > span{color:var(--orange-400);}
  .form-note{display:flex;align-items:center;gap:.45rem;margin:.05rem 0 0;color:var(--ink-soft);font-size:.7rem;line-height:1.45;}
  .form-note svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:var(--orange-500);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .form-status{min-height:1.2rem;margin:0;color:var(--navy-700);font-size:.82rem;}
  .form-status:empty{display:none;}
  .form-status.is-loading{color:var(--ink-soft);}
  .form-status.is-success{color:#157347;}
  .form-status.is-error{color:#b42318;}
  .form-honeypot{display:none !important;}
  .contact-form .btn[disabled]{cursor:wait;opacity:.7;transform:none;}
  .contact-form > .btn{align-self:flex-start;}
  .contact-submit{margin-top:-.1rem;border-radius:7px;padding:.78rem 1.25rem;box-shadow:0 16px 28px -20px rgba(228,87,26,.8);}
  .contact-submit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* Footer */
  footer{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:76px 0 30px;
    background:
      radial-gradient(circle at 84% 52%,rgba(23,69,116,.17),transparent 30%),
      #050f20;
    color:#B9C2D6;
  }
  footer .wrap{position:relative;z-index:2;}
  .footer-art{position:absolute;z-index:0;right:-3%;bottom:78px;width:58%;height:76%;pointer-events:none;}
  .footer-art img{position:absolute;right:10%;top:2%;width:235px;opacity:.035;filter:drop-shadow(0 0 24px rgba(77,151,219,.3));transform:rotate(-7deg);}
  .footer-art svg{position:absolute;right:0;bottom:0;width:100%;height:82%;overflow:visible;}
  .footer-art path{fill:none;stroke:#1b5a8d;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.48;}
  .footer-art path:nth-of-type(2){stroke:var(--orange-500);opacity:.55;}
  .footer-art circle{fill:#2e85c0;opacity:.72;}
  .footer-art .footer-art-node{fill:var(--orange-500);opacity:1;filter:drop-shadow(0 0 7px rgba(255,106,44,.7));}
  .foot-grid{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:clamp(2rem,4vw,4rem);}
  .foot-brand .logo{color:#fff;}
  .logo-footer img{width:190px;height:auto;display:block;}
  .foot-brand p{max-width:235px;margin-top:1rem;color:#9ca8bc;font-size:.82rem;line-height:1.65;}
  .footer-socials{display:flex;align-items:center;gap:.65rem;margin-top:1.35rem;}
  .footer-socials a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.025);color:#fff;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;}
  .footer-socials a:hover{color:#fff;transform:translateY(-4px);background:rgba(255,255,255,.075);}
  .footer-socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
  .footer-socials .social-fill,.footer-socials .social-solid{fill:currentColor;stroke:none;}
  .footer-socials .social-instagram{border-color:rgba(236,75,124,.56);}
  .footer-socials .social-instagram:hover{border-color:#ec4b7c;box-shadow:0 10px 22px -13px rgba(236,75,124,.9);}
  .footer-socials .social-facebook{border-color:rgba(74,128,214,.62);}
  .footer-socials .social-facebook:hover{border-color:#4a80d6;box-shadow:0 10px 22px -13px rgba(74,128,214,.95);}
  .footer-socials .social-linkedin{border-color:rgba(42,137,199,.62);}
  .footer-socials .social-linkedin:hover{border-color:#2a89c7;box-shadow:0 10px 22px -13px rgba(42,137,199,.9);}
  .footer-socials .social-tiktok{border-color:rgba(255,255,255,.42);}
  .footer-socials .social-tiktok:hover{border-color:#fff;box-shadow:-4px 7px 18px -11px #25f4ee,4px 7px 18px -11px #fe2c55;}
  .footer-socials .social-whatsapp{border-color:rgba(37,211,102,.58);}
  .footer-socials .social-whatsapp:hover{border-color:#25d366;box-shadow:0 10px 22px -13px rgba(37,211,102,.9);}
  footer h4{position:relative;margin-bottom:1.35rem;padding-bottom:.78rem;color:#fff;font-size:.76rem;font-weight:650;text-transform:uppercase;letter-spacing:.09em;}
  footer h4::after{content:"";position:absolute;left:0;bottom:0;width:22px;height:2px;background:var(--orange-500);}
  footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;}
  footer a{font-size:.82rem;color:#98A2B8;transition:color .2s ease;}
  footer a:hover{color:var(--orange-400);}
  .foot-bottom{margin-top:4rem;padding-top:1.65rem;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.72rem;color:#7f8ba0;}
  .foot-bottom a{color:#919db0;}

  /* Mobile menu */
  .mobile-menu{
    position:fixed;inset:0;background:var(--navy-900);z-index:200;
    display:flex;flex-direction:column;padding:100px 32px 40px;gap:1.6rem;
    transform:translateX(100%);transition:transform .35s ease;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{color:#fff;font-size:1.3rem;font-family:'Space Grotesk',sans-serif;font-weight:600;}
  .mobile-menu .close-btn{position:absolute;top:24px;right:24px;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;}

  /* WhatsApp */
  .whatsapp-badge{position:fixed;right:1.25rem;bottom:1.25rem;z-index:150;display:inline-flex;align-items:center;gap:0;padding:.78rem;border-radius:999px;background:#25D366;color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 14px 32px -16px rgba(6,43,22,.65);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,gap .35s ease,padding .35s ease;}
  .whatsapp-badge::before{content:"";position:absolute;inset:-4px;border:1px solid rgba(37,211,102,.65);border-radius:inherit;animation:whatsapp-pulse 2.8s ease-out infinite;pointer-events:none;}
  .whatsapp-badge:hover,.whatsapp-badge:focus-visible{gap:.65rem;padding:.78rem 1rem .78rem .78rem;background:#1fbd59;color:#fff;transform:translateY(-4px);box-shadow:0 18px 38px -16px rgba(6,43,22,.8);outline:none;}
  .whatsapp-badge svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
  .whatsapp-badge span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transform:translateX(8px);transition:max-width .4s ease,opacity .25s ease,transform .35s ease;}
  .whatsapp-badge:hover span,.whatsapp-badge:focus-visible span{max-width:190px;opacity:1;transform:translateX(0);}
  @keyframes whatsapp-pulse{0%{opacity:.8;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.18)}}

@media (max-width: 980px){
    nav.main-nav{display:none;}
    .burger{display:flex;}
    .hero .wrap{grid-template-columns:1fr;}
    .orbit-wrap{max-width:440px;margin:2rem auto 0;}
    .ecosystem-stage{min-height:440px;}
    .ecosystem-focus{grid-template-columns:130px minmax(0,1fr);gap:1.1rem;padding:1.35rem;}
    .focus-planet{width:130px;height:130px;}
    .hero-services{grid-template-columns:repeat(2,minmax(0,1fr));}
    .eco-grid,.needs-grid,.cap-list,.prod-grid,.academy-grid,.proj-grid,.pillars,.aq-grid,.logo-row{grid-template-columns:repeat(2,1fr);}
    .needs-layout{grid-template-columns:1fr;gap:3.5rem;}
    .smart-route{width:100%;max-width:620px;padding-top:0;}
    .technology-blueprint{width:720px;right:-210px;opacity:.34;}
    .technology-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));}
    .technology-card:last-child{grid-column:1/-1;}
    .products-layout{grid-template-columns:1fr;gap:3.2rem;}
    .products-intro{max-width:680px;}
    .products-values{max-width:650px;flex-direction:row;gap:2rem;margin-top:2.4rem;}
    .product-value{flex:1;}
    .academy-orbits{width:700px;right:-250px;opacity:.34;}
    .institutional-layout{grid-template-columns:1fr;gap:3.6rem;}
    .institutional-intro{max-width:680px;}
    .institutional-visual{width:100%;max-width:720px;margin:0 auto;}
    .nosotros-grid,.contact-grid{grid-template-columns:1fr;}
    .contact-grid{gap:3.4rem;}
    .contact-main{max-width:720px;}
    .contact-side{min-height:0;max-width:720px;padding:2.7rem;}
    .footer-art{right:-12%;width:82%;opacity:.72;}
    .foot-grid{grid-template-columns:repeat(2,1fr);}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .eco-grid,.needs-grid,.cap-list,.prod-grid,.academy-grid,.proj-grid,.pillars,.aq-grid,.logo-row{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;gap:2.2rem;}
    .footer-art{right:-55%;bottom:92px;width:145%;height:42%;opacity:.55;}
    .footer-art img{right:44%;top:10%;width:190px;}
    .section{padding:70px 0;}
    .needs-section{padding:78px 0 82px;}
    .needs-section h2{font-size:clamp(2rem,10vw,2.65rem);}
    .needs-lead{font-size:.9rem;}
    .needs-grid{margin-top:1.8rem;}
    .need-card{min-height:154px;padding:1.1rem;}
    .needs-question{grid-template-columns:1fr;gap:.55rem;text-align:center;}
    .needs-question span{display:none;}
    .needs-buttons{flex-direction:column;gap:.7rem;}
    .needs-buttons .btn{width:100%;min-width:0;}
    .smart-route{padding:1.45rem 1rem 1.1rem;border:1px solid rgba(18,37,66,.07);border-radius:18px;background:rgba(255,255,255,.42);}
    .route-step{grid-template-columns:31px minmax(0,1fr);gap:.75rem;}
    .route-steps::before{left:15px;}
    .route-marker{margin-left:3px;}
    .route-step.is-active .route-marker{margin-left:0;}
    .route-card{padding:.7rem;}
    .technology-section{padding:82px 0 78px;}
    .technology-blueprint{top:30px;right:-280px;width:650px;opacity:.25;}
    .technology-intro h2{font-size:clamp(2.05rem,10.5vw,2.75rem);}
    .technology-capabilities{grid-template-columns:1fr;margin-top:2.2rem;}
    .technology-card:last-child{grid-column:auto;}
    .technology-card{min-height:286px;}
    .products-section{padding:78px 0 82px;}
    .products-intro h2{font-size:clamp(2.05rem,10vw,2.7rem);}
    .products-values{flex-direction:column;gap:1.2rem;margin-top:2.2rem;}
    .product-deck{height:870px;}
    .product-card.is-large{top:0;left:0;width:100%;height:430px;}
    .product-card.is-top{top:446px;left:0;width:100%;height:196px;}
    .product-card.is-bottom{top:658px;left:0;width:100%;height:196px;}
    .product-card.is-large .product-card-copy{min-height:170px;padding:1.2rem;}
    .product-card.is-large .product-card-copy strong{font-size:1.08rem;}
    .product-card.is-large .product-card-description{font-size:.75rem;}
    .product-card.is-top .product-card-copy,
    .product-card.is-bottom .product-card-copy{min-height:104px;padding:.72rem .85rem;}
    .product-card.is-top .product-card-description,
    .product-card.is-bottom .product-card-description{font-size:.61rem;}
    .academy-section{padding:78px 0 82px;}
    .academy-section h2{font-size:clamp(2.35rem,11vw,3rem);}
    .academy-section .lead{font-size:.96rem;}
    .academy-orbits{top:70px;right:-340px;width:640px;opacity:.22;}
    .academy-grid{margin-top:2.4rem;}
    .academy-item{grid-template-columns:30px 1px 42px minmax(0,1fr);gap:.72rem;padding:.9rem 1rem;}
    .academy-icon{width:42px;height:42px;}
    .academy-icon svg{width:32px;height:32px;}
    .institutional-section{padding:78px 0 82px;}
    .institutional-intro h2{font-size:clamp(2.05rem,10vw,2.7rem);}
    .institutional-intro .lead{font-size:.93rem;}
    .modal-row{gap:.5rem;}
    .modal-pill{padding:.48rem .72rem;font-size:.68rem;}
    .institutional-actions{align-items:stretch;flex-direction:column;gap:1.15rem;}
    .institutional-actions .btn{width:100%;justify-content:space-between;}
    .institutional-link{align-self:flex-start;}
    .institutional-visual{height:830px;}
    .institutional-program{top:0;left:0;width:100%;min-height:400px;padding:1.45rem 1.2rem;}
    .institutional-audiences{gap:.3rem;}
    .institutional-audiences span{width:44px;height:44px;}
    .institutional-process{top:438px;left:0;right:auto;width:100%;gap:.95rem;}
    .institutional-process::before{left:23px;}
    .institutional-step{grid-template-columns:48px minmax(0,1fr);gap:1rem;}
    .institutional-step strong{font-size:.8rem;}
    .institutional-step p{font-size:.68rem;}
    .institutional-back-card{display:none;}
    .cta-final{padding:80px 0;}
    .contact-section{padding:76px 0 82px;}
    .contact-heading h2{font-size:clamp(2.15rem,10vw,2.75rem);}
    .contact-grid{gap:2.6rem;}
    .contact-form{margin-top:1.8rem;}
    .contact-side{padding:2.1rem 1.35rem;border-radius:14px;}
    .contact-side .row{gap:.8rem;}
    .contact-side .ic{width:42px;height:42px;}
    .contact-submit{width:100%;justify-content:center;}
    .logo-full{width:88px;}
    .hero-services{width:auto;margin:14px 24px 0;grid-template-columns:1fr 1fr;gap:.6rem;padding-bottom:28px;}
    .hero-service{min-height:112px;grid-template-columns:36px minmax(0,1fr);padding:.85rem;gap:.65rem;}
    .hero-service-icon{width:36px;height:36px;}
    .hero-service-icon svg{width:18px;height:18px;}
    .hero-service-copy strong{font-size:.76rem;}
    .hero-service-copy > span{font-size:.62rem;}
    .orbit-wrap{max-width:360px;}
    .ecosystem-stage{min-height:360px;}
    .ecosystem-orbit{inset:16%;}
    .eco-planet{width:72px;height:72px;}
    .eco-planet-body{width:56px;height:56px;padding:5px;}
    .eco-planet-body svg{width:20px;height:20px;}
    .innovation-planet{width:92px;height:92px;}
    .innovation-planet img{width:30px;}
    .ecosystem-focus{inset:2%;grid-template-columns:1fr;grid-template-rows:118px auto;gap:.5rem;padding:1rem 1.2rem;text-align:center;border-radius:24px;}
    .focus-planet{width:108px;height:108px;margin:0 auto;}
    .focus-planet-icon svg{width:42px;height:42px;}
    .focus-planet-icon{width:82px;height:82px;flex-basis:82px;}
    .focus-planet-icon img{width:82px;height:82px;flex-basis:82px;padding:7px;}
    .focus-copy h3{font-size:1.45rem;margin:.25rem 0 .35rem;}
    .focus-copy p{font-size:.78rem;line-height:1.4;margin:0 auto;}
    .ecosystem-hint{font-size:.59rem;}
    .whatsapp-badge{right:1rem;bottom:1rem;}
  }

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