*{box-sizing:border-box}
:root{--black:#050505;--panel:#101010;--panel2:#171717;--gold:#ffbd00;--purple:#a846ff;--purple2:#d37cff;--white:#fff;--muted:#aaa;--line:#2a2a2a;--danger:#c63f46}
html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:radial-gradient(circle at 75% 0,rgba(168,70,255,.10),transparent 35rem),var(--black);color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}button,a,input{font:inherit}a{color:inherit}.topbar{position:sticky;top:0;z-index:40;height:86px;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(14px,4vw,54px);background:rgba(4,4,4,.93);border-bottom:1px solid #222;backdrop-filter:blur(18px)}.topbar-brand{display:flex;align-items:center;gap:18px;text-decoration:none}.topbar-brand img{width:165px;height:68px;object-fit:contain}.topbar-brand span{color:var(--purple2);font-size:13px;font-weight:800;letter-spacing:.55em;text-shadow:0 0 16px rgba(168,70,255,.9)}.topbar-links{display:flex;gap:10px}.topbar-links a,.gallery-link{padding:11px 16px;border:1px solid #383838;border-radius:999px;text-decoration:none;font-size:14px;font-weight:700}.topbar-links a:first-child{border-color:#7440a8}.hero{position:relative;isolation:isolate;min-height:calc(100svh - 86px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px;text-align:center;overflow:hidden;background:linear-gradient(rgba(0,0,0,.16),rgba(0,0,0,.85)),radial-gradient(circle at 50% 60%,rgba(255,189,0,.13),transparent 28rem)}.hero:after{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 80%,transparent)}.hero-glow{position:absolute;z-index:-1;width:380px;height:380px;border-radius:50%;filter:blur(100px);opacity:.22}.hero-glow-one{background:var(--purple);left:-130px;bottom:5%}.hero-glow-two{background:var(--gold);right:-170px;top:8%}.hero-logo{width:min(390px,82vw);height:auto;filter:drop-shadow(0 0 25px rgba(255,189,0,.18))}.hero-kicker{margin-top:6px;color:var(--purple2);font-weight:800;letter-spacing:.62em;text-indent:.62em;text-shadow:0 0 18px rgba(168,70,255,.8)}.hero h1{margin:38px 0 15px;font-size:clamp(38px,8vw,78px);line-height:.98;text-transform:uppercase;letter-spacing:-.045em}.hero h1 span{color:var(--gold)}.hero p{max-width:620px;margin:0 auto 30px;color:#c9c9c9;font-size:clamp(16px,2vw,19px)}.hero-button{min-width:270px;min-height:62px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:linear-gradient(135deg,#ffd229,#f0a900);color:#050505;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.05em;box-shadow:0 12px 45px rgba(255,189,0,.18)}.hero-socials{display:flex;gap:10px;margin-top:13px}.hero-socials a{min-width:130px;padding:13px 20px;border:1px solid #715c16;border-radius:9px;text-decoration:none;font-weight:700}.scroll-hint{position:absolute;bottom:24px;color:#777;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.gallery-section{max-width:1540px;margin:auto;padding:70px clamp(5px,2vw,28px) 100px;scroll-margin-top:82px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 8px 28px}.eyebrow{display:block;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.22em}.gallery-heading h2,.admin-card h1,.admin-card h2{margin:4px 0 0;line-height:1.05}.gallery-heading h2{font-size:clamp(32px,5vw,54px)}.photo-count{padding:9px 14px;background:#111;border:1px solid #252525;border-radius:999px;color:#bbb;font-size:14px}.new-photos-banner{position:sticky;z-index:20;top:96px;max-width:680px;margin:0 auto 20px;padding:12px;display:flex;align-items:center;gap:14px;background:rgba(17,17,17,.96);border:1px solid #4c286d;border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.5);backdrop-filter:blur(14px)}.new-photos-banner div{flex:1;display:flex;flex-direction:column}.new-photos-banner span{color:#aaa;font-size:13px}.new-photos-banner button{border:0;border-radius:8px;cursor:pointer}.new-photos-banner #showNewPhotos{min-height:44px;padding:0 16px;background:var(--purple);color:#fff;font-weight:800}.icon-button{width:38px;height:38px;background:transparent;color:#fff;font-size:26px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.photo-card{position:relative;aspect-ratio:1/1;padding:0;border:0;border-radius:3px;overflow:hidden;background:#151515;cursor:pointer}.photo-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .32s ease,filter .32s ease}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 70%,rgba(0,0,0,.18));opacity:0;transition:opacity .25s}.photo-card:hover img{transform:scale(1.035);filter:brightness(1.05)}.photo-card:hover:after{opacity:1}.loading-state,.empty-state{padding:55px 20px;text-align:center;color:#aaa}.empty-state{max-width:560px;margin:25px auto;background:linear-gradient(145deg,#121212,#0d0d0d);border:1px solid #252525;border-radius:16px}.empty-state h3{margin:9px 0 2px;color:#fff;font-size:24px}.empty-state p{margin:0}.empty-icon{font-size:34px}.spinner{display:inline-block;width:18px;height:18px;margin-right:9px;border:2px solid #333;border-top-color:var(--gold);border-radius:50%;vertical-align:middle;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-more-button{display:block;min-height:50px;margin:24px auto 0;padding:0 24px;border:1px solid #3a3a3a;border-radius:9px;background:#161616;color:#fff;font-weight:700;cursor:pointer}footer{padding:50px 20px 85px;text-align:center;border-top:1px solid #1e1e1e;background:#030303}footer img{width:190px}footer p{margin:0 0 18px;color:#777}footer div{display:flex;justify-content:center;gap:16px}footer a{color:#bbb}.viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.985);color:#fff}.viewer::backdrop{background:#000}.viewer[open]{display:flex;align-items:center;justify-content:center}.viewer-toolbar{position:absolute;z-index:4;top:0;left:0;right:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(#000 15%,transparent)}.viewer-actions{display:flex;align-items:center;gap:8px}.viewer-actions button,.viewer-actions a{min-height:44px;padding:0 15px;display:flex;align-items:center;border:1px solid #353535;border-radius:9px;background:#171717;color:#fff;text-decoration:none;cursor:pointer}.viewer-close{font-size:28px!important;background:transparent!important;border-color:transparent!important}.viewer-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:72px 58px 25px}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none}.viewer-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:90px;border:0;background:rgba(10,10,10,.55);color:#fff;font-size:50px;cursor:pointer}.viewer-prev{left:0}.viewer-next{right:0}
/* admin */.admin-body{background:radial-gradient(circle at 50% 0,rgba(168,70,255,.14),transparent 35rem),#070707}.admin-main{max-width:1100px;margin:auto;padding:34px 15px 90px}.admin-card{margin-bottom:24px;padding:clamp(20px,4vw,38px);background:linear-gradient(145deg,#121212,#0d0d0d);border:1px solid #292929;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.32)}.admin-card h1{font-size:clamp(36px,6vw,58px)}.admin-card h2{font-size:30px}.admin-intro,.admin-list-heading p{max-width:720px;color:#bbb;font-size:17px}.drop-zone{min-height:285px;margin:28px 0 19px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:3px dashed #8144b4;border-radius:18px;background:rgba(168,70,255,.065);text-align:center;cursor:pointer;transition:.2s}.drop-zone.dragging{transform:scale(1.008);background:rgba(168,70,255,.15);box-shadow:0 0 45px rgba(168,70,255,.18)}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.upload-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--purple);font-size:39px;line-height:1}.drop-zone strong{font-size:28px}.drop-zone small{color:#aaa;font-size:17px}.selection-summary{margin:8px 0 13px;font-size:19px;font-weight:800}.upload-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px}.upload-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px}.progress-wrap{margin:20px 0}.progress-label{display:flex;justify-content:space-between;margin-bottom:7px}.progress-track{height:17px;border-radius:999px;overflow:hidden;background:#292929}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--purple));transition:width .18s}.publish-button{width:100%;min-height:76px;border:0;border-radius:12px;background:linear-gradient(135deg,#ffd22a,#f3aa00);color:#050505;font-size:24px;font-weight:900;cursor:pointer}.publish-button:disabled{opacity:.35;cursor:not-allowed}.upload-status{min-height:28px;margin-bottom:0;font-size:18px;font-weight:800}.upload-status.success{color:#62e495}.upload-status.error{color:#ff7479}.admin-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.refresh-button{min-height:47px;padding:0 18px;border:1px solid #393939;border-radius:9px;background:#191919;color:#fff;cursor:pointer}.admin-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.admin-photo{position:relative;overflow:hidden;border-radius:10px;background:#171717;border:1px solid #252525}.admin-photo img{width:100%;aspect-ratio:1/1;display:block;object-fit:cover}.delete-button{width:100%;min-height:48px;border:0;background:#8d292e;color:#fff;font-weight:900;cursor:pointer}
@media(min-width:760px){.photo-grid{grid-template-columns:repeat(5,1fr);gap:7px}.photo-card{border-radius:8px}}@media(max-width:680px){.topbar{height:74px;padding:5px 10px}.topbar-brand img{width:125px;height:58px}.topbar-brand span{display:none}.topbar-links{gap:5px}.topbar-links a{padding:9px 10px;font-size:12px}.hero{min-height:calc(100svh - 74px);padding-top:35px}.hero h1{margin-top:28px}.hero-socials a{min-width:125px}.gallery-heading{align-items:flex-start;flex-direction:column}.new-photos-banner{top:81px}.viewer-stage{padding:70px 0 20px}.viewer-nav{width:42px;height:70px;font-size:42px}.viewer-actions button,.viewer-actions a{padding:0 10px;font-size:13px}.admin-topbar .topbar-brand span{display:none}.gallery-link{padding:9px 11px;font-size:13px}.upload-preview,.admin-gallery{grid-template-columns:repeat(3,1fr)}.admin-list-heading{flex-direction:column}.refresh-button{width:100%}}


/* No.19 hero-logo update */
.hero-logo-no19 {
  display: block;
  width: min(620px, 88vw);
  max-height: 360px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
  filter:
    drop-shadow(0 0 28px rgba(255, 189, 0, 0.20))
    drop-shadow(0 0 22px rgba(168, 70, 255, 0.12));
}

@media (max-width: 680px) {
  .hero-logo-no19 {
    width: min(420px, 92vw);
    max-height: 245px;
    border-radius: 12px;
  }
}


/* =========================================================
   FINAL APPROVED SOUNDMART V2 HERO + GALLERY
   ========================================================= */

.hero {
  min-height: calc(100svh - 86px);
  padding: 42px 20px 78px;
  background:
    linear-gradient(rgba(0,0,0,.05), rgba(0,0,0,.78)),
    radial-gradient(circle at 73% 18%, rgba(255,189,0,.14), transparent 29rem),
    radial-gradient(circle at 16% 72%, rgba(168,70,255,.13), transparent 31rem),
    #020202;
}

.hero-logo-frame {
  width: min(650px, 91vw);
  padding: 0;
  margin: 0 auto;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255,189,0,.12);
  border-radius: 2px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.015),
    0 0 54px rgba(255,189,0,.14);
  opacity: 0;
  transform: translateY(10px) scale(.985);
  animation: heroLogoIn .58s cubic-bezier(.2,.7,.2,1) .06s forwards;
}

