:root{color-scheme:dark;--black:#030405;--paper:#f2efe9;--muted:#aaa9a5;--amber:#ff841d;--cyan:#22c7d9;--magenta:#b43373;--violet:#7453bd;--scene-r:255;--scene-g:132;--scene-b:29;--mx:50%;--my:30%;--shell:min(1240px,calc(100vw - 56px));--ease:cubic-bezier(.2,.72,.15,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;min-width:320px;overflow-x:clip;background:var(--black);color:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}button,a{font:inherit;color:inherit}a{text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--cyan);color:#001013}.shell{width:var(--shell);margin-inline:auto}.scene{position:relative;z-index:2;isolation:isolate}.skip-link{position:fixed;z-index:999;left:8px;top:8px;padding:9px 13px;transform:translateY(-160%);border-radius:8px;background:#fff;color:#000}.skip-link:focus{transform:none}.index{display:block;color:rgba(255,255,255,.38);font-size:.72rem;font-weight:800;letter-spacing:.16em}.kicker{margin:0;color:rgb(var(--scene-r),var(--scene-g),var(--scene-b));font-size:.72rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.progress{position:fixed;z-index:120;left:0;top:0;width:0;height:2px;background:linear-gradient(90deg,var(--amber),var(--cyan));box-shadow:0 0 14px rgba(34,199,217,.5)}

.atmosphere{position:fixed;z-index:1;inset:-15vh -15vw;pointer-events:none;overflow:hidden;background:radial-gradient(circle at var(--mx) var(--my),rgba(var(--scene-r),var(--scene-g),var(--scene-b),.09),transparent 28%)}
.beam{position:absolute;top:-18vh;width:17vw;min-width:220px;height:120vh;transform-origin:50% 0;filter:blur(22px);mix-blend-mode:screen;opacity:.34;background:linear-gradient(to bottom,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.35),transparent 75%)}
.beam-a{left:16%;transform:rotate(18deg);animation:beamA 12s ease-in-out infinite alternate}.beam-b{right:12%;transform:rotate(-22deg);opacity:.2;animation:beamB 15s ease-in-out infinite alternate}
@keyframes beamA{to{transform:rotate(10deg) translateX(9vw);opacity:.2}}@keyframes beamB{to{transform:rotate(-12deg) translateX(-8vw);opacity:.34}}

