:root{--ink:#18201d;--dark:#19221e;--green:#9de044;--leaf:#365e22;--paper:#f6f7f3;--line:#dce0d7;--muted:#58635b;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(2.6rem,5.7vw,5.4rem);font-weight:650}h2{font-size:clamp(2rem,3.6vw,3.4rem);font-weight:550}h3{font-size:1.5rem;font-weight:600}.wrap{width:min(1320px,90%);margin:auto}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}.top{background:#111a15;color:#d2dfd0;font-size:.82rem;padding:8px 0}.top .wrap{display:flex;justify-content:space-between;gap:20px}.header{background:var(--dark);color:white;border-bottom:1px solid #ffffff1f;position:sticky;top:0;z-index:20}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:230px}.navlinks{display:flex;gap:25px;align-items:center;font-size:.9rem}.navlinks a:hover{color:var(--green)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;padding:12px 25px;border:1px solid transparent;background:var(--green);color:#19221e;font-weight:700;font-size:.95rem;border-radius:3px;line-height:1.35}.btn:hover{background:#b5ee70}.btn.outline{background:transparent;border-color:currentColor;color:inherit}.btn.dark{background:var(--dark);color:white}.menu-toggle{display:none;border:1px solid #69746b;background:none;color:white;padding:10px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;min-height:680px}.hero-copy{padding:80px max(5vw,30px) 65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--leaf);margin-bottom:22px}.hero .eyebrow,.dark-section .eyebrow{color:var(--green)}.hero p{color:#cbd5cc;max-width:510px;font-size:1.1rem}.hero h1 em{font-style:normal;color:var(--green)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 20px}.hero-visual{position:relative;min-height:560px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-note{position:absolute;bottom:30px;left:30px;right:30px;padding:15px 20px;color:#fff;background:#152016e8;font-size:.85rem;display:flex;justify-content:space-between;gap:20px}.trustbar{background:white;border-bottom:1px solid var(--line)}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0}.trustgrid>div{padding:0 28px;border-right:1px solid var(--line);font-size:.92rem}.trustgrid>div:first-child{padding-left:0}.trustgrid>div:last-child{border:0}.trustgrid strong{display:block}.muted{color:var(--muted)}section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:38px}.section-head h2{max-width:760px;margin-bottom:0}.section-head p{max-width:390px;margin:0;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service{background:white;border:1px solid var(--line);transition:transform .2s}.service:hover{transform:translateY(-4px)}.service img{width:100%;height:270px;object-fit:cover}.service-body{padding:28px}.service p{color:var(--muted);font-size:.95rem}.textlink{display:inline-block;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.service .textlink{font-size:.88rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>img{width:100%;height:550px;object-fit:cover}.dark-section{background:var(--dark);color:white}.dark-section p{color:#ccd6cd}.checks{list-style:none;padding:0;margin:30px 0}.checks li{border-top:1px solid #ffffff30;padding:17px 0}.checks li:before{content:'✓';color:var(--green);padding-right:16px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project img{height:330px;width:100%;object-fit:cover}.project h3{margin:20px 0 8px}.project p{color:var(--muted);font-size:.92rem}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process article{border-top:1px solid var(--line);padding-top:26px}.number{font-size:.8rem;color:var(--leaf);font-weight:700;display:block;margin-bottom:20px}.process h3{font-size:1.4rem}.process p{color:var(--muted)}.cta{background:var(--green);padding:65px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:800px;margin-bottom:12px}.cta p{margin:0}.faq{max-width:940px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:700;padding-right:30px}.faq details p{margin:20px 0 0;color:var(--muted)}.zones{display:flex;flex-wrap:wrap;gap:12px}.zones a{border:1px solid var(--line);padding:10px 18px;background:white}.zones a:hover{border-color:var(--leaf)}.footer{background:#111a15;color:white;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px}.footer h3{font-size:1.1rem;letter-spacing:0}.footer p,.footer a{font-size:.9rem;color:#c4cfc5}.footer nav{display:grid;gap:9px}.footer-bottom{border-top:1px solid #ffffff26;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#a9b7ab}.mobile-cta{display:none}.subhero{padding:65px 0;background:var(--dark);color:white}.subhero h1{max-width:1050px;font-size:clamp(2.6rem,5vw,4.6rem)}.subhero p{color:#cad6ca;max-width:730px;font-size:1.12rem}.crumb{font-size:.8rem;color:#b8c8bb;margin-bottom:35px}.content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start}.content-grid img{width:100%;max-height:650px;object-fit:cover}.prose h2{font-size:2.1rem;margin-top:45px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--muted)}.prose ul{padding-left:22px}.sidebox{background:white;padding:35px;border:1px solid var(--line)}.sidebox img{margin-bottom:30px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filters button{border:1px solid var(--line);padding:10px 18px;background:white;color:var(--ink);border-radius:3px}.filters button[aria-pressed=true]{background:var(--dark);color:white}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.album-grid a{display:block}.album-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e5e8e0}.album-grid figcaption{font-size:.82rem;padding:12px 0;color:var(--muted)}figure{margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-layout .phone{font-size:2rem;font-weight:700;letter-spacing:-.04em}.formbox{padding:38px;background:white;border:1px solid var(--line)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:.9rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #aeb9ad;border-radius:3px;padding:12px;color:var(--ink);background:white}textarea{min-height:130px;resize:vertical}.fine{font-size:.82rem;color:var(--muted)}.formbox button{width:100%;margin-top:20px}.formbox .fine{margin-top:16px;margin-bottom:0}.notice{border-left:3px solid var(--green);padding:12px 18px;background:#edf5e4}.lightbox{padding:0;border:0;width:min(1100px,95vw);max-height:94vh;background:#111;color:white}.lightbox::backdrop{background:#000d}.lightbox img{max-height:82vh;max-width:100%;margin:auto;object-fit:contain}.lightbox button{position:absolute;right:12px;top:12px;background:white;color:black;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem}.lightbox p{padding:12px 20px;margin:0}.plainlink{text-decoration:underline}.status{padding:12px;margin-top:15px}.status:empty{display:none}.honeypot{position:absolute;left:-9999px}.compare{width:100%;border-collapse:collapse;font-size:.94rem}.compare th,.compare td{text-align:left;padding:18px;border-bottom:1px solid var(--line)}.compare th{background:#eaf0e4}.tablewrap{overflow:auto}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--leaf)}.allservices{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.allservices a{background:white;border:1px solid var(--line);padding:25px;display:flex;justify-content:space-between;align-items:center}.allservices h3{font-size:1.3rem;margin:0}.brand-name{font-size:.82rem;color:#c6d6c7;margin-top:18px}.float-mail{overflow-wrap:anywhere}
@media(min-width:1600px){.hero-copy{padding-left:max(calc((100vw - 1320px)/2),5vw)}}
@media(max-width:1100px){.navlinks{gap:16px;font-size:.82rem}.navlinks .phone-nav{display:none}.logo{width:190px}.hero-copy{padding:60px 5vw}.hero{min-height:580px}.split{gap:40px}.services{gap:16px}.service-body{padding:22px}.contact-layout{gap:35px}}
@media(max-width:760px){:root{font-size:16px}.top .wrap{justify-content:center}.top .secondary{display:none}.nav{min-height:78px}.logo{width:180px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:78px;background:var(--dark);padding:25px 5%;flex-direction:column;align-items:stretch;font-size:1rem;border-bottom:1px solid #425444}.navlinks.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 5%}.hero h1{font-size:3.2rem}.hero-visual{min-height:360px}.hero .actions{width:100%}.hero .btn{flex:1}.photo-note{bottom:16px;left:16px;right:16px;font-size:.8rem}.trustgrid{padding:20px 0;grid-template-columns:1fr;gap:16px}.trustgrid>div{border:0;padding:0}.trustgrid strong{display:inline;margin-right:8px}.section-head,.cta .wrap{display:block}.section-head p{margin-top:22px}.section-head .textlink{margin-top:22px}section{padding:58px 0}.services,.gallery-grid,.process,.content-grid,.contact-layout,.footer-grid,.split{grid-template-columns:1fr;gap:30px}.services .service img{height:280px}.split>img{height:390px}.project img{height:300px}.cta .btn{margin-top:25px}.footer{padding-bottom:95px}.footer-grid{gap:32px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:10px 0}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.2fr;padding:10px 14px max(10px,env(safe-area-inset-bottom));gap:10px;background:white;border-top:1px solid var(--line);z-index:30}.mobile-cta .btn{min-height:45px;padding:10px;font-size:.9rem}.album-grid{grid-template-columns:1fr 1fr;gap:12px}.subhero{padding:38px 0}.formbox{padding:24px}.formgrid{grid-template-columns:1fr}.allservices{grid-template-columns:1fr}.photo-note span:last-child{display:none}.compare th,.compare td{padding:12px}.content-grid{gap:35px}.contact-layout .phone{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Parcours locaux */
[hidden]{display:none!important}html{scroll-padding-top:110px}#demande-locale,#quote-form{scroll-margin-top:110px}.local-hero{background:var(--dark);color:white;padding:38px 0 58px}.local-hero .eyebrow{color:var(--green)}.local-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.local-hero h1{font-size:clamp(2.6rem,4.7vw,4.8rem)}.local-hero em{font-style:normal;color:var(--green)}.local-hero p{color:#cbd6cb;max-width:600px}.local-hero figure img{width:100%;height:435px;object-fit:cover}.local-hero figcaption{font-size:.76rem;color:#bdcdbf;padding-top:12px}.local-facts{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);margin-top:30px;padding:22px 30px;gap:24px}.local-facts small{display:block;color:var(--muted);font-size:.8rem}.local-facts strong{font-size:.94rem}.section-intro{max-width:760px;color:var(--muted)}.need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.need-grid a{padding:26px;border:1px solid var(--line);background:white;transition:border-color .2s}.need-grid a:hover{border-color:var(--leaf)}.need-grid strong,.need-grid span{display:block}.need-grid span{color:var(--muted);font-size:.88rem;margin-top:12px}.municipal-section{background:#edf0e8}.municipal-card{background:white;border:1px solid var(--line);padding:32px}.municipal-card h3{margin:16px 0}.municipal-card p{font-size:.94rem}.municipal-card .fine{font-size:.8rem}.municipal-card .textlink{font-size:.87rem}.city-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;background:white;border:1px solid var(--line);padding:26px}.city-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.city-item{position:relative;padding:22px 42px 22px 22px;border:1px solid var(--line);background:white}.city-item:hover{border-color:var(--leaf);background:#f0f7e7}.city-item strong{display:block;font-size:1rem}.city-item>span:not(.city-arrow){display:block;font-size:.8rem;color:var(--muted);margin-top:7px}.city-arrow{position:absolute;right:20px;top:22px}.city-more{display:block;margin:30px auto 0}.priority-cities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.priority-cities a{display:flex;justify-content:space-between;gap:15px;background:white;border:1px solid var(--line);padding:20px;font-weight:700}.priority-cities a:hover{border-color:var(--leaf)}.paris-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.paris-cards a{padding:28px;border:1px solid #ffffff40}.paris-cards a:hover{border-color:var(--green)}.paris-cards strong{display:block;font-size:1.35rem}.paris-cards span{display:block;font-size:.9rem;color:#cbd6cb;margin-top:15px}.home-local{background:#edf0e8}.home-local .btn.outline:hover{background:white}.local-source{font-size:.78rem;color:var(--muted)}
@media(max-width:1000px){.local-hero-grid{gap:35px}.need-grid,.priority-cities{grid-template-columns:repeat(2,1fr)}.local-facts{gap:18px;padding:22px}.city-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.local-hero{padding-top:28px}.local-hero-grid{grid-template-columns:1fr;gap:30px}.local-hero h1{font-size:2.8rem;overflow-wrap:break-word}.local-hero figure img{height:310px}.local-facts{grid-template-columns:1fr;gap:17px}.local-facts>div+div{border-top:1px solid var(--line);padding-top:15px}.need-grid,.priority-cities,.city-directory,.city-controls,.paris-cards{grid-template-columns:1fr}.city-controls{padding:20px}.municipal-card{padding:24px}.municipal-section .content-grid{gap:28px}.local-hero .actions .btn{flex:1}.local-hero .crumb{margin-bottom:25px}.priority-cities{grid-template-columns:1fr 1fr}.priority-cities a{font-size:.88rem;padding:17px 12px;overflow-wrap:anywhere}}
/* Catalogue : des modèles à comparer et une sélection transmise au devis. */
.catalog-filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.catalog-filters button{border:1px solid #cbd3c7;border-radius:30px;padding:12px 20px;background:white;font:inherit;cursor:pointer}.catalog-filters button[aria-pressed=true]{background:var(--ink,#19221e);color:white;border-color:#19221e}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catalog-card{border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.catalog-card[hidden]{display:none}.catalog-image{display:block;aspect-ratio:1.5;overflow:hidden;background:#e8ede6}.catalog-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.catalog-image:hover img{transform:scale(1.035)}.catalog-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.catalog-copy h3{font-size:24px;line-height:1.2;margin:12px 0}.catalog-copy p{margin:0 0 20px}.catalog-copy .textlink{margin-top:auto}.catalog-copy .btn{margin-top:22px;width:100%;font-size:14px}.catalog-kind{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#57674f}.catalog-colors{background:#eef2e9}.catalog-colors p{max-width:780px}.swatch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.swatch span{display:block;height:95px;border:1px solid #ccd0c7;border-radius:6px;margin-bottom:15px}.swatch strong,.swatch small{display:block}.swatch small{margin-top:5px}.fence-picker{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:20px;margin:30px 0}.fence-picker select{width:100%;min-height:50px;padding:12px;font:inherit;border:1px solid #bac6b4;border-radius:4px;background:white}.catalog-aside figure{margin:0 0 30px}.catalog-aside img{width:100%;border-radius:8px}.catalog-aside figcaption{font-size:12px;color:#64705f;margin-top:10px}.catalog-aside h2{font-size:28px}.catalog-sources{margin-top:40px;border-top:1px solid var(--line);padding-top:20px}.catalog-sources summary{cursor:pointer}.catalog-home{background:#eef2e9}.catalog-home>.wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.catalog-home h2{font-size:36px}.catalog-home p{margin-bottom:0}@media(max-width:950px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fence-picker{grid-template-columns:1fr 1fr}.fence-picker .btn{grid-column:1/-1;justify-self:start}}@media(max-width:620px){.catalog-grid{grid-template-columns:1fr}.swatch-grid{grid-template-columns:1fr 1fr}.fence-picker{grid-template-columns:1fr}.catalog-home>.wrap{align-items:flex-start;flex-direction:column}.catalog-home h2{font-size:30px}.catalog-filters button{font-size:13px;padding:10px 13px}}
.catalog-image img.product-example{object-fit:contain;background:white;padding:12px}.catalog-aside img.product-example{background:white;object-fit:contain;max-height:520px}
/* Vitrine : boutons explicites, modèles photographiés et fiches matériaux. */
.btn{justify-content:center;gap:0;border-radius:8px;min-height:52px;text-align:center;line-height:1.3}.btn:hover{box-shadow:0 5px 16px #19221e22}.btn:focus-visible,.idea-photo:focus-visible,.catalog-image:focus-visible{outline:3px solid #558214;outline-offset:4px}.textlink{display:inline-flex;padding:10px 0;text-decoration:underline;text-underline-offset:5px}.hero h1{font-size:clamp(2.3rem,4vw,4.5rem)}.showroom-heading{background:#19221e;color:white;padding:55px 0}.showroom-heading h1{font-size:clamp(2rem,4vw,3.8rem);margin:12px 0 18px}.showroom-heading p{max-width:800px}.showroom-heading .eyebrow{color:#9de044}.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.idea-card,.featured-model{border:1px solid #d8ddd5;border-radius:10px;overflow:hidden;background:white}.idea-photo,.catalog-image,.catalog-aside figure>a{display:block;position:relative;overflow:hidden;background:#e8ede6}.idea-photo{aspect-ratio:1.3}.idea-photo img{width:100%;height:100%;object-fit:cover}.photo-open{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;color:#19221e;padding:12px 14px;border-radius:6px;font-size:14px;font-weight:700;box-shadow:0 2px 10px #0002;text-align:center}.idea-photo:hover img{filter:brightness(.93)}.idea-copy{padding:24px}.idea-copy h3{font-size:24px;line-height:1.25;margin:8px 0 14px}.idea-copy p{margin:0 0 16px}.idea-copy .btn{width:100%;font-size:15px}.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:32px 0}.featured-model .idea-photo{aspect-ratio:1.6}.home-showroom{background:#eef2e9}.material-notes,.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.material-notes article,.reference-grid article{padding:22px;background:white;border:1px solid #d8ddd5;border-radius:8px}.reference-grid h3{font-size:22px}.lightbox{padding:20px;border-radius:10px;max-height:94vh;overflow:auto}.lightbox h2{font-size:24px;margin:5px 110px 20px 0}.lightbox button{width:auto;height:auto;font-size:16px;padding:10px 18px;border-radius:6px;cursor:pointer;z-index:2}.lightbox img{display:block;max-height:62vh;width:auto;max-width:100%;height:auto}.lightbox p{line-height:1.65;padding:18px 0;font-size:16px}.lightbox .photo-quote{width:max-content;max-width:100%;font-size:16px}.photo-quote[hidden]{display:none}.catalog-kind{font-size:12px}.city-arrow{font-size:13px}.catalog-image .photo-open{font-size:13px}@media(max-width:800px){.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid{gap:18px}.hero h1{font-size:2.8rem}}@media(max-width:600px){.idea-grid,.featured-grid,.material-notes,.reference-grid{grid-template-columns:1fr}.hero h1{font-size:2.5rem}.hero .actions{display:grid;grid-template-columns:1fr}.hero .actions .btn{width:100%}.lightbox{padding:14px}.lightbox h2{font-size:21px;margin-right:85px}.lightbox button{padding:9px 12px}.photo-open{font-size:14px}.showroom-heading{padding:35px 0}.featured-model .idea-photo{aspect-ratio:1.35}}
.family-nav{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 30px}.family-nav a{padding:13px 18px;border:1px solid #19221e;border-radius:8px;background:white;font-weight:700;text-decoration:none}.family-nav a:hover{background:#19221e;color:white}.supplier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.supplier-card{padding:25px;border:1px solid #d6dfd2;border-radius:10px;display:flex;flex-direction:column;background:white}.supplier-card h2{font-size:26px;line-height:1.2;margin:15px 0}.supplier-card dl,.product-spec{margin:10px 0 20px}.supplier-card dt,.product-spec dt{font-size:13px;color:#56644e;margin-top:12px}.supplier-card dd,.product-spec dd{margin:3px 0 0;font-size:16px}.supplier-card .btn{margin-top:auto;font-size:15px}.supplier-photo{margin-top:15px;font-size:14px}.idea-photo img[src*="exemple-bois-naturel"]{object-position:center bottom}@media(max-width:950px){.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.supplier-grid{grid-template-columns:1fr}.family-nav a{width:100%}}
/* Photos de chaque référence, visibles dans le catalogue et ouvrables en grand. */
.supplier-image{position:relative;display:block;background:#fff;border-radius:8px;overflow:hidden;aspect-ratio:4/3;margin:-9px -9px 22px;border:1px solid #e4e7e0}.supplier-image img{width:100%;height:100%;object-fit:contain;padding:14px 14px 58px}.supplier-image .photo-open{font-size:14px;bottom:10px;left:10px;right:10px;background:#19221e;color:white;box-shadow:none;padding:10px}.supplier-image:hover img{transform:scale(1.025);transition:transform .2s}.supplier-image:focus-visible{outline:3px solid #558214;outline-offset:4px}.supplier-image-detail{aspect-ratio:4/3;margin:0 0 20px}.product-gallery .btn{width:100%;margin-top:18px}.supplier-docs{border-top:1px solid #d7ddd3;padding:18px 0}.supplier-docs summary{cursor:pointer}.supplier-card .catalog-kind{margin-top:2px}.supplier-card h2{font-size:24px}.supplier-card .supplier-image{flex:none}.product-gallery .supplier-image:nth-child(n+2){aspect-ratio:1.6}
.product-detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.product-detail-layout>.product-gallery{grid-column:1;grid-row:1}.product-detail-layout>.prose{grid-column:2;grid-row:1}@media(max-width:800px){.product-detail-layout{display:flex;flex-direction:column}.product-detail-layout>.product-gallery{order:-1;width:100%}.product-detail-layout>.prose{width:100%}}

.rigid-choice-note{max-width:850px;margin:28px 0}.rigid-choice-note h2{font-size:28px;margin-bottom:10px}.rigid-card .supplier-image{aspect-ratio:1.15}.rigid-card .supplier-image img{padding:0 0 52px}.rigid-card .supplier-image .photo-open{bottom:8px}
/* Avis clients : sélection sourcée, progressive et accessible. */
.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}.reviews-home{background:#eaf0e3;scroll-margin-top:110px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.review-card{background:white;border:1px solid #d7dfd0;border-radius:10px;padding:27px;min-width:0;overflow-wrap:anywhere}.review-card[hidden],.reviews-tools[hidden],#reviews-more[hidden]{display:none}.review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.review-stars{color:#4c7225;font-size:1.12rem;letter-spacing:.06em;white-space:nowrap}.review-origin{font-size:.7rem;color:#4f5d50;background:#f0f4ec;padding:4px 8px;border-radius:4px}.review-card blockquote{margin:0 0 24px;font-size:1rem;line-height:1.7;white-space:pre-line}.review-card h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 14px}.review-no-text{font-size:.92rem;color:var(--muted);font-style:italic;margin-bottom:24px}.review-author{padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.review-author strong{font-size:.94rem}.review-author>span{font-size:.8rem;color:var(--muted)}.review-source{display:inline-block;margin-top:15px;font-size:.78rem;text-decoration:underline;text-underline-offset:4px}.reviews-home-bottom{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.reviews-home-bottom p{font-size:.83rem;color:var(--muted);margin:0}.reviews-hero .eyebrow{color:var(--green)}.reviews-hero h1{font-size:clamp(2.3rem,4.5vw,4.4rem);max-width:1000px}.reviews-section{scroll-margin-top:95px}.reviews-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.reviews-intro h2{font-size:clamp(2rem,3vw,2.9rem);margin-bottom:15px}.reviews-intro>p{font-size:.93rem;color:var(--muted)}.reviews-update{font-size:.82rem;color:var(--muted);margin:12px 0 28px}.reviews-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px}.reviews-tools label{font-size:.9rem;font-weight:700}.reviews-tools select{padding:12px 38px 12px 15px;border:1px solid #a9b7a1;border-radius:4px;background:white;max-width:100%;min-height:48px;color:var(--ink)}.reviews-count{font-size:.8rem;color:var(--muted);margin:20px 0}.reviews-pagination{text-align:center;margin-top:30px}.reviews-sources{margin-top:55px;border-top:1px solid var(--line);padding-top:30px;max-width:900px}.reviews-sources p{font-size:.88rem;color:var(--muted)}.reviews-sources h3{font-size:1.4rem}.reviews-sources .actions{gap:25px;font-size:.88rem}.navlinks{gap:20px}
@media(max-width:1100px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-intro{gap:35px}.reviews-home .review-card:last-child{grid-column:1/-1}.reviews-home .review-card:last-child blockquote{max-width:750px}}
@media(max-width:700px){.reviews-grid,.reviews-intro{grid-template-columns:1fr}.reviews-intro{gap:10px}.reviews-home .review-card:last-child{grid-column:auto}.review-card{padding:23px}.reviews-tools{align-items:stretch;flex-direction:column;gap:8px}.reviews-tools select{width:100%}.reviews-home-bottom{gap:16px}.reviews-home-bottom .btn,.reviews-pagination .btn{width:100%}.reviews-hero h1{font-size:2.3rem}.reviews-sources .actions{flex-direction:column;align-items:start}.reviews-home .section-head{gap:22px}}
/* Photothèque et dossier photo en bas de l’accueil. */
.library-home{background:#19221e;color:#fff}.library-home .eyebrow,.library-hero .eyebrow{color:var(--green)}.library-home .section-head>p{color:#d0dacd}.library-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.library-home-grid a{display:block;overflow:hidden;border-radius:5px;aspect-ratio:1.65;background:#2b382d}.library-home-grid img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.library-home-grid a:hover img{transform:scale(1.025)}.library-home-bottom{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.library-home-bottom p{font-size:.83rem;color:#d0dacd;margin:0}.library-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:24px}.library-hero>div>p{max-width:700px}.library-summary{display:flex;flex-wrap:wrap;gap:30px;margin:30px 0}.library-summary span{font-size:.9rem;color:#d0dacd}.library-summary strong{font-size:1.5rem;color:white;margin-right:5px}.library-section{scroll-margin-top:105px}.library-tools{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.library-tools label{display:block;font-size:.88rem;font-weight:700;margin-bottom:8px}.library-tools select{width:100%;min-height:50px;padding:10px 14px;border:1px solid #9ba994;border-radius:4px;background:white;color:var(--ink)}.library-tools[hidden],.library-photo[hidden],#library-more[hidden],#library-empty[hidden],.library-controls[hidden]{display:none}.library-count{font-size:.82rem;color:var(--muted);margin:25px 0 20px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;align-items:start}.library-photo{margin:0;min-width:0}.library-image{display:block;aspect-ratio:1.36;position:relative;overflow:hidden;background:#e3e8de;border-radius:6px}.library-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.library-image:hover img{transform:scale(1.025)}.library-photo[data-photo-kind="modele"] .library-image{background:#fff}.library-photo[data-photo-kind="modele"] img{object-fit:contain;padding:12px}.library-expand{position:absolute;right:12px;bottom:12px;background:#19221eeb;color:white;padding:6px 11px;border-radius:3px;font-size:.75rem;font-weight:700}.library-photo figcaption{padding:16px 0 0}.library-kind{font-size:.69rem;text-transform:uppercase;letter-spacing:.07em;color:var(--leaf);font-weight:700}.library-photo h3{font-size:1.17rem;line-height:1.25;letter-spacing:-.02em;margin:7px 0}.library-photo figcaption p{color:var(--muted);font-size:.8rem;margin:0}.library-pagination{text-align:center;margin:40px 0}.library-note{border-top:1px solid var(--line);padding-top:25px;font-size:.82rem;color:var(--muted);max-width:900px}.library-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #ccd4c5;padding-top:14px}.lightbox .library-controls button{position:static;width:auto;height:auto;border:1px solid #829578;color:#19221e;background:white;font-size:.9rem;padding:9px 18px;line-height:1.3}.library-counter{font-size:.8rem;white-space:nowrap}.lightbox.library-mode{width:min(1100px,95vw)}.lightbox.library-mode>img{max-height:58vh;max-width:100%;width:auto;margin:auto}.lightbox.library-mode>p{padding:15px 0;margin:0;font-size:.9rem}.library-controls button:hover{background:#eaf0e3}
@media(max-width:900px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.library-grid,.library-tools{grid-template-columns:1fr}.library-grid{gap:28px}.library-tools{gap:16px}.library-image{aspect-ratio:1.3}.library-home-grid{gap:8px}.library-home-grid a{aspect-ratio:1}.library-home-bottom .btn,.library-pagination .btn{width:100%}.library-summary{gap:12px;flex-direction:column}.lightbox .library-controls button{padding:10px 12px;font-size:.8rem}.library-controls{gap:8px}.library-hero h1{font-size:3.2rem}.lightbox.library-mode>img{max-height:52vh}.library-home-bottom{gap:15px}}
@media(prefers-reduced-motion:reduce){.library-image img,.library-home-grid img{transition:none}}
/* Préparation au lancement : devis plus court, lisibilité et petits écrans. */
.quote-options{margin:24px 0;border:1px solid var(--line);padding:18px;border-radius:3px}
.quote-options summary{cursor:pointer;font-weight:700;line-height:1.5}
.quote-options[open] summary{margin-bottom:14px}
.quote-options .formgrid{margin-top:18px}
.quote-options .fine{margin-bottom:0}
.formbox>button[type=submit]{margin-top:8px}
#quote-form{scroll-margin-top:125px}
.formbox input,.formbox select,.formbox textarea{min-width:0;width:100%}
.formgrid>*{min-width:0}
.library-tools select,.reviews-tools select{font-size:1rem;min-height:44px}
.library-photo figcaption p,.library-kind,.library-count,.library-note,.fine{font-size:max(.85rem,14px)}
@media(max-width:760px){
 .contact-layout>.formbox{order:-1}
 .hero-copy{padding:30px 5%}
 .hero h1{font-size:clamp(2rem,7.8vw,3rem);margin-bottom:20px}
 .hero p{font-size:1rem;margin-bottom:15px}
 .hero .eyebrow{font-size:.8rem;margin-bottom:15px}
 .hero .actions{width:100%;margin-bottom:0}
 .subhero{padding-top:32px;padding-bottom:35px}
 .contact-layout{gap:30px}
 #quote-form{scroll-margin-top:100px}
 .quote-options{padding:14px}
}
/* Consent choices: equal prominence, accessible small-screen layout. */
.beck-consent{max-width:580px;width:calc(100% - 32px);border:1px solid #566159;border-radius:12px;padding:28px;color:#19221e;background:#fff}.beck-consent::backdrop{background:#0006}.beck-consent h2{font-size:1.5rem}.consent-actions{display:flex;gap:16px;flex-wrap:wrap}.consent-actions .btn{flex:1;min-width:140px}.consent-settings{color:inherit;background:transparent;border:0;text-decoration:underline;cursor:pointer;font:inherit}
