/* ===================== VARIABLES ===================== */
:root {
    --green:       #00A859;
    --green-dark:  #008040;
    --green-light: #00C870;
    --green-neon:  #00E880;
    --bg:          #eaecf0;
    --bg-2:        #e3e5ea;
    --surface:     #ffffff;
    --text:        #1a1f2e;
    --muted:       #5a6275;
    --white:       #ffffff;
    --gold:        #F0A500;
    --wa:          #25D366;
    --grad-green:  linear-gradient(135deg, #006633 0%, #00A651 50%, #00E870 100%);
    --glow:        0 0 40px rgba(0,168,89,.3);
    --glow-sm:     0 0 20px rgba(0,168,89,.15);
    --radius:      18px;
    --radius-sm:   10px;
    --brand-orange: #FF6B00;
    --brand-blue:  #1A73E8;
}

/* ===================== RESET ===================== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:'Poppins',sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
    line-height:1.6;
}
body::before {
    content:''; position:fixed; inset:0; z-index:9990; pointer-events:none;
    opacity:.5;
    background:
        radial-gradient(ellipse 50% 50% at 20% 0%, rgba(0,168,89,.06) 0%, transparent 50%),
        radial-gradient(ellipse 40% 30% at 80% 90%, rgba(236,110,0,.04) 0%, transparent 40%);
}
img { display:block; max-width:100%; }
a { text-decoration:none; }
ul { list-style:none; }

::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(0,168,89,.3); border-radius:3px; }

/* ===================== UTILITIES ===================== */
.glass {
    background:rgba(255,255,255,.8);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(0,0,0,.08);
}
.gradient-text {
    background:var(--grad-green);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
.neon-border { border:1px solid rgba(0,255,136,.3); box-shadow:0 0 20px rgba(0,255,136,.1), inset 0 0 20px rgba(0,255,136,.05); }

/* ===================== NAVBAR ===================== */
.navbar {
    position:fixed; top:0; left:0; width:100%; z-index:900;
    padding:20px 0; transition:all .4s ease;
}
.navbar.sticky {
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    padding:12px 0;
    border-bottom:1px solid rgba(0,168,89,.15);
    box-shadow:0 4px 30px rgba(0,0,0,.08), 0 1px 0 rgba(0,168,89,.1);
}
.navbar.sticky .nav-links a { color:var(--muted); }
.navbar.sticky .nav-links a:hover { color:var(--text); }
.navbar.sticky .nav-logo-name { color:var(--text); }
.nav-inner {
    max-width:1240px; margin:0 auto; padding:0 30px;
    display:flex; align-items:center; justify-content:space-between;
}
.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo img { width:42px; height:42px; object-fit:contain; border-radius:8px; }
.nav-logo-name { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.4rem; color:var(--white); letter-spacing:-.5px; }
.nav-logo-name span { color:var(--green); }

.nav-links { display:flex; gap:30px; align-items:center; }
.nav-links a { color:var(--muted); font-size:.85rem; font-weight:500; transition:color .3s; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--green); transition:width .3s; border-radius:2px; }
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:100%; }

.nav-cta {
    background:var(--green); color:var(--white)!important;
    padding:10px 24px; border-radius:50px; font-weight:700!important;
    transition:all .3s!important; box-shadow:0 4px 20px rgba(0,166,81,.3);
}
.nav-cta::after { display:none!important; }
.nav-cta:hover { background:var(--green-dark)!important; transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,166,81,.5)!important; }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:all .3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ===================== HERO ===================== */
.hero {
    min-height:100vh; display:flex; align-items:center;
    position:relative; overflow:hidden; padding-top:80px;
}
.hero-bg {
    position:absolute; inset:0;
    background:
        radial-gradient(ellipse 70% 60% at 15% 45%, rgba(0,168,89,.10) 0%, transparent 50%),
        radial-gradient(ellipse 50% 40% at 85% 70%, rgba(236,110,0,.05) 0%, transparent 40%),
        linear-gradient(170deg, #e8eaf0 0%, #eff0f4 30%, #e8eaf0 100%);
}
.hero-bg::after {
    content:''; position:absolute; inset:0;
    background:repeating-linear-gradient(
        -80deg,
        transparent,
        transparent 60px,
        rgba(0,168,89,.02) 60px,
        rgba(0,168,89,.02) 62px
    );
    mask-image:radial-gradient(ellipse 85% 85% at 50% 45%, black 20%, transparent 70%);
    pointer-events:none;
}
/* Static grid — no movement */
.hero-grid {
    position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px);
    background-size:80px 80px;
    mask-image:radial-gradient(ellipse 75% 75% at 50% 50%, black 10%, transparent 78%);
    pointer-events:none;
}

