@import url('https://fonts.googleapis.com/css2?family=Gloock&family=Onest:wght@400;500;700&display=swap');
:root{
 --pomme:#7CB342;--foret:#16221A;--craie:#F4F6F0;--terre:#6E5741;--pierre:#9AA39B;
 --noir:#0c130f;--blanc:#fff;--titre:'Gloock',serif;--texte:'Onest',sans-serif;
 --pad:clamp(1.25rem,5vw,5.5rem);--lecture:720px;--doux:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--foret)}
body{margin:0;font-family:var(--texte);font-size:17px;line-height:1.7;color:var(--foret);background:var(--craie);overflow-x:hidden}
body.menu-ouvert{overflow:hidden}
img{display:block;width:100%;height:auto;background:repeating-linear-gradient(135deg,#314338 0 12px,#213027 12px 24px);color:var(--craie)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{transition:color .35s ease,background-color .35s ease,transform .35s ease}
p{margin:0 0 1.25em}
h1,h2,h3{margin:0;font-family:var(--titre);font-weight:400;letter-spacing:-.045em;line-height:.91}
h1{font-size:clamp(3.5rem,8.8vw,9.8rem)}
h2{font-size:clamp(2.8rem,6.3vw,7rem)}
h3{font-size:clamp(1.6rem,2.5vw,2.8rem)}
.sur{font-family:var(--texte);font-size:.72rem;font-weight:700;line-height:1.35;letter-spacing:.2em;text-transform:uppercase}
.hd{position:fixed;left:0;right:0;top:0;z-index:60;min-height:90px;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(1rem,2.2vw,2.6rem);color:var(--craie);background:transparent;transition:background .45s ease,min-height .45s ease,color .45s ease}
.hd.defile{min-height:74px;background:rgba(22,34,26,.91);backdrop-filter:blur(14px)}
.hd .marque{font-family:var(--titre);font-size:clamp(1.7rem,2.6vw,2.7rem);letter-spacing:-.04em;transition:color .3s ease,transform .3s ease}
.hd .marque:hover{color:var(--pomme);transform:translateY(-2px)}
.hd nav{display:flex;justify-content:flex-end;gap:clamp(.9rem,1.7vw,2rem);align-items:center}
.hd nav a{display:flex;align-items:center;min-height:44px;font-weight:700;font-size:.8rem;position:relative;transition:color .3s ease,transform .3s ease}
.hd nav a::before{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1px;background:var(--pomme);transition:right .3s ease,opacity .3s ease}
.hd nav a:hover{color:var(--pomme);transform:translateY(-2px)}
.hd nav a:hover::before{right:0;opacity:1}
.tel{display:flex;flex-direction:column;justify-content:center;min-height:52px;white-space:nowrap;font-weight:700;transition:color .3s ease,transform .3s ease}
.tel span{font-size:.59rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pomme)}
.tel:hover{color:var(--pomme);transform:translateY(-2px)}
.menu-plus{min-height:46px;padding:.55rem .9rem;background:transparent;color:inherit;border:1px solid currentColor;cursor:pointer;transition:background .3s ease,transform .3s ease}
.menu-plus:hover{background:var(--pomme);color:var(--foret);transform:translateY(-3px)}
.volet{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:.2rem 5vw;padding:clamp(5rem,9vw,9rem);background:var(--pomme);color:var(--foret);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .75s cubic-bezier(.77,0,.18,1),visibility .75s}
.volet.ouvert{visibility:visible;clip-path:inset(0)}
.volet a{font-family:var(--titre);font-size:clamp(1.6rem,3.3vw,3.8rem);line-height:1.05;transition:color .28s ease,transform .28s ease}
.volet a:hover{color:var(--craie);transform:translateX(12px)}
.fermer{position:absolute;top:2rem;right:var(--pad);min-height:46px;padding:.6rem 1rem;background:var(--foret);color:var(--craie);border:0;cursor:pointer;transition:background .3s ease,transform .3s ease}
.fermer:hover{background:var(--terre);transform:rotate(-3deg)}
.hero-cinema{position:relative;isolation:isolate;height:100vh;height:100svh;min-height:700px;color:var(--craie);overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3;animation:kenJardin 22s ease-in-out infinite alternate;will-change:transform}
.vignette{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 52% 48%,rgba(22,34,26,.04) 0 37%,rgba(12,19,15,.58) 100%),linear-gradient(180deg,rgba(22,34,26,.15),rgba(22,34,26,.07) 45%,rgba(12,19,15,.64) 100%)}
.hero-texte{position:absolute;left:var(--pad);bottom:clamp(5.5rem,11vh,9rem);max-width:min(920px,78vw)}
.hero-texte .sur{color:var(--pomme);margin-bottom:1.2rem;animation:heroMontee .8s .1s both}
.hero-texte h1{max-width:1000px;animation:heroMontee .9s .22s both;text-shadow:0 2px 35px rgba(12,19,15,.35)}
.hero-texte>p:not(.sur){font-family:var(--titre);font-size:clamp(1.25rem,2vw,2rem);margin:1.5rem 0;animation:heroMontee .8s .38s both}
.hero-texte .bouton-contour{animation:heroMontee .8s .52s both}
.bouton-contour{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1.1rem;border:1px solid currentColor;font-weight:700;transition:background .3s ease,transform .3s ease}
.bouton-contour:hover{background:var(--pomme);border-color:var(--pomme);color:var(--foret);transform:translateY(-4px)}
.mini-cal{position:absolute;right:var(--pad);bottom:clamp(3.2rem,7vh,6rem);width:min(320px,35vw);padding:1rem 0;color:var(--craie);background:linear-gradient(0deg,rgba(244,246,240,.65) 0 1px,transparent 1px)}
.mini-cal span{display:block;color:var(--pomme);font-size:.65rem;letter-spacing:.17em;text-transform:uppercase}
.mini-cal b{font-family:var(--titre);font-size:1.25rem;font-weight:400}
.defile{position:absolute;right:var(--pad);bottom:1.1rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;animation:descend 2.3s ease-in-out infinite;transition:color .3s ease,transform .3s ease}
.defile:hover{color:var(--pomme);transform:translateY(4px)}
.essentiel-s{display:grid;grid-template-columns:1.35fr 1fr 1fr .9fr;background:var(--pomme);color:var(--foret)}
.essentiel-s>div{min-height:150px;padding:1.5rem var(--pad);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,transparent calc(100% - 1px),rgba(22,34,26,.35) calc(100% - 1px))}
.essentiel-s span{font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:.6rem}
.essentiel-s b{font-family:var(--titre);font-size:clamp(1.05rem,1.55vw,1.5rem);font-weight:400;line-height:1.2}
.essentiel-s a{font-family:var(--titre);font-size:clamp(1.35rem,2vw,2rem);text-decoration:underline;text-underline-offset:.2em;transition:color .3s ease,transform .3s ease}
.essentiel-s a:hover{color:var(--craie);transform:translateX(6px)}
.diptyque-s{min-height:100vh;display:grid;grid-template-columns:62% 38%;background:var(--foret);color:var(--craie)}
.diptyque-s>img{height:100%;min-height:100vh;object-fit:cover;filter:saturate(1.14) contrast(1.08);transition:filter .8s ease,transform 1s ease}
.diptyque-s:hover>img{filter:saturate(1.28) contrast(1.12);transform:scale(1.018)}
.diptyque-s>div{align-self:end;padding:clamp(4rem,8vw,8rem) var(--pad)}
.diptyque-s .sur{color:var(--pomme)}
.diptyque-s h2{font-size:clamp(2.8rem,4.5vw,5.3rem);margin:.8rem 0 2rem}
.diptyque-s p{max-width:610px}
.calendrier-s{min-height:100vh;padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--craie);overflow:hidden}
.calendrier-s>header{max-width:1150px;margin-bottom:4rem}
.calendrier-s>header .sur{color:var(--terre)}
.calendrier-s>header h2{margin:.8rem 0 1.8rem}
.calendrier-s>header>p:last-child{color:var(--pomme);font-weight:700}
.mois{display:grid;grid-template-columns:repeat(12,1fr);background:var(--foret)}
.mois button{min-height:62px;border:0;background:var(--foret);color:var(--craie);cursor:pointer;font-size:.72rem;font-weight:700;transition:background .25s ease,transform .25s ease}
.mois button:hover{background:var(--terre);transform:translateY(-4px)}
.mois button.actif{background:var(--pomme);color:var(--foret);transform:translateY(-8px)}
.fiche-mois{display:grid;grid-template-columns:.38fr 1fr .95fr;min-height:510px;background:var(--foret);color:var(--craie)}
.fiche-mois>span{font-family:var(--titre);font-size:clamp(7rem,18vw,18rem);line-height:.8;color:var(--pomme);align-self:end;transform:translateX(-.04em)}
.fiche-mois>div{padding:clamp(3rem,6vw,6rem) var(--pad);align-self:center}
.fiche-mois h3{font-size:clamp(2.3rem,4vw,4.8rem);margin-bottom:1.5rem}
.fiche-mois b{display:block;color:var(--pomme);font-size:.84rem}
.fiche-mois img{height:100%;object-fit:cover;transition:filter .55s ease,transform .7s ease}
.fiche-mois:hover img{filter:saturate(1.25);transform:scale(1.025)}
.outil-s{min-height:100vh;padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--terre);color:var(--craie)}
.outil-s .intro{max-width:1080px;margin-bottom:3rem}
.outil-s .sur{color:var(--pomme)}
.outil-s h2{margin:.8rem 0 1.5rem}
.outil-s .intro>p:last-child{font-weight:700;color:var(--pomme)}
.sim-complet{display:grid;grid-template-columns:.9fr .9fr 1.1fr 1.25fr 1.1fr;gap:1px;background:rgba(244,246,240,.32)}
.sim-complet>label{display:flex;flex-direction:column;padding:1.4rem;background:var(--foret);font-size:.69rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.sim-complet input,.sim-complet select{min-height:52px;width:100%;margin-top:1rem;padding:.65rem;background:var(--craie);color:var(--foret);border:0;transition:background .3s ease,transform .3s ease}
.sim-complet input:focus,.sim-complet select:focus{background:var(--pomme);transform:translateY(-2px);outline:0}
.resultat-s{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:1rem 4rem;padding:clamp(2rem,5vw,5rem);background:var(--foret)}
.resultat-s>small{grid-column:1/2;text-transform:uppercase;letter-spacing:.17em}
.resultat-s>strong{grid-column:1/2;font-family:var(--titre);font-size:clamp(5rem,12vw,12rem);line-height:.8;color:var(--pomme);transition:color .3s ease,transform .3s ease}
.resultat-s.flash>strong{color:var(--craie);transform:scale(1.025)}
.resultat-s>div:not(.jauge){grid-column:2/3;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.resultat-s>div span{display:flex;justify-content:space-between;background:linear-gradient(0deg,rgba(244,246,240,.28) 0 1px,transparent 1px);padding-bottom:.6rem}
.jauge{grid-column:1/2;height:12px;background:var(--pierre)}
.jauge i{display:block;height:100%;width:50%;background:var(--pomme);transition:width .6s ease,background .6s ease}
.resultat-s>p{grid-column:1/-1;color:var(--pierre)}
.resultat-s .bouton{grid-column:1/-1;justify-self:start}
.outil-s>.note{max-width:1180px;margin:2rem 0 0;color:rgba(244,246,240,.74);font-size:.8rem}
.bouton{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:.75rem 1.1rem;background:var(--pomme);color:var(--foret);font-weight:700;transition:background .3s ease,transform .3s ease}
.bouton:hover{background:var(--craie);transform:translateY(-4px)}
.comparateur-s{min-height:100vh;display:grid;grid-template-columns:36% 64%;grid-template-rows:1fr auto;background:var(--craie)}
.comparateur-s>div:first-child{padding:clamp(4rem,8vw,8rem) var(--pad);align-self:center}
.comparateur-s .sur{color:var(--terre)}
.comparateur-s h2{font-size:clamp(2.8rem,4.8vw,5.6rem);margin:.8rem 0 1.5rem}
.comparateur-s input{width:100%;accent-color:var(--pomme);min-height:44px}
.avant{margin:0;position:relative;overflow:hidden;min-height:78vh;--coupe:52%}
.avant img{height:100%;object-fit:cover;filter:saturate(1.17);transition:filter .7s ease,transform .9s ease}
.avant:hover img{filter:saturate(1.3);transform:scale(1.025)}
.avant i{position:absolute;top:0;bottom:0;left:var(--coupe);width:2px;background:var(--pomme);box-shadow:0 0 0 5px rgba(124,179,66,.25);transition:left .15s linear,box-shadow .3s ease}
.avant i::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;background:var(--pomme);color:var(--foret);font-style:normal}
.avant figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--foret);color:var(--craie);padding:.7rem 1rem;font-size:.76rem}
.comparaison{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:0!important}
.comparaison article{padding:2rem var(--pad);background:var(--foret);color:var(--craie)}
.comparaison article+article{background:var(--pomme);color:var(--foret)}
.comparaison b{font-family:var(--titre);font-size:2rem;font-weight:400}
.manifeste-s{padding:clamp(6rem,12vw,12rem) var(--pad);background:var(--foret);color:var(--craie)}
.manifeste-s>div:first-child{display:grid;grid-template-columns:.35fr 1fr;gap:4rem;align-items:start}
.manifeste-s .sur{color:var(--pomme);padding-top:.8rem}
.manifeste-s h2{max-width:1100px}
.colonnes{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:clamp(2rem,5vw,6rem);margin:clamp(4rem,8vw,8rem) 0}
.colonnes p{font-size:clamp(1rem,1.2vw,1.22rem)}
.macros{display:grid;grid-template-columns:1fr .7fr 1.3fr;align-items:end}
.macros img{height:42vw;max-height:620px;object-fit:cover;filter:saturate(.9);transition:filter .65s ease,transform .8s ease}
.macros img:nth-child(2){height:32vw;max-height:460px;transform:translateY(3rem)}
.macros img:hover{filter:saturate(1.25);transform:translateY(-8px)}
.macros img:nth-child(2):hover{transform:translateY(calc(3rem - 8px))}
.equipe-s{padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--pomme);color:var(--foret)}
.equipe-s>header{display:grid;grid-template-columns:.35fr 1fr;gap:4rem;margin-bottom:4rem}
.equipe-s>header h2{max-width:1000px}
.mosaic{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;grid-auto-rows:minmax(270px,38vw);gap:0}
.mosaic article{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;color:var(--craie)}
.mosaic article:nth-child(1){grid-row:span 2}.mosaic article:nth-child(4){grid-column:span 2}.mosaic article:nth-child(6){grid-column:span 2}
.mosaic img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.5) grayscale(.3);z-index:0;transition:filter .6s ease,transform .8s ease}
.mosaic article:hover img{filter:brightness(.68) grayscale(0);transform:scale(1.045)}
.mosaic h3,.mosaic p{position:relative;z-index:1}
.mosaic h3{font-size:clamp(2rem,3vw,3.5rem)}
.mosaic p{font-size:.82rem;line-height:1.45;margin:0}
.garantie{margin:3rem 0 0;font-weight:700;max-width:950px}
.negatif-s{min-height:100vh;display:grid;grid-template-columns:60% 40%;background:var(--noir);color:var(--craie)}
.negatif-s>img{height:100%;min-height:100vh;object-fit:cover;filter:saturate(1.16) brightness(.77);transition:filter .7s ease,transform .9s ease}
.negatif-s:hover>img{filter:saturate(1.3) brightness(.84);transform:scale(1.02)}
.negatif-s>div{align-self:end;padding:clamp(4rem,8vw,8rem) var(--pad)}
.negatif-s .sur{color:var(--pomme)}
.negatif-s h2{font-size:clamp(2.8rem,4.8vw,5.5rem);margin:.8rem 0 2rem}
.carte-s{min-height:100vh;display:grid;grid-template-columns:42% 33% 25%;background:var(--craie)}
.carte-s>div:first-child{padding:clamp(4rem,8vw,8rem) var(--pad);align-self:center}
.carte-s .sur{color:var(--terre)}
.carte-s h2{font-size:clamp(2.6rem,4.4vw,5.2rem);margin:.8rem 0 2rem}
.liens-villes{display:flex;flex-wrap:wrap;gap:.6rem}
.liens-villes a{min-height:44px;display:flex;align-items:center;padding:.4rem .7rem;background:var(--foret);color:var(--craie);transition:background .3s ease,transform .3s ease}
.liens-villes a:hover{background:var(--pomme);color:var(--foret);transform:translateY(-3px)}
.plan{position:relative;min-height:700px;background:var(--foret);overflow:hidden}
.plan::before,.plan::after{content:"";position:absolute;border:1px solid rgba(124,179,66,.4);border-radius:50%;inset:12% 8% 25%}
.plan::after{inset:27% 22% 10% 16%}
.plan i{position:absolute;color:var(--craie);font-style:normal;font-size:.75rem;z-index:2;transition:color .3s ease,transform .3s ease}
.plan i::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pomme);margin-right:.45rem;animation:point 2.4s ease-in-out infinite}
.plan i:hover{color:var(--pomme);transform:scale(1.08)}
.r1{left:42%;top:49%}.r2{right:7%;top:42%}.r3{left:38%;top:19%}.r4{left:8%;top:55%}
.plan span{position:absolute;left:-12%;right:-12%;top:44%;height:80px;border-top:2px solid var(--pomme);transform:rotate(-12deg);opacity:.35}
.carte-s figure{margin:0;position:relative;overflow:hidden}
.carte-s figure img{height:100%;object-fit:cover;transition:filter .7s ease,transform .9s ease}
.carte-s figure:hover img{filter:saturate(1.25);transform:scale(1.035)}
.carte-s figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;background:rgba(22,34,26,.9);color:var(--craie);padding:.7rem;font-size:.72rem}
.entree-photo{position:relative;min-height:82vh;color:var(--craie);overflow:hidden;display:flex;align-items:flex-end}
.entree-photo>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.56) saturate(1.05);transition:filter .8s ease,transform 1s ease;animation:kenInterieur 24s ease-in-out infinite alternate}
.entree-photo:hover>img{filter:brightness(.63) saturate(1.16)}
.entree-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,34,26,.12),rgba(12,19,15,.72))}
.entree-photo>div{position:relative;z-index:2;padding:clamp(7rem,13vw,13rem) var(--pad) clamp(4rem,8vw,8rem);max-width:1200px}
.entree-photo .sur{color:var(--pomme)}
.entree-photo h1{margin:.8rem 0 1.5rem}
.entree-photo>div>p:last-child{font-family:var(--titre);font-size:clamp(1.2rem,2vw,2rem);max-width:730px}
.article-large{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(3rem,8vw,9rem);padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--craie)}
.article-large article{max-width:900px}
.article-large article>p:first-child{font-size:clamp(1.2rem,1.55vw,1.5rem)}
.article-large h2{font-size:clamp(2.5rem,4.5vw,5rem);margin:3rem 0 1.5rem}
.article-large h3{margin:2rem 0 1rem}
.article-large aside{align-self:start;position:sticky;top:110px;padding:1.6rem;background:var(--foret);color:var(--craie)}
.article-large aside>b{color:var(--pomme);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}
.article-large aside strong{font-family:var(--titre);font-size:2rem;color:var(--pomme);font-weight:400}
.article-large aside a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--titre);font-size:1.35rem;text-decoration:underline;transition:color .3s ease,transform .3s ease}
.article-large aside a:hover{color:var(--pomme);transform:translateX(5px)}
.article-large table{width:100%;border-collapse:collapse;margin:2rem 0}
.article-large th,.article-large td{padding:1rem .7rem;text-align:left;background:linear-gradient(0deg,var(--pierre) 0 1px,transparent 1px)}
.article-large th{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--terre)}
.article-large tr{transition:background .3s ease,transform .3s ease}
.article-large tr:hover{background:rgba(124,179,66,.14);transform:translateX(4px)}
.article-large ol{list-style:none;counter-reset:etape;padding:0}
.article-large ol li{counter-increment:etape;padding:1.2rem 0 1.2rem 4rem;position:relative;background:linear-gradient(0deg,var(--pierre) 0 1px,transparent 1px)}
.article-large ol li::before{content:counter(etape,decimal-leading-zero);position:absolute;left:0;font-family:var(--titre);font-size:2.4rem;color:var(--pomme)}
.article-large dl{display:grid;grid-template-columns:.3fr 1fr;margin-top:2rem}
.article-large dt,.article-large dd{padding:1rem 0;background:linear-gradient(0deg,var(--pierre) 0 1px,transparent 1px)}
.article-large dt{font-weight:700}.article-large dd{margin:0}
.journal-demo{margin-top:2rem;padding:1.4rem;background:var(--foret);color:var(--craie);display:flex;flex-direction:column}
.journal-demo span{font-size:.7rem;color:var(--pomme);letter-spacing:.12em;text-transform:uppercase}
.journal-demo b{font-family:var(--titre);font-size:1.6rem;font-weight:400;margin:.8rem 0}
.annee{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--pierre);margin:2rem 0}
.annee article{padding:1.5rem;background:var(--craie)}
.annee b{font-family:var(--titre);font-size:1.6rem;font-weight:400}
.espace-client{background:var(--foret);color:var(--craie);margin-top:2rem}
.espace-client nav{display:grid;grid-template-columns:repeat(4,1fr)}
.espace-client button{min-height:48px;border:0;background:var(--terre);color:var(--craie);cursor:pointer;transition:background .3s ease,transform .3s ease}
.espace-client button:hover,.espace-client button.actif{background:var(--pomme);color:var(--foret);transform:translateY(-3px)}
.espace-client article{padding:2rem}
.espace-client article span{color:var(--pomme)}
.devis-etapes{background:var(--foret);color:var(--craie);padding:clamp(1.5rem,4vw,4rem)}
.devis-etapes fieldset{display:none;border:0;padding:0;min-height:260px}
.devis-etapes fieldset.actif{display:grid;gap:1rem;animation:etapeEntre .5s var(--doux) both}
.devis-etapes legend{font-family:var(--titre);font-size:clamp(2rem,4vw,4rem);margin-bottom:1.5rem}
.devis-etapes label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em}
.devis-etapes input,.devis-etapes select{display:block;width:100%;min-height:52px;margin-top:.5rem;padding:.7rem;border:0;background:var(--craie)}
.devis-etapes input:focus,.devis-etapes select:focus{background:var(--pomme);transform:translateX(4px);outline:0}
.depot{padding:2rem;background:var(--terre)}
.actions{display:flex;gap:.6rem;justify-content:flex-end}
.actions button{min-height:48px;padding:.6rem 1rem;border:1px solid var(--craie);background:transparent;color:var(--craie);cursor:pointer;transition:background .3s ease,transform .3s ease}
.actions button:hover{background:var(--pomme);color:var(--foret);transform:translateY(-3px)}
.appel-signature{min-height:72vh;padding:clamp(5rem,10vw,10rem) var(--pad);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:var(--pomme);color:var(--foret)}
.appel-signature h2{max-width:1100px;margin:.8rem 0 2rem}
.appel-signature .bouton{background:var(--foret);color:var(--craie)}
.appel-signature .bouton:hover{background:var(--terre)}
.erreur .entree-photo h1{font-size:clamp(5rem,18vw,18rem)}
footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2rem,5vw,6rem);padding:clamp(5rem,8vw,8rem) var(--pad) 2rem;background:var(--foret);color:var(--craie)}
footer .marque{font-family:var(--titre);font-size:clamp(3rem,6vw,6rem)}
footer strong{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pomme)}
footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.3em;transition:color .3s ease,transform .3s ease}
footer a:hover{color:var(--pomme);transform:translateX(6px)}
.credit{grid-column:1/-1;margin:0;padding-top:2rem;color:var(--pierre);font-size:.7rem}
.appel-flottant{display:none}
.rv{opacity:0;transform:translateY(24px);transition:opacity .72s var(--doux),transform .72s var(--doux)}
.rv.vue{opacity:1;transform:translateY(0)}
.rv[data-delai="1"]{transition-delay:.08s}.rv[data-delai="2"]{transition-delay:.16s}.rv[data-delai="3"]{transition-delay:.24s}.rv[data-delai="4"]{transition-delay:.32s}
::selection{background:var(--pomme);color:var(--foret)}
:focus-visible{outline:3px solid var(--pomme);outline-offset:4px}
@keyframes kenJardin{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes kenInterieur{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes heroMontee{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes descend{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes point{0%,100%{box-shadow:0 0 0 0 rgba(124,179,66,.5)}50%{box-shadow:0 0 0 12px rgba(124,179,66,0)}}
@keyframes etapeEntre{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes resultatPulse{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes ligne{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes balise{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes grain{0%,100%{background-position:0 0}50%{background-position:20px 12px}}
@media(max-width:1120px){
 .hd{grid-template-columns:auto 1fr auto}.hd nav{display:none}
 .essentiel-s{grid-template-columns:1fr 1fr}
 .diptyque-s{grid-template-columns:1fr}.diptyque-s>img{min-height:75vh;height:75vh}.diptyque-s>div{padding-top:5rem}
 .mois{grid-template-columns:repeat(6,1fr);gap:1px}.fiche-mois{grid-template-columns:.35fr 1fr}.fiche-mois img{grid-column:1/-1;height:48vh}
 .sim-complet{grid-template-columns:1fr 1fr}.resultat-s{grid-column:1/-1}
 .comparateur-s{grid-template-columns:1fr}.avant{min-height:68vh}
 .mosaic{grid-template-columns:1fr 1fr}.mosaic article:nth-child(1){grid-row:span 1}.mosaic article:nth-child(4),.mosaic article:nth-child(6){grid-column:span 1}
 .carte-s{grid-template-columns:1fr 1fr}.carte-s>div:first-child{grid-column:1/-1}.carte-s figure{min-height:70vh}
}
@media(max-width:740px){
 body{font-size:17px;line-height:1.62;padding-bottom:72px}
 .hd{min-height:70px;padding:0 1rem;gap:.65rem}.hd.defile{min-height:66px}.hd .marque{font-size:1.55rem}.hd .tel{font-size:.74rem}.hd .tel span{display:none}.menu-plus{width:48px;padding:0;font-size:0}.menu-plus::after{content:"Menu";font-size:.7rem}
 .volet{grid-template-columns:1fr;padding:5rem 1.2rem 2rem;overflow:auto}.volet a{font-size:2rem}.fermer{top:1rem;right:1rem}
 .hero-cinema{height:88vh;height:88svh;min-height:620px}.hero-photo{object-position:62% center}.hero-texte{left:1rem;right:1rem;bottom:6rem;max-width:none}.hero-texte h1{font-size:clamp(3.6rem,17vw,5.9rem)}.hero-texte>p:not(.sur){font-size:1.2rem}
 .mini-cal{left:1rem;right:1rem;bottom:1.1rem;width:auto}.defile{display:none}
 .essentiel-s{grid-template-columns:1fr}.essentiel-s>div{min-height:112px;padding:1.2rem 1rem;background:linear-gradient(0deg,rgba(22,34,26,.32) 0 1px,transparent 1px)}
 .diptyque-s>img{height:62vh;min-height:62vh}.diptyque-s>div{padding:4rem 1rem}
 .calendrier-s{padding:4rem 1rem}.mois{grid-template-columns:repeat(4,1fr)}.fiche-mois{grid-template-columns:1fr}.fiche-mois>span{font-size:8rem}.fiche-mois>div{padding:2rem 1rem}.fiche-mois img{grid-column:auto;height:48vh}
 .outil-s{padding:4rem 1rem}.sim-complet{grid-template-columns:1fr}.resultat-s{grid-template-columns:1fr;padding:2rem 1rem}.resultat-s>*{grid-column:1!important;grid-row:auto!important}.resultat-s>strong{font-size:5rem}.resultat-s>div:not(.jauge){grid-column:1;grid-row:auto}
 .comparateur-s>div:first-child{padding:4rem 1rem}.avant{min-height:58vh}.comparaison{grid-template-columns:1fr}
 .manifeste-s{padding:5rem 1rem}.manifeste-s>div:first-child,.equipe-s>header{grid-template-columns:1fr;gap:1rem}.colonnes{grid-template-columns:1fr;gap:1rem}.macros{grid-template-columns:1fr 1fr}.macros img{height:55vw}.macros img:last-child{grid-column:1/-1;height:72vw}.macros img:nth-child(2){height:47vw;transform:none}
 .equipe-s{padding:4rem 1rem}.mosaic{grid-template-columns:1fr}.mosaic article{min-height:430px}
 .negatif-s{grid-template-columns:1fr}.negatif-s>img{height:65vh;min-height:65vh}.negatif-s>div{padding:4rem 1rem}
 .carte-s{grid-template-columns:1fr}.carte-s>div:first-child{grid-column:auto;padding:4rem 1rem}.plan{min-height:500px}.carte-s figure{min-height:58vh}
 .entree-photo{min-height:72vh}.entree-photo>div{padding:8rem 1rem 3rem}.entree-photo h1{font-size:clamp(3.7rem,17vw,6rem)}
 .article-large{grid-template-columns:1fr;padding:4rem 1rem;gap:3rem}.article-large aside{position:static}.article-large table{font-size:.78rem}.article-large th,.article-large td{padding:.7rem .35rem}.annee{grid-template-columns:1fr}.espace-client nav{grid-template-columns:1fr 1fr}
 .devis-etapes{padding:1.2rem}.appel-signature{padding:5rem 1rem}
 footer{grid-template-columns:1fr;padding:4rem 1rem 1.5rem}
 .appel-flottant{position:fixed;z-index:80;left:1rem;right:1rem;bottom:.7rem;display:flex;align-items:center;justify-content:center;min-height:52px;background:var(--pomme);color:var(--foret);font-weight:700;animation:point 3s ease-in-out infinite;transition:background .3s ease,transform .3s ease}
 .appel-flottant:hover{background:var(--craie);transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .rv{opacity:1;transform:none}.hero-photo,.entree-photo>img{transform:none!important}
}
