:root {
  --bg:#faf7f2;
  --card:#fff;
  --ink:#222222;
  --muted:#777;
  --border:#eaeaea;
}
* { box-sizing:border-box; }
html,body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter, system-ui, sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1100px; margin:auto; padding:20px; }

/* Header */
.site-header { background:#fff; border-bottom:1px solid var(--border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; }
.brand-logo { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.brand-text { font-weight:700; letter-spacing:.08em; }
.locations .dot { margin:0 8px; color:var(--muted); }

/* HERO with cover */
.hero {
  position:relative;
  min-height:60vh;
  background:url('hero.jpg') center/cover no-repeat; /* Make sure file is named exactly hero.jpg */
  display:grid;
  align-items:end;
}
.overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(252, 196, 196, 0.35) 0%, rgba(219, 54, 54, 0.884) 70%); }
.hero-inner { position:relative; text-align:center; color:#fff; padding:80px 0 40px; }
.hero-mark { width:70px; height:70px; border-radius:50%; object-fit:cover; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.sub { opacity:.95; }
.cta { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:15px; }
.btn { padding:12px 20px; border-radius:30px; border:1px solid transparent; font-weight:600; }
.btn.primary { background:#111; color:#fff; }
.btn.light { background:#fff; color:#111; }
.btn.outline { background:transparent; color:#fff; border:1px solid #fff; }
.btn.social { background:#1877F2; color:#fff; }

/* Sections & cards */
h2 { font-size:28px; margin:28px 0 10px; }
h3 { margin:12px 0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.card { background:var(--card); border-radius:14px; padding:16px; box-shadow:0 2px 8px rgba(0,0,0,.05); border:1px solid var(--border); }
.row { display:flex; justify-content:space-between; border-bottom:1px dashed var(--border); padding:6px 0; gap:12px; }
.row:last-child { border-bottom:none; }
.price { white-space:nowrap; font-variant-numeric:tabular-nums; }
.note { color:var(--muted); font-size:13px; }
.policy { padding-left:18px; }
.policy li { margin:8px 0; }
/* Lightbox styles */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0,0,0,0.6);
}
.lightbox.active { display: flex; cursor: zoom-out; }

/* Gallery (uses your existing filenames/casing) */
.gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin:18px 0 10px; }
.gallery img { width:100%; border-radius:12px; object-fit:cover; aspect-ratio:4/3; border:1px solid var(--border); box-shadow:0 6px 18px rgba(0,0,0,.06); }

/* Footer */
.site-footer { background:#fff; border-top:1px solid var(--border); text-align:center; padding:20px 0; color:var(--muted); font-size:14px; }
.footer-logo { vertical-align:middle; border-radius:50%; margin-right:8px; }

/* Responsive */
@media (max-width:600px) {
  .hero-inner h1 { font-size:28px; }
}
