
:root{--bg:#f3efe6;--forest:#2d4a32;--sage:#6b8f71;--sand:#e8e0d0;--clay:#c17a4e;--ink:#243028;--muted:#5c685e;}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito Sans",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
h1,h2,h3,.logo{font-family:"Libre Baskerville",serif;font-weight:400;margin:0 0 .5em;line-height:1.2}
.wrap{width:min(1080px,calc(100% - 2.4rem));margin-inline:auto}
header{position:sticky;top:0;z-index:20;background:rgba(243,239,230,.92);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;min-height:76px}
.logo{font-size:1.2rem;text-decoration:none}
nav{margin-left:auto;display:flex;gap:1.25rem;font-size:.92rem}
nav a{text-decoration:none;color:var(--muted)}nav a:hover{color:var(--forest)}
.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--sage);padding:.45rem .65rem;border-radius:999px}
#mobile-nav{display:flex;flex-direction:column;gap:.7rem;padding:0 1.2rem 1rem}#mobile-nav[hidden]{display:none}
.hero{padding:3rem 0 0}
.hero-photo{width:100%;height:min(56vh,480px);object-fit:cover;border-radius:0 0 40% 0 / 0 0 8% 0}
.hero-card{background:#fff;padding:1.8rem 1.8rem 1.6rem;max-width:32rem;margin:-4.2rem 0 0 8%;position:relative;border-radius:18px;box-shadow:0 16px 40px rgba(36,48,40,.08)}
.hero h1{font-size:clamp(2rem,4.5vw,3rem)}
.btn{display:inline-block;background:var(--forest);color:#fff;text-decoration:none;padding:.8rem 1.2rem;border-radius:999px;margin-top:.8rem;border:0;font:inherit;cursor:pointer}
.section{padding:4.8rem 0}
.kicker{color:var(--clay);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:.7rem}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.split img{width:100%;height:440px;object-fit:cover;border-radius:24px}
.svcs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.svc{background:#fff;padding:1.3rem 1.2rem;border-radius:16px}
.svc h3{font-size:1.2rem;color:var(--forest)}
.svc p{margin:0;color:var(--muted)}
.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.gallery img{width:100%;height:280px;object-fit:cover;border-radius:18px}
.gallery img:first-child{height:420px;grid-row:1/3}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
form label{display:flex;flex-direction:column;gap:.3rem;font-weight:650;margin-bottom:.9rem}
form input,form textarea{border:1px solid #d7d0c3;background:#fff;padding:.7rem .8rem;border-radius:12px;font:inherit}
.form-status{margin-top:.6rem;color:var(--forest)}
footer{background:var(--forest);color:#d5e0d4;padding:2.2rem 0;font-size:.9rem;border-radius:2.5rem 2.5rem 0 0}
.sample-note a{color:#f0d2b8}
@media(max-width:800px){
  nav{display:none}.menu-toggle{display:block}
  .hero-card{margin:1.2rem auto 0}
  .split,.svcs,.gallery,.contact{grid-template-columns:1fr}
  .gallery img:first-child{grid-row:auto;height:260px}
}
