/* Fenberg : menuiserie Made in France. Rouge #e20303, bleu #15248d, noir #181818. */
@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/sarabun-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sarabun-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sarabun-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Sarabun;font-style:normal;font-weight:800 900;font-display:swap;src:url(../fonts/sarabun-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Sarabun;font-style:normal;font-weight:800 900;font-display:swap;src:url(../fonts/sarabun-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:500 900;font-display:swap;src:url(../fonts/roboto-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:italic;font-weight:500 900;font-display:swap;src:url(../fonts/roboto-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Roboto;font-style:normal;font-weight:500 900;font-display:swap;src:url(../fonts/roboto-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-condensed-latin-400-normal.woff2) format("woff2")}

:root{--red:#e20303;--red-d:#b80202;--navy:#15248d;--blue:#215876;--ink:#181818;--grey:#f5f5f5;--line:#e5e5e5;--muted:#6f6f6f;
  --fh:Sarabun,Arial,Helvetica,sans-serif;--fb:Roboto,Arial,Helvetica,sans-serif;--fc:"Roboto Condensed",Arial,Helvetica,sans-serif;--sh:0 2px 20px rgba(0,0,0,.2)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--fb);font-size:16px;line-height:1.5;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none;transition:color .2s}
a:hover{color:var(--ink)}
p{margin:0 0 1em}
h1,h2,h3,h4,h5,h6{font-family:var(--fh);font-weight:800;margin:0 0 .5em;line-height:1.1;letter-spacing:-.03em}
strong,b{font-weight:700}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.fb-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fb-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px}.fb-skip:focus{left:10px;color:#fff}
.fb-wrap{width:min(1200px,calc(100% - 40px));margin:0 auto;position:relative}
.fb-ico{width:1em;height:1em;flex:none}

/* ------------------------------------------------------------ En-tête */
.fb-head{position:relative;z-index:50;background:#fff;box-shadow:0 2px 30px rgba(0,0,0,.15)}
.fb-top{font-family:var(--fh);font-size:14px;line-height:35px;border-bottom:1px solid #f0f0f0}
.fb-top-in{display:flex;justify-content:space-between;align-items:center;min-height:36px}
.fb-top-l,.fb-top-r{display:flex;align-items:center;gap:21px}
.fb-tw{display:inline-flex;align-items:center;color:var(--ink);white-space:nowrap}
.fb-tw .fb-ico{color:var(--navy);font-size:12px;margin-right:7px}
.fb-tw b{font-weight:400;margin-right:7px}.fb-tw small{font-size:14px;color:#8a8a8a}
a.fb-tw:hover b{color:var(--red)}
.fb-top-r a{color:var(--red);font-size:12px;display:inline-flex}.fb-top-r a:hover{color:var(--ink)}
.fb-hdr{background:#fff}
.fb-hdr-in{display:flex;align-items:center;height:70px}
.fb-logo{display:flex;align-items:center;flex:none}
.fb-logo-img{height:70px;width:auto;max-width:none}
.fb-logo .logo-txt{font-family:var(--fh);font-weight:800;font-size:28px;color:var(--ink)}
.fb-nav{margin-left:auto}
.fb-nav-top{display:none}
.fb-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.fb-menu>li{position:relative;margin:0 25px}
.fb-menu>li:last-child{margin-right:0}
.fb-menu>li>a{display:block;font-family:var(--fh);font-weight:700;font-size:16px;line-height:70px;color:var(--ink);position:relative;white-space:nowrap}
.fb-menu>li>a::before{content:"";position:absolute;left:-14px;top:50%;width:10px;border-top:2px solid var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.fb-menu>li.fb-on>a::before{transform:scaleX(1)}
.fb-menu>li>a:hover{color:var(--ink)}
.fb-subt{display:none}
.fb-subm{list-style:none;margin:0;padding:6px 0;position:absolute;left:-20px;top:100%;width:270px;background:#fff;box-shadow:0 0 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.fb-menu>li:hover>.fb-subm,.fb-menu>li:focus-within>.fb-subm{opacity:1;visibility:visible;transform:none}
.fb-menu>li.fb-has-sub::after{content:"";position:absolute;left:50%;top:100%;margin:-9px 0 0 -8px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:9px solid #fff;z-index:61;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.fb-menu>li.fb-has-sub:hover::after,.fb-menu>li.fb-has-sub:focus-within::after{opacity:1;visibility:visible;transform:none}
.fb-subm a{display:block;padding:9px 20px;font-size:14px;line-height:21px;color:var(--ink);transition:color .2s,padding .2s}
.fb-subm li:last-child a{border-bottom:0}
.fb-subm a:hover,.fb-subm a[aria-current]{color:var(--red);padding-left:26px}
.fb-sbtn{margin-left:50px;background:none;border:0;padding:6px 0;color:var(--ink);font-size:15px;display:flex}
.fb-sbtn:hover{color:var(--red)}
.fb-burger{display:none}
.fb-search{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 20px 30px -20px rgba(0,0,0,.25);padding:24px 0;z-index:55}
.fb-search .fb-wrap{display:flex;align-items:center;gap:20px}
.fb-search form{flex:1;display:flex;border-bottom:2px solid var(--ink)}
.fb-search input{flex:1;border:0;font:inherit;font-family:var(--fh);font-size:28px;font-weight:700;padding:10px 0;outline:0;background:none;color:var(--ink)}
.fb-search form button,.fb-sclose{background:none;border:0;font-size:22px;color:var(--ink);display:flex;padding:8px}
.fb-search form button:hover,.fb-sclose:hover{color:var(--red)}
.fb-head.fb-stuck{position:fixed;top:0;left:0;right:0;animation:fbDown .35s ease}
.fb-head.fb-stuck .fb-top{display:none}
.fb-head.fb-stuck .fb-hdr-in{height:70px}
@keyframes fbDown{from{transform:translateY(-100%)}to{transform:none}}
.fb-veil{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:45}

/* ------------------------------------------------------------ Titres */
.fb-hd{margin:0 0 0}
.fb-sup{display:flex;align-items:center;font-family:var(--fc);font-size:18px;line-height:1;margin:0 0 10.8px;color:inherit;text-transform:uppercase}
a.fb-sup{color:inherit}a.fb-sup:hover{color:var(--red)}
.fb-sup::before{content:"";width:3.125rem;border-top:2px solid var(--red);margin:-1px 10px 0 0;flex:none}
.fb-nodash .fb-sup::before{display:none}
.fb-t{font-family:var(--fh);font-weight:800;margin:0;color:inherit}
.fb-t strong,.fb-t b{color:var(--red);font-weight:inherit}
.fb-t a{color:inherit}.fb-t a:hover{color:var(--red)}
.fb-sub{margin-top:23.4px;font-size:18px;line-height:1.5}
.fb-sub p{margin:0 0 .6em}.fb-sub p:last-child{margin:0}
.fb-sub strong,.fb-sub b{color:var(--red)}
.fb-s-huge .fb-t{font-size:80px;line-height:1;letter-spacing:-.03em}.fb-s-huge .fb-sup::before{width:4.375rem}
.fb-s-xl .fb-t{font-size:70px;line-height:1;letter-spacing:-.03em;font-weight:900}.fb-s-xl .fb-sup::before{width:3.75rem}
.fb-s-large .fb-t{font-size:60px;line-height:1;letter-spacing:-.03em}
.fb-s-medium .fb-t{font-size:40px;line-height:1.05;letter-spacing:-.03em}
.fb-s-normal .fb-t{font-size:30px;line-height:1;letter-spacing:-.03em}.fb-s-normal .fb-sup,.fb-s-small .fb-sup{font-size:14px;margin-bottom:8.4px}.fb-s-normal .fb-sup::before{width:2.5rem}.fb-s-normal .fb-sub{font-size:15px;margin-top:19.5px}
.fb-s-small .fb-t{font-size:25px;line-height:1.1}.fb-s-small .fb-sup::before{width:1.875rem}.fb-s-small .fb-sub{font-size:15px;margin-top:15px}
.fb-s-xs .fb-t{font-size:20px;line-height:1;letter-spacing:-.03em}.fb-s-xs .fb-sup{font-size:14px;margin-bottom:8.4px;text-transform:none}.fb-s-xs .fb-sup::before{width:1.875rem}.fb-s-xs .fb-sub{font-size:14px;line-height:1.5;margin-top:14px}
.fb-s-normal .fb-sup,.fb-s-xs .fb-sup{text-transform:none}
.fb-center{text-align:center}.fb-center .fb-sup{justify-content:center}
.fb-center .fb-sup::after{content:"";width:3.125rem;border-top:2px solid var(--red);margin:-1px 0 0 10px;flex:none;display:none}
.fb-light,.fb-light .fb-t,.fb-light .fb-sub{color:#fff}
.fb-fs .fb-t{font-size:var(--fs)!important;line-height:1}
.fb-fig-leaf{border-radius:0 50px;overflow:hidden}
.fb-tone-dark .fb-slide-c{color:var(--ink)}
.fb-thin{font-family:var(--fh);font-weight:300;font-size:20px;line-height:1.2;letter-spacing:-.03em;margin:0 0 16px}
.fb-line{border:0;border-top:2px solid #e5e5e5;margin:16px 0}
.fb-half{max-width:50%;padding-right:20px}

/* ------------------------------------------------------------ Boutons */
.fb-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:2em}
.fb-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:16px;line-height:1;padding:18px 30px;border:0;color:#fff;background:var(--red);box-shadow:inset 0 -2px 0 rgba(24,24,24,.15);transition:box-shadow .3s,background .3s,color .3s;cursor:pointer;text-align:center}
.fb-btn:hover{color:#fff;box-shadow:inset 0 -3px 0 rgba(24,24,24,.2),0 2px 10px rgba(0,0,0,.2)}
.fb-btn-black{background:#000}.fb-btn-black:hover{color:#fff}
.fb-btn-white{background:#fff;color:var(--ink)}.fb-btn-white:hover{color:var(--red)}
.fb-btn-navy{background:var(--navy)}.fb-btn-navy:hover{color:#fff}
.fb-btn-grey{background:#ececec;color:var(--ink)}.fb-btn-grey:hover{color:var(--ink)}
.fb-btn-s{font-size:14px;padding:17px 20px;line-height:1.1}

/* ------------------------------------------------------------ Sections */
.fb-sec{position:relative}
.fb-pt-xs{padding-top:.625em}.fb-pt-s{padding-top:1em}.fb-pt-n{padding-top:2em}.fb-pt-m{padding-top:5em}.fb-pt-l{padding-top:8.75em}.fb-pt-xl{padding-top:16em}
.fb-pb-xs{padding-bottom:.625em}.fb-pb-s{padding-bottom:1em}.fb-pb-n{padding-bottom:2em}.fb-pb-m{padding-bottom:5em}.fb-pb-l{padding-bottom:8.75em}.fb-pb-xl{padding-bottom:16em}
.fb-bg-grey{background:var(--grey)}.fb-bg-blue{background:var(--blue);color:#fff}.fb-bg-navy{background:var(--navy);color:#fff}.fb-bg-red{background:var(--red);color:#fff}
.fb-bg-gradient{background:linear-gradient(to bottom,#fff 0%,#f5f5f5 100%)}
.fb-bg-blue .fb-t,.fb-bg-navy .fb-t,.fb-bg-red .fb-t,.fb-bg-blue .fb-sub,.fb-bg-navy .fb-sub{color:#fff}
.fb-deco{position:absolute;inset:0;background-repeat:no-repeat;background-position:top center;background-size:contain;pointer-events:none}
.fb-sec>.fb-wrap{z-index:1}
/* Biseaux (formes en haut et en bas des sections) */
.fb-shape-t::before,.fb-shape-b::after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:1}
.fb-st-slant::before{top:-1px;height:calc(100vw * .0392);background:#fff;clip-path:polygon(0 0,100% 0,100% 100%)}
.fb-st-slant-big::before{top:-1px;height:calc(100vw * .1016);background:#fff;clip-path:polygon(0 0,100% 0,100% 100%)}
.fb-sb-rise::after{bottom:-1px;height:calc(100vw * .0392);background:var(--grey);clip-path:polygon(0 100%,100% 0,100% 100%)}
.fb-sb-fall::after{bottom:-1px;height:calc(100vw * .0392);background:#fff;clip-path:polygon(0 0,100% 100%,0 100%)}
.fb-st-slant>.fb-wrap{padding-top:calc(100vw * .0392)}.fb-st-slant-big>.fb-wrap{padding-top:calc(100vw * .1016)}
.fb-shape-b>.fb-wrap{padding-bottom:calc(100vw * .0392)}

/* ------------------------------------------------------------ Grille de colonnes */
.fb-row{display:flex;flex-wrap:wrap;margin:0 -20px}
.fb-row+.fb-row{margin-top:2em}
.fb-row-line{margin:2em 0}.fb-row-line+.fb-row{margin-top:0}
.fb-col{padding:0 20px;flex:0 0 auto}
.fb-w12{width:100%}.fb-w9{width:75%}.fb-w8{width:66.666%}.fb-w6{width:50%}.fb-w4{width:33.333%}.fb-w3{width:25%}.fb-w2{width:16.666%}
.fb-gap-w{margin:0 -30px}.fb-gap-w>.fb-col{padding:0 30px}
.fb-al-center{text-align:center}.fb-al-center .fb-sup{justify-content:center}.fb-al-right{text-align:right}
.fb-col-c>*+*{margin-top:0}
.fb-col-c>.fb-text,.fb-col-c>.fb-fig,.fb-col-c>.fb-items{margin-top:1.5em}
.fb-col-c>.fb-text:first-child,.fb-col-c>.fb-fig:first-child,.fb-col-c>.fb-items:first-child{margin-top:0}
.fb-col-c>.fb-fig+.fb-hd{margin-top:2em}
.fb-col-c>.fb-hd+.fb-fs .fb-t{font-size:var(--fs)!important;line-height:1}
.fb-fig-leaf{border-radius:0 50px;overflow:hidden}
.fb-tone-dark .fb-slide-c{color:var(--ink)}
.fb-thin{margin-top:0}
.fb-fig{margin:0}.fb-fig+.fb-fig{margin-top:1.5em}
.fb-fig img{width:100%}
.fb-col-card>.fb-col-c,.fb-col-navy>.fb-col-c{height:100%}
.fb-col-card .fb-col-c{background:#fff;box-shadow:var(--sh);margin-bottom:20px}
.fb-col-card .fb-col-c>.fb-hd{padding:0 32px 30px}
.fb-col-card .fb-col-c>.fb-fig+.fb-hd{margin-top:2em}
.fb-col-navy .fb-col-c{background:var(--navy);color:#fff;padding:0 0 30px}
.fb-col-navy .fb-col-c>*:not(.fb-fig){padding-left:32px;padding-right:32px}
.fb-col-navy .fb-it-t{color:#fff}.fb-col-navy .fb-it-i{color:var(--red)}
.fb-col-bgimg{background:var(--bg) center/cover no-repeat}
@media (min-width:1025px){.fb-bleed-l .fb-row>.fb-col:first-child .fb-fig{margin-left:calc((100vw - min(1200px, 100vw - 40px)) / -2)}}

/* Texte riche */
.fb-text>*:last-child{margin-bottom:0}
.fb-text p{margin:0 0 16px}
.fb-text h2{font-size:40px;line-height:1.05;margin:1em 0 .5em}
.fb-text h3{font-size:33.6px;line-height:1;margin:0 0 15px}
.fb-text h4{font-size:25px;line-height:1.1;margin:1em 0 .5em}
.fb-text h1{font-size:36px;line-height:1.05;margin:.4em 0 .5em}
.fb-text h2 strong,.fb-text h3 strong,.fb-text h4 strong,.fb-text h5 strong,.fb-text h1 strong{color:var(--red);font-weight:inherit}
.fb-text h2:first-child,.fb-text h3:first-child,.fb-text h4:first-child{margin-top:0}
.fb-text ul,.fb-text ol{margin:0 0 16px;padding-left:1.3em}.fb-text li{margin:0 0 4px}
.fb-text img{margin:1em 0}.fb-text iframe{max-width:100%;border:1px solid #d9d9d9}
.fb-text a{color:var(--red)}.fb-text a:hover{color:var(--ink)}
.fb-text table{border-collapse:collapse;width:100%;margin:0 0 16px}.fb-text td,.fb-text th{border:1px solid var(--line);padding:8px 10px;text-align:left}
.fb-text blockquote{margin:0 0 16px;padding:10px 20px;border-left:3px solid var(--red);font-style:italic}
.fb-light .fb-text,.fb-bg-blue .fb-text,.fb-bg-navy .fb-text{color:#fff}

/* Atouts */
.fb-items{display:grid;gap:3.75em 40px}
.fb-cols-1{grid-template-columns:1fr;gap:1.5em}.fb-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.fb-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fb-it{display:flex;align-items:flex-start;gap:16px;text-align:left}
.fb-it-i{color:var(--navy);display:flex;flex:none}
.fb-it-xl .fb-it-i{font-size:70px}.fb-it-l .fb-it-i{font-size:50px}
.fb-it-t{font-family:var(--fh);font-weight:800;font-size:25px;line-height:24px;letter-spacing:-.03em;color:var(--ink)}
.fb-it-t a{color:inherit}.fb-it-t a:hover{color:var(--red)}
.fb-it-x{padding-top:11.2px}.fb-it-x p{margin:0}
.fb-items-top .fb-it{flex-direction:column;align-items:center;text-align:center;gap:0}
.fb-items-top .fb-it-i{margin-bottom:12.5px}
.fb-items-top .fb-it-x{padding-top:8px}

/* ------------------------------------------------------------ Diaporama d'accroche */
.fb-hero{position:relative;overflow:hidden;background:#222;min-height:600px}
.fb-slide{position:absolute;inset:0;background:var(--bg) center/cover no-repeat;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.fb-slide.on{position:relative;opacity:1;visibility:visible}
.fb-slide .fb-wrap{display:flex;padding:216px 0 216px}
.fb-slide-c{width:50%;padding-right:20px;color:#fff}
.fb-side-right .fb-wrap{justify-content:flex-end}.fb-side-right .fb-slide-c{padding:0 0 0 20px}
.fb-slide .fb-sub{max-width:580px}
.fb-hero .fb-btns{margin-top:64px}
.fb-dots{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:3}
.fb-dots button{width:16px;height:16px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.5);transition:background .3s,transform .3s}
.fb-dots button[aria-selected=true]{background:var(--red)}
.fb-dots button:hover{transform:scale(1.15)}

/* ------------------------------------------------------------ Cartes produits */
.fb-overlap,.fb-hero+.fb-cards-sec{margin-top:-40px;z-index:3}
.fb-cards{display:grid;gap:20px}
.fb-cards.fb-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.fb-cards.fb-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-cards.fb-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fb-cards-sec+.fb-cards-sec{margin-top:0}
.fb-card{position:relative;background:#fff var(--bg) top center/cover no-repeat;box-shadow:var(--sh);padding:140px 32px 32px;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.fb-card:hover{box-shadow:0 10px 40px rgba(0,0,0,.25)}
.fb-card-c{display:flex;flex-direction:column;flex:1}
.fb-card .fb-btns{margin-top:auto;padding-top:1em}

/* ------------------------------------------------------------ Atouts (section) */
.fb-features .fb-half,.fb-features .fb-headw{margin-bottom:3.75em}
.fb-features .fb-after{margin-top:3.75em}
.fb-features .fb-after .fb-text{margin-top:1.5em}

/* ------------------------------------------------------------ En-tête produit */
.fb-intro{position:relative;display:flex;min-height:520px;overflow:hidden}
.fb-intro>.fb-wrap{display:flex;z-index:1}
.fb-intro-c{width:50%;padding:140px 40px 140px 0}
.fb-intro-img{position:absolute;top:0;bottom:0;left:50%;right:0;background:var(--bg) center/cover no-repeat}
.fb-intro .fb-deco{background-position:left center;right:50%}
.fb-intro .fb-line{margin:16px 0}
.fb-intro .fb-fs .fb-t{font-size:var(--fs)!important;line-height:1}
.fb-fig-leaf{border-radius:0 50px;overflow:hidden}
.fb-tone-dark .fb-slide-c{color:var(--ink)}
.fb-thin{margin-top:0}
.fb-intro-cut::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:calc(100vw * .0392);clip-path:polygon(0 100%,100% 0,100% 100%);z-index:2;background:#fff}
.fb-cut-grey::after{background:var(--grey)}
.fb-intro-cut .fb-intro-c{padding-bottom:calc(100vw * .0392 + 110px)}

/* ------------------------------------------------------------ Bandeau de titre */
.fb-ph{position:relative;background:rgba(24,24,24,.05) var(--bg) center/cover no-repeat;padding:80px 0}
.fb-ph::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.7)}
.fb-ph-plain::before{display:none}
.fb-ph>.fb-wrap{z-index:1}
.fb-ph .fb-hd{max-width:768px}
.fb-ph .fb-sub{font-size:18px}
.fb-ph-post .fb-hd{max-width:100%}
.fb-cats{display:flex;flex-wrap:wrap;gap:0 10px}
.fb-cats a,.fb-cats span{color:inherit}.fb-cats a:hover{color:var(--red)}
.fb-pdate{display:flex;align-items:center;gap:6px;margin:24px 0 0;font-size:16px}
.fb-pdate .fb-ico{color:var(--red);font-size:14px}

/* ------------------------------------------------------------ Avis clients (présentation des avis Google) */
.fb-reviews .fb-half{margin-bottom:5em}
.fb-rv-list{padding:0 10px}
.fb-rv{padding:0 36px}
.fb-rv-in{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink)}
.fb-rv-av{position:relative;width:48px;height:48px;margin-bottom:14px}
.fb-rv-av>span,.fb-rv-av>img{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:21px;line-height:1;object-fit:cover}
.fb-rv-g{position:absolute;right:-4px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 13 4 4 13 4 24s9 20 20 20 20-9 20-20c0-1.3-.1-2.6-.4-3.9z'/%3E%3Cpath fill='%23FF3D00' d='M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-8l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z'/%3E%3C/svg%3E") center/14px no-repeat}
.fb-rv-n{font-size:16px;font-weight:700;line-height:1.3}
.fb-rv-d{font-size:14px;color:#8a8a8a;margin:2px 0 8px}
.fb-stars{display:inline-flex;align-items:center;gap:1px;color:#f6bb06;font-size:17px;margin-bottom:10px}
.fb-stars .off{color:#d6d6d6}
.fb-rv-ok{width:15px;height:15px;margin-left:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23197BFF' d='M23 12l-2.4-2.8.3-3.7-3.6-.8-1.9-3.2L12 3 8.6 1.5 6.7 4.7l-3.6.8.3 3.7L1 12l2.4 2.8-.3 3.7 3.6.8 1.9 3.2L12 21l3.4 1.5 1.9-3.2 3.6-.8-.3-3.7z'/%3E%3Cpath fill='%23fff' d='M10.1 16.3l-3.6-3.6 1.4-1.4 2.2 2.2 5.6-5.6 1.4 1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.fb-rv-t{font-size:15.5px;line-height:1.6;max-height:6.4em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.fb-rv-t p{margin:0}
.fb-rv.open .fb-rv-t{max-height:none;-webkit-line-clamp:unset;display:block}
.fb-rv-more{background:none;border:0;padding:0;margin-top:12px;color:#8a8a8a;font-size:14px}
.fb-rv-more:hover{color:var(--ink)}
.fb-rv-all{margin:30px 0 0;text-align:center}.fb-rv-all a{color:inherit;text-decoration:underline}
.fb-rv-list .fb-prev,.fb-rv-list .fb-next{top:60%;width:40px;height:40px;font-size:18px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.fb-rv-list .fb-prev{left:0}.fb-rv-list .fb-next{right:0}
.fb-light .fb-rv-in,.fb-bg-blue .fb-rv-in,.fb-bg-navy .fb-rv-in{color:#fff}.fb-bg-blue .fb-rv-d,.fb-bg-blue .fb-rv-more{color:rgba(255,255,255,.75)}

/* Carrousels */
.fb-carousel{position:relative;overflow:hidden}
.fb-track{display:flex;transition:transform .6s ease;will-change:transform}
.fb-track>*{flex:0 0 calc(100% / var(--per,3))}
.fb-prev,.fb-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);display:grid;place-items:center;font-size:22px;z-index:2;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:background .2s,color .2s}
.fb-prev{left:6px}.fb-next{right:6px}
.fb-prev:hover,.fb-next:hover{background:var(--red);color:#fff}
.fb-carousel.fb-static .fb-prev,.fb-carousel.fb-static .fb-next{display:none}

/* Logos */
.fb-logos .fb-carousel{padding:0 50px;overflow:hidden;margin:0 -50px}
.fb-logo-list .fb-track>*{display:flex;align-items:center;justify-content:center;padding:20px 22px;min-height:100px}
.fb-logo img{max-height:90px;width:100%;object-fit:contain;filter:none;transition:transform .3s}
.fb-logo:hover img{transform:scale(1.05)}
.fb-logos .fb-prev,.fb-logos .fb-next{background:none;box-shadow:none;font-size:34px;color:var(--ink)}
.fb-logos .fb-prev{left:0}.fb-logos .fb-next{right:0}
.fb-logos .fb-prev:hover,.fb-logos .fb-next:hover{background:none;color:var(--red)}

/* Bandeau photos */
.fb-band .fb-track>*{margin:0;aspect-ratio:1/1;overflow:hidden}
.fb-band img{width:100%;height:100%;object-fit:cover}
.fb-band .fb-prev,.fb-band .fb-next{background:none;box-shadow:none;color:#fff;font-size:44px}
.fb-band .fb-prev{left:20px}.fb-band .fb-next{right:20px}
.fb-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fb-grid3 figure{margin:0}.fb-grid3 img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ------------------------------------------------------------ Dernières actualités */
.fb-news .fb-half{margin-bottom:3.75em}
.fb-news-g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.fb-nc{position:relative;background:var(--grey);min-height:396px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.fb-nc:nth-child(n+4){display:none}
.fb-nc::before{content:"";position:absolute;right:0;top:0;width:0;height:0;border-top:110px solid #fff;border-left:170px solid transparent;z-index:1}
.fb-nc-img{background:#333 var(--bg) center/cover no-repeat;color:#fff}
.fb-nc-img::before{display:none}
.fb-nc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.75))}
.fb-nc-d{position:absolute;right:16px;top:14px;z-index:2;text-align:right;font-family:var(--fb);line-height:1;color:var(--ink)}
.fb-nc-d b{display:block;font-size:30px;font-weight:700}.fb-nc-d span{font-size:18px}
.fb-nc-img .fb-nc-d{color:#fff}
.fb-nc-c{position:relative;z-index:2;padding:30px}
.fb-nc-cat{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;font-family:var(--fc);font-size:14px;text-transform:uppercase;margin-bottom:12px}
.fb-nc-cat::before{content:"";width:1.875rem;border-top:2px solid var(--ink);margin:-1px 0 0}
.fb-nc-img .fb-nc-cat::before{border-color:var(--red)}
.fb-nc h3{font-size:20px;line-height:1.3;margin:0 0 12px;color:var(--red);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-nc-big h3{font-size:25px;color:#fff}
.fb-nc h3 a{color:inherit}.fb-nc h3 a:hover{color:var(--ink)}.fb-nc-big h3 a:hover{color:#fff;opacity:.85}
.fb-nc p{font-size:14px;line-height:1.5;margin:0 0 12px}
.fb-more{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--red)}
.fb-more .fb-ico{font-size:12px}

/* ------------------------------------------------------------ Carte */
.fb-map{position:relative}
.fb-map-f{position:relative;background:#e9e9e9}
.fb-map-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fb-map-load{position:absolute;inset:0;width:100%;border:0;background:#e9e9e9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-family:var(--fh);font-weight:700;font-size:18px}
.fb-map-load .fb-ico{font-size:38px;color:var(--red)}.fb-map-load small{font-family:var(--fb);font-weight:400;font-size:13px;color:var(--muted)}
.fb-map>.fb-wrap{position:absolute;left:0;right:0;bottom:3.5em;z-index:2}
.fb-map-box{display:flex;align-items:flex-end;gap:40px;background:#fff;box-shadow:var(--sh);padding:1em 20px 1em}
.fb-map-a{flex:0 0 calc(33.33% - 27px);padding:1em 0}
.fb-map-box .fb-items{flex:1;gap:30px;padding:1em 0}
.fb-map-box .fb-it-i{color:var(--red)}
.fb-map-box .fb-it{gap:14px}

/* ------------------------------------------------------------ Formulaires */
.fb-formsec .fb-row{align-items:flex-start}
.fb-formsec .fb-line{margin:3.75em 0}
.fb-form{position:relative}
.fb-step{border:0;margin:0;padding:0;min-width:0}
.fb-step-t{font-family:var(--fh);font-weight:800;font-size:23.8px;letter-spacing:-.03em;margin:0 0 25px;padding:0;line-height:1}
.fb-step-t strong{color:var(--red);font-weight:inherit}
.fb-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 20px}
.fb-f{grid-column:span 3}.fb-f-full{grid-column:1/-1}.fb-f-l{grid-column:1/4;grid-row:span 3}.fb-f-r{grid-column:4/7}
.fb-f-l .fb-radios{flex-direction:column;gap:0}.fb-f-third{grid-column:span 2}.fb-f-half{grid-column:span 3}
.fb-f>label:not(.fb-sr):not(.fb-file){display:block;font-family:var(--fb);font-weight:700;font-size:14px;line-height:24px;margin:0 0 5px}
.fb-f input:not([type=radio]):not([type=checkbox]):not([type=file]),.fb-f select,.fb-f textarea{width:100%;font:inherit;font-size:16px;line-height:1;padding:17px 20px;border:1px solid #dfdfdf;background:#fff;color:var(--ink);border-radius:0;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.fb-f select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23777' stroke-width='1.1'/%3E%3C/svg%3E") right 22px center no-repeat;padding-right:48px;line-height:1.2}
.fb-f textarea{line-height:1.5;resize:vertical;min-height:106px}
.fb-f input:focus,.fb-f select:focus,.fb-f textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(21,36,141,.12)}
.fb-f ::placeholder{color:#7a7a7a}
.fb-f.has-err input,.fb-f.has-err textarea,.fb-f.has-err select{border-color:var(--red)}
.fb-err{color:var(--red);font-size:14px;margin:0 0 6px;font-weight:700}
.fb-errsum{background:#fdecec;border-left:4px solid var(--red);padding:12px 16px;margin:0 0 20px;font-size:15px}
.fb-radios{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.fb-radios legend{font-family:var(--fb);font-weight:700;font-size:14px;line-height:24px;margin:0 0 5px;padding:0;width:100%}
.fb-f .fb-radios label{display:inline-flex;align-items:center;gap:6px;font-family:var(--fb);font-weight:400;font-size:16px;line-height:24px;margin:0;cursor:pointer}
.fb-radios input{accent-color:var(--navy);width:14px;height:14px;margin:0;flex:none}.fb-consent input{accent-color:var(--navy);width:16px;height:16px;margin:4px 0 0;flex:none}
.fb-form .fb-f.fb-consent label{display:flex;gap:10px;align-items:flex-start;font-family:var(--fb);font-weight:400;font-size:14px;line-height:1.5;margin:0;cursor:pointer}
.fb-file{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--ink);padding:30px 20px;background:#fff;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.fb-file:hover,.fb-file.drag{border-color:var(--navy);background:#f7f8fc}.fb-file:focus-within{border-color:var(--navy)}
.fb-file span{order:2;font-size:13px;color:var(--muted)}.fb-file input{position:absolute;opacity:0;width:1px;height:1px}
.fb-file b{order:1;font-weight:400;font-size:20px;line-height:1.3;color:var(--ink)}
.fb-file i{order:3;font-style:normal;font-size:14px;color:var(--navy);font-weight:700}.fb-file i:empty{display:none}
.fb-acts{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}.fb-multi .fb-acts{margin-top:60px}.fb-multi .fb-acts .fb-next-step,.fb-multi .fb-acts [type=submit]{margin-left:auto}
.fb-acts .fb-btn{font-family:var(--fh);font-weight:700;padding:0 30px;line-height:52px;height:52px}
.fb-prog{flex:0 0 100%;height:6px;background:#ebebeb;position:relative;margin:38px 0 0}
.fb-prog i{position:absolute;left:0;top:0;bottom:0;background:var(--navy);transition:width .4s}
.fb-prog-n{flex:0 0 100%;font-size:13px;color:var(--muted);margin-top:4px}
.fb-steps{list-style:none;margin:42px 0 30px;padding:0;display:flex}
.fb-steps li{flex:1;position:relative;display:flex;justify-content:center}
.fb-steps li::before{content:"";position:absolute;left:calc(-50% + 36px);right:calc(50% + 36px);top:50%;border-top:1px solid #e5e5e5;z-index:0}
.fb-steps li:first-child::before{display:none}
.fb-steps span{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;background:#e9e9ea;color:#8a8a8a;display:grid;place-items:center;font-weight:400;font-size:15px;transition:background .3s,color .3s}
.fb-steps li.on span{background:var(--red);color:#fff}.fb-steps li.done span{background:#e9e9ea;color:#8a8a8a}
.fb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fb-ok{display:flex;gap:14px;align-items:flex-start;background:#e8f6ee;padding:20px 22px;color:#0b5c37}.fb-ok .fb-ico{font-size:26px;color:#0e8f55;flex:none}.fb-ok p{margin:0}
.fb-newsletter{background:#fff var(--bg) center/cover no-repeat;position:relative}
.fb-nl-img::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.85)}
.fb-nl-in{max-width:66.666%;margin:0 auto;position:relative;text-align:center}
.fb-newsletter .fb-form{margin-top:3.75em}
.fb-newsletter .fb-step{display:flex;gap:0;align-items:stretch}
.fb-newsletter .fb-fields{flex:1;display:block}.fb-newsletter .fb-acts{margin:0}.fb-newsletter .fb-acts .fb-btn{height:100%;min-height:54px}
.fb-newsletter .fb-errsum,.fb-newsletter .fb-ok{text-align:left}

/* ------------------------------------------------------------ Chantiers */
.fb-pj-m{position:relative}
.fb-pj-tall{aspect-ratio:4/5!important}
.fb-pj-prev,.fb-pj-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;font-size:16px;opacity:0;transition:opacity .25s}
.fb-pj-m:hover .fb-pj-prev,.fb-pj-m:hover .fb-pj-next,.fb-pj-prev:focus,.fb-pj-next:focus{opacity:1}.fb-pj-prev{left:14px}.fb-pj-next{right:14px}
.fb-pj .fb-pdots{position:absolute;left:0;right:0;bottom:12px;margin:0;z-index:3}
.fb-pj-sum{font-size:14px;margin:14px 0 18px}
.fb-pj-m{position:relative}
.fb-pj-s{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--grey)}
.fb-slide-i{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s}
.fb-slide-i.on{opacity:1}.fb-slide-i img{width:100%;height:100%;object-fit:cover}
.fb-pdots{display:flex;justify-content:center;gap:10px;margin-top:14px}
.fb-pdots button{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:#d4d4d4}.fb-pdots button[aria-selected=true]{background:var(--red)}
.fb-pj-c p{margin:20px 0}
.fb-share{display:flex;gap:6px;align-items:center}
.fb-sh{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;opacity:.55;transition:opacity .2s}
.fb-sh:hover{opacity:1;color:#fff}
.fb-sh-facebook{background:#3b5998}.fb-sh-twitter{background:#1da1f2}.fb-sh-linkedin{background:#0077b5}.fb-sh-vk{background:#4c75a3}.fb-sh-whatsapp{background:#25d366}
.fb-masonry{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:20px}
.fb-mz{display:block;aspect-ratio:4/3;overflow:hidden}.fb-mz-tall{grid-row:span 2;aspect-ratio:auto}.fb-mz img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.fb-mz:hover img{transform:scale(1.04)}
.fb-pj-body{display:flex;gap:40px;justify-content:space-between;align-items:center;margin-top:40px}
.fb-pj-body .fb-text{max-width:66%}
.fb-pnav{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:40px;padding-top:30px}
.fb-pn{display:flex;align-items:center;gap:14px;color:var(--ink);max-width:48%}
.fb-pn-next{flex-direction:row-reverse;text-align:right;margin-left:auto}
.fb-pn-i{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none}.fb-pn-i img{width:100%;height:100%;object-fit:cover}
.fb-pn small{display:block;font-family:var(--fc);text-transform:uppercase;font-size:13px}
.fb-pn b{font-family:var(--fh);font-weight:700;font-size:17px;line-height:1.3}
.fb-pn:hover b{color:var(--red)}

/* ------------------------------------------------------------ Actualités */
.fb-blog{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0 20px;align-items:start}
.fb-blog>.fb-list,.fb-blog>.fb-post{padding-right:0;max-width:880px;width:100%}
.fb-li{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line)}
.fb-li-r .fb-li-m{order:2}
.fb-li-m img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fb-li-page{grid-template-columns:1fr}
.fb-li .fb-s-medium .fb-t{font-size:34px;line-height:1.05}
.fb-li .fb-sup{font-size:14px}.fb-li .fb-sup::before{width:1.875rem}
.fb-li .fb-pdate{margin:18px 0 20px;font-size:15px}
.fb-empty{font-size:18px}
.fb-pager{display:flex;justify-content:space-between;align-items:center;padding-top:10px}
.fb-pager a{display:inline-flex;align-items:center;gap:14px;font-family:var(--fh);font-weight:700;color:var(--ink)}
.fb-pg-c{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:20px;transition:background .2s}
.fb-pager a:hover .fb-pg-c{background:var(--ink)}
.fb-post .fb-post-text{font-size:16px}
.fb-post-text h2{font-size:40px;line-height:1.05;margin:1em 0 .5em}.fb-post-text h3{font-size:30px;margin:1em 0 .5em}
.fb-pfoot{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:30px}
.fb-ptags{display:flex;flex-wrap:wrap;gap:6px}
.fb-ptags a{background:#e6e6e6;color:var(--ink);font-family:var(--fc);font-size:12px;text-transform:uppercase;padding:6px 10px}
.fb-ptags a:hover{background:var(--red);color:#fff}
.fb-side{min-width:0}
.fb-w{margin:0 0 3.5em}
.fb-wt{font-size:20px;margin:0 0 30px;position:relative;padding-bottom:16px}
.fb-wt::after{content:"";position:absolute;left:0;bottom:0;width:2.1875rem;border-top:2px solid var(--red)}
.fb-w-search form{display:flex;border:1px solid #dcdcdc}
.fb-w-search input{flex:1;min-width:0;border:0;font:inherit;font-size:15px;padding:14px 16px;outline:0}
.fb-w-search button{border:0;background:none;padding:0 16px;color:var(--ink);font-size:14px}.fb-w-search button:hover{color:var(--red)}
.fb-w-rec{list-style:none;margin:0;padding:0}
.fb-w-rec li{border-bottom:1px solid var(--line)}.fb-w-rec li:last-child{border:0}
.fb-w-rec a{display:flex;gap:12px;padding:10px 0;color:var(--ink);align-items:center}
.fb-w-i{width:70px;height:56px;flex:none;overflow:hidden}.fb-w-i img{width:100%;height:100%;object-fit:cover}
.fb-w-rec small{display:block;font-family:var(--fc);font-size:12px;color:var(--ink);margin-bottom:3px}
.fb-w-rec b{font-family:var(--fh);font-weight:700;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-w-rec a:hover b{color:var(--red)}
.fb-w-arch{width:100%;font:inherit;font-size:15px;padding:14px 16px;border:1px solid #dcdcdc;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23181818' stroke-width='1.5'/%3E%3C/svg%3E") right 16px center no-repeat;appearance:none;-webkit-appearance:none;color:var(--ink)}
.fb-w-cats{list-style:none;margin:0;padding:0}
.fb-w-cats a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px}
.fb-w-cats a:hover{color:var(--red)}
.fb-w-tags{display:flex;flex-wrap:wrap;gap:5px}
.fb-w-tags a{background:var(--red);color:#fff;font-family:var(--fc);font-size:12px;text-transform:uppercase;padding:6px 9px;line-height:1.2}
.fb-w-tags a:hover{background:var(--ink);color:#fff}
.fb-404{max-width:640px}.fb-404-s{display:flex;gap:0;margin:20px 0 30px}.fb-404-s input{flex:1;font:inherit;padding:16px 20px;border:1px solid #dcdcdc}

/* ------------------------------------------------------------ Pied de page */
.fb-ftr-main{background:var(--navy);color:#fff;padding:5em 0 3em;font-size:14px}
.fb-fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 40px}
.fb-fcol{min-width:0;margin-bottom:2em}
.fb-ftr .fb-hd{margin-bottom:1em}
.fb-ftr .fb-t{font-size:20px}
.fb-ftr .fb-sup::before{width:1.875rem}
.fb-ftr .fb-sub{font-size:14px;line-height:1.5;margin-top:14px}
.fb-fl{margin:0 0 .4em}.fb-fl a{display:inline-flex;align-items:center;gap:10px;color:#fff}.fb-fl a:hover{color:var(--red)}.fb-fl .fb-ico{font-size:12px}
.fb-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.fb-badges img{max-height:80px;width:auto}
.fb-flinks{list-style:none;margin:0;padding:0}.fb-flinks li{margin:0 0 4px}.fb-flinks a{color:#fff;line-height:24px}.fb-flinks a:hover{color:var(--red)}
.fb-social{display:flex;gap:10px;margin-top:1em}
.fb-social a{width:50px;height:50px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:20px;transition:background .2s,color .2s}
.fb-social a:hover{background:#fff;color:var(--red)}
.fb-ftr-bot{background:var(--red);color:#fff;font-size:14px;padding:2em 0}
.fb-fbot{display:flex;justify-content:space-between;align-items:center;gap:20px}
.fb-fbot p{margin:0}.fb-fbot a{color:#fff}.fb-fbot a:hover{color:var(--ink)}
.fb-fbot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 30px}
.fb-totop{display:inline-flex;align-items:center;gap:6px}.fb-totop .fb-ico{font-size:12px}

/* ------------------------------------------------------------ Bandeau de cookies (extension Cookies) et compléments du CMS */
.ck{position:fixed;left:24px;bottom:24px;z-index:120;width:min(440px,calc(100% - 32px));background:#fff;color:#212121;box-shadow:0 -1px 10px rgba(172,171,171,.3),0 10px 30px rgba(0,0,0,.18);padding:24px;font-size:14px;line-height:1.6;border-radius:6px}
.ck[hidden]{display:none}
.ck h2{font-family:var(--fb);font-weight:700;font-size:18px;letter-spacing:0;margin:0 0 12px;color:#212121}
.ck p{margin:0 0 14px}.ck a{color:#1863dc;text-decoration:underline}
.ck-cats{display:none;border-top:1px solid #eee;margin:0 0 12px}.ck.more .ck-cats{display:block}
.ck-cat{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #eee}
.ck-cat strong{display:block;font-size:14px}.ck-cat small{display:block;font-size:12.5px;color:#666;line-height:1.45}.ck-cat input{width:18px;height:18px;accent-color:var(--navy);flex:none}
.ck .row-b{display:flex;flex-wrap:wrap;gap:8px}
.ck .row-b .btn{flex:1 1 auto;font:inherit;font-size:14px;font-weight:500;padding:9px 12px;border:2px solid var(--navy);border-radius:2px;background:#fff;color:var(--navy);cursor:pointer;min-width:110px}
.ck .row-b [data-ck-all],.ck .row-b [data-ck-save]{background:var(--navy);color:#fff;order:3}
.ck .row-b [data-ck-more]{order:1}.ck .row-b [data-ck-none]{order:2}
.ck .row-b .btn:hover{opacity:.88}
.ck-reopen{position:fixed;left:16px;bottom:16px;z-index:110;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:20px;box-shadow:0 2px 10px rgba(0,0,0,.25);cursor:pointer}
.ck-reopen[hidden]{display:none}
.cms-preview .fb-head{position:relative!important}
.cms-b{position:relative}

/* ------------------------------------------------------------ Tablette */
@media (max-width:1200px){
  .fb-menu>li{margin:0 16px}.fb-sbtn{margin-left:26px}
  .fb-s-huge .fb-t{font-size:64px}.fb-s-xl .fb-t{font-size:58px}.fb-s-large .fb-t{font-size:50px}
}
@media (max-width:1024px){
  .fb-top{display:none}
  .fb-hdr-in{height:70px}
  .fb-burger{display:flex;flex-direction:column;justify-content:center;gap:7px;width:30px;height:40px;border:0;background:none;padding:0;margin-right:16px}
  .fb-burger span{display:block;height:2px;background:var(--ink);width:30px}
  .fb-logo-img{height:56px}
  .fb-hdr-in{height:80px}
  .fb-sbtn{margin-left:auto}
  .fb-nav{position:fixed;top:0;left:0;bottom:0;width:min(340px,86vw);background:#fff;z-index:100;transform:translateX(-102%);transition:transform .35s ease;overflow-y:auto;padding:0 0 40px;margin:0;box-shadow:0 0 40px rgba(0,0,0,.25)}
  .fb-nav.open{transform:none}
  .fb-nav-top{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--line)}
  .fb-nav-top .fb-logo-img{height:50px}
  .fb-nav-x{background:none;border:0;font-size:22px;color:var(--ink);display:flex;padding:8px}
  .fb-menu{flex-direction:column;align-items:stretch;padding:10px 0}
  .fb-menu>li{margin:0;display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #f1f1f1}
  .fb-menu>li>a{flex:1;line-height:1.3;padding:15px 20px 15px 34px}
  .fb-menu>li>a::before{left:18px}
  .fb-subt{display:flex;background:none;border:0;padding:14px 20px;font-size:16px;color:var(--ink);transition:transform .25s}
  .fb-subt[aria-expanded=true]{transform:rotate(90deg);color:var(--red)}
  .fb-subm{position:static;width:100%;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;background:#fafafa}
  .fb-subm.open{display:block}
  .fb-subm a{padding-left:44px}
  .fb-menu>li:hover>.fb-subm{display:none}.fb-menu>li>.fb-subm.open{display:block}
  .fb-head.fb-stuck{animation:none}
  .fb-w3{width:50%}.fb-w9,.fb-w8{width:100%}
  .fb-cards.fb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fb-items.fb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fb-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fb-blog{grid-template-columns:1fr}.fb-blog>.fb-list,.fb-blog>.fb-post{max-width:none}
  .fb-side{margin-top:3em}
  .fb-map-box{flex-direction:column;align-items:stretch;gap:10px}
  .fb-map>.fb-wrap{position:relative;bottom:auto;margin-top:-80px}
}
/* ------------------------------------------------------------ Mobile */
@media (max-width:768px){
  .fb-pt-m{padding-top:3em}.fb-pt-l{padding-top:4.375em}.fb-pt-xl{padding-top:12em}.fb-pb-m{padding-bottom:3em}.fb-pb-l{padding-bottom:4.375em}.fb-pb-xl{padding-bottom:12em}
  .fb-s-huge .fb-t{font-size:54px}.fb-s-xl .fb-t{font-size:48px}.fb-s-large .fb-t{font-size:40px}.fb-s-medium .fb-t{font-size:32px}.fb-s-normal .fb-t{font-size:28px}
  .fb-sub{font-size:17px;margin-top:18px}
  .fb-text h2,.fb-post-text h2{font-size:30px}.fb-text h3{font-size:27px}
  .fb-half{max-width:none;padding:0}
  .fb-fs .fb-t{font-size:min(var(--fs),34px)!important}
  .fb-row{margin:0 -20px}.fb-gap-w{margin:0 -20px}.fb-gap-w>.fb-col{padding:0 20px}
  .fb-col,.fb-w3,.fb-w2{width:100%}
  .fb-col+.fb-col{margin-top:2em}.fb-col-empty+.fb-col,.fb-col+.fb-col-empty{margin-top:0}
  .fb-col-empty{display:none}
  .fb-row+.fb-row{margin-top:2em}
.fb-row-line{margin:2em 0}.fb-row-line+.fb-row{margin-top:0}
  .fb-items,.fb-items.fb-cols-2,.fb-items.fb-cols-3,.fb-items.fb-cols-4{grid-template-columns:1fr;gap:2em}
  .fb-it-xl .fb-it-i{font-size:56px}
  .fb-hero{min-height:0}
  .fb-slide .fb-wrap{padding:110px 0 120px}
  .fb-slide-c,.fb-side-right .fb-slide-c{width:100%;padding:0}
  .fb-hero .fb-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.35),rgba(0,0,0,.1))}
  .fb-dots{right:12px}
  .fb-cards,.fb-cards.fb-cols-2,.fb-cards.fb-cols-3,.fb-cards.fb-cols-4{grid-template-columns:1fr;gap:30px}
  .fb-overlap{margin-top:-1.5em}
  .fb-card{padding:120px 24px 28px}
  .fb-intro{flex-direction:column;min-height:0}
  .fb-intro-c{width:100%;padding:3em 0 2em}
  .fb-intro-cut .fb-intro-c{padding-bottom:2em}
  .fb-intro-img{position:relative;left:auto;right:auto;height:72vw;max-height:520px;background-image:var(--bg-s)}
  .fb-intro .fb-deco{right:0}
  .fb-ph{padding:50px 0}
  .fb-logos .fb-carousel{padding:0 40px;margin:0}
  .fb-news-g{grid-template-columns:1fr;gap:20px}.fb-nc{min-height:300px}
  .fb-map-a{flex:none}
  .fb-map>.fb-wrap{margin-top:0;width:100%}
  .fb-map-box{box-shadow:none;padding:2em 20px}
  .fb-map-f{height:340px!important}
  .fb-fields{grid-template-columns:1fr}.fb-f,.fb-f-third,.fb-f-half
  .fb-formsec .fb-line{margin:2em 0}
  .fb-multi .fb-acts{margin-top:36px}.fb-prog{margin-top:26px}
  .fb-nl-in{max-width:none}
  .fb-newsletter .fb-step{flex-direction:column}.fb-newsletter .fb-acts{margin-top:12px}
  .fb-li{grid-template-columns:1fr;gap:20px}.fb-li-r .fb-li-m{order:0}
  .fb-li .fb-s-medium .fb-t{font-size:28px}
  .fb-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fb-pj-body{flex-direction:column;align-items:flex-start}.fb-pj-body .fb-text{max-width:none}
  .fb-pnav{flex-direction:column}.fb-pn{max-width:none}
  .fb-pfoot{flex-direction:column}
  .fb-fgrid{grid-template-columns:1fr}
  .fb-fbot{flex-direction:column;text-align:center}.fb-fbot ul{justify-content:center;gap:6px 18px}
  .fb-band .fb-carousel{--per:1!important}
  .ck{left:10px;right:10px;bottom:10px;max-width:none}
}
@media (max-width:480px){
  .fb-s-huge .fb-t{font-size:52px}.fb-s-large .fb-t{font-size:34px}
  .fb-masonry{grid-template-columns:1fr}.fb-mz-tall{grid-row:auto;aspect-ratio:3/4}
}
/* Agrandissement des photos */
.fb-lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:40px}
.fb-lb.on{display:flex}.fb-lb img{max-width:100%;max-height:100%;width:auto;height:auto}
.fb-lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;line-height:1;padding:10px 16px}
.fb-lb-x{top:10px;right:10px}.fb-lb-p{left:10px;top:50%;transform:translateY(-50%)}.fb-lb-n{right:10px;top:50%;transform:translateY(-50%)}

/* Apparition des blocs au défilement, un par un (comme le constructeur d'origine) */
.fb-anim :is(.fb-slide-c,.fb-intro-c,.fb-card,.fb-col:not(.fb-col-empty),.fb-features .fb-half,.fb-features .fb-headw,.fb-features .fb-it,.fb-nc,.fb-li,.fb-rv-all,.fb-carousel,.fb-map-box,.fb-hd.fb-center){opacity:0;transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1);transition-delay:var(--ad,0ms)}
.fb-anim :is(.fb-slide-c,.fb-intro-c,.fb-card,.fb-col:not(.fb-col-empty),.fb-features .fb-half,.fb-features .fb-headw,.fb-nc,.fb-li){transform:translateY(100px)}
.fb-anim .fb-in:is(.fb-slide-c,.fb-intro-c,.fb-card,.fb-col,.fb-half,.fb-headw,.fb-it,.fb-nc,.fb-li,.fb-rv-all,.fb-carousel,.fb-map-box,.fb-hd){opacity:1;transform:none}
.fb-anim .fb-slide:not(.on) .fb-slide-c{transition:none;transition-delay:0ms}
@media (max-width:1024px){.fb-anim :is(.fb-slide-c,.fb-intro-c,.fb-card,.fb-col:not(.fb-col-empty),.fb-features .fb-half,.fb-features .fb-headw,.fb-nc,.fb-li){transform:translateY(50px)}}

/* Champ date et calendrier */
.fb-date{position:relative}
.fb-f .fb-date input{padding-right:56px}
.fb-date-b{position:absolute;right:1px;top:1px;bottom:1px;width:52px;display:grid;place-items:center;background:none;border:0;color:var(--ink);cursor:pointer;transition:color .2s}
.fb-date-b:hover,.fb-date-b[aria-expanded=true]{color:var(--red)}
.fb-date-b svg{width:22px;height:22px}
.fb-cal{position:absolute;z-index:80;right:0;top:calc(100% + 6px);width:320px;max-width:calc(100vw - 32px);background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.16);padding:18px 18px 14px;font-family:var(--fb);animation:fbCal .18s ease-out}
.fb-cal[hidden]{display:none}
@keyframes fbCal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fb-cal-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.fb-cal-t{font-family:var(--fh);font-weight:800;font-size:18px;letter-spacing:-.02em;text-transform:capitalize}
.fb-cal-t small{color:var(--red);font:inherit}
.fb-cal-n{width:34px;height:34px;display:grid;place-items:center;border:0;background:#f2f2f2;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.fb-cal-n:hover{background:var(--navy);color:#fff}
.fb-cal-n svg{width:14px;height:14px}
.fb-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.fb-cal-w{font-size:12px;font-weight:700;color:#8a8a8a;text-transform:uppercase;padding:4px 0 8px}
.fb-cal-d{aspect-ratio:1;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;position:relative;transition:background .15s,color .15s}
.fb-cal-d:hover{background:#f0f1f8;color:var(--navy)}
.fb-cal-d.out{color:#c4c4c4}
.fb-cal-d.we{color:#9a9a9a}.fb-cal-d.out.we{color:#d6d6d6}
.fb-cal-d.today{font-weight:700;color:var(--navy)}
.fb-cal-d.today::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--red)}
.fb-cal-d.sel{background:var(--red);color:#fff;font-weight:700}.fb-cal-d.sel::after{background:#fff}
.fb-cal-d:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.fb-cal-f{display:flex;justify-content:space-between;border-top:1px solid #eee;margin-top:10px;padding-top:10px}
.fb-cal-f button{border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--navy);cursor:pointer;padding:6px 4px}
.fb-cal-f button:hover{color:var(--red)}
.fb-cal-f .fb-cal-x{color:#8a8a8a}
@media (max-width:767px){.fb-cal{right:auto;left:0}}

/* Liste des pièces jointes */
.fb-files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.fb-files:empty{display:none}
.fb-files li:not(.fb-fl-t){display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid #e5e5e5;background:#fff;animation:fbCal .2s ease-out}
.fb-fl-i{flex:none;width:44px;height:44px;display:grid;place-items:center;background:#f0f1f8;overflow:hidden}
.fb-fl-i img{width:100%;height:100%;object-fit:cover}
.fb-fl-i b{font-family:var(--fh);font-weight:800;font-size:12px;color:var(--navy)}
.fb-fl-c{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}
.fb-fl-n{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-fl-s{font-size:13px;color:var(--muted);white-space:nowrap}
.fb-fl-p{grid-column:1/-1;height:4px;background:#ebebeb;position:relative;overflow:hidden;opacity:0;transition:opacity .2s}
.fb-fl-p i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--navy);transition:width .2s}
.fb-files.up .fb-fl-p{opacity:1}
.fb-files li.done .fb-fl-p i{background:#0e8f55}
.fb-files li.done .fb-fl-s::after{content:" \2713";color:#0e8f55;font-weight:700}
.fb-fl-x{flex:none;width:32px;height:32px;border:0;background:none;font-size:24px;line-height:1;color:#8a8a8a;cursor:pointer;transition:color .2s,background .2s}
.fb-fl-x:hover{color:var(--red);background:#fdecec}
.fb-fl-x:disabled{visibility:hidden}
.fb-fl-t{font-size:13px;color:var(--muted);padding:2px 2px 0}
.fb-files-m{margin:8px 0 0;font-size:14px;color:var(--red);font-weight:700}
.fb-files-m:empty{display:none}
.fb-btn.busy{opacity:.85;cursor:progress}
