:root{--bg:#f4ecd2;--muted:#e6dcc0;--green:#2d4632;--ink:#1f3b2a;--shadow:0 8px 24px rgba(0,0,0,.08)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--green);font-family:'Lora',serif}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:900px;margin:0 auto}
.section{padding:56px 0}
.section.muted{background:var(--muted)}

/* Hero with parallax */
.hero {
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: url('images/header-bg.png') center/cover fixed no-repeat
}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(244,236,210,.95),rgba(244,236,210,.7))}
.hero-inner{position:relative;text-align:center}
.logo{width:180px;height:auto;margin-bottom:20px}
h1{font-size:42px;margin:0}
h2{font-size:16px;letter-spacing:1px;margin:6px 0 10px 0}
.motto{margin:10px 0 18px 0}
.btn{display:inline-block;background:var(--green);color:var(--bg);padding:12px 20px;border-radius:10px;font-weight:700}
.btn.ghost{background:transparent;border:2px solid var(--green);color:var(--green);margin-left:8px}

/* Cards */
.cards{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}
.card{background:#fff4;border:1px solid #d8cfb2;border-radius:16px;padding:18px;box-shadow:var(--shadow);text-align:center}
.icon{width:140px;height:140px;margin-bottom:10px}

/* Map & form */
.map{width:100%;height:340px;border:0;border-radius:14px;box-shadow:var(--shadow)}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.form label{display:block;margin-bottom:12px;font-family:'Open Sans',sans-serif;color:var(--ink)}
.form input,.form textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #c9c0a3}
.form .check{display:flex;gap:8px;align-items:center}
.form button{margin-top:6px}

/* Footer */
.footer{padding:20px 0;border-top:1px solid #d8cfb2}
.foot{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}

/* Responsive */
@media(max-width:960px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}h1{font-size:32px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.logo{width:66px}h1{font-size:26px}}
