:root{--green:#06451f;--cream:#fffaf0;--soft:#f0f6ec;--gold:#8b5a2b}*{box-sizing:border-box}body{margin:0;font-family:Georgia,serif;background:var(--cream);color:#1d1d1d}header{display:flex;justify-content:space-between;align-items:center;padding:18px 5%;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #ddd}.brand{display:flex;gap:14px;align-items:center;color:var(--green)}.logo{width:58px;height:58px;border:4px solid var(--green);border-radius:45%;display:grid;place-items:center;font-size:30px}.brand h1{margin:0;font-size:34px;line-height:1}.brand p{margin:0;font-size:18px;letter-spacing:2px}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}a{color:var(--green)}nav a{text-decoration:none;font-weight:bold}.button,button{background:var(--green);color:white!important;padding:12px 18px;border-radius:6px;text-decoration:none;border:0;font-weight:bold}.hero{display:grid;grid-template-columns:42% 58%;background:#fff;min-height:520px}.hero-copy{padding:70px 7%;display:flex;flex-direction:column;justify-content:center;text-align:center}.hero h2{font-size:68px;color:var(--green);line-height:1;margin:0 0 10px}.hero h3{color:var(--gold);text-transform:uppercase;letter-spacing:3px;text-align:center;margin:0 0 24px}.hero img{width:100%;height:100%;object-fit:cover}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;background:var(--green);color:white;padding:32px 5%;text-align:center}.features h2{color:white;margin:0 0 8px}.features p{margin:0 auto;max-width:280px;text-align:center}main section{padding:55px 5%}h2{text-align:center;color:var(--green);font-size:34px;margin-top:0}.split{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;background:var(--soft)}.split h2{text-align:left}.split ul{columns:2;list-style:none;margin:0;padding:0}.split li{margin:10px 0}.split li:before{content:"♥ ";color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards div{background:white;border:1px solid #ddd2bd;border-radius:12px;padding:24px;text-align:center}.cards h3{color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}figure{margin:0;background:white;border-radius:10px;overflow:hidden;border:1px solid #ddd2bd}figure img{width:100%;height:230px;object-fit:cover;display:block}figcaption{background:var(--green);color:white;text-align:center;padding:12px;font-weight:bold}.locations{background:var(--soft);text-align:center}.map-wrap iframe{width:100%;height:420px;border:0;border-radius:14px;box-shadow:0 10px 30px #0002}.map-note{font-size:14px;color:#444;margin-top:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:#fff}.contact h2{text-align:left}form{display:grid;gap:14px;background:var(--soft);padding:26px;border-radius:14px}input,textarea{padding:12px;border:1px solid #bbb;border-radius:6px;font:inherit}textarea{min-height:120px}footer{background:var(--green);color:white;padding:25px 5%;text-align:center}
@media (max-width:850px){
header{
display:flex;
flex-direction:column;
align-items:center;
padding:20px;
}
.brand{
margin-bottom:20px;
text-align:center;
}
.brand h1{
font-size:2rem;
margin-bottom:8px;
}
nav{
display:flex;
flex-direction:column;
align-items:center;
width:100%;
gap:12px;
margin-top:10px;
}
nav a{display:block}
nav .button{
width:220px;
text-align:center;
margin-top:8px;
}
.hero,.split,.contact{grid-template-columns:1fr}
.hero-copy{text-align:center;padding:45px 25px}
.hero h2{font-size:2.6rem}
.features,.cards,.gallery{grid-template-columns:1fr}
.split ul{columns:1}
}


@media (max-width:850px){
  nav{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    margin-top:15px;
  }

  nav a{
    display:block;
    width:100%;
    max-width:280px;
    margin:0 auto;
    padding:12px 16px;
    background:#f0f6ec;
    border:1px solid #d8d0bd;
    border-radius:10px;
    text-align:center;
    color:#06451f;
    font-weight:bold;
    box-shadow:0 3px 8px rgba(0,0,0,.08);
  }
}
