body { margin:0; font-family:'Poppins',system-ui,sans-serif; background:#f5f5f2; color:#222; }
a { color:inherit; }
img { max-width:100%; display:block; }
.container { max-width:1120px; margin:0 auto; padding:0 1.25rem; }
.site-header { background:#111; color:#fff; position:sticky; top:0; z-index:50; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:0.85rem 0; }
.logo-wrap { display:flex; align-items:center; text-decoration:none; color:inherit; }
.logo-img { height:44px; width:auto; display:block; }
.main-nav { display:none; }
.main-nav ul { list-style:none; display:flex; gap:1.1rem; margin:0; padding:0; }
.main-nav a { text-decoration:none; font-size:0.9rem; color:rgba(255,255,255,0.86); }
.nav-cta { border:1px solid rgba(212,180,106,0.9); border-radius:999px; padding:0.4rem 0.9rem; }
.nav-toggle { width:40px; height:32px; border-radius:999px; border:1px solid rgba(255,255,255,0.3); background:rgba(0,0,0,0.3); display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.nav-toggle span { width:18px; height:2px; background:#fff; }
.mobile-nav-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.45); opacity:0; visibility:hidden; transition:0.2s; }
.mobile-nav-overlay.open { opacity:1; visibility:visible; }
.mobile-nav { position:fixed; top:0; right:0; bottom:0; width:260px; background:#111; transform:translateX(100%); transition:0.2s; padding-top:4.5rem; }
.mobile-nav.open { transform:translateX(0); }
.mobile-nav ul { list-style:none; padding:0 1.5rem; margin:0; }
.mobile-nav a { display:block; padding:0.6rem 0; border-bottom:1px solid rgba(255,255,255,0.1); text-decoration:none; color:#fff; }
.hero-with-logo { position:relative; padding:0; }
.hero-logo-overlay img { width:100%; height:auto; display:block; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.55), rgba(0,0,0,0.78)); color:#fff; display:flex; align-items:flex-end; padding:2.6rem 0 2.3rem; }
.hero-inner { display:grid; gap:2rem; }
.hero-text h1 { margin:0 0 0.7rem; font-size:2rem; }
.hero-text p { margin:0 0 1rem; color:rgba(255,255,255,0.9); }
.hero-actions { display:flex; flex-wrap:wrap; gap:0.7rem; margin-bottom:1rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:0.6rem 1.2rem; border-radius:999px; text-decoration:none; font-size:0.9rem; }
.btn-primary { background:#fff; color:#111; }
.btn-secondary { background:transparent; border:1px solid rgba(255,255,255,0.8); color:#fff; }
.hero-points { list-style:none; padding:0; margin:0; font-size:0.85rem; color:rgba(255,255,255,0.85); }
.hero-points li+li { margin-top:0.2rem; }
.strip { border-bottom:1px solid #e2e2dd; background:#fbfaf4; }
.strip-inner { display:flex; flex-wrap:wrap; justify-content:center; gap:0.7rem; padding:0.7rem 0; font-size:0.84rem; color:#666; }
.services-overview { padding:2.4rem 0 2.6rem; }
.section-intro { max-width:640px; color:#666; }
.card-grid { display:grid; gap:1.4rem; margin-top:1.8rem; }
.service-card { background:#fff; border-radius:16px; padding:1.3rem; border:1px solid #e2e2dd; }
.service-card h3 { margin:0.8rem 0 0.4rem; }
.service-card p { margin:0 0 0.7rem; font-size:0.9rem; color:#666; }
.card-link { font-size:0.86rem; text-decoration:none; border-bottom:1px solid rgba(212,180,106,0.9); }
.img-placeholder { background:#ddd7c7; border-radius:14px; padding:2rem 1rem; text-align:center; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.12em; color:#4b4736; }
.areas-highlight { padding:2.3rem 0 2.6rem; background:#f0eee5; border-top:1px solid #e2e2dd; border-bottom:1px solid #e2e2dd; }
.areas-inner { display:grid; gap:2rem; align-items:center; }
.areas-tags { display:flex; flex-wrap:wrap; gap:0.5rem; }
.areas-tags span { padding:0.4rem 0.7rem; border-radius:999px; border:1px solid rgba(0,0,0,0.06); background:#fff; font-size:0.8rem; }
.btn-link { text-decoration:none; font-size:0.9rem; border-bottom:1px solid rgba(212,180,106,0.9); }
.page-hero { padding:2.1rem 0 1.8rem; border-bottom:1px solid #e2e2dd; background:#f7f6f0; }
.page-hero h1 { margin:0 0 0.6rem; }
.page-hero p { margin:0; color:#666; }
.narrow { max-width:760px; }
.site-footer { background:#050505; color:rgba(255,255,255,0.85); padding:2.1rem 0 0.6rem; margin-top:1.8rem; }
.footer-grid { display:grid; gap:1.5rem; font-size:0.85rem; }
.site-footer h4 { margin-top:0; margin-bottom:0.6rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.12); margin-top:1.4rem; padding-top:0.7rem; font-size:0.78rem; }
.footer-bottom-inner { display:flex; flex-wrap:wrap; gap:0.7rem; }

/* Lock page scroll when mobile nav is open */
html.nav-open,
body.nav-open {
  overflow: hidden;
  height: 100%;
}

@media (min-width:880px){
  .main-nav{display:block;}
  .nav-toggle{display:none;}
  .hero-inner{grid-template-columns:minmax(0,1.2fr);}
  .areas-inner{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);}
  .footer-grid{grid-template-columns:2fr 1.2fr 1.3fr;}
}
