@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#233126;--cream:#f6f3eb;--stone:#e5e5dc;--accent:#bd753c;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.demo-banner{padding:8px clamp(15px,4vw,65px);background:#1d2921;color:#faf5ec;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.demo-banner a{text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,5vw,80px);gap:30px;background:var(--cream);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:14px;font:800 17px/1.05 Manrope,Arial,sans-serif;letter-spacing:.02em}.brand em{font-style:normal;color:var(--accent)}.brand small{display:block;font:500 9px/2 'DM Sans',Arial,sans-serif;letter-spacing:.1em}.brand-icon{width:48px;height:48px;border:1px solid var(--ink);display:grid;place-items:center;font-size:20px;letter-spacing:-.15em;padding-right:5px}.brand-icon span,.footer-logo span{color:var(--accent)}.header nav{display:flex;gap:25px;font-size:13px;font-weight:700}.header nav a:hover,.footer a:hover{color:var(--accent)}.header-contact{background:var(--ink);color:white;padding:14px 21px;font-weight:700;font-size:12px;white-space:nowrap}.header-contact span{margin-left:18px;color:#e4b68c}.hero{min-height:680px;background:#263629;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero-visual{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(15,29,20,.94) 0%,rgba(16,32,23,.83) 39%,rgba(16,32,23,.13) 100%),var(--bg);background-size:cover;background-position:center}.hero-content{position:relative;width:min(780px,90%);padding:110px 0 120px clamp(25px,9vw,160px)}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:#e9b58e}.eyebrow.dark{color:#ad6c3b}.hero h1,.inner-hero h1{font:700 clamp(56px,7vw,112px)/1.04 Manrope,Arial,sans-serif;letter-spacing:-.065em;margin:30px 0}.hero h1 i,.contact-section h2 i{font-style:normal;color:#ddb28a}.hero p{max-width:555px;color:#e0e6dc;font-size:17px}.button{display:inline-block;background:var(--accent);color:white;padding:17px 25px;margin-top:25px;font-weight:700;font-size:13px}.button.light{background:var(--cream);color:var(--ink)}.button.dark{background:var(--ink)}.hero-vertical{position:absolute;right:25px;bottom:50px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em}.opening,.services,.contact-details{padding:100px clamp(25px,9vw,155px);display:grid;grid-template-columns:1fr 1.7fr;gap:7vw}.opening h2,.section-title h2,.split-copy h2,.contact-details h2{font:700 clamp(36px,4vw,65px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:0}.opening h2 em,.contact-details h2 em{font-style:normal;color:#ad6c3b}.opening p,.split-copy p,.contact-details p{color:#566259;font-size:17px;max-width:600px}.services{background:#e8e5dc;display:block}.section-title{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:45px}.service-row{border-top:1px solid #bac3b9;display:grid;grid-template-columns:65px minmax(210px,1.1fr) minmax(260px,1.3fr) 35px;gap:15px;align-items:center;padding:30px 4px}.service-row:last-child{border-bottom:1px solid #bac3b9}.service-row strong{font:700 clamp(19px,2vw,28px) Manrope,Arial,sans-serif;letter-spacing:-.04em}.service-row small{font-size:14px;color:#606b61}.service-row:hover strong{color:#aa6335}.image-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.split-img img{height:100%}.split-copy{padding:clamp(35px,7vw,105px);display:flex;flex-direction:column;justify-content:center}.split-copy h2{margin:25px 0}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding:8px 0;width:max-content;color:#9b582e;font-weight:700}.contact-section{padding:110px clamp(25px,9vw,155px);background:#203329;color:#fff}.contact-section h2{font:700 clamp(42px,5vw,80px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:18px 0}.contact-section p{max-width:620px;color:#d2ddd3}.contact-section small,.contact-details small{display:block;margin-top:16px;opacity:.7}.footer{background:#17241c;color:#e7ebdf;display:flex;justify-content:space-between;gap:25px;padding:50px clamp(25px,9vw,155px);font-size:12px}.footer-logo{font:800 38px Manrope;letter-spacing:-.2em}.footer p{opacity:.7}.footer>div:last-child{display:flex;gap:20px;align-items:start}.inner-hero{padding:65px clamp(25px,9vw,155px);min-height:540px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.inner-hero h1{font-size:clamp(43px,5vw,78px);margin:24px 0}.inner-hero p{font-size:18px;color:#59665b;max-width:540px}.inner-hero img{height:410px;background:#d8dbd0}.inner-hero.compact{min-height:450px}.contact-details{border-top:1px solid #cbd2c5}.contact-details p{padding-bottom:20px;border-bottom:1px solid #d7dbd1}.contact-details p b{color:#a25e35}.projects{padding:70px clamp(25px,9vw,155px) 110px;background:#e8e5dc}.project{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:7vw;margin:65px 0}.project:nth-child(odd){direction:rtl}.project>*{direction:ltr}.project img{height:390px}.project h3{font:700 clamp(30px,3vw,48px) Manrope;margin:20px 0;letter-spacing:-.05em}.project p{color:#657066;max-width:460px}@media(max-width:1000px){.header nav{gap:12px}.header-contact{display:none}.hero{min-height:610px}.opening,.contact-details{grid-template-columns:1fr;gap:22px}.service-row{grid-template-columns:42px 1fr 32px}.service-row small{grid-column:2;grid-row:2}.service-row b{grid-column:3;grid-row:1}.section-title{display:block}.inner-hero{gap:20px}}@media(max-width:680px){.demo-banner{font-size:8px;letter-spacing:0}.header{padding:16px 18px;flex-wrap:wrap}.header nav{order:2;width:100%;justify-content:space-between;font-size:12px}.brand{font-size:14px}.brand small{font-size:8px}.hero-content{padding:85px 25px}.hero h1{font-size:clamp(49px,12vw,71px)}.hero-vertical{display:none}.opening,.services,.contact-details,.projects{padding:65px 25px}.service-row{padding:22px 0}.image-split,.inner-hero,.project{grid-template-columns:1fr}.image-split .split-img{height:340px}.split-copy{padding:55px 25px}.contact-section{padding:70px 25px}.inner-hero{padding:45px 25px}.inner-hero img{height:260px}.project:nth-child(odd){direction:ltr}.project img{height:275px}.footer{padding:45px 25px;display:block}.footer>div:last-child{margin-top:30px;flex-wrap:wrap}.section-title h2{margin-top:15px}}

