/* Self-hosted fonts — generated automatically */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuQ.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuQ.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1z3bWuQ.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/xn7gYHE41ni1AdIRggexSg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--green-primary:#8CC63F;--green-dark:#7AB234;--green-darker:#5E8C25;--green-light:#B4E17C;--green-soft:rgba(140, 198, 63, 0.1);--green-glow:rgba(140, 198, 63, 0.35);--primary-400:#B4E17C;--primary-500:#8CC63F;--primary-600:#7AB234;--dark-950:#05080F;--dark-900:#0B1018;--dark-800:#121A28;--dark-700:#1C2636;--dark-600:#2A384E;--dark-500:#374151;--gray-500:#6B7280;--gray-400:#9CA3AF;--gray-300:#D1D5DB;--gray-200:#E5E7EB;--gray-100:#F3F4F6;--gray-50:#F9FAFB;--light-50:#F9FAFB;--light-100:#F3F4F6;--white:#FFFFFF;--text-heading:#121A28;--text-body:#2A384E;--text-muted:#6B7280;--text-light:#9CA3AF;--accent-gold:#D4AF37;--success:#22C55E;--warning:#F59E0B;--danger:#EF4444;--font-heading:'Barlow Condensed',sans-serif;--font-body:'Manrope',sans-serif;--fs-xs:clamp(0.7rem, 0.7vh + 0.5rem, 0.75rem);--fs-sm:clamp(0.75rem, 0.75vw + 0.5rem, 0.875rem);--fs-base:clamp(0.875rem, 0.8vw + 0.5rem, 1rem);--fs-md:clamp(1rem, 0.9vw + 0.6rem, 1.125rem);--fs-lg:clamp(1.125rem, 1vw + 0.6rem, 1.25rem);--fs-xl:clamp(1.25rem, 1.2vw + 0.7rem, 1.5rem);--fs-2xl:clamp(1.5rem, 1.5vw + 0.8rem, 1.875rem);--fs-3xl:clamp(1.875rem, 2vw + 1rem, 2.25rem);--fs-4xl:clamp(2.25rem, 2.5vw + 1.2rem, 3rem);--fs-5xl:clamp(3rem, 3.5vw + 1.2rem, 3.75rem);--fs-6xl:3.75rem;--fs-7xl:4.5rem;--space-1:clamp(0.25rem, 0.24rem + 0.04vw, 0.3125rem);--space-2:clamp(0.5rem, 0.48rem + 0.09vw, 0.625rem);--space-3:clamp(0.75rem, 0.73rem + 0.13vw, 0.9375rem);--space-4:clamp(1rem, 0.96rem + 0.18vw, 1.25rem);--space-5:clamp(1.25rem, 1.21rem + 0.22vw, 1.5625rem);--space-6:clamp(1.5rem, 1.43rem + 0.36vw, 2rem);--space-8:clamp(2rem, 1.91rem + 0.45vw, 2.625rem);--space-10:clamp(2.5rem, 2.36rem + 0.71vw, 3.5rem);--space-12:clamp(3rem, 2.79rem + 1.07vw, 4.5rem);--space-16:clamp(4rem, 3.71rem + 1.43vw, 6rem);--space-20:clamp(5rem, 4.64rem + 1.79vw, 7.5rem);--space-24:clamp(6rem, 5.57rem + 2.14vw, 9rem);--space-32:clamp(8rem, 7.43rem + 2.86vw, 12rem);--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px oklch(0% 0 0 / 0.04),0 1px 3px oklch(0% 0 0 / 0.08);--shadow-md:0 4px 6px -1px oklch(15% 0.02 245 / 0.06),0 2px 4px -2px oklch(15% 0.02 245 / 0.06);--shadow-lg:0 12px 24px -4px oklch(10% 0.03 245 / 0.08),0 4px 12px -6px oklch(10% 0.03 245 / 0.08);--shadow-xl:0 24px 48px -12px oklch(5% 0.04 245 / 0.12),0 12px 24px -8px oklch(5% 0.04 245 / 0.1);--shadow-2xl:0 32px 64px -12px oklch(0% 0 0 / 0.15),0 16px 32px -8px oklch(0% 0 0 / 0.12);--shadow-green:0 10px 40px oklch(65% 0.15 130 / 0.25);--shadow-green-lg:0 20px 60px oklch(65% 0.15 130 / 0.2);--transition-fast:150ms cubic-bezier(0.16, 1, 0.3, 1);--transition-base:300ms cubic-bezier(0.22, 1, 0.36, 1);--transition-slow:500ms cubic-bezier(0.16, 1, 0.3, 1);--transition-spring:600ms cubic-bezier(0.34, 1.56, 0.1, 1.05);--container-max:1280px;--container-wide:1440px;--header-height:80px}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}html{background-color:var(--dark-900)}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;color:var(--text-body);background-color:#fdfdfd;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.15;font-weight:700;color:var(--dark-900)}h1{font-size:clamp(2.5rem, 5vw + 1rem, 4.5rem);font-weight:800}h2{font-size:clamp(2rem, 3.5vw + .8rem, 3.25rem);font-weight:700;margin-bottom:1.25rem}h3{font-size:clamp(1.4rem, 2vw + .5rem, 2rem);font-weight:700;margin-bottom:0.75rem}h4{font-size:clamp(1.1rem, 1.2vw + .4rem, 1.4rem);font-weight:600}.skip-nav{position:absolute;top:-100%;left:var(--space-6);z-index:9999;padding:var(--space-3) var(--space-6);background:var(--green-primary);color:var(--white);font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--transition-fast)}.skip-nav:focus{top:0}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-6)}.section-padding{padding:var(--space-10) 0}.section-light{background:var(--light-50)}.section-dark{background:var(--dark-900)}.text-green{color:var(--green-primary)}.text-white{color:var(--white)}.text-muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:rgba(140,198,63,.1);border:1px solid rgba(140,198,63,.25);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;color:var(--green-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-6)}.section-badge--dark{background:rgba(140,198,63,.08);border-color:rgba(140,198,63,.2);color:var(--green-primary)}.section-badge--alert{background:rgba(14,165,233,.1);color:#0369A1;border-color:rgba(14,165,233,.25)}.section-title{font-size:clamp(1.75rem, 3vw, 2.5rem);font-weight:800;margin-bottom:var(--space-6);letter-spacing:-.025em;line-height:1.1;color:var(--dark-900)}.section-subtitle{font-size:var(--fs-md);color:var(--text-muted);max-width:640px;margin:0 auto;line-height:1.8}.section-dark .section-title{color:var(--white)}.section-dark .section-subtitle{color:var(--gray-300)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap}.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0,transparent 50%);opacity:0;transition:opacity var(--transition-base)}.btn:hover::before{opacity:1}.btn:focus-visible{outline:3px solid var(--green-primary);outline-offset:3px}.btn-sm{padding:.6rem 1.25rem;font-size:.875rem}.btn-primary{background:linear-gradient(135deg,var(--green-primary) 0,var(--green-dark) 100%);color:var(--white);box-shadow:0 4px 14px rgba(140,198,63,.35)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(140,198,63,.45)}.btn-secondary{background:rgba(255,255,255,.08);color:var(--white);border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(8px)}.btn-secondary:hover{background:rgba(255,255,255,.15);border-color:var(--green-primary);color:var(--green-light);transform:translateY(-2px)}.btn-outline{background:0 0;color:var(--green-primary);border:2px solid var(--green-primary)}.btn-outline:hover{background:var(--green-primary);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 25px rgba(140,198,63,.35)}.btn-outline-light{background:0 0;color:var(--white);border:2px solid rgba(255,255,255,.5)}.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:var(--white);transform:translateY(-2px)}.btn-phone{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:rgba(255,255,255,.12);color:var(--white);border:1.5px solid rgba(255,255,255,.3);border-radius:var(--radius-md);font-weight:700;font-size:var(--fs-lg);font-family:var(--font-body);cursor:pointer;backdrop-filter:blur(8px);transition:all var(--transition-base)}.btn-phone:hover{background:rgba(255,255,255,.2);border-color:var(--green-primary);transform:translateY(-2px)}.btn-phone svg{flex-shrink:0}.btn-lg{padding:var(--space-5) var(--space-10);font-size:var(--fs-lg);border-radius:var(--radius-lg)}.btn-icon{font-size:1.2em;transition:transform var(--transition-base)}.btn:hover .btn-icon{transform:translateX(4px)}.trust-bar{background:0 0;color:var(--gray-300);padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.1);overflow:hidden;transition:background .35s ease,border-color .35s ease}.header.scrolled .trust-bar{background:var(--dark-900);border-bottom-color:rgba(255,255,255,.06)}.trust-bar-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}.trust-bar-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 1.5rem;font-size:.82rem;font-weight:500;letter-spacing:.01em;color:var(--gray-300);white-space:nowrap}.trust-bar-item svg{flex-shrink:0;color:var(--green-primary)}.trust-bar-sep{display:block;width:1px;height:1rem;background:rgba(255,255,255,.15);flex-shrink:0}.header{position:fixed;top:0;left:0;right:0;z-index:1100;padding:0;transition:background .35s ease,box-shadow .35s ease,padding .25s ease;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0,rgba(0,0,0,.15) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.header.scrolled{background:rgba(255,255,255,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.07),0 8px 32px rgba(0,0,0,.08);padding:var(--space-3) 0}.header:not(.scrolled) .logo img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.logo-color{display:none}.header.scrolled .logo-white{display:none}.header.scrolled .logo-color{display:block}.header:not(.scrolled) .nav-link{color:rgba(255,255,255,.88)}.header:not(.scrolled) .nav-link.active,.header:not(.scrolled) .nav-link:hover{color:#fff;background:rgba(255,255,255,.12)}.header:not(.scrolled) .nav-chevron{color:rgba(255,255,255,.5)}.header:not(.scrolled) .has-dropdown.dropdown-open .nav-chevron,.header:not(.scrolled) .has-dropdown:hover .nav-chevron{color:var(--green-light)}.header:not(.scrolled) .nav-cta{border-color:rgba(255,255,255,.65);color:#fff!important}.header:not(.scrolled) .nav-cta:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff!important;box-shadow:none}.header:not(.scrolled) .mobile-toggle{border-color:rgba(255,255,255,.3)}.header:not(.scrolled) .mobile-toggle span{background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;transition:padding .25s ease}.header.scrolled .header-inner{padding:var(--space-3) 0}.logo{display:flex;align-items:center;gap:var(--space-3);z-index:1001;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .08));transition:transform var(--transition-fast)}.logo:hover{transform:translateY(-1px)}.logo img{height:38px;width:auto}.nav-list{display:flex;align-items:center;gap:var(--space-2);list-style:none}.nav-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--dark-700);letter-spacing:.06em;text-transform:uppercase;position:relative;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link.active,.nav-link:hover{color:var(--green-dark);background:rgba(140,198,63,.08)}.nav-chevron{width:14px;height:14px;flex-shrink:0;transition:transform .25s ease,color .2s ease;color:var(--gray-400)}.has-dropdown.dropdown-open .nav-chevron,.has-dropdown:hover .nav-chevron{transform:rotate(180deg);color:var(--green-primary)}.nav-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:0 0;color:var(--green-primary)!important;border:2px solid var(--green-primary);border-radius:var(--radius-sm);font-weight:700;font-size:var(--fs-sm);letter-spacing:.02em;text-transform:uppercase;transition:all var(--transition-base)}.nav-cta:hover{background:rgba(140,198,63,.1);border-color:var(--green-dark);color:var(--green-dark)!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(140,198,63,.15)}.nav-cta-arrow{width:14px;height:14px;flex-shrink:0;transition:transform .2s ease}.nav-cta:hover .nav-cta-arrow{transform:translateX(3px)}.has-dropdown{position:relative}.sub-nav{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--white);min-width:220px;border-radius:var(--radius-lg);padding:var(--space-2);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s .35s;box-shadow:0 4px 6px -1px rgba(0,0,0,.06),0 20px 48px rgba(0,0,0,.13);list-style:none;display:flex;flex-direction:column;z-index:1000;border-top:3px solid var(--green-primary);pointer-events:none}.sub-nav.mega{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-4);min-width:500px}.sub-nav::before{content:'';position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:6px solid var(--green-primary)}.sub-nav::after{content:'';position:absolute;top:-20px;left:-20px;width:calc(100% + 40px);height:22px}.has-dropdown:focus-within .sub-nav,.has-dropdown:hover .sub-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .18s ease,transform .18s ease,visibility 0s}.sub-nav li a{display:flex;align-items:center;gap:var(--space-3);padding:.6rem .875rem;color:var(--dark-600);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);transition:all .15s ease}.sub-nav li a:not(.mega-item)::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green-primary);flex-shrink:0;opacity:0;transition:opacity .15s ease}.sub-nav li a:not(.mega-item):hover{background:rgba(140,198,63,.08);color:var(--green-dark)}.sub-nav li a:not(.mega-item):hover::before{opacity:1}.sub-nav-header{padding:var(--space-2) var(--space-3) var(--space-1);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:var(--space-1);cursor:default;pointer-events:none;user-select:none}.sub-nav-pin{width:13px;height:13px;color:var(--green-primary);flex-shrink:0;opacity:.6;transition:opacity .15s}.sub-nav li a:hover .sub-nav-pin{opacity:1}.sub-nav-featured{font-weight:600!important}.sub-nav-badge{margin-left:auto;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;background:rgba(140,198,63,.1);color:var(--green-dark);border-radius:999px;border:1px solid rgba(140,198,63,.25);flex-shrink:0}.sub-nav--mega{left:0;transform:translateX(0) translateY(10px);min-width:520px;max-width:calc(100vw - 48px);display:flex;flex-direction:row;padding:0;background:#fff;border:1px solid rgba(0,0,0,.09);border-top:3px solid var(--green-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 12px -2px rgba(0,0,0,.08),0 24px 56px rgba(0,0,0,.12)}.sub-nav--mega::before{left:2.5rem;transform:none;border-bottom-color:var(--green-primary)}.has-dropdown:focus-within .sub-nav--mega,.has-dropdown:hover .sub-nav--mega{transform:translateX(0) translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease,transform .18s ease,visibility 0s}.sub-nav--mega::after{content:'';position:absolute;top:-16px;left:0;width:100%;height:16px}.mega-sidebar{flex:0 0 200px;display:flex;flex-direction:column;gap:12px;padding:28px 24px;background:#f2f8ec;border-right:1px solid rgba(140,198,63,.2)}.mega-tag{font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark)}.mega-title{font-size:1.05rem;font-weight:700;color:var(--dark-900);line-height:1.35;margin:0}.mega-desc{font-size:.78rem;color:var(--dark-500);line-height:1.6;flex:1}.mega-all-link{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--green-dark);text-decoration:none;margin-top:auto;padding-top:16px;border-top:1px solid rgba(140,198,63,.25);transition:gap .2s ease,color .2s ease}.mega-all-link:hover{color:var(--green-primary);gap:12px}.mega-list{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;padding:16px;list-style:none;align-content:start;align-items:start}.mega-item{display:flex;align-items:center;gap:10px;padding:9px 12px;color:var(--dark-600);text-decoration:none;font-size:.83rem;font-weight:500;border-radius:6px;transition:all .15s ease;white-space:nowrap}.mega-item:hover{background:rgba(140,198,63,.1);color:var(--dark-900)}.mega-list li:last-child:nth-child(odd){grid-column:1/-1}.mega-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(140,198,63,.1);border:1px solid rgba(140,198,63,.2);border-radius:7px;color:var(--green-dark);transition:color .15s ease,background .15s ease,transform .15s ease,border-color .15s ease}.mega-item:hover .mega-icon{background:rgba(140,198,63,.2);border-color:rgba(140,198,63,.4);color:var(--green-primary);transform:scale(1.1)}.mobile-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:1.5px solid rgba(0,0,0,.1);cursor:pointer;z-index:1200;position:relative;padding:10px 11px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.mobile-toggle:hover{background:rgba(140,198,63,.07);border-color:var(--green-primary)}.mobile-toggle span{display:block;width:22px;height:2px;background:var(--dark-800);transition:all var(--transition-base);border-radius:2px}.mobile-toggle.active{background:rgba(140,198,63,.1);border-color:var(--green-primary)}.mobile-toggle.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden;background:var(--dark-900)}.hero-bg{position:absolute;inset:0;z-index:1}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.85}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,16,24,.85) 0,rgba(11,16,24,.6) 45%,rgba(11,16,24,.2) 100%);z-index:2}.hero-content{position:relative;z-index:5;max-width:780px;padding-top:var(--header-height)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);background:rgba(140,198,63,.12);border:1px solid rgba(140,198,63,.3);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;color:var(--green-light);margin-bottom:var(--space-8);backdrop-filter:blur(8px)}.hero-badge .badge-dot{width:8px;height:8px;border-radius:50%;background:var(--green-primary);animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(140,198,63,.6)}50%{opacity:.85;box-shadow:0 0 0 8px rgba(140,198,63,0)}}.hero-title{font-size:clamp(var(--fs-4xl), 5.5vw, var(--fs-7xl));font-weight:900;color:var(--white);line-height:1.05;margin-bottom:var(--space-8);letter-spacing:-.03em}.hero-title .highlight{background:linear-gradient(135deg,var(--green-primary),var(--green-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--fs-lg);color:var(--gray-300);line-height:1.8;margin-bottom:var(--space-10);max-width:620px}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-16)}.hero-stats{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.08);padding-top:var(--space-8)}.hero-stat{text-align:left;padding-right:var(--space-12);margin-right:var(--space-12);border-right:1px solid rgba(255,255,255,.1)}.hero-stat:last-child{border-right:none;padding-right:0;margin-right:0}.hero-stat-number{font-family:var(--font-heading);font-size:var(--fs-4xl);font-weight:900;color:var(--green-primary);line-height:1;letter-spacing:-.02em}.hero-stat-label{font-size:var(--fs-sm);color:var(--gray-400);margin-top:var(--space-2);line-height:1.4}.hero-stat-label small{display:block;font-size:var(--fs-xs);color:var(--gray-400);opacity:.75;margin-top:2px}.agitation{background:var(--white)}.agitation-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.agitation-grid .section-header{text-align:left}.agitation-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-2xl);box-shadow:0 24px 64px rgba(0,0,0,.15)}@media (max-width:768px){.agitation-grid{grid-template-columns:1fr;gap:var(--space-8)}.agitation-img{order:-1}}.services{background:var(--light-50);position:relative}.services-tabs{display:grid;grid-template-columns:300px 1fr;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);min-height:500px}.services-tab-list{background:var(--dark-900);display:flex;flex-direction:column;padding:var(--space-2) 0}.services-tab{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-6);background:0 0;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;color:rgba(255,255,255,.45);transition:all .2s ease;font-family:var(--font-body)}.services-tab:hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.04)}.services-tab.active{color:#fff;background:rgba(255,255,255,.07);border-left-color:var(--primary-500)}.services-tab-num{font-size:.68rem;font-weight:700;color:var(--primary-500);min-width:20px;letter-spacing:.04em;flex-shrink:0}.services-tab-name{font-size:.85rem;font-weight:500;flex:1;line-height:1.3}.services-tab-arrow{opacity:0;color:var(--primary-400);transition:opacity .2s ease;flex-shrink:0}.services-tab.active .services-tab-arrow{opacity:1}.services-panel-link{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--primary-600);text-decoration:none;margin-top:.5rem;transition:gap .2s ease}.services-panel-link:hover{gap:10px}.services-tab-panels{background:var(--white);position:relative}.services-tab-panel{display:none;flex-direction:row-reverse;height:100%}.services-tab-panel.active{display:flex}.services-panel-img{width:45%;flex-shrink:0;object-fit:cover;display:block;height:100%}.services-panel-body{padding:1.75rem 2rem;display:flex;flex-direction:column;gap:0;flex:1;align-items:flex-start;justify-content:flex-start;padding-top:1.25rem}.services-panel-num{font-size:.68rem;font-weight:700;color:var(--primary-500);letter-spacing:.08em}.services-panel-title{font-size:1.75rem;font-weight:700;color:var(--dark-900);line-height:1.2;margin:.25rem 0 1rem}.services-panel-text{color:var(--dark-600);line-height:1.75;margin:0 0 1.25rem}.services-panel-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem}.services-panel-features li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--dark-700)}.services-panel-features li::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green-primary);flex-shrink:0}.services-accordion{display:none}@media (max-width:768px){.services-tabs{display:none}.services-tab-list,.services-tab-panels{display:none}.services-accordion{display:flex;flex-direction:column;gap:.5rem}.services-accordion-item{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-200);background:var(--white)}.services-accordion-btn{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:0 0;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}.services-accordion-btn .services-tab-num{color:var(--primary-500);font-size:.68rem;font-weight:700;letter-spacing:.04em;flex-shrink:0}.services-accordion-btn .services-tab-name{flex:1;font-size:.95rem;font-weight:600;color:var(--dark-900);line-height:1.3}.services-accordion-chevron{color:var(--primary-500);transition:transform .25s ease;flex-shrink:0}.services-accordion-item.open .services-accordion-chevron{transform:rotate(180deg)}.services-accordion-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.services-accordion-item.open .services-accordion-body{max-height:600px}.services-accordion-body img{width:100%;height:180px;object-fit:cover;display:block}.services-accordion-body .services-panel-body{padding:1.25rem 1.25rem 1.5rem}.services-panel-title{font-size:1.15rem}}.service-card{position:relative;background:var(--white);border-radius:var(--radius-xl);overflow:hidden;padding:0;border:1px solid transparent;transition:all var(--transition-base);overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.07)}.b2b-block .service-card{padding:2rem}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-primary),var(--green-light));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.service-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(0,0,0,.1),0 0 0 1px rgba(140,198,63,.15);border-color:rgba(140,198,63,.2)}.service-card:hover::before{transform:scaleX(1)}.service-card-img{width:100%;height:200px;object-fit:cover;display:block}.service-card-body{padding:var(--space-8)}.service-card>.service-card-header{padding:var(--space-8) var(--space-8) 0}.service-card>.service-card-title{padding:0 var(--space-8) var(--space-3)}.service-card>.service-card-text{padding:0 var(--space-8) var(--space-4)}.service-card>.service-card-link{display:block;padding:0 var(--space-8) var(--space-8)}.service-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6)}.service-icon{width:60px;height:60px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(140,198,63,.12),rgba(140,198,63,.04));display:flex;align-items:center;justify-content:center;font-size:26px;transition:all var(--transition-base);border:1px solid rgba(140,198,63,.15)}.service-card:hover .service-icon{background:linear-gradient(135deg,var(--green-primary),var(--green-dark));box-shadow:var(--shadow-green);transform:scale(1.05);border-color:transparent}.service-number{font-family:var(--font-heading);font-size:var(--fs-xs);font-weight:800;color:var(--gray-200);letter-spacing:.1em;line-height:1;user-select:none}.service-card-title{font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--space-4);color:var(--dark-900);line-height:1.3}.service-card-text{color:var(--text-muted);line-height:1.7;font-size:var(--fs-sm)}.service-card-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);color:var(--green-dark);font-weight:600;font-size:var(--fs-sm);transition:gap var(--transition-fast)}.service-card-link span{transition:transform var(--transition-fast)}.service-card:hover .service-card-link{gap:var(--space-3)}.service-card:hover .service-card-link span{transform:translateX(4px)}.stats-section{position:relative;background:var(--dark-800);overflow:hidden}.stats-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(140,198,63,.06) 0,transparent 50%),radial-gradient(circle at 80% 50%,rgba(140,198,63,.04) 0,transparent 50%)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);position:relative;z-index:2}.stat-item{text-align:center;padding:var(--space-10);border-radius:var(--radius-xl);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all var(--transition-base)}.stat-item:hover{background:rgba(140,198,63,.06);border-color:rgba(140,198,63,.15);transform:translateY(-4px)}.stat-number{font-family:var(--font-heading);font-size:var(--fs-5xl);font-weight:900;color:var(--green-primary);line-height:1;margin-bottom:var(--space-3)}.stat-label{font-size:var(--fs-base);color:var(--gray-300);font-weight:500}.stat-icon{font-size:2rem;margin-bottom:var(--space-4);display:block}.projects{background:var(--dark-900);position:relative}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:var(--space-5)}.project-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--dark-800)}.project-card:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover img{transform:scale(1.06)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,16,24,.92) 0,rgba(11,16,24,.35) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-6);opacity:.85;transition:opacity var(--transition-base)}.project-card:hover .project-overlay{opacity:1}.project-card:first-child .project-overlay{opacity:1;padding:var(--space-8);background:linear-gradient(to top,rgba(11,16,24,.92) 0,rgba(11,16,24,.15) 60%,transparent 100%)}.project-tag{display:inline-block;padding:var(--space-1) var(--space-3);background:rgba(140,198,63,.2);border:1px solid rgba(140,198,63,.4);border-radius:var(--radius-full);color:var(--green-light);font-size:var(--fs-xs);font-weight:600;margin-bottom:var(--space-3);width:fit-content;letter-spacing:.04em}.project-title{font-size:var(--fs-lg);font-weight:700;color:var(--white);margin-bottom:var(--space-2);line-height:1.3}.project-card:first-child .project-title{font-size:var(--fs-xl)}.project-metrics{font-size:var(--fs-sm);color:var(--gray-300)}.project-metrics strong{color:var(--green-light);font-weight:600}.project-location{font-size:var(--fs-sm);color:var(--gray-300);display:flex;align-items:center;gap:var(--space-2)}.about{background:var(--light-50);position:relative}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.about-image-wrapper{position:relative;border-radius:var(--radius-2xl);overflow:hidden;aspect-ratio:4/3}.about-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.about-image-wrapper:hover img{transform:scale(1.03)}.about-image-wrapper::after{content:'';position:absolute;inset:0;border-radius:var(--radius-2xl);border:1px solid rgba(140,198,63,.15);pointer-events:none}.about-float-card{position:absolute;bottom:var(--space-6);right:var(--space-6);padding:var(--space-5) var(--space-6);background:rgba(11,16,24,.9);backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid rgba(140,198,63,.25);color:var(--white);z-index:2}.about-float-number{font-family:var(--font-heading);font-size:var(--fs-4xl);font-weight:900;color:var(--green-primary);line-height:1}.about-float-label{font-size:var(--fs-xs);color:var(--gray-300);margin-top:var(--space-1);font-weight:500}.about-content .section-badge{margin-bottom:var(--space-6)}.about-text{font-size:var(--fs-lg);color:var(--text-muted);line-height:1.8;margin-bottom:var(--space-8)}.h4-heading{font-size:var(--fs-sm);font-weight:700;color:var(--dark-800);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.sector-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8)}.sector-list li{display:flex;gap:var(--space-3);font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6;padding:var(--space-3) var(--space-4);background:var(--white);border-radius:var(--radius-md);border-left:3px solid var(--green-primary)}.about-features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-8)}.about-feature{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--gray-100)}.about-feature-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-md);background:rgba(140,198,63,.1);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.about-feature-text{font-weight:600;font-size:var(--fs-sm);color:var(--dark-700);line-height:1.4}.process{background:var(--dark-900);position:relative;overflow:hidden}.process .section-title{color:var(--white)}.process .section-subtitle{color:var(--gray-400)}.process-bg-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(140,198,63,.07) 0,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);position:relative;z-index:2}.process-step{text-align:center;padding:var(--space-10) var(--space-6);position:relative}.process-step::after{content:'';position:absolute;top:52px;right:-20%;width:40%;height:1px;background:linear-gradient(90deg,rgba(140,198,63,.5),transparent)}.process-step:last-child::after{display:none}.process-step-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--green-primary),var(--green-dark));display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:800;color:var(--white);box-shadow:var(--shadow-green)}.process-step-title{font-size:var(--fs-base);font-weight:700;color:var(--white);margin-bottom:var(--space-3)}.process-step-text{font-size:var(--fs-sm);color:var(--gray-400);line-height:1.7}.service-area{background:var(--light-50);position:relative}.area-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.area-provinces{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.province-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all var(--transition-base);font-weight:500;color:var(--dark-700);font-size:var(--fs-sm)}.province-card:hover{border-color:var(--green-primary);background:rgba(140,198,63,.04);transform:translateX(4px);box-shadow:var(--shadow-md)}.province-card.primary{background:linear-gradient(135deg,rgba(140,198,63,.08),rgba(140,198,63,.02));border-color:rgba(140,198,63,.3);font-weight:600}.province-dot{width:10px;height:10px;border-radius:50%;background:var(--green-primary);flex-shrink:0;box-shadow:0 0 0 3px rgba(140,198,63,.2)}.province-card.primary .province-dot{animation:pulse-dot 2s ease-in-out infinite}.province-sede{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);font-weight:600;color:var(--green-dark);background:rgba(140,198,63,.1);padding:2px 8px;border-radius:var(--radius-full);margin-left:auto;white-space:nowrap}.area-map{position:relative;background:var(--dark-800);border-radius:var(--radius-2xl);padding:var(--space-12);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:400px;overflow:hidden}.area-info-box{position:relative;z-index:2}.area-info-box h3{font-size:var(--fs-2xl);font-weight:800;color:var(--white);margin-bottom:var(--space-4);line-height:1.2}.area-info-box p{color:var(--gray-300);line-height:1.7;font-size:var(--fs-base);margin-bottom:var(--space-6)}.area-map-bg-glow{position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(140,198,63,.08) 0,transparent 60%);pointer-events:none}.faq-section{background:var(--gray-100)}.faq-grid{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}.faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.faq-item:hover{border-color:rgba(140,198,63,.35);box-shadow:var(--shadow-md)}.faq-item.active{border-color:var(--green-primary);box-shadow:0 0 0 1px rgba(140,198,63,.15),var(--shadow-md)}.faq-question{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-8);cursor:pointer;font-weight:600;font-size:var(--fs-base);color:var(--dark-800);background:0 0;border:none;width:100%;text-align:left;font-family:var(--font-body);transition:color var(--transition-fast);gap:var(--space-4)}.faq-item.active .faq-question{color:var(--green-dark)}.faq-toggle{width:30px;height:30px;min-width:30px;border-radius:50%;background:rgba(140,198,63,.1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--green-primary);transition:all var(--transition-base);font-weight:300;line-height:1}.faq-item.active .faq-toggle{background:var(--green-primary);color:var(--white);transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.faq-answer-inner{padding:0 var(--space-8) var(--space-6);color:var(--text-muted);line-height:1.8;border-top:1px solid var(--gray-100);padding-top:var(--space-4)}.cta-section{background:linear-gradient(135deg,var(--dark-900),var(--dark-800));position:relative;overflow:hidden}.cta-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(140,198,63,.1) 0,transparent 70%);top:-250px;right:-150px;pointer-events:none}.cta-glow-2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(140,198,63,.06) 0,transparent 70%);bottom:-150px;left:-100px;pointer-events:none}.cta-inner{text-align:center;position:relative;z-index:2}.cta-title{font-size:clamp(var(--fs-3xl), 4vw, var(--fs-5xl));font-weight:900;color:var(--white);margin-bottom:var(--space-6);letter-spacing:-.02em}.cta-text{font-size:var(--fs-lg);color:var(--gray-300);max-width:600px;margin:0 auto var(--space-10);line-height:1.8}.cta-actions{display:flex;gap:var(--space-4);justify-content:center;align-items:center;flex-wrap:wrap}.cta-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-8);margin-top:var(--space-8);flex-wrap:wrap}.cta-meta-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--gray-400)}.cta-meta-item svg{color:var(--green-primary);flex-shrink:0}.contact{background:var(--light-50)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.contact-info-cards{display:flex;flex-direction:column;gap:var(--space-5)}.contact-info-card{display:flex;align-items:flex-start;gap:var(--space-5);padding:var(--space-6);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);transition:all var(--transition-base)}.contact-info-card:hover{border-color:rgba(140,198,63,.3);box-shadow:var(--shadow-md);transform:translateX(4px)}.contact-info-icon{width:50px;height:50px;min-width:50px;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(140,198,63,.15),rgba(140,198,63,.05));display:flex;align-items:center;justify-content:center;font-size:1.3rem}.contact-info-title{font-weight:700;color:var(--dark-900);margin-bottom:var(--space-1);font-size:var(--fs-sm)}.contact-info-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.contact-form-wrap{background:var(--white);padding:var(--space-10);border-radius:var(--radius-xl);border:1px solid var(--gray-100);box-shadow:0 8px 30px rgba(0,0,0,.06)}.contact-form-wrap h3,.contact-form-wrap .contact-form-title{font-size:var(--fs-2xl);margin-bottom:var(--space-3);color:var(--dark-900);line-height:1.25}.contact-form-wrap p,.contact-form-wrap .contact-form-intro{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--space-8);line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--dark-700);margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-base);color:var(--dark-800);background:var(--light-50);transition:all var(--transition-fast);outline:0;text-overflow:ellipsis}.form-group input::-webkit-contacts-auto-fill-button,.form-group input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green-primary);box-shadow:0 0 0 3px rgba(140,198,63,.15);background:var(--white)}.form-group textarea{resize:vertical;min-height:120px}.form-submit{width:100%}.form-privacy{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-4);line-height:1.5}.footer{background:var(--dark-900);color:var(--gray-300);padding:var(--space-16) 0 var(--space-8)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid rgba(255,255,255,.06)}.footer-logo{opacity:.9;transition:opacity var(--transition-base);margin-bottom:var(--space-5);height:44px;width:auto}.footer-logo:hover{opacity:1}.footer-desc{font-size:var(--fs-sm);color:var(--gray-400);line-height:1.8;margin-bottom:var(--space-6);max-width:340px}.nap-info{margin-top:var(--space-6);border-top:1px solid rgba(255,255,255,.06);padding-top:var(--space-6)}.nap-info p{margin-bottom:var(--space-3);color:var(--gray-400);font-size:var(--fs-sm);line-height:1.6}.nap-info p strong{color:var(--white)}.nap-info a{color:var(--green-light);transition:color var(--transition-fast)}.nap-info a:hover{color:var(--green-primary)}.footer-heading{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:700;color:var(--white);margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:.08em}.footer-links li{margin-bottom:var(--space-3)}.footer-links a{font-size:var(--fs-sm);color:var(--gray-400);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-2);line-height:1.4}.footer-links a:hover{color:var(--green-primary);transform:translateX(4px)}.footer-links hr{margin:var(--space-4) 0;opacity:.12;border:none;border-top:1px solid rgba(255,255,255,.4)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-8);font-size:var(--fs-sm);color:var(--gray-400);flex-wrap:wrap;gap:var(--space-4)}.footer-bottom-links{display:flex;gap:var(--space-6)}.footer-bottom-links a{color:var(--gray-400);font-size:var(--fs-sm);transition:color var(--transition-fast)}.footer-bottom-links a:hover{color:var(--green-primary)}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:9000;box-shadow:0 4px 20px rgba(37,211,102,.45);transition:all var(--transition-spring)}.whatsapp-float:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 8px 30px rgba(37,211,102,.55)}.whatsapp-float svg{width:30px;height:30px;fill:white}.whatsapp-float::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,211,102,.3);animation:pulse-dot 2.5s ease-in-out infinite}.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.16, 1, .3, 1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:all .8s cubic-bezier(.16, 1, .3, 1)}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:all .8s cubic-bezier(.16, 1, .3, 1)}.reveal-right.visible{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.92);transition:all .8s cubic-bezier(.16, 1, .3, 1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}.reveal-delay-5{transition-delay:0.5s}@media (max-width:1024px){.nav-list{display:none}.mobile-toggle{display:flex}.nav-list.mobile-open{display:flex;flex-direction:column;position:fixed;inset:0;background:rgba(11,16,24,.98);backdrop-filter:blur(20px);align-items:center;justify-content:flex-start;gap:var(--space-6);z-index:1050;padding:calc(var(--header-height) + var(--space-8)) var(--space-6) var(--space-10);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-list.mobile-open .nav-link{font-size:var(--fs-xl);color:var(--white)}.nav-list.mobile-open .nav-cta{font-size:var(--fs-xl)}.hero-content{max-width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr)}.projects-grid .project-card:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}.about-grid{grid-template-columns:1fr;gap:var(--space-10)}.about-image-wrapper{order:-1}.process-steps{grid-template-columns:repeat(2,1fr)}.process-step::after{display:none}.area-content{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){:root{--header-height:140px}.section-padding{padding:var(--space-16) 0}.header:not(.scrolled){backdrop-filter:none!important}.trust-bar-item:nth-child(n+2){display:none}.trust-bar-item{font-size:.8rem;padding:.3rem 1rem;justify-content:center;width:100%}.trust-bar-sep{display:none}.hero-content{padding-top:calc(var(--header-height) + 1.5rem);padding-bottom:var(--space-8)}.hero{min-height:100svh;align-items:flex-start;padding-top:0}.hero-title{font-size:clamp(var(--fs-3xl), 8vw, var(--fs-5xl))}.hero-stats{flex-direction:column;gap:var(--space-6);border-top:1px solid rgba(255,255,255,.08);padding-top:var(--space-6)}.hero-stat{border-right:none;padding-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:var(--space-5);margin-bottom:var(--space-2)}.hero-stat:last-child{border-bottom:none;padding-bottom:0}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;text-align:center;justify-content:center}.services-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.stat-item{padding:var(--space-6)}.stat-number{font-size:var(--fs-4xl)}.projects-grid{grid-template-columns:1fr}.projects-grid .project-card:first-child{grid-column:span 1;aspect-ratio:4/3}.projects-grid .project-card{aspect-ratio:4/3}.about-features{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr}.area-provinces{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:var(--space-8)}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}.cta-meta{gap:var(--space-5)}.whatsapp-float{bottom:1.5rem;right:1.5rem;width:52px;height:52px}}@media (max-width:480px){.container{padding:0 var(--space-4)}.section-padding{padding:var(--space-12) 0}.hero-badge{font-size:var(--fs-xs)}.section-badge{font-size:var(--fs-xs)}.service-card{padding:var(--space-8)}.contact-form-wrap{padding:var(--space-6)}}@media (max-width:768px){div[style*="grid-template-columns: 1fr 1fr"],div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}div[style*=grid-template-columns] img{width:100%!important;height:auto!important;max-height:300px;object-fit:cover}.b2b-block>.container>div[style*=grid]{grid-template-columns:1fr!important;gap:2rem!important}.blog-cover-img{border-radius:8px!important}.about-image-wrapper img{width:100%;height:auto}}@media (max-width:1024px){.has-dropdown .sub-nav{position:static!important;background:rgba(255,255,255,.06)!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;display:none;border-radius:var(--radius-md);border-top:none!important;border-left:2px solid var(--green-primary)!important;margin-top:var(--space-2);margin-left:var(--space-4);padding:var(--space-2)!important;grid-template-columns:1fr!important}.has-dropdown .sub-nav::before{display:none}.nav-list.mobile-open .has-dropdown.dropdown-open .sub-nav{display:flex!important;flex-direction:column!important}.sub-nav--mega{background:rgba(255,255,255,.08)!important;min-width:0!important;border-top:none!important;border-left:2px solid var(--green-primary)!important;border-right:none!important;border-bottom:none!important;box-shadow:none!important}.mega-sidebar{display:none!important}.mega-list{display:flex!important;flex-direction:column!important;padding:var(--space-1)!important;gap:0!important}.mega-icon{display:none!important}.mega-item{color:var(--gray-300)!important;font-size:.9rem!important;padding:.5rem .75rem!important;white-space:normal!important}.mega-item:hover{background:rgba(140,198,63,.08)!important;color:var(--green-light)!important}.sub-nav-header{color:rgba(255,255,255,.35)!important;border-bottom-color:rgba(255,255,255,.06)!important}.sub-nav li a{padding:.55rem .75rem!important;font-size:.95rem!important;color:var(--gray-300)!important}.sub-nav li a::before{display:none!important}.sub-nav li a:hover{color:var(--green-light)!important;background:rgba(140,198,63,.08)!important;padding-left:.75rem!important}.sub-nav-badge{display:none}.btn{width:100%;text-align:center;justify-content:center;padding:1.25rem 2rem}.hero-actions{flex-direction:column;width:100%}.cta-actions{flex-direction:column;gap:var(--space-3)}.cta-actions .btn,.cta-actions .btn-phone{width:100%;justify-content:center}}.service-hero{padding:180px 0 80px;background:linear-gradient(135deg,var(--dark-900) 0,var(--dark-800) 100%);color:var(--white);text-align:center;position:relative;overflow:hidden}.service-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 40%,rgba(140,198,63,.06) 0,transparent 60%);pointer-events:none}.service-hero h1{font-size:clamp(2rem, 5vw, 3.5rem);margin-bottom:var(--space-6);color:var(--white);position:relative;z-index:2}.service-hero p{font-size:var(--fs-lg);max-width:800px;margin:0 auto;opacity:.85;line-height:1.7;color:var(--gray-300);position:relative;z-index:2}.service-content{padding:80px 0}.b2b-hero{padding:160px 0 80px;background:linear-gradient(rgba(11,16,24,.88),rgba(11,16,24,.96)),url('/img/opt/proyecto_ectro_002.webp') no-repeat center center/cover;color:var(--white);text-align:center;position:relative}.b2b-hero h1{font-size:clamp(2rem, 5vw, 3.5rem);margin-bottom:var(--space-6);color:var(--white);text-wrap:balance}.b2b-hero p{font-size:var(--fs-lg);max-width:700px;margin:0 auto;opacity:.88;line-height:1.7;color:var(--gray-300)}.article-hero{padding:160px 0 60px;background:linear-gradient(135deg,var(--dark-900) 0,var(--dark-800) 100%);color:var(--white);text-align:center}.article-hero h1{font-size:clamp(1.75rem, 4vw, 3rem);color:var(--white);margin-bottom:var(--space-4)}.legal-content{padding:120px 0 80px;max-width:800px;margin:0 auto}.legal-content h1{font-size:var(--fs-4xl);margin-bottom:var(--space-6);padding-top:var(--space-8)}.legal-content h2{font-size:var(--fs-xl);margin-top:var(--space-10);margin-bottom:var(--space-4);color:var(--dark-900);padding-bottom:var(--space-3);border-bottom:2px solid var(--gray-100)}.legal-content p{color:var(--text-muted);line-height:1.8;margin-bottom:var(--space-4)}.legal-content ul{list-style:disc;padding-left:var(--space-8);color:var(--text-muted);line-height:1.8;margin-bottom:var(--space-4)}.legal-content ul li{margin-bottom:var(--space-2)}.legal-content a{color:var(--green-dark);text-decoration:underline}.geo-hero h1,.geo-hero h2,.geo-hero h3,.geo-hero h4,.geo-hero h5,.geo-hero h6{color:var(--white)}.blog-hero h1,.blog-hero h2,.blog-hero h3,.blog-hero h4,.blog-hero h5,.blog-hero h6{color:var(--white)}.blog-index-hero h1,.blog-index-hero h2,.blog-index-hero h3,.blog-index-hero h4,.blog-index-hero h5,.blog-index-hero h6{color:var(--white)}.blog-cta h1,.blog-cta h2,.blog-cta h3,.blog-cta h4,.blog-cta h5,.blog-cta h6{color:var(--white)}.cta-embalses h1,.cta-embalses h2,.cta-embalses h3,.cta-embalses h4,.cta-embalses h5,.cta-embalses h6{color:var(--white)}.b2b-hero h1,.b2b-hero h2,.b2b-hero h3,.b2b-hero h4,.b2b-hero h5,.b2b-hero h6{color:var(--white)}[class*=dark-hero] h1,[class*=dark-hero] h2,[class*=dark-hero] h3,[class*=dark-hero] h4{color:var(--white)}@media (max-width:768px){.service-hero{padding-top:calc(var(--header-height) + 40px)!important;padding-bottom:50px!important}.b2b-hero{padding-top:calc(var(--header-height) + 40px)!important;padding-bottom:50px!important}.blog-hero{padding-top:calc(var(--header-height) + 20px)!important;padding-bottom:30px!important}.b2b-hero h1{font-size:clamp(1.6rem, 6vw, 2.5rem)}.page-hero,.zona-hero{padding-top:calc(var(--header-height) + 40px)!important}}@media (max-width:1024px){.hero-bg video{display:none}.hero-bg{background:url('/img/opt/ectro_balsa_hdpe_hero.webp') center center/cover no-repeat}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}/* ============================================
   MOBILE PERFORMANCE — Reduce paint/layout cost
   ============================================ */
