* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', sans-serif;
  color: #111;
  background: #fff;
}

a { text-decoration: none; color: inherit; }
img { display:block; }

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADER */

header { border-bottom: 1px solid #eee; }

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:70px;
}

.logo {
  font-size:20px;
  font-weight:700;
}

nav a {
  margin-left:20px;
  font-weight:500;
  color:#333;
}

.btn-small {
  padding:8px 14px;
  background:#111;
  color:#fff;
  border-radius:5px;
  font-size:14px;
}

/* HERO */

.hero {
  padding:80px 0;
  background:#f7f7f7;
}

.hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}

.hero h1 {
  font-size:36px;
  margin-bottom:20px;
}

.hero p {
  font-size:18px;
  color:#555;
  margin-bottom:20px;
}

.hero-benefits {
  list-style:none;
  margin-top:20px;
}

.hero-benefits li {
  margin-bottom:8px;
}

.btn {
  display:inline-block;
  padding:14px 26px;
  background:#111;
  color:#fff;
  border-radius:6px;
  font-weight:600;
}

.hero-img img {
  width:100%;
  height:280px;
  object-fit:cover;
  border-radius:10px;
}

/* SECTIONS */

section { padding:70px 0; }

h2 {
  font-size:28px;
  margin-bottom:30px;
}

/* SERVICES */

.features {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:20px;
}

.feature {
  border:1px solid #eee;
  border-radius:8px;
  padding:20px;
}

/* GALLERY */

.gallery {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:15px;
}

.gallery img {
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:8px;
}

/* PRICES */

.prices {
  width:100%;
  border-collapse:collapse;
}

.prices th, .prices td {
  border:1px solid #eee;
  padding:12px;
}

/* CTA + FORM */

.cta {
  background:#111;
  color:#fff;
  padding:60px 20px;
  text-align:center;
  border-radius:10px;
}

.contact-form {
  margin-top:25px;
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
}

.contact-form input,
.contact-form textarea {
  padding:14px 16px;
  border-radius:8px;
  border:1px solid #ddd;
  font-family:inherit;
  font-size:15px;
}

.contact-form button {
  padding:14px;
  background:#fff;
  color:#111;
  border:none;
  border-radius:8px;
  font-weight:600;
  cursor:pointer;
}

/* FOOTER */

footer {
  padding:40px 0;
  text-align:center;
  color:#777;
}

/* MOBILE */

@media(max-width:768px){
  .hero-grid { grid-template-columns:1fr; }
  nav { display:none; }
}