/* V1.102 — direction éditoriale couverture */
:root{--couverture-outline:#c7cbc4}
.hero-content{max-width:850px}.hero-content p{max-width:530px;line-height:1.75}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,28,25,.52),rgba(11,28,25,.10) 74%);pointer-events:none}
.service-row{transition:background-color .2s,padding .2s}.service-row:hover{background:rgba(226,229,220,.58);padding-left:14px;padding-right:14px}
.service-row:focus-visible,.header a:focus-visible,.button:focus-visible{outline:3px solid #bb8556;outline-offset:4px}
.inner-hero img,.project img,.split-img img{object-fit:cover}
@media(max-width:680px){.hero-content p{font-size:15px}.service-row small{line-height:1.6}.header nav{overflow-x:auto;justify-content:flex-start;gap:19px;padding-bottom:4px}.header nav a{white-space:nowrap}}

/* V1.108 — photographies de métier documentées, source de secours et crédits accessibles. */
.hero-visual{background-image:linear-gradient(90deg,rgba(15,29,20,.94) 0%,rgba(16,32,23,.78) 43%,rgba(16,32,23,.12) 100%),var(--bg),url('couverture-visuel-secours.svg');background-size:cover;background-position:center 48%;background-repeat:no-repeat}
.inner-hero img,.project img,.split-img img{background:#294039 url('couverture-visuel-secours.svg') center/cover no-repeat}
.photo-credits{background:#e8e8df;border-top:1px solid #c2ccc1;padding:22px clamp(25px,9vw,155px);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font:12px/1.5 'DM Sans',Arial,sans-serif;color:#42564c}
.photo-credits span{width:100%;font-size:10px;letter-spacing:.1em;font-weight:800}
.photo-credits a{color:#245446;text-decoration:underline;text-underline-offset:3px}
.photo-credits a:hover,.photo-credits a:focus-visible{color:#a45e33}
.photo-credits p{width:100%;font-size:11px;margin:2px 0 0;color:#526b60}
@media(max-width:680px){.photo-credits{padding:25px;display:flex;flex-direction:column;gap:7px}.hero-visual{background-position:center 52%}}
