:root{
  --bg:#F8F5F0;
  --gold:#C9A86A;
  --olive:#8B956D;
  --text:#4B3F35;
  --muted:#A89C8D;

  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --max:1200px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji','Segoe UI Emoji', 'Segoe UI Symbol';
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
}

h1,h2,h3,h4{
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  line-height:1.2;
  margin:0 0 .5rem;
  color:var(--text);
}

p{margin:.5rem 0 1rem}

.container{max-width:var(--max); margin-inline:auto; padding:0 1.25rem}
.section{padding:4rem 0}
@media (min-width: 900px){
  .section{padding:6rem 0}
}

.btn{
  display:inline-block; padding:.9rem 1.25rem; border-radius:999px; text-decoration:none; font-weight:600;
  border:1px solid color-mix(in oklab, var(--gold), #000 10%);
  background:linear-gradient(180deg, color-mix(in oklab, var(--gold), #fff 35%), var(--gold));
  color:#2b251f; box-shadow:var(--shadow);
  transition: transform .2s ease, filter .2s ease;
}
.btn:hover{ transform: translateY(-2px); filter:saturate(1.05)}
.btn.secondary{ background:transparent; border-color: var(--olive); color: var(--text)}
.btn.secondary:hover{ background: color-mix(in oklab, var(--olive), #fff 85%) }

/* Navbar */
.navbar{position:sticky; top:0; z-index:50; backdrop-filter: blur(8px);
  background: color-mix(in oklab, var(--bg), #fff 30% / 65%); border-bottom:1px solid color-mix(in oklab,#000,#fff 92%);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:800; letter-spacing:.3px}
.brand-logo{width:36px; height:36px; border-radius:50%; background-image:"/images/logo.png";}
.nav-links{display:flex; gap:1rem; align-items:center}
.nav-links a{ text-decoration:none; color:var(--text); font-weight:600; opacity:.85}
.nav-links a:hover{ opacity:1}
.hamburger{display:inline-flex; flex-direction:column; gap:4px; cursor:pointer}
.hamburger span{width:24px; height:2px; background:var(--text)}
.mobile{display:none}
@media (max-width: 900px){
  .desktop{display:none}
  .mobile{display:block}
  .mobile-menu{display:none; padding:1rem 0; border-top:1px solid #eae6de}
  .mobile-menu.open{display:block}
  .mobile-menu a{display:block; padding:.5rem 0; text-decoration:none; color:var(--text)}
}

/* Hero */
.hero{
  display:grid; gap:2rem; align-items:center;
}
@media (min-width: 900px){
  .hero{ grid-template-columns: 1.1fr .9fr }
}
.eyebrow{ text-transform: uppercase; letter-spacing:.2em; font-size:.8rem; color:var(--muted) }
.lead{ font-size:1.1rem; color: var(--text) }

.card{
  background:#fff; border:1px solid #eee4d8; border-radius:var(--radius); box-shadow:var(--shadow); padding:1.25rem
}

/* Grid helpers */
.grid{display:grid; gap:1.25rem}
.cols-2{ grid-template-columns: 1fr }
@media (min-width: 900px){
  .cols-2{ grid-template-columns: 1fr 1fr }
  .cols-3{ grid-template-columns: repeat(3, 1fr) }
}

/* Reveal animation */
.reveal{ opacity:0; transform: translateY(24px); will-change: transform, opacity }
.reveal.in{ opacity:1; transform:none; transition: opacity .9s cubic-bezier(.17,.67,.32,1.27), transform .9s cubic-bezier(.17,.67,.32,1.27) }
.reveal.delay-1{ transition-delay:.08s }
.reveal.delay-2{ transition-delay:.16s }
.reveal.delay-3{ transition-delay:.24s }

/* Testimonials */
.stars{ color: var(--gold); letter-spacing:2px }
.t-quote{ font-style: italic; color: #6a5f55 }

/* Section accents */
.accent{ position: relative }
.accent:after{
  content:''; position:absolute; left:0; bottom:-.6rem; width:72px; height:3px; background: var(--gold); border-radius:999px
}

/* Contact */
input, textarea{
  width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid #e5dbc9; background:#fff; color:var(--text)
}
textarea{ min-height:140px; resize:vertical }

footer{ padding:2rem 0; color:#6d6256; border-top:1px solid #eadfcf }
