/* ==========================================================================
   Thème A4C Résine (QuietCMS) · direction « industriel premium »
   Graphite + jaune marquage (logo) + béton clair. Le contenu et les liens
   restent ceux du site d'origine : seul l'habillage change.
   ========================================================================== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-wdth-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-ext-wdth-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:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin-ext-wght-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:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}

:root{
  /* palette */
  --night:#0e1015; --graphite:#14161c; --graphite2:#1d2029; --graphite3:#2c303c;
  --concrete:#f2f0eb; --concrete2:#e8e4dc; --line:#e2ded5; --white:#fff;
  --yellow:#f6d258; --a4c-blue:#013d5e; --a4c-blue2:#0f5279; --blue:#24508e; --orange:#ffaa06;
  --ink:#14161c; --text:#3b3f4a; --muted:#5d6170; --on-dark:#c6c9d2; --on-dark-muted:#a7abb6;
  /* anciennes variables Avada utilisées dans les contenus convertis */
  --c-color1:#ffffff; --c-color2:#14161c; --c-color3:#f6d258; --c-color4:#ffaa06;
  --c-color5:#8b8c97; --c-color6:#1d2029; --c-color7:#333333; --c-color8:#14161c;
  --c-k10:#2c303c; --c-k11:#a7abb6; --c-k12:#5f616f; --c-k13:#f6d258; --c-k16:#ffaa06;
  /* typographie, formes */
  --f-display:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-sys:var(--f-body);
  --site-w:1280px; --r:22px; --r-lg:28px;
  --sh:0 1px 2px rgba(20,22,28,.06),0 24px 48px -32px rgba(20,22,28,.45);
  --sh-lg:0 2px 4px rgba(20,22,28,.06),0 40px 80px -36px rgba(20,22,28,.55);
  --hazard:repeating-linear-gradient(-45deg,var(--yellow) 0 18px,var(--graphite) 18px 36px);
  --ease:cubic-bezier(.22,.8,.24,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--concrete);color:var(--text);font-family:var(--f-body);font-size:17px;font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
