@import url('https://fonts.googleapis.com/css2?family=Yanone+Kaffeesatz:wght@400&display=swap');

:root {
  --spark-bg: #0e0f0f;
  --spark-panel: rgba(25, 28, 31, .92);
  --spark-panel-soft: rgba(31, 35, 39, .82);
  --spark-line: rgba(255, 255, 255, .10);
  --spark-text: #c5cbd1;
  --spark-muted: #89939e;
  --spark-heading: #f5f7f9;
  --spark-accent: #68acf8;
  --spark-accent-2: #a7d0ff;
  --spark-width: 1120px;
  --spark-radius: 8px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 280px;
  background: var(--spark-bg);
  color: var(--spark-text);
  font: 16px/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}
body.font-georgia h1, body.font-georgia h2, body.font-georgia h3, body.font-georgia h4 { font-family: Georgia, "Times New Roman", serif; }
body.font-trebuchet h1, body.font-trebuchet h2, body.font-trebuchet h3, body.font-trebuchet h4 { font-family: "Trebuchet MS", sans-serif; }
a { color: var(--spark-accent-2); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover, a:focus-visible { color: #fff; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
iframe { border: 0; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4 { color: var(--spark-heading); line-height: 1.2; font-weight: 400; }
h1 { font-size: clamp(2rem, 5vw, 3.8rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.35rem); }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }

.spark-backdrop {
  position: fixed;
  inset: 0;
  z-index: -2;
  background-color: #141516;
  background-position: 50% 0;
  background-repeat: repeat-x;
  background-size: auto;
}
.background-nebula .spark-backdrop { background-image: url(../images/background/nebula_bg.jpg); }
.background-wings .spark-backdrop { background-image: url(../images/background/wings_bg.jpg); }
.background-disco .spark-backdrop { background-image: url(../images/background/disco_bg.jpg); }
.background-jellyfish .spark-backdrop { background-image: url(../images/background/jellyfish_bg.jpg); }
.background-spotlights .spark-backdrop { background-image: url(../images/background/spotlights_bg.jpg); }
.background-plain .spark-backdrop { background-image: none; }
.spark-backdrop::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 480px;
  background: url(../images/background/nebula_overlay.png) 50% 0 / auto 100% no-repeat;
  opacity: .92;
  pointer-events: none;
}
.spark-backdrop::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -105px;
  left: 0;
  width: 46vw;
  min-width: 360px;
  height: 360px;
  background: radial-gradient(ellipse at center, rgba(178,225,255,.36) 0%, rgba(84,161,224,.18) 28%, rgba(25,83,147,.07) 52%, transparent 74%);
  filter: blur(18px);
  mix-blend-mode: screen;
  opacity: .54;
  transform: translateX(-48vw);
  pointer-events: none;
}
.background-wings .spark-backdrop::after { background-image: url(../images/background/wings_overlay.png); }
.background-disco .spark-backdrop::after { background-image: url(../images/background/disco_overlay.png); }
.background-jellyfish .spark-backdrop::after { background-image: url(../images/background/jellyfish_overlay.png); }
.background-spotlights .spark-backdrop::after { background-image: url(../images/background/spotlights_overlay.png); }
.background-plain .spark-backdrop::after { display: none; }
.background-plain .spark-backdrop::before { display: none; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .7rem 1rem; background: #fff; color: #111; }
.skip-link:focus { top: 1rem; }
.page-shell { width: min(calc(100% - 32px), var(--spark-width)); margin-inline: auto; }
.toolbar { min-height: 40px; padding: .55rem 0; color: #6f7479; font-size: .78rem; }
.site-header {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: 20;
  min-height: 150px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 1.35rem;
  padding: 2.25rem 0 1.25rem;
  border-bottom: 0;
}
.sticky-header .site-header { position: relative !important; top: auto !important; min-height: auto; padding-top: .8rem; background: transparent; backdrop-filter: none; }
.brand { display: flex; justify-content: center; }
.brand img { display: block; width: min(460px, 72vw); max-height: 118px; object-fit: contain; object-position: center; filter: drop-shadow(0 0 16px rgba(126,190,255,.32)); }
.rlsg-language-switcher { position: absolute; top: 2.4rem; right: 0; display: flex; align-items: center; gap: .65rem; padding: .45rem .55rem; border: 1px solid rgba(155,202,255,.2); border-radius: 9px; background: rgba(5,12,21,.42); backdrop-filter: blur(8px); }
.rlsg-language-switcher a { display: block; line-height: 0; opacity: .58; border-radius: 6px; transition: opacity .2s ease,transform .2s ease,box-shadow .2s ease; }
.rlsg-language-switcher a:hover, .rlsg-language-switcher a:focus-visible, .rlsg-language-switcher a.is-active { opacity: 1; transform: translateY(-1px); box-shadow: 0 0 0 2px rgba(117,184,255,.42),0 7px 18px rgba(0,0,0,.32); }
.rlsg-language-switcher img { display: block; width: 42px; height: 28px; object-fit: cover; border-radius: 5px; }
.primary-navigation { width: 100%; }
.primary-navigation ul { display: flex; align-items: stretch; justify-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.primary-navigation li { position: relative; }
.primary-navigation li + li { border-left: 1px solid rgba(255,255,255,.62); }
.primary-navigation a { display: flex; align-items: center; min-height: 48px; padding: .35rem clamp(.7rem, 1.2vw, 1.05rem); color: #f1f1f1; text-decoration: none; text-transform: uppercase; font-family: "Yanone Kaffeesatz", "Arial Narrow", Impact, sans-serif; font-size: 30px; font-weight: 400; letter-spacing: 0; line-height: 1; text-shadow: 0 2px 3px #000; white-space: nowrap; }
.primary-navigation a:hover, .primary-navigation .active > a, .primary-navigation .current > a { color: #fff; background: transparent; box-shadow: inset 0 -2px #fff; }
.primary-navigation ul ul { display: none; position: absolute; top: 100%; left: 0; width: 240px; padding: .55rem; background: rgba(24,27,30,.98); border: 1px solid var(--spark-line); box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.primary-navigation li:hover > ul, .primary-navigation li:focus-within > ul { display: block; }
.primary-navigation ul ul a { text-transform: none; letter-spacing: normal; }
.nav-toggle { display: none; color: #fff; border: 1px solid var(--spark-line); background: rgba(20,22,24,.9); padding: .55rem .7rem; border-radius: 5px; cursor: pointer; }
.nav-toggle span { display: block; width: 22px; height: 2px; margin: 4px 0; background: currentColor; }
.nav-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.hero { min-height: min(58vh, 620px); display: grid; place-items: center; padding: clamp(3rem, 9vw, 7.5rem) 0; text-align: center; }
.hero h1 { margin: 0 0 1rem; text-shadow: 0 2px 18px #000; }
.hero p { max-width: 720px; margin-inline: auto; font-size: clamp(1rem, 2vw, 1.3rem); color: #d9dfe5; }
.breadcrumbs { margin: 1rem 0; color: var(--spark-muted); font-size: .88rem; }
.breadcrumbs ol, .breadcrumbs ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }

.historic-spotlight {
  position: relative;
  width: min(100%, 900px);
  min-height: 0;
  margin: 1.15rem auto 1.45rem;
  overflow: hidden;
  background: #090a0b;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 15px 38px rgba(0,0,0,.36);
}
.historic-spotlight img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; filter: saturate(.72) contrast(1.06); }
.historic-spotlight-caption { position: absolute; inset: auto 0 0; padding: 2.5rem 1.35rem 1rem; background: linear-gradient(transparent, rgba(0,0,0,.88)); transform: translateY(100%); transition: transform .25s ease; }
.historic-spotlight:hover .historic-spotlight-caption, .historic-spotlight:focus-within .historic-spotlight-caption { transform: translateY(0); }
.historic-spotlight h2, .historic-spotlight p { margin: 0; color: #fff; }
.historic-spotlight h2 { font-size: 1.55rem; }
.historic-spotlight p { color: #cfd4d8; }

/* Accueil immersif */
.rlsg-home-hero { position: relative; overflow: hidden; isolation: isolate; border: 1px solid rgba(155,202,255,.24); box-shadow: 0 24px 70px rgba(0,0,0,.48); background: linear-gradient(180deg,rgba(9,13,19,.96),#030507); }
.rlsg-home-hero-visual { position: relative; width: 100%; aspect-ratio: 2 / 1; overflow: hidden; border-top: 1px solid rgba(155,202,255,.18); background: #020304; }
.rlsg-home-hero-backdrop { position: absolute; inset: -7%; width: 114%; height: 114%; object-fit: cover; object-position: center; animation: rlsgHeroDrift 24s ease-in-out infinite alternate; filter: blur(22px) contrast(1.15) brightness(.38) saturate(1.2); }
.rlsg-home-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; filter: contrast(1.1) brightness(.88); }
.rlsg-home-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,4,8,.25),transparent 20%,transparent 80%,rgba(2,4,8,.25)); }
.rlsg-home-kicker, .rlsg-section-kicker { margin: 0 0 .65rem; color: #82bcff; font: 700 .78rem/1.2 Arial,sans-serif; text-transform: uppercase; letter-spacing: .23em; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.button-primary { border-color: #69adfa !important; background: linear-gradient(135deg,#3c8ee9,#78b9ff) !important; color: #06111e !important; box-shadow: 0 0 24px rgba(79,158,248,.28); }
.button-ghost { border-color: rgba(188,219,255,.58) !important; background: rgba(5,10,17,.54) !important; color: #dcecff !important; backdrop-filter: blur(7px); }
@keyframes rlsgHeroDrift { from { transform: scale(1.01) translateX(-.8%); } to { transform: scale(1.07) translateX(.8%); } }
@keyframes rlsgHeroReveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.rlsg-home-albums { margin-top: clamp(1rem,2.5vw,2rem); }
.rlsg-home-news, .rlsg-home-videos { margin-top: clamp(3.5rem, 8vw, 6.5rem); }
.rlsg-home-news > h2, .rlsg-home-videos > h2 { margin: 0 0 1.5rem; color: #d6e9ff; font-size: clamp(2rem,4vw,3rem); text-align: center; }
.rlsg-home-news .rlsg-section-kicker, .rlsg-home-videos .rlsg-section-kicker { text-align: center; }
.rlsg-home-news .rlsg-news-card { transform: translateY(0); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rlsg-home-news .rlsg-news-card:hover { transform: translateY(-7px); border-color: rgba(115,180,255,.55); box-shadow: 0 20px 45px rgba(0,0,0,.35); }
.rlsg-news-card-body h3 { margin: .65rem 0; font-size: 1.35rem; line-height: 1.12; }
.rlsg-news-card-body h3 a { color: #b9d9ff; }
.rlsg-press-card .rlsg-news-image img { object-fit: cover; object-position: center top; }
.rlsg-press-card .rlsg-news-card-body { min-height: 145px; }
.rlsg-home-more { margin: 1.7rem 0 0; text-align: center; }
.rlsg-home-video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.rlsg-home-video { overflow: hidden; color: #d7eaff; text-decoration: none; border: 1px solid rgba(154,199,251,.22); background: rgba(9,13,18,.82); box-shadow: 0 12px 30px rgba(0,0,0,.25); transition: transform .25s ease,border-color .25s ease; }
.rlsg-home-video:hover { transform: translateY(-6px); border-color: #70b3ff; color: #fff; }
.rlsg-home-video-image { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: #000; }
.rlsg-home-video-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.rlsg-home-video:hover img { transform: scale(1.045); }
.rlsg-home-video-image i { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 62px; height: 44px; border-radius: 13px; color: #fff; font-style: normal; background: #f21d17; box-shadow: 0 8px 22px rgba(0,0,0,.45); }
.rlsg-home-video strong { display: block; padding: 1rem; text-align: center; font-size: 1.05rem; }

/* Boutique */
.rlsg-shop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin-top: 2rem; }
.rlsg-shop-card { padding: clamp(1.25rem,3vw,2rem); text-align: center; border: 1px solid rgba(154,199,251,.24); border-radius: 8px; background: linear-gradient(155deg,rgba(28,36,46,.96),rgba(8,11,15,.96)); box-shadow: 0 18px 42px rgba(0,0,0,.32); }
.rlsg-shop-card > img { display: block; width: min(300px,85%); aspect-ratio: 1; margin: 0 auto 1.25rem; object-fit: contain; filter: drop-shadow(0 14px 20px rgba(0,0,0,.45)); }
.rlsg-shop-card h2 { margin: 0; color: #d6e9ff; }
.rlsg-shop-card h2 span { color: #8e9baa; font-size: .62em; font-weight: 400; }
.rlsg-shop-card p { color: #c6ccd2; }
.rlsg-shop-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: 1.25rem; }
.rlsg-album-platforms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1.6rem; }
.rlsg-album-platforms a { display: grid; place-items: center; min-height: 88px; padding: .75rem; border: 1px solid rgba(154,199,251,.2); border-radius: 7px; background: rgba(6,10,15,.72); transition: transform .2s ease,border-color .2s ease; }
.rlsg-album-platforms a:hover { transform: translateY(-4px); border-color: #70b3ff; }
.rlsg-album-platforms img { display: block; max-width: 100%; max-height: 64px; object-fit: contain; }
.rlsg-shirts { margin-top: clamp(3rem,7vw,5rem); text-align: center; }
.rlsg-shirts > h2 { margin: 0 0 1.5rem; color: #d6e9ff; font-size: clamp(2rem,4vw,3rem); }
.rlsg-shirts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.rlsg-shirts-grid article { padding: 1.25rem; border: 1px solid rgba(154,199,251,.22); border-radius: 8px; background: rgba(8,12,17,.82); }
.rlsg-shirt-image { display: block; overflow: hidden; border-radius: 5px; cursor: zoom-in; }
.rlsg-shirts-grid img { display: block; width: 100%; max-height: 420px; object-fit: contain; transition: transform .3s ease,filter .3s ease; }
.rlsg-shirt-image:hover img { transform: scale(1.035); filter: brightness(1.08); }
.rlsg-shirts-grid h3 { margin: 1rem 0 0; color: #cfe5ff; }
.rlsg-shirts-price { margin: 1.5rem 0 1rem; font-size: 1.1rem; }

/* Matériel */
.rlsg-gear .item-page > h1:first-child, .rlsg-gear .page-header:first-child { display: none; }
.rlsg-gear-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; margin: 1.5rem 0 2rem; }
.rlsg-gear-summary article { overflow: hidden; border: 1px solid rgba(154,199,251,.22); border-radius: 7px; background: rgba(8,12,17,.82); }
.rlsg-gear-summary article > div { padding: 1.25rem; }
.rlsg-gear-feature-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #050608; }
.rlsg-gear-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .3s ease,filter .3s ease; }
.rlsg-gear-feature-image:hover img { transform: scale(1.025); filter: brightness(1.08); }
.rlsg-gear-list { margin: .65rem 0 0; padding-left: 1.25rem; color: #dce7f3; line-height: 1.55; }
.rlsg-gear-list li + li { margin-top: .28rem; }
.rlsg-gear-summary h2 { margin-top: 0; color: #cfe5ff; }
.rlsg-gear-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.2rem; margin-top: 2rem; }
.rlsg-gear-grid figure { position: relative; flex: 0 1 calc((100% - 2.4rem)/3); margin: 0; overflow: hidden; border: 1px solid rgba(154,199,251,.26); border-radius: 10px; background: linear-gradient(155deg,rgba(24,34,46,.96),rgba(4,7,11,.98)); box-shadow: 0 16px 38px rgba(0,0,0,.32); transition: transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.rlsg-gear-grid figure:hover { transform: translateY(-7px); border-color: rgba(112,179,255,.72); box-shadow: 0 24px 50px rgba(0,0,0,.46),0 0 28px rgba(65,145,235,.12); }
.rlsg-gear-grid a { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: radial-gradient(circle at 50% 40%,#172436 0,#070b11 62%,#020304 100%); }
.rlsg-gear-grid a::after { content: ''; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 -35px 55px rgba(0,0,0,.48),inset 0 0 45px rgba(91,157,232,.08); }
.rlsg-gear-grid img { display: block; width: 100%; height: 100%; padding: .7rem; object-fit: contain; object-position: center; filter: contrast(1.06) brightness(.97); transition: transform .42s ease,filter .3s ease; }
.rlsg-gear-grid .is-vivid img { filter: saturate(1.55) contrast(1.12) brightness(1.14); }
.rlsg-gear-grid .gear-takamine img, .rlsg-gear-grid .gear-taylor img { filter: saturate(1.5) contrast(1.08) brightness(1.28); }
.rlsg-gear-grid a:hover img { transform: scale(1.06); filter: contrast(1.09) brightness(1.08); }
.rlsg-gear-grid .is-vivid a:hover img { filter: saturate(1.7) contrast(1.16) brightness(1.2); }
.rlsg-gear-grid .gear-takamine a:hover img, .rlsg-gear-grid .gear-taylor a:hover img { filter: saturate(1.58) contrast(1.1) brightness(1.34); }
.rlsg-lightbox-open { overflow: hidden; }
.rlsg-gear-lightbox { position: fixed; inset: 0; z-index: 2000; display: block; padding: .35rem; background: rgba(0,0,0,.95); backdrop-filter: blur(6px); }
.rlsg-gear-lightbox[hidden] { display: none; }
.rlsg-gear-lightbox .rlsg-lightbox-close { position: fixed; top: .6rem; right: .6rem; z-index: 3; width: 48px; height: 48px; padding: 0; color: #fff; background: rgba(20,24,29,.94); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 2rem; line-height: 1; }
.rlsg-lightbox-controls { position: fixed; top: .65rem; left: 50%; z-index: 3; display: flex; align-items: center; gap: .35rem; padding: .3rem; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.3); border-radius: 7px; background: rgba(20,24,29,.94); box-shadow: 0 8px 24px rgba(0,0,0,.45); }
.rlsg-lightbox-controls button { min-width: 44px; height: 40px; padding: 0 .65rem; color: #fff; background: #253445; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; font: 700 1.15rem/1 Arial,sans-serif; }
.rlsg-lightbox-controls [data-lightbox-zoom-reset] { min-width: 72px; font-size: .9rem; }
.rlsg-lightbox-viewport { width: 100%; height: calc(100dvh - .7rem); overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; }
.rlsg-gear-lightbox figure { display: flex; flex-direction: column; align-items: center; justify-content: center; width: max-content; height: max-content; min-width: 100%; min-height: 100%; margin: 0; padding: 3.6rem .2rem .4rem; text-align: center; }
.rlsg-gear-lightbox img { display: block; flex: none; max-width: none; max-height: none; margin: auto; object-fit: contain; filter: contrast(1.06) brightness(.97); cursor: zoom-in; }
.rlsg-gear-lightbox.is-vivid img { filter: saturate(1.55) contrast(1.12) brightness(1.14); }
.rlsg-gear-lightbox.gear-takamine img, .rlsg-gear-lightbox.gear-taylor img { filter: saturate(1.5) contrast(1.08) brightness(1.28); }
.rlsg-gear-lightbox figcaption { padding-top: .8rem; color: #dcecff; font-weight: 700; }
.rlsg-gear-grid figcaption { position: relative; padding: 1rem; color: #d9ebff; text-align: center; font-weight: 700; letter-spacing: .025em; border-top: 1px solid rgba(154,199,251,.16); }
.rlsg-gear-partners { margin-top: clamp(3rem,7vw,5rem); text-align: center; }
.rlsg-gear-partners > h2 { margin: 0 0 1.5rem; color: #d6e9ff; font-size: clamp(1.8rem,4vw,2.7rem); }
.rlsg-gear-partners-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.rlsg-gear-partners-grid article { display: flex; flex-direction: column; align-items: center; overflow: hidden; padding: 0 1.15rem 1.15rem; border: 1px solid rgba(154,199,251,.22); border-radius: 9px; background: rgba(8,12,17,.86); box-shadow: 0 16px 36px rgba(0,0,0,.28); }
.rlsg-partner-photo { display: block; width: calc(100% + 2.3rem); aspect-ratio: 4/3; margin: 0 -1.15rem 1rem; overflow: hidden; background: #030507; }
.rlsg-partner-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease,filter .35s ease; }
.rlsg-partner-photo:hover img { transform: scale(1.035); filter: brightness(1.08); }
.rlsg-gear-partners-grid .rlsg-partner-logo { width: 100%; height: 105px; padding: .55rem; object-fit: contain; border-radius: 5px; background: #fff; }
.rlsg-partner-caption { min-height: 2.6em; margin: 0 0 .9rem !important; color: #cfe5ff !important; font-style: italic; line-height: 1.3; }
.rlsg-gear-partners-grid h3 { margin: 1rem 0 .25rem; color: #cfe5ff; }
.rlsg-gear-partners-grid p { margin: 0; color: #aebbc8; }

/* Biographie : quatre invités alignés, avec portraits de dimensions identiques. */
.rlsg-bio-trio { display: grid; grid-template-columns: repeat(4,minmax(0,180px)); justify-content: center; align-items: start; gap: clamp(1rem,2vw,1.5rem); margin: 1.75rem auto; }
.rlsg-bio-trio figure { margin: 0; text-align: center; }
.rlsg-bio-trio img { display: block; width: 180px !important; height: 180px !important; margin: 0 auto !important; object-fit: cover; object-position: center top; border: 1px solid rgba(154,199,251,.28); border-radius: 6px; }
.rlsg-bio-trio figcaption { padding-top: .65rem; color: #cfe5ff; font-weight: 700; }
.rlsg-bio-reinforcement strong { color: #fff !important; font-weight: 800; }
.rlsg-bio-view .rlsg-bio-photo-row { text-align: center !important; }
.rlsg-bio-view .rlsg-bio-photo-row > img { display: block; max-width: 100%; height: auto; margin-left: auto !important; margin-right: auto !important; }
.rlsg-bio-view img[alt="photo bio RLSG 2011" i] { display: block; width: min(553px,100%) !important; height: auto !important; margin-left: auto !important; margin-right: auto !important; }
.rlsg-bios-story .rlsg-bio-photo-row + p { color: #dcecff !important; text-align: center !important; }
.rlsg-bios-story .rlsg-bio-photo-row + p * { color: #dcecff !important; text-align: center !important; }

/* Page BIOS complète : histoire puis biographies sur une page unique. */
.rlsg-bios { max-width: 1040px; margin: 0 auto; }
.rlsg-bio-article { clear: both; overflow: hidden; margin: 1.5rem 0; padding: clamp(1.25rem,3vw,2rem); border: 1px solid rgba(154,199,251,.22); border-radius: 10px; background: linear-gradient(150deg,rgba(27,35,45,.94),rgba(9,13,18,.96)); box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.rlsg-bio-article > h2 { margin: 0 0 1.25rem; padding-bottom: .75rem; color: #d9ebff; font-size: clamp(1.8rem,3.5vw,2.55rem); border-bottom: 1px solid rgba(139,190,248,.25); }
.rlsg-bio-content { color: #d2d8df; font-size: 1.05rem; line-height: 1.82; }
.rlsg-bio-content p { margin: 0 0 1.15rem; text-align: justify !important; }
.rlsg-bio-content strong { color: #eef6ff; }
.rlsg-bio-content img { max-width: 100%; height: auto; border-radius: 7px; box-shadow: 0 12px 28px rgba(0,0,0,.34); }
.rlsg-bio-article:not(.rlsg-bios-story) .rlsg-bio-content > p:first-of-type img { float: left !important; width: min(260px,42%) !important; height: auto !important; margin: .25rem 1.5rem 1rem 0 !important; object-fit: cover; }
.rlsg-bio-article:not(.rlsg-bios-story) .rlsg-bio-main-portrait { display: block !important; float: left !important; width: 260px !important; max-width: 42% !important; height: auto !important; margin: .25rem 1.5rem 1rem 0 !important; object-fit: cover; object-position: center top; }
.rlsg-bios-story { padding: clamp(1.35rem,3.5vw,2.4rem); }
.rlsg-bios-story .rlsg-bio-content { max-width: 900px; margin: 0 auto; }
.rlsg-bios-story .rlsg-bio-content p:has(img) { text-align: center !important; }
.rlsg-bios-story .rlsg-bio-content p:has(img) img { float: none !important; margin: .6rem auto !important; }
.rlsg-bio-founders { display: grid; grid-template-columns: repeat(3,minmax(0,220px)); justify-content: center; gap: clamp(1rem,3vw,2rem); margin: .5rem auto 2rem; }
.rlsg-bio-founders figure { margin: 0; text-align: center; }
.rlsg-bio-founders img { display: block; width: 220px !important; height: 280px !important; margin: 0 auto !important; object-fit: cover; object-position: center top; border: 1px solid rgba(154,199,251,.28); border-radius: 7px; }
.rlsg-bio-founders figcaption { padding-top: .7rem; color: #dcecff; font-weight: 700; text-align: center; }
.rlsg-bio-guests { display: grid; grid-template-columns: repeat(2,minmax(0,190px)); justify-content: center; gap: clamp(1rem,3vw,2rem); margin: 1.75rem auto 1.25rem; }
.rlsg-bio-guests figure { margin: 0; text-align: center; }
.rlsg-bio-guests img { display: block; width: 190px !important; height: 190px !important; margin: 0 auto !important; object-fit: cover; object-position: center top; border: 1px solid rgba(154,199,251,.28); border-radius: 7px; }
.rlsg-bio-guests figcaption { padding-top: .65rem; color: #dcecff; font-weight: 700; text-align: center; }
.rlsg-bios-story .rlsg-bio-group-photo { display: block !important; width: min(620px,100%) !important; height: auto !important; margin: 1.2rem auto .65rem !important; object-fit: contain; }

/* Contact */
.rlsg-contact-grid { display: grid; grid-template-columns: minmax(0,520px); justify-content: center; gap: 1.25rem; margin-top: 2rem; }
.rlsg-contact-card { display: flex; flex-direction: column; align-items: center; min-height: 320px; padding: 1.6rem; color: #dcecff; text-align: center; text-decoration: none; border: 1px solid rgba(154,199,251,.24); border-radius: 9px; background: linear-gradient(155deg,rgba(28,36,46,.96),rgba(8,11,15,.96)); box-shadow: 0 18px 42px rgba(0,0,0,.3); transition: transform .25s ease,border-color .25s ease; }
.rlsg-contact-card:hover { transform: translateY(-6px); color: #fff; border-color: #70b3ff; }
.rlsg-contact-card img { width: 112px; height: 112px; margin-bottom: 1rem; object-fit: contain; border-radius: 18px; }
.rlsg-contact-card h2 { margin: .25rem 0; color: #cfe5ff; }
.rlsg-contact-card p { margin: .35rem 0 1.2rem; color: #aebbc8; }
.rlsg-contact-card strong { margin-top: auto; color: #72b5ff; }
.rlsg-socials { margin-top: 2.5rem; text-align: center; }
.rlsg-socials h2 { margin: 0 0 1.35rem; color: #d6e9ff; }
.rlsg-socials-row { display: flex; justify-content: center; align-items: flex-start; gap: clamp(.75rem,2.5vw,1.6rem); }
.rlsg-socials-row a { display: flex; flex-direction: column; align-items: center; width: 92px; color: #cfe5ff; text-decoration: none; transition: transform .22s ease,color .22s ease; }
.rlsg-socials-row a:hover { transform: translateY(-5px); color: #fff; }
.rlsg-socials-row img { display: block; width: 70px; height: 70px; object-fit: cover; border: 1px solid rgba(154,199,251,.3); border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.28); }
.rlsg-socials-row span { margin-top: .55rem; font-size: .88rem; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin: 1.25rem 0 2rem; }
.content-grid.has-left { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); }
.content-grid.has-right { grid-template-columns: minmax(0, 1fr) minmax(190px, 240px); }
.content-grid.has-both { grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) minmax(180px, 220px); }
.main-column, .sidebar .moduletable, .module-zone .moduletable, .module-zone > div {
  background: linear-gradient(180deg, rgba(33,37,41,.95), rgba(20,23,25,.96));
  border: 1px solid var(--spark-line);
  border-radius: var(--spark-radius);
  box-shadow: 0 15px 38px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035);
}
.main-column { min-width: 0; padding: clamp(1rem, 3vw, 2rem); }
.sidebar .moduletable, .module-zone .moduletable, .module-zone > div { padding: 1.15rem; margin-bottom: 1rem; }
.sidebar h3, .module-zone h3 { margin-top: 0; padding-bottom: .65rem; border-bottom: 1px solid var(--spark-line); color: #fff; font-size: 1.15rem; }
.sidebar ul { padding-left: 1.1rem; }
.module-zone { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1rem; margin: 1.25rem 0; }
.blog-items, .com-content-category-blog__items { display: grid; gap: 1.2rem; }
.blog-item { padding-bottom: 1.25rem; border-bottom: 1px solid var(--spark-line); }
.item-image { margin-bottom: 1rem; }
.item-image img, .rlsg-gallery img { border-radius: 5px; box-shadow: 0 10px 25px rgba(0,0,0,.35); }
.rlsg-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 1rem; }
.rlsg-photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.rlsg-photo-gallery figure { min-width: 0; margin: 0; overflow: hidden; background: rgba(12,14,16,.68); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.rlsg-photo-gallery a { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #07090b; }
.rlsg-photo-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease, filter .3s ease; }
.rlsg-photo-gallery a:hover img, .rlsg-photo-gallery a:focus-visible img { transform: scale(1.045); filter: brightness(1.1) contrast(1.05); }
.rlsg-photo-gallery figcaption { min-height: 3.8rem; display: grid; place-items: center; padding: .75rem 1rem; color: #dcecff; font-weight: 700; text-align: center; }
.rlsg-photo-group + .rlsg-photo-group { margin-top: clamp(2rem, 5vw, 3.5rem); }
.rlsg-photo-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(104,172,248,.32); }
.rlsg-photo-group-heading h2 { margin: 0; color: #fff; }
.rlsg-photo-group-heading span { flex: none; color: var(--spark-muted); font-size: .88rem; }
.rlsg-masterclass-card { width: min(100%, 760px); margin-inline: auto; padding: clamp(1.25rem, 4vw, 2.2rem); text-align: center; background: linear-gradient(135deg, rgba(31,65,101,.45), rgba(12,14,16,.78)); border: 1px solid rgba(104,172,248,.35); border-radius: var(--spark-radius); box-shadow: 0 18px 40px rgba(0,0,0,.32); }
.rlsg-masterclass-card h2 { margin-top: 0; color: #fff; }
.rlsg-masterclass-archives { margin-top: clamp(2.5rem, 6vw, 4.5rem); }
.rlsg-masterclass-archives > h2 { margin: 0 0 1.5rem; color: #fff; font-size: clamp(1.8rem, 4vw, 2.6rem); text-align: center; }
.rlsg-masterclass-archives > .rlsg-section-kicker { text-align: center; }
.rlsg-masterclass-event { margin-bottom: 1.4rem; padding: clamp(1rem, 3vw, 1.5rem); background: rgba(12,14,16,.62); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.rlsg-masterclass-event h3 { margin: 0 0 1rem; color: #dcecff; font-size: clamp(1.2rem, 2.5vw, 1.55rem); text-align: center; }
.rlsg-masterclass-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }
.rlsg-masterclass-gallery.is-count-1 { grid-template-columns: minmax(0, 420px); justify-content: center; }
.rlsg-masterclass-gallery.is-count-2 { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
.rlsg-masterclass-gallery figure { min-width: 0; margin: 0; overflow: hidden; background: #080a0d; border-radius: 6px; }
.rlsg-masterclass-gallery a { display: block; height: 250px; overflow: hidden; }
.rlsg-masterclass-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease, filter .3s ease; }
.rlsg-masterclass-gallery figure.is-poster img { object-fit: contain; object-position: center; }
.rlsg-masterclass-gallery figure.is-rondat-faces img { object-position: 50% 14%; }
.rlsg-masterclass-gallery figure.is-issoudun-face img { object-position: 50% 12%; }
.rlsg-masterclass-gallery figure.is-tremplin-feb-2013-body img { object-position: 50% 18%; }
.rlsg-masterclass-gallery a:hover img, .rlsg-masterclass-gallery a:focus-visible img { transform: scale(1.045); filter: brightness(1.1); }
.rlsg-masterclass-gallery figcaption { padding: .65rem .75rem; color: var(--spark-muted); font-size: .82rem; text-align: center; }
.rlsg-albums { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: 1.25rem; }
.rlsg-card { padding: 1.2rem; background: var(--spark-panel-soft); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); }
.rlsg-home-albums { text-align: center; }
.rlsg-home-albums > .rlsg-section-kicker { margin-bottom: .9rem; }
.rlsg-home-albums > h1 { margin: 0 0 1.5rem; text-align: center; font-size: clamp(2rem, 4vw, 3rem); }
.rlsg-albums-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 390px)); justify-content: center; gap: clamp(1rem, 3vw, 1.75rem); margin-inline: auto; }
.rlsg-album-card { min-width: 0; padding: clamp(1rem, 2.5vw, 1.4rem); text-align: center; background: rgba(12,14,16,.52); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.rlsg-album-cover { display: block; width: min(100%, 310px); margin: 0 auto 1rem; border-radius: 5px; box-shadow: 0 12px 28px rgba(0,0,0,.42); }
.rlsg-album-info h2 { margin: .25rem 0 .35rem; color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); }
.rlsg-album-info h2 span { color: var(--spark-muted); font-size: .72em; }
.rlsg-album-info p { margin: 0 0 1rem; }
.rlsg-soundcloud { display: block; width: 100%; height: 300px; background: #111; border-radius: 5px; }
.rlsg-album-link { margin: 1rem 0 0; }
.rlsg-album-quotes { display: grid; grid-template-rows: minmax(7.5rem, auto) auto; align-items: center; margin-top: 1rem; padding: 1rem 1rem .75rem; overflow: hidden; background: linear-gradient(135deg, rgba(36,76,119,.34), rgba(10,13,17,.72)); border: 1px solid rgba(104,172,248,.35); border-radius: 6px; }
.rlsg-album-quote { align-self: center; margin: 0; padding: 0; border: 0; }
.rlsg-album-quote[hidden] { display: none; }
.rlsg-album-quote p { margin: 0; color: #f4f8fc; font-family: Georgia, serif; font-size: clamp(1.05rem, 2vw, 1.22rem); font-style: italic; line-height: 1.45; }
.rlsg-album-quote cite { display: block; margin-top: .7rem; color: #8bc5ff; font-family: Arial, sans-serif; font-size: .78rem; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rlsg-quote-dots { display: flex; justify-content: center; gap: .55rem; margin-top: .65rem; }
.rlsg-quote-dot { width: 10px; height: 10px; padding: 0; background: #67727e; border: 0; border-radius: 50%; cursor: pointer; transition: transform .2s ease, background-color .2s ease; }
.rlsg-quote-dot:hover, .rlsg-quote-dot:focus-visible { background: #c5e2ff; transform: scale(1.2); outline: 2px solid rgba(139,197,255,.45); outline-offset: 3px; }
.rlsg-quote-dot.is-active { background: #68acf8; transform: scale(1.2); }

.rlsg-news-header { margin-bottom: 1.4rem; text-align: center; }
.rlsg-news-header h1 { margin-bottom: .35rem; font-size: clamp(2rem, 4vw, 3rem); }
.rlsg-news-header p { margin: 0; color: var(--spark-muted); }
.rlsg-news-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin-bottom: 1.7rem; }
.rlsg-news-filters button, .rlsg-news-pagination button {
  min-width: 44px; padding: .55rem .8rem; color: #dce9f8; background: rgba(12,14,16,.72);
  border: 1px solid #59636d; border-radius: 4px; cursor: pointer;
}
.rlsg-news-filters button:hover, .rlsg-news-filters button:focus,
.rlsg-news-pagination button:hover, .rlsg-news-pagination button:focus,
.rlsg-news-filters button.is-active, .rlsg-news-pagination button.is-active {
  color: #fff; background: linear-gradient(#4595e9, #2677c9); border-color: #8bc5ff;
}
.rlsg-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.rlsg-news-card { min-width: 0; overflow: hidden; text-align: left; background: rgba(12,14,16,.62); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); box-shadow: 0 12px 25px rgba(0,0,0,.25); }
.rlsg-news-card[hidden] { display: none; }
.rlsg-news-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #090a0b; }
.rlsg-news-image.is-video { position: relative; }
.rlsg-news-image.is-video::after { content: '▶'; position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 64px; height: 46px; padding-left: 4px; color: #fff; background: #e62117; border-radius: 13px; box-shadow: 0 6px 20px rgba(0,0,0,.55); font: 25px/1 Arial,sans-serif; transform: translate(-50%,-50%); pointer-events: none; }
.rlsg-news-image img { width: 100%; height: 100%; object-fit: contain; object-position: center top; transition: opacity .2s ease; }
.rlsg-article-restored-image { display: block; width: min(820px,100%) !important; height: auto !important; margin: 1rem auto 1.5rem !important; object-fit: contain; object-position: center; border-radius: 6px; }
.rlsg-local-video { display: block; width: min(560px,100%); height: auto; margin: 1.5rem auto; background: #050607; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; box-shadow: 0 14px 32px rgba(0,0,0,.35); }
.rlsg-news-image.is-placeholder { background: radial-gradient(circle at 50% 30%, #263b56, #090a0b 70%); }
.rlsg-news-image.is-placeholder img { object-fit: contain; padding: 2rem; }
.rlsg-news-card:hover .rlsg-news-image img { opacity: .9; }
.rlsg-news-card-body { display: flex; flex-direction: column; min-height: 240px; padding: 1rem; }
.rlsg-news-card time { color: #92a0ad; font-size: .82rem; }
.rlsg-news-card h2 { margin: .45rem 0 .7rem; font-size: 1.28rem; line-height: 1.2; }
.rlsg-news-card h2 a { color: #b8d9ff; text-decoration: none; }
.rlsg-news-card h2 a:hover { color: #fff; text-decoration: underline; }
.rlsg-news-card p { margin: 0 0 1rem; color: #cbd0d5; font-size: .94rem; }
.rlsg-news-read { margin-top: auto; color: #68acf8; font-weight: 700; text-decoration: none; }
.rlsg-news-read:hover { color: #9acbff; text-decoration: underline; }
.rlsg-news-empty { text-align: center; color: var(--spark-muted); }
.rlsg-news-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: 1.7rem; }

.rlsg-youtube { position: relative; width: min(100%, 800px); aspect-ratio: 16 / 9; margin: 1.25rem auto; overflow: hidden; background: #050607; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 14px 32px rgba(0,0,0,.35); }
.rlsg-youtube-launch { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; overflow: hidden; background: #050607; border: 0; cursor: pointer; }
.rlsg-youtube-launch img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.rlsg-youtube-play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 82px; height: 58px; padding-left: 5px; color: #fff; background: #e62117; border-radius: 14px; box-shadow: 0 5px 18px rgba(0,0,0,.55); font: 30px/1 Arial,sans-serif; transform: translate(-50%,-50%); transition: transform .18s ease, background .18s ease; }
.rlsg-youtube-launch:hover .rlsg-youtube-play, .rlsg-youtube-launch:focus .rlsg-youtube-play { background: #ff2d22; transform: translate(-50%,-50%) scale(1.08); }
.rlsg-youtube-player { position: absolute; inset: 0; width: 100%; height: 100%; }
.rlsg-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; width: 100%; margin: 1.25rem auto; }
.rlsg-video-grid .rlsg-youtube { width: 100%; margin: 0; }
.rlsg-youtube-unit { min-width: 0; margin: 0; }
.rlsg-youtube-title { margin: .7rem .25rem 0; color: #fff; font-size: 1.12rem; line-height: 1.3; text-align: center; }
.rlsg-youtube-title a { color: #b8d9ff; text-decoration: none; }
.rlsg-youtube-title a:hover { color: #fff; text-decoration: underline; }
.rlsg-youtube-quality-link { display: block; width: fit-content; margin: .35rem auto 0; color: #78baff; font-size: .9rem; text-align: center; }
.button, .btn, button.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: .65rem 1rem; color: #fff; background: linear-gradient(#4595e9, #2677c9); border: 1px solid #74b8ff; border-radius: 4px; text-decoration: none; cursor: pointer; }
.button:hover, .btn:hover { color: #fff; background: linear-gradient(#5aa7f4, #3087df); }
table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
th, td { padding: .65rem; border-bottom: 1px solid var(--spark-line); text-align: left; }
input, textarea, select { max-width: 100%; padding: .65rem; color: #fff; background: #111416; border: 1px solid #444c53; border-radius: 4px; }
ul.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 1.25rem 0; padding: 0; list-style: none; }
ul.pagination li { margin: 0; padding: 0; list-style: none; }
ul.pagination li a, ul.pagination li span { display: grid; min-width: 38px; min-height: 38px; padding: .45rem .65rem; place-items: center; color: #b8d9ff; background: #111416; border: 1px solid #4a5661; border-radius: 4px; text-decoration: none; }
ul.pagination li.active span, ul.pagination li a:hover { color: #fff; background: #2677c9; border-color: #74b8ff; }
ul.pagination li.disabled:empty { display: none; }
.rlsg-article-navigation { display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; justify-content: space-between !important; width: 100% !important; gap: 1rem !important; }
.rlsg-article-navigation .rlsg-previous-link { margin-right: auto !important; }
.rlsg-article-navigation .rlsg-next-link { margin-left: auto !important; }
.pagenavigation ul.pagination, nav.pagenavigation ul, ul.pager { display: flex !important; flex-wrap: nowrap !important; justify-content: space-between; align-items: stretch; width: 100%; gap: 1rem; }
.pagenavigation ul.pagination > li, nav.pagenavigation ul > li, ul.pager > li { flex: 0 1 48%; min-width: 0; }
.pagenavigation ul.pagination > li:last-child, nav.pagenavigation ul > li:last-child, ul.pager > li:last-child { margin-left: auto; text-align: right; }
.pagenavigation ul.pagination > li a, nav.pagenavigation ul > li a, ul.pager > li a { width: 100%; height: 100%; white-space: normal; text-align: center; }

.rlsg-article-back {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1.25rem;
  color: #68acf8;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  text-decoration: none;
}
.rlsg-article-back span { font-size: 2rem; line-height: .8; }
.rlsg-article-back:hover, .rlsg-article-back:focus { color: #9acbff; text-decoration: underline; }

.site-footer { margin-top: 2.5rem; padding: 2rem 0 3rem; border-top: 1px solid var(--spark-line); color: #686e74; text-align: center; font-size: .82rem; }
.error-page { width: min(calc(100% - 32px), 700px); margin: 10vh auto; padding: 2rem; text-align: center; background: var(--spark-panel); border: 1px solid var(--spark-line); border-radius: var(--spark-radius); }
.error-page img { width: min(340px, 80%); }

@media (prefers-reduced-motion: no-preference) {
  .background-nebula .spark-backdrop { animation: spark-drift 50s linear infinite alternate; }
  .background-nebula .spark-backdrop::before { animation: spark-light-sweep 32s ease-in-out infinite alternate; }
  @keyframes spark-drift { from { background-position: 45% 0; } to { background-position: 55% 0; } }
  @keyframes spark-light-sweep { from { transform: translateX(-42vw); opacity: .32; } to { transform: translateX(102vw); opacity: .57; } }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .rlsg-home-hero-backdrop { animation: none; } }

@media (max-width: 900px) {
  .rlsg-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rlsg-home-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-grid.has-both { grid-template-columns: minmax(0, 1fr) minmax(190px, 230px); }
  .content-grid.has-both .sidebar-left { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
  .rlsg-gear-grid figure { flex-basis: calc((100% - 1.2rem)/2); }
  .rlsg-gear-partners-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rlsg-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rlsg-photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rlsg-masterclass-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rlsg-masterclass-gallery.is-count-1 { grid-template-columns: minmax(0,420px); }
}
@media (max-width: 760px) {
  .page-shell { width: min(calc(100% - 20px), var(--spark-width)); }
  .pagenavigation ul.pagination, nav.pagenavigation ul, ul.pager { gap: .45rem; }
  .pagenavigation ul.pagination > li a, nav.pagenavigation ul > li a, ul.pager > li a { padding: .45rem .35rem; font-size: .85rem; }
  .site-header, .sticky-header .site-header { min-height: 0; padding: .65rem 0 .9rem; grid-template-columns: auto 1fr auto; gap: .55rem; align-items: center; }
  .brand { grid-column: 1 / -1; grid-row: 2; justify-content: center; width: 100%; }
  .brand img { width: min(460px, 100%); max-height: 112px; object-position: center; }
  .rlsg-language-switcher { position: static; grid-column: 3; grid-row: 1; justify-self: end; padding: .3rem; gap: .35rem; }
  .rlsg-language-switcher img { width: 34px; height: 23px; }
  .nav-toggle { display: block; grid-column: 1; grid-row: 1; justify-self: start; }
  .primary-navigation { display: none; position: fixed; z-index: 1000; top: 62px; left: 10px; right: 10px; width: auto; max-height: calc(100dvh - 74px); overflow-y: auto; overscroll-behavior: contain; padding: .65rem; background: rgba(15,17,19,.99); border: 1px solid var(--spark-line); border-radius: 7px; box-shadow: 0 20px 35px rgba(0,0,0,.65); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation ul { display: block; }
  .primary-navigation li + li { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .primary-navigation a { min-height: auto; padding: .8rem; font-size: 25px; white-space: normal; }
  .primary-navigation ul ul { display: block; position: static; width: auto; margin-left: 1rem; padding: 0; background: none; border: 0; box-shadow: none; }
  .historic-spotlight { min-height: 0; }
  .historic-spotlight img { height: auto; }
  .historic-spotlight-caption { transform: none; }
  .rlsg-home-hero-visual { min-height: 0; }
  .rlsg-home-hero-photo { object-position: center; }
  .rlsg-home-video-grid { grid-template-columns: minmax(0,1fr); }
  .hero { min-height: 44vh; }
  .content-grid.has-left, .content-grid.has-right, .content-grid.has-both { grid-template-columns: minmax(0, 1fr); }
  .content-grid.has-both .sidebar-left { grid-column: auto; display: block; }
  .sidebar-left { order: 2; }
  .main-column { order: 1; }
  .sidebar-right { order: 3; }
  .rlsg-albums-grid { grid-template-columns: minmax(0, 1fr); }
  .rlsg-news-grid { grid-template-columns: minmax(0, 1fr); }
  .rlsg-photo-gallery { grid-template-columns: minmax(0, 1fr); }
  .rlsg-masterclass-gallery,
  .rlsg-masterclass-gallery.is-count-1,
  .rlsg-masterclass-gallery.is-count-2 { grid-template-columns: minmax(0, 1fr); }
  .rlsg-masterclass-gallery a { height: min(72vw, 360px); }
  .rlsg-shop-grid, .rlsg-shirts-grid, .rlsg-gear-summary, .rlsg-gear-partners-grid, .rlsg-contact-grid { grid-template-columns: minmax(0,1fr); }
  .rlsg-gear-grid figure { flex-basis: 100%; }
  .rlsg-socials-row { flex-wrap: wrap; }
  .rlsg-bio-trio { grid-template-columns: minmax(0,180px); }
  .rlsg-bio-article:not(.rlsg-bios-story) .rlsg-bio-content > p:first-of-type img { float: none !important; display: block; width: min(280px,100%) !important; margin: 0 auto 1.25rem !important; }
  .rlsg-bio-founders { grid-template-columns: 1fr; }
  .rlsg-bio-founders img { width: min(220px,100%) !important; }
  .rlsg-bio-guests { grid-template-columns: repeat(2,minmax(0,145px)); }
  .rlsg-bio-guests img { width: 145px !important; height: 145px !important; }
  .rlsg-bio-article:not(.rlsg-bios-story) .rlsg-bio-main-portrait { float: none !important; width: 260px !important; max-width: 100% !important; margin: .5rem auto 1.25rem !important; }
  .rlsg-news-card-body { min-height: 0; }
  .rlsg-video-grid { grid-template-columns: minmax(0, 1fr); }
}


/* RLSG v2.22.6 - concert article layout tweak */
.com-content-article .item-image,
.com-content-article .float-start{
 float:none!important;
 display:block!important;
 text-align:center!important;
 margin:0 auto 1.8rem auto!important;
}
.com-content-article .item-image img,
.com-content-article .float-start img,
.com-content-article img{
 display:block!important;
 margin-left:auto!important;
 margin-right:auto!important;
 max-width:700px!important;
 width:100%;
 height:auto!important;
}
.com-content-article p{
 clear:both;
}

.com-content-article img[src*="ejamslive2012"]{display:block!important;float:none!important;clear:both!important;width:337px!important;max-width:337px!important;height:auto!important;margin:0 auto 25px auto!important;}