/* Floating orbs */
.hero-orb {
    position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; pointer-events:none;
    animation:orbFloat 8s ease-in-out infinite;
}
.orb-1 { width:480px; height:480px; background:radial-gradient(circle, rgba(0,192,96,.18), transparent 70%); top:-90px; left:-60px; animation-delay:0s; }
.orb-2 { width:320px; height:320px; background:radial-gradient(circle, rgba(236,110,0,.12), transparent 70%); bottom:-40px; right:5%; animation-delay:-3s; }
.orb-3 { width:260px; height:260px; background:radial-gradient(circle, rgba(26,115,232,.12), transparent 70%); top:35%; right:25%; animation-delay:-6s; }
@keyframes orbFloat { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-25px) scale(1.03)} }

.hero-inner {
    max-width:1240px; margin:0 auto; padding:80px 30px 100px;
    display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center;
    position:relative; z-index:1;
}

/* Hero badge */
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(0,168,89,.06); border:1px solid rgba(0,168,89,.2);
    border-radius:50px; padding:7px 18px;
    font-size:.72rem; font-weight:700; color:var(--green-dark);
    letter-spacing:1.5px; text-transform:uppercase; margin-bottom:22px;
}
.hero-badge-dot { width:7px; height:7px; background:var(--green); border-radius:50%; animation:blink 2s ease-in-out infinite; box-shadow:0 0 8px var(--green); }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

/* Hero title */
.hero-title {
    font-family:'Montserrat',sans-serif; font-weight:900;
    font-size:clamp(2.2rem,4.5vw,3.9rem); line-height:1.1; margin-bottom:22px;
    letter-spacing:-.5px;
}


.hero-text { font-size:1rem; color:var(--muted); line-height:1.8; margin-bottom:36px; max-width:480px; }

.hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:50px; }

/* Buttons */
.btn-green {
    display:inline-flex; align-items:center; gap:9px;
    background:var(--green); color:var(--white);
    padding:14px 30px; border-radius:50px;
    font-weight:700; font-size:.9rem; transition:all .3s; border:none; cursor:pointer;
    box-shadow:0 6px 24px rgba(0,166,81,.4); position:relative; overflow:hidden;
}
.btn-green::before {
    content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
    transition:left .5s;
}
.btn-green:hover { background:var(--green-dark); transform:translateY(-3px); box-shadow:0 14px 35px rgba(0,166,81,.5); }
.btn-green:hover::before { left:100%; }

.btn-outline {
    display:inline-flex; align-items:center; gap:9px;
    background:transparent; color:var(--white);
    padding:14px 30px; border-radius:50px;
    font-weight:600; font-size:.9rem;
    border:2px solid rgba(255,255,255,.15); transition:all .3s;
}
.btn-outline:hover { border-color:var(--green); color:var(--green); transform:translateY(-3px); box-shadow:0 0 20px rgba(0,166,81,.2); }

/* Hero stats */
.hero-stats {
    display:flex; gap:0; padding-top:32px; border-top:1px solid rgba(0,0,0,.06);
}
.hero-stat { flex:1; text-align:center; padding:0 10px; border-right:1px solid rgba(0,0,0,.06); }
.hero-stat:last-child { border-right:none; }
.hero-stat-num { font-family:'Montserrat',sans-serif; font-size:1.8rem; font-weight:900; color:var(--green); }
.hero-stat-lbl { font-size:.68rem; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; margin-top:3px; }

/* Hero visual */
.hero-visual { position:relative; }
.hero-img-wrap {
    position:relative; border-radius:24px; overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.1), 0 0 30px rgba(0,168,89,.08);
}
.hero-img-wrap::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(8,12,16,.7) 100%);
    z-index:1; pointer-events:none;
}
.hero-slider { position:relative; width:100%; height:500px; overflow:hidden; }
.hero-slide {
    position:absolute; top:0; left:0; width:100%; height:100%;
    object-fit:cover; object-position:center;
    opacity:0; transition:opacity .8s ease;
}
.hero-slide.active { opacity:1; }
.hero-glow { position:absolute; inset:-30px; background:radial-gradient(ellipse, rgba(0,166,81,.15) 0%, transparent 65%); border-radius:40px; filter:blur(30px); z-index:-1; }

