:root {
  --rose-50: #f5f1ed;
  --rose-100: #ede7e0;
  --rose-300: #d4c8bb;
  --rose-600: #A47A5C;
  --rose-700: #8b6649;
  --ink: #2d2b2c;
  --ink-70: rgba(45,43,44,.7);
  --gold: #c6a86d;
  --bg: #fff;
  --success: #1b8e5a;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose-700);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1120px,90vw);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.875rem 1.25rem;font-weight:600;border:1px solid transparent;transition:.2s ease;}
.btn-primary{background:var(--rose-600);color:#fff}
.btn-primary:hover{filter:brightness(.95)}
.btn-outline{border-color:var(--rose-600);color:var(--rose-600);background:#fff}
.btn-outline:hover{background:var(--rose-50)}
.tag{display:inline-block;background:var(--rose-50);color:var(--rose-700);border:1px solid var(--rose-300);border-radius:999px;padding:.25rem .75rem;font-size:.875rem}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid #eee}
header .bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand__logo{width:40px;height:40px;border-radius:999px;background:var(--rose-600);display:grid;place-items:center;color:#fff;font-weight:700}
nav a{margin-left:1rem;font-weight:500}

/* Hero */
.hero{background:linear-gradient(180deg,var(--rose-50),#fff);padding:2rem 0 0}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--rose-700);font-weight:600}
h1{font-family:"Playfair Display",serif;line-height:1.08;font-size:clamp(2rem,4vw,3.25rem);margin:.5rem 0 1rem;color:var(--ink)}
.lead{font-size:1.125rem;color:var(--ink-70);max-width:52ch}

/* Slider */
.slider-wrap{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--rose-50)}
.slider-wrap .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slider-wrap .slide.active{opacity:1}
.slider-wrap .slide img{width:100%;height:100%;object-fit:cover}
.slider-wrap .slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(255,255,255,.85);border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.25rem;display:grid;place-items:center;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:.2s}
.slider-wrap .slider-btn:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.slider-wrap .slider-btn.prev{left:.75rem}
.slider-wrap .slider-btn.next{right:.75rem}
.slider-dots{display:flex;justify-content:center;gap:.5rem;margin-top:.75rem}
.slider-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--rose-600);background:transparent;cursor:pointer;padding:0;transition:.2s}
.slider-dots button.active{background:var(--rose-600)}

/* Sections */
.strip{padding:3rem 0;border-top:1px solid #eee}
.h2{font-family:"Playfair Display",serif;font-size:clamp(1.5rem,2.5vw,2.25rem);margin:0 0 1rem}
.muted{color:var(--ink-70)}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feature{border:1px solid #eee;border-radius:14px;padding:1rem;background:#fff}
.feature h3{margin:.5rem 0;font-size:1.125rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.card{border:1px solid #eee;border-radius:14px;background:#fff;padding:1rem}

.map{aspect-ratio:16/9;border:1px solid #eee;border-radius:14px;overflow:hidden;background:#fafafa}
#map{width:100%;height:100%;min-height:400px}

.faq details{border:1px solid #eee;border-radius:12px;padding:1rem;background:#fff}
.faq details+details{margin-top:.75rem}
.faq summary{cursor:pointer;font-weight:600}

footer{padding:2.5rem 0;background:#111;color:#ddd}
footer a{color:#f5dfe7}

@media (max-width: 900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__grid .slider-wrap{max-width:400px;margin:0 auto}
  .features{grid-template-columns:1fr}
  nav{display:none}
}
