@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

 * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
 *:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

 html {
 min-height: 100%;
 background: #0b0f1a;
 }

 body {
 min-height: 100vh;
 font-family: 'Inter', sans-serif;
 background: #0b0f1a;
 color: #fff;
 overflow-x: clip;
 }

 ::selection { background: rgba(237, 41, 57, 0.3); }

 .loader {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 9999;
 background: #0b0f1a;
 display: none;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 pointer-events: none;
 }

 .show-loader .loader {
 display: flex;
 animation: loaderFade 0.6s ease forwards;
 animation-delay: 1.2s;
 }

 .loader-name {
 font-family: 'Oswald', sans-serif;
 font-size: 2.5rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 6px;
 margin-bottom: 32px;
 }

 .loader-name .bleu { color: #002395; }
 .loader-name .rouge { color: #ed2939; }

 .loader-bar-track {
 width: 200px;
 height: 2px;
 background: rgba(255, 255, 255, 0.1);
 border-radius: 2px;
 overflow: hidden;
 }

 .loader-bar {
 height: 100%;
 width: 0;
 background: linear-gradient(90deg, #002395, #fff, #ed2939);
 border-radius: 2px;
 animation: loaderBar 1s ease forwards;
 }

 @keyframes loaderBar {
 0% { width: 0; }
 100% { width: 100%; }
 }

 @keyframes loaderFade {
 0% { opacity: 1; }
 100% { opacity: 0; visibility: hidden; }
 }

 .fade-in {
 animation: fadeIn 0.8s ease forwards;
 opacity: 0;
 }

 .fade-in-delay {
 animation: fadeIn 0.8s ease forwards;
 opacity: 0;
 animation-delay: 0.3s;
 }

 @keyframes fadeIn {
 0% { opacity: 0; transform: translateY(20px); }
 100% { opacity: 1; transform: translateY(0); }
 }

 .tricolor-bar {
 height: 6px;
 background: linear-gradient(90deg, #002395 33.33%, #fff 33.33%, #fff 66.66%, #ed2939 66.66%);
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 z-index: 200;
 }

 nav {
 position: fixed;
 top: 6px;
 left: 0;
 right: 0;
 padding: 16px 80px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 z-index: 100;
 transition: all 0.4s ease;
 }

 nav.scrolled {
 background: rgba(11, 15, 26, 0.92);
 -webkit-backdrop-filter: blur(24px);
 backdrop-filter: blur(24px);
 padding: 10px 40px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.06);
 }

 .logo {
 font-family: 'Oswald', sans-serif;
 font-size: 1.3rem;
 font-weight: 600;
 color: #fff;
 text-decoration: none;
 text-transform: uppercase;
 letter-spacing: 3px;
 display: flex;
 align-items: center;
 gap: 8px;
 }

 .logo img {
 height: 1.8em;
 width: auto;
 }

 .logo .bleu { color: #002395; }
 .logo .rouge { color: #ed2939; }








 .hero {
 position: relative;
 min-height: 100vh;
 display: flex;
 align-items: center;
 padding: 0 80px;
 background: linear-gradient(135deg, #0b0f1a 0%, #00184a 50%, #0b0f1a 100%);
 overflow: hidden;
 }

 .hero::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 height: 120px;
 background: linear-gradient(to bottom, transparent, #0b0f1a);
 z-index: 2;
 pointer-events: none;
 }

 .hero-bg-slideshow {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 0;
 overflow: hidden;
 }

 .hero-bg-slideshow .slide {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background-size: cover;
 background-position: center;
 opacity: 0;
 animation: slideFade 24s infinite;
 }

 .hero-bg-slideshow .slide:nth-child(1) {
 background-image: url('../bg1.jpg');
 animation-delay: 0s;
 }

 .hero-bg-slideshow .slide:nth-child(2) {
 background-image: url('../bg2.jpg');
 animation-delay: 8s;
 }

 .hero-bg-slideshow .slide:nth-child(3) {
 background-image: url('../bg3.jpg');
 animation-delay: 16s;
 }

 @keyframes slideFade {
 0% { opacity: 0; }
 4% { opacity: 0.5; }
 29% { opacity: 0.5; }
 33% { opacity: 0; }
 100% { opacity: 0; }
 }

  @media (max-width: 768px) {
  .hero-bg-slideshow .slide:nth-child(1) { background-image: url('../bg1-m.jpg'); }
  .hero-bg-slideshow .slide:nth-child(2) { background-image: url('../bg2-m.jpg'); }
  .hero-bg-slideshow .slide:nth-child(3) { background-image: url('../bg3-m.jpg'); }
  }

 .hero-overlay {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 1;
 background: linear-gradient(135deg, rgba(11,15,26,0.6) 0%, rgba(0,24,74,0.5) 50%, rgba(11,15,26,0.6) 100%);
 }

 .hero-grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 40px;
 align-items: center;
 width: 100%;
 max-width: 900px;
 margin: 0 auto;
 position: relative;
 z-index: 1;
 }

 .hero-left {
 padding-top: 20px;
 display: flex;
 flex-direction: column;
 align-items: center;
 }
.hero-logo {
 margin-bottom: 32px;
 }

 .hero-logo img {
 width: 340px;
 height: auto;
 }

 .hero-left h1 {
 font-family: 'Oswald', sans-serif;
 font-size: clamp(2.5rem, 6vw, 8rem);
 font-weight: 700;
 text-transform: uppercase;
 line-height: 1;
 margin-bottom: 8px;
 text-align: center;
 width: 100%;
 }

 .hero-left h1 .bleu { color: #002395; }
 .hero-left h1 .rouge { color: #ed2939; }

 .hero-left .subtitle {
 font-family: 'Inter', sans-serif;
 font-size: 1rem;
 font-weight: 300;
 letter-spacing: 6px;
 text-transform: uppercase;
 color: rgba(255, 255, 255, 0.4);
 margin-bottom: 24px;
 }

 .hero-left p {
 font-size: 1.05rem;
 color: rgba(255, 255, 255, 0.5);
 max-width: 620px;
 line-height: 1.8;
 margin-bottom: 40px;
 text-align: center;
 }

 .hero-actions {
 display: flex;
 gap: 20px;
 justify-content: center;
 }

 .btn {
 display: inline-block;
 padding: 16px 42px;
 border-radius: 6px;
 font-weight: 600;
 text-decoration: none;
 text-transform: uppercase;
 letter-spacing: 1.5px;
 font-size: 0.8rem;
 transition: all 0.3s ease;
 cursor: pointer;
 border: none;
 }

 .btn:active {
 transform: scale(0.95);
 }

 .btn-primary {
 background: #ed2939;
 color: #fff;
 }

 .btn-primary:hover {
 background: #cc202e;
 transform: translateY(-2px);
 box-shadow: 0 12px 32px rgba(237, 41, 57, 0.3);
 }

 .btn-outline {
 background: #002395;
 color: #fff;
 }

 .btn-outline:hover {
 background: #001c7a;
 transform: translateY(-2px);
 box-shadow: 0 12px 32px rgba(0, 35, 149, 0.3);
 }

 .btn-outline:active {
 transform: scale(0.95);
 }

 .btn-shop {
 background: transparent;
 color: #fff;
 border: 1px solid rgba(255, 255, 255, 0.5);
 }

 .btn-shop:hover {
 border-color: #fff;
 background: rgba(255, 255, 255, 0.08);
 transform: translateY(-2px);
 }

 .btn-shop:active {
 transform: scale(0.95);
 }

 .hero-actions-shop {
 margin-top: 16px;
 }
section {
 width: 100%;
 padding: 100px 80px;
 max-width: none;
 margin: 0;
 overflow: hidden;
 }

 /* Keep content aligned while section backgrounds span the full viewport. */
 .sponsors-section > .schedule-inner {
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
 }

 .section-header {
 margin-bottom: 60px;
 }

 .section-header .overline {
 font-size: 0.7rem;
 text-transform: uppercase;
 letter-spacing: 4px;
 color: rgba(255, 255, 255, 0.25);
 margin-bottom: 12px;
 font-weight: 500;
 }

 .section-header h2 {
 font-family: 'Oswald', sans-serif;
 font-size: 3rem;
 font-weight: 700;
 text-transform: uppercase;
 line-height: 1.1;
 }

 .section-header h2 .bleu { color: #002395; }
 .section-header h2 .rouge { color: #ed2939; }

 .section-header p {
 color: rgba(255, 255, 255, 0.4);
 font-size: 0.95rem;
 max-width: 560px;
 line-height: 1.8;
 margin-top: 16px;
 }

 .tryout-cta {
 background: rgba(255, 255, 255, 0.02);
 border: 1px solid rgba(255, 255, 255, 0.06);
 border-radius: 12px;
 padding: 80px;
 text-align: center;
 }

 .tryout-cta .icon-placeholder {
 width: 64px;
 height: 64px;
 border-radius: 50%;
 background: rgba(237, 41, 57, 0.1);
 border: 1px solid rgba(237, 41, 57, 0.2);
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto 24px;
 }

 .tryout-cta .icon-placeholder::after {
 content: '';
 width: 24px;
 height: 24px;
 border-radius: 50%;
 border: 2px solid #ed2939;
 }

 .tryout-cta h3 {
 font-family: 'Oswald', sans-serif;
 font-size: 1.8rem;
 font-weight: 600;
 color: #ed2939;
 margin-bottom: 12px;
 }

 .tryout-cta p {
 color: rgba(255, 255, 255, 0.45);
 max-width: 420px;
 margin: 0 auto;
 line-height: 1.7;
 font-size: 0.9rem;
 margin-bottom: 32px;
 }

 .schedule-section {
 background: linear-gradient(135deg, #0b0f1a 0%, #0a122e 100%);
 max-width: none;
 padding: 100px 80px;
 }

 #partners {
 overflow: hidden;
 background: none;
 padding-top: 20px;
 padding-bottom: 20px;
 }

 .schedule-inner {
 max-width: 1280px;
 margin: 0 auto;
 }
.sponsor-section {
 text-align: left;
 }

 .find-row {
 border: 0;
 background: transparent;
 color: inherit;
 font: inherit;
 width: 100%;
 text-align: left;
 display: inline-flex;
 align-items: center;
 gap: 12px;
 cursor: pointer;
 transition: all 0.3s ease;
 user-select: none;
 }
 .find-row:hover {
 opacity: 0.8;
 }
 .find-row:active {
 transform: scale(0.95);
 }
 .find-row:focus-visible, .lang-btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

 .footer-link { color: rgba(255,255,255,.72); font-size: .8rem; }
 .find-row .arrow {
 font-size: 1.5rem;
 color: rgba(255,255,255,0.5);
 transition: transform 0.3s ease;
 display: inline-block;
 }
 .find-row .arrow.open {
 transform: rotate(180deg);
 }
 .find-row > span:first-child {
 font-family: 'Oswald', sans-serif;
 font-size: 3rem;
 font-weight: 700;
 text-transform: uppercase;
 line-height: 1.1;
 }
 .find-row > span:first-child .rouge { color: #ed2939; }
 .find-row > span:first-child .bleu { color: #002395; }
 .map-wrap {
 max-height: 0;
 overflow: hidden;
 transition: max-height 0.5s ease, margin 0.5s ease;
 margin: 0 auto;
 max-width: 800px;
 border-radius: 8px;
 }
 .map-wrap.open {
 max-height: 500px;
 margin: 32px auto 0;
 }


 .map-wrap iframe {
 width: 100%;
 height: 400px;
 border: none;
 border-radius: 8px;
 display: block;

 }


 .sponsors-section {
 text-align: left;
 overflow: hidden;
 }

 .sponsors-grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 20px;
 margin-top: 40px;
 max-width: 960px;
 }

 .sponsor-card {
 background: rgba(255, 255, 255, 0.02);
 border: 1px solid rgba(255, 255, 255, 0.05);
 border-radius: 8px;
 padding: 24px 16px;
 display: flex;
 align-items: center;
 justify-content: center;
 min-height: 90px;
 transition: all 0.3s ease;
 text-decoration: none;
 position: relative;
 overflow: hidden;
 }

 .sponsor-card:hover {
 border-color: rgba(255, 255, 255, 0.1);
 background: rgba(255, 255, 255, 0.04);
 }

 .sponsor-card img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 filter: grayscale(100%) brightness(0.7);
 transition: filter 0.3s ease, transform 0.3s ease;
 position: absolute;
 top: 0;
 left: 0;
 border-radius: 8px;
 }

 .sponsor-card:hover img {
 filter: grayscale(0%) brightness(1);
 transform: scale(1.08);
 }

 .sponsor-card svg {
 color: rgba(255, 255, 255, 0.4);
 transition: color 0.3s ease, transform 0.3s ease;
 }

 .sponsor-card:hover svg {
 color: #fff;
 transform: scale(1.1);
 }

 .sponsor-card .sponsor-name {
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 background: rgba(237, 41, 57, 0.35);
 -webkit-backdrop-filter: blur(16px);
 backdrop-filter: blur(16px);
 color: #fff;
 font-size: 0.65rem;
 text-transform: uppercase;
 letter-spacing: 1px;
 padding: 6px 8px;
 text-align: center;
 transform: translateY(100%);
 transition: transform 0.3s ease;
 }

 .sponsor-card:hover .sponsor-name {
 transform: translateY(0);
 }

 .sponsor-placeholder {
 font-size: 0.75rem;
 text-transform: uppercase;
 letter-spacing: 2px;
 color: rgba(255, 255, 255, 0.15);
 }

 footer {
 text-align: center;
 padding: 48px 80px;
 border-top: 1px solid rgba(255, 255, 255, 0.04);
 }

 footer .social {
 display: flex;
 justify-content: center;
 gap: 12px;
 margin-bottom: 32px;
 }

 footer .social a {
 width: 40px;
 height: 40px;
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 6px;
 display: flex;
 align-items: center;
 justify-content: center;
 color: rgba(255, 255, 255, 0.25);
 text-decoration: none;
 font-size: 0.65rem;
 text-transform: uppercase;
 letter-spacing: 1px;
 transition: all 0.3s;
 }

 footer .social a:hover { border-color: rgba(255, 255, 255, 0.25); color: #fff; }
 footer .social a:active {
 transform: scale(0.88);
 opacity: 0.7;
 }

 footer p {
 font-size: 0.8rem;
 color: rgba(255, 255, 255, 0.2);
 line-height: 1.8;
 }

 footer .tricolor-bar {
 position: relative;
 margin-bottom: 32px;
 }

 @media (min-width: 1600px) {
 .hero-grid { max-width: 1100px; }
 .hero-logo img { width: 420px; }
 .hero-left p { max-width: 720px; font-size: 1.15rem; }
 .btn { padding: 18px 48px; font-size: 0.85rem; }
 }

 @media (max-width: 1024px) {
 .hero-grid { grid-template-columns: 1fr; gap: 40px; text-align: center; }
 .hero-left p { margin: 0 auto 40px; }
 .hero-actions { justify-content: center; }
 .hero-shield { width: 240px; height: 300px; }
 .hero-right { order: -1; }
 nav, section, .schedule-section,
footer { padding: 32px 24px; }
 }

 @media (max-width: 768px) {
 .hero { padding: 120px 24px 60px; min-height: auto; }
 .hero-logo img { width: 180px; }
 nav { padding: 14px 20px; flex-wrap: wrap; gap: 12px; }
 nav.scrolled { padding: 10px 20px; }
 .logo { min-width: 0; font-size: 1.1rem; letter-spacing: 2px; white-space: nowrap; }
 .logo img { height: 1.6em; }
 .lang-switch { flex-shrink: 0; }
 .map-wrap iframe { height: 300px; }
 .lang-switch { position: static; }
 .lang-btn { padding: 6px 12px; font-size: 0.8rem; }
 .lang-dropdown { right: 0; left: auto; top: 100%; }
 .lang-switch.open .lang-dropdown { transform: none; }
 section, .schedule-section { padding: 60px 24px; }
 .tryout-cta { padding: 40px 24px; }
 .section-header h2 { font-size: 2rem; }
 .find-row > span:first-child { font-size: 2rem; }
 .loader-name { font-size: 1.5rem; letter-spacing: 3px; }
 .loader-bar-track { width: 140px; }
 .sponsors-grid { grid-template-columns: repeat(2, 1fr); max-width: 100%; }
 }
 @media (max-width: 480px) {
 }


[data-i18n] { transition: opacity 0.22s ease; }
   body.lang-switching [data-i18n] { opacity: 0; }
 .lang-switch {
 position: relative;
 display: inline-block;
 margin-left: 20px;
 }
 .lang-btn {
background: rgba(255,255,255,0.08);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
color: #fff;
border: 1px solid rgba(255,255,255,0.18);
padding: 8px 14px;
border-radius: 10px;
cursor: pointer;
font-size: 0.85rem;
font-family: inherit;
box-shadow: 0 8px 22px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease;
}
 .lang-btn .arrow {
 display: inline-block;
 transition: transform 0.3s ease;
 }
 .lang-switch.open .lang-btn .arrow {
 transform: rotate(180deg);
 }
 .lang-btn:hover {
 border-color: #fff; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(0,0,0,.3);
 }
 .lang-dropdown {
 position: absolute;
 right: 0;
 left: auto;
 top: 100%;
 background: #1a1a2e;
 border: 1px solid rgba(255,255,255,0.15);
 border-radius: 4px;
 min-width: 120px;
 z-index: 999;
 margin-top: 4px;
 opacity: 0;
 pointer-events: none;
 transition: opacity 0.2s ease, transform 0.2s ease;
 }
 .lang-switch.open .lang-dropdown {
 opacity: 1;
 pointer-events: auto;
 }
 .lang-dropdown button {
 display: block;
 width: 100%;
 background: none;
 border: none;
 color: #ccc;
 padding: 8px 14px;
 text-align: left;
 cursor: pointer;
 font-size: 0.85rem;
 font-family: inherit;
 }
 .lang-dropdown button:hover {
 background: rgba(255,255,255,0.08);
 color: #fff;
 }
 .lang-switch.open .lang-dropdown {
 display: block;
 }

/* Former inline style attributes moved to this stylesheet. */
.csp-inline-1 { vertical-align:-2px }
.csp-inline-2 { text-align: center; margin-top: 48px; }
