:root{
  --bg: #ffffff;
  --fg: #111;
  --muted: #666;
  --accent: #00c33a;
  --accent-dark: #007f00;
  --card: #fff;
  --shadow: 0 8px 30px rgba(10,10,10,0.06);
  --glass: rgba(0,0,0,0.04);
}

/* base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--fg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.55;
}
.container{ width:90%; max-width:1160px; margin:0 auto; }

/* header */
.site-header{ position:sticky; top:0; z-index:80; backdrop-filter: blur(6px); background: rgba(255,255,255,0.85); border-bottom:1px solid #eee; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.logo{ height:66px; width:auto; display:block; object-fit:contain; }

/* nav */
.main-nav a{ color:var(--fg); text-decoration:none; margin-left:18px; font-weight:600; }
.main-nav a:hover{ color:var(--accent-dark); }

/* hero */
.hero{ padding:56px 0; display:flex; align-items:center; }
.hero-grid{ display:flex; gap:36px; align-items:center; }
.hero-text{ flex:1; max-width:720px; }
.hero-text h1{ margin:0 0 12px; font-size:36px; line-height:1.04; }
.hero-text p{ margin:0 0 16px; color:var(--muted); max-width:760px; }
.cta-row{ display:flex; gap:12px; align-items:center; }

/* buttons */
.btn{ display:inline-block; text-decoration:none; font-weight:700; border-radius:8px; padding:10px 16px; cursor:pointer; }
.btn.primary{ background:var(--accent); color:#fff; box-shadow:var(--shadow); border:none; }
.btn.ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.14); }

/* sections */
.section{ padding:46px 0; }
.bg-light{ background:#f7f8f9; }

/* services */
.services-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
}
.service{
  background:var(--card);
  padding:18px;
  border-radius:12px;
  box-shadow: var(--shadow);
  text-align:center;
}
.service-icon{
  font-size:38px;
  color:var(--accent);
  margin-bottom:12px;
}

/* gallery */
.gallery-grid{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; }
.gallery-grid a{ width: calc(33.333% - 9.333px); display:block; border-radius:10px; overflow:hidden; box-shadow:0 6px 20px rgba(0,0,0,0.06); }
.gallery-grid img{ width:100%; height:190px; object-fit:cover; display:block; transition:transform .25s ease; }
.gallery-grid img:hover{ transform:scale(1.03); }
.gallery-actions{ margin-top:12px; display:flex; align-items:center; gap:10px; }

/* contact area */
.contact-wrap{ display:flex; gap:28px; align-items:flex-start; flex-wrap:wrap; }
.contact-left{ flex: 0 0 420px; min-width:280px; }
.contact-form-card{ flex:1; background:var(--card); border-radius:12px; padding:18px; box-shadow:var(--shadow); }
.company-card{ background:linear-gradient(180deg, rgba(0,195,58,0.06), rgba(0,195,58,0.02)); padding:12px; border-radius:8px; margin-bottom:12px; }
.company-name{ font-weight:800; font-size:18px; margin-bottom:6px; }
.people-list .person{ margin-bottom:12px; }

/* form */
.contact-form-card input[type="text"],
.contact-form-card input[type="email"],
.contact-form-card textarea{
  width:100%; padding:10px 12px; margin-bottom:12px; border-radius:8px; border:1px solid #e3e3e3; font-size:15px;
}
.btn.full{ width:100%; }

/* footer */
.site-footer{ padding:18px 0; text-align:center; color:var(--muted); background:#fff; border-top:1px solid #eee; }

/* small helpers */
.muted{ color:var(--muted); }
.small{ font-size:13px; }
.sr-only{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* lightbox overlay */
.lb-overlay{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.85); opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:300; }
.lb-overlay.open{ opacity:1; pointer-events:auto; }
.lb-frame{ max-width:92%; max-height:86%; overflow:hidden; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.lb-frame img{ max-width:100%; max-height:100%; display:block; border-radius:6px; }
.lb-close, .lb-prev, .lb-next{ position:fixed; background:rgba(255,255,255,0.06); border:0; color:#fff; font-size:28px; padding:10px 12px; border-radius:8px; cursor:pointer; }
.lb-close{ top:18px; right:18px; }
.lb-prev{ left:18px; top:50%; transform:translateY(-50%); }
.lb-next{ right:18px; top:50%; transform:translateY(-50%); }

/* responsive */
@media (max-width:900px){
  .hero-grid{ flex-direction:column-reverse; gap:18px; }
  .gallery-grid a{ width: calc(50% - 7px); }
  .contact-left{ flex:1 1 100%; }
}
@media (max-width:520px){
  .gallery-grid a{ width:100%; }
  .logo{ height:52px; }
}
