/* ============================================================
   RESET
============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
html,body{max-width:100vw;overflow-x:clip}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text-strong);background:var(--bg-white);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;line-height:1.2;color:var(--text-strong)}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2.5px solid var(--or-500);outline-offset:2px;border-radius:var(--r-sm,4px)}



/* ============================================================
   LAYOUT
============================================================ */
.container{max-width:1200px;margin-inline:auto;padding-inline:1.5rem}
.section-header{text-align:center;max-width:660px;margin-inline:auto;margin-bottom:4rem}
.section-header h2{font-size:clamp(1.875rem,3.5vw,2.625rem);margin-bottom:1rem}
.section-header p{font-size:1.0625rem;color:var(--text-body);line-height:1.75}

/* ============================================================
   TOKENS
============================================================ */
:root {
  /* PanalSuite orange brand */
  --or-100: #FEF9C3;
  --or-200: #FEF08A;
  --or-400: #FACC15;
  --or-500: #EAB308;
  --or-600: #CA8A04;
  --or-700: #A16207;
  --or-800: #854D0E;
  --br-900: #18181B;
  --br-950: #09090B;
  --br-black:#000000;

  /* Eramba accent — deep teal */
  --er-100: #ECFDF5;
  --er-500: #10B981;
  --er-600: #059669;
  --er-700: #047857;

  /* Sladesk accent — indigo */
  --sl-100: #FFF3E8;
  --sl-500: #F97316;
  --sl-600: #EA580C;
  --sl-700: #C2410C;

  --bg-white: #FFFFFF;
  --bg-light: #F8FAFC;
  --bg-light2: #F1F5F9;

  --text-strong: #0F172A;
  --text-body:   #475569;
  --text-muted:  #94A3B8;

  --grad-main: linear-gradient(135deg,var(--or-400) 0%,var(--or-500) 40%,var(--or-600) 80%,var(--or-700) 100%);
  --grad-soft: linear-gradient(135deg,var(--or-400) 0%,var(--or-600) 100%);
  --grad-er:   linear-gradient(135deg,var(--er-500) 0%,var(--er-700) 100%);
  --grad-sl:   linear-gradient(135deg,var(--or-500) 0%,var(--or-700) 100%);

  --r-sm: 0.5rem;
  --r-md: 0.875rem;
  --r-lg: 1.25rem;
  --r-xl: 1.75rem;
}

/* ============================================================
   UTILITIES
============================================================ */
.text-grad{background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}

.pill{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.35rem 1rem;border-radius:999px;background:var(--or-100);color:var(--or-700)}
.pill-er{background:var(--er-100);color:var(--er-700)}
.pill-sl{background:var(--sl-100);color:var(--sl-600)}

/* ============================================================
   BUTTONS
============================================================ */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;border-radius:var(--r-md);transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;border:none;font-family:inherit;font-size:.9375rem;white-space:nowrap}
.btn-primary{background:var(--grad-main);color:#fff;padding:.8rem 1.75rem;box-shadow:var(--sh-glow)}
.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 36px rgba(234,88,12,.45)}

