:root{--sage:#526b58;--dark:#314a3b;--cream:#f7f1e7;--gold:#c6a15b;--white:#fff;--ink:#26362d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
nav{position:sticky;top:0;z-index:20;background:rgba(49,74,59,.97);border-bottom:1px solid var(--gold)}
.nav{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:12px 22px}
.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-family:Georgia,serif;letter-spacing:.15em}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}
.menu{display:flex;gap:22px}.menu a{color:white;text-decoration:none}.menu a:hover{color:var(--gold)}
.hero{display:grid;grid-template-columns:42% 58%;min-height:88vh}
.copy{padding:70px 7vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fffaf1,#eee2ce)}
.brand-row{display:flex;align-items:center;gap:22px;margin-bottom:8px}
.logo{width:110px;flex-shrink:0}
h1{font-family:Georgia,serif;letter-spacing:.17em;font-size:clamp(2.3rem,7vw,4.2rem);font-weight:500;margin:0;color:var(--dark)}
.kicker{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.35rem}
.promise{font-family:"Brush Script MT","Segoe Script",cursive;font-size:2.2rem;color:var(--dark);margin:18px 0}
.tags{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0 28px}.tag{padding:8px 14px;border:1px solid var(--gold);border-radius:999px;background:white}
@media(max-width:480px){
  .brand-row{gap:14px;flex-wrap:wrap}
  .logo{width:64px}
  h1{letter-spacing:.06em}
  .kicker{font-size:1rem}
}
.hero-motto{font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:1.5rem;line-height:1.4;margin:0 0 18px}
.hero-text{color:var(--ink);font-size:1.05rem;line-height:1.7;margin:0 0 26px;max-width:480px}
.cta{display:inline-block;width:max-content;background:var(--dark);color:white;padding:13px 20px;border-radius:8px;text-decoration:none;border:1px solid var(--gold)}
.photos{display:grid;grid-template-rows:repeat(3,1fr);position:relative;clip-path:url(#photoWaveClip);-webkit-clip-path:url(#photoWaveClip)}.photo{position:relative;background-size:cover;background-position:center}
.wave-border{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}
.wave-border path{fill:none;stroke:var(--gold);stroke-width:1.1}
.label{position:absolute;right:22px;top:20px;background:rgba(49,74,59,.92);color:white;padding:8px 20px;border-radius:999px;border:1px solid var(--gold);font-family:Georgia,serif}
section{padding:75px 22px}.container{max-width:1180px;margin:auto}
h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;text-align:center;color:var(--dark);margin:0 0 12px}
.sub{text-align:center;max-width:760px;margin:0 auto 42px;color:#59645d}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:white;border:1px solid #dfd3bd;border-top:4px solid var(--gold);padding:26px 22px;border-radius:14px;box-shadow:0 10px 28px rgba(38,54,45,.08)}
.card h3{font-family:Georgia,serif;color:var(--dark)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery figure{margin:0;background:white;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(38,54,45,.1)}
.gallery img{width:100%;height:300px;object-fit:cover;display:block}.gallery figcaption{padding:16px;font-family:Georgia,serif;font-size:1.15rem}
.about{background:var(--dark);color:white}.about h2{color:white;text-align:left}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.about img{width:100%;border-radius:16px;border:1px solid var(--gold)}
blockquote{font-family:Georgia,serif;font-size:1.6rem;border-left:3px solid var(--gold);padding-left:20px}
.contact{background:#fffaf1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.box{background:white;padding:32px;border-radius:14px;border:1px solid #dfd3bd}.box h3{font-family:Georgia,serif;color:var(--dark);font-size:1.6rem}
input,textarea{width:100%;padding:12px 13px;border:1px solid #cfc6b5;border-radius:8px;font:inherit;margin-bottom:12px}
button{background:var(--dark);color:white;border:1px solid var(--gold);padding:12px 18px;border-radius:8px;font:inherit;cursor:pointer}
footer{background:#22372b;color:white;text-align:center;padding:26px 18px;border-top:2px solid var(--gold)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.photos{min-height:75vh}.cards{grid-template-columns:repeat(2,1fr)}.gallery,.about-grid,.contact-grid{grid-template-columns:1fr}.menu{display:none}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.copy{padding:50px 24px}.gallery img{height:230px}}

/* ===== Menu mobile (ajout) ===== */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:12px;margin:-12px;}
.nav-toggle span{display:block;width:24px;height:2px;background:white;margin:5px 0;transition:transform .2s ease,opacity .2s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:29;}
.nav-overlay.open{display:block;}
@media(max-width:900px){
  .nav-toggle{display:block;}
  .menu{
    display:none;position:fixed;top:0;right:0;height:100vh;width:75%;max-width:300px;
    background:var(--dark);flex-direction:column;padding:90px 30px;gap:22px;z-index:30;
  }
  .menu a{padding:6px 0;}
  .menu.open{display:flex;}
}

.form-msg{font-size:.9rem;margin-top:10px;min-height:1.2em}
.form-msg-ok{color:var(--sage);font-weight:600}
.form-msg-error{color:#b5482f;font-weight:600}
button[type="submit"]:disabled{opacity:.6;cursor:not-allowed}
