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

* { box-sizing: border-box; }

body {
  min-width: 320px;
  margin: 0;
  background:
    radial-gradient(circle at 15% 8%, rgba(241, 126, 102, .16), transparent 26rem),
    radial-gradient(circle at 85% 28%, rgba(245, 203, 99, .10), transparent 24rem),
    linear-gradient(140deg, #101713 0%, #1c2a21 46%, #101813 100%);
}

main { width: min(100% - 2rem, 48rem); margin: 0 auto; padding: 5rem 0 3rem; }
.language-target { display: block; height: 0; overflow: hidden; }
.hero { padding: 1rem 1rem 3rem; text-align: center; }
.mark { display: block; margin: 0 auto 1.3rem; border-radius: 1rem; box-shadow: 0 .5rem 2.5rem rgba(241, 126, 102, .16); }
.eyebrow { margin: 0 0 .65rem; color: #f4a48c; font-size: .78rem; font-weight: 750; letter-spacing: .2em; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.25rem); line-height: 1.1; letter-spacing: -.04em; }
.updated { margin: 1rem 0 0; color: #b6c3b5; font-size: .95rem; }

.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(244, 164, 140, .35);
  border-radius: .55rem;
  color: #d1d9cb;
  font-size: .875rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none;
}
.fr-link { color: #16201a; background: #f4a48c; }
.language-link:hover { color: #16201a; background: #f5cb63; }
a:focus-visible { outline: 3px solid #f5cb63; outline-offset: 4px; }

.policy {
  padding: clamp(1.4rem, 5vw, 2.75rem);
  border: 1px solid rgba(244, 164, 140, .24);
  border-radius: 1.25rem;
  background: rgba(19, 29, 24, .80);
  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: #f4a48c; font-size: 1.25rem; line-height: 1.3; letter-spacing: -.015em; }
p, li { color: #d8dfd2; font-size: 1rem; line-height: 1.68; }
p { margin: 0; }
p + p { margin-top: 1rem; }
ul { margin: .8rem 0; padding-left: 1.3rem; }
li + li { margin-top: .35rem; }
a { color: #f4b7a2; text-underline-offset: .18em; overflow-wrap: anywhere; }
a:hover { color: #f5d786; }
.app-id { overflow-wrap: anywhere; }
.page-footer { padding: 2rem 1rem 0; text-align: center; }
.page-footer p { color: #a8b5a7; font-size: .8rem; }

.text-en, .policy-en { display: none; }
#en:target ~ .hero .text-fr { display: none; }
#en:target ~ .hero .text-en { display: block; }
#en:target ~ .language-switcher .fr-link { color: #d1d9cb; background: transparent; }
#en:target ~ .language-switcher .en-link { color: #16201a; background: #f4a48c; }
#en:target ~ .language-switcher .language-link:hover { color: #16201a; background: #f5cb63; }
#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: 1rem .5rem 1.75rem; }
  .policy { border-radius: .9rem; }
}
