/*--- RESET ---*/
/*------------*/
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
html:focus-within{scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;line-height:1.5}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
picture{display:block}
ul[role="list"],ol[role="list"]{list-style:none;margin:0;padding:0}
a:not([class]){text-decoration-skip-ink:auto}
a{color:inherit}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
textarea{resize:vertical}
:focus{outline:2px solid currentColor;outline-offset:2px}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
}

/*--- TYPOGRAPHY FIRST ---*/
/*-----------------------*/
@import url('https://fonts.googleapis.com/css2?family=Forum&family=Funnel+Display:wght@300..800&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

:root { 
  --font-title:'Funnel Display',sans-serif; 
  --font-lead:'Forum',serif; 
  --font-body:'Nunito',sans-serif; 
  --fs-lead:clamp(1.25rem,1rem + 1vw,1.5rem); 
  --lh-lead:1.6; 
}

body { font-family:var(--font-body); font-weight:400; font-size:clamp(1.125rem,1rem + 0.25vw,1.5rem); line-height:1.6; margin:0; padding:0; }

h1,h2,h3,h4 { font-family:var(--font-title); line-height:1.2; }
h1,.h1 { font-size:clamp(2.25rem,1.5rem + 2vw,3.25rem); font-weight:500; margin-bottom:clamp(1rem,1rem + 1vw,6rem); }
h2,.h2 { font-size:clamp(1.75rem,1.3rem + 1.5vw,2.25rem); font-weight:600; margin-top:clamp(3rem,3rem + 1vw,6rem); }
h3,.h3 { font-size:clamp(1.5rem,1.2rem + 1vw,1.75rem); font-weight:500; margin-top:1rem; }
h4, .h4 { font-size:clamp(1.25rem,1rem + 0.75vw,1.5rem); font-weight:500; margin-top:1rem; }
h5 { font-size:clamp(1.125rem,0.9rem + 0.5vw,1.25rem); line-height:1.2; margin-top:1rem; }

.p-lead,
.zone-box li { font-family:var(--font-lead); font-size:var(--fs-lead); line-height:var(--lh-lead); font-weight:400; margin-top:1rem; }

p { margin-top:1rem; }
ul { margin-top:1rem; }
ul li:first-child { margin-top:0; }

section h2:first-child { margin-top:0; }
span.heading-suptitle { margin-bottom:1rem; display:block; font-size:14px; line-height:20px; letter-spacing:5.4px; text-transform:uppercase; }
span.heading-suptitle::before { content:"("; }
span.heading-suptitle::after { content:")"; }
.heading-with-btn { margin-top:3rem; }

/*--- LINK ---*/
/*------------*/
a { color: #000; text-decoration: underline; transition:color .2s ease, text-decoration-color .2s ease;}
a:hover { text-decoration-color:transparent;}

a.link { display:inline-flex; align-items: center; gap:8px;}
a.link span { display:flex; align-items: center;}
a.link span[class^="ico-"] { flex-shrink: 0; width: 20px; height: 20px; background-repeat: no-repeat; background-position: center; background-size: 20px;}

a.link.external {  display: inline-flex; align-items: center; gap: 4px;}
a.link.external span { display: inline-flex; align-items: center;}

a.link.external .ico-external { width: 20px; height: 20px; background-image: url("../img/ico-open-in-new-link.svg"); background-repeat: no-repeat; background-position: center; background-size: 20px;}

/*---BUTTON---*/
/*-----------*/

/* --- BUTTON DEFAULT --- */
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 16px 24px; font-weight: 500; text-decoration: none; border-radius: 30px; border-width: 1px; border-style: solid; border-color: transparent; transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;}
.btn:hover { text-decoration: none; box-shadow: var(--shadow-interaction);}
.btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; box-shadow: none; z-index: 1;}
.btn:active { box-shadow: none; transform: var(--active-transform-interaction);}

