:root{--navy:#142640;--ink:#172943;--cream:#f8f4ea;--paper:#fffdfa;--gold:#b88b42}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
a:focus-visible{outline:3px solid #c29a54;outline-offset:4px}
.events-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:clamp(25px,5vw,75px);min-height:510px;padding:clamp(37px,5vw,68px) clamp(24px,6vw,100px) 0;background:linear-gradient(120deg,#fffefa,#fbf6eb);overflow:hidden;align-items:center}
.events-copy{max-width:685px;padding-bottom:60px}
.events-copy h1{font-size:clamp(4rem,6.4vw,8.1rem);line-height:.91;letter-spacing:-.05em;margin:0 0 23px}
.events-copy h1 em,h2 em{color:#b48a45;font-weight:500}
.events-lead{font:500 clamp(1.6rem,2.5vw,2.4rem)/1.25 "Cormorant Garamond",Georgia,serif;color:#243954;max-width:660px;margin:0 0 17px}
.events-copy>p:not(.section-kicker):not(.events-lead){font-size:14px;line-height:1.82;color:#58677a;max-width:580px}
.link-arrow{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #b68a43;padding:8px 0;color:#896024;font-weight:800;font-size:12px;margin-top:13px}
.events-photo{position:relative;align-self:stretch;min-height:470px;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#183451,#101f38);border-radius:175px 175px 0 0;border:1px solid rgba(213,172,103,.28);border-bottom:0}
.events-photo::before{content:"";position:absolute;inset:12% 12% auto;aspect-ratio:1;border:1px solid rgba(216,179,111,.4);border-radius:50%}
.events-photo::after{content:"";position:absolute;top:35%;left:22%;width:55%;height:30%;background:rgba(217,171,95,.16);border-radius:50%;filter:blur(45px)}
.events-photo img{position:relative;z-index:2;max-width:none;width:min(105%,440px);max-height:465px;height:auto;object-fit:contain;filter:drop-shadow(0 10px 15px rgba(0,0,0,.2))}
.photo-label{position:absolute;z-index:4;top:30px;left:31px;color:#ecd0a0;font-size:10px;letter-spacing:.16em;font-weight:800}
.events-plan{padding:clamp(50px,6vw,90px) clamp(24px,6vw,100px);background:#fffdf9}
.events-heading{display:grid;grid-template-columns:1fr .65fr;gap:55px;align-items:end;margin-bottom:27px}
.events-heading h2{font-size:clamp(3rem,4.65vw,5.25rem);line-height:1;letter-spacing:-.043em;margin:0}
.events-heading>p{color:#617082;font-size:14px;line-height:1.8;max-width:390px;margin-bottom:3px}
.events-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.event-card{padding:clamp(23px,3vw,39px);background:#f8f3ea;border:1px solid #e6d9c3;min-height:265px;display:flex;flex-direction:column}
.card-symbol{font:38px Georgia,serif;color:#a67b35}
.event-card h3{font-size:clamp(2rem,3vw,3.5rem);line-height:1.02;margin:20px 0 12px}
.event-card p{color:#5d6a7b;font-size:13px;line-height:1.78;max-width:460px}
.event-card>a,.event-card>span{align-self:flex-start;margin-top:auto;color:#8b6630;font-size:11px;font-weight:800;letter-spacing:.02em;border-bottom:1px solid #c49c65;padding-bottom:7px}
.newsbar{display:flex;align-items:center;gap:27px;border-top:1px solid #e5d9c5;margin-top:45px;padding-top:27px}
.newsbar>span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#8c642c;white-space:nowrap}
.newsbar p{margin:0;flex:1;font-size:13px;line-height:1.6;color:#667282}
.newsbar a{padding:12px 19px;background:#1c3552;border-radius:4px;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.events-invite{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:clamp(41px,5vw,68px) clamp(24px,6vw,100px);background:#142640;color:#fff}
.events-invite>div{max-width:850px}.events-invite h2{font-size:clamp(3rem,4.7vw,5.5rem);line-height:1;letter-spacing:-.035em;margin:0 0 13px}.events-invite h2 em{color:#e2b76e}
.events-invite p:not(.section-kicker){font-size:13px;color:#d4dfeb;line-height:1.7;margin:0}
.invite-button{padding:17px 20px;display:inline-flex;align-items:center;gap:23px;background:linear-gradient(110deg,#eec679,#d4a350);color:#142640;font-size:12px;font-weight:800;white-space:nowrap;border-radius:5px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0b1b30;padding:26px clamp(24px,6vw,100px);color:#c7d0dc;font-size:11px}
.footer div{display:flex;gap:20px}.footer a:hover{color:#e3be7a}
@media(max-width:1000px){.events-intro{grid-template-columns:minmax(0,1fr) minmax(265px,.9fr);gap:24px}.events-copy h1{font-size:clamp(3.7rem,6.6vw,6.4rem)}}
@media(max-width:760px){.events-intro,.events-heading,.events-cards{grid-template-columns:1fr}.events-intro{padding:40px 6% 0;gap:0}.events-copy{padding-bottom:30px}.events-copy h1{font-size:clamp(3.8rem,11.3vw,6rem)}.events-photo{min-height:370px;max-width:510px;width:100%;margin:auto}.events-photo img{max-height:370px}.events-plan{padding:51px 6%}.events-heading{gap:15px}.events-cards{gap:14px}.event-card{min-height:220px}.newsbar{align-items:flex-start;flex-direction:column;gap:11px;margin-top:27px}.events-invite{flex-direction:column;align-items:stretch;padding:43px 6%}.invite-button{align-self:flex-start}.footer{padding:25px 6%;flex-direction:column;align-items:flex-start}}
@media(max-width:390px){.events-photo{min-height:330px}.events-photo img{max-height:330px}.events-copy h1{font-size:clamp(3.35rem,11vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Photos détourées sur matière claire : contraste optimal des vêtements sombres */
.events-photo{background:radial-gradient(ellipse at 50% 33%,#fffdfa 0%,#f1e4cf 58%,#d9c19d 100%);border-color:#d8bb8c}
.events-photo::before{border-color:rgba(49,63,86,.22)}
.events-photo::after{background:rgba(180,131,60,.15)}
.events-photo img{width:min(100%,350px);max-height:390px}
.photo-label{color:#6f522c}

/* Page Événements sans portrait : composition éditoriale compacte et centrée */
.events-intro{
  display:block;
  min-height:0;
  padding:clamp(46px,5.5vw,82px) clamp(24px,6vw,100px) clamp(48px,5vw,78px);
  background:linear-gradient(116deg,#fffefa,#f9f2e7);
}
.events-copy{max-width:920px;padding:0}
.events-copy h1{font-size:clamp(4.1rem,6.8vw,8.1rem)}
.events-lead{max-width:780px}
.events-copy>p:not(.section-kicker):not(.events-lead){max-width:730px}
@media(max-width:760px){
  .events-intro{padding:40px 6% 49px}
  .events-copy{padding:0}
}