a{color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
a:hover{color:var(--ink)}
p{margin:0 0 20px}
strong,b{font-weight:700}
::selection{background:var(--yellow);color:var(--ink)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4,h5,h6{font-family:var(--f-display);font-stretch:108%;color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.08}
h1{font-size:clamp(36px,4.6vw,60px);margin:0 0 .5em}
h2{font-size:clamp(28px,3.2vw,42px);margin:.9em 0 .55em}
h3{font-size:clamp(21px,2vw,26px);line-height:1.2;margin:1.2em 0 .6em}
h4{font-size:18px;line-height:1.3;margin:1.3em 0 .6em}
h5,h6{font-size:16px;margin:1.4em 0 .6em}
ul,ol{margin:0 0 20px;padding-left:1.3em}
li{margin-bottom:6px}
table{border-collapse:collapse;width:100%;margin:0 0 28px;background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--line);font-size:16px}
th,td{padding:14px 18px;text-align:left;vertical-align:top;border:0;border-top:1px solid #ece8e0}
th{color:var(--white);background:var(--graphite);font-weight:700;border-top:0}
tbody tr:nth-child(even){background:#faf9f6}
blockquote{margin:0 0 28px;padding:22px 26px;border-radius:var(--r);background:var(--graphite);color:var(--white)}
.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--yellow);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700}
.skip-link:focus{left:12px;top:12px}

/* ---------- Bandeau d'infos ---------- */
.secondary-header{background:var(--night);color:var(--on-dark-muted);font-size:13px;line-height:1.5;letter-spacing:.02em}
.sh-inner{max-width:calc(var(--site-w) + 64px);margin:0 auto;padding:9px 32px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.secondary-header a{color:var(--white);text-decoration:none;font-weight:600}
.secondary-header a:hover{color:var(--yellow)}
.sh-sep{margin:0 6px;color:#4a4e5a}

/* ---------- En-tête ---------- */
.site-header{background:rgba(20,22,28,.94);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{max-width:calc(var(--site-w) + 64px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px}
.logo{display:inline-flex;align-items:center;line-height:0;background:var(--white);border-radius:14px;padding:6px 12px;flex:none}
.logo img{width:auto;height:52px}
.main-nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.main-nav li{position:relative;margin:0}
.main-nav>ul>li>a{display:flex;align-items:center;gap:6px;padding:12px 14px;border-radius:12px;color:var(--white);text-decoration:none;font-size:15px;font-weight:600;line-height:1.2;transition:background .2s,color .2s}
.main-nav>ul>li.has-children>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7}
.main-nav>ul>li:hover>a,.main-nav>ul>li.current>a{background:rgba(255,255,255,.07);color:var(--yellow)}
.main-nav>ul>li.menu-cta{margin-left:10px}
.main-nav>ul>li.menu-cta>a{background:var(--yellow);color:var(--ink);border-radius:999px;padding:12px 22px;font-weight:800;font-size:14px;letter-spacing:.01em}
.main-nav>ul>li.menu-cta>a:hover,.main-nav>ul>li.menu-cta.current>a{background:var(--white);color:var(--ink)}
.main-nav .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;left:0;top:calc(100% + 10px);min-width:300px;background:var(--graphite2);border:1px solid var(--graphite3);border-radius:18px;box-shadow:0 24px 48px -20px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:200}
.main-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{display:block;padding:11px 14px;border-radius:12px;color:var(--white);text-decoration:none;font-size:15px;line-height:1.35}
.main-nav .sub-menu a:hover,.main-nav .sub-menu .current>a{background:rgba(246,210,88,.12);color:var(--yellow)}
.sub-toggle{display:none}
.nav-toggle{display:none;background:var(--graphite3);border:0;border-radius:14px;cursor:pointer;width:46px;height:46px;padding:14px 12px;flex-direction:column;justify-content:space-between}
.nav-toggle span{display:block;height:2.5px;border-radius:2px;background:var(--white);transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (max-width:1100px){
  .header-inner{flex-wrap:wrap;padding:10px 20px}
  .logo img{height:42px}
  .nav-toggle{display:flex}
  .main-nav{flex-basis:100%;display:none;padding:6px 0 16px}
  .main-nav.open{display:block}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:2px}
  .main-nav>ul>li>a{padding:14px 52px 14px 12px}
  .main-nav>ul>li.has-children>a::after{display:none}
  .main-nav>ul>li.menu-cta{margin:10px 0 0}
  .main-nav>ul>li.menu-cta>a{justify-content:center;padding:15px}
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;background:rgba(255,255,255,.04);min-width:0;margin:2px 0 6px}
  .main-nav li.sub-open>.sub-menu{display:block}
  .sub-toggle{display:block;position:absolute;right:4px;top:2px;width:44px;height:44px;background:none;border:0;cursor:pointer;color:var(--white)}
  .sub-toggle::before{content:"";display:block;width:9px;height:9px;margin:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
  .sub-open>.sub-toggle::before{transform:rotate(-135deg)}
}

/* ---------- Barre de titre ---------- */
.ptb{position:relative;overflow:hidden;background:var(--graphite);min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;padding:64px 32px 72px}
.ptb::before{content:"";position:absolute;right:-180px;top:-260px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(246,210,88,.18) 0%,rgba(246,210,88,0) 65%);pointer-events:none}
.ptb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--hazard)}
.ptb-img{min-height:540px;background-size:cover;background-position:center center}
.ptb-img::before{display:none}
.ptb-inner{position:relative;max-width:1200px;width:100%}
.ptb h1{font-size:clamp(34px,4.4vw,56px);line-height:1.08;color:var(--white);margin:0}
.breadcrumbs ol{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;line-height:1.5}
.breadcrumbs li{color:var(--yellow);margin:0}
.breadcrumbs li+li::before{content:"/";margin:0 10px;color:#5d6170}
.breadcrumbs a{color:var(--on-dark-muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--white)}
.ptb-img .breadcrumbs a,.ptb-img .breadcrumbs li+li::before{color:#e6e6ea}

/* ---------- Contenu simple (articles, pages texte) ---------- */
#main{padding-bottom:110px}
.tpl-home #main{padding-bottom:0}
.post-content{max-width:calc(1060px + 64px);margin:0 auto;padding:64px 32px 0;font-size:18px}
.post-content>p:first-child,.article-content>p:first-child{font-size:20px;line-height:1.65;color:var(--ink);font-weight:500}
.post-content h2{margin-top:1.4em}
.post-content img{display:block;margin:12px auto 28px;border-radius:var(--r);box-shadow:var(--sh)}
.post-content a{font-weight:600}
.article-content{color:var(--text)}
.article-featured{max-width:calc(1060px + 64px);margin:24px auto 0;padding:0 32px;text-align:center}
.article-featured img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.archive-content{max-width:calc(var(--site-w) + 64px)}
.archive-description{max-width:1060px;font-size:19px;color:var(--ink)}
.archive-bottom{max-width:1060px;margin:0 auto;padding:56px 0 10px}
.archive-bottom table{width:100%}

/* ---------- Conteneurs issus du constructeur ---------- */
.fc{position:relative;padding-left:32px;padding-right:32px;background-repeat:no-repeat;color:var(--text)}
.fc-bg{background-size:cover}
@media (min-width:1025px) and (hover:hover){.fc-parallax{background-attachment:fixed}}
.fr{display:flex;flex-wrap:wrap;max-width:var(--site-w);margin:0 auto}
.fc-full>.fr{max-width:none}
.fcol{width:var(--w,100%);margin-right:var(--gap,0);margin-bottom:20px;min-height:1px;position:relative}
.fcol-center{display:flex;flex-direction:column;justify-content:center}
.fcol-link{display:block;color:inherit;text-decoration:none}
.ftext>:last-child{margin-bottom:0}
.ftext-c h1,.ftext-c h2,.ftext-c h3,.ftext-c h4,.ftext-c li{color:inherit}
.ftitle{margin:15px 0}
.ftitle p{margin:0}
.fsep{border:0;height:4px;width:64px!important;max-width:64px;background:var(--yellow);border-radius:4px;margin:14px 0 30px}
.fsep-center{margin-left:auto!important;margin-right:auto!important}
.fsep-left{margin-left:0;margin-right:auto}
.fimg{margin:0 0 10px;line-height:0}
.fimg-center{text-align:center}
.fimg-right{text-align:right}
.fimg-left{text-align:left}
.fimg img{display:inline-block;border-radius:var(--r);box-shadow:var(--sh-lg)}
.fbtn-wrap{margin:14px 0}
.fbtn-center{text-align:center}
.fbtn-right{text-align:right}
.fbtn{display:inline-flex;align-items:center;gap:10px;background:var(--yellow);color:var(--ink);font-size:15px;font-weight:800;letter-spacing:.01em;line-height:1.2;padding:15px 24px;border-radius:14px;text-decoration:none;transition:background .2s,color .2s,transform .2s var(--ease)}
.fbtn::after{content:"→";font-weight:800}
.fbtn-small{font-size:14px;padding:12px 20px}
.fbtn-large{font-size:16px;padding:17px 28px}
.fbtn:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}

/* Fonds : sombres (graphite) / clairs (béton) / jaune */
.fc[style*="#292b37"],.fc[style*="#333645"]{color:var(--on-dark)}
.fc[style*="#292b37"]{background-color:var(--graphite)!important}
.fc[style*="#333645"]{background-color:var(--graphite2)!important}
.fc[style*="#292b37"] :is(h1,h2,h3,h4,h5,h6),.fc[style*="#333645"] :is(h1,h2,h3,h4,h5,h6){color:var(--white)}
.fc[style*="#292b37"] a:not(.fbtn),.fc[style*="#333645"] a:not(.fbtn){color:var(--yellow)}
.fc[style*="#eeeeee"]:not(.fc-bg){background-color:var(--concrete2)!important}
.fc[style*="#f6d258"]{background-color:var(--yellow)!important;color:var(--ink)}
/* sections claires par défaut : on passe les textes blancs d'origine en encre */
.fc:not([style*="background-color"]):not(.fc-bg) :is(h1,h2,h3,h4,h5,h6){color:var(--ink)}
.fc:not([style*="background-color"]):not(.fc-bg) [style*="color:#ffffff"],
.fc:not([style*="background-color"]):not(.fc-bg) [style*="color:#fff;"],
.fc:not([style*="background-color"]):not(.fc-bg) [style*="color:var(--c-color1)"]{color:var(--text)!important}
.fc:not([style*="background-color"]):not(.fc-bg) .fcol[style*="background-color"] :is(h1,h2,h3,h4){color:inherit}
/* encadrés colorés dans les colonnes : cartes arrondies */
.fcol[style*="background-color"]{border-radius:var(--r-lg);padding:34px 36px!important;box-shadow:var(--sh-lg)}
.fcol[style*="rgba(239,239,239"],.fcol[style*="rgba(221,221,221"]{background-color:rgba(255,255,255,.95)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fcol[style*="var(--c-color3)"]{background-color:var(--yellow)!important;color:var(--ink)}
/* sections photo (bandeaux d'en-tête des pages produit) */
.fc-bg{isolation:isolate}
.fc-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,21,.62),rgba(14,16,21,.78));z-index:-1}
.fc-bg>.fr>.fcol:not([style*="background-color"])>.ftext,.fc-bg>.fr>.fcol:not([style*="background-color"])>.ftext *{color:var(--white)!important}
.fc-bg>.fr>.fcol:not([style*="background-color"])>.ftitle,.fc-bg>.fr>.fcol:not([style*="background-color"])>.ftitle *{color:var(--yellow)!important}
#main:has(>.builder:last-child){padding-bottom:0}
/* colonnes d'infos (Téléphone / Email / Horaires) */
.fc[style*="#333645"] .fcol{text-align:center}
.fc[style*="#333645"] .fcol[style*="padding"]{background:var(--graphite);border:1px solid var(--graphite3);border-radius:var(--r);padding:30px 24px!important}
.fc[style*="#333645"] .fcol[style*="padding"]>.ftext p{font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow)}