@media (max-width:768px) {
  .b2b-block { padding: 48px 0; }
  .section-padding { padding: 48px 0; }
  .service-content { padding: 48px 0; }
  .about-grid { grid-template-columns: 1fr; }
  .about-image-wrapper { display: none; }
  .service-hero { padding: 100px 0 48px; }
  .service-hero h1 { font-size: 2rem; }
  .b2b-hero { padding: 100px 0 56px; }
  .b2b-hero h1 { font-size: clamp(1.8rem, 5vw, 2.5rem); }
  /* Disable reveal animations on mobile — they cause repaints */
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1 !important; transform: none !important; transition: none !important; }
  /* Simplify shadows on mobile — expensive to composite */
  .service-card { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
  /* Reduce mega-menu overhead — hidden on mobile */
  .sub-nav--mega { display: none !important; }
}

/* ============================================
   COOKIE BANNER — RGPD
   ============================================ */
#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: #fff;
  border-top: 3px solid var(--primary-500);
  box-shadow: 0 -4px 32px rgba(0,0,0,0.12);
  padding: 1.25rem 1.5rem;
  font-family: var(--font-body);
  animation: slideUpCookie 0.35s cubic-bezier(0.16,1,0.3,1);
}
@keyframes slideUpCookie {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
#cookie-banner .cookie-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
#cookie-banner .cookie-text {
  flex: 1;
  min-width: 260px;
  font-size: 0.875rem;
  color: var(--dark-700);
  line-height: 1.55;
}
#cookie-banner .cookie-text strong {
  display: block;
  color: var(--dark-900);
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}
#cookie-banner .cookie-text a {
  color: var(--primary-600);
  text-decoration: underline;
  white-space: nowrap;
}
#cookie-banner .cookie-actions {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
#cookie-banner .cookie-btn-all {
  background: var(--primary-500);
  color: #fff;
  border: none;
  padding: 0.65rem 1.4rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background 0.2s;
  white-space: nowrap;
}
#cookie-banner .cookie-btn-all:hover { background: var(--primary-600); }
#cookie-banner .cookie-btn-essential {
  background: transparent;
  color: var(--dark-600);
  border: 1.5px solid var(--border, #e5e7eb);
  padding: 0.65rem 1.2rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
#cookie-banner .cookie-btn-essential:hover { border-color: var(--dark-400); color: var(--dark-800); }
#cookie-banner .cookie-btn-config {
  background: none;
  border: none;
  color: var(--dark-500);
  font-size: 0.8rem;
  cursor: pointer;
  text-decoration: underline;
  font-family: var(--font-body);
  padding: 0;
}
/* Modal configuración */
#cookie-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0,0,0,0.5);
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
#cookie-modal.open { display: flex; }
#cookie-modal .modal-box {
  background: #fff;
  border-radius: 12px;
  max-width: 520px;
  width: 100%;
  padding: 2rem;
  max-height: 90vh;
  overflow-y: auto;
}
#cookie-modal h2 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--dark-900);
  margin-bottom: 1.25rem;
}
.cookie-toggle-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border, #e5e7eb);
}
.cookie-toggle-row .toggle-info h3 {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark-900);
  margin-bottom: 0.2rem;
}
.cookie-toggle-row .toggle-info p {
  font-size: 0.8rem;
  color: var(--dark-600);
  line-height: 1.5;
  margin: 0;
}
.cookie-switch {
  position: relative;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}