/* Floating cards */
.fcard {
    position:absolute; z-index:3;
    background:rgba(14,20,25,.9); backdrop-filter:blur(16px);
    border:1px solid rgba(0,166,81,.25); border-radius:16px;
    padding:14px 18px; min-width:155px;
    box-shadow:0 10px 30px rgba(0,0,0,.4), 0 0 20px rgba(0,166,81,.1);
}
.fcard-1 { top:-20px; right:-20px; animation:flt 4s ease-in-out infinite; }
.fcard-2 { bottom:-20px; left:-20px; animation:flt 4s ease-in-out infinite 2s; }
@keyframes flt { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.fcard-ico { font-size:1.4rem; margin-bottom:5px; }
.fcard-ttl { font-size:.75rem; font-weight:700; color:var(--green-light); }
.fcard-sub { font-size:.65rem; color:var(--muted); }

/* Route line decoration */
.route-line {
    position:absolute; top:50%; right:-30px; width:60px; height:2px;
    background:linear-gradient(90deg, var(--green), transparent); z-index:2;
}

/* ===================== SECTIONS COMMON ===================== */
section { padding:110px 0; }
.container { max-width:1240px; margin:0 auto; padding:0 30px; }

.sec-header { text-align:center; margin-bottom:70px; }
.sec-tag {
    display:inline-block; background:rgba(0,166,81,.08); border:1px solid rgba(0,166,81,.25);
    color:var(--green-light); padding:6px 20px; border-radius:50px;
    font-size:.7rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:16px;
}
.sec-title {
    font-family:'Montserrat',sans-serif; font-size:clamp(1.9rem,3.5vw,2.9rem);
    font-weight:900; margin-bottom:16px; letter-spacing:-.3px;
}
.sec-title span { color:var(--green); }
.sec-desc { color:var(--muted); font-size:.95rem; max-width:530px; margin:0 auto; line-height:1.8; }

/* Section divider */
.sec-divider { height:1px; background:linear-gradient(90deg, transparent, rgba(0,166,81,.3), transparent); }

/* ===================== STATS BAR ===================== */
.stats-bar {
    background:var(--white);
    border-top:1px solid rgba(0,0,0,.06);
    border-bottom:1px solid rgba(0,0,0,.06);
    padding:55px 0;
    box-shadow:0 2px 20px rgba(0,0,0,.04);
}
.stats-inner {
    max-width:1240px; margin:0 auto; padding:0 30px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.stat-item { text-align:center; padding:0 20px; border-right:1px solid rgba(0,0,0,.06); }
.stat-item:last-child { border-right:none; }
.stat-item-num {
    font-family:'Montserrat',sans-serif; font-size:clamp(2rem,4vw,3rem);
    font-weight:900; color:var(--green); display:block; line-height:1;
    margin-bottom:8px;
}
.stat-item-lbl { font-size:.78rem; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; }

/* ===================== SERVICES ===================== */
.services { background:linear-gradient(180deg, var(--bg), var(--surface)); position:relative; overflow:hidden; }
.services::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--green), var(--brand-orange), var(--green), transparent);
}
.services::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, rgba(0,192,96,.15), transparent);
}

.srv-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(290px,1fr)); gap:22px; }
.srv-card {
    background:var(--white); border:1px solid rgba(0,0,0,.06);
    border-radius:var(--radius); padding:36px 28px;
    transition:all .4s ease; position:relative; overflow:hidden; cursor:default;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.srv-card::before {
    content:''; position:absolute; top:0; left:0; width:100%; height:3px;
    background:linear-gradient(90deg, var(--green), var(--brand-orange));
    transform:scaleX(0); transform-origin:left; transition:transform .4s;
}
.srv-card::after {
    content:''; position:absolute; bottom:-60px; right:-60px; width:150px; height:150px;
    border-radius:50%; background:radial-gradient(circle, rgba(0,168,89,.06) 0%, transparent 70%);
    transition:all .4s;
}
.srv-card:hover { border-color:rgba(0,168,89,.3); transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.1), 0 0 25px rgba(0,168,89,.1); }
.srv-card:hover::before { transform:scaleX(1); }
.srv-card:hover::after { transform:scale(2); opacity:.7; }