/* séparateurs de section */
.fss{line-height:0}
.fss-halfcircle svg{display:block;width:100%;height:clamp(50px,8vw,120px)}
.fss-halfcircle{margin:0 -32px -21px;width:calc(100% + 64px)}
.fc:has(.fss-halfcircle):has(+ .fc:not([style*="background-color"])) .fss-halfcircle path{fill:var(--concrete)}
.fc:has(.fss-halfcircle):has(+ .fc[style*="#333645"]) .fss-halfcircle path{fill:var(--graphite2)}
.fss-triangle{position:relative;height:0}
.fss-triangle.fss-bottom::after{content:"";position:absolute;left:50%;top:-20px;transform:translateX(-50%);border-left:40px solid transparent;border-right:40px solid transparent;border-top:40px solid var(--graphite)}

/* content boxes */
.cboxes{display:grid;gap:30px}
.cbox{text-align:center;padding:38px 30px 34px;border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.cbox[style*="#ffffff"]{background:var(--white)!important}
.cbox[style*="#333645"]{background:var(--graphite)!important;color:var(--on-dark)}
.cbox-icon{line-height:0;margin:0 auto 16px;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--concrete);color:var(--ink)!important}
.cbox[style*="#333645"] .cbox-icon{background:var(--yellow);color:var(--ink)!important}
.cbox-icon svg{width:28px;height:28px}
.cbox-title{font-size:24px;line-height:1.2;margin:0 0 12px;color:var(--ink)}
.cbox[style*="#333645"] .cbox-title{color:var(--yellow)!important}
.cbox-body{font-size:16px;color:var(--muted)}
.cbox[style*="#333645"] .cbox-body{color:var(--on-dark)!important}
.cbox-body ul{text-align:left;display:inline-block}
.cbox-body>:last-child{margin-bottom:0}

