:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #030818;
  color: #eaf3ff;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  margin: 0;
  background:
    radial-gradient(circle at 15% 8%, rgba(31, 105, 255, .3), transparent 26rem),
    radial-gradient(circle at 85% 28%, rgba(98, 55, 255, .26), transparent 24rem),
    linear-gradient(140deg, #020611 0%, #06133a 46%, #030817 100%);
}

main { width: min(100% - 2rem, 48rem); margin: 0 auto; padding: 5rem 0 4rem; }

.hero { padding: 1rem 1rem 3rem; text-align: center; }
.mark { color: #ffd34d; font-size: 2.5rem; line-height: 1; text-shadow: 0 0 1.5rem #ffb000; }
.eyebrow { margin: 1rem 0 .55rem; color: #77cfff; font-size: .78rem; font-weight: 750; letter-spacing: .2em; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.25rem); letter-spacing: -.04em; }
.updated { margin: 1rem 0 0; color: #b7c7e7; font-size: .95rem; }

.language-target { display: block; height: 0; overflow: hidden; }

.language-switcher {
  display: flex;
  justify-content: flex-end;
  gap: .35rem;
  margin: 0 0 .75rem;
}

.language-link {
  min-width: 2.75rem;
  padding: .45rem .7rem;
  border: 1px solid rgba(126, 190, 255, .35);
  border-radius: .55rem;
  color: #bdd4f5;
  font-size: .875rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none;
}

.language-link:hover,
.language-link:focus-visible { color: #06133a; background: #7fd5ff; }
.fr-link { color: #06133a; background: #7fd5ff; }

article {
  padding: clamp(1.4rem, 5vw, 2.75rem);
  border: 1px solid rgba(126, 190, 255, .24);
  border-radius: 1.25rem;
  background: rgba(6, 17, 48, .72);
  box-shadow: 0 1.25rem 4rem rgba(0, 0, 0, .25);
  backdrop-filter: blur(8px);
}

section + section { margin-top: 2.3rem; }
h2 { margin: 0 0 .85rem; color: #fff; font-size: 1.25rem; letter-spacing: -.015em; }
p, li { color: #d6e2f8; font-size: 1rem; line-height: 1.68; }
p { margin: 0; }
ul { margin: .8rem 0; padding-left: 1.3rem; }
li + li { margin-top: .35rem; }
a { color: #7fd5ff; text-underline-offset: .18em; }
a:hover { color: #ffe080; }
.policy-en { display: none; }
#en:target ~ .language-switcher .fr-link { color: #bdd4f5; background: transparent; }
#en:target ~ .language-switcher .en-link { color: #06133a; background: #7fd5ff; }
#en:target ~ .policy-fr { display: none; }
#en:target ~ .policy-en { display: block; }

@media (max-width: 480px) {
  main { width: min(100% - 1rem, 48rem); padding-top: 2.5rem; }
  .hero { padding-bottom: 1.75rem; }
  article { border-radius: .9rem; }
}
