
:root{--bg:#faf9f7;--ink:#1f2937;--muted:#6b7280;--accent:#d1bfa3;--container:1100px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
img{max-width:100%;height:auto;display:block;border-radius:12px}
.container{max-width:var(--container);padding:0 20px;margin:0 auto}

.hero{position:relative;min-height:85vh;background:url('assets/hero.jpg') center/cover no-repeat}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.25))}
.hero-inner{position:relative;z-index:1;color:#fff;padding:200px 0 80px;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.hero h1{font-size:clamp(36px,6vw,70px);margin:0}
.tagline{font-size:clamp(18px,2.5vw,26px);margin-top:12px}

.section{padding:64px 0}
.section h2{font-size:clamp(24px,3vw,32px);margin:0 0 16px}
.service-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:0;margin:16px 0 0}
.service-grid li{background:#fff;padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:12px}
.gallery figcaption{font-size:14px;color:var(--muted);margin-top:6px}

#contact .email a{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:1px}
.site-footer{text-align:center;padding:24px 0;color:var(--muted)}
