@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Sora:wght@600;700;800&display=swap');

body{background:#070D24;color:#fff;font-family:'Inter',sans-serif}

h1,h2,h3,h4,h5,h6,.wp-block-heading{font-family:'Sora',sans-serif;color:#fff}

[data-id="menu"] .menu a{color:#ffffff!important}

[data-id="menu"] .menu a:hover{color:#2E9BFF!important}

[data-id="menu"] .sub-menu a{color:#ffffff!important}

[data-id="menu"] .sub-menu a:hover{color:#2E9BFF!important}


/* Dark footer to match site */
footer{background:#070D24!important;color:#ffffff!important}
footer a{color:#2E9BFF!important}
footer strong{color:#ffffff!important}
footer p{color:#e0e0e0!important}
.ct-header,.ct-header [data-row]{background:#070D24!important}

a{color:#2E9BFF}

.wp-block-button__link{background:#2E9BFF;color:#fff;border-radius:10px}

.titre-une-ligne{white-space:nowrap}


/* FIX 2: sticky header */
.ct-header{position:sticky!important;top:0!important;z-index:500!important;background:#070D24!important}

body.admin-bar .ct-header{top:32px!important}

@media screen and (max-width:782px){body.admin-bar .ct-header{top:46px!important}}
/* Blog presentation 2026-10-19 */
/* Reversible presentation tweaks for the blog only (single posts + blog listing page).
   Scoped with body.single-post (article pages) and body.page-id-3037 (the "Blog" listing page, FR + EN).
   To revert: delete this whole block, down to the closing marker. */

/* 1. Single post: featured image smaller (~680px max), centered, proportions kept */
body.single-post .ct-featured-image {
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}
body.single-post .ct-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* 2. Blog listing page: post titles ~25% smaller (was 30px via has-large-font-size) */
body.page-id-3037 .wp-block-post-title {
	font-size: 1.4rem;
	line-height: 1.35;
}

/* 3. Tighter spacing above/below the post date */
body.single-post .hero-section .entry-meta {
	margin-top: 8px;
	margin-bottom: 8px;
}
body.single-post .hero-section {
	padding-bottom: 20px;
}
body.page-id-3037 .wp-block-post-date {
	margin-top: 0;
	margin-bottom: 6px;
	color: #5b6b87;
}

/* 4. Frame articles as sober light cards */
body.single-post article:has(.entry-content),
body.page-id-3037 .wp-block-post-template > li.wp-block-post {
	background: #f8fafd;
	border: 1px solid #d9e2ef;
	border-radius: 14px;
	color: #1d2a45;}body.single-post article:has(.entry-content) {  padding: clamp(20px, 4vw, 48px);  margin-top: 24px;  margin-bottom: 40px;}body.page-id-3037 .wp-block-post-template > li.wp-block-post {  overflow: hidden;}body.single-post article:has(.entry-content) h1,body.single-post article:has(.entry-content) h2,body.single-post article:has(.entry-content) h3,body.single-post article:has(.entry-content) h4,body.single-post article:has(.entry-content) h5,body.single-post article:has(.entry-content) h6,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a {  color: #0d1730;}body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a:hover {  color: #1573c7;}body.single-post article:has(.entry-content) .entry-meta,body.single-post article:has(.entry-content) figcaption {  color: #5b6b87;}body.single-post article:has(.entry-content) .entry-content a:not(.wp-block-button__link),body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-excerpt a {  color: #1573c7;
}/* 5. Blog listing cards: proportions based on sansmateriel.com (measured 2026-10-19). Featured "A la une" card -> large square card (~480px wide, 4:3 image + title strip). Article boxes -> 3-per-row cards (~1/3 of content width, 3:2 image, compact title/date). */body.page-id-3037 .wp-block-post-template.is-layout-grid {  gap: 28px;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post {  margin-top: 0;  margin-bottom: 0;  padding: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image {  margin: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image img {  width: 100%;  height: auto;  display: block;  object-fit: cover;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post figure.wp-block-post-featured-image img {  aspect-ratio: 3 / 2;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post .wp-block-group {  padding: 18px 20px 22px !important;
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-date {  font-size: 0.8rem;  text-transform: uppercase;  letter-spacing: 0.05em;  color: #5b6b87;  margin-top: 0;  margin-bottom: 8px;
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-title {  font-size: 1.05rem;  line-height: 1.35;  margin-top: 0;  margin-bottom: 8px;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt {  font-size: 0.92rem;  margin-top: 0;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt > p {  display: -webkit-box;  -webkit-line-clamp: 3;  -webkit-box-orient: vertical;  overflow: hidden;}body.page-id-3037 .wp-block-post-template.is-layout-flow > li.wp-block-post {  max-width: 480px;  padding: 0;
}body.page-id-3037 .wp-block-post-template.is-layout-flow figure.wp-block-post-featured-image img {  aspect-ratio: 4 / 3;}body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-title {  font-size: 1.35rem;  l@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Sora:wght@600;700;800&display=swap');

body{background:#070D24;color:#fff;font-family:'Inter',sans-serif}

h1,h2,h3,h4,h5,h6,.wp-block-heading{font-family:'Sora',sans-serif;color:#fff}

[data-id="menu"] .menu a{color:#ffffff!important}

[data-id="menu"] .menu a:hover{color:#2E9BFF!important}

[data-id="menu"] .sub-menu a{color:#ffffff!important}

[data-id="menu"] .sub-menu a:hover{color:#2E9BFF!important}


/* Dark footer to match site */
footer{background:#070D24!important;color:#ffffff!important}
footer a{color:#2E9BFF!important}
footer strong{color:#ffffff!important}
footer p{color:#e0e0e0!important}
.ct-header,.ct-header [data-row]{background:#070D24!important}

a{color:#2E9BFF}

.wp-block-button__link{background:#2E9BFF;color:#fff;border-radius:10px}

.titre-une-ligne{white-space:nowrap}


/* FIX 2: sticky header */
.ct-header{position:sticky!important;top:0!important;z-index:500!important;background:#070D24!important}

body.admin-bar .ct-header{top:32px!important}

@media screen and (max-width:782px){body.admin-bar .ct-header{top:46px!important}}
/* Blog presentation 2026-10-19 */
/* Reversible presentation tweaks for the blog only (single posts + blog listing page).
   Scoped with body.single-post (article pages) and body.page-id-3037 (the "Blog" listing page, FR + EN).
   To revert: delete this whole block, down to the closing marker. */

/* 1. Single post: featured image smaller (~680px max), centered, proportions kept */
body.single-post .ct-featured-image {
max-width: 680px;
margin-left: auto;
margin-right: auto;
}
body.single-post .ct-featured-image img {
width: 100%;
height: auto;
display: block;
}
/* 2. Blog listing page: post titles ~25% smaller (was 30px via has-large-font-size) */
body.page-id-3037 .wp-block-post-title {
font-size: 1.4rem;
line-height: 1.35;
}
/* 3. Tighter spacing above/below the post date */
body.single-post .hero-section .entry-meta {
margin-top: 8px;
margin-bottom: 8px;
}
body.single-post .hero-section {
padding-bottom: 20px;
}
body.page-id-3037 .wp-block-post-date {
margin-top: 0;
margin-bottom: 6px;
color: #5b6b87;
}
/* 4. Frame articles as sober light cards */
body.single-post article:has(.entry-content),
body.page-id-3037 .wp-block-post-template > li.wp-block-post {
background: #f8fafd;
border: 1px solid #d9e2ef;
border-radius: 14px;
color: #1d2a45;}body.single-post article:has(.entry-content) { padding: clamp(20px, 4vw, 48px); margin-top: 24px; margin-bottom: 40px;}body.page-id-3037 .wp-block-post-template > li.wp-block-post { overflow: hidden;}body.single-post article:has(.entry-content) h1,body.single-post article:has(.entry-content) h2,body.single-post article:has(.entry-content) h3,body.single-post article:has(.entry-content) h4,body.single-post article:has(.entry-content) h5,body.single-post article:has(.entry-content) h6,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a { color: #0d1730;}body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a:hover { color: #1573c7;}body.single-post article:has(.entry-content) .entry-meta,body.single-post article:has(.entry-content) figcaption { color: #5b6b87;}body.single-post article:has(.entry-content) .entry-content a:not(.wp-block-button__link),body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-excerpt a { color: #1573c7;
}/* 5. Blog listing cards: proportions based on sansmateriel.com (measured 2026-10-19; retouched 2026-10-19). Featured "A la une" card -> wide card (~680px, fixed 742px total height as measured 2026-10-19; image zone 360px cropped with object-fit: cover + title strip). Article boxes -> 3-per-row cards (~1/3 of content width, 3:2 image, compact title/date). */body.page-id-3037 .wp-block-post-template.is-layout-grid { gap: 28px;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post { margin-top: 0; margin-bottom: 0; padding: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image { margin: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image img { width: 100%; height: auto; display: block; object-fit: cover;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post figure.wp-block-post-featured-image img { aspect-ratio: 3 / 2;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post .wp-block-group { padding: 18px 20px 22px !important;
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-date { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: #5b6b87; margin-top: 0; margin-bottom: 8px;}
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-title { font-size: 0.9rem; line-height: 1.35; margin-top: 0; margin-bottom: 8px;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt { font-size: 0.92rem; margin-top: 0;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt > p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}body.page-id-3037 .wp-block-post-template.is-layout-flow > li.wp-block-post { max-width: 680px; height: 742px; padding: 0;
}body.page-id-3037 .wp-block-post-template.is-layout-flow figure.wp-block-post-featured-image img { width: 100%; height: 360px; display: block; object-fit: cover;}
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-title { font-size: 1.35rem; line-height: 1.3; padding: 22px 26px 0; margin: 0;}
body.page-id-3037 x{color:inherit}/* dummy rule completes the "body.page-id-3037" fragment left by an interrupted save; matches nothing */
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt{padding:10px 26px 26px;font-size:0.95rem}
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt>p{margin:0}
@media(max-width:720px){body.page-id-3037 .wp-block-post-template.is-layout-grid{grid-template-columns:1fr}body.page-id-3037 .wp-block-post-template.is-layout-flow>li.wp-block-post{max-width:100%;height:auto}body.page-id-3037 .wp-block-post-template.is-layout-flow figure.wp-block-post-featured-image img{height:auto;aspect-ratio:4/3}}
/* /Blog presen@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Sora:wght@600;700;800&display=swap');

body{background:#070D24;color:#fff;font-family:'Inter',sans-serif}

h1,h2,h3,h4,h5,h6,.wp-block-heading{font-family:'Sora',sans-serif;color:#fff}

[data-id="menu"] .menu a{color:#ffffff!important}

[data-id="menu"] .menu a:hover{color:#2E9BFF!important}

[data-id="menu"] .sub-menu a{color:#ffffff!important}

[data-id="menu"] .sub-menu a:hover{color:#2E9BFF!important}


/* Dark footer to match site */
footer{background:#070D24!important;color:#ffffff!important}
footer a{color:#2E9BFF!important}
footer strong{color:#ffffff!important}
footer p{color:#e0e0e0!important}
.ct-header,.ct-header [data-row]{background:#070D24!important}

a{color:#2E9BFF}

.wp-block-button__link{background:#2E9BFF;color:#fff;border-radius:10px}

.titre-une-ligne{white-space:nowrap}


/* FIX 2: sticky header */
.ct-header{position:sticky!important;top:0!important;z-index:500!important;background:#070D24!important}

body.admin-bar .ct-header{top:32px!important}

@media screen and (max-width:782px){body.admin-bar .ct-header{top:46px!important}}
/* Blog presentation 2026-10-19 */
/* Reversible presentation tweaks for the blog only (single posts + blog listing page).
   Scoped with body.single-post (article pages) and body.page-id-3037 (the "Blog" listing page, FR + EN).
   To revert: delete this whole block, down to the closing marker. */

/* 1. Single post: featured image smaller (~680px max), centered, proportions kept */
body.single-post .ct-featured-image {
max-width: 680px;
margin-left: auto;
margin-right: auto;
}
body.single-post .ct-featured-image img {
width: 100%;
height: auto;
display: block;
}
/* 2. Blog listing page: post titles ~25% smaller (was 30px via has-large-font-size) */
body.page-id-3037 .wp-block-post-title {
font-size: 1.4rem;
line-height: 1.35;
}
/* 3. Tighter spacing above/below the post date */
body.single-post .hero-section .entry-meta {
margin-top: 8px;
margin-bottom: 8px;
}
body.single-post .hero-section {
padding-bottom: 20px;
}
body.page-id-3037 .wp-block-post-date {
margin-top: 0;
margin-bottom: 6px;
color: #5b6b87;
}
/* 4. Frame articles as sober light cards */
body.single-post article:has(.entry-content),
body.page-id-3037 .wp-block-post-template > li.wp-block-post {
background: #f8fafd;
border: 1px solid #d9e2ef;
border-radius: 14px;
color: #1d2a45;}body.single-post article:has(.entry-content) { padding: clamp(20px, 4vw, 48px); margin-top: 24px; margin-bottom: 40px;}body.page-id-3037 .wp-block-post-template > li.wp-block-post { overflow: hidden;}body.single-post article:has(.entry-content) h1,body.single-post article:has(.entry-content) h2,body.single-post article:has(.entry-content) h3,body.single-post article:has(.entry-content) h4,body.single-post article:has(.entry-content) h5,body.single-post article:has(.entry-content) h6,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title,body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a { color: #0d1730;}body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-title a:hover { color: #1573c7;}body.single-post article:has(.entry-content) .entry-meta,body.single-post article:has(.entry-content) figcaption { color: #5b6b87;}body.single-post article:has(.entry-content) .entry-content a:not(.wp-block-button__link),body.page-id-3037 .wp-block-post-template > li.wp-block-post .wp-block-post-excerpt a { color: #1573c7;
}/* 5. Blog listing cards: proportions based on sansmateriel.com (measured 2026-10-19; retouched 2026-10-19). Featured "A la une" card -> wide card (~680px, fixed 742px total height as measured 2026-10-19; image zone 360px cropped with object-fit: cover + title strip). Article boxes -> 3-per-row cards (~1/3 of content width, 3:2 image, compact title/date). */body.page-id-3037 .wp-block-post-template.is-layout-grid { gap: 28px;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post { margin-top: 0; margin-bottom: 0; padding: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image { margin: 0;}body.page-id-3037 .wp-block-post-template > li.wp-block-post figure.wp-block-post-featured-image img { width: 100%; height: auto; display: block; object-fit: cover;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post figure.wp-block-post-featured-image img { aspect-ratio: 3 / 2;}body.page-id-3037 .wp-block-post-template.is-layout-grid > li.wp-block-post .wp-block-group { padding: 18px 20px 22px !important;
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-date { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: #5b6b87; margin-top: 0; margin-bottom: 8px;}
}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-title { font-size: 0.9rem; line-height: 1.35; margin-top: 0; margin-bottom: 8px;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt { font-size: 0.92rem; margin-top: 0;}body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-excerpt > p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}body.page-id-3037 .wp-block-post-template.is-layout-flow > li.wp-block-post { max-width: 680px; height: 742px; padding: 0;
}body.page-id-3037 .wp-block-post-template.is-layout-flow > li.wp-block-post figure.wp-block-post-featured-image img { width: 100%; height: 360px; display: block; object-fit: cover;}
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-title { font-size: 1.35rem; line-height: 1.3; padding: 22px 26px 0; margin: 0;}
body.page-id-3037 x{color:inherit}/* dummy rule completes the "body.page-id-3037" fragment left by an interrupted save; matches nothing */
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt{padding:10px 26px 26px;font-size:0.95rem}
body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt>p{margin:0}
@media(max-width:720px){body.page-id-3037 .wp-block-post-template.is-layout-grid{grid-template-columns:1fr}body.page-id-3037 .wp-block-post-template.is-layout-flow>li.wp-block-post{max-width:100%;height:auto}body.page-id-3037 .wp-block-post-template.is-layout-flow > li.wp-block-post figure.wp-block-post-featured-image img{height:auto;aspect-ratio:4/3}}
/* /Blog presentation 2026-10-19 */
tation 2026-10-19 */
ine-height: 1.3;  padding: 22px 26px 0;  margin: 0;}body.page-id-x{color:inherit}/* dummy rule: completes the "body.page-id-" fragment left by an interrupted sav}
/* 2026-10-19 Section 5 (blog listing): featured card override - 900px max-width, auto height (replaces 680px/742px) */
body.page-id-3037.wp-block-post-template.is-layout-flow > li.wp-block-post{max-width:900px;height:auto;padding:0;}e; matches nothing */body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt{padding:10px 26px 26px;font-size:0.95rem}body.page-id-3037 .wp-block-post-template.is-layout-flow .wp-block-post-excerpt>p{margin:0}@media(max-width:720px){body.page-id-3037 .wp-block-post-template.is-layout-grid{grid-template-columns:1fr}body.page-id-3037 .wp-block-post-template.is-layout-flow>li.wp-block-post{max-width:100%}}/* /Blog presentation 2026-10-19 */
/* 2026-10-21 — Grille « Tous les articles » (page blog 3037) : titres à 1,35 rem, même grosseur que le titre de la carte « À la une ». Cible uniquement la boucle en grille (.is-layout-grid) : ne touche ni la Une (.is-layout-flow), ni les articles (body.single-post), ni l'accueil. */
body.page-id-3037 .wp-block-post-template.is-layout-grid .wp-block-post-title{font-size:1.35rem;}


/* 2026-10-21 — H1 éditoriaux : réduction d'environ un tiers (demande de Michaël) */
/* Les H1 « héros » des pages (accueil, Marketing, Architecture, Tarifs…) utilisent le preset XXL du thème
   (theme.json : fluide 45px → 80px, soit 5rem sur bureau), et non le réglage H1 de Blocksy (40px).
   On les ramène à 2,75rem sur bureau et 1,625rem sur mobile, interligne compact 1,15.
   Ne cible que les h1 du contenu (.entry-content) : H2/H3, titres de cartes (.wp-block-post-title)
   et titre H1 des articles (hors .entry-content) inchangés. */
.entry-content h1{font-size:2.75rem!important;line-height:1.15!important}
@media (max-width:689.98px){.entry-content h1{font-size:1.625rem!important}}