:root{
  --green:#1f8a37;
  --green-dark:#156327;
  --sun:#f49b0b;
  --muted:#6b7280;
  --bg:#ffffff;
  --max-width:1200px;
  --container-padding:20px;
}
*{box-sizing:border-box}
body{font-family:'Inter',system-ui,Arial,sans-serif;margin:0;color:#0f1724;background:var(--bg);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max-width);margin:0 auto;padding:30px var(--container-padding)}
header{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo-icon{height:100px;flex:0 0 250px}
nav{display:flex;gap:18px}
nav a{color:var(--green-dark);text-decoration:none;font-weight:600}
.cta{background:var(--sun);color:#111;padding:10px 14px;border-radius:8px;font-weight:700;text-decoration:none}
.hero{display:grid;grid-template-columns:1fr;gap:22px;align-items:center;padding:48px 0}
.hero-inner{display:flex;flex-direction:column;gap:18px}
.eyebrow{color:var(--green);font-weight:700}
.hero h1{font-size:36px;line-height:1.05;margin:0;color:#042029}
.hero p{font-size:20px;color:var(--muted);max-width:680px;margin:0}
.btn-primary{background:var(--green);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700}
.btn-outline{border:2px solid var(--green);padding:10px 16px;border-radius:10px;color:var(--green);text-decoration:none;font-weight:700}
.hero-visual{display:flex;justify-content:center;align-items:center}
.hero-image{width:100%;max-width:560px;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,36,0.08);background:linear-gradient(180deg,#eefaf2 0%, #ffffff 100%);height:350px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
section{padding:48px 0;border-top:1px solid #f1f5f9}
h2{font-size:22px;margin:0 0 18px 0;color:#042029}
.menu-toggle{display:none;background:transparent;border:2px solid var(--green);border-radius:8px;color:var(--green-dark);font:inherit;font-weight:700;padding:8px 12px}
a:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.swiper-slide img{display:block;width:100%;height:400px;object-fit:cover}
.gallery-swiper{max-width:560px;margin:32px auto 0;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.08);overflow:hidden}
.carousel-toggle{margin:8px auto 0;display:block;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer}
.partners-section{padding:48px 0 32px;background:#f8f8f8}
.partners-container{max-width:1200px;margin:0 auto}
.partners-title{text-align:center;margin-bottom:32px}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;justify-items:center;align-items:center}
.partners-grid > a{display:block;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.04);text-align:center}
.partners-grid img{max-width:100px;max-height:60px}
.partners-grid span{font-size:18px;font-weight:700;color:#1f8a37}
.company-details{margin-top:18px;font-size:15px;color:#444;line-height:1.7}
.education-section{background:#f8fafc}
.education-container{max-width:1200px;margin:0 auto}
.education-intro{max-width:780px}
.education-intro h2{margin-bottom:12px}
.education-intro p:last-child{font-size:18px;line-height:1.6;color:var(--muted)}
.education-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:28px}
.education-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(15,23,36,.04)}
.education-icon{width:58px;height:58px;color:var(--green);margin-bottom:8px}
.education-card h3{margin:0 0 10px;color:#042029;font-size:18px}
.education-card p{margin:0;color:#475569;line-height:1.55;font-size:15px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
@media (max-width:1000px){
  .education-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  header{flex-wrap:wrap;gap:12px}
  .logo-icon{height:auto;max-width:220px}
  .menu-toggle{display:block;margin-left:auto}
  nav{display:none;flex-basis:100%;flex-direction:column;gap:12px;padding:8px 0}
  nav.is-open{display:flex}
  .hero h1{font-size:28px}
  .services,.products,.grid{grid-template-columns:1fr}
  .hero-image{height:180px}
  .hero{padding:26px 0}
  .education-grid{grid-template-columns:1fr}
}
