:root{
  --black:#22211f;
  --charcoal:#302f2d;
  --gold:#a8916e;
  --soft-gold:#d9cbb6;
  --cream:#f7f3ed;
  --white:#fffdf9;
  --muted:#746b61;
  --shadow:0 18px 55px rgba(34,33,31,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--white);color:var(--black);line-height:1.6} a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,253,249,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(168,145,110,.25);display:flex;justify-content:space-between;align-items:center;padding:14px 6vw}.brand img{width:92px;display:block}.site-nav{display:flex;gap:26px;align-items:center;font-size:.9rem;font-weight:600}.nav-button{border:1px solid var(--gold);padding:10px 18px;border-radius:999px}.menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--black);margin:5px 0;border-radius:999px;transition:.2s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:85vh;display:grid;place-items:center;padding:70px 20px;background:radial-gradient(circle at top,var(--cream),transparent 45%),linear-gradient(135deg,#fffdf9 0%,#f4eee4 100%);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(168,145,110,.35);border-radius:50%;width:480px;height:480px}.hero:before{left:-220px;top:80px}.hero:after{right:-260px;bottom:-160px}.hero-card{position:relative;background:rgba(255,253,249,.86);box-shadow:var(--shadow);border:1px solid rgba(168,145,110,.22);border-radius:34px;max-width:880px;text-align:center;padding:45px 42px}.hero-logo{width:180px;max-width:62%;margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem;color:var(--gold);margin:0 0 12px}.centre{text-align:center}h1,h2{font-family:"Playfair Display",serif;line-height:1.08;margin:0;color:var(--charcoal)}h1{font-size:clamp(2.25rem,4.6vw,4rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}.intro{font-size:1.18rem;color:var(--muted);max-width:650px;margin:24px auto 0}.hero-actions,.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:800;transition:.2s ease}.button:hover{transform:translateY(-2px)}.primary{background:var(--black);color:white}.secondary{border:1px solid var(--gold);color:var(--black);background:rgba(255,253,249,.65)}.section{padding:85px 6vw}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;align-items:start}.copy-card,.review-grid blockquote{background:var(--cream);border-left:4px solid var(--gold);padding:30px;border-radius:24px;box-shadow:0 14px 35px rgba(34,33,31,.07)}.copy-card p:first-child{margin-top:0}.copy-card p:last-child{margin-bottom:0}.warm{background:var(--cream)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}.features article{background:var(--white);padding:26px;border-radius:24px;box-shadow:0 12px 32px rgba(34,33,31,.07);border:1px solid rgba(168,145,110,.18)}.features span{color:var(--gold);font-weight:800}.features h3{margin:12px 0 8px;font-size:1.1rem}.features p{margin:0;color:var(--muted)}.section-note{text-align:center;color:var(--muted);max-width:620px;margin:18px auto 32px}.instagram-widget,.reviews-widget{max-width:1040px;margin:0 auto 28px;background:var(--white);border:1px solid rgba(168,145,110,.18);border-radius:26px;padding:16px;box-shadow:var(--shadow);overflow:hidden}.reviews-section{background:var(--white)}.review-grid{display:grid;gap:18px}.review-grid blockquote{margin:0;font-size:1.05rem;color:var(--muted)}.map-section{display:grid;grid-template-columns:.75fr 1.25fr;background:var(--black);color:white}.map-copy{padding:70px 6vw}.map-copy h2{color:white}.map-copy p:not(.eyebrow){color:#ddd2c2}iframe{width:100%;height:420px;border:0;filter:grayscale(.15)}.contact{background:linear-gradient(135deg,#fffdf9 0%,#f3eadc 100%)}footer{text-align:center;padding:38px 20px;background:var(--black);color:#d8d1c5}footer img{width:110px;filter:brightness(0) invert(1);opacity:.9}footer p{margin:12px 0 0;font-size:.85rem}@media(max-width:900px){.site-header{padding:10px 6vw}.menu-toggle{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;background:rgba(255,253,249,.98);border-bottom:1px solid rgba(168,145,110,.25);box-shadow:0 18px 35px rgba(34,33,31,.08);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 6vw 18px}.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;border-bottom:1px solid rgba(168,145,110,.14)}.site-nav a:last-child{border-bottom:0}.site-nav .nav-button{margin-top:8px;text-align:center;padding:12px 18px}.split,.map-section{grid-template-columns:1fr}.features,.instagram-carousel{grid-template-columns:repeat(2,1fr)}.hero-card{padding:34px 24px}.section{padding:65px 24px}}@media(max-width:520px){.features,.instagram-carousel{grid-template-columns:1fr}.brand img{width:70px}h1{font-size:2.45rem}.button{width:100%}}
