/* Identité de la fiche Particuliers : ses fichiers originaux, ses couleurs et son décor. */
:root{--paper:#fbfcf5;--white:#fffffd;--ink:#183e28;--green:#173e28;--muted:#53674e;--line:#dbe6d0;--lime:#d7eead;--sage:#edf5e4}
body{position:relative;isolation:isolate;background:var(--paper)}
.forest-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.forest-backdrop img{width:100%;height:100%;object-fit:fill}
.container{max-width:1120px;width:calc(100% - 150px)}
em{color:#23721f}
.topbar{background:#173e28}
.header{background:transparent;border:0;padding-top:13px;backdrop-filter:none}
.nav-wrap{height:82px;padding:0 24px;background:#fffffaf2;border:1px solid #ffffffa6;border-radius:14px;box-shadow:0 5px 25px #26452412;backdrop-filter:blur(14px)}
.brand img{width:100px;height:auto;object-fit:contain;mix-blend-mode:normal}
.header nav{font-size:13px;gap:25px}
.button{background:linear-gradient(125deg,#368f0e,#17641c);border:1px solid #ffffff85;border-radius:11px;box-shadow:0 5px 15px #437c1821}
.button:hover{background:linear-gradient(125deg,#2c7d09,#104a15);box-shadow:0 7px 20px #437c1838}
.button-light{background:#d7eead;color:#173e28;border-color:#d7eead}
.button-light:hover{background:#edf5cf}
.button-outline{color:#173e28;background:#f6faee;border-color:#b8cca9}
.button-outline:hover{background:#e9f2dc}
.hero{display:block;position:relative;padding:23px 0 36px;text-align:center}
.hero-copy{position:relative;max-width:850px;margin:auto;isolation:isolate}
.hero-copy::before{content:"";position:absolute;inset:-10px -40px 5px;z-index:-1;background:radial-gradient(ellipse at 50% 42%,#ffffffdc 5%,#ffffffe3 28%,#ffffff80 55%,transparent 73%);pointer-events:none}
.hero h1.brand-title{width:min(500px,72%);margin:0 auto 10px;line-height:1;font-size:inherit;letter-spacing:normal}
.brand-title img{width:100%;height:auto;object-fit:contain}
.hero-offer{font-size:20px;font-weight:650;line-height:1.5;max-width:650px;margin:0 auto 12px;text-wrap:balance;text-shadow:0 1px 8px #fff,0 0 20px #fff}
.hero-slogan{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-style:italic;line-height:1.3;letter-spacing:-1px;margin:7px auto 15px;color:#173623;text-shadow:0 1px 8px #fff}
.hero-slogan em{font-style:inherit}
.hero-location{display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;color:#153e23;margin:10px auto 24px;text-shadow:0 1px 8px #fff;max-width:620px}
.hero-location .icon{width:18px;height:18px}
.hero-actions{justify-content:center;gap:17px;flex-wrap:wrap;margin-top:20px}
.hero-actions .button{min-width:265px;padding:17px 24px;font-size:14px;gap:14px;box-shadow:0 3px 0 #ffffff8c,0 9px 25px #3a5c2224}
.hero-actions .call-button{background:linear-gradient(125deg,#2b8424,#12631d)}
.hero-assurance{justify-content:center;width:fit-content;max-width:100%;margin:20px auto 0;padding:6px 17px;background:#ffffffe8;border-radius:30px;color:#44643b;flex-wrap:wrap;font-size:11px;gap:25px}
.hero-discover{margin-top:12px;padding:5px 12px;border:0;border-radius:7px;background:#ffffffd9;color:#28572b;font-size:12px}
.service-ribbon{max-width:1120px;width:calc(100% - 150px);margin:0 auto 34px;border:1px solid #dce8cd;border-radius:16px;background:#f3f8ecf0;box-shadow:0 5px 20px #39501e0b}
.service-ribbon .container{width:100%;padding:22px 27px;gap:18px}
.service-ribbon span{font-size:12px}
.section{padding-top:55px;padding-bottom:55px}
#services,.about,.faq-section{padding:42px 36px;margin-bottom:40px;border:1px solid #e2ebd6;border-radius:24px;background:#fffffdf5;box-shadow:0 5px 28px #3b652514}
.section-heading h2,h2{font-size:clamp(35px,3.7vw,48px);letter-spacing:-.04em}
.section-heading>p{color:#53674e}
.section-heading .eyebrow{color:#4c7137}
.service-card{border-radius:19px;border-color:#e3ebd9;box-shadow:0 5px 18px #39501e0b;background:#fffffd}
.service-body h3{font-size:21px}
.service-body p{color:#53674e}
.service-tags span{border-radius:6px;background:#f5f9ee;color:#426335}
.audience-tab.active{color:#276c1d;border-bottom-color:#368f0e}
.tax-banner{background:linear-gradient(115deg,#173e28,#235634);border:1px solid #346244;border-radius:20px;color:#fff;grid-template-columns:130px minmax(0,1fr) 48px;gap:25px;padding:30px}
.tax-number{font-family:var(--sans);font-weight:700;color:#d7eead;font-size:70px}
.tax-number small{color:#deebd6}
.tax-banner .eyebrow{color:#c0d9a4}
.tax-banner p:not(.eyebrow){color:#f0f5e9}
.tax-banner p.fineprint{color:#d3dfca}
.tax-banner .circle-link{border-color:#b8d0a85e}
.tax-banner .circle-link:hover{color:#173e28}
.pro-future{border-radius:17px;background:#edf5e4}
.work-section{background:transparent;padding-top:0;padding-bottom:40px}
.work-section>.container{padding:42px 36px;background:#f4f8eef5;border:1px solid #dce7cf;border-radius:24px;box-shadow:0 5px 28px #3b652514}
.comparison{border-radius:16px}
.about{gap:65px}
.about-visual>img{border-radius:20px}
.signature-note{border-radius:16px;background:#d7eead}
.process-section{max-width:1120px;width:calc(100% - 150px);margin:0 auto 40px;border-radius:24px;background:linear-gradient(115deg,#173e28,#235634);padding:45px 36px;box-shadow:0 7px 30px #2b4c1b24}
.process-section>.container{width:100%}
.process-section .section-heading .eyebrow{color:#c0d9a4}
.process-section .button-light{box-shadow:none}
.faq-section{gap:65px}
.contact-section{padding:0;margin-bottom:40px;background:transparent}
.contact-grid{padding:42px 36px;border-radius:24px;background:#f0f6e7f5;border:1px solid #dce7cf;gap:50px;box-shadow:0 5px 28px #3b652514}
.contact-form{border-radius:19px;box-shadow:0 5px 18px #39501e0b}
.contact-form input,.contact-form select,.contact-form textarea{border-radius:8px;background:#fcfdfa;border-color:#d9e2d1}
footer{max-width:1120px;width:calc(100% - 150px);margin:0 auto;padding:30px 36px 0;border-radius:24px 24px 0 0;background:#fffffaf2;border:1px solid #e2ebd6;border-bottom:0}
footer .container{width:100%}
.footer-main{padding-bottom:22px}
.footer-main .brand img{width:180px;height:auto}
.footer-main>p{color:#183e28}
.mobile-contact{background:#fbfff1f5;backdrop-filter:blur(12px);border-top:1px solid #d6e8c6}
.mobile-contact>a:last-child{background:linear-gradient(125deg,#3e9219,#1c6820);border-radius:9px}
dialog{background:#fbfcf5;border-radius:18px}
@media(max-width:1100px){
 .container,.service-ribbon,.process-section,footer{width:calc(100% - 72px)}
 .header nav{gap:18px;font-size:12px}
 .hero h1.brand-title{width:min(470px,76%)}
 #services,.about,.faq-section,.work-section>.container,.contact-grid{padding:34px 28px}
 .services-grid{gap:17px}.service-body{padding:20px}.service-body h3{font-size:20px}
 .contact-grid{gap:34px}.about{gap:50px}
}
@media(max-width:850px){
 .nav-wrap{height:80px;position:relative;padding:0 20px}
 .header nav{top:calc(100% + 7px);left:0;right:0;background:#fffffafc;border:1px solid #e2ebd6;border-radius:14px;padding:22px;box-shadow:0 10px 25px #193b1926;backdrop-filter:blur(16px)}
 .header nav .button{font-size:13px}.header nav>a:not(.button){font-size:14px;padding:11px 0}
 .hero h1.brand-title{width:min(460px,85%)}
 .hero-slogan{font-size:29px}.hero-offer{font-size:18px;max-width:550px}
 .service-ribbon .container{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 27px}
 .tax-banner{grid-template-columns:100px minmax(0,1fr);padding:25px;position:relative;gap:22px}
 .tax-banner .circle-link{display:none}.tax-number{font-size:57px}.tax-number small{font-size:8px}
 .service-body{padding:17px}.service-body h3{font-size:19px}.about,.faq-section{gap:35px}
 .process-section{padding:34px 28px}.contact-grid{grid-template-columns:1fr;gap:30px}
 .contact-copy>p:not(.eyebrow){max-width:620px}.contact-form{padding:28px}
}
@media(max-width:640px){
 .forest-backdrop{position:fixed;inset:0;height:100vh;height:100svh;min-height:600px}
 html{scroll-padding-top:98px}
 .container,.service-ribbon,.process-section,footer{width:calc(100% - 28px)}
 .topbar .container{font-size:10px}.header{padding-top:8px}
 .nav-wrap{height:72px;padding:0 15px;border-radius:12px}.brand img{width:88px;height:auto}
 .menu-toggle{border-color:#bfd2ad;border-radius:8px}
 .hero{padding-top:24px;padding-bottom:25px}
 .hero-copy::before{inset:-15px -8px 0;background:radial-gradient(ellipse,#fffffff0 15%,#ffffffbc 58%,transparent 78%)}
 .hero h1.brand-title{width:min(410px,94%);margin-bottom:8px}
 .hero-offer{font-size:17px;max-width:340px;margin:0 auto 13px;padding-inline:7px}
 .hero-slogan{font-size:27px;line-height:1.3;letter-spacing:-.7px;margin:8px auto 15px}
 .hero-slogan em{display:block}
 .hero-location{font-size:12px;max-width:310px;line-height:1.6;align-items:flex-start;margin:12px auto 20px;padding-inline:8px}
 .hero-location .icon{margin-top:2px}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:11px;max-width:330px;margin:0 auto;padding-inline:7px}
 .hero-actions .button{width:100%;min-width:0;font-size:13px;min-height:53px;padding:15px 17px;gap:14px}
 .hero-assurance{margin-top:18px;font-size:10px;gap:14px;padding:6px 12px}
 .hero-discover{font-size:12px;margin-top:11px}
 .service-ribbon{margin-bottom:24px;border-radius:14px}
 .service-ribbon .container{gap:17px 10px;padding:20px 15px}.service-ribbon span{font-size:10px}
 #services,.about,.faq-section,.work-section>.container,.contact-grid{padding:30px 20px;border-radius:20px;margin-bottom:24px}
 h2,.section-heading h2{font-size:37px;line-height:1.12}
 .section-heading .eyebrow{font-size:8px;letter-spacing:.12em}
 .section-heading>p{margin-top:18px}.audience-tab{font-size:11px;gap:5px}
 .service-image{height:210px}.service-body{padding:23px}.service-body h3{font-size:23px;min-height:0}
 .service-body p{min-height:0;font-size:13px}.service-card{border-radius:17px}
 .tax-banner{grid-template-columns:1fr;gap:22px;padding:24px;border-radius:17px}
 .tax-number{font-size:62px}.tax-number small{display:inline-block;max-width:100px;font-size:8px;letter-spacing:.04em}
 .tax-banner h3{font-size:24px}.tax-banner p.fineprint{font-size:10px}
 .work-section{padding-bottom:0}.work-section>.container{margin-bottom:24px}
 .comparison{border-radius:13px}.project-copy h3{font-size:32px}
 .about{gap:35px}.about-visual{margin-right:10px}.about-visual>img{height:310px;border-radius:17px}.signature-note{font-size:26px;right:-10px}
 .process-section{padding:30px 20px;border-radius:20px;margin-bottom:24px}.process-grid{gap:25px}
 .faq-section{gap:25px}.contact-section{margin-bottom:0}.contact-copy h2{font-size:39px}
 .contact-phone{font-size:27px}.contact-form{padding:24px 18px}.contact-form h3{font-size:27px}
 .contact-email{font-size:12px}.contact-location span{font-size:11px}
 footer{padding:24px 20px 0;border-radius:20px 20px 0 0}
 .footer-main{gap:20px}.footer-main>.brand{width:auto}.footer-main .brand img{width:155px;height:auto}
 .footer-main>p{width:100%;font-size:12px}.footer-bottom{padding-bottom:90px}
}
@media(max-width:370px){
 .hero-slogan{font-size:24px}.hero-offer{font-size:16px}.hero-location{font-size:11px}
 #services,.about,.faq-section,.work-section>.container,.contact-grid,.process-section{padding-inline:16px}
 .service-ribbon .container{padding-inline:12px}.service-ribbon span{font-size:9px}
 .audience-tab{font-size:10px}.contact-phone{font-size:24px}.contact-email{font-size:11px}
 .contact-form{padding:22px 14px}.hero-assurance{font-size:9px;gap:11px}
}

/* Les nouvelles photos de chantier gardent leur cadrage paysage complet. */
.comparison.landscape{aspect-ratio:4 / 3}
