/* Base responsive helpers */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1200px, 100%); margin: 0 auto; padding: 0 16px; }
/* Typography scaling */
body { margin: 0; line-height: 1.6; }
h1,h2,h3 { line-height: 1.2; margin: 0.6em 0; }
/* Flex helpers */
.row { display: flex; flex-wrap: wrap; gap: 16px; }
.col { flex: 1 1 300px; }
/* Navbar */
.navbar { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: #222; color: #fff; }
.navbar .logo { font-weight: 700; }
.navbar .nav-links { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; }
.navbar .nav-links li a { color: #fff; text-decoration: none; }
.menu-toggle { display: none; background: none; border: none; font-size: 24px; color: #fff; cursor: pointer; }
/* Cards */
.card { background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
/* Footer */
footer { padding: 24px 16px; background: #111; color: #eee; margin-top: 40px; }

/* Mobile */
@media (max-width: 768px) {
  body { font-size: 16px; }
  .navbar .nav-links { display: none; flex-direction: column; background: #333; position: absolute; top: 56px; right: 16px; padding: 12px; border-radius: 8px; min-width: 200px; }
  .navbar .nav-links.active { display: flex; }
  .menu-toggle { display: block; }
  .row { gap: 12px; }
  .col { flex-basis: 100%; }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  body { font-size: 17px; }
}

/* Desktop */
@media (min-width: 1025px) {
  body { font-size: 18px; }
}


/* CTA Styles */
.cta { background: #f9f9f9; border-radius: 12px; }
.btn-quote { display:inline-block; padding:12px 24px; background:#ff6600; color:#fff; text-decoration:none; border-radius:6px; }
.btn-quote:hover { opacity:0.95; transform: translateY(-2px); transition:0.2s; }
.contact-form input, .contact-form textarea { width:100%; padding:10px; margin:8px 0 16px 0; border-radius:6px; border:1px solid #ddd; }
.contact-form label { font-weight:600; }