.srv-icon {
    width:60px; height:60px; border-radius:16px; font-size:1.5rem;
    display:flex; align-items:center; justify-content:center; margin-bottom:22px;
    background:linear-gradient(135deg, rgba(0,90,40,.5), rgba(0,166,81,.2));
    border:1px solid rgba(0,166,81,.2); transition:all .3s;
}
.srv-card:hover .srv-icon { box-shadow:var(--glow-sm); transform:scale(1.08); }
.srv-name { font-size:1.05rem; font-weight:700; margin-bottom:10px; }
.srv-text { font-size:.84rem; color:var(--muted); line-height:1.7; }
.srv-arrow { color:var(--green); font-size:.8rem; margin-top:16px; display:block; opacity:0; transition:opacity .3s; }
.srv-card:hover .srv-arrow { opacity:1; }

/* ===================== HOW IT WORKS ===================== */
.how { background:var(--bg); position:relative; overflow:hidden; }
.how-bg {
    position:absolute; inset:0;
    background-image:radial-gradient(rgba(0,168,89,.03) 1px, transparent 1px);
    background-size:30px 30px;
    mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent);
}
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; position:relative; }
.how-connector {
    position:absolute; top:55px; left:calc(16.66% + 20px); right:calc(16.66% + 20px); height:2px;
    background:linear-gradient(90deg, var(--green-dark), var(--green), var(--green-dark));
    z-index:0;
}
.how-connector::before, .how-connector::after {
    content:''; position:absolute; top:50%; transform:translateY(-50%);
    width:10px; height:10px; border-radius:50%; background:var(--green);
    box-shadow:0 0 12px var(--green);
}
.how-connector::before { left:0; }
.how-connector::after { right:0; }

.how-step { text-align:center; position:relative; z-index:1; }
.how-num-wrap {
    width:110px; height:110px; margin:0 auto 28px;
    border-radius:50%; display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--surface), var(--bg));
    border:2px solid rgba(0,168,89,.25);
    box-shadow:0 0 0 8px rgba(0,168,89,.04), 0 15px 30px rgba(0,0,0,.06);
    transition:all .4s;
}
.how-step:hover .how-num-wrap { border-color:var(--green); box-shadow:0 0 0 10px rgba(0,168,89,.08), 0 0 35px rgba(0,168,89,.15); }
.how-step-icon { font-size:2rem; margin-bottom:2px; }
.how-num { font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:800; color:var(--green); letter-spacing:2px; text-transform:uppercase; }
.how-ttl { font-weight:800; font-size:1.05rem; margin-bottom:10px; }
.how-txt { font-size:.84rem; color:var(--muted); line-height:1.7; max-width:220px; margin:0 auto; }

/* ===================== FLEET ===================== */
.fleet { background:var(--surface); }
.vehicle-card {
    background:var(--white); border:1px solid rgba(0,0,0,.06);
    border-radius:var(--radius); overflow:hidden; transition:all .4s; height:100%; cursor:pointer;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.vehicle-card:hover { border-color:rgba(0,168,89,.3); transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.1), 0 0 25px rgba(0,168,89,.1); }
.v-img-wrap { overflow:hidden; position:relative; }
.v-img { width:100%; height:230px; object-fit:cover; transition:transform .6s ease; }
.vehicle-card:hover .v-img { transform:scale(1.07); }
.v-overlay {
    position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.7) 100%);
    display:flex; align-items:flex-end; padding:16px;
    opacity:0; transition:opacity .4s;
}
.vehicle-card:hover .v-overlay { opacity:1; }
.v-overlay-txt { font-size:.78rem; color:rgba(255,255,255,.8); display:flex; align-items:center; gap:6px; }
.v-info { padding:20px 22px; }
.v-badge { display:inline-block; background:linear-gradient(135deg, rgba(0,168,89,.12), rgba(0,168,89,.04)); color:var(--green-dark); padding:4px 13px; border-radius:50px; font-size:.7rem; font-weight:700; margin-bottom:10px; border:1px solid rgba(0,168,89,.2); }
.v-name { font-size:1.1rem; font-weight:800; margin-bottom:6px; }
.v-desc { font-size:.82rem; color:var(--muted); line-height:1.65; }

.swiper-pagination-bullet { background:var(--muted); opacity:1; width:8px; height:8px; }
.swiper-pagination-bullet-active { background:var(--green); width:28px; border-radius:4px; box-shadow:0 0 10px rgba(0,168,89,.5); }