/* --- BUTTON PRIMARY --- */
.btn.primary  { color: #262B38; background-color: #FF7F40; border-color: #FF7F40;}
.btn.primary:hover { color: #262B38; background-color: #FF9A66; border-color: #FF9A66;}
.btn.primary:focus { color: #262B38; background-color: #FF7F40; border-color: #FF7F40;}
.btn.primary:focus-visible { color: #262B38; background-color: #FF7F40; border-color: #FF7F40; outline-color: white;}
.btn.primary:active { color: #262B38; background-color: #FF7F40; border-color: #FF7F40;}

/* --- BUTTON SECONDARY --- */
.btn.secondary { color: white; background: #000; border-color:#000;}
.btn.secondary:hover { color: #000; background: #FF7F40; border-color:#FF7F40;} 
.btn.secondary:focus { color: #FF7F40; background-color: #000; border-color: #000;}
.btn.secondary:focus-visible { color: #FF7F40; background-color: #000; border-color: #FF7F40; outline-color: black;}
.btn.secondary:active { color: #FF7F40; background-color: #000; border-color: #FF7F40;}

/* --- BUTTON SECONDARY GHOST--- */
.btn.secondary-ghost { color: #000; background: transparent; border-color:#000;}
.btn.secondary-ghost:hover { color: #000; background: #FF7F40; border-color:#FF7F40;} 
.btn.secondary-ghost:focus { color: #FF7F40; background-color: #000; border-color: #000;}
.btn.secondary-ghost:focus-visible { color: #FF7F40; background-color: #000; border-color: #FF7F40; outline-color: black;}
.btn.secondary-ghost:active { color: #FF7F40; background-color: #000; border-color: #FF7F40;}

/* --- BUTTON ICON --- */
.btn.btn-icon { padding: 0; width: 32px; height: 32px; border-radius: 50%; gap: 0;}

/* BUTTON ICON SIZE */
.btn.btn-icon-md { width: 44px; height: 44px;}
.btn.btn-icon-l { width: 64px; height: 64px;}

/*--- ICON TEXT ---*/
/*----------------*/
p.icon-text { display: flex; align-items: start;  gap: 0.5rem; }
p.icon-text img {width: 32px; height: 32px; object-fit: contain;}
p.icon-text span { display: inline-block; line-height: 1.4;}

/*---LIST ICON---*/
/*---------------*/
.list-icon { display:flex; align-items:center; gap:8px; }

.icon { display:inline-block; flex-shrink:0; width:24px; height:24px; background-color:currentColor; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; mask-repeat:no-repeat; mask-position:center; mask-size:contain; }

.icon.icon-md { width: 32px; height: 32px;}

.icon-facebook { -webkit-mask-image:url("../img/facebook.svg"); mask-image:url("../img/facebook.svg"); }
.icon-google { -webkit-mask-image:url("../img/google.svg"); mask-image:url("../img/google.svg"); }
.icon-instagram { -webkit-mask-image:url("../img/instagram.svg"); mask-image:url("../img/instagram.svg"); }
.icon-mail { -webkit-mask-image:url("../img/mail.svg"); mask-image:url("../img/mail.svg");}
.icon-minus { -webkit-mask-image:url("../img/minus.svg"); mask-image:url("../img/minus.svg");}
.icon-mobile { -webkit-mask-image:url("../img/mobile.svg"); mask-image:url("../img/mobile.svg"); }
.icon-plus { -webkit-mask-image:url("../img/plus.svg"); mask-image:url("../img/plus.svg");}
.icon-tiktok { -webkit-mask-image:url("../img/tiktok.svg"); mask-image:url("../img/tiktok.svg"); }
.icon-whatsapp { -webkit-mask-image:url("../img/whatsapp.svg"); mask-image:url("../img/whatsapp.svg"); }
.icon-comble { -webkit-mask-image:url("../img/ico-comble.svg"); mask-image:url("../img/ico-comble.svg"); }
.icon-isolation-toit { -webkit-mask-image:url("../img/ico-isolation-toit.svg"); mask-image:url("../img/ico-isolation-toit.svg");}
.icon-revetement-sol { -webkit-mask-image:url("../img/ico-revetement-sol.svg"); mask-image:url("../img/ico-revetement-sol.svg");}
.icon-peinture { -webkit-mask-image:url("../img/ico-peinture.svg"); mask-image:url("../img/ico-peinture.svg");}
.icon-facade { -webkit-mask-image:url("../img/ico-facade.svg"); mask-image:url("../img/ico-facade.svg");}
.icon-terasse { -webkit-mask-image:url("../img/ico-terrasse.svg"); mask-image:url("../img/ico-terrasse.svg");}
.icon-protections-solaires { -webkit-mask-image:url("../img/ico-protections-solaires.svg"); mask-image:url("../img/ico-protections-solaires.svg");}
.icon-etude { -webkit-mask-image:url("../img/ico-etude.svg"); mask-image:url("../img/ico-etude.svg");}
.icon-estimation { -webkit-mask-image:url("../img/ico-estimation.svg"); mask-image:url("../img/ico-estimation.svg");}
.icon-analyse { -webkit-mask-image:url("../img/ico-analyse.svg"); mask-image:url("../img/ico-analyse.svg");}
.icon-3d { -webkit-mask-image:url("../img/ico-3d.svg"); mask-image:url("../img/ico-3d.svg");}
.icon-cle { -webkit-mask-image:url("../img/ico-cle.svg"); mask-image:url("../img/ico-cle.svg");}
.icon-interlocuteur { -webkit-mask-image:url("../img/ico-interlocuteur.svg"); mask-image:url("../img/ico-interlocuteur.svg");}
.icon-devis { -webkit-mask-image:url("../img/ico-devis.svg"); mask-image:url("../img/ico-devis.svg");}
.icon-salle-eau { -webkit-mask-image:url("../img/ico-salle-eau.svg"); mask-image:url("../img/ico-salle-eau.svg");}
.icon-douche-italienne { -webkit-mask-image:url("../img/ico-douche-italienne.svg"); mask-image:url("../img/ico-douche-italienne.svg");}
.icon-pmr { -webkit-mask-image:url("../img/ico-pmr.svg"); mask-image:url("../img/ico-pmr.svg");}
.icon-menuiserie { -webkit-mask-image:url("../img/ico-menuiserie.svg"); mask-image:url("../img/ico-menuiserie.svg");}
.icon-rangement { -webkit-mask-image:url("../img/ico-rangement.svg"); mask-image:url("../img/ico-rangement.svg");}
.icon-meuble { -webkit-mask-image:url("../img/ico-meuble.svg"); mask-image:url("../img/ico-meuble.svg");}
.icon-escalier { -webkit-mask-image:url("../img/ico-escalier.svg"); mask-image:url("../img/ico-escalier.svg");}
.icon-respect { -webkit-mask-image:url("../img/ico-respect.svg"); mask-image:url("../img/ico-respect.svg");}
.icon-chirurgie { -webkit-mask-image:url("../img/ico-chirurgie.svg"); mask-image:url("../img/ico-chirurgie.svg");}
.icon-eco-responsable { -webkit-mask-image:url("../img/ico-eco-responsable.svg"); mask-image:url("../img/ico-eco-responsable.svg");}

/* --- ICON --- */
/*-------------*/
.icon { display: inline-block; width: 24px; height: 24px; flex-shrink: 0; background-color: currentColor;
  mask-repeat: no-repeat; mask-position: center; mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain;}

.icon-arrow-back {
  mask-image: url("../img/ico-arrow-back.svg");
  -webkit-mask-image: url("../img/ico-arrow-back.svg");
}

.icon-arrow-forward {
  mask-image: url("../img/ico-arrow-forward.svg");
  -webkit-mask-image: url("../img/ico-arrow-forward.svg");
}

.icon-external {
  mask-image: url("../img/ico-arrow-outward.svg");
  -webkit-mask-image: url("../img/ico-arrow-outward.svg");
}

/*----------------*/
/*--- SECTION ---*/
/*--------------*/

/*--- SECTION SDB CTA ---*/
.sdb-ctas { margin-top: 3rem;}
.sdb-cta { display: flex; gap: 24px; }
.sdb-cta img { width: 50%; object-fit: cover; }
.sdb-cta-content { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }

@media (max-width: 992px) {
  .sdb-cta { flex-direction: column; }
  .sdb-cta img { width: 100%; }
}

/*--- SECTION FAQ ---*/
.faq-box { padding: 3rem 1.5rem; background-color:#FFF; border-radius:30px; box-shadow:rgba(0,24,50,0.08) 0px 2px 12px 0px; } 
@media (min-width: 768px) { .faq-box { padding: 3rem; } } 
@media (min-width: 1200px) { .faq-box { padding: 6rem; } }

.faq-box ul.accordion { list-style:none; margin:2rem 0; padding:0; }
.faq-box li.accordion-item { border-bottom:1px solid rgba(0,0,0,0.25); }
.faq-box li.accordion-item:last-child { border-bottom:none; }
.faq-box li.accordion-item .accordion-header { display:flex; align-items:center; gap:20px; padding:2rem 0; width:100%; background:none; border:none; cursor:pointer; text-align:left; }
.faq-box li.accordion-item .accordion-header .icon-circle { display:flex; justify-content:center; align-items:center; flex-shrink:0; width:40px; height:40px; font-size:24px; line-height:1; color:black; background:#FF7F40; border-radius:50%; order:-1; transition:background .25s ease,color .25s ease; }
.faq-box li.accordion-item .accordion-header:hover .icon-circle { background:#FF9A66; }
.faq-box li.accordion-item .accordion-header[aria-expanded="true"] .icon-circle { background:#000; color:#FFF; }
.faq-box li.accordion-item .accordion-header[aria-expanded="true"]:hover .icon-circle { background:#000; color:#FFF; }
.faq-box li.accordion-item .accordion-header .question { display:inline-block; text-align:left; font-size:var(--fs-lead); line-height:var(--lh-lead); background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-position:0 100%; background-size:0% 2px; padding-bottom:0.15em; transition:background-size .25s ease; }
.faq-box li.accordion-item .accordion-header:hover .question { background-size:100% 2px; }
.faq-box li.accordion-item .accordion-header[aria-expanded="true"] .question { background-size:100% 2px; }
.faq-box li.accordion-item .accordion-header .icon.plus { display:block; }
.faq-box li.accordion-item .accordion-header .icon.minus { display:none; }
.faq-box li.accordion-item .accordion-header[aria-expanded="true"] .icon.plus { display:none; }
.faq-box li.accordion-item .accordion-header[aria-expanded="true"] .icon.minus { display:block; }
.faq-box li.accordion-item .accordion-panel { overflow:hidden; }
.faq-box .faq-cta { text-align: center;}

@media (min-width:992px) { .faq-box li.accordion-item .accordion-panel { padding-left:3.5rem; padding-right:2rem; } }

.faq-box li.accordion-item .accordion-panel p:first-child { margin-top:0; }
.faq-box li.accordion-item .accordion-panel p:last-child { margin-bottom:2rem; }


/*--- SECTION REVIEW ---*/
#reviews { background-color: #f2efe6; }
#reviews .container { display: flex; flex-direction: column; gap: 3rem; }
.reviews-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem;}
.review-card { background: #fff; border-radius: 30px; padding: 2rem; display: flex; flex-direction: column; gap: 1rem; box-shadow: rgba(0, 24, 50, 0.08) 0px 2px 12px 0px; }
.review-header { display: flex; justify-content: space-between; align-items: center; }
.review-header .quote { width: 60px; height: 60px; }
.review-header .logo { width: 24px; height: 24px; }
.review-text { position: relative; overflow: hidden; transition: max-height 0.3s ease; display: flex; flex-direction: column; gap: 1rem; font-family: var(--font-lead); }
.review-text.is-collapsed { max-height: 220px; }
.review-text.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px; background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1)); pointer-events: none; }
.review-text.is-expanded { max-height: none; }
.review-text p { margin: 0; }
.review-text ol, .review-text ul { margin: 0; padding-left: 1.25rem; }
.review-text li { margin: 0.35rem 0; }
.review-text p, .review-text a, .review-text li { overflow-wrap: anywhere; word-break: break-word; }
.review-text p:last-child, .review-text ol:last-child, .review-text ul:last-child { margin-bottom: 0; }
.author { margin-top: auto; text-align: right; font-family: var(--font-lead); }
.review-more-wrap { margin-top: 0.25rem; }
.review-toggle { background: none; border: none; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.review-toggle:hover { text-decoration: none; }
.reviews-cta { text-align: center; }
@media (max-width: 640px) { .reviews-cards { grid-template-columns: 1fr; } }

/*--- SECTION GALLERY ---*/
#gallery{background-color:#fff;}
#gallery .container{display:flex;flex-direction:column;gap:3rem;}
.gallery-mask{overflow:hidden;width:100%;}
.gallery-cards{display:flex;gap:2rem;padding:12px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;cursor:grab;}
.gallery-cards::-webkit-scrollbar{display:none;}
.gallery-cards.dragging{cursor:grabbing;scroll-behavior:auto;}
.gallery-card{flex:0 0 calc(40% - 1rem);overflow:hidden;box-shadow:rgba(0,24,50,0.08) 0px 2px 12px;}
.gallery-card img{width:100%;height:auto;display:block;pointer-events:none;}
.gallery-arrows{display:flex;justify-content:flex-end;gap:1rem;}
.gallery-arrows .arrow{opacity:0.5;cursor:not-allowed;}
.gallery-arrows .arrow.active{opacity:1;background:#FF7F40;cursor:pointer;}
.gallery-arrows .arrow.active:hover{background:#FF9A66;}
@media(max-width:768px){.gallery-card{flex:0 0 80%;}}

/*-------------*/
/*--- PAGE ---*/
/*-----------*/

/*---HOME PAGE---*/
/*--------------*/

/*---HOME INTRODUCTION---*/
#home-introduction{display:flex;flex-direction:column-reverse;margin:0 auto;width:100%;max-width:1920px;}
#home-introduction-video,#home-introduction-illu,#home-introduction-content{width:100%;height:50%;}
#home-introduction-video,#home-introduction-illu{position:relative;overflow:hidden;}
#home-introduction-video video,#home-introduction-illu img{width:100%;height:100%;object-fit:cover;}
#home-introduction-video video{display:block;background:#000;}
#home-introduction-video.is-loading::before{content:"";position:absolute;inset:0;background:url("img/graziani-video-cover.jpg") center center/cover no-repeat;z-index:1;pointer-events:none;}
#home-introduction-video.is-ready::before{display:none;}
#video-controls{position:absolute;bottom:30px;right:30px;z-index:2;}
#video-controls button{display:flex;align-items:center;gap:4px;padding:14px;cursor:pointer;background:#fff;border:none;border-radius:30px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .3s ease;}
#video-controls button:hover{background-color:#FF7F40;}
#video-controls svg{fill:currentColor;}
#video-play-toggle{opacity:1;pointer-events:auto;}

#home-introduction-content{position:relative;display:flex;flex-direction:column;justify-content:start;overflow:visible;min-height:0;}
#home-introduction-content::before{content:"";z-index:2;position:absolute;bottom:-30px;left:50%;width:300px;height:30px;transform:translate(-50%,-50%);background:#FF7F40;pointer-events:none;}
#home-introduction-content .content-scroll{height:100%;overflow-y:auto;overflow-x:hidden;min-height:0;display:flex;flex-direction:column;}
#home-introduction-content .header-center{display:none;}
#home-introduction-content-heading{display:flex;flex-direction:column;align-items:center;text-align:center;flex:0 0 auto;}
#home-introduction-content-heading *{margin:0;}
#home-introduction-content-heading img{width:100%;max-width:clamp(100px,40vw,220px);height:auto;}
#home-introduction-content-heading h1{font-size:clamp(30px,4.5vw,64px);line-height:1.1;font-weight:300;}
#home-introduction-content-heading,#home-introduction-content-heading h1,#home-introduction-content-heading p{max-width:100%;}
#home-introduction-content-heading .p-lead{line-height:1.3;}

@media(max-width:1023px){
#home-introduction-content-heading{gap:2rem;margin:6rem auto;width:90%;}
}

@media(min-width:1024px){
#home-introduction{flex-direction:row;height:100vh;}
#home-introduction-video,#home-introduction-illu,#home-introduction-content{height:100%;}
#home-introduction-content::before{top:50%;left:0;width:30px;height:300px;}
#home-introduction-content .content-scroll{height:100%;}
#home-introduction-content-heading{gap:3rem;margin:3rem auto;width:75%;}
#home-introduction-content-heading h1{font-size:min(3vw,5vh,4rem);}
}

/*--- HOME EXPERTISE ---*/
#home-expertise-boxes { display: flex; flex-direction: column; gap: 2rem; align-items: stretch; margin-top: clamp(3rem, 3rem + 1vw, 6rem); }
a.home-expertise-box { display: flex; flex-direction: column; gap: 20px; padding: 60px 30px; text-decoration: none; background: #F9F4EB; border-radius: 30px; transition: background-color 0.3s ease; width: 100%; box-shadow: rgba(0, 24, 50, 0.12) 0px 2px 12px 0px; }
a.home-expertise-box:hover { background-color: #FF7F40; }
a.home-expertise-box * { margin: 0; }
.home-expertise-box-content { min-width: 0; }
.home-expertise-box h3 { min-width: 0; }
.home-expertise-box-number { display: inline-block; font-size: 18px; font-weight: 400; }
.home-expertise-box h3 span { display: block; }
.home-expertise-box-icon-wrap { display: flex; justify-content: flex-end; width: 100%; }
.home-expertise-box-icon-circle { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background: #FF7F40; border-radius: 50%; transition: background-color 0.3s ease; }
a.home-expertise-box:hover .home-expertise-box-icon-circle { background-color: whitesmoke; }
.home-expertise-footer { display: flex; flex-direction: column; gap: 12px; margin-top: clamp(3rem, 3rem + 1vw, 6rem); font-size: 14px; letter-spacing: 1px; text-align: center; }
.home-expertise-footer * { margin: 0; text-transform: uppercase; }

@media (min-width: 1024px) { 
  #home-expertise-boxes { flex-direction: row; } 
  .home-expertise-box { flex: 1; } 
}

a.home-expertise-box.sdb { color: #FFF; background-color: #233D4C; }
a.home-expertise-box.aero { color: #FFF; background-color: #3B1F0B; }
a.home-expertise-box.reno { color: #FFF; background-color: #121A1F; }

a.home-expertise-box h3,a.home-expertise-box p,a.home-expertise-box span{transition:color 0.3s ease;}
a.home-expertise-box:hover h3 { color: #FF7F40;}

/*--- SDB ---*/
/*----------*/
#sdb { background-color: #233D4C;}
#sdb #main-header .header-left .mobile { color: #000; background-color: #f2efe6;}

/*--- SDB PORTFOLIO ---*/
/*--------------------*/
#portfolio { background-color: #FFF;}
.portfolio h3 { margin-top: 3rem;}

/*--- INTRODUCTION ---*/
#sdb-portfolio-introduction { display:flex; flex-direction:column; margin:0 auto; width:100%; max-width:1920px; }
.sdb-portfolio-content,.sdb-portfolio-illu { position:relative; width:100%; }
.sdb-portfolio-content { display:flex; flex-direction:column; gap:40px; position:relative; padding-top:clamp(2rem,5vw,4rem); padding-bottom:clamp(2rem,5vw,4rem); padding-inline:clamp(2rem,5vw,6rem); overflow:visible; background-color:#FFF; z-index:2; }
.sdb-portfolio-content>a { align-self:flex-start; width:auto; flex-shrink:0; margin-bottom:1rem; }
.sdb-portfolio-heading { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:2rem; width:90%; align-self:center; }
.sdb-portfolio-heading * { margin:0; }
.sdb-portfolio-logo { width:100%; max-width:clamp(80px,12vw,140px); height:auto; align-self:center; flex-shrink:0; margin-top:1rem; display:block; }
.sdb-portfolio-heading h1 { font-size:clamp(30px,4.5vw,64px); line-height:1.1; font-weight:300; }
.sdb-portfolio-heading,.sdb-portfolio-heading h1,.sdb-portfolio-heading p { max-width:100%; }
.sdb-portfolio-heading .p-lead { line-height:1.3; }
.sdb-portfolio-heading ul { display:flex; gap:1rem; list-style:none; padding:0; margin:0; flex-wrap:wrap; justify-content:center; }
.sdb-portfolio-heading li { opacity:0.8; }
.sdb-portfolio-heading li::after { content:"|"; margin-left:1rem; opacity:0.5; }
.sdb-portfolio-heading li:last-child::after { content:""; }
.sdb-portfolio-illu { overflow:hidden; z-index:1; }
.sdb-portfolio-illu img { width:100%; height:auto; display:block; }

@media(max-width:1023px){
.sdb-portfolio-content { gap:2rem; padding-bottom:clamp(2rem,6vw,3rem); }
.sdb-portfolio-content>a { margin-bottom:0.5rem; }
.sdb-portfolio-heading { gap:2rem; width:90%; }
.sdb-portfolio-logo { max-width:clamp(70px,22vw,110px); margin-top:1rem; }
.sdb-portfolio-content::before { content:none; }
}

@media(min-width:1024px){
#sdb-portfolio-introduction { flex-direction:row; align-items:stretch; }
.sdb-portfolio-content,.sdb-portfolio-illu { width:50%; }
.sdb-portfolio-content { display:flex; flex-direction:column; justify-content:flex-start; gap:1.5rem; padding-bottom:clamp(2rem,4vw,3rem); z-index:2; }
.sdb-portfolio-illu { z-index:1; }
.sdb-portfolio-illu img { width:100%; height:100%; object-fit:cover; }
.sdb-portfolio-content::before { content:""; position:absolute; top:50%; right:-15px; transform:translateY(-50%); width:30px; height:300px; background:#FF7F40; z-index:5; }
.sdb-portfolio-heading { gap:1.5rem; width:85%; flex:0 0 auto; }
.sdb-portfolio-content h1 { font-size:min(3vw,5vh,4rem); }
.sdb-portfolio-logo { max-width:clamp(90px,10vw,130px); margin-top:1rem; }
}

/*--- OVERVIEW ---*/
#sdb-portfolio-overview { color: #FFF; background-color: #455741; }
#sdb-portfolio-overview .container { display: flex; flex-direction: column; gap: 40px; }
.sdb-portfolio-overview-content { display: flex; flex-direction: column; gap: 1.5rem; }
#sdb-portfolio-overview img { width: 100%; height: auto; display: block; }

@media(min-width:1024px){
#sdb-portfolio-overview .container { flex-direction: row; align-items: center; }
.sdb-portfolio-overview-content { width: 50%; }
#sdb-portfolio-overview img { width: 50%; }
}

/*--- PROPOSAL ---*/
#sdb-portfolio-proposal .container { display: flex; flex-direction: column; gap: 40px;}
#sdb-portfolio-proposal .container img { width: 100%; height: auto; display: block; }

/*--- PREPARATION ---*/
#sdb-portfolio-preparation .container { display: flex; flex-direction: column; gap: 40px;}
#sdb-portfolio-preparation .container img { width: 100%; height: auto; display: block; }

/*--- STEPS ---*/
#sdb-portfolio-steps {}

/*--- MATERIALS ---*/
#sdb-portfolio-materials {}

/*--- AERO ---*/
/*-----------*/
#aero { background-color: #3B1F0B;}
#home-introduction-content.aero { color: #FFF;}
#expertise-aero .expertise-sdb-boxes ul li { border:1px solid #FF7F40;}

#aero video { display: block; margin: 3rem auto; max-width: 100%; height: auto;}

/*--- RENO ---*/
/*-----------*/
#reno { background-color: #121A1F;}
#home-introduction-content.reno { color: #FFF;}
#reno #main-header .header-left .mobile { color: #000; background-color: #f2efe6;}

/*--- ABOUT PAGE ---*/
/*-----------------*/
#about-values { background-color:#fff;}
.about-values-list { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; margin-top:clamp(3rem,3rem + 1vw,6rem); padding:0; list-style:none; }
.about-values-list li { display:flex; align-items:center; gap:30px; padding:30px; color:#000; background-color:#fff; border:1px solid #FF7F40; border-radius:30px; }
.about-values-list li * { margin:0; }
.about-values-list-content { display:flex; flex-direction:column; gap:16px; }

@media (max-width:992px) {
.about-values-list { grid-template-columns:1fr; }
}

#about-dna { background-color: #fff;}
.commitment-box { margin-top: 3rem; padding: 1.5rem; max-width: 800px; border:1px solid #FF7F40; border-radius: 30px;}
@media (min-width: 768px) { .commitment-box{ padding: 3rem; } } 
.commitment-box h3 { margin: 0;}

#about-zone { background-color: #FFF;}
#about-zone .grid { align-items: center;}

.zone-box { margin:0 auto; padding: 3rem 1.5rem; color: #FFF; background-color: #233D4C; border-radius: 30px;}
@media (min-width: 768px) { .zone-box { padding: 3rem; } } 
@media (min-width: 1200px) { .zone-box{ padding: 6rem; } }
.zone-box ul { margin: 1rem 0 0 0; padding: 0; list-style-type: none;}
.zone-box li { padding: 1rem; list-style-type: none; border-bottom: 1px solid rgba(255, 255, 255, 0.25);}
.zone-box li:last-child { padding-bottom: 0; border-bottom:none;}


/*--- FAQ PAGE ---*/
/*---------------*/
#faq-page ul.accordion { display:flex; flex-direction:column; gap:20px; list-style:none; margin: 0; padding:0; }

#faq-page li.accordion-item { background-color:#FFF; border-radius:30px; overflow:hidden; border:1px solid rgba(0,0,0,0.12); box-shadow: rgba(0, 24, 50, 0.08) 0px 2px 12px 0px;}
#faq-page li.accordion-item:last-child { border-bottom:none; }

#faq-page li.accordion-item .accordion-header { display:flex; align-items:center; justify-content:flex-start; gap:20px; padding: 3rem 1.5rem; width:100%; height:100%; background:none; border:none; cursor:pointer; text-align:left; }
@media (min-width: 768px) { #faq-page li.accordion-item .accordion-header  { padding: 3rem; } } 

#faq-page li.accordion-item .accordion-header .icon-circle { display:flex; justify-content:center; align-items:center; flex-shrink:0; width:40px; height:40px; background:#FF7F40; border-radius:50%; order:-1; transition:background .25s ease; }
#faq-page li.accordion-item .accordion-header:hover .icon-circle {  background:#FF9A66; }
#faq-page li.accordion-item.open .accordion-header .icon-circle { color: #FFF; background:#000; }

#faq-page li.accordion-item .accordion-header .icon { width:20px; height:20px; display:block; }
#faq-page li.accordion-item .accordion-header .icon.minus { display:none; }
#faq-page li.accordion-item .accordion-header[aria-expanded="true"] .icon.plus { display:none; }
#faq-page li.accordion-item .accordion-header[aria-expanded="true"] .icon.minus { display:block; }

#faq-page li.accordion-item .accordion-header .question { display:inline-block; font-size:var(--fs-lead); line-height:var(--lh-lead); color:#000; background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-position:0 100%; background-size:0% 2px; padding-bottom:0.15em; transition:background-size .25s ease; }
#faq-page li.accordion-item:hover .accordion-header .question { background-size:100% 2px; }

#faq-page li.accordion-item.open .accordion-header .question { background-size:100% 2px; }
#faq-page li.accordion-item .accordion-panel { overflow:hidden; padding-inline:clamp(3rem,5vh,6rem); color:#000; }
#faq-page li.accordion-item.open .accordion-panel { margin-top:-2rem; padding-bottom:clamp(3rem,5vh,6rem); }

#faq-page li.accordion-item.open .accordion-panel p:first-child { margin-top:0; }

.accordion-panel p,
.accordion-panel ul,
.accordion-panel ul li { opacity:1 !important; transform:none !important; }

.faq-plan { display:flex; flex-wrap:wrap; justify-content:center; gap:30px; margin:3rem auto; max-width:900px; }
.faq-plan img { width:calc(50% - 30px); height:auto; border:10px solid #fff; border-radius:30px; box-sizing:border-box; }

@media (max-width:768px) { 
  .faq-plan img { width:100%; } 
}

@media (min-width:992px) { 
  #faq-page li.accordion-item { margin: 0 auto; width: 85%;}
  #faq-page li.accordion-item .accordion-panel { padding-left:6rem; }
}

/*--- CONTACT PAGE ---*/
/*-------------------*/
#contact-hours img { display: block; max-width: 100%; height: auto;}
#contact-hours .grid { align-items: center;}

#contact-hours .hours-box { padding: 3rem 1.5rem; } 
@media (min-width: 768px) { #contact-hours .hours-box { padding: 3rem; } } 
@media (min-width: 1200px) { #contact-hours .hours-box { padding: 6rem; } }
#contact-hours .hours-box {  color: #FFF; background-color: #233D4C; border-radius: 30px; box-shadow: rgba(0, 24, 50, 0.08) 0px 2px 12px 0px;}
#contact-hours .hours-box ul { padding: 0;}
#contact-hours .hours-box a { color: #FFF;}
#contact-hours .hours-box a:hover { color: #FF7F40;}

/* ----- Lightbox ----- */
.lightbox { 
  display: none; position: fixed; inset: 0; 
  background: rgba(0,0,0,0.9); z-index: 10000; 
  justify-content: center; align-items: center; 
}
.lightbox[aria-hidden="false"] { display: flex; }
.lightbox img { max-width: 90%; max-height: 80%; }

.lightbox button { 
  position: absolute; background: none; border: none; color: white; 
  font-size: 2rem; cursor: pointer; padding: 0.5rem; 
}
.lightbox-close { top: 1rem; right: 1rem; font-size: 2.5rem; }
.lightbox-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 1rem; top: 50%; transform: translateY(-50%); }

/*---Header---*/
/*-----------*/
#main-header { margin:0 auto; position:relative; z-index:10000; width:100%; max-width:1400px; }
#main-header .header-left { position:relative; top: 30px; left: 30px; /*top:clamp(1rem,5vw,2rem); left:clamp(1.5rem,5vw,6rem);*/ width:fit-content; }
#main-header .header-left .mobile { display:inline-flex; justify-content:center; align-items:center; gap:4px; padding:14px; color:#FFF; background-color:#000; border-radius:30px; }
#main-header .header-center .branding img { display:block; margin:0 auto; margin-top:clamp(6rem,5vh,6rem); width:100%; max-width:clamp(100px,40vw,180px); height:auto; }
#main-header .menu-hamburger { position:absolute; top: 30px; right: 20px; z-index:9999;}

/*
#main-header .menu-hamburger { position:fixed; z-index:9999; top:clamp(1rem,5vw,2rem); right:clamp(1.5rem,5vw,6rem); }
@media (min-width:1400px) { #main-header .menu-hamburger { right:calc((100vw - 1400px)/2 + clamp(1.5rem,5vw,6rem)); } }
*/

body.menu-open { overflow: hidden; /*height: 100vh;*/}
body.menu-open #main-header .header-left,
body.menu-open #main-header .header-center,
body.menu-open #page,
body.menu-open main {display: none;}

/* Menu Toggle */
.menu-toggle { display:inline-flex; align-items:center;  padding:14px; color:#000; background-color:#f2efe6; border:none; border-radius:30px; cursor:pointer; transition:background-color 0.3s ease;}
.menu-toggle:hover { color:#531F0E; background-color:#FF7F40; cursor: pointer;}
.menu-text { margin-right:10px; }
.hamburger { display:flex; flex-direction:column; justify-content:space-between; width:25px; height:18px;}
.hamburger span { display:block; height:3px; background:#000; border-radius:2px; }

/* Overlay Menu (mobile first) */
.menu-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:#233D4C; display:flex; flex-direction:column; justify-content:flex-start; align-items:center; padding:clamp(1rem,4vw,3rem); opacity:0; pointer-events:none; overflow-y:auto; -webkit-overflow-scrolling:touch; text-align:left; }
.menu-overlay ul { position:relative; z-index:2; list-style:none; margin:0; padding:0;}
.menu-overlay > ul { margin-top:3rem; margin-bottom:clamp(6rem,15vw,8rem);}
.menu-overlay li { margin:clamp(0.8rem,2vw,2rem) 0; font-size:clamp(1.8rem,3vw,3rem); color:#E6E1D8; position:relative;}
.menu-overlay a { color:#E6E1D8; text-decoration:none; position:relative; transition:color 0.3s ease;}
.menu-overlay a:hover { color:#FF7F40;}
.menu-overlay a.active [aria-current="page"] { color: #FF7F40; text-decoration: underline;}
/*
.menu-overlay a[aria-current="page"] { color: #FF7F40; text-decoration: underline;}
*/

.menu-overlay {
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  transition: visibility 0s linear 0.4s;
}

.menu-overlay[aria-hidden="false"] {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s; /* visible immédiatement */
}

/* Sous-navigation = tags inline */
.menu-overlay li ul { margin-top:clamp(0rem,2vw,1rem); }
.menu-overlay li ul li { margin:0 0.5rem 0.5rem 0; }
.menu-overlay ul li ul li {margin-top:16px; list-style: disc;}
.menu-overlay ul li ul { margin-left:64px;}

/* Logo décoratif (mobile first) */
.menu-overlay .menu-logo { position:fixed; left:50%; right:auto; transform:translateX(-50%); bottom:0; bottom:env(safe-area-inset-bottom); opacity:0; text-align:center; width:auto; z-index:1; }
.menu-overlay .menu-logo img { max-width:clamp(140px,45vw,220px); margin:0 auto; height:auto; display:block;}

body.menu-open .menu-overlay { pointer-events:auto; }

@media (min-width:769px) {
  #main-header .header-center .branding img { margin-top:clamp(1rem, 5vw, 6rem); max-width:clamp(200px,25vw,200px);}
  .menu-overlay { flex-direction:row; justify-content:flex-start; align-items:center;}
  .menu-overlay > ul { margin-bottom:0; }
  .menu-overlay .menu-logo { position:absolute; right:clamp(1rem,4vw,2.5rem); left:auto; transform:none; bottom:0; }
  .menu-overlay .menu-logo img { max-width:clamp(150px,25vw,420px); }
}

@media (max-width: 400px) {
  #main-header .header-left .mobile img { display: none;}
}

#page-transition { position: fixed; z-index: 10000; top: 0; left: 0; width: 100%; height: 100%; background: #233D4C; opacity: 1;}

/*---FOOTER---*/
/*------------*/
#footer { background-color: #233D4C;}
#main-footer { display: flex; flex-direction: column; gap: 40px; margin:0 auto; width: 100%; max-width: 1920px; padding-top: clamp(3rem, 5vw, 6rem); padding-bottom: 0; padding-inline: clamp(3rem, 5vw, 6rem);}

@media (max-width: 400px) {
  #main-footer { padding-inline: 1rem;}
}

#main-footer-level-1 { display: grid; gap: 40px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}

#main-footer-level-2-col-1 { grid-area: c1;}
#main-footer-level-2-col-2 { grid-area: c2;}
#main-footer-level-2-col-3 { grid-area: c3;}

#main-footer-level-2 { display: grid; gap: 40px; grid-template-columns: 1fr; grid-template-areas: "c1" "c3" "c2";}

#main-footer-level-2-col-2 { align-self: end; line-height: 0;}
#main-footer-level-2-col-2 img { width: 100%; max-width: 400px; height: auto;}

#main-footer-level-2-col-3 p { margin-top:40px !important;}

@media (min-width: 1024px) {
  #main-footer-level-2 { grid-template-columns: repeat(3, 1fr); grid-template-areas: "c1 c2 c3";}
  #main-footer-level-2-col-1 { padding-bottom: clamp(3rem, 5vw, 6rem);}
  #main-footer-level-2-col-3 { padding-bottom: clamp(3rem, 5vw, 6rem); text-align: right;  align-self: end;}
}

#main-footer h2 { margin:0; padding: 0; font-size: 14px; line-height: 16px; letter-spacing: 5.4px; text-transform: uppercase; color: #FF7F40;}
#main-footer h2::before { content: "("}
#main-footer h2::after { content: ")"}

#main-footer p { margin-top: 10px; font-size: 20px; line-height: 28px;}
#main-footer strong { font-weight: 600;}

#main-footer ul  { margin:0; padding: 0;}
#main-footer ul > li { list-style: none;}
#main-footer ul li ul li {list-style: disc;}
#main-footer ul li { margin-top:16px; font-size: 20px; line-height: 28px;}
#main-footer ul li ul { margin-left:32px;}
#main-footer ul li ul li { margin-top:0;}
#main-footer ul li a:hover { color: #FF7F40;}

#main-footer p, 
#main-footer ul li, 
#main-footer ul > li a  {color: #E6E1D8;}

#main-footer li.list-icon { display: flex; align-items: center; gap: 8px;}
#main-footer li.list-icon .icon { width: 24px; height: 24px; display: inline-block; background-size: contain; background-repeat: no-repeat;}
#main-footer li.list-icon.facebook .icon {background-image: url("../img/facebook-light.svg");}
#main-footer li.list-icon.google .icon { background-image: url("../img/google-light.svg");}
#main-footer li.list-icon.instagram .icon { background-image: url("../img/instagram-light.svg");}
#main-footer li.list-icon.mail .icon { background-image: url("../img/mail-light.svg");}
#main-footer li.list-icon.mobile .icon { background-image: url("../img/mobile-light.svg");}
#main-footer li.list-icon.tiktok .icon { background-image: url("../img/tiktok-light.svg");}
#main-footer li.list-icon.whatsapp .icon { background-image: url("../img/whatsapp-light.svg");}



















/*---SALLE DE BAINS---*/
/*-------------------*/
#home-introduction-content.sdb { color: #FFF; background-color: #233D4C;}

#expertise-sdb-creation .expertise-sdb-boxes ul li { background-color: #e7e5e2;}
#expertise-sdb-how {background-color: #FFF;}
#expertise-sdb-how .expertise-sdb-boxes ul li { border:1px solid #FF7F40;}

@media(min-width:1024px) {
  #expertise-sdb-how p.p-lead, #expertise-sdb-creation p.p-lead { width: 75%;}
}

/*---EXPERTISE SDB BOXES---*/
.expertise-sdb-boxes { margin-top: clamp(3rem, 3rem + 1vw, 6rem);}
.expertise-sdb-boxes ul {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px;padding:0;margin:0;list-style:none;}
.expertise-sdb-boxes li {background:#fff;border-radius:30px;padding:30px;display:flex;flex-direction:column;gap:1rem;min-width:0;box-sizing:border-box;}
.expertise-sdb-boxes h3 {margin:0;}
.expertise-sdb-boxes p {margin:0;}
.expertise-sdb-boxes span.icon-circle {align-self:flex-end;display:flex;justify-content:center;align-items:center;flex-shrink:0;width:80px;height:80px;font-size:24px;line-height:1;color: #FF7F40;background:#F9F4EB;border-radius:50%;}
.expertise-sdb-boxes span.icon-circle img {height:32px;}
.expertise-sdb-boxes span.icon-circle-partner {align-self:flex-end;margin-top:auto;display:flex;justify-content:center;align-items:center;flex-shrink:0;width:100px;height:100px;font-size:24px;line-height:1;color:black;background:#F9F4EB;border-radius:50%;}
.expertise-sdb-boxes span.icon-circle-partner img { width: auto; height:50px;}

@media(max-width:1024px){
  .expertise-sdb-boxes ul{grid-template-columns:1fr;}
}

@media(min-width:1025px){
  .expertise-sdb-boxes ul li:nth-child(5n+1),
  .expertise-sdb-boxes ul li:nth-child(5n+2),
  .expertise-sdb-boxes ul li:nth-child(5n+3){grid-column:span 2;}
  .expertise-sdb-boxes ul li:nth-child(5n+4),
  .expertise-sdb-boxes ul li:nth-child(5n+5){grid-column:span 3;}

  .expertise-sdb-boxes.port ul li:nth-child(5n+4),
  .expertise-sdb-boxes.port ul li:nth-child(5n+5){grid-column:span 2;}

}

/*---VARIABLES---*/
/*---------------*/
:root {
  /* --- ANIMATION --- */
  --active-transform-interaction: scale(0.95);
  /* --- COLORS : TEXT --- */
  --color-text-primary: #262B38;
  --color-text-primary-emphasis: #000000;
  --color-text-secondary: #5B5B5B;
  --color-text-danger: #D7003D;
  /* --- COLORS : UI SURFACES --- */
  --color-surface-danger-subtle: #FEF2F5;
  --color-surface-base: #FFFFFF;
  --color-surface-neutral: #F2F2F2;
  --color-surface-soft: #F1F5FC;
  /* --- SHADOWS --- */
  --shadow-container: 0 4px 6px 0 rgba(0, 0, 0, 0.40);
  --shadow-interaction: 0px 2px 4px rgba(9, 49, 142, 0.08), 0px 0px 10px 0px rgba(9, 49, 142, 0.04), 0px 4px 5px 0px rgba(9, 49, 142, 0.04), 0px -4px 4px 0px rgba(9, 49, 142, 0.04);
}

/*---HELPER CLASS---*/
/*-----------------*/
.block { display: block;}

.no-break { white-space: nowrap;}

.color-text-primary { color: #FF7F40;}

.has-left-bar { position: relative; display: inline-block; overflow: visible !important;}
.has-left-bar::before { content: ""; z-index: 2; position: absolute; top: 50%; left: 0; width: 30px; transform: translate(-50%, -50%); height: 300px; background: #FF7F40;}

@media (min-width: 1024px) {
  .br-desktop { display: block;}
}

/*---EXPERTISE RENOVATION---*/
/*-------------------------*/
#expertise-renovation-interieur, #expertise-renovation-exterieur {background-color: #FFF;}
#expertise-renovation-interieur .expertise-renovation-boxes ul li { border:1px solid #FF7F40;}
#expertise-renovation-exterieur .expertise-renovation-boxes ul li { background-color: #FFF;}
#expertise-renovation-exterieur .expertise-renovation-boxes ul li { border:1px solid #FF7F40;}

@media(min-width:1024px){
  #expertise-renovation-interieur .grid-2 { grid-template-columns:25% 75%; }
  #expertise-renovation-exterieur .grid-2 { grid-template-columns:25% 75%; }
}

/*---EXPERTISE RENOVATION INSIDE BOXES---*/
.expertise-renovation-boxes ul { display:flex; flex-wrap:wrap; gap:30px; padding:0; margin:0; list-style:none;}
.expertise-renovation-boxes li { color: #000; background:#fff; border-radius:30px; padding:30px; flex:1 1 calc(50% - 30px); display:flex; flex-direction:column; gap:1rem;}
.expertise-renovation-boxes h3 { margin:0;}
.expertise-renovation-boxes p { margin:0;}
.expertise-renovation-boxes span.icon-circle { align-self:flex-end; display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: 80px; height: 80px; font-size: 24px; line-height: 1; color: #FF7F40; background: #F9F4EB; border-radius: 50%;}

@media(max-width:1024px){ 
  .expertise-renovation-boxes li { flex:1 1 100%;}
}

@media(min-width:1024px) {
  #expertise-renovation p.p-lead { width: 50%;}
}

/*--- GALLERY ---*/
/*---------------*/
@media (min-width:992px) { 
  #gallery-introduction .p-lead { width: 50%;}
  #gallery-before-after .p-lead { width: 50%;}
}

.gallery-before-after { display: flex; flex-direction: column; gap: 1rem; margin:0 auto; width:100%; background-color: #FFF;}
.gallery-block { display: grid; gap: 1rem; margin-top:3rem;}
.gallery-container { display: flex; flex-direction: column; gap: 1rem;}
.gallery-block img { position: relative; width: 100%; height: 600px; object-fit: cover; border-radius: 30px;  cursor: pointer; transition: all 0.3s ease-in-out;}
.gallery-block img:hover { filter: brightness(0.8) sepia(1) hue-rotate(-20deg) saturate(3);}

.gallery-2 { grid-template-columns: repeat(2,1fr); }
.gallery-3 { grid-template-columns: repeat(3,1fr); }
.gallery-4 { grid-template-columns: repeat(4,1fr); }
.gallery-5 { grid-template-columns: repeat(5,1fr); }

@media(max-width:1024px){
  .gallery-4, .gallery-5 { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:768px){
  .gallery-2, .gallery-3, .gallery-4, .gallery-5 { grid-template-columns: 1fr; }
  .gallery-block img { height: 250px; } /* un peu moins haut sur mobile */
}

.gallery-tag figure { position:relative; margin:0;}
.gallery-tag img { display:block; width:100%; height:600px; object-fit:cover; border-radius:30px;}
.gallery-tag .tag { position:absolute; top:1rem; right:1rem; color: #FFF; background:#000; padding:0.3rem 0.8rem; border-radius:20px; text-transform:uppercase;  pointer-events:none;}
.gallery-tag .after { right:auto; left:1rem;}



/*--- LAYOUT ---*/
/*-------------*/
body {  color:#000; background:#dddbd6; overflow-x:hidden; }

.container { margin: 0 auto; padding-block: clamp(2rem, 5vw, 4rem); padding-inline: clamp(2rem, 5vw, 6rem); width: 100%; max-width: 1400px;}
  
.grid { display:grid; gap:clamp(2rem,4vw,4rem); }

.grid-2 { grid-template-columns:1fr; }
@media(min-width:992px){ 
  .grid-2 { grid-template-columns:repeat(2,1fr);} 
}
.grid-3 { grid-template-columns:1fr; }
@media(min-width:1024px){ 
  .grid-3 { grid-template-columns:repeat(3,1fr);} 
}
.grid-4 { grid-template-columns:1fr; }
@media(min-width:1280px){ 
  .grid-4 { grid-template-columns:repeat(4,1fr);}
}

/*---LIST BULLET---*/
/*----------------*/
.list-bullet { list-style: none; padding-left: 0;}
.list-bullet li { position: relative; padding-left: 1.2rem; margin-top: 0.5rem;}
.list-bullet li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.5rem; height: 0.5rem; background-color: #000; border-radius: 50%;}

/*---LIST CHECKBOX---*/
/*------------------*/
.list-checkbox { list-style:none; padding-left:0; }
.list-checkbox li { display:flex; align-items:flex-start; gap:0.6rem; margin-top:0.5rem; }
.list-checkbox li::before { content:""; display: inline-block; flex-shrink:0; height: 24px; width: 24px; background-image: url("../img/ico-checkbox.svg"); background-size:contain; background-repeat:no-repeat; background-position:center;}

/*---IMAGE PARALLAX ---*/
/*--------------------*/
.parallax-image { position: relative; overflow: hidden; height: 900px;}
.parallax-image img { width: 100%; height: 120%; object-fit: cover; transform: translateY(0%); will-change: transform; /* optimisation GPU */}

/*--- SCREEN READER ---*/
/*--------------------*/
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}  
.sr-only-focusable:active,  
.sr-only-focusable:focus { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal}

/*--- LEARN MORE BOX ---*/
/*---------------------*/
#learn-more-boxes { display:flex; flex-wrap:wrap; gap:30px;}
.learn-more-box {  flex:1 1 calc(50% - 3rem); display:flex; flex-direction:column; gap:1rem; padding-inline:clamp(3rem, 5vh, 6rem); padding-block:clamp(3rem, 5vh, 6rem); text-align: center; background:#fff; border-radius:30px;}
.learn-more-box-dark { background-color: #000;}
.learn-more-box-dark h2 { color: #E6E1D8;}

ul.keywords { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; padding: 0; margin: 0;}
.keywords li { background-color: #000; color: #fff; border:1px solid black !important; font-size: 14px; padding: 6px 10px; border-radius: 24px; white-space: nowrap;}
