/* V1 éditoriale : uniquement les tailles centralisées dans site-v2.css. */
/* Logo officiel : présence renforcée sans alourdir la hauteur de navigation. */
.header .logo{width:330px}
.header{padding-block:8px}
@media(min-width:761px) and (max-width:1100px){.header .logo{width:290px}}
@media(max-width:760px){.header .logo{width:min(245px,calc(100% - 100px))}.header{padding-block:12px}.header nav{top:100%}}
.invitation-shine{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:2}
.section-shine{position:relative;isolation:isolate}
.section-shine>.invitation-shine{opacity:.65}
.invitation-shine-sweep{position:absolute;inset:-50% 0;opacity:0;background:linear-gradient(110deg,transparent 35%,rgba(242,240,225,.06) 43%,rgba(255,250,230,.23) 49%,rgba(255,250,230,.30) 50%,rgba(242,240,225,.08) 55%,transparent 63%)}
.invitation-shine-glint{position:absolute;top:24px;right:24px;width:80px;height:80px;opacity:0;background:radial-gradient(circle,rgba(255,252,235,.85),rgba(255,252,235,.18) 18%,transparent 65%)}
.invitation-shine-glint::before,.invitation-shine-glint::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(255,252,235,.95),transparent);clip-path:polygon(50% 0,55% 43%,100% 50%,55% 57%,50% 100%,45% 57%,0 50%,45% 43%)}
.invitation-shine-glint::after{transform:rotate(45deg) scale(.5);opacity:.5}
@media(prefers-reduced-motion:reduce){.invitation-shine{display:none}}
.direct-invitation{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;padding:76px 40px 28px;background:radial-gradient(ellipse at 85% 0,color-mix(in srgb,var(--cream) 22%,transparent),transparent 65%),var(--ochre);color:var(--brief-ink);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cream) 30%,transparent)}
.invitation-monogram{position:absolute;z-index:-1;right:-160px;top:-130px;width:740px;height:auto;transform:rotate(-14deg);opacity:.11;pointer-events:none;color:var(--ink)}
.invitation-copy{max-width:850px;margin-inline:auto;text-align:center}
.invitation-copy .eyebrow{font-size:var(--type-label);margin-bottom:28px}
.invitation-copy h2{font-size:var(--type-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);font-weight:600;text-wrap:balance}
.invitation-copy h2>span{font-weight:400}
.invitation-description{max-width:640px;margin:28px auto 32px;font-size:var(--type-body);line-height:var(--leading-body);text-wrap:pretty}
.invitation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:650px;margin:auto}
.invitation-action{display:flex;align-items:center;justify-content:center;gap:16px;min-height:86px;padding:16px 22px;border-radius:14px;border:1px solid var(--ink);text-align:left}
.invitation-call{background:var(--ink);color:var(--cream);box-shadow:0 8px 20px #36454c18}
.invitation-email{background:color-mix(in srgb,var(--cream) 25%,transparent);color:var(--brief-ink)}
.invitation-action svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.invitation-action>span{min-width:0}
.invitation-action-label{display:block;font-size:var(--type-label);line-height:1.5;margin-bottom:3px}
.invitation-action strong{display:block;font-weight:600;font-size:var(--type-body);line-height:var(--leading-body);overflow-wrap:anywhere}
.invitation-action:hover{background:var(--cream);color:var(--brief-ink);border-color:var(--cream)}
.direct-invitation a:focus-visible{outline:3px solid var(--brief-ink);outline-offset:5px}
.invitation-signature{margin-top:22px;font-size:var(--type-label);line-height:1.75}
.invitation-values{display:flex;justify-content:center;flex-wrap:wrap;gap:20px 48px;list-style:none;padding:26px 0 0;margin:48px 0 0;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);font-size:var(--type-label);line-height:1.75}
.invitation-values li{display:flex;align-items:center;gap:12px}
.invitation-values li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--ink)}
@media(max-width:760px){.direct-invitation{padding:48px 24px 24px;border-radius:18px}.invitation-monogram{width:520px;right:-270px;top:-50px;opacity:.08}.invitation-copy h2 br{display:none}.invitation-copy h2 span{display:block}.invitation-actions{grid-template-columns:1fr;max-width:380px}.invitation-action{min-height:80px}.invitation-values{flex-direction:column;align-items:center;gap:12px;margin-top:32px}.invitation-description{margin:24px auto}}
.quote-section .quote-heading{max-width:1000px;margin-bottom:40px}
.quote-section .quote-heading>p:not(.eyebrow){max-width:660px}
.quote-section .quote-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:24px;align-items:stretch}
.quote-section .quote-direct{display:flex;flex-direction:column;gap:32px;padding:36px;background:var(--ink);color:var(--cream);border-radius:20px;min-width:0}
.quote-section .quote-direct .eyebrow{color:color-mix(in srgb,var(--ochre) 72%,var(--cream));margin:0 0 14px;font-size:var(--type-label)}
.quote-section .quote-direct h3{color:var(--cream)}
.quote-section .quote-direct p{margin-top:16px}
.quote-contact-actions{display:grid;gap:12px}
.quote-section .quote-contact-button{display:flex;align-items:center;gap:18px;padding:18px 20px;min-height:84px;border:1px solid color-mix(in srgb,var(--cream) 30%,transparent);border-radius:12px;background:color-mix(in srgb,var(--cream) 6%,var(--ink));color:var(--cream);text-decoration:none}
.quote-section .quote-contact-button:hover{background:var(--ochre);border-color:var(--ochre);color:var(--brief-ink)}
.quote-contact-button svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.quote-contact-button>span{min-width:0}
.quote-action-label{display:block;font-size:var(--type-label);margin-bottom:4px}
.quote-contact-button strong{display:block;font-size:var(--type-body);font-weight:600;overflow-wrap:anywhere}
.quote-section .quote-direct :focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.quote-help{margin-top:auto;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--cream) 20%,transparent)}
.quote-help ul{padding:0;list-style:none;margin:18px 0;display:grid;gap:12px;font-size:var(--type-body);line-height:var(--leading-body)}
.quote-help li{position:relative;padding-left:20px}
.quote-help li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;background:var(--ochre);border-radius:50%}
.quote-section .quote-form{padding:36px;border:0;border-radius:20px;background:var(--cream);color:var(--brief-ink);min-width:0;box-shadow:0 12px 32px #36454c12}
.quote-section .quote-form h3{color:var(--brief-ink)}
.quote-section .quote-form .brief-form-fields{gap:22px 20px;margin-top:28px}
.quote-section .quote-form label{font-weight:600;margin-bottom:8px}
.quote-section .quote-form input,.quote-section .quote-form select,.quote-section .quote-form textarea{min-height:52px;border:1px solid color-mix(in srgb,var(--ink) 40%,var(--cream));border-radius:10px;background:color-mix(in srgb,var(--cream) 96%,var(--ink));color:var(--brief-ink);padding:13px 15px}
.quote-section .quote-form textarea{resize:vertical;min-height:140px}
.quote-section .quote-form :is(input,select,textarea):focus{outline:2px solid var(--ink);outline-offset:2px;background:var(--cream)}
.quote-section .quote-form :is(input,select,textarea)[aria-invalid=true]{border-width:2px;border-style:dashed}
.quote-section .quote-submit-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:26px}
.quote-section .quote-submit-row button{margin:0;padding:14px 24px;min-height:52px}
.quote-submit-row>a{font-size:var(--type-label);text-decoration:underline;text-underline-offset:4px;padding-block:10px}
.quote-section .quote-demo-note{margin-top:24px;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding-top:18px;font-size:var(--type-label)}
@media(max-width:1100px){.quote-section .quote-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.quote-section .quote-direct,.quote-section .quote-form{padding:26px}.quote-section .quote-form .brief-form-fields{grid-template-columns:1fr}}
@media(max-width:760px){.quote-section .quote-layout{grid-template-columns:1fr}.quote-section .quote-direct,.quote-section .quote-form{padding:24px}.quote-section .quote-submit-row{align-items:stretch;flex-direction:column}.quote-submit-row>a{text-align:center}.quote-section .quote-contact-button{padding:16px}}
.coverage-map-layout{display:grid;grid-template-columns:1fr 1.65fr;border:1px solid color-mix(in srgb,var(--ochre) 40%,transparent);border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--ink) 88%,#000)}
.coverage-map-copy{padding:36px;align-self:center}
.coverage-map-copy .eyebrow{color:var(--ochre);margin-bottom:16px}
.coverage-map-copy h3{color:var(--cream);margin-bottom:20px}
.coverage-map-copy>p:not(.eyebrow){margin-bottom:24px}
.coverage-map-copy .brief-cities{gap:8px;margin-bottom:26px}
.coverage-map-copy .brief-cities li{padding:4px 8px;font-size:var(--type-label);border-color:color-mix(in srgb,var(--cream) 16%,transparent);border-radius:6px}
.coverage-map-frame{position:relative;isolation:isolate;min-width:0;background:var(--ink)}
.coverage-map{height:100%;min-height:520px;z-index:0;background:var(--ink);font-family:inherit}
.coverage-map .leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.72) contrast(.86)}
.coverage-map .leaflet-tile-pane::after{content:'';position:absolute;inset:-3000px;background:var(--ink);mix-blend-mode:color;pointer-events:none}
.coverage-area{transform-box:fill-box;transform-origin:center}
.coverage-map-toolbar{position:absolute;z-index:2;top:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;font-size:var(--type-label)}
.coverage-map-toolbar>span,.coverage-map-toolbar button{background:var(--ink);color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 22%,transparent);border-radius:30px;padding:10px 14px;min-height:44px}
.coverage-map-toolbar button{pointer-events:auto;font-size:var(--type-label)}
.coverage-map-toolbar i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ochre);margin-right:8px}
.coverage-pin{background:none;border:none}
.coverage-pin-dot,.coverage-pin-halo{position:absolute;inset:0;border-radius:50%;background:var(--ochre)}
.coverage-pin-dot{border:4px solid var(--cream);box-shadow:0 0 0 7px #36454c99}
.coverage-pin-halo{opacity:0}
.coverage-map .coverage-place-label{background:var(--ink);color:var(--cream);border:1px solid var(--ochre);border-radius:8px;padding:9px 14px;box-shadow:0 5px 20px #0003;font:600 var(--type-body)/1.5 Montserrat,sans-serif}
.coverage-map .leaflet-tooltip-top::before{border-top-color:var(--ochre)}
.coverage-map .leaflet-control-attribution{background:var(--ink);color:var(--cream);font-size:12px;padding:4px 8px}
.coverage-map .leaflet-control-attribution a{color:var(--cream);text-decoration:underline}
.coverage-map .leaflet-bar a{background:var(--ink);color:var(--cream);border-color:var(--ochre);width:40px;height:40px;line-height:40px}
.coverage-map .leaflet-popup-content-wrapper,.coverage-map .leaflet-popup-tip{background:var(--ink);color:var(--cream)}
.coverage-map .leaflet-popup-content{font:var(--type-body)/1.65 Montserrat,sans-serif}
.coverage-map-status,.coverage-map-fallback{position:absolute;z-index:3;bottom:65px;left:20px;right:20px;padding:14px;border-radius:10px;background:var(--ink);color:var(--cream)}
.coverage-map-footnote{display:flex;align-items:start;gap:30px;justify-content:space-between;margin-top:20px}
.coverage-map-footnote #coverage-map-note{max-width:760px;font-size:var(--type-label)}
.coverage-map-footnote>a{margin-left:auto;flex-shrink:0;font-size:var(--type-label);text-decoration:underline;text-underline-offset:5px;padding-block:10px}
@media(max-width:1100px){.coverage-map-layout{grid-template-columns:1fr 1.2fr}.coverage-map-copy{padding:28px}.coverage-map-footnote{flex-direction:column;gap:8px}}
@media(max-width:760px){.coverage-map-layout{grid-template-columns:1fr}.coverage-map-copy{padding:24px}.coverage-map{height:420px;min-height:420px}.coverage-map-toolbar{left:12px;right:12px;top:12px}}
.sector-showcase .sector-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:48px;max-width:none;margin-bottom:40px}
.sector-showcase .sector-heading>p{margin:0;max-width:480px}
.sector-showcase .sector-card{position:relative;isolation:isolate;overflow:hidden;padding:28px;background:var(--ink);color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 18%,transparent);border-radius:18px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 10%,transparent);min-width:0}
.sector-showcase .sector-card>.sector-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.sector-showcase .sector-card::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(155deg,rgba(30,40,45,.89),rgba(30,40,45,.84) 45%,rgba(30,40,45,.96))}
.sector-showcase .sector-card:last-child>.sector-background{object-position:50% 82%}
.sector-showcase .sector-card h3{color:var(--cream);margin:0 0 20px}
.sector-showcase .sector-focus{font-size:var(--type-label);line-height:1.5;font-weight:600;color:color-mix(in srgb,var(--ochre) 72%,var(--cream));margin:0 0 16px;padding-left:14px;border-left:3px solid var(--ochre)}
.sector-showcase .sector-card .brief-reading{--reading-accent:color-mix(in srgb,var(--ochre) 72%,var(--cream))}
.sector-showcase .sector-card .brief-disclosure{border-color:color-mix(in srgb,var(--cream) 24%,transparent);margin-top:22px}
.sector-showcase .sector-card .sector-quote{margin-top:24px;justify-self:start;align-self:start;justify-content:center;white-space:normal;text-align:center;padding:12px 20px;min-height:48px;color:var(--brief-ink);font-size:var(--type-body)}
.sector-showcase .sector-card :focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.sector-showcase .sector-scope{margin-top:28px;max-width:850px;font-size:var(--type-label);line-height:var(--leading-body)}
@supports(grid-template-rows:subgrid){@media(min-width:761px){
  .sector-showcase .sector-cards>.sector-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
  .sector-showcase .sector-focus{grid-row:1}
  .sector-showcase .sector-card h3{grid-row:2}
  .sector-showcase .sector-card .brief-reading{grid-row:3}
  .sector-showcase .sector-card .sector-quote{grid-row:4;align-self:end}
}}
@media(max-width:1100px){.sector-showcase .sector-heading{gap:28px;grid-template-columns:1fr}.sector-showcase .sector-heading>p{max-width:680px}}
@media(max-width:760px){.sector-showcase .sector-card{padding:24px}.sector-showcase .sector-card .sector-quote{width:100%}}
.brief-reading{--reading-accent:color-mix(in srgb,var(--ochre) 72%,var(--cream));min-width:0}
.brief-reading strong{font-weight:650;color:var(--reading-accent)}
.brief-heading strong{font-weight:650}
.brief-reading .brief-reading-lead{margin:0}
.brief-disclosure{margin-top:18px;border-top:1px solid color-mix(in srgb,var(--cream) 18%,transparent)}
.brief-disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding-block:10px;cursor:pointer;font-size:var(--type-body);line-height:var(--leading-body);font-weight:600;color:var(--reading-accent)}
.brief-disclosure summary::-webkit-details-marker{display:none}
.brief-disclosure summary:hover{text-decoration:underline;text-underline-offset:5px}
.brief-disclosure summary:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
.reading-toggle{position:relative;flex:0 0 24px;width:24px;height:24px;border:1px solid currentColor;border-radius:50%}
.reading-toggle::before,.reading-toggle::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.reading-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.brief-disclosure[open] .reading-toggle::after{display:none}
.reading-less,.brief-disclosure[open] .reading-more{display:none}
.brief-disclosure[open] .reading-less{display:inline}
.reading-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brief-reading .brief-reading-continuation{margin:8px 0 0;padding-bottom:8px}
.brief-ochre .brief-reading{--reading-accent:var(--brief-ink)}
.brief-ochre .brief-disclosure{border-color:color-mix(in srgb,var(--ink) 25%,transparent)}
.brief-section .brief-grid:has(.brief-reading){align-items:stretch}
.brief-service .brief-promise{color:color-mix(in srgb,var(--ochre) 72%,var(--cream))}
@media print{.brief-disclosure::details-content{content-visibility:visible}.brief-disclosure>p{display:block!important}.brief-disclosure summary{display:none}}
:root{--brief-ink:color-mix(in srgb,var(--ink) 75%,#000)}
.brief-skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:14px 20px;background:var(--cream);color:var(--ink);border-radius:8px;transform:translateY(-160%)}
.brief-skip-link:focus{transform:none}
@media(min-width:761px){.hero.brief-hero{height:82svh;min-height:680px;max-height:840px}.brief-hero .hero-copy{margin-bottom:110px}}
.brief-hero .hero-copy h1{font-size:clamp(36px,3.3vw,64px);max-width:1020px}
.brief-hero .hero-copy>p:not(.eyebrow){max-width:630px;font-size:var(--type-body);line-height:var(--leading-body)}
.brief-hero .hero-link{border:0;gap:0;padding:15px 24px;margin-top:28px}
.brief-button{background:linear-gradient(135deg,color-mix(in srgb,var(--ochre) 80%,var(--cream)),var(--ochre));color:var(--ink);border:0}
.brief-button:hover{background:var(--cream)}
.brief-preview{display:flex;align-items:baseline;gap:24px;padding-block:24px;font-size:var(--type-label);line-height:1.7;border-bottom:1px solid color-mix(in srgb,var(--cream) 18%,transparent)}
.brief-preview strong{color:var(--ochre);flex-shrink:0;font-weight:600}
.brief-section{padding-block:80px}
.brief-section h2{font-size:var(--type-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}
.brief-section h3,.brief-contact h3{font-size:var(--type-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}
.brief-section p,.brief-contact p{font-size:var(--type-body);line-height:var(--leading-body)}
.brief-heading{max-width:940px;margin-bottom:38px}
.brief-heading h2 span{color:var(--ochre)}
.brief-heading .eyebrow{font-size:var(--type-label);color:var(--ochre);margin-bottom:20px}
.brief-heading>p:not(.eyebrow){margin-top:24px;max-width:840px}
.brief-grid{display:grid;gap:24px}
/* Shared content tracks align titles, introductions and controls per visual row.
   Tracks grow with the actual text and with open disclosures; nothing is clipped. */
.brief-panel,.brief-floor,.brief-sector{display:flex;flex-direction:column;min-width:0}
.brief-reading{display:flex;flex-direction:column;flex:1}
.brief-reading-lead{flex:1}
@supports(grid-template-rows:subgrid){
  @media(min-width:761px){
    .brief-panel,.brief-sector,.brief-trust{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
    .brief-grid>.brief-floor{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
    .brief-floor>.floor-swatch{grid-row:1}
    .brief-floor>h3{grid-row:2}
    .brief-floor>.brief-reading{grid-row:3}
    .brief-floor .brief-reading-lead{grid-row:1}
    .brief-floor .brief-disclosure{grid-row:2}
    .brief-reading{display:grid;grid-row:span 1;grid-template-rows:subgrid;row-gap:0}
    .brief-service-grid>.brief-service{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
    .brief-service-grid>.brief-service>div{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
    .brief-service-grid>.brief-service>img{grid-row:1}
    .brief-service-grid>.brief-service>div{grid-row:2 / span 4}
    .brief-service-grid .brief-service h3{grid-row:1}
    .brief-service-grid .brief-promise{grid-row:2}
    .brief-service-grid .brief-reading{grid-row:3}
    .brief-service-grid .brief-service-quote{grid-row:4;align-self:end}
  }
}
.brief-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.brief-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.brief-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.brief-panel,.brief-trust{padding:30px;border:1px solid color-mix(in srgb,var(--cream) 17%,transparent);border-radius:16px;background:color-mix(in srgb,var(--ink) 93%,#000)}
.brief-panel h3,.brief-floor h3,.brief-trust h3{color:var(--ochre);margin-bottom:18px}
.brief-text-link{display:inline-block;margin-top:26px;padding-block:8px;min-height:44px;text-decoration:underline;text-underline-offset:6px;font-size:var(--type-body)}
.brief-text-link:hover{color:var(--ochre)}
.brief-service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.brief-service{grid-column:span 2;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--ink) 90%,#000);border:1px solid color-mix(in srgb,var(--cream) 15%,transparent)}
.brief-service:nth-child(n+4){grid-column:span 3}
.brief-service>img{width:100%;height:240px;object-fit:cover}
.brief-service>div{display:flex;flex-direction:column;flex:1;padding:28px;border-top:2px solid var(--ochre)}
.brief-service h3{color:var(--ochre);margin-bottom:18px}
.brief-service .brief-promise{font-weight:600;margin-bottom:14px}
.brief-service .brief-service-quote{margin-top:24px;align-self:start;justify-self:start;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;white-space:normal;text-align:center;font-size:var(--type-body)}
.brief-service .brief-service-quote:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.brief-floor{padding:24px 0;border-top:1px solid color-mix(in srgb,var(--cream) 25%,transparent)}
.floor-swatch{display:block;width:100%;height:136px;object-fit:cover;border-radius:12px;margin-bottom:24px;background:var(--ink);border:1px solid color-mix(in srgb,var(--cream) 25%,transparent)}
.floor-swatch-4{object-position:50% 82%}
.material-credits summary{cursor:pointer;min-height:44px;padding-block:10px;width:fit-content}
.material-credits a{text-decoration:underline;text-underline-offset:3px}
.material-credits p{max-width:900px}
@media(min-width:761px){.brief-floor .brief-reading-lead{min-height:calc(3 * var(--type-body) * var(--leading-body))}}
.brief-caption,.brief-section .brief-caption,.brief-contact .brief-caption{font-size:var(--type-label);line-height:1.75;margin-top:16px}
.floor-types>.pill{margin-top:24px}
.brief-ochre{background:var(--ochre);color:var(--ink);border-radius:22px}
.brief-ochre .eyebrow,.brief-ochre .brief-heading h2 span{color:var(--ink)}
.brief-sector{padding:26px 0;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.brief-sector h3{margin-bottom:18px}
.brief-ochre .pill{margin-top:30px}
.brief-ochre :focus-visible,.brief-contact :focus-visible{outline-color:var(--ink)}
.brief-equipment{display:grid;grid-template-columns:1fr 1.15fr;gap:45px;align-items:start}
.brief-equipment>img{width:100%;height:560px;object-fit:cover;border-radius:18px}
.brief-equipment h3{color:var(--ochre)}
.brief-equipment p{margin-top:22px}
.brief-equipment button{margin-top:24px;opacity:1;background:transparent;border:1px solid var(--ochre);color:var(--cream)}
.brief-coverage{display:grid;grid-template-columns:.8fr 1.6fr;gap:45px;align-items:start;padding:36px;border:1px solid color-mix(in srgb,var(--ochre) 45%,transparent);border-radius:18px}
.coverage-origin strong{font-size:var(--type-h2);line-height:var(--leading-h2);color:var(--ochre);font-weight:500}
.coverage-origin h3{margin-block:12px 18px}
.brief-cities{padding:0;margin:0 0 24px;list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.brief-cities li{padding:8px 13px;border:1px solid color-mix(in srgb,var(--cream) 25%,transparent);border-radius:6px;font-size:var(--type-body)}
.brief-trust .brief-placeholder{font-weight:600;padding:10px 14px;border-left:2px solid var(--ochre);background:color-mix(in srgb,var(--cream) 5%,transparent);margin-bottom:18px}
.brief-comparisons{margin-top:60px}
.brief-comparisons.brief-comparisons-standalone{margin-top:0}
.brief-comparisons>p{margin-block:20px 30px;max-width:880px}
.brief-case{min-width:0}
.comparison{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--ink)}
.comparison img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.comparison-before{clip-path:inset(0 calc(100% - var(--comparison)) 0 0)}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--comparison);width:2px;background:var(--cream);pointer-events:none}
.comparison-label{position:absolute;top:15px;padding:7px 12px;font-size:var(--type-label);border-radius:6px;background:var(--ink);color:var(--cream)}
.comparison-label-before{left:15px}.comparison-label-after{right:15px}
.brief-case figcaption{margin-top:20px}.brief-case figcaption strong{font-size:var(--type-h3);line-height:var(--leading-h3);font-weight:500}
.brief-case figcaption p{margin-top:12px}.brief-case label{display:block}
.comparison-range{display:block;width:100%;min-height:44px;accent-color:var(--ochre);cursor:ew-resize;margin:0}
.brief-faq{max-width:1040px}.brief-faq details{border-bottom:1px solid color-mix(in srgb,var(--cream) 25%,transparent)}
.brief-faq summary{cursor:pointer;padding:25px 0;font-size:var(--type-h3);line-height:var(--leading-h3)}
.brief-faq details[open] summary{color:var(--ochre)}
.brief-faq details p{padding-bottom:25px;max-width:930px}
.brief-contact{padding:70px 0}
.brief-contact h2{font-size:var(--type-h2);line-height:var(--leading-h2)}
.brief-contact .eyebrow{color:var(--ink);font-size:var(--type-label)}
.brief-contact-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:65px}
.brief-contact-grid>div p{margin-top:22px}
.brief-contact-grid>div a{text-decoration:underline;text-underline-offset:4px}
.brief-form{padding:30px;background:color-mix(in srgb,var(--cream) 20%,transparent);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:18px}
.brief-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.brief-form-wide{grid-column:1/-1}
.brief-form label{display:block;font-size:var(--type-body);font-weight:500;margin-bottom:9px}
.brief-form input,.brief-form select,.brief-form textarea{width:100%;min-height:48px;padding:12px;font:inherit;font-size:var(--type-body);color:var(--ink);background:var(--cream);border:1px solid var(--ink);border-radius:7px}
.brief-form input::placeholder,.brief-form textarea::placeholder{color:var(--ink);opacity:.75}
.brief-form button{margin-top:24px;border:0}
.brief-form-status{padding:18px;background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:8px;margin-bottom:20px}
.brief-form-status ul{padding-left:22px}.brief-field-error{font-weight:600;margin-top:8px}
/* Contraste des petits textes : crème sur gris, gris renforcé sur ocre. */
.brief-heading .eyebrow,.brief-preview strong,.brief-hero .hero-copy .eyebrow{color:var(--cream)}
.brief-panel h3,.brief-floor h3,.brief-trust h3,.brief-service h3,.brief-equipment h3{color:var(--cream)}
.brief-text-link:hover{color:var(--cream);text-decoration-color:var(--ochre)}
.brief-ochre,.brief-contact,.brief-button,.header .pill{color:var(--brief-ink)}
.brief-ochre .eyebrow,.brief-contact .eyebrow{color:var(--brief-ink)}
@media(min-width:761px) and (max-width:1100px){.header .menu-button{display:flex;gap:10px;align-items:center;background:var(--cream);color:var(--ink);border:0;padding:10px 15px;border-radius:30px;font-size:var(--type-label)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:var(--ink);border:1px solid var(--ochre);border-radius:14px}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:12px}}
@media(max-width:1100px){.brief-hero .hero-copy h1{font-size:clamp(32px,4vw,48px)}.brief-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-service,.brief-service:nth-child(n+4){grid-column:auto}.brief-service:last-child{grid-column:1/-1}.brief-equipment,.brief-contact-grid{gap:30px}}
@media(max-width:760px){.brief-hero .hero-copy h1{font-size:clamp(22px,5.8vw,40px)}.brief-hero .hero-copy{margin-bottom:245px}.brief-preview{flex-direction:column;gap:8px}.brief-section{padding-block:52px}.brief-heading{margin-bottom:28px}.brief-heading h2 br{display:none}.brief-grid-four,.brief-grid-three,.brief-grid-two,.brief-service-grid,.brief-equipment,.brief-coverage,.brief-contact-grid{grid-template-columns:1fr}.brief-service:last-child{grid-column:auto}.brief-panel,.brief-trust,.brief-form{padding:24px}.brief-equipment>img{height:340px}.brief-coverage{padding:26px;gap:28px}.brief-form-fields{grid-template-columns:1fr}.brief-contact{padding-block:50px}.brief-case+.brief-case{margin-top:20px}.brief-hero .hero-note{max-width:calc(100% - 40px)}.brief-hero .hero-note>span:not(.round-arrow){font-size:var(--type-label)}}

/* Content-led transitions complement the shared container in site-v2.css. */
@media(max-width:1080px){
  .brief-grid-three,.brief-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brief-service,.brief-service:nth-child(n+4){grid-column:auto}
  .brief-service:last-child{grid-column:1/-1}
  .brief-equipment,.brief-contact-grid{gap:30px}
}
@media(max-width:768px){
  .brief-hero .hero-copy h1{font-size:clamp(25px,7.3vw,40px)}
  .brief-preview{flex-direction:column;gap:8px}
  .brief-section{padding-block:clamp(48px,7vw,58px)}
  .brief-heading{margin-bottom:28px}
  .brief-heading h2 br{display:none}
  .brief-grid-four,.brief-grid-three,.brief-grid-two,.brief-service-grid,.brief-equipment,.brief-coverage,.brief-contact-grid,.coverage-map-layout,.quote-section .quote-layout{grid-template-columns:1fr}
  .brief-service:last-child{grid-column:auto}
  .brief-panel,.brief-trust,.brief-form,.quote-section .quote-direct,.quote-section .quote-form{padding:24px}
  .brief-equipment>img{height:clamp(280px,55vw,420px)}
  .brief-form-fields{grid-template-columns:1fr}
  .brief-contact{padding-block:50px}
  .brief-case+.brief-case{margin-top:20px}
  .coverage-map{height:420px;min-height:420px}
  .sector-showcase .sector-card{padding:24px}
  .sector-showcase .sector-card .sector-quote{width:100%}
}
@media(max-width:430px){
  .header .logo{width:min(220px,calc(100% - 92px))}
  .direct-invitation{padding:42px 20px 22px}
  .invitation-actions{grid-template-columns:1fr}
  .invitation-action{min-width:0}
  .invitation-action strong,.quote-contact-button strong{overflow-wrap:anywhere}
  .brief-panel,.brief-trust,.brief-form,.brief-service>div,.quote-section .quote-direct,.quote-section .quote-form{padding:20px}
  .brief-coverage{padding:22px}
  .coverage-map-toolbar{left:10px;right:10px;gap:8px}
  .coverage-map-toolbar>span,.coverage-map-toolbar button{padding:9px 11px}
  .quote-submit-row{align-items:stretch;flex-direction:column}
}

/* Light brand background for the sectors and quote sections. */
.sector-showcase.brief-ochre,
.contact.brief-contact{
  background:var(--cream);
  color:var(--brief-ink)
}
