
:root{--blue:#83ccf0;--lav:#9987bb;--pink:#e99dc0;--coral:#ef9a8c;--peach:#f8cb8e;--cream:#fff29c;--green:#90c799;--ink:#121722;--muted:#5b6473;--line:rgba(18,23,34,.13);--soft:#f7f8fc;--rainbow:linear-gradient(90deg,var(--blue),var(--lav),var(--pink),var(--coral),var(--peach),var(--cream),var(--green));--rainbow-dark:linear-gradient(90deg,#3293bf,#61558c,#b75285,#bd594b,#d68a38,#b39b25,#4f8d51);--rainbow-soft:linear-gradient(120deg,rgba(131,204,240,.28),rgba(153,135,187,.24),rgba(233,157,192,.24),rgba(239,154,140,.22),rgba(248,203,142,.22),rgba(255,242,156,.22),rgba(144,199,153,.25));--radius:30px;--shadow:0 20px 65px rgba(18,23,34,.15)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}img{max-width:100%;display:block}a{color:#225ea8}.container{width:min(100% - 40px,1180px);margin:auto}.rainbow-bar{height:8px;background:var(--rainbow)}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900}.brand-mark{width:52px;height:52px;border-radius:14px}.brand-text small{display:block;color:var(--muted);font-weight:700}.nav{display:flex;gap:8px;align-items:center}.nav a{text-decoration:none;color:var(--ink);font-weight:800;padding:10px 14px;border-radius:999px}.nav a.active,.nav a:hover{background:var(--rainbow-soft)}.menu-toggle,.menu-button{display:none}
.hero,.subpage-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,242,156,.42),transparent 24%),radial-gradient(circle at 85% 10%,rgba(233,157,192,.32),transparent 28%),linear-gradient(180deg,#fff,#f8fbff);padding:72px 0}.hero:before,.subpage-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 46%,rgba(131,204,240,.13) 46% 54%,transparent 54%),var(--rainbow-soft);opacity:.88}.hero-grid,.subpage-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:900;color:#38485f}.dot{width:10px;height:10px;border-radius:50%;background:var(--rainbow)}h1{font-size:clamp(2.5rem,7vw,5.9rem);line-height:.94;margin:22px 0 20px;letter-spacing:-.07em}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:0 0 14px;letter-spacing:-.04em}h3{font-size:1.35rem;margin:0 0 12px}.lead{font-size:1.22rem;color:var(--muted);max-width:760px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.hero-shot,.subpage-shot{border-radius:24px;aspect-ratio:16/10;object-fit:cover;width:100%;box-shadow:var(--shadow)}.subpage-shot{min-height:430px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:900;border-radius:999px;padding:14px 20px;border:1px solid var(--line);background:#fff}.button.primary{background:var(--rainbow-dark);color:#fff;border:0;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head p{margin:0;color:var(--muted);max-width:620px}.grid{display:grid;gap:22px}.cards{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 12px 40px rgba(20,32,51,.06);position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--rainbow)}.article-card{padding:0}.article-card img{height:230px;width:100%;object-fit:cover}.article-card div{padding:24px}.icon{font-size:2rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.photo{border-radius:28px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}.panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.side-list{display:grid;gap:12px;margin-top:20px}.side-list a,.pill{display:flex;align-items:center;justify-content:space-between;text-decoration:none;background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:14px 16px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{border-radius:22px;padding:20px;background:var(--rainbow-soft);border:1px solid var(--line)}.stat b{font-size:2rem;display:block}.banner{background:var(--rainbow);border-radius:32px;padding:4px;box-shadow:var(--shadow)}.banner-inner{background:rgba(255,255,255,.92);border-radius:28px;padding:36px}.notice{border-left:6px solid var(--blue);background:#fff;padding:22px;border-radius:18px;box-shadow:0 12px 35px rgba(20,32,51,.06)}
.footer{background:#0f1726;color:#fff;padding:46px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px}.footer img{max-height:72px;object-fit:contain;border-radius:0;background:transparent}.footer a{display:block;text-decoration:none;color:#dce7ff;margin:8px 0}
@media(max-width:860px){.container{width:min(100% - 28px,1180px)}.menu-button{display:block;font-size:1.6rem;border:0;background:#fff;border-radius:14px;padding:8px 12px}.nav{display:none;position:absolute;left:14px;right:14px;top:82px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.menu-toggle:checked~.nav{display:flex}.nav a{padding:14px}.hero-grid,.subpage-grid,.split,.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.section-head{display:block}.stats{grid-template-columns:1fr}.hero,.subpage-hero{padding:42px 0}.section{padding:56px 0}.brand-text small{display:none}.hero-card{padding:12px}.subpage-shot{min-height:auto}}
.rainbow-panel{background:var(--rainbow-soft)}
.check-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.check-list li{position:relative;padding-left:30px;color:var(--ink);font-weight:800}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--rainbow-dark);color:#fff;font-size:.8rem}

.language-switcher{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.language-switcher button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 9px;font-size:1.05rem;cursor:pointer;box-shadow:0 6px 16px rgba(20,32,51,.06)}
.language-switcher button.active,.language-switcher button:hover{background:var(--rainbow-soft);transform:translateY(-1px)}
@media(max-width:860px){.language-switcher{margin-left:auto}.nav-wrap{gap:10px}.language-switcher button{padding:6px 8px}}

.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.video-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 12px 40px rgba(20,32,51,.06);overflow:hidden}.video-card:before{content:"";display:block;height:6px;margin:-20px -20px 18px;background:var(--rainbow)}.video-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0f1726;box-shadow:var(--shadow)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-card h3{margin-top:18px}@media(max-width:860px){.video-grid{grid-template-columns:1fr}}

.video-link{display:block;position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0f1726;box-shadow:var(--shadow);text-decoration:none;color:white}.video-link img{width:100%;height:100%;object-fit:cover;display:block}.play-badge{position:absolute;inset:auto auto 18px 18px;background:rgba(0,0,0,.72);color:white;border-radius:999px;padding:12px 16px;font-weight:900;letter-spacing:.02em}.video-link:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:rgba(0,0,0,.65);display:grid;place-items:center;color:white;font-size:30px;padding-left:4px}.video-link:hover:after{background:rgba(0,0,0,.82)}

.split.reverse > .photo{order:2}.split.reverse > .panel{order:1}
@media(max-width:860px){.split.reverse > .photo,.split.reverse > .panel{order:initial}}


/* GitHub Pages patch: keep all media in landscape layout and restore flag-only language buttons. */
.hero-shot,
.subpage-shot,
.photo,
.article-card img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.hero-card,
.split,
.article-card {
  overflow: hidden;
}

.video-link img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

.language-switcher button {
  width: 42px;
  height: 42px;
  padding: 0 !important;
  display: inline-grid;
  place-items: center;
  font-size: 0 !important;
  line-height: 1;
}

.language-switcher button::before {
  font-size: 1.35rem;
  line-height: 1;
}

.language-switcher button[data-lang="en"]::before { content: "🇬🇧"; }
.language-switcher button[data-lang="fr"]::before { content: "🇫🇷"; }
.language-switcher button[data-lang="de"]::before { content: "🇩🇪"; }
.language-switcher button[data-lang="ja"]::before { content: "🇯🇵"; }

@media (max-width: 860px) {
  .language-switcher button {
    width: 38px;
    height: 38px;
  }
  .hero-shot,
  .subpage-shot,
  .photo,
  .article-card img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }
}
