/* Prototype local. Contenu et médias de la page existante conservés. */
@font-face { font-family:"NemesiaDisplay"; src:url("../fonts/BebasNeue-Regular.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"NemesiaBody"; src:url("../fonts/Montserrat/Montserrat-Medium.ttf") format("truetype"); font-style:normal; font-weight:500; font-display:swap; }
:root { --nm-bg:#101010; --nm-panel:#181818; --nm-text:#f6f3ed; --nm-muted:#bdbab3; --nm-gold:#fca311; --nm-line:rgba(255,255,255,.14); --nm-gutter:clamp(24px,5.5vw,112px); --nm-display:"NemesiaDisplay",sans-serif; --nm-body:"NemesiaBody",sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:112px; }
body { margin:0; background:var(--nm-bg); color:var(--nm-text); overflow-x:clip; }
body.nm-menu-open { overflow:hidden; }
::selection { background:var(--nm-gold); color:#111; }
a,button { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--nm-gold); outline-offset:6px; }
img { max-width:100%; }
body p { font-family:var(--nm-body); font-size:15px; line-height:1.9; font-weight:500; color:var(--nm-muted); text-align:left; }
body h1,body h2 { font-family:var(--nm-display)!important; letter-spacing:-.015em; font-weight:400; }
body h3 { font-family:var(--nm-body)!important; font-weight:500; font-size:23px; line-height:1.45; letter-spacing:-.025em; }
body a { font-size:inherit; width:auto; }
body .container { padding:100px var(--nm-gutter); }
.header { width:calc(100% - 48px); left:24px; top:20px; height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border:1px solid transparent; border-radius:16px; z-index:110; transition:background .25s,border-color .25s,backdrop-filter .25s; }
.header.nm-scrolled,.nm-menu-open .header { background:rgba(16,16,16,.9); border-color:var(--nm-line); backdrop-filter:blur(18px); }
.header-logo { width:154px; margin:0; line-height:0; }
.header-logo a { display:block; }
.header-logo img { width:100%; height:auto; display:block; }
.header-home { position:static; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(0,0,0,.18); transition:background .2s,transform .2s; }
.header-home:hover { background:var(--nm-gold); }
.header-home:hover svg { fill:#141414; }
.header-home svg { width:23px; height:23px; fill:var(--nm-text); }
.navigation-drawer { right:0; width:min(640px,100%); height:100dvh; padding:130px clamp(32px,6vw,90px) 60px; align-items:center; background:#191919; z-index:100; transform:translateX(105%); transition:transform .4s cubic-bezier(.22,.61,.36,1); visibility:hidden; }
.navigation-drawer.active { right:0; transform:translateX(0); visibility:visible; }
.navigation-drawer-navigation { width:100%; max-height:calc(100dvh - 190px); overflow:auto; }
.navigation-drawer-navigation-list { gap:24px; padding:0; align-items:flex-start; }
.navigation-drawer-navigation-list .navigation-drawer-navigation-list-item,.navigation-drawer-navigation-list .navigation-item--has-children { text-align:left; }
.navigation-drawer-navigation-list a,.navigation-drawer-navigation-list button { color:var(--nm-text); font-size:clamp(32px,4vw,58px); line-height:1; padding:0; border:0; background:none; }
.navigation-drawer-navigation-list a:hover,.navigation-drawer-navigation-list button:hover { color:var(--nm-gold); }
.navigation-drawer .navigation-submenu .navigation-drawer-navigation-list-item a { font-family:var(--nm-body); font-size:17px; line-height:1.5; }
.navigation-submenu { list-style:none; }
.navigation-submenu li { margin:14px 0; }
.dark-overlay { z-index:90; backdrop-filter:blur(6px); }
.home-banner { height:max(720px,100svh); min-height:640px; max-height:1200px; isolation:isolate; overflow:hidden; background:#131313; }
.home-banner-video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.home-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 28%,rgba(0,0,0,.12) 44%,rgba(0,0,0,.83) 100%); pointer-events:none; }
.home-banner-title { left:var(--nm-gutter); bottom:62px; margin:0; z-index:2; }
.home-banner-title .home-banner-title-text { margin:0; color:var(--nm-text); font-size:clamp(76px,10.7vw,174px); line-height:.86; letter-spacing:-.015em; }
.home-banner-title .home-banner-title-text:nth-child(2) { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.9); }
.home-banner-title .home-banner-title-text:last-child { color:var(--nm-gold); }
.home-customers { background:#f6f3ed; min-height:0; padding:42px var(--nm-gutter) 46px; gap:28px; }
.home-customers-title { margin:0; font-family:var(--nm-body)!important; font-size:12px; line-height:1.6; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:#57534c; }
.home-customers-list { display:grid!important; grid-template-columns:repeat(9,minmax(0,1fr)); align-items:center; gap:28px; margin:0!important; }
.home-customers-list-item { margin:0!important; padding:0!important; width:auto!important; height:70px!important; min-width:0; }
.home-customers-list-item a { display:flex; width:100%; height:100%; align-items:center; justify-content:center; filter:grayscale(1); opacity:.72; transition:filter .25s,opacity .25s,transform .25s; }
.home-customers-list-item a img { max-height:64px; max-width:106px; object-fit:contain; width:100%; height:100%; }
.home-customers-list-item a:hover { filter:none; opacity:1; transform:translateY(-3px); }
body .home-presentation { padding-top:112px; padding-bottom:64px; gap:32px; }
.home-presentation>.row { display:block; margin:0; }
.home-presentation h1,.home-infos>h2,.home-realisations>h2,.home-services>h2 { margin:0; font-size:clamp(48px,5.8vw,88px); line-height:1.02; color:var(--nm-text)!important; max-width:1040px; }
.home-presentation-video { width:100%; height:auto; aspect-ratio:16/9; border-radius:20px; overflow:hidden; background:#1c1c1c; border:1px solid var(--nm-line); }
.home-presentation-video iframe { width:100%; height:100%; border:0; }
body .home-infos { padding-top:72px; padding-bottom:112px; }
.home-infos>.row { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:start; gap:clamp(40px,7vw,130px); }
.home-infos .half { min-width:0; width:auto; }
.home-infos>h2 { margin-bottom:46px; max-width:700px; }
.home-infos h3 { margin-top:32px; margin-bottom:16px; }
.home-infos p { margin:0 0 20px; }
.home-infos p span { color:#c5c2bb!important; }
.home-infos-img { display:block; position:sticky; top:124px; margin-top:8px; padding-top:0; }
.home-infos-img img { display:block; width:100%; height:clamp(460px,50vw,780px); object-fit:cover; border-radius:20px; }
body .btn-yellow,.home-infos-content>a,.home-realisations>a { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:15px 24px; min-height:52px; width:fit-content; max-width:100%; border:1px solid var(--nm-gold); border-radius:100px; background:transparent; font-family:var(--nm-body); font-size:13px; line-height:1.5; font-weight:500; text-decoration:none; color:var(--nm-gold); transition:background .2s,color .2s,transform .2s; }
body .btn-yellow::after,.home-infos-content>a::after,.home-realisations>a::after { content:"↗"; font-size:21px; line-height:1; }
body .btn-yellow:hover,.home-infos-content>a:hover,.home-realisations>a:hover { background:var(--nm-gold); color:#141414; outline:none; transform:translateY(-2px); }
body .home-realisations { display:flex; gap:36px; padding-top:84px; padding-bottom:96px; background:#181818; border-top:1px solid var(--nm-line); border-bottom:1px solid var(--nm-line); overflow:hidden; }
.home-realisations>h2 { max-width:800px; padding-right:160px; }
.home-realisations { position:relative; }
.home-realisations-grid { display:flex; flex-direction:row!important; flex-wrap:nowrap; gap:20px; width:auto; margin:4px calc(-1 * var(--nm-gutter)) 0; padding:0 var(--nm-gutter) 26px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:var(--nm-gutter); scrollbar-width:thin; scrollbar-color:var(--nm-gold) #303030; }
.home-realisations-grid-item { flex:0 0 clamp(210px,23vw,330px); width:auto; height:auto; min-width:0; border:0; border-radius:12px; overflow:hidden; scroll-snap-align:start; position:relative; background:#242424; }
.home-realisations-grid-item a { display:block; height:100%; }
.home-realisations-grid-item img { display:block; width:100%; height:auto; aspect-ratio:466/920; object-fit:cover; transition:transform .6s cubic-bezier(.2,.65,.3,1),filter .4s; }
.home-realisations-grid-item:hover { border:0; }
.home-realisations-grid-item:hover img { transform:scale(1.035); filter:brightness(1.06); }
.home-realisations-grid::-webkit-scrollbar { height:4px; }
.home-realisations-grid::-webkit-scrollbar-track { background:#303030; }
.home-realisations-grid::-webkit-scrollbar-thumb { background:var(--nm-gold); border-radius:10px; }
.home-realisations-grid::-webkit-scrollbar-button { display:none; }
.nm-project-controls { position:absolute; top:96px; right:var(--nm-gutter); display:flex; gap:8px; }
.nm-project-controls button { display:grid; place-items:center; padding:0; width:44px; height:44px; border:1px solid #62605b; border-radius:50%; background:transparent; color:#fff; transition:background .2s,color .2s; }
.nm-project-controls button:hover { background:var(--nm-gold); color:#111; border-color:var(--nm-gold); }
.nm-project-controls svg { width:18px; height:18px; }
body .home-services { padding-top:112px; padding-bottom:40px; gap:0; }
.home-services>h2 { margin-bottom:64px; }
.home-services-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(36px,7vw,120px); width:auto; margin:0 0 96px; padding-top:48px; border-top:1px solid var(--nm-line); }
.home-services-item-content { width:auto; min-width:0; }
.home-services-item-content>.home-services-item-title { font-size:clamp(35px,3.4vw,53px); line-height:1.08; color:var(--nm-text); margin:0 0 28px; }
.home-services-item-content p { margin:0 0 20px; }
.home-services-item-content strong { color:#f0ede8; font-weight:500; }
.home-services-item-content a { color:var(--nm-gold); font-size:13px; display:inline-block; text-underline-offset:5px; text-decoration-thickness:1px; }
.home-services-item-thumbnail { display:block; width:auto; min-width:0; position:sticky; top:122px; }
.home-services-item-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:18px; }
.home-services-item:nth-of-type(odd) .home-services-item-thumbnail { grid-column:1; grid-row:1; }
.home-services-item:nth-of-type(odd) .home-services-item-content { grid-column:2; grid-row:1; }
footer.footer { display:block; width:100%; padding:64px var(--nm-gutter) 26px; background:#080808; border-top:1px solid var(--nm-line); }
.footer-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; }
.footer-column { width:auto; gap:10px; }
footer.footer :is(h2,h3) { font-family:var(--nm-body)!important; font-size:12px; line-height:1.4; text-transform:uppercase; letter-spacing:.11em; margin:0 0 18px; color:#fff; }
footer.footer a,footer.footer p { font-size:12px; line-height:1.8; color:#b6b3ac; text-decoration:none; }
footer.footer a:hover { color:var(--nm-gold); }
.contact-socials-item svg { margin-right:8px; width:13px; height:13px; }
.footer>.footer-row:last-child { display:block; margin-top:48px; border-top:1px solid var(--nm-line); padding-top:22px; }
.footer-credentials { justify-content:flex-start; margin:0; }
.footer-credentials p { font-size:10px!important; color:#8b8882!important; }
.home-presentation-video .cmplz-blocked-content-notice { background:#171717!important; color:#fff!important; border:1px solid #777!important; border-radius:14px; padding:20px; font-family:var(--nm-body); }
.cmplz-cookiebanner { border-radius:16px!important; }
@media(min-width:1800px) { body .container { padding-left:max(var(--nm-gutter),calc((100vw - 1580px)/2)); padding-right:max(var(--nm-gutter),calc((100vw - 1580px)/2)); } }
@media(max-width:1100px) {
 .home-customers-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
 .home-infos>.row { gap:40px; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
 .home-services-item { gap:36px; }
 .footer-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
}
@media(max-width:767px) {
 :root { --nm-gutter:24px; }
 body .container { padding:64px var(--nm-gutter); }
 .header { width:calc(100% - 24px); left:12px; top:12px; height:66px; border-radius:12px; padding:0 14px; }
 .header-logo { width:124px; }
 .header-home { width:40px; height:40px; }
 .home-banner { height:100svh; min-height:590px; max-height:1000px; }
 .home-banner::after { background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 30%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.85)); }
 .home-banner-title { left:24px; bottom:48px; }
 .home-banner-title .home-banner-title-text { font-size:clamp(64px,14.5vw,108px); line-height:.94; }
 .home-customers { padding:30px 24px; gap:24px; }
 .home-customers-title { text-align:center; font-size:10px; letter-spacing:.1em; }
 .home-customers-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 28px; }
 .home-customers-list-item { height:52px!important; }
 .home-customers-list-item a img { max-height:49px; max-width:85px; }
 body .home-presentation { padding-top:64px; padding-bottom:32px; gap:24px; }
 .home-presentation h1,.home-infos>h2,.home-realisations>h2,.home-services>h2 { font-size:44px; line-height:1.06; }
 .home-presentation-video { border-radius:12px; min-height:0; }
 body .home-infos { padding-top:40px; padding-bottom:64px; }
 .home-infos>.row { display:flex; flex-direction:column; gap:36px; }
 .home-infos .half { flex:auto; width:100%; }
 .home-infos>h2 { margin-bottom:30px; }
 body h3 { font-size:21px; }
 body p { font-size:14px; line-height:1.85; }
 .home-infos-img { position:static; margin:0; }
 .home-infos-img img { height:auto; aspect-ratio:4/3; border-radius:14px; }
 body .home-realisations { padding-top:58px; padding-bottom:56px; gap:26px; }
 .home-realisations>h2 { padding-right:0; max-width:420px; }
 .nm-project-controls { position:static; order:2; align-self:flex-start; }
 .home-realisations-grid { margin-top:0; gap:16px; order:1; padding-bottom:20px; }
 .home-realisations>a { order:3; margin-top:4px; }
 .home-realisations-grid-item { flex-basis:70vw; max-width:300px; }
 body .home-services { padding-top:64px; padding-bottom:0; }
 .home-services>h2 { margin-bottom:40px; }
 .home-services-item { display:flex; flex-direction:column; gap:28px; padding-top:32px; margin:0 0 56px; }
 .home-services-item-content { width:100%; order:2; }
 .home-services-item-thumbnail { position:static; display:block; width:100%; order:1; }
 .home-services-item-thumbnail img { border-radius:14px; }
 .home-services-item-content>.home-services-item-title { font-size:34px; line-height:1.12; margin-bottom:24px; }
 footer.footer { padding:48px 24px 24px; }
 .footer-row { gap:36px 24px; }
 footer.footer :is(h2,h3) { font-size:10px; letter-spacing:.06em; margin-bottom:12px; }
 footer.footer a,footer.footer p { font-size:11px; overflow-wrap:anywhere; }
 .footer-column { gap:8px; }
 .footer>.footer-row:last-child { margin-top:32px; }
 .navigation-drawer { padding-top:110px; }
 .navigation-drawer-navigation-list a,.navigation-drawer-navigation-list button { font-size:42px; }
 .navigation-drawer .navigation-submenu .navigation-drawer-navigation-list-item a { font-size:16px; }
}
@media(max-width:360px) { .home-banner-title .home-banner-title-text { font-size:14vw; } .home-customers-list { gap:18px; } .footer-row { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* V2 : retours visuels, mêmes contenus. */
.header,.header.nm-scrolled,.nm-menu-open .header { background:transparent; border-color:transparent; backdrop-filter:none; pointer-events:none; }
.header-logo,.header-home { pointer-events:auto; }
.header-logo { filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 4px #0008); }
.header-home { background:rgba(15,15,15,.58); border-color:rgba(255,255,255,.45); backdrop-filter:blur(6px); }
.navigation-drawer-navigation { scrollbar-width:none; -ms-overflow-style:none; }
.navigation-drawer-navigation::-webkit-scrollbar { display:none; }
@media(min-width:1024px) { .home-banner-title .home-banner-title-text:nth-child(2) { -webkit-text-stroke-width:2px; } }
.home-presentation h1,.home-infos>h2,.home-realisations>h2,.home-services>h2,.home-services-item-title { color:var(--nm-gold)!important; }
.home-presentation-video { aspect-ratio:1920/818; height:auto; background:#080808; border-color:#39342b; }
.nm-presentation-player { display:block; width:100%; height:100%; object-fit:contain; }
.home-customers { background:#fff; padding-top:54px; padding-bottom:62px; gap:38px; }
.home-customers-title { font-family:var(--nm-display)!important; font-size:36px; line-height:1.1; letter-spacing:0; color:#171717; }
.home-customers-list { grid-template-columns:repeat(10,minmax(0,1fr)); gap:30px; }
.home-customers-list-item { grid-column:span 2; height:138px!important; }
.home-customers-list-item:nth-child(6) { grid-column:2/span 2; }
.home-customers-list-item:nth-child(7) { grid-column:4/span 2; }
.home-customers-list-item:nth-child(8) { grid-column:6/span 2; }
.home-customers-list-item:nth-child(9) { grid-column:8/span 2; }
.home-customers-list-item a { opacity:1; }
.home-customers-list-item a img { max-height:122px; max-width:220px; }
/* Une rangée cadrée sur un nombre entier de cartes. */
.home-realisations-grid { --nm-visible:4; --nm-card-gap:20px; width:100%; margin:0; padding:0; gap:var(--nm-card-gap); scrollbar-width:none; -ms-overflow-style:none; scroll-padding-inline:0; }
.home-realisations-grid::-webkit-scrollbar { display:none; }
.home-realisations-grid-item { flex:0 0 calc((100% - (var(--nm-visible) - 1)*var(--nm-card-gap))/var(--nm-visible)); width:auto; max-width:none; border-radius:12px; }
.home-realisations-grid-item img { width:100%; height:auto; object-fit:contain; transform:none!important; }
.home-realisations-grid-item:hover img { filter:brightness(1.08); }
/* Un début illustré, puis trois chapitres ouverts au lieu d'une seule colonne. */
body .home-infos { padding-top:72px; padding-bottom:86px; }
.home-infos>h2 { max-width:1040px; margin-bottom:44px; }
.nm-about-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,100px); align-items:center; }
.home-infos .nm-about-intro h3 { margin:0 0 20px; color:#fff!important; font-size:27px; }
.nm-about-intro>p { font-size:16px; }
.home-infos .home-infos-img { position:static; margin:0; width:auto; }
.home-infos .home-infos-img img { height:auto; aspect-ratio:3/2; width:100%; object-fit:cover; }
.nm-info-chapters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:56px; }
.nm-info-chapter { width:auto; min-width:0; padding-top:26px; border-top:2px solid var(--nm-gold); }
.home-infos .nm-info-chapter h3 { margin:0 0 20px; font-size:21px; color:var(--nm-gold)!important; }
.home-infos .nm-info-chapter h3 span { color:inherit!important; }
.home-infos .nm-info-chapter p { font-size:14px; line-height:1.8; }
.nm-info-chapter .btn-yellow,.nm-info-chapter>a { padding:12px 18px; font-size:12px; }
.nm-benefits { margin:0 0 24px; padding:0; display:grid; gap:14px; list-style:none; font-family:var(--nm-body); font-size:14px; line-height:1.75; }
.nm-benefits li { position:relative; padding-left:22px; color:#d8d3ca; }
.nm-benefits li::before { content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--nm-gold); }
.nm-benefits li span { color:inherit!important; }
.nm-benefits-group { margin:28px 0; padding:22px 24px 4px; border-left:2px solid var(--nm-gold); background:linear-gradient(90deg,#fca3110c,transparent); }
.nm-benefits-group>p { margin:0 0 20px!important; color:#fff; }
.nm-benefits-group>p span { color:#fff!important; }
/* Les titres de service s'étendent au-dessus du duo image / texte. */
.home-services-item.nm-service-reflow { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:28px clamp(36px,5vw,90px); margin-bottom:74px; }
.home-services-item.nm-service-reflow>.home-services-item-title { grid-column:1/-1; grid-row:1; font-size:clamp(34px,3.7vw,58px); line-height:1.08; margin:0 0 4px; max-width:1100px; }
.home-services .home-services-item.nm-service-reflow:nth-of-type(odd) .home-services-item-thumbnail { grid-column:1; grid-row:2; }
.home-services .home-services-item.nm-service-reflow:nth-of-type(odd) .home-services-item-content { grid-column:2; grid-row:2; }
.home-services .home-services-item.nm-service-reflow:nth-of-type(even) .home-services-item-thumbnail { grid-column:2; grid-row:2; }
.home-services .home-services-item.nm-service-reflow:nth-of-type(even) .home-services-item-content { grid-column:1; grid-row:2; }
.home-services-item-content>p:first-of-type { font-size:16px; line-height:1.8; }
.home-services-item-content p { line-height:1.8; }
.home-services-item-content p span { color:#d5d1c8!important; }
.home-services-item-content .nm-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; font-size:13px; }
.home-services-item-thumbnail img { aspect-ratio:4/3; }
/* Un pied de page à nouveau ample, contrasté et marqué par l'orange. */
footer.footer { padding:72px var(--nm-gutter) 34px; border-top:2px solid var(--nm-gold); background:#090909; }
.footer-row { gap:40px; }
footer.footer :is(h2,h3) { font-family:var(--nm-display)!important; font-size:30px; color:var(--nm-gold)!important; text-transform:none; letter-spacing:.02em; margin-bottom:24px; }
footer.footer a { font-size:15px; color:var(--nm-gold); line-height:1.8; }
footer.footer p { font-size:15px; color:#e2ded5; line-height:1.8; }
.footer-column { gap:12px; }
.contact-socials-item svg { width:17px; height:17px; margin-right:10px; }
.footer-column .contact-socials-item { display:flex; align-items:center; gap:10px; }
.footer-column .contact-socials-item svg { flex:none; margin:0; }
.footer-credentials p { font-size:12px!important; color:#b9b4a9!important; }
@media(min-width:1600px) { .home-realisations-grid { --nm-visible:5; } }
@media(max-width:1199px) { .home-realisations-grid { --nm-visible:3; } }
@media(max-width:1000px) {
 .nm-info-chapters { gap:24px; }
 .home-customers-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
 .home-customers-list-item:nth-child(n) { grid-column:auto; height:110px!important; }
 .home-customers-list-item a img { max-height:100px; max-width:180px; }
 .home-realisations-grid { --nm-visible:2; }
 .nm-info-chapters { grid-template-columns:1fr; }
 .nm-info-chapter { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); column-gap:34px; }
 .nm-info-chapter h3 { grid-column:1; grid-row:1/12; }
 .nm-info-chapter>*:not(h3) { grid-column:2; }
}
@media(max-width:767px) {
 .home-customers { padding:38px 24px 44px; gap:30px; }
 .home-customers-title { font-size:28px; text-align:left; }
 .home-customers-list { gap:22px 18px; }
 .home-customers-list-item:nth-child(n) { height:86px!important; }
 .home-customers-list-item a img { max-height:80px; max-width:110px; }
 .home-realisations-grid { --nm-visible:1; --nm-card-gap:16px; margin:0; padding:0; width:100%; }
 .home-realisations-grid-item { flex-basis:calc((100% - (var(--nm-visible) - 1)*var(--nm-card-gap))/var(--nm-visible)); max-width:none; }
 .home-realisations-grid-item img { max-height:690px; object-fit:contain; }
 .nm-about-lead { display:flex; flex-direction:column; gap:28px; align-items:stretch; }
 .home-infos .nm-about-intro h3 { font-size:23px; }
 .home-infos .home-infos-img img { aspect-ratio:3/2; }
 .home-infos>h2 { margin-bottom:32px; }
 .nm-info-chapters { margin-top:36px; gap:28px; }
 .nm-info-chapter { display:block; padding-top:20px; }
 .home-infos .nm-info-chapter h3 { font-size:22px; }
 .nm-benefits { gap:12px; }
 .home-services-item.nm-service-reflow { gap:24px; margin-bottom:52px; }
 .home-services-item.nm-service-reflow>.home-services-item-title { order:0; font-size:34px; }
 .home-services-item-content>p:first-of-type { font-size:15px; }
 .home-services-item-content .nm-benefits { grid-template-columns:1fr; font-size:14px; }
 .nm-benefits-group { padding:18px 18px 2px; }
 footer.footer { padding:54px 24px 30px; }
 footer.footer :is(h2,h3) { font-size:27px; margin-bottom:18px; }
 footer.footer a,footer.footer p { font-size:14px; }
 .footer-row { gap:38px 26px; }
 .footer-column { gap:10px; }
 .footer-credentials p { font-size:11px!important; }
}
@media(min-width:540px) and (max-width:767px) { .home-realisations-grid { --nm-visible:2; } }
@media(max-width:360px) { .home-customers-list { gap:18px 12px; } .home-customers-list-item a img { max-height:70px; } }

/* Ajustements après retour : titres sur une ligne et visuels sans mouvement. */
.nm-info-chapter { border-top:0; padding-top:0; }
.nm-benefits-group { border-left:0; background:none; padding-left:0; padding-right:0; }
footer.footer { border-top:1px solid var(--nm-line); }
.home-services-item-thumbnail,.home-infos .home-infos-img { position:static; }
@media(min-width:768px) {
 .home-infos>h2 { max-width:none; white-space:nowrap; font-size:clamp(36px,4.8vw,80px); }
 .home-realisations>h2 { max-width:none; white-space:nowrap; padding-right:164px; font-size:clamp(32px,4.4vw,78px); }
 .home-realisations>.nm-project-controls { top:88px; }
}

/* Aperçu vidéo dans la carte portrait existante : taille et lien conservés. */
.home-realisations-grid-item > a.read-more { position:relative; }
.nm-project-preview { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; pointer-events:none; transition:opacity .18s; }
.home-realisations-grid-item.nm-preview-playing .nm-project-preview { opacity:1; }
@media(max-width:767px),(hover:none),(pointer:coarse) { .nm-project-preview { display:none; } }
@media(prefers-reduced-motion:reduce) { .nm-project-preview { display:none; transition:none; } }

/* V2.2 : masquer les interstices de pixels aux bords des aperçus. */
.home-realisations-grid-item { border:0!important; background:#181818; }
.home-realisations-grid-item > a.read-more { display:block; overflow:hidden; border-radius:inherit; border:0; }
.home-realisations-grid-item .nm-project-preview { inset:-2px; width:calc(100% + 4px); height:calc(100% + 4px); max-width:none; border:0; outline:0; border-radius:0; background:#181818; }
.home-realisations-grid-item.nm-preview-playing img { visibility:hidden; }
/* Motion design : format natif entier, sans recadrage ni bande ajoutée. */
.home-services-item-thumbnail .nm-motion-loop { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:3384/1440; object-fit:contain; border-radius:18px; border:0; outline:0; background:#101010; }
@media(max-width:767px) { .home-services-item-thumbnail .nm-motion-loop { border-radius:14px; } }

/* Les balises corrigées conservent exactement la présentation des titres. */
.home-banner-title .home-banner-title-text { display:block; }
.home-services-item-title { font-family:var(--nm-display)!important; font-weight:400; letter-spacing:-.015em; }
footer.footer :is(h2,h3) { font-weight:500; }