/* liste de références (section jaune) : pastilles */
.fc[style*="#f6d258"] .ftext ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.fc[style*="#f6d258"] .ftext li{background:rgba(255,255,255,.55);border-radius:12px;padding:8px 14px;margin:0;font-weight:700;color:var(--ink)}

/* checklist */
.checklist{list-style:none;padding:0}
.checklist li{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.checklist .cl-ico{line-height:0;padding-top:.35em}
.checklist li p{margin:0}

/* galerie */
.fgallery{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:var(--gap,10px)}
.fgallery-masonry{display:block;columns:var(--cols,3);column-gap:16px}
.fgallery-masonry .gal-item{display:block;margin-bottom:16px;break-inside:avoid}
.gal-item{line-height:0;overflow:hidden;border-radius:18px;box-shadow:var(--sh)}
.gal-item img{width:100%;transition:transform .5s var(--ease)}
.gal-item:hover img{transform:scale(1.04)}

/* réseaux sociaux */
.socials{display:flex;gap:10px;justify-content:center;margin:10px 0 20px}
.soc{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px!important;background:var(--graphite3)!important;color:var(--yellow)!important}
.soc:hover{background:var(--yellow)!important;color:var(--ink)!important}

/* ---------- Grille d'articles ---------- */
.post-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:28px;margin:36px 0}
.post-card{background:var(--white);display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .3s var(--ease),box-shadow .3s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.pc-img{display:block;line-height:0;overflow:hidden}
.pc-img img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .pc-img img{transform:scale(1.04)}
.pc-body{padding:24px 26px 8px;flex:1}
.pc-meta{order:-1;font-family:var(--f-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin:0 0 10px}
.pc-body{display:flex;flex-direction:column}
.pc-title{font-size:22px;line-height:1.22;margin:0 0 10px;font-stretch:104%}
.pc-title a{color:var(--ink);text-decoration:none}
.pc-title a:hover{color:var(--blue)}
.pc-excerpt{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.pc-foot{padding:16px 26px 22px;font-size:14px}
.pc-foot a{color:var(--ink);font-weight:800;text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.pc-foot a::after{content:" →"}
.pc-foot a:hover{color:var(--blue)}
.pagination{display:flex;gap:8px;justify-content:center;margin:10px 0 30px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:12px;background:var(--white);box-shadow:0 0 0 1px var(--line);color:var(--ink);text-decoration:none;font-weight:700}
.pagination .current{background:var(--ink);color:var(--white);box-shadow:none}

/* ---------- Formulaire ---------- */
.builder form,.post-content form{text-align:left}
.builder input[type=text],.builder input[type=email],.builder input[type=tel],.builder textarea,.post-content input[type=text],.post-content input[type=email],.post-content input[type=tel],.post-content textarea{width:100%;background:var(--white);border:1.5px solid #dcd8cf;border-radius:12px;color:var(--ink);font:inherit;font-size:16px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.builder input:focus,.builder textarea:focus,.post-content input:focus,.post-content textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,80,142,.15)}
.builder textarea,.post-content textarea{min-height:150px}
.builder label,.post-content label{font-size:14px;font-weight:700}
.fc[style*="#292b37"] label,.fc[style*="#333645"] label{color:var(--white)}
.builder button[type=submit],.post-content button[type=submit],.builder input[type=submit]{background:var(--yellow);color:var(--ink);border:0;border-radius:14px;font:inherit;font-size:15px;font-weight:800;padding:15px 28px;cursor:pointer;transition:background .2s,color .2s}
.builder button[type=submit]:hover,.post-content button[type=submit]:hover{background:var(--white);color:var(--ink)}
.fc:not([style*="background-color"]) button[type=submit]:hover{background:var(--ink);color:var(--white)}

/* ---------- Pied de page ---------- */
.site-footer{position:relative;background:var(--night);color:var(--on-dark-muted);padding:84px 32px 56px;font-size:15px}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--hazard)}
.footer-inner{max-width:var(--site-w);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px}
.fw{margin-bottom:10px;min-width:0}
.fw-title{font-family:var(--f-mono);font-size:12.5px;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);margin:0 0 18px}
.fw p{margin:0 0 18px}
.fw strong{color:var(--white)}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{color:var(--yellow)}
.fw-list{list-style:none;margin:0 0 18px;padding:0}
.fw-list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:10px;line-height:1.55}
.fw-list svg{flex:0 0 18px;margin-top:3px;color:var(--yellow)}
.fw-dash{overflow:hidden;white-space:normal;word-break:break-all;max-height:26px;color:#3a3e4a}
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink);border-radius:14px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease);z-index:900;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{transform:translateY(-3px);color:var(--ink)}

