/* T.P.O. — Apparence du site. Modifier ici les couleurs, polices et dimensions. */
:root {
  --bg:#061724;
  --layer:#0c2737;
  --card:#102d41;
  --ink:#edf6fa;
  --muted:#b3cbd6;
  --cyan:#37b8ed;
  --line:#285166}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth}
body {
  margin:0;
  background:var(--bg);
  font:16px/1.55 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  color:var(--ink)}
a {
  color:inherit;
  text-decoration:none}
a:focus-visible {
  outline:3px solid #ffe17b;
  outline-offset:4px}
img {
  display:block;
  max-width:100%}
.wrap {
  width:min(1200px,calc(100% - 38px));
  margin:auto}
.top {
  background:#061825f5;
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid #2c4c60}
.top .wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:76px;
  gap:20px}
.brand {
  display:flex;
  align-items:center;
  gap:14px}
.brand img {
  width:108px;
  height:58px;
  object-fit:contain}
.brand span {
  font-size:12px;
  color:#c5dce6;
  letter-spacing:1px;
  font-weight:700}
.nav {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:center;
  font-weight:650;
  font-size:13px}
.nav a:hover,.nav a:focus {
  color:var(--cyan)}
.hero {
  min-height:560px;
  display:flex;
  align-items:center;
  background:linear-gradient(90deg,#061724fa 0%,#061724de 32%,#06172463 70%,#06172434 100%),url('images/accueil-fond.jpg') center center/cover}
.hero-inner {
  padding:80px 0}
.eyebrow {
  color:#68d6ff;
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:12px;
  font-weight:750}
.hero-logo {
  width:min(370px,72vw);
  margin:10px 0 25px;
  filter:drop-shadow(0 8px 14px #0009)}
h1 {
  font-size:clamp(29px,4.1vw,49px);
  line-height:1.12;
  max-width:780px;
  letter-spacing:-.025em;
  margin:0 0 18px}
h2 {
  font-size:clamp(25px,3vw,36px);
  margin:0 0 12px;
  line-height:1.2}
.hero p {
  font-size:17px;
  color:#dceef5;
  max-width:640px}
.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 21px;
  border-radius:8px;
  font-weight:700;
  border:1px solid #b8e6fc;
  background:#062033db;
  transition:transform .2s}
.btn:hover {
  transform:translateY(-2px)}
.btn.primary {
  background:#0787d6;
  border-color:#0787d6;
  color:white}
.section {
  padding:70px 0}
.section.alt {
  background:#082131}
.head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:22px}
.muted {
  color:var(--muted)}
.tag {
  font-size:12px;
  text-transform:uppercase;
  color:#6acfff;
  letter-spacing:.15em;
  font-weight:750;
  margin-bottom:7px}
.cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px}
.photo-card {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden}
.photo-card img {
  width:100%;
  height:222px;
  object-fit:cover}
.photo-card .copy {
  padding:18px}
.photo-card h3 {
  font-size:19px;
  margin:0 0 6px}
.photo-card p {
  font-size:14px;
  color:var(--muted);
  margin:0}
.note {
  font-size:13px;
  color:#91b5c9;
  margin-top:17px}
.people {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px}
.person {
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--card);
  display:flex;
  align-items:center;
  min-height:142px}
.person img {
  width:132px;
  height:142px;
  object-fit:cover;
  flex-shrink:0}
.person div {
  padding:13px}
.person strong {
  display:block;
  font-size:15px;
  line-height:1.25}
.role {
  color:#52c9f6;
  font-weight:650;
  font-size:13px;
  margin:4px 0}
.level {
  font-size:13px;
  color:var(--muted)}
.split {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:32px;
  align-items:center}
.split img {
  border-radius:12px;
  width:100%;
  height:310px;
  object-fit:cover}
.aside {
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0d3043}
.aside p {
  margin:6px 0 18px}
.footer {
  border-top:1px solid var(--line);
  padding:30px 0;
  background:#03121d}
.footer .wrap {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center}
.footer img {
  width:120px}
.footer p {
  font-size:13px;
  color:var(--muted);
  margin:0}
.bottomlinks {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:13px}
.pill {
  display:inline-block;
  border-radius:4px;
  color:#a7e0fc;
  background:#114564;
  padding:4px 8px;
  font-size:12px;
  margin-top:12px}
@media(max-width:900px) {
  .people {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.cards {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.top .wrap {
  flex-wrap:wrap;
  padding:10px 0}
.nav {
  gap:12px}
.hero {
  min-height:510px}
}
@media(max-width:600px) {
  .cards,.people,.split {
  grid-template-columns:1fr}
.hero-inner {
  padding:52px 0}
.hero {
  background-position:60% center}
.photo-card img {
  height:230px}
.person img {
  width:112px;
  height:132px}
.person {
  min-height:132px}
.section {
  padding:52px 0}
.head {
  display:block}
.footer .wrap {
  display:block}
.footer p {
  margin:12px 0}
.nav {
  gap:12px;
  font-size:12px}
.brand span {
  display:none}
.brand img {
  width:75px;
  height:48px}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
.btn {
  transition:none}
}

.friend-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:26px}
.friend-card {
  padding:25px;
  background:#102d41;
  border:1px solid #285166;
  border-radius:12px}
.friend-card h3 {
  font-size:19px;
  margin:0 0 14px}
.friend-card p {
  color:#b3cbd6;
  font-size:15px}
.friend-card a {
  color:#78d9ff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px}
.friend-card a:hover {
  color:white}
.photo-card img {
  background:#071724}
.photo-card {
  min-width:0}
.hero h1 {
  text-wrap:balance}
.nav {
  gap:16px}
.top .wrap {
  min-height:82px}
@media(max-width:1000px) {
  .friend-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.nav {
  gap:10px}
}
@media(max-width:600px) {
  .friend-grid {
  grid-template-columns:1fr}
.nav a {
  font-size:12px}
}
section[id] {
  scroll-margin-top:115px}
