:root{--navy:#0b3c5d;--blue:#07577b;--red:#c63e2d;--cream:#f4ead4;--paper:#f9f2e4;--yellow:#f3b33d;--ink:#132c3b;--white:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.07;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{height:76px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;width:100%;z-index:20;color:var(--white)}.mini-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:700 1.2rem 'Oswald'}.mini-brand i{width:18px;height:18px;background:var(--yellow);clip-path:polygon(50% 0,58% 38%,86% 14%,62% 42%,100% 50%,62% 58%,86% 86%,58% 62%,50% 100%,42% 62%,14% 86%,38% 58%,0 50%,38% 42%,14% 14%,42% 38%)}nav{display:flex;gap:32px}nav a,.nav-cta{color:inherit;text-decoration:none;font-weight:600;font-size:.92rem}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:10px 16px;border-radius:99px}.hero{min-height:820px;height:100vh;position:relative;overflow:hidden;background:var(--navy);color:var(--white);padding:135px clamp(24px,7vw,110px) 90px;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.1),transparent 45%),radial-gradient(circle at 70% 38%,rgba(14,111,142,.8),transparent 45%);z-index:-2}.sun-disc{position:absolute;width:36vw;height:36vw;max-width:550px;max-height:550px;border-radius:50%;background:var(--yellow);right:-6vw;top:8vh;z-index:-1;box-shadow:0 0 0 2px rgba(255,255,255,.1)}.hero-copy{position:relative;z-index:3;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.78rem;font-weight:700}.hero h1{font-family:'Oswald',sans-serif;text-transform:uppercase;line-height:.82;margin:20px 0 0;letter-spacing:-.045em}.hero h1 span,.hero h1 strong{display:block}.hero h1 span:first-child{font-size:clamp(4rem,9vw,8.4rem)}.hero h1 strong{font-size:clamp(5.4rem,12vw,11rem);font-weight:700;color:var(--red);text-shadow:4px 4px 0 var(--cream)}.hero h1 span:last-child{font-size:clamp(3.4rem,7vw,6.7rem)}.script{font:400 clamp(2.2rem,4vw,4rem) 'Pacifico';color:var(--yellow);margin:-2px 0 30px;transform:rotate(-4deg)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:4px;text-decoration:none;font-weight:700;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--red);color:white;box-shadow:5px 5px 0 rgba(8,27,39,.28)}.button-ghost{color:inherit;border:1px solid currentColor}.date-stamp{position:absolute;right:7vw;top:40%;z-index:4;background:var(--cream);color:var(--navy);width:180px;height:180px;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(7deg);box-shadow:8px 8px 0 var(--red)}.date-stamp span{font:700 2.7rem/1 'Oswald'}.date-stamp strong{font:400 1.6rem 'Pacifico';color:var(--red)}.date-stamp small{font:700 .9rem 'Oswald';letter-spacing:.25em}.hero-car{position:absolute;width:min(52vw,760px);right:3vw;bottom:52px;z-index:2;filter:drop-shadow(0 28px 22px rgba(0,0,0,.35));animation:float 5s ease-in-out infinite}.hero-ticker{position:absolute;left:0;bottom:0;width:100%;height:46px;background:var(--red);display:flex;align-items:center;overflow:hidden;font:600 .85rem 'Oswald';letter-spacing:.18em;white-space:nowrap}.hero-ticker div{animation:ticker 24s linear infinite}.section{padding:110px clamp(24px,7vw,110px)}.section-label{font:600 .78rem 'DM Sans';text-transform:uppercase;letter-spacing:.16em;color:var(--navy);display:flex;gap:12px;align-items:center;margin-bottom:42px}.section-label span{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%}.section-label.light{color:var(--cream)}.intro{background:var(--paper);padding-bottom:0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.section h2{font:700 clamp(3rem,6vw,6.2rem)/.98 'Oswald';text-transform:uppercase;letter-spacing:-.035em;margin:0}.section h2 em{font:400 .64em/1.05 'Pacifico';text-transform:none;color:var(--red);letter-spacing:0}.intro-copy{padding-top:18px;max-width:620px}.intro-copy .lead{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.35;font-weight:600}.intro-copy>p:not(.lead){line-height:1.75;color:#435864}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(11,60,93,.22)}.facts div{display:flex;flex-direction:column}.facts strong{font:700 2.4rem 'Oswald';color:var(--red)}.facts span{font-size:.82rem}.coastline{height:360px;margin:90px calc(clamp(24px,7vw,110px)*-1) 0;overflow:hidden}.coastline img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.programme{background:var(--navy);color:var(--cream)}.programme-head{display:grid;grid-template-columns:1.25fr .55fr;gap:8vw;align-items:end;margin-bottom:72px}.programme-head p{font-size:1.1rem;line-height:1.7;color:#c8d7dd}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{position:relative;min-height:310px;border:1px solid rgba(255,255,255,.18);padding:34px;background:rgba(255,255,255,.045);overflow:hidden;transition:transform .35s,background .35s}.event-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.08)}.event-card:after{content:attr(data-index);position:absolute;right:18px;top:14px;font:700 4rem 'Oswald';color:rgba(255,255,255,.05)}.card-icon{font-size:1.5rem;color:var(--yellow)}.event-card h3{font:600 2rem 'Oswald';text-transform:uppercase;margin:64px 0 16px}.event-card p{color:#c9d6dc;line-height:1.65;margin:0}.image-card{padding:0;background:var(--yellow);display:flex;align-items:center;justify-content:center}.image-card img{width:110%;transform:translateY(5px);filter:drop-shadow(0 18px 14px rgba(0,0,0,.2))}.image-card span{position:absolute;left:24px;bottom:20px;background:var(--cream);color:var(--navy);padding:8px 12px;font:700 .8rem 'Oswald';text-transform:uppercase;letter-spacing:.12em}.solidarity{position:relative;background:var(--red);color:var(--white);display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;overflow:hidden}.solidarity .eyebrow{color:var(--cream)}.solidarity h2 em{color:var(--yellow)}.solidarity-copy>p:last-child{max-width:700px;line-height:1.75;font-size:1.08rem}.benefit{border:1px solid rgba(255,255,255,.5);padding:42px;align-self:center;display:flex;flex-direction:column;transform:rotate(2deg);background:rgba(255,255,255,.06)}.benefit span{font:400 1.4rem 'Pacifico';color:var(--yellow)}.benefit strong{font:700 clamp(3.5rem,6vw,6rem) 'Oswald'}.benefit small{line-height:1.5;text-transform:uppercase;letter-spacing:.12em}.starburst{position:absolute;right:44%;top:10%;font-size:8rem;color:rgba(255,255,255,.08);animation:spin 22s linear infinite}.location{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center}.location-copy p{line-height:1.7;max-width:460px}.address{display:flex;gap:16px;margin:30px 0}.address>span{font-size:1.8rem;color:var(--red)}.map-card{position:relative;min-height:520px;background:var(--cream);border:1px solid rgba(11,60,93,.18);overflow:hidden;color:var(--navy);box-shadow:14px 14px 0 var(--navy)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(11,60,93,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(11,60,93,.08) 1px,transparent 1px);background-size:42px 42px;transform:rotate(-7deg) scale(1.2)}.map-road{position:absolute;background:var(--red);height:5px;width:120%;left:-10%;border-radius:50%;opacity:.75}.road-a{top:48%;transform:rotate(-14deg)}.road-b{top:62%;transform:rotate(18deg)}.pin{position:absolute;left:58%;top:42%;width:54px;height:54px;background:var(--navy);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 12px 24px rgba(0,0,0,.25)}.pin i{width:16px;height:16px;background:var(--yellow);border-radius:50%}.coordinates{position:absolute;left:26px;top:26px;font:600 .8rem monospace;letter-spacing:.1em}.map-label{position:absolute;right:28px;bottom:28px;text-align:right;font:500 1.3rem 'Oswald';letter-spacing:.18em}.map-label strong{font-size:2rem;letter-spacing:0}.practical{background:var(--yellow);color:var(--navy)}.practical{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.practical-title em{color:var(--red)}.practical-grid{display:flex;flex-direction:column;border-top:2px solid var(--navy)}.info-block{display:grid;grid-template-columns:110px 1fr;column-gap:24px;padding:28px 0;border-bottom:1px solid rgba(11,60,93,.35)}.info-block span{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.info-block strong{font:600 1.5rem 'Oswald';text-transform:uppercase}.info-block p{grid-column:2;color:#3f5868;margin:6px 0 0}.final-word{grid-column:1/-1;margin-top:70px;font:400 clamp(3.5rem,8vw,8rem) 'Pacifico';text-align:center;color:var(--red);transform:rotate(-2deg)}footer{background:#082c44;color:var(--cream);padding:38px clamp(24px,7vw,110px);display:flex;align-items:center;justify-content:space-between}footer div{display:flex;flex-direction:column;gap:4px}footer strong{font:600 1.2rem 'Oswald';text-transform:uppercase}footer span{font-size:.82rem;color:#a9c1cc}footer a{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes float{50%{transform:translateY(-10px) rotate(.4deg)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){nav{display:none}.hero{min-height:760px;height:auto;padding-top:120px}.hero-car{width:78vw;right:-12vw;bottom:45px;opacity:.82}.date-stamp{width:125px;height:125px;right:6vw;top:52%}.date-stamp span{font-size:2rem}.intro-grid,.programme-head,.solidarity,.location,.practical{grid-template-columns:1fr}.facts,.cards{grid-template-columns:1fr 1fr}.coastline{height:280px}.solidarity{gap:55px}.map-card{min-height:390px}.practical-grid{margin-top:20px}}
@media(max-width:600px){.site-header{height:64px}.nav-cta{font-size:.78rem;padding:8px 12px}.hero{min-height:720px;padding-left:20px;padding-right:20px}.hero h1 strong{text-shadow:2px 2px 0 var(--cream)}.hero-actions{max-width:230px}.button{width:100%;font-size:.88rem}.hero-car{width:108vw;right:-39vw;bottom:40px;opacity:.7}.date-stamp{top:auto;bottom:265px;right:18px}.section{padding:78px 20px}.intro-grid{gap:30px}.facts{grid-template-columns:1fr}.coastline{margin:60px -20px 0;height:220px}.cards{grid-template-columns:1fr}.event-card{min-height:270px}.programme-head{gap:28px;margin-bottom:42px}.benefit{transform:none}.location{gap:48px}.map-card{min-height:330px;box-shadow:8px 8px 0 var(--navy)}.practical{gap:35px}.info-block{grid-template-columns:86px 1fr}.info-block strong{font-size:1.15rem}.final-word{margin-top:35px}footer{align-items:flex-start;gap:24px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-car,.hero-ticker div,.starburst{animation:none}}

/* Billetterie, informations pratiques et carte interactive. */
.header-actions{display:flex;align-items:center;gap:12px}
.hero-car{height:auto}
.date-stamp{top:118px;right:5vw}
.ticket-nav{background:var(--red);border-color:var(--red);color:var(--white)}
.header-actions .nav-cta{font-size:.875rem;white-space:nowrap}
#infos,#lieu,#billetterie{scroll-margin-top:100px}
.coastline{height:auto}
.coastline img{display:block;width:100%;height:auto;aspect-ratio:1903 / 826;object-fit:contain;object-position:center}
.map-card.map-interactive{min-height:0;display:flex;flex-direction:column}
.map-interactive iframe{display:block;border:0;width:100%;height:clamp(320px,35vw,460px);background:var(--cream)}
.map-external-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;color:var(--navy);background:var(--cream);font-size:.875rem;font-weight:700;text-decoration:none}
.map-external-link:hover{text-decoration:underline}
.info-block .contest-price{font-size:1.125rem;line-height:1.6;color:var(--navy)}
.contest-price b{font-family:'Oswald',sans-serif;font-size:1.6rem;color:var(--red)}
.ticketing-info .button{justify-self:start;text-align:center}
.info-block .ticket-status{margin-top:16px;font-size:1rem;line-height:1.6}
.ticket-status:focus{outline:2px solid var(--navy);outline-offset:5px;border-radius:2px}
.button:focus-visible,.nav-cta:focus-visible,.map-external-link:focus-visible{outline:3px solid currentColor;outline-offset:5px}

/* Ajustements éditoriaux, partenaires et mentions légales. */
.hero-ticker div{height:100%;display:flex;align-items:center;line-height:1;min-width:max-content}
.partners-panel{border:1px solid rgba(255,255,255,.5);padding:30px;align-self:center;background:rgba(255,255,255,.07);box-shadow:10px 10px 0 rgba(8,44,68,.25)}
.partner-line{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;align-items:center;gap:6px 22px}
.partner-line>span{font:400 1.25rem 'Pacifico';color:var(--yellow)}
.partner-line>img{grid-column:1;grid-row:1/3;width:100%;height:84px;object-fit:contain}
.partner-line>strong{font:600 1.25rem/1.25 'Oswald';text-transform:uppercase}
.assra-line>img{height:108px}
.partner-divider{height:1px;background:rgba(255,255,255,.28);margin:24px 0}
.footer-links{display:flex;flex-direction:row;align-items:center;gap:28px}
.footer-links a:hover,.legal-page a:hover{text-decoration:underline}
.social-presence{display:flex;flex-direction:row;align-items:center;gap:12px}
.social-item{display:inline-flex;align-items:center;gap:7px;color:var(--cream);font-size:.86rem;white-space:nowrap}
.social-item b{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font:700 1rem/1 'DM Sans'}
.social-item small{padding:3px 7px;border-radius:99px;background:rgba(255,255,255,.1);color:#a9c1cc;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}

.legal-page{background:var(--paper);color:var(--ink)}
.legal-header{min-height:88px;padding:0 clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:var(--white)}
.legal-back{color:inherit;text-decoration:none;font-weight:700}
.legal-main{width:min(920px,calc(100% - 40px));margin:0 auto;padding:90px 0 110px}
.legal-main>.eyebrow{color:var(--red)}
.legal-main h1{font:700 clamp(3.4rem,8vw,7rem)/.95 'Oswald';text-transform:uppercase;letter-spacing:-.035em;color:var(--navy);margin:16px 0 70px}
.legal-main section{padding:42px 0;border-top:2px solid var(--navy)}
.legal-main section+section{margin-top:20px}
.legal-main h2{font:700 clamp(2rem,4vw,3.2rem)/1.1 'Oswald';text-transform:uppercase;color:var(--navy);margin:0 0 32px}
.legal-main h3{font:600 1.35rem/1.3 'Oswald';text-transform:uppercase;color:var(--red);margin:34px 0 12px}
.legal-main p{font-size:1rem;line-height:1.75;margin:0 0 16px}
.legal-main a{color:var(--blue);overflow-wrap:anywhere}
.legal-footer{margin-top:0}

@media(max-width:1100px){
  .site-header{padding-inline:24px}
  nav{gap:18px}
  .header-actions{gap:8px}
}
@media(max-width:600px){
  .header-actions>.nav-cta:first-child{display:none}
  .map-external-link{padding:18px;align-items:flex-start;flex-direction:column;gap:8px}
.ticketing-info .button{padding-inline:12px;font-size:.875rem}
.partner-line{grid-template-columns:84px 1fr;gap:6px 16px}
.partner-line>img{height:68px}
.assra-line>img{height:82px}
.partners-panel{padding:22px}
.footer-links{align-items:flex-start;flex-direction:column;gap:12px}
.social-presence{align-items:flex-start;flex-direction:column}
.legal-main{padding:62px 0 80px}
.legal-main h1{margin-bottom:50px}
}

/* Garder le véhicule et la femme entièrement visibles sur petit écran. */
@media(max-width:900px){
  .hero{height:auto;padding-bottom:72px}
  .hero-car{position:relative;display:block;width:100%;max-width:650px;height:auto;right:auto;bottom:auto;margin:28px auto 0;opacity:1}
  .date-stamp{position:relative;top:auto;right:auto;bottom:auto;display:flex;align-items:center;gap:12px;width:max-content;height:auto;max-width:100%;margin:24px 0 0;padding:10px 22px;border-radius:50px;box-shadow:4px 4px 0 var(--red);transform:none}
  .date-stamp span{font-size:1.6rem}
  .date-stamp strong{font-size:1.2rem}
  .date-stamp small{font-size:.9rem}
}