.hero-logo-no19 {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0 auto;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  filter: none;
}

.hero h1 {
  margin-top: 26px;
}

.hero-reveal {
  opacity: 0;
  transform: translateY(18px);
  animation: heroContentIn .5s cubic-bezier(.2,.7,.2,1) forwards;
}

.hero-reveal-title { animation-delay: .28s; }
.hero-reveal-copy { animation-delay: .40s; }
.hero-reveal-button { animation-delay: .52s; }
.hero-reveal-socials { animation-delay: .62s; }

.hero-button {
  position: relative;
  overflow: hidden;
  box-shadow:
    0 14px 42px rgba(255,189,0,.22),
    0 0 28px rgba(255,189,0,.10);
}

.hero-button::after {
  content: "›";
  margin-left: 13px;
  font-size: 28px;
  line-height: 1;
}

.hero-button::before {
  content: "";
  position: absolute;
  top: -60%;
  left: -30%;
  width: 22%;
  height: 220%;
  transform: rotate(22deg);
  background: rgba(255,255,255,.22);
  animation: buttonShine 4.5s ease-in-out 1.3s infinite;
}

.scroll-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}

.scroll-chevron {
  width: 14px;
  height: 14px;
  display: block;
  border-right: 3px solid var(--purple);
  border-bottom: 3px solid var(--purple);
  transform: rotate(45deg);
  filter: drop-shadow(0 0 8px rgba(168,70,255,.95));
  animation: chevronBounce 1.35s ease-in-out infinite;
}

