@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Schibsted+Grotesk:wght@400;500;600;700;800&display=swap');

:root {
  --black: #0b0a09;
  --black-soft: #151310;
  --ink: #11100e;
  --ivory: #f2eee5;
  --ivory-light: #faf7f0;
  --gold: #d88949;
  --gold-light: #edb06f;
  --gold-dark: #ad582f;
  --red: #bc2638;
  --muted: #6f6a60;
  --line: rgba(23, 21, 17, .17);
  --line-light: rgba(255, 255, 255, .17);
  --serif: "Schibsted Grotesk", Inter, Arial, sans-serif;
  --sans: "Schibsted Grotesk", Inter, Arial, sans-serif;
  --mono: "DM Mono", ui-monospace, monospace;
  --ease: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); overflow-x: clip; }
body { margin: 0; color: var(--ink); background: var(--ivory); font-family: var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, p { margin-top: 0; }
p { line-height: 1.72; }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 300; top: -5rem; left: 1rem; padding: .8rem 1rem; color: var(--black); background: var(--gold-light); transition: top .2s; }
.skip-link:focus { top: 1rem; }
.section-pad { padding: clamp(6.5rem, 10vw, 10rem) max(24px, calc((100vw - 1240px) / 2)); }
.eyebrow { margin-bottom: 1.4rem; color: inherit; font-size: .66rem; font-weight: 700; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; }
.lede { max-width: 740px; color: rgba(255,255,255,.65); font-size: clamp(1rem, 1.55vw, 1.24rem); }

.scroll-progress { position: fixed; z-index: 250; inset: 0 0 auto; height: 2px; background: rgba(255,255,255,.06); pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; background: var(--gold); transform: scaleX(var(--scroll-progress, 0)); transform-origin: left; will-change: transform; }

