/* Actualités : liste + article */
* { margin: 0; padding: 0; box-sizing: border-box; }
body.page-actus { background: var(--green-dk); color: var(--cream); }
img { display: block; max-width: 100%; }

.actus { max-width: 1240px; margin: 0 auto; padding: 0 var(--gutter) clamp(60px, 8vw, 100px); }
.actus-top { padding: 140px 0 40px; }
.actus-top h1 { font-size: clamp(56px, 10vw, 128px); }
.actus-top p { color: var(--muted); font-size: 19px; margin-top: 12px; }
.empty { font-size: 19px; color: var(--muted); }
.empty a { color: var(--cream); }

.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.post { display: flex; flex-direction: column; background: var(--green); border-radius: 20px; overflow: hidden; color: var(--cream); text-decoration: none; transition: transform .25s; }
.post:hover { transform: translateY(-4px); }
.post .ph { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--green-xdk) url("/assets/logo_nobg_beige.svg") center / 30% no-repeat; }
.post .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.post:hover .ph img { transform: scale(1.05); }
.post .tx { display: flex; flex-direction: column; gap: 8px; padding: 20px; }
.post time { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--beige); }
.post .ttl { font-size: 30px; line-height: 1; }
.post .ex { color: var(--muted); line-height: 1.45; }
.post .more { font-weight: 800; margin-top: 4px; }
.post.first { grid-column: span 3; flex-direction: row; }
.post.first .ph { flex: 1.2; aspect-ratio: auto; min-height: 380px; }
.post.first .tx { flex: 1; justify-content: center; padding: clamp(24px, 4vw, 48px); }
.post.first .ttl { font-size: clamp(40px, 4.5vw, 64px); }
@media (max-width: 900px) { .posts { grid-template-columns: 1fr 1fr; } .post.first { grid-column: span 2; flex-direction: column; } .post.first .ph { min-height: 0; aspect-ratio: 16 / 10; } }
@media (max-width: 600px) { .posts { grid-template-columns: 1fr; } .post.first { grid-column: auto; } }

/* article */
.article-hero { position: relative; min-height: 70vh; display: flex; align-items: flex-end; overflow: hidden; background: var(--green); }
.article-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.article-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 30, 28, .95) 0%, rgba(10, 30, 28, .35) 55%, rgba(10, 30, 28, .55) 100%); }
.article-head { position: relative; z-index: 2; padding: 140px var(--gutter) 48px; max-width: 980px; }
.article-head .back { color: var(--beige); font-weight: 700; text-decoration: none; display: inline-block; margin-bottom: 18px; }
.article-head time { display: block; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; color: var(--beige); margin-bottom: 10px; }
.article-head h1 { font-size: clamp(48px, 7vw, 100px); }
.article-body { max-width: 720px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) 16px; font-size: 19px; line-height: 1.7; color: #ece6dc; }
.article-body h2 { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: 36px; line-height: 1; color: var(--cream); margin: 1.6em 0 .5em; }
.article-body p, .article-body ul { margin: 0 0 1.1em; }
.article-body ul { padding-left: 1.2em; }
.article-body li { margin-bottom: .3em; }
.article-body a { color: var(--beige); }
.article-body strong { color: #fff; }
.article-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, .12); }
.more-posts { padding-top: 20px; }
.more-posts h2 { font-size: 44px; margin-bottom: 24px; }
