.elementor-kit-3976{--e-global-color-primary:#1F2BD8;--e-global-color-secondary:#0E1680;--e-global-color-text:#1F2BD8;--e-global-color-accent:#7E88F2;--e-global-color-a1f2e7c:#F2EFE7;--e-global-color-a2dde0f:#DDE0F8;--e-global-color-5698c88:#DDDDDD;--e-global-color-b5a4039:#FFFFFF;--e-global-color-9963d84:#FDF3F2;--e-global-color-f2e2759:#F7F7F7;--e-global-color-b4a210d:#020265;--e-global-color-1147ad3:#4848B8;--e-global-typography-primary-font-family:"Instrument Sans";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Instrument Sans";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Instrument Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Instrument Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-c0chap1-font-family:"Instrument Sans";--e-global-typography-c0chap1-font-size:30px;--e-global-typography-c0chap1-font-weight:500;--e-global-typography-c0chap1-line-height:1.3em;--e-global-typography-c0chap1-letter-spacing:-0.01em;--e-global-typography-c0inter-font-family:"Instrument Sans";--e-global-typography-c0inter-font-size:32px;--e-global-typography-c0inter-font-weight:500;--e-global-typography-c0inter-line-height:1.1em;--e-global-typography-c0inter-letter-spacing:-0.02em;--e-global-typography-c0marge-font-family:"Instrument Sans";--e-global-typography-c0marge-font-size:14px;--e-global-typography-c0marge-font-weight:400;--e-global-typography-c0marge-line-height:1.4em;--e-global-typography-c0petit-font-family:"Instrument Sans";--e-global-typography-c0petit-font-size:16px;--e-global-typography-c0petit-font-weight:400;--e-global-typography-c0petit-line-height:1.5em;background-color:var( --e-global-color-a1f2e7c );color:var( --e-global-color-text );font-family:"Instrument Sans", Sans-serif;font-size:18px;font-weight:400;line-height:1.55em;}.elementor-kit-3976 button,.elementor-kit-3976 input[type="button"],.elementor-kit-3976 input[type="submit"],.elementor-kit-3976 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:17px;font-weight:500;color:var( --e-global-color-a1f2e7c );border-radius:0px 0px 0px 0px;padding:16px 28px 16px 28px;}.elementor-kit-3976 button:hover,.elementor-kit-3976 button:focus,.elementor-kit-3976 input[type="button"]:hover,.elementor-kit-3976 input[type="button"]:focus,.elementor-kit-3976 input[type="submit"]:hover,.elementor-kit-3976 input[type="submit"]:focus,.elementor-kit-3976 .elementor-button:hover,.elementor-kit-3976 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-a1f2e7c );}.elementor-kit-3976 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3976 a{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;}.elementor-kit-3976 a:hover{color:var( --e-global-color-accent );}.elementor-kit-3976 h1{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:150px;font-weight:500;line-height:0.92em;letter-spacing:-0.04em;}.elementor-kit-3976 h2{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:72px;font-weight:500;line-height:1em;letter-spacing:-0.03em;}.elementor-kit-3976 h3{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:52px;font-weight:500;line-height:1.02em;letter-spacing:-0.025em;}.elementor-kit-3976 h4{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:32px;font-weight:500;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-3976 h5{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:22px;font-weight:500;line-height:1.2em;letter-spacing:-0.01em;}.elementor-kit-3976 h6{color:var( --e-global-color-primary );font-family:"Instrument Sans", Sans-serif;font-size:14px;font-weight:400;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-3976{--e-global-typography-c0chap1-font-size:24px;--e-global-typography-c0inter-font-size:28px;}.elementor-kit-3976 h1{font-size:96px;}.elementor-kit-3976 h2{font-size:52px;}.elementor-kit-3976 h3{font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-3976{--e-global-typography-c0chap1-font-size:20px;--e-global-typography-c0inter-font-size:24px;font-size:17px;}.elementor-kit-3976 h1{font-size:56px;}.elementor-kit-3976 h2{font-size:38px;}.elementor-kit-3976 h3{font-size:32px;}.elementor-kit-3976 h4{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --bleu:#1F2BD8; --bleu-fonce:#0E1680; --bleu-clair:#7E88F2; --papier:#F2EFE7; --voile:#DDE0F8; --police-principale:Instrument Sans; --marge-colonne:120px; --gouttiere:56px; }
/* Start custom CSS *//* Refonte 2026 : animations et effets globaux */
@keyframes sm-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes sm-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes sm-quote{0%,100%{transform:rotate(180deg) translate(0,0);text-shadow:-14px -14px 0 #1F2BD8}50%{transform:rotate(180deg) translate(10px,10px);text-shadow:-26px -26px 0 #1F2BD8}}
.curseur::after{content:"";display:inline-block;width:.07em;height:.8em;margin-left:.05em;vertical-align:-.02em;background:#1F2BD8;animation:sm-blink 1.1s steps(1) infinite}
.guillemet-anime{color:#F2EFE7!important;-webkit-text-stroke:3px #1F2BD8;transform:rotate(180deg);text-shadow:-14px -14px 0 #1F2BD8;animation:sm-quote 3.2s ease-in-out infinite}
.defile{animation:sm-defile 36s linear infinite}
.defile:hover{animation-play-state:paused}
.vignette-projet:hover .vignette-voile,.vignette-projet:focus-within .vignette-voile{opacity:1}
/* Grille projets (accueil) : 3 colonnes, 3 grandes vignettes (1re, 7e, 10e) */
.grille-projets{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:290px!important;grid-auto-flow:dense;gap:24px!important;column-count:auto}
.grille-projets>*{min-width:0;height:100%;padding:0!important}
.grille-projets>:nth-child(1),.grille-projets>:nth-child(10){grid-column:span 2;grid-row:span 2}
.grille-projets>:nth-child(7){grid-column:2 / span 2;grid-row:span 2}
.grille-projets .vignette-projet{height:100%;margin:0!important;padding:0!important}
.grille-projets .vignette-projet>a{display:block;width:100%;height:100%}
.grille-projets .vignette-projet img{width:100%!important;height:100%!important;object-fit:cover}
@media (max-width:1024px){.grille-projets{grid-auto-rows:220px!important;gap:16px!important}}
@media (max-width:767px){.grille-projets{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:160px!important;gap:12px!important}.grille-projets>:nth-child(7){grid-column:span 2}.grille-projets .vignette-voile{font-size:17px!important;padding:12px!important}}
/* Grille portfolio : 3 colonnes en maçonnerie */
.grille-portfolio{display:block!important;column-count:3;column-gap:24px}
.grille-portfolio>*{display:block;break-inside:avoid;margin:0 0 24px!important;padding:0!important}
.grille-portfolio .vignette-projet{height:auto!important;margin:0!important;padding:0!important}
.grille-portfolio .vignette-projet img{width:100%!important;height:auto!important}
@media (max-width:1024px){.grille-portfolio{column-count:2;column-gap:16px}.grille-portfolio>*{margin-bottom:16px!important}}
@media (max-width:767px){.grille-portfolio .vignette-voile{font-size:17px!important;padding:12px!important}}
/* Portfolio : filtre actif sur les pages de catégorie */
.term-publications .filtre[href*="/publications/"],.term-rapports-annuels .filtre[href*="/rapports-annuels/"],.term-communication .filtre[href*="/communication/"],.term-graphisme-information .filtre[href*="/graphisme-information/"],.term-expositions .filtre[href*="/expositions/"],.term-identite-visuelle .filtre[href*="/identite-visuelle/"]{background-color:#1F2BD8!important;color:#F2EFE7!important}
/* Portfolio : cadre barré d'une croix */
.cadre-croix{background:linear-gradient(to top right,transparent calc(50% - .6px),#1F2BD8 calc(50% - .6px),#1F2BD8 calc(50% + .6px),transparent calc(50% + .6px)),linear-gradient(to bottom right,transparent calc(50% - .6px),#1F2BD8 calc(50% - .6px),#1F2BD8 calc(50% + .6px),transparent calc(50% + .6px))}
/* Services : pastilles (onglets) et traits de coupe */
.pastille.e--selected{background-color:#1F2BD8!important;color:#F2EFE7!important}
.pastille span{color:inherit}
.reperes{overflow:visible!important}
.reperes>*{height:100%}
.reperes::before{content:"";position:absolute;inset:-18px;pointer-events:none;z-index:1;background:linear-gradient(#1F2BD8,#1F2BD8) left 0 top 18px/10px 1px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) right 0 top 18px/10px 1px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) left 0 bottom 18px/10px 1px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) right 0 bottom 18px/10px 1px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) left 18px top 0/1px 10px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) right 18px top 0/1px 10px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) left 18px bottom 0/1px 10px no-repeat,linear-gradient(#1F2BD8,#1F2BD8) right 18px bottom 0/1px 10px no-repeat}
.reperes img{width:100%!important;height:100%!important;object-fit:cover}
/* Services : camemberts des 6 étapes (1/6 à 6/6) */
.camembert{--p:60deg;background:conic-gradient(#1F2BD8 0 var(--p),transparent var(--p)),repeating-conic-gradient(#1F2BD8 0 .9deg,transparent .9deg 60deg)}
.grille-etapes>:nth-child(2) .camembert{--p:120deg}.grille-etapes>:nth-child(3) .camembert{--p:180deg}.grille-etapes>:nth-child(4) .camembert{--p:240deg}.grille-etapes>:nth-child(5) .camembert{--p:300deg}.grille-etapes>:nth-child(6) .camembert{--p:360deg}
/* Caractères masqués : <em> dans un texte portant la classe marques */
.marques em{font-style:normal;font-weight:400;color:#7E88F2}
/* À propos : lettres a/b/c des intertitres */
.intertitre em{font-style:normal;font-size:14px;font-weight:400;letter-spacing:0;margin-right:8px}
/* Contact : formulaire conditionnel (devis / urgence) et pilules radio */
.formulaire .questionnaire,.formulaire .avis-urgence,.formulaire .label-infos{display:none!important}
.formulaire:has(select[name="demande"] option[value="devis"]:checked) .questionnaire{display:flex!important;margin-top:22px}
.formulaire:has(select[name="demande"] option[value="devis"]:checked) .label-infos{display:block!important}
.formulaire:has(select[name="demande"] option[value="devis"]:checked) .label-message{display:none!important}
.formulaire:has(select[name="demande"] option[value="urgence"]:checked) .avis-urgence{display:flex!important}
.formulaire ::placeholder{color:#6F78E6;opacity:1}
.pilule-radio{-webkit-appearance:none;appearance:none}
.pilule-radio:checked{background:radial-gradient(circle,#1F2BD8 0 4px,#FFFFFF 4.5px)!important}
.pilule:has(:checked){background-color:#DDE0F8}
/* Modèle Projet : croisillon du titre, cases vides masquées, contenu des anciens projets */
.titre-projet::after{content:"#";color:#7E88F2;font-weight:400}
.intro-projet:empty,.meta-case:has(.meta-valeur:empty){display:none!important}
.contenu-projet .elementor-section-stretched{width:auto!important;left:auto!important}
.contenu-projet .elementor-section:not(:has(img,.elementor-widget-text-editor,.elementor-widget-heading)){display:none!important}
.contenu-projet .elementor-container{max-width:none!important}
.contenu-projet .elementor-column>.elementor-widget-wrap{padding:0!important}
.contenu-projet .elementor-widget-image img{display:block;width:100%;height:auto}
.contenu-projet .elementor-widget-image:not(:last-child){margin-bottom:32px}
@media (prefers-reduced-motion: reduce){.curseur::after,.guillemet-anime,.defile{animation:none}.etape{transition:none}}/* End custom CSS */