/* ===================== COVERAGE ===================== */
.coverage { background:linear-gradient(180deg, var(--bg), rgba(26,115,232,.03), var(--bg)); }
.cov-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.cov-info .sec-tag { text-align:left; }
.cov-title { font-family:'Montserrat',sans-serif; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:900; margin-bottom:18px; line-height:1.15; }
.cov-title span { color:var(--green); }
.cov-text { color:var(--muted); line-height:1.8; margin-bottom:32px; }
.cov-list { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-bottom:36px; }
.cov-list li { display:flex; align-items:center; gap:10px; font-size:.87rem; color:var(--muted); }
.cov-list li i { color:var(--green); font-size:.75rem; }
.map-box {
    border-radius:24px; overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.06);
    position:relative;
}
.map-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad-green); z-index:2; }
.map-box iframe { width:100%; height:430px; border:none; display:block; filter:invert(93%) hue-rotate(163deg) saturate(.8) brightness(.88); }

/* ===================== WHY US ===================== */
.why { background:linear-gradient(180deg, var(--bg-2), rgba(0,192,96,.03), var(--bg-2)); }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:24px; }
.why-card {
    text-align:center; padding:40px 24px;
    background:var(--white); border:1px solid rgba(0,0,0,.06);
    border-radius:var(--radius); transition:all .4s;
    position:relative; overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.why-card::before {
    content:''; position:absolute; inset:0; border-radius:var(--radius);
    background:radial-gradient(circle at 50% 0%, rgba(0,168,89,.06) 0%, transparent 70%);
    opacity:0; transition:opacity .4s;
}
.why-card:hover { border-color:rgba(0,168,89,.3); transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.1), 0 0 20px rgba(0,168,89,.1); }
.why-card:hover::before { opacity:1; }
.why-icon { font-size:2.6rem; margin-bottom:18px; display:block; }
.why-ttl { font-weight:800; font-size:1rem; margin-bottom:10px; }
.why-txt { font-size:.83rem; color:var(--muted); line-height:1.7; }

/* ===================== TESTIMONIALS ===================== */
.testimonials { background:linear-gradient(180deg, var(--bg), rgba(236,110,0,.02), var(--bg)); }
.testi-badge {
    display:inline-flex; align-items:center; gap:7px;
    background:rgba(240,165,0,.08); border:1px solid rgba(240,165,0,.25);
    color:var(--gold); padding:6px 16px; border-radius:50px;
    font-size:.72rem; font-weight:700; margin:0 auto 45px; width:fit-content;
}
.testi-card {
    background:var(--white); border:1px solid rgba(0,0,0,.06);
    border-radius:var(--radius); padding:36px 30px; transition:all .4s; height:100%;
    position:relative; overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.testi-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg, transparent, rgba(240,165,0,.5), transparent);
    opacity:0; transition:opacity .4s;
}
.testi-card:hover { border-color:rgba(240,165,0,.25); transform:translateY(-5px); box-shadow:0 20px 40px rgba(0,0,0,.1); }
.testi-card:hover::before { opacity:1; }
.testi-quote { position:absolute; top:20px; right:24px; font-size:3.5rem; font-family:'Montserrat',sans-serif; font-weight:900; color:rgba(0,168,89,.06); line-height:1; }
.testi-stars { color:var(--gold); font-size:.85rem; margin-bottom:16px; letter-spacing:2px; }
.testi-text { font-size:.9rem; color:var(--muted); line-height:1.8; margin-bottom:26px; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:14px; }
.testi-avatar {
    width:46px; height:46px; border-radius:50%; flex-shrink:0;
    background:var(--grad-green); display:flex; align-items:center; justify-content:center;
    font-size:1rem; font-weight:800; color:var(--white);
}
.testi-name { font-weight:700; font-size:.9rem; }
.testi-role { font-size:.74rem; color:var(--muted); margin-top:2px; }
.testi-verified { display:inline-flex; align-items:center; gap:4px; font-size:.65rem; color:var(--green); margin-top:3px; }

/* ===================== PARTNERS ===================== */
.partners { background:var(--bg); }
.partner-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:22px; }
.partner-card { background:var(--white); border:1px solid rgba(0,0,0,.06);
    border-radius:var(--radius); padding:32px 24px 28px; text-align:center;
    transition:all .4s ease; box-shadow:0 2px 12px rgba(0,0,0,.04);
    position:relative; overflow:hidden;
}
.partner-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--green), var(--brand-blue));
    transform:scaleX(0); transform-origin:center; transition:transform .4s;
}
.partner-card:hover { border-color:rgba(0,168,89,.25); transform:translateY(-6px); box-shadow:0 16px 45px rgba(0,0,0,.1), 0 0 20px rgba(0,168,89,.08); }
.partner-card:hover::before { transform:scaleX(1); }