.cookie-switch input { opacity: 0; width: 0; height: 0; }
.cookie-switch .slider {
  position: absolute;
  inset: 0;
  background: #ccc;
  border-radius: 24px;
  transition: background 0.2s;
  cursor: pointer;
}
.cookie-switch .slider:before {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s;
}
.cookie-switch input:checked + .slider { background: var(--primary-500); }
.cookie-switch input:checked + .slider:before { transform: translateX(18px); }
.cookie-switch input:disabled + .slider { background: var(--primary-400); cursor: not-allowed; opacity: 0.7; }
#cookie-modal .modal-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
#cookie-modal .modal-actions button {
  flex: 1;
  padding: 0.7rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  border: none;
}
#cookie-modal .btn-save-all  { background: var(--primary-500); color: #fff; }
#cookie-modal .btn-save-sel  { background: transparent; color: var(--dark-700); border: 1.5px solid var(--border, #e5e7eb) !important; }
@media (max-width: 640px) {
  #cookie-banner { padding: 0.75rem 1rem; border-top-width: 2px; }
  #cookie-banner .cookie-text { font-size: 0.75rem; min-width: 0; line-height: 1.4; }
  #cookie-banner .cookie-text strong { display: inline; margin-right: 4px; font-size: inherit; }
  #cookie-banner .cookie-inner { gap: 0.75rem; }
  #cookie-banner .cookie-actions { width: 100%; gap: 0.5rem; justify-content: space-between; }
  #cookie-banner .cookie-btn-all,
  #cookie-banner .cookie-btn-essential { flex: 1; padding: 0.5rem 0.5rem; font-size: 0.75rem; text-align: center; }
  #cookie-banner .cookie-btn-config { font-size: 0.7rem; width: 100%; text-align: center; margin-top: 2px; }
}