.header{position:fixed;z-index:110;top:16px;left:50%;width:min(1260px,calc(100% - 32px));height:72px;transform:translateX(-50%);display:grid;grid-template-columns:160px 1fr 96px;align-items:center;padding:8px 12px;border:1px solid transparent;border-radius:20px;transition:top .35s var(--ease),width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s,box-shadow .35s,backdrop-filter .35s}
.header.scrolled{top:9px;width:min(1060px,calc(100% - 22px));height:62px;border-color:rgba(255,255,255,.11);background:rgba(3,5,6,.74);box-shadow:0 18px 60px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(18px) saturate(130%)}
.brand{width:128px;height:52px;display:grid;place-items:center;transition:width .3s}.brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,132,29,.2))}.scrolled .brand{width:104px}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.5vw,36px)}.nav a{position:relative;display:grid;place-items:center;min-height:44px;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:color .2s}.nav a::after{content:"";position:absolute;bottom:5px;left:50%;width:0;height:1px;transform:translateX(-50%);background:var(--cyan);box-shadow:0 0 8px var(--cyan);transition:width .25s}.nav a:hover,.nav a:focus-visible{color:#fff}.nav a:hover::after,.nav a:focus-visible::after{width:65%}.languages{justify-self:end;display:flex;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.28)}.languages button{min-width:42px;min-height:38px;border:0;border-radius:999px;background:transparent;font-size:.72rem;font-weight:850;opacity:.52}.languages button.active{background:rgba(255,255,255,.1);opacity:1}

.hero{min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#020303}.hero-photo{position:absolute;inset:-2%;z-index:-3;background:url("../images/live/saadji-duo-backlight.jpg") 50% 48%/cover no-repeat;filter:brightness(.7) saturate(.86) contrast(1.06);transform:scale(1.035);animation:heroBreath 14s ease-in-out infinite alternate}.hero-vignette{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 48%,transparent 18%,rgba(0,0,0,.28) 54%,rgba(1,2,3,.88) 100%),linear-gradient(180deg,rgba(0,0,0,.12),transparent 40%,#030405 100%)}.hero::before,.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;filter:blur(30px);mix-blend-mode:screen}.hero::before{top:-15%;left:18%;width:19%;height:86%;transform:rotate(19deg);background:linear-gradient(rgba(255,132,29,.38),transparent 78%);animation:heroBeam 11s ease-in-out infinite alternate}.hero::after{top:-18%;right:15%;width:17%;height:92%;transform:rotate(-18deg);background:linear-gradient(rgba(34,199,217,.28),transparent 75%);animation:heroBeam 14s ease-in-out -4s infinite alternate-reverse}.hero-copy{width:min(820px,calc(100% - 30px));padding-top:70px;text-align:center}.hero-mark{width:clamp(250px,38vw,520px);max-height:210px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 0 24px rgba(255,132,29,.2))}.hero h1{margin:4px 0 0;font:900 clamp(4.5rem,11vw,10rem)/.78 "Arial Narrow",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase;text-shadow:0 10px 50px #000}.hero h1 span{display:inline}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75)}.hero-manifest{margin:24px 0 28px;color:rgba(255,255,255,.76);font-size:.82rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:11px 22px;border:1px solid rgba(255,132,29,.62);border-radius:999px;background:linear-gradient(105deg,rgba(255,132,29,.19),rgba(34,199,217,.08));color:#fff;font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 45px rgba(0,0,0,.34);backdrop-filter:blur(12px);transition:transform .25s,border-color .25s,box-shadow .25s}.cta:hover,.cta:focus-visible{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 0 34px rgba(34,199,217,.14)}.cta i{display:grid;place-items:center;width:26px;height:26px;padding-left:2px;border-radius:50%;background:#fff;color:#080909;font-style:normal;font-size:.6rem}.down{position:absolute;bottom:20px;left:50%;width:38px;height:50px;transform:translateX(-50%);display:grid;place-items:center}.down span{width:1px;height:34px;background:linear-gradient(var(--amber),transparent);animation:down 1.6s ease-in-out infinite}@keyframes heroBreath{to{transform:scale(1.075);filter:brightness(.76) saturate(1)}}@keyframes heroBeam{to{transform:rotate(10deg) translateX(7vw);opacity:.45}}@keyframes down{50%{transform:scaleY(.45);transform-origin:top;opacity:.38}}

.tour{min-height:300px;padding:54px 0 62px;background:linear-gradient(180deg,#030405,rgba(8,9,10,.85),#030405)}.tour-shell{display:grid;grid-template-columns:220px 1fr;gap:38px;align-items:center}.tour-title{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.tour-title h2{margin:2px 0 0;font:900 4.3rem/.82 "Arial Narrow",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase}.tour-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.tour-list::-webkit-scrollbar{display:none}.loading,.tour-empty,.tour-error{min-height:110px;display:grid;place-items:center;margin:0;border:1px solid rgba(255,255,255,.09);border-radius:18px;color:var(--muted)}.tour-card{min-height:118px;display:grid;grid-template-columns:64px 1fr;gap:13px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(120deg,rgba(255,132,29,.07),rgba(255,255,255,.02));scroll-snap-align:start;transition:transform .25s,border-color .25s}.tour-card:hover{transform:translateY(-2px);border-color:rgba(255,132,29,.45)}.tour-date{display:grid;justify-items:center;padding:9px 3px;border-right:1px solid rgba(255,255,255,.12);text-transform:uppercase}.tour-date strong{color:var(--amber);font-size:1.9rem;line-height:1}.tour-date span,.tour-date small{font-size:.62rem;font-weight:800;letter-spacing:.08em}.tour-date small{color:var(--muted)}.tour-info h3{margin:0 0 5px;font-size:1rem;line-height:1.1}.tour-info p{margin:0;color:var(--muted);font-size:.8rem}.tour-actions{grid-column:2;display:flex;gap:6px;margin-top:8px}.tour-actions a{padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.6rem;font-weight:850;text-transform:uppercase}

.sound{height:min(900px,100svh);min-height:680px;overflow:hidden;background:#050708}.sound-stage{position:relative;width:100%;height:100%;overflow:hidden}.sound-image{position:absolute;inset:0;background:url("../images/live/zalem-didgeridoo-close.jpg") center/cover no-repeat;filter:brightness(.58) saturate(.9);transform:scale(1.025);transition:opacity .38s,transform 1s var(--ease),filter .5s}.sound-image.switching{opacity:.16;transform:scale(1.06)}.sound-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,4,5,.94) 0%,rgba(2,4,5,.65) 42%,rgba(2,4,5,.15) 72%,rgba(2,4,5,.48) 100%),linear-gradient(0deg,#030405,transparent 30%,rgba(0,0,0,.25))}.sound-copy{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:92px}.sound-copy h2{margin:10px 0 24px;font:900 clamp(4.6rem,9vw,9rem)/.78 "Arial Narrow",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase}.sound-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.65)}.sound-copy>p:not(.kicker){max-width:480px;margin:0;color:rgba(255,255,255,.69);font-size:1.05rem}.sound-words{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.sound-words span{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.6);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.instrument-nav{position:absolute;z-index:5;left:50%;bottom:20px;width:min(1180px,calc(100% - 40px));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(3,5,6,.62);backdrop-filter:blur(16px)}.instrument-tab{min-height:58px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.55);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;transition:background .25s,color .25s}.instrument-tab:hover,.instrument-tab:focus-visible,.instrument-tab.active{background:rgba(var(--scene-r),var(--scene-g),var(--scene-b),.13);color:#fff}

.duo{min-height:760px;padding:82px 0 0;background:#030405;overflow:hidden}.duo-head{display:grid;grid-template-columns:48px 1fr;gap:12px;margin-bottom:38px}.duo-head h2{margin:3px 0 0;font:900 clamp(3.4rem,7vw,7rem)/.82 "Arial Narrow",Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.duo-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;height:590px}.artist{position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:40px clamp(24px,5vw,74px);isolation:isolate}.artist::before{content:"";position:absolute;z-index:-2;inset:0;background:var(--artist-image) var(--artist-pos,center)/cover no-repeat;filter:brightness(.58) saturate(.82);transition:transform .8s var(--ease),filter .5s;transform:scale(1.025)}.artist:hover::before{transform:scale(1.06);filter:brightness(.72) saturate(1)}.artist::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(3,4,5,.88) 94%),linear-gradient(90deg,transparent,rgba(3,4,5,.54))}.artist:nth-child(2)::after{background:linear-gradient(180deg,transparent 25%,rgba(3,4,5,.88) 94%),linear-gradient(-90deg,transparent,rgba(3,4,5,.54))}.artist-copy{max-width:460px}.artist:nth-child(2) .artist-copy{margin-left:auto;text-align:right}.artist h3{margin:0;font:900 clamp(4rem,7vw,7rem)/.8 "Arial Narrow",Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.artist .role{margin:14px 0 6px;color:var(--amber);font-size:.69rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.artist:nth-child(2) .role{color:var(--cyan)}.artist .bio{margin:0;color:rgba(255,255,255,.64);font-size:.92rem}.duo-logo{position:absolute;z-index:4;left:50%;bottom:25%;width:clamp(180px,22vw,350px);transform:translate(-50%,50%);filter:drop-shadow(0 0 25px rgba(255,255,255,.08))}

.gallery{height:min(920px,100svh);min-height:700px;padding:74px 0;background:#040506}.gallery-shell{height:100%;display:grid;grid-template-rows:auto 1fr;gap:28px}.gallery-head{display:grid;grid-template-columns:44px 1fr minmax(220px,350px);align-items:end;gap:14px}.gallery-head h2{margin:2px 0 0;font:900 clamp(3.4rem,7vw,6.8rem)/.82 "Arial Narrow",Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.gallery-head>p{margin:0;color:var(--muted)}.gallery-viewer{position:relative;min-height:0;overflow:hidden;border-radius:22px;background:#080a0b}.gallery-main{position:absolute;inset:0;margin:0}.gallery-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.76))}.gallery-main img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.78) saturate(.92);transition:opacity .3s,transform .75s var(--ease)}.gallery-main img.switching{opacity:.18;transform:scale(1.025)}.gallery-thumbs{position:absolute;z-index:4;left:50%;bottom:15px;width:min(750px,calc(100% - 130px));transform:translateX(-50%);display:flex;gap:7px;padding:6px;overflow-x:auto;scrollbar-width:none;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(3,5,6,.64);backdrop-filter:blur(13px)}.gallery-thumbs::-webkit-scrollbar{display:none}.thumb{flex:0 0 82px;height:52px;padding:0;border:1px solid transparent;border-radius:9px;overflow:hidden;background:#111;opacity:.5;transition:opacity .2s,border-color .2s}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.active,.thumb:hover,.thumb:focus-visible{opacity:1;border-color:var(--amber)}.gallery-counter{position:absolute;z-index:4;left:18px;bottom:18px;display:flex;gap:5px;align-items:baseline;color:rgba(255,255,255,.6);font-size:.72rem}.gallery-counter b{color:#fff;font-size:1.45rem}.gallery-arrow{position:absolute;z-index:4;top:50%;width:46px;height:46px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(0,0,0,.42);backdrop-filter:blur(8px)}.gallery-arrow.prev{left:15px}.gallery-arrow.next{right:15px}.gallery-arrow:hover,.gallery-arrow:focus-visible{border-color:var(--cyan)}

.collections{padding:76px 0 90px;background:linear-gradient(180deg,#030405,#070709,#030405)}.collections-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.collection{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden}.collection summary{min-height:220px;display:grid;grid-template-columns:38px 1fr auto;grid-template-rows:auto 68px;gap:16px;padding:24px;list-style:none;cursor:pointer}.collection summary::-webkit-details-marker{display:none}.collection summary h2{margin:2px 0 0;font:900 clamp(2.6rem,4.5vw,4.7rem)/.85 "Arial Narrow",Impact,sans-serif;letter-spacing:-.05em;text-transform:uppercase}.plus{position:relative;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:#fff;transform:translate(-50%,-50%);transition:transform .3s}.plus::after{transform:translate(-50%,-50%) rotate(90deg)}.collection[open] .plus::after{transform:translate(-50%,-50%) rotate(0)}.cover-strip,.period-strip{grid-column:2/4;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;overflow:hidden;border-radius:10px}.cover-strip img{width:100%;height:68px;object-fit:cover}.period-strip{grid-template-columns:repeat(3,1fr)}.period-strip span{display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(180,51,115,.13),rgba(34,199,217,.06));font:800 .7rem/1 sans-serif;letter-spacing:.06em}.collection-body{padding:0 24px 26px}.album-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.album-card{min-width:0}.album-cover{position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#111}.album-cover img{width:100%;height:100%;object-fit:cover}.album-meta{padding-top:9px}.album-meta h3{margin:0;font-size:.92rem}.album-meta p{margin:3px 0;color:var(--muted);font-size:.74rem}.bandcamp-slot{margin-top:6px}.bandcamp-slot iframe{width:100%;border:0}.archive-body{display:grid;grid-template-columns:150px 1fr;gap:18px}.period-tabs{display:grid;align-content:start;gap:6px}.period-tab{min-height:46px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:transparent;text-align:left;font-size:.67rem;font-weight:850;letter-spacing:.06em}.period-tab.active{border-color:rgba(180,51,115,.5);background:rgba(180,51,115,.12)}.period-intro{margin:0 0 12px;color:var(--muted);font-size:.84rem}.archive-videos{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.archive-videos::-webkit-scrollbar{display:none}.archive-video{position:relative;flex:0 0 min(320px,88%);aspect-ratio:16/9;padding:0;border:0;border-radius:12px;overflow:hidden;background:#111;scroll-snap-align:start}.archive-video img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.archive-video span{position:absolute;left:12px;bottom:10px;right:12px;text-align:left;font-size:.76rem;font-weight:800;text-shadow:0 2px 9px #000}.archive-empty{display:grid;place-items:center;min-height:150px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;color:var(--muted);font-size:.72rem}

.finale{height:min(900px,100svh);min-height:720px;display:grid;place-items:center;overflow:hidden;background:#020303}.finale-photo{position:absolute;z-index:-3;inset:0;background:url("../images/live/saadji-duo-blue.jpg") center/cover no-repeat;filter:brightness(.36) saturate(.7);transform:scale(1.03)}.finale-shade{position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 50% 43%,transparent,rgba(2,3,3,.52) 52%,#020303 90%),linear-gradient(180deg,#030405,transparent 35%,#020303)}.finale-copy{text-align:center}.finale-copy>img{width:clamp(280px,43vw,600px);max-height:230px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 0 24px rgba(255,132,29,.15))}.finale-copy h2{margin:7px 0 22px;font:900 clamp(4rem,9vw,8.5rem)/.8 "Arial Narrow",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase}.finale-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}.email{display:block;margin-top:28px;font-size:clamp(1.25rem,2.6vw,2.2rem);font-weight:800;transition:color .2s}.email:hover,.email:focus-visible{color:var(--amber)}.socials{display:flex;justify-content:center;gap:7px;margin-top:18px}.socials a{padding:8px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.finale footer{position:absolute;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.28);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}

.video-dialog{width:min(1050px,calc(100% - 24px));max-width:none;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(3,5,6,.96);color:#fff;box-shadow:0 35px 120px rgba(0,0,0,.8);backdrop-filter:blur(20px)}.video-dialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(8px)}.dialog-close{position:absolute;z-index:3;right:12px;top:10px;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:#080909;color:#fff;font-size:1.6rem}.video-stage{aspect-ratio:16/9;margin-top:20px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#090b0c}.video-stage iframe{width:100%;height:100%;border:0}.teaser-placeholder{display:grid;justify-items:center;gap:15px;text-align:center}.teaser-placeholder img{width:min(440px,75%)}.teaser-placeholder strong{font-size:1.25rem;text-transform:uppercase}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

@media(max-width:900px){:root{--shell:min(760px,calc(100vw - 30px))}.header,.header.scrolled{top:7px;width:calc(100% - 14px);height:auto;min-height:92px;grid-template-columns:112px 1fr 90px;grid-template-rows:45px 39px;padding:5px 7px;border-radius:17px;background:rgba(3,5,6,.7);border-color:rgba(255,255,255,.09);backdrop-filter:blur(16px)}.brand,.scrolled .brand{width:102px;height:40px}.languages{grid-column:3;grid-row:1}.languages button{min-width:38px;min-height:34px}.nav{grid-column:1/4;grid-row:2;justify-content:flex-start;gap:4px;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:1 0 auto;min-height:37px;padding:0 10px;font-size:.66rem}.hero-copy{padding-top:110px}.tour-shell{grid-template-columns:170px 1fr}.tour-title h2{font-size:3.5rem}.sound{height:820px}.sound-copy{padding-bottom:110px}.sound-shade{background:linear-gradient(90deg,rgba(2,4,5,.88),rgba(2,4,5,.35)),linear-gradient(0deg,#030405,transparent 40%)}.instrument-nav{overflow-x:auto;grid-template-columns:repeat(5,minmax(145px,1fr));scrollbar-width:none}.duo{min-height:680px}.duo-grid{height:520px}.artist{padding:30px 22px}.duo-logo{bottom:23%}.gallery{height:800px}.collections-grid{grid-template-columns:1fr}.collection summary{min-height:190px}.archive-body{grid-template-columns:150px 1fr}}

@media(max-width:600px){:root{--shell:calc(100vw - 24px)}.hero-photo{inset:0;background-position:51% center}.hero-vignette{background:radial-gradient(circle at 50% 47%,transparent 8%,rgba(0,0,0,.34) 55%,rgba(1,2,3,.9) 100%),linear-gradient(180deg,rgba(0,0,0,.1),transparent 34%,#030405 100%)}.hero::before{left:4%;width:28%}.hero::after{right:3%;width:25%}.hero-copy{width:calc(100% - 22px)}.hero-mark{width:min(88vw,440px);max-height:170px}.hero h1{font-size:clamp(4rem,20vw,6.5rem)}.hero h1 span{display:block}.hero-manifest{max-width:330px;margin:18px auto 22px;font-size:.65rem;line-height:1.7}.tour{padding:36px 0 42px}.tour-shell{display:block}.tour-title{margin-bottom:18px}.tour-title h2{font-size:3.4rem}.tour-list{grid-auto-columns:88%}.sound{height:740px;min-height:740px}.sound-image{background-position:58% center}.sound-shade{background:linear-gradient(180deg,rgba(2,4,5,.42),rgba(2,4,5,.78) 54%,#030405 100%)}.sound-copy{justify-content:flex-end;padding-bottom:122px}.sound-copy h2{font-size:clamp(4.1rem,18vw,6.4rem);margin:8px 0 16px}.sound-copy>p:not(.kicker){font-size:.91rem;max-width:360px}.sound-words{display:none}.instrument-nav{bottom:10px;width:calc(100% - 18px);grid-template-columns:repeat(5,minmax(128px,1fr));border-radius:14px;overflow-x:auto}.instrument-tab{min-height:54px}.duo{min-height:0;padding-top:64px}.duo-head{grid-template-columns:34px 1fr;margin-bottom:25px}.duo-head h2{font-size:3.5rem}.duo-grid{grid-template-columns:repeat(2,88vw);height:62vh;min-height:480px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.duo-grid::-webkit-scrollbar{display:none}.artist{min-height:100%;padding:26px 18px;scroll-snap-align:center}.artist:nth-child(2) .artist-copy{margin:0;text-align:left}.artist:nth-child(2)::after{background:linear-gradient(180deg,transparent 18%,rgba(3,4,5,.91) 94%)}.artist h3{font-size:4.4rem}.artist .bio{font-size:.84rem}.duo-logo{display:none}.gallery{height:730px;min-height:650px;padding:58px 0}.gallery-head{grid-template-columns:34px 1fr}.gallery-head h2{font-size:3.4rem}.gallery-head>p{display:none}.gallery-viewer{border-radius:14px}.gallery-main img{object-position:center}.gallery-thumbs{left:12px;right:12px;bottom:12px;width:auto;transform:none}.thumb{flex-basis:68px;height:44px}.gallery-arrow{top:45%;width:42px;height:42px}.gallery-counter{top:13px;bottom:auto;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.35)}.collections{padding:58px 0 64px}.collections-grid{gap:10px}.collection summary{min-height:168px;grid-template-columns:30px 1fr auto;grid-template-rows:auto 54px;padding:17px;gap:10px}.collection summary h2{font-size:2.65rem}.cover-strip img{height:54px}.period-strip span{font-size:.58rem}.collection-body{padding:0 17px 18px}.album-grid{gap:9px}.archive-body{grid-template-columns:1fr}.period-tabs{display:flex;overflow-x:auto}.period-tab{flex:0 0 auto}.finale{height:760px;min-height:700px}.finale-copy{width:calc(100% - 24px)}.finale-copy>img{width:min(88vw,470px)}.finale-copy h2{font-size:clamp(4rem,18vw,6rem)}.email{font-size:1.18rem}.finale footer{display:grid;gap:3px;justify-content:center;text-align:center}.video-dialog{padding:16px}.video-stage{margin-top:30px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.beam,.fog{display:none}.hero-photo{transform:none}.sound-image,.gallery-main img{transform:none}}

/* Responsive media treatment and integrated players */
.hero-copy{width:min(1180px,calc(100% - 44px));padding-top:84px;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(430px,1fr);align-items:center;gap:clamp(34px,6vw,84px);text-align:initial}.hero-message{text-align:center}.hero-mark{width:clamp(250px,31vw,440px);max-height:185px}.hero h1{font-size:clamp(4.2rem,8vw,8.2rem)}.hero h1 span{display:block}.hero-manifest{margin:22px 0 0}.hero-teaser{position:relative;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(3,5,6,.5);box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 45px rgba(34,199,217,.08);backdrop-filter:blur(12px);transform:rotate(.45deg)}.hero-teaser::before{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:inherit;background:linear-gradient(120deg,rgba(255,132,29,.42),transparent 32%,transparent 68%,rgba(34,199,217,.34));filter:blur(10px);opacity:.5}.hero-teaser iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:13px;background:#000}.teaser-label{position:absolute;z-index:2;left:19px;top:19px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;pointer-events:none}
.sound-image{background-image:url("../images/live/zalem-didgeridoo-close.jpg"),url("../images/live/zalem-didgeridoo-close.jpg");background-position:center,center;background-size:cover,cover;background-repeat:no-repeat}
.artist::before{display:none}.artist-media{position:absolute;z-index:-2;inset:0;overflow:hidden;background:var(--artist-image) center/cover no-repeat}.artist-media img{width:100%;height:100%;object-fit:cover;object-position:var(--artist-pos,center);filter:brightness(.62) saturate(.86);transition:transform .8s var(--ease),filter .5s;transform:scale(1.025)}.artist:hover .artist-media img{transform:scale(1.06);filter:brightness(.76) saturate(1)}
.gallery-main{background:#050607}.gallery-main::before{content:"";position:absolute;inset:-25px;background:var(--gallery-image) center/cover no-repeat;filter:blur(24px) brightness(.38) saturate(.95);transform:scale(1.08);opacity:0}.gallery-main img{position:relative}
.listen-link{display:inline-block;margin-top:5px;color:var(--amber);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.audio-slot{margin-top:8px}.audio-slot iframe{display:block;width:100%;border:0;border-radius:8px;background:#090b0c}#archiveFold summary{min-height:160px;grid-template-rows:auto}.booking-label{display:block;margin-top:28px;color:var(--amber);font-size:.7rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.booking-label+.email{margin-top:5px}

@media(max-width:900px){.hero{min-height:840px}.hero-copy{width:min(760px,calc(100% - 30px));grid-template-columns:1fr 1fr;gap:24px;padding-top:118px}.hero-mark{width:min(42vw,330px)}.hero h1{font-size:clamp(3.8rem,10vw,6rem)}.hero-manifest{font-size:.67rem}.hero-teaser{border-radius:16px}}

@media(max-width:600px){.hero{min-height:780px;height:auto;padding:108px 0 54px;align-items:start}.hero-photo{inset:0;background-image:url("../images/live/saadji-duo-backlight.jpg"),url("../images/live/saadji-duo-backlight.jpg");background-position:center 18%,center;background-size:contain,cover;background-repeat:no-repeat;filter:brightness(.57) saturate(.85) contrast(1.04);transform:none}.hero-copy{width:calc(100% - 20px);padding:0;display:flex;flex-direction:column;gap:18px}.hero-mark{width:min(74vw,340px);height:94px;margin-bottom:0}.hero h1{font-size:clamp(3.5rem,17vw,5.3rem)}.hero-manifest{margin:13px auto 0}.hero-teaser{width:100%;padding:6px;transform:none}.teaser-label{left:14px;top:14px;font-size:.59rem}.down{display:none}.sound-image{background-position:center,center;background-size:contain,cover;filter:brightness(.54) saturate(.9);transform:none}.artist-media{background-position:center;background-size:cover}.artist-media img{object-fit:contain;object-position:center;transform:none;filter:brightness(.72) saturate(.9)}.artist::after,.artist:nth-child(2)::after{background:linear-gradient(180deg,rgba(3,4,5,.12) 10%,rgba(3,4,5,.35) 52%,rgba(3,4,5,.94) 94%)}.gallery-main::before{opacity:.95}.gallery-main img{object-fit:contain;object-position:center;filter:brightness(.92) saturate(.95)}.finale-photo{background-image:url("../images/live/saadji-duo-blue.jpg"),url("../images/live/saadji-duo-blue.jpg");background-position:center,center;background-size:contain,cover;background-repeat:no-repeat;filter:brightness(.32) saturate(.72);transform:none}.collection summary{grid-template-rows:auto}.collection summary .plus{grid-column:3;grid-row:1}.audio-slot iframe{height:120px}.booking-label{margin-top:24px}}

/* Concert light choreography */
:root{--scroll-progress:0;--scroll-velocity:0;--cue-x:50%;--cue-y:45%}
.light-rig{position:fixed;z-index:1;inset:-18vh -14vw;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.stage-beam{position:absolute;top:-22vh;width:clamp(210px,18vw,410px);height:135vh;transform-origin:50% 0;filter:blur(18px);opacity:calc(.15 + var(--scroll-velocity)*.08);background:linear-gradient(180deg,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.52),rgba(var(--scene-r),var(--scene-g),var(--scene-b),.12) 48%,transparent 82%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}.beam-warm{left:5%;transform:rotate(16deg);animation:stageSweepWarm 16s ease-in-out infinite alternate}.beam-cold{right:4%;transform:rotate(-19deg);animation:stageSweepCold 19s ease-in-out -6s infinite alternate}.beam-deep{left:42%;width:clamp(130px,12vw,280px);opacity:.1;transform:rotate(3deg);animation:stageSweepDeep 13s ease-in-out -4s infinite alternate}.light-orbit{position:absolute;left:50%;top:48%;width:min(92vw,1220px);aspect-ratio:1;transform:translate(-50%,-50%) rotate(calc(var(--scroll-progress)*65deg));border-radius:50%;opacity:.18;background:conic-gradient(from 20deg,transparent 0 16%,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.52) 18%,transparent 20% 44%,rgba(255,255,255,.22) 45%,transparent 47% 78%,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.35) 80%,transparent 82%);mask:radial-gradient(circle,transparent 0 61%,#000 62% 62.4%,transparent 63% 70%,#000 70.5% 70.8%,transparent 71.4%);filter:blur(.5px);transition:background 1.2s ease}.light-leak{position:absolute;left:calc(var(--cue-x) - 28vw);top:calc(var(--cue-y) - 14vh);width:56vw;height:28vh;border-radius:50%;opacity:calc(.11 + var(--scroll-velocity)*.12);background:radial-gradient(ellipse,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.36),transparent 68%);filter:blur(38px);animation:lightBreathe 8s ease-in-out infinite alternate}
.cue-flash{position:fixed;z-index:82;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--cue-x) var(--cue-y),rgba(255,255,255,.25),rgba(var(--scene-r),var(--scene-g),var(--scene-b),.12) 22%,transparent 58%);mix-blend-mode:screen}.cue-flash.fire{animation:cueFlash .58s ease-out}
.scene:not(.hero)::before{content:"";position:absolute;z-index:-3;inset:-10% 0;pointer-events:none;opacity:.22;background:radial-gradient(ellipse at var(--cue-x) 22%,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.18),transparent 48%);filter:blur(14px)}.tour::after,.collections::after{content:"";position:absolute;z-index:-1;left:7%;right:7%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--scene-r),var(--scene-g),var(--scene-b),.68),transparent);box-shadow:0 0 24px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.35);transform:scaleX(.72);opacity:.45}.sound-stage::before,.gallery-viewer::before,.hero-teaser::after{content:"";position:absolute;z-index:2;inset:-30% auto -30% -30%;width:16%;pointer-events:none;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),rgba(var(--scene-r),var(--scene-g),var(--scene-b),.18),transparent);filter:blur(12px);mix-blend-mode:screen;animation:imageSweep 11s cubic-bezier(.25,.55,.2,1) infinite}.gallery-viewer::before{z-index:3;animation-delay:-5s}.hero-teaser::after{z-index:3;border-radius:inherit;animation-duration:8s;animation-delay:-2s}.hero-mark,.finale-copy>img{animation:logoPulse 6.5s ease-in-out infinite}.duo::after{content:"";position:absolute;z-index:3;left:50%;top:18%;width:1px;height:62%;pointer-events:none;background:linear-gradient(transparent,rgba(255,255,255,.32),rgba(var(--scene-r),var(--scene-g),var(--scene-b),.65),transparent);box-shadow:0 0 25px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.5);opacity:.55}.instrument-tab.active{box-shadow:inset 0 0 0 1px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.18),0 0 22px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.08)}
@keyframes stageSweepWarm{0%{transform:rotate(21deg) translateX(-5vw)}100%{transform:rotate(7deg) translateX(12vw)}}@keyframes stageSweepCold{0%{transform:rotate(-24deg) translateX(4vw)}100%{transform:rotate(-9deg) translateX(-13vw)}}@keyframes stageSweepDeep{0%{transform:rotate(-3deg) translateX(-7vw)}100%{transform:rotate(9deg) translateX(8vw)}}@keyframes lightBreathe{to{transform:translate3d(7vw,-4vh,0) scale(1.2);opacity:.2}}@keyframes cueFlash{0%{opacity:0}18%{opacity:.72}100%{opacity:0}}@keyframes imageSweep{0%,58%{left:-34%;opacity:0}65%{opacity:.6}84%{left:118%;opacity:.2}100%{left:118%;opacity:0}}@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 16px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.13))}50%{filter:drop-shadow(0 0 34px rgba(var(--scene-r),var(--scene-g),var(--scene-b),.34))}}

@media(max-width:600px){.light-rig{inset:-12vh -35vw}.stage-beam{width:42vw;height:115vh;filter:blur(22px);opacity:.13}.beam-deep,.light-orbit{display:none}.scene:not(.hero)::before{opacity:.14}.sound-stage::before,.gallery-viewer::before,.hero-teaser::after{width:22%;filter:blur(15px);animation-duration:14s}.duo::after{display:none}}
@media(prefers-reduced-motion:reduce){.stage-beam,.light-leak,.sound-stage::before,.gallery-viewer::before,.hero-teaser::after,.hero-mark,.finale-copy>img{animation:none!important}.cue-flash{display:none}.light-orbit{transform:translate(-50%,-50%);opacity:.08}}

/* September refinements: stable media and compact map */
.sound-copy{justify-content:flex-start;padding-top:clamp(108px,16vh,158px);padding-bottom:132px}
.gallery-head{grid-template-columns:44px 1fr}
.tour-map-panel{position:relative;grid-column:2;min-width:0;height:245px;margin-top:4px;padding:7px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(120deg,rgba(255,132,29,.06),rgba(34,199,217,.04)),#080a0b}
.tour-map{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:12px;background:#0b1011;filter:saturate(.72) contrast(1.05)}
.tour-map .leaflet-control-attribution{font-size:9px}.tour-map .leaflet-popup-content-wrapper,.tour-map .leaflet-popup-tip{background:#0b1011;color:#f2efe9}.tour-map-popup strong{display:block;margin-bottom:4px;color:#fff}.tour-map-popup span{display:block;color:#aaa9a5}.tour-map-empty{position:absolute;inset:7px;display:grid;place-items:center;padding:24px;border-radius:12px;background:#0b1011;color:var(--muted);text-align:center}
.collections-grid{grid-template-columns:1fr;gap:14px}.collection summary{min-height:180px}.album-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.album-cover{width:min(100%,180px);margin-inline:auto}.album-meta{text-align:center}.audio-slot{text-align:left}
#discographyFold summary{grid-template-columns:38px minmax(210px,1fr) minmax(360px,560px);grid-template-rows:auto;align-items:center}#discographyFold .cover-strip{position:relative;grid-column:3;height:150px;display:block;background:#020303}#discographyFold .cover-strip img{width:100%;height:100%;object-fit:contain;background:#020303}

@media(min-width:901px){.hero-teaser{align-self:center;margin-top:clamp(120px,20vh,210px);transform:rotate(.45deg)}}
@media(max-width:900px){.tour-map-panel{grid-column:2;height:225px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#discographyFold summary{grid-template-columns:38px 1fr auto;grid-template-rows:auto 132px}#discographyFold .cover-strip{grid-column:2/4;grid-row:2;height:132px}}
@media(max-width:600px){.tour-map-panel{height:220px;margin-top:12px}.sound-copy{justify-content:flex-start;padding-top:112px;padding-bottom:120px}.sound-copy h2{font-size:clamp(3.75rem,17vw,5.8rem)}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-cover{width:100%;max-width:160px}#discographyFold summary{grid-template-rows:auto 112px}#discographyFold .cover-strip{height:112px}.gallery-viewer::after{z-index:2}}

/* Balanced mobile crops and a full-ratio discography mosaic */
.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.album-card{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.album-meta{padding-top:0;text-align:left}
#discographyFold summary{grid-template-columns:38px 1fr auto;grid-template-rows:auto auto;align-items:start}#discographyFold summary .plus{grid-column:3;grid-row:1}#discographyFold .cover-strip{grid-column:1/-1;grid-row:2;width:min(100%,720px);height:auto;aspect-ratio:2048/1731;margin-top:4px;justify-self:center}#discographyFold .cover-strip img{width:100%;height:100%;object-fit:contain}

@media(max-width:600px){
  .hero{min-height:720px;padding:104px 0 36px}.hero-photo{background-position:center 20%,center;background-size:150% auto,cover}
  .tour{padding:26px 0 32px}.tour-title{margin-bottom:12px}.tour-map-panel{height:190px;margin-top:9px}
  .sound{height:660px;min-height:660px}.sound-image{background-position:center 42%,center;background-size:150% auto,cover}.sound-copy{padding-top:102px;padding-bottom:108px}.sound-copy h2{margin:6px 0 12px}.sound-copy>p:not(.kicker){line-height:1.42}.instrument-nav{bottom:8px}
  .duo{padding-top:44px}.duo-head{margin-bottom:18px}.duo-grid{height:54vh;min-height:430px}.artist-media img{position:absolute;left:50%;top:0;width:150%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:translateX(-50%)}.artist:hover .artist-media img{transform:translateX(-50%)}
  .collections{padding:38px 0 46px}.collections-grid{gap:8px}.collection summary{min-height:138px;padding:14px;gap:9px}.collection-body{padding:0 14px 15px}.album-grid{grid-template-columns:1fr;gap:9px}.album-card{padding:11px}.audio-slot{margin-top:7px}
  #discographyFold summary{grid-template-columns:30px 1fr auto;grid-template-rows:auto auto}#discographyFold .cover-strip{grid-column:1/-1;grid-row:2;width:100%;height:auto;aspect-ratio:2048/1731;margin-top:2px}
  .finale{height:700px;min-height:640px}.finale-photo{background-position:center,center;background-size:150% auto,cover}
}

/* Mobile sound sequence: editorial introduction, photograph, then instrument controls. */
.bandcamp-player{height:120px;min-height:120px}
@media(max-width:600px){
  .sound{height:auto;min-height:0;overflow:hidden;background:#050708}
  .sound-stage{display:grid;grid-template-rows:auto minmax(300px,82vw) auto;height:auto;overflow:hidden;background:#050708}
  .sound-copy{grid-row:1;position:relative;width:var(--shell);height:auto;padding:58px 0 25px;justify-content:flex-start;background:#050708}
  .sound-copy h2{margin:7px 0 14px;font-size:clamp(3.35rem,15vw,4.85rem);line-height:.8}
  .sound-copy>p:not(.kicker){max-width:350px;font-size:.9rem;line-height:1.46;color:rgba(255,255,255,.76)}
  .sound-image{grid-row:2;position:relative;inset:auto;width:100%;height:100%;background-position:center,center;background-size:145% auto,cover;filter:brightness(.86) saturate(1.02) contrast(1.03);transform:none}
  .sound-image.switching{opacity:.2;transform:scale(1.02)}
  .sound-shade{display:none}
  .instrument-nav{grid-row:3;position:relative;left:auto;bottom:auto;width:calc(100% - 16px);margin:-1px auto 0;transform:none;border-radius:0 0 14px 14px;background:rgba(3,5,6,.88)}
  .sound-stage::before{top:36%;bottom:8%;z-index:2}
}

/* The album art is part of the listening surface, with no second artwork inside the iframe. */
.audio-player{margin-top:8px}
.audio-player--bandcamp{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;align-items:center}
.audio-player .audio-slot{min-width:0;margin:0}
.player-artwork{width:108px;height:108px;object-fit:cover;border-radius:7px;background:#101112}
@media(max-width:600px){
  .gallery{height:auto;min-height:0;padding:38px 0 42px}
  .gallery-shell{height:auto;grid-template-rows:auto auto;gap:14px}
  .gallery-viewer{width:100%;aspect-ratio:16/10;min-height:0}
  .audio-player--bandcamp{grid-template-columns:96px minmax(0,1fr);gap:9px}
  .player-artwork{width:96px;height:96px}
}

/* A compact, animated album mosaic inside the native disclosure control. */
#discographyFold summary{min-height:0}
#discographyFold .cover-strip{position:relative;width:min(50%,360px);margin:10px auto 0;overflow:hidden;border:1px solid rgba(255,132,29,.28);border-radius:13px;background:#020303;box-shadow:0 0 0 1px rgba(255,255,255,.035),0 14px 36px rgba(0,0,0,.35);animation:mosaicInvite 4s ease-in-out infinite;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
#discographyFold .cover-strip img{width:100%;height:100%;object-fit:contain;transition:transform .45s var(--ease)}
#discographyFold .cover-strip::after{content:"↗";position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(3,5,6,.86);color:#fff;font:600 1.2rem/1 sans-serif;pointer-events:none;transition:transform .3s var(--ease),background .3s}
#discographyFold summary:hover .cover-strip,#discographyFold summary:focus-visible .cover-strip{animation:none;transform:translateY(-4px) scale(1.025);border-color:rgba(255,132,29,.7);box-shadow:0 0 22px rgba(255,132,29,.2),0 18px 40px rgba(0,0,0,.44)}
#discographyFold summary:hover .cover-strip img,#discographyFold summary:focus-visible .cover-strip img{transform:scale(1.025)}
#discographyFold summary:hover .cover-strip::after,#discographyFold summary:focus-visible .cover-strip::after{transform:rotate(45deg);background:rgba(255,132,29,.8)}
#discographyFold[open] .cover-strip::after{content:"−"}
#discographyFold[open] .cover-strip{animation:none;border-color:rgba(255,132,29,.45)}
@keyframes mosaicInvite{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.035),0 14px 36px rgba(0,0,0,.35)}50%{box-shadow:0 0 18px rgba(255,132,29,.23),0 14px 36px rgba(0,0,0,.35)}}
@media(min-width:901px){#discographyFold summary{grid-template-columns:38px minmax(0,1fr) minmax(0,360px) 38px;grid-template-rows:auto;align-items:center}#discographyFold .cover-strip{grid-column:3;grid-row:1;width:100%;margin:0}#discographyFold summary .plus{grid-column:4;grid-row:1}}
@media(max-width:900px){#discographyFold .cover-strip{grid-column:1/-1;grid-row:2;width:min(50%,360px);height:auto}}
@media(prefers-reduced-motion:reduce){#discographyFold .cover-strip{animation:none}#discographyFold summary:hover .cover-strip,#discographyFold summary:focus-visible .cover-strip,#discographyFold summary:hover .cover-strip img,#discographyFold summary:focus-visible .cover-strip img{transform:none}}

/* Follow the supplied composition: centered copy on the lower left, film on the lower right. */
@media(min-width:601px){
  .hero{place-items:stretch center}
  .hero-copy{display:grid;align-self:end;grid-template-columns:minmax(0,40%) minmax(0,60%);align-items:stretch;gap:0;width:min(2048px,calc(100% - 48px));padding:0 0 clamp(32px,5vh,68px)}
  .hero-message{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:none;min-width:0;padding:0 clamp(8px,2vw,32px);text-align:center}
  .hero-message .kicker{font-size:clamp(1.1rem,1.7vw,1.8rem)}
  .hero h1{font-size:clamp(4rem,7.2vw,9.2rem)}
  .hero-manifest{margin:18px 0 0;font-size:clamp(.9rem,1.2vw,1.2rem);line-height:1.5}
  .hero-teaser{position:relative;right:auto;bottom:auto;align-self:end;width:100%;margin:0;transform:rotate(.45deg)}
  .sound{height:auto;min-height:0}
  .sound-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;height:auto;overflow:hidden}
  .sound-copy{grid-row:1;width:min(1180px,calc(100% - 56px));height:auto;padding:68px 0 30px;justify-content:flex-start}
  .sound-copy h2{margin:8px 0 18px;font-size:clamp(3.7rem,5.6vw,6.8rem);line-height:.83}
  .sound-copy>p:not(.kicker){max-width:760px;color:rgba(255,255,255,.76)}
  .sound-words{margin-top:18px}
  .sound-image{grid-row:2;position:relative;inset:auto;justify-self:center;width:min(1180px,calc(100% - 56px));height:auto;aspect-ratio:2/1;background-position:center,center;background-size:cover,cover;filter:brightness(.84) saturate(1.03);transform:none;border-radius:18px 18px 0 0}
  .sound-image.switching{opacity:.18;transform:scale(1.01)}
  .sound-shade{display:none}
  .instrument-nav{grid-row:3;position:relative;left:auto;bottom:auto;width:min(1180px,calc(100% - 56px));margin:0 auto;transform:none;border-radius:0 0 18px 18px;background:rgba(3,5,6,.85)}
}
@media(min-width:901px){.hero{min-height:max(900px,100svh)}.hero-teaser{width:70%;justify-self:end}}
@media(min-width:601px) and (max-width:900px){
  .hero-copy{width:calc(100% - 36px);padding:0 0 28px}
  .hero-message{padding:0 6px}
  .hero-message .kicker{font-size:.9rem}
  .hero h1{font-size:clamp(2.4rem,5.8vw,3.4rem)}
  .hero-manifest{max-width:320px;margin-top:10px;font-size:.75rem}
  .hero-teaser{width:100%;right:auto;bottom:auto}
  .sound-copy{padding-top:60px}
  .sound-words{gap:6px}
}

/* The original 2048px concert frame keeps faces sharp; the phone uses a light 1080px version. */
.hero-photo{inset:0;background-image:url("../images/live/saadji-duo-hero-2048.jpg");background-position:center 42%;filter:brightness(.89) contrast(1.03);transform:none;animation:none}
@media(max-width:600px){
  .hero{min-height:0;height:auto;padding:clamp(230px,30vh,320px) 0 36px;align-items:start}
  .hero-photo{background-image:url("../images/live/saadji-duo-hero-mobile.webp"),url("../images/live/saadji-duo-hero-mobile.webp");background-position:center 84px,center;background-size:150% auto,cover;background-repeat:no-repeat;filter:brightness(.86) contrast(1.03)}
  .hero-vignette{background:radial-gradient(circle at 50% 30%,transparent 25%,rgba(0,0,0,.3) 75%),linear-gradient(180deg,rgba(0,0,0,.23),transparent 35%,#030405 85%)}
  .hero-copy{width:calc(100% - 28px);gap:18px;text-align:center}
  .hero-message{text-align:center}
  .hero-message .kicker{font-size:1rem}
  .hero h1{font-size:clamp(4rem,17vw,5.8rem)}
  .hero-manifest{margin:13px auto 0;font-size:.86rem}
}

/* Narrow-screen typography: keep the short labels on one line and center the sound intro. */
@media(max-width:600px){
  .hero-manifest{max-width:none;width:100%;font-size:clamp(.61rem,2.65vw,.78rem);letter-spacing:.035em;white-space:nowrap}
  .duo-head{grid-template-columns:28px minmax(0,1fr);gap:5px}
  .duo-head h2{font-size:clamp(2.2rem,10vw,3rem);letter-spacing:-.065em;white-space:nowrap}
  .sound-copy{margin-inline:auto;align-items:center;text-align:center}
  .sound-copy>p:not(.kicker){margin-inline:auto}
}
.duo-head{margin-bottom:22px}
@media(max-width:600px){.duo-head{margin-bottom:14px}}
@media(max-width:600px){
  .hero-teaser{width:min(66vw,270px);align-self:center}
  .hero-teaser iframe{aspect-ratio:9/16}
  .video-stage.vertical{aspect-ratio:9/16;width:min(76vw,38vh);max-height:76vh;margin-inline:auto}
}
.archive-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.archive-top .period-intro{margin:0}
.archive-controls{display:flex;flex:none;gap:8px}
.archive-controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:1.3rem;cursor:pointer;transition:background .2s,border-color .2s}
.archive-controls button:hover,.archive-controls button:focus-visible{background:rgba(180,51,115,.28);border-color:rgba(255,255,255,.7)}
.archive-controls button:disabled{opacity:.32;cursor:default}
@media(max-width:600px){.archive-controls{display:none}}

/* Titre Organic Trance sur une ligne, Live conserve son contour d’origine. */
.hero h1 span,.finale-copy h2 span{display:block;white-space:nowrap;color:#fff;-webkit-text-fill-color:#fff;font-size:clamp(1.7rem,3.6vw,4.7rem);line-height:1.08;letter-spacing:-.055em}
@media(max-width:600px){.hero h1 span,.finale-copy h2 span{font-size:clamp(1.7rem,7.2vw,2.3rem)}}
