@font-face{font-family:Manrope;src:url('manrope-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--forest:#234638;--stone:#f6f3eb;--slate:#2c4953;--sage:#dce4d8;--ink:#26342c;--line:#c9cec4;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--stone);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}img{display:block;width:100%;height:auto}button{cursor:pointer}::selection{background:var(--sage);color:var(--forest)}:focus-visible{outline:3px solid #6b8d7f;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.1}h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.06em}h2{font-size:clamp(2.2rem,4.2vw,4.2rem);letter-spacing:-.055em}h3{font-size:1.55rem;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}p{max-width:65ch}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}.muted{color:#58685e}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--forest);color:var(--stone);padding:12px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:106px}.brand{font-size:1.75rem;letter-spacing:-.065em;line-height:.95;font-weight:500;color:var(--forest);display:inline-block}.brand span{display:block}.nav{display:flex;align-items:center;gap:30px;font-size:.875rem}.nav a{position:relative}.nav a:not(.nav-contact):after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav-contact{border:1px solid var(--forest);padding:12px 20px;border-radius:2px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px 15px}.hero{padding-top:62px}.hero-top{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:end;margin-bottom:46px}.hero h1{margin-bottom:0;color:var(--forest)}.hero h1 em{color:var(--slate)}.hero-intro{padding-bottom:8px}.hero-intro p{max-width:340px;font-size:1rem;margin-bottom:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;background:var(--forest);border:1px solid var(--forest);color:var(--stone);padding:15px 22px;border-radius:2px;font-size:.875rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:var(--slate);transform:translateY(-2px)}.button.light{background:var(--stone);color:var(--forest);border-color:var(--stone)}.button.outline{background:transparent;color:var(--forest)}.button[disabled]{opacity:.6;cursor:wait;transform:none}.arrow{font-family:Arial,sans-serif;font-size:1.35rem;line-height:1}.hero-image{position:relative;overflow:hidden}.hero-image img{aspect-ratio:2.3;object-fit:cover;object-position:center 58%}.image-caption{display:flex;justify-content:space-between;gap:16px;padding-top:12px;color:#526255;font-size:.75rem}.intro-line{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start}.intro-line h2{max-width:790px;margin:0}.services{padding-top:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-head h2{margin:0}.text-link{display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid;padding-bottom:5px;font-size:.875rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:40px;background:var(--forest);color:var(--stone);min-height:320px;display:flex;flex-direction:column;position:relative}.service-card:nth-child(2){background:var(--slate)}.service-card .eyebrow{margin-bottom:42px;color:var(--sage)}.service-card h3{font-size:2.6rem;margin-bottom:20px}.service-card p{max-width:440px;font-size:.9375rem}.service-card .text-link{align-self:start;margin-top:auto}.service-card:hover .arrow{transform:translateX(3px)}.feature{background:#e7ebe1}.feature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.feature-image{margin:0}.feature-image img{aspect-ratio:.92;object-fit:cover}.feature-copy p{max-width:470px}.feature-copy .text-link{margin-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:50px}.step{border-top:1px solid var(--line);padding-top:20px}.step-number{font-size:.75rem;color:var(--slate);margin-bottom:35px;display:block}.step p{font-size:.9375rem;margin-bottom:0}.region{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:50px;margin-top:80px}.region h3{font-size:2rem}.region p{margin-bottom:0}.contact-banner{background:var(--forest);color:var(--stone);padding-block:75px}.contact-banner .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-banner h2{margin:0;max-width:780px}.footer{padding-block:55px 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;margin-bottom:55px}.footer p,.footer a:not(.brand){font-size:.875rem}.footer-links{display:flex;flex-direction:column;align-items:start;gap:9px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.75rem}.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a{font-size:.75rem!important}.page-heading{padding-block:75px 60px}.page-heading h1{max-width:1000px;margin-bottom:25px}.page-heading .lede{font-size:1.15rem;max-width:670px}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}.detail-photo{margin:0}.detail-photo img{aspect-ratio:1.05;object-fit:cover}.detail-list{border-top:1px solid var(--line)}.detail-list article{padding-block:24px;border-bottom:1px solid var(--line)}.detail-list h3{margin-bottom:13px}.detail-list p{margin-bottom:0;font-size:.9375rem}.narrow{max-width:820px}.narrow h2{font-size:2rem;margin-top:44px}.narrow h3{margin-top:25px}.narrow a{text-decoration:underline}.gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:28px}.gallery figure{margin:0}.gallery figure:nth-child(2){padding-top:100px}.gallery img{aspect-ratio:1.1;object-fit:cover}.gallery figcaption{padding-top:16px}.gallery figcaption span{display:block;font-size:.75rem;color:#58685e;margin-top:4px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-bottom:100px}.contact-aside h2{font-size:2rem}.contact-aside .contact-detail{border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.contact-detail a{text-decoration:underline;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full,.form-actions,.form-notice{grid-column:1/-1}.field label{font-size:.875rem}.field input,.field select,.field textarea{background:transparent;border:1px solid #89988c;border-radius:2px;color:var(--ink);width:100%;padding:13px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest)}.field [aria-invalid=true]{border-color:#984137}.field-error{font-size:.8125rem;color:#863b30}.form-hint{font-size:.75rem;color:#58685e}.form-actions{display:flex;flex-direction:column;align-items:start;gap:16px}.form-actions p{font-size:.75rem;margin-bottom:0}.form-actions p a{text-decoration:underline}.notice{padding:20px 24px;border-left:3px solid var(--slate);background:var(--sage);margin-bottom:25px}.notice.error{background:#f1e8e0;border-color:#984137}.notice h2{font-size:1.4rem;margin-bottom:8px}.notice p:last-child{margin-bottom:0}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq{margin-top:70px}.faq details{border-top:1px solid var(--line);padding-block:22px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1.05rem}.faq p{margin:18px 0 0;max-width:740px}.reveal{opacity:1;transform:none}.motion-ready .reveal.pending{opacity:0;transform:translateY(20px)}.motion-ready .reveal{transition:opacity .65s ease,transform .65s ease}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){.hero-image img{aspect-ratio:2.6}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.nav{gap:19px}.hero-top{gap:35px}.feature-grid,.detail-grid,.contact-layout{gap:40px}.section{padding-block:80px}.services{padding-top:0}.intro-line{grid-template-columns:1fr 2.3fr}.hero h1{font-size:4rem}.contact-banner h2{font-size:2.8rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:90px;flex-wrap:wrap;padding-block:20px;gap:20px}.brand{font-size:1.5rem}.menu-toggle{display:inline-block}.nav{display:flex;flex-wrap:wrap;width:100%;gap:20px;padding:10px 0}.nav.menu-enhanced{display:none}.nav.menu-enhanced.is-open{display:flex}.nav-contact{padding:8px 13px}.hero{padding-top:35px}.hero-top,.intro-line,.feature-grid,.detail-grid,.contact-layout{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(2.8rem,11vw,4.7rem)}.hero-top{margin-bottom:30px}.hero-intro p{max-width:500px}.hero-image img{aspect-ratio:1.12}.image-caption{font-size:.75rem;flex-wrap:wrap}.section{padding-block:65px}.services{padding-top:0}.intro-line{gap:18px}.section-head{align-items:start;flex-direction:column;gap:22px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:30px;min-height:290px}.service-card .eyebrow{margin-bottom:30px}.service-card h3{font-size:2.25rem}.feature-copy{grid-row:1}.feature-image img{aspect-ratio:1.05}.steps{grid-template-columns:1fr;gap:26px;margin-top:35px}.step-number{margin-bottom:18px}.region{grid-template-columns:1fr;gap:16px;margin-top:50px;padding-top:35px}.contact-banner .wrap{flex-direction:column;align-items:start;gap:30px}.contact-banner h2{font-size:2.65rem}.footer-top{grid-template-columns:1fr 1fr;gap:35px;margin-bottom:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px}.page-heading{padding-block:50px 35px}.page-heading h1{font-size:clamp(2.7rem,10vw,4rem)}.page-heading .lede{font-size:1rem}.gallery{grid-template-columns:1fr;gap:40px}.gallery figure:nth-child(2){padding-top:0}.contact-layout{padding-bottom:65px}.form-grid{gap:20px}.contact-aside{border-bottom:1px solid var(--line);padding-bottom:25px}.faq{margin-top:40px}}
@media(max-width:400px){.form-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.hero h1{font-size:2.65rem}.service-card{padding:26px}.button{gap:17px;padding:14px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal.pending{opacity:1;transform:none}}
/* Secteurs : navigation réelle entre trois pages locales. */
.nav-sectors{position:relative}.nav-sectors summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding-block:8px}.nav-sectors summary::-webkit-details-marker{display:none}.nav-sectors summary:after{content:'+';font-size:1rem}.nav-sectors[open] summary:after{content:'−'}.nav-sectors .is-current{text-decoration:underline;text-underline-offset:7px}.sector-dropdown{position:absolute;top:calc(100% + 14px);left:-20px;min-width:210px;display:flex;flex-direction:column;gap:4px;background:var(--stone);border:1px solid var(--line);padding:14px;box-shadow:0 12px 30px #26342c12}.sector-dropdown a{padding:8px 12px;white-space:nowrap}.sector-dropdown a:hover,.sector-dropdown a[aria-current=page]{background:var(--sage)}.nav .sector-dropdown a:after{display:none}.footer-top{grid-template-columns:1.35fr .8fr .8fr 1.1fr;gap:24px}.footer-links a{overflow-wrap:anywhere}.sectors-home{padding-top:0}.sectors-home .section-head>p{max-width:350px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.sector-card{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;align-items:start}.sector-card h3{font-size:2rem;transition:color .2s}.sector-card p{font-size:.9375rem}.sector-card .text-link{margin-top:auto}.sector-card:hover h3{color:var(--slate)}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:.8125rem;color:#58685e;margin-bottom:35px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.local-heading h1{max-width:none}.local-heading .lede{max-width:780px}.local-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}.local-tabs a{padding:10px 20px;border:1px solid var(--line);font-size:.875rem;border-radius:2px}.local-tabs a:hover{border-color:var(--forest)}.local-tabs a[aria-current=page]{background:var(--forest);color:var(--stone);border-color:var(--forest)}.local-story{background:#e7ebe1}.local-story .intro-line{padding:0}.local-story .intro-line p:last-child{margin-top:25px;margin-bottom:0}.local-services{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:55px}.local-services article{border-top:1px solid #bdc8b8;padding-top:24px}.local-services p{margin-bottom:0;font-size:.9375rem}.local-service-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:35px}.local-contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:start}.local-contact-grid h2{font-size:clamp(2rem,3.4vw,3.2rem)}.local-contact-card{background:var(--sage);padding:35px}.local-contact-card h3{font-size:1.8rem}.local-contact-card .button{display:flex}.local-phone{display:block;margin-top:20px;text-align:center;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}.faq-heading{font-size:2rem}
@media(min-width:761px) and (max-width:1000px){.nav{gap:15px;font-size:.8125rem}.nav-contact{padding:10px 13px}.brand{font-size:1.6rem}.footer-top{grid-template-columns:1.3fr 1fr}.local-contact-grid{gap:35px}}
@media(max-width:760px){.nav-sectors{width:100%;order:5}.nav-sectors summary{justify-content:space-between;border-top:1px solid var(--line);padding-block:14px}.sector-dropdown{position:static;box-shadow:none;background:transparent;border:0;border-left:1px solid var(--line);margin-bottom:12px;padding:0 8px;gap:2px}.sector-dropdown a{padding:8px 14px}.footer-top{grid-template-columns:1fr 1fr}.sector-grid,.local-services,.local-contact-grid{grid-template-columns:1fr;gap:30px}.sector-card h3{margin-bottom:18px}.local-services{margin-top:35px}.local-contact-card{padding:28px}.local-tabs{gap:8px}.local-tabs a{padding:9px 13px}.sectors-home{padding-top:0}.breadcrumb{margin-bottom:28px}.local-service-links{gap:20px;flex-direction:column;align-items:start}}
@media(max-width:400px){.footer-top{grid-template-columns:1fr}.local-tabs a{font-size:.8125rem;padding:8px 11px}}
/* Photographies de réalisations validées par le propriétaire du site. */
.projects-preview{display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:start}.project-photo{margin:0;min-width:0}.project-photo img{aspect-ratio:1.6;object-fit:cover;object-position:center 35%}.project-photo a{display:block;overflow:hidden}.project-photo a img{transition:transform .45s}.project-photo a:hover img{transform:scale(1.025)}.project-photo figcaption{padding-top:20px}.project-photo figcaption h2,.project-photo figcaption h3{font-size:1.85rem;margin:9px 0 15px;letter-spacing:-.045em}.project-photo figcaption p{font-size:.9375rem;max-width:480px;margin-bottom:0}.projects-preview .project-photo:nth-child(2){padding-top:65px}.projects-preview .project-photo:nth-child(2) img{aspect-ratio:1.18}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.project-gallery .project-photo:nth-child(even){padding-top:90px}.project-gallery .project-photo:nth-child(even) img{aspect-ratio:1.3}.project-gallery .project-photo:last-child img{aspect-ratio:1.6;object-position:center top}.process-section{padding-top:0}
@media(max-width:760px){.projects-preview,.project-gallery{grid-template-columns:1fr;gap:40px}.projects-preview .project-photo:nth-child(2),.project-gallery .project-photo:nth-child(even){padding-top:0}.projects-preview .project-photo:nth-child(2) img,.project-gallery .project-photo:nth-child(even) img{aspect-ratio:1.5}.project-photo figcaption h2,.project-photo figcaption h3{font-size:1.6rem}.process-section{padding-top:0}}
.photo-note{display:block;margin-top:12px;color:#58685e;font-size:.75rem;line-height:1.5}
.inspiration-gallery figure:first-child img{aspect-ratio:1.6;object-position:center 60%}.inspiration-gallery figure:nth-child(2) img{aspect-ratio:1;object-position:center}
