@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#101010;--panel:#191919;--text:#f5f3ed;--muted:#b4b3ae;--red:#ff403c;--line:#393939;--display:'Barlow Condensed','Impact','Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:#101010}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:var(--red);z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:#101010f2;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{max-width:1440px;margin:auto;padding:17px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo img{width:132px;max-height:59px;object-fit:contain}.main-nav{display:flex;gap:29px;align-items:center}.main-nav a{font-size:14px;font-weight:600;padding:10px 0;position:relative}.main-nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:2px;background:var(--red);transition:width .25s}.main-nav a:hover:after,.main-nav a[aria-current]:after{width:100%}.header-socials{display:flex;gap:8px}.header-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);font-size:12px;transition:.2s}.header-socials a:hover{background:var(--red);color:#101010}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:5px}
.hero{max-width:1440px;margin:auto;padding:30px 4.5% 0}.hero-topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--muted)}.hero-title{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:25px 0 40px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);text-transform:uppercase;line-height:.92;letter-spacing:-.025em;font-weight:800}h1{font-size:clamp(64px,10vw,142px);margin-bottom:0}.hero h1{font-size:clamp(100px,13.1vw,188px);line-height:.8;letter-spacing:-.035em}.hero h1 span,em{color:var(--red);font-style:normal}.hero-intro{padding:24px 2% 0 0;max-width:400px}.hero-intro p{font-size:clamp(19px,2vw,27px);line-height:1.5;margin-bottom:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:13px 24px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--red);color:#101010}.btn-primary:hover{background:#ff6965}.btn-outline{border:1px solid var(--line)}.btn-outline:hover{border-color:var(--text)}.text-link{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid #777;padding:7px 0}.text-link:hover{color:var(--red);border-color:var(--red)}.hero-intro .text-link{display:table;margin-top:15px}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{width:100%;aspect-ratio:2.45;object-fit:cover;object-position:50% 36%;animation:photo-in 1.2s ease-out both}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 20px;background:linear-gradient(transparent,#000c);display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.07em}.photo-caption a{font-size:14px;letter-spacing:0}.ticker{overflow:hidden;background:var(--red);color:#111;margin-top:36px;padding:10px 0;font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 28s linear infinite}.ticker:hover div{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes photo-in{from{transform:scale(1.035);opacity:.4}to{transform:scale(1);opacity:1}}
.section{padding:88px 4.5%}.section-inner{max-width:1260px;margin:auto}.eyebrow{display:block;margin-bottom:24px;font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--red)}h2{font-size:clamp(44px,5.6vw,80px);margin-bottom:35px}h3{font-size:20px;line-height:1.2}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-layout p,.bio-text p{color:var(--muted);line-height:1.85}.story-layout h2{margin:0}.social-section{background:var(--panel)}.section-description{color:var(--muted);margin-top:-16px;margin-bottom:35px}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.social-card{padding:26px;display:flex;align-items:center;gap:17px;border-top:1px solid #555;border-bottom:1px solid #555;font-size:20px;transition:.25s}.social-card:after{content:'↗';margin-left:auto}.social-card:hover{background:var(--red);color:#101010;transform:translateY(-4px)}.social-icon{display:flex}.page-banner{padding:75px 4.5% 65px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 100% 0,#3c1717 0,transparent 58%)}.page-banner h1{font-size:clamp(66px,8.5vw,118px);margin-bottom:28px}.page-banner p{color:var(--muted);margin-bottom:0}.bio-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:start}.bio-photo img{width:100%;aspect-ratio:1.1;object-fit:cover}.members-section{background:var(--panel)}.members-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.member-card img{width:100%;aspect-ratio:.72;object-fit:cover;filter:grayscale(100%);transition:filter .4s,transform .4s}.member-card:hover img{filter:grayscale(0);transform:translateY(-6px)}.member-card h3{font-family:var(--display);font-size:27px;text-transform:uppercase;margin:20px 0 8px}.member-card p{font-size:14px;line-height:1.5;color:var(--muted)}.concert-empty{padding:45px;border:1px solid var(--line);font-size:20px;max-width:900px}.concert-empty strong{display:block;color:var(--text);font-family:var(--display);font-size:36px;text-transform:uppercase;margin-bottom:8px}.concert-empty p{color:var(--muted);font-size:16px;max-width:600px}.concerts-past-note{margin-top:40px;max-width:850px;color:var(--muted)}.concert-item{display:flex;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.concert-date{color:var(--red);font-weight:700}.concert-time{margin-left:auto}.video-embed{aspect-ratio:16/9;max-width:1050px;background:#000;margin:0 0 28px}.video-embed iframe{width:100%;height:100%;border:0}.gallery-section{background:var(--panel)}.gallery-note{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{position:relative;padding:0;border:0;background:#111;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:1.2;object-fit:cover;transition:transform .5s,filter .5s;filter:grayscale(1)}.gallery-item:hover img{transform:scale(1.045);filter:grayscale(0)}.gallery-item>span{position:absolute;right:14px;bottom:14px;width:36px;height:36px;background:var(--red);color:#111;display:grid;place-items:center}.lightbox{border:1px solid #555;background:#111;color:var(--text);padding:55px 20px 12px;max-width:95vw;max-height:95dvh;overflow:auto}.lightbox::backdrop{background:#000e;backdrop-filter:blur(10px)}.lightbox img{max-height:72dvh;margin:auto;object-fit:contain}.lightbox p{margin:12px 0 0;text-align:center;font-size:14px}.lightbox-close{position:absolute;right:12px;top:5px;font-size:32px;background:none;border:0;color:white;width:42px;height:42px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.contact-card{border-top:1px solid var(--line);padding-top:28px}.contact-card h3{font-family:var(--display);text-transform:uppercase;font-size:32px}.contact-card p{color:var(--muted)}.contact-card p a{color:var(--text);font-size:clamp(18px,2.5vw,32px);overflow-wrap:anywhere}.contact-card a:hover{color:var(--red)}.contact-card .btn:hover{color:#111}.city-list{list-style:none;padding:0;color:var(--muted)}.city-list li{padding:8px 0;border-bottom:1px solid var(--line)}.site-footer{padding:45px 4.5% 25px;border-top:1px solid var(--line)}.footer-signature{max-width:1260px;margin:auto;font-family:var(--display);font-size:clamp(45px,10vw,145px);font-weight:800;line-height:1.1;letter-spacing:-.03em}.footer-signature span{color:var(--red)}.footer-inner{max-width:1260px;margin:35px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.footer-links a:hover{color:var(--red)}.reveal{animation:reveal .65s both}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-photo>img{aspect-ratio:2.65}}
@media(max-width:1000px){.header-socials{display:none}.main-nav{gap:20px}.members-grid{grid-template-columns:repeat(3,1fr)}.story-layout{gap:40px}.bio-grid{gap:30px}.hero-title{gap:25px}.hero-intro{max-width:320px}.hero h1{font-size:15vw}}
@media(max-width:700px){.header-inner{padding:12px 5%}.logo img{width:105px;height:44px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171717;padding:20px 6%;border-bottom:1px solid var(--line)}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.main-nav a{font-size:18px;padding:12px 0}.hero{padding:22px 5% 0}.hero-topline{font-size:12px;letter-spacing:.03em;gap:20px}.hero-topline span:last-child{max-width:100px;text-align:right}.hero-title{display:block;padding:30px 0}.hero h1{font-size:27vw;line-height:.85}.hero-intro{max-width:none;padding:26px 0 0}.hero-intro p{font-size:18px;margin-bottom:20px}.hero-intro .text-link{display:table;font-size:14px}.hero-photo>img{aspect-ratio:1.13;object-position:50% 30%}.photo-caption{padding:45px 15px 15px;display:block;font-size:12px}.photo-caption a{display:block;margin-top:6px;font-size:14px}.ticker{margin-top:22px;font-size:23px}.section{padding:55px 5%}.story-layout,.bio-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.social-grid{grid-template-columns:1fr;gap:0}.social-card{border-bottom:0;font-size:19px}.social-card:last-child{border-bottom:1px solid #555}.page-banner{padding:48px 5%}.page-banner h1{font-size:16vw}.members-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}.member-card h3{font-size:24px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.concert-empty{padding:25px}.concert-item{flex-direction:column;gap:6px}.concert-time{margin:0}.footer-inner{display:block;font-size:12px}.footer-signature{font-size:12vw}.site-footer{padding:32px 5% 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Espacement lisible, y compris avec la police de secours hors connexion. */
h1,h2,.footer-signature{letter-spacing:.015em;font-weight:700;line-height:1.02}.hero h1{letter-spacing:.015em;line-height:.95}.hero-photo>img{object-position:50% 13%}.ticker{letter-spacing:.09em}
@media(max-width:700px){.hero h1{line-height:.95}.hero-photo>img{object-position:50% 25%}}
.video-link{display:grid;position:relative;overflow:hidden;place-items:center;width:100%;color:var(--text)}.video-link>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:brightness(.48);transition:filter .25s,transform .25s}.video-link-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px;text-align:center;font-size:clamp(14px,2vw,20px);font-weight:600}.video-play{display:grid;place-items:center;width:80px;height:80px;padding-left:5px;border-radius:50%;background:var(--red);color:#101010;font-size:28px}.video-link:hover>img,.video-link:focus-visible>img{filter:brightness(.65);transform:scale(1.025)}
.gallery-item img{height:auto}
.lightbox img{max-height:calc(95dvh - 200px)}.lightbox-navigation{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px}.lightbox-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:26px;line-height:1;flex-shrink:0}.lightbox-arrow:hover{background:var(--red);color:#101010;border-color:var(--red)}#lightbox-counter{min-width:70px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}

/* Cadrage de la nouvelle photo du groupe : conserver les visages en haut. */
.hero-photo>img{object-position:50% 0}

/* Logo plus présent dans le bandeau, sans augmenter sa hauteur. */
.header-inner{padding-top:4px;padding-bottom:4px}.logo img{height:85px;max-height:85px}.video-link>img,.gallery-item img[src$="/accueil-rns-1.jpg"]{object-position:50% 0}
@media(max-width:700px){.logo img{height:60px;max-height:60px}}