/* ── Related Blog Cards ─────────────────────────────────── */
.related-blog-section{padding:60px 0;background:var(--light-50,#f8faf9);border-top:1px solid var(--border,#e5e7eb);}
.related-blog-title{font-size:1.5rem;font-weight:700;color:var(--dark-900);margin-bottom:2rem;text-align:center;position:relative;padding-bottom:.75rem;}
.related-blog-title::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:48px;height:4px;background:var(--primary-500);}
.related-blog-grid{display:grid;gap:1.5rem;}
.related-blog-grid--2{grid-template-columns:repeat(2,1fr);}
.related-blog-grid--3{grid-template-columns:repeat(3,1fr);}
.related-blog-card{text-decoration:none;color:inherit;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.related-blog-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12);}
.related-blog-card__img{aspect-ratio:16/9;overflow:hidden;}
.related-blog-card__img img{width:100%;height:100%;object-fit:cover;display:block;}
.related-blog-card__body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1;}
.related-blog-card__title{font-size:1rem;font-weight:600;color:var(--dark-900);line-height:1.45;margin:0;}
.related-blog-card__cta{font-size:.875rem;font-weight:600;color:var(--primary-600,#4a7c59);}
@media(max-width:768px){.related-blog-grid--2,.related-blog-grid--3{grid-template-columns:1fr;}}

/* Empresa — card Atarfil responsive */
@media (max-width:768px){
  .atarfil-card{flex-direction:column!important;}
  .atarfil-card>div:first-child{min-width:0!important;padding:2rem 1.5rem!important;}
  .atarfil-card>div:last-child{padding:1.75rem 1.5rem!important;}
  .empresa-atarfil-grid{grid-template-columns:1fr!important;}
}

/* ===== CARRUSEL DE BALSAS (home agitation) ===== */
.balsa-carousel{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.08);background:var(--dark-900);isolation:isolate}
.balsa-carousel-track{position:absolute;inset:0;width:100%;height:100%}
.balsa-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 900ms cubic-bezier(.4,0,.2,1),visibility 0s linear 900ms;will-change:opacity}
.balsa-slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity 900ms cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}
.balsa-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 0s}
.balsa-slide.is-active img{animation:balsaKenBurns 7s ease-out forwards}
@keyframes balsaKenBurns{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.12) translate(-1%,-1%)}}
.balsa-carousel::after{content:'';position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(to top,rgba(11,16,24,.55) 0%,transparent 100%);pointer-events:none;z-index:2}
.balsa-carousel-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.15);z-index:3;overflow:hidden}
.balsa-carousel-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-primary),var(--green-light));transform-origin:left center;animation:balsaProgress 5s linear forwards}
.balsa-carousel.is-paused .balsa-carousel-progress>span{animation-play-state:paused}
@keyframes balsaProgress{from{width:0}to{width:100%}}
.balsa-carousel-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.balsa-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:width .35s cubic-bezier(.4,0,.2,1),background .25s ease,transform .2s ease;-webkit-tap-highlight-color:transparent}
.balsa-dot:hover{background:rgba(255,255,255,.75);transform:scale(1.15)}
.balsa-dot.is-active{width:32px;border-radius:5px;background:var(--green-primary);box-shadow:0 0 0 3px rgba(140,198,63,.25)}
.balsa-dot:focus-visible{outline:2px solid var(--green-light);outline-offset:3px}
@media (max-width:768px){.balsa-carousel-dots{bottom:14px;gap:6px}.balsa-dot{width:8px;height:8px}.balsa-dot.is-active{width:24px}}
@media (prefers-reduced-motion:reduce){.balsa-slide.is-active img{animation:none}.balsa-carousel-progress>span{animation:none;width:100%}}

