*,*::before,*::after{box-sizing:border-box}
:root{--font-main:Bahnschrift,'Arial Black','Helvetica Neue',sans-serif}
*{font-family:var(--font-main)}
html{overflow-x:hidden}
body{margin:0;background:#E3EBEF;color:#22323C;font-size:17px;line-height:1.65}
p,h1,h2,h3,h4,h5,h6,li,td,th{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}
h1,h2,h3,h4,h5,h6{font-weight:700;color:#2B4C5E;margin:0 0 18px}
h1{font-size:clamp(44px,6vw,76px);margin-bottom:22px}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:24px}
h4{font-size:20px}
p{margin:0 0 18px}
ul{margin:0 0 18px;padding-left:26px}
a{color:#22323C;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transition:color .2s}
a:hover{color:#2B4C5E}
a:focus-visible,.btn:focus-visible{outline:3px solid #2B4C5E;outline-offset:2px}
.btn{display:inline-block;background:#0E8388;color:#FFFFFF;font-size:16px;font-weight:700;padding:14px 28px;border:0;border-radius:0;text-transform:uppercase;letter-spacing:0.06em;text-decoration:none;box-shadow:4px 4px 0 rgba(34,50,60,0.2);transition:background-color .2s,box-shadow .2s}
.btn:hover{background:#0B6C70;color:#FFFFFF;box-shadow:2px 2px 0 rgba(34,50,60,0.2)}
@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}

