*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#030409;color:#fff;font-family:Arial,Helvetica,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #fff;outline-offset:3px}.scene{width:100vw;height:100vh;height:100dvh;display:grid;place-items:center;overflow:hidden}.desktop-scene{position:relative;width:min(100vw,177.7777778dvh);aspect-ratio:16/9;max-height:100dvh;container-type:inline-size;overflow:hidden;isolation:isolate;background:#020308}.reference{position:absolute;inset:0;width:100%;height:100%;display:block}.desktop-nav{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;display:block;border:0;background:transparent;pointer-events:auto}.nav-home{left:65.3%;top:1.2%;width:4.9%;height:4.4%}.nav-gallery{left:71.4%;top:1.2%;width:5.6%;height:4.4%}.nav-video{left:77.9%;top:1.2%;width:5.1%;height:4.4%}.nav-contact{left:83.5%;top:1.2%;width:5.6%;height:4.4%}.hotspot:hover{background:rgba(255,255,255,.06)}.hero-video,.bottom-video,.contact-label{position:absolute;display:flex;align-items:center;justify-content:center;gap:.8cqw;border:0;background:#06070be6;color:#fff;white-space:nowrap;font-size:1.03cqw;letter-spacing:.01em;z-index:4}.hero-video{left:43%;top:53.4%;width:14%;height:3.4%;border-radius:2cqw}.bottom-video{left:45.3%;top:89.9%;width:17.7%;height:6.8%;font-size:.98cqw;background:#06070b;border:2px solid #ed2534;border-radius:4cqw}.contact-label{left:75.7%;top:91.2%;width:18.2%;height:5%;justify-content:flex-start;padding-left:.45cqw;font-size:.96cqw;background:#06070b}.hero-video:hover,.bottom-video:hover,.contact-label:hover{text-shadow:0 0 9px #fff}.play{color:#ff2735;font-size:1.15em}.gallery-hotspots{position:absolute;inset:0;pointer-events:none}.photo{position:absolute;top:89.8%;height:7.5%;width:6.7%;padding:0;border:1px solid transparent;background:transparent;pointer-events:auto}.photo:hover{border:2px solid #fff;box-shadow:0 0 14px #f23d47}.photo-1{left:8.1%}.photo-2{left:15.4%}.photo-3{left:22.6%}.photo-4{left:30.8%}.mobile-scene{display:none}.lightbox,.info-dialog{border:1px solid #4e5060;background:#07090f;color:#fff;box-shadow:0 30px 90px #000;max-width:calc(100vw - 24px)}dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(7px)}.lightbox{width:min(1080px,96vw);padding:48px 50px 22px;text-align:center}.lightbox img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.lightbox .caption{margin:15px 0 0;font-size:15px;color:#d5d6dc}.lightbox .close,.info-dialog .close{position:absolute;right:12px;top:4px;border:0;background:transparent;font-size:34px}.lightbox .previous,.lightbox .next{position:absolute;top:45%;font-size:48px;background:#07090fb8;border:0;width:46px;height:70px}.lightbox .previous{left:0}.lightbox .next{right:0}.info-dialog{width:min(430px,calc(100vw - 36px));padding:34px 34px 30px;border-top:3px solid #ec2634}.dialog-mark{font-family:Georgia,serif;color:#f0313e;font-size:14px;font-weight:800;letter-spacing:.13em}.info-dialog h2{font-size:28px;margin:20px 0 10px}.info-dialog p{color:#d0d4dc;line-height:1.5}.dismiss{background:transparent;border:1px solid #e82837;border-radius:50px;padding:9px 25px;margin-top:10px}
@media(max-aspect-ratio:1/1){.desktop-scene{display:none}.mobile-scene{display:grid;grid-template-rows:6.5% 48% 25% 20.5%;height:100dvh;width:100vw;min-height:0;overflow:hidden;background:#05070b}.mobile-header{display:flex;align-items:center;justify-content:space-between;background:#020307;padding:0 5%;border-bottom:1px solid #222}.mobile-header span{font-family:Georgia,serif;color:#fa2534;font-size:clamp(18px,5vw,27px);font-weight:bold;font-variant:small-caps}.mobile-header span span{color:#0c91f4}.mobile-header button{border:0;background:transparent;font-size:12px;letter-spacing:.1em}.mobile-hero{position:relative;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 4% 2.5%;background:radial-gradient(ellipse at 17% 54%,#c11627 0%,transparent 44%),radial-gradient(ellipse at 83% 53%,#1266c6 0%,transparent 50%),#020409;overflow:hidden}.mobile-hero:before{content:"";position:absolute;inset:0;background:url('assets/maquette-originale.jpg') center 12% / auto 180% no-repeat;opacity:.44;filter:blur(5px)}.mobile-hero>*{position:relative}.mobile-logo{width:min(100%,64dvh);aspect-ratio:2/1;overflow:hidden;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(180deg,#000 0 80%,transparent);mask-image:linear-gradient(180deg,#000 0 80%,transparent)}.mobile-logo img{width:100%;height:100%;object-fit:contain}.mobile-hero h1{font-size:clamp(21px,6vw,32px);margin:-1.5% 0 1%;text-shadow:0 3px 10px #000}.mobile-hero p{font-size:clamp(12px,3.1vw,16px);margin:0 0 3%;text-shadow:0 2px 7px #000}.mobile-hero button{background:#080a0e;border:1px solid #f32637;border-radius:50px;padding:8px 20px;font-size:clamp(12px,3vw,15px)}.mobile-band{width:100%;height:100%;object-fit:cover;object-position:center}.mobile-bottom{display:grid;grid-template-columns:1.15fr 1fr;min-height:0;border-top:1px solid #555;background:linear-gradient(110deg,#110407,#03070e)}.mobile-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:5px;padding:8px 5px 10px 12px;min-height:0}.mobile-gallery strong{grid-column:1/-1;font-size:clamp(13px,3.6vw,18px)}.mobile-gallery button{padding:0;min-width:0;min-height:0;border:1px solid #777;overflow:hidden;background:#000}.mobile-gallery img{width:100%;height:100%;object-fit:cover}.mobile-actions{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid #45454d}.mobile-actions button{border:0;border-bottom:1px solid #35363b;background:transparent;text-align:left;padding:8px 12px;display:flex;flex-direction:column;justify-content:center}.mobile-actions strong{font-size:clamp(13px,3.6vw,18px)}.mobile-actions small{color:#bbc2cf;margin-top:4px;font-size:11px}.lightbox{padding-inline:30px}}
@media(max-height:540px) and (max-aspect-ratio:1/1){.mobile-hero p{display:none}.mobile-hero button{padding:5px 12px}}

/* Fill the viewport at every desktop aspect ratio. */
.desktop-scene{width:100vw;height:100dvh;max-height:none;aspect-ratio:auto}
.desktop-scene::after{content:"";position:absolute;top:0;left:0;width:40%;height:6.2%;z-index:8;pointer-events:none;background:linear-gradient(90deg,#080408 0%,#070509 75%,transparent 100%)}
@media(max-aspect-ratio:1/1){.mobile-scene{grid-template-rows:54.5% 25% 20.5%}}

/* Updated welcome copy and access to the gallery from the lower photo block. */
.interface-plate{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;-webkit-mask-image:url('assets/interface-clean-mask.svg?v=25');mask-image:url('assets/interface-clean-mask.svg?v=25');-webkit-mask-size:100% 100%;mask-size:100% 100%}
.hero-tagline{position:absolute;left:20%;top:48.3%;width:60%;height:3.8%;z-index:6;margin:0;display:flex;align-items:center;justify-content:center;font-size:1.25cqw;line-height:1.3;letter-spacing:.035em;color:#eee;text-align:center;white-space:nowrap;text-shadow:0 2px 6px #000}
.gallery-open{position:absolute;left:8.1%;top:84.7%;width:29.7%;height:4.8%;z-index:4;pointer-events:auto;border:0;background:transparent}
.gallery-open:hover{background:rgba(255,255,255,.035)}
.lightbox{padding-top:76px}
.gallery-home{position:absolute;left:18px;top:17px;border:1px solid #f1293c;border-radius:30px;background:#0a0c12;padding:8px 15px;font-size:14px}
.gallery-home:hover{background:#251015}
.lightbox h2{position:absolute;left:50%;top:23px;transform:translateX(-50%);margin:0;font-size:18px;font-weight:600;white-space:nowrap}
@media(max-aspect-ratio:1/1){.mobile-gallery .mobile-gallery-title{grid-column:1/-1;border:0;background:transparent;padding:0;text-align:left;font-weight:bold;font-size:clamp(13px,3.6vw,18px)}.mobile-hero:before{background-image:url('assets/interface-clean-plate.png')}}
@media(max-width:600px){.gallery-home{left:12px;top:20px;padding:6px 10px;font-size:12px}.lightbox h2{font-size:15px}}

/* Original supplied photos replace every photographic placeholder in the mockup. */
.photo{top:89.65%;height:7.75%;z-index:4;overflow:hidden;background:#080a10;border:1px solid #aeb0b8}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo-1{left:8.1%;width:6.85%}.photo-1 img{object-position:50% 32%}
.photo-2{left:15.35%;width:6.85%}.photo-2 img{object-position:50% 52%}
.photo-3{left:22.58%;width:7.7%}.photo-3 img{object-position:center}
.photo-4{left:30.7%;width:6.95%}.photo-4 img{object-position:45% 35%}
/* Display the user's complete montage once, at its original proportions. */
.band-original{position:absolute;left:0;top:55.4dvh;width:100%;height:30dvh;z-index:5;background:#000;pointer-events:none}
.band-photo{position:relative;width:min(100%,90.0563dvh);height:100%;margin-inline:auto}
.band-panorama{display:block;width:100%;height:100%;object-fit:contain}
.member-name{position:absolute;bottom:calc(100% + .3cqw);z-index:4;width:max-content;transform:translateX(-50%);color:#fff7e9;font-family:Georgia,'Times New Roman',serif;font-size:1.24cqw;font-style:italic;font-weight:700;letter-spacing:.035em;line-height:1.08;text-shadow:0 2px 6px #000,0 0 10px rgba(0,0,0,.9);white-space:nowrap}
.name-kiff{left:9%}.name-jerome{left:28%}.name-divarelie{left:48.5%}.name-alex{left:68.5%}.name-nico{left:89.5%}

/* Render the interface as real text instead of enlarging the raster lettering. */
.hero-copy{position:absolute;left:0;top:43%;width:100%;height:12.4%;z-index:4;padding:.15cqw 3cqw 0;display:flex;flex-direction:column;align-items:center;background:linear-gradient(100deg,#100609,#06070d 50%,#030a13);text-align:center}
.hero-title{margin:0;color:#f7f7fa;font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:min(2.55cqw,4.55dvh);font-weight:700;letter-spacing:.045em;line-height:1.2}
.hero-copy .hero-tagline{position:static;width:auto;height:auto;margin:.35cqw 0 0;font-size:min(1.15cqw,2dvh);letter-spacing:.01em;line-height:1.3;text-shadow:none}
.footer-surface{position:absolute;left:0;top:83.23%;bottom:0;width:100%;z-index:3;background:linear-gradient(110deg,#100408,#06080d 50%,#03080f);border-top:1px solid #3c3740;pointer-events:none}
.footer-surface::before,.footer-surface::after{content:"";position:absolute;top:16%;height:68%;width:1px;background:#30303a}
.footer-surface::before{left:41.4%}.footer-surface::after{left:67%}
.footer-heading{position:absolute;top:8.75%;height:28.6%;margin:0;display:flex;align-items:center;font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:min(1.55cqw,2.75dvh);font-weight:600;line-height:1.2;color:#f7f7fa;white-space:nowrap}
.footer-gallery{left:8.1%}.footer-youtube{left:45.3%}.footer-contact{left:71.5%}
.contact-label{left:71.5%;width:25%;gap:1.5cqw;padding-left:0;background:transparent;font-size:1.05cqw}
.contact-icon{display:block;flex:none;width:2.7cqw;height:auto;color:#069ae8}
.member-name{font-size:min(1.24cqw,2.2dvh)}
@media(min-aspect-ratio:2/1){.hero-title{font-size:4dvh}.hero-copy .hero-tagline{font-size:1.8dvh;margin-top:.2cqw}}

/* Keep the compact photo strip and the lower sections within the screen. */
@media(min-aspect-ratio:1/1){
html,body{height:100%;overflow:hidden}
.scene{width:100%;height:100dvh;overflow:hidden;container-type:inline-size}
.desktop-scene{width:100%;height:100dvh}
.desktop-scene>.reference,.desktop-scene>.interface-plate,.desktop-scene>.silhouette-plate,.desktop-scene>.animated-figures,.desktop-scene>.smoke{height:100dvh;bottom:auto}
.desktop-scene::after{height:6.2dvh}
.hero-copy{top:43dvh;height:12.4dvh}
.footer-surface{top:85.4dvh;bottom:auto;height:14.6dvh}
.gallery-hotspots{top:85.4dvh;bottom:auto;height:14.6dvh}
.gallery-open{top:8.75%;height:28.6%}
.photo{top:38.28%;height:46.21%}
.bottom-video{top:91.2dvh;height:6.8dvh}
.contact-label{top:92.2dvh;height:5dvh}
}
@media(max-aspect-ratio:1/1){.mobile-scene{grid-template-rows:minmax(0,1fr) auto 20.5%}.mobile-band{display:block;height:auto;aspect-ratio:1600/533;object-fit:contain}}

/* Two future live clips frame the original montage; contact anchors the footer. */
.footer-surface::before,.footer-surface::after{content:none}
.contact-block{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4dvh;pointer-events:auto}
.contact-block h2{margin:0;font-family:'Trebuchet MS',Arial,sans-serif;font-size:min(1.6cqw,2.7dvh);font-weight:600}
.autonomy-note{margin:0;color:#c4c9d2;text-align:center;font-size:min(1.05cqw,1.8dvh);letter-spacing:.015em}
.contact-action{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 22px;border:1px solid #078fe1;border-radius:30px;background:#07111b;color:#f5f6fb;font-size:min(1.1cqw,1.9dvh)}
.contact-action:hover{background:#0d2031;border-color:#53b5f0}
.contact-action svg{width:22px;height:17px;color:#159fe9}
.contact-action small{font-size:.85em;color:#a7b3c2}
.video-slot{position:absolute;top:0;bottom:0;width:calc((100% - 90.0563dvh)/2 - 36px);display:flex;flex-direction:column;justify-content:center;gap:10px}
.video-left{left:18px}.video-right{right:18px}
.video-solo{left:18px;top:auto;bottom:calc(38dvh + 6dvh);gap:8px}
.video-slot h2,.mobile-videos h2{margin:0;text-align:center;font-family:'Trebuchet MS',Arial,sans-serif;font-size:min(1.3cqw,2.2dvh);font-weight:600;letter-spacing:.04em}
.video-placeholder{width:100%;aspect-ratio:16/9;max-height:23dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #303845;border-radius:6px;background:radial-gradient(ellipse at center,#142332,#070b12 75%);box-shadow:0 8px 25px #0004;color:#94a1b2}
.video-placeholder span{font-size:min(3cqw,5dvh);line-height:1;color:#b0bdcd}
.video-placeholder p{margin:0;font-size:min(1cqw,1.7dvh);letter-spacing:.03em}
.concert-video{display:block;width:100%;aspect-ratio:16/9;max-height:23dvh;object-fit:contain;background:#000;border:0;border-radius:0;box-shadow:none;pointer-events:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.concert-video:fullscreen{width:100%;height:100%;max-height:none;-webkit-mask-image:none;mask-image:none}
@media(min-aspect-ratio:1/1){.video-left{top:-12dvh;justify-content:flex-end;gap:8px}.video-left .video-player{height:38dvh;width:auto;max-width:100%;max-height:none;aspect-ratio:9/16;align-self:center}.video-right{top:-8dvh;bottom:auto;right:4px;width:calc((100% - 90.0563dvh)/2 - 8px)}.video-right h2{position:absolute;bottom:calc(100% + 8px);width:100%}.video-right .video-player{max-height:none}}
@media(min-aspect-ratio:1/1) and (max-aspect-ratio:1.4/1){.video-slot{width:calc((100% - 66.0413dvh)/2 - 24px)}.video-left{left:12px}.video-right{right:4px;width:calc((100% - 66.0413dvh)/2 - 8px)}.band-photo{width:66.0413dvh;height:22dvh;top:4dvh}.video-slot h2{font-size:1.8dvh}}
@media(max-aspect-ratio:1/1){
 .mobile-scene{grid-template-rows:minmax(0,1fr) auto auto auto}
 .mobile-videos{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:12px;padding:12px 16px;background:#000}
 .mobile-videos section{min-width:0}.mobile-videos h2{font-size:13px;margin-bottom:8px}
 .mobile-videos .video-placeholder{max-height:none;gap:3px}.mobile-videos .video-placeholder span{font-size:30px}.mobile-videos .video-placeholder p{font-size:11px}
 .mobile-contact{display:flex;justify-content:center;padding:12px 16px 18px;background:#06080d;border-top:1px solid #30313a}
 .mobile-contact{flex-direction:column;align-items:center;gap:10px}
 .mobile-contact .autonomy-note{font-size:13px;line-height:1.4}
 .mobile-contact .contact-action{font-size:14px}
 .mobile-videos .video-player{max-height:none}
 .mobile-videos section:first-child .video-player{aspect-ratio:9/16;max-height:32dvh}
 .mobile-videos{grid-template-columns:1fr 1fr;align-items:start}
 .mobile-videos .mobile-solo{grid-column:auto;width:100%;max-width:none;justify-self:center}
 .mobile-videos .mobile-solo .video-player{aspect-ratio:9/16;max-height:32dvh}
 .mobile-videos section:nth-child(2) .video-player{aspect-ratio:9/16;max-height:32dvh}
 .mobile-videos section:nth-child(-n+2) .video-player{width:100%;height:auto;max-width:18dvh;margin-inline:auto}
 .mobile-videos section:nth-child(3){grid-column:1/-1;width:100%;max-width:420px;justify-self:center}
 html,body{height:auto;min-height:100%;overflow:auto}
 .scene,.mobile-scene{height:auto;min-height:100dvh;overflow:visible}
 .mobile-hero{min-height:50dvh}
}

/* The two portrait clips share the left column, clear of the logo. */
@media(min-aspect-ratio:1/1){
 .band-original{--banner-span:90.0563dvh;--flank-space:calc((100cqw - var(--banner-span))/2);--pair-span:min(calc(var(--flank-space) - 24px),calc(42.75dvh + 12px));--balance-shift:calc((var(--flank-space) - var(--pair-span))/4 + 6px)}
 .band-photo{transform:translateX(calc(-1 * var(--balance-shift)))}
 .video-pair{position:absolute;left:calc(var(--flank-space)/2 - 12px);transform:translateX(-50%);top:-8dvh;width:var(--pair-span);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;padding-inline:4px}
 .video-pair .video-slot{position:relative;inset:auto;width:auto;justify-content:flex-start;gap:0;min-width:0}
 .video-pair .video-slot h2{position:absolute;left:0;bottom:calc(100% + 8px);width:100%;font-size:min(1.05cqw,1.9dvh);letter-spacing:0}
 .video-pair .video-player{width:100%;height:auto;max-width:21.375dvh;max-height:38dvh;aspect-ratio:9/16;align-self:center}
}
@media(min-aspect-ratio:1/1) and (max-aspect-ratio:1.4/1){.band-original{--banner-span:66.0413dvh}}

/* Compact the phone header only in portrait; content keeps its natural order. */
@media(max-width:767px) and (orientation:portrait){
 .mobile-scene{grid-template-rows:repeat(4,auto);align-content:start}
 .mobile-hero{min-height:0}
 .mobile-hero::before{content:none}
}

/* Center the autonomy note and contact between the tagline and band on portrait phones. */
.mobile-contact .autonomy-short{display:none}
@media(max-width:767px) and (orientation:portrait){
 .mobile-hero{grid-row:1;padding-bottom:6px}
 .mobile-contact{grid-row:2;border-top:0;background:#05070b;padding:8px 16px 18px;gap:9px;text-align:center}
 .mobile-band{grid-row:3}
 .mobile-videos{grid-row:4}
 .mobile-contact .autonomy-full{display:none}
 .mobile-contact .autonomy-short{display:inline}
 .mobile-contact .autonomy-note{width:100%;margin:0;font-size:13px;line-height:1.4;text-align:center}
 .mobile-contact .contact-action{align-self:center;margin:0;max-width:100%}
 .mobile-hero>p{margin-bottom:0}
}

/* Swap the two portrait clips on phones held vertically. */
@media(max-width:767px) and (orientation:portrait){
 .mobile-videos>section:nth-child(1){grid-row:1;grid-column:2}
 .mobile-videos>section:nth-child(2){grid-row:1;grid-column:1}
 .mobile-videos>section:nth-child(3){grid-row:2;grid-column:1/-1}
}

/* Inline controls never cover the whole picture with the native dark scrim. */
.video-player{position:relative;display:block;width:100%;aspect-ratio:16/9;max-height:23dvh;max-width:100%;align-self:center;background:#000;pointer-events:auto}
.video-player>.concert-video{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:inherit;margin:0;object-fit:contain}
.video-player.is-playing>.concert-video{-webkit-mask-image:none;mask-image:none;opacity:1;filter:none}
.video-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;padding:10px;display:grid;place-items:center;border:1px solid #f23a49;border-radius:50%;background:#07090dc4;color:#fff;box-shadow:0 2px 12px #0006;z-index:2}
.video-start svg{width:26px;height:26px}
.video-start:disabled{opacity:.7;cursor:wait}
.is-playing>.video-start{display:none}
.video-controls{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:10px;background:#05080db8;color:#fff;opacity:1;transition:opacity .12s ease}
.video-controls button{display:grid;place-items:center;width:100%;height:36px;min-width:0;padding:5px;border:0;background:transparent;color:inherit}
.video-controls button:hover{background:#ffffff1a}
.video-controls button svg{width:20px;height:20px}
.video-controls button[hidden]{display:none}
.video-seek{position:absolute;left:4%;top:0;width:92%;height:12px;padding:0;margin:0;accent-color:#f42e42;cursor:pointer}
.is-playing:not(.controls-visible)>.video-controls{opacity:0;pointer-events:none}
.native-fallback>.video-start,.native-fallback>.video-controls{display:none}
.video-player:fullscreen,.video-player:-webkit-full-screen{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;background:#000}
.video-player:fullscreen>.concert-video,.video-player:-webkit-full-screen>.concert-video{-webkit-mask-image:none;mask-image:none;object-fit:contain}

/* Keep phone controls within reach, outside the moving picture. */
@media(max-width:767px) and (orientation:portrait){
 .mobile-videos>section:nth-child(n)>.video-player{display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;max-height:none;aspect-ratio:auto;isolation:isolate}
 .mobile-videos .video-player>.concert-video{display:block;flex:none;width:100%;height:auto;aspect-ratio:16/9;max-height:none}
 .mobile-videos section:nth-child(-n+2) .video-player>.concert-video{aspect-ratio:9/16;max-width:18dvh}
 .mobile-videos .video-start{top:calc((100% - 84px)/2);width:48px;height:48px;touch-action:manipulation}
 .mobile-videos .video-player>.video-controls{position:relative;inset:auto;flex:none;width:100%;min-height:84px;display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));grid-template-rows:32px 48px;gap:0;padding:2px 0;background:#0b0f16;opacity:1;pointer-events:auto;transition:none;touch-action:manipulation;border-radius:0 0 6px 6px}
 .mobile-videos .video-controls button{height:48px;min-width:44px;padding:12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .mobile-videos .video-controls button svg{width:24px;height:24px;pointer-events:none}
 .mobile-videos .video-seek{position:relative;inset:auto;grid-column:1/-1;align-self:center;width:calc(100% - 16px);height:32px;margin:0 8px;touch-action:none}
 .mobile-videos .video-player.native-fallback>.video-controls{display:none}
 .mobile-videos .video-player:fullscreen,.mobile-videos .video-player:-webkit-full-screen{height:100%;justify-content:center}
 .mobile-videos .video-player:fullscreen>.concert-video,.mobile-videos .video-player:-webkit-full-screen>.concert-video{flex:1;min-height:0;max-width:none;height:0;aspect-ratio:auto}
}

/* One compact title on upright phones; both lines have equal emphasis. */
.mobile-title-portrait{display:none}
@media(max-width:767px) and (orientation:portrait){
 .mobile-hero .mobile-title-standard,.mobile-hero>p{display:none}
 .mobile-hero .mobile-title-portrait{display:inline}
 .mobile-hero h1{font-size:clamp(16px,5vw,24px);line-height:1.12;font-weight:700;margin:-1.5% 0 0;width:100%;text-align:center}
 .mobile-hero{padding-bottom:2px}
 .mobile-contact{padding-top:4px;padding-bottom:10px;gap:7px}
}

/* A prominent contact action with no autonomy note on upright phones. */
@media(max-width:767px) and (orientation:portrait){
 .mobile-contact .autonomy-note{display:none}
 .mobile-contact{gap:0;padding:4px 16px 6px}
 .mobile-contact .contact-action{min-height:44px;padding:10px 24px;background:#d71932;border:1px solid #ff6979;color:#fff;font-weight:700;box-shadow:0 0 18px #ef243d40}
 .mobile-contact .contact-action:hover,.mobile-contact .contact-action:active{background:#b91027;border-color:#ff8b97}
 .mobile-contact .contact-action small{color:#fff;font-weight:400}
}

/* Compact contact and previews leave the third clip visible on portrait phones. */
.contact-envelope{display:none}
@media(max-width:767px) and (orientation:portrait){
 .mobile-logo{width:min(100%,40dvh)}
 .mobile-contact{padding:2px 16px 4px}
 .mobile-contact .contact-action{min-height:36px;padding:7px 15px;gap:7px;font-size:13px;box-shadow:0 0 12px #ef243d30}
 .mobile-contact .contact-action .contact-envelope{display:block;width:16px;height:13px;color:#fff;flex:none}
 .mobile-contact .contact-action small{display:none}
 .mobile-videos{padding:8px 16px;gap:8px}
 .mobile-videos h2{margin-bottom:6px}
 .mobile-videos section:nth-child(-n+2) .video-player>.concert-video{width:auto;height:22dvh;max-width:100%}
 .mobile-videos .video-player>.video-controls{min-height:76px;grid-template-rows:32px 44px;padding:0}
 .mobile-videos .video-controls button{height:44px;padding:10px}
 .mobile-videos .video-start{top:calc((100% - 76px)/2)}
}
@media(max-width:767px) and (orientation:portrait) and (max-height:650px){
 .mobile-logo{width:min(100%,36dvh)}
 .mobile-videos section:nth-child(-n+2) .video-player>.concert-video{height:18dvh}
}
@media(max-width:767px) and (orientation:portrait){
 .mobile-videos section:nth-child(-n+2) .video-player:fullscreen>.concert-video,
 .mobile-videos section:nth-child(-n+2) .video-player:-webkit-full-screen>.concert-video{width:100%;height:0;max-width:none;flex:1;min-height:0;aspect-ratio:auto}
}

/* Touch reveals temporary controls, with no toolbar taking up page height. */
@media(max-width:767px) and (orientation:portrait){
 .mobile-videos .video-player>.video-controls{position:absolute;left:0;right:0;bottom:0;top:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;background:#080c14e8}
 .mobile-videos .video-player.controls-visible>.video-controls{opacity:1;visibility:visible;pointer-events:auto}
 .mobile-videos .video-player>.video-start{display:none}
 .mobile-videos section:nth-child(-n+2) .video-player>.concert-video{height:28dvh}
}
@media(max-width:767px) and (orientation:portrait) and (max-height:650px){
 .mobile-videos section:nth-child(-n+2) .video-player>.concert-video{height:24dvh}
}
@media(max-width:767px) and (orientation:portrait){
 .mobile-videos section:nth-child(-n+2) .video-player:fullscreen>.concert-video,
 .mobile-videos section:nth-child(-n+2) .video-player:-webkit-full-screen>.concert-video{height:0}
}

/* Fit the complete portrait composition without changing its arrangement. */
@media(max-width:767px) and (orientation:portrait){
 .scene.portrait-fit-active{display:block;height:100dvh;min-height:100dvh;overflow:hidden;padding-top:max(2px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}
 .scene.portrait-fit-active .mobile-scene{height:max-content;min-height:0;transform:scale(var(--mobile-page-fit,1));transform-origin:top center}
}

/* Desktop: smaller signature and a slight leftward rebalance, keeping the left clips in view. */
@media(min-aspect-ratio:1/1){
 .hero-title .hero-sauce{display:block;margin-top:.3em;font-size:.65em;font-weight:500;letter-spacing:.025em}
 .band-original{--flank-space:calc((100cqw - var(--banner-span))/2);width:100%}
 .desktop-media-stage{position:relative;width:100%;height:100%;transform:translateX(-1cqw) scale(.94);transform-origin:50% 0}
}

/* Let the existing poster-edge fade reveal the page instead of a solid player rectangle. */
@media(min-aspect-ratio:1/1){
 .desktop-scene .video-player{background:transparent}
 .desktop-scene .video-player:fullscreen{background:#000}
 .desktop-scene .video-player:-webkit-full-screen{background:#000}
}


/* Email and its separate copy control share one centered, compact row. */
.contact-row{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;pointer-events:auto}
.contact-row .contact-action{text-decoration:none;white-space:nowrap;margin:0}
.contact-action:focus-visible,.contact-copy:focus-visible{outline:3px solid #fff;outline-offset:3px}
.contact-copy{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:8px;border:1px solid #435568;border-radius:10px;background:#07111b;color:#dbeaff;touch-action:manipulation}
.contact-copy svg{display:block;width:20px;height:20px}
.contact-copy:hover{background:#15273a;border-color:#64baf2}
.contact-copy.is-copied{color:#a1f5bf;border-color:#65c88b}
.contact-feedback{position:absolute;bottom:calc(100% + 7px);left:0;z-index:20;width:max-content;max-width:min(280px,85vw);padding:6px 10px;border:1px solid #536478;border-radius:8px;background:#09111e;color:#fff;font-size:12px;line-height:1.3;text-align:center;pointer-events:none;box-shadow:0 4px 16px #0008}
.contact-feedback:empty{display:none}
@media(max-aspect-ratio:1/1){
 .mobile-contact .contact-row{align-self:center}
}
@media(max-width:767px) and (orientation:portrait){
 .mobile-contact .contact-row{gap:7px}
 .mobile-contact .contact-action{padding:7px 13px;font-size:13px}
 .mobile-contact .contact-copy{width:36px;height:36px;border-color:#a54150;color:#fff;background:#271019}
 .mobile-contact .contact-copy:hover{background:#431622}
 .mobile-contact .contact-copy.is-copied{color:#a1f5bf;border-color:#65c88b}
}

/* Desktop contact uses the same red treatment as the portrait button. */
.desktop-scene .contact-action{background:#d71932;border-color:#ff6979;color:#fff;font-weight:700;box-shadow:0 0 12px #ef243d30}
.desktop-scene .contact-action:hover,.desktop-scene .contact-action:active{background:#b91027;border-color:#ff8b97}