/* ===== CARRUSEL DENTRO DE TABS DE SERVICIOS ===== */
.services-tab-panel > .balsa-carousel--service{width:45%;flex-shrink:0;height:auto;align-self:stretch;aspect-ratio:auto;border-radius:0}
.services-tab-panel > .balsa-carousel--service .balsa-slide img{width:100%;height:100%}
@media (max-width:768px){
  .services-accordion-body .balsa-carousel--service{width:100%;height:auto;aspect-ratio:4/3;border-radius:var(--radius-lg)}
}

/* ===== ETIQUETAS SOBRE SLIDES DEL CARRUSEL ===== */
.balsa-slide-label{position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:rgba(11,16,24,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 12px rgba(0,0,0,.25);pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .5s ease .3s,transform .5s ease .3s}
.balsa-slide.is-active .balsa-slide-label{opacity:1;transform:translateY(0)}
.balsa-slide-label::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green-primary);box-shadow:0 0 0 3px rgba(140,198,63,.25)}
@media (max-width:768px){.balsa-slide-label{top:10px;left:10px;font-size:.7rem;padding:.3rem .65rem}}

/* Fix: ampliar max-height del accordion para que quepa carrusel + texto + features + CTA */
.services-accordion-item.open .services-accordion-body{max-height:1200px}
/* Fix: dimensiones fijas del carrusel en accordion para evitar problemas con max-height animation */
@media (max-width:768px){
  .services-accordion-body .balsa-carousel--service{aspect-ratio:auto;height:280px;min-height:280px}
}

