
:root{--green:#7BBE4A;--blue:#5AB4E5;--brown:#4A2E1F;--white:#FFFFFF;--ink:#1F1F1F}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Lato',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#222;background:#fff;line-height:1.6}

.header{position:sticky;top:0;z-index:1000;background:var(--green);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.header .wrap{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{font-weight:900;color:#fff;font-size:1.1rem}
.menu-toggle{display:none;background:transparent;border:none;color:#fff;font-weight:900;font-size:1.1rem;padding:6px 10px;border-radius:8px}
.menu-toggle:focus{outline:2px solid #fff;outline-offset:2px}
nav{display:flex;gap:8px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;font-weight:700;padding:10px 12px;border-radius:8px}
nav a:hover, nav a:focus{background:rgba(255,255,255,.18);outline:2px solid #fff;outline-offset:2px}
.header.scrolled{background:rgba(255,255,255,.9);backdrop-filter:saturate(120%) blur(6px)}
.header.scrolled .brand, .header.scrolled nav a{color:var(--ink)}

@media (max-width:768px){
  .menu-toggle{display:block}
  nav{display:none;width:100%;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:12px;padding:8px}
  .header.open nav{display:block}
  .header .wrap{flex-wrap:wrap}
  .header.open nav a{color:#1F1F1F;background:#F7FAFC;display:block;margin:4px 0;padding:12px 14px;border-radius:10px}
  .header.open nav a:hover, .header.open nav a:focus{background:#E6F5E6;color:#0F2E1E;outline:2px solid #7BBE4A;outline-offset:2px}
  .header.scrolled .menu-toggle{color:#1F1F1F}
}

.hero{background:linear-gradient(135deg,var(--green),var(--blue));color:#fff}
.hero .inner{max-width:1200px;margin:0 auto;padding:48px 16px;text-align:center}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,6.5vw,44px);margin:0 0 8px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.25)}
.hero p{font-size:clamp(16px,3.8vw,20px);color:#fff}
.hero .cta{margin-top:14px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.section{max-width:1200px;margin:0 auto;padding:clamp(28px,6vw,48px) 16px;background:#fff}
.section h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,5vw,34px);color:#1F1F1F;margin:0 0 12px}
.section p.lead{color:#333}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:640px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.08);border:1px solid #eee}
.card .body{padding:16px}
.card .title{font-weight:800;color:#0F2E1E}
.card .desc{color:#3A2F29}

.highlight-title{display:flex;align-items:center;gap:10px}
.highlight-title img{width:40px;height:40px;display:inline-block}

.map{border-radius:16px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.08);border:1px solid #eee}
.map iframe{width:100%;height:340px}
@media (min-width:900px){.map iframe{height:450px}}

.btn{background:#1268B3;color:#fff;padding:12px 18px;border:none;border-radius:10px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.btn:hover,.btn:focus{background:#4A2E1F;outline:2px solid #fff;outline-offset:2px}

.footer{background:var(--green);color:#fff;padding:20px}
.footer .wrap{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
