:root{--forest:#1b362b;--lime:#c7d9ac;--paper:#f6f5ee;--ink:#26372d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,sans-serif;line-height:1.7}h1,h2,h3{font-family:Georgia,serif;line-height:1.1;font-weight:400}h1{font-size:clamp(2.7rem,6vw,5.8rem);letter-spacing:-.04em}h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.03em}h3{font-size:1.7rem}a{color:inherit;text-underline-offset:5px}a:hover{color:#687e48}img{max-width:100%;display:block}header{background:var(--forest);color:white}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:106px;gap:30px}.brand{text-decoration:none;line-height:1.05;font-size:1.5rem;letter-spacing:.04em}.brand small{display:block;font-size:.6rem;letter-spacing:.18em;margin-top:8px}nav{display:flex;gap:25px;align-items:center}nav a{font-size:.83rem;text-decoration:none}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #abb9ad;padding:8px 14px}.button{display:inline-block;background:var(--forest);color:white;border:1px solid var(--forest);padding:15px 25px;text-decoration:none;font-size:.9rem;border-radius:0}.button:hover{background:#34513c;color:white}.button.light{background:var(--lime);border-color:var(--lime);color:var(--forest)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.69rem;font-weight:bold;display:block;margin-bottom:22px}.hero{display:grid;grid-template-columns:46% 54%;min-height:660px;background:var(--forest);color:white}.hero-copy{padding:75px max(30px,calc((100vw - 1320px)/2)) 70px;padding-right:50px;align-self:center}.hero-copy p{max-width:430px;color:#d2dbd1;margin:28px 0}.hero-visual{position:relative;min-height:570px}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-visual span{position:absolute;bottom:30px;left:30px;background:#142c22d9;padding:10px 18px;font-size:.72rem;color:white}.section{padding:95px 0}.intro{max-width:850px;font-size:1.18rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-heading h2{max-width:650px;margin:0}.muted{color:#647164}.card-project{height:100%;text-decoration:none;display:block}.card-project .photo{overflow:hidden;background:#dce1d2;aspect-ratio:4/3}.card-project img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.card-project:hover img{transform:scale(1.035)}.card-project h3{font-size:1.65rem;margin:20px 0 10px}.card-project p{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.services{border-top:1px solid #c8cebf}.service-row{display:grid;grid-template-columns:70px 1fr 1fr 40px;gap:25px;border-bottom:1px solid #c8cebf;padding:32px 0;text-decoration:none;align-items:center}.service-row h3{margin:0}.service-row p{margin:0;color:#647164;font-size:.94rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split img{width:100%;aspect-ratio:4/5;object-fit:cover}.dark{background:var(--forest);color:white}.dark p{color:#d3ddd1}.page-head{padding:75px 0 55px;background:#e9eddf}.page-head h1{font-size:clamp(2.5rem,5vw,4.7rem);max-width:1000px}.page-head p{max-width:750px;font-size:1.1rem}.breadcrumbs{font-size:.75rem;margin-bottom:25px}.prose{max-width:850px}.prose h2{font-size:2.6rem;margin-top:50px}.prose li{margin-bottom:12px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery a{display:block;aspect-ratio:4/3}.cta{padding:65px 0;background:#dbe5c9}.cta .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:2.7rem;margin:0}.footer{background:#152a21;color:#d5dfd2;padding:65px 0 25px;font-size:.85rem}.footer h3{color:white;font-size:1.4rem}.footer a{display:inline-block;margin:4px 15px 4px 0}.footer-bottom{border-top:1px solid #4c5a4b;margin-top:45px;padding-top:23px;font-size:.72rem}.filter{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 35px}.filter button{background:transparent;border:1px solid #87977a;padding:9px 18px;color:var(--ink)}.filter button[aria-pressed=true]{background:var(--forest);color:white}.form-label{font-size:.85rem}.form-control,.form-select{border-radius:0;border:1px solid #98a28d;padding:13px;background:#fffef9}.hp{position:absolute;left:-9999px}.form-status{margin-top:20px}.skip{position:absolute;top:-100px;left:10px;z-index:10;background:white;color:black;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid #a37a25;outline-offset:5px}dialog{border:0;max-width:94vw;padding:15px;background:var(--paper)}dialog::backdrop{background:#08140fee}dialog img{max-height:78vh;width:auto;max-width:85vw;object-fit:contain}dialog button{padding:8px 16px;border:1px solid var(--forest);background:var(--forest);color:white;margin-bottom:12px}.note{background:#e6eadc;padding:20px;border-left:3px solid #6d8057}.press-item{padding:30px 0;border-bottom:1px solid #c8cebf}.press-item h2{font-size:2rem}.social{margin-top:25px}.photo-caption{font-size:.76rem;margin-top:10px}.video-link{display:block;background:var(--forest);color:white;padding:50px;margin-top:25px;text-decoration:none}.video-link span{font-size:2rem;display:block}footer .brand{font-size:1.7rem}@media(min-width:1400px){.container{max-width:1280px}}@media(max-width:991px){.nav-wrap{min-height:86px;flex-wrap:wrap;padding:20px 12px}.menu-toggle{display:block}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px 0;border-top:1px solid #526349}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 25px}.hero-visual{min-height:420px}.hero h1{max-width:680px}.section{padding:65px 0}.split{gap:30px}.service-row{grid-template-columns:35px 1fr 30px}.service-row p{grid-column:2;grid-row:2}.service-row .arrow{grid-column:3;grid-row:1}}@media(max-width:600px){.split{grid-template-columns:1fr}.hero-visual{min-height:320px}.section-heading,.cta .container{display:block}.section-heading a{display:inline-block;margin-top:22px}.cta .button{margin-top:25px}.page-head{padding:45px 0}.section{padding:50px 0}.service-row{gap:13px}h3{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.brand-logo{display:block;width:240px;max-width:48vw;height:auto}.image-caption{font-size:.85rem;margin:.6rem 0;color:#526050}

/* Palette sombre : logo original sur noir, photographies sans filtre. */
:root{--forest:#101513;--lime:#c7d9ac;--paper:#171a18;--ink:#f0f1eb;color-scheme:dark}
body{background:var(--paper);color:var(--ink)}
header{background:#000;border-bottom:1px solid #262b27}
.nav-wrap{min-height:150px;gap:35px}.brand-logo{width:150px;max-width:32vw;height:auto}
nav a{color:#eeeee8}nav a:hover,nav a[aria-current=page]{color:var(--lime)}
a:hover{color:var(--lime)}
.hero{background:#0b0e0c}.hero-copy p,.dark p{color:#c7cec7}
.hero-visual span{background:#000b}.eyebrow{color:var(--lime)}
.section-featured,.page-head{background:#202521}.page-head{border-bottom:1px solid #343c34}
.breadcrumbs,.muted,.service-row p,.image-caption,.photo-caption{color:#bec7bd}
.services,.service-row,.press-item{border-color:#414a40}
.card-project .photo{background:#252d26}.card-project:hover h3{color:var(--lime)}
.dark{background:#0e120f}.cta{background:#263127;border-top:1px solid #414e3e}
.button,.filter button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:#142015}
.button:hover,.button.light:hover{background:#e0edcb;border-color:#e0edcb;color:#142015}
.button.light{color:#142015}.filter button{border-color:#768770;color:#eee}
.footer{background:#000;color:#c8d0c5}.footer-bottom{border-color:#394037}
.form-control,.form-select{background-color:#222923;border-color:#788573;color:#f2f4ee}
.form-control:focus,.form-select:focus{background-color:#28312a;color:#fff;border-color:var(--lime);box-shadow:0 0 0 .2rem #c7d9ac30}
.form-control::placeholder{color:#afb9ac}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e8eee4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
.note{background:#293328;border-color:var(--lime)}.video-link{background:#273128}
dialog{color:var(--ink);border:1px solid #5f6d59}dialog button{background:var(--lime);color:#142015;border-color:var(--lime)}
:focus-visible{outline-color:var(--lime)}
@media(max-width:991px){.nav-wrap{min-height:120px;padding:12px}.brand-logo{width:115px}nav a{border-color:#394137}}
/* Couleurs explicites pour Bootstrap et les aperçus intégrés. */
:root{--bs-body-color:#f0f1eb;--bs-body-bg:#171a18;--bs-heading-color:#f0f1eb;--bs-secondary-color:#bec7bd;--bs-emphasis-color:#fff;--bs-link-color:#f0f1eb;--bs-link-hover-color:#c7d9ac}
h1,h2,h3,h4,h5,h6{color:#f0f1eb}
main,footer,header{color:#f0f1eb}
.service-row h3,.card-project h3,.page-head h1,.cta h2{color:#f0f1eb}
.form-label,.form-check-label{color:#f0f1eb}
/* Couleurs de contenu : ne pas dépendre des styles hérités de l'hôte. */
main p,main li,main label,main .breadcrumbs{color:#d5ddd2}
main a:not(.button):not(.service-row):not(.card-project):not(.video-link){color:#dce8d2}
main a:not(.button):hover{color:#e4f2cf}
main .service-row,main .card-project{color:#f0f1eb}
main .service-row p,main .card-project p,main .image-caption,main .photo-caption{color:#bec7bd}
footer.footer,footer.footer p,footer.footer a,footer.footer .footer-bottom{color:#d5ddd2}
footer.footer h3{color:#f0f1eb}
footer.footer a:hover{color:#e4f2cf}
