*, *::before, *::after { box-sizing: border-box; }
:root { --font-main: 'Trebuchet MS', Helvetica, sans-serif; --color-brand: #6d28d9; --color-cta: #22c55e; --text-muted: #666; --border: #ddd; }
* { font-family: var(--font-main); }
html { overflow-x: hidden; }
body { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 400; color: #222; background-color: #ffffff; overflow-x: hidden; overflow-wrap: break-word; word-wrap: break-word; }
img, video, iframe, embed, object { max-width: 100%; height: auto; }
table { max-width: 100%; }
.table-responsive, .table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
a { color: var(--color-brand); }
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline: 2px solid var(--color-brand); outline-offset: 2px; }
main { max-width: 100%; margin: 0 auto; display: block; }
@media (max-width: 768px) {
body { overflow-x: hidden; }
.grid, [class*='grid'] { grid-template-columns: 1fr !important; }
}
/* ===== garde-fou design 27/10 (anti hero geant + logo normalise) ===== */
h1{font-size:clamp(26px,5vw,46px) !important;line-height:1.15 !important}
.hero h1,[class*="hero"] h1,[class*="Hero"] h1{font-size:clamp(28px,5vw,46px) !important}
.site-header img,header img,a[href="/"] img,[class*="logo"] img{height:60px !important;width:auto !important;max-height:64px !important}

