.proposal-body{margin:0;background:#31007A;color:#fff}.proposal-body .site-header{position:absolute}.proposal{min-height:100svh;position:relative;isolation:isolate;overflow:hidden}.proposal h1{margin:0;color:#fff;letter-spacing:-.075em;line-height:.9}.proposal h1 span{background:none;color:#9147FF;-webkit-text-fill-color:#9147FF}.proposal p{margin:0;color:#fff;font-size:clamp(15px,1.35vw,18px);line-height:1.65}.proposal-photo{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#31007A}.proposal-photo img{display:block;width:100%;height:100%;object-fit:cover}.proposal-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.42));pointer-events:none}.proposal-photo figcaption{position:absolute;z-index:1;right:15px;bottom:15px;padding:7px 11px;border-radius:20px;background:#31007A;color:#fff;font-size:10px;font-weight:700}
/* 1 — grand titre clair, photo panoramique juste en dessous */
.p1{background:#fff;color:#31007A}.p1-main{min-height:100svh;padding:145px max(7vw,calc((100vw - 1180px)/2)) 44px;background:#fff}.p1 h1{font-size:clamp(60px,8vw,112px);color:#31007A}.p1 h1 span{color:#5A00E0;-webkit-text-fill-color:#5A00E0}.p1 p{color:#282333;margin:22px 0 30px}.p1 .proposal-photo{height:40vh;min-height:290px;max-height:440px;border-radius:10px}
/* 2 — composition équilibrée en deux colonnes, dans la palette violette */
.p2-main{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:115px max(7vw,calc((100vw - 1120px)/2)) 55px}.p2-main:before{content:"";position:absolute;z-index:-1;inset:0;background:#31007A url("../assets/fond-ondule-reference.webp") center/cover no-repeat;opacity:.26}.p2 h1{font-size:clamp(54px,6.4vw,88px)}.p2 p{max-width:420px;margin-top:24px}.p2 .proposal-photo{height:min(66vh,640px);min-height:390px;box-shadow:0 22px 65px rgba(0,0,0,.28)}
/* 3 — photo immersive, texte posé dans une zone sombre en bas à gauche */
.p3-main{display:flex;align-items:flex-end;padding:120px max(7vw,calc((100vw - 1200px)/2)) 8vh}.p3-main:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(24,0,57,.9),rgba(49,0,122,.42) 55%,rgba(49,0,122,.02))}.p3-main .proposal-photo{position:absolute;z-index:-1;inset:12% 7vw 10% 34%;border-radius:14px;box-shadow:0 25px 80px rgba(15,0,36,.5)}.p3-copy{position:relative;z-index:1;width:min(720px,62%);padding:20px 0}.p3-main h1{font-size:clamp(64px,8vw,112px)}.p3-main p{max-width:440px;margin-top:24px}
@media(max-width:700px){.p1-main{padding:125px 7vw 30px}.p1 h1{font-size:clamp(49px,11.5vw,72px)}.p1 .proposal-photo{height:38vh;min-height:240px}.p2-main{grid-template-columns:1fr;align-content:center;gap:25px;padding:110px 7vw 35px}.p2 h1{font-size:clamp(48px,11vw,72px)}.p2 p{font-size:14px;margin-top:16px}.p2 .proposal-photo{height:40vh;min-height:250px}.p3-main{align-items:flex-end;padding:110px 7vw 34px}.p3-main:after{background:linear-gradient(0deg,rgba(24,0,57,.96),rgba(49,0,122,.42) 62%,rgba(49,0,122,.02))}.p3-main .proposal-photo{inset:16% 7vw 20% 7vw;opacity:.8}.p3-copy{width:100%}.p3-main h1{font-size:clamp(52px,12vw,78px)}.p3-main p{font-size:14px;margin-top:16px}}
/* Contenu éditorial de l’accueil */
.home-overview,.home-recap,.home-committee{padding:100px max(7vw,calc((100vw - 1120px)/2))}
.home-overview{background:#fff;color:#31007A;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw}
.home-overview .overview-title>span,.recap-heading>span,.committee-heading>span{font-size:10px;font-weight:700;letter-spacing:2px;color:#5A00E0}
.home-overview h2,.recap-heading h2,.committee-heading h2{font:700 clamp(38px,5vw,64px)/.98 var(--display);letter-spacing:-.06em;margin:20px 0 0;color:#31007A}
.home-overview>p{font-size:clamp(15px,1.4vw,18px);line-height:1.8;color:#30263c;margin:0;max-width:650px}
.home-recap{background:#31007A;color:#fff;position:relative;overflow:hidden}
.recap-heading{margin-bottom:55px}.recap-heading h2{color:#fff}.recap-heading h2 em,.committee-heading h2 em{font-style:normal;color:#9147FF}
.recap-editions{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.recap-group{border-top:1px solid rgba(255,255,255,.28);padding-top:20px}
.recap-index{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#c9a9ff}
.recap-group h3{font:700 clamp(30px,3.2vw,42px)/1 var(--display);letter-spacing:-.05em;margin:13px 0 10px;color:#fff}
.recap-group>p{font-size:14px;line-height:1.65;color:#e4d9f2;max-width:450px;min-height:48px;margin:0 0 22px}
.recap-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.recap-photos figure{position:relative;margin:0;height:190px;overflow:hidden;border-radius:8px;background:#16002f}
.recap-photos img{width:100%;height:100%;object-fit:cover}
.recap-photos figure:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.62))}
.recap-photos figcaption{position:absolute;z-index:1;left:10px;right:10px;bottom:10px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.3px;text-shadow:0 1px 5px #000}
.fun-photos figure{height:155px}
.fun-photos figcaption{font-size:8px}
.home-committee{background:#f7f3fc;color:#31007A}
.committee-heading{margin-bottom:46px}
.committee-heading h2{color:#31007A}
.committee-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 5vw}
.committee-grid article{position:relative;border-top:1px solid rgba(49,0,122,.2);padding:24px 0 30px 48px}
.committee-number{position:absolute;left:0;top:29px;color:#5A00E0;font:700 18px/1 var(--display)}
.committee-grid h3{font:700 28px/1 var(--display);letter-spacing:-.04em;color:#31007A;margin:0 0 9px}
.committee-grid strong{display:block;color:#5A00E0;font-size:11px;line-height:1.5;margin-bottom:14px}
.committee-grid p{font-size:13px;line-height:1.75;color:#3c3348;margin:0;max-width:500px}
@media(max-width:760px){.home-overview,.home-recap,.home-committee{padding:72px 7vw}.home-overview{grid-template-columns:1fr;gap:25px}.home-overview h2,.recap-heading h2,.committee-heading h2{font-size:clamp(38px,9vw,54px)}.recap-editions{grid-template-columns:1fr;gap:42px}.recap-heading{margin-bottom:35px}.recap-group>p{min-height:0}.committee-grid{grid-template-columns:1fr;gap:0}.committee-heading{margin-bottom:30px}}
@media(max-width:480px){.recap-photos figure{height:155px}.fun-photos figure{height:130px}.recap-photos figcaption{font-size:8px}.committee-grid article{padding-left:38px}.committee-grid h3{font-size:25px}}
