/* Reset/normalize lite */
*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
body{margin:0;font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto;line-height:1.6;color:#212121;background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:#7b5d5d;text-decoration:none}
a:hover{text-decoration:underline}
:root{
  --primary:#957b7b;
  --primary-900:#6f5858;
  --bg:#fff;
  --text:#212121;
  --muted:#666;
  --radius:16px;
  --shadow:0 6px 24px rgba(0,0,0,.08);
}

/* Layout helpers */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section.alt{background:#f7f5f5}
.center{text-align:center}
.mt-32{margin-top:32px}

.display{font-family:"Comfortaa",Lato,system-ui; font-weight:700; font-size:clamp(32px,5vw,56px); margin:0 0 8px 0}
.kicker{font-size:clamp(16px,2.6vw,22px); margin:0 0 20px 0; font-weight:300}
.lead{font-size:18px;color:var(--muted)}

.site-header{position:relative}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;position:sticky;top:0;background:#fff;z-index:50;border-bottom:1px solid #eee}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand-mark{width:36px;height:36px}
.brand-name{font-weight:700;color:#000}
.brand-sub{display:block;font-size:12px;color:#666}

/* Menu */
.menu{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.menu a{padding:8px 10px;border-radius:10px}
.menu a:hover{background:#f1eded;text-decoration:none}
.btn{display:inline-block;padding:10px 14px;border-radius:999px;border:1px solid var(--primary);color:var(--primary);font-weight:700}
.btn.ghost{background:transparent}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-900);border-color:var(--primary-900);text-decoration:none}
.btn:hover{text-decoration:none}

/* Toggle (mobile) */
.nav-toggle{display:none;gap:6px;flex-direction:column;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e3dcdc;border-radius:10px;background:#fff}
.nav-toggle .bar{display:block;width:20px;height:2px;background:#333}

/* Hero */
.hero{position:relative;min-height:60svh;display:grid;place-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,.35)),var(--hero) center/cover no-repeat;filter:saturate(.95);}
.hero-inner{position:relative;color:#fff;text-align:center;padding:80px 0}
.hero .btn{margin:6px}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* Grid */
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
@media (max-width:900px){
  .grid-2{grid-template-columns:1fr}
}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:26px}
@media (max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.cards{grid-template-columns:1fr}}

.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid #eee}
.card.photo img{border-radius:var(--radius)}
.card.service img{aspect-ratio:4/3;object-fit:cover}
.card.service{transition:transform .14s ease, box-shadow .14s ease}
.card.service:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.card.service h3{margin:12px 14px 16px}

.bullets{padding-left:18px}
.bullets li{margin:.3rem 0}

/* Contact */
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin-bottom:10px}
.contact-list .social{display:flex;gap:12px;align-items:center;margin-top:12px}
.contact-list .social img{width:28px;height:28px;opacity:.9;transition:opacity .2s}
.contact-list .social img:hover{opacity:1}

/* Footer */
.site-footer{background:#2a2323;color:#fff;padding:24px 0;margin-top:32px}
.footer-inner{display:flex;flex-direction:column;gap:6px;text-align:center}
.muted{color:#c9bdbd}

/* Responsive */
@media (max-width:860px){
  .nav-toggle{display:flex}
  .menu{position:absolute;top:64px;right:16px;background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:var(--shadow);padding:10px;flex-direction:column;align-items:stretch;min-width:200px;display:none}
  .menu.show{display:flex}
  .menu .btn.ghost{width:100%;text-align:center}
}