/* ============================================================
   SCROLL REVEAL
============================================================ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}
.reveal.vis{opacity:1;transform:none}
.d1.vis{transition-delay:.08s}
.d2.vis{transition-delay:.16s}
.d3.vis{transition-delay:.24s}
.d4.vis{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto!important}}

/* ============================================================
   HEADER
============================================================ */
#hdr{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  background-color: transparent;
  border-bottom:1px solid transparent;
  transition:background .3s,box-shadow .3s,backdrop-filter .3s,border-bottom .3s;
}
#hdr.scrolled{
  background-color: rgba(15, 12, 5, 0.90);
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='69.282' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 17.32l-20 11.547L0 17.32V-5.774l20-11.547L40-5.774V17.32zm0 46.188l-20 11.548-20-11.548V40.414L20 28.867l20 11.547v23.094z' fill='none' stroke='%23FACC15' stroke-width='1.2' stroke-opacity='0.06'/%3E%3C/svg%3E");
  background-size: 40px 69.282px;
  background-repeat: repeat;
  background-position: top center;
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  border-bottom: 1px solid rgba(250, 204, 21, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}
#hdr.scrolled .nav-inner {
  height: 68px;
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 96px;
  padding: 0 5%;
  position: relative;
  max-width: 100%;
  transition: height 0.4s ease;
}
#hdr .nav-links {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.nav-logo{display:flex;align-items:center;gap:0.75rem;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.4rem;letter-spacing:-0.02em;color:var(--br-950);flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:1.875rem}
.nav-link{font-size:.875rem;font-weight:500;color:var(--text-body);transition:color .2s;position:relative}
.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--grad-soft);border-radius:2px;transition:width .25s ease}
.nav-link:hover{color:var(--or-700)}
.nav-link:hover::after{width:100%}
.nav-dropdown { position: relative; display: flex; align-items: center; height: 100%; }
.dropdown-menu { position: absolute; top: 100%; left: 0; background: rgba(18,18,18,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 4px 30px rgba(0,0,0,0.5); border-radius: var(--r-md); padding: 0.5rem; display: flex; flex-direction: column; gap: 0.2rem; min-width: 150px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.2s ease; border: 1px solid rgba(255,255,255,0.05); }
.nav-dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-menu.mega-menu { width: 800px; left: 50%; transform: translateX(-50%) translateY(10px); padding: 0; overflow: hidden; background: rgba(18,18,18,0.95); box-shadow: 0 8px 40px rgba(0,0,0,0.6); border: 1px solid rgba(255,255,255,0.08); }
.nav-dropdown:hover .dropdown-menu.mega-menu { transform: translateX(-50%) translateY(0); }
.dropdown-item { padding: 0.5rem 1rem; color: rgba(255,255,255,0.7); font-weight: 500; font-size: 0.875rem; text-decoration: none; border-radius: var(--r-sm); transition: background 0.2s, color 0.2s; }
.dropdown-item:hover { background: rgba(255,255,255,0.05); color: var(--or-400); }
/* Hamburger */
.nav-ham{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;cursor:pointer;border:none;background:none;padding:0;border-radius:var(--r-sm);transition:background .2s}
.nav-ham:hover{background:var(--or-100)}
.nav-ham span{display:block;width:22px;height:2px;background:var(--text-strong);border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.nav-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Drawer */
.nav-drawer{display:none;position:absolute;top:68px;left:0;right:0;max-height:calc(100svh - 68px);overflow-y:auto;background:rgba(15, 12, 5, 0.98);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,0.05);padding:1.25rem 1.5rem 1.75rem;flex-direction:column;gap:.25rem;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.nav-drawer.open{display:flex}
.nav-drawer .nav-link{font-size:1rem;padding:.8rem .5rem;border-bottom:1px solid rgba(255,255,255,0.05); color:#fff !important;}
.nav-drawer .nav-link:last-of-type{border-bottom:none}
.nav-drawer .btn-primary{margin-top:.75rem;justify-content:center}
@media(max-width:860px){.nav-links,.nav-cta{display:none !important}.nav-ham{display:flex}}

/* ============================================================
   HERO
============================================================ */
#hero{position:relative;min-height:100svh;display:flex;align-items:flex-start;padding-top:15vh;padding-bottom:10vh;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 10% 20%,rgba(251,146,60,.09),transparent),radial-gradient(ellipse 50% 60% at 90% 80%,rgba(124,45,18,.11),transparent),var(--bg-light)}
.hero-hex-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none}
.hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}

/* ============================================================
   ECOSISTEMA (overview 2 plataformas)
============================================================ */
#ecosistema{padding-block:7rem;background:var(--bg-white);position:relative;overflow:hidden}

/* ============================================================
   SOLUCIONES
============================================================ */
.sol-grid{display:grid;grid-template-columns:1fr 1fr;row-gap:0;column-gap:3rem;width:100%}
@media(max-width:640px){.sol-grid{grid-template-columns:1fr}}
.sol-sub-item{display:flex;align-items:center;gap:1rem;font-size:.95rem;font-weight:400;color:rgba(255,255,255,0.7);text-decoration:none;padding-block:1.5rem;border-bottom:1px solid rgba(255,255,255,0.05);transition:color .2s,transform .2s}
.sol-sub-item:last-child{border-bottom:none}
.sol-sub-item:hover{color:var(--or-400);transform:translateX(4px)}
.sol-sub-item svg{color:rgba(255,255,255,0.4);transition:color .2s}
.sol-sub-item:hover svg{color:var(--or-400)}

/* ============================================================
   CONFIANZA
============================================================ */
#confianza{padding-block:6rem;background:var(--bg-light);position:relative}
/* ============================================================
   PRODUCTO (sección detallada)
============================================================ */
.prod-section{padding-block:clamp(4rem, 10vw, 7rem);position:relative;overflow:hidden}
.prod-section.light{background:var(--bg-white)}
.prod-section.alt{background:var(--bg-light)}
.prod-deco{position:absolute;width:350px;height:350px;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.prod-deco-1{top:-80px;right:-80px}
.prod-deco-2{bottom:-80px;left:-80px}

.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}
@media(max-width:920px){.prod-grid{grid-template-columns:1fr;gap:3rem}.vis-col{order:-1}}

.prod-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.prod-h2{font-size:clamp(1.75rem,3vw,2.375rem);margin-bottom:1.25rem}
.prod-desc{font-size:1.0625rem;color:var(--text-body);line-height:1.75;margin-bottom:2.25rem}

.feat-list{display:flex;flex-direction:column;gap:.875rem}
.feat-item{display:flex;align-items:flex-start;gap:1rem;padding:1.125rem 1.25rem;background:var(--bg-white);border:1px solid #E8EDF5;border-radius:var(--r-lg);transition:border-color .25s,box-shadow .25s,transform .25s}
.prod-section.alt .feat-item{background:#fff}
.feat-item.er:hover{border-color:rgba(16,185,129,.3);box-shadow:0 6px 20px rgba(16,185,129,.1);transform:translateX(4px)}
.feat-item.sl:hover{border-color:rgba(99,102,241,.3);box-shadow:0 6px 20px rgba(99,102,241,.1);transform:translateX(4px)}
.feat-icon{width:2rem;height:2rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.feat-icon.er{background:var(--grad-er)}
.feat-icon.sl{background:var(--grad-sl)}
.feat-text strong{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.25rem;color:var(--text-strong)}
.feat-text span{font-size:.875rem;color:var(--text-body);line-height:1.6}

/* ============================================================
   CTA
============================================================ */
#demo{background:var(--grad-main);padding-block:6rem;position:relative;overflow:hidden}
.demo-hex-svg{position:absolute;inset:0;opacity:.06;pointer-events:none}
.demo-inner{text-align:center;position:relative}
.demo-pill{display:inline-block;background:rgba(255,255,255,.18);color:rgba(255,255,255,.95);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.4rem 1.1rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);margin-bottom:1.5rem}
#demo h2{font-size:clamp(1.875rem,4vw,3rem);color:#fff;margin-bottom:1.25rem;max-width:700px;margin-inline:auto}
#demo p{font-size:1.125rem;color:rgba(255,255,255,.85);max-width:560px;margin-inline:auto;line-height:1.7;margin-bottom:2.5rem}
.demo-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ============================================================
   FOOTER
============================================================ */
#ftr{position:relative;z-index:2;background:var(--br-black);color:#C9B8AC;padding-top:4.5rem;padding-bottom:0}
.ftr-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ftr-grid{grid-template-columns:1fr}}
.ftr-logo{display:flex;align-items:center;gap:0.65rem;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-0.02em;color:#fff;margin-bottom:1rem}
.ftr-desc{font-size:.875rem;color:#A1A1AA;line-height:1.7;max-width:280px;margin-bottom:1.75rem}
.ftr-certs{display:flex;flex-wrap:wrap;gap:.5rem}
.ftr-cert-tag{font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.3rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55)}
.ftr-col-title{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.25rem}
.ftr-links{display:flex;flex-direction:column;gap:.875rem}
.ftr-link{font-size:.875rem;color:#A1A1AA;transition:color .2s;line-height:1.4}
.ftr-link:hover{color:var(--or-400)}
.ftr-bottom{display:flex;align-items:center;justify-content:center;gap:1rem;padding-block:1.5rem;font-size:.8125rem;color:#71717A;flex-wrap:wrap;text-align:center}
.ftr-bottom-certs{display:flex;gap:1.25rem;align-items:center}
.ftr-cert-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:#71717A}
@media(max-width:640px){.ftr-bottom-certs{display:none}}


@keyframes floatSoft { 0% { transform: translateY(0px); filter: drop-shadow(0 10px 15px rgba(0,0,0,0.1)); } 50% { transform: translateY(-12px); filter: drop-shadow(0 20px 25px rgba(0,0,0,0.15)); } 100% { transform: translateY(0px); filter: drop-shadow(0 10px 15px rgba(0,0,0,0.1)); } }
.float-anim { animation: floatSoft 5s ease-in-out infinite; }

/* ============================================================
   BEE THEME MODERN (HONEYCOMB)
============================================================ */
.honeycomb-bg {
  background-color: var(--br-black) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='69.282' viewBox='0 0 40 69.282' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 11.547L20 0 0 11.547v23.094l20 11.547 20-11.547V11.547zM20 40.415L5 31.754V14.433l15-8.66 15 8.66v17.32l-15 8.661z' fill='%23FACC15' fill-opacity='0.03' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
}

.logo-mask {
    width: 6.5rem;
    height: 5.4rem;
    background: linear-gradient(to bottom, #FFE866, #E1A619);
    -webkit-mask-image: url('../logo/logo-yellow.png');
    mask-image: url('../logo/logo-yellow.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    display: inline-block;
    vertical-align: middle;
    transition: all 0.4s ease;
}
.ftr-logo .logo-mask {
    height: 3.5rem;
    width: 4.2rem;
}

#ftr.honeycomb-bg { background-color: #111113 !important; }

/* Header dark mode overrides */
#hdr .nav-logo { color: #FFFFFF !important; }
#hdr .nav-link { color: rgba(255,255,255,0.9) !important; }
#hdr .nav-link:hover { color: var(--or-400) !important; }
#hdr .nav-ham span { background: #FFFFFF !important; }
#hdr .nav-ham:hover { background: rgba(255,255,255,0.1) !important; }

#hdr .dropdown-menu .nav-link { color: var(--br-800) !important; }
#hdr .dropdown-menu .nav-link:hover { color: var(--or-600) !important; }
/* Bee Typography Styles */






.brand-text {
      font-family: 'Space Grotesk', sans-serif;
      font-weight: 900;
      background: linear-gradient(to bottom, #FFE866, #E1A619);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      letter-spacing: -0.02em;
      font-size: 2.8rem;
      transition: font-size 0.4s ease;
}


/* Premium Filled Asymmetric Dripping Honey Buttons */
.btn-primary {
    position: relative;
    border-radius: 24px 24px 8px 8px !important;
    background: linear-gradient(to bottom, #FFE866, #E1A619) !important;
    box-shadow: 
        inset 0 2px 4px rgba(255,255,255,0.7),
        inset 0 -4px 10px rgba(180, 80, 0, 0.4),
        0 10px 24px rgba(225, 166, 25, 0.5) !important;
    color: #3A1C00 !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.5);
    border: none !important;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.btn-primary::after {
    content: '';
    position: absolute;
    top: 99%;
    left: 8px;
    right: 8px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C10,0 15,10 25,10 C35,10 38,0 45,0 C52,0 55,16 65,16 C75,16 78,0 85,0 C90,0 92,6 96,6 C98,6 100,0 100,0 Z' fill='%23E1A619'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
    filter: drop-shadow(0 4px 6px rgba(225, 166, 25, 0.6));
    transition: inherit;
}
.btn-primary:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 
        inset 0 2px 4px rgba(255,255,255,0.8),
        inset 0 -4px 10px rgba(180, 80, 0, 0.3),
        0 15px 30px rgba(225, 166, 25, 0.6) !important;
}
.btn-primary:hover::after {
    height: 16px;
}

/* Interactive Scroll Bee */
#scroll-bee {
    position: fixed;
    top: 0;
    left: 50%;
    width: 50px;
    height: 50px;
    z-index: 9999;
    pointer-events: none;
    transition: transform 0.1s linear;
    will-change: transform;
    opacity: 0;
    animation: fadeInBee 1s forwards 0.5s;
}
@keyframes fadeInBee {
    to { opacity: 1; }
}
@media (max-width: 768px) {
    #scroll-bee {
        width: 35px;
        height: 35px;
    }
}

/* Bee Wing Animation */
.bee-wings {
    transform-origin: 50px 45px; transform-box: fill-box;
    animation: flap 0.04s infinite alternate linear;
}
#scroll-bee.resting .bee-wings {
    animation: none; /* Stops flapping when resting on the honey */
}
@keyframes flap {
    0% { transform: scaleX(1); }
    100% { transform: scaleX(0.2); }
}

/* --- Section Background Animations (Life) --- */
.hero-hex-svg {
  width: 120% !important;
  height: 120% !important;
  top: -10% !important;
  left: -10% !important;
  animation: panPattern 40s linear infinite;
}

.honey-ornament {
  animation: floatOrnament 6s ease-in-out infinite alternate;
}

@keyframes floatOrnament {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-15px); }
}

/* Ensure the panPattern keyframes exist globally if not already defined here */
@keyframes panPattern {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-3%, -3%); }
}

/* --- Sleek Tech Rain for Demo Section --- */
#demo {
  position: relative;
  z-index: 1;
}

#demo .container {
  position: relative;
  z-index: 10;
}