/* Mixed-height masonry layout while retaining three columns on phones. */
.photo-grid {
  display: block;
  column-count: 3;
  column-gap: 4px;
}

.photo-card {
  width: 100%;
  aspect-ratio: auto;
  display: block;
  break-inside: avoid;
  margin: 0 0 4px;
  border-radius: 5px;
}

.photo-card img {
  width: 100%;
  height: auto;
  min-height: 105px;
  display: block;
  object-fit: cover;
}

.empty-state {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.empty-icon {
  display: none !important;
}

/* Admin uploader contains text and plus sign only — no camera emoji. */
.drop-zone::before,
.drop-zone::after {
  content: none;
}

@keyframes heroLogoIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes heroContentIn {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes buttonShine {
  0%, 76% { left: -30%; opacity: 0; }
  80% { opacity: 1; }
  94%, 100% { left: 120%; opacity: 0; }
}

@keyframes chevronBounce {
  0%, 100% { transform: translateY(0) rotate(45deg); opacity: .65; }
  50% { transform: translateY(6px) rotate(45deg); opacity: 1; }
}

@media (min-width: 760px) {
  .photo-grid {
    column-count: 5;
    column-gap: 8px;
  }

  .photo-card {
    margin-bottom: 8px;
    border-radius: 9px;
  }
}

@media (max-width: 680px) {
  .hero {
    min-height: calc(100svh - 74px);
    padding: 25px 12px 72px;
  }

  .hero-logo-frame {
    width: min(470px, 94vw);
  }

  .hero h1 {
    margin-top: 24px;
  }

  .photo-grid {
    column-count: 3;
    column-gap: 3px;
  }

  .photo-card {
    margin-bottom: 3px;
    border-radius: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-logo-frame,
  .hero-reveal,
  .hero-button::before,
  .scroll-chevron {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   FINAL INTRO + ALBUM FLOW
   ========================================================= */

body {
  background: #000;
}

.intro-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #000;
  transition: opacity .7s ease, visibility .7s ease;
}

.intro-screen--leaving {
  opacity: 0;
  visibility: hidden;
}

.intro-content {
  width: min(1180px, 94vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: scale(.62);
  opacity: 0;
  animation: introLogoFade 5s cubic-bezier(.18,.72,.15,1) forwards;
}

.intro-logo {
  display: block;
  width: 100%;
  max-height: 68vh;
  object-fit: contain;
  filter: none;
}

.intro-photos {
  margin-top: clamp(-12px, -1vw, -2px);
  color: #c66cff;
  font-size: clamp(18px, 2.2vw, 34px);
  font-weight: 800;
  letter-spacing: .58em;
  text-indent: .58em;
  text-shadow: 0 0 18px rgba(186, 88, 255, .7);
  opacity: 0;
  animation: introPhotosFade 1.2s ease 4.3s forwards;
}

.intro-enter {
  position: absolute;
  left: 50%;
  bottom: max(7vh, 36px);
  min-width: 180px;
  min-height: 52px;
  padding: 0 34px;
  transform: translateX(-50%) translateY(14px);
  opacity: 0;
  color: #fff;
  background: rgba(15, 10, 18, .72);
  border: 1px solid rgba(204, 112, 255, .75);
  border-radius: 999px;
  box-shadow: 0 0 22px rgba(177, 76, 255, .18);
  letter-spacing: .22em;
  cursor: pointer;
  animation: introEnterFade .9s ease 7s forwards;
}

.intro-enter:hover,
.intro-enter:focus-visible {
  background: rgba(111, 42, 145, .28);
  box-shadow: 0 0 30px rgba(177, 76, 255, .36);
}

/* Main album begins immediately after the top bar. */
main {
  min-height: 100vh;
}

.gallery-section {
  padding-top: clamp(48px, 7vw, 92px);
}

/* Transparent artwork only — no black rectangle and no yellow glow. */
.topbar-brand img,
footer img {
  width: auto;
  object-fit: contain;
  filter: none !important;
  background: transparent !important;
}

.topbar-brand img {
  height: 62px;
  max-width: 190px;
}

footer img {
  width: min(280px, 70vw);
}

.hero-glow,
.hero-logo-frame,
.hero-button {
  box-shadow: none !important;
  filter: none !important;
}

@keyframes introLogoFade {
  0% {
    opacity: 0;
    transform: scale(.58);
  }
  25% {
    opacity: .15;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes introPhotosFade {
  to { opacity: 1; }
}

@keyframes introEnterFade {
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@media (max-width: 680px) {
  .intro-content {
    width: 98vw;
  }

  .intro-logo {
    max-height: 58vh;
  }

  .intro-enter {
    bottom: max(6vh, 28px);
  }

  .topbar-brand img {
    height: 50px;
    max-width: 145px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-content,
  .intro-photos,
  .intro-enter {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    opacity: 1;
    transform: none;
  }

  .intro-enter {
    transform: translateX(-50%);
  }
}


/* =========================================================
   SOUNDMART PHOTOS V4 — SINGLE TRANSPARENT LOGO SYSTEM
   ========================================================= */
:root { --logo-purple: #c263ff; }

.intro-logo,
.topbar-brand img,
footer img,
.admin-topbar .topbar-brand img {
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain;
  object-position: center;
}

.intro-screen { background: #000; }

.intro-content {
  width: min(1320px, 96vw);
  transform: scale(.72);
  animation: v4LogoFade 5s cubic-bezier(.18,.72,.15,1) forwards;
}

.intro-logo {
  width: min(1180px, 96vw);
  max-height: 72vh;
}

.intro-photos {
  margin-top: clamp(-10px, -.5vw, 2px);
  color: var(--logo-purple);
  text-shadow: 0 0 15px rgba(194, 99, 255, .62);
}

.intro-enter {
  background: rgba(12, 8, 15, .82);
  border-color: rgba(194, 99, 255, .72);
  box-shadow: 0 0 16px rgba(194, 99, 255, .14);
}

.intro-enter:hover,
.intro-enter:focus-visible {
  background: rgba(194, 99, 255, .13);
  box-shadow: 0 0 24px rgba(194, 99, 255, .27);
}

.topbar-brand img,
.admin-topbar .topbar-brand img {
  width: 178px;
  height: 64px;
}

footer img {
  width: min(330px, 76vw);
  height: auto;
}

.hero-logo-frame,
.hero-glow {
  display: none !important;
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
}

@keyframes v4LogoFade {
  0% { opacity: 0; transform: scale(.70); }
  20% { opacity: .08; }
  55% { opacity: .56; }
  100% { opacity: 1; transform: scale(1); }
}

@media (max-width: 680px) {
  .intro-content { width: 100vw; }
  .intro-logo { width: 98vw; max-height: 62vh; }

  .topbar-brand img,
  .admin-topbar .topbar-brand img {
    width: 132px;
    height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-content {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   SOUNDMART PHOTOS V6 FINAL
   ========================================================= */

/* One corrected transparent logo everywhere. */
.intro-logo,
.topbar-brand img,
.admin-topbar .topbar-brand img,
footer img {
  display: block;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain;
  object-position: center;
}

/* Pure-black intro with no coloured glow or visible logo canvas. */
.intro-screen {
  background: #000 !important;
}

.intro-content {
  width: min(1380px, 98vw);
  opacity: 0;
  transform: scale(.72);
  animation: v6LogoEntrance 5s cubic-bezier(.16,.75,.18,1) forwards !important;
}

.intro-logo {
  width: min(1260px, 98vw);
  max-height: 73vh;
}

.intro-photos {
  color: #c263ff;
  margin-top: clamp(-10px, -.5vw, 1px);
  text-shadow: 0 0 13px rgba(194, 99, 255, .55);
  opacity: 0;
  animation: v6PhotosEntrance 1.15s ease 4.45s forwards !important;
}

.intro-enter {
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
  color: #fff;
  background: rgba(10, 8, 13, .88);
  border: 1px solid rgba(194, 99, 255, .7);
  box-shadow: 0 0 15px rgba(194, 99, 255, .12);
  animation: v6EnterEntrance .85s ease 7s forwards !important;
}

.intro-enter:hover,
.intro-enter:focus-visible {
  background: rgba(194, 99, 255, .13);
  box-shadow: 0 0 24px rgba(194, 99, 255, .24);
}

/* Header, footer and admin branding. */
.topbar-brand img,
.admin-topbar .topbar-brand img {
  width: 180px;
  height: 66px;
}

footer img {
  width: min(340px, 78vw);
  height: auto;
}

/* Disable leftover legacy framing/glow styles. */
.hero-logo-frame,
.hero-glow {
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* No emoji in gallery or uploader states. */
.empty-icon {
  display: none !important;
}

@keyframes v6LogoEntrance {
  0% {
    opacity: 0;
    transform: scale(.70);
  }
  22% {
    opacity: .08;
  }
  58% {
    opacity: .6;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes v6PhotosEntrance {
  to { opacity: 1; }
}

@keyframes v6EnterEntrance {
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@media (max-width: 680px) {
  .intro-content {
    width: 100vw;
  }

  .intro-logo {
    width: 99vw;
    max-height: 61vh;
  }

  .topbar-brand img,
  .admin-topbar .topbar-brand img {
    width: 136px;
    height: 51px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-content,
  .intro-photos,
  .intro-enter {
    animation: none !important;
    opacity: 1 !important;
  }

  .intro-content {
    transform: none !important;
  }

  .intro-enter {
    transform: translateX(-50%) !important;
  }
}


/* =========================================================
   SOUNDMART PHOTOS V7 — SIMPLE GALLERY
   ========================================================= */

.simple-gallery {
  min-height: calc(100vh - 86px);
  padding: 8px 4px 48px;
  background: #000;
}

.simple-gallery .photo-grid {
  margin: 0;
}

/* Remove all gallery headings, counters, banners and visible loaders. */
.gallery-heading,
.new-photos-banner,
.loading-state,
.load-more-button {
  display: none !important;
}

.simple-gallery .empty-state {
  width: min(480px, calc(100% - 32px));
  margin: 80px auto;
  padding: 30px 20px;
  text-align: center;
  background: #0d0d0d;
  border: 1px solid #242424;
  border-radius: 14px;
}

.simple-gallery .empty-state h3 {
  margin: 0 0 8px;
  color: #fff;
}

.simple-gallery .empty-state p {
  margin: 0;
  color: #aaa;
}

#scrollSentinel {
  height: 1px;
}

@media (max-width: 680px) {
  .simple-gallery {
    min-height: calc(100vh - 74px);
    padding: 3px 3px 42px;
  }
}
