:root{
  --navy:#071f46;
  --navy-2:#0b2f66;
  --blue:#0e5ea8;
  --green:#69b928;
  --green-dark:#4c9417;
  --gold:#f2a900;
  --ink:#0a1830;
  --muted:#617086;
  --paper:#f6f9fc;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
body.menu-open{overflow:hidden}
::selection{background:rgba(105,185,40,.22);color:var(--navy)}
.container-site{width:min(1180px,calc(100% - 2rem));margin-inline:auto}
@media(min-width:768px){.container-site{width:min(1180px,calc(100% - 3rem))}}
.shadow-soft{box-shadow:0 18px 55px rgba(7,31,70,.12)}
.shadow-card{box-shadow:0 16px 38px rgba(7,31,70,.08)}
.glass{background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.text-balance{text-wrap:balance}
.section-kicker{letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:var(--green-dark)}
.section-title{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;font-weight:800;letter-spacing:-.035em}
.hero-title{font-size:clamp(2.45rem,6vw,5.6rem);line-height:.98;font-weight:900;letter-spacing:-.055em}
.hero-slider{position:relative;min-height:680px;background:var(--navy);overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,44,.94) 0%,rgba(4,19,44,.76) 42%,rgba(4,19,44,.28) 72%,rgba(4,19,44,.18) 100%)}
.hero-slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 7s ease}
.hero-slide.active .hero-slide-bg{transform:scale(1)}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px}
.hero-dots button{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.45);transition:.25s}
.hero-dots button.active{width:30px;background:var(--green)}
.nav-link{position:relative;font-weight:700;color:#172a48;transition:.2s}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--green);transition:.25s}
.nav-link:hover,.nav-link.active{color:var(--green-dark)}
.nav-link:hover::after,.nav-link.active::after{right:0}
.dropdown-panel{opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}
.group:hover>.dropdown-panel,.group:focus-within>.dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}
.icon-bubble{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(105,185,40,.14),rgba(14,94,168,.08));color:var(--green-dark)}
.card-lift{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.card-lift:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(7,31,70,.13);border-color:rgba(105,185,40,.45)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:.8rem;background:linear-gradient(135deg,var(--green),#79ca31);color:#fff;font-weight:800;padding:.9rem 1.25rem;box-shadow:0 12px 25px rgba(105,185,40,.24);transition:.25s}
.btn-primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#5bab22,#7bcf31);box-shadow:0 16px 30px rgba(105,185,40,.32)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:.8rem;background:var(--navy);color:#fff;font-weight:800;padding:.9rem 1.25rem;transition:.25s}
.btn-secondary:hover{transform:translateY(-2px);background:var(--navy-2)}
.btn-outline-light{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid rgba(255,255,255,.6);border-radius:.8rem;color:#fff;font-weight:800;padding:.9rem 1.25rem;transition:.25s}
.btn-outline-light:hover{background:#fff;color:var(--navy)}
.pattern-dots{background-image:radial-gradient(rgba(105,185,40,.32) 1.3px,transparent 1.3px);background-size:18px 18px}
.bg-energy{background:radial-gradient(circle at 80% 20%,rgba(105,185,40,.18),transparent 28%),radial-gradient(circle at 10% 100%,rgba(14,94,168,.22),transparent 30%),linear-gradient(135deg,#051936,#082859 58%,#0a356d)}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(5,25,54,.98),rgba(8,45,94,.93));color:#fff}
.page-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;mix-blend-mode:screen}
.service-band{background:linear-gradient(135deg,#f8fbfe,#eef6f7)}
.stat-value{font-variant-numeric:tabular-nums}
.faq-item .faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-answer{max-height:500px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-chevron{transition:transform .25s}
.form-control{width:100%;border:1px solid #d7e0eb;border-radius:.8rem;padding:.9rem 1rem;outline:none;background:#fff;transition:.2s;color:#0a1830}
.form-control:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(105,185,40,.12)}
.form-control::placeholder{color:#8b98aa}
.toast{position:fixed;right:1rem;bottom:1rem;z-index:100;width:min(390px,calc(100% - 2rem));transform:translateY(120%);opacity:0;transition:.35s;background:#fff;border:1px solid #dbe5ef;border-radius:1rem;box-shadow:0 20px 55px rgba(7,31,70,.18);padding:1rem}
.toast.show{transform:translateY(0);opacity:1}
.mobile-menu{transform:translateX(100%);transition:transform .3s ease}
.mobile-menu.open{transform:translateX(0)}
.mobile-overlay{opacity:0;visibility:hidden;transition:.3s}
.mobile-overlay.open{opacity:1;visibility:visible}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.back-to-top{opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.footer-link{color:#b7c5d8;transition:.2s}.footer-link:hover{color:#fff;transform:translateX(3px)}
@media(max-width:1023px){.hero-slider{min-height:720px}.hero-slide::after{background:linear-gradient(90deg,rgba(4,19,44,.94),rgba(4,19,44,.72))}}
@media(max-width:640px){.hero-slider{min-height:760px}.hero-slide::after{background:linear-gradient(180deg,rgba(4,19,44,.72),rgba(4,19,44,.93) 58%,rgba(4,19,44,.97))}.hero-title{font-size:clamp(2.6rem,14vw,4.25rem)}}