#demo::before,
#demo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: repeat;
}

/* Back layer: Tiny, faint, slow vertical lines */
#demo::before {
  background-image: url("data:image/svg+xml,%3Csvg width='500' height='500' viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='100' y='100' width='1.5' height='15' rx='0.75' fill='%23FACC15' opacity='0.2'/%3E%3Crect x='350' y='300' width='1' height='10' rx='0.5' fill='%23FACC15' opacity='0.15'/%3E%3Crect x='250' y='450' width='2' height='20' rx='1' fill='%23FACC15' opacity='0.25'/%3E%3C/svg%3E");
  background-size: 500px 500px;
  animation: fallTechRainBack 20s linear infinite;
}

/* Front layer: Slightly larger, faster vertical lines */
#demo::after {
  background-image: url("data:image/svg+xml,%3Csvg width='700' height='700' viewBox='0 0 700 700' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='200' y='150' width='2' height='25' rx='1' fill='%23FACC15' opacity='0.3'/%3E%3Crect x='550' y='500' width='2.5' height='30' rx='1.25' fill='%23FACC15' opacity='0.2'/%3E%3C/svg%3E");
  background-size: 700px 700px;
  animation: fallTechRainFront 12s linear infinite;
}

@keyframes fallTechRainBack {
  0% { background-position: 0px 0px; }
  100% { background-position: 0px 500px; }
}