.partner-name { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.9rem; margin-bottom:18px; color:var(--text); letter-spacing:.3px; }

.partner-logo-wrap {
    width:100%; height:90px; margin:0 auto 18px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,.02); border-radius:10px;
    padding:10px;
}
.partner-card:hover .partner-logo-wrap { background:rgba(0,168,89,.04); }

.partner-logo { max-width:100%; max-height:100%; object-fit:contain; display:block; }

.partner-desc { font-size:.82rem; color:var(--muted); line-height:1.7; }

/* ===================== CONTACT ===================== */
.contact { background:linear-gradient(180deg, var(--bg-2), var(--bg)); }
.cnt-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:70px; align-items:start; }
.cnt-left h2 { font-family:'Montserrat',sans-serif; font-size:clamp(1.6rem,2.5vw,2.1rem); font-weight:900; margin-bottom:14px; }
.cnt-left h2 span { color:var(--green); }
.cnt-left > p { color:var(--muted); line-height:1.8; margin-bottom:36px; }

.cnt-items { display:flex; flex-direction:column; gap:18px; }
.cnt-item { display:flex; align-items:center; gap:16px; }
.cnt-ico {
    width:48px; height:48px; flex-shrink:0;
    background:rgba(0,166,81,.08); border:1px solid rgba(0,166,81,.2);
    border-radius:14px; display:flex; align-items:center; justify-content:center;
    color:var(--green); font-size:1rem; transition:all .3s;
}
.cnt-item:hover .cnt-ico { background:rgba(0,166,81,.15); box-shadow:var(--glow-sm); }
.cnt-item-txt span { display:block; font-size:.68rem; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; }
.cnt-item-txt strong { font-size:.92rem; }

/* Form */
.cnt-form {
    background:var(--white);
    border:1px solid rgba(0,0,0,.06);
    border-radius:24px; padding:44px;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
    position:relative; overflow:hidden;
}
.cnt-form::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--grad-green);
}
.form-title { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.15rem; margin-bottom:24px; }
.form-title span { color:var(--green); }

.fg { margin-bottom:18px; }
.fg label { display:block; font-size:.78rem; font-weight:600; color:var(--muted); margin-bottom:8px; letter-spacing:.5px; text-transform:uppercase; }
.fg input, .fg select, .fg textarea {
    width:100%; background:var(--bg); border:1px solid rgba(0,0,0,.08);
    border-radius:var(--radius-sm); padding:13px 16px; color:var(--text);
    font-family:'Poppins',sans-serif; font-size:.88rem; outline:none; transition:all .3s;
}
.fg input:focus, .fg select:focus, .fg textarea:focus {
    border-color:var(--green); background:var(--white);
    box-shadow:0 0 0 3px rgba(0,168,89,.08), 0 0 12px rgba(0,168,89,.08);
}
.fg input::placeholder, .fg textarea::placeholder { color:rgba(90,98,117,.4); }
.fg textarea { height:115px; resize:vertical; }
.fg select { appearance:none; cursor:pointer; }
.fg select option { background:var(--surface); }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fg-row-2 { grid-template-columns:1fr 1fr; }

.map-link-box {
    display:flex; align-items:center; gap:10px;
    background:rgba(0,166,81,.06); border:1px solid rgba(0,166,81,.2);
    border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:18px;
    font-size:.78rem; color:var(--muted);
}
.map-link-box i { color:var(--green); font-size:.95rem; }

.btn-submit {
    width:100%; background:var(--green); color:var(--white); border:none;
    border-radius:var(--radius-sm); padding:15px; font-family:'Poppins',sans-serif;
    font-size:.95rem; font-weight:700; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:10px;
    transition:all .3s; position:relative; overflow:hidden;
    box-shadow:0 6px 24px rgba(0,166,81,.35);
}
.btn-submit::before {
    content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
    transition:left .5s;
}
.btn-submit:hover { background:var(--green-dark); transform:translateY(-2px); box-shadow:0 12px 35px rgba(0,166,81,.45); }
.btn-submit:hover::before { left:100%; }
.btn-submit.sent { background:#128C7E; }

.form-note { text-align:center; font-size:.75rem; color:var(--muted); margin-top:14px; }
.form-note i { color:var(--wa); margin-right:4px; }

/* ===================== FOOTER ===================== */
footer { background:linear-gradient(180deg, #1a1f2e, #111622); border-top:1px solid rgba(255,255,255,.06); padding:70px 0 30px; position:relative; color:#c0c8d4; }
footer::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--green), var(--brand-orange), transparent); }