/* ===== PORTFOLIO 3x3 — home ===== */
.projects-grid--portfolio{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:var(--space-5)}
.projects-grid--portfolio .project-card{aspect-ratio:4/3;grid-column:auto;grid-row:auto}
.projects-grid--portfolio .project-card:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
.projects-grid--portfolio .project-card:first-child .project-overlay{opacity:.85;padding:var(--space-6);background:linear-gradient(to top,rgba(11,16,24,.92) 0,rgba(11,16,24,.35) 50%,transparent 100%)}
.projects-grid--portfolio .project-card:first-child .project-title{font-size:var(--fs-lg)}
.project-location{font-size:var(--fs-sm);color:var(--gray-300);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}
@media (max-width:1024px){.projects-grid--portfolio{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.projects-grid--portfolio{grid-template-columns:1fr}.projects-grid--portfolio .project-card{aspect-ratio:4/3}}

/* ===== OPCIÓN A — Sección video depósito (servicios/impermeabilizacion-depositos-agua) ===== */
.deposito-video-block{padding:80px 0;background:var(--light-50)}
.deposito-video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:3rem;align-items:center;max-width:1100px;margin:0 auto}
.deposito-video-wrapper{position:relative;aspect-ratio:9/16;max-width:340px;width:100%;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.22),0 8px 16px rgba(0,0,0,.08);background:var(--dark-900)}
.deposito-video{width:100%;height:100%;object-fit:cover;display:block}
.deposito-video-content{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.deposito-video-content .section-badge{margin-bottom:.5rem}
.deposito-video-content h2.b2b-title{margin:0;font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.2}
.deposito-video-content p{font-size:1.05rem;line-height:1.7;color:var(--dark-600);margin:0}
.deposito-video-features{list-style:none;padding:0;margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.65rem}
.deposito-video-features li{position:relative;padding-left:1.75rem;color:var(--dark-700);font-size:.95rem;line-height:1.5}
.deposito-video-features li::before{content:'';position:absolute;left:0;top:.45rem;width:.95rem;height:.95rem;border-radius:50%;background:linear-gradient(135deg,var(--green-primary),var(--green-dark));box-shadow:0 0 0 4px rgba(140,198,63,.12)}
.deposito-video-features li::after{content:'';position:absolute;left:.27rem;top:.7rem;width:.4rem;height:.18rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media (max-width:768px){.deposito-video-grid{grid-template-columns:1fr;gap:2rem;text-align:center}.deposito-video-content{align-items:center}.deposito-video-features li{text-align:left}.deposito-video-wrapper{max-width:280px}}

/* ===== OPCIÓN C — Card vídeo en portfolio (proyectos) ===== */
.portfolio-grid{grid-auto-flow:dense}
.portfolio-item--video{aspect-ratio:9/16!important;grid-row:span 2}
.portfolio-video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.25,.46,.45,.94)}
.portfolio-item--video:hover .portfolio-video{transform:scale(1.04)}
.portfolio-video-badge{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;background:rgba(11,16,24,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 12px rgba(0,0,0,.25);pointer-events:none}
.portfolio-video-badge svg{color:var(--green-primary)}
@media (max-width:900px){.portfolio-item--video{grid-row:span 2;aspect-ratio:9/16!important}}
@media (max-width:520px){.portfolio-item--video{grid-row:span 2;grid-column:span 2;aspect-ratio:9/16!important}}

/* ===== SECCIÓN RESEÑAS GOOGLE ===== */
.reviews-section{background:linear-gradient(180deg,var(--light-50) 0%,#fff 100%);padding:var(--space-16) 0}
.reviews-header{text-align:center;max-width:720px;margin:0 auto var(--space-12)}
.reviews-header .section-title{margin-bottom:var(--space-5)}
.reviews-rating-summary{display:inline-flex;align-items:center;gap:.65rem;padding:.65rem 1.25rem;background:#fff;border:1px solid var(--gray-200);border-radius:999px;box-shadow:0 2px 12px rgba(0,0,0,.04);flex-wrap:wrap;justify-content:center}
.reviews-stars{display:inline-flex;gap:2px;line-height:0}
.reviews-rating-value{font-family:var(--font-heading);font-size:1.4rem;font-weight:800;color:var(--dark-900)}
.reviews-rating-count{font-size:.85rem;color:var(--text-muted);font-weight:500}
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-10)}
.review-card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:0 2px 16px rgba(0,0,0,.04);transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;flex-direction:column;gap:var(--space-4);position:relative}
.review-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08);border-color:rgba(140,198,63,.25)}
.review-card-header{display:flex;align-items:center;gap:var(--space-3)}
.review-avatar{width:44px;height:44px;min-width:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--font-heading);font-size:1.1rem;text-transform:uppercase;flex-shrink:0}
.review-info{flex:1;min-width:0}
.review-author{margin:0 0 4px;font-size:.95rem;font-weight:700;color:var(--dark-900);font-family:var(--font-body);line-height:1.25;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.review-badge-local-guide{display:inline-block;padding:1px 7px;background:rgba(66,133,244,.1);color:#1A73E8;font-size:.62rem;font-weight:700;letter-spacing:.02em;border-radius:4px;text-transform:uppercase}
.review-meta{display:flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.78rem}
.review-stars{display:inline-flex;gap:1px;line-height:0}
.review-date{color:var(--gray-500);font-size:.78rem}
.review-google-badge{flex-shrink:0;opacity:.92}
.review-text{margin:0;color:var(--dark-700);font-size:.96rem;line-height:1.65;font-style:italic;quotes:none}
.review-text::before{content:'';display:none}
.review-translation{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.55;padding:.6rem .85rem;background:var(--light-50);border-left:3px solid var(--green-primary);border-radius:0 6px 6px 0}
.review-translation em{font-style:normal;color:var(--dark-600)}
.reviews-footer{text-align:center}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:var(--space-3) var(--space-6);background:#fff;color:var(--dark-900);border:2px solid var(--dark-900);border-radius:var(--radius-md);font-weight:700;text-decoration:none;transition:all var(--transition-base);font-family:var(--font-body)}
.btn-outline:hover{background:var(--dark-900);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
@media (max-width:768px){.reviews-grid{grid-template-columns:1fr;gap:var(--space-4)}.review-card{padding:var(--space-5)}}

/* Nota inline de traducción en reseñas */
.review-translated-note{display:inline-block;margin-left:.35rem;font-size:.78rem;color:var(--gray-500);font-style:normal;font-weight:500;opacity:.85}

/* ===== BLOQUE RESEÑAS COMPACTO (provincias) ===== */
.reviews-compact-section{padding:var(--space-12) 0;background:linear-gradient(180deg,#fff 0%,var(--light-50) 100%)}
.reviews-compact-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);max-width:900px;margin:0 auto;padding:var(--space-6) var(--space-8);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:0 4px 24px rgba(0,0,0,.06);flex-wrap:wrap}
.reviews-compact-content{flex:1;min-width:280px;display:flex;flex-direction:column;gap:.4rem}
.reviews-compact-stars{display:inline-flex;gap:3px;line-height:0}
.reviews-compact-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--dark-700);font-family:var(--font-body);line-height:1.4;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.reviews-compact-title strong{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;color:var(--dark-900);line-height:1}
.reviews-compact-google{display:inline-block;vertical-align:middle}
.reviews-compact-subtitle{margin:0;font-size:.85rem;color:var(--text-muted);font-weight:500}
@media (max-width:640px){.reviews-compact-card{flex-direction:column;text-align:center;padding:var(--space-6);gap:var(--space-4)}.reviews-compact-title{justify-content:center}}