@keyframes fallTechRainFront {
  0% { background-position: 0px 0px; }
  100% { background-position: 0px 700px; }
}

@media (max-width: 900px) {
  #ecosistema .prod-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  #ecosistema .vis-col {
    order: -1;
  }
  #ecosistema .d2 {
    padding-right: 0 !important;
  }
}


/* ============================================================
   CLIENT MARQUEE
============================================================ */
.client-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-block: 1rem;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.marquee-track {
    display: flex;
    align-items: center;
    gap: 4rem;
    width: max-content;
    animation: scrollLeft 30s linear infinite;
}
.marquee-track:hover {
    animation-play-state: paused;
}
.marquee-logo {
    height: 40px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
    filter: grayscale(1) opacity(0.6);
    mix-blend-mode: multiply;
    transition: filter 0.3s ease, transform 0.3s ease;
}
.marquee-logo:hover {
    filter: grayscale(0) opacity(1);
    transform: scale(1.05);
}
@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 2rem)); } /* -50% minus half the gap to perfectly loop */
}
@media (max-width: 768px) {
    .marquee-logo {
        height: 30px;
        max-width: 120px;
    }
    .marquee-track {
        gap: 2.5rem;
        animation-duration: 20s;
    }
    @keyframes scrollLeft {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-50% - 1.25rem)); }
    }
}





/* Make logos glow super brightly */
.nav-logo, .ftr-logo {
    filter: drop-shadow(0 4px 12px rgba(225, 166, 25, 0.6));
    transition: filter 0.3s ease, transform 0.4s ease;
}
.nav-logo:hover, .ftr-logo:hover {
    filter: drop-shadow(0 8px 20px rgba(225, 166, 25, 0.9));
}

/* Scrolled Header Logo Shrink */
#hdr.scrolled .brand-text {
    font-size: 1.8rem;
}
#hdr.scrolled .nav-logo .logo-mask {
    width: 4.2rem;
    height: 3.5rem;
}
#hdr {
    transition: all 0.4s ease;
}
