*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color:#333333;
  background:#ffffff;
  line-height:1.6;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* NAV */
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 5vw;
  border-bottom:1px solid #eeeeee;
}
.logo{ display:flex; align-items:center; gap:0.6rem; font-size:1.3rem; font-weight:700; color:#1a1a1a; }
.logo img{ height:50px; width:auto; }
.navlinks{ display:flex; gap:2.2rem; font-size:1rem; }
.navlinks a{ color:#444444; }
.navlinks a:hover, .navlinks a.active{ color:#1a1a1a; }
.nav-cta{
  background:#1a1a1a; color:#fff; padding:0.7rem 1.4rem; border-radius:4px; font-size:0.95rem; font-weight:600;
}
@media (max-width:820px){ .navlinks{ display:none; } }

/* HERO CAROUSEL (3-panel, matches original) */
.hero-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
@media (max-width:800px){ .hero-grid{ grid-template-columns:1fr; } }
.hero-panel{
  position:relative; height:420px; overflow:hidden;
  display:flex; align-items:flex-end;
}
.hero-panel img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-panel .overlay{
  position:relative; z-index:2; padding:2rem;
  background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  width:100%;
}
.hero-panel h2{ color:#fff; font-size:1.6rem; margin-bottom:0.3rem; }
.hero-panel p{ color:#eeeeee; font-size:0.95rem; margin-bottom:0.8rem; }
.hero-panel a{ color:#fff; text-decoration:underline; font-size:0.9rem; }

/* SECTION GENERIC */
section{ padding:4rem 5vw; }
.section-inner{ max-width:1100px; margin:0 auto; }
h2.section-title{ font-size:2rem; margin-bottom:2rem; text-align:center; font-weight:700; color:#1a1a1a; }

/* TRUSTED BY */
.trusted-by{ text-align:center; }
.trusted-by h3{ font-size:1.1rem; text-transform:uppercase; letter-spacing:0.08em; color:#888888; margin-bottom:1.8rem; }
.logo-row{ display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap; }
.logo-row img{ height:110px; width:auto; }

/* SERVICES */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:900px){ .services-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .services-grid{ grid-template-columns:1fr; } }
.service-card h3{ font-size:1.2rem; margin-bottom:0.6rem; color:#1a1a1a; }
.service-card p{ color:#666666; font-size:0.95rem; }

/* TEAM */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:900px){ .team-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .team-grid{ grid-template-columns:1fr; } }
.team-card img{ width:100%; aspect-ratio:11/8; object-fit:cover; margin-bottom:1rem; }
.team-card h3{ font-size:1.1rem; margin-bottom:0.2rem; color:#1a1a1a; }
.team-card p{ color:#888888; font-size:0.9rem; }

/* CONTACT */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
@media (max-width:800px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-details p{ margin-bottom:0.4rem; color:#444444; }
.contact-details .legal{ margin-top:1.5rem; font-size:0.85rem; color:#888888; }
.contact-form input{
  width:100%; padding:0.8rem; margin-bottom:1rem; border:1px solid #dddddd; border-radius:4px; font-size:1rem;
}
.contact-form label{ display:block; margin-bottom:0.4rem; font-weight:600; font-size:0.9rem; color:#444444; }
.contact-form button{
  background:#1a1a1a; color:#fff; padding:0.9rem 1.8rem; border:none; border-radius:4px; font-size:1rem; font-weight:600; cursor:pointer;
}

footer{
  padding:2rem 5vw; text-align:center; font-size:0.85rem; color:#888888; border-top:1px solid #eeeeee;
}
footer div{ margin-bottom:0.3rem; }