.site-header { position: fixed; z-index: 120; inset: 0 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 88px; padding: 0 clamp(24px, 4vw, 64px); color: white; border-bottom: 1px solid var(--line-light); transition: transform .45s var(--ease), background .35s, box-shadow .35s; }
.site-header.header-scrolled { background: rgba(8,8,8,.91); box-shadow: 0 14px 50px rgba(0,0,0,.16); backdrop-filter: blur(16px); }
.site-header.header-hidden { transform: translateY(-105%); }
.brand { display: inline-flex; align-items: center; gap: .9rem; width: max-content; }
.brand-mark { position: relative; display: block; width: 26px; height: 26px; border: 1px solid var(--gold); transform: rotate(45deg); }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; width: 5px; height: 5px; background: var(--red); border-radius: 50%; }
.brand-mark::before { top: -3px; left: -3px; }
.brand-mark::after { right: -3px; bottom: -3px; }
.brand-mark i { position: absolute; inset: 5px; border: 1px solid rgba(207,164,84,.7); }
.brand-mark b { position: absolute; inset: 10px; background: var(--gold); }
.brand strong { display: block; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; letter-spacing: .02em; }
.brand small { display: block; margin-top: .1rem; color: rgba(255,255,255,.5); font-size: .53rem; letter-spacing: .18em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 2.4rem; align-items: center; }
.desktop-nav a, .explore-trigger { position: relative; padding: 1rem 0; border: 0; background: none; font-size: .7rem; font-weight: 600; letter-spacing: .08em; cursor: pointer; }
.desktop-nav a::after, .explore-trigger::after { content: ""; position: absolute; right: 100%; bottom: .65rem; left: 0; height: 1px; background: var(--gold); transition: right .28s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after, .explore-trigger:hover::after { right: 0; }
.explore-trigger span { margin-left: .4rem; color: var(--gold); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 1rem; }
.language-switch { display: flex; gap: .1rem; padding: 3px; border: 1px solid rgba(255,255,255,.2); }
.language-switch button { width: 33px; height: 27px; padding: 0; color: rgba(255,255,255,.5); background: transparent; border: 0; font-size: .57rem; font-weight: 700; cursor: pointer; }
.language-switch button[aria-pressed="true"] { color: var(--black); background: var(--ivory); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; min-height: 54px; padding: 0 1.55rem; border: 1px solid transparent; border-radius: 2px; font-size: .69rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: color .25s, background .25s, border .25s, transform .25s var(--ease); }
.button:hover { transform: translateY(-2px); }
.button svg { transition: transform .25s; }
.button:hover svg { transform: translateX(4px); }
.button-small { min-height: 42px; padding: 0 1.2rem; font-size: .61rem; }
.button-gold { color: var(--black); background: var(--gold); }
.button-gold:hover { background: var(--gold-light); }
.button-light { color: var(--black); background: var(--ivory-light); }
.button-dark { color: white; background: var(--black); }
.button-dark:hover { color: var(--black); background: var(--gold); }
.button-ghost { color: white; border-color: rgba(255,255,255,.36); }
.button-ghost:hover { color: var(--gold-light); border-color: var(--gold); }
.menu-trigger { position: relative; display: none; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-trigger > span:not(.sr-only) { position: absolute; left: 11px; width: 18px; height: 1px; background: currentColor; transition: transform .3s, top .3s; }
.menu-trigger > span:first-child { top: 16px; }
.menu-trigger > span:nth-child(2) { top: 23px; }
.menu-trigger[aria-expanded="true"] > span:first-child { top: 20px; transform: rotate(45deg); }
.menu-trigger[aria-expanded="true"] > span:nth-child(2) { top: 20px; transform: rotate(-45deg); }
.explore-panel { position: absolute; top: 88px; left: 50%; display: grid; grid-template-columns: repeat(4, 1fr); width: min(980px, 90vw); color: var(--ink); background: var(--ivory-light); box-shadow: 0 35px 90px rgba(0,0,0,.28); opacity: 0; pointer-events: none; transform: translate(-50%, -10px); transition: opacity .25s, transform .25s var(--ease); }
.explore-panel[aria-hidden="false"] { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.explore-panel a { display: grid; grid-template-columns: 1fr auto; align-content: space-between; min-height: 160px; padding: 1.5rem; border-right: 1px solid var(--line); font-family: var(--serif); font-size: 1.22rem; }
.explore-panel a:last-child { border-right: 0; }
.explore-panel a span { grid-column: 1 / -1; color: var(--gold-dark); font-family: var(--sans); font-size: .58rem; }
.explore-panel a:hover { color: var(--black); background: var(--gold); }
.mobile-menu { position: fixed; z-index: 110; inset: 0; display: none; padding: 110px 24px 32px; color: white; background: var(--black); opacity: 0; pointer-events: none; transition: opacity .3s; }
.mobile-menu[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
.mobile-menu-inner { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { padding: .46rem 0; border-bottom: 1px solid var(--line-light); font-family: var(--serif); font-size: clamp(1.65rem, 7vw, 2.7rem); }
.mobile-menu-meta { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.mobile-menu p { margin: 0; color: rgba(255,255,255,.5); font-size: .72rem; }
.mobile-languages { display: flex; gap: .45rem; }
.mobile-languages button { width: 42px; height: 42px; color: rgba(255,255,255,.55); background: transparent; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; font-size: .62rem; font-weight: 700; }
.mobile-languages button[aria-pressed="true"] { color: var(--black); background: var(--gold); border-color: var(--gold); }

/* Hero — une image forte, aucune décoration superflue. */
.hero { position: relative; display: flex; align-items: center; min-height: max(760px, 100svh); padding: 150px max(24px, calc((100vw - 1240px) / 2)) 135px; color: white; background: var(--black); overflow: hidden; isolation: isolate; }
.hero-media { position: absolute; z-index: -3; inset: 0 0 0 35%; margin: 0; overflow: hidden; transform: translateY(var(--hero-media-shift, 0)) scale(1.035); transform-origin: center; animation: hero-image 1.5s var(--ease) both; will-change: transform; }
.hero-media img { width: 100%; height: calc(100% + 50px); object-fit: cover; object-position: 52% center; filter: saturate(.82) contrast(1.05); }
.hero-veil { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, #080808 0%, rgba(8,8,8,.98) 30%, rgba(8,8,8,.73) 52%, rgba(8,8,8,.16) 78%, rgba(8,8,8,.12) 100%), linear-gradient(0deg, rgba(8,8,8,.78), transparent 45%); }
.hero-frame { position: absolute; z-index: -1; inset: 112px clamp(24px, 4vw, 64px) 42px; border: 1px solid rgba(207,164,84,.42); border-left: 0; pointer-events: none; }
.hero-copy { position: relative; z-index: 2; width: min(680px, 57vw); transform: translateY(var(--hero-copy-shift, 0)); will-change: transform; }
.hero-eyebrow { color: var(--gold-light); opacity: 0; animation: rise .75s .12s var(--ease) forwards; }
.hero h1 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.hero-line { display: block; overflow: hidden; }
.hero-line > span { display: block; transform: translateY(115%); animation: line-in 1s .2s var(--ease) forwards; }
.hero-kicker { margin-bottom: .6rem; font-family: var(--sans); font-size: clamp(1rem, 1.5vw, 1.3rem); font-weight: 500; letter-spacing: .04em; }
.hero-kicker > span { animation-delay: .2s; }
.hero-title { max-width: 760px; color: var(--ivory-light); font-size: clamp(4.3rem, 7.3vw, 7.7rem); line-height: .9; }
.hero-title em { color: var(--gold); }
.hero-title > span { animation-delay: .34s; }
.hero-body { max-width: 560px; margin: 2rem 0 2.2rem; color: rgba(255,255,255,.68); font-size: clamp(.94rem, 1.15vw, 1.05rem); opacity: 0; animation: rise .8s .62s var(--ease) forwards; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; opacity: 0; animation: rise .8s .72s var(--ease) forwards; }
.hero-edition { position: absolute; z-index: 2; right: clamp(45px, 6vw, 95px); bottom: 104px; display: grid; gap: .35rem; width: 190px; padding: 1.2rem 0 0 1.2rem; color: white; border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); }
.hero-edition span { color: rgba(255,255,255,.5); font-size: .56rem; letter-spacing: .16em; text-transform: uppercase; }
.hero-edition strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.hero-facts { position: absolute; z-index: 2; bottom: 45px; left: max(24px, calc((100vw - 1240px) / 2)); display: flex; gap: 1.8rem; color: rgba(255,255,255,.55); font-size: .58rem; letter-spacing: .15em; text-transform: uppercase; }
.hero-facts span + span::before { content: "/"; margin-right: 1.8rem; color: var(--gold); }
.scroll-cue { position: absolute; z-index: 2; right: clamp(24px, 3vw, 48px); bottom: 42px; display: flex; align-items: center; gap: .7rem; color: rgba(255,255,255,.48); font-size: .55rem; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue span { width: 1px; height: 42px; background: linear-gradient(var(--gold), transparent); animation: scroll-pulse 1.8s ease-in-out infinite; }

.section-heading { display: grid; grid-template-columns: .5fr 1.55fr .85fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-bottom: clamp(4rem, 7vw, 7rem); }
.section-heading h2 { max-width: 700px; margin: 0; font-family: var(--serif); font-size: clamp(3.2rem, 5.6vw, 6.2rem); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.section-heading > p:last-child { color: var(--muted); }
.why { background: var(--ivory); }
.why .eyebrow { color: var(--gold-dark); }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-card { min-height: 315px; padding: 1.8rem 2rem 2rem 0; border-right: 1px solid var(--line); }
.value-card + .value-card { padding-left: 2rem; }
.value-card:last-child { border-right: 0; }
.value-card > span { display: block; margin-bottom: 5.5rem; color: var(--gold-dark); font-size: .6rem; font-weight: 700; }
.value-card h3 { max-width: 280px; margin-bottom: 1.1rem; font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1.05; }
.value-card p { max-width: 340px; margin-bottom: 0; color: var(--muted); font-size: .85rem; }

.experience { padding: clamp(7rem, 10vw, 11rem) max(24px, calc((100vw - 1240px) / 2)); color: white; background: var(--black); }
.experience-intro { display: grid; grid-template-columns: .5fr 2fr; gap: 3rem; margin-bottom: 5rem; }
.experience-intro .eyebrow { color: var(--gold); }
.experience-intro h2 { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(3.5rem, 6vw, 6.4rem); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.experience-track { border-top: 1px solid var(--line-light); }
.experience-card { display: grid; grid-template-columns: 110px 1fr 1.25fr; gap: 2.4rem; align-items: start; min-height: 0; padding: 2.2rem 0; border-bottom: 1px solid var(--line-light); }
.experience-card > div { display: grid; gap: .45rem; color: rgba(255,255,255,.45); font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.experience-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 2.5vw, 2.65rem); font-weight: 400; }
.experience-card p { max-width: 540px; margin: 0; color: rgba(255,255,255,.58); font-size: .88rem; }
.text-link { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.5rem; color: var(--gold-light); font-size: .63rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.text-link svg { transition: transform .25s; }
.text-link:hover svg { transform: translateX(5px); }

.gallery-story { display: grid; grid-template-columns: .64fr 1.36fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; color: var(--ink); background: var(--ivory-light); }
.gallery-copy { position: sticky; top: 135px; }
.gallery-copy .eyebrow { color: var(--gold-dark); }
.gallery-copy h2 { max-width: 500px; font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.5rem); font-weight: 400; line-height: .96; letter-spacing: -.04em; }
.gallery-copy > p:not(.eyebrow) { color: var(--muted); }
.gallery-copy small { display: block; margin-top: 2rem; padding-top: 1.2rem; color: var(--muted); border-top: 1px solid var(--line); line-height: 1.6; }
.gallery-stack { display: grid; grid-template-columns: 1.45fr .55fr; gap: 1rem; min-height: 760px; }
.gallery-stack figure { position: relative; margin: 0; overflow: hidden; background: var(--black); }
.gallery-stack figure::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.18); pointer-events: none; }
.gallery-stack figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.gallery-stack figure:hover img { transform: scale(1.025); }
.gallery-a { min-height: 760px; }
.gallery-a img { object-position: 50% center; }
.gallery-b { min-height: 760px; }
.gallery-b img { object-position: 47% center; }

.practical { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; color: var(--ink); background: var(--gold); }
.practical-copy h2 { max-width: 520px; font-family: var(--serif); font-size: clamp(3.2rem, 5.2vw, 5.7rem); font-weight: 400; line-height: .94; }
.practical-list { margin: 0; border-top: 1px solid rgba(23,21,17,.3); }
.practical-list div { display: grid; grid-template-columns: .62fr 1.38fr; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(23,21,17,.3); }
.practical-list dt { font-size: .61rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.practical-list dd { margin: 0; font-family: var(--serif); font-size: 1.55rem; }

.conversion-bridge { position: relative; display: grid; min-height: 680px; place-items: center; padding: 8rem 24px; color: white; text-align: center; background: var(--black); overflow: hidden; }
.conversion-bridge::before { content: "2026"; position: absolute; color: transparent; font-family: var(--serif); font-size: clamp(12rem, 31vw, 32rem); font-weight: 500; line-height: .8; -webkit-text-stroke: 1px rgba(207,164,84,.18); }
.bridge-glow { display: none; }
.conversion-bridge > div:last-child { position: relative; z-index: 1; max-width: 850px; }
.conversion-bridge .eyebrow { color: var(--gold); }
.conversion-bridge h2 { font-family: var(--serif); font-size: clamp(3.7rem, 6.4vw, 7rem); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.conversion-bridge p { max-width: 650px; margin: 0 auto 2rem; color: rgba(255,255,255,.66); }
.conversion-bridge small { display: block; margin-top: 1.4rem; color: rgba(255,255,255,.46); }

/* Pages intérieures */
.page-hero { position: relative; display: flex; align-items: end; min-height: 690px; padding: 185px max(24px, calc((100vw - 1240px) / 2)) 110px; color: white; background: var(--black); overflow: hidden; }
.page-hero::after { content: "2026"; position: absolute; right: -1vw; top: 115px; color: transparent; font-family: var(--serif); font-size: clamp(11rem, 24vw, 25rem); line-height: .8; -webkit-text-stroke: 1px rgba(207,164,84,.16); }
.page-hero-copy { position: relative; z-index: 2; max-width: 1040px; }
.page-hero .eyebrow { color: var(--gold); }
.page-hero h1 { max-width: 1000px; margin-bottom: 1.7rem; font-family: var(--serif); font-size: clamp(4rem, 7.4vw, 8rem); font-weight: 400; line-height: .92; letter-spacing: -.05em; }
.page-hero .lede { max-width: 700px; }
.page-hero-meta { position: absolute; z-index: 2; right: max(24px, calc((100vw - 1240px) / 2)); bottom: 36px; left: max(24px, calc((100vw - 1240px) / 2)); display: flex; gap: 2rem; padding-top: 1rem; color: rgba(255,255,255,.5); border-top: 1px solid var(--line-light); font-size: .59rem; letter-spacing: .13em; text-transform: uppercase; }
.page-hero-meta span:last-child { margin-left: auto; }
.orb { display: none; }

.mission { display: grid; grid-template-columns: .72fr 1.28fr; gap: 9vw; align-items: center; background: var(--ivory); }
.mission-mark { display: grid; min-height: 500px; place-items: center; background: var(--black); }
.mission-mark img { width: 170px; padding: 8px; background: white; }
.mission-copy .eyebrow { color: var(--gold-dark); }
.mission-copy h2 { font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.6rem); font-weight: 400; line-height: .95; }
.mission-copy p:not(.eyebrow) { max-width: 680px; color: var(--muted); font-size: 1.13rem; }
.history-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding-top: 0; padding-bottom: 0; color: white; background: var(--gold-dark); }
.history-grid article { min-height: 530px; padding: clamp(4rem, 7vw, 7rem); background: var(--black); }
.history-grid .history-vision { color: var(--black); background: var(--gold); }
.history-grid h2 { max-width: 560px; margin-bottom: 1.5rem; font-family: var(--serif); font-size: clamp(3rem, 4.8vw, 5.4rem); font-weight: 400; line-height: .96; }
.history-grid p:not(.eyebrow) { max-width: 610px; color: rgba(255,255,255,.62); }
.history-grid .history-vision p:not(.eyebrow) { color: rgba(8,8,8,.66); }
.principles { color: white; background: var(--black); }
.principles .section-heading { grid-template-columns: .5fr 2fr; }
.principles .section-heading h2 { font-size: clamp(2.7rem, 4.6vw, 5.2rem); }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.principle-grid article { min-height: 325px; padding: 1.7rem; border-right: 1px solid var(--line-light); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid span { color: var(--gold); font-size: .6rem; }
.principle-grid h3 { margin-top: 6.5rem; font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }
.principle-grid p { color: rgba(255,255,255,.55); font-size: .83rem; }
.after-gala { display: grid; grid-template-columns: 1.35fr .65fr; gap: 8vw; padding: clamp(6rem, 9vw, 9rem) max(24px, calc((100vw - 1240px) / 2)); background: var(--gold); }
.after-gala h2 { font-family: var(--serif); font-size: clamp(3.4rem, 5.5vw, 6rem); font-weight: 400; }
.after-gala p { max-width: 700px; }
.note-card { align-self: end; padding: 2rem; color: white; background: var(--black); border-left: 2px solid var(--ivory); font-family: var(--serif); font-size: 1.45rem; line-height: 1.4; }

.program-section { background: var(--ivory); }
.program-status { display: flex; gap: 1rem; max-width: 700px; margin: 0 0 5rem auto; padding: 1.35rem; border: 1px solid var(--line); }
.program-status > span, .integration-notice > span, .draft-note > span { flex: none; width: 8px; height: 8px; margin-top: .38rem; background: var(--gold-dark); }
.program-status strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 500; }
.program-status p { margin: .4rem 0 0; color: var(--muted); font-size: .84rem; }
.timeline { border-top: 1px solid var(--line); }
.timeline-item { display: grid; grid-template-columns: .65fr 80px 1.7fr; gap: 2rem; align-items: start; padding: 2.4rem 0; border-bottom: 1px solid var(--line); }
.timeline-item time { font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.5rem); }
.timeline-dot { display: grid; width: 40px; height: 40px; place-items: center; color: var(--black); background: var(--gold); font-size: .58rem; font-weight: 700; }
.timeline-item h2 { margin-bottom: .6rem; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.timeline-item p { max-width: 620px; margin-bottom: 0; color: var(--muted); }
.access-panel { display: flex; align-items: end; justify-content: space-between; gap: 3rem; background: var(--ivory-light); }
.access-panel h2 { font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.6rem); font-weight: 400; }
.access-panel p { max-width: 680px; color: var(--muted); }

.registration-layout { display: grid; grid-template-columns: 1.45fr .7fr; gap: 6vw; align-items: start; background: var(--ivory-light); }
.integration-notice { display: flex; gap: 1rem; margin-bottom: 1.5rem; padding: 1rem 1.2rem; color: #604710; background: #f6e8bd; border-left: 3px solid var(--gold-dark); font-size: .81rem; line-height: 1.55; }
.registration-form { padding: clamp(1.4rem, 4vw, 3.4rem); background: var(--ivory); border: 1px solid var(--line); }
.form-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 3rem; }
.form-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.7rem, 4vw, 4.6rem); font-weight: 400; }
.form-heading .eyebrow { margin: 0; color: var(--gold-dark); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.form-grid label { display: grid; gap: .55rem; }
.form-grid label > span { font-size: .66rem; font-weight: 700; letter-spacing: .06em; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; padding: .9rem 1rem; color: var(--ink); background: var(--ivory-light); border: 1px solid rgba(23,21,17,.27); border-radius: 0; outline: none; transition: border .2s, box-shadow .2s; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(140,104,45,.11); }
.was-validated input:invalid, .was-validated select:invalid { border-color: var(--red); }
.form-grid textarea { resize: vertical; }
.honeypot { position: absolute; left: -9999px; }
[data-conditional="children"] { display: none !important; }
[data-conditional="children"].is-visible { display: grid !important; }
.consents { display: grid; gap: 1rem; margin: 2rem 0; padding: 1.5rem 0; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.consents legend { padding: 0 0 1rem; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.consents label { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; font-size: .8rem; line-height: 1.5; }
.consents input { width: 18px; height: 18px; accent-color: var(--gold-dark); }
.form-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.form-footer > a { font-size: .7rem; text-decoration: underline; }
.form-message { display: none; margin-top: 1.5rem; padding: 1.2rem; line-height: 1.5; }
.form-message.notice, .form-message.error { display: grid; gap: .3rem; }
.form-message.notice { color: #604710; background: #f6e8bd; }
.form-message.error { color: #7a1020; background: #fff0f2; }
.next-steps { position: sticky; top: 120px; padding: 2rem; color: white; background: var(--black); border-top: 3px solid var(--gold); }
.next-steps h2 { font-family: var(--serif); font-size: 2.8rem; font-weight: 400; }
.next-steps > div { display: grid; grid-template-columns: 38px 1fr; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--line-light); }
.next-steps > div span { display: grid; width: 30px; height: 30px; place-items: center; color: var(--black); background: var(--gold); font-size: .63rem; font-weight: 700; }
.next-steps > div p { margin: 0; color: rgba(255,255,255,.65); font-size: .83rem; }

.ways { background: var(--ivory); }
.ways-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.ways-grid article { min-height: 315px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ways-grid article:nth-child(even) { border-right: 0; }
.ways-grid article > span { color: var(--gold-dark); font-size: .6rem; }
.ways-grid h2 { margin-top: 5.5rem; font-family: var(--serif); font-size: 2.45rem; font-weight: 400; }
.ways-grid p { max-width: 520px; color: var(--muted); }
.sponsorship-tiers { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; color: white; background: var(--black); }
.tier-intro { position: sticky; top: 130px; align-self: start; }
.tier-intro .eyebrow { color: var(--gold); }
.tier-intro h2 { max-width: 560px; font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.7rem); font-weight: 400; line-height: .95; }
.tier-intro > p:last-child { max-width: 560px; color: rgba(255,255,255,.55); }
.tier-list { border-top: 1px solid var(--line-light); }
.tier-card { display: grid; grid-template-columns: 54px .55fr 1fr; gap: 1.5rem; align-items: start; padding: 2.2rem 0; border-bottom: 1px solid var(--line-light); }
.tier-card > span { color: var(--gold); font-size: .62rem; }
.tier-card h3 { margin: 0; font-family: var(--serif); font-size: 2.1rem; font-weight: 400; }
.tier-card p { margin: 0; color: rgba(255,255,255,.6); }
.promise { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; color: white; background: var(--black); }
.promise h2 { font-family: var(--serif); font-size: clamp(3.3rem, 5vw, 5.7rem); font-weight: 400; }
.promise p { color: rgba(255,255,255,.62); }
.promise-visual { min-height: 500px; background: linear-gradient(rgba(8,8,8,.08), rgba(8,8,8,.08)), url('/assets/gala-2025-accueil.webp') center / cover; border: 1px solid rgba(207,164,84,.45); }
.promise-visual span { display: none; }
.simple-cta { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding: 6rem max(24px, calc((100vw - 1240px) / 2)); color: var(--black); background: var(--gold); }
.simple-cta h2 { max-width: 720px; font-family: var(--serif); font-size: clamp(2.8rem, 4vw, 4.8rem); font-weight: 400; line-height: 1; }
.simple-cta p { max-width: 650px; color: rgba(8,8,8,.68); }
.simple-cta .button-light { color: white; background: var(--black); }

/* Retour sur 2025 — contenu et photos provenant du site Wix existant. */
body[data-page="archive"] .page-hero::after { content: "2025"; }
.archive-story { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; align-items: end; background: var(--ivory); }
.archive-stat strong { display: block; color: var(--gold-dark); font-family: var(--serif); font-size: clamp(5.5rem, 11vw, 11rem); font-weight: 400; line-height: .8; letter-spacing: -.06em; }
.archive-stat span { display: block; max-width: 390px; margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid var(--line); font-size: .72rem; font-weight: 700; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.archive-copy .eyebrow { color: var(--gold-dark); }
.archive-copy h2 { max-width: 740px; font-family: var(--serif); font-size: clamp(3.2rem, 5.2vw, 5.8rem); font-weight: 400; line-height: .96; }
.archive-copy > p:last-child { max-width: 700px; color: var(--muted); }
.archive-impact { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 0; color: white; background: var(--black); }
.archive-impact article { min-height: 330px; padding: 2rem; border-top: 1px solid var(--line-light); border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.archive-impact article:last-child { border-right: 0; }
.archive-impact span { color: var(--gold); font-size: .62rem; }
.archive-impact h2 { margin-top: 6rem; font-family: var(--serif); font-size: 2.4rem; font-weight: 400; }
.archive-impact p { color: rgba(255,255,255,.58); }
.archive-gallery { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 125px; gap: 12px; padding: 12px; background: var(--black); }
.archive-photo { position: relative; margin: 0; overflow: hidden; background: #16130f; }
.archive-photo::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.14); pointer-events: none; }
.archive-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.02); transition: transform 1s var(--ease), filter .5s; }
.archive-photo:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.02); }
.archive-photo-1 { grid-column: span 7; grid-row: span 5; }
.archive-photo-2 { grid-column: span 5; grid-row: span 4; }
.archive-photo-3 { grid-column: span 5; grid-row: span 4; }
.archive-photo-4 { grid-column: span 7; grid-row: span 5; }
.archive-photo-5 { grid-column: span 5; grid-row: span 4; }
.archive-photo-6 { grid-column: span 7; grid-row: span 4; }
.testimonials { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; color: var(--ink); background: var(--ivory-light); }
.testimonial-heading .eyebrow { color: var(--gold-dark); }
.testimonial-heading h2 { max-width: 560px; font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.7rem); font-weight: 400; line-height: .96; }
.testimonial-list { border-top: 1px solid var(--line); }
.testimonial-list blockquote { position: relative; margin: 0; padding: 2.5rem 0 2.5rem 5.5rem; border-bottom: 1px solid var(--line); }
.testimonial-list blockquote > span { position: absolute; top: 1.5rem; left: 0; color: var(--gold-dark); font-family: var(--serif); font-size: 6rem; line-height: 1; }
.testimonial-list blockquote p { margin-bottom: 1rem; font-family: var(--serif); font-size: clamp(1.7rem, 2.6vw, 2.8rem); line-height: 1.2; }
.testimonial-list cite { color: var(--muted); font-size: .62rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.archive-cta { background: var(--gold); }

.role-list { background: var(--ivory); }
.role-item { display: grid; grid-template-columns: .3fr .95fr 1.2fr; gap: 3rem; padding: 2.4rem 0; border-top: 1px solid var(--line); }
.role-item:last-child { border-bottom: 1px solid var(--line); }
.role-item > span { color: var(--gold-dark); font-size: .62rem; }
.role-item h2 { margin: 0; font-family: var(--serif); font-size: 2.2rem; font-weight: 400; }
.role-item p { margin: 0; color: var(--muted); }
.safeguard { display: flex; align-items: end; justify-content: space-between; gap: 5vw; background: var(--gold); }
.safeguard h2 { font-family: var(--serif); font-size: clamp(3.2rem, 5vw, 5.6rem); font-weight: 400; }
.safeguard p { max-width: 720px; }

.faq-list { display: grid; grid-template-columns: .5fr 1.5fr; gap: 8vw; background: var(--ivory-light); }
.faq-intro { position: sticky; top: 130px; align-self: start; }
.faq-intro > span { display: block; color: var(--gold-dark); font-family: var(--serif); font-size: 8rem; line-height: 1; }
.faq-intro p { max-width: 260px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { display: grid; grid-template-columns: 40px 1fr auto; gap: 1rem; align-items: center; padding: 1.6rem 0; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary > span { color: var(--muted); font-size: .6rem; }
.faq-item summary strong { font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.faq-item summary svg { transition: transform .25s; }
.faq-item[open] summary svg { transform: rotate(45deg); }
.faq-item > p { max-width: 720px; margin: 0 3rem 1.5rem 56px; color: var(--muted); }
.mini-contact { display: flex; justify-content: space-between; padding: 3rem max(24px, calc((100vw - 1240px) / 2)); color: white; background: var(--black); }
.mini-contact p { margin: 0; }
.mini-contact a { display: flex; align-items: center; gap: 1rem; color: var(--gold-light); font-family: var(--serif); font-size: 1.4rem; }

.contact-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--ivory-light); }
.contact-card { padding: 2.5rem; color: white; background: var(--black); border-top: 3px solid var(--gold); }
.contact-card > div { display: grid; grid-template-columns: 32px 1fr; gap: .6rem 1rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line-light); }
.contact-card svg { grid-row: 1 / 3; width: 24px; height: 24px; color: var(--gold); }
.contact-card span { font-size: .61rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-card a, .contact-card p { margin: 0; font-family: var(--serif); font-size: 1.5rem; }
.contact-card small { display: block; margin-top: 2rem; color: rgba(255,255,255,.58); line-height: 1.6; }
.contact-paths article { display: grid; grid-template-columns: 44px 1fr; gap: 0 1.3rem; padding: 1.7rem 0; border-top: 1px solid var(--line); }
.contact-paths article > span { grid-row: 1 / 3; color: var(--gold-dark); font-size: .6rem; }
.contact-paths h2 { margin: 0 0 .5rem; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.contact-paths p { margin: 0; color: var(--muted); }

.privacy-layout { display: grid; grid-template-columns: .5fr 1.5fr; gap: 8vw; background: var(--ivory-light); }
.draft-note { position: sticky; top: 120px; align-self: start; display: flex; gap: 1rem; padding: 1.2rem; color: #604710; background: #f6e8bd; border-left: 3px solid var(--gold-dark); font-size: .8rem; line-height: 1.55; }
.privacy-sections article { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 2rem 0; border-top: 1px solid var(--line); }
.privacy-sections article:last-child { border-bottom: 1px solid var(--line); }
.privacy-sections article > span { color: var(--gold-dark); font-size: .62rem; }
.privacy-sections h2 { margin-bottom: .7rem; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.privacy-sections p { margin: 0; color: var(--muted); }

.status-page { display: grid; min-height: 100svh; padding: 130px 24px 80px; place-items: center; color: white; background: var(--black); }
.status-card { width: 100%; min-width: 0; max-width: 780px; text-align: center; }
.status-card h1 { font-family: var(--serif); font-size: clamp(3.2rem, 7vw, 6rem); font-weight: 400; line-height: .96; overflow-wrap: anywhere; }
.status-card > p:not(.eyebrow) { max-width: 620px; margin: 0 auto 2rem; color: rgba(255,255,255,.62); }
.status-icon { display: grid; width: 74px; height: 74px; margin: 0 auto 2rem; place-items: center; border: 1px solid var(--gold); font-family: var(--serif); font-size: 2rem; }
.status-icon.success { color: var(--black); background: var(--gold); }
.status-icon.wait { background: var(--red); }
.status-card code { display: block; width: max-content; margin: 0 auto 2rem; padding: .7rem 1rem; color: var(--black); background: var(--ivory); }
.status-card .button { color: var(--black); background: var(--gold); }
.error-code { display: block; color: var(--gold); font-family: var(--serif); font-size: clamp(6rem, 18vw, 14rem); line-height: .8; }

.site-footer { padding: 6rem max(24px, calc((100vw - 1240px) / 2)) 2rem; color: white; background: #050505; }
.footer-top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 5rem; border-bottom: 1px solid var(--line-light); }
.footer-top .eyebrow { color: var(--gold); }
.footer-top h2 { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 6.5rem); font-weight: 400; line-height: .95; }
.footer-email { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .6rem; color: var(--gold-light); border-bottom: 1px solid var(--gold); font-size: .76rem; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 2rem; padding-top: 2rem; color: rgba(255,255,255,.48); font-size: .66rem; }
.footer-signature { display: flex; align-items: center; gap: 1rem; }
.footer-signature img { width: 54px; padding: 4px; background: white; }
.footer-bottom nav { display: flex; gap: 1.4rem; }
.footer-bottom > p { justify-self: end; margin: 0; }
.mobile-cta { position: fixed; z-index: 90; right: 12px; bottom: 12px; display: none; align-items: center; justify-content: space-between; gap: 1rem; width: calc(100% - 24px); min-height: 56px; padding: 0 1.2rem; color: var(--black); background: var(--gold); border: 1px solid rgba(8,8,8,.18); box-shadow: 0 16px 36px rgba(0,0,0,.25); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease) var(--delay, 0ms), transform .8s var(--ease) var(--delay, 0ms); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes line-in { to { transform: translateY(0); } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-image { from { opacity: 0; transform: scale(1.08); } to { opacity: 1; } }
@keyframes scroll-pulse { 0%, 100% { transform: scaleY(.35); transform-origin: top; opacity: .35; } 50% { transform: scaleY(1); opacity: 1; } }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav, .explore-panel { display: none; }
  .header-actions .button { display: none; }
  .menu-trigger, .mobile-menu { display: block; }
  .hero-copy { width: min(650px, 69vw); }
  .hero-media { left: 28%; }
  .hero-veil { background: linear-gradient(90deg, #080808 0%, rgba(8,8,8,.95) 38%, rgba(8,8,8,.55) 72%, rgba(8,8,8,.24) 100%), linear-gradient(0deg, rgba(8,8,8,.78), transparent 48%); }
  .hero-edition { right: 6vw; }
  .section-heading { grid-template-columns: .5fr 1.5fr; }
  .section-heading > p:last-child { grid-column: 2; }
  .gallery-story { grid-template-columns: 1fr; }
  .gallery-copy { position: static; max-width: 700px; }
  .history-grid, .sponsorship-tiers, .archive-story, .testimonials { grid-template-columns: 1fr; }
  .tier-intro { position: static; max-width: 760px; }
  .principle-grid { grid-template-columns: repeat(2, 1fr); }
  .registration-layout { grid-template-columns: 1fr; }
  .next-steps { position: static; display: grid; grid-template-columns: repeat(2, 1fr); }
  .next-steps > .eyebrow, .next-steps > h2 { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .section-pad { padding: 6rem 16px; }
  .site-header { min-height: 72px; padding: 0 16px; }
  .brand small, .language-switch { display: none; }
  .mobile-menu { padding: 92px 16px 86px; }
  .hero { align-items: end; min-height: 860px; padding: 128px 16px 112px; }
  .hero-media { inset: 72px 0 0; transform: translateY(var(--hero-media-shift, 0)) scale(1.01); }
  .hero-media img { height: calc(100% + 36px); object-position: 55% center; }
  .hero-veil { background: linear-gradient(0deg, rgba(8,8,8,.98) 0%, rgba(8,8,8,.92) 38%, rgba(8,8,8,.48) 70%, rgba(8,8,8,.28) 100%), linear-gradient(90deg, rgba(8,8,8,.55), transparent); }
  .hero-frame { inset: 92px 16px 34px; border-left: 1px solid rgba(207,164,84,.42); }
  .hero-copy { width: 100%; transform: none; }
  .hero-eyebrow { margin-bottom: 1rem; }
  .hero-kicker { font-size: .9rem; }
  .hero-title { max-width: 360px; font-size: clamp(3.5rem, 14vw, 4.8rem); line-height: .91; }
  .hero-body { max-width: 355px; margin: 1.5rem 0 1.7rem; font-size: .89rem; }
  .hero-actions { gap: .55rem; }
  .hero-actions .button { min-height: 49px; padding: 0 1rem; font-size: .6rem; }
  .hero-edition { display: none; }
  .hero-facts { right: 16px; bottom: 48px; left: 16px; justify-content: space-between; gap: .4rem; font-size: .49rem; }
  .hero-facts span + span::before, .scroll-cue { display: none; }
  .section-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .section-heading > p:last-child { grid-column: 1; }
  .section-heading h2 { font-size: 3.3rem; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card, .value-card + .value-card { min-height: 0; padding: 1.8rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .value-card:last-child { border-bottom: 0; }
  .value-card > span { margin-bottom: 3rem; }
  .experience { padding: 6rem 16px; }
  .experience-intro { grid-template-columns: 1fr; gap: 1rem; }
  .experience-intro h2 { font-size: 3.5rem; }
  .experience-card { grid-template-columns: 58px 1fr; gap: 1rem; padding: 1.7rem 0; }
  .experience-card p { grid-column: 2; }
  .gallery-copy, .gallery-stack { min-width: 0; }
  .gallery-copy h2 { font-size: clamp(3rem, 14vw, 3.5rem); }
  .gallery-stack { grid-template-columns: 1fr; min-height: 0; }
  .gallery-a { min-height: 450px; }
  .gallery-b { min-height: 360px; }
  .practical { grid-template-columns: 1fr; gap: 3rem; }
  .practical-copy h2 { font-size: 3.4rem; }
  .practical-list div { grid-template-columns: .65fr 1.35fr; gap: 1rem; }
  .practical-list dd { font-size: 1.24rem; }
  .conversion-bridge { min-height: 610px; }
  .conversion-bridge h2 { font-size: 3.7rem; }
  .page-hero { min-height: 620px; padding: 145px 16px 105px; }
  .page-hero::after { top: 145px; font-size: 13rem; }
  .page-hero h1 { font-size: clamp(3.6rem, 14vw, 5rem); }
  .page-hero-meta { right: 16px; bottom: 24px; left: 16px; flex-wrap: wrap; gap: .6rem 1rem; font-size: .5rem; }
  .page-hero-meta span:last-child { width: 100%; margin-left: 0; }
  .mission, .after-gala, .promise, .contact-main, .privacy-layout, .faq-list { grid-template-columns: 1fr; }
  .mission-mark { min-height: 360px; }
  .history-grid article { min-height: 0; padding: 5rem 16px; }
  .principles .section-heading { grid-template-columns: 1fr; }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: 270px; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .principle-grid article:last-child { border-bottom: 0; }
  .principle-grid h3 { margin-top: 4rem; }
  .after-gala { padding: 6rem 16px; }
  .timeline-item { grid-template-columns: 1fr auto; gap: 1rem; }
  .timeline-item > div { grid-column: 1 / -1; }
  .access-panel, .simple-cta, .safeguard { align-items: flex-start; flex-direction: column; }
  .registration-layout { padding-bottom: 8rem; }
  .registration-form { padding: 1.1rem; }
  .form-heading { display: block; }
  .form-heading .eyebrow { margin-bottom: 1rem; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: 1; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .next-steps { grid-template-columns: 1fr; }
  .ways-grid { grid-template-columns: 1fr; }
  .ways-grid article { min-height: 285px; border-right: 0; }
  .sponsorship-tiers { gap: 3.5rem; }
  .tier-card { grid-template-columns: 42px 1fr; gap: 1rem; }
  .tier-card p { grid-column: 2; }
  .promise-visual { min-height: 360px; }
  .archive-story { gap: 4rem; }
  .archive-impact { grid-template-columns: 1fr; padding-right: 16px; padding-left: 16px; }
  .archive-impact article { min-height: 270px; padding: 1.7rem 0; border-right: 0; }
  .archive-impact h2 { margin-top: 4rem; }
  .archive-gallery { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; padding: 8px; gap: 8px; }
  .archive-photo-1, .archive-photo-2, .archive-photo-3, .archive-photo-4, .archive-photo-5, .archive-photo-6 { grid-column: auto; grid-row: auto; min-height: 330px; }
  .archive-photo-1, .archive-photo-4 { min-height: 430px; }
  .testimonials { gap: 3rem; }
  .testimonial-list blockquote { padding: 2.2rem 0 2.2rem 3.8rem; }
  .testimonial-list blockquote > span { font-size: 4.7rem; }
  .role-item { grid-template-columns: 36px 1fr; gap: 1rem; }
  .role-item p { grid-column: 2; }
  .faq-intro { position: static; display: flex; align-items: center; gap: 1rem; }
  .faq-intro > span { font-size: 5rem; }
  .faq-item summary strong { font-size: 1.2rem; }
  .mini-contact { flex-direction: column; gap: 1rem; }
  .draft-note { position: static; }
  .footer-top { align-items: flex-start; flex-direction: column; }
  .footer-bottom { grid-template-columns: 1fr; align-items: start; }
  .footer-bottom > p { justify-self: start; }
  .mobile-cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-line > span, .hero-eyebrow, .hero-body, .hero-actions, .hero-media { opacity: 1; transform: none; }
  .hero-copy { transform: none; }
}

/* Direction 2026 — contemporain, chaleureux, inspiré des codes éditoriaux du site de référence. */
body { background: var(--black); }
p { line-height: 1.62; }
.section-pad { padding: clamp(6.75rem, 10vw, 10.5rem) max(28px, calc((100vw - 1280px) / 2)); }
.eyebrow { display: flex; align-items: center; gap: .72rem; font-family: var(--mono); font-size: .64rem; font-weight: 500; letter-spacing: .15em; }
.eyebrow i { display: inline-block; flex: 0 0 auto; width: 7px; height: 7px; background: currentColor; border-radius: 50%; }

.site-header { min-height: 78px; grid-template-columns: 1fr auto 1fr; padding: 0 clamp(24px, 4vw, 58px); border-bottom-color: rgba(255,255,255,.16); }
.site-header.header-scrolled { background: rgba(11,10,9,.86); backdrop-filter: blur(22px) saturate(135%); }
.brand { gap: .8rem; }
.brand-word { font-size: 1.28rem; font-weight: 800; letter-spacing: -.06em; }
.brand-detail { padding-left: .8rem; color: rgba(255,255,255,.5); border-left: 1px solid rgba(255,255,255,.25); font-family: var(--mono); font-size: .46rem; letter-spacing: .09em; line-height: 1.45; text-transform: uppercase; }
.brand-mark, .brand > span > strong, .brand > span > small { display: none; }
.desktop-nav { gap: 2rem; }
.desktop-nav a, .explore-trigger { font-size: .67rem; letter-spacing: 0; }
.desktop-nav a::after, .explore-trigger::after { height: 5px; right: auto; bottom: .33rem; left: 50%; width: 5px; border-radius: 50%; transform: scale(0); transform-origin: center; transition: transform .3s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after, .explore-trigger:hover::after { right: auto; transform: scale(1); }
.language-switch { border-radius: 999px; background: rgba(255,255,255,.06); }
.language-switch button { border-radius: 999px; }
.button { min-height: 50px; padding: 0 1.55rem; border-radius: 999px; letter-spacing: 0; text-transform: none; transition: transform .45s cubic-bezier(.34,1.56,.64,1), background .35s, color .35s, border-color .35s; }
.button:hover { transform: translateY(-3px) scale(1.015); }
.button-gold { color: #160e08; background: var(--gold); }
.button-ghost { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); backdrop-filter: blur(12px); }
.explore-panel { top: 78px; border-radius: 0 0 22px 22px; overflow: hidden; }
.explore-panel a { font-family: var(--sans); font-weight: 650; }

.hero { align-items: flex-start; min-height: max(790px, 100svh); padding-top: clamp(150px, 20vh, 205px); padding-bottom: 150px; }
.hero-media { inset: 0; transform: translateY(var(--hero-media-shift, 0)) scale(1.035); }
.hero-media img { height: calc(100% + 70px); object-position: 50% 48%; filter: saturate(.72) contrast(1.06) sepia(.08); }
.hero-veil { background: linear-gradient(90deg, rgba(11,10,9,.91) 0%, rgba(11,10,9,.71) 47%, rgba(11,10,9,.22) 78%), linear-gradient(0deg, rgba(11,10,9,.94) 0%, transparent 48%), linear-gradient(180deg, rgba(11,10,9,.36), transparent 34%); }
.hero-frame { display: none; }
.hero-copy { width: min(800px, 68vw); }
.hero-eyebrow { margin-bottom: 1.7rem; color: #fff; }
.hero-eyebrow::before { content: ""; width: 7px; height: 7px; background: var(--gold); border-radius: 50%; }
.hero h1 { font-family: var(--sans); letter-spacing: -.055em; }
.hero-kicker { margin-bottom: .35rem; font-size: clamp(1rem, 1.6vw, 1.35rem); font-weight: 600; letter-spacing: -.02em; }
.hero-title { max-width: 830px; font-size: clamp(4rem, 7.1vw, 7.2rem); font-weight: 750; line-height: .91; }
.hero-body { max-width: 590px; margin-top: 1.6rem; color: rgba(255,255,255,.75); }
.hero-actions { gap: .55rem; }
.hero-edition { top: 45%; right: clamp(32px, 4.5vw, 72px); bottom: auto; width: 180px; padding: 0; border: 0; }
.hero-edition span { font-family: var(--mono); }
.hero-edition strong { padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.3); font-family: var(--sans); font-size: 1rem; }
.hero-facts { z-index: 3; bottom: 26px; font-family: var(--mono); }
.hero-display-word { position: absolute; z-index: 1; right: -1vw; bottom: -3.7vw; left: -1vw; color: rgba(255,255,255,.93); font-size: clamp(8rem, 18.3vw, 19rem); font-weight: 800; letter-spacing: -.095em; line-height: .75; white-space: nowrap; transform: translateY(var(--hero-word-shift, 0)); pointer-events: none; }
.hero-display-word span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.42); }
.scroll-cue { display: none; }

.why { position: relative; display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(3rem, 8vw, 8rem); background: var(--ivory); overflow: hidden; }
.why::after { content: ""; position: absolute; right: -14vw; top: 28%; width: 36vw; height: 36vw; border: 1px solid rgba(17,16,14,.05); border-radius: 28%; transform: rotate(45deg); pointer-events: none; }
.why .section-heading { display: block; margin: 0; }
.why .section-heading h2 { margin: 0 0 2rem; font-size: clamp(3.2rem, 5.1vw, 5.8rem); font-weight: 750; line-height: .93; }
.why .section-heading > p:last-child { max-width: 500px; font-size: 1.02rem; }
.why-collage { position: relative; min-height: 640px; }
.why-photo { position: absolute; margin: 0; overflow: hidden; border-radius: 24px; box-shadow: 0 28px 70px rgba(26,18,10,.16); transform: translate(var(--parallax-x,0),var(--parallax-y,0)); transition: transform .8s var(--ease); }
.why-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.why-photo:hover img { transform: scale(1.04); }
.why-photo-main { inset: 0 18% 10% 0; }
.why-photo-small { right: 0; bottom: 0; width: 39%; height: 42%; border: 8px solid var(--ivory); }
.why-year { position: absolute; z-index: 0; right: -2%; top: 4%; color: rgba(17,16,14,.045); font-size: clamp(8rem, 15vw, 14rem); font-weight: 800; letter-spacing: -.08em; }
.value-grid { grid-column: 1 / -1; margin-top: 1rem; }
.value-card { min-height: 250px; padding-top: 1.6rem; }
.value-card > span { margin-bottom: 4.5rem; font-family: var(--mono); }
.value-card h3 { font-size: 1.75rem; font-weight: 700; line-height: 1.05; }

.experience { padding-top: clamp(7rem, 10vw, 10rem); padding-bottom: clamp(7rem, 10vw, 10rem); }
.experience-intro { grid-template-columns: .48fr 1.52fr; align-items: start; }
.experience-intro h2 { max-width: 820px; font-size: clamp(3.5rem, 6.1vw, 6.6rem); font-weight: 750; }
.experience-card { grid-template-columns: 145px 1.1fr 1fr auto; align-items: center; min-height: 126px; padding: 1.6rem 0; transition: padding .45s var(--ease), color .3s; }
.experience-card::after { content: "↗"; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transition: transform .45s var(--ease), background .3s; }
.experience-card:hover { padding-right: .7rem; padding-left: .7rem; }
.experience-card:hover::after { color: var(--black); background: var(--gold); transform: rotate(45deg); }
.experience-card > div { font-family: var(--mono); }
.experience-card h3 { font-size: clamp(1.55rem, 2.3vw, 2.4rem); font-weight: 700; }

.gallery-story { grid-template-columns: .63fr 1.37fr; background: var(--ivory-light); }
.gallery-copy h2 { font-size: clamp(3rem, 4.8vw, 5.35rem); font-weight: 750; }
.gallery-stack { grid-template-columns: 1.26fr .74fr; grid-template-rows: 1fr .72fr; min-height: 790px; gap: 14px; }
.gallery-stack figure { min-height: 0; border-radius: 22px; }
.gallery-stack figure::after { border: 0; }
.gallery-a { grid-row: 1 / 3; min-height: 0; }
.gallery-b, .gallery-c { min-height: 0; }

.practical { grid-template-columns: .72fr 1.28fr; color: var(--ink); background: var(--ivory); }
.practical-copy h2 { font-size: clamp(3.2rem, 5.3vw, 5.8rem); font-weight: 750; }
.practical-list { border-color: var(--line); }
.practical-list div { position: relative; min-height: 105px; align-items: center; border-color: var(--line); transition: padding .4s var(--ease), background .3s; }
.practical-list div::after { content: "↗"; position: absolute; right: .5rem; opacity: .45; transition: transform .4s var(--ease); }
.practical-list div:hover { padding-right: 1rem; padding-left: 1rem; background: rgba(216,137,73,.1); }
.practical-list div:hover::after { transform: rotate(45deg); }
.practical-list dt { color: var(--gold-dark); font-family: var(--mono); }
.practical-list dd { padding-right: 2rem; font-size: 1.35rem; font-weight: 650; }

.conversion-bridge { min-height: min(900px, 92svh); background: linear-gradient(0deg, rgba(11,10,9,.72), rgba(11,10,9,.42)), url('/assets/gala-2025-liens-03.jpg') center 42% / cover; }
.conversion-bridge::before { content: "GALA 2026"; right: -1vw; bottom: -2.5vw; color: rgba(255,255,255,.95); font-size: clamp(7rem, 16vw, 17rem); font-weight: 800; line-height: .75; white-space: nowrap; -webkit-text-stroke: 0; }
.conversion-bridge::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(11,10,9,.94)); }
.conversion-bridge > div:last-child { z-index: 2; max-width: 980px; }
.conversion-bridge h2 { font-size: clamp(3.5rem, 6.1vw, 6.6rem); font-weight: 750; }
.conversion-bridge .button-light { background: var(--gold); }

.page-hero { min-height: 660px; background: radial-gradient(circle at 78% 25%, rgba(216,137,73,.25), transparent 25%), var(--black); }
.page-hero::after { color: rgba(255,255,255,.055); font-size: clamp(10rem, 23vw, 24rem); font-weight: 800; letter-spacing: -.09em; -webkit-text-stroke: 0; }
.page-hero h1 { font-size: clamp(3.9rem, 7.1vw, 7.5rem); font-weight: 750; }
.page-hero-meta, .timeline-item > time, .timeline-dot, .archive-impact span, .tier-card > span, .role-item > span, .privacy-sections article > span { font-family: var(--mono); }
.mission-mark, .promise-visual, .note-card, .contact-card, .registration-form, .next-steps, .archive-photo, .testimonial-list blockquote, .tier-card { border-radius: 22px; }
.mission-copy h2, .history-grid h2, .principles h2, .after-gala h2, .timeline-item h2, .access-panel h2, .form-heading h2, .next-steps h2, .ways-grid h2, .tier-intro h2, .promise h2, .archive-copy h2, .archive-impact h2, .testimonial-heading h2, .testimonial-list blockquote p, .role-item h2, .safeguard h2, .faq-item summary strong, .contact-card a, .contact-card p, .contact-paths h2, .privacy-sections h2, .site-footer h2, .status-card h1 { font-family: var(--sans); font-weight: 700; }
.history-grid article, .principle-grid article, .ways-grid article, .archive-impact article { transition: background .35s, transform .45s var(--ease); }
.history-grid article:hover, .principle-grid article:hover, .ways-grid article:hover, .archive-impact article:hover { background: rgba(216,137,73,.1); }
.timeline-item { min-height: 140px; align-items: center; transition: padding .4s var(--ease), background .3s; }
.timeline-item:hover { padding-right: 1rem; padding-left: 1rem; background: rgba(216,137,73,.08); }
.archive-photo { overflow: hidden; }
.archive-gallery { gap: 14px; padding: 14px; }
.simple-cta { background: var(--gold); }
.faq-item summary strong { font-size: 1.25rem; }
.site-footer { padding-top: 7rem; }
.footer-top h2 { font-size: clamp(3.1rem, 5.7vw, 6rem); font-weight: 750; }
.footer-email { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 1rem 1.35rem; }

.reveal { opacity: 0; filter: blur(5px); transform: translateY(34px); transition: opacity .9s var(--ease) var(--delay,0ms), transform .9s var(--ease) var(--delay,0ms), filter .9s var(--ease) var(--delay,0ms); }
.reveal.is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }

@media (max-width: 1100px) {
  .hero-copy { width: min(730px, 74vw); }
  .hero-edition { display: none; }
  .why { grid-template-columns: 1fr; }
  .why .section-heading { max-width: 820px; }
  .why-collage { min-height: 620px; }
  .experience-card { grid-template-columns: 110px 1fr 1fr auto; }
}

@media (max-width: 760px) {
  .section-pad { padding: 6.4rem 18px; }
  .site-header { min-height: 72px; padding: 0 16px; }
  .brand-word { font-size: 1.15rem; }
  .brand-detail { font-size: .4rem; }
  .hero { align-items: flex-start; min-height: 840px; padding: 125px 18px 118px; }
  .hero-media { inset: 0; }
  .hero-media img { object-position: 61% center; }
  .hero-veil { background: linear-gradient(0deg, rgba(11,10,9,.97) 4%, rgba(11,10,9,.74) 54%, rgba(11,10,9,.28) 100%), linear-gradient(90deg, rgba(11,10,9,.58), transparent); }
  .hero-copy { width: 100%; }
  .hero-title { max-width: 354px; font-size: clamp(3.2rem, 13.8vw, 4.4rem); line-height: .91; }
  .hero-body { max-width: 350px; font-size: .88rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .button { min-height: 48px; padding: 0 .85rem; font-size: .68rem; }
  .hero-display-word { bottom: -1.5vw; font-size: 24vw; }
  .hero-facts { bottom: 46px; font-size: .46rem; }
  .why .section-heading h2 { font-size: clamp(3rem, 13vw, 4rem); }
  .why-collage { min-height: 460px; }
  .why-photo-main { inset: 0 12% 8% 0; }
  .why-photo-small { width: 42%; height: 39%; border-width: 5px; }
  .value-grid { margin-top: 0; }
  .value-card > span { margin-bottom: 2rem; }
  .experience-intro h2 { font-size: clamp(3.1rem, 13vw, 4.2rem); }
  .experience-card { grid-template-columns: 56px 1fr auto; gap: 1rem; }
  .experience-card p { grid-column: 2 / 4; }
  .experience-card::after { width: 34px; height: 34px; }
  .gallery-story { gap: 4rem; }
  .gallery-stack { grid-template-columns: 1fr 1fr; grid-template-rows: 440px 260px; min-height: 0; }
  .gallery-a { grid-column: 1 / 3; grid-row: 1; }
  .gallery-b, .gallery-c { grid-row: 2; }
  .practical { gap: 3.5rem; }
  .practical-list div { grid-template-columns: .55fr 1.45fr; }
  .conversion-bridge { min-height: 700px; padding-right: 18px; padding-left: 18px; }
  .conversion-bridge h2 { font-size: clamp(3.15rem, 13vw, 4.4rem); }
  .page-hero { min-height: 610px; }
  .page-hero h1 { font-size: clamp(3.45rem, 14vw, 4.8rem); }
  .archive-gallery { gap: 8px; padding: 8px; }
  .mission-mark, .promise-visual, .note-card, .contact-card, .registration-form, .next-steps, .archive-photo { border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-display-word, .why-photo { transform: none !important; }
  .reveal { opacity: 1; filter: none; transform: none; }
}

/* Audit UX/UI/CRO — profondeur de contenu et parcours de conversion. */
.button-outline { color: var(--ink); border-color: rgba(17,16,14,.26); }
.button-outline:hover { color: white; background: var(--ink); border-color: var(--ink); }

.resources-section { color: var(--ink); background: var(--gold); }
.resources-heading { display: grid; grid-template-columns: .48fr 1.25fr .72fr; gap: clamp(2rem,5vw,5rem); align-items: start; margin-bottom: clamp(3.5rem,6vw,6rem); }
.resources-heading h2 { max-width: 760px; margin: 0; font-size: clamp(3.4rem,5.8vw,6.2rem); font-weight: 750; letter-spacing: -.055em; line-height: .92; }
.resources-heading > p:last-child { margin: 0; color: rgba(17,16,14,.68); }
.resource-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(17,16,14,.26); border-left: 1px solid rgba(17,16,14,.26); }
.resource-card { position: relative; min-height: 280px; padding: 1.6rem; border-right: 1px solid rgba(17,16,14,.26); border-bottom: 1px solid rgba(17,16,14,.26); overflow: hidden; transition: color .35s, background .35s; }
.resource-card::after { content: ""; position: absolute; right: 1.5rem; bottom: 1.45rem; width: 10px; height: 10px; background: currentColor; border-radius: 50%; opacity: .45; }
.resource-card > span { display: block; margin-bottom: 5rem; font-family: var(--mono); font-size: .58rem; }
.resource-card h3 { max-width: 220px; margin-bottom: .8rem; font-size: 1.5rem; line-height: 1.05; }
.resource-card p { max-width: 290px; margin: 0; font-size: .81rem; }
.resource-card:nth-child(n+5) { grid-column: span 1; }

.proof-story { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(3rem,7vw,7rem); align-items: center; color: var(--ink); background: #e8ddcd; }
.proof-image { height: 720px; overflow: hidden; border-radius: 24px; box-shadow: 0 32px 80px rgba(35,24,15,.15); }
.proof-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.proof-image:hover img { transform: scale(1.035); }
.proof-content h2 { max-width: 680px; margin-bottom: 1.5rem; font-size: clamp(3.25rem,5vw,5.45rem); font-weight: 750; letter-spacing: -.055em; line-height: .93; }
.proof-content > p:not(.eyebrow) { max-width: 650px; color: var(--muted); }
.proof-stats { display: grid; grid-template-columns: repeat(3,1fr); margin: 2.6rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof-stats div { padding: 1.25rem 1rem 1.25rem 0; }
.proof-stats div + div { padding-left: 1rem; border-left: 1px solid var(--line); }
.proof-stats strong { display: block; font-size: clamp(1.8rem,2.8vw,3rem); letter-spacing: -.055em; }
.proof-stats span { display: block; margin-top: .4rem; color: var(--muted); font-size: .62rem; line-height: 1.45; }
.proof-content blockquote { margin: 0; padding: 1.6rem 0 0 2.3rem; border-top: 1px solid var(--line); }
.proof-content blockquote p { margin-bottom: .75rem; font-size: clamp(1.2rem,1.8vw,1.65rem); font-weight: 600; line-height: 1.35; }
.proof-content blockquote cite { color: var(--gold-dark); font-family: var(--mono); font-size: .62rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }

.people-section { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem,7vw,7rem); align-items: center; color: white; background: var(--black); }
.people-portrait { height: 650px; overflow: hidden; border-radius: 24px; }
.people-portrait img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.people-copy h2 { max-width: 700px; margin-bottom: 1.5rem; font-size: clamp(3.4rem,5.4vw,5.9rem); font-weight: 750; letter-spacing: -.055em; line-height: .92; }
.people-copy > p:not(.eyebrow) { max-width: 660px; color: rgba(255,255,255,.64); }
.people-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.people-actions .button-outline { color: white; border-color: rgba(255,255,255,.28); }
.people-actions .button-outline:hover { color: var(--ink); background: white; }
.partner-ribbon { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 2rem; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.partner-ribbon > div { display: grid; min-height: 170px; padding: 2.4rem; place-items: center; background: #f5f1e8; border-right: 1px solid rgba(17,16,14,.13); }
.partner-ribbon img { max-width: 210px; max-height: 86px; object-fit: contain; }
.partner-ribbon > div:last-child img { max-width: 115px; max-height: 100px; }

.home-faq { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(3rem,8vw,8rem); color: var(--ink); background: var(--ivory-light); }
.home-faq-heading { position: sticky; top: 125px; align-self: start; }
.home-faq-heading h2 { max-width: 570px; font-size: clamp(3.2rem,5vw,5.5rem); font-weight: 750; letter-spacing: -.055em; line-height: .93; }

.global-conversion { display: flex; align-items: end; justify-content: space-between; gap: 3rem; padding: clamp(5.5rem,8vw,8rem) max(28px,calc((100vw - 1280px)/2)); color: white; background: linear-gradient(120deg,#15110d,#0b0a09 68%); border-bottom: 1px solid var(--line-light); }
.global-conversion h2 { max-width: 720px; margin-bottom: 1rem; font-size: clamp(2.8rem,4.4vw,4.8rem); font-weight: 750; letter-spacing: -.05em; line-height: .95; }
.global-conversion p:not(.eyebrow) { max-width: 620px; margin: 0; color: rgba(255,255,255,.58); }
.global-conversion-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }

.founder-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); align-items: center; background: #e8ddcd; }
.founder-photo { height: 630px; overflow: hidden; border-radius: 24px; }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; }
.founder-copy h2 { margin-bottom: .55rem; font-size: clamp(3.8rem,6vw,6.5rem); font-weight: 750; letter-spacing: -.06em; }
.founder-copy > strong { display: block; margin-bottom: 1.6rem; color: var(--gold-dark); font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.founder-copy > p:last-child { max-width: 690px; color: var(--muted); font-size: 1.05rem; }
.ecosystem { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7vw; color: white; background: var(--black); }
.ecosystem-copy h2 { font-size: clamp(3.1rem,4.8vw,5.2rem); font-weight: 750; letter-spacing: -.05em; line-height: .95; }
.ecosystem-copy > p:last-child { color: rgba(255,255,255,.58); }
.ecosystem-logos, .network-logos { display: grid; grid-template-columns: repeat(3,1fr); align-self: center; background: #f5f1e8; border-radius: 22px; overflow: hidden; }
.ecosystem-logos > div, .network-logos > div { display: grid; min-height: 190px; padding: 2rem; place-items: center; border-right: 1px solid rgba(17,16,14,.13); }
.ecosystem-logos > div:last-child, .network-logos > div:last-child { border-right: 0; }
.ecosystem-logos img, .network-logos img { max-width: 175px; max-height: 82px; object-fit: contain; }
.ecosystem-logos > div:last-child img, .network-logos > div:last-child img { max-width: 105px; max-height: 90px; }

.registration-opening { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; margin-bottom: 1rem; padding: 1.4rem 1.6rem; color: var(--ink); background: var(--gold); border-radius: 20px; }
.registration-opening > span { font-size: 1.6rem; font-weight: 800; letter-spacing: -.05em; }
.registration-opening strong { display: block; margin-bottom: .35rem; font-size: 1rem; }
.registration-opening p { margin: 0; color: rgba(17,16,14,.68); font-size: .8rem; }
.form-options { margin-top: 1.4rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.form-options summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; cursor: pointer; list-style: none; }
.form-options summary::-webkit-details-marker { display: none; }
.form-options summary strong, .form-options summary small { display: block; }
.form-options summary strong { margin-bottom: .35rem; }
.form-options summary small { color: var(--muted); line-height: 1.45; }
.form-options summary svg { flex: 0 0 auto; font-size: 1.35rem; transition: transform .35s var(--ease); }
.form-options[open] summary svg { transform: rotate(45deg); }
.optional-grid { padding: .4rem 0 1.5rem; }
.form-reassurance { display: flex; gap: .7rem; margin: 1.4rem 0 0; color: var(--muted); font-size: .76rem; }
.form-reassurance svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--gold-dark); }

.partner-network { display: grid; grid-template-columns: .74fr 1.26fr; gap: 7vw; align-items: center; color: var(--ink); background: #e8ddcd; }
.network-copy h2 { font-size: clamp(3.1rem,4.8vw,5.2rem); font-weight: 750; letter-spacing: -.05em; line-height: .95; }
.network-copy > p:last-child { color: var(--muted); }
.tier-card > div:nth-child(2) strong { display: block; margin-top: .55rem; color: var(--gold); font-size: 1.35rem; }
.tier-card > div:last-child > p { margin-bottom: 1rem; }
.tier-card ul { display: grid; gap: .6rem; margin: 0 0 1.3rem; padding: 0; list-style: none; color: rgba(255,255,255,.62); font-size: .78rem; }
.tier-card li { display: flex; gap: .6rem; }
.tier-card li svg { flex: 0 0 auto; margin-top: .2rem; color: var(--gold); }
.tier-card > div:last-child > a { display: inline-flex; align-items: center; gap: .7rem; color: var(--gold-light); font-size: .68rem; font-weight: 700; }

.archive-photo-7 { grid-column: span 5; grid-row: span 4; }
.archive-photo-8 { grid-column: span 7; grid-row: span 4; }
.contact-paths article { position: relative; }
.contact-paths article > a { grid-column: 2; display: inline-flex; align-items: center; gap: .7rem; width: max-content; margin-top: 1rem; color: var(--gold-dark); font-size: .66rem; font-weight: 700; text-transform: uppercase; }

body[data-page="about"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.42)),url('/assets/gala-2025-scene-05.jpg') center 42%/cover; }
body[data-page="program"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.42)),url('/assets/gala-2025-ceremonie.webp') center 42%/cover; }
body[data-page="archive"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.36)),url('/assets/gala-2025-collage.webp') center/cover; }
body[data-page="register"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.45)),url('/assets/gala-2025-rencontre.webp') center 42%/cover; }
body[data-page="partners"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.42)),url('/assets/gala-2025-scene-06.jpg') center 46%/cover; }
body[data-page="volunteer"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.42)),url('/assets/gala-2025-liens-03.jpg') center 44%/cover; }
body[data-page="contact"] .page-hero { background: linear-gradient(90deg,rgba(11,10,9,.95),rgba(11,10,9,.45)),url('/assets/gala-2025-liens-01.jpg') center 36%/cover; }

@media (max-width: 1100px) {
  .resources-heading { grid-template-columns: .4fr 1.6fr; }
  .resources-heading > p:last-child { grid-column: 2; }
  .resource-grid { grid-template-columns: repeat(2,1fr); }
  .proof-story, .people-section, .founder-section, .ecosystem, .partner-network { grid-template-columns: 1fr; }
  .proof-image, .people-portrait, .founder-photo { height: 620px; }
  .people-copy, .founder-copy, .network-copy, .ecosystem-copy { max-width: 820px; }
  .home-faq { grid-template-columns: 1fr; }
  .home-faq-heading { position: static; }
  .global-conversion { align-items: flex-start; flex-direction: column; }
  .global-conversion-actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  body { padding-bottom: 74px; }
  .resources-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .resources-heading > p:last-child { grid-column: 1; }
  .resources-heading h2 { font-size: clamp(3rem,13vw,4.1rem); }
  .resource-grid { grid-template-columns: 1fr; border-left: 0; }
  .resource-card { min-height: 230px; padding: 1.4rem 0; border-right: 0; }
  .resource-card > span { margin-bottom: 3rem; }
  .proof-story { gap: 3.5rem; }
  .proof-image, .people-portrait, .founder-photo { height: 470px; border-radius: 18px; }
  .proof-content h2, .people-copy h2, .founder-copy h2, .network-copy h2, .ecosystem-copy h2, .home-faq-heading h2 { font-size: clamp(3rem,12.5vw,4rem); }
  .proof-stats { grid-template-columns: 1fr; }
  .proof-stats div, .proof-stats div + div { padding: 1rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .proof-stats div:last-child { border-bottom: 0; }
  .partner-ribbon, .ecosystem-logos, .network-logos { grid-template-columns: 1fr; }
  .partner-ribbon > div, .ecosystem-logos > div, .network-logos > div { min-height: 140px; border-right: 0; border-bottom: 1px solid rgba(17,16,14,.13); }
  .partner-ribbon > div:last-child, .ecosystem-logos > div:last-child, .network-logos > div:last-child { border-bottom: 0; }
  .people-actions { align-items: stretch; flex-direction: column; }
  .people-actions .button { width: 100%; }
  .home-faq { gap: 2.5rem; }
  .global-conversion { padding: 5.5rem 18px; }
  .global-conversion-actions { width: 100%; }
  .global-conversion-actions .button { flex: 1; }
  .registration-opening { grid-template-columns: 1fr; }
  .tier-card { grid-template-columns: 38px 1fr; }
  .tier-card > div:last-child { grid-column: 2; }
  .archive-photo-7, .archive-photo-8 { grid-column: auto; grid-row: auto; min-height: 360px; }
  .mobile-cta { display: flex; bottom: max(10px,env(safe-area-inset-bottom)); width: calc(100% - 24px); min-height: 62px; padding: .65rem 1.2rem; border: 0; border-radius: 999px; box-shadow: 0 14px 45px rgba(0,0,0,.32); text-transform: none; }
  .mobile-cta > span { display: grid; gap: .08rem; font-size: .72rem; }
  .mobile-cta small { font-family: var(--mono); font-size: .47rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
  .site-footer { padding-bottom: 7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .resource-card, .proof-image img, .form-options summary svg { transition: none !important; }
}

/* Passe éditoriale — profondeur visuelle des pages secondaires. */
.program-moments,
.registration-trust,
.partner-impact,
.volunteer-story,
.faq-support,
.contact-guide { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,7vw,7rem); align-items: center; }

.program-moments { color: white; background: var(--black); }
.program-mosaic { position: relative; height: 760px; }
.program-mosaic figure { position: absolute; overflow: hidden; margin: 0; border-radius: 24px; }
.program-photo-main { inset: 0 13% 12% 0; }
.program-photo-small { right: 0; bottom: 0; width: 48%; height: 42%; border: 10px solid var(--black); }
.program-mosaic img,
.registration-trust-photo img,
.partner-impact-photo img,
.volunteer-photo img,
.faq-support-photo img,
.contact-guide-photo img { width: 100%; height: 100%; object-fit: cover; }
.program-moments-copy h2,
.registration-trust-copy h2,
.partner-impact-copy h2,
.volunteer-story-copy h2,
.faq-support-copy h2,
.contact-guide-copy h2,
.privacy-promise-copy h2,
.role-heading h2 { margin-bottom: 1.4rem; font-size: clamp(3.2rem,5vw,5.6rem); font-weight: 750; letter-spacing: -.055em; line-height: .93; }
.program-moments-copy > p:not(.eyebrow),
.faq-support-copy > p:not(.eyebrow) { color: rgba(255,255,255,.62); }
.program-moments-copy > small { display: block; margin-top: 1.5rem; color: rgba(255,255,255,.38); font-family: var(--mono); font-size: .56rem; line-height: 1.6; text-transform: uppercase; }

.outcome-list,
.trust-list,
.impact-list,
.volunteer-journey { margin-top: 2.4rem; border-top: 1px solid currentColor; }
.outcome-list { border-color: var(--line-light); }
.outcome-list article,
.trust-list article,
.impact-list article,
.volunteer-journey article { display: grid; grid-template-columns: 42px 1fr; gap: 1.2rem; padding: 1.25rem 0; border-bottom: 1px solid currentColor; }
.outcome-list article { border-color: var(--line-light); }
.outcome-list span,
.trust-list span,
.impact-list span,
.volunteer-journey span { padding-top: .2rem; color: var(--gold-dark); font-family: var(--mono); font-size: .58rem; }
.outcome-list h3,
.trust-list h3,
.impact-list h3,
.volunteer-journey h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.outcome-list p,
.trust-list p,
.impact-list p,
.volunteer-journey p { margin: 0; font-size: .8rem; line-height: 1.6; }
.outcome-list p { color: rgba(255,255,255,.56); }

.registration-trust { color: var(--ink); background: var(--gold); }
.registration-trust-photo,
.partner-impact-photo,
.volunteer-photo,
.faq-support-photo,
.contact-guide-photo { height: 690px; overflow: hidden; border-radius: 24px; box-shadow: 0 30px 80px rgba(25,18,12,.14); }
.registration-trust-photo img { object-position: center 32%; }
.registration-trust-copy > p:not(.eyebrow),
.partner-impact-copy > p:not(.eyebrow),
.volunteer-story-copy > p:not(.eyebrow),
.contact-guide-copy > p:not(.eyebrow),
.privacy-promise-copy > p:not(.eyebrow) { color: rgba(17,16,14,.68); }
.trust-list,
.impact-list,
.volunteer-journey { border-color: rgba(17,16,14,.24); }
.trust-list article,
.impact-list article,
.volunteer-journey article { border-color: rgba(17,16,14,.18); }
.trust-list p,
.impact-list p,
.volunteer-journey p { color: rgba(17,16,14,.64); }

.partner-impact { background: var(--ivory-light); }
.partner-impact-photo img { object-position: 18% center; }
.partner-impact-copy h2 { max-width: 720px; }

.volunteer-story { background: #e8ddcd; }
.volunteer-photo img { object-position: center 30%; filter: saturate(.8); }
.volunteer-story-copy h2 { max-width: 720px; }
.role-heading { display: grid; grid-template-columns: .5fr 1.5fr; gap: 4rem; align-items: start; margin-bottom: clamp(3rem,6vw,6rem); }
.role-heading h2 { max-width: 800px; margin: 0; }

.faq-support { color: white; background: var(--black); }
.faq-support-photo { height: 620px; box-shadow: none; }
.faq-support-photo img { object-position: center 35%; }
.faq-support-copy { max-width: 690px; }
.faq-support-copy .button { margin-top: 1rem; }

.contact-guide { background: #e8ddcd; }
.contact-guide-photo { height: 640px; }
.contact-guide-photo img { object-position: 58% center; }
.contact-guide-copy { max-width: 700px; }
.contact-steps { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 2.5rem; border-top: 1px solid rgba(17,16,14,.22); border-left: 1px solid rgba(17,16,14,.22); }
.contact-steps div { min-height: 150px; padding: 1.2rem; border-right: 1px solid rgba(17,16,14,.22); border-bottom: 1px solid rgba(17,16,14,.22); }
.contact-steps span { display: block; margin-bottom: 3rem; color: var(--gold-dark); font-family: var(--mono); font-size: .58rem; }
.contact-steps strong { display: block; font-size: .9rem; line-height: 1.35; }

.privacy-promise { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); align-items: start; color: var(--ink); background: var(--gold); }
.privacy-promise-copy { position: sticky; top: 125px; }
.privacy-principles { display: grid; border-top: 1px solid rgba(17,16,14,.28); }
.privacy-principles article { display: grid; grid-template-columns: 52px .7fr 1.3fr; gap: 1.5rem; align-items: start; padding: 1.8rem 0; border-bottom: 1px solid rgba(17,16,14,.28); }
.privacy-principles span { color: rgba(17,16,14,.58); font-family: var(--mono); font-size: .58rem; }
.privacy-principles h3 { margin: 0; font-size: 1.35rem; }
.privacy-principles p { margin: 0; color: rgba(17,16,14,.66); font-size: .82rem; }

@media (max-width: 1100px) {
  .program-moments,
  .registration-trust,
  .partner-impact,
  .volunteer-story,
  .faq-support,
  .contact-guide,
  .privacy-promise { grid-template-columns: 1fr; }
  .program-mosaic,
  .registration-trust-photo,
  .partner-impact-photo,
  .volunteer-photo,
  .faq-support-photo,
  .contact-guide-photo { height: 620px; }
  .program-moments-copy,
  .registration-trust-copy,
  .partner-impact-copy,
  .volunteer-story-copy,
  .faq-support-copy,
  .contact-guide-copy,
  .privacy-promise-copy { max-width: 850px; }
  .privacy-promise-copy { position: static; }
}

@media (max-width: 760px) {
  .program-moments,
  .registration-trust,
  .partner-impact,
  .volunteer-story,
  .faq-support,
  .contact-guide { gap: 3.4rem; }
  .program-mosaic,
  .registration-trust-photo,
  .partner-impact-photo,
  .volunteer-photo,
  .faq-support-photo,
  .contact-guide-photo { height: 450px; border-radius: 18px; }
  .program-photo-main { inset: 0 9% 13% 0; }
  .program-photo-small { width: 52%; height: 40%; border-width: 7px; }
  .program-moments-copy h2,
  .registration-trust-copy h2,
  .partner-impact-copy h2,
  .volunteer-story-copy h2,
  .faq-support-copy h2,
  .contact-guide-copy h2,
  .privacy-promise-copy h2,
  .role-heading h2 { font-size: clamp(3rem,12.5vw,4rem); }
  .role-heading { grid-template-columns: 1fr; gap: 1.2rem; margin-bottom: 3.5rem; }
  .contact-steps { grid-template-columns: 1fr; border-left: 0; }
  .contact-steps div { min-height: 100px; padding: 1.2rem 0; border-right: 0; }
  .contact-steps span { margin-bottom: 1.8rem; }
  .privacy-principles article { grid-template-columns: 34px 1fr; }
  .privacy-principles article p { grid-column: 2; }
}

/* Finition premium — informations du hero, mouvement éditorial et formulaires contextuels. */
.post-hero-rail { position: relative; z-index: 4; color: var(--ink); background: #f4efe6; border-bottom: 1px solid rgba(17,16,14,.12); }
.hero-keyfacts { display: grid; grid-template-columns: repeat(3,1fr); max-width: 1280px; margin: 0 auto; border-right: 1px solid rgba(17,16,14,.12); border-left: 1px solid rgba(17,16,14,.12); }
.hero-keyfacts > div { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; min-height: 142px; padding: 2rem clamp(1.5rem,3vw,2.75rem); align-content: center; border-right: 1px solid rgba(17,16,14,.12); }
.hero-keyfacts > div:last-child { border-right: 0; }
.hero-keyfacts span { grid-row: 1 / 3; padding-top: .12rem; color: var(--gold-dark); font-family: var(--mono); font-size: .58rem; }
.hero-keyfacts small { color: var(--muted); font-family: var(--mono); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-keyfacts strong { font-size: clamp(1.05rem,1.8vw,1.55rem); letter-spacing: -.03em; }
.network-marquee { display: grid; grid-template-columns: minmax(220px,.42fr) 1.58fr; align-items: center; min-height: 128px; color: white; background: var(--black); overflow: hidden; }
.network-marquee > p { margin: 0; padding: 0 clamp(1.5rem,4vw,4rem); color: rgba(255,255,255,.58); font-family: var(--mono); font-size: .56rem; letter-spacing: .1em; line-height: 1.55; text-transform: uppercase; }
.network-marquee-window { min-width: 0; border-left: 1px solid rgba(255,255,255,.12); overflow: hidden; }
.network-marquee-track { display: flex; width: max-content; animation: network-drift 24s linear infinite; }
.network-marquee-set { display: flex; align-items: center; gap: clamp(3.5rem,7vw,7rem); min-width: max-content; padding: 1.35rem clamp(2.5rem,5vw,5rem); }
.network-marquee img { width: auto; max-width: 150px; height: 58px; padding: .4rem .7rem; object-fit: contain; background: white; border-radius: 8px; filter: grayscale(1); transition: filter .35s, transform .35s; }
.network-marquee img:first-child { height: 68px; }
.network-marquee img:last-child { max-width: 88px; }
.network-marquee:hover img { filter: grayscale(0); }
@keyframes network-drift { to { transform: translateX(-50%); } }

.resources-section { position: relative; color: var(--ink); background: radial-gradient(circle at 86% 14%,rgba(183,126,76,.17),transparent 24%),linear-gradient(135deg,#f7f3eb,#e8dfd1); overflow: hidden; }
.resources-heading, .resource-grid, .resource-marquee { position: relative; z-index: 2; }
.resource-orbit { position: absolute; top: clamp(70px,9vw,150px); right: -80px; width: clamp(250px,35vw,520px); aspect-ratio: 1; border: 1px solid rgba(126,83,44,.2); border-radius: 50%; opacity: 0; transform: scale(.72) rotate(-18deg); transition: opacity 1.1s, transform 1.5s var(--ease); }
.resources-section.is-active .resource-orbit { opacity: 1; transform: scale(1) rotate(0); }
.resource-orbit::before, .resource-orbit::after { content: ""; position: absolute; border: 1px solid rgba(126,83,44,.16); border-radius: 50%; }
.resource-orbit::before { inset: 16%; }
.resource-orbit::after { inset: 34%; background: rgba(255,255,255,.3); }
.resource-orbit span { position: absolute; width: 12px; height: 12px; background: var(--gold-dark); border-radius: 50%; box-shadow: 0 0 0 9px rgba(183,126,76,.1); }
.resource-orbit span:nth-child(1) { top: 8%; left: 28%; animation: orbit-pulse 3.2s ease-in-out infinite; }
.resource-orbit span:nth-child(2) { right: 7%; bottom: 31%; animation: orbit-pulse 3.2s .8s ease-in-out infinite; }
.resource-orbit span:nth-child(3) { bottom: 4%; left: 38%; animation: orbit-pulse 3.2s 1.6s ease-in-out infinite; }
@keyframes orbit-pulse { 50% { transform: scale(1.7); box-shadow: 0 0 0 18px rgba(183,126,76,0); } }
.resource-grid { border-color: rgba(17,16,14,.15); }
.resource-card { min-height: 300px; background: rgba(255,255,255,.32); border-color: rgba(17,16,14,.15); backdrop-filter: blur(12px); clip-path: inset(0 0 100% 0); transition: clip-path .9s var(--ease) var(--delay,0ms),color .4s,background .4s,transform .45s var(--ease); }
.resource-card.is-visible { clip-path: inset(0); }
.resources-section.is-active .resources-heading,
.resources-section.is-active .resource-card { opacity: 1; filter: none; transform: translateY(0); }
.resources-section.is-active .resource-card { clip-path: inset(0); }
.resource-card:hover { color: white; background: var(--black); transform: translateY(-8px); }
.resource-marquee { width: calc(100% + 2 * max(28px,calc((100vw - 1280px)/2))); margin: clamp(4rem,7vw,7rem) calc(-1 * max(28px,calc((100vw - 1280px)/2))) calc(-1 * clamp(5.5rem,8vw,8rem)); padding: 1.15rem 0; color: rgba(255,255,255,.9); background: #8b5a34; overflow: hidden; }
.resource-marquee > div { display: flex; width: max-content; animation: resource-drift 28s linear infinite; }
.resource-marquee span { display: flex; align-items: center; gap: 2.4rem; padding-right: 2.4rem; font-size: clamp(.9rem,1.4vw,1.15rem); font-weight: 650; letter-spacing: -.02em; white-space: nowrap; }
.resource-marquee i { color: #f2c99e; font-size: .7rem; font-style: normal; }
@keyframes resource-drift { to { transform: translateX(-50%); } }

.experience-card { display: block; min-height: 0; padding: 0; }
.experience-card::after { display: none; }
.experience-card:hover { padding: 0; }
.experience-toggle { display: grid; grid-template-columns: 145px 1.1fr 1fr auto; gap: 2.4rem; align-items: center; width: 100%; min-height: 126px; padding: 1.6rem 0; color: inherit; text-align: left; background: none; border: 0; cursor: pointer; transition: padding .45s var(--ease),background .35s; }
.experience-toggle:hover, .experience-toggle:focus-visible { padding-right: .7rem; padding-left: .7rem; background: rgba(255,255,255,.035); outline: none; }
.experience-index { display: grid; gap: .45rem; color: rgba(255,255,255,.45); font-family: var(--mono); font-size: .57rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.experience-index b { font-weight: 500; }
.experience-toggle h3 { margin: 0; font-size: clamp(1.55rem,2.3vw,2.4rem); font-weight: 700; }
.experience-toggle p { max-width: 540px; margin: 0; color: rgba(255,255,255,.58); font-size: .88rem; }
.experience-arrow { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; transition: transform .45s var(--ease),background .3s,color .3s; }
.experience-toggle:hover .experience-arrow, .experience-toggle[aria-expanded="true"] .experience-arrow { color: var(--black); background: var(--gold); transform: rotate(45deg); }
.experience-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .55s var(--ease),opacity .4s; }
.experience-panel > div { min-height: 0; padding: 0; overflow: hidden; color: inherit; font-size: inherit; letter-spacing: 0; text-transform: none; }
.experience-card.is-open .experience-panel { grid-template-rows: 1fr; opacity: 1; }
.experience-card.is-open .experience-panel > div { padding-bottom: 2rem; }
.experience-panel figure { height: clamp(320px,46vw,620px); margin: 0 0 1rem; overflow: hidden; border-radius: 22px; }
.experience-panel img { width: 100%; height: 100%; object-fit: cover; animation: experience-reveal .8s var(--ease) both; }
.experience-panel small { display: block; max-width: 720px; color: rgba(255,255,255,.4); font-family: var(--mono); font-size: .54rem; line-height: 1.6; text-transform: uppercase; }
@keyframes experience-reveal { from { opacity: 0; transform: scale(1.035); } }

.global-conversion { position: relative; align-items: center; color: var(--ink); background: radial-gradient(circle at 82% 20%,rgba(216,137,73,.16),transparent 28%),#eee6da; border-bottom: 0; }
.global-conversion::before { content: ""; position: absolute; top: 0; right: max(28px,calc((100vw - 1280px)/2)); left: max(28px,calc((100vw - 1280px)/2)); height: 1px; background: rgba(17,16,14,.14); }
.global-conversion h2 { max-width: 690px; font-size: clamp(2.6rem,4vw,4.3rem); font-weight: 650; }
.global-conversion p:not(.eyebrow) { color: rgba(17,16,14,.62); }
.global-conversion .button-ghost { color: var(--ink); border-color: rgba(17,16,14,.24); }
.global-conversion .button-ghost:hover { color: white; background: var(--ink); }
.footer-top h2 { max-width: 860px; font-size: clamp(2.8rem,5vw,5.15rem); font-weight: 650; }
.footer-bottom { align-items: end; }
.footer-legal { text-align: right; }
.footer-legal p { margin: 0; }
.design-credit { margin-top: .45rem !important; color: rgba(255,255,255,.62); font-size: .66rem; }
.design-credit strong { color: var(--gold-light); letter-spacing: .12em; }

.inline-form-trigger { display: inline-flex; align-items: center; gap: .7rem; padding: 0; color: var(--gold-light); background: none; border: 0; font: inherit; font-size: .68rem; font-weight: 700; cursor: pointer; }
.inline-form-trigger svg { width: 18px; }
.contact-form-button { margin-top: 2rem; }
.mini-contact .inline-form-trigger { color: inherit; font-size: inherit; }
body.modal-open { overflow: hidden; }
.inquiry-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 24px; opacity: 0; pointer-events: none; transition: opacity .25s; }
.inquiry-modal[hidden] { display: none; }
.inquiry-modal.is-open { opacity: 1; pointer-events: auto; }
.inquiry-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(5,5,5,.78); border: 0; backdrop-filter: blur(12px); cursor: pointer; }
.inquiry-dialog { position: relative; width: min(760px,100%); max-height: min(880px,calc(100vh - 48px)); padding: clamp(1.5rem,4vw,3rem); color: var(--ink); background: #f8f4ec; border-radius: 24px; box-shadow: 0 40px 120px rgba(0,0,0,.38); overflow: auto; transform: translateY(28px) scale(.98); transition: transform .45s var(--ease); }
.inquiry-modal.is-open .inquiry-dialog { transform: translateY(0) scale(1); }
.inquiry-dialog-head { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--line); }
.inquiry-dialog-head h2 { margin: .65rem 0 .8rem; font-size: clamp(2.4rem,5vw,4.4rem); letter-spacing: -.055em; line-height: .93; }
.inquiry-dialog-head p:last-child { max-width: 590px; margin: 0; color: var(--muted); font-size: .86rem; }
.inquiry-close { display: grid; width: 42px; height: 42px; place-items: center; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
.inquiry-close span { font-size: 1.5rem; font-weight: 300; }
.inquiry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem; }
.inquiry-grid label { display: grid; gap: .5rem; }
.inquiry-grid label[hidden] { display: none; }
.inquiry-grid label > span { font-size: .68rem; font-weight: 700; }
.inquiry-wide { grid-column: 1 / -1; }
.inquiry-grid input, .inquiry-grid select, .inquiry-grid textarea { width: 100%; min-height: 50px; padding: .85rem 1rem; color: var(--ink); background: white; border: 1px solid rgba(17,16,14,.18); border-radius: 10px; font: inherit; font-size: .85rem; }
.inquiry-grid textarea { resize: vertical; }
.inquiry-grid input:focus, .inquiry-grid select:focus, .inquiry-grid textarea:focus { border-color: var(--gold-dark); outline: 2px solid rgba(183,126,76,.2); }
.inquiry-form.was-validated :invalid { border-color: #a33c2e; }
.inquiry-consent { display: flex; gap: .7rem; align-items: flex-start; margin: 1.2rem 0; color: var(--muted); font-size: .74rem; }
.inquiry-consent input { margin-top: .15rem; accent-color: var(--gold-dark); }
.inquiry-actions { display: flex; gap: 1rem; align-items: center; }
.inquiry-actions small { max-width: 360px; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.inquiry-result { display: none; margin-top: 1.2rem; padding: 1rem; border-radius: 12px; }
.inquiry-result.error, .inquiry-result.ready { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.inquiry-result.error { color: #7a2319; background: #f7dfda; }
.inquiry-result.ready { background: #e8e0d2; }

@media (max-width: 900px) {
  .experience-toggle { grid-template-columns: 95px 1fr auto; gap: 1rem; }
  .experience-toggle p { grid-column: 2 / 4; }
}

@media (max-width: 760px) {
  .hero { min-height: 780px; }
  .hero-display-word { bottom: -1vw; }
  .post-hero-rail { margin-top: 0; }
  .hero-keyfacts { grid-template-columns: 1fr; border-right: 0; border-left: 0; }
  .hero-keyfacts > div { grid-template-columns: 34px 1fr; min-height: 94px; padding: 1.2rem 18px; border-right: 0; border-bottom: 1px solid rgba(17,16,14,.12); }
  .network-marquee { grid-template-columns: 1fr; min-height: 0; }
  .network-marquee > p { padding: 1.2rem 18px; }
  .network-marquee-window { border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .network-marquee-set { gap: 2.6rem; padding: 1rem 2rem; }
  .network-marquee img { max-width: 118px; height: 48px; }
  .resources-section { padding-bottom: 0; }
  .resource-orbit { top: 130px; right: -145px; }
  .resource-card { min-height: 220px; }
  .resource-marquee { width: calc(100% + 36px); margin: 4rem -18px 0; }
  .experience-toggle { grid-template-columns: 52px 1fr auto; min-height: 0; padding: 1.55rem 0; }
  .experience-toggle p { grid-column: 2 / 4; font-size: .8rem; }
  .experience-index { font-size: .5rem; }
  .experience-arrow { width: 36px; height: 36px; }
  .experience-panel figure { height: 360px; border-radius: 16px; }
  .global-conversion { padding-top: 5rem; padding-bottom: 5rem; }
  .global-conversion h2 { font-size: clamp(2.55rem,12vw,3.8rem); }
  .footer-top h2 { font-size: clamp(2.65rem,12vw,4rem); }
  .footer-legal { width: 100%; padding-top: 1.2rem; text-align: left; border-top: 1px solid var(--line-light); }
  .inquiry-modal { padding: 10px; align-items: end; }
  .inquiry-dialog { max-height: calc(100dvh - 10px); padding: 1.35rem; border-radius: 20px 20px 0 0; }
  .inquiry-dialog-head { gap: 1rem; }
  .inquiry-grid { grid-template-columns: 1fr; }
  .inquiry-wide { grid-column: 1; }
  .inquiry-actions, .inquiry-result.ready { align-items: stretch; flex-direction: column; }
  .inquiry-actions .button, .inquiry-result .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .network-marquee-track, .resource-marquee > div, .resource-orbit span { animation: none !important; }
  .experience-panel, .inquiry-dialog, .inquiry-modal, .resource-orbit, .resource-card { transition: none !important; }
}

/* Hiérarchie organisationnelle confirmée : organisateur, partenaires, sponsor. */
.footer-stih-mark { display: grid; width: 58px; height: 58px; place-items: center; color: var(--black); background: var(--gold); border-radius: 50%; font-family: var(--mono); font-size: .8rem; font-weight: 700; letter-spacing: .08em; }
.network-wordmark { display: grid; width: 92px; height: 58px; place-items: center; color: var(--black); background: var(--gold); border-radius: 8px; font-family: var(--mono); font-size: 1rem; letter-spacing: .08em; }
.mission-mark { position: relative; min-height: 540px; padding: clamp(2rem,5vw,4.5rem); background: radial-gradient(circle at 72% 25%,rgba(216,137,73,.22),transparent 32%),var(--black); overflow: hidden; }
.mission-mark::before { content: ""; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(216,137,73,.34); border-radius: 50%; transform: translate(38%,-34%); }
.mission-wordmark { position: relative; z-index: 1; display: grid; align-content: end; width: 100%; min-height: 380px; padding: 2rem; border: 1px solid rgba(255,255,255,.16); }
.mission-wordmark small { color: var(--gold-light); font-family: var(--mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.mission-wordmark strong { margin: .65rem 0 1rem; color: white; font-size: clamp(5rem,10vw,8.5rem); letter-spacing: -.08em; line-height: .82; }
.mission-wordmark span { max-width: 290px; color: rgba(255,255,255,.56); font-size: .72rem; line-height: 1.55; }
.partner-ribbon { grid-template-columns: repeat(2,1fr); }
.partner-ribbon > div { grid-template-rows: auto 1fr; gap: 1.2rem; }
.partner-ribbon > div > span { justify-self: start; color: var(--gold-dark); font-family: var(--mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.partner-ribbon > div:last-child img { max-width: 210px; max-height: 86px; }

.organization-partners { color: var(--ink); background: var(--ivory-light); }
.organization-heading { display: grid; grid-template-columns: .56fr 1.1fr .75fr; gap: clamp(1.5rem,5vw,5rem); align-items: end; margin-bottom: clamp(3rem,6vw,6rem); }
.organization-heading .eyebrow { align-self: start; color: var(--gold-dark); }
.organization-heading h2 { margin: 0; font-size: clamp(3.2rem,5.2vw,5.8rem); font-weight: 750; letter-spacing: -.055em; line-height: .93; }
.organization-heading > p:last-child { margin: 0; color: var(--muted); }
.partner-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(17,16,14,.15); border: 1px solid rgba(17,16,14,.15); }
.partner-profile { min-height: 510px; padding: clamp(2rem,4vw,3.4rem); background: #eee6da; }
.partner-profile > div { display: grid; height: 150px; margin-bottom: clamp(3.5rem,7vw,6rem); place-items: center; background: white; border-radius: 18px; }
.partner-profile img { width: auto; max-width: 230px; max-height: 92px; object-fit: contain; }
.partner-profile > span { color: var(--gold-dark); font-family: var(--mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.partner-profile h3 { margin: .7rem 0 1rem; font-size: clamp(2.2rem,3.5vw,3.8rem); letter-spacing: -.045em; }
.partner-profile p { max-width: 590px; margin: 0; color: var(--muted); }
.partner-profile-grid.compact .partner-profile { min-height: 470px; background: #f5f1e8; }

.sponsor-spotlight { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem,8vw,8rem); align-items: center; color: white; background: linear-gradient(125deg,#19140f,#090807 68%); }
.sponsor-logo { position: relative; display: grid; min-height: 410px; padding: 3rem; place-items: center; background: var(--gold); border-radius: 24px; overflow: hidden; }
.sponsor-logo::after { content: "SPONSOR"; position: absolute; right: -1rem; bottom: -1.3rem; color: rgba(17,16,14,.1); font-size: clamp(4rem,8vw,8rem); font-weight: 800; letter-spacing: -.06em; }
.sponsor-logo img { position: relative; z-index: 1; width: auto; max-width: 210px; max-height: 180px; padding: 1.2rem; object-fit: contain; background: white; border-radius: 18px; }
.sponsor-copy h2 { max-width: 760px; margin-bottom: 1.5rem; font-size: clamp(3.2rem,5vw,5.7rem); font-weight: 750; letter-spacing: -.055em; line-height: .94; }
.sponsor-copy > p:last-child { max-width: 690px; color: rgba(255,255,255,.62); }

@media (max-width: 1100px) {
  .organization-heading { grid-template-columns: 1fr; }
  .organization-heading h2, .organization-heading > p:last-child { max-width: 800px; }
  .sponsor-spotlight { grid-template-columns: 1fr; }
  .sponsor-logo { min-height: 340px; }
}

@media (max-width: 760px) {
  .page-hero-copy { width: 100%; min-width: 0; }
  body[data-page="about"] .page-hero h1 { font-size: clamp(2.9rem,12vw,3.45rem); }
  .mission-mark { min-height: 430px; padding: 18px; }
  .mission-wordmark { min-height: 360px; padding: 1.4rem; }
  .mission-wordmark strong { font-size: 5.2rem; }
  .network-wordmark { width: 78px; height: 48px; font-size: .82rem; }
  .partner-ribbon, .partner-profile-grid { grid-template-columns: 1fr; }
  .partner-profile { min-height: 0; padding: 1.5rem; }
  .partner-profile > div { height: 125px; margin-bottom: 2.6rem; }
  .partner-profile h3 { font-size: 2.55rem; }
  .sponsor-logo { min-height: 290px; border-radius: 18px; }
  .sponsor-copy h2 { font-size: clamp(3rem,12.5vw,4rem); }
}

/* Final art direction — orange, black and white with editorial contrast. */
:root {
  --black: #090909;
  --black-soft: #17120f;
  --ink: #11100f;
  --ivory: #f5f2eb;
  --ivory-light: #fffdf8;
  --gold: #f06b32;
  --gold-light: #ffad7b;
  --gold-dark: #b84218;
}

body::before {
  content: "";
  position: fixed;
  z-index: 300;
  inset: 0;
  opacity: .028;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.brand-logo { width: 54px; height: 54px; object-fit: contain; filter: drop-shadow(0 7px 18px rgba(0,0,0,.25)); }
.brand-detail { max-width: 120px; }
.footer-logo { width: 76px; height: 76px; object-fit: contain; filter: drop-shadow(0 10px 26px rgba(0,0,0,.2)); }
.footer-signature { align-items: center; }
.footer-stih-mark { display: none; }

.hero-media img { animation: hero-breathe 18s ease-out both; }
@keyframes hero-breathe { from { transform: scale(1.045); } to { transform: scale(1); } }
.hero-display-word { text-shadow: 0 -18px 70px rgba(240,107,50,.13); }
.hero-display-word span { -webkit-text-stroke-color: rgba(240,107,50,.72); }
.hero-keyfacts > div { background: linear-gradient(135deg,rgba(255,255,255,.9),rgba(245,242,235,.62)); transition: color .45s var(--ease), background .45s var(--ease); }
.hero-keyfacts > div:hover { color: white; background: var(--black); }
.hero-keyfacts > div:hover small { color: rgba(255,255,255,.55); }
.hero-keyfacts > div:hover span { color: var(--gold-light); }

.network-marquee { border-top: 1px solid rgba(255,255,255,.11); border-bottom: 1px solid rgba(255,255,255,.11); }
.network-marquee img { filter: grayscale(1) contrast(.92); }
.network-marquee:hover img { filter: grayscale(0); }
.network-wordmark { color: white; background: transparent; border: 1px solid rgba(255,255,255,.24); }

.resources-section { background: radial-gradient(circle at 90% 10%,rgba(240,107,50,.14),transparent 26%),linear-gradient(135deg,#fffdf9,#ece5da); }
.resource-orbit span { background: var(--gold); box-shadow: 0 0 0 9px rgba(240,107,50,.1); }
.resource-card:hover { background: var(--black); }
.resource-marquee { color: white; background: var(--black); border-top: 4px solid var(--gold); }
.resource-marquee i { color: var(--gold-light); }

.mission-mark { min-height: 620px; padding: 0; background: var(--black); border-radius: 28px; isolation: isolate; }
.mission-mark::before { z-index: 1; inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(180deg,transparent 42%,rgba(9,9,9,.92)); transform: none; }
.mission-mark > img { width: 100%; max-width: none; height: 100%; min-height: 620px; padding: 0; object-fit: cover; object-position: 50% center; background: transparent; filter: saturate(.84) contrast(1.02); transition: transform 1.2s var(--ease); }
.mission-mark:hover > img { transform: scale(1.035); }
.mission-mark figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: auto 1fr; gap: .35rem 1.2rem; align-items: end; padding: clamp(1.5rem,4vw,3rem); color: white; }
.mission-mark figcaption small { grid-column: 1 / -1; color: var(--gold-light); font-family: var(--mono); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; }
.mission-mark figcaption strong { font-size: clamp(3rem,6vw,5.8rem); letter-spacing: -.075em; line-height: .82; }
.mission-mark figcaption span { max-width: 220px; color: rgba(255,255,255,.62); font-size: .72rem; line-height: 1.5; }

.history-grid .history-vision {
  position: relative;
  color: var(--ink);
  background: radial-gradient(circle at 82% 18%,rgba(240,107,50,.2),transparent 32%),linear-gradient(135deg,#fffdf8,#e9e1d6);
  overflow: hidden;
}
.history-grid .history-vision::after { content: "2026"; position: absolute; right: -1rem; bottom: -2rem; color: rgba(240,107,50,.1); font-size: clamp(6rem,14vw,14rem); font-weight: 800; letter-spacing: -.08em; line-height: .8; }
.history-grid .history-vision > * { position: relative; z-index: 1; }

.partner-profile { min-height: 650px; padding: 0 0 clamp(2rem,4vw,3.4rem); background: #f2ede4; overflow: hidden; }
.partner-leadership { position: relative; height: 300px; margin: 0 0 1.75rem; overflow: hidden; background: var(--black); }
.partner-profile .partner-leadership img { width: 100%; max-width: none; height: 100%; max-height: none; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: transform 1s var(--ease), filter .6s; }
.partner-profile:hover .partner-leadership img { transform: scale(1.04); filter: saturate(1) contrast(1.02); }
.partner-leadership::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(9,9,9,.88)); }
.partner-leadership figcaption { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.25rem; left: 1.5rem; color: white; font-family: var(--mono); font-size: .57rem; letter-spacing: .09em; text-transform: uppercase; }
.partner-profile > .partner-logo { height: 105px; margin: 0 clamp(1.5rem,4vw,3.4rem) 2rem; background: white; border-radius: 14px; }
.partner-profile > span,
.partner-profile > h3,
.partner-profile > p { margin-right: clamp(1.5rem,4vw,3.4rem); margin-left: clamp(1.5rem,4vw,3.4rem); }
.partner-profile > h3 { margin-top: .7rem; }
.partner-profile-grid.compact .partner-profile { min-height: 470px; padding: clamp(2rem,4vw,3.4rem); }
.partner-profile-grid.compact .partner-profile > div { margin-right: 0; margin-left: 0; }

.after-gala { position: relative; color: white; background: radial-gradient(circle at 84% 22%,rgba(240,107,50,.28),transparent 27%),linear-gradient(120deg,#17110e,#090909 67%); overflow: hidden; }
.after-gala::before { content: ""; position: absolute; right: 8%; top: 15%; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; animation: slow-spin 18s linear infinite; }
.after-gala > * { position: relative; z-index: 1; }
.after-gala p { color: rgba(255,255,255,.65); }
.after-gala .note-card { color: var(--ink); background: var(--ivory-light); }
@keyframes slow-spin { to { transform: rotate(360deg); } }

.registration-opening { color: white; background: linear-gradient(125deg,var(--black),#24150f); border: 1px solid rgba(240,107,50,.4); }
.registration-opening > span { color: var(--gold-light); }
.registration-opening p { color: rgba(255,255,255,.64); }
.registration-trust { background: radial-gradient(circle at 12% 8%,rgba(240,107,50,.17),transparent 24%),var(--ivory-light); }

.sponsor-directory { color: white; background: radial-gradient(circle at 86% 10%,rgba(240,107,50,.2),transparent 25%),var(--black); }
.sponsor-directory-head { display: grid; grid-template-columns: .55fr 1.05fr .75fr; gap: clamp(2rem,6vw,6rem); align-items: end; margin-bottom: clamp(3rem,6vw,6rem); }
.sponsor-directory-head h2 { margin: 0; font-size: clamp(3.2rem,5.2vw,5.9rem); letter-spacing: -.06em; line-height: .92; }
.sponsor-directory-head > p:last-child { margin: 0; color: rgba(255,255,255,.6); }
.sponsor-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.16); }
.sponsor-card,
.sponsor-slot { min-height: 250px; padding: 1.5rem; color: white; background: #12110f; border: 0; }
.sponsor-card { display: grid; grid-template-rows: auto 1fr; }
.sponsor-card span { color: var(--gold-light); font-family: var(--mono); font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; }
.sponsor-card img { align-self: center; justify-self: center; width: auto; max-width: 150px; max-height: 105px; padding: 1rem; object-fit: contain; background: white; border-radius: 14px; }
.sponsor-slot { display: grid; align-content: space-between; text-align: left; cursor: pointer; transition: color .4s,background .4s; }
.sponsor-slot:hover { color: var(--black); background: var(--gold); }
.sponsor-slot > span { font-size: 2rem; font-weight: 300; }
.sponsor-slot strong { font-size: 1.05rem; }

.simple-cta { position: relative; color: var(--ink); background: radial-gradient(circle at 82% 20%,rgba(240,107,50,.19),transparent 28%),linear-gradient(135deg,#fffdf8,#eae2d8); overflow: hidden; }
.simple-cta .button-light { color: white; background: var(--black); }
.simple-cta .button-light:hover { color: var(--black); background: var(--gold); }
.archive-cta { color: white; background: radial-gradient(circle at 85% 20%,rgba(240,107,50,.24),transparent 25%),var(--black); }
.archive-cta p { color: rgba(255,255,255,.62); }
.safeguard { color: var(--ink); background: radial-gradient(circle at 82% 18%,rgba(240,107,50,.18),transparent 26%),var(--ivory-light); }
.privacy-promise { background: radial-gradient(circle at 12% 12%,rgba(240,107,50,.18),transparent 24%),linear-gradient(135deg,#fffdf8,#e9e1d6); }
.privacy-layout { display: block; background: var(--ivory-light); }
.privacy-sections { max-width: 980px; margin-left: auto; }

.program-moments { background: radial-gradient(circle at 86% 14%,rgba(240,107,50,.16),transparent 24%),var(--black); }
.partner-impact { background: var(--ivory-light); }
.faq-support { background: radial-gradient(circle at 88% 12%,rgba(240,107,50,.15),transparent 23%),var(--black); }
.contact-guide { background: radial-gradient(circle at 86% 15%,rgba(240,107,50,.15),transparent 22%),linear-gradient(135deg,#fffdf8,#e8dfd4); }

body[data-page="program"] .page-hero { background: linear-gradient(90deg,rgba(9,9,9,.95),rgba(9,9,9,.3)),url('/assets/program-2026-concept.jpg') center 48%/cover; }
body[data-page="partners"] .page-hero { background: linear-gradient(90deg,rgba(9,9,9,.95),rgba(9,9,9,.34)),url('/assets/partners-2026-concept.jpg') center 50%/cover; }
body[data-page="volunteer"] .page-hero { background: linear-gradient(90deg,rgba(9,9,9,.95),rgba(9,9,9,.36)),url('/assets/volunteer-2026-concept.jpg') center 48%/cover; }

.site-footer { background: #070707; border-top: 1px solid rgba(255,255,255,.1); }
.footer-top { padding-bottom: clamp(4rem,7vw,7rem); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); }
.global-conversion { background: radial-gradient(circle at 84% 15%,rgba(240,107,50,.18),transparent 28%),linear-gradient(135deg,#fffdf8,#e8dfd4); }

.reveal { clip-path: inset(0 0 10% 0); transform: translateY(42px); transition: opacity .95s var(--ease) var(--delay,0ms),transform .95s var(--ease) var(--delay,0ms),filter .95s var(--ease) var(--delay,0ms),clip-path 1.05s var(--ease) var(--delay,0ms); }
.reveal.is-visible { clip-path: inset(0); }

@media (hover:hover) {
  .timeline-item,
  .role-item,
  .contact-paths article,
  .privacy-sections article { transition: padding .45s var(--ease),background .4s,color .4s; }
  .timeline-item:hover,
  .role-item:hover,
  .contact-paths article:hover,
  .privacy-sections article:hover { padding-right: 1rem; padding-left: 1rem; }
}

@media (max-width: 1100px) {
  .sponsor-directory-head { grid-template-columns: 1fr; }
  .sponsor-directory-head h2,
  .sponsor-directory-head > p:last-child { max-width: 820px; }
  .sponsor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .site-header { min-height: 72px; padding: 0 16px; }
  .brand { gap: .55rem; }
  .brand-logo { width: 44px; height: 44px; }
  .brand-detail { max-width: 92px; padding-left: .55rem; font-size: .39rem; }
  .footer-logo { width: 64px; height: 64px; }
  .hero { padding-top: 132px; padding-bottom: 115px; }
  .hero-copy { width: 100%; }
  .hero-title { font-size: clamp(3.25rem,16.4vw,4.8rem); }
  .hero-display-word { bottom: -2px; font-size: 23vw; }
  .section-pad { padding-right: 18px; padding-left: 18px; }
  .mission-mark,
  .mission-mark > img { min-height: 470px; }
  .mission-mark { border-radius: 18px; }
  .mission-mark figcaption { grid-template-columns: 1fr; padding: 1.35rem; }
  .mission-mark figcaption strong { font-size: 4rem; }
  .mission-mark figcaption span { max-width: 100%; }
  .partner-profile { min-height: 0; }
  .partner-leadership { height: 260px; }
  .partner-profile > .partner-logo { height: 96px; }
  .sponsor-grid { grid-template-columns: 1fr; }
  .sponsor-card,
  .sponsor-slot { min-height: 190px; }
  .sponsor-directory-head h2 { font-size: clamp(2.9rem,12vw,3.8rem); }
  .after-gala::before { right: -110px; }
  .registration-trust,
  .partner-impact,
  .faq-support,
  .contact-guide { gap: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-media img,
  .after-gala::before { animation: none !important; }
  .reveal { clip-path: none; }
}