.ft-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:44px; margin-bottom:60px; }
.ft-brand img { width:50px; border-radius:10px; margin-bottom:18px; }
.ft-brand p { font-size:.84rem; color:#8892a0; line-height:1.8; max-width:260px; margin-bottom:24px; }
.socials { display:flex; gap:10px; }
.social-a {
    width:40px; height:40px; background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08); border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    color:#8892a0; font-size:.9rem; transition:all .3s;
}
.social-a:hover { background:var(--green); color:var(--white); border-color:var(--green); transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,168,89,.4); }

.ft-col h4 { font-size:.85rem; font-weight:700; margin-bottom:22px; color:#e8ecf0; letter-spacing:.5px; }
.ft-links { display:flex; flex-direction:column; gap:12px; }
.ft-links a { color:#8892a0; font-size:.83rem; display:flex; align-items:center; gap:8px; transition:color .3s; }
.ft-links a i { font-size:.68rem; transition:transform .3s; }
.ft-links a:hover { color:var(--green); }
.ft-links a:hover i { transform:translateX(3px); }

.ft-bottom { border-top:1px solid rgba(255,255,255,.05); padding-top:28px; display:flex; justify-content:space-between; align-items:center; }
.ft-bottom p { font-size:.78rem; color:#6b7280; }
.ft-bottom-logo { display:flex; align-items:center; gap:8px; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.9rem; color:#e8ecf0; }
.ft-bottom-logo span { color:var(--green); }

/* ===================== WHATSAPP FLOAT ===================== */
.wa-float { position:fixed; bottom:28px; right:28px; z-index:850; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.wa-tip {
    background:rgba(255,255,255,.95); backdrop-filter:blur(10px);
    color:var(--text); padding:9px 18px; border-radius:50px;
    font-size:.8rem; font-weight:600; white-space:nowrap;
    border:1px solid rgba(37,211,102,.3); opacity:0; transform:translateX(10px);
    transition:all .35s; pointer-events:none; box-shadow:0 8px 25px rgba(0,0,0,.1);
}
.wa-float:hover .wa-tip { opacity:1; transform:translateX(0); }
.wa-btn {
    width:64px; height:64px; background:var(--wa); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:2rem; color:var(--white);
    box-shadow:0 8px 30px rgba(37,211,102,.5);
    transition:all .3s; animation:waPulse 3s ease-in-out infinite;
    border:3px solid rgba(255,255,255,.15);
}
@keyframes waPulse {
    0%,100%{ box-shadow:0 8px 30px rgba(37,211,102,.5) }
    50%{ box-shadow:0 8px 50px rgba(37,211,102,.9), 0 0 0 14px rgba(37,211,102,.08) }
}
.wa-btn:hover { transform:scale(1.1) rotate(5deg); background:#128C7E; }

/* ===================== TOAST NOTIFICATIONS ===================== */
.toast-container {
    position:fixed; top:90px; right:24px; z-index:9999;
    display:flex; flex-direction:column; gap:10px;
    pointer-events:none;
}
.toast {
    pointer-events:auto;
    background:var(--white); border:1px solid rgba(0,0,0,.08);
    border-radius:14px; padding:16px 20px; min-width:300px; max-width:420px;
    display:flex; align-items:flex-start; gap:14px;
    box-shadow:0 20px 60px rgba(0,0,0,.15);
    transform:translateX(120%); opacity:0;
    transition:all .45s cubic-bezier(.16,1,.3,1);
}
.toast.show { transform:translateX(0); opacity:1; }
.toast-icon {
    width:36px; height:36px; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    font-size:.85rem;
}
.toast-icon.success { background:rgba(0,166,81,.15); color:var(--green); border:1px solid rgba(0,166,81,.25); }
.toast-icon.error { background:rgba(255,71,71,.15); color:#ff4747; border:1px solid rgba(255,71,71,.25); }
.toast-icon.info { background:rgba(37,211,102,.15); color:var(--wa); border:1px solid rgba(37,211,102,.25); }
.toast-body { flex:1; min-width:0; }
.toast-title { font-size:.82rem; font-weight:700; color:var(--text); margin-bottom:3px; }
.toast-msg { font-size:.75rem; color:var(--muted); line-height:1.4; }
.toast-close {
    width:24px; height:24px; border-radius:50%; border:none; background:rgba(0,0,0,.04);
    color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center;
    font-size:.65rem; flex-shrink:0; transition:all .2s;
}
.toast-close:hover { background:rgba(0,0,0,.1); color:var(--text); }

/* ===================== RESPONSIVE ===================== */
@media(max-width:1024px) {
    .stats-inner { grid-template-columns:repeat(2,1fr); gap:30px; }
    .stat-item { border-right:none; border-bottom:1px solid rgba(0,0,0,.06); padding-bottom:20px; }
    .stat-item:nth-child(2n) { border-right:none; }
    .ft-grid { grid-template-columns:1fr 1fr; }
    .ft-brand { grid-column:1/-1; }
    .how-grid { grid-template-columns:1fr; gap:50px; }
    .how-connector { display:none; }
}
@media(max-width:768px) {
    .hero-orb { opacity:.2; }
    .orb-3 { display:none; }
    .nav-links {
        display:none; position:absolute; top:100%; left:0; width:100%;
        background:rgba(255,255,255,.98); backdrop-filter:blur(20px);
        flex-direction:column; padding:24px 30px; gap:16px;
        border-top:1px solid rgba(0,168,89,.15);
        box-shadow:0 20px 40px rgba(0,0,0,.1);
    }
    .nav-links.open { display:flex; }
    .nav-links a { color:var(--text); }
    .hamburger { display:flex; }
    section { padding:80px 0; }
    .hero-inner { grid-template-columns:1fr; padding-top:50px; gap:40px; }
    .hero-visual { margin-top:20px; }
    .hero-slider { height:280px; }
    .hero-btns { justify-content:flex-start; }
    .hero-stats { flex-wrap:wrap; gap:0; }
    .hero-stat { min-width:50%; }
    .stats-inner { grid-template-columns:repeat(2,1fr); }
    .cov-grid, .cnt-grid { grid-template-columns:1fr; }
    .cov-list { grid-template-columns:1fr; }
    .fg-row, .fg-row-2 { grid-template-columns:1fr; }
    .cnt-form { padding:28px 22px; }
    .ft-bottom { flex-direction:column; gap:10px; text-align:center; }
}
@media(max-width:480px) {
    section { padding:65px 0; }
    .hero-stats { flex-direction:column; gap:15px; }
    .hero-stat { border-right:none; }
    .stats-inner { grid-template-columns:1fr; }
    .stat-item { border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:20px; }
    .hero-btns { flex-direction:column; }
    .btn-green, .btn-outline { width:100%; justify-content:center; }
}

/* ============================================================
   COMPACTACION PARA CELULAR (agregado) — menos scroll en mobile
   ============================================================ */
@media(max-width:768px){
    section { padding:46px 0; }
    .sec-header { margin-bottom:28px; }
    .sec-title { font-size:1.55rem; margin-bottom:10px; }
    .sec-desc { font-size:.9rem; line-height:1.6; }

    /* Hero mas bajo: titulo mas chico y ocultamos la imagen decorativa */
    .hero-inner { padding:24px 30px 10px; gap:18px; }
    .hero-title { font-size:1.95rem; margin-bottom:14px; }
    .hero-text { font-size:.95rem; line-height:1.6; margin-bottom:22px; }
    .hero-visual { display:none; }
    .hero-stats { margin-top:22px; }

    /* Grillas y tarjetas mas juntas */
    .srv-grid, .partner-grid, .why-grid { gap:14px; }
    .how-grid { gap:22px; }
    .srv-card { padding:24px 20px; }
    .why-card { padding:26px 22px; }
    .partner-card { padding:24px 20px; }
    .cnt-form { padding:24px 18px; }

    footer { padding:42px 0 24px; }
}
@media(max-width:480px){
    section { padding:38px 0; }
    .hero-title { font-size:1.75rem; }
    .sec-title { font-size:1.4rem; }
    .sec-header { margin-bottom:24px; }
}

/* Apriete final mobile: formulario y cajas de logos */
@media(max-width:768px){
    .fg { margin-bottom:12px; }
    .partner-logo-wrap { height:70px; margin-bottom:12px; }
    .partner-name { margin-bottom:12px; }
    .why-icon { font-size:2.2rem; margin-bottom:12px; }
    .cov-title, .why-icon { margin-bottom:12px; }
}
