:root {
  --vert-fonce: #2E6B33;
  --vert-tres-fonce: #1F4F25;
  --vert-clair: #9BD600;
  --vert-accent: #A8E000;
  --blanc: #FFFFFF;
  --gris-clair: #F5F7F5;
  --gris-moyen: #D9E2D9;
  --gris-texte: #2B2B2B;
  --ombre: 0 18px 45px rgba(31, 79, 37, 0.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--gris-texte);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.topbar{background:var(--vert-tres-fonce);color:white;font-size:14px;padding:8px 6%;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--gris-moyen)}
.navbar{display:flex;justify-content:space-between;align-items:center;padding:14px 6%;gap:24px}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:72px;height:48px;object-fit:contain;border-radius:8px}.brand-text strong{color:var(--vert-fonce);font-size:18px;display:block}.brand-text span{font-size:12px;color:#58705b}
nav ul{list-style:none;display:flex;gap:18px;padding:0;margin:0;align-items:center}nav a{font-weight:700;font-size:14px;color:var(--vert-tres-fonce);padding:8px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--vert-clair);color:var(--vert-fonce)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 20px;font-weight:800;border:2px solid var(--vert-fonce);background:var(--vert-fonce);color:white;transition:.25s ease;cursor:pointer}
.btn:hover{background:var(--vert-clair);color:var(--vert-tres-fonce);border-color:var(--vert-clair);transform:translateY(-2px)}
.btn-outline{background:white;color:var(--vert-fonce)}.btn-outline:hover{background:var(--vert-clair);color:var(--vert-tres-fonce)}
.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:70px 6%;background:linear-gradient(120deg,rgba(31,79,37,.92),rgba(46,107,51,.78)),url('../img/hero-villa.svg') center/cover no-repeat;color:white}
.hero h1{font-size:clamp(38px,5vw,68px);line-height:1.05;margin:0 0 22px;letter-spacing:-1.5px}.hero p{font-size:19px;max-width:720px;margin-bottom:30px;color:#eef7ee}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-card{background:rgba(255,255,255,.94);color:var(--gris-texte);border-radius:28px;padding:28px;box-shadow:var(--ombre)}.hero-card h3{color:var(--vert-fonce);margin-top:0;font-size:24px}.hero-card li{margin:10px 0}
section{padding:86px 6%}.section-light{background:var(--gris-clair)}.section-title{max-width:820px;margin-bottom:38px}.eyebrow{color:var(--vert-fonce);font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:13px}h2{color:var(--vert-tres-fonce);font-size:clamp(30px,4vw,46px);line-height:1.15;margin:8px 0 14px}h3{color:var(--vert-fonce)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;align-items:center}
.card{background:white;border:1px solid var(--gris-moyen);border-radius:24px;padding:26px;box-shadow:0 10px 26px rgba(31,79,37,.07);transition:.25s ease}.card:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.card-img{height:210px;border-radius:20px;background:linear-gradient(135deg,rgba(46,107,51,.14),rgba(155,214,0,.32));border:1px solid var(--gris-moyen);display:flex;align-items:center;justify-content:center;color:var(--vert-tres-fonce);font-weight:900;text-align:center;padding:20px;margin-bottom:18px;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;font-size:14px}.features span{background:var(--gris-clair);padding:9px 12px;border-radius:12px;border-left:4px solid var(--vert-clair)}
.icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--vert-fonce),var(--vert-clair));color:white;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.stat{background:var(--vert-tres-fonce);color:white;border-radius:22px;padding:24px;text-align:center}.stat strong{font-size:34px;display:block;color:var(--vert-clair)}
.contact-box{background:var(--vert-tres-fonce);color:white;border-radius:30px;padding:36px;box-shadow:var(--ombre)}.contact-box h2{color:white}form{display:grid;gap:14px}input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--gris-moyen);border-radius:14px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--vert-clair);box-shadow:0 0 0 4px rgba(155,214,0,.18)}textarea{min-height:130px;resize:vertical}
.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px;background:#eaf7dc;color:var(--vert-tres-fonce);font-weight:700}
footer{background:var(--vert-tres-fonce);color:white;padding:48px 6% 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:28px}footer h3{color:var(--vert-clair)}.copyright{margin-top:20px;color:#d8ead9;font-size:14px}
.whatsapp{position:fixed;right:20px;bottom:20px;z-index:80;width:58px;height:58px;border-radius:50%;background:var(--vert-clair);color:var(--vert-tres-fonce);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;box-shadow:var(--ombre)}
.mobile-toggle{display:none;font-size:30px;color:var(--vert-fonce);background:none;border:0}
.admin-body{background:var(--gris-clair)}.admin-wrap{max-width:1180px;margin:0 auto;padding:28px 20px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.admin-nav a{background:white;border:1px solid var(--gris-moyen);border-radius:999px;padding:10px 14px;font-weight:700;color:var(--vert-tres-fonce)}.admin-nav a:hover{background:var(--vert-clair)}
.table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(31,79,37,.07)}.table th,.table td{padding:13px;border-bottom:1px solid var(--gris-moyen);text-align:left;vertical-align:top}.table th{background:var(--vert-tres-fonce);color:white}.admin-form{background:white;border-radius:24px;padding:24px;box-shadow:var(--ombre);display:grid;gap:14px}.admin-form label{font-weight:700;color:var(--vert-tres-fonce)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.small{font-size:13px;color:#58705b}.actions{display:flex;gap:8px;flex-wrap:wrap}.danger{background:#8b1e1e;border-color:#8b1e1e;color:white}
@media(max-width:980px){.hero,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}nav ul{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:20px 6%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--gris-moyen)}nav ul.open{display:flex}.mobile-toggle{display:block}.form-row{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{display:none}.navbar{padding:12px 5%}.brand-logo{width:58px;height:42px}.brand-text span{display:none}.hero{min-height:auto;padding:58px 5%}section{padding:62px 5%}.grid-3,.stats,.footer-grid{grid-template-columns:1fr}.features{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.table{font-size:14px}}
