/* WordPress adaptation; visual rules remain in the supplied V8 stylesheet. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070708;color:#f5f5f7;font-family:Montserrat,"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.nsb-main,.nsb-main>.wp-block-post-content{margin:0;padding:0;max-width:none}.site-page.nsb-v8-page{display:block!important;width:100%;max-width:none!important;overflow:clip}.nsb-v8-page .wp-block-group{box-sizing:border-box}.nsb-v8-page :where(.wp-block-group)>*{margin-block-start:0}.nsb-v8-page :where(h1,h2,h3){overflow-wrap:break-word}.nsb-v8-page .nsb-inline-link{margin:0}.nsb-v8-page .nsb-inline-link a{max-width:100%}.nsb-v8-page .nsb-linked-card{position:relative}.nsb-v8-page .nsb-linked-card a{text-decoration:none}.nsb-v8-page .nsb-linked-card a:after{content:"";position:absolute;inset:0;z-index:1}.nsb-v8-page .nsb-linked-card:focus-within{outline:2px solid #9b72ff;outline-offset:3px}.nsb-v8-page .nsb-linked-card strong a{display:inline}.nsb-v8-page .page-noise{position:absolute;display:none}.nsb-v8-page .nsb-case-status{font-size:11px!important;line-height:1.6;letter-spacing:0!important;text-transform:none!important;opacity:.75}.nsb-v8-page svg{max-width:100%}.nsb-v8-page [id]{scroll-margin-top:110px}
/* Let the editor display full-width page compositions using the same CSS. */
.editor-styles-wrapper .site-page.nsb-v8-page{max-width:none}.editor-styles-wrapper .block-editor-block-list__block[data-type="core/shortcode"]{min-height:35px}
.nsb-header{position:relative;z-index:100;background:#070708;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);padding:20px clamp(20px,4vw,64px);min-height:84px;display:flex;align-items:center;gap:30px}.nsb-brand{display:flex;gap:11px;align-items:center;color:#fff;text-decoration:none;white-space:nowrap}.nsb-brand svg{width:42px;height:36px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}.nsb-brand svg .violet{stroke:#9b72ff}.nsb-brand b{display:block;font-size:13px;letter-spacing:.23em;font-weight:600;line-height:1.3}.nsb-brand small{display:block;margin-top:4px;font-size:7px;letter-spacing:.3em;opacity:.6;line-height:1.4}.nsb-brand-custom img{max-width:200px;max-height:64px;width:auto;height:auto}.nsb-nav{margin-left:auto!important;color:#fff;font-size:10px}.nsb-nav .wp-block-navigation__container{gap:20px}.nsb-nav a{text-decoration:none}.nsb-nav a:hover{color:#c6acff}.nsb-nav .wp-block-navigation-item__content{white-space:normal}.nsb-nav .wp-block-navigation__submenu-container{background:#101014;color:#fff;border-color:#36313d;min-width:260px;box-shadow:0 16px 30px #0005}.nsb-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{padding:6px 8px}.nsb-nav .wp-block-navigation__submenu-container a{font-size:12px}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open{background:#070708;color:#fff;padding:28px}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:18px;align-items:flex-start;width:100%}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{align-items:flex-start;max-width:100%}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open a{font-size:16px}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent;border:0;box-shadow:none;min-width:0;padding-left:18px;gap:12px}.nsb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{font-size:13px}
.nsb-footer{padding:64px clamp(24px,5vw,80px) 28px;border-top:1px solid #ffffff20;background:#070708;color:#f5f5f7}.nsb-footer-signature{font-size:15px;color:#c6b0ef;margin:25px 0 35px}.nsb-footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 30px;max-width:1400px}.nsb-footer-links p{margin:0;font-size:12px}.nsb-footer-links a{color:#bbb8c2;text-decoration:none}.nsb-footer-links a:hover{color:#fff}.nsb-footer-bottom{margin:40px 0 0;font-size:11px;padding-top:20px;border-top:1px solid #ffffff20;color:#aaa6b0}.nsb-standard{max-width:1100px;margin:auto;padding:80px 28px;min-height:65vh}.nsb-standard>h1{font-size:clamp(35px,6vw,70px);line-height:1.05;margin:0 0 40px}.nsb-standard .wp-block-post-content{margin-top:40px}.nsb-standard .wp-block-post-template{list-style:none;padding:0}.nsb-standard .wp-block-post-template>li{padding:28px 0;border-bottom:1px solid #ffffff20}.nsb-standard .wp-block-query-pagination{display:flex;gap:20px;margin-top:32px}.nsb-standard input,.nsb-standard button{font:inherit;padding:10px}
:focus-visible{outline:2px solid #9b72ff!important;outline-offset:5px}.nsb-contact-wrapper{width:100%;min-width:0}.nsb-contact-wrapper form{margin:0}.nsb-contact-wrapper .field{display:flex;flex-direction:column;gap:9px;min-width:0}.nsb-contact-wrapper .field.full,.nsb-contact-wrapper .full{grid-column:1/-1}.nsb-contact-wrapper .nsb-needs{border:0;padding:0;margin:0;min-width:0}.nsb-contact-wrapper .nsb-needs legend{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.nsb-contact-wrapper .nsb-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.6;letter-spacing:0!important;text-transform:none!important}.nsb-contact-wrapper .nsb-consent input{width:16px!important;flex:0 0 16px;margin:3px 0 0}.nsb-contact-wrapper .nsb-form-help{font-size:11px;color:#55515c;margin:0}.nsb-form-status{padding:16px 18px;margin:0 0 25px;border:1px solid #8b73b7;font-size:14px;line-height:1.6}.nsb-honeypot{display:none!important}.nsb-contact-wrapper [disabled]{cursor:not-allowed;opacity:.6}.nsb-contact-wrapper button{white-space:normal;max-width:100%}.nsb-contact-wrapper input,.nsb-contact-wrapper textarea,.nsb-contact-wrapper select{min-width:0}.nsb-contact-wrapper .check{letter-spacing:0!important;text-transform:none!important}.nsb-contact-wrapper .check input{flex-shrink:0}
/* Both realization categories retain equal columns and equal-size cards. */
#page-accueil .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}#page-accueil .project-card{height:100%;min-width:0}#page-realisations .split,#page-realisations .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}#page-realisations .side,#page-realisations .tile{min-width:0;height:100%}#page-realisations .casegrid{min-height:440px}
@media(min-width:1101px){.nsb-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:block!important}.nsb-nav .wp-block-navigation__responsive-container-open{display:none!important}}
@media(max-width:1100px){.nsb-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.nsb-nav .wp-block-navigation__responsive-container-open{display:flex!important}.nsb-header{min-height:78px}.nsb-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#page-accueil .project-grid,#page-realisations .split,#page-realisations .gallery{grid-template-columns:1fr}#page-accueil .project-card{min-height:430px}.nsb-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.nsb-v8-page h1{font-size:clamp(40px,9.5vw,65px)!important}.nsb-v8-page h2{overflow-wrap:anywhere}.nsb-v8-page .knx{flex-wrap:wrap}.nsb-v8-page .checks{grid-template-columns:1fr}.nsb-v8-page .nsb-contact-wrapper form{grid-template-columns:1fr}.nsb-v8-page .nsb-contact-wrapper .full{grid-column:1/-1}.nsb-v8-page .nsb-contact-wrapper input,.nsb-v8-page .nsb-contact-wrapper select,.nsb-v8-page .nsb-contact-wrapper textarea{font-size:16px!important}.nsb-standard{padding-top:55px}}
@media(max-width:400px){.nsb-footer-links{grid-template-columns:1fr}.nsb-v8-page h1{font-size:38px!important}.nsb-v8-page .casecopy,.nsb-v8-page .caseresult,.nsb-v8-page .exp{padding:28px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.nsb-v8-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Approved raster logo: retain its original proportions. */
.nsb-brand-approved{flex-shrink:0}.nsb-brand-approved img{display:block;width:120px;height:auto;max-width:100%}.nsb-header .nsb-brand-custom img{max-height:112px;max-width:160px}.nsb-footer .nsb-brand-approved img{width:150px}@media(max-width:600px){.nsb-header .nsb-brand-approved img{width:96px}}

#page-accueil .approach-symbol-wrap .nsb-approach-approved{display:block;width:auto;height:130px;max-width:100%;object-fit:contain}

.nsb-knx-partner{box-sizing:border-box;width:160px;max-width:100%;padding:12px;background:#fff;line-height:0}.nsb-knx-partner img{display:block;width:100%;height:auto}#page-expertise .nsb-knx-partner{width:260px;margin-top:24px;padding:20px}

#page-accueil .manifesto-mark .nsb-manifesto-approved{display:block;width:245px;max-width:100%;height:auto;margin-inline:auto}

/* Language selector, including existing saved NSB headers. */
.nsb-language-switch{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;white-space:nowrap}.nsb-language-switch a{color:#bcb8c6;text-decoration:none;padding:8px 2px}.nsb-language-switch a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:5px}.nsb-language-switch span{color:#777}.nsb-header .nsb-nav{min-width:0}@media(max-width:600px){.nsb-header{gap:14px}.nsb-language-switch{gap:5px;font-size:11px}}
