.wrap{padding-left:clamp(72px,9vw,128px);padding-right:clamp(32px,5vw,64px)}
.sep{border:0;border-top:2px solid #2B4C5E;margin:48px clamp(32px,5vw,64px) 48px clamp(72px,9vw,128px)}
section[id]{scroll-margin-top:80px}
.hero{position:relative;min-height:45vh;display:grid;grid-template-columns:0.95fr 1.05fr;background-color:#22323C;background-image: url('/images/home-hero.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-media{position:relative;min-height:45vh;min-width:0}
.hero-media::before{content:"";position:absolute;inset:0;background:rgba(34,50,60,0.35)}
.hero-content{position:relative;z-index:2;background:#E3EBEF;border-left:2px solid #2B4C5E;padding:72px clamp(32px,5vw,64px) 64px clamp(40px,5vw,72px)}
.hero-title{margin:0 0 18px;max-width:15ch;font-size:clamp(44px,4.6vw,68px);color:#2B4C5E}
.hero-sub{margin:0;max-width:40ch;font-size:clamp(17px,1.3vw,19px);color:#22323C}
.hero-aster{position:absolute;top:80px;right:clamp(32px,5vw,64px);width:64px;height:64px}
.section-intro{max-width:720px;margin:0 0 30px;color:#22323C}
.intro-section p{max-width:720px}
.intro-star{display:block;width:72px;height:72px;margin:40px 0 0}
.intro-section .btn{margin-top:30px}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.cat-card{display:block;position:relative;background:#FFFFFF;border:2px solid #2B4C5E;padding:28px;color:#22323C;text-decoration:none;box-shadow:6px 6px 0 rgba(43,76,94,0.15);transition:background-color .2s,transform .2s,box-shadow .2s}
.cat-card h3{margin:0 0 12px;color:#2B4C5E;transition:color .2s}
.cat-card p{margin:0 0 44px;color:#22323C;transition:color .2s}
.cat-card:hover{background:#2B4C5E;transform:translate(2px,2px);box-shadow:4px 4px 0 rgba(43,76,94,0.15)}
.cat-card:hover h3{color:#FFFFFF}
.cat-card:hover p{color:#E3EBEF}
.cat-arrow{position:absolute;right:20px;bottom:20px;width:22px;height:22px}
.cat-arrow path{stroke:#2B4C5E;transition:stroke .2s}
.cat-card:hover .cat-arrow path{stroke:#FFFFFF}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px}
.article-card{background:#FFFFFF;border:2px solid #2B4C5E;padding:28px;box-shadow:6px 6px 0 rgba(43,76,94,0.15);display:flex;flex-direction:column;min-width:0}
.card-meta{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#4E6270;margin:0 0 14px}
.card-title{font-size:20px;margin:0 0 12px}
.card-title a{color:#2B4C5E;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transition:color .2s}
.card-title a:hover{color:#22323C}
.card-excerpt{margin:0;font-size:16px;color:#22323C}
.ed-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.ed-media{min-width:0}
.ed-media img{display:block;width:100%;height:auto;border:2px solid #2B4C5E;filter:grayscale(1) contrast(1.05)}
.ed-text{min-width:0}
.ed-text p{max-width:640px}
.ed-flip .ed-media{order:2}
.ed-flip .ed-text{order:1}
.rep-section .table-responsive{max-width:900px;margin-bottom:28px}
.rep-table{width:100%;border-collapse:collapse;background:#FFFFFF;border:2px solid #2B4C5E}
.rep-table caption{caption-side:top;text-align:left;padding:0 0 12px;font-size:14px;color:#4E6270}
.rep-table th{background:#2B4C5E;color:#FFFFFF;text-align:left;padding:12px 16px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.rep-table td{padding:14px 16px;border-top:1px solid #ccc;font-size:16px;color:#22323C;vertical-align:top}
.rep-table td:first-child{font-weight:700}
.rep-table .rep-val{font-weight:700;color:#2B4C5E;white-space:nowrap}
.rep-note{max-width:720px}
.avant-section p{max-width:720px}
.chiffres-line{max-width:100%}
.num-xl{display:inline-block;font-size:clamp(56px,7vw,104px);line-height:1;font-weight:700;color:#2B4C5E;padding:0 8px;vertical-align:baseline}
.reflex-list{max-width:720px;list-style:disc;padding-left:22px;margin:0}
.reflex-list li{margin-bottom:12px}
.reflex-list li::marker{color:#2B4C5E}
.faq-item{margin-bottom:26px}
.faq-item p{max-width:720px;margin:0}
.faq-cta-line{max-width:720px;margin:26px 0 16px}
.faq-section .btn{margin-bottom:4px}
.site-note{max-width:720px;margin-top:36px;font-size:14px;color:#4E6270}
@media (max-width:899px){
.wrap{padding-left:24px;padding-right:24px}
.sep{margin:32px 24px}
.hero{grid-template-columns:1fr;min-height:0}
.hero-media{min-height:36vh}
.hero-content{padding:48px 24px 44px;border-left:none}
.hero-title{font-size:clamp(34px,9vw,52px)}
.hero-sub{font-size:17px}
.hero-aster{width:44px;height:44px;top:20px;right:20px}
.ed-section{grid-template-columns:1fr;gap:24px}
.ed-section .ed-media{order:1}
.ed-section .ed-text{order:2}
.num-xl{font-size:clamp(44px,13vw,72px)}
.rep-table td{padding:10px 12px;font-size:15px}
.rep-table th{padding:10px 12px;font-size:13px}
.faq-section{margin-bottom:40px}
}
@media (max-width:480px){
.hero-media{min-height:30vh}
.hero-title{font-size:34px}
.article-card{padding:20px}
.cat-card{padding:20px}
.cat-card p{margin-bottom:40px}
.faq-item h3{font-size:20px}
.btn{width:100%;max-width:100%}
.intro-star{width:56px;height:56px;margin-top:32px}
}