/* ---------- 404 ---------- */
.error-404 ul{list-style:none;padding:0}

/* ---------- Visionneuse ---------- */
.lbx{position:fixed;inset:0;z-index:5000;background:rgba(14,16,21,.95);display:flex;align-items:center;justify-content:center;padding:50px 60px}
.lbx[hidden]{display:none}
.lbx img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}
.lbx button{position:absolute;background:none;border:0;color:var(--white);font-size:42px;line-height:1;cursor:pointer;padding:10px;font-family:var(--f-body)}
.lbx button:hover{color:var(--yellow)}
.lbx-close{top:10px;right:16px}
.lbx-prev{left:8px;top:50%;transform:translateY(-50%)}
.lbx-next{right:8px;top:50%;transform:translateY(-50%)}

/* ---------- Visibilité & responsive ---------- */
@media (min-width:1025px){.hide-lg{display:none!important}}
@media (min-width:641px) and (max-width:1024px){.hide-md{display:none!important}}
@media (max-width:640px){.hide-sm{display:none!important}}
.ptb+.builder{padding-top:0}
@media (max-width:1024px){.post-grid{--cols:2!important}}
@media (max-width:800px){
  .fcol{width:100%!important;margin-right:0!important}
  .fcol:empty{display:none}
  .fcol[style*="background-color"]{padding:26px 22px!important}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .fgallery-masonry{columns:2}
  .ptb{min-height:200px;padding:48px 20px 60px}
  .ptb-img{min-height:380px}
  .post-grid{--cols:1!important}
  .post-content table,.builder table{display:block;overflow-x:auto}
}
@media (max-width:640px){
  body{font-size:16px}
  .fc{padding-left:20px;padding-right:20px}
  .post-content{padding:44px 20px 0;font-size:17px}
  .sh-inner{padding:8px 20px;font-size:12px}
  .site-footer{padding:64px 20px 40px}
  .fgallery-masonry{columns:1}
  .fss-halfcircle{margin:0 -20px -21px;width:calc(100% + 40px)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ==========================================================================
   Lecture des textes longs (sections SEO, articles) : plus digeste
   Grille « magazine » : titres de section numérotés en marge, texte en
   colonne de lecture, mots-clés surlignés, listes en cartes. CSS seul :
   le contenu et les liens restent strictement identiques.
   ========================================================================== */
.ftext:has(> h2 ~ p ~ p ~ p),.post-content{counter-reset:sec}
.ftext:has(> h2 ~ p ~ p ~ p)>h2,.post-content>h2{counter-increment:sec}
.ftext:has(> h2 ~ p ~ p ~ p)>h2::before,.post-content>h2::before{content:counter(sec,decimal-leading-zero);display:block;width:max-content;margin-bottom:14px;padding:5px 10px;border-radius:8px;background:var(--ink);color:var(--yellow);font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.08em;line-height:1.2;font-stretch:100%}
/* liens dans le contenu : surligneur jaune (les gras restent sans surlignage) */
.fc:not([style*="background-color"]):not(.fc-bg) .ftext strong,.post-content strong,.archive-bottom strong{color:var(--ink)}
.fc:not([style*="background-color"]):not(.fc-bg) .ftext a:not([class]):not(:has(img)),.post-content a:not([class]):not(:has(img)),.archive-bottom a:not([class]):not(:has(img)){color:var(--ink);text-decoration:none;background:linear-gradient(transparent 62%,rgba(246,210,88,.55) 62%);padding:0 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background .15s}
.fc:not([style*="background-color"]):not(.fc-bg) .ftext a:not([class]):not(:has(img)):hover,.post-content a:not([class]):not(:has(img)):hover,.archive-bottom a:not([class]):not(:has(img)):hover{background:linear-gradient(transparent 0,rgba(246,210,88,.85) 0)}
/* paragraphes pleins : rythme de lecture */
.ftext:has(> h2 ~ p ~ p ~ p) p,.post-content p{font-size:17.5px;line-height:1.8;color:#3b3f4a}

.ftext:has(> h2 ~ p ~ p ~ p)>h3,.post-content>h3{display:flex;gap:12px;align-items:baseline;font-size:21px}
.ftext:has(> h2 ~ p ~ p ~ p)>h3::before,.post-content>h3::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--yellow);transform:translateY(-2px)}
/* listes : carte blanche à puces carrées */
.ftext:has(> h2 ~ p ~ p ~ p) ul,.post-content ul,.archive-bottom ul{list-style:none;padding:18px 22px;margin:4px 0 26px;background:var(--white);border-radius:18px;box-shadow:0 0 0 1px var(--line)}
.ftext:has(> h2 ~ p ~ p ~ p) ul li,.post-content ul li,.archive-bottom ul li{position:relative;padding-left:26px;margin:0;padding-top:6px;padding-bottom:6px;border-bottom:1px dashed #ebe7df}
.ftext:has(> h2 ~ p ~ p ~ p) ul li:last-child,.post-content ul li:last-child,.archive-bottom ul li:last-child{border-bottom:0}
.ftext:has(> h2 ~ p ~ p ~ p) ul li::before,.post-content ul li::before,.archive-bottom ul li::before{content:"";position:absolute;left:2px;top:.95em;width:9px;height:9px;border-radius:2px;background:var(--yellow);box-shadow:0 0 0 2px var(--ink)}
.ftext:has(> h2 ~ p ~ p ~ p) ol,.post-content ol,.archive-bottom ol{counter-reset:li;list-style:none;padding:0;margin:4px 0 26px;display:grid;gap:10px}
.ftext:has(> h2 ~ p ~ p ~ p) ol li,.post-content ol li,.archive-bottom ol li{counter-increment:li;position:relative;margin:0;padding:14px 18px 14px 58px;background:var(--white);border-radius:14px;box-shadow:0 0 0 1px var(--line)}
.ftext:has(> h2 ~ p ~ p ~ p) ol li::before,.post-content ol li::before,.archive-bottom ol li::before{content:counter(li);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:9px;background:var(--ink);color:var(--yellow);font-family:var(--f-display);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
/* sur grand écran : titres en marge, texte en colonne de lecture */
@media (min-width:1100px){
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p):not(:has(> h2 ~ h2)){max-width:1060px;margin:0 auto}
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p):has(> h2 ~ h2){display:grid;grid-template-columns:minmax(0,280px) minmax(0,900px);column-gap:56px;justify-content:center;align-items:start}
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p):has(> h2 ~ h2)>*{grid-column:2}
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p):has(> h2 ~ h2)>h2{grid-column:1;margin:0 0 40px;padding-top:28px;border-top:2px solid var(--ink);font-size:30px;line-height:1.12}
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p):has(> h2 ~ h2)>h2+*{margin-top:28px;padding-top:0}
  .fcol[style*="--w:100%"]>.ftext:has(> h2 ~ p ~ p ~ p)>h2:first-child{margin-top:0}
}
/* articles : titres de section séparés par un filet */
.post-content>h2{padding-top:30px;border-top:1px solid var(--line);margin-top:56px}
.post-content>h2:first-child{border-top:0;padding-top:0;margin-top:0}

