@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:#101b22;--ink2:#1d3039;--paper:#f4f2ed;--white:#fff;--gold:#d8bb80;--muted:#5b686e;--line:#d6d8d4;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}a{color:inherit}button{font:inherit}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.7rem;z-index:10}.skip:focus{top:1rem}.site-header{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.3rem,5vw,5.5rem);border-bottom:1px solid #ffffff2b;position:relative;z-index:5}.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.1;min-width:11rem}.brand-main{font-family:Manrope,sans-serif;font-size:1.55rem;font-weight:800;letter-spacing:-.07em;white-space:nowrap}.brand-main i{font-style:normal;color:var(--gold);font-weight:500;letter-spacing:.04em}.brand-sub{text-transform:uppercase;font-size:.56rem;letter-spacing:.21em;margin-top:.35rem;color:#c3c9c9}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.2rem)}.site-header nav a{font-size:.89rem;text-decoration:none;color:#e6e8e5}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.site-header nav .nav-contact{border:1px solid #6f766f;padding:.85rem 1.1rem}.menu-toggle{display:none;background:none;border:0;color:white;cursor:pointer}.hero,.expertises,.team,.contact{color:#fff;background:var(--ink)}.hero{padding:clamp(3.5rem,7vw,7rem) clamp(1.3rem,5vw,5.5rem) 1.4rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:34rem;align-items:center;gap:4rem}.hero-copy{max-width:48rem;padding-bottom:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.79rem;font-weight:700;margin-bottom:1.7rem}.eyebrow.dark{color:#8d6c37}h1{font-size:clamp(3.1rem,6vw,6.65rem);line-height:1.05;max-width:12ch;margin-bottom:1.7rem}h1 em{font-style:normal;color:var(--gold)}.lead{font-size:clamp(1.08rem,1.45vw,1.35rem);line-height:1.7;color:#d3d9d8;max-width:40rem}.hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2.6rem}.button{display:inline-flex;gap:2rem;justify-content:space-between;align-items:center;text-decoration:none;background:var(--gold);color:var(--ink);padding:1.12rem 1.35rem;font-weight:700;min-height:3.6rem}.button:hover{background:#f0d5a0}.text-link{display:inline-flex;gap:.8rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.35rem;font-weight:600}.hero-art{height:31rem;border:1px solid #75808356;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 25%,#40505a 0,transparent 44%),linear-gradient(135deg,#20333c,#0d171d);overflow:hidden}.hero-art:before,.hero-art:after{content:'';position:absolute;width:36rem;height:36rem;border:1px solid #c7b0805a;border-radius:50%;transform:translate(17%,25%)}.hero-art:after{width:24rem;height:24rem;transform:translate(21%,28%)}.art-word{font-family:Manrope,sans-serif;font-size:clamp(6rem,14vw,13rem);font-weight:800;letter-spacing:-.14em;color:#ffffff0e;transform:rotate(-90deg);white-space:nowrap}.art-line{position:absolute;background:var(--gold);width:1px;height:62%;left:51%;top:10%;transform:rotate(42deg)}.art-caption{position:absolute;bottom:2rem;left:2rem;color:#d6c197;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}.hero-foot{border-top:1px solid #ffffff38;display:flex;justify-content:space-between;gap:1rem;padding-top:1.3rem;color:#acb5b5;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.section{padding:clamp(4.5rem,8vw,8.5rem) clamp(1.3rem,5vw,5.5rem)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem)}h2{font-size:clamp(2.3rem,4.2vw,4.6rem);line-height:1.12;max-width:15ch;margin-bottom:1.2rem}.split p,.section-heading>p{font-size:1.12rem;line-height:1.8;color:#49575d}.intro .split>div{padding-top:.3rem}.expertises{background:var(--ink2)}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3rem}.section-heading>p{color:#bbc6c7;max-width:23rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff38;border-left:1px solid #ffffff38}.cards article{border-right:1px solid #ffffff38;border-bottom:1px solid #ffffff38;padding:2.2rem;min-height:19rem}.cards span{color:var(--gold);font-size:.83rem;letter-spacing:.1em}.cards h3{font-size:1.55rem;line-height:1.25;margin:2rem 0 1rem}.cards p{line-height:1.7;color:#c1caca}.cards .card-contact{background:#d8bb80;color:var(--ink)}.card-contact span{color:#594524}.card-contact a{display:inline-block;margin-top:.7rem;font-weight:700;text-decoration:none;border-bottom:1px solid}.method{background:#e9e7e0}.method-heading{margin-bottom:4rem}.method ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.method li{border-top:1px solid #777d79;padding:1.5rem 0}.method li span{color:#805f2e;font-weight:700}.method li p{font-size:1.14rem;line-height:1.65;margin-top:3rem;max-width:21rem}.team{background:var(--ink)}.team .split p{color:#c8d1d1}.team .text-link{margin-top:1rem}.team-names{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#6c7677;margin-top:5rem;border:1px solid #6c7677}.team-names>div{background:var(--ink);padding:1.6rem;display:flex;flex-direction:column;gap:1rem}.team-names span{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em}.team-names strong{font-size:1.2rem}.places{background:#f4f2ed}.places-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.places-list span{border:1px solid #b8c0bb;padding:.7rem 1rem;font-weight:600}.contact{text-align:center;background:#172932}.contact h2{max-width:20ch;margin:0 auto 1.4rem}.contact p:not(.eyebrow){color:#d3d9d8;max-width:39rem;margin:0 auto 2.4rem;font-size:1.13rem;line-height:1.7}.contact .button{margin:auto}footer{background:#0b151b;color:#c3caca;padding:3rem clamp(1.3rem,5vw,5.5rem);display:flex;align-items:center;gap:2rem;justify-content:space-between;font-size:.83rem}footer p{margin:0}footer>a:last-child{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:1000px){.site-header nav{gap:.9rem}.site-header nav a{font-size:.78rem}.hero-grid{gap:2rem}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.site-header{padding:1rem 1.3rem}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#172832;padding:1.5rem;flex-direction:column;align-items:stretch;box-shadow:0 18px 30px #0005}.site-header nav.open{display:flex}.site-header nav a{font-size:1rem;padding:.5rem}.hero{padding-top:4rem}.hero-grid,.split{grid-template-columns:1fr}.hero-grid{min-height:auto}.hero-copy{padding-bottom:0}.hero-art{height:14rem;order:-1}.art-word{font-size:6rem;transform:none}.hero-foot{flex-wrap:wrap;font-size:.7rem}.section-heading{display:block}.cards{grid-template-columns:1fr}.cards article{min-height:0}.method ol,.team-names{grid-template-columns:1fr}.method li p{margin-top:1.2rem}.team-names{margin-top:3rem}footer{flex-wrap:wrap;align-items:start}footer .brand{width:100%}h1{font-size:clamp(3rem,10vw,4.8rem)}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Lisibilité renforcée pour la clientèle du cabinet. */
:root{font-size:18px}
body{line-height:1.6}
.brand-main{font-size:1.7rem}
.brand-sub{font-size:.89rem;letter-spacing:.07em;line-height:1.3}
.site-header nav a{font-size:.96rem;line-height:1.35}
.menu-toggle{font-size:1rem}
.eyebrow,.art-caption,.hero-foot,.cards span,.team-names span{font-size:.9rem;line-height:1.5;letter-spacing:.08em}
.lead,.split p,.section-heading>p,.cards p,.method li p,.contact p:not(.eyebrow){font-size:1.12rem;line-height:1.7}
.cards h3{font-size:1.65rem}
.button,.text-link,.card-contact a{font-size:1rem;line-height:1.45}
.team-names strong{font-size:1.3rem}
.places-list span{font-size:1rem}
footer{font-size:.94rem;line-height:1.5}
@media(max-width:1200px){.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#172832;padding:1.5rem;flex-direction:column;align-items:stretch;box-shadow:0 18px 30px #0005}.site-header nav.open{display:flex}.site-header nav a{font-size:1rem;padding:.55rem}.menu-toggle{display:block}}
@media(max-width:720px){.hero-foot{gap:.8rem 1.5rem}.art-caption{bottom:1rem;left:1rem}.cards article{padding:1.7rem}.contact .button{overflow-wrap:anywhere}.brand-sub{font-size:.85rem}footer{gap:1rem}}

/* Identité noire et blanche cohérente avec le film et le monogramme. */
:root{--ink:#080808;--ink2:#161616;--paper:#fff;--gold:#fff;--muted:#555;--line:#d4d4d4}
.site-header,.hero,.team{background:#080808}
.expertises{background:#171717}
.contact{background:#080808}
.method{background:#f1f1f1}
.places{background:#fff}
footer{background:#080808}
.eyebrow.dark,.method li span{color:#303030}
.brand{min-width:12.5rem;align-items:center}
.brand-mark{display:block;width:11.8rem;height:5.45rem;background:#000 url('/logo-bvm-cap-blanc-sur-noir.png') center center/100% auto no-repeat}
.brand-sub{color:#fff;text-align:center;font-size:.88rem;letter-spacing:.025em;margin-top:-.25rem;white-space:nowrap}
.site-header{padding-top:.55rem;padding-bottom:.55rem}
.site-header nav a:hover,.text-link:hover{color:#fff;text-decoration:underline;text-underline-offset:.35rem}
.button,.cards .card-contact{background:#fff;color:#080808}
.button:hover{background:#e8e8e8}
.hero-art{background:#000;border-color:#444;isolation:isolate}
.hero-art:before,.hero-art:after,.art-word,.art-line{display:none}
.hero-logo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1}
.art-caption{background:#080808d9;color:#fff;padding:.5rem .7rem;z-index:1}
.hero h1 em{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}
.card-contact span{color:#333}
.cards span,.team-names span{color:#fff}
.card-contact span{color:#333}
.places-list span{border-color:#777}
@media(max-width:720px){.brand{min-width:10rem}.brand-mark{width:10rem;height:4.65rem}.brand-sub{font-size:.72rem}.hero-art{height:17rem}.art-caption{font-size:.83rem}}
/* Direction finale : noir profond, blanc lisible, accents or. */
:root{--gold:#d6b875;--paper:#0b0b0b;color:#f7f7f4;background:#080808}
body{background:#080808;color:#f7f7f4}
.brand-sub{color:var(--gold)}
.site-header nav .nav-contact{border-color:#b79b62}
.hero h1 em{color:var(--gold);text-decoration:none}
.eyebrow,.cards span,.team-names span{color:var(--gold)}
.intro,.places{background:#101010;color:#f7f7f4}
.method{background:#171717;color:#f7f7f4}
.eyebrow.dark,.method li span{color:var(--gold)}
.split p,.section-heading>p{color:#d0d0ce}
.method li{border-color:#777}
.places-list span{border-color:#a89977;color:#f7f7f4}
.cards .card-contact{background:#d6b875;color:#080808}
.card-contact span{color:#242018}
.button{background:#d6b875;color:#080808}
.button:hover{background:#eed29c}
.contact{background:#111}
footer{background:#050505}

/* Monogramme doré et en-tête sans ligne concurrente. */
.brand{min-width:10.5rem;line-height:1;flex-shrink:0}
.brand-mark{width:10.5rem;height:5.5rem;background-color:#000;background-image:linear-gradient(#d6b875,#d6b875),url('/logo-bvm-cap-blanc-sur-noir.png');background-position:center;background-size:100% auto;background-repeat:no-repeat;background-blend-mode:multiply}
.hero-logo{width:100%;height:100%;background-color:#000;background-image:linear-gradient(#d6b875,#d6b875),url('/logo-bvm-cap-blanc-sur-noir.png');background-position:center;background-size:cover;background-repeat:no-repeat;background-blend-mode:multiply}
.hero-art{overflow:hidden}
.site-header nav{flex-wrap:nowrap}
.site-header nav a{white-space:nowrap}
.intro h2,.method h2,.places h2,.contact h2{color:#d6b875}
footer address{font-style:normal;line-height:1.6;min-width:13rem;color:#f5f5f3}
footer address span{color:#d6b875;font-weight:700}
@media(max-width:1200px){.site-header nav{flex-wrap:initial}.site-header nav a{white-space:normal}}
@media(max-width:720px){.brand{min-width:8rem}.brand-mark{width:8rem;height:4.2rem}.site-header{min-height:5.3rem}.hero-logo{background-size:100% auto}.hero-art{height:17rem}footer address{width:100%}}
/* Fichier du logo visible en premier ; la teinte or est un simple habillage. */
.brand-mark{display:block;width:10.5rem;height:5.5rem;background:#d6b875;overflow:hidden;flex:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}
.hero-art{margin:0;height:31rem;background:#0a0a0a}
.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-art .art-caption{font-size:.9rem;letter-spacing:.02em;text-transform:none;background:#080808df;right:1rem;left:1rem;bottom:1rem}
.film{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,5vw,5rem);background:#151515;color:#fff}
.film-copy h2{color:#d6b875}
.film-copy p:not(.eyebrow){font-size:1.12rem;line-height:1.7;color:#d0d0ce}
.film video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#000;border:1px solid #675537}
.team-photo{margin:3rem 0 0;max-width:56rem}
.team-photo img{display:block;width:100%;height:auto;border:1px solid #766747}
.team-photo figcaption{color:#cfc9bd;font-size:.92rem;line-height:1.5;margin-top:.7rem}
.cards h3 a{text-decoration:none;border-bottom:1px solid #d6b875}
.cards h3 a:hover{text-decoration:underline;text-underline-offset:.25em}
.territory-link{grid-column:1/-1;justify-self:start;margin-top:1.5rem;color:#d6b875}
@media(max-width:900px){.film{grid-template-columns:1fr}.hero-art{height:22rem}}
@media(max-width:720px){.brand-mark{width:8rem;height:4.2rem}.hero-art{height:18rem}.hero-art .art-caption{font-size:.85rem}.team-photo{margin-top:2rem}}
.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:3.5rem}
.portrait-grid figure,.work-gallery figure{margin:0;background:#181818;border:1px solid #695b3d;overflow:hidden}
.portrait-grid figcaption{color:#d6b875;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,2.6vw,2.6rem);font-weight:700;letter-spacing:-.04em;padding:1.2rem 1.5rem}
.portrait-grid img{display:block;width:100%;height:clamp(18rem,37vw,31rem);object-fit:cover;object-position:center 30%}
.together-title{color:#d6b875;font-size:clamp(1.9rem,3vw,3rem);margin:4.5rem 0 1.5rem}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.work-gallery img{display:block;width:100%;height:19rem;object-fit:cover;object-position:center}
.work-gallery figcaption{padding:1rem 1.2rem;color:#eee7d9;font-size:.95rem;line-height:1.4}
.team .team-names{display:block;margin-top:2rem;background:none;border:0}
.team .team-names>div{border-left:2px solid #d6b875;padding:1rem 1.5rem}
@media(max-width:900px){.work-gallery{grid-template-columns:1fr 1fr}.work-gallery figure:last-child{grid-column:1/-1}}
@media(max-width:720px){.portrait-grid,.work-gallery{grid-template-columns:1fr}.work-gallery figure:last-child{grid-column:auto}.work-gallery img{height:auto;max-height:26rem}.portrait-grid img{height:24rem}.together-title{margin-top:3rem}}
/* Pages métiers et territoires reprises de la maquette de travail. */
.subpage{background:#0e0e0e;color:#f7f7f4;min-height:60vh}
.subpage a{color:#d6b875;text-underline-offset:.25em}
.subpage .service-hero,.subpage .local-hero{background:#080808;padding:clamp(3.5rem,7vw,7rem) clamp(1.3rem,5vw,5.5rem);border-bottom:1px solid #554b37}
.subpage .service-hero h1,.subpage .local-hero h1{font-size:clamp(2.7rem,5.2vw,5.4rem);max-width:18ch;line-height:1.08;color:#d6b875;margin:1rem 0 1.5rem}
.subpage .service-hero p,.subpage .local-hero p{font-size:1.2rem;line-height:1.65;color:#e2e2e0;max-width:50rem}
.subpage .service-hero a,.subpage .local-nav a{display:inline-block;margin:1rem 1.5rem 0 0;font-size:1rem}
.subpage .wrap{padding:clamp(3.5rem,6vw,6rem) clamp(1.3rem,5vw,5.5rem);max-width:90rem;margin:auto}
.subpage .service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,7rem)}
.subpage h2{color:#d6b875;font-size:clamp(2rem,3vw,3.3rem);max-width:none}
.subpage p,.subpage li{font-size:1.07rem;line-height:1.72;color:#dededb}
.subpage .service-aside{padding:2rem;border:1px solid #736443;background:#1a1a1a}
.subpage .service-aside h2{font-size:1.65rem}
.subpage ul,.subpage ol{padding-left:1.5rem}
.subpage li{padding:.35rem 0}
.subpage .service-steps{background:#171717}
.subpage .service-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;padding:0}
.subpage .service-steps li{border-top:1px solid #8a784f;padding:1.3rem 0}
.subpage .service-steps strong{display:block;color:#d6b875;font-size:1.13rem;margin-bottom:.8rem}
.subpage .service-cta{text-align:center;background:#0a0a0a;padding:1rem 0}
.subpage .service-cta h2,.subpage .service-cta p{margin-left:auto;margin-right:auto}
.subpage .cities ul{columns:3;column-gap:3rem;list-style:none;padding:0}
.subpage .cities li{break-inside:avoid;border-bottom:1px solid #353535}
.subpage .cities summary{cursor:pointer;color:#d6b875;font-size:1.4rem;font-weight:700}
.subpage .source{font-size:.95rem;line-height:1.6;color:#bdbdb9}
.territory-content{padding:clamp(3.5rem,6vw,6rem) clamp(1.3rem,5vw,5.5rem)}
.territory-group{margin-bottom:3.5rem}.territory-group h2{border-bottom:1px solid #6b5839;padding-bottom:1rem}
.territory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.territory-grid a{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #6e5e3d;padding:1rem;text-decoration:none;font-size:1rem;background:#191919}
.territory-grid a:hover{background:#292318}
.territory-grid span{font-size:.9rem;color:#f5f0e6}
.territory-note{color:#d2d2cf;font-size:1rem}
@media(max-width:900px){.subpage .service-grid,.subpage .service-steps ol{grid-template-columns:1fr}.territory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage .cities ul{columns:2}}
@media(max-width:600px){.territory-grid{grid-template-columns:1fr}.subpage .cities ul{columns:1}}

/* The original monogram is a transparent image; tint only its visible pixels. */
.brand-mark{background:#000!important}
.brand-mark img{mix-blend-mode:normal!important;filter:brightness(0) saturate(100%) invert(79%) sepia(16%) saturate(1009%) hue-rotate(357deg) brightness(90%) contrast(89%)}

.brand{min-width:12rem}
.brand-mark{width:12rem;height:6rem;background:#000!important}
.brand-mark img{filter:none!important;mix-blend-mode:normal!important;object-fit:cover}
@media(max-width:720px){.brand{min-width:9rem}.brand-mark{width:9rem;height:4.5rem}}

/* Présentation du nom et formulaire de prise de contact. */
.brand-definition{min-width:16rem;max-width:23rem;color:#f5f0e6;font-size:1.05rem;line-height:1.55}.brand-definition strong{color:#d8bb80}.brand-definition span{font-size:1rem}
.contact{padding-block:clamp(4rem,7vw,7rem)}.contact-heading{max-width:55rem}.contact-heading p:not(.eyebrow){max-width:48rem}
.contact-form{max-width:78rem;margin:2.3rem auto 0;padding:clamp(1.5rem,3vw,3rem);border:1px solid #8d7446;background:#181818;color:#f7f4ed;box-shadow:0 18px 48px #0006}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}.form-grid label{display:flex;flex-direction:column;gap:.55rem;font-size:1.12rem;font-weight:650;line-height:1.45}.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:3.4rem;padding:.78rem 1rem;border:1px solid #9c8b70;border-radius:3px;color:#151515;background:#fff;font:inherit;font-size:1.12rem;line-height:1.4}.form-grid textarea{min-height:9rem;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #d8bb80;outline-offset:2px}.form-grid label>span,.consent [aria-hidden="true"]{color:#d8bb80}
.consent{display:flex;gap:.9rem;align-items:flex-start;margin:1.8rem 0 1rem;font-size:1.07rem;line-height:1.5}.consent input{width:1.35rem;height:1.35rem;flex:none;accent-color:#d8bb80;margin-top:.18rem}
.contact-form .form-note{font-size:1rem;line-height:1.6;color:#ddd7cb}.form-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.form-actions .button{border:1px solid #d8bb80;cursor:pointer;font-size:1.1rem}.form-actions .outline{color:#d8bb80;background:transparent}.form-status{min-height:1.5rem;margin:1rem 0 0;color:#f7d896;font-size:1.05rem}.email-fallback a{color:#e7c68c;font-size:1.18rem;text-underline-offset:.2em}
.territory-guide{font-size:1.28rem;line-height:1.55;color:#f4e0af;margin-bottom:2rem}.territory-grid a{font-size:1.12rem;min-height:4.2rem}.territory-grid a:after{content:'→';color:#d8bb80;font-size:1.3rem}.subpage .cities summary{font-size:1.5rem;line-height:1.4}.subpage .cities li{font-size:1.12rem;line-height:1.75}
@media(max-width:720px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.contact-form{margin-inline:-.35rem}.brand-definition{width:100%}}

.form-grid label{display:block;text-align:left}.form-grid input,.form-grid select,.form-grid textarea{display:block;margin-top:.55rem}

/* Bandeau de marque, hiérarchisé sur deux niveaux. */
.site-header{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(16rem,auto) minmax(10rem,1fr);grid-template-areas:"brand signature team" "nav nav nav";column-gap:1.5rem;row-gap:.8rem;padding-top:1rem;padding-bottom:.9rem;background:#050505}
.site-header .brand{grid-area:brand;justify-self:start;min-width:0}.site-header .brand-mark{width:11rem;height:5rem}
.header-signature{grid-area:signature;justify-self:center;text-align:center;border-left:1px solid #6d5837;border-right:1px solid #6d5837;padding:.25rem 1.5rem;line-height:1.4}
.header-signature span{display:block;font-family:Georgia,serif;color:#d8bb80;font-size:1.34rem;letter-spacing:.04em;white-space:nowrap}.header-signature small{display:block;color:#e9e6df;font-size:1rem;letter-spacing:.025em}
.header-team{grid-area:team;justify-self:end;text-align:right;color:#eee9de;font-family:Georgia,serif;font-size:1.13rem;line-height:1.4;white-space:nowrap}.header-team span{color:#d8bb80}.header-team small{display:block;font-family:Arial,sans-serif;font-size:.98rem;letter-spacing:.06em;color:#d8bb80}
.site-header nav{grid-area:nav;justify-content:center;gap:clamp(.9rem,2.3vw,2.5rem);padding-top:.8rem;border-top:1px solid #675436}.site-header nav a{font-size:1.06rem;color:#f3f0e9}.site-header nav .nav-contact{border-color:#c8a865;color:#f1d39d;padding:.55rem 1.2rem}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand team" "signature signature" "nav nav"}.header-signature{border:0;border-top:1px solid #6d5837;padding:.6rem .4rem 0;width:100%}.header-team{font-size:1rem}.site-header nav{gap:1rem}.site-header nav a{font-size:.96rem}}
@media(max-width:720px){.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand toggle" "signature signature";row-gap:.4rem}.site-header .brand-mark{width:8rem;height:4.2rem}.menu-toggle{grid-area:toggle;justify-self:end;display:block;font-size:1.08rem}.header-team{display:none}.header-signature{margin-top:.1rem}.header-signature span{font-size:1.1rem}.header-signature small{font-size:.92rem}.site-header nav{grid-area:nav;top:100%;border-top:1px solid #6d5837;background:#111;padding:1.3rem}.site-header nav a{font-size:1.1rem}}
