html, body { margin: 0; padding: 0; }
body { font-family: 'Mulish', sans-serif; color: #2a3050; background: #ffffff; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
img { max-width: 100%; }
::selection { background: #937339; color: #fff; }
a { color: #937339; }
a:hover { color: #7A6234; }
input, textarea, button { font-family: 'Mulish', sans-serif; }
input:focus, textarea:focus { outline: 2px solid #BE9256; outline-offset: 1px; }
.cp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cp-link { color: #ffffff; transition: color 0.15s ease; }
.cp-link:hover, .cp-link.active { color: #BE9256; }
.cp-hamburger { display: none; }
.cp-mobile-menu { display: none; }
.cp-mobile-menu.open { display: flex; }
@media (max-width: 1024px) {
  .cp-nav-desktop { display: none !important; }
  .cp-hamburger { display: flex !important; }
}
@media (max-width: 860px) {
  .cp-topbar-inner { flex-direction: column !important; gap: 8px !important; padding: 8px 20px !important; text-align: center; }
  .cp-header-inner { flex-wrap: wrap !important; justify-content: center !important; text-align: center; }
  .cp-grid-2, .cp-grid-3 { grid-template-columns: 1fr !important; gap: 32px !important; }
  .cp-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .cp-columns-3 { column-count: 1 !important; }
  .cp-service-row { flex-direction: column !important; gap: 24px !important; padding: 36px 0 !important; }
  .cp-service-img { width: 100% !important; height: 220px !important; }
  .cp-h1 { font-size: 32px !important; }
  .cp-h2 { font-size: 28px !important; }
  .cp-h3 { font-size: 24px !important; }
  .cp-cta-title { font-size: 26px !important; }
  .cp-cta-number { font-size: 42px !important; }
  .cp-hero-img { height: 260px !important; }
}
@media (max-width: 480px) {
  .cp-grid-4 { grid-template-columns: 1fr !important; }
}
