*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',sans-serif;color:#1c1c1c;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button{font-family:'Inter',sans-serif;cursor:pointer;border:none;background:none}
:root{
  --g1:#163521;--g2:#1f4a2d;--g3:#2d7042;--g4:#4a9460;
  --gold:#b8922a;--goldt:#d4ad55;
  --cream:#f7f4ef;--cream2:#ede9e0;--dark:#0d1a11;
  --text:#1e1e1e;--muted:#5a5a5a;
}

/* REVEAL */
.rv{opacity:0;transform:translateY(36px);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:78px;transition:background .4s,height .4s,box-shadow .4s}
#nav.s{background:rgba(247,244,239,.97);backdrop-filter:blur(20px);height:62px;box-shadow:0 1px 0 rgba(0,0,0,.07)}
.n-logo{display:flex;align-items:center;gap:11px}
.n-mark{width:58px;height:58px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}
.n-mark img{width:100%;height:100%;object-fit:cover;display:block}
.n-words b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:#fff;transition:color .4s}
.n-words small{display:block;font-size:.5rem;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .4s}
#nav.s .n-words b{color:var(--dark)}
#nav.s .n-words small{color:var(--muted)}
.n-links{display:flex;align-items:center;gap:2px;list-style:none}
.n-links a{display:block;padding:7px 12px;border-radius:4px;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.8);transition:background .2s,color .2s}
#nav.s .n-links a{color:var(--text)}
.n-links a:hover{background:rgba(255,255,255,.1);color:#fff}
#nav.s .n-links a:hover{background:rgba(22,53,33,.07);color:var(--g1)}
.n-cta{background:var(--goldt)!important;color:#111!important;font-weight:700!important;padding:8px 18px!important;border-radius:5px!important}
.n-cta:hover{background:var(--gold)!important}
.n-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;border-radius:6px;transition:background .25s}
.n-burger:hover{background:rgba(255,255,255,.1)}
#nav.s .n-burger:hover{background:rgba(22,53,33,.07)}
.n-burger span{display:block;height:1.5px;border-radius:2px;background:#fff;transition:all .35s cubic-bezier(.16,1,.3,1)}
.n-burger span:nth-child(1){width:22px}
.n-burger span:nth-child(2){width:16px}
.n-burger span:nth-child(3){width:22px}
#nav.s .n-burger span{background:var(--dark)}
.n-burger.open span:nth-child(1){width:22px;transform:translateY(6.5px) rotate(45deg)}
.n-burger.open span:nth-child(2){width:0;opacity:0}
.n-burger.open span:nth-child(3){width:22px;transform:translateY(-6.5px) rotate(-45deg)}

/* MOBILE MENU */
#mob{display:none;position:fixed;inset:0;z-index:895;background:linear-gradient(160deg,#09160c 0%,#0d1a11 55%,#0f1d13 100%);flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .38s ease}
#mob.open{display:flex;opacity:1}
.mob-links{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}
.mob-links a{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,8vw,2.8rem);font-weight:600;color:rgba(255,255,255,.42);padding:10px 40px;width:100%;text-align:center;transition:color .25s,padding-left .25s}
.mob-links a:hover{color:#fff;padding-left:48px}
.mob-cta-link{background:var(--gold)!important;color:#111!important;font-family:'Inter',sans-serif!important;font-size:1rem!important;font-weight:700!important;border-radius:6px!important;padding:13px 40px!important;margin-top:12px;max-width:260px}
.mob-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;gap:20px}
.mob-bottom a{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);transition:color .2s}
.mob-bottom a:hover{color:var(--goldt)}

/* WHATSAPP */
#wa{position:fixed;bottom:28px;right:22px;z-index:800;width:52px;height:52px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.4);transition:transform .3s;cursor:pointer}
#wa:hover{transform:scale(1.1)}
#wa img{width:56%;height:56%;object-fit:contain;display:block}
@media(max-width:560px){#wa{bottom:18px;right:16px;width:48px;height:48px}}

/* COOKIE */
#ck{position:fixed;bottom:28px;left:22px;z-index:990;background:var(--dark);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 20px;max-width:310px;box-shadow:0 20px 56px rgba(0,0,0,.45);transform:translateY(14px);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s}
#ck.show{transform:none;opacity:1;pointer-events:auto}
#ck p{font-size:.74rem;color:rgba(255,255,255,.58);line-height:1.65;margin-bottom:13px}
#ck p a{color:var(--goldt);font-weight:600;text-decoration:underline;cursor:pointer}
.ck-btns{display:flex;gap:8px}
.ck-ok{flex:1;padding:9px;background:var(--goldt);border:none;border-radius:7px;color:#111;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .2s}
.ck-ok:hover{background:var(--gold)}
.ck-more{padding:9px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:7px;color:rgba(255,255,255,.5);font-size:.76rem;cursor:pointer;transition:all .2s;white-space:nowrap}
.ck-more:hover{border-color:rgba(255,255,255,.3);color:#fff}

/* Desktop: make cookie banner wider and centered across bottom for better responsiveness */
@media(min-width:900px){
  #ck{
    left:50%;
    transform:translate(-50%,14px);
    bottom:28px;
    max-width:900px;
    width:calc(100% - 260px);
    padding:18px 26px;
    display:flex;
    align-items:center;
    gap:18px;
    border-radius:12px;
  }
  #ck.show{transform:translate(-50%,0);}
  #ck p{flex:1;margin-bottom:0;text-align:left}
  .ck-btns{flex-shrink:0;display:flex;align-items:center;gap:10px}
}

/* Mobile fallback */
@media(max-width:480px){#ck{left:12px;right:12px;bottom:76px;max-width:none}}

/* RGPD MODAL */
#rgpd{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}
#rgpd.show{opacity:1;pointer-events:auto}
.rbox{background:#fff;border-radius:14px;padding:32px;max-width:580px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 24px 64px rgba(0,0,0,.15)}
.rbox h3{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--dark);margin-bottom:3px}
.rbox .rsub{font-size:.7rem;color:#aaa;margin-bottom:20px;display:block}
.rsec{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #f0ece6}
.rsec:last-of-type{border:none;margin:0;padding:0}
.rsec h4{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--g2);font-weight:700;margin-bottom:7px}
.rsec p,.rsec li{font-size:.78rem;color:var(--muted);line-height:1.75}
.rsec ul{padding-left:16px;margin-top:5px}
.rsec li{margin-bottom:3px}
.rsec strong{color:var(--dark)}
.rrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.rrow b{font-size:.8rem;color:var(--dark);display:block}
.rrow small{font-size:.7rem;color:#aaa}
.rtog{display:inline-block;position:relative;width:40px;height:22px;flex-shrink:0}
.rtog input{position:absolute;opacity:0;width:0;height:0}
.rtog-t{display:block;width:100%;height:100%;background:#ccc;border-radius:999px;position:relative;transition:background .25s;cursor:pointer}
.rtog-th{position:absolute;left:3px;top:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.2,.9,.2,1)}
.rtog input:checked+.rtog-t{background:var(--g3)}
.rtog input:checked+.rtog-t .rtog-th{transform:translateX(18px)}
.rtog input:disabled+.rtog-t{background:var(--g3);opacity:.55;cursor:not-allowed}
.rsave{width:100%;padding:11px;background:var(--g1);border:none;border-radius:8px;color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;margin-top:8px;transition:background .2s}
.rsave:hover{background:var(--g2)}
.rclose{position:absolute;top:14px;right:16px;background:none;border:none;color:#bbb;font-size:1.3rem;cursor:pointer;line-height:1;transition:color .2s}
.rclose:hover{color:var(--dark)}

/* HERO */
#hero{position:relative;width:100%;height:100vh;min-height:600px;display:flex;align-items:center;overflow:hidden}
.h-fallback{
  position:absolute;
  inset:0;
  /* nouvelle image de fond principale (optimisée pour tous les appareils) */
  background-image: url('fond 3 .png');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /* fixed gives a polished parallax feel on desktop but can be disabled on small screens */
  background-attachment: fixed;
}

/* On small screens disable background-attachment for performance and smoother scroll */
@media(max-width:820px){
  .h-fallback{
    background-attachment: scroll;
    /* slight position tweak to keep important content visible on narrow viewports */
    background-position: center 35%;
  }
}
.h-ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(13,26,17,.9) 0%,rgba(13,26,17,.6) 50%,rgba(13,26,17,.2) 100%)}
.h-fade{position:absolute;bottom:0;left:0;right:0;height:160px;background:linear-gradient(to bottom,transparent,rgba(247,244,239,.35))}
.h-cnt{position:relative;z-index:2;padding:0 5vw;max-width:820px}
.h-eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);padding:7px 16px;border-radius:100px;margin-bottom:26px;font-size:.66rem;letter-spacing:2px;text-transform:uppercase;color:#fff;font-weight:600;opacity:0;animation:fu .8s .3s forwards}
.h-dot{width:6px;height:6px;border-radius:50%;background:var(--goldt);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
.h-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7.5vw,6.2rem);font-weight:600;line-height:1.05;letter-spacing:-.5px;color:#fff;margin-bottom:20px;opacity:0;animation:fu .9s .5s forwards}
.h-h1 em{font-style:italic;color:var(--goldt);font-weight:300}
.h-p{font-size:clamp(.88rem,1.3vw,1.04rem);color:rgba(255,255,255,.75);line-height:1.8;font-weight:300;max-width:500px;margin-bottom:36px;opacity:0;animation:fu .9s .7s forwards}
.h-btns{display:flex;gap:12px;flex-wrap:wrap;opacity:0;animation:fu .9s .9s forwards}
.btn-p{display:inline-flex;align-items:center;gap:9px;background:var(--g1);color:#fff;padding:14px 30px;border-radius:5px;font-size:.88rem;font-weight:700;box-shadow:0 6px 24px rgba(22,69,34,.15);transition:background .25s,transform .2s;border:2px solid rgba(22,69,34,.1)}
.btn-p:hover{background:var(--g2);transform:translateY(-2px)}
.h-brands{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex}
.h-brand{flex:1;display:flex;align-items:center;gap:12px;padding:20px 4vw;border-right:1px solid rgba(255,255,255,.1);background:rgba(13,26,17,.4);backdrop-filter:blur(8px);transition:background .3s;opacity:0;animation:fu .8s 1.1s forwards}
.h-brand:last-child{border-right:none}
.h-brand:hover{background:rgba(13,26,17,.6)}
.hb-n{font-size:.88rem;font-weight:600;color:#fff;margin-bottom:2px}
.hb-s{font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5)}
@keyframes fu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* STATS */
.stats-bar{background:var(--dark);display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:26px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.stat::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--gold);transition:width .6s}
.stat.on::after{width:50%}
.stat:last-child{border-right:none}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:700;color:#fff;line-height:1;margin-bottom:5px}
.stat-n span{color:var(--goldt)}
.stat-l{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* SECTION */
.sec{padding:clamp(64px,9vw,110px) 5vw}
.ey{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.6rem;letter-spacing:3.5px;text-transform:uppercase;font-weight:700;color:var(--g2)}
.ey::before{content:'';width:22px;height:2px;background:var(--g2);display:block;flex-shrink:0}
.sh2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,4.5vw,3.6rem);font-weight:700;line-height:1.09;letter-spacing:-.5px;color:var(--dark);margin-bottom:15px}
.sh2 em{font-style:italic;color:var(--g2);font-weight:300}
.sp{font-size:.95rem;color:var(--muted);line-height:1.8;max-width:520px}

/* FLOWS */
.div-dark-to-cream{height:80px;background:linear-gradient(to bottom,var(--dark),var(--cream))}
.div-cream-to-cream2{height:80px;background:linear-gradient(to bottom,var(--cream),var(--cream2))}
/* Subtle separator between À propos and Zone d'intervention —
   removed the stronger "trait" and replaced with a very light gradient */
.div-subtle{
  height:48px;
  background:linear-gradient(180deg, rgba(237,233,224,0.02) 0%, rgba(247,244,239,0.6) 100%);
}
.div-cream-to-dark{height:80px;background:linear-gradient(to bottom,var(--cream),var(--dark))}
.div-cream2-to-dark{height:80px;background:linear-gradient(to bottom,var(--cream2),var(--dark))}
.div-white-to-cream{height:80px;background:linear-gradient(to bottom,#fff,var(--cream))}
.div-cream-to-white{height:80px;background:linear-gradient(to bottom,var(--cream),#fff)}
#sernettoyage{background:var(--cream)}
#temoignages{background:var(--cream)}
#prix{background:#fff}
/* Make "À propos" match the lighter cream used across the site for consistency */
#apropos{background:var(--cream)}

#localisation{
  /* Subtle vertical gradient to distinguish the section from neighbors (very light, natural tone) */
  background: linear-gradient(180deg, var(--cream2) 0%, rgba(237,233,224,0.9) 40%, var(--cream) 100%);
  position:relative;
  padding-top:clamp(64px,9vw,110px);
  z-index:1;
  transition:background .45s ease;
}

/* Contact kept soft cream but with a gentle gradient that reads as a separate area */
#contact{
  /* Gentle gradient slightly warmer than localisation for a clear but soft separation */
  background: linear-gradient(180deg, var(--cream) 0%, rgba(247,244,239,0.95) 45%, #fbfdf9 100%);
  padding-top:clamp(64px,9vw,110px);
  transition:background .45s ease, box-shadow .35s;
  position:relative;
  z-index:0;
}

/* Slight accent when user scrolls into contact to reinforce the section change (subtle) */
#contact.on { box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 -6px 18px rgba(22,74,34,0.02); }

/* Ensure footer remains unchanged visually */
footer{background:var(--dark)}

/* SERVICES */
.sj-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.sj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sj-card{border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 22px rgba(0,0,0,.07);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.sj-card:hover{transform:translateY(-5px);box-shadow:0 16px 44px rgba(0,0,0,.1)}
.sj-img{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--cream2)}
.sj-img img{display:block;width:100%;height:100%;object-fit:cover}
.sj-tag{position:absolute;bottom:10px;left:10px;background:var(--g1);color:#fff;font-size:.56rem;letter-spacing:2px;text-transform:uppercase;font-weight:600;padding:5px 10px;border-radius:3px}
.sj-body{padding:20px 18px 24px}
.sj-num{font-size:.58rem;color:var(--g3);font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px}
.sj-body h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.sj-body p{font-size:.84rem;color:var(--muted);line-height:1.7;margin-bottom:16px}
.sj-link{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--g1);border-bottom:2px solid var(--g1);padding-bottom:2px;transition:gap .3s}
.sj-card:hover .sj-link{gap:10px}

/* TEMOIGNAGES */
.temo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.temo-card{background:#fff;border-radius:8px;padding:26px 22px;border:1px solid rgba(0,0,0,.07);transition:transform .3s,box-shadow .3s}
.temo-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(0,0,0,.08)}
.stars{color:var(--gold);font-size:.9rem;letter-spacing:2px;margin-bottom:12px}
.temo-q{font-size:2.2rem;font-family:'Cormorant Garamond',serif;color:var(--cream2);line-height:1;margin-bottom:6px}
.temo-text{font-size:.86rem;color:var(--muted);line-height:1.75;margin-bottom:16px;font-style:italic}
.temo-author{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}
.temo-av{width:36px;height:36px;border-radius:50%;background:var(--g1);display:flex;align-items:center;justify-content:center;font-size:.95rem;color:#fff;font-weight:700;font-family:'Cormorant Garamond',serif;flex-shrink:0}
.temo-name{font-size:.86rem;font-weight:600;color:var(--dark)}
.temo-loc{font-size:.7rem;color:#999}
.temo-cta{margin-top:26px;padding:16px 20px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 6px 24px rgba(0,0,0,.05)}
.temo-cta h4{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--dark);margin-bottom:3px}
.temo-cta p{font-size:.8rem;color:var(--muted)}
.g-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid rgba(0,0,0,.08);padding:10px 16px;border-radius:8px;font-size:.82rem;font-weight:700;color:var(--dark);box-shadow:0 3px 12px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.g-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.g-btn svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:820px){.temo-cta{flex-direction:column;align-items:flex-start}.g-btn{width:100%;justify-content:center}}

/* PRIX */
.prix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.prix-card{border-radius:8px;padding:28px 22px;border:1.5px solid rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s;position:relative;background:#fff;display:flex;flex-direction:column;height:100%}
.prix-card.featured{border-color:var(--g1);background:linear-gradient(160deg,var(--g2) 0%,var(--g1) 100%)}
.prix-card:not(.featured):hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(0,0,0,.09);border-color:var(--g1)}
.prix-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;padding:4px 13px;border-radius:100px;white-space:nowrap}
.prix-name{font-size:.62rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--g3);margin-bottom:14px}
.prix-card.featured .prix-name{color:rgba(255,255,255,.6)}
.prix-price{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:700;color:var(--dark);line-height:1}
.prix-card.featured .prix-price{color:#fff}
.prix-period{font-size:.73rem;color:#999;margin-bottom:16px}
.prix-card.featured .prix-period{color:rgba(255,255,255,.5)}
.prix-sep{height:1px;background:rgba(0,0,0,.08);margin-bottom:16px}
.prix-card.featured .prix-sep{background:rgba(255,255,255,.15)}
.prix-list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:24px;flex:1}
.prix-list li{font-size:.82rem;color:var(--muted);display:flex;align-items:flex-start;gap:8px}
.prix-card.featured .prix-list li{color:rgba(255,255,255,.8)}
.prix-list li::before{content:'✓';color:var(--g3);font-weight:700;flex-shrink:0;margin-top:.05em}
.prix-card.featured .prix-list li::before{color:var(--goldt)}
.prix-btn{display:block;text-align:center;padding:12px;border-radius:5px;font-size:.84rem;font-weight:600;transition:all .25s}
.prix-btn.dark{background:var(--g1);color:#fff}
.prix-btn.dark:hover{background:var(--g2)}
.prix-btn.gold{background:var(--gold);color:#fff}
.prix-btn.gold:hover{background:var(--goldt)}
.prix-grid .prix-card:nth-child(1),.prix-grid .prix-card:nth-child(3){border:2px solid #000;box-shadow:0 14px 40px rgba(0,0,0,.1)}
.prix-card.featured{border-color:var(--g1)}

/* A PROPOS */
.ap-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,96px);align-items:center}
.ap-imgs{position:relative;width:100%;aspect-ratio:4/5;max-height:560px}
.ap-main{position:absolute;top:0;left:0;width:76%;height:82%;border-radius:8px;overflow:hidden;border:2px solid #000}
.ap-main img{display:block;width:100%;height:100%;object-fit:cover}
.ap-float{position:absolute;right:-4%;bottom:-4%;width:56%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.18);border:2px solid #000;z-index:6}
.ap-float img{display:block;width:100%;height:100%;object-fit:cover}
.ap-badge{position:absolute;top:-14px;right:22%;transform:translateX(50%);background:var(--g1);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 14px 36px rgba(22,53,33,.2);text-align:center;z-index:9;white-space:nowrap}
.ap-badge strong{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;display:block;line-height:1}
.ap-badge span{font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;opacity:.85;margin-top:4px;display:block}

/* Valeurs à propos — redesign moderne */
.ap-vals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.ap-v{background:#fff;border-radius:8px;padding:18px 16px;border:1px solid rgba(0,0,0,.07);transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.ap-v::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--g1);border-radius:3px 0 0 3px;transition:height .4s cubic-bezier(.16,1,.3,1)}
.ap-v:hover{border-color:rgba(22,53,33,.2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.ap-v:hover::before{height:100%}
.ap-v-icon{width:34px;height:34px;border-radius:7px;background:rgba(22,53,33,.07);display:flex;align-items:center;justify-content:center;margin-bottom:10px;transition:background .3s}
.ap-v:hover .ap-v-icon{background:rgba(22,53,33,.12)}
.ap-v-icon svg{width:16px;height:16px;stroke:var(--g1);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ap-v h4{font-size:.84rem;font-weight:700;color:var(--dark);margin-bottom:3px}
.ap-v p{font-size:.74rem;color:var(--muted);line-height:1.55}

/* CARTE */
.map-wrap{margin-top:42px;border-radius:10px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.05)}
.map-wrap iframe{display:block;width:100%;height:400px;border:none}
#localisation .sh2{color:var(--g2)}
#localisation .sp{max-width:820px;margin:auto}

/* CONTACT */
.ct-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(36px,6vw,80px);align-items:start}
.ct-info{display:flex;flex-direction:column;gap:0;margin-top:20px}
.ct-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07);transition:padding-left .25s}
.ct-row:hover{padding-left:4px}
.ct-ic{width:38px;height:38px;flex-shrink:0;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.ct-lbl{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--g2);font-weight:700}
.ct-val{font-size:.9rem;font-weight:600;color:var(--dark);margin-top:1px}
.soc-row{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1.5px solid rgba(22,53,33,.18);color:var(--g2);background:rgba(22,53,33,.04);font-size:.76rem;font-weight:600;transition:all .25s}
.soc:hover{border-color:var(--g1);color:var(--g1);background:rgba(22,53,33,.09)}

/* ═══════════════════════════════════════
   FORMULAIRE — redesign sobre & moderne
═══════════════════════════════════════ */
.form-wrap{border-radius:12px;overflow:hidden;box-shadow:0 20px 56px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.06)}

/* Header */
.form-head{background:var(--cream);padding:26px 30px 20px;border-bottom:2px solid var(--g1)}
.form-head h3{font-family:'Cormorant Garamond',serif;font-size:1.75rem;font-weight:700;color:var(--dark);margin-bottom:5px;line-height:1.1}
.form-head p{font-size:.8rem;color:var(--muted);line-height:1.6}
.fh-tags{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.fh-tag{font-size:.65rem;color:var(--g2);background:rgba(22,53,33,.07);padding:4px 10px;border-radius:20px;font-weight:600;border:1px solid rgba(22,53,33,.1)}

/* Indicateur étapes */
.form-stps{display:flex;align-items:center;background:#f8f6f2;padding:14px 30px;border-bottom:1px solid #eee}
.fs{display:flex;align-items:center;gap:7px}
.fs-n{width:22px;height:22px;border-radius:50%;background:#ddd;color:#999;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s,color .3s}
.fs-n.on{background:var(--g1);color:#fff}
.fs-n.ok{background:var(--g3);color:#fff}
.fs-l{font-size:.7rem;font-weight:600;color:#aaa;white-space:nowrap;transition:color .3s}
.fs-l.on{color:var(--g1)}
.fs-l.ok{color:var(--g3)}
.fs-sep{flex:1;height:1px;background:#ddd;margin:0 8px;min-width:16px;transition:background .3s}
.fs-sep.ok{background:var(--g3)}

/* Corps */
.form-body{background:#fff;padding:24px 30px 28px}
.step-panel{display:none}
.step-panel.active{display:block;animation:panIn .3s cubic-bezier(.16,1,.3,1)}
@keyframes panIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Champs */
.fld{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.fld label{font-size:.7rem;font-weight:700;color:#444;letter-spacing:.2px}
.inp{background:#fafaf8;border:1.5px solid #e0dbd3;border-radius:7px;padding:11px 14px;font-family:'Inter',sans-serif;font-size:.88rem;color:var(--text);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}
.inp::placeholder{color:#bbb8b2}
select.inp{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
select.inp option{background:#fff;color:var(--text)}
.inp:focus{border-color:var(--g2);background:#fff;box-shadow:0 0 0 3px rgba(22,53,33,.07)}
textarea.inp{resize:vertical;min-height:88px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Sélecteur service — liste propre */
.srv-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.srv-item{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:7px;border:1.5px solid #e0dbd3;background:#fafaf8;cursor:pointer;transition:all .2s}
.srv-item:hover{border-color:var(--g3);background:#f3f7f4}
.srv-item.on{border-color:var(--g1);background:#edf4ef}
.srv-item-left{display:flex;align-items:center;gap:10px}
.srv-item-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid #ccc;transition:all .2s;flex-shrink:0}
.srv-item.on .srv-item-dot{background:var(--g1);border-color:var(--g1)}
.srv-item-name{font-size:.84rem;font-weight:600;color:#333}
.srv-item.on .srv-item-name{color:var(--g1)}
.srv-item-tag{font-size:.62rem;color:var(--muted);background:#f0ece6;padding:2px 7px;border-radius:10px}

/* Date picker */
.date-wrap{position:relative}
.date-wrap .inp[type="date"]{color:var(--text)}
.date-wrap .inp[type="date"]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}

/* Urgence toggle */
.urg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#fafaf8;border:1.5px solid #e0dbd3;border-radius:7px;cursor:pointer;transition:all .2s;margin-bottom:14px}
.urg-row:hover{border-color:var(--g3)}
.urg-row.on{border-color:var(--g1);background:#edf4ef}
.urg-row b{display:block;font-size:.82rem;color:#222;font-weight:700}
.urg-row small{font-size:.7rem;color:#888}
.tog{display:inline-block;position:relative;width:40px;height:22px;flex-shrink:0}
.tog input{position:absolute;opacity:0;width:0;height:0}
.tog-t{display:block;width:100%;height:100%;background:#ccc;border-radius:999px;position:relative;transition:background .25s}
.tog-th{position:absolute;left:3px;top:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.2,.9,.2,1)}
.tog input:checked+.tog-t{background:var(--g3)}
.tog input:checked+.tog-t .tog-th{transform:translateX(18px)}

/* Boutons */
.step-btns{display:flex;gap:8px;margin-top:18px}
.btn-nxt{flex:1;padding:12px 18px;background:var(--g1);border:none;border-radius:7px;color:#fff;font-size:.86rem;font-weight:700;letter-spacing:.2px;transition:background .2s,transform .15s;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}
.btn-nxt:hover{background:var(--g2);transform:translateY(-1px)}
.btn-bk{width:40px;padding:12px;background:#f0ece6;border:none;border-radius:7px;color:#888;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer}
.btn-bk:hover{background:#e5ddd3;color:#333}

/* Bouton envoi */
#sendBtn{width:100%;padding:13px;background:var(--g1);border:none;border-radius:7px;color:#fff;font-size:.88rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 14px rgba(22,53,33,.18);cursor:pointer}
#sendBtn:hover{background:var(--g2);transform:translateY(-1px);box-shadow:0 8px 22px rgba(22,53,33,.24)}
#sendBtn:disabled{opacity:.5;transform:none;cursor:not-allowed}
.fnote{font-size:.64rem;color:#bbb;text-align:center;margin-top:10px}
.fnote a{color:var(--g2);text-decoration:underline;cursor:pointer}

/* Succès */
#fOk{display:none;text-align:center;padding:48px 24px;background:#fff}
#fOk.show{display:block;animation:panIn .4s ease}
.fok-ic{font-size:2.8rem;margin-bottom:12px}
#fOk h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--dark);margin-bottom:8px}
#fOk p{color:var(--muted);font-size:.88rem;line-height:1.8}
#fOk strong{color:var(--g1)}

/* JS compat hidden */
.steps-track,.steps-labels{display:none!important}
.step-dot,.step-line,.slbl{display:none!important}

/* FOOTER */
.ft-inner{padding:36px 5vw 26px;max-width:1200px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:26px;align-items:start}
.ft-logo b{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;color:#fff}
.ft-logo small{font-size:.5rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--g3);display:block;margin-top:3px}
.ft-brand p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.75;margin-top:14px;max-width:340px}
.ft-col h5{font-size:.56rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:16px;font-weight:700}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.ft-col a{font-size:.88rem;color:rgba(255,255,255,.7);transition:color .2s}
.ft-col a:hover{color:var(--goldt)}
.ft-btm{padding-top:20px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.ft-btm p{font-size:.7rem;color:rgba(255,255,255,.3)}

/* RESPONSIVE */
@media(max-width:1080px){
  .temo-grid{grid-template-columns:repeat(2,1fr)}
  .prix-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:820px){
  .n-links{display:none}
  .n-burger{display:flex}
  .sj-grid{grid-template-columns:1fr}
  .sj-img{aspect-ratio:16/9}
  .ap-layout,.ct-layout{grid-template-columns:1fr;gap:36px}
  .ap-imgs{aspect-ratio:unset;height:260px}
  .ap-main{width:72%;height:86%}
  .ap-float{right:-2%;bottom:-2%;width:58%}
  .ap-badge{top:-10px;right:24%;padding:8px 14px}
  .ap-badge strong{font-size:1.1rem}
  .ap-badge span{font-size:.6rem;margin-top:3px}
  .h-brands{display:none}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(3){border-top:1px solid rgba(255,255,255,.07)}
  .temo-grid{grid-template-columns:1fr}
  .prix-grid{grid-template-columns:1fr}
  .form-head,.form-body,.form-stps{padding-left:18px;padding-right:18px}
  .ct-layout{gap:28px}
}
@media(max-width:600px){
  .frow{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr;gap:22px}
  .h-btns{flex-direction:column;align-items:flex-start}
  .ap-vals{grid-template-columns:1fr}
  .sj-grid{gap:12px}
  .form-stps{padding:12px 18px}
  .fs-l{display:none}
}

/* À propos KPIs */
.ap-kpis{display:flex;gap:0;margin:18px 0 0;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden}
.ap-kpi{flex:1;padding:14px 10px;text-align:center;border-right:1px solid rgba(0,0,0,.08);background:#fff}
.ap-kpi:last-child{border-right:none}
.ap-kpi strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;color:var(--g1);line-height:1}
.ap-kpi span{display:block;font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* Temoignages card améliorée */
.temo-card{position:relative}
.temo-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--g1);border-radius:3px;transition:height .4s cubic-bezier(.16,1,.3,1)}
.temo-card:hover::after{height:100%}

.ab-item{padding:8px 16px}.ab-inner{gap:4px}}

@media(max-width:380px){
  .h-h1{font-size:2.6rem}
  .sh2{font-size:1.9rem}
  .ab-item strong{font-size:1.1rem}
  .form-head h3{font-size:1.45rem}
  .prix-card{padding:22px 16px}
  .ap-kpis{flex-direction:column}
  .ap-kpi{border-right:none!important;border-bottom:1px solid rgba(0,0,0,.08)}
  .ap-kpi:last-child{border-bottom:none}
}
}

.hb-ic-wrap{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--goldt)}

/* Page transition overlay */
#page-trans-overlay{position:fixed;inset:0;z-index:1500;pointer-events:none;opacity:0;transition:opacity .36s ease,transform .36s ease}
#page-trans-overlay::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0.02) 0%,rgba(0,0,0,0.8) 50%,rgba(255,255,255,0.02) 100%);transform:translateY(10%);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.2,1),opacity .36s}
#page-trans-overlay.show{opacity:1;pointer-events:auto}
#page-trans-overlay.show::before{opacity:1}
#page-trans-overlay.visible::before{transform:translateY(0);}

/* initial tiny entrance for direct-hash loads */
#page-trans-overlay.init{opacity:.03}
#page-trans-overlay.init::before{transform:translateY(-6%);opacity:.08}