.hero-emblem { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; filter: drop-shadow(0 0 24px rgba(255,42,129,.65)); }
.hero-emblem__core { display: grid; width: 260px; aspect-ratio: 1; place-items: center; border: 2px solid #ffb02e; border-radius: 50%; color: #fff; background: radial-gradient(circle at 45% 65%, #ffb800 0, #e52f00 25%, #ad0066 53%, #21004f 75%, #05051e); box-shadow: 0 0 8px #ff5f3c, inset 0 0 0 2px #ff274d, inset 0 -35px 30px rgba(255,150,0,.72), 0 0 42px #b416ff; font-family: var(--az-font-display); font-size: 2.65rem; font-weight: 900; letter-spacing: .04em; }
.hero-emblem__wing { position: absolute; z-index: -1; width: 260px; height: 145px; border: 2px solid #ff9d19; background: linear-gradient(160deg, #ff224f 10%, #a0007e 48%, #19012d 49%); clip-path: polygon(100% 48%, 28% 0, 37% 29%, 0 18%, 25% 59%, 7% 63%, 40% 100%); box-shadow: 0 0 8px #ff4d5e, inset 0 0 0 1px #ff1f78; }
.hero-emblem__wing--left { right: calc(50% + 115px); transform: scaleX(-1) rotate(-5deg); }.hero-emblem__wing--right { left: calc(50% + 115px); transform: rotate(-5deg); }
.team-card { --card-accent: var(--az-pink); position: relative; overflow: hidden; min-height: 330px; border: 1px solid color-mix(in srgb, var(--card-accent), transparent 22%); border-radius: 7px; background: #0a0e28; box-shadow: 0 0 8px color-mix(in srgb, var(--card-accent), transparent 78%), inset 0 -1px var(--card-accent); isolation: isolate; }
.team-card__art, .team-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.team-card__art { background: radial-gradient(circle at 60% 33%, var(--card-accent), transparent 8%), linear-gradient(155deg, transparent 35%, color-mix(in srgb, var(--card-accent), transparent 30%) 36% 42%, transparent 43%), radial-gradient(ellipse at 50% 115%, var(--card-accent), transparent 58%), linear-gradient(145deg, #080b22, #17102d 55%, #050719); }
.team-card--2 { --card-accent: #ff9000; }.team-card--3 { --card-accent: #13aaff; }.team-card--4 { --card-accent: #00dfd0; }.team-card--5 { --card-accent: #c723e8; }
.team-card__art::after { position: absolute; right: 12%; bottom: 75px; width: 45%; height: 62%; border-radius: 50% 50% 15% 15%; content: ""; background: #050713; box-shadow: -45px 70px 0 15px rgba(3,5,16,.95); transform: skew(-8deg); }
.team-card__overlay { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(3,4,17,.32) 55%, #050715 90%); }
.team-card__body { position: absolute; z-index: 2; right: 18px; bottom: 17px; left: 18px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px; }.team-card__body strong { grid-column: 1 / -1; font-family: var(--az-font-display); font-size: 1.35rem; font-weight: 600; text-transform: uppercase; }.team-card__body small { font-size: .69rem; font-weight: 600; text-transform: uppercase; }.team-card__body .icon { width: 18px; color: var(--card-accent); }
.event-list { display: grid; gap: 14px; }.event-row { --event-accent: var(--az-pink); display: grid; min-height: 91px; grid-template-columns: 62px 1fr auto 20px; align-items: center; gap: 16px; padding: 12px 16px; border: 1px solid rgba(116,81,244,.34); border-radius: 6px; background: rgba(2,5,20,.5); box-shadow: 0 0 8px rgba(90,48,231,.08); }.event-row time { display: grid; width: 56px; height: 64px; place-content: center; border: 1px solid var(--event-accent); border-radius: 6px; color: var(--event-accent); background: color-mix(in srgb, var(--event-accent), transparent 93%); box-shadow: 0 0 7px color-mix(in srgb, var(--event-accent), transparent 55%), inset 0 0 10px color-mix(in srgb, var(--event-accent), transparent 91%); text-align: center; text-shadow: 0 0 8px color-mix(in srgb, var(--event-accent), transparent 25%); }.event-row time strong { font-family: var(--az-font-display); font-size: 1.5rem; font-weight: 600; line-height: 1; }.event-row time span { margin-top: 4px; font-size: .76rem; font-weight: 600; letter-spacing: .04em; line-height: 1; }.event-row__content { display: grid; }.event-row__content strong { font-family: var(--az-font-display); font-size: 1.05rem; font-weight: 500; letter-spacing: .02em; }.event-row__content small, .event-row__meta small { color: var(--az-muted); font-size: .71rem; }.event-row__meta { display: grid; gap: 3px; text-align: right; }.event-row__meta strong { font-family: var(--az-font-display); font-size: .98rem; font-weight: 500; letter-spacing: .025em; line-height: 1.1; }.event-row__meta small { color: #a390ff; text-transform: uppercase; }.event-row > .icon { width: 17px; color: #b39fff; }
.news-panel { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }.news-panel .panel-heading { grid-column: 1 / -1; }.featured-news { position: relative; overflow: hidden; min-height: 330px; border: 1px solid rgba(156,44,255,.35); border-radius: 8px; background: #080b25; }.featured-news > img, .featured-news__visual { display: block; width: 100%; height: 175px; object-fit: cover; background: radial-gradient(circle at 50% 65%, #d400a2, transparent 5%), radial-gradient(ellipse at 50% 100%, #5913cb, transparent 48%), linear-gradient(140deg, #0c1643, #571193 54%, #08081f); }.featured-news > div { padding: 18px; }.tag { color: var(--az-pink); font-size: .62rem; font-weight: 600; text-transform: uppercase; }.tag--cyan { color: var(--az-cyan); }.tag--orange { color: var(--az-orange); }.featured-news h3 { margin: 7px 0 9px; font-size: 1.2rem; font-weight: 600; }.featured-news p { margin-bottom: 10px; color: var(--az-muted); font-size: .78rem; }.featured-news time, .news-list time { color: #777d99; font-size: .63rem; text-transform: uppercase; }.news-list { display: grid; gap: 12px; }.news-list article { display: grid; grid-template-columns: 110px 1fr; gap: 13px; align-items: center; }.news-list img, .news-thumb { display: block; width: 110px; height: 88px; border-radius: 6px; object-fit: cover; background: radial-gradient(circle at 45% 55%, #f41172, transparent 9%), linear-gradient(135deg, #122c72, #710e81 50%, #0a0c27); }.news-list article:nth-child(2) .news-thumb { background: radial-gradient(circle, #ff2c47, transparent 12%), linear-gradient(145deg, #33113e, #9b092a, #080a22); }.news-list h3 { margin: 4px 0 6px; font-size: .86rem; font-weight: 600; line-height: 1.2; }
@media (min-width: 1181px) {
  body.home .news-panel { grid-template-rows: auto minmax(0, 1fr); }
  body.home .news-panel .panel-heading { margin-bottom: 0; }
  body.home .news-panel .featured-news { min-height: 300px; }
  body.home .news-panel .featured-news > img,
  body.home .news-panel .featured-news > .featured-news__visual { height: 145px; }
  body.home .news-panel .featured-news > div { padding: 15px; }
}
.channel-card { padding: 14px; }
.association-card { overflow: hidden; display: grid; height: 272px; grid-template-columns: minmax(0, 1.2fr) minmax(190px, .8fr); padding: 0; background: radial-gradient(circle at 8% 100%, rgba(244,17,114,.18), transparent 40%), linear-gradient(145deg, rgba(11,16,47,.94), rgba(4,7,25,.92)); }
.association-card__content { position: relative; z-index: 2; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; min-width: 0; padding: 13px 15px; }
.association-card__visual { position: relative; overflow: hidden; height: 100%; min-height: 0; margin: 0; border-left: 1px solid rgba(146,85,255,.3); background: #080b25; }
.association-card__visual::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(5,7,27,.55), transparent 32%), linear-gradient(180deg, transparent 62%, rgba(5,7,27,.34)); }
.association-card__visual img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 50% 39%; transition: transform .45s ease; }
.association-card:hover .association-card__visual img { transform: scale(1.025); }
.association-card h3, .channel-card h3 { margin: 5px 0 7px; font-size: clamp(1.05rem, 1.12vw, 1.22rem); font-weight: 600; line-height: 1.08; }
.association-card p, .channel-card p { display: -webkit-box; overflow: hidden; color: #b9bdd1; font-size: .74rem; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.association-card .text-link { margin-top: 9px; font-size: .7rem; }
.channel-kicker { color: var(--az-orange); font-family: var(--az-font-display); font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.channel-card { position: relative; overflow: hidden; display: flex; height: 272px; align-items: flex-start; flex-direction: column; min-width: 0; gap: 0; padding: 18px 18px 22px; }
.channel-card > :not(.channel-card__watermark) { position: relative; z-index: 2; }
.channel-card--discord { --channel-accent: #7784ff; background: radial-gradient(circle at 100% 0, rgba(91,81,255,.28), transparent 47%), linear-gradient(145deg, rgba(12,14,52,.94), rgba(5,7,28,.92)); }
.channel-card--teamspeak { --channel-accent: var(--az-cyan); background: radial-gradient(circle at 100% 0, rgba(0,169,255,.22), transparent 47%), linear-gradient(145deg, rgba(8,22,48,.94), rgba(4,7,25,.92)); }
.channel-card__brand { display: flex; align-items: center; gap: 7px; }
.channel-card__icon { --az-cut: 6px; --az-border-start: color-mix(in srgb, var(--channel-accent), #fff 8%); --az-border-end: var(--channel-accent); display: grid; width: 38px; height: 38px; flex: 0 0 38px; border: 0; color: var(--channel-accent); background: color-mix(in srgb, var(--channel-accent), transparent 90%); box-shadow: 0 0 12px color-mix(in srgb, var(--channel-accent), transparent 78%), inset 0 0 8px color-mix(in srgb, var(--channel-accent), transparent 88%); place-items: center; }
.channel-card__icon .icon, .channel-card__icon .social-icon { width: 20px; height: 20px; }
.channel-card__body { min-width: 0; margin-top: 8px; }
.channel-card__body h3 { margin: 0 0 8px; }
.channel-card__body p { margin-bottom: 0; -webkit-line-clamp: 2; }
.channel-card__signals { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 9px; }
.channel-card__signals li { position: relative; padding: 4px 7px 4px 15px; color: #e5e7f4; background: color-mix(in srgb, var(--channel-accent), transparent 88%); font-size: .54rem; font-weight: 600; line-height: 1; white-space: nowrap; }
.channel-card__signals li::before { position: absolute; top: 50%; left: 6px; width: 4px; height: 4px; border-radius: 50%; content: ""; background: var(--channel-accent); box-shadow: 0 0 6px var(--channel-accent); transform: translateY(-50%); }
.channel-card__watermark { position: absolute; z-index: 0; top: 1px; right: -18px; color: var(--channel-accent); opacity: .095; pointer-events: none; transform: rotate(-8deg); }
.channel-card__watermark .icon, .channel-card__watermark .social-icon { width: 165px; height: 165px; stroke-width: 1.1; }
.community-section .channel-card .button { min-height: 36px; margin-top: auto; padding-inline: 15px; font-size: .7rem; }
.channel-address { display: block; max-width: 100%; margin-top: auto; padding: 7px 9px; color: var(--az-cyan); background: rgba(0,0,0,.22); font-size: .65rem; overflow-wrap: anywhere; }
.join-card { position: relative; overflow: hidden; display: grid; min-height: 310px; grid-template-columns: 1.1fr 1fr; align-items: center; padding: 35px; border-color: rgba(217,25,224,.55); background: #090924; isolation: isolate; }
.join-card::after { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, transparent 0 42%, rgba(5,5,25,.46) 57%, rgba(5,5,25,.93) 100%); }
.join-card__image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.join-card__content { position: relative; z-index: 2; grid-column: 2; }.join-card h2 { margin-bottom: 10px; font-size: 2rem; font-weight: 600; }.join-card p { color: #c3c5d7; font-size: .84rem; }
.partners-section h2 { display: flex; align-items: center; gap: 22px; color: #eeeaff; font-size: 1.45rem; text-align: center; }
.partners-section h2::before, .partners-section h2::after { height: 1px; flex: 1; content: ""; background: linear-gradient(90deg, transparent, rgba(151,73,255,.45)); }
.partners-section h2::after { transform: scaleX(-1); }
.partner-marquee {
  --partner-gap: clamp(32px, 5vw, 76px);
  position: relative;
  overflow: hidden;
  padding-block: 22px 94px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.partner-list {
  display: flex;
  width: max-content;
  color: #aeb2c8;
  animation: azilum-partners-scroll var(--partner-duration, 30s) linear infinite;
  will-change: transform;
}
.partner-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--partner-gap);
  padding-right: var(--partner-gap);
}
.partner-item {
  position: relative;
  z-index: 1;
  display: grid;
  width: clamp(150px, 14vw, 210px);
  height: 86px;
  place-items: center;
  color: #eef3ff;
  font-size: clamp(1.05rem, 2vw, 1.7rem);
  font-weight: 800;
  white-space: nowrap;
}
.partner-item__logo { display: grid; width: 100%; height: 100%; place-items: center; }
.partner-group a { opacity: .82; transition: opacity .2s ease, transform .2s ease, filter .2s ease; }
.partner-group a:hover, .partner-group a:focus-visible { z-index: 4; opacity: 1; transform: scale(1.04); filter: drop-shadow(0 0 12px rgba(66, 217, 255, .24)); }
.partner-group img { width: auto; max-width: 180px; height: auto; max-height: 70px; object-fit: contain; }
.partner-tooltip {
  position: absolute;
  z-index: 20;
  top: calc(100% + 10px);
  left: 50%;
  display: grid;
  width: min(250px, 82vw);
  min-height: 54px;
  gap: 3px;
  padding: 10px 13px;
  color: #f7f8ff;
  background: linear-gradient(135deg, rgba(16, 19, 50, .7), rgba(7, 10, 29, .54));
  border: 1px solid rgba(118, 207, 255, .3);
  border-radius: 9px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .06);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -5px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  visibility: hidden;
  white-space: normal;
  -webkit-backdrop-filter: blur(15px) saturate(125%);
  backdrop-filter: blur(15px) saturate(125%);
}
.partner-tooltip::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 8px;
  height: 8px;
  content: "";
  background: rgba(16, 19, 50, .72);
  border-top: 1px solid rgba(118, 207, 255, .3);
  border-left: 1px solid rgba(118, 207, 255, .3);
  transform: translate(-50%, 4px) rotate(45deg);
}
.partner-tooltip strong { font-size: .72rem; line-height: 1.2; }
.partner-tooltip small { color: #c2c7da; font-size: .62rem; font-weight: 500; line-height: 1.35; }
.partner-item:hover .partner-tooltip,
.partner-item:focus .partner-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}
.partner-marquee:hover .partner-list, .partner-marquee:focus-within .partner-list { animation-play-state: paused; }
/* Le décalage vaut exactement un groupe : la boucle est donc invisible quel que
   soit le nombre de groupes. Le script en ajoute assez pour couvrir l'écran. */
@keyframes azilum-partners-scroll {
  to { transform: translateX(calc(-1 * var(--partner-shift, 50%))); }
}
@media (prefers-reduced-motion: reduce) {
  .partner-list { width: 100%; animation: none; transform: none; will-change: auto; }
  .partner-group:first-child { width: 100%; flex-wrap: wrap; justify-content: center; padding-right: 0; }
  .partner-group[aria-hidden="true"] { display: none; }
}
.site-footer { border-top: 1px solid rgba(95,69,225,.24); padding: 56px 0 24px; background: rgba(2,4,17,.72); }.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, .75fr); gap: 42px; }.footer-brand p, .site-footer p { margin-top: 20px; color: #85899f; font-size: .76rem; }.footer-socials { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 19px; }.footer-socials a { display: grid; width: 31px; height: 31px; border: 1px solid rgba(131,85,255,.35); color: #b7bad2; background: rgba(9,11,35,.7); font-size: .56rem; font-weight: 800; place-items: center; }.footer-socials a .social-icon { width: 16px; height: 16px; }.footer-socials a:hover { border-color: var(--az-pink); color: #fff; }.site-footer h2 { margin-bottom: 18px; font-size: .8rem; }.site-footer li { margin-bottom: 6px; color: #9a9db0; font-size: .76rem; }.site-footer li a:hover { color: #fff; }.site-footer__credentials { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 36px; color: #777c94; font-size: .62rem; }.site-footer__credentials a { transition: color .2s ease, opacity .2s ease; }.site-footer__credentials a:hover { color: #c7cad8; opacity: 1; }.site-footer__carbon { display: flex; align-items: baseline; gap: 8px; opacity: .72; }.site-footer__carbon strong { color: #9ba0b6; font-weight: 700; }.site-footer__carbon small { color: inherit; font-size: inherit; }.site-footer__carbon small::before { margin-right: 8px; content: "·"; }.site-footer__copyright { display: inline-flex; opacity: .68; }.site-footer__copyright img { display: block; width: 88px; height: 15px; }.site-footer__bottom { display: flex; justify-content: space-between; margin-top: 14px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.06); color: #656a82; font-size: .68rem; }.site-footer__copyright-line { display: flex; flex-wrap: wrap; gap: 6px 0; }.site-footer__credit::before { margin-inline: 10px; content: "·"; }.site-footer__credit a { color: #858aa2; transition: color .2s ease; }.site-footer__credit a:hover { color: #fff; }.post-card { overflow: hidden; }.post-card > a img { width: 100%; aspect-ratio: 1.4; object-fit: cover; }.post-card__body { padding: 22px; }.post-card__body time { color: var(--az-pink); font-size: .67rem; text-transform: uppercase; }.post-card h2 { margin: 9px 0; font-size: 1.3rem; }.post-card p { color: var(--az-muted); font-size: .85rem; }
.association-hero__fact { --az-cut: 5px; position: relative; padding: 9px 14px; border: 0; color: #d9d8ea; background: linear-gradient(115deg, #7845f2, #b32ad9); clip-path: polygon(var(--az-cut) 0, calc(100% - var(--az-cut)) 0, 100% var(--az-cut), 100% calc(100% - var(--az-cut)), calc(100% - var(--az-cut)) 100%, var(--az-cut) 100%, 0 calc(100% - var(--az-cut)), 0 var(--az-cut)); filter: drop-shadow(0 0 5px rgba(139,69,255,.2)); font-family: var(--az-font-display); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; isolation: isolate; }
.association-hero__fact::before { position: absolute; z-index: -1; inset: 1px; content: ""; background: rgba(8,10,36,.96); clip-path: polygon(calc(var(--az-cut) - 1px) 0, calc(100% - var(--az-cut) + 1px) 0, 100% calc(var(--az-cut) - 1px), 100% calc(100% - var(--az-cut) + 1px), calc(100% - var(--az-cut) + 1px) 100%, calc(var(--az-cut) - 1px) 100%, 0 calc(100% - var(--az-cut) + 1px), 0 calc(var(--az-cut) - 1px)); }
.association-photo { overflow: hidden; min-height: 500px; margin: 0; }.association-photo img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.association-story__content h2 { margin-bottom: 24px; font-size: clamp(2.25rem, 4vw, 4.2rem); }.association-story__text { color: #b9bdcf; }.association-story__text p { margin-bottom: 18px; }
.association-identity { display: grid; grid-template-columns: .8fr .8fr 1.4fr; margin-top: 30px; padding: 20px; }.association-identity div { display: grid; padding-inline: 18px; border-right: 1px solid rgba(255,255,255,.08); }.association-identity div:last-child { border: 0; }.association-identity strong { color: #fff; font-family: var(--az-font-display); font-size: clamp(1.15rem, 2vw, 1.7rem); line-height: 1; overflow-wrap: anywhere; }.association-identity span { margin-top: 7px; color: var(--az-muted); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.association-value { min-height: 235px; padding: 30px; background: radial-gradient(circle at 100% 0, rgba(98,52,255,.15), transparent 42%), linear-gradient(145deg, rgba(10,14,43,.94), rgba(4,7,25,.92)); }.association-value > span { color: var(--az-pink); font-family: var(--az-font-display); font-size: .74rem; letter-spacing: .16em; }.association-value h3 { margin: 34px 0 13px; font-size: 1.35rem; }.association-value p { margin: 0; color: #aeb2c7; font-size: .83rem; }
.association-community-image { position: relative; overflow: hidden; min-height: clamp(320px, 32vw, 460px); margin: 0; }.association-community-image::after { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(3,5,22,.87) 0%, rgba(3,5,22,.38) 50%, transparent 76%), linear-gradient(180deg, transparent 50%, rgba(3,5,22,.76) 100%); }.association-community-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.association-community-image figcaption { position: absolute; z-index: 2; top: 50%; left: clamp(28px, 6vw, 80px); max-width: 560px; transform: translateY(-50%); }.association-community-image h2 { margin-bottom: 15px; font-size: clamp(2.2rem, 4vw, 4.4rem); }.association-community-image p { color: #d0d2df; }
.association-cta { background: radial-gradient(circle at 90% 20%, rgba(130,48,255,.18), transparent 35%), linear-gradient(135deg, rgba(14,13,55,.96), rgba(5,7,27,.94)); }.association-cta h2 { margin-bottom: 14px; font-size: clamp(2rem, 3vw, 3.4rem); }.association-cta p { max-width: 650px; margin: 0; color: #b5b9cc; }
.inner-hero__facts span { --az-cut: 5px; --az-border-start: rgba(114, 83, 255, .82); --az-border-end: rgba(223, 44, 210, .76); --az-frame-fill: rgba(8, 10, 36, .86); padding: 8px 13px; border: 0; color: #e3e2f2; font-family: var(--az-font-display); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.game-card { --game-accent: #7845f2; overflow: hidden; display: flex; min-width: 0; flex-direction: column; border-color: color-mix(in srgb, var(--game-accent), transparent 45%); background: linear-gradient(150deg, rgba(11,14,45,.98), rgba(4,7,25,.96)); }
.game-card__visual { position: relative; overflow: hidden; aspect-ratio: 460 / 215; margin: 0; background: radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--game-accent), transparent 25%), transparent 30%), #090c25; }
.game-card__visual::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(180deg, transparent 48%, rgba(4,6,23,.75)); }
.game-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.game-card:hover .game-card__visual img { transform: scale(1.035); }
.game-card__fallback { display: grid; height: 100%; color: color-mix(in srgb, var(--game-accent), #fff 20%); font-family: var(--az-font-display); font-size: 3rem; place-items: center; }
.game-card__content { display: flex; min-height: 245px; flex: 1; flex-direction: column; padding: 23px; }
.game-card__index { color: var(--game-accent); font-family: var(--az-font-display); font-size: .67rem; letter-spacing: .16em; }
.game-card h3 { margin: 15px 0 12px; font-size: clamp(1.2rem, 1.6vw, 1.55rem); overflow-wrap: anywhere; }
.game-card p { flex: 1; margin-bottom: 20px; color: #aeb2c7; font-size: .79rem; }
.game-card .text-link { color: color-mix(in srgb, var(--game-accent), #fff 35%); }
.games-catalogue .game-card__content { min-height: 225px; padding: 20px; }
.game-card .button--game { --az-cut: 5px; --az-border-start: #7845f2; --az-border-end: #b32ad9; width: 100%; min-height: 50px; justify-content: flex-start; padding-inline: 16px; filter: drop-shadow(0 0 4px color-mix(in srgb, var(--game-accent), transparent 46%)); font-family: var(--az-font-body); font-size: .76rem; font-weight: 500; letter-spacing: .075em; }
.game-card .button--game::before { background: radial-gradient(ellipse at 8% 50%, color-mix(in srgb, var(--game-accent), transparent 76%), transparent 48%), linear-gradient(110deg, rgba(17,10,45,.98), rgba(7,7,29,.98)); box-shadow: inset 0 0 17px color-mix(in srgb, var(--game-accent), transparent 90%); }
.game-card .button--game span { min-width: 0; flex: 1; text-align: left; }
.game-card .button--game .icon { width: 17px; height: 17px; flex: 0 0 auto; transition: transform .22s ease, filter .22s ease; }
.game-card .button--game:hover { transform: translateY(-3px); filter: brightness(1.13) drop-shadow(0 6px 13px color-mix(in srgb, var(--game-accent), transparent 62%)); }
.game-card .button--game:hover .icon:last-child { transform: translateX(3px); }
.game-card .button--game:focus-visible { outline-color: color-mix(in srgb, var(--game-accent), #fff 25%); }
.testimonial-carousel { --testimonial-columns: 3; --testimonial-gap: 16px; position: relative; }
.testimonial-track { display: flex; gap: var(--testimonial-gap); overflow-x: auto; padding: 4px 4px 14px; margin: -4px; cursor: grab; scrollbar-width: none; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.testimonial-track:active { cursor: grabbing; }.testimonial-track::-webkit-scrollbar { display: none; }
.testimonial-card { --testimonial-accent: var(--az-pink); position: relative; display: flex; min-width: 0; min-height: 300px; flex: 0 0 calc((100% - (var(--testimonial-gap) * (var(--testimonial-columns) - 1))) / var(--testimonial-columns)); flex-direction: column; padding: 27px; background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--testimonial-accent), transparent 83%), transparent 42%), linear-gradient(145deg, rgba(10,14,43,.96), rgba(4,7,25,.95)); scroll-snap-align: start; scroll-snap-stop: always; }
.testimonial-card::after { position: absolute; top: 14px; right: 21px; content: "“"; color: var(--testimonial-accent); font-family: Georgia, serif; font-size: 4.5rem; line-height: 1; opacity: .28; }
.testimonial-card--2 { --testimonial-accent: var(--az-orange); }.testimonial-card--3 { --testimonial-accent: var(--az-cyan); }
.testimonial-card blockquote { flex: 1; margin: 0; padding-right: 18px; }
.testimonial-card blockquote p { margin: 0; color: #c4c7d7; font-size: .83rem; line-height: 1.65; }
.testimonial-card figcaption { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.08); }
.testimonial-card__avatar-frame { --avatar-cut: 7px; display: grid; width: 52px; height: 52px; flex: 0 0 52px; padding: 1px; background: linear-gradient(135deg, color-mix(in srgb, var(--testimonial-accent), #fff 16%), var(--testimonial-accent) 58%, #7845f2 100%); clip-path: polygon(var(--avatar-cut) 0, calc(100% - var(--avatar-cut)) 0, 100% var(--avatar-cut), 100% calc(100% - var(--avatar-cut)), calc(100% - var(--avatar-cut)) 100%, var(--avatar-cut) 100%, 0 calc(100% - var(--avatar-cut)), 0 var(--avatar-cut)); filter: drop-shadow(0 0 5px color-mix(in srgb, var(--testimonial-accent), transparent 62%)); place-items: stretch; }
.testimonial-card__avatar { --avatar-inner-cut: 6px; width: 100%; height: 100%; object-fit: cover; clip-path: polygon(var(--avatar-inner-cut) 0, calc(100% - var(--avatar-inner-cut)) 0, 100% var(--avatar-inner-cut), 100% calc(100% - var(--avatar-inner-cut)), calc(100% - var(--avatar-inner-cut)) 100%, var(--avatar-inner-cut) 100%, 0 calc(100% - var(--avatar-inner-cut)), 0 var(--avatar-inner-cut)); }
.testimonial-card__initial { display: grid; color: #fff; background: linear-gradient(145deg, #291267, color-mix(in srgb, var(--testimonial-accent), #420d68 28%)); font-family: var(--az-font-display); place-items: center; }
.testimonial-card figcaption > span:last-child { display: grid; }
.testimonial-card figcaption strong { font-family: var(--az-font-display); font-size: .95rem; text-transform: uppercase; }
.testimonial-card figcaption small { color: var(--az-muted); font-size: .68rem; }
.testimonial-card figcaption .testimonial-card__details { color: color-mix(in srgb, var(--testimonial-accent), #c9c7dd 52%); font-size: .61rem; letter-spacing: .035em; }
.testimonial-carousel__controls { display: grid; max-width: 420px; grid-template-columns: 42px auto 1fr 42px; align-items: center; gap: 13px; margin: 22px auto 0; }
.testimonial-carousel__button { --az-cut: 5px; --az-border-start: #7845f2; --az-border-end: #d52bce; display: grid; width: 42px; height: 42px; min-height: 42px; padding: 0; border: 0; color: #fff; cursor: pointer; place-items: center; }
.testimonial-carousel__button .icon { width: 17px; }.testimonial-carousel__button--previous .icon { transform: rotate(180deg); }
.testimonial-carousel__button:hover { color: var(--az-orange); }.testimonial-carousel__button:disabled { cursor: not-allowed; opacity: .38; }.testimonial-carousel__button:disabled:hover { transform: none; filter: none; }
.testimonial-carousel__status { display: flex; gap: 5px; margin: 0; color: #747a97; font-family: var(--az-font-display); font-size: .75rem; }
.testimonial-carousel__status span:first-child { color: #fff; }
.testimonial-carousel__progress { overflow: hidden; display: block; height: 1px; background: rgba(137,97,255,.23); }
.testimonial-carousel__progress > span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--az-orange), var(--az-pink), var(--az-purple)); transform: scaleX(var(--testimonial-progress, .2)); transform-origin: left center; transition: transform .25s ease; }
.community-benefit-grid .association-value h2 { margin: 34px 0 13px; font-size: 1.35rem; }

/* Keep the footer's small informational text above the WCAG AA contrast threshold. */
.site-footer__credentials { color: var(--az-muted); }
.site-footer__carbon { opacity: 1; }
.site-footer__carbon strong { color: #d6d9e6; }
.site-footer__bottom { color: var(--az-muted); }
.site-footer__credit a { color: #c7cad8; }
