/* =========================================================
   Accueil v2 — version sobre : la photo et la typographie d'abord
   ========================================================= */

/* ---------- Ouverture plein cadre : sobre et centrée ---------- */
.plain { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--navy-ink); color: #fff; display: grid; place-items: center; text-align: center; }
.plain__img { position: absolute; inset: -6% 0 0 0; will-change: transform; }
.plain__img img { width: 100%; height: 100%; object-fit: cover; will-change: transform, opacity; }
/* voile marine semi-transparent, uniforme, un peu plus dense en bas */
.plain__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,37,58,.42) 0%, rgba(21,37,58,.5) 55%, rgba(14,26,41,.72) 100%); }
.plain__dark { position: absolute; inset: 0; background: var(--navy-ink); opacity: 0; pointer-events: none; }
.plain__content { position: relative; z-index: 1; padding: var(--header-h) var(--gutter) 0; max-width: 900px; }
.plain__place { font-size: .95rem; font-weight: 500; letter-spacing: .02em; color: rgba(255,255,255,.78); margin: 0 auto 1.4rem; max-width: none; }
.plain h1 { font-size: clamp(2.6rem, 1.4rem + 4.6vw, 5.6rem); font-weight: 400; letter-spacing: -.025em; line-height: 1; margin: 0 auto; max-width: none; }
.plain__lead p { font-size: clamp(1.05rem, 1rem + .4vw, 1.3rem); color: rgba(255,255,255,.85); margin: 1.4rem auto 0; max-width: 40ch; }
.plain__cta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 2rem; margin-top: 2.4rem; }
.plain__link { color: #fff; text-decoration: none; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 2px; transition: border-color .3s; }
.plain__link:hover { border-color: #fff; }
/* état de départ de l'entrée */
.plain.is-pre .plain__img img { opacity: 0; }
.plain.is-pre .plain__content > * { opacity: 0; }
@keyframes plain-safe { to { opacity: 1; } }
.plain.is-pre .plain__img img, .plain.is-pre .plain__content > * { animation: plain-safe .8s 3.5s forwards; }

/* ---------- Bandeau des infos du jour ---------- */
.today-strip { background: var(--navy-ink); color: rgba(255,255,255,.7); border-top: 1px solid rgba(255,255,255,.08); }
.today-strip__row { display: grid; grid-template-columns: repeat(3, 1fr); }
.today-strip__row > * { padding: 1.3rem 1.5rem 1.4rem 0; font-size: .9rem; text-decoration: none; color: inherit; }
.today-strip__row > * + * { padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.1); }
.today-strip strong { display: block; color: #fff; font-weight: 600; font-size: .98rem; margin-bottom: .15rem; }
.today-strip a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
  .today-strip__row { grid-template-columns: 1fr; }
  .today-strip__row > * { padding: .9rem 0; }
  .today-strip__row > * + * { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
}

/* ---------- Phrase d'accueil ---------- */
.statement { padding-block: clamp(5rem, 12vw, 10rem); }
.statement__text { font-size: clamp(1.7rem, 1rem + 2.6vw, 3.4rem); font-weight: 400; line-height: 1.12; letter-spacing: -.02em; max-width: 22ch; margin: 0; color: var(--navy-deep); }
.statement__text .wd { opacity: .16; }
.no-motion .statement__text .wd { opacity: 1; }
.statement__foot { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; align-items: end; justify-content: space-between; margin-top: clamp(2.5rem, 5vw, 4rem); }
.statement__foot p { margin: 0; color: var(--muted); max-width: 46ch; }

/* ---------- Grande photo qui s'élargit ---------- */
.band { padding-bottom: clamp(4rem, 8vw, 6rem); }
.band__frame { width: min(100% - 2 * var(--gutter), var(--max)); margin-inline: auto; height: min(78vh, 720px); border-radius: var(--radius-l); overflow: hidden; position: relative; }
.band__frame img { width: 100%; height: 100%; object-fit: cover; }
.band__frame::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,26,41,0) 50%, rgba(14,26,41,.7)); }
.band__cap { position: absolute; left: clamp(1rem, 4vw, 3rem); bottom: clamp(1rem, 4vw, 2.5rem); color: #fff; max-width: 34ch; z-index: 1; }
.band__cap strong { display: block; font-size: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); font-weight: 500; line-height: 1.1; margin-bottom: .5rem; }
