.elementor-kit-98{--e-global-color-primary:#111111;--e-global-color-secondary:#F2F0EB;--e-global-color-text:#4B4B48;--e-global-color-accent:#B8AE96;--e-global-color-white:#FFFFFF;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.12em;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.4em;background-color:#F2F0EB;color:#4B4B48;font-family:"DM Sans", Sans-serif;font-size:18px;line-height:1.75em;}.elementor-kit-98 button,.elementor-kit-98 input[type="button"],.elementor-kit-98 input[type="submit"],.elementor-kit-98 .elementor-button{background-color:#111111;font-family:"DM Sans", Sans-serif;font-size:15px;color:#F2F0EB;border-radius:0px 0px 0px 0px;}.elementor-kit-98 e-page-transition{background-color:#FFBC7D;}.elementor-kit-98 a{color:#111111;}.elementor-kit-98 a:hover{color:#756C5B;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Archivo+Narrow:wght@500;600;700&display=swap');
/* KROM — charte blanche. Les contenus restent dans les widgets Elementor. */
html{scroll-behavior:smooth}body{background:#fff!important;color:#0b0b0b;overflow-x:hidden}
.elementor{--e-global-color-primary:#0b0b0b;--e-global-color-secondary:#fff;--e-global-color-text:#0b0b0b;--e-global-color-accent:#d7110b;font-family:Archivo,sans-serif}
.elementor .e-con{background-image:none!important;background-color:#fff!important}
.elementor .e-con:before,.elementor .e-con:after{background:none!important}
.elementor .krom-page-hero{min-height:0!important;padding:80px 56px!important}
.elementor .krom-page-hero>.e-con-inner{padding:0!important;min-height:0!important;justify-content:flex-start!important}
@media(max-width:767px){.elementor .krom-page-hero{padding:48px 22px!important}}
.elementor .elementor-widget-text-editor{font-family:Archivo,sans-serif!important;color:#0b0b0b!important;font-size:18px!important;line-height:1.65!important}
.elementor .elementor-widget-text-editor p{margin:0 0 16px}
.elementor .elementor-widget-text-editor a{color:#0b0b0b;text-decoration-color:#d7110b}
.elementor .elementor-widget-text-editor li{margin-bottom:7px}.elementor .elementor-widget-text-editor ul{padding-left:1.2em}
.elementor .elementor-heading-title{font-family:Archivo,sans-serif!important;font-weight:900!important;color:#0b0b0b!important;line-height:.95!important;letter-spacing:-.04em!important;text-transform:uppercase;overflow-wrap:normal}
.elementor h1.elementor-heading-title{font-size:clamp(48px,8vw,124px)!important}
.elementor h2.elementor-heading-title{font-size:clamp(38px,5.6vw,80px)!important}
.elementor h3.elementor-heading-title{font-size:clamp(24px,2.6vw,36px)!important;line-height:1.1!important}
.elementor :is(p,div).elementor-heading-title{font-family:'Archivo Narrow',Archivo,sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:.16em!important;line-height:1.5!important;color:#d7110b!important}
.elementor .krom-red{color:#d7110b!important}
.elementor .elementor-button,.krom-nav-contact{font-family:Archivo,sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:uppercase!important;padding:18px 28px!important;border:2px solid #d7110b!important;border-radius:0!important;color:#fff!important;background:#d7110b!important;transition:background .3s,color .3s,border-color .3s,transform .3s!important;line-height:1.4!important}
.elementor .elementor-button:hover,.elementor .elementor-button:focus-visible,.krom-nav-contact:hover{background:#0b0b0b!important;border-color:#0b0b0b!important;color:#fff!important}
.elementor .elementor-button-content-wrapper{gap:12px}.elementor .elementor-button-icon{transition:transform .3s}.elementor .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.elementor .krom-button-outline .elementor-button{background:#fff!important;border-color:#0b0b0b!important;color:#0b0b0b!important}.elementor .krom-button-outline .elementor-button:hover{background:#0b0b0b!important;color:#fff!important}
a:focus-visible,summary:focus-visible,.elementor-button:focus-visible{outline:2px solid #d7110b;outline-offset:5px}
.krom-topbar{border-bottom:1px solid #e4e4e4!important}.krom-topbar p{margin:0!important}.krom-topbar .elementor-widget-text-editor,.krom-topbar a{font-size:13px!important;color:#0b0b0b!important}
.krom-header .elementor-widget-text-editor{width:auto;margin:0}.krom-header .elementor-widget-image img{filter:brightness(0)}
.krom-nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:600;line-height:1.4}
.krom-nav a,.krom-nav summary{color:#0b0b0b;text-decoration:none}.krom-nav a:not(.krom-nav-contact):hover,.krom-nav summary:hover{color:#d7110b}
.krom-nav summary{cursor:pointer;list-style:none}.krom-nav summary:after{content:' +';margin-left:6px}.krom-nav details{position:relative}.krom-nav details>div{position:absolute;top:32px;left:0;min-width:270px;background:#fff;padding:20px;z-index:30;border:1px solid #e4e4e4;box-shadow:0 15px 40px #0002}.krom-nav details>div a{display:block;padding:10px 0}
.krom-hero .elementor-widget-text-editor{max-width:720px}.krom-hero-title{max-width:1100px}.krom-hero-actions{gap:12px!important}
.krom-stats{border-top:1px solid #e4e4e4;margin-top:24px;max-width:720px}.krom-stat{flex:1;min-width:0}.krom-stat .elementor-counter-number-wrapper{font-family:Archivo,sans-serif;font-size:48px;font-weight:900;justify-content:flex-start}.krom-stat .elementor-counter-number-prefix{flex-grow:0}.krom-stat .elementor-counter-number-suffix{color:#d7110b;flex-grow:0}.krom-stat .elementor-counter-title{text-align:left;font-size:13px!important;line-height:1.5!important;margin-top:12px;color:#0b0b0b!important}
.krom-service{border-top:1px solid #e4e4e4}.krom-service-copy h2{font-size:clamp(32px,3.8vw,56px)!important}.krom-service-copy{gap:18px!important}
.krom-triptych,.krom-diptych{height:540px;gap:12px!important}.krom-triptych>.e-con:first-child{width:60%!important}.krom-triptych>.e-con:last-child{width:40%!important;gap:12px!important}.krom-triptych>.e-con{padding:0!important;height:100%;min-width:0}.krom-triptych .elementor-widget-image{height:100%}.krom-triptych-stack .elementor-widget-image{height:calc((100% - 12px)/2)!important}.krom-triptych :is(.elementor-widget-container,a),.krom-diptych :is(.elementor-widget-container,a){display:block;height:100%}.krom-triptych img,.krom-diptych img{width:100%!important;height:100%!important;object-fit:cover}.krom-diptych>.e-con{width:50%!important}
.krom-shot,.krom-gallery .elementor-widget-image{overflow:hidden}.krom-shot img,.krom-gallery img{display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.krom-shot:hover img,.krom-gallery .elementor-widget-image:hover img{transform:scale(1.05)}
.krom-gallery{max-width:1320px;margin-left:auto;margin-right:auto;padding:0 56px!important;gap:12px!important}.krom-gallery img{height:clamp(280px,36vw,520px)!important;width:100%;object-fit:cover}.krom-gallery .elementor-widget-spacer{display:none}
.krom-uses-grid{gap:0!important;border:1px solid #e4e4e4}.krom-uses-grid>.krom-use{width:25%;padding:36px 24px!important;border-right:1px solid #e4e4e4;gap:18px!important}.krom-use:last-child{border-right:0}.krom-use h3{font-size:24px!important}.krom-use .elementor-widget-text-editor{font-size:15px!important}
.elementor .krom-footer,.elementor .krom-footer .e-con{background:#d7110b!important}.elementor .krom-footer :is(.elementor-heading-title,.elementor-widget-text-editor),.krom-footer a{color:#fff!important}.elementor .krom-footer .elementor-button{background:#fff!important;color:#0b0b0b!important;border-color:#fff!important}.elementor .krom-footer .elementor-button:hover{background:#0b0b0b!important;border-color:#0b0b0b!important;color:#fff!important}
.elementor .krom-footer-black,.elementor .krom-footer-black .e-con,.elementor .krom-footer-bottom,.elementor .krom-footer .krom-footer-bottom{background:#0b0b0b!important}.krom-footer-bottom{border-top:1px solid #ffffff44;margin-top:50px;padding-top:40px!important}.krom-footer-black .krom-footer-bottom{border:0;margin:0;padding:0!important}.elementor .krom-footer-bottom .elementor-widget-text-editor,.krom-footer-bottom a{color:#fff!important}
.elementor input:not([type=submit]),.elementor textarea,.elementor select{background:#fff!important;color:#0b0b0b!important;border-color:#0b0b0b!important;border-radius:0!important}
.krom-legal p{max-width:930px}
.krom-triptych,.krom-diptych{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-rows:100%}
.krom-diptych{grid-template-columns:repeat(2,minmax(0,1fr))}
.krom-triptych>.e-con:first-child,.krom-triptych>.e-con:last-child,.krom-diptych>.e-con{width:100%!important;height:100%;padding:0!important;min-width:0}
.krom-diptych .elementor-widget-image{height:100%}
.krom-triptych>.e-con,.krom-diptych>.e-con{min-height:0!important;overflow:hidden}
.krom-triptych-stack{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.krom-triptych .elementor-widget-image,.krom-triptych-stack .elementor-widget-image{min-height:0!important;height:100%!important}
@media(max-width:767px){.elementor .krom-uses h2.elementor-heading-title{font-size:clamp(28px,8.2vw,38px)!important}}
@keyframes krom-title-enter{from{opacity:.2;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){body:not(.elementor-editor-active) .elementor :is(h1,h2,h3):not(:where(.krom-header,.krom-topbar) *){animation:krom-title-enter .9s cubic-bezier(.2,.7,.2,1) both}@supports(animation-timeline:view()){body:not(.elementor-editor-active) .elementor :is(h2,h3):not(:where(.krom-header,.krom-topbar) *){animation-timeline:view();animation-range:entry 0% entry 100%}}}
@media(max-width:1024px){.krom-nav{gap:20px;font-size:14px}.krom-service-row{flex-direction:column!important;align-items:stretch!important;gap:40px!important}.krom-service-row>.e-con{width:100%!important}.krom-uses-grid>.krom-use{width:50%;border-bottom:1px solid #e4e4e4}.krom-service-copy h2{font-size:48px!important}}
@media(max-width:767px){.elementor .elementor-widget-text-editor{font-size:16px!important}.krom-nav{flex-wrap:wrap;justify-content:center;gap:16px;font-size:12px}.krom-nav-contact{font-size:12px!important;padding:12px 18px!important}.krom-nav details>div{left:50%;transform:translateX(-50%)}.krom-topbar :is(.elementor-heading-title,.elementor-widget-text-editor,a){font-size:10px!important;letter-spacing:.03em!important}.elementor h1.elementor-heading-title{font-size:clamp(36px,9.5vw,54px)!important;overflow-wrap:anywhere}.elementor h2.elementor-heading-title{font-size:38px!important;overflow-wrap:anywhere}.krom-stats{gap:14px!important}.krom-stat .elementor-counter-number-wrapper{font-size:34px!important}.krom-stat .elementor-counter-title{font-size:11px!important}.krom-triptych,.krom-diptych{height:380px}.krom-service-copy h2{font-size:38px!important}.krom-gallery{padding:0 22px!important}.krom-gallery img{height:360px!important}.krom-uses-grid>.krom-use{width:100%;border-right:0;padding:28px!important}.krom-footer-bottom{text-align:center}.krom-hero-actions>.elementor-widget-button{width:100%}.krom-hero-actions .elementor-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.elementor *, .elementor *:before,.elementor *:after{animation:none!important;transition:none!important}.elementor .animated,.elementor .elementor-invisible{opacity:1!important;visibility:visible!important;transform:none!important}}
/* Navigation native Elementor et petits écrans. */
.krom-header{position:relative;z-index:50;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important}
.krom-header .elementor-widget-nav-menu{width:auto!important;min-width:0;flex:1;margin-left:auto}
.krom-header .elementor-nav-menu--main .elementor-nav-menu{justify-content:flex-end}
.krom-header .elementor-nav-menu a{font-family:Archivo,sans-serif!important;font-weight:600!important;font-size:15px!important;color:#0b0b0b!important;white-space:nowrap}
.krom-header .elementor-nav-menu--main>.elementor-nav-menu>li>a{padding:18px 16px!important}
.krom-header .elementor-nav-menu a:hover,.krom-header .elementor-nav-menu a.elementor-item-active{color:#d7110b!important}
.krom-header .elementor-nav-menu--main>.elementor-nav-menu>li:last-child>a{background:#d7110b!important;color:#fff!important;padding:18px 24px!important;margin-left:16px}
.krom-header .elementor-nav-menu--main>.elementor-nav-menu>li:last-child>a:hover{background:#0b0b0b!important}
.krom-header .elementor-nav-menu--dropdown{background:#fff!important;border:1px solid #e4e4e4;box-shadow:0 15px 40px #0002;z-index:60}
.krom-header .elementor-nav-menu--dropdown a{padding:16px 22px!important;white-space:normal!important;line-height:1.4!important}
.krom-header .elementor-nav-menu--dropdown a:hover,.krom-header .elementor-nav-menu--dropdown a:focus{background:#f5f5f5!important;color:#d7110b!important}
.krom-header .elementor-menu-toggle{margin-left:auto;background:#fff!important;color:#0b0b0b!important;border:1px solid #0b0b0b;border-radius:0;min-width:48px;min-height:48px;padding:12px!important;justify-content:center}
@media(min-width:1025px){.krom-header .elementor-menu-toggle{display:none!important}}
@media(max-width:1024px){.krom-header{gap:24px!important}.krom-header .elementor-widget-nav-menu{flex:0 0 auto}.krom-header .elementor-nav-menu--main{display:none!important}.krom-header .elementor-menu-toggle{display:flex!important}}
@media(max-width:767px){.krom-header{padding:20px 22px!important;gap:16px!important}.krom-header .elementor-widget-image{width:140px!important;flex:0 0 140px}.elementor h1.elementor-heading-title{font-size:clamp(28px,8.5vw,54px)!important;overflow-wrap:normal}.elementor h2.elementor-heading-title,.krom-service-copy h2{font-size:clamp(26px,8vw,38px)!important}.elementor .krom-uses h2.elementor-heading-title{font-size:clamp(24px,8.2vw,38px)!important}.krom-header .elementor-nav-menu--dropdown .sub-menu a{padding-left:34px!important}}

.krom-header .elementor-nav-menu--dropdown .elementor-item-active{background:#f5f5f5!important;color:#d7110b!important}/* End custom CSS */