*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0b0e}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent,#c8f68c);outline-offset:4px}.artist-site{--accent:#c9f58a;min-height:100vh;overflow-x:hidden;font-family:'DM Sans',sans-serif}.artist-site img{max-width:100%}.artist-nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(22px,5.5vw,95px);position:absolute;z-index:5;top:0;left:0;right:0}.artist-logo{font-weight:800;letter-spacing:-.055em;font-size:24px;position:relative;z-index:1}.artist-logo>span{font-size:10px;letter-spacing:.22em;margin-left:6px;color:var(--accent);vertical-align:top}.nav-links{display:flex;align-items:center;gap:clamp(15px,3vw,39px);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.nav-links a{transition:opacity .2s}.nav-links a:hover{opacity:.56}.nav-action{display:inline-flex;align-items:center;gap:9px;border:1px solid currentColor;padding:12px 17px;border-radius:2px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.artist-hero{position:relative;min-height:min(790px,100svh);height:clamp(550px,88vh,790px);display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-3;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.88)}.hero-tint{position:absolute;inset:0;z-index:-2}.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.19;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 190 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.hero-content{width:100%;position:relative;z-index:2;padding:100px clamp(24px,7vw,112px) 60px}.small-overline{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.small-overline::before{content:'';width:35px;height:2px;background:var(--accent);display:inline-block}.artist-hero h1{margin:15px 0;overflow-wrap:anywhere}.hero-subtitle{max-width:550px;line-height:1.65;font-size:clamp(13px,1.7vw,18px);letter-spacing:.045em}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn-primary,.btn-outline{border:1px solid transparent;padding:16px 22px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;display:inline-flex;gap:14px;align-items:center;justify-content:center;transition:transform .2s,background .2s}.btn-primary:hover,.btn-outline:hover{transform:translateY(-3px)}.btn-primary{background:var(--accent);color:#0d0d10}.btn-outline{background:transparent;border-color:currentColor;color:inherit}.scroll-caption{position:absolute;bottom:27px;left:clamp(24px,7vw,112px);font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;z-index:3;opacity:.8}.hero-index{position:absolute;right:clamp(25px,5vw,80px);bottom:36px;font-size:11px;letter-spacing:.17em;font-weight:800;z-index:2}.ticker{white-space:nowrap;overflow:hidden;display:flex;gap:27px;align-items:center;justify-content:center;padding:16px 20px;font-size:10px;letter-spacing:.22em;font-weight:900;text-transform:uppercase}.ticker b{font-size:15px;line-height:0}.content-section{padding:100px clamp(24px,7vw,112px)}.section-topline{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-topline::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent)}.section-heading{font-size:clamp(44px,6.5vw,94px);line-height:.98;letter-spacing:-.07em;font-weight:800;margin:0 0 30px}.release-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:clamp(34px,8vw,128px)}.release-cover{position:relative;aspect-ratio:1;min-height:280px;overflow:hidden;background:linear-gradient(145deg,#222,#555);box-shadow:0 20px 65px #0004}.release-cover .cover-photo{position:absolute;inset:0;background-position:45% 40%;background-size:cover;filter:grayscale(.3);transform:scale(1.05)}.cover-film{position:absolute;inset:0;background:linear-gradient(180deg,#0001,#0001 50%,#000a 100%)}.cover-word{position:absolute;left:8%;bottom:8%;color:#fff;font-size:clamp(35px,5vw,88px);font-weight:900;letter-spacing:-.075em;line-height:.9;max-width:88%;overflow-wrap:anywhere;text-transform:uppercase}.release-disc{position:absolute;right:17px;top:17px;display:flex;align-items:center;justify-content:center;width:47px;height:47px;border:1px solid #fff9;color:#fff;border-radius:50%;font-size:23px;background:#0003}.release-copy h2{font-size:clamp(37px,5vw,75px);line-height:1.02;letter-spacing:-.06em;margin:20px 0 19px;text-transform:uppercase}.release-copy p{font-size:14px;line-height:1.85;max-width:420px;opacity:.7}.music-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}.music-links button,.music-links a{border:1px solid currentColor;color:inherit;background:transparent;padding:13px 18px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;display:inline-flex;align-items:center;gap:9px}.music-links button:first-child{background:var(--accent);border-color:var(--accent);color:#111}.dates-list{border-top:1px solid currentColor}.date-row{display:grid;grid-template-columns:83px minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:20px;min-height:108px;border-bottom:1px solid currentColor;padding:17px 0}.date-day{font-size:34px;letter-spacing:-.065em;line-height:1;font-weight:800}.date-month{display:block;font-size:9px;letter-spacing:.2em;font-weight:800;margin-top:8px}.date-city{font-size:clamp(16px,2vw,24px);font-weight:800;letter-spacing:-.025em;text-transform:uppercase}.date-venue{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.07em}.date-ticket{padding:13px 16px;border:1px solid currentColor;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;white-space:nowrap}.date-ticket.disabled{opacity:.45;cursor:default}.no-dates{padding:36px 0;opacity:.7}.about-wrap{display:grid;grid-template-columns:.8fr 1.1fr;gap:clamp(35px,9vw,150px);align-items:start}.about-wrap blockquote{font-size:clamp(34px,5.5vw,76px);line-height:1.05;letter-spacing:-.055em;font-weight:700;margin:0}.about-copy p{font-size:clamp(15px,1.7vw,18px);line-height:1.85;margin:0 0 24px}.about-meta{border-top:1px solid currentColor;padding-top:19px;display:flex;gap:30px;flex-wrap:wrap;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.17em}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.socials a{display:inline-flex;align-items:center;justify-content:center;min-width:99px;border:1px solid currentColor;padding:11px 14px;font-size:11px;font-weight:800;letter-spacing:.06em}.artist-footer{display:flex;justify-content:space-between;gap:15px;align-items:end;padding:45px clamp(24px,7vw,112px);border-top:1px solid currentColor}.footer-name{font-size:clamp(30px,5.4vw,72px);font-weight:900;letter-spacing:-.07em;line-height:1}.footer-small{font-size:10px;letter-spacing:.14em;line-height:2;opacity:.68;text-transform:uppercase;text-align:right}.artist-footer a:hover{text-decoration:underline}.media-modal[hidden]{display:none!important}.media-modal{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.media-modal-backdrop{position:absolute;inset:0;background:#020205ec;backdrop-filter:blur(10px)}.media-modal-panel{width:min(840px,100%);position:relative;z-index:2;background:#17181b;color:#fff;padding:18px;box-shadow:0 35px 100px #000b}.modal-close{position:absolute;top:-46px;right:0;background:#fff;color:#101016;border:0;width:39px;height:39px}.player-embed{border:0;display:block;width:100%;aspect-ratio:16/9}.player-embed.spotify-player{height:355px;aspect-ratio:auto}.player-help{padding:24px;text-align:center;font-size:14px;line-height:1.7}.player-help a{color:#d5fa8d;text-decoration:underline}.demo-hint{font-size:10px;opacity:.55;margin-top:15px;line-height:1.55}
/* URBAN: magazine rap très sombre avec typographie massive */
.template-urban{background:#0f1110;color:#f0f0e9}.template-urban .artist-nav{color:#fff}.template-urban .artist-hero{background:#101310;min-height:640px}.template-urban .hero-photo{background-position:70% 33%;filter:grayscale(1) contrast(1.12)}.template-urban .hero-tint{background:linear-gradient(90deg,#090c0bed 0%,#11150ecc 39%,#03040524 80%),linear-gradient(0deg,#080a08 0%,transparent 44%)}.template-urban .artist-hero h1{font:900 clamp(105px,18vw,280px)/.79 'Barlow Condensed',sans-serif;letter-spacing:-.065em;max-width:1050px;text-transform:uppercase;margin:32px 0}.template-urban .small-overline{color:var(--accent)}.template-urban .hero-subtitle{font-size:clamp(16px,2vw,25px);font-weight:600;max-width:440px;letter-spacing:.1em;text-transform:uppercase}.template-urban .ticker{background:var(--accent);color:#10130f}.template-urban .release-section{background:#111713}.template-urban .release-copy h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(56px,7vw,112px);letter-spacing:-.02em;line-height:.9}.template-urban .section-heading{font-family:'Barlow Condensed',sans-serif;letter-spacing:.005em;font-size:clamp(68px,10vw,134px);font-weight:900}.template-urban .date-row,.template-urban .dates-list{border-color:#555b57}.template-urban .date-day{font-family:'Barlow Condensed',sans-serif;font-size:43px}.template-urban .about-section{background:var(--accent);color:#111712}.template-urban .about-section .section-topline::before{background:#131813}.template-urban .artist-footer{background:#080c09;border-color:#3a4336}.template-urban .about-wrap blockquote{font-family:'Barlow Condensed',sans-serif;font-size:clamp(62px,9vw,120px);font-weight:900;line-height:.84;text-transform:uppercase;letter-spacing:-.03em}
/* STAGE: direction éditoriale, crème/terre cuite */
.template-stage{background:#f3eee7;color:#272420;font-family:'Manrope',sans-serif}.template-stage .artist-nav{color:#fff}.template-stage .artist-logo{font-family:'Playfair Display',serif;letter-spacing:-.06em;font-weight:600;font-size:28px}.template-stage .artist-hero{background:#514237;min-height:590px}.template-stage .hero-photo{background-position:65% 34%;filter:saturate(.78) sepia(.15)}.template-stage .hero-tint{background:linear-gradient(90deg,#221a17e0 0%,#3225218c 48%,#241b1560 100%)}.template-stage .artist-hero h1{font:500 italic clamp(68px,10vw,150px)/.99 'Playfair Display',serif;max-width:900px;letter-spacing:-.075em;margin:18px 0 28px}.template-stage .small-overline{color:#f5d4b6}.template-stage .hero-subtitle{font-family:'Manrope',sans-serif;font-weight:600;font-size:18px;line-height:1.8;max-width:440px}.template-stage .btn-primary{background:#f1b995}.template-stage .ticker{background:#e9dace;color:#674335}.template-stage .section-topline{color:#ac654f}.template-stage .section-topline::before{background:#dd7a61}.template-stage .section-heading{font:500 italic clamp(57px,7vw,98px)/1 'Playfair Display',serif;letter-spacing:-.055em}.template-stage .release-section{background:#f8f4ee}.template-stage .release-copy h2{font:500 italic clamp(52px,6vw,98px)/1 'Playfair Display',serif;text-transform:none;letter-spacing:-.06em}.template-stage .release-cover{box-shadow:24px 25px 0 #dfcfc1}.template-stage .cover-photo{filter:sepia(.35) saturate(.74)}.template-stage .cover-word{font:500 italic clamp(42px,5vw,75px)/1 'Playfair Display',serif;text-transform:none}.template-stage .music-links button:first-child{background:#e47b5c;border-color:#e47b5c;color:#fff}.template-stage .dates-section{background:#ecdfd4}.template-stage .date-row,.template-stage .dates-list{border-color:#c8b7ac}.template-stage .date-day{font-family:'Playfair Display',serif;font-weight:500;font-size:40px}.template-stage .date-ticket{border-color:#9c7162}.template-stage .about-section{background:#d26850;color:#fff}.template-stage .about-section .section-topline{color:#fff8}.template-stage .about-section .section-topline::before{background:#fff}.template-stage .about-wrap blockquote{font:500 italic clamp(47px,5.5vw,86px)/1.06 'Playfair Display',serif}.template-stage .artist-footer{background:#2b2521;color:#faf1e9;border-color:#76635a}.template-stage .footer-name{font:500 italic clamp(40px,5vw,85px)/1 'Playfair Display',serif}
/* NEON: électronique, clubs, futuriste */
.template-neon{background:#08070f;color:#f5f4ff;font-family:'Space Grotesk',sans-serif}.template-neon .artist-nav{color:#fff}.template-neon .artist-logo{letter-spacing:.16em;font-size:20px}.template-neon .artist-hero{min-height:600px;background:#080711;justify-content:center;text-align:center}.template-neon .hero-photo{background-position:center 48%;filter:contrast(1.2) saturate(1.32)}.template-neon .hero-tint{background:linear-gradient(90deg,#0b0516b8,#1a073c5e,#05020bc1),linear-gradient(0deg,#090613 0%,#06030d44 50%,#0906139c 100%)}.template-neon .artist-hero::before{content:'';position:absolute;z-index:0;width:60vw;max-width:850px;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #d9cbff33;border-radius:50%;box-shadow:0 0 0 65px #b76bff0c,0 0 0 130px #b76bff09,0 0 85px #6f33af55;pointer-events:none}.template-neon .hero-content{position:relative;max-width:1450px;margin:auto}.template-neon .small-overline{justify-content:center;color:#ebe0ff}.template-neon .small-overline::before{background:var(--accent)}.template-neon .artist-hero h1{font:800 clamp(105px,20vw,300px)/.94 'Syne',sans-serif;letter-spacing:-.12em;margin:25px 0 10px;text-shadow:0 0 95px #a55dffbb;text-transform:uppercase}.template-neon .hero-subtitle{margin:0 auto;max-width:600px;font:500 clamp(15px,2.5vw,22px) 'Space Grotesk',sans-serif;letter-spacing:.45em;text-transform:uppercase}.template-neon .hero-cta{justify-content:center}.template-neon .btn-primary{border-radius:3px;background:#c4a6ff;box-shadow:0 0 35px #aa75ff6e}.template-neon .btn-outline{border-radius:3px}.template-neon .ticker{background:linear-gradient(90deg,#543090,#8e55bc,#3b2b74);color:#fff}.template-neon .section-topline{color:#b39bfa}.template-neon .section-heading{font-family:'Syne',sans-serif;letter-spacing:-.075em}.template-neon .release-section{background:radial-gradient(ellipse at 25% 42%,#271646 0%,#0e0a18 57%,#08070f 100%)}.template-neon .release-copy h2{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(47px,7vw,105px)}.template-neon .release-cover{border:1px solid #a35eff80;box-shadow:0 0 90px #7945c02a}.template-neon .cover-photo{filter:hue-rotate(25deg) saturate(1.45)}.template-neon .cover-film{background:linear-gradient(145deg,#210948b2,#0d0411aa)}.template-neon .cover-word{font-family:'Syne',sans-serif;letter-spacing:-.08em;text-shadow:0 0 25px #f1aaff}.template-neon .music-links button:first-child{color:#170d25;background:#bda0fb;border-color:#bda0fb}.template-neon .dates-section{background:#0b0913}.template-neon .date-row,.template-neon .dates-list{border-color:#514365}.template-neon .date-day{color:#c4a7ff;font-family:'Syne',sans-serif}.template-neon .date-ticket{border-color:#ac83ef}.template-neon .about-section{background:linear-gradient(125deg,#210e43,#0d0718 80%)}.template-neon .about-wrap blockquote{font-family:'Syne',sans-serif;font-weight:800;letter-spacing:-.075em;text-transform:uppercase}.template-neon .artist-footer{background:#08060e;border-color:#3c3154}.template-neon .socials a{border-color:#5c437d}.template-neon .socials a:hover{background:#35204e}
@media(max-width:760px){.artist-nav{height:75px;padding:0 22px}.artist-logo{font-size:19px}.nav-links{gap:12px;font-size:9px}.nav-links .hide-sm{display:none}.nav-action{padding:10px;font-size:9px}.artist-hero{height:710px;min-height:610px;max-height:92svh;align-items:end}.hero-content{padding:110px 24px 105px}.artist-hero h1{overflow-wrap:anywhere}.artist-hero .hero-subtitle{font-size:15px}.template-urban .artist-hero h1{font-size:clamp(90px,22vw,165px);max-width:85vw}.template-urban .hero-photo{background-position:61% center}.template-urban .hero-tint{background:linear-gradient(0deg,#0a100af2 4%,#0a100a96 46%,#0507073d 100%)}.template-stage .artist-hero h1{font-size:clamp(64px,11vw,105px)}.template-stage .hero-photo{background-position:63% center}.template-stage .hero-tint{background:linear-gradient(0deg,#20140fe8 0%,#20140f80 65%,#1b120e24 100%)}.template-neon .artist-hero{align-items:center}.template-neon .artist-hero h1{font-size:clamp(95px,25vw,175px);letter-spacing:-.12em}.template-neon .hero-subtitle{letter-spacing:.28em}.template-neon .artist-hero::before{width:100vw}.template-neon .hero-content{padding:110px 24px 85px}.hero-index{right:24px}.scroll-caption{left:24px}.content-section{padding:70px 24px}.release-grid{grid-template-columns:1fr;gap:50px}.release-cover{max-width:550px;min-height:0;width:100%;margin:0 auto}.release-copy h2{margin-top:10px}.dates-list{margin-top:34px}.date-row{grid-template-columns:65px minmax(0,1fr) auto;gap:13px;min-height:95px}.date-city{font-size:19px}.date-venue{grid-column:2/-1;margin-top:-15px;font-size:10px}.date-ticket{grid-column:3;grid-row:1;padding:10px;font-size:9px}.date-day{font-size:29px}.about-wrap{grid-template-columns:1fr;gap:32px}.artist-footer{padding:39px 24px}.footer-small{font-size:9px}.ticker{gap:16px;font-size:9px}}
@media(max-width:460px){.artist-nav{gap:5px}.artist-logo{font-size:18px!important}.nav-links{gap:8px}.nav-action{padding:8px 10px}.hero-cta{gap:9px}.btn-primary,.btn-outline{padding:13px 16px;font-size:10px}.template-neon .artist-hero h1{font-size:26vw}.template-urban .artist-hero h1{font-size:23vw}.section-heading{font-size:50px}.template-urban .section-heading{font-size:68px}.template-stage .section-heading{font-size:55px}.date-row{grid-template-columns:54px 1fr auto}.date-day{font-size:26px}.date-city{font-size:17px}.date-ticket{padding:8px 7px;font-size:8px}.artist-footer{flex-direction:column;align-items:flex-start}.footer-small{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* ===== STAGE V0.2 — identité Pop/Live repensée, contrastes renforcés ===== */
.template-stage{background:#f6f1e7;color:#1c2728;font-family:'Manrope',sans-serif}
.template-stage .artist-hero{color:#fffaf0;background:#172a2b;min-height:630px}
.template-stage .hero-photo{left:37%;background-position:52% 38%;filter:saturate(.77) contrast(1.15) brightness(.87)}
.template-stage .hero-tint{background:linear-gradient(90deg,#102628 0%,#102628 25%,#102628ee 39%,#1026289c 59%,#10262826 85%),linear-gradient(0deg,#102628ab 0%,transparent 42%)}
.template-stage .artist-nav{color:#fffaf0;border-bottom:1px solid #ffffff34}
.template-stage .artist-logo{font:700 clamp(18px,2vw,25px)/1.1 'Manrope',sans-serif;letter-spacing:-.055em}
.template-stage .artist-logo>span{color:#ffd49c}
.template-stage .nav-links a{color:#fffaf0;opacity:1}
.template-stage .nav-action{border:1px solid #ffdfae;color:#172a2b;background:#ffdfae;border-radius:28px;padding:12px 21px}
.template-stage .hero-content{padding-top:140px;max-width:1050px}
.template-stage .small-overline{font-size:11px;letter-spacing:.2em;color:#ffd49c}
.template-stage .small-overline::before{background:#ffd49c}
.template-stage .artist-hero h1{font:600 clamp(76px,11vw,164px)/.9 'Playfair Display',serif;letter-spacing:-.063em;max-width:850px;margin:26px 0 27px;text-shadow:0 3px 35px #061d1a4d}
.template-stage .hero-subtitle{font:700 clamp(15px,1.9vw,22px)/1.55 'Manrope',sans-serif;letter-spacing:.01em;max-width:520px;color:#fffaf0}
.template-stage .hero-cta{margin-top:37px}
.template-stage .btn-primary{border-radius:27px;background:#ffd49c;color:#172a2b;box-shadow:0 9px 35px #0003}
.template-stage .btn-outline{border-radius:27px;border:1.5px solid #fffdf2;color:#fffdf2;background:#071d1d6e}
.template-stage .btn-outline:hover{background:#fffdf2;color:#172a2b}
.template-stage .hero-index,.template-stage .scroll-caption{color:#fffdf2;opacity:.9}
.template-stage .ticker{background:#ffdcab;color:#163232;letter-spacing:.2em}
.template-stage .release-section{background:#f7f1e7}
.template-stage .section-topline{color:#85502e;font-weight:900}
.template-stage .section-topline::before{background:#c77442}
.template-stage .section-heading{font:600 clamp(54px,7vw,95px)/.99 'Playfair Display',serif;letter-spacing:-.06em}
.template-stage .release-copy h2{font:600 clamp(47px,6vw,93px)/1 'Playfair Display',serif;letter-spacing:-.055em;color:#153235}
.template-stage .release-copy p{opacity:1;color:#36494a}
.template-stage .release-cover{border-radius:4px;box-shadow:22px 22px 0 #e1c1a3,0 22px 70px #172a2b19}
.template-stage .cover-photo{filter:saturate(.73) contrast(1.09)}
.template-stage .cover-word{font:600 clamp(44px,5vw,78px)/.98 'Playfair Display',serif;text-shadow:0 3px 24px #000a}
.template-stage .music-links button{border-radius:24px;border-color:#244346;color:#244346}
.template-stage .music-links button:first-child{background:#1c4142;border-color:#1c4142;color:#fff}
.template-stage .dates-section{background:#e8e1d4}
.template-stage .dates-list,.template-stage .date-row{border-color:#9aaba4}
.template-stage .date-city{color:#16383a}
.template-stage .date-venue{opacity:1;color:#364e50}
.template-stage .date-day{font-family:'Playfair Display',serif;font-weight:700;color:#153638}
.template-stage .date-ticket{border:1px solid #1a4243;border-radius:20px;color:#173b3d}
.template-stage .date-ticket:not(.disabled):hover{background:#173b3d;color:#fff}
.template-stage .about-section{background:#183b3b;color:#fff8ee}
.template-stage .about-section .section-topline{color:#f6c992}
.template-stage .about-section .section-topline::before{background:#f6c992}
.template-stage .about-wrap blockquote{font:600 clamp(45px,5.7vw,90px)/1.05 'Playfair Display',serif;letter-spacing:-.045em}
.template-stage .about-copy p{color:#fdf8ee;opacity:1}
.template-stage .about-meta{color:#ffdaad;border-color:#ffffff68}
.template-stage .socials a{border:1px solid #ffffff99;border-radius:22px;color:#fff8ee}
.template-stage .socials a:hover{background:#fff8ee;color:#183b3b}
.template-stage .artist-footer{background:#112b2c;color:#f7e9d9;border-color:#5a7471}
.template-stage .footer-name{font:600 clamp(42px,6vw,90px)/1 'Playfair Display',serif;letter-spacing:-.055em}
.template-stage .footer-small{opacity:.9}
@media(max-width:760px){
  .template-stage .artist-hero{align-items:end;height:710px;min-height:630px}
  .template-stage .hero-photo{left:0;background-position:57% 35%}
  .template-stage .hero-tint{background:linear-gradient(0deg,#102628 3%,#102628e6 23%,#1026288c 62%,#10262860 100%)}
  .template-stage .artist-hero h1{font-size:clamp(58px,11vw,100px);margin:12px 0 16px}
  .template-stage .hero-content{padding:108px 24px 113px}
  .template-stage .artist-nav{border-bottom:1px solid #ffffff2a}
  .template-stage .nav-action{padding:9px 12px}
  .template-stage .release-cover{box-shadow:12px 12px 0 #e1c1a3}
  .template-stage .section-heading{font-size:clamp(50px,9vw,80px)}
}
@media(max-width:460px){
  .template-stage .artist-hero h1{font-size:clamp(54px,12vw,80px)}
  .template-stage .hero-subtitle{font-size:15px}
  .template-stage .artist-logo{font-size:17px!important}
  .template-stage .nav-links{font-size:9px;gap:9px}
  .template-stage .nav-action{font-size:8px;padding:8px 9px}
  .template-stage .section-heading{font-size:50px}
}


/* ===== V0.3 — navigation mobile / textes longs / fluidité ===== */
.artist-site{width:100%;max-width:100%;overflow-x:clip}
.artist-site :is(h1,h2,blockquote,.date-city,.date-venue,.footer-name,.artist-logo,.cover-word){overflow-wrap:anywhere}
.artist-site :is(.release-copy,.about-copy,.date-city,.date-venue,.release-grid>*,.about-wrap>*){min-width:0}
.artist-site .artist-nav{isolation:isolate}
.menu-toggle{display:none;flex:none;width:43px;height:42px;align-items:center;justify-content:center;border:1px solid #ffffff70;background:#111b20a1;color:#fff;border-radius:6px;cursor:pointer;position:relative;z-index:13}
.menu-bars{display:flex;flex-direction:column;gap:4px;width:17px}
.menu-bars i{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] .menu-bars i:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-bars i:last-child{transform:translateY(-6px) rotate(-45deg)}
.template-stage .menu-toggle{border-color:#ffdfae;background:#123032}
.template-neon .menu-toggle{border-color:#b69fff;background:#241036}
@media(max-width:900px){
  .artist-site .date-row{gap:13px}
  .artist-site .release-grid{gap:clamp(24px,5vw,60px)}
}
@media(max-width:600px){
  .artist-site .artist-nav{height:72px;padding:0 18px;gap:9px;justify-content:space-between}
  .artist-site .artist-logo{min-width:0;max-width:calc(100% - 184px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(16px,4.6vw,21px)!important}
  .artist-site .artist-logo>span{display:none}
  .artist-site .menu-toggle{display:inline-flex;margin-left:auto}
  .artist-site .nav-links{display:none;position:absolute;top:calc(100% - 2px);left:16px;right:16px;z-index:12;padding:10px;flex-direction:column;gap:3px;align-items:stretch;border:1px solid #ffffff38;border-radius:9px;background:#101b20f7;box-shadow:0 18px 35px #0008;backdrop-filter:blur(14px)}
  .artist-site .nav-links.is-open{display:flex}
  .artist-site .nav-links a{display:block;width:100%;padding:12px 14px;font-size:12px;color:#fff;opacity:1!important}
  .artist-site .nav-links a:hover,.artist-site .nav-links a:focus-visible{background:#ffffff20;border-radius:5px}
  .artist-site .nav-links .hide-sm{display:block}
  .artist-site .nav-action{flex:none;padding:11px 12px;font-size:9px;white-space:nowrap}
  .artist-site .artist-hero{height:auto;min-height:min(740px,100svh);max-height:none;align-items:end}
  .artist-site .hero-content{padding:146px 22px 105px}
  .artist-site .artist-hero h1{max-width:100%;margin-block:18px;letter-spacing:-.06em}
  .artist-site .hero-subtitle{max-width:100%;line-height:1.55;letter-spacing:.02em}
  .artist-site .hero-cta{margin-top:23px;gap:9px}
  .artist-site .btn-primary,.artist-site .btn-outline{min-height:43px;max-width:100%;font-size:10px;padding:12px 13px;white-space:normal;text-align:center;letter-spacing:.07em}
  .artist-site .scroll-caption{left:22px;bottom:22px;font-size:8px;letter-spacing:.14em}
  .artist-site .hero-index{right:22px;bottom:22px;font-size:8px;letter-spacing:.06em}
  .template-urban .artist-hero h1{font-size:clamp(65px,20vw,115px);letter-spacing:-.048em;max-width:100%}
  .template-stage .artist-hero h1{font-size:clamp(49px,12vw,74px);max-width:100%;line-height:1}
  .template-neon .artist-hero h1{font-size:clamp(71px,22vw,132px);letter-spacing:-.09em;max-width:100%}
  .template-neon .hero-subtitle{letter-spacing:.12em}
  .template-stage .hero-content{padding:146px 22px 105px}
  .template-stage .hero-tint{background:linear-gradient(0deg,#102628 0%,#102628ec 31%,#10262870 73%,#1026284f 100%)}
  .artist-site .content-section{padding:60px 20px}
  .artist-site .release-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .artist-site .release-cover{width:100%;min-height:0;max-width:min(460px,100%)}
  .artist-site .release-copy h2{font-size:clamp(37px,11vw,68px)}
  .template-urban .release-copy h2{font-size:clamp(54px,15vw,86px)}
  .artist-site .cover-word{font-size:clamp(33px,11vw,63px)}
  .artist-site .section-heading{font-size:clamp(40px,12vw,64px)}
  .template-urban .section-heading{font-size:clamp(56px,16vw,86px)}
  .template-stage .section-heading{font-size:clamp(40px,10vw,66px)}
  .artist-site .dates-list{margin-top:24px}
  .artist-site .date-row{grid-template-columns:60px minmax(0,1fr);column-gap:15px;row-gap:7px;min-height:0;padding:21px 0;align-items:start}
  .artist-site .date-box{grid-column:1;grid-row:1/span 3}
  .artist-site .date-day{font-size:33px}
  .artist-site .date-month{font-size:9px}
  .artist-site .date-city{grid-column:2;grid-row:1;line-height:1.3;font-size:19px}
  .artist-site .date-venue{grid-column:2;grid-row:2;margin:0;line-height:1.5;font-size:11px;opacity:.83}
  .artist-site .date-ticket{grid-column:2;grid-row:3;justify-self:start;min-height:34px;display:inline-flex;align-items:center;max-width:100%;margin-top:2px;padding:8px 12px;font-size:9px}
  .artist-site .about-wrap{grid-template-columns:minmax(0,1fr);gap:24px}
  .artist-site .about-wrap blockquote{font-size:clamp(32px,10vw,58px)}
  .artist-site .artist-footer{padding:35px 20px;flex-wrap:wrap}
  .artist-site .footer-name{font-size:clamp(29px,11vw,50px)}
  .artist-site .footer-small{font-size:9px;line-height:1.7}
  .artist-site .ticker{justify-content:flex-start;gap:18px;font-size:9px}
  .media-modal{padding:12px}
  .media-modal-panel{padding:9px;width:100%;max-height:82dvh}
  .media-modal-panel iframe{max-height:70dvh}
  .media-modal-panel .spotify-player{height:min(352px,65dvh)}
}
@media(max-width:380px){
  .artist-site .artist-nav{padding-inline:15px}
  .artist-site .artist-logo{max-width:calc(100% - 65px)}
  .artist-site .nav-action{display:none}
  .artist-site .hero-content{padding:128px 17px 92px}
  .template-stage .hero-content{padding:128px 17px 92px}
  .artist-site .artist-hero{min-height:590px}
  .artist-site .scroll-caption{left:17px}
  .artist-site .hero-index{right:17px}
  .artist-site .hero-cta{flex-direction:column;align-items:flex-start}
  .artist-site .btn-primary,.artist-site .btn-outline{width:auto}
  .artist-site .content-section{padding-inline:17px}
  .artist-site .artist-footer{padding-inline:17px}
  .artist-site .date-row{grid-template-columns:54px minmax(0,1fr);column-gap:12px}
  .artist-site .date-city{font-size:17px}
}
@media(max-width:600px) and (max-height:600px){
 .artist-site .artist-hero{min-height:620px}
}
@media(prefers-reduced-motion:reduce){
 .artist-site *{scroll-behavior:auto!important;animation:none!important;transition-duration:0s!important}
}


/* ===== V0.5.2 — NEON mobile : titres équilibrés, sans coupure de lettre ===== */
.artist-site .artist-hero h1{
  max-width:100%; min-width:0; overflow-wrap:normal; word-break:normal;
  hyphens:none; text-wrap:balance;
}
.artist-site .artist-hero h1.hero-title-extreme{overflow-wrap:anywhere;word-break:normal}
.template-neon .artist-hero h1{line-height:1.02;letter-spacing:-.065em}
.template-neon .hero-content{min-width:0}
.template-neon .hero-subtitle{overflow-wrap:break-word}
@media(max-width:600px){
  .template-neon .artist-hero h1{
    font-size:clamp(54px,20vw,118px);line-height:1.06;letter-spacing:-.055em;
    margin:18px auto 13px;max-width:min(100%,560px);
  }
  .template-neon .hero-content{padding-inline:clamp(17px,5.5vw,25px)}
  .template-neon .hero-subtitle{
    font-size:clamp(12px,3.5vw,16px);line-height:1.5;
    letter-spacing:clamp(.035em,.45vw,.12em);max-width:32ch;
  }
  .template-neon .small-overline{font-size:clamp(9px,2.4vw,11px);letter-spacing:.1em;gap:9px}
  .template-neon .small-overline::before{width:21px;flex:none}
  .template-neon .hero-cta{justify-content:center;max-width:100%}
  .template-neon .btn-primary,.template-neon .btn-outline{min-width:0;max-width:100%}
}
@media(max-width:340px){
  .template-neon .artist-hero h1{letter-spacing:-.045em}
  .template-neon .hero-cta{flex-direction:column;align-items:stretch}
  .template-neon .hero-cta button{width:100%}
}

/* Profondeur lumineuse légère : CSS GPU + petit parallaxe GSAP facultatif,
   aucun canvas WebGL et aucune ressource externe supplémentaire. */
.neon-depth{display:none}
.template-neon .neon-depth{
  display:block;pointer-events:none;position:absolute;inset:0;z-index:0;
  overflow:hidden;opacity:.56;will-change:transform;
}
.neon-orbit{
  position:absolute;display:block;left:50%;top:49%;border:1px solid #cab5ff4c;
  border-radius:50%;transform-origin:center;box-shadow:0 0 35px #b060ff28,inset 0 0 44px #a75ff621;
}
.neon-orbit-a{width:min(74vw,720px);aspect-ratio:1;margin-left:calc(-1 * min(74vw,720px) / 2);margin-top:calc(-1 * min(74vw,720px) / 2);animation:neon-orbit-drift 22s ease-in-out infinite alternate}
.neon-orbit-b{width:min(52vw,520px);aspect-ratio:1;margin-left:calc(-1 * min(52vw,520px) / 2);margin-top:calc(-1 * min(52vw,520px) / 2);border-color:#d99bff4b;animation:neon-orbit-drift-reverse 27s ease-in-out infinite alternate}
.neon-beam{
 position:absolute;inset:15% -25%;opacity:.24;transform:rotate(-18deg);
 background:linear-gradient(90deg,transparent 21%,#9c43ff33 45%,#c58aff27 52%,transparent 78%);
 filter:blur(25px);animation:neon-light-breathe 7s ease-in-out infinite alternate;
}
@keyframes neon-orbit-drift{0%{transform:translate3d(-8px,9px,0) rotate(-7deg) scale(.99)}100%{transform:translate3d(9px,-7px,0) rotate(9deg) scale(1.045)}}
@keyframes neon-orbit-drift-reverse{0%{transform:translate3d(7px,-8px,0) scale(1.025)}100%{transform:translate3d(-9px,8px,0) scale(.975)}}
@keyframes neon-light-breathe{0%{opacity:.12}100%{opacity:.36}}
@media(max-width:600px){
 .template-neon .neon-depth{opacity:.32}
 .neon-orbit-a{width:115vw;margin-left:-57.5vw;margin-top:-57.5vw}
 .neon-orbit-b{width:85vw;margin-left:-42.5vw;margin-top:-42.5vw}
 .neon-beam{filter:blur(15px)}
}
@media(prefers-reduced-motion:reduce){
 .template-neon .neon-depth{will-change:auto}
 .neon-orbit,.neon-beam{animation:none!important}
}