/* ==========================================================================
   Héros pleine largeur : image derrière le H1, bas de l'image visible
   au-dessus de la ligne de flottaison (--hero-h), sur toutes les pages
   ========================================================================== */
:root{--hdr-h:81px;--bar-h:0px;--hero-h:max(420px,calc(100vh - var(--hdr-h) - var(--bar-h)))}
@supports (height:100svh){:root{--hero-h:max(420px,calc(100svh - var(--hdr-h) - var(--bar-h)))}}
@media (max-width:1100px){:root{--hdr-h:67px;--bar-h:66px}}
@media (max-width:1100px) and (max-height:560px){:root{--bar-h:0px}}
/* le héros s'arrête pile à la ligne de flottaison : rien du bloc suivant n'est visible à l'ouverture */
.ptb,.ptb-img,.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child,body:not(.tpl-home) #main>.builder:first-child>.fc:first-child{min-height:var(--hero-h)!important;box-sizing:border-box}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child{margin-bottom:0!important}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child+*{margin-top:56px}
/* accueil : la 1re colonne du 1er bloc devient un héros pleine largeur */
.tpl-home .builder>.fc:first-child{padding-top:0!important}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child{position:relative;overflow:hidden;isolation:isolate;flex:0 0 100vw;width:100vw!important;max-width:none;margin-left:calc(50% - 50vw)!important;margin-right:0!important;margin-bottom:56px!important;min-height:var(--hero-h);display:flex;flex-direction:column;justify-content:center;padding:48px clamp(20px,5vw,64px) 58px!important;background:#0e1015 url(/uploads/media/slide-1.webp) center 62%/cover no-repeat}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,16,21,.5) 0%,rgba(14,16,21,.62) 55%,rgba(14,16,21,.82) 100%)}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--hazard)}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child .ftext{max-width:1000px;margin:0 auto;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child h1{color:#fff;font-size:clamp(32px,4.6vw,62px);line-height:1.04}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child h3{margin-bottom:10px}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child h2{margin:14px 0 10px}
.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child p{color:#e9eaee!important;font-size:18px;margin-bottom:0}
@media (max-width:640px){.tpl-home .builder>.fc:first-child>.fr>.fcol:first-child{background-image:url(/uploads/media/slide-1-1200.webp)}}
/* pages et articles : barre de titre à la hauteur du héros, image par défaut si aucune image */
.ptb{min-height:var(--hero-h);padding-top:48px;padding-bottom:58px}
.ptb-img{min-height:var(--hero-h)}
.ptb:not(.ptb-img){background:#0e1015 url(/uploads/media/slide-1.webp) center 62%/cover no-repeat}
.ptb:not(.ptb-img)::before{display:block;left:0;top:0;right:0;bottom:0;width:auto;height:auto;border-radius:0;background:linear-gradient(180deg,rgba(14,16,21,.55),rgba(14,16,21,.8))}
@media (max-width:640px){.ptb:not(.ptb-img){background-image:url(/uploads/media/slide-1-1200.webp)}}

/* ==========================================================================
   Bandeau cookies aux couleurs du site (surcharge du plugin cookie-notice)
   ========================================================================== */
.cn-panel{font-family:var(--f-body)!important;font-size:14.5px!important;border:0!important;border-radius:var(--r)!important;padding:24px 24px 20px!important;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06)!important;max-width:560px!important}
.cn-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--hazard)}
.cn-panel .cn-head{margin-top:4px}
.cn-panel .cn-logo{background:#fff;padding:6px 12px;border-radius:12px;height:46px!important;box-sizing:border-box}
.cn-panel .cn-title{font-family:var(--f-display)!important;font-stretch:108%;font-weight:800}
.cn-panel .cn-msg{color:#cfd2da!important}
.cn-panel a{color:var(--yellow)!important;font-weight:600}
.cn-panel a:hover{color:#fff!important}
.cn-panel label>div>div:first-child{color:#fff!important}
.cn-panel label>div>div:last-child{color:#a3a7b3!important}
.cn-panel>div[style*="border-top"]{border-top-color:rgba(255,255,255,.12)!important}
.cn-panel input[type=checkbox]{accent-color:var(--yellow)}
.cn-btn{font-family:var(--f-body)!important;font-weight:800!important;border-radius:999px!important;padding:10px 18px!important;font-size:13.5px!important;background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;transition:background .15s,border-color .15s}
.cn-btn:hover{border-color:#fff!important;background:rgba(255,255,255,.06)!important}
.cn-btn.cn-btn-primary{background:var(--yellow)!important;color:var(--ink)!important;border-color:var(--yellow)!important}
.cn-btn.cn-btn-primary:hover{background:#fff!important;border-color:#fff!important}
#cn-reopen{font-family:var(--f-body)!important;font-weight:700!important;background:var(--ink)!important;color:var(--yellow)!important;box-shadow:0 6px 20px rgba(0,0,0,.3),0 0 0 1px rgba(246,210,88,.35)!important}

/* marges latérales plus généreuses sur grand écran */
@media (min-width:1025px){.fc,.header-inner,.sh-inner{padding-left:56px;padding-right:56px}.header-inner,.sh-inner{max-width:calc(var(--site-w) + 112px)}.post-content,.article-featured{padding-left:56px;padding-right:56px}.post-content,.article-featured{max-width:calc(1060px + 112px)}}

/* ==========================================================================
   En-tête blanc, CTA bleu A4C, barre de contact fixe sur mobile
   ========================================================================== */
:root{--a4c-blue:#013d5e;--a4c-blue2:#0f5279}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 8px 30px -22px rgba(14,16,21,.5)}
.logo{background:none;border-radius:0;padding:0}
.main-nav>ul>li>a{color:var(--ink)}
.main-nav>ul>li:hover>a,.main-nav>ul>li.current>a{background:var(--concrete);color:var(--a4c-blue)}
.main-nav>ul>li.menu-cta>a{background:var(--a4c-blue);color:#fff;box-shadow:0 10px 24px -12px rgba(1,61,94,.7)}
.main-nav>ul>li.menu-cta>a:hover,.main-nav>ul>li.menu-cta.current>a{background:var(--a4c-blue2);color:#fff}
.main-nav .sub-menu{background:#fff;border:1px solid var(--line);box-shadow:0 24px 48px -20px rgba(14,16,21,.35)}
.main-nav .sub-menu a{color:var(--ink)}
.main-nav .sub-menu a:hover,.main-nav .sub-menu .current>a{background:var(--concrete);color:var(--a4c-blue)}
.nav-toggle{background:var(--a4c-blue)}
.m-cta{display:none}
@media (max-width:1100px){
  .sub-toggle{color:var(--ink)}
  .main-nav .sub-menu{background:var(--concrete);border:0;box-shadow:none}
  .main-nav>ul>li.menu-cta{display:none}
  .m-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:950;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .m-cta a{flex:1 1 50%;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px;border-radius:12px;font-weight:800;font-size:15px;line-height:1.1;text-decoration:none;white-space:nowrap}
  .m-cta-contact{background:var(--a4c-blue);color:#fff}
  .m-cta-tel{background:var(--yellow);color:var(--ink)}
  .m-cta a:active{transform:scale(.98)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .to-top{bottom:calc(80px + env(safe-area-inset-bottom))}
  #cn-reopen{bottom:calc(80px + env(safe-area-inset-bottom))!important}
  .cn-panel{bottom:calc(76px + env(safe-area-inset-bottom))!important}
}
@media (max-width:360px){.m-cta a{font-size:14px;gap:6px;padding:13px 6px}}
/* pages sans barre de titre : le 1er bloc du constructeur sert de héros */
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child{min-height:var(--hero-h);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child>.fr{width:100%}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(:has(.fss-halfcircle)){padding-top:48px!important;padding-bottom:72px!important}
/* avec la courbe : contenu en haut, courbe collée en bas du héros */
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:has(.fss-halfcircle)>.fr{flex:1;align-content:space-between}
@media (min-width:1025px){.fss-halfcircle{margin:0 -56px -21px;width:calc(100% + 112px)}}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg){isolation:isolate;background:#0e1015 url(/uploads/media/slide-1.webp) center 62%/cover no-repeat!important}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,16,21,.6),rgba(14,16,21,.8))}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg) .ftext,body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg) .ftext *{color:#fff!important}
body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg) .ftitle,body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg) .ftitle *{color:var(--yellow)!important}
@media (max-width:640px){body:not(.tpl-home) #main>.builder:first-child>.fc:first-child:not(.fc-bg){background-image:url(/uploads/media/slide-1-1200.webp)!important}}

/* ==========================================================================
   Animations au défilement (révélation douce, respect de « réduire les animations »)
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  html.js .rv{opacity:0;transform:translate3d(0,34px,0);filter:blur(6px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-d,0ms);will-change:opacity,transform}
  html.js .rv.rv-in{opacity:1;transform:none;filter:none}
  html.js .rv-img{clip-path:inset(0 0 100% 0 round 18px);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1);transition-delay:var(--rv-d,0ms)}
  html.js .rv-img img{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-d,0ms)}
  html.js .rv-img.rv-in{clip-path:inset(0 0 0 0 round 0)}
  html.js .rv-img.rv-in img{transform:none}
  html.js .fsep.rv{transform:scaleX(0);filter:none}
  html.js .fsep.rv.rv-in{transform:none;transition-duration:.9s}
  /* entrée du héros au chargement */
  .tpl-home .builder>.fc:first-child>.fr>.fcol:first-child .ftext>*,.ptb-inner>*,body:not(.tpl-home) #main>.builder:first-child>.fc:first-child .fcol>:not(.fss){animation:a4c-hero 1.1s cubic-bezier(.2,.7,.2,1) both}
  .tpl-home .builder>.fc:first-child>.fr>.fcol:first-child .ftext>:nth-child(2),.ptb-inner>:nth-child(2),body:not(.tpl-home) #main>.builder:first-child>.fc:first-child .fcol>:nth-child(2){animation-delay:.12s}
  .tpl-home .builder>.fc:first-child>.fr>.fcol:first-child .ftext>:nth-child(3),body:not(.tpl-home) #main>.builder:first-child>.fc:first-child .fcol>:nth-child(3){animation-delay:.24s}
  .tpl-home .builder>.fc:first-child>.fr>.fcol:first-child .ftext>:nth-child(4),body:not(.tpl-home) #main>.builder:first-child>.fc:first-child .fcol>:nth-child(4){animation-delay:.36s}
}
@keyframes a4c-hero{from{opacity:0;transform:translateY(26px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* ==========================================================================
   « Ils nous font confiance » : nuage de références animé (accueil)
   ========================================================================== */
.fc.refs-cloud>.fr>.fcol:not(:first-child){flex:0 0 100vw;width:100vw!important;max-width:none;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;margin-bottom:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fc.refs-cloud>.fr>.fcol:not(:first-child)>.ftext{padding:7px 0}
.fc.refs-cloud .ftext ul.refs-track{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;width:max-content;margin:0;padding:0;animation:refs-scroll var(--refs-t,70s) linear infinite}
.fc.refs-cloud>.fr>.fcol:nth-child(3) ul.refs-track{animation-direction:reverse;--refs-t:84s}
.fc.refs-cloud>.fr>.fcol:nth-child(4) ul.refs-track{--refs-t:62s}
.fc.refs-cloud>.fr>.fcol:not(:first-child):hover ul.refs-track{animation-play-state:paused}
.fc.refs-cloud .ftext ul.refs-track li{flex:none;white-space:nowrap;display:flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:rgba(255,255,255,.62);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 10px 24px -16px rgba(20,22,28,.45);font-family:var(--f-display);font-stretch:104%;font-weight:700;font-size:16.5px;letter-spacing:-.005em;color:var(--ink);transition:background .25s,color .25s,transform .25s}
.fc.refs-cloud .ftext ul.refs-track li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--a4c-blue);transform:rotate(45deg);flex:none}
.fc.refs-cloud .ftext ul.refs-track li:nth-child(4n+2){background:var(--ink);color:#fff}
.fc.refs-cloud .ftext ul.refs-track li:nth-child(4n+2)::before{background:var(--yellow)}
.fc.refs-cloud .ftext ul.refs-track li:nth-child(5n+4){background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.fc.refs-cloud .ftext ul.refs-track li:hover{background:var(--a4c-blue);color:#fff;transform:translateY(-2px)}
.fc.refs-cloud>.fr>.fcol:nth-child(3){margin-top:2px}
@keyframes refs-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){
  .fc.refs-cloud .ftext ul.refs-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
  .fc.refs-cloud .ftext ul.refs-track li[aria-hidden]{display:none}
  .fc.refs-cloud>.fr>.fcol:not(:first-child){-webkit-mask-image:none;mask-image:none}
}
@media (max-width:640px){.fc.refs-cloud .ftext ul.refs-track li{padding:11px 18px;font-size:15px}}
.fc.refs-cloud{padding-bottom:64px}
