/* Réunion client, octobre 2026. Keep the tested journey controller untouched. */
.event-countdown {
  width: min(100%, 28rem);
  margin: clamp(.7rem, 1.5svh, 1.1rem) auto .6rem;
  padding: .65rem .4rem;
  color: var(--ivory);
  border-block: 1px solid #dcc59c45;
  background: linear-gradient(90deg, #08122200, #081222cc 20%, #081222cc 80%, #08122200);
}
.countdown-clock:not([hidden]) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
.countdown-clock > div { display: flex; flex-direction: column; gap: .35rem; text-align: center; padding: .1rem .35rem; border-left: 1px solid #dcc59c40; }
.countdown-clock > div:first-child { border-left: 0; }
.countdown-clock [data-countdown] { color: var(--champagne); font-family: var(--ceremony-font); font-size: clamp(1.9rem, 4svh, 2.8rem); line-height: 1; font-variant-numeric: lining-nums tabular-nums; text-shadow: 0 2px 8px #0009; }
.countdown-clock > div > span:last-child { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.no-js .hero-countdown { display: none; }
@media (max-width: 680px) and (max-height: 740px) {
  .story-chapter--hero .hero-lead { margin-top: .65rem; }
  .story-chapter--hero .hero-lead-title { font-size: 1.65rem; }
  .story-chapter--hero .hero-lead > p:last-child { font-size: .68rem; }
  .motion-ready .story-chapter--hero .hero-lead > p:last-child { display: none; }
  .motion-ready .scroll-cue { display: none; }
  .hero-countdown { margin-block: .6rem; padding-block: .5rem; }
}
@media (min-width: 681px) and (max-height: 500px) {
  .story-chapter--hero .hero-date { top: calc(var(--header-h) + 8.3rem); left: var(--page-gutter); right: auto; width: 46%; text-align: left; }
  .hero-countdown { position: absolute; top: calc(var(--header-h) + 10.5rem); left: var(--page-gutter); width: 46%; margin: .6rem 0 0; padding-block: .4rem; }
  .countdown-clock [data-countdown] { font-size: 1.65rem; }
  .countdown-clock > div > span:last-child { font-size: .52rem; }
}
.contest-teaser {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(15rem, .7fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 7rem);
  padding: clamp(4rem, 7vw, 7rem) var(--page-gutter);
  overflow: hidden;
  color: var(--ivory);
  background: #0a1423;
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.contest-teaser::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, #0a1423 10%, #0a1423ed 48%, #0a14236b), url('../assets/images/gala-concept-v1.webp') 70% 60% / cover;
}
.contest-teaser::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: url('../assets/patterns/paper-grain.svg'), radial-gradient(ellipse at 100% 0, #dcc59c18, transparent 55%);
  border-block: 1px solid #dcc59c40;
}
.contest-teaser-topline { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.4rem; }
.contest-teaser-topline .section-label { margin: 0; color: var(--champagne); }
.contest-teaser-status { padding: .45rem .75rem; border: 1px solid #dcc59c70; border-radius: 2rem; color: #eee0c6; font-size: .7rem; line-height: 1.3; }
.contest-teaser h2 { margin: 1.8rem 0 1.5rem; font-family: var(--ceremony-font); font-size: clamp(2.5rem, 4.8vw, 5rem); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; }
.contest-teaser h2 em { color: var(--champagne); }
.contest-teaser-copy > p { max-width: 34rem; font-size: 1rem; line-height: 1.75; color: #dddcd7; }
.contest-teaser-copy strong { font-weight: 600; color: var(--ivory); }
.contest-teaser-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 3.5rem; margin-top: 1.25rem; padding: .95rem 1.25rem; background: var(--champagne); border: 1px solid var(--champagne); color: #101a28; text-decoration: none; font-size: .86rem; font-weight: 700; }
.contest-teaser-link:hover { background: #f0dfbf; }
.contest-teaser-link:focus-visible { outline-color: var(--ivory); }
.contest-teaser-copy .contest-teaser-note { margin: 1rem 0 0; font-size: .73rem; color: #c3c2bd; }
.contest-teaser-pass { position: relative; width: 100%; max-width: 23rem; justify-self: center; padding: .8rem; border: 1px solid #dcc59c80; color: #eedbb6; background: linear-gradient(135deg, #263346e6, #101822f5 50%, #382729eb); box-shadow: 0 1.5rem 4rem #0005; transform: rotate(4deg); }
.contest-pass-date, .contest-pass-bottom { display: flex; flex-direction: column; align-items: center; gap: .45rem; margin: 0; padding: 1.2rem .5rem; font-size: .76rem; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.contest-pass-date span, .contest-pass-bottom span { font-size: .6rem; letter-spacing: .13em; color: #d3c8b7; }
.contest-pass-main { display: flex; flex-direction: column; align-items: center; padding: 1.7rem .5rem 2rem; border: 1px solid #dcc59c55; border-bottom-style: dashed; background: url('../assets/patterns/theatre-lines.svg') center / cover; }
.contest-pass-kicker, .contest-pass-duo { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; }
.contest-pass-vip { font-family: var(--ceremony-font); font-size: clamp(5rem, 9vw, 8rem); line-height: 1.3; letter-spacing: -.05em; }
@media (max-width: 760px) {
  .contest-teaser { grid-template-columns: 1fr; gap: 2.5rem; }
  .contest-teaser::before { background: linear-gradient(180deg, #0a1423 5%, #0a1423e8 55%, #0a142382), url('../assets/images/gala-concept-v1.webp') center bottom / cover; }
  .contest-teaser h2 { font-size: clamp(2.2rem, 7.7vw, 3.5rem); }
  .contest-teaser-pass { max-width: 18rem; transform: rotate(3deg); }
  .contest-pass-main { padding-block: 1rem 1.3rem; }
  .contest-pass-vip { font-size: 5rem; }
}
@media (forced-colors: active) {
  .contest-teaser-link { border-color: ButtonText; }
  .contest-teaser-link:focus-visible { outline-color: Highlight; }
}
.partners { padding: clamp(3.5rem,6vw,6rem) var(--page-gutter); display:grid; grid-template-columns: .8fr 1.2fr; align-items:center; gap:3rem; color:var(--ivory); background:radial-gradient(ellipse at 20% 100%,#28334566,transparent 70%),url('../assets/patterns/paper-grain.svg'),#0c1522; }
.partners h2 { font-family:var(--ceremony-font); font-weight:400; font-size:clamp(2.5rem,4.4vw,4.3rem); line-height:1.02; margin:1.5rem 0 0; }
.partners h2 em { color:var(--champagne); }
.partners-marks { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.partner-mark { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.4rem; min-height:18rem; padding:1.8rem 1rem; text-align:center; text-decoration:none; border:1px solid #dcc59c33; }
.partner-mark img { width:9rem; height:9rem; object-fit:contain; }
.partner-mark span { font-size:.72rem; line-height:1.5; }
.partner-mark--palais { background:#f2efe8; color:#33302c; }
.partner-mark--cannes { background:#101d30; color:#f2efe8; }
@media(max-width:680px){ .partners{grid-template-columns:1fr;gap:2rem;} .partners-marks{gap:.8rem;} .partner-mark{padding:1.3rem .5rem;min-height:15rem;} .partner-mark img{width:7rem;height:7rem;} .partner-mark span{font-size:.63rem;} }
.story-chapter--hero h1.event-name,
.header-brand .event-name {
  font-family: "Best Body", "Helvetica Neue", sans-serif;
  font-weight: 800;
  letter-spacing: -.03em;
  word-spacing: .08em;
}
.story-chapter--hero .event-name-line:nth-child(1),
.header-brand .event-name-line:nth-child(1) { font-size: .43em; font-weight: 500; letter-spacing: .15em; line-height: 1.45; }
.story-chapter--hero .event-name-line:nth-child(2),
.header-brand .event-name-line:nth-child(2) { font-size: .62em; line-height: 1.18; letter-spacing: .035em; }
.story-chapter--hero .event-name-line:nth-child(3),
.header-brand .event-name-line:nth-child(3) { font-size: 1em; line-height: 1.06; }
.story-chapter--hero .event-name-line:nth-child(4),
.header-brand .event-name-line:nth-child(4) { font-size: .6em; line-height: 1.2; letter-spacing: .045em; }
.story-chapter--hero .hero-lead-title { font-size: clamp(2.2rem, 3.6vw, 3.1rem); }
.story-chapter--hero .event-emblem { width: clamp(5rem, 12svh, 7rem); }
.story-chapter--hero .hero-lead > p:last-child { font-size: clamp(.78rem, 1vw, .95rem); }
.signature-kicker { color: var(--champagne); text-transform: uppercase; letter-spacing: .12em; font-size: .75rem !important; margin: 0 0 1.25rem; }
.story-chapter--clubs > p:last-child { max-width: 36rem; }
.manifesto {
  padding: clamp(4rem, 8vw, 8rem) var(--page-gutter);
  background: radial-gradient(ellipse at 100% 10%, rgba(180,143,75,.1), transparent 55%), url('../assets/patterns/paper-grain.svg'), #eee9df;
  color: var(--ink);
}
.manifesto-heading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.5rem 4rem; align-items: end; }
.manifesto-heading .section-label { grid-column: 1 / -1; }
.manifesto h2 { font-family: var(--ceremony-font); font-weight: 400; font-size: clamp(2rem, 3.9vw, 4rem); line-height: 1.12; margin: 0; letter-spacing: -.03em; }
.manifesto h2 em { color: #795a30; }
.manifesto-intro { max-width: 28rem; font-size: clamp(1rem, 1.45vw, 1.35rem); line-height: 1.6; margin: 0 0 .2rem; }
.manifesto-pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; margin-top: clamp(3rem, 6vw, 6rem); }
.manifesto-pillars article { padding-top: 1.5rem; border-top: 1px solid rgba(90,65,31,.3); }
.manifesto-pillars article > span { color: #84683f; font-size: .7rem; letter-spacing: .14em; }
.manifesto-pillars h3 { font-family: var(--ceremony-font); font-size: clamp(1.7rem, 2.5vw, 2.5rem); font-weight: 400; margin: 1rem 0 .6rem; }
.manifesto-pillars p { max-width: 23rem; font-size: .94rem; line-height: 1.65; margin: 0; color: #504c45; }
.manifesto-signature { margin: 4rem auto 0; padding-top: 2.5rem; border-top: 1px solid rgba(90,65,31,.24); text-align: center; font-size: clamp(.95rem, 1.4vw, 1.2rem); line-height: 1.9; }
.manifesto-signature em { font-family: var(--ceremony-font); font-size: clamp(1.3rem, 2.2vw, 2rem); color: #78572c; }
.cannes-support { margin: 2rem 0 0; font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; text-align: center; color: #5a5347; }
.honor { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); padding: clamp(4rem, 8vw, 8rem) var(--page-gutter); background: #07101d; color: var(--ivory); }
.honor::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #07101d 10%, rgba(7,16,29,.85) 65%, rgba(7,16,29,.65)), url('../assets/images/trophy-earth-v1.webp') center/cover; opacity: .65; pointer-events: none; }
.honor h2 { margin: 1.5rem 0 2rem; font-family: var(--ceremony-font); font-size: clamp(2.8rem,5.4vw,5.5rem); font-weight: 400; line-height: 1; letter-spacing: -.03em; }
.honor h2 em { color: var(--champagne); }
.honor-copy > p:not(.section-label) { max-width: 34rem; font-size: 1rem; line-height: 1.7; color: #d2d2d0; }
.honor-copy .honor-note { font-size: .75rem !important; color: #bcb5a7 !important; margin-top: 2rem; }
.honor-portrait { margin: 0; padding: 1.25rem; border: 1px solid rgba(220,197,156,.25); background: radial-gradient(ellipse at 40% 40%,rgba(220,197,156,.07),transparent 70%),#030609; box-shadow: 0 25px 70px #0005; }
.honor-portrait img { width: 100%; height: auto; max-height: 38rem; object-fit: contain; }
.honor-portrait figcaption { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #dcc59c33; font-size: .72rem; color: var(--champagne); }
.honor-portrait figcaption span { color: #b1ada5; }
@media (max-width: 680px) {
  .story-chapter--hero .event-name { font-size: clamp(1.9rem, 10.3vw, 3.1rem); }
  .story-chapter--hero .hero-lead-title { font-size: clamp(1.8rem, 8vw, 2.5rem); }
  .story-chapter--hero .hero-lead { margin-top: 1.4rem; }
  .story-chapter--hero .hero-lead > p:last-child { font-size: .76rem; }
  .signature-kicker { font-size: .56rem !important; letter-spacing: .09em; margin-bottom: .9rem; }
  .story-chapter--clubs > p:last-child { font-size: .85rem; }
  .manifesto-heading, .honor { grid-template-columns: 1fr; }
  .manifesto-heading { gap: 1.3rem; }
  .manifesto h2 { font-size: clamp(1.65rem, 6.4vw, 2.65rem); }
  .manifesto-pillars { grid-template-columns: 1fr; gap: 1.7rem; }
  .manifesto-pillars h3 { margin-top: .6rem; }
  .manifesto-pillars p { max-width: none; }
  .manifesto-signature { margin-top: 2.5rem; }
  .honor-portrait { max-width: 30rem; margin-inline: auto; }
}
@media (max-width: 680px) and (max-height: 740px) {
  .story-chapter--hero .event-emblem { width: 3.8rem; }
  .story-chapter--hero .hero-lead { margin-top: .8rem; }
}
@media (max-width: 360px) and (max-height: 650px) {
  .story-chapter--hero .event-emblem { width: 3.3rem; }
  .story-chapter--hero .event-name { font-size: clamp(1.75rem, 9.4vw, 2rem); }
  .story-chapter--hero .hero-lead-title { font-size: 1.6rem; }
  .story-chapter--hero .hero-lead { margin-top: .75rem; }
  .story-chapter--hero .hero-lead > p:last-child { font-size: .66rem; }
}
@media (min-width: 681px) and (max-height: 500px) {
  .story-chapter--hero .event-emblem { width: 2.8rem; }
  .story-chapter--hero .event-name { font-size: clamp(1.4rem,3.3vw,1.85rem); }
  .story-chapter--hero .hero-lead .hero-lead-title { font-size: 2rem; }
  .story-chapter--clubs .signature-kicker { margin-bottom: .3rem; font-size: .6rem !important; }
  .story-chapter--clubs > p:last-child { font-size: .74rem; line-height: 1.35; }
}
