@font-face{font-family:"Sora";src:url("/assets/fonts/sora-variable.woff2") format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}
:root{
--encre:#16130f;--nuit:#100e0b;--brun:#4a443b;--gres:#867d70;--creme:#f6f3ec;
--filet:#e4ded2;--filetsombre:#312c25;--vert:#1f6a55;--vertfonce:#184e3f;--vertclair:#2c8a70;--blanc:#fffdf9;
--cadre:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 16.5px/1.72 "Sora",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--brun);background:var(--blanc)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{color:var(--encre);letter-spacing:-.015em;font-weight:800;line-height:1.12}
[id]{scroll-margin-top:88px}
.cbl-cadre{max-width:var(--cadre);margin:0 auto;padding:0 30px}
.cbl-volee{padding:104px 0}
.cbl-volee--creme{background:var(--creme)}
.cbl-volee--nuit{background:var(--nuit);color:#cabfae}
.cbl-volee--nuit h2,.cbl-volee--nuit h3{color:#fbf7f0}
.cbl-cap{display:inline-flex;align-items:center;gap:15px;font-size:.71rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--vertfonce)}
.cbl-cap::before{content:"";width:40px;height:1px;background:var(--vertclair)}
.cbl-volee--nuit .cbl-cap{color:var(--vertclair)}
.cbl-h2{font-size:clamp(2rem,4.3vw,3.3rem);font-weight:200;line-height:1.06;margin-top:18px}
.cbl-h2 strong{font-weight:800}
.cbl-intro-p{max-width:640px;margin-top:20px;color:var(--brun)}
.cbl-volee--nuit .cbl-intro-p{color:#cabfae}
/* boutons */
.cbl-btn,.cbl-btn-clair{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:18px 40px;font:700 .74rem/1 "Sora",sans-serif;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .2s,color .2s,letter-spacing .25s}
.cbl-btn{background:var(--vert);color:#fff}
.cbl-btn:hover{background:var(--vertfonce);letter-spacing:.26em}
.cbl-btn-clair{background:#fff;color:var(--encre);border:1px solid var(--filet)}
.cbl-btn-clair:hover{background:var(--vert);color:#fff}
.cbl-appel{display:inline-flex;flex-direction:column;text-decoration:none;font-weight:700;font-size:1.05rem;color:inherit}
.cbl-appel small{font-weight:400;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gres)}
/* header */
.cbl-tete{position:fixed;top:0;left:0;right:0;z-index:500;transition:background .3s,box-shadow .3s}
.cbl-tete__rang{max-width:1340px;margin:0 auto;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cbl-tete--plein{background:var(--blanc);box-shadow:0 1px 0 var(--filet)}
.cbl-logo{font-weight:800;font-size:1.16rem;letter-spacing:-.02em;color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.05}
.cbl-logo span{font-weight:300;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:#cfc6b6}
.cbl-tete--plein .cbl-logo{color:var(--encre)}
.cbl-tete--plein .cbl-logo span{color:var(--gres)}
.cbl-nav{display:flex;align-items:center;gap:26px}
.cbl-nav a{color:#f3efe6;text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.cbl-tete--plein .cbl-nav a{color:var(--brun)}
.cbl-nav a:hover{color:var(--vertclair)}
.cbl-drop{position:relative}
.cbl-drop>a::after{content:" ▾"}
.cbl-drop__menu{position:absolute;top:130%;left:-14px;background:var(--blanc);min-width:250px;padding:10px 0;box-shadow:0 18px 44px rgba(20,16,10,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;border-top:2px solid var(--vert)}
.cbl-drop:hover .cbl-drop__menu{opacity:1;visibility:visible;transform:none}
.cbl-drop__menu a{display:block;padding:10px 22px;color:var(--brun);letter-spacing:.02em;text-transform:none;font-size:.9rem;font-weight:500}
.cbl-drop__menu a:hover{background:var(--creme);color:var(--vertfonce)}
.cbl-tete__tel{display:flex;align-items:center;gap:18px}
.cbl-tete__tel .cbl-appel{color:#fff}
.cbl-tete--plein .cbl-tete__tel .cbl-appel{color:var(--encre)}
.cbl-tete__cta{padding:13px 24px;font-size:.68rem}
.cbl-burger{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:1.3rem;width:44px;height:42px;border-radius:2px;cursor:pointer}
.cbl-tete--plein .cbl-burger{border-color:var(--filet);color:var(--encre)}
/* hero plein écran */
.cbl-hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;overflow:hidden}
.cbl-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cbl-hero__voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,11,.62) 0%,rgba(16,14,11,.28) 40%,rgba(16,14,11,.82) 100%)}
.cbl-hero__inner{position:relative;z-index:2;padding-bottom:76px;padding-top:150px;color:#fff}
.cbl-hero__sur{color:#e7dcc7;font-size:.74rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase}
.cbl-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.7rem);font-weight:800;line-height:1.02;max-width:15ch;margin:22px 0 0}
.cbl-hero__ss{color:#efe9dd;font-size:1.16rem;max-width:52ch;margin:22px 0 34px;font-weight:300}
.cbl-hero__act{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.cbl-hero__tel{color:#fff;text-decoration:none;font-weight:700;font-size:1.08rem;display:inline-flex;align-items:center;gap:9px}
.cbl-preuve{display:flex;gap:34px;flex-wrap:wrap;margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.cbl-preuve div{color:#f2ede1}
.cbl-preuve b{display:block;font-size:1.5rem;font-weight:800;color:#fff}
.cbl-preuve span{font-size:.78rem;letter-spacing:.08em;color:#d8cfbd}
.cbl-etoiles{color:#e8b23a;letter-spacing:2px}
/* intro éditoriale + chiffres géants */
.cbl-edito{display:grid;grid-template-columns:1.55fr .9fr;gap:64px;align-items:start}
.cbl-edito__txt p{margin-top:20px;font-size:1.08rem}
.cbl-edito__txt .cbl-lead{font-size:1.42rem;line-height:1.5;color:var(--encre);font-weight:300}
.cbl-chiffres{border-left:1px solid var(--filet);padding-left:32px}
.cbl-chiffres div{padding:16px 0;border-bottom:1px solid var(--filet)}
.cbl-chiffres b{display:block;font-size:2.6rem;font-weight:800;color:var(--vert);line-height:1}
.cbl-chiffres span{font-size:.86rem;color:var(--gres)}
/* devis */
.cbl-devis{display:grid;grid-template-columns:.95fr 1.15fr;gap:52px;align-items:center}
.cbl-devis__aside h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:200}
.cbl-devis__aside h2 strong{font-weight:800}
.cbl-devis__aside p{margin-top:18px;color:#cabfae;max-width:42ch}
.cbl-nap{margin-top:30px;font-style:normal;line-height:1.9;color:#e7dfd2;font-size:.96rem}
.cbl-nap b{color:#fff}
.cbl-nap a{color:var(--vertclair);text-decoration:none}
.cbl-form{background:var(--blanc);color:var(--brun);padding:34px}
.cbl-form h3{font-size:1.12rem;color:var(--encre)}
.cbl-form__ss{font-size:.9rem;color:var(--gres);margin:6px 0 20px}
.cbl-champ{margin-bottom:15px}
.cbl-champ label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brun);margin-bottom:6px}
.cbl-champ input,.cbl-champ select,.cbl-champ textarea{width:100%;padding:12px 13px;border:1px solid var(--filet);background:#fbf9f4;font:inherit;font-size:.95rem;color:var(--encre);border-radius:3px}
.cbl-champ input:focus,.cbl-champ select:focus,.cbl-champ textarea:focus{outline:none;border-color:var(--vert);background:#fff}
.cbl-champ textarea{min-height:80px;resize:vertical}
.cbl-duo{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.cbl-web{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden}
.cbl-rgpd{font-size:.72rem;color:var(--gres);margin-top:12px;line-height:1.5}
.cbl-form .cbl-btn{width:100%;margin-top:6px}
/* prestations grille asymétrique */
.cbl-presta{display:grid;grid-template-columns:repeat(6,1fr);gap:26px;margin-top:46px}
.cbl-presta__item{grid-column:span 2;background:var(--blanc);border:1px solid var(--filet);display:flex;flex-direction:column}
.cbl-presta__item--large{grid-column:span 3}
.cbl-presta__media{aspect-ratio:4/3;overflow:hidden}
.cbl-presta__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cbl-presta__item:hover .cbl-presta__media img{transform:scale(1.05)}
.cbl-presta__corps{padding:24px 24px 28px}
.cbl-presta__num{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--vertclair)}
.cbl-presta__corps h3{font-size:1.24rem;margin:10px 0 12px;font-weight:700}
.cbl-presta__corps p{font-size:.95rem}
.cbl-presta__prix{margin-top:16px;font-size:.9rem;color:var(--encre)}
.cbl-lien{display:inline-block;margin-top:16px;color:var(--vertfonce);font-weight:700;text-decoration:none;font-size:.86rem;letter-spacing:.02em;border-bottom:2px solid var(--vertclair);padding-bottom:2px}
.cbl-lien:hover{color:var(--vert)}
/* réalisations */
.cbl-real{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.cbl-real__item{background:var(--blanc);border:1px solid var(--filet)}
.cbl-real__item img{aspect-ratio:4/3;object-fit:cover;width:100%}
.cbl-real__corps{padding:20px 22px 24px}
.cbl-real__lieu{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vertclair)}
.cbl-real__corps h3{font-size:1.06rem;margin:8px 0 10px;font-weight:700}
.cbl-real__corps p{font-size:.9rem}
/* avis carrousel */
.cbl-avis{display:flex;gap:24px;margin-top:44px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory}
.cbl-avis__c{scroll-snap-align:start;flex:0 0 clamp(280px,32%,380px);background:var(--blanc);border:1px solid var(--filet);padding:30px}
.cbl-avis__note{color:#e8b23a;letter-spacing:2px;font-size:1.05rem}
.cbl-avis__c p{margin:14px 0 20px;font-size:1.02rem;line-height:1.6;color:var(--encre);font-weight:300}
.cbl-avis__c footer{font-size:.82rem;color:var(--gres);font-weight:600;letter-spacing:.04em}
.cbl-avis__c footer b{color:var(--encre)}
/* process */
.cbl-etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:46px}
.cbl-etape{border-top:2px solid var(--vert);padding-top:20px}
.cbl-etape b{font-size:2rem;font-weight:800;color:var(--vertclair)}
.cbl-etape h3{font-size:1.06rem;margin:8px 0 10px}
.cbl-etape p{font-size:.92rem}
/* prix */
.cbl-tarifs{margin-top:42px;border-top:1px solid var(--filet)}
.cbl-tarif{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 4px;border-bottom:1px solid var(--filet)}
.cbl-tarif__l b{display:block;font-size:1.12rem;color:var(--encre);font-weight:700}
.cbl-tarif__l span{font-size:.9rem;color:var(--gres)}
.cbl-tarif__p{font-size:1.15rem;font-weight:800;color:var(--vertfonce);white-space:nowrap}
.cbl-note-prix{margin-top:18px;font-size:.86rem;color:var(--gres)}
/* simulateur */
.cbl-simu{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;background:var(--blanc);border:1px solid var(--filet);padding:44px}
.cbl-simu__form label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:14px 0 6px;color:var(--brun)}
.cbl-simu__form select,.cbl-simu__form input{width:100%;padding:12px;border:1px solid var(--filet);font:inherit;border-radius:3px;background:#fbf9f4}
.cbl-simu__out{text-align:center;border-left:1px solid var(--filet);padding-left:36px}
.cbl-simu__out b{display:block;font-size:2.8rem;font-weight:800;color:var(--vert);line-height:1.1}
.cbl-simu__out span{font-size:.86rem;color:var(--gres)}
/* équipe */
.cbl-equipe{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:44px}
.cbl-equipe__c img{aspect-ratio:4/5;object-fit:cover;width:100%}
.cbl-equipe__c h3{font-size:1.1rem;margin:16px 0 4px}
.cbl-equipe__role{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--vertclair)}
.cbl-equipe__c p{font-size:.92rem;margin-top:10px}
/* zone */
.cbl-zone{display:grid;grid-template-columns:1fr 1.4fr;gap:52px;align-items:start;margin-top:20px}
.cbl-zone__list{columns:2;column-gap:34px}
.cbl-zone__list a{display:block;padding:10px 0;border-bottom:1px solid var(--filet);text-decoration:none;color:var(--encre);font-weight:600;font-size:.98rem}
.cbl-zone__list a:hover{color:var(--vertfonce)}
.cbl-zone__list a span{float:right;color:var(--gres);font-weight:400;font-size:.82rem}
/* faq */
.cbl-faq{margin-top:40px;max-width:840px}
.cbl-faq details{border-bottom:1px solid var(--filet);padding:6px 0}
.cbl-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:1.06rem;color:var(--encre);display:flex;justify-content:space-between;gap:20px}
.cbl-faq summary::-webkit-details-marker{display:none}
.cbl-faq summary::after{content:"+";color:var(--vertclair);font-weight:800}
.cbl-faq details[open] summary::after{content:"\2212"}
.cbl-faq details p{padding:0 0 20px;font-size:.98rem}
/* bande cta */
.cbl-bande{text-align:center}
.cbl-bande h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:200}
.cbl-bande h2 strong{font-weight:800}
.cbl-bande p{color:#cabfae;margin:16px auto 30px;max-width:56ch}
.cbl-bande__act{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
/* footer */
.cbl-pied{background:var(--nuit);color:#b7ad9d;padding:70px 0 34px}
.cbl-pied__grille{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}
.cbl-pied h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.cbl-pied ul{list-style:none}
.cbl-pied li{margin-bottom:9px}
.cbl-pied a{color:#b7ad9d;text-decoration:none;font-size:.92rem}
.cbl-pied a:hover{color:#fff}
.cbl-pied__marque{font-size:1.15rem;font-weight:800;color:#fff}
.cbl-pied__nap{font-style:normal;line-height:1.9;margin-top:14px;font-size:.92rem}
.cbl-pied__nap b{color:#fff}
.cbl-pied__nap a{color:var(--vertclair)}
.cbl-pied__bas{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px solid var(--filetsombre);font-size:.8rem;color:#8b8172}
/* callbar mobile */
.cbl-callbar{display:none}
/* popup */
.cbl-pop{position:fixed;inset:0;z-index:900;background:rgba(16,14,11,.68);display:none;align-items:center;justify-content:center;padding:22px}
.cbl-pop--on{display:flex}
.cbl-pop__boite{background:var(--blanc);max-width:440px;width:100%;padding:38px 34px;position:relative;border-top:3px solid var(--vert)}
.cbl-pop__x{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gres)}
.cbl-pop__sur{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--vertclair)}
.cbl-pop__boite h2{font-size:1.5rem;margin:8px 0 10px}
.cbl-pop__boite p{font-size:.95rem;margin-bottom:18px}
.cbl-pop__boite input{width:100%;padding:12px;border:1px solid var(--filet);margin-bottom:12px;font:inherit;border-radius:3px;background:#fbf9f4}
.cbl-pop__tel{display:block;text-align:center;margin-top:14px;color:var(--vertfonce);font-weight:700;text-decoration:none;font-size:.92rem}
.cbl-pop__non{display:block;margin:12px auto 0;background:none;border:none;color:var(--gres);font-size:.82rem;cursor:pointer;text-decoration:underline}
/* fil d'ariane */
.cbl-fil{padding:104px 0 0;font-size:.82rem;color:var(--gres)}
.cbl-fil a{color:var(--vertfonce);text-decoration:none}
/* pages internes hero simple */
.cbl-tete-int{background:var(--nuit);color:#fff;padding:130px 0 70px}
.cbl-tete-int .cbl-cap{color:var(--vertclair)}
.cbl-tete-int h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;margin-top:16px;max-width:20ch}
.cbl-tete-int p{color:#cabfae;margin-top:18px;max-width:60ch}
.cbl-prose{max-width:760px}
.cbl-prose h2{font-size:1.7rem;margin:38px 0 14px;font-weight:700}
.cbl-prose h3{font-size:1.2rem;margin:26px 0 10px;font-weight:700}
.cbl-prose p{margin-top:14px}
.cbl-prose ul{margin:14px 0 14px 22px}
.cbl-prose li{margin-bottom:8px}
.cbl-deux{display:grid;grid-template-columns:1.4fr 1fr;gap:52px;align-items:start}
.cbl-encart{background:var(--creme);border:1px solid var(--filet);padding:28px;position:sticky;top:104px}
.cbl-encart h3{font-size:1.1rem}
.cbl-encart .cbl-btn{width:100%;margin-top:16px}
.cbl-encart__tel{display:block;text-align:center;margin-top:12px;font-weight:700;color:var(--encre);text-decoration:none}
@media(max-width:960px){
.cbl-edito,.cbl-devis,.cbl-simu,.cbl-zone,.cbl-deux{grid-template-columns:1fr;gap:34px}
.cbl-presta__item,.cbl-presta__item--large{grid-column:span 3}
.cbl-real,.cbl-equipe,.cbl-etapes{grid-template-columns:1fr 1fr}
.cbl-pied__grille{grid-template-columns:1fr 1fr}
.cbl-simu__out{border-left:none;border-top:1px solid var(--filet);padding:24px 0 0}
.cbl-chiffres{border-left:none;padding-left:0}
.cbl-encart{position:static}
}
@media(max-width:720px){
.cbl-nav{display:none;position:fixed;top:70px;left:0;right:0;background:var(--blanc);flex-direction:column;align-items:flex-start;padding:14px 26px;gap:4px;box-shadow:0 20px 40px rgba(0,0,0,.18)}
.cbl-nav--ouvert{display:flex}
.cbl-nav a{color:var(--brun);padding:11px 0;width:100%;border-bottom:1px solid var(--filet)}
.cbl-drop__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 14px;border:none}
.cbl-burger{display:block}
.cbl-tete__tel .cbl-appel{display:none}
.cbl-presta,.cbl-real,.cbl-equipe,.cbl-etapes,.cbl-duo{grid-template-columns:1fr}
.cbl-presta__item,.cbl-presta__item--large{grid-column:auto}
.cbl-zone__list{columns:1}
.cbl-pied__grille{grid-template-columns:1fr}
.cbl-callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--encre)}
.cbl-callbar a{flex:1;text-align:center;padding:14px;color:#fff;text-decoration:none;font-weight:700;font-size:.9rem}
.cbl-callbar a:first-child{background:var(--vert)}
body{padding-bottom:52px}
.cbl-hero{min-height:auto;padding-top:20px}
.cbl-hero__inner{padding-top:120px;padding-bottom:50px}
}
