/* ==========================================================
   FIDUS CAPITAL · WOW EXPERIENCE V1.3
   Dark investment atmosphere / scroll-driven motion layer
   ========================================================== */
:root{
  --ink:#042f23;
  --ink-2:#073e30;
  --green:#25c68c;
  --green-2:#61eeb5;
  --mint:#c4f8df;
  --lime:#d9ff72;
  --sand:#073a2e;
  --soft:#093a2f;
  --white:#ffffff;
  --line:rgba(224,255,242,.14);
  --muted:#afcabf;
  --shadow:0 30px 90px rgba(0,12,8,.35),0 0 0 1px rgba(166,255,216,.05);
}

html{background:#042f23}
body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 14% 4%,rgba(64,223,160,.12),transparent 32%),
    radial-gradient(circle at 88% 24%,rgba(217,255,114,.07),transparent 28%),
    linear-gradient(180deg,#042f23 0%,#03291f 52%,#042f23 100%);
  color:#effff7;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.6;
  background-image:
    linear-gradient(rgba(224,255,242,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(224,255,242,.026) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 94%);
  animation:fidusGridDrift 28s linear infinite;
}
main,.site-footer,.final-cta{position:relative;z-index:2}
main{background:transparent}
.section{position:relative;background:transparent}
.section-soft{background:linear-gradient(135deg,rgba(9,58,47,.88),rgba(4,47,35,.62))}
.section-dark{background:linear-gradient(145deg,#021f17,#063b2d 58%,#03281e);color:#fff}
.section:after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  width:min(1320px,calc(100% - 64px));height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(195,255,222,.13),transparent);
}
h1,h2,h3,h4,.project-card h3,.article-card h3{color:#f5fff9;text-shadow:0 1px 28px rgba(36,215,148,.06)}
p{color:var(--muted)}
strong{color:#f5fff9}
h1 em,h2 em{color:var(--green-2);text-shadow:0 0 38px rgba(97,238,181,.18)}
.eyebrow{color:var(--green-2)}
.eyebrow.light{color:var(--lime)}

/* Animated global investment atmosphere */
.scroll-progress{
  position:fixed;z-index:9997;top:0;left:0;width:100%;height:3px;
  pointer-events:none;background:rgba(255,255,255,.025)
}
.scroll-progress i{
  display:block;width:0;height:100%;
  background:linear-gradient(90deg,var(--green-2),var(--lime));
  box-shadow:0 0 18px rgba(217,255,114,.7)
}
.investment-atmosphere{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.ambient-market-graph{
  position:absolute;right:-5vw;top:8vh;width:min(760px,57vw);height:auto;
  opacity:.13;filter:drop-shadow(0 0 22px rgba(70,239,175,.14));
  transform-origin:center
}
.ambient-market-graph .ambient-grid line{stroke:rgba(203,255,231,.14);stroke-width:1}
.ambient-market-graph .market-area{fill:url(#marketGlow)}
.ambient-market-graph .market-line{fill:none;stroke:url(#marketStroke);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ambient-market-graph .market-dot{fill:var(--lime);filter:drop-shadow(0 0 7px rgba(217,255,114,.9))}
.ambient-chart-bars{
  position:absolute;left:3.5vw;top:38vh;width:130px;height:170px;
  display:flex;align-items:flex-end;gap:11px;opacity:.11;transform:rotate(-6deg)
}
.ambient-chart-bars i{
  flex:1;min-height:25px;border:1px solid rgba(194,255,226,.5);
  background:linear-gradient(to top,rgba(37,198,140,.15),rgba(217,255,114,.42));
  border-radius:8px 8px 2px 2px;box-shadow:0 0 22px rgba(37,198,140,.08)
}
.ambient-chart-bars i:nth-child(1){height:34%}.ambient-chart-bars i:nth-child(2){height:57%}.ambient-chart-bars i:nth-child(3){height:45%}.ambient-chart-bars i:nth-child(4){height:78%}.ambient-chart-bars i:nth-child(5){height:100%}
.ambient-token{
  position:absolute;display:grid;place-items:center;border:1px solid rgba(203,255,231,.13);
  background:rgba(6,61,46,.18);backdrop-filter:blur(5px);border-radius:50%;
  color:rgba(221,255,238,.16);font:700 28px var(--font-head);
  box-shadow:inset 0 0 40px rgba(100,244,184,.025),0 0 55px rgba(0,0,0,.08)
}
.ambient-token-a{width:110px;height:110px;left:7vw;top:14vh}
.ambient-token-b{width:72px;height:72px;right:11vw;top:62vh;font-size:20px}
.ambient-token-c{width:150px;height:150px;left:28vw;bottom:-35px;font-size:36px}
.ambient-orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.16;mix-blend-mode:screen}
.ambient-orb-a{width:390px;height:390px;left:-170px;top:58%;background:radial-gradient(circle,rgba(55,230,164,.54),transparent 67%)}
.ambient-orb-b{width:500px;height:500px;right:-220px;top:-190px;background:radial-gradient(circle,rgba(217,255,114,.34),transparent 68%)}
.ambient-ticker{
  position:absolute;left:-8vw;bottom:11vh;display:flex;gap:35px;white-space:nowrap;
  font:600 11px var(--font-head);letter-spacing:.13em;color:rgba(213,255,234,.09);
  transform:rotate(-4deg)
}
.ambient-ticker span:after{content:"↗";margin-left:9px;color:rgba(217,255,114,.18)}

/* Header and navigation */
.site-header{color:#f5fff9}
.site-header.is-scrolled{
  background:rgba(3,38,28,.79);border-bottom:1px solid rgba(206,255,231,.09);
  backdrop-filter:blur(22px) saturate(135%);box-shadow:0 18px 55px rgba(0,15,10,.2)
}
.brand-copy b,.brand-copy small,.login-link{color:#f5fff9}
.brand-symbol span{background:var(--green-2)}
.brand-symbol span:nth-child(3){background:var(--lime);box-shadow:0 0 16px rgba(217,255,114,.35)}
.desktop-nav a{color:rgba(240,255,247,.76)}
.desktop-nav a:hover,.desktop-nav a.is-active{color:#fff}
.desktop-nav a:after{background:linear-gradient(90deg,var(--green-2),var(--lime));box-shadow:0 0 10px rgba(97,238,181,.4)}
.menu-toggle span{background:#f5fff9}
.mobile-menu{background:radial-gradient(circle at 80% 15%,rgba(44,202,143,.2),transparent 30%),#03291f}

/* Buttons with energy */
.button{
  position:relative;overflow:hidden;border-color:rgba(217,255,232,.18);
  background:linear-gradient(135deg,#0b5d46,#087c59);color:#fff;
  box-shadow:0 12px 35px rgba(0,22,15,.22),inset 0 1px rgba(255,255,255,.08)
}
.button:before{
  content:"";position:absolute;inset:-2px auto -2px -55%;width:38%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.24),transparent);
  transform:skewX(-18deg);transition:left .65s ease
}
.button:hover:before{left:125%}
.button:hover{background:linear-gradient(135deg,#19ad7b,#087a58);border-color:rgba(217,255,232,.45);box-shadow:0 18px 45px rgba(0,20,14,.3),0 0 30px rgba(53,221,159,.12)}
.button-light{background:linear-gradient(135deg,#e9ff9b,var(--lime));border-color:var(--lime);color:#042f23;box-shadow:0 12px 40px rgba(217,255,114,.12)}
.button-light:hover{background:#fff;color:#042f23}
.button-outline{background:rgba(255,255,255,.025);color:#effff7;border-color:rgba(214,255,235,.2)}
.button-dark{background:linear-gradient(135deg,#0c6a4e,#063d2f)}
.line-link,.text-link{color:#eafff4}
.play{border-color:rgba(220,255,238,.2);background:rgba(255,255,255,.035)}

/* Hero */
.home-hero{
  background:
    radial-gradient(circle at 84% 20%,rgba(85,232,176,.18),transparent 29%),
    radial-gradient(circle at 28% 80%,rgba(217,255,114,.055),transparent 28%),
    linear-gradient(135deg,#042f23 0%,#063b2e 54%,#03281e 100%)
}
.hero-grid-bg{
  background-image:linear-gradient(rgba(217,255,235,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(217,255,235,.05) 1px,transparent 1px);
  mask-image:linear-gradient(to right,#000,transparent 88%);opacity:.75
}
.orb-one{background:rgba(217,255,99,.11);filter:blur(20px)}
.orb-two{background:rgba(24,200,139,.13);filter:blur(20px)}
.hero-copy>p{color:#bdd6cc}
.trust-line{color:#9ebdb1}
.avatars i{border-color:#06392c}
.visual-frame{border:1px solid rgba(211,255,235,.12);box-shadow:0 40px 120px rgba(0,13,9,.48),0 0 70px rgba(40,211,150,.08)}
.visual-frame:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);pointer-events:none}
.image-shade{background:linear-gradient(to top,rgba(2,28,20,.82),rgba(2,28,20,.05) 58%)}
.floating-card{background:rgba(4,48,36,.76);border:1px solid rgba(211,255,234,.13);color:#fff;box-shadow:0 24px 65px rgba(0,12,8,.34)}
.card-return span,.card-return small,.card-impact small{color:#abcabe}
.card-return strong{color:var(--lime)}
.card-impact>svg{color:var(--green-2)}
.scroll-hint{color:rgba(236,255,246,.63)}

/* Dark glass surfaces */
.project-card,.article-card,.contact-form-card,.modal-card,.project-summary-card,.info-grid article,.financial-placeholder,.team-placeholder,.dashboard-preview{
  position:relative;
  background:linear-gradient(145deg,rgba(10,69,53,.88),rgba(4,44,33,.9));
  border:1px solid rgba(205,255,232,.11);
  color:#f3fff8;
  box-shadow:0 20px 65px rgba(0,14,9,.19),inset 0 1px rgba(255,255,255,.035)
}
.project-card:before,.article-card:before,.contact-form-card:before,.project-summary-card:before{
  content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.055),transparent 30%,transparent 68%,rgba(113,255,193,.035));
  opacity:.55
}
.project-card:hover,.article-card:hover{box-shadow:0 35px 95px rgba(0,12,8,.42),0 0 45px rgba(52,222,159,.08);border-color:rgba(137,255,203,.23)}
.project-card-body,.article-body{position:relative;z-index:3}
.project-kicker,.article-body>span,.article-body small{color:var(--green-2)}
.project-card p,.article-card p,.project-meta span{color:#a9c8bc}
.project-arrow{background:rgba(217,255,114,.09);border-color:rgba(217,255,114,.2);color:var(--lime)}
.progress{background:rgba(255,255,255,.08)}
.progress i{background:linear-gradient(90deg,var(--green-2),var(--lime));box-shadow:0 0 18px rgba(97,238,181,.18)}
.feature-panel{border-color:rgba(219,255,238,.12)}
.feature-panel:hover{background:linear-gradient(90deg,rgba(20,110,82,.22),rgba(255,255,255,.015))}
.feature-icon{background:rgba(97,238,181,.08);color:var(--green-2);border:1px solid rgba(97,238,181,.15)}
.impact-points strong{color:#f5fff9}
.impact-badge{background:linear-gradient(135deg,var(--lime),#aef6c8);color:#042f23;box-shadow:0 20px 55px rgba(0,20,13,.34)}

/* Metrics / process / values */
.metrics-strip{background:rgba(1,26,19,.72);border-top:1px solid rgba(213,255,235,.08);border-bottom:1px solid rgba(213,255,235,.08);backdrop-filter:blur(16px)}
.metric{border-color:rgba(255,255,255,.1)}
.metric strong{color:#fff}
.metric p{color:#9dbfb2}
.metric-arrow{color:var(--lime)}
.steps-track:before,.process-timeline:before{background:rgba(217,255,232,.12)}
.step-item,.process-row,.values-grid article,.role-grid article{border-color:rgba(221,255,239,.12)}
.step-item>span,.process-number,.values-grid span{color:var(--green-2)}
.process-icon{background:rgba(87,238,177,.08);border-color:rgba(87,238,177,.16);color:var(--green-2)}
.values-grid{border-color:rgba(221,255,239,.12)}

/* Page heroes / catalog / detail */
.page-hero,.about-hero,.academy-hero,.faq-hero,.legal-hero,.projects-hero,.process-hero{
  background:
    radial-gradient(circle at 80% 10%,rgba(73,224,164,.14),transparent 32%),
    linear-gradient(145deg,#042f23,#073b2e 64%,#03271d)
}
.page-hero p,.about-hero p,.academy-hero p{color:#b4d0c5}
.catalog-toolbar,.academy-toolbar{border-color:rgba(220,255,238,.12)}
.filters button{
  background:rgba(255,255,255,.025);border-color:rgba(217,255,234,.14);color:#cce4da
}
.filters button.is-active,.filters button:hover{background:linear-gradient(135deg,#25c68c,#118660);color:#042f23;border-color:transparent;box-shadow:0 9px 25px rgba(0,18,12,.2)}
.compare-band{background:linear-gradient(110deg,#0a7455,#0b4b3a);border-block:1px solid rgba(213,255,235,.12)}
.project-detail-hero{background:linear-gradient(145deg,#042f23,#063a2c)}
.project-summary-card{background:rgba(5,49,37,.86);color:#f4fff9}
.summary-return strong{color:var(--lime)}
.project-tabs{border-color:rgba(219,255,237,.13)}
.project-tabs button{color:#9fbbb0}
.project-tabs button.is-active{color:#fff;border-color:var(--green-2)}
.info-grid article,.financial-placeholder{background:rgba(8,61,47,.62)}
.info-grid svg,.document-list a>svg:first-child{color:var(--green-2)}
.document-list a{border-color:rgba(218,255,237,.13);background:rgba(255,255,255,.018)}
.document-list a:hover{background:rgba(97,238,181,.06);border-color:rgba(97,238,181,.24)}
.calculator-card{background:linear-gradient(145deg,#03271e,#096047);border:1px solid rgba(202,255,230,.12);box-shadow:var(--shadow)}
.calculator-card input[type=range]{accent-color:var(--lime)}
.calc-breakdown{border-color:rgba(255,255,255,.12)}

/* Academy / FAQ / contact / auth */
.article-visual{background:#073d30}
.academy-sphere{background:radial-gradient(circle at 36% 30%,rgba(217,255,114,.28),rgba(38,198,139,.15) 35%,rgba(4,48,36,.3) 70%);box-shadow:0 0 90px rgba(38,206,146,.11),inset 0 0 80px rgba(255,255,255,.025)}
.sphere-grid{opacity:.22}
.search-field{border-color:rgba(216,255,236,.14);background:rgba(255,255,255,.02)}
.search-field input{color:#fff}
.search-field input::placeholder{color:#86a99c}
.faq-list,.faq-item{border-color:rgba(218,255,237,.13)}
.faq-item button{color:#f2fff8}
.faq-item button>span{color:var(--green-2)}
.contact-section{background:radial-gradient(circle at 76% 40%,rgba(53,218,156,.13),transparent 30%),linear-gradient(120deg,#042f23 0 48%,#06392d 48%)}
.contact-data svg{color:var(--green-2)}
.contact-form-card{background:rgba(5,51,39,.86)}
.auth-page{background:#042f23}
.auth-visual{background:radial-gradient(circle at 70% 20%,rgba(62,224,163,.15),transparent 32%),#03291f}
.auth-form-wrap{background:linear-gradient(150deg,#063a2e,#042f23)}
.auth-grid-lines{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)}
.auth-options a,.auth-register a,.legal-content a{color:var(--green-2)}
.google-button{background:rgba(255,255,255,.035);color:#fff;border-color:rgba(220,255,238,.14)}
.auth-divider:before,.auth-divider:after{background:rgba(220,255,238,.12)}

/* Form controls */
input,select,textarea{
  background:rgba(2,34,25,.62);color:#f2fff8;border-color:rgba(213,255,234,.15)
}
input::placeholder,textarea::placeholder{color:#78998d}
input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 4px rgba(62,230,167,.1);background:rgba(2,34,25,.85)}
select option{background:#06392d;color:#fff}
.checkbox span{color:#a9c7bb}
.success-state svg{color:var(--green-2)}
.modal-card{background:linear-gradient(145deg,#084735,#03291f)}
.modal-card>button{color:#fff}

/* Footer */
.final-cta{background:radial-gradient(circle at 80% 50%,rgba(75,235,173,.17),transparent 30%),linear-gradient(130deg,#021d16,#07503b)}
.site-footer{background:linear-gradient(180deg,#031f18,#021711);border-top:1px solid rgba(219,255,238,.08)}
.footer-grid h4{color:var(--lime)}
.footer-grid a,.footer-grid p{color:rgba(230,255,243,.59)}
.footer-grid a:hover{color:#fff}
.footer-bottom,.footer-signature{border-color:rgba(218,255,237,.1)}
.footer-socrates img{filter:drop-shadow(0 0 24px rgba(255,255,255,.08))}

/* Floating controls */
.floating-whatsapp,.back-to-top{
  position:fixed;z-index:400;bottom:26px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(225,255,240,.19);box-shadow:0 18px 55px rgba(0,15,10,.36);
  backdrop-filter:blur(15px);transition:transform .35s,opacity .35s,box-shadow .35s,background .35s
}
.floating-whatsapp{
  left:25px;min-height:58px;padding:0 19px 0 16px;gap:10px;border-radius:999px;
  color:#f4fff8;background:linear-gradient(135deg,rgba(13,152,93,.92),rgba(6,103,72,.92));
  font-weight:700;font-size:13px
}
.floating-whatsapp svg{width:25px;height:25px;fill:currentColor}
.floating-whatsapp:after{content:"";position:absolute;inset:-6px;border:1px solid rgba(78,239,172,.25);border-radius:inherit;animation:whatsappPulse 2.2s ease-out infinite}
.floating-whatsapp:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 24px 65px rgba(0,15,10,.43),0 0 35px rgba(47,226,153,.15)}
.back-to-top{
  --scroll:0deg;right:25px;width:58px;height:58px;padding:0;border-radius:50%;color:#fff;cursor:pointer;
  background:conic-gradient(var(--lime) var(--scroll),rgba(255,255,255,.09) 0);
  opacity:0;visibility:hidden;transform:translateY(16px);border:0
}
.back-to-top:before{content:"";position:absolute;inset:3px;border-radius:50%;background:#063b2d;border:1px solid rgba(221,255,239,.12)}
.back-to-top svg{position:relative;z-index:2;width:20px}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(0,13,9,.44),0 0 30px rgba(217,255,114,.13)}

/* Extra motion polish */
.project-image-wrap,.impact-media,.project-detail-image,.article-visual{overflow:hidden}
.project-image-wrap img,.impact-media img,.project-detail-image img{transition:transform 1.1s cubic-bezier(.2,.75,.25,1),filter .8s}
.project-card:hover img,.impact-media:hover img,.project-detail-image:hover img{transform:scale(1.07);filter:saturate(1.08) contrast(1.03)}
.hero-marquee{color:rgba(235,255,245,.08);text-shadow:none}
.noise{opacity:.055}
.reveal{will-change:transform,opacity}

@keyframes fidusGridDrift{to{background-position:72px 72px}}
@keyframes whatsappPulse{0%{transform:scale(.94);opacity:.8}80%,100%{transform:scale(1.22);opacity:0}}
@keyframes softFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}
.ambient-token{animation:softFloat 8s ease-in-out infinite}.ambient-token-b{animation-delay:-2s}.ambient-token-c{animation-delay:-5s}

@media(max-width:780px){
  body:before{background-size:48px 48px}
  .ambient-market-graph{width:115vw;right:-55vw;top:15vh;opacity:.1}
  .ambient-chart-bars{left:-30px;top:55vh;opacity:.08}
  .ambient-token-a{left:-45px;top:18vh}.ambient-token-b{right:-25px}.ambient-token-c{display:none}
  .section:after{width:calc(100% - 30px)}
  .contact-section{background:radial-gradient(circle at 70% 35%,rgba(53,218,156,.12),transparent 30%),linear-gradient(180deg,#042f23 0 48%,#06392d 48%)}
  .floating-whatsapp{left:14px;bottom:14px;width:54px;height:54px;min-height:54px;padding:0;border-radius:50%}
  .floating-whatsapp span{display:none}
  .back-to-top{right:14px;bottom:14px;width:54px;height:54px}
}

@media(prefers-reduced-motion:reduce){
  body:before,.ambient-token,.floating-whatsapp:after{animation:none!important}
  .investment-atmosphere{display:none}
}

/* Final contrast refinements */
.article-visual{color:var(--green-2)}
.person-node{background:linear-gradient(135deg,var(--mint),var(--lime));border-color:#07392d;color:#042f23}
.risk-circle{background:radial-gradient(circle,rgba(97,238,181,.16),rgba(4,47,35,.18) 68%);border-color:rgba(218,255,237,.15);box-shadow:inset 0 0 60px rgba(97,238,181,.04),0 20px 70px rgba(0,14,9,.16)}
.risk-circle strong,.about-mini-stats strong{color:var(--green-2)}

/* ==========================================================
   V1.4 · Stable cards + administrator-controlled logo sizing
   ========================================================== */
.site-header .brand{--brand-height:var(--logo-header-height,42px);gap:calc(var(--brand-height)*.27)}
.site-footer .brand-footer{--brand-height:var(--logo-footer-height,48px);gap:calc(var(--brand-height)*.27)}
.site-header .brand-symbol,.site-footer .brand-footer .brand-symbol{height:var(--brand-height);gap:calc(var(--brand-height)*.08);align-items:flex-end}
.site-header .brand-symbol span,.site-footer .brand-footer .brand-symbol span{width:calc(var(--brand-height)*.205);border-radius:calc(var(--brand-height)*.14)}
.site-header .brand-symbol span:nth-child(1),.site-footer .brand-footer .brand-symbol span:nth-child(1){height:56%}
.site-header .brand-symbol span:nth-child(2),.site-footer .brand-footer .brand-symbol span:nth-child(2){height:82%}
.site-header .brand-symbol span:nth-child(3),.site-footer .brand-footer .brand-symbol span:nth-child(3){height:100%}
.site-header .brand-copy,.site-footer .brand-footer .brand-copy{line-height:.82}
.site-header .brand-copy b,.site-footer .brand-footer .brand-copy b{font-size:calc(var(--brand-height)*.61)}
.site-header .brand-copy small,.site-footer .brand-footer .brand-copy small{font-size:calc(var(--brand-height)*.225);margin-top:calc(var(--brand-height)*.17)}
.loader-mark{height:var(--logo-loader-height,55px);gap:calc(var(--logo-loader-height,55px)*.09)}
.loader-mark i{width:calc(var(--logo-loader-height,55px)*.165);border-radius:calc(var(--logo-loader-height,55px)*.11)}
.loader-mark i:nth-child(1){height:51%}.loader-mark i:nth-child(2){height:80%}.loader-mark i:nth-child(3){height:100%}
.footer-socrates img{height:var(--logo-socrates-height,80px)!important;width:auto!important;max-width:min(92vw,720px);object-fit:contain}

/* Cards use one transform owner. This prevents Chrome/GPU compositing from
   blanking an entire grid when hover and scroll animations overlap. */
.project-card,.article-card{
  opacity:1;
  visibility:visible;
  transform:none;
  transform-style:flat;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform,box-shadow;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,border-color .42s;
  isolation:isolate;
}
.project-card:hover,.article-card:hover{transform:translate3d(0,-9px,0)}
.project-card::before,.article-card::before{transform:translateZ(0)}
.project-card-body,.article-body,.project-image-wrap,.article-visual{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.project-card.is-hidden,.article-card.is-hidden{display:none!important}

@media(max-width:780px){
  .site-header .brand{--brand-height:var(--logo-mobile-height,36px)}
  .project-card:hover,.article-card:hover{transform:none}
}

@keyframes loadmark{to{height:25%;opacity:.45}}



/* ==========================================================
   FIDUS V1.5 · Sistema global de iconos outline
   ========================================================== */
:where(.site-header,.mobile-menu,.site-footer,main,.investment-modal) [data-lucide],
:where(.site-header,.mobile-menu,.site-footer,main,.investment-modal) svg.lucide{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.desktop-nav a{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.desktop-nav a>svg{
  width:16px;
  height:16px;
  opacity:.72;
  transition:opacity .25s ease,transform .25s ease,color .25s ease;
}
.desktop-nav a:hover>svg,.desktop-nav a.is-active>svg{
  opacity:1;
  color:var(--lime);
  transform:translateY(-1px);
}
.menu-toggle{
  width:46px;
  height:46px;
  padding:0;
  display:none;
  place-items:center;
  border:1px solid rgba(220,255,238,.16);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  color:#f5fff9;
}
.menu-toggle svg{width:22px;height:22px}
.mobile-menu-inner>a{
  display:flex;
  align-items:center;
  gap:14px;
}
.mobile-menu-inner>a>svg{
  width:24px;
  height:24px;
  color:var(--green-2);
}
.mobile-menu-actions .button{gap:10px}
.mobile-menu-actions .button svg{width:18px;height:18px}
.button>svg{
  position:relative;
  z-index:1;
  width:18px;
  height:18px;
  transition:transform .3s ease;
}
.button:hover>svg{transform:translateX(2px) scale(1.05)}
.button>span:not([class]):first-child:last-child{position:relative;z-index:1}
.filters button,.project-tabs button,.google-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.filters button>svg{width:16px;height:16px;stroke-width:1.9}
.project-tabs button>svg{width:17px;height:17px}
.google-button>svg{width:18px;height:18px;color:var(--green-2)}
.line-link,.article-body a,.auth-options a,.auth-register a,.inline-icon-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.line-link>svg,.article-body a>svg,.auth-options a>svg,.auth-register a>svg,.inline-icon-link>svg{
  width:16px;
  height:16px;
}
.project-card h3 a{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.project-card h3 a>svg{
  width:18px;
  height:18px;
  margin-top:4px;
  color:var(--green-2);
  opacity:.7;
  transition:transform .3s ease,opacity .3s ease;
}
.project-card:hover h3 a>svg{opacity:1;transform:translate(3px,-3px)}
.footer-grid>div:not(.footer-brand)>a{
  display:flex;
  align-items:center;
  gap:9px;
}
.footer-grid>div:not(.footer-brand)>a>svg,
.footer-grid>div:not(.footer-brand)>p>svg{
  width:16px;
  height:16px;
  color:var(--green-2);
  opacity:.82;
}
.footer-grid>div:not(.footer-brand)>p{
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.footer-grid>div:not(.footer-brand)>p>svg{margin-top:4px}
.password-field button{display:grid;place-items:center;color:var(--green-2)}
.faq-item button>svg{width:20px;height:20px}
.back-link,.contact-data>a,.document-list a{gap:10px}
.modal-card>.button{display:inline-flex}
@media(max-width:1100px){.menu-toggle{display:grid}}
@media(max-width:780px){
  .filters button{gap:6px}
  .filters button>svg{width:15px;height:15px}
  .mobile-menu-inner>a>svg{width:21px;height:21px}
}

/* FIDUS V1.6 · Etiquetas de estado con contraste AA */
.project-status{
  z-index:4;
  background:#d9ff63!important;
  color:#042f23!important;
  border:1px solid rgba(255,255,255,.5)!important;
  box-shadow:0 10px 30px rgba(0,24,16,.32)!important;
  text-shadow:none!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-weight:800!important;
  letter-spacing:.015em;
}
.project-card:hover .project-status{background:#f0ffad!important;color:#03271d!important}

/* ==========================================================
   FIDUS Capital V1.7 · Tema editable desde FIDUS Manager
   ========================================================== */
html,body{background:var(--theme-bg);color:var(--theme-text)}
body{font-size:var(--base-font-size)}
p{color:var(--theme-muted)}
h1{font-size:clamp(calc(54px * var(--heading-scale)),calc(7vw * var(--heading-scale)),calc(112px * var(--heading-scale)))}
h2{font-size:clamp(calc(42px * var(--heading-scale)),calc(5vw * var(--heading-scale)),calc(76px * var(--heading-scale)))}
.button{border-radius:var(--button-radius)}
.project-card,.article-card,.contact-form-card,.modal-card,.project-summary-card,.info-grid article,.financial-placeholder,.team-placeholder,.dashboard-preview,.feature-panel{border-radius:var(--radius)}
body:before{background-color:var(--theme-bg)}
.home-hero{background:radial-gradient(circle at 80% 12%,color-mix(in srgb,var(--theme-accent) 14%,transparent),transparent 28%),linear-gradient(135deg,var(--theme-bg),color-mix(in srgb,var(--theme-bg) 82%,var(--theme-primary) 18%))}
.section-soft{background:color-mix(in srgb,var(--theme-surface) 72%,var(--theme-bg))}
.section-dark{background:var(--theme-deep)}
.metrics-strip{background:color-mix(in srgb,var(--theme-deep) 90%,transparent)}
.project-card,.article-card,.contact-form-card,.project-summary-card,.info-grid article,.financial-placeholder,.team-placeholder,.dashboard-preview{background:linear-gradient(145deg,color-mix(in srgb,var(--theme-card) 92%,white 8%),var(--theme-card));border-color:color-mix(in srgb,var(--theme-border) 58%,transparent);color:var(--theme-text)}
.feature-panel,.values-grid article,.role-grid article{border-color:color-mix(in srgb,var(--theme-border) 55%,transparent)}
.project-card p,.article-card p,.project-meta span,.page-hero p,.about-hero p,.academy-hero p,.checkbox span{color:var(--theme-muted)}
.project-kicker,.article-body>span,.article-body small,.feature-icon,.process-icon,.info-grid svg,.contact-data svg{color:var(--theme-primary-soft)}
.project-status{display:inline-flex;align-items:center;gap:7px;background:var(--theme-accent)!important;color:var(--theme-deep)!important;border-color:color-mix(in srgb,var(--theme-accent) 65%,white 35%)!important}
.project-status svg{width:14px;height:14px}
.project-video-badge{position:absolute;z-index:3;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--theme-text) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--theme-deep) 82%,transparent);color:var(--theme-text);backdrop-filter:blur(12px);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.project-video-badge svg{width:12px;height:12px;fill:currentColor}
.progress i{background:linear-gradient(90deg,var(--theme-primary-soft),var(--theme-accent))}
.page-hero,.about-hero,.academy-hero,.faq-hero,.legal-hero,.projects-hero,.process-hero{background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--theme-primary) 18%,transparent),transparent 32%),linear-gradient(145deg,var(--theme-bg),color-mix(in srgb,var(--theme-bg) 75%,var(--theme-surface) 25%) 64%,var(--theme-deep))}
.final-cta{background:radial-gradient(circle at 80% 50%,color-mix(in srgb,var(--theme-primary) 22%,transparent),transparent 30%),linear-gradient(130deg,var(--theme-deep),color-mix(in srgb,var(--theme-bg) 60%,var(--theme-primary) 40%))}
.site-footer{background:linear-gradient(180deg,var(--theme-deep),color-mix(in srgb,var(--theme-deep) 86%,black 14%));border-top-color:color-mix(in srgb,var(--theme-border) 30%,transparent)}
.contact-section{background:radial-gradient(circle at 76% 40%,color-mix(in srgb,var(--theme-primary) 17%,transparent),transparent 30%),linear-gradient(120deg,var(--theme-bg) 0 48%,var(--theme-surface) 48%)}
.auth-page,.auth-visual{background:var(--theme-bg)}.auth-form-wrap{background:linear-gradient(150deg,var(--theme-surface),var(--theme-bg))}
input,select,textarea{background:color-mix(in srgb,var(--theme-deep) 72%,transparent);color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-border) 55%,transparent)}
input:focus,select:focus,textarea:focus{border-color:var(--theme-primary-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary) 15%,transparent)}
select option{background:var(--theme-surface);color:var(--theme-text)}
.floating-whatsapp{background:linear-gradient(135deg,color-mix(in srgb,#25d366 82%,var(--theme-primary) 18%),color-mix(in srgb,#075e54 72%,var(--theme-bg) 28%))}
.back-to-top{background:conic-gradient(var(--theme-accent) var(--scroll),color-mix(in srgb,var(--theme-text) 9%,transparent) 0)}.back-to-top:before{background:var(--theme-surface)}
.market-line{stroke:url(#marketStroke)}.market-area{fill:url(#marketGlow)}
.brand-custom{display:inline-flex;align-items:center}.brand-custom .brand-image{height:var(--logo-header-height);width:auto;max-width:min(260px,28vw);object-fit:contain}.brand-footer.brand-custom .brand-image{height:var(--logo-footer-height);max-width:280px}.page-loader .brand-image-loader{height:var(--logo-loader-height);width:auto;max-width:min(320px,70vw);object-fit:contain}.footer-socrates img{height:var(--logo-socrates-height);width:auto}
.hero-main-video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.step-item-icon{display:grid;place-items:center;width:44px;height:44px;margin:13px 0;border:1px solid color-mix(in srgb,var(--theme-primary-soft) 25%,transparent);border-radius:50%;background:color-mix(in srgb,var(--theme-primary) 10%,transparent);color:var(--theme-primary-soft)}.step-item-icon svg{width:20px;height:20px}
.article-visual[style]{background-position:center;background-size:cover}
.no-background-graphics .investment-atmosphere{display:none!important}.no-custom-cursor .cursor-dot,.no-custom-cursor .cursor-ring{display:none!important}.no-custom-cursor{cursor:auto}.no-parallax [data-parallax]{transform:none!important}
@media(max-width:780px){.brand-custom .brand-image{height:var(--logo-mobile-height);max-width:180px}.brand-footer.brand-custom .brand-image{height:var(--logo-footer-height)}.project-video-badge{left:12px;bottom:12px}}
.project-detail-image video{width:100%;height:100%;object-fit:cover;display:block}.detail-video-label{position:absolute;z-index:3;left:30px;bottom:30px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--theme-text) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--theme-deep) 78%,transparent);color:var(--theme-text);backdrop-filter:blur(12px);font-size:11px;font-weight:700}.detail-video-label svg{width:14px;fill:currentColor}.team-photo{overflow:hidden;border-radius:var(--radius);min-height:430px;box-shadow:var(--shadow)}.team-photo img{width:100%;height:100%;object-fit:cover}.auth-form-wrap>.brand-custom img{height:var(--logo-header-height)}
