
:root {
  --green-900: #0E2A1A;
  --green-800: #123D28;
  --green-700: #175238;
  --wood: #B07A4A;
  --cream: #F4F1EA;
  --text: #E9F2EC;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color: var(--text); background: var(--green-900);}
a { color: var(--cream); text-decoration: none; }
.container { max-width: 1100px; margin: 0 auto; padding: 24px; }
header { background: linear-gradient(180deg, var(--green-900), var(--green-800)); border-bottom: 1px solid rgba(255,255,255,.08);}
.nav { display:flex; align-items:center; justify-content:space-between; padding: 14px 0; }
.logo img { width:36px; height:36px; border-radius:6px; margin-right:10px; vertical-align:middle; }
.menu a { margin-left: 18px; opacity:.9 }
.menu a.active { opacity:1; border-bottom:2px solid var(--wood); padding-bottom:6px; }
.hero { padding: 70px 0; background:
  radial-gradient(60% 120% at 0% 0%, rgba(255,255,255,.05), rgba(0,0,0,0)),
  linear-gradient(180deg, var(--green-800), var(--green-900) 40%);
}
.hero h1 { font-size: 42px; margin:0 0 12px; }
.section { padding: 48px 0; border-top: 1px solid rgba(255,255,255,.06);}
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap:18px; }
.card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); padding:18px; border-radius:14px; }
.btn { padding: 12px 18px; border-radius: 12px; border:1px solid rgba(255,255,255,.14); font-weight:600; display:inline-block; }
.btn-primary { background: var(--green-700); }
.btn-wood { background: var(--wood); color:#1c1209; border-color:transparent; }
.gallery { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap:14px; }
.gallery img { width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.1); }
footer { background: var(--green-800); padding: 28px 0; border-top: 1px solid rgba(255,255,255,.08);}
input, textarea, select { width:100%; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: var(--text); }
label { font-size: 14px; opacity:.9 }
form .row { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.small { font-size: 13px; opacity:.8 }
.alert { padding: 14px 16px; border-radius: 10px; background: rgba(176,122,74,.15); border:1px solid rgba(176,122,74,.5); color: var(--cream); }
.success { background: rgba(31,163,73,.18); border-color: rgba(31,163,73,.55); }
