/* V5 — socle partagé. Les règles de chaque composant sont regroupées. */
:root{--cream-1:#fff9ee;--cream-2:#faf9f3;--sand:#f2efe3;--paper:#f8f7f2;--white:#fffefa;--ink:#20372e;--muted:#56645a;--green:#193e32;--line:#d7dcd3;--accent:#e8ebdf;--serif:Georgia,'Times New Roman',serif;--max:1440px}
*{box-sizing:border-box}
[hidden]{display:none!important}
.optional-photo:empty{display:none}
.sap-section{background:#e8ecdf}
.sap-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:36px;align-items:start}
.sap-mark{border:2px solid #193e32;border-radius:16px;padding:22px;text-align:center;color:#193e32}
.sap-rate{display:block;font-size:3rem;font-weight:750;line-height:1.2}
.sap-source{font-size:.9rem}
.season-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.season-links{display:flex;flex-wrap:wrap;gap:18px;padding:20px max(22px,calc((100% - 1270px)/2))}
@media(max-width:760px){.sap-grid,.season-detail-grid{grid-template-columns:1fr}.sap-mark{max-width:220px}.season-links{gap:14px}}
.optional-project-photo{display:block;width:100%;height:auto;margin:0 auto 2.5rem;border-radius:4px}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
img{display:block;max-width:100%;width:100%;height:auto}
figure{margin:0;min-width:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(2.6rem,4.8vw,5.2rem);letter-spacing:-.045em;margin-bottom:26px}
h2{font-size:clamp(2.1rem,3.7vw,3.8rem);letter-spacing:-.035em;margin-bottom:24px}
h3{font-size:1.6rem;letter-spacing:-.02em;margin-bottom:14px}
p{margin-bottom:22px;text-wrap:pretty}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(22px,5vw,72px)}
.wrap>*{min-width:0}
.section{padding-block:80px}
.tint,.gallery-section{background:var(--accent)}
.eyebrow{display:block;font-size:.75rem;font-weight:650;letter-spacing:.12em;line-height:1.5;margin-bottom:20px}
.muted{color:var(--muted)}
.server-status:not(:empty){padding:18px;border-left:3px solid var(--green);background:var(--accent);margin:20px 0}
.server-status[data-state="error"],.form-errors{border:1px solid #a45937;border-left:3px solid #a45937;background:#fff7ed;color:#652b19;padding:18px;margin:0 0 22px}
.form-errors p{font-weight:650;margin-bottom:8px}
.form-errors ul{margin:0;padding-left:20px}
.form-errors li+li{margin-top:8px}
.form-errors a{display:inline-block;padding-block:4px;font-size:.9375rem}
.field [aria-invalid="true"]{border:2px solid #a45937}
.lead{font-size:1.15rem;line-height:1.65}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:3px solid #9b520a;outline-offset:4px}
.skip{position:absolute;left:12px;top:-100px;z-index:100;background:white;padding:12px}
.skip:focus{top:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;max-width:100%;padding:13px 22px;background:var(--green);color:white;border:1px solid var(--green);font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;text-align:center;transition:background-color .18s,color .18s}
.button:hover{background:#2b5542;color:white}
.button.light{background:transparent;color:var(--ink)}
.button.light:hover{background:var(--green);color:white}
.text-link,.hero-secondary{display:inline-flex;align-items:center;min-height:44px;padding-block:10px;font-size:.9375rem;gap:16px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}
.header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}
.brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.brand-logo{width:265px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:25px;font-size:.875rem}
.desktop-nav>a{padding-block:14px;text-decoration:none}
.desktop-nav>a:hover{text-decoration:underline}
.desktop-nav .button{padding:13px 20px}
.desktop-services{position:relative}
.desktop-services>summary{list-style:none;padding-block:14px;min-height:48px}
.desktop-services>summary::after{content:'⌄';padding-left:8px}
.desktop-services>summary::-webkit-details-marker{display:none}
.desktop-services nav{position:absolute;left:0;top:100%;width:295px;background:var(--white);border:1px solid var(--line);padding:12px;box-shadow:0 14px 30px #20372e17}
.desktop-services nav a{display:block;text-decoration:none;padding:11px;min-height:44px}
.desktop-services nav a:hover{background:var(--accent)}
.desktop-services .all-services{border-top:1px solid var(--line);margin-top:6px}
.contract-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:start}
.scope-card{padding:32px;background:var(--accent);border-top:3px solid var(--green)}
.scope-card li{margin-bottom:14px}
.scope-card ul{padding-left:20px}
.contract-steps{padding-left:25px}
.contract-steps li{padding-left:10px;margin-bottom:25px}
.contract-steps h3{font-size:1.4rem}
.season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:36px}
.season-grid article{border-top:1px solid var(--green);padding-top:22px}
.season-grid h3{font-size:1.5rem}
.season-grid p{color:var(--muted)}
.zone-intro{max-width:1100px}
.service-next{padding:30px;border-left:3px solid var(--green);background:var(--accent);margin-top:28px}
.service-next p{margin-bottom:8px}
.service-shortcuts,.client-paths{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:18px 24px}
.service-shortcuts{border-block:1px solid var(--line)}
.service-shortcuts a,.client-paths a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem}
.client-paths a{border-bottom:1px solid var(--green)}
.project-qualification{margin:16px 0 24px;padding:20px;border:1px solid var(--line)}
.project-qualification legend{font-weight:600;padding:0 8px}
.conditional-status{font-size:.875rem;color:var(--muted)}
@media(max-width:1050px){.desktop-nav{gap:16px;font-size:.8125rem}.brand-logo{width:235px}.contract-layout{gap:30px}.season-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.contract-layout,.season-grid{grid-template-columns:1fr;gap:25px}.scope-card{padding:24px}.project-qualification{padding:15px}.service-next{padding:22px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}}
.mobile-menu{display:none}
.header nav a[aria-current=page],.desktop-services[data-current=true]>summary{text-decoration:underline;text-decoration-thickness:2px}
.mobile-menu nav a[aria-current=page],.desktop-services nav a[aria-current=page]{background:var(--accent)}
.breadcrumb{font-size:.8125rem;color:var(--muted);padding-top:25px}
.breadcrumb span{margin-inline:8px}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding-block:32px 65px}
.detail-hero p{color:var(--muted)}
.detail-hero figure img,.detail-hero>div>img{aspect-ratio:1;object-fit:cover;max-height:530px}
.detail-hero figcaption,.company-work figcaption,.overview-hero figcaption{font-size:.8125rem;color:var(--muted);padding-top:10px;line-height:1.45}
.detail-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.detail-body>div:first-child{align-self:start}
.feature{border-top:1px solid #b9c4b4;padding-block:24px}
.feature:first-child{padding-top:0;border-top:0}
.feature:last-child{padding-bottom:0}
.feature p{margin:0;color:var(--muted)}
.faq{max-width:950px}
.faq details{border-bottom:1px solid var(--line);padding-block:12px}
.faq summary{font-size:1rem;font-weight:550;padding:14px 34px 14px 0;min-height:48px;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:3px;font-weight:400;font-size:1.4rem;top:7px}
.faq details[open]>summary::after{content:'−'}
.faq details p{padding-right:28px;color:var(--muted);margin:10px 0 20px}
.request-note{max-width:1000px}
.related-section{border-top:1px solid var(--line);padding-block:55px}
.related-section h2{font-size:2rem}
.related-section p{color:var(--muted)}
.related-links{display:flex;flex-wrap:wrap;gap:12px 25px}
.related-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem}
.contact-band{background:var(--green);color:var(--paper);padding-block:50px}
.contact-band>.wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.contact-band h2{margin-bottom:0}
.contact-band .eyebrow{margin-bottom:12px}
.contact-band .button{background:var(--paper);color:var(--green);border-color:var(--paper);flex-shrink:0}
.plain-title{padding-block:55px 20px;max-width:var(--max)}
.plain-title p{max-width:660px;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.filter{border:1px solid #839480;background:transparent;color:var(--green);font-size:.875rem;padding:10px 18px;min-height:44px}
.filter[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.filter:disabled{cursor:default}
.gallery-status{font-size:.875rem;color:var(--muted);margin-bottom:30px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px;align-items:start}
.gallery-visual{position:relative;overflow:hidden;background:#dbe0d5}
.gallery img{aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding-block:18px 0}
.gallery h2{font-size:1.75rem;margin-bottom:8px}
.gallery p{font-size:.9375rem;color:var(--muted);margin-bottom:4px}
.gallery-actions,.reference-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.gallery-actions .project-quote{font-weight:600}
.project-reference{margin:0 0 20px;padding:18px 20px;background:var(--accent);border-left:3px solid var(--green);font-size:.9375rem}
.project-reference p{margin-bottom:8px}
.reference-actions button{background:transparent;border:0;color:inherit;padding-inline:0;text-decoration:underline}
.reference-feedback:empty{display:none}
.photo-open{position:absolute;bottom:12px;right:12px;min-height:44px;padding:10px 15px;border:1px solid var(--paper);background:var(--paper);color:var(--ink);font-size:.8125rem}
.photo-dialog{max-width:min(1100px,96vw);max-height:94dvh;padding:18px;background:var(--paper);border:0;color:var(--ink)}
.photo-dialog::backdrop{background:#10271ee6}
.photo-dialog img{width:auto;max-height:58dvh;max-width:100%;object-fit:contain;margin:auto}
.photo-dialog .dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}
.photo-dialog h2{font-size:1.4rem;margin:0}
.photo-dialog button{padding:9px 16px;min-height:44px;color:var(--ink);background:transparent;border:1px solid var(--line)}
.photo-dialog>button{margin-bottom:14px}
.photo-dialog>p{margin:15px 0 0;font-size:.9rem}
.dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:18px}
.dialog-actions a{min-height:44px;display:inline-flex;align-items:center}
.photo-prep{margin-top:32px;border-block:1px solid var(--line);padding-block:16px}
.photo-prep summary{cursor:pointer;min-height:44px;font-weight:600;align-content:center}
.photo-prep p,.photo-prep li{font-size:.95rem;line-height:1.65}
.photo-prep ol{padding-left:1.4em}.photo-prep li+li{margin-top:10px}
.home-project-grid .text-link{display:inline-flex;align-items:center;min-height:48px;margin-top:10px}
@media(max-width:760px){.photo-dialog .dialog-bar{align-items:flex-start;gap:12px}.photo-dialog .dialog-bar button{flex-shrink:0}.dialog-actions{display:grid;grid-template-columns:1fr}.photo-prep{margin-top:20px}}
.overview-hero{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.overview-hero img{aspect-ratio:1;object-fit:cover}
.editorial-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.editorial-columns h2{font-size:2rem}
.editorial-columns p{color:var(--muted)}
.company-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.company-work-grid img{aspect-ratio:4/3;object-fit:cover}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px 7vw;padding-block:55px 70px}
.contact-info,.contact-form{min-width:0}
.phone-big{display:block;font-size:clamp(1.65rem,2.5vw,2.3rem);font-weight:550;text-decoration:none;white-space:nowrap;margin:24px 0 6px}
.mail-link{overflow-wrap:anywhere}
.contact-info>p:last-child{margin-top:22px}
.contact-form{padding:clamp(24px,3vw,44px);background:var(--white);border:1px solid var(--line)}
.contact-form h2{font-size:2rem}
.form-intro{font-size:.9375rem;color:var(--muted)}
.contact-form fieldset{padding:0;margin:0;min-width:0;border:0}
.contact-form fieldset:disabled{opacity:.65}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:21px;min-width:0}
.field label{font-size:.875rem;font-weight:550}
.required-label{font-weight:400;font-size:.75rem;color:var(--muted)}
.field input,.field select,.field textarea,.email-result textarea{border:1px solid #71816c;border-radius:0;padding:12px;width:100%;min-width:0;background:white;color:var(--ink);font-size:16px;line-height:1.5}
.field input,.field select{min-height:48px}
.field textarea{min-height:145px;resize:vertical}
.field-hint,.small-note,.copy-status{font-size:.8125rem;line-height:1.6;color:var(--muted)}
.field .field-hint{margin:0}
.message-count{font-size:.75rem;text-align:right;color:var(--muted)}
.contact-form #reply-hint{margin:0 0 15px}
#contact-privacy{margin:18px 0 0}
.contact-form noscript p{padding:14px;border:1px solid var(--line)}
.email-result{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}
.email-result h3{font-size:1.6rem}
.email-result textarea{min-height:240px;resize:vertical;margin-block:8px 12px}
.email-actions{display:flex;gap:10px;flex-wrap:wrap}
.copy-status{margin-top:16px}
#download-message{border:0;background:transparent;color:var(--ink);text-decoration:underline;cursor:pointer}
.contact-addresses{grid-column:1/-1;border-top:1px solid var(--line);padding-top:30px}
.contact-locations{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-locations h2{font:600 .875rem/1.5 system-ui;margin-bottom:12px;letter-spacing:0}
.contact-locations address{font-style:normal}
.contact-locations p{font-size:.875rem}
.legal-page{max-width:1040px;padding-block:50px 80px;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(2.3rem,4.5vw,4rem)}
.legal-page h2{font-size:1.8rem;margin-top:35px}
.draft-notice,.legal-notice{padding:18px 22px;border:1px solid #9a793f;background:#f4ead4;margin-bottom:30px}
.footer{background:#153629;color:#eef1e6;padding-block:60px 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:55px}
.footer .brand{background:var(--paper);padding:14px 18px;margin-bottom:22px;max-width:100%}
.footer .brand-logo{width:230px}
.footer h3{font:650 .875rem/1.5 system-ui;margin-bottom:14px;letter-spacing:.025em}
.footer p,.footer a,.footer-place{font-size:.875rem}
.footer-grid>div>a:not(.brand){display:block;line-height:1.5;padding-block:8px;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer-place{margin-block:18px}
.footer-place strong,.footer-place span{display:block}
.footer-place strong{font-size:.8125rem;margin-bottom:6px}
.footer-bottom{border-top:1px solid #587060;padding-top:22px;margin-top:35px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;flex-wrap:wrap}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom a{font-size:.75rem}
.footer :focus-visible,.contact-band :focus-visible,.home-family :focus-visible{outline-color:#f4da9f}
.bottom-bar{display:none}
@media(max-width:1100px){.brand-logo{width:225px}.desktop-nav{gap:18px}.contact-layout{gap:40px}.footer-grid{gap:30px}}
@media(max-width:900px){
 .desktop-nav{display:none}.mobile-menu{display:block;position:relative}
 .mobile-menu summary{list-style:none;border:1px solid var(--line);padding:10px 14px;min-height:44px;font-size:.875rem}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:290px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 125px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);padding:12px;box-shadow:0 15px 30px #17372225;overscroll-behavior:contain}
 .mobile-menu nav a{display:block;padding:11px 12px;min-height:44px;text-decoration:none;font-size:.9375rem}
 .editorial-columns{grid-template-columns:1fr;gap:35px}.editorial-columns article+article{border-top:1px solid #b9c4b4;padding-top:30px}
}
@media(max-width:760px){
 html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom))}
 h1{font-size:clamp(2.35rem,8.7vw,3.4rem)}h2{font-size:clamp(2rem,7.3vw,3rem)}
 .section{padding-block:48px}.header-inner{min-height:80px;gap:16px}
 .header .brand-logo{display:none}
 .breadcrumb{padding-top:20px}.detail-hero,.detail-body,.overview-hero,.company-work-grid{grid-template-columns:1fr;gap:28px}
 .detail-hero{padding-block:24px 40px}.detail-hero h1{margin-bottom:20px}
 .detail-hero figure img,.detail-hero>div>img,.overview-hero img{aspect-ratio:3/2;max-height:380px}
 .detail-body h2{margin-bottom:0}.feature h3{font-size:1.5rem}
 .contact-band>.wrap{flex-direction:column;align-items:flex-start;gap:22px}.contact-band{padding-block:38px}
 .related-section{padding-block:40px}.related-section h2{font-size:1.8rem}
 .plain-title{padding-top:30px}.gallery{grid-template-columns:1fr;gap:36px}
 .gallery h2{font-size:1.65rem}.filters{gap:8px}.filter{padding-inline:13px}
 .contact-layout{grid-template-columns:1fr;gap:24px;padding-top:28px}.contact-info h1{font-size:2.5rem;margin-bottom:18px}
 .contact-info .phone-big{margin-top:18px}.contact-info>p:last-child{margin:14px 0 0}
 .contact-form{padding:25px 20px}.contact-form h2{font-size:1.7rem}.contact-addresses{padding-top:25px;margin-top:15px}
 .contact-locations{grid-template-columns:1fr;gap:24px}.form-grid{gap:14px}
 .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}
 .footer-grid>div:first-child{grid-column:1/-1}.footer-grid a{min-height:44px}
 .footer-bottom{display:block}.footer-bottom nav{margin-block:15px}
 .bottom-bar{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;position:fixed;z-index:15;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
 .bottom-bar .button{min-height:44px;padding:10px 14px}
}
@media(max-width:420px){.form-grid{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero-actions{gap:8px 16px}.header-inner{padding-inline:18px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.filter{border:1px solid ButtonText}:focus-visible,.footer :focus-visible,.contact-band :focus-visible,.home-family :focus-visible{outline-color:Highlight}}
.specialist-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}
.specialist-method{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.specialist-guide{padding:36px;background:#e8ecdf;border-top:3px solid var(--green)}
.specialist-guide h2{font-size:2.1rem;margin-top:24px}
.specialist-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0}
.specialist-links a{min-height:44px;display:inline-flex;align-items:center}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 60px}
.local-opening{max-width:1160px}.local-opening>p{max-width:820px}
.pool-directions{padding-block:24px 34px;border-block:1px solid var(--line)}
.pool-directions h2{font-size:1.45rem;margin-bottom:16px}
.pool-directions ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;padding:0;margin:0}
.pool-directions li{border-bottom:1px solid var(--line);min-width:0}
.pool-directions a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 0;color:var(--green);text-decoration:none;overflow-wrap:anywhere}
.pool-directions a:hover{text-decoration:underline}
.material-comparison{display:block}
.material-comparison article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:30px;padding-block:24px;border-bottom:1px solid var(--line)}
.material-comparison article h3,.material-comparison article p{margin:0}
@media(max-width:760px){.pool-directions ul,.material-comparison article{grid-template-columns:1fr}.material-comparison article{gap:10px}}
@media(max-width:1024px){.specialist-choices{gap:24px}.specialist-method{gap:32px}}
@media(max-width:760px){.specialist-choices,.specialist-method,.profile-grid{grid-template-columns:1fr;gap:24px}.specialist-guide{padding:26px}.specialist-links{gap:8px 20px}}
/* V6.12: concise seasonal navigation, no fixed overlay or additional script. */
.seasonal-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin-block:0 32px}
.seasonal-shortcuts a{display:inline-flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid currentColor;border-radius:4px;text-decoration:underline;text-underline-offset:4px}
.seasonal-steps{counter-reset:season}
.seasonal-steps article{counter-increment:season}
.seasonal-steps article::before{content:"0" counter(season);display:block;font-size:1rem;font-weight:700;margin-bottom:12px}
[id^="hivernage-"],[id^="remise-en-route-"]{scroll-margin-top:120px}
@media(max-width:760px){.seasonal-shortcuts{display:grid;grid-template-columns:1fr}.seasonal-shortcuts a{width:100%}}

/* V6.17: printed pages should not retain mobile CTAs or interactive overlays. */
@media print{
  html{scroll-behavior:auto}
  body{background:#fff;color:#000}
  .bottom-bar,.desktop-services,.mobile-menu,.photo-open,.filter-controls{display:none!important}
  .section{padding-block:24px}
  .wrap{max-width:none}
  a{text-decoration:underline}
  .header,.footer{position:static;box-shadow:none}
  img{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
}


/* V6.18 — small-screen clarity, coherent visual hierarchy and accessible navigation.
   Keep the established logo, brand palette, typography, and editorial copy. */
::selection{background:#d1dfc1;color:#17372b}
.breadcrumb{font-size:.82rem;line-height:1.55;color:#526356;padding-top:23px;padding-bottom:12px}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;list-style:none;padding:0;margin:0}
.breadcrumb li{display:inline-flex;align-items:center;gap:9px;min-width:0}
.breadcrumb li+li::before{content:"/";color:#8a998a}
.breadcrumb a{display:inline-block;min-height:30px;padding-block:5px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.breadcrumb [aria-current="page"]{font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.crumb-wrap{padding-top:0}
.crumb-wrap .breadcrumb{padding-bottom:0}
.desktop-services[open]>summary,.mobile-menu[open]>summary{color:var(--green);font-weight:700}
.desktop-services>summary:focus-visible,.mobile-menu>summary:focus-visible{outline-offset:5px}
.desktop-services nav{border-radius:8px;overflow:auto;max-height:min(75dvh,650px);box-shadow:0 20px 48px #17372222}
.desktop-services nav a{border-radius:4px;transition:background-color .18s ease,color .18s ease}
.desktop-services nav a:focus-visible,.mobile-menu nav a:focus-visible{outline-offset:-4px;background:var(--accent)}
.mobile-menu nav a[aria-current="page"]{font-weight:700;border-left:3px solid var(--green)}
.button{border-radius:4px;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.button:hover{box-shadow:0 5px 13px #17372216}
.button:active{transform:translateY(1px)}
.contact-form{box-shadow:0 18px 46px #1737220d;border-radius:8px}
.field input,.field select,.field textarea,.email-result textarea{border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#385747}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.email-result textarea:focus-visible{outline:2px solid #9b520a;outline-offset:2px}
.faq details[open]{background:#f1f3ea}
.faq details[open] summary,.faq details[open] p{padding-left:14px}
.gallery figure{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 7px 25px #193e320a;transition:box-shadow .2s ease}
.gallery figure:focus-within,.gallery figure:hover{box-shadow:0 15px 35px #193e3218}
.gallery figcaption{padding:20px 22px 24px}
.gallery .gallery-visual img{transition:transform .35s ease}
@media (hover:hover){.gallery figure:hover .gallery-visual img{transform:scale(1.025)}}
.gallery .filter{border-radius:4px}
.gallery .filter:hover:not(:disabled){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.gallery .filter[aria-pressed="true"]{box-shadow:inset 0 0 0 1px #fff4}
.photo-open{border-radius:4px;font-weight:650}
.contact-band .button:hover{background:var(--accent);border-color:var(--accent);color:var(--green)}
@media(max-width:900px){
  .mobile-menu nav{border-radius:8px;box-shadow:0 18px 42px #17372233}
  .mobile-menu nav a{border-radius:4px}
  .mobile-menu nav a:hover{background:var(--accent)}
}
@media(max-width:760px){
  .breadcrumb{padding-top:13px;padding-bottom:6px;font-size:.78rem}
  .breadcrumb ol{gap:3px 7px}
  .breadcrumb li{gap:7px}
  .gallery{gap:20px}
  .gallery figcaption{padding:17px 18px 20px}
  .contact-form{border-radius:6px;box-shadow:none}
  .contact-layout{padding-top:30px}
  .contact-band>.wrap{gap:22px}
  .button:active{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .button,.gallery figure,.gallery .gallery-visual img,.desktop-services nav a,.field input,.field select,.field textarea{transition:none!important;transform:none!important}
  html{scroll-behavior:auto}
}
@media print{
  .breadcrumb{padding-block:12px}
  .gallery figure{box-shadow:none;break-inside:avoid}
  .contact-form{box-shadow:none}
}

/* V6.18 — photo dialogue controls, with native Escape and focus return. */
.photo-dialog .dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.photo-dialog .dialog-navigation[hidden]{display:none}
.photo-dialog .dialog-navigation button{min-height:44px;border-radius:4px}
.dialog-count{font-size:.85rem;font-weight:650;color:var(--muted);text-align:center}
@media(max-width:420px){
  .photo-dialog .dialog-navigation{gap:5px}
  .photo-dialog .dialog-navigation button{padding:8px;font-size:.78rem}
  .dialog-count{font-size:.74rem}
}

/* Accueil V5 : une seule feuille de composition, sans les surcharges V2–V4. */
.landscape-hero{display:grid;grid-template-columns:44% 56%;max-width:1680px;margin:auto;min-height:580px}
.landscape-content{padding:72px max(30px,calc((100vw - 1270px)/2)) 52px max(30px,calc((100vw - 1270px)/2));padding-right:34px;align-self:center}
.landscape-content h1{font-size:clamp(2.9rem,4.1vw,4.75rem);line-height:1.02;letter-spacing:-.05em;margin:24px 0}
.landscape-content h1 em{color:#5d715c}
.landscape-content>p{max-width:430px;margin-block:22px;line-height:1.7}
.landscape-content .hero-location{font-size:.8rem;margin-top:24px;color:var(--muted)}
.hero-secondary{font-size:.85rem;font-weight:650;text-underline-offset:6px}
.landscape-frame{position:relative;margin:0;min-width:0}
.landscape-photo{width:100%;height:100%;min-height:580px;object-fit:cover;object-position:45% center}
.landscape-frame figcaption{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:10px 16px;font-size:.76rem;letter-spacing:.05em}
.home-service-nav{border-bottom:1px solid var(--line)}
.home-service-nav>.wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-service-nav a{padding:24px 0;text-decoration:none;font-size:.85rem;font-weight:650;display:flex;gap:10px;align-items:center}
.home-section{padding:88px 0}
.home-heading{display:flex;justify-content:space-between;align-items:end;gap:44px;margin-bottom:38px}
.home-heading h2{margin-bottom:0}
.home-heading>p{max-width:410px;margin:0;color:var(--muted);line-height:1.75}
.home-featured-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}
.home-service{text-decoration:none;min-width:0}
.universe-pool{margin-top:56px}
.universe-care{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:#e8ecdf}
.universe-care .home-service-copy{padding:28px 36px 28px 0}
.universe-care .home-service-image{height:100%;min-height:260px;aspect-ratio:auto}
.universe-trees{grid-column:1/-1;display:grid;grid-template-columns:42% minmax(0,1fr);gap:36px;align-items:center;background:#e4e9dc;padding:28px}
.universe-trees .home-service-image{aspect-ratio:1.5}
.universe-trees .home-service-copy{padding:12px}
.home-care{background:#f0f1e9;border-block:1px solid var(--line)}
.home-service-image{overflow:hidden;aspect-ratio:1.55;background:var(--line)}
.home-service-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.home-service:hover img{transform:scale(1.025)}
.home-service-copy{padding:22px 0 0}
.home-service h3,.home-practical-services h3{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1.65rem;margin:10px 0 12px}
.home-service h3>span,.home-practical-services h3>span{font:400 1.2rem system-ui}
.home-service p,.home-practical-services p{margin:0;color:var(--muted);line-height:1.7}
.home-practical-services{display:grid;grid-template-columns:1fr;gap:40px;margin-top:42px}
.home-practical-services>a{padding-top:25px;border-top:1px solid var(--line);text-decoration:none}
.home-practical-services h3{font-size:1.4rem}
.home-projects{background:#eeefe8}
.home-project-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;align-items:start}
.home-project-grid figure{margin:0;min-width:0}
.home-project-grid figure:nth-child(2){padding-top:64px}
.home-project-grid img{width:100%;aspect-ratio:1.35;object-fit:cover}
.home-project-grid figure:nth-child(2) img{aspect-ratio:1}
.home-project-grid figcaption{padding:20px 0 0}
.home-project-grid h3{font-size:1.5rem;margin:0 0 8px}
.home-project-grid p{margin:0;color:var(--muted);font-size:.92rem}
.home-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.home-care-grid>div>p{max-width:440px;color:var(--muted)}
.care-links article{padding:22px 0;border-top:1px solid var(--line)}
.care-links article:first-child{padding-top:0;border-top:0}
.care-links h3{margin-bottom:12px}
.care-links p{margin-bottom:8px;color:var(--muted)}
.care-links a{display:inline-flex;min-height:44px;align-items:center}
.home-family{background:var(--green);color:var(--paper)}
.home-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.home-family .eyebrow,.home-family h2 em{color:#c6d0b5}
.home-family p{color:#e0e5d9;line-height:1.75}
.home-family .family-lead{font:1.6rem/1.35 Georgia,serif;color:var(--paper);margin-top:0}
.home-family .text-link{color:var(--paper)}
.home-equipment{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:0}
.home-equipment li{padding:12px 0;border-top:1px solid #527162;font-size:.9rem}
.home-local-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.home-local-grid>div>p{max-width:490px;line-height:1.75;color:var(--muted)}
.home-process article{display:flex;gap:24px;border-top:1px solid var(--line);padding:20px 0}
.home-process article>span{font-size:.8rem;color:var(--muted);padding-top:4px}
.home-process h3{margin:0 0 9px;font-size:1.4rem}
.home-process p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.home-final{padding:74px 0;background:#e4e9dc;text-align:center}
.home-final h2{font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.06;margin:22px 0 30px}
.home-final .hero-actions{justify-content:center}
@media(min-width:1680px){.landscape-content{padding-left:60px;padding-right:60px}}
@media(max-width:1050px){.landscape-hero{grid-template-columns:46% 54%;min-height:530px}.landscape-content{padding:42px 28px}.landscape-content h1{font-size:3.1rem}.landscape-photo{min-height:530px}.home-service-nav>.wrap{gap:14px}.home-service-nav a{font-size:.78rem}.home-family-grid,.home-local-grid{gap:42px}}
@media(max-width:760px){
 .landscape-hero{display:flex;flex-direction:column;min-height:0}
 .landscape-content{padding:23px 22px 22px;width:100%;align-self:auto}
 .landscape-content .eyebrow{font-size:.75rem;letter-spacing:.13em}
 .landscape-content h1{font-size:clamp(2.3rem,8.8vw,3.5rem);margin:17px 0;line-height:1.02}
 .landscape-content h1 br:first-child{display:none}
 .landscape-content>p{font-size:.95rem;line-height:1.55;margin:16px 0;max-width:520px}
 .landscape-content .hero-location{font-size:.75rem;margin:16px 0 0}
 .landscape-content .hero-actions{gap:12px 18px}
 .landscape-content .button{padding:14px 13px;gap:8px;font-size:.8125rem}
 .hero-secondary{font-size:.78rem}
 .landscape-frame{width:100%;height:290px;min-height:0}
 .landscape-photo{height:100%;min-height:0;object-position:50% 55%}
 .landscape-frame figcaption{bottom:15px;left:22px;font-size:.75rem;padding:8px 12px}
 .home-service-nav>.wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-block:10px}
 .home-service-nav a{font-size:.8rem;padding:10px 0;min-height:44px;gap:6px}
 .home-section{padding:46px 0}
 .home-heading{display:block;margin-bottom:26px}
 .home-heading>p{margin-top:18px;font-size:.95rem;line-height:1.6}
 .home-heading>.text-link{display:inline-block;margin-top:20px}
 .home-featured-services{gap:30px;grid-template-columns:1fr}
 .universe-pool{margin-top:0}
 .universe-care{grid-template-columns:1fr;gap:0}
 .universe-care .home-service-image{min-height:0;aspect-ratio:1.7}
 .universe-care .home-service-copy{padding:24px}
 .universe-trees{grid-template-columns:1fr;gap:18px;padding:20px}
 .universe-trees .home-service-image{aspect-ratio:1.7}
 .universe-trees .home-service-copy{padding:0}
 .universe-trees h3{font-size:1.6rem}
 .home-service-image{aspect-ratio:1.7}
 .home-service-copy{padding-top:17px}
 .home-service h3{font-size:1.5rem}
 .home-service p,.home-practical-services p{font-size:.93rem;line-height:1.6}
 .home-practical-services{grid-template-columns:1fr;gap:22px;margin-top:30px}
 .home-practical-services>a{padding-top:20px}
 .home-practical-services h3{font-size:1.4rem;margin:8px 0}
 .home-project-grid{grid-template-columns:1fr;gap:28px}
 .home-project-grid figure:nth-child(2){padding:0}
 .home-project-grid img,.home-project-grid figure:nth-child(2) img{aspect-ratio:1.6}
 .home-project-grid figcaption{padding-top:14px}
 .home-project-grid h3{font-size:1.35rem}
 .home-family-grid,.home-local-grid,.home-care-grid{grid-template-columns:1fr;gap:30px}
 .home-family .family-lead{font-size:1.4rem}
 .home-family p{font-size:.95rem}
 .home-family h2{margin-bottom:18px}
 .home-local-grid>div>p{font-size:.95rem}
 .home-process article{padding:16px 0;gap:20px}
 .home-final{padding:44px 0}
 .home-final h2{font-size:2.6rem}
}
@media(prefers-reduced-motion:reduce){.home-service:hover img{transform:none}}



/* V6.20 — site statique, améliorations de lisibilité et de conversion */
.sop-steps{padding:clamp(56px,7vw,108px) 0;background:#193e32;color:var(--cream-2)}
.sop-steps-intro{max-width:780px}
.sop-steps h2{color:var(--cream-2);font-size:clamp(2.1rem,4vw,4rem)}
.sop-steps h2 em{color:#c5dcba}
.sop-steps-intro>p{max-width:660px;color:#e6ede6}
.sop-steps-list{list-style:none;padding:0;margin:clamp(28px,4vw,60px) 0;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.sop-steps-list li{padding:clamp(24px,3vw,36px);border:1px solid rgba(255,255,255,.24);border-radius:4px;background:rgba(255,255,255,.05)}
.sop-steps-list li>span{display:block;font:700 1rem/1.3 system-ui,sans-serif;letter-spacing:.14em;color:#dce7c9;margin-bottom:38px}
.sop-steps-list h3{color:#fff;font-size:clamp(1.35rem,2vw,1.8rem)}
.sop-steps-list p{color:#e6ede6;margin:0}
.sop-steps .button{background:#fbf8ed;color:#20372e;border-color:#fbf8ed}
.sop-related{padding:clamp(48px,6vw,78px) 0;background:#e9eee4}
.sop-related h2{font-size:clamp(2rem,3vw,3rem);max-width:850px}
.sop-related .wrap>p{max-width:700px}
.sop-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sop-related-links a{display:flex;align-items:center;justify-content:space-between;min-height:85px;padding:18px 20px;background:#fffefa;border:1px solid #d6dfd4;text-decoration:none;font-weight:650;transition:transform .2s ease,border-color .2s ease}
.sop-related-links a:hover{transform:translateY(-3px);border-color:#406c52}
.sop-related-links a:focus-visible{outline:3px solid #9b520a;outline-offset:4px}
.sop-steps a:focus-visible{outline:3px solid #f0a460;outline-offset:4px}
.sop-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sop-delivery{max-width:820px;margin:22px 0 28px;padding:20px 24px;border-left:4px solid #1e6347;background:#e9f3e8;color:#20372e;border-radius:3px}
.sop-delivery[data-state="error"]{border-color:#a45937;background:#fff6e9;color:#652b19}
.sop-delivery a{font-weight:700}
.sop-delivery p:last-child{margin-bottom:0}
.sop-legal-alert{padding:22px;background:#fff4dc;border-left:4px solid #a45937;margin:20px 0 30px;line-height:1.65}
@media(max-width:800px){.sop-steps-list{grid-template-columns:1fr}.sop-steps-list li>span{margin-bottom:14px}.sop-related-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sop-related-links a{transition:none}.sop-related-links a:hover{transform:none}}


/* V6.21 — Guide pratique, hiérarchie et navigation : pas de ressource tierce. */
.guide-main{padding-bottom:4rem;background:var(--cream,#f7f6f0)}
.guide-intro{padding-block:clamp(2.5rem,6vw,5.5rem) clamp(2.5rem,4vw,4rem);max-width:1100px}
.guide-intro h1{font-size:clamp(2.25rem,5.4vw,4.75rem);line-height:1.08;max-width:18ch;margin:.6rem 0 1.2rem}
.guide-intro .lead{font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.7;max-width:76ch}
.guide-intro-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.guide-section{padding-block:clamp(2rem,4vw,3.5rem);border-top:1px solid rgba(32,50,35,.15)}
.guide-section h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:.45rem 0 1.7rem;line-height:1.15}
.guide-section>p{max-width:78ch;line-height:1.75}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.guide-grid article,.guide-topics article{border:1px solid #dbe3d8;border-radius:1rem;background:white;padding:clamp(1.2rem,2.6vw,2rem)}
.guide-grid h3,.guide-topics h3{font-size:1.2rem;line-height:1.3;margin:.75rem 0}
.guide-grid p,.guide-topics p{line-height:1.65;margin:0}
.guide-step{font-size:.85rem;font-weight:750;letter-spacing:.14em;color:#53745d}
.guide-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.guide-topics article a{display:inline-block;margin-top:1.25rem;font-weight:700;text-underline-offset:.24em}
.guide-faq{max-width:920px}
.guide-faq details{background:#fff;border:1px solid #dbe3d8;border-radius:.85rem;margin-bottom:.75rem;padding:1rem 1.3rem}
.guide-faq summary{cursor:pointer;font-weight:750;line-height:1.4;min-height:2rem}
.guide-faq details p{line-height:1.65;margin:.8rem 0 0}
.guide-cta,.sop-guide-banner,.sop-mini-guide{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding-block:clamp(1.6rem,4vw,3rem)}
.guide-cta{border-top:1px solid #dbe3d8}
.guide-cta h2,.sop-guide-banner h2,.sop-mini-guide h2{font-size:clamp(1.35rem,2.6vw,2rem);max-width:25ch;margin:.4rem 0}
.guide-cta p,.sop-guide-banner p,.sop-mini-guide p{max-width:64ch;line-height:1.65}
.sop-guide-banner{background:#e8eee8;padding:clamp(1.4rem,3vw,3rem);border-radius:1.2rem;margin-block:2rem}
.sop-mini-guide{margin-block:2rem;padding:clamp(1.4rem,3vw,2.7rem);background:#edf2ed;border:1px solid #d3e2d5;border-radius:1rem}
.guide-cta>a,.sop-guide-banner>a,.sop-mini-guide>a{flex-shrink:0}
@media(max-width:800px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-cta,.sop-guide-banner,.sop-mini-guide{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.guide-grid,.guide-topics{grid-template-columns:1fr}.guide-intro{padding-top:2rem}.guide-cta>a,.sop-guide-banner>a,.sop-mini-guide>a{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.guide-main *{scroll-behavior:auto}}

/* V6.22 — FAQ métiers accessible et navigation active */
.sop-home-faq{padding-block:clamp(2.5rem,5vw,5rem)}
.sop-faq-heading{max-width:800px;margin-bottom:1.75rem}
.sop-faq-heading h2{font-size:clamp(1.8rem,3.7vw,3rem);line-height:1.12;margin:.7rem 0 1rem}
.sop-faq-heading p{line-height:1.7;max-width:70ch}
.sop-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.sop-faq-grid details{border:1px solid #d9e4d7;border-radius:1rem;background:#fff;padding:1.2rem 1.4rem}
.sop-faq-grid summary{font-weight:750;cursor:pointer;line-height:1.45;list-style-position:outside}
.sop-faq-grid details[open]{border-color:#789980;box-shadow:0 9px 28px rgba(32,50,35,.07)}
.sop-faq-grid details p{margin:1rem 0 0;line-height:1.7}
.sop-faq-grid details a{font-weight:650;text-underline-offset:.2em}
.sop-faq-bottom{margin-top:1.5rem}
.header nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
.sop-home-faq :focus-visible,.header nav a:focus-visible{outline:3px solid #a0601e;outline-offset:4px;border-radius:3px}
@media(max-width:760px){.sop-faq-grid{grid-template-columns:1fr}.sop-faq-grid details{padding:1.1rem 1.3rem}}
@media(prefers-reduced-motion:reduce){.sop-faq-grid details,.sop-faq-grid details *{scroll-behavior:auto}}

/* V6.23 : preserve system focus colors after component overrides. */
@media(forced-colors:active){:focus-visible{outline-color:Highlight!important}}


/* V6.31 CONCEPT, déclinaison originale des principes éditoriaux de présentation métier.
   La source utilisée est V6.25 : à fusionner avec V6.30 avant toute production. */
.desktop-services nav .nav-overview,.mobile-menu nav .nav-overview {
  color:var(--green);font-weight:750;background:#e2e9da;border-left:3px solid #9c7951;
}
.sop-trades{--mt-forest:#183a30;--mt-ink:#213c32;--mt-paper:#f8f7f2;--mt-stone:#eae8de;--mt-gold:#7d5d3f;color:var(--mt-ink);overflow:clip}
.sop-trades a{text-decoration-thickness:1px;text-underline-offset:.32em}
.sop-trades .mt-eyebrow{display:block;font-weight:750;font-size:.7rem;letter-spacing:.19em;line-height:1.6;text-transform:uppercase}
.sop-trades .mt-breadcrumb{padding-top:20px;padding-bottom:18px;font-size:.78rem;color:#59695f}
.sop-trades .mt-breadcrumb ol{display:flex;align-items:center;gap:10px;list-style:none;padding:0;margin:0}
.sop-trades .mt-breadcrumb li+li:before{content:'/';padding-right:10px;opacity:.6}
.sop-trades .mt-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:min(770px,78vh);background:var(--mt-forest);color:var(--cream-1)}
.sop-trades .mt-hero-type{padding:clamp(38px,6.2vw,110px) clamp(22px,6vw,100px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.sop-trades .mt-hero-type .mt-eyebrow{color:#d8c4a2;margin-bottom:30px}
.sop-trades .mt-hero h1{font-size:clamp(3rem,5.2vw,6.4rem);line-height:1.01;letter-spacing:-.052em;max-width:10.5ch;margin:0 0 38px}
.sop-trades .mt-hero h1 em{color:#d7c1a3;font-weight:400;font-style:italic}
.sop-trades .mt-hero-type>p{font-size:clamp(1.07rem,1.4vw,1.3rem);line-height:1.64;max-width:47ch;margin:0 0 35px;color:#e2e7db}
.sop-trades .mt-hero-cta{display:inline-flex;min-height:48px;gap:28px;align-items:center;border-bottom:1px solid #c8d5c4;font-weight:650;text-decoration:none}
.sop-trades .mt-hero-cta:hover{color:#d7c1a3}
.sop-trades .mt-hero-visual{position:relative;min-height:440px;overflow:hidden}
.sop-trades .mt-hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.sop-trades .mt-hero-visual figcaption{position:absolute;bottom:20px;right:20px;max-width:380px;background:#183a30d9;color:#fff;padding:9px 13px;font-size:.7rem;letter-spacing:.015em}
.sop-trades .mt-intro{padding-block:clamp(65px,9vw,138px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(48px,9vw,150px)}
.sop-trades .mt-intro h2{font-size:clamp(2.6rem,4.7vw,5.4rem);letter-spacing:-.045em;line-height:1.06;max-width:14ch;margin:14px 0 24px}
.sop-trades .mt-intro-lead>p{max-width:56ch;font-size:1.07rem;line-height:1.84;color:#4a5d52}
.sop-trades .mt-jumps{display:flex;flex-direction:column;border-top:1px solid #bec8ba;align-self:center}
.sop-trades .mt-jumps a{min-height:69px;display:grid;grid-template-columns:44px 1fr 22px;gap:18px;align-items:center;border-bottom:1px solid #bec8ba;text-decoration:none;font-size:clamp(.95rem,1.3vw,1.18rem);font-weight:650}
.sop-trades .mt-jumps a:hover{background:#e9ede3;padding-inline:8px}
.sop-trades .mt-jumps a span:last-child{justify-self:end}
.sop-trades .mt-jump-n{font:400 1.3rem var(--serif);color:#76644e}
.sop-trades .mt-chapter{scroll-margin-top:25px;border-top:1px solid #d6dace}
.sop-trades .mt-chapter:nth-child(2n){background:#f1f1e9}
.sop-trades .mt-chapter-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:820px;max-width:1920px;margin-inline:auto}
.sop-trades .mt-chapter.mt-flipped .mt-media{order:2}
.sop-trades .mt-media{position:relative;background:#d6dbcc;min-height:700px;overflow:hidden}
.sop-trades .mt-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sop-trades .mt-media-index{position:absolute;top:25px;left:clamp(20px,4.5vw,80px);font:400 clamp(5rem,11vw,12rem)/1 var(--serif);color:#fff;opacity:.8;text-shadow:0 4px 28px #0b1f1459}
.sop-trades .mt-media figcaption{position:absolute;bottom:24px;left:clamp(20px,4vw,60px);max-width:370px;background:rgba(22,54,43,.88);font-size:.73rem;color:var(--cream-1);padding:10px 13px;line-height:1.55}
.sop-trades .mt-chapter-copy{padding:clamp(40px,5.5vw,100px) clamp(24px,5.8vw,110px);align-self:center;min-width:0}
.sop-trades .mt-kicker{font-weight:750;text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;color:#546d61;margin:0 0 22px}
.sop-trades .mt-kicker span{color:var(--mt-gold);margin-right:10px}
.sop-trades .mt-chapter-copy h2{font-size:clamp(2.6rem,4vw,5rem);line-height:1.07;max-width:12ch;margin-bottom:25px}
.sop-trades .mt-lead{font-size:clamp(1.03rem,1.3vw,1.2rem);line-height:1.7;color:#243b30;max-width:61ch}
.sop-trades .mt-context{font-size:.99rem;line-height:1.85;color:#54665c;max-width:64ch}
.sop-trades .mt-chapter-copy h3{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:.81rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin:27px 0 16px}
.sop-trades .mt-works{columns:2;column-gap:29px;list-style:none;padding:0;margin:0 0 26px}
.sop-trades .mt-works li{display:block;break-inside:avoid;border-top:1px solid #cbd3c8;font-size:.9rem;line-height:1.5;padding:10px 2px}
.sop-trades .mt-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 31px}
.sop-trades .mt-tags span{border:1px solid #9aa99c;padding:6px 11px;font-size:.75rem;color:#405c4c}
.sop-trades .mt-actions{display:flex;gap:15px 22px;align-items:center;flex-wrap:wrap}
.sop-trades .mt-actions .button{font-size:.85rem}
.sop-trades .mt-text-link{display:inline-flex;min-height:44px;align-items:center;gap:10px;font-size:.87rem;font-weight:700}
.sop-trades .mt-gallery-link{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;margin-top:11px;color:#527360}
.sop-trades .mt-values{background:#e8eae0;padding-block:clamp(65px,8vw,125px)}
.sop-trades .mt-values h2{max-width:18ch}
.sop-trades .mt-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,4vw,70px);margin-top:50px}
.sop-trades .mt-values-grid article{border-top:2px solid #7b957c;padding-top:25px}
.sop-trades .mt-values-grid article span{font-family:var(--serif);font-size:2.4rem;color:#9b7957}
.sop-trades .mt-values-grid h3{font-size:1.6rem;margin:22px 0 13px}
.sop-trades .mt-values-grid p{color:#526358;line-height:1.8}
.sop-trades .mt-value-note{font-size:.82rem;color:#59695f;margin:30px 0 0}
.sop-trades .mt-faq{padding-block:clamp(70px,9vw,135px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,8vw,150px)}
.sop-trades .mt-faq>div:first-child>p{max-width:53ch;color:#53645a}
.sop-trades .mt-faq-questions details{border-bottom:1px solid #b8c5b8;padding:14px 0}
.sop-trades .mt-faq-questions details:first-child{border-top:1px solid #b8c5b8}
.sop-trades .mt-faq-questions summary{font-weight:700;min-height:45px;padding:12px 35px 12px 0;position:relative;list-style:none;line-height:1.5}
.sop-trades .mt-faq-questions summary::-webkit-details-marker{display:none}
.sop-trades .mt-faq-questions summary:after{content:'+';position:absolute;right:5px;font-size:1.6rem;top:4px;font-weight:400}
.sop-trades .mt-faq-questions details[open] summary:after{content:'−'}
.sop-trades .mt-faq-questions details p{font-size:.93rem;line-height:1.75;color:#53645a;margin:0 0 12px}
.sop-trades .mt-contact{background:var(--mt-forest);color:var(--cream-1);padding-block:clamp(65px,7vw,115px)}
.sop-trades .mt-contact-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}
.sop-trades .mt-contact h2{font-size:clamp(3rem,5vw,5.5rem);margin:8px 0 23px}
.sop-trades .mt-contact p{color:#e2e8e0;max-width:55ch}
.sop-trades .mt-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.sop-trades .mt-contact .button{background:#d5c29f;color:#193b30;border-color:#d5c29f;font-weight:750}
.sop-trades .mt-contact-actions>a:not(.button){font-size:.87rem}
.sop-mt-promo{display:grid;grid-template-columns:1fr 1fr;background:#e9eae1;min-height:495px}
.sop-mt-promo-image{position:relative;min-height:430px;overflow:hidden}
.sop-mt-promo-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.sop-mt-promo-copy{padding:clamp(40px,5.5vw,90px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.sop-mt-promo-copy h2{font-size:clamp(2.4rem,3.8vw,4.6rem);line-height:1.09;max-width:13ch}
.sop-mt-promo-copy p{max-width:54ch;color:#4f6356;line-height:1.76}
.sop-mt-promo-index{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:25px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:#586c5a}
.service-browse{font-size:.84rem;font-weight:650;display:inline-flex;min-height:44px;align-items:center;text-decoration:none;color:#5c6b5d}
.sop-v631-service .detail-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,5vw,90px);padding-block:20px 85px}
.sop-v631-service .detail-hero h1{max-width:17ch;font-size:clamp(2.75rem,4.7vw,5.6rem);letter-spacing:-.05em;line-height:1.08}
.sop-v631-service .detail-hero p{font-size:clamp(1.04rem,1.3vw,1.18rem);line-height:1.82;max-width:56ch}
.sop-v631-service .detail-hero figure img{aspect-ratio:5 / 5.8;max-height:660px;object-fit:cover}
.sop-v631-service .detail-body{grid-template-columns:.72fr 1.28fr;gap:clamp(30px,6vw,112px)}
.sop-v631-service .feature{padding-block:28px}
.sop-v631-service .feature h3{font-size:clamp(1.5rem,2.1vw,2.2rem)}
.sop-v631-service .feature p{line-height:1.82}
@media(max-width:1150px){
 .sop-trades .mt-chapter-copy{padding:45px 35px}
 .sop-trades .mt-works{columns:1}
 .sop-trades .mt-chapter-inner{min-height:720px}
 .sop-trades .mt-intro{gap:50px}
}
@media(max-width:800px){
 .sop-trades .mt-hero{grid-template-columns:1fr;min-height:0}
 .sop-trades .mt-hero-type{padding:55px 25px 60px}
 .sop-trades .mt-hero h1{max-width:11ch;font-size:clamp(2.8rem,8.6vw,5rem)}
 .sop-trades .mt-hero-visual{min-height:380px;aspect-ratio:4/3}
 .sop-trades .mt-intro,.sop-trades .mt-faq{grid-template-columns:1fr;gap:35px}
 .sop-trades .mt-intro{padding-block:55px}
 .sop-trades .mt-intro h2{font-size:clamp(2.35rem,7vw,4rem)}
 .sop-trades .mt-chapter-inner{grid-template-columns:1fr;min-height:0}
 .sop-trades .mt-chapter.mt-flipped .mt-media{order:0}
 .sop-trades .mt-media{min-height:0;aspect-ratio:5/4}
 .sop-trades .mt-chapter-copy{padding:40px 25px 60px}
 .sop-trades .mt-works{columns:2}
 .sop-trades .mt-values-grid{grid-template-columns:1fr;gap:18px}
 .sop-trades .mt-contact-inner{grid-template-columns:1fr;gap:15px}
 .sop-mt-promo{grid-template-columns:1fr}
 .sop-mt-promo-image{min-height:0;aspect-ratio:5/4}
 .sop-mt-promo-copy{padding:35px 25px 50px}
 .sop-v631-service .detail-hero{grid-template-columns:1fr;gap:27px;padding-bottom:50px}
 .sop-v631-service .detail-hero figure img{aspect-ratio:5/4;max-height:none}
 .sop-v631-service .detail-body{grid-template-columns:1fr}
}
@media(max-width:470px){
 .sop-trades .mt-hero-visual{min-height:315px}
 .sop-trades .mt-hero h1{font-size:clamp(2.5rem,10vw,3.4rem)}
 .sop-trades .mt-chapter-copy h2{font-size:clamp(2.5rem,10vw,3.5rem)}
 .sop-trades .mt-chapter-copy{padding-inline:22px}
 .sop-trades .mt-works{columns:1}
 .sop-trades .mt-jumps a{grid-template-columns:32px 1fr 20px;gap:10px}
 .sop-trades .mt-actions .button{width:100%}
 .sop-trades .mt-media figcaption{font-size:.67rem;left:12px;bottom:12px}
 .sop-trades .mt-contact h2{font-size:2.7rem}
}
@media(prefers-reduced-motion:reduce){
 .sop-trades *, .sop-mt-promo *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* V6.32 — direction éditoriale originale, pilotée par les intentions clients.
   Couleurs et photographies issues des ressources du projet ; aucun asset concurrent. */

/* La première impression : une scène à part entière plutôt qu'une carte standard. */
.home-v5 .landscape-hero{
  max-width:none;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  background:#17372d;color:#f9f5eb;
  min-height:clamp(580px,76vh,760px);
}
.home-v5 .landscape-content{
  padding:clamp(58px,7vw,116px) clamp(26px,5vw,94px);
  justify-self:end;width:100%;max-width:780px;
}
.home-v5 .landscape-content .eyebrow{color:#d3bb91;letter-spacing:.17em}
.home-v5 .landscape-content h1{
  font-size:clamp(3.3rem,5.15vw,6.5rem);
  line-height:.99;letter-spacing:-.048em;max-width:13ch;
  text-wrap:balance;margin:25px 0 30px;color:var(--cream-1);
}
.home-v5 .landscape-content h1 em{color:#dbc6a4;font-weight:400}
.home-v5 .landscape-content > p:not(.hero-location){color:#e2eadd;max-width:48ch;font-size:clamp(1.02rem,1.15vw,1.22rem);line-height:1.8}
.home-v5 .landscape-content .hero-location{color:#cfdbcf;font-size:.85rem;margin-top:32px;letter-spacing:.02em}
.home-v5 .landscape-content .hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.home-v5 .landscape-content .hero-actions .button{background:#dfc9a5;color:#19372f;border-color:#dfc9a5;font-weight:750;min-height:52px}
.home-v5 .landscape-content .hero-actions .button:hover{background:#f7e9d0}
.home-v5 .landscape-content .hero-secondary{color:#f5eee1;min-height:44px;display:inline-flex;align-items:center}
.home-v5 .landscape-frame{min-height:clamp(580px,76vh,760px)}
.home-v5 .landscape-frame::after{content:"";position:absolute;inset:30% 0 0;pointer-events:none;background:linear-gradient(0deg,#0c2b216b,transparent)}
.home-v5 .landscape-photo{position:absolute;inset:0;min-height:100%;height:100%;width:100%;object-fit:cover;object-position:center}
.home-v5 .landscape-frame figcaption{
  background:rgba(22,55,45,.88);color:#f8f5eb;z-index:1;
  left:auto;right:clamp(14px,3vw,48px);bottom:26px;padding:10px 16px;
}
/* Ligne de navigation utile pour la prise de décision, sans JavaScript. */
.sop-v632-pathways{background:#efece3;border-bottom:1px solid #d5d9cf}
.sop-v632-pathways-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1.18fr repeat(4,1fr);padding-inline:clamp(22px,4vw,65px)}
.sop-v632-pathways-heading{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:780;align-self:center;color:#566c58;line-height:1.5;padding:18px 25px 18px 0}
.sop-v632-pathways-heading span{font-size:1.25rem;margin-left:8px}
.sop-v632-pathways a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:22px 17px;align-items:center;border-left:1px solid #d4d7c9;text-decoration:none;color:#18392d;font-weight:700;font-size:.88rem;min-height:76px}
.sop-v632-pathways a b{font:400 1.14rem/1 Georgia,serif;color:#7d634b}
.sop-v632-pathways a:hover,.sop-v632-pathways a:focus-visible{background:#e0e7db}
.sop-v632-pathways a span:last-child{color:#566d5f}

/* Quatre grands récits visuels plutôt que quatre cartes commerciales. */
.home-v5 .home-featured-services{display:flex;flex-direction:column;gap:0;border-top:1px solid #cfd5c9}
.home-v5 .home-featured-services .home-service{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  background:#f4f3ed;min-width:0;min-height:560px;margin:0!important;
  border-bottom:1px solid #cbd3c6;align-items:stretch;padding:0;gap:0;
}
.home-v5 .home-featured-services .home-service:nth-child(even){background:#e8ece2}
.home-v5 .home-featured-services .home-service:nth-child(even) .home-service-image{order:2}
.home-v5 .home-featured-services .home-service-image{
  min-height:480px;height:100%;position:relative;aspect-ratio:auto;
  overflow:hidden;background:#dbe1d5;
}
.home-v5 .home-featured-services .home-service-image img{
  width:100%;height:100%;position:absolute;inset:0;object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.65,.25,1);
}
.home-v5 .home-featured-services .home-service:hover img{transform:scale(1.04)}
.home-v5 .home-featured-services .home-service-copy{
  align-self:center;padding:clamp(38px,6vw,94px);display:flex;flex-direction:column;
  min-width:0;
}
.home-v5 .home-featured-services .home-service .eyebrow{font-size:.71rem;letter-spacing:.16em;color:#576c5d}
.home-v5 .home-featured-services .home-service h3{
  font-size:clamp(2.65rem,4.5vw,5rem);line-height:1.02;
  letter-spacing:-.047em;display:block;text-wrap:balance;
  max-width:15ch;margin:25px 0 25px;color:#19392f;
}
.home-v5 .home-featured-services .home-service h3>span{font-size:1.4rem;vertical-align:top;color:#7e6246}
.home-v5 .home-featured-services .home-service p{max-width:52ch;line-height:1.8;font-size:clamp(1rem,1.18vw,1.14rem);color:#455d4d}
.sop-v632-explore{display:inline-flex;align-items:center;gap:30px;align-self:flex-start;margin-top:28px;border-bottom:1px solid currentColor;padding:0 0 11px;min-height:38px;color:#204b3b;font-size:.92rem;font-weight:750}
.sop-v632-explore>span{margin-left:auto}
.home-v5 .home-featured-services .home-service:hover .sop-v632-explore{color:#a16d37}
.home-v5 .home-practical-services{margin-top:clamp(25px,4vw,55px)}
.home-v5 .home-practical-services>a{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  grid-template-rows:auto auto auto auto;gap:10px 35px;
  align-content:center;padding:clamp(27px,4vw,54px);
  background:#1c4337;color:#fdf6ea;border:0;min-height:380px;
}
.home-v5 .home-practical-services .eyebrow{color:#d4bb94}
.home-v5 .home-practical-services h3{font-size:clamp(2.5rem,4vw,4.4rem);max-width:14ch;line-height:1.08;color:var(--cream-1)}
.home-v5 .home-practical-services p{max-width:56ch;font-size:1.05rem;line-height:1.7;color:#dbe6d9}
.home-v5 .home-practical-services .sop-v632-explore{color:#efd5b0}
.home-v5 .sop-v632-terrain-image{grid-column:2;grid-row:1/5;position:relative;margin:0;min-height:270px;overflow:hidden}
.home-v5 .sop-v632-terrain-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-v5 .home-practical-services a:hover img{transform:scale(1.025)}
.home-v5 .home-practical-services img{transition:transform .45s}
/* Renforcement des chapitres et du rythme visuel sans effets coûteux. */
.sop-trades .mt-chapter-copy h2{max-width:14ch;text-wrap:balance}
.sop-trades .mt-jumps a{transition:background .18s,color .18s}
.sop-trades .mt-jumps a:hover,.sop-trades .mt-jumps a:focus-visible{background:#e7ede3;color:#173a2e;padding-inline:0}
.sop-trades .mt-jumps a:focus-visible,.sop-v632-pathways a:focus-visible,
.home-v5 .home-service:focus-visible,.home-v5 .home-practical-services a:focus-visible{
  outline:3px solid #a66b32;outline-offset:-3px;
}
.sop-trades .mt-chapter:nth-child(even){background:#f0f2eb}
.sop-trades .mt-media img{transition:transform .7s ease}
@media(hover:hover){.sop-trades .mt-chapter:hover .mt-media img{transform:scale(1.025)}}

/* Six sections métier originales : réponses utiles avant devis. */
.sop-v632-insight{margin-block:clamp(60px,8vw,116px);padding-block:clamp(35px,5vw,72px);border-top:2px solid #335848;border-bottom:1px solid #bac8b9}
.sop-v632-insight-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0 clamp(25px,6vw,100px);align-items:end}
.sop-v632-insight-heading .eyebrow{grid-column:1/-1;color:#816140}
.sop-v632-insight-heading h2{font-size:clamp(2.25rem,4vw,4.7rem);line-height:1.08;max-width:16ch;letter-spacing:-.04em;margin:20px 0 0;text-wrap:balance;color:#1d4133}
.sop-v632-insight-heading>p{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.8;color:#53665a;margin:18px 0 0;max-width:53ch}
.sop-v632-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3.5vw,48px);margin-top:55px}
.sop-v632-insight-grid article{border-top:1px solid #b4c3b5;padding-top:20px}
.sop-v632-insight-grid h3{font-size:clamp(1.25rem,1.85vw,1.7rem);line-height:1.25;max-width:20ch;margin:8px 0 16px;color:#264b3b}
.sop-v632-insight-grid p{font-size:.97rem;color:#53665a;line-height:1.83;margin:0}
.sop-v632-insight-links{display:flex;align-items:center;gap:10px 25px;flex-wrap:wrap;margin-top:45px}
.sop-v632-insight-links>span:first-child{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:750;color:#5c6b5c}
.sop-v632-insight-links a{color:#1e4936;font-weight:750;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;gap:8px;text-underline-offset:5px}
.sop-v632-insight-links a:focus-visible{outline:3px solid #a66b32;outline-offset:3px}
@media(max-width:1080px){
 .sop-v632-pathways-inner{grid-template-columns:repeat(4,1fr)}
 .sop-v632-pathways-heading{grid-column:1/-1;padding:15px 0 0}
 .sop-v632-pathways a{padding:16px 10px;min-height:68px}
 .home-v5 .home-featured-services .home-service{min-height:440px}
 .home-v5 .home-featured-services .home-service-copy{padding:35px}
}
@media(max-width:800px){
 .home-v5 .landscape-hero{grid-template-columns:1fr;min-height:0}
 .home-v5 .landscape-content{max-width:none;justify-self:stretch;padding:clamp(44px,8vw,75px) clamp(22px,6vw,50px)}
 .home-v5 .landscape-content h1{font-size:clamp(3rem,8.1vw,5rem)}
 .home-v5 .landscape-frame{min-height:0;aspect-ratio:1.32}
 .home-v5 .landscape-photo{min-height:0}
 .home-v5 .home-featured-services .home-service{grid-template-columns:1fr;min-height:0}
 .home-v5 .home-featured-services .home-service:nth-child(even) .home-service-image{order:0}
 .home-v5 .home-featured-services .home-service-image{min-height:0;aspect-ratio:1.4}
 .home-v5 .home-featured-services .home-service-copy{padding:34px 25px 44px}
 .home-v5 .home-featured-services .home-service h3{font-size:clamp(2.4rem,6vw,3.7rem)}
 .home-v5 .home-practical-services>a{grid-template-columns:1fr;grid-template-rows:auto;padding:32px 25px}
 .home-v5 .sop-v632-terrain-image{grid-column:1;grid-row:auto;aspect-ratio:1.5;min-height:0;margin-top:15px}
 .sop-v632-insight-heading{grid-template-columns:1fr}
 .sop-v632-insight-grid{grid-template-columns:1fr;gap:28px;margin-top:36px}
 .sop-v632-insight-grid h3{max-width:none}
}
@media(max-width:560px){
 .sop-v632-pathways-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:15px}
 .sop-v632-pathways-heading{padding:15px 9px 10px}
 .sop-v632-pathways a{border-top:1px solid #d4d7c9;border-left:1px solid #d4d7c9;padding:15px 9px;font-size:.8rem;gap:7px}
 .home-v5 .landscape-content h1{font-size:clamp(2.75rem,9.2vw,3.9rem)}
 .home-v5 .landscape-frame{aspect-ratio:1.12}
 .home-v5 .landscape-frame figcaption{right:10px;bottom:10px;font-size:.65rem}
 .home-v5 .landscape-content .hero-actions .button{width:100%;justify-content:center}
 .home-v5 .home-featured-services .home-service-image{aspect-ratio:1.2}
 .home-v5 .home-featured-services .home-service-copy{padding:32px 20px 43px}
 .home-v5 .home-featured-services .home-service h3{font-size:clamp(2.35rem,10vw,3.6rem)}
 .home-v5 .home-practical-services h3{font-size:clamp(2.15rem,9vw,3.5rem)}
 .sop-v632-insight{margin-block:55px;padding-top:30px}
 .sop-v632-insight-heading h2{font-size:clamp(2.15rem,8.7vw,3.3rem)}
 .sop-v632-insight-links{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(prefers-reduced-motion:reduce){
 .home-v5 .home-featured-services img,.sop-trades .mt-media img,
 .home-v5 .home-practical-services img{transition:none!important;transform:none!important}
}


/* V6.33 — Secteurs : composition éditoriale, repères locaux et devis contextualisés */
.sop-v633-local-hero{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  min-height:clamp(620px,52vw,810px);background:#16392f;color:#f6f3e9;
}
.sop-v633-local-copy{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(48px,6.5vw,112px) clamp(28px,5vw,95px);
}
.sop-v633-local-copy .eyebrow{color:#d8c8a8;letter-spacing:.14em}
.sop-v633-local-copy h1{
  font-size:clamp(3rem,5.7vw,7rem);line-height:1.02;letter-spacing:-.052em;
  margin:23px 0 30px;color:var(--cream-1);font-weight:650;text-wrap:balance;
}
.sop-v633-local-copy h1 em{font-weight:450;color:#e3cdab}
.sop-v633-local-copy p{max-width:57ch;line-height:1.82;color:#d8e4db;font-size:clamp(.98rem,1.3vw,1.1rem);margin:0 0 15px}
.sop-v633-local-copy .sop-v633-local-lead{font-size:clamp(1.06rem,1.6vw,1.26rem);line-height:1.65;color:#f9f9f3}
.sop-v633-local-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}
.sop-v633-local-actions .button{background:#e3cda6;color:#193d31}
.sop-v633-local-actions .button:hover{background:#f1dec1}
.sop-v633-hero-textlink{display:inline-flex;align-items:center;min-height:44px;color:#fcf8e9;text-decoration:underline;text-underline-offset:6px;font-weight:650}
.sop-v633-local-photo{position:relative;margin:0;min-height:100%;overflow:hidden;background:#9aab91}
.sop-v633-local-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:54% center}
.sop-v633-local-photo figcaption{position:absolute;right:22px;bottom:22px;padding:10px 16px;
 background:#16392fe8;color:var(--cream-1);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.sop-v633-communes{padding:clamp(70px,9vw,130px) 0;background:#f1f2eb;scroll-margin-top:105px}
.sop-v633-section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:40px;margin-bottom:48px}
.sop-v633-section-heading h2,.sop-v633-advice-heading h2{font-size:clamp(2.5rem,4.6vw,5.4rem);letter-spacing:-.045em;line-height:1.08;margin:15px 0 0;max-width:17ch;color:#1c4234;text-wrap:balance}
.sop-v633-section-heading p,.sop-v633-advice-heading p{max-width:55ch;margin:0 0 5px;color:#4c6055;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.8}
.sop-v633-commune-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#9fb2a6;border:1px solid #9fb2a6}
.sop-v633-commune-grid>a{display:grid;align-content:start;gap:18px;background:#f9f9f4;
 text-decoration:none;color:#1b3e30;padding:clamp(24px,3vw,41px);min-height:202px;transition:background .2s}
.sop-v633-commune-grid>a>span{color:#836036;font-weight:750;letter-spacing:.12em;font-size:.75rem}
.sop-v633-commune-grid>a>strong{font-size:clamp(1.35rem,2vw,2.25rem);font-weight:650;line-height:1.12;letter-spacing:-.03em;overflow-wrap:anywhere}
.sop-v633-commune-grid>a>small{font-size:.84rem;font-weight:700;color:#47634b;align-self:end}
.sop-v633-commune-grid>a:hover{background:#e4ebe1}
.sop-v633-commune-grid>a:focus-visible,.sop-v633-local-actions a:focus-visible,
.sop-v633-local-nearby a:focus-visible,.sop-v633-advice-link:focus-visible{outline:3px solid #b17b3c;outline-offset:4px;position:relative;z-index:1}
.sop-v633-local-nearby{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0 0}
.sop-v633-local-nearby strong{color:#173a2d;font-size:1.22rem}
.sop-v633-local-nearby p{max-width:72ch;margin:8px 0 0;color:#53695c;line-height:1.7}
.sop-v633-local-nearby>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 padding:13px 21px;background:#1e4a3b;color:white;text-decoration:none;font-weight:700;white-space:nowrap}
.sop-v633-local-advice{padding-block:clamp(75px,9vw,135px)}
.sop-v633-advice-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:20px 55px;align-items:end}
.sop-v633-advice-heading>.eyebrow{grid-column:1/-1;color:#875e36}
.sop-v633-advice-heading h2{margin:0}
.sop-v633-advice-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.5vw,45px);margin-top:60px}
.sop-v633-advice-items article{border-top:2px solid #345c4a;padding-top:24px}
.sop-v633-advice-items span{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:#83603d}
.sop-v633-advice-items h3{font-size:clamp(1.5rem,2.25vw,2.25rem);letter-spacing:-.028em;line-height:1.2;margin:21px 0 12px;color:#1b4132}
.sop-v633-advice-items p{color:#4c6056;line-height:1.8;margin:0}
.sop-v633-advice-link{margin-top:44px;display:inline-flex;min-height:48px;align-items:center;gap:15px;text-underline-offset:6px;color:#1e4b36;font-weight:750}
@media(max-width:1000px){
  .sop-v633-local-hero{grid-template-columns:1fr;min-height:0}
  .sop-v633-local-copy{padding:70px clamp(24px,6vw,72px)}
  .sop-v633-local-copy h1{max-width:16ch}
  .sop-v633-local-photo{height:clamp(310px,48vw,540px);min-height:0}
}
@media(max-width:800px){
  .sop-v633-section-heading,.sop-v633-advice-heading{grid-template-columns:1fr;gap:20px}
  .sop-v633-commune-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sop-v633-advice-items{grid-template-columns:1fr;margin-top:36px;gap:30px}
  .sop-v633-local-nearby{align-items:flex-start;flex-direction:column}
}
@media(max-width:540px){
  .sop-v633-local-copy{padding:55px 22px}
  .sop-v633-local-copy h1{font-size:clamp(2.85rem,12vw,4.4rem);margin-bottom:25px}
  .sop-v633-local-copy p{line-height:1.72}
  .sop-v633-local-actions{align-items:stretch;flex-direction:column;gap:12px;width:100%}
  .sop-v633-local-actions .button{justify-content:center}
  .sop-v633-local-photo{height:300px}
  .sop-v633-local-photo figcaption{right:12px;bottom:12px;padding:9px 12px}
  .sop-v633-section-heading h2,.sop-v633-advice-heading h2{font-size:clamp(2.4rem,9.6vw,3.7rem)}
  .sop-v633-commune-grid{grid-template-columns:1fr}
  .sop-v633-commune-grid>a{min-height:0;padding:24px;gap:9px}
  .sop-v633-commune-grid>a>strong{font-size:1.6rem}
  .sop-v633-local-nearby>a{white-space:normal;width:100%}
}
@media(prefers-reduced-motion:reduce){.sop-v633-commune-grid>a{transition:none}}


/* V6.34 — composition éditoriale originale : réalisations & méthode de l'entreprise. */
.v634-portfolio-hero{
  max-width:1440px;margin:0 auto clamp(48px,7vw,112px);
  padding:clamp(18px,3vw,44px) clamp(22px,4.5vw,72px);
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,5vw,84px);align-items:center;
}
.v634-portfolio-text{min-width:0;padding-block:clamp(18px,4vw,62px)}
.v634-portfolio-text h1{font-size:clamp(3.25rem,6.2vw,7.25rem);letter-spacing:-.058em;line-height:.98;max-width:10ch;margin:24px 0 28px}
.v634-portfolio-text h1 em{font-weight:400;color:#667d66}
.v634-lead{font-size:clamp(1.05rem,1.55vw,1.22rem);max-width:52ch;line-height:1.72;color:#42574d}
.v634-portfolio-actions{display:flex;align-items:center;gap:20px 30px;flex-wrap:wrap;margin:30px 0}
.v634-quiet-link{font-weight:650;text-decoration-thickness:1px;text-underline-offset:6px}
.v634-kicker-row{border-top:1px solid #cbd4ca;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:clamp(32px,5vw,62px);padding-top:23px;font-size:.85rem;color:#516457;letter-spacing:.02em}
.v634-kicker-row span{display:inline-flex;gap:10px;align-items:baseline}
.v634-kicker-row b{color:#1c4436;font:400 .95rem Georgia,serif}
.v634-portfolio-photo{height:clamp(430px,55vw,760px);min-width:0;overflow:hidden;position:relative;background:#d0d8ce;border-radius:2px}
.v634-portfolio-photo img{width:100%;height:100%;object-fit:cover;object-position:52% center}
.v634-portfolio-photo:after{content:"";pointer-events:none;position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(11,35,28,.72))}
.v634-portfolio-photo figcaption{position:absolute;z-index:1;bottom:clamp(22px,4vw,54px);left:clamp(24px,4vw,58px);right:24px;color:#fff}
.v634-portfolio-photo figcaption span{display:block;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;margin-bottom:10px}
.v634-portfolio-photo figcaption strong{font:400 clamp(1.7rem,3vw,3rem)/1.06 Georgia,serif;display:block;max-width:15ch}
.v634-project-choices{background:#e9ede5;padding:clamp(64px,8vw,132px) 0}
.v634-choices-heading{max-width:810px;margin-bottom:clamp(34px,5vw,70px)}
.v634-choices-heading h2{font-size:clamp(2.6rem,4.8vw,5rem);max-width:14ch;margin:20px 0 26px}
.v634-choices-heading p{color:#40574a;font-size:1.09rem;max-width:68ch}
.v634-choices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #9fac9f;border-bottom:1px solid #9fac9f}
.v634-choices-grid article{padding:34px clamp(18px,3vw,42px) 44px 0;min-width:0}
.v634-choices-grid article+article{border-left:1px solid #b7c4b6;padding-left:clamp(18px,3vw,42px)}
.v634-choice-n{display:block;color:#37604b;font-size:.74rem;letter-spacing:.17em;font-weight:700;margin-bottom:28px}
.v634-choices-grid h3{font-size:clamp(1.8rem,2.45vw,2.8rem);line-height:1.09;margin:0 0 25px;max-width:13ch}
.v634-choices-grid p{color:#516257;max-width:42ch}
.v634-choices-grid a{display:inline-block;font-weight:700;border-bottom:1px solid currentColor;text-decoration:none;margin-top:12px;padding-bottom:4px}
.v634-choices-grid a:hover,.v634-choices-grid a:focus-visible{border-color:transparent}
.v634-choices-footer{padding-top:30px;display:flex;align-items:start;gap:25px;justify-content:space-between}
.v634-choices-footer p{margin:0;max-width:58ch;color:#42584c}
.v634-choices-footer a{flex:none}
.v634-company-method{background:#163e32;color:#f6f7ed;padding:clamp(68px,8vw,132px) 0}
.v634-company-method-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,7vw,135px);align-items:start}
.v634-company-method .eyebrow{color:#b5d2b6}
.v634-company-method h2{font-size:clamp(2.65rem,4.9vw,5.35rem);max-width:13ch;margin:22px 0 30px}
.v634-company-method-intro p{font-size:1.12rem;max-width:54ch;color:#d7e5d9}
.v634-company-method a{display:inline-block;margin-top:16px;border-bottom:1px solid #b3cfb9;text-decoration:none;padding-bottom:6px}
.v634-company-method-steps{border-top:1px solid rgba(255,255,255,.35)}
.v634-company-method-steps article{border-bottom:1px solid rgba(255,255,255,.35);display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;padding:29px 0 25px}
.v634-company-method-steps article>span{color:#adc2aa;font:400 2.1rem/1 Georgia,serif}
.v634-company-method-steps h3{font-size:clamp(1.5rem,2.15vw,2.3rem);color:#fff;margin-bottom:13px}
.v634-company-method-steps p{color:#d5e1d4;margin-bottom:0;line-height:1.62}
.v634-portfolio-hero :focus-visible,.v634-project-choices :focus-visible,.v634-company-method :focus-visible{outline:3px solid #bcbd6a;outline-offset:5px}
@media(max-width:960px){
 .v634-portfolio-hero{grid-template-columns:1fr;padding-top:32px;gap:36px}
 .v634-portfolio-text h1{max-width:15ch}
 .v634-portfolio-photo{height:clamp(390px,65vw,620px)}
 .v634-company-method-layout{grid-template-columns:1fr;gap:48px}
 .v634-company-method h2{max-width:18ch}
}
@media(max-width:700px){
 .v634-portfolio-hero{padding:26px 18px 60px;gap:20px}
 .v634-portfolio-text{padding-block:22px}
 .v634-portfolio-text h1{font-size:clamp(3.1rem,12vw,4.8rem);max-width:11ch;overflow-wrap:normal}
 .v634-portfolio-photo{height:clamp(360px,112vw,550px)}
 .v634-kicker-row{margin-top:36px;gap:10px}
 .v634-project-choices{padding:68px 0}
 .v634-choices-grid{display:block}
 .v634-choices-grid article,.v634-choices-grid article+article{border-left:0;border-bottom:1px solid #b7c4b6;padding:30px 0}
 .v634-choices-grid article:last-child{border-bottom:0}
 .v634-choices-grid h3{max-width:20ch}
 .v634-choices-footer{display:block}
 .v634-choices-footer a{display:inline-block;margin-top:22px}
 .v634-company-method-steps article{grid-template-columns:52px minmax(0,1fr);gap:14px}
 .v634-company-method-steps article>span{font-size:1.75rem}
}
@media(prefers-reduced-motion:reduce){
 .v634-portfolio-photo img,.v634-choices-grid a{transition:none!important}
}


/* V6.35 — page transversale Jardin + Piscine, originale et sans dépendance JS. */
.v635-combo-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:650px;background:#173b30;color:#f8f6eb;max-width:1600px;margin:0 auto}
.v635-combo-hero-copy{min-width:0;padding:clamp(54px,6vw,102px) clamp(24px,5.2vw,100px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v635-combo-hero .eyebrow{color:#dac9a5}
.v635-combo-hero h1{font-size:clamp(3.1rem,5.65vw,6.65rem);line-height:1.04;letter-spacing:-.054em;margin:18px 0 26px;color:var(--cream-1);text-wrap:balance}
.v635-combo-hero h1 em,.v635-combo-grid h2 em{color:#e1cdaa;font-weight:400}
.v635-combo-hero p{color:#d9e8db;line-height:1.72;max-width:57ch}
.v635-combo-hero .v635-combo-lead{color:#f9f7ed;font-size:clamp(1.1rem,1.5vw,1.26rem);line-height:1.61}
.v635-combo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;margin-top:20px}
.v635-combo-actions .button{background:#e7d0aa;color:#1b382f}
.v635-combo-actions .button:hover{background:#f2dfbd}
.v635-combo-quiet{color:inherit;text-decoration:underline;text-underline-offset:6px;font-weight:650;display:inline-flex;align-items:center;min-height:44px}
.v635-combo-hero .v635-combo-location{font-size:.79rem;letter-spacing:.12em;text-transform:uppercase;color:#c0cebd;margin-top:44px}
.v635-combo-hero-photo{margin:0;position:relative;overflow:hidden;min-width:0;background:#91a79c}
.v635-combo-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% center;display:block}
.v635-combo-hero-photo figcaption{position:absolute;left:clamp(20px,4vw,65px);right:clamp(20px,4vw,65px);bottom:clamp(20px,4vw,50px);background:rgba(20,50,41,.91);color:var(--cream-1);padding:14px 18px;font-size:.83rem;line-height:1.5;max-width:45ch}
.v635-combo-subnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #bed1c1;gap:0;margin-top:0;margin-bottom:0}
.v635-combo-subnav a{display:flex;min-width:0;align-items:center;gap:12px;padding:23px 14px;text-decoration:none;color:#234a38;font-weight:700;line-height:1.4;border-right:1px solid #d6ddd2}
.v635-combo-subnav a:last-child{border-right:0}
.v635-combo-subnav a:hover{background:#eaf1e8}
.v635-combo-subnav span{font:400 1.15rem Georgia,serif;color:#7f623a}
.v635-combo-section{padding-block:clamp(76px,10vw,145px);scroll-margin-top:105px}
.v635-combo-heading{max-width:1000px;margin-bottom:clamp(34px,5vw,68px)}
.v635-combo-heading h2,.v635-combo-grid h2,.v635-combo-faq h2,.v635-combo-last h2{font-size:clamp(2.65rem,4.8vw,5.6rem);line-height:1.07;letter-spacing:-.045em;text-wrap:balance;margin:18px 0 26px}
.v635-combo-heading p{max-width:66ch;line-height:1.8;font-size:1.12rem;color:#456052}
.v635-combo-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,90px);align-items:center}
.v635-combo-feature>figure{margin:0}
.v635-combo-feature img,.v635-combo-sidephoto img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover}
.v635-combo-feature figcaption,.v635-combo-sidephoto figcaption{font-size:.83rem;color:#51675a;margin-top:10px;line-height:1.6}
.v635-combo-points article{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;border-top:1px solid #bacabc;padding:20px 0}
.v635-combo-points article>span{grid-row:span 2;color:#7e613e;font:400 1.3rem Georgia,serif}
.v635-combo-points h3{margin:0 0 7px;font-size:clamp(1.45rem,2.2vw,2rem)}
.v635-combo-points p{margin:0;color:#4f6758;line-height:1.65}
.v635-combo-link{font-weight:700;text-decoration-thickness:1px;text-underline-offset:6px;display:inline-flex;min-height:44px;align-items:center;margin-top:12px}
.v635-combo-tint{background:#e8eee7}
.v635-combo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.83fr);align-items:center;gap:clamp(35px,7vw,115px)}
.v635-combo-grid h2{color:#193e31}
.v635-combo-grid h2 em{color:#947045}
.v635-combo-grid p{max-width:68ch;color:#3c5748;line-height:1.75}
.v635-combo-grid .v635-combo-lead{color:#1e4838;font-size:clamp(1.15rem,1.75vw,1.3rem)}
.v635-combo-sidephoto{margin:0;min-width:0}
.v635-combo-sidephoto img{aspect-ratio:4/5}
.v635-combo-links{margin-top:32px;display:grid;gap:5px;border-top:1px solid #b4c6b7}
.v635-combo-links a{font-weight:700;color:#174734;padding:15px 0;border-bottom:1px solid #b4c6b7;text-underline-offset:4px}
.v635-combo-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #bacabd}
.v635-combo-usage-grid article{padding:32px clamp(16px,3vw,44px) 20px 0;display:flex;flex-direction:column;align-items:flex-start}
.v635-combo-usage-grid article+article{padding-left:clamp(16px,3vw,44px);border-left:1px solid #bacabd}
.v635-combo-usage-grid span{color:#8f6b42;font-size:.76rem;font-weight:750;letter-spacing:.12em}
.v635-combo-usage-grid h3{font-size:clamp(1.65rem,2.3vw,2.45rem);line-height:1.15;margin:19px 0}
.v635-combo-usage-grid p{line-height:1.73;color:#4b6255;flex:1}
.v635-combo-usage-grid a{font-weight:750;margin-top:18px;text-underline-offset:5px}
.v635-combo-faq{background:#1b4536;color:#fff9ed;padding:clamp(75px,9vw,132px) 0;scroll-margin-top:105px}
.v635-combo-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,6vw,110px)}
.v635-combo-faq h2{color:var(--cream-1);max-width:13ch}
.v635-combo-faq p{color:#d6e2d9;line-height:1.73}
.v635-combo-faq .eyebrow{color:#e4c69b}
.v635-combo-faq .v635-combo-link{color:#fcf8eb}
.v635-combo-faq-items{border-top:1px solid #7b9b8a}
.v635-combo-faq details{padding:24px 0;border-bottom:1px solid #7b9b8a}
.v635-combo-faq summary{cursor:pointer;font-weight:700;color:#fff;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;list-style:revert;padding-right:12px}
.v635-combo-faq details p{max-width:66ch;margin:14px 0 0}
.v635-combo-last{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:clamp(75px,8vw,120px)}
.v635-combo-last>div:first-child{max-width:800px}
.v635-combo-last h2{max-width:16ch}
.v635-combo-last p{max-width:65ch;color:#425e50}
.v635-combo-last>div:last-child{display:grid;justify-items:start;gap:15px;flex:none}
.v635-combo-last .v635-combo-quiet{color:#21533c}
.v635-bridge{margin-block:30px 62px;border-top:1px solid #a4b9a9;border-bottom:1px solid #a4b9a9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;padding-block:27px}
.v635-bridge h2{font-size:clamp(1.75rem,2.4vw,2.8rem);margin:9px 0 12px;line-height:1.14}
.v635-bridge p{max-width:70ch;margin:0;line-height:1.7;color:#4b6153}
.v635-contact-steps{margin-top:32px;padding:28px;background:#e5ede3;border-left:3px solid #587e65}
.v635-contact-steps h2{font-size:clamp(1.5rem,2vw,1.9rem);margin:0 0 17px;color:#234a35}
.v635-contact-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.v635-contact-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;line-height:1.5;color:#405d4d}
.v635-contact-steps li span{font:400 1.25rem Georgia,serif;color:#886338}
.v635-contact-steps a{text-underline-offset:4px}
.v635-contact-steps p{margin:18px 0 0;color:#496153}
.v635-combo-hero :focus-visible,.v635-combo-subnav :focus-visible,.v635-combo-section :focus-visible,.v635-combo-faq :focus-visible,.v635-combo-last :focus-visible,.v635-bridge :focus-visible,.v635-contact-steps :focus-visible{outline:3px solid #d1a86a;outline-offset:4px}
@media(max-width:1000px){
 .v635-combo-hero{grid-template-columns:1fr;min-height:0}
 .v635-combo-hero-photo{height:clamp(320px,55vw,550px)}
 .v635-combo-hero-copy{padding:clamp(45px,6vw,90px) clamp(24px,5vw,72px)}
 .v635-combo-hero h1{max-width:16ch}
}
@media(max-width:860px){
 .v635-combo-subnav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v635-combo-feature,.v635-combo-grid,.v635-combo-faq-grid{grid-template-columns:1fr}
 .v635-combo-sidephoto img{aspect-ratio:1.5;max-height:550px}
 .v635-combo-usage-grid{grid-template-columns:1fr}
 .v635-combo-usage-grid article,.v635-combo-usage-grid article+article{padding:24px 0;border-left:0;border-bottom:1px solid #bacabd}
 .v635-combo-last{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
 .v635-combo-hero-copy{padding:45px 22px}
 .v635-combo-hero h1{font-size:clamp(3.05rem,12.2vw,4.25rem);letter-spacing:-.045em}
 .v635-combo-hero-photo{height:320px}
 .v635-combo-hero-photo figcaption{left:12px;right:12px;bottom:12px;padding:11px 12px}
 .v635-combo-subnav a{padding:15px 8px;gap:8px;font-size:.88rem}
 .v635-combo-section{padding-block:65px}
 .v635-combo-heading h2,.v635-combo-grid h2,.v635-combo-faq h2,.v635-combo-last h2{font-size:clamp(2.5rem,10.4vw,3.5rem)}
 .v635-combo-actions{width:100%;flex-direction:column;align-items:stretch}
 .v635-combo-actions .button{justify-content:center}
 .v635-combo-feature img{aspect-ratio:1}
 .v635-combo-last>div:last-child{width:100%}
 .v635-combo-last>div:last-child .button{width:100%;justify-content:center}
 .v635-bridge{grid-template-columns:1fr}
 .v635-bridge .button{justify-content:center}
 .v635-contact-steps{padding:22px 17px}
}
@media(prefers-reduced-motion:reduce){.v635-combo-subnav a{scroll-behavior:auto}}


/* V6.36 — pages métier : composition éditoriale, sans dépendance ni polices tierces. */
.v636-service .detail-hero{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.91fr);
  align-items:stretch;gap:0;padding:0;
  margin:18px 0 clamp(42px,6vw,88px);
  background:#163d32;color:#f7f3e8;
  border-radius:18px;
}
.v636-service .detail-hero>div{
  min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:clamp(35px,5.1vw,80px) clamp(24px,5vw,76px)
}
.v636-service .detail-hero .v636-hero-index{display:block;font:600 .75rem/1.5 system-ui,sans-serif;letter-spacing:.15em;color:#d8c59f;margin:0 0 26px}
.v636-service .detail-hero .eyebrow{color:#e1cfb4;font-size:.73rem;letter-spacing:.11em}
.v636-service .detail-hero h1{
  font-size:clamp(2.6rem,4.5vw,5rem);line-height:1.08;letter-spacing:-.045em;
  color:var(--cream-1);max-width:15ch;margin:22px 0 25px;overflow-wrap:break-word;text-wrap:balance
}
.v636-service .detail-hero p{max-width:64ch;color:#e0e9e0;font-size:clamp(1.04rem,1.22vw,1.17rem);line-height:1.74}
.v636-service .detail-hero .button{margin-top:22px;background:#e9d3ad;color:#163e32;border:2px solid transparent;font-weight:700}
.v636-service .detail-hero .button:hover{background:#f9e8c9;color:#102e25}
.v636-service .detail-hero figure{position:relative;min-height:570px;margin:0;overflow:hidden;background:#72947a}
.v636-service .detail-hero figure img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.v636-service .detail-hero figure figcaption{
  position:absolute;bottom:19px;left:19px;right:19px;max-width:44ch;
  margin:0;padding:12px 15px;background:rgba(15,48,36,.87);color:#f8f7ef;
  font-size:.82rem;line-height:1.55
}
.v636-service .service-shortcuts{margin-top:0;margin-bottom:clamp(32px,4.5vw,65px)}
.v636-editorial{
  background:#eeeae0; color:#203f31;
  padding:clamp(67px,8vw,128px) 0;
  scroll-margin-top:110px;
}
.v636-editorial-layout{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(48px,7vw,135px)}
.v636-editorial-lead{align-self:start;min-width:0}
.v636-editorial-kicker{display:block;font:700 .76rem/1.6 system-ui,sans-serif;letter-spacing:.12em;color:#576c58}
.v636-editorial-marker{display:block;font:400 clamp(5.4rem,12vw,11rem)/.95 Georgia,serif;letter-spacing:-.08em;color:#927d58;margin:15px 0 22px}
.v636-editorial h2{font-size:clamp(2.8rem,4.3vw,5rem);line-height:1.11;letter-spacing:-.047em;max-width:17ch;text-wrap:balance;margin:0 0 27px;color:#193b30}
.v636-editorial-lead>p{max-width:60ch;color:#455b4d;line-height:1.8;font-size:clamp(1.05rem,1.25vw,1.2rem)}
.v636-editorial-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:22px;font-weight:750;color:#134b34;text-underline-offset:5px}
.v636-steps{border-top:1px solid #aab9a8}
.v636-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:clamp(14px,2.5vw,28px);border-bottom:1px solid #aab9a8;padding:clamp(23px,3vw,42px) 0}
.v636-step-number{font:400 1.5rem Georgia,serif;color:#7e613b}
.v636-step h3{margin:0 0 12px;font-size:clamp(1.42rem,2.1vw,2.1rem);line-height:1.17;letter-spacing:-.025em;color:#193e32}
.v636-step p{margin:0;color:#486354;line-height:1.77}
.v636-editorial-note{display:grid;gap:22px;justify-items:start;padding:clamp(21px,3vw,33px);margin-top:27px;background:#1e4b3a;color:var(--cream-1)}
.v636-editorial-note p{margin:0;color:#e8eee6;line-height:1.77}
.v636-editorial-note .button{background:#e9d3ad;color:#153d30}
.v636-editorial-note .button:hover{background:#fff0d0}
.v636-service .v636-editorial :focus-visible,.v636-service .detail-hero :focus-visible{
  outline:3px solid #d2a56c;outline-offset:4px
}
@media(max-width:1000px){
  .v636-service .detail-hero{grid-template-columns:1fr}
  .v636-service .detail-hero>div{padding:clamp(34px,5vw,62px)}
  .v636-service .detail-hero h1{max-width:19ch}
  .v636-service .detail-hero figure{min-height:300px;max-height:520px}
  .v636-service .detail-hero figure img{aspect-ratio:16/9}
  .v636-editorial-layout{grid-template-columns:1fr;gap:45px}
  .v636-editorial-marker{font-size:6.5rem;margin:12px 0 15px}
  .v636-editorial h2{max-width:23ch}
}
@media(max-width:620px){
  .v636-service .detail-hero{border-radius:0;margin:10px -16px 37px}
  .v636-service .detail-hero>div{padding:44px 23px 43px}
  .v636-service .detail-hero h1{font-size:clamp(2.55rem,10.7vw,3.65rem)}
  .v636-service .detail-hero figure{min-height:270px;height:330px}
  .v636-service .detail-hero figure img{height:100%;aspect-ratio:auto}
  .v636-service .detail-hero figure figcaption{left:12px;right:12px;bottom:12px}
  .v636-editorial{padding:65px 0}
  .v636-editorial h2{font-size:clamp(2.6rem,10vw,3.75rem)}
  .v636-step{grid-template-columns:36px minmax(0,1fr);gap:12px}
  .v636-step-number{font-size:1.23rem}
  .v636-editorial-note{padding:23px 18px}
  .v636-editorial-note .button{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .v636-service .detail-hero *, .v636-editorial *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* V6.37 — sept pages de spécialité : photos, repères métier et parcours accessible. */
.v637-service .detail-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .93fr);
  gap: 0;
  align-items: stretch;
  margin: 18px 0 clamp(20px, 3vw, 40px);
  padding: 0;
  border-radius: 14px;
  overflow: hidden;
  color: #fff9ea;
  background: #163c31;
  isolation: isolate;
}
.v637-service .detail-hero > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(36px, 5vw, 80px) clamp(25px, 4.4vw, 75px);
}
.v637-service .detail-hero .eyebrow {
  color: #e7c99b;
  font-size: .74rem;
  letter-spacing: .13em;
}
.v637-service .detail-hero h1 {
  color: var(--cream-1);
  font-size: clamp(2.65rem, 4.3vw, 4.9rem);
  line-height: 1.09;
  letter-spacing: -.043em;
  max-width: 16ch;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.v637-service .detail-hero p {
  color: #e1ede4;
  max-width: 62ch;
  font-size: clamp(1.04rem, 1.25vw, 1.18rem);
  line-height: 1.79;
}
.v637-service .detail-hero .button {
  margin-top: 18px;
  color: #183c30;
  background: #f0d8b0;
  border-color: #f0d8b0;
  font-weight: 750;
}
.v637-service .detail-hero .button:hover,
.v637-service .detail-hero .button:focus-visible {background: #fff2d5;color:#133228;}
.v637-service .detail-hero figure {
  position: relative;
  margin: 0;
  min-height: 550px;
  overflow: hidden;
  background: #4c7660;
}
.v637-service .detail-hero figure img,
.v637-service .detail-hero .v637-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
}
.v637-service .detail-hero figure figcaption {
  position: absolute;
  bottom: 17px;
  left: 17px;
  right: 17px;
  max-width: 42ch;
  padding: 10px 14px;
  background: rgba(11, 42, 33, .86);
  color: #fff9ef;
  font-size: .81rem;
  line-height: 1.5;
}
.v637-service .detail-hero .terrace-gallery-link {
  position: absolute;
  right: 18px;
  top: 18px;
  padding: 8px 13px;
  background: #f0d8b0;
  color: #1f4335;
  font-size: .83rem;
  font-weight: 750;
}
.v637-service .optional-photo:empty { display: none; }
.v637-prep {padding: 0 0 clamp(28px, 4vw, 60px);}
.v637-prep-layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(22px, 5vw, 90px);
  padding-block: clamp(25px, 4.5vw, 60px);
  border-bottom: 1px solid #bacbbd;
}
.v637-prep-layout h2 {
  margin: 10px 0 0;
  max-width: 23ch;
  font-size: clamp(1.65rem, 2.45vw, 2.75rem);
  line-height: 1.22;
  color: #173d30;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.v637-prep-detail {margin: 0;}
.v637-prep-detail .eyebrow {margin: 0 0 7px;color:#566c60}
.v637-prep-detail h3 {margin:0 0 13px;font-size:clamp(1.25rem,1.65vw,1.75rem);color:#214a37}
.v637-prep-detail p {margin:0;line-height:1.78;max-width:67ch;color:#425b4b}
.v637-quick {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: clamp(28px, 4vw, 56px);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.v637-quick-label {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 11px 18px 11px 0;
  white-space: nowrap;
  color: #576d58;
  font-size: .74rem;
  text-transform: uppercase;
  font-weight: 750;
  letter-spacing: .08em;
}
.v637-quick a {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex: 1 0 auto;
  min-height: 51px;
  padding: 12px 16px;
  border-left: 1px solid #c4d0c6;
  text-decoration: none;
  color: #204637;
  font-weight: 700;
  font-size: clamp(.85rem, 1vw, .94rem);
  scroll-snap-align: start;
}
.v637-quick a:last-child {background:#e8ede5}
.v637-quick a:hover {background:#dfebdc;text-decoration: underline;text-underline-offset: 4px;}
.v637-quick a:focus-visible {outline: 3px solid #b6844a;outline-offset: -3px;}
.v637-quick a span {color:#82613b}
.v637-service section[id] {scroll-margin-top: 110px;}
.v637-lens {
  padding-block: clamp(70px, 8.5vw, 128px);
  background: #173e32;
  color: var(--cream-1);
}
.v637-lens-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(45px, 7vw, 116px);
}
.v637-lens-lead {align-self:start}
.v637-lens .eyebrow {color:#edcea3;font-size:.76rem;letter-spacing:.12em}
.v637-lens h2 {
  color: #fff8ea;
  max-width: 15ch;
  margin: 0 0 26px;
  font-size: clamp(2.8rem, 4.3vw, 5.05rem);
  line-height: 1.08;
  letter-spacing: -.044em;
  text-wrap: balance;
}
.v637-lens-lead > p {
  max-width: 52ch;
  color: #dbe5db;
  line-height: 1.8;
  font-size: clamp(1.04rem, 1.28vw, 1.16rem);
}
.v637-lens-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  margin-top: 25px;
  color: #f7dcb6;
  font-weight: 750;
  text-underline-offset: 5px;
}
.v637-lens-list {counter-reset: none;list-style: none;margin:0;padding:0;border-top: 1px solid #537967}
.v637-lens-list li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 20px;
  padding: clamp(24px,3.2vw,40px) 0;
  border-bottom: 1px solid #537967;
}
.v637-lens-n {font: 400 1.47rem Georgia,serif;color:#d6b68a}
.v637-lens-list h3 {
  margin: 0 0 10px;
  color: var(--cream-1);
  font-size: clamp(1.3rem, 1.9vw, 2rem);
  letter-spacing: -.022em;
  line-height: 1.2;
}
.v637-lens-list p {margin:0;color:#dce7dd;line-height:1.78;max-width:57ch}
.v637-lens :focus-visible {outline:3px solid #e9bb7d;outline-offset:5px}
@media(max-width: 1020px) {
  .v637-service .detail-hero{grid-template-columns:1fr}
  .v637-service .detail-hero > div{padding:clamp(35px, 6vw, 70px)}
  .v637-service .detail-hero h1{max-width:22ch}
  .v637-service .detail-hero figure{min-height: 310px;max-height:530px}
  .v637-service .detail-hero figure img {aspect-ratio:16/9}
  .v637-lens-grid{grid-template-columns:1fr;gap:40px}
  .v637-lens h2{max-width:23ch}
}
@media(max-width: 720px) {
  .v637-prep-layout{grid-template-columns:1fr;gap:20px}
  .v637-quick-label{display:none}
  .v637-quick a{padding-inline:13px;min-width:max-content;font-size:.87rem}
  .v637-quick a:first-of-type{border-left:0}
}
@media(max-width: 620px) {
  .v637-service .detail-hero{margin:10px -16px 31px;border-radius:0}
  .v637-service .detail-hero > div{padding:46px 23px 42px}
  .v637-service .detail-hero h1{font-size:clamp(2.65rem,10.6vw,3.65rem)}
  .v637-service .detail-hero figure{height:335px;min-height:280px}
  .v637-service .detail-hero figure img{height:100%;aspect-ratio:auto}
  .v637-service .detail-hero figure figcaption{left:12px;right:12px;bottom:12px}
  .v637-lens{padding-block:66px}
  .v637-lens h2{font-size:clamp(2.65rem,10.4vw,3.8rem)}
  .v637-lens-list li{grid-template-columns:31px minmax(0,1fr);gap:13px}
  .v637-lens-n{font-size:1.2rem}
  .v637-prep{padding-bottom:10px}
}
@media(prefers-reduced-motion:reduce) {
  .v637-service *{scroll-behavior:auto!important}
}


/* V6.38 — Pages locales éditoriales et retour d'orientation 404.
   Photographies de la médiathèque : aucune attribution de chantier local. */
.sop-local-hero{background:#193e32;color:#f8f7f2;overflow:hidden}
.sop-local-hero__grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(32px,5vw,84px);align-items:center;padding-block:clamp(44px,6vw,92px)}
.sop-local-hero .breadcrumb{color:var(--sand)}
.sop-local-hero .breadcrumb a{color:inherit}
.sop-local-hero__copy{min-width:0}
.sop-local-hero h1{max-width:14ch;font-size:clamp(2.8rem,5.2vw,5.5rem);line-height:1.05;letter-spacing:-.048em;margin-bottom:22px}
.sop-local-hero .sop-local-kicker{color:#d5dcb7;margin:24px 0 16px}
.sop-local-standfirst{font-family:var(--serif);font-size:clamp(1.3rem,2.15vw,2rem);line-height:1.32;color:#f4efd9;max-width:36rem}
.sop-local-hero .lead{color:var(--sand);max-width:61ch;font-size:1rem}
.sop-local-hero .button{background:var(--sand);border-color:var(--sand);color:#193e32}
.sop-local-hero .button:hover{background:white;color:#193e32}
.sop-local-hero .hero-secondary{color:white;text-underline-offset:6px}
.sop-local-hero__visual{position:relative;min-width:0;margin:0}
.sop-local-hero__visual img{display:block;object-fit:cover;aspect-ratio:4/5;width:100%;height:auto;max-height:710px;border-radius:2px}
.sop-local-hero__visual figcaption{font-size:.76rem;line-height:1.5;color:#eee9d9;margin-top:10px}
.sop-local-entry{background:#f1f2e9;border-bottom:1px solid #d7dcd3}
.sop-local-entry__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.sop-local-entry__item{position:relative;display:flex;flex-direction:column;gap:7px;text-decoration:none;padding:25px 32px 31px;border-left:1px solid #d7dcd3}
.sop-local-entry__item:last-child{border-right:1px solid #d7dcd3}
.sop-local-entry__num{color:#57705e;font-size:.8rem;letter-spacing:.15em;font-weight:750}
.sop-local-entry__item strong{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.6rem);font-weight:400;line-height:1.2}
.sop-local-entry__desc{font-size:.875rem;line-height:1.5;color:#475449;max-width:30ch}
.sop-local-entry__arrow{position:absolute;right:22px;top:24px;font-size:1.2rem}
.sop-local-entry__item:hover,.sop-local-entry__item:focus-visible{background:#e7ebdb}
.sop-local-steps{background:#fffefa}
.sop-local-steps h2{max-width:21ch}
.sop-local-steps__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin:30px 0}
.sop-local-steps__item{border-top:2px solid #193e32;padding-top:24px}
.sop-local-steps__item h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
.sop-local-steps__item p{max-width:40ch}
.sop-404{background:#193e32;color:#f8f7f2;padding-block:clamp(72px,10vw,140px)}
.sop-404__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(40px,8vw,110px);align-items:center}
.sop-404 h1{max-width:12ch}
.sop-404 .lead{max-width:55ch;color:var(--sand)}
.sop-404 .button{background:var(--sand);color:#193e32;border-color:var(--sand)}
.sop-404 .text-link{color:white}
.sop-404__directory{padding:clamp(24px,4vw,44px);background:#f4f2e8;color:#193e32}
.sop-404__directory h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:12px}
.sop-404__directory nav{display:grid;gap:0}
.sop-404__directory a{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #c6cfc4;text-decoration:none}
.sop-404__directory a:hover{text-decoration:underline}
@media(max-width:860px){
  .sop-local-hero__grid{grid-template-columns:1fr;gap:28px}
  .sop-local-hero h1{max-width:16ch}
  .sop-local-hero__visual img{aspect-ratio:16/10;max-height:500px}
  .sop-local-hero__visual{max-width:690px}
  .sop-local-entry__item{padding:22px 20px}
  .sop-404__layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .sop-local-hero__grid{padding-block:32px 42px}
  .sop-local-hero h1{font-size:clamp(2.5rem,9vw,3.4rem)}
  .sop-local-hero__visual img{aspect-ratio:4/3}
  .sop-local-entry__grid,.sop-local-steps__grid{grid-template-columns:1fr}
  .sop-local-entry__item{border-left:0;border-right:0;border-bottom:1px solid #d7dcd3;padding:22px 6px}
  .sop-local-entry__item:last-child{border-right:0}
  .sop-local-steps__grid{gap:16px}
  .sop-404{padding-block:50px}
}
@media(prefers-reduced-motion:reduce){.sop-local-entry__item{transition:none}}

.sop-local-hero .breadcrumb [aria-current='page']{color:var(--sand)}

/* ==========================================================================
   V6.43 — corrections ciblées (logo, menu, 320 px, diaporama, conseils).
   Ajoutées en fin de feuille pour ne pas réécrire les couches précédentes.
   ========================================================================== */
h1,h2,h3{overflow-wrap:break-word}

/* Logo validé original sur toutes les largeurs ; plus d'imitation typographique. */
.brand-logo{width:240px}
.header .brand{padding-block:6px}
@media(max-width:1100px){.brand-logo{width:220px}}
@media(max-width:760px){.header .brand-logo{display:block;width:172px}}
@media(max-width:360px){.header .brand-logo{width:148px}.header-inner{gap:8px}}
.footer .brand-logo{width:220px}

/* Menu : quatre métiers, sous-prestations en retrait, terrassement en complément. */
.desktop-services nav{width:330px}
.desktop-services nav .nav-pillar,.mobile-menu nav .nav-pillar{font-weight:700;color:var(--green)}
.desktop-services nav .nav-sub,.mobile-menu nav .nav-sub{padding-left:28px;font-size:.875rem;color:#3f5547;position:relative}
.desktop-services nav .nav-sub::before,.mobile-menu nav .nav-sub::before{content:"";position:absolute;left:14px;top:50%;width:7px;border-top:1px solid #8aa08f}
.desktop-services nav .nav-extra,.mobile-menu nav .nav-extra{border-top:1px solid var(--line);margin-top:6px;font-size:.875rem;color:#3f5547}
.mobile-menu .nav-group{display:block;padding:14px 12px 6px;font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#566c58}
.mobile-menu .nav-group:not(:first-child){border-top:1px solid var(--line);margin-top:8px}
.mobile-menu nav .nav-contact{font-weight:700;background:var(--green);color:#fff;margin-top:8px;border-radius:4px}
.mobile-menu nav .nav-contact[aria-current="page"]{border-left:0;background:var(--green)}
.desktop-nav{gap:22px}
@media(max-width:1180px){.desktop-nav{gap:15px;font-size:.8125rem}}

/* Pied de page : quatre colonnes. */
.footer-grid{grid-template-columns:1.3fr .9fr .9fr 1fr}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}}

/* Galerie : le balayage horizontal revient au script, défilement vertical et zoom conservés. */
.photo-dialog img{touch-action:pan-y pinch-zoom}

/* Checklist : boutons clairs lisibles sur le panneau vert foncé. */
.sop-prep-panel .button.light{color:#f9f7ef;border-color:#cbd8cc;background:transparent}
.sop-prep-panel .button.light:hover{background:#f9f7ef;color:#193e32}

/* Accueil V6.43 : diaporama des quatre métiers. */
.home-v643 .landscape-frame{display:flex;flex-direction:column;background:#17372d}
.home-v643 .landscape-frame::after{display:none}
.hero-slides{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s ease}
.hero-slide.is-current{opacity:1;z-index:1}
.hero-slide img,.home-v643 .landscape-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.home-v643 .hero-slide figcaption{position:absolute;left:clamp(14px,2.4vw,36px);right:auto;bottom:clamp(14px,2.4vw,30px);z-index:2;display:flex;flex-direction:column;gap:2px;max-width:calc(100% - 28px);padding:12px 16px;background:rgba(18,47,38,.9);color:#f8f5eb;font-size:.8rem;letter-spacing:.02em;border-radius:3px}
.home-v643 .hero-slide figcaption span{font:400 1.25rem/1.2 var(--serif);letter-spacing:-.01em}
.home-v643 .hero-slide figcaption a{color:#f1dcb6;font-weight:650;min-height:32px;display:inline-flex;align-items:center}
.hero-slide-controls{display:flex;align-items:center;gap:8px;padding:10px clamp(14px,2.4vw,36px);background:#17372d;color:#f8f5eb;flex-wrap:wrap}
.hero-slide-controls button{min-height:44px;min-width:44px;border:1px solid #7f9a89;background:transparent;color:#f8f5eb;border-radius:4px;font:inherit;font-size:.875rem;padding:8px 12px}
.hero-slide-controls button:hover{background:#244b3d}
.hero-slide-controls button:disabled{opacity:.75;cursor:default}
.hero-slide-controls :focus-visible{outline:3px solid #f1dcb6;outline-offset:2px}
.hero-slide-arrow{font-size:1.1rem!important;line-height:1}
.hero-slide-dots{display:flex;gap:2px;margin-left:auto}
.hero-slide-dots button{border:0;padding:0;min-width:36px;position:relative}
.hero-slide-dots button::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:3px;background:#7f9a89;border-radius:2px}
.hero-slide-dots button[aria-current="true"]::after{background:#f1dcb6}
@media(min-width:801px){
 .home-v643 .landscape-frame{position:relative}
 .home-v643 .hero-slides{min-height:clamp(520px,68vh,700px)}
 .home-v643 .hero-slide-controls{position:absolute;left:clamp(14px,2.4vw,36px);bottom:clamp(14px,2.4vw,30px);z-index:3;padding:6px;border-radius:4px;background:rgba(18,47,38,.92)}
 .home-v643 .hero-slide figcaption{bottom:calc(clamp(14px,2.4vw,30px) + 70px)}
 .home-v643 .hero-slide-dots{margin-left:6px}
}
@media(max-width:800px){
 .home-v643 .landscape-hero{display:flex;flex-direction:column}
 .home-v643 .landscape-frame{order:-1;aspect-ratio:auto;min-height:0;height:auto;flex:none}
 .home-v643 .hero-slides{aspect-ratio:4/3;flex:none}
 .home-v643 .landscape-content{padding-top:30px}
}
@media(max-width:560px){
 .home-v643 .hero-slides{aspect-ratio:5/4}
 .home-v643 .hero-slide figcaption{left:10px;bottom:10px;padding:9px 12px}
 .home-v643 .hero-slide figcaption span{font-size:1.05rem}
 .hero-slide-controls{padding:8px 12px;gap:6px}
 .hero-slide-pause{flex:1 1 auto}
 .hero-slide-dots{display:none}
}
@media(max-width:360px){.hero-slide-controls button{padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Accueil : carte terrassement sans débordement à 320 px (grille contrainte, titre adapté). */
@media(max-width:800px){
 .home-v5 .home-practical-services>a{grid-template-columns:minmax(0,1fr);min-height:0}
}
@media(max-width:560px){
 .home-v5 .home-practical-services>a{padding:26px 20px}
 .home-v5 .home-practical-services h3{font-size:clamp(1.85rem,8.6vw,2.5rem)}
 .home-v5 .home-featured-services .home-service h3{font-size:clamp(2rem,9.6vw,2.65rem)}
}

/* Accueil : conseils pratiques. */
.v643-advice-teaser{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:start;padding-block:clamp(48px,6vw,90px);border-top:1px solid var(--line)}
.v643-advice-teaser h2{font-size:clamp(2rem,3.2vw,3.2rem);margin:10px 0 16px}
.v643-advice-teaser-head p{color:var(--muted);max-width:46ch}
.v643-advice-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.v643-advice-list a{display:grid;gap:4px;padding:18px 20px;border:1px solid #cfd8cc;border-radius:6px;background:#fffefa;text-decoration:none;min-height:44px}
.v643-advice-list a:hover{border-color:#6f8f79;background:#f3f5ee}
.v643-advice-list span{font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#566c58}
.v643-advice-list strong{font:400 1.2rem/1.3 var(--serif);color:var(--green)}
@media(max-width:800px){.v643-advice-teaser{grid-template-columns:minmax(0,1fr)}}

/* Pages métiers : repères (pour qui, déroulement, éléments à transmettre). */
.v643-reperes{padding-block:clamp(48px,6vw,88px);border-top:1px solid var(--line)}
.v643-reperes-head{max-width:62ch;margin-bottom:clamp(24px,3vw,40px)}
.v643-reperes-head h2{font-size:clamp(2rem,3.2vw,3.1rem);margin:10px 0 14px}
.v643-reperes-head p{color:var(--muted)}
.v643-reperes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,34px)}
.v643-reperes-grid>div{background:#fffefa;border:1px solid #d6ddd2;border-radius:6px;padding:clamp(20px,2.4vw,30px)}
.v643-reperes-grid h3{font-size:1.35rem;margin-bottom:12px}
.v643-reperes-grid ul,.v643-reperes-grid ol{margin:0;padding-left:1.15rem;line-height:1.6}
.v643-reperes-grid li+li{margin-top:7px}
.v643-reperes-grid p{margin:12px 0 0;font-size:.92rem;color:var(--muted)}
.v643-reperes-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:22px}
@media(max-width:900px){.v643-reperes-grid{grid-template-columns:minmax(0,1fr)}}

/* Espace Conseils : un seul blog, relié aux métiers et aux réalisations. */
.v643-blog-hero{padding-block:clamp(36px,6vw,84px) clamp(24px,3vw,40px)}
.v643-blog-hero h1{max-width:18ch}
.v643-blog-hero p{max-width:62ch;color:var(--muted);font-size:1.08rem}
.v643-blog-filters{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:0;list-style:none}
.v643-blog-filters a{display:inline-flex;min-height:44px;align-items:center;font-weight:650}
.v643-blog-group{padding-block:clamp(28px,4vw,56px);border-top:1px solid var(--line)}
.v643-blog-group h2{font-size:clamp(1.7rem,2.6vw,2.4rem);margin-bottom:18px}
.v643-blog-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v643-blog-list a{display:grid;gap:8px;height:100%;padding:22px 24px;border:1px solid #cfd8cc;border-radius:6px;background:#fffefa;text-decoration:none}
.v643-blog-list a:hover{border-color:#6f8f79;background:#f3f5ee}
.v643-blog-list strong{font:400 1.35rem/1.25 var(--serif);color:var(--green)}
.v643-blog-list span{color:var(--muted);font-size:.95rem;line-height:1.6}
.v643-blog-list small{font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#566c58}
@media(max-width:760px){.v643-blog-list{grid-template-columns:minmax(0,1fr)}}
.v643-article{padding-block:clamp(28px,5vw,70px)}
.v643-article-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(28px,5vw,80px);align-items:start}
.v643-article header h1{font-size:clamp(2.3rem,4.2vw,4.2rem);max-width:20ch}
.v643-article .v643-lead{font-size:1.15rem;line-height:1.7;max-width:62ch;color:#33493d}
.v643-article-meta{font-size:.85rem;color:var(--muted);margin-bottom:26px}
.v643-article-body{max-width:68ch}
.v643-article-body h2{font-size:clamp(1.7rem,2.6vw,2.35rem);margin:46px 0 16px;scroll-margin-top:24px}
.v643-article-body h3{font-size:1.3rem;margin:28px 0 10px}
.v643-article-body li{line-height:1.65}
.v643-article-body li+li{margin-top:8px}
.v643-article-body table{width:100%;border-collapse:collapse;margin:10px 0 26px;font-size:.95rem}
.v643-article-body th,.v643-article-body td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.v643-article-body th{background:#eef1e8;font-weight:700}
.v643-table-wrap{overflow-x:auto;max-width:100%}
.v643-callout{border-left:4px solid #6f8f79;background:#eef2ea;padding:16px 20px;margin:24px 0;border-radius:0 4px 4px 0}
.v643-callout p:last-child{margin-bottom:0}
.v643-callout.is-caution{border-left-color:#a45937;background:#fbf3ea}
.v643-toc{position:sticky;top:20px;border:1px solid #d6ddd2;border-radius:6px;padding:20px;background:#fffefa}
.v643-toc h2{font:700 .78rem/1.5 system-ui;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.v643-toc ol{margin:0;padding-left:1.1rem;font-size:.92rem}
.v643-toc li+li{margin-top:6px}
.v643-toc a{display:inline-block;padding-block:3px}
.v643-toc .button{margin-top:18px;width:100%}
.v643-article-next{margin-top:48px;padding:clamp(22px,3vw,36px);background:#17372d;color:#f8f5eb;border-radius:6px}
.v643-article-next h2{color:var(--cream-1);margin-top:0}
.v643-article-next p{color:#dfe8dc}
.v643-article-next .button{background:#e9d3ad;color:#163e32;border-color:#e9d3ad}
.v643-article-next .text-link{color:#f1dcb6}
.v643-article-next :focus-visible{outline-color:#f1dcb6}
@media(max-width:900px){.v643-article-layout{grid-template-columns:minmax(0,1fr)}.v643-toc{position:static;order:-1}}

/* Zones : seize communes en grille compacte. */
.v643-communes .sop-v633-commune-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v643-communes .sop-v633-commune-grid>a{min-height:0;padding:20px 22px;gap:8px}
.v643-communes .sop-v633-commune-grid>a>strong{font-size:clamp(1.1rem,1.5vw,1.45rem)}
@media(max-width:1000px){.v643-communes .sop-v633-commune-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.v643-communes .sop-v633-commune-grid{grid-template-columns:minmax(0,1fr)}}

/* Galerie : note sur le statut des photographies. */
.v643-photo-note{max-width:70ch;font-size:.9rem;color:var(--muted);border-left:3px solid #a4b9a9;padding-left:14px;margin:8px 0 22px}
.v643-article-figure{margin:0 0 8px}
.v643-article-figure img{border-radius:6px;max-height:420px;object-fit:cover}
.v643-article-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}
.v643-article-body section:first-of-type h2{margin-top:30px}
/* Le libellé de pause change de longueur : largeur fixe et position après les flèches,
   pour qu’aucun bouton ne se déplace sous le doigt pendant un appui. */
.hero-slide-pause{min-width:13.2em}
@media(max-width:560px){.hero-slide-pause{min-width:0}}
.v643-toc li{line-height:1.5}
.v643-toc li+li{margin-top:10px}
.v643-toc ol a{display:inline;padding-block:2px}

/* ==========================================================================
   V6.44 — accueil en grille, contact remonté sur mobile, finitions.
   ========================================================================== */
/* Accueil : les quatre métiers d'un coup d'œil (2 × 2) sur grand écran. */
@media(min-width:1001px){
 .home-v643 .home-featured-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .home-v643 .home-featured-services .home-service{grid-column:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:0;padding:0;align-items:stretch;min-height:0;border-bottom:0;border-radius:6px;overflow:hidden}
 .home-v643 .home-featured-services .home-service:nth-child(even) .home-service-image{order:0}
 .home-v643 .home-featured-services .home-service:nth-child(n){background:#f4f3ed}
 .home-v643 .home-featured-services .home-service:nth-child(2),.home-v643 .home-featured-services .home-service:nth-child(3){background:#e8ece2}
 .home-v643 .home-featured-services .home-service-image{min-height:0;height:auto;aspect-ratio:16/10}
 .home-v643 .home-featured-services .home-service-copy{align-self:start;padding:clamp(28px,2.6vw,42px)}
 .home-v643 .home-featured-services .home-service h3{font-size:clamp(2.1rem,2.8vw,3rem);margin:14px 0 14px;max-width:none}
 .home-v643 .home-featured-services .home-service p{font-size:1rem;line-height:1.7}
}
/* Mobile : cartes plus compactes, photo moins haute. */
@media(max-width:560px){
 .home-v643 .home-featured-services .home-service-image{aspect-ratio:16/10}
 .home-v643 .home-featured-services .home-service-copy{padding:24px 20px 30px}
 .home-v643 .home-featured-services .home-service h3{margin:12px 0 12px}
}
/* Contact : informations, puis formulaire, puis conseils photos et étapes (ordre du document). */
.contact-aside{min-width:0}
.contact-aside>*+*{margin-top:24px}
@media(min-width:761px){
 .contact-layout{grid-template-areas:"info form" "aside form" "addr addr";grid-template-rows:auto 1fr auto;align-items:start}
 .contact-info{grid-area:info}.contact-form{grid-area:form}.contact-aside{grid-area:aside}.contact-addresses{grid-area:addr}
}
/* Encart « À lire avant votre demande ». */
.v644-read-next{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-block:22px;margin-block:10px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v644-read-next p{margin:0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#566c58}
/* Sommaire d'article : bouton centré verticalement. */
.v643-toc .button{line-height:1.3;padding-block:12px}
/* Contact : respiration entre « Préciser ma demande » et les champs suivants. */
.project-options{margin-bottom:20px}
/* Diaporama : la place des commandes est réservée dès le premier affichage (aucun décalage du titre) ;
   elles restent invisibles et hors tabulation tant que le script n’est pas prêt. */
.hero-slideshow:not(.slideshow-ready) .hero-slide-controls{visibility:hidden}

/* V6.50 — dossier final */
.footer-hours{margin:6px 0 0;font-size:.92rem}
.hero-actions .hero-phone{white-space:nowrap}
@media(min-width:1001px){
 .home-v643 .home-featured-services.home-five{grid-template-columns:repeat(6,minmax(0,1fr))}
 .home-v643 .home-featured-services.home-five .home-service{grid-column:span 2}
 .home-v643 .home-featured-services.home-five .home-service:nth-child(-n+2){grid-column:span 3}
 .home-v643 .home-featured-services.home-five .home-service:nth-child(n+3) h3{font-size:clamp(1.6rem,2vw,2.1rem)}
}
.sop-v632-pathways-inner a{min-width:0}
.home-who .care-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.v650-prose{max-width:min(860px,100%)}
.v650-prose>h2{margin-top:10px}
.v650-prose>h3,.v650-prose .v650-note h3{margin:22px 0 6px}
.v650-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;margin-top:20px}
.v650-cards article{background:#fffefa;border:1px solid var(--line);border-radius:6px;padding:20px}
.v650-cards h3{margin:0 0 8px;font-size:1.2rem}
.v650-cards p{margin:0}
.v650-list,.v650-steps{padding-left:1.25em;margin:16px 0}
.v650-list li,.v650-steps li{margin:0 0 10px}
.v650-note{border-left:3px solid var(--green);background:var(--accent);padding:16px 20px;margin:20px 0}
.v650-note .v650-list{margin:0}
.v650-source{display:block;font-size:.84rem;color:var(--muted);margin-top:10px}
.v650-table{overflow-x:auto;margin-top:18px}
.v650-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem}
.v650-table caption{text-align:left;font-size:.84rem;color:var(--muted);padding-bottom:8px}
.v650-table th,.v650-table td{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left}
.v650-table thead th{background:var(--accent)}
.v650-timeline{list-style:none;padding:0;margin:20px 0;border-left:2px solid var(--line)}
.v650-timeline li{padding:0 0 18px 20px}
.v650-timeline strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem}
.v650-group{margin:26px 0 12px;font-size:1.25rem}
.contact-hours{margin:8px 0 14px;font-size:.95rem}
.contact-addresses p{margin:0 0 6px}
.legal-copy{overflow-wrap:anywhere}
.v650-table:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.hero-actions .hero-phone{background:transparent;color:#fffefa;border:1px solid rgba(255,254,250,.65)}
.hero-actions .hero-phone:hover{background:rgba(255,254,250,.12);color:#fffefa}
@media(min-width:1001px){.sop-v632-pathways-inner{grid-template-columns:minmax(150px,auto) repeat(5,minmax(0,1fr))}}
@media(min-width:561px) and (max-width:1000px){.sop-v632-pathways-inner{grid-template-columns:repeat(3,minmax(0,1fr))}}
.editorial-columns .mail-link{display:block;margin-top:8px}
.v643-communes .sop-v633-commune-grid{min-width:0}
.sop-v633-commune-grid a{min-width:0;overflow-wrap:anywhere}
@media(max-width:560px){
 .v643-communes .sop-v633-commune-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v643-communes .sop-v633-commune-grid a{padding:14px 12px}
 .v643-communes .sop-v633-commune-grid small{display:none}
}
h1,h2{overflow-wrap:break-word}
@media(max-width:360px){.v634-portfolio-text h1{font-size:2.25rem}}
.v650-source a{text-decoration:underline}

/* V6.50 — photos de chantiers */
.v651-photos h2{margin-top:10px}
.v651-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-top:22px}
.v651-grid figure,.v651-compare figure{margin:0;min-width:0}
.v651-grid img,.v651-compare img,.v651-mosaic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.v651-grid figcaption,.v651-compare figcaption{font-size:.86rem;color:var(--muted);padding-top:8px;line-height:1.4}
.v651-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.v651-compare b{display:inline-block;background:var(--green);color:#fffefa;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:3px;margin-right:6px}
.v651-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.v651-mosaic a{position:relative;display:block;min-width:0;overflow:hidden;border-radius:6px;color:#fffefa}
.v651-mosaic a:first-child{grid-column:span 2;grid-row:span 2}
.v651-mosaic a:first-child img{height:100%}
.v651-mosaic span{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;font-size:.84rem;line-height:1.3;background:linear-gradient(transparent,rgba(15,38,30,.88))}
#gallery-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#gallery-photos .gallery-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
#gallery-photos figcaption h2{font-size:1.2rem;line-height:1.25}
@media(max-width:1000px){#gallery-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.v651-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
 #gallery-photos{gap:10px}
 #gallery-photos figcaption{padding:10px}
 #gallery-photos figcaption h2{font-size:1rem;margin:0}
 #gallery-photos figcaption p{font-size:.82rem;margin:4px 0 0}
 #gallery-photos .gallery-actions{display:none}
 .v651-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .v651-compare{grid-template-columns:1fr}
}
@media(max-width:560px){#gallery-photos .photo-open{font-size:0;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}#gallery-photos .photo-open[hidden]{display:none}#gallery-photos .photo-open span{font-size:17px}}
