/* Consolidated final overrides: generated to replace stacked B-series imports. */

/* ---- b-selected-refine.css ---- */

/* B02 selected refinements
   - Full-bleed top hero with no side gutters / no corner radius
   - Larger, cleaner arrows without circular buttons
   - site-bg.jpg used consistently across shell and page backgrounds
   - Mobile hamburger pinned to the right
*/

html, body {
  background: #030611 !important;
}

.shell-main {
  width: 100% !important;
  max-width: none !important;
}

.page-frame {
  width: 100% !important;
  max-width: none !important;
}

.page-body {
  background:
    linear-gradient(180deg, rgba(3, 6, 14, 0.94) 0%, rgba(3, 6, 14, 0.78) 32%, rgba(3, 6, 14, 0.92) 100%),
    url("../../images/site-bg.jpg") center top / cover fixed no-repeat !important;
}

.bg-image {
  background:
    linear-gradient(rgba(4, 8, 18, 0.28), rgba(4, 8, 18, 0.86)),
    url("../../images/site-bg.jpg") center center / cover no-repeat !important;
  opacity: 0.2 !important;
  filter: saturate(0.82) brightness(0.58) contrast(1.08) !important;
}

.bg-overlay {
  background:
    radial-gradient(circle at 18% 18%, rgba(129, 154, 255, 0.18), transparent 18%),
    radial-gradient(circle at 76% 20%, rgba(196, 123, 255, 0.18), transparent 20%),
    linear-gradient(180deg, rgba(5, 7, 15, 0.38), rgba(3, 6, 14, 0.88)) !important;
}

.menu-button {
  left: auto !important;
  right: 12px !important;
}

.mobile-shell-brand {
  left: 0 !important;
  right: 0 !important;
}

#top .top-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-top: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: clamp(40px, 4vw, 64px) !important;
  padding: 0 !important;
}

#top .hero-slider {
  width: 100% !important;
  min-height: min(78vh, 860px) !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

#top .hero-slide,
#top .hero-main-visual {
  min-height: min(78vh, 860px) !important;
  border-radius: 0 !important;
}

#top .hero-slide-image,
#top .hero-slide-image img {
  border-radius: 0 !important;
}

#top .hero-slide-overlay {
  background:
    linear-gradient(180deg, rgba(4, 7, 15, 0.08) 0%, rgba(4, 7, 15, 0.14) 28%, rgba(4, 7, 15, 0.54) 72%, rgba(4, 7, 15, 0.82) 100%),
    radial-gradient(circle at 78% 18%, rgba(128, 149, 255, 0.18), transparent 20%),
    radial-gradient(circle at 18% 20%, rgba(199, 124, 255, 0.16), transparent 18%) !important;
}

#top .hero-slide-content {
  width: min(100%, 1480px) !important;
  margin: 0 auto !important;
  padding: clamp(42px, 4vw, 56px) clamp(24px, 4vw, 48px) clamp(62px, 6vw, 84px) !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: clamp(20px, 3vw, 32px) !important;
}

#top .hero-copy {
  align-self: flex-start !important;
  margin-top: clamp(108px, 17vh, 182px) !important;
  max-width: min(36ch, 46vw) !important;
}

#top .hero-kicker {
  margin-bottom: 12px !important;
  font-size: 11px !important;
  letter-spacing: 0.28em !important;
}

#top .hero-copy-title {
  max-width: 11ch !important;
  font-size: clamp(58px, 6.4vw, 96px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

#top .hero-copy-text {
  margin-top: 16px !important;
  max-width: 38ch !important;
  font-size: clamp(14px, 1.04vw, 16px) !important;
  line-height: 1.72 !important;
  color: rgba(245, 247, 255, 0.84) !important;
}

#top .hero-slide-logo {
  width: min(29vw, 430px) !important;
  max-width: none !important;
  right: clamp(34px, 4vw, 54px) !important;
  bottom: clamp(24px, 4vw, 42px) !important;
  opacity: 0.97 !important;
}

#top .hero-nav {
  inset: 50% clamp(16px, 1.8vw, 28px) auto !important;
  transform: translateY(-50%) !important;
}

#top .hero-arrow {
  width: auto !important;
  height: auto !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  font-size: clamp(58px, 5vw, 84px) !important;
  line-height: 0.85 !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.46) !important;
}

#top .hero-arrow:hover {
  transform: scale(1.04) !important;
  background: transparent !important;
}

#top .hero-arrow:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.72) !important;
  outline-offset: 4px !important;
}

@media (max-width: 1100px) {
  .menu-button {
    left: auto !important;
    right: 12px !important;
    top: 10px !important;
  }

  .mobile-shell-brand {
    justify-content: center !important;
    padding: 10px 64px !important;
  }

  #top .top-hero {
    margin-bottom: 34px !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    min-height: min(66vh, 700px) !important;
  }

  #top .hero-slide-content {
    width: 100% !important;
    padding: 34px 22px 62px !important;
  }

  #top .hero-copy {
    margin-top: clamp(94px, 15vh, 136px) !important;
    max-width: min(32ch, 56vw) !important;
  }

  #top .hero-copy-title {
    font-size: clamp(46px, 7vw, 78px) !important;
    max-width: 11ch !important;
  }

  #top .hero-copy-text {
    max-width: 32ch !important;
  }

  #top .hero-slide-logo {
    width: min(36vw, 340px) !important;
    right: 24px !important;
    bottom: 26px !important;
  }

  #top .hero-arrow {
    font-size: clamp(52px, 6vw, 72px) !important;
  }
}

@media (max-width: 640px) {
  .mobile-shell-brand {
    min-height: 58px !important;
    height: 58px !important;
    padding: 8px 56px 8px 14px !important;
  }

  .mobile-shell-brand img {
    height: 28px !important;
  }

  .menu-button {
    left: auto !important;
    right: 8px !important;
    top: 8px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
  }

  #top .top-hero {
    margin-bottom: 28px !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    min-height: min(56vh, 480px) !important;
  }

  #top .hero-slide-content {
    padding: 18px 16px 46px !important;
  }

  #top .hero-copy {
    margin-top: 84px !important;
    max-width: min(24ch, calc(100% - 36px)) !important;
  }

  #top .hero-copy-title {
    font-size: clamp(30px, 8.7vw, 42px) !important;
    max-width: 12ch !important;
    line-height: 0.98 !important;
  }

  #top .hero-copy-text {
    max-width: 28ch !important;
    font-size: 13px !important;
    line-height: 1.66 !important;
  }

  #top .hero-slide-logo {
    width: min(52vw, 228px) !important;
    right: 16px !important;
    bottom: 18px !important;
  }

  #top .hero-nav {
    inset: 46% 10px auto !important;
  }

  #top .hero-arrow {
    font-size: 48px !important;
    padding-inline: 4px !important;
  }
}

/* B03 hero visual-only cleanup + mobile/tablet stability
   - Remove hero copy layout and clickable hero behavior
   - Keep hero as full-bleed visual with logo only
   - Fix iPad / iPhone first-section spacing and stacking after hero
*/
#top .hero-slide-content {
  justify-content: flex-end !important;
  align-items: flex-end !important;
  min-height: 100% !important;
}

#top .hero-copy,
#top .hero-kicker,
#top .hero-copy-title,
#top .hero-copy-text {
  display: none !important;
}

#top .hero-slider {
  cursor: default !important;
}

#top .hero-slide-logo {
  width: min(36vw, 520px) !important;
  max-width: none !important;
  margin-left: auto !important;
  right: clamp(34px, 4.4vw, 62px) !important;
  bottom: clamp(24px, 4vw, 46px) !important;
}

#top .top-hero {
  position: relative !important;
  z-index: 0 !important;
  margin-bottom: 0 !important;
}

#top .top-hero + .top-grid-two.top-grid-two-primary {
  position: relative !important;
  z-index: 1 !important;
  margin-top: clamp(44px, 5.8vw, 76px) !important;
}

#top .top-hero + .top-grid-two.top-grid-two-primary .top-section-block {
  align-content: start !important;
}

@media (max-width: 1100px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    min-height: min(64vh, 700px) !important;
  }

  #top .hero-slide-content {
    padding: 28px 20px 58px !important;
  }

  #top .hero-slide-logo {
    width: min(46vw, 420px) !important;
    right: 24px !important;
    bottom: 22px !important;
  }

  #top .top-hero + .top-grid-two.top-grid-two-primary {
    margin-top: 42px !important;
  }
}

@media (max-width: 820px) {
  .mobile-shell-brand {
    min-height: 54px !important;
    height: 54px !important;
    padding: 8px 54px 8px 14px !important;
  }

  .mobile-shell-brand img {
    height: 26px !important;
  }

  .menu-button {
    top: 6px !important;
    right: 6px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
  }

  .page-content {
    padding-top: 72px !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .top-hero,
  #top .hero-main-visual {
    min-height: min(52vh, 520px) !important;
  }

  #top .hero-slide-content {
    padding: 16px 14px 42px !important;
  }

  #top .hero-slide-logo {
    width: min(62vw, 280px) !important;
    right: 14px !important;
    bottom: 16px !important;
  }

  #top .hero-nav {
    inset: 47% 8px auto !important;
  }

  #top .hero-arrow {
    font-size: 44px !important;
    padding-inline: 4px !important;
  }

  #top .top-hero + .top-grid-two.top-grid-two-primary {
    margin-top: 32px !important;
  }
}

@media (max-width: 480px) {
  .mobile-shell-brand {
    min-height: 52px !important;
    height: 52px !important;
    padding: 7px 50px 7px 12px !important;
  }

  .mobile-shell-brand img {
    height: 24px !important;
  }

  .menu-button {
    width: 40px !important;
    height: 40px !important;
    right: 5px !important;
    top: 5px !important;
  }

  .page-content {
    padding-top: 68px !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .top-hero,
  #top .hero-main-visual {
    min-height: min(48vh, 430px) !important;
  }

  #top .hero-slide-content {
    padding: 14px 12px 36px !important;
  }

  #top .hero-slide-logo {
    width: min(68vw, 248px) !important;
    right: 12px !important;
    bottom: 14px !important;
  }

  #top .top-hero + .top-grid-two.top-grid-two-primary {
    margin-top: 28px !important;
  }
}

/* B04 top reorder + mobile/tablet hero stability */
#top .top-primary-stack {
  display: grid !important;
  gap: clamp(42px, 4.8vw, 64px) !important;
  padding-top: clamp(44px, 5vw, 72px) !important;
}
#top .top-primary-stack > * { margin: 0 !important; }
#top .top-news-home .top-news-panel-full { width: 100% !important; }
#top .top-news-home .top-news-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(16px, 2vw, 28px) !important;
}
#top .top-hero,
#top .hero-slider,
#top .hero-slide { isolation: isolate; }
#top .top-hero { margin-bottom: 0 !important; }
#top .hero-slider {
  height: min(78vh, 860px) !important;
  min-height: 0 !important;
}
#top .hero-slide {
  height: 100% !important;
  min-height: 0 !important;
}
#top .hero-slide-image,
#top .hero-slide-image img { height: 100% !important; }
#top .hero-slide-content {
  position: absolute !important;
  inset: 0 !important;
  padding: clamp(30px, 3.8vw, 46px) !important;
}
#top .hero-slide-logo { width: min(38vw, 560px) !important; }

@media (max-width: 1100px) {
  .mobile-shell-brand {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 64px 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: linear-gradient(180deg, rgba(8, 10, 18, 0.96), rgba(8, 10, 18, 0.70)) !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  .mobile-shell-brand::before,
  .mobile-shell-brand::after {
    content: none !important;
    display: none !important;
  }
  .mobile-shell-brand img {
    width: auto !important;
    max-width: min(220px, 58vw) !important;
    height: 28px !important;
    margin: 0 auto !important;
    display: block !important;
  }
  .menu-button {
    left: auto !important;
    right: 10px !important;
    top: 10px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    z-index: 560 !important;
  }
  .shell-main { padding-top: 64px !important; }
  .page-content { padding-top: 78px !important; }
  #top .top-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  #top .hero-slider {
    height: min(54vh, 560px) !important;
    min-height: 0 !important;
  }
  #top .hero-slide {
    height: 100% !important;
    min-height: 0 !important;
  }
  #top .hero-slide-content { padding: 16px 14px 26px !important; }
  #top .hero-slide-logo {
    width: min(64vw, 320px) !important;
    right: 16px !important;
    bottom: 14px !important;
  }
  #top .top-primary-stack {
    gap: 34px !important;
    padding-top: 40px !important;
  }
  #top .top-news-home .top-news-list { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  .mobile-shell-brand {
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 56px 0 12px !important;
  }
  .mobile-shell-brand img {
    height: 24px !important;
    max-width: min(180px, 54vw) !important;
  }
  .menu-button {
    right: 8px !important;
    top: 8px !important;
    width: 40px !important;
    height: 40px !important;
  }
  .shell-main { padding-top: 56px !important; }
  .page-content { padding-top: 68px !important; }
  #top .hero-slider { height: min(46vh, 430px) !important; }
  #top .hero-slide-content { padding: 12px 10px 22px !important; }
  #top .hero-slide-logo {
    width: min(70vw, 260px) !important;
    right: 12px !important;
    bottom: 10px !important;
  }
  #top .top-primary-stack {
    gap: 26px !important;
    padding-top: 28px !important;
  }
  #top .discography-grid,
  #top .visual-discography-grid,
  #top .visual-discography-grid-wide,
  #top .goods-grid,
  #top .goods-grid-full,
  #top .goods-discography-grid,
  #top .goods-discography-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ---- b-final-header.css ---- */

/* B05 final header / hero fill / SEO-facing refinement */
:root {
  --header-height: 124px;
}

@media (min-width: 1101px) {
  .pc-header {
    height: var(--header-height) !important;
    background: linear-gradient(180deg, rgba(7, 10, 18, 0.96), rgba(7, 10, 18, 0.78)) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 1px 0 rgba(183, 99, 255, 0.15), 0 18px 40px rgba(0,0,0,0.28) !important;
    backdrop-filter: blur(18px) !important;
  }

  .pc-header-inner {
    max-width: min(1560px, calc(100vw - 40px)) !important;
    padding: 14px 28px 12px !important;
    align-items: flex-start !important;
    gap: 28px !important;
  }

  .site-logo-link {
    display: flex !important;
    align-items: flex-start !important;
    flex: 0 0 auto !important;
    padding-top: 2px !important;
  }

  .pc-header-logo {
    height: 66px !important;
    width: auto !important;
    filter: drop-shadow(0 0 16px rgba(183, 99, 255, 0.18)) !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    padding-top: 2px !important;
  }

  .pc-nav {
    justify-content: flex-end !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 12px 28px !important;
  }

  .pc-nav a {
    font-size: 14px !important;
    letter-spacing: 0.20em !important;
    padding-top: 2px !important;
  }

  .pc-header-socials,
  .sidebar-socials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  .pc-header-socials {
    justify-content: flex-end;
  }
}

.social-link {
  --social-hover: rgba(255,255,255,0.94);
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  transition: transform 0.22s ease, color 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.social-link svg {
  width: 20px;
  height: 20px;
  display: block;
}

.social-link:hover,
.social-link:focus-visible {
  color: var(--social-hover);
  border-color: var(--social-hover);
  background: rgba(255,255,255,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.26);
  transform: translateY(-2px);
  outline: none;
}

.social-link-x { --social-hover: #ffffff; }
.social-link-instagram { --social-hover: #ff7fd6; }
.social-link-youtube { --social-hover: #ff5f7a; }
.social-link-niconico { --social-hover: #d4dcff; }
.social-link-line { --social-hover: #70ff8c; }

.sidebar-socials {
  margin-top: 8px;
}
.sidebar-socials .social-link {
  width: 40px;
  height: 40px;
}

.shell-main {
  padding-top: calc(var(--header-height) + 2px) !important;
}

.page-frame {
  min-height: calc(100vh - var(--header-height)) !important;
}

#top .top-hero {
  margin-bottom: 0 !important;
}

#top .hero-slider,
#top .hero-slide,
#top .hero-main-visual {
  height: min(78vh, 860px) !important;
  min-height: min(78vh, 860px) !important;
}

#top .hero-slider {
  overflow: hidden !important;
  line-height: 0 !important;
}

#top .hero-slide {
  position: relative !important;
  overflow: hidden !important;
}

#top .hero-slide-image {
  position: absolute !important;
  inset: 0 !important;
  line-height: 0 !important;
}

#top .hero-slide-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#top .hero-slide-content {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  padding: 0 clamp(28px, 4vw, 52px) clamp(24px, 4vw, 40px) !important;
  min-height: 0 !important;
}

#top .hero-slide-logo {
  width: min(42vw, 620px) !important;
  max-width: none !important;
  margin-left: auto !important;
  opacity: 0.98 !important;
}

#top .top-primary-stack {
  padding-top: clamp(50px, 5vw, 76px) !important;
}

.mobile-shell-brand::before,
.mobile-shell-brand::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  :root {
    --header-height: 62px;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(58vh, 620px) !important;
    min-height: min(58vh, 620px) !important;
  }

  #top .hero-slide-content {
    padding: 0 18px 18px !important;
  }

  #top .hero-slide-logo {
    width: min(70vw, 340px) !important;
  }

  #top .top-primary-stack {
    padding-top: 40px !important;
  }
}

@media (max-width: 640px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(48vh, 440px) !important;
    min-height: min(48vh, 440px) !important;
  }

  #top .hero-slide-content {
    padding: 0 12px 14px !important;
  }

  #top .hero-slide-logo {
    width: min(74vw, 280px) !important;
  }

  #top .top-primary-stack {
    padding-top: 32px !important;
  }
}

/* ---- b06-header-refine.css ---- */

/* B06 header spacing + real social icons + hero gap refinement */
:root {
  --header-height: 164px;
}

@media (min-width: 1101px) {
  .pc-header {
    height: var(--header-height) !important;
    background:
      radial-gradient(circle at 12% 18%, rgba(154, 184, 255, 0.26), transparent 24%),
      radial-gradient(circle at 88% 22%, rgba(214, 142, 255, 0.24), transparent 22%),
      radial-gradient(circle at 55% 68%, rgba(122, 236, 255, 0.14), transparent 18%),
      linear-gradient(135deg, rgba(248, 251, 255, 0.82), rgba(220, 228, 255, 0.62) 38%, rgba(244, 215, 255, 0.56) 70%, rgba(221, 236, 255, 0.74));
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: 0 18px 46px rgba(6, 8, 16, 0.22) !important;
    backdrop-filter: blur(20px) saturate(1.08) !important;
  }

  .pc-header-inner {
    height: 100% !important;
    max-width: min(1560px, calc(100vw - 48px)) !important;
    padding: 24px 34px !important;
    align-items: center !important;
    gap: 34px !important;
  }

  .site-logo-link {
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    padding: 0 !important;
  }

  .pc-header-logo {
    height: 74px !important;
    width: auto !important;
    filter: drop-shadow(0 4px 12px rgba(255,255,255,0.42)) drop-shadow(0 10px 28px rgba(72, 54, 115, 0.18)) !important;
  }

  .pc-header-right {
    align-self: stretch !important;
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    gap: 14px !important;
    padding: 0 !important;
  }

  .pc-nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px 28px !important;
    margin: 0 !important;
  }

  .pc-nav a {
    color: rgba(13, 14, 22, 0.95) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.4) !important;
    padding: 0 !important;
  }

  .pc-nav a::after {
    bottom: -8px !important;
    background: linear-gradient(90deg, rgba(72, 28, 128, 0.88), rgba(34, 107, 212, 0.9)) !important;
  }

  .pc-header-socials {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    opacity: 0.94;
  }
}

.social-link {
  --social-hover: #4b63ff;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,255,255,0.78) !important;
  text-decoration: none !important;
  transition: color 0.22s ease, opacity 0.22s ease, transform 0.22s ease, filter 0.22s ease !important;
}

.pc-header .social-link {
  color: rgba(18, 18, 26, 0.9) !important;
}

.social-link:hover,
.social-link:focus-visible {
  color: var(--social-hover) !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

.social-icon {
  display: block;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.social-icon-x { -webkit-mask-image: url('../../images/social/x-white.png'); mask-image: url('../../images/social/x-white.png'); }
.social-icon-instagram { -webkit-mask-image: url('../../images/social/instagram-white.png'); mask-image: url('../../images/social/instagram-white.png'); }
.social-icon-youtube { -webkit-mask-image: url('../../images/social/youtube-white.png'); mask-image: url('../../images/social/youtube-white.png'); }
.social-icon-niconico { -webkit-mask-image: url('../../images/social/niconico-white.png'); mask-image: url('../../images/social/niconico-white.png'); }
.social-icon-line { -webkit-mask-image: url('../../images/social/line-white.png'); mask-image: url('../../images/social/line-white.png'); }

.social-link-x { --social-hover: #111111; }
.social-link-instagram { --social-hover: #d63f9b; }
.social-link-youtube { --social-hover: #e52b52; }
.social-link-niconico { --social-hover: #4253d6; }
.social-link-line { --social-hover: #00b950; }

.sidebar-socials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.sidebar-socials .social-link {
  color: rgba(255,255,255,0.82) !important;
}

.sidebar-socials .social-icon {
  width: 20px;
  height: 20px;
}

#top .top-hero,
#top .hero-slider,
#top .hero-slide,
#top .hero-main-visual,
#top .hero-slide-image,
#top .hero-slide-image img {
  margin-bottom: 0 !important;
}

#top .hero-slider,
#top .hero-slide,
#top .hero-main-visual {
  height: min(80vh, 900px) !important;
  min-height: min(80vh, 900px) !important;
}

#top .hero-dots {
  bottom: 12px !important;
}

#top .top-primary-stack {
  padding-top: clamp(22px, 2.8vw, 34px) !important;
}

@media (max-width: 1100px) {
  :root {
    --header-height: 62px;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(56vh, 620px) !important;
    min-height: min(56vh, 620px) !important;
  }

  #top .hero-dots {
    bottom: 10px !important;
  }

  #top .top-primary-stack {
    padding-top: 18px !important;
  }
}

@media (max-width: 640px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(46vh, 440px) !important;
    min-height: min(46vh, 440px) !important;
  }

  #top .hero-slide-content {
    padding-bottom: 10px !important;
  }

  #top .hero-slide-logo {
    width: min(74vw, 300px) !important;
  }

  #top .hero-dots {
    bottom: 8px !important;
  }

  #top .top-primary-stack {
    padding-top: 16px !important;
  }
}

/* ---- b07-header-tune.css ---- */

/* B07 header tuning + SEO sitemap helper */
:root {
  --header-height: 128px;
}

@media (min-width: 1101px) {
  .pc-header {
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
  }

  .pc-header-inner {
    height: 100% !important;
    max-width: min(1560px, calc(100vw - 44px)) !important;
    padding: 16px 34px !important;
    align-items: center !important;
    gap: 28px !important;
  }

  .site-logo-link {
    align-self: center !important;
  }

  .pc-header-logo {
    height: 74px !important;
    width: auto !important;
  }

  .pc-header-right {
    align-self: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .pc-nav {
    align-items: center !important;
    gap: 12px 28px !important;
    margin: 0 !important;
  }

  .pc-nav a {
    color: rgba(18, 20, 30, 0.92) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    text-shadow: none !important;
    opacity: 1 !important;
  }

  .pc-nav a::after {
    content: none !important;
  }

  .pc-nav a:hover,
  .pc-nav a:focus-visible,
  .pc-nav a.is-active {
    color: #3b48d9 !important;
  }

  .pc-header-socials {
    gap: 12px !important;
    opacity: 1 !important;
    margin-top: 1px !important;
  }

  .pc-header .social-link {
    color: rgba(47, 46, 71, 0.74) !important;
    filter: drop-shadow(0 1px 1px rgba(255,255,255,0.18));
  }

  .pc-header .social-icon {
    width: 16px !important;
    height: 16px !important;
  }
}

.social-link {
  color: rgba(255,255,255,0.84) !important;
}

.social-link:hover,
.social-link:focus-visible {
  transform: translateY(-1px) !important;
}

.social-link-x { --social-hover: #5b6bff; }
.social-link-instagram { --social-hover: #ff6fc4; }
.social-link-youtube { --social-hover: #ff4d6d; }
.social-link-niconico { --social-hover: #86a0ff; }
.social-link-line { --social-hover: #1fd66d; }

#top .top-hero {
  margin-bottom: clamp(18px, 2.2vw, 28px) !important;
}

#top .top-primary-stack {
  padding-top: clamp(12px, 1.6vw, 22px) !important;
}

/* ---- b08-header-layout.css ---- */
/* B08 header tuning + hero fill + production domain */
:root {
  --header-height: 110px;
  --header-nav-color: rgba(12, 14, 22, 0.96);
}

@media (min-width: 1101px) {
  .pc-header {
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
  }

  .pc-header-inner {
    height: 100% !important;
    max-width: min(1560px, calc(100vw - 44px)) !important;
    padding: 14px 34px !important;
    align-items: center !important;
    gap: 34px !important;
  }

  .site-logo-link {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    height: 100% !important;
    padding: 0 !important;
  }

  .pc-header-logo {
    height: 74px !important;
    width: auto !important;
    margin: 0 !important;
  }

  .pc-header-right {
    align-self: center !important;
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    gap: 20px !important;
    min-height: 100% !important;
    padding: 0 !important;
  }

  .pc-nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px 30px !important;
    margin: 0 !important;
  }

  .pc-nav a {
    color: var(--header-nav-color) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-shadow: none !important;
    opacity: 1 !important;
    padding: 0 !important;
  }

  .pc-nav a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -9px !important;
    width: 100% !important;
    height: 1px !important;
    background: linear-gradient(90deg, rgba(72, 28, 128, 0.88), rgba(34, 107, 212, 0.9)) !important;
    transform: scaleX(1) !important;
    transform-origin: center !important;
    opacity: 0.95 !important;
  }

  .pc-nav a:hover,
  .pc-nav a:focus-visible,
  .pc-nav a.is-active {
    color: var(--header-nav-color) !important;
    opacity: 0.82 !important;
  }

  .pc-nav a:hover::after,
  .pc-nav a:focus-visible::after,
  .pc-nav a.is-active::after {
    transform: scaleX(0) !important;
    opacity: 0 !important;
  }

  .pc-header-socials {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 10px !important;
    opacity: 1 !important;
  }

  .pc-header .social-link {
    color: rgba(255, 255, 255, 0.98) !important;
    filter: drop-shadow(0 1px 2px rgba(7, 10, 20, 0.34));
  }

  .pc-header .social-link:hover,
  .pc-header .social-link:focus-visible {
    color: rgba(235, 240, 255, 0.96) !important;
    filter: drop-shadow(0 0 10px rgba(145, 164, 255, 0.42));
  }

  .pc-header .social-icon {
    width: 18px !important;
    height: 18px !important;
  }
}

.social-link {
  color: rgba(255,255,255,0.92) !important;
}

.social-link:hover,
.social-link:focus-visible {
  transform: translateY(-1px) !important;
}

.social-icon {
  display: block;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.social-icon-x { background-image: url('../../images/social/x-white.png'); }
.social-icon-instagram { background-image: url('../../images/social/instagram-white.png'); }
.social-icon-youtube { background-image: url('../../images/social/youtube-white.png'); }
.social-icon-niconico { background-image: url('../../images/social/niconico-white.png'); }
.social-icon-line { background-image: url('../../images/social/line-white.png'); }

.sidebar-socials .social-link {
  color: rgba(255,255,255,0.92) !important;
}

.sidebar-socials .social-icon {
  width: 19px !important;
  height: 19px !important;
}

@media (max-width: 1100px) and (min-width: 641px) {
  .mobile-shell-brand {
    height: 86px !important;
    background: linear-gradient(180deg, rgba(8,10,18,.94), rgba(8,10,18,.68)) !important;
  }

  .mobile-shell-brand img {
    height: 38px !important;
    width: auto !important;
  }

  .menu-button {
    width: 50px !important;
    height: 50px !important;
    top: 18px !important;
    right: 18px !important;
    border-radius: 14px !important;
  }

  .shell-main {
    padding-top: 92px !important;
  }
}

@media (max-width: 640px) {
  .mobile-shell-brand {
    height: 74px !important;
  }

  .mobile-shell-brand img {
    height: 32px !important;
    width: auto !important;
  }

  .menu-button {
    top: 12px !important;
    right: 12px !important;
  }

  .shell-main {
    padding-top: 78px !important;
  }
}

#top .top-hero {
  margin-bottom: 0 !important;
}

#top .top-primary-stack {
  padding-top: clamp(28px, 3vw, 40px) !important;
}

#top .discography-home {
  margin-top: clamp(8px, 1.2vw, 18px) !important;
}

#top .hero-slider,
#top .hero-slide,
#top .hero-slide-image,
#top .hero-slide-image img,
#top .hero-slide-content {
  min-height: 100% !important;
}

#top .hero-slide-image,
#top .hero-slide-image img {
  display: block !important;
}

#top .hero-slide-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#top .hero-slide-content {
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
}

#top .hero-slide-logo {
  position: absolute !important;
  right: clamp(18px, 4vw, 34px) !important;
  bottom: clamp(18px, 3.6vw, 28px) !important;
}

#top .hero-dots {
  bottom: 10px !important;
}

@media (max-width: 1100px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-slide-image,
  #top .hero-slide-image img,
  #top .hero-main-visual {
    height: min(58vh, 640px) !important;
    min-height: min(58vh, 640px) !important;
  }

  #top .hero-slide-content {
    position: absolute !important;
    inset: 0 !important;
    padding: 0 !important;
  }

  #top .hero-slide-logo {
    width: min(46vw, 230px) !important;
    max-width: 46% !important;
    right: 16px !important;
    bottom: 18px !important;
  }

  #top .hero-dots {
    bottom: 8px !important;
  }

  #top .top-primary-stack {
    padding-top: clamp(40px, 6vw, 58px) !important;
  }

  #top .discography-home {
    margin-top: clamp(18px, 3vw, 30px) !important;
  }
}

@media (max-width: 640px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-slide-image,
  #top .hero-slide-image img,
  #top .hero-main-visual {
    height: min(48vh, 460px) !important;
    min-height: min(48vh, 460px) !important;
  }

  #top .hero-slide-logo {
    width: min(62vw, 250px) !important;
    max-width: 64% !important;
    right: 12px !important;
    bottom: 16px !important;
  }

  #top .top-primary-stack {
    padding-top: 42px !important;
  }

  #top .discography-home {
    margin-top: 24px !important;
  }
}

/* ---- b09-header-fine.css ---- */
:root {
  --header-nav-color-b09: rgba(255, 255, 255, 0.96);
  --header-nav-underline-b09: linear-gradient(90deg, rgba(255,255,255,0.1), rgba(255,255,255,0.95), rgba(255,255,255,0.1));
}

@media (min-width: 1101px) {
  .pc-header-right {
    gap: 28px !important;
  }

  .pc-nav {
    margin-top: 6px !important;
    gap: 16px 32px !important;
    transform: translateY(4px) !important;
  }

  .pc-nav a {
    color: var(--header-nav-color-b09) !important;
    font-size: 19px !important;
    line-height: 1.1 !important;
    text-shadow: 0 1px 10px rgba(8, 12, 26, 0.24) !important;
  }

  .pc-nav a::after {
    bottom: -11px !important;
    height: 1px !important;
    background: var(--header-nav-underline-b09) !important;
    opacity: 0.88 !important;
  }

  .pc-nav a:hover,
  .pc-nav a:focus-visible,
  .pc-nav a.is-active {
    color: rgba(255,255,255,1) !important;
    opacity: 1 !important;
  }

  .pc-header-socials {
    margin-top: 18px !important;
    gap: 20px !important;
  }

  .pc-header .social-link {
    color: rgba(255,255,255,0.98) !important;
    opacity: 0.98 !important;
  }

  .pc-header .social-icon {
    width: 19px !important;
    height: 19px !important;
    filter: brightness(0) invert(1) !important;
    opacity: 0.95 !important;
  }

  .pc-header .social-link:hover .social-icon,
  .pc-header .social-link:focus-visible .social-icon {
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(165, 184, 255, 0.42)) !important;
    opacity: 1 !important;
  }
}

.social-icon-line {
  background-image: url('../../images/social/line-white.png') !important;
}

.sidebar-socials .social-icon,
.pc-header-socials .social-icon {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  display: block !important;
}

.sidebar-socials .social-icon {
  filter: brightness(0) invert(1) !important;
}

/* ---- b10-pagelead-center.css ---- */
.page-hero .page-lead,
.page-hero .page-lead.section-note-text,
.page-content.sub-page .page-lead {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.page-hero .page-lead {
  max-width: 56ch !important;
}

.section-note-panel .page-lead {
  text-align: center !important;
}

/* ---- b11-tablet-hero-menu.css ---- */
/* B11 tablet hero/header/sidebar fixes */

@media (min-width: 641px) and (max-width: 1100px) {
  .mobile-shell-brand {
    min-height: 92px !important;
    height: 92px !important;
    padding: 12px 84px 12px 22px !important;
    align-items: center !important;
  }

  .mobile-shell-brand img {
    height: 44px !important;
    max-width: min(320px, 48vw) !important;
    width: auto !important;
  }

  .menu-button {
    top: 16px !important;
    right: 18px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }

  .menu-button span {
    width: 24px !important;
    height: 2px !important;
  }

  .shell-main {
    padding-top: 96px !important;
  }

  .page-content {
    padding-top: 106px !important;
  }

  .sidebar {
    width: min(96vw, 460px) !important;
    padding: 122px 30px 34px !important;
  }

  .sidebar-nav {
    gap: 34px !important;
    padding-top: 24px !important;
  }

  .sidebar-nav a {
    font-size: 22px !important;
    line-height: 1.45 !important;
    padding: 12px 0 !important;
    letter-spacing: 0.12em !important;
  }

  .sidebar-socials {
    gap: 20px !important;
    margin-top: 34px !important;
  }

  .sidebar-socials .social-icon {
    width: 22px !important;
    height: 22px !important;
  }

  #top .top-hero {
    margin-bottom: 0 !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(60vh, 700px) !important;
    min-height: min(60vh, 700px) !important;
    overflow: hidden !important;
  }

  #top .hero-slide {
    position: relative !important;
  }

  #top .hero-slide-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  #top .hero-slide-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #top .hero-slide-content {
    position: absolute !important;
    inset: 0 !important;
  }

  #top .hero-slide-logo {
    width: min(48vw, 280px) !important;
    max-width: 50% !important;
    right: 22px !important;
    bottom: 22px !important;
  }

  #top .hero-dots {
    bottom: 14px !important;
  }

  #top .top-primary-stack {
    padding-top: clamp(76px, 9vw, 112px) !important;
  }

  #top .discography-home {
    margin-top: 0 !important;
  }
}

@media (max-width: 640px) {
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    overflow: hidden !important;
  }

  #top .hero-slide {
    position: relative !important;
  }

  #top .hero-slide-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  #top .hero-slide-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #top .hero-slide-content {
    position: absolute !important;
    inset: 0 !important;
  }

  #top .top-primary-stack {
    padding-top: 56px !important;
  }

  #top .discography-home {
    margin-top: 0 !important;
  }
}

/* ---- b13-tablet-mobile-center-fix.css ---- */
/* B13 tablet hero spacing + centered mobile/tablet brand */

@media (min-width: 641px) and (max-width: 1100px) {
  .mobile-shell-brand {
    height: 96px !important;
    min-height: 96px !important;
    padding: 0 0 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mobile-shell-brand img {
    display: block !important;
    height: 48px !important;
    width: auto !important;
    max-width: min(300px, calc(100vw - 140px)) !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .menu-button {
    top: 19px !important;
    right: 18px !important;
  }

  .shell-main {
    padding-top: 96px !important;
  }

  .page-content {
    padding-top: 108px !important;
  }

  #top .top-hero,
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual,
  #top .hero-slide-image,
  #top .hero-slide-image img {
    overflow: hidden !important;
  }

  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual {
    height: min(60vh, 700px) !important;
    min-height: min(60vh, 700px) !important;
  }

  #top .hero-slide-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  #top .hero-slide-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #top .hero-slide-content {
    position: absolute !important;
    inset: 0 !important;
    padding: 0 !important;
  }

  #top .hero-slide-logo {
    right: 24px !important;
    bottom: 22px !important;
  }

  #top .hero-dots {
    bottom: 18px !important;
  }

  #top .top-primary-stack {
    position: relative !important;
    z-index: 2 !important;
    margin-top: clamp(72px, 9vw, 120px) !important;
    padding-top: 0 !important;
  }

  #top .discography-home {
    margin-top: 0 !important;
  }
}

@media (max-width: 640px) {
  .mobile-shell-brand {
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mobile-shell-brand img {
    display: block !important;
    height: 24px !important;
    width: auto !important;
    max-width: calc(100vw - 96px) !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .menu-button {
    top: 8px !important;
    right: 8px !important;
  }

  #top .top-hero,
  #top .hero-slider,
  #top .hero-slide,
  #top .hero-main-visual,
  #top .hero-slide-image,
  #top .hero-slide-image img {
    overflow: hidden !important;
  }

  #top .hero-slide-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  #top .hero-slide-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* ---- b14-nav-profile.css ---- */
/* B14: center desktop nav, remove links entry, add top profile split section */
@media (min-width: 1101px) {
  .pc-header-inner {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr) !important;
    align-items: center !important;
    gap: 26px !important;
  }

  .site-logo-link {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .pc-header-right {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 auto !important;
    align-items: center !important;
    text-align: center !important;
    min-width: max-content !important;
  }

  .pc-nav {
    justify-content: center !important;
    margin: 0 auto !important;
    text-align: center !important;
    transform: none !important;
  }

  .pc-header-socials {
    justify-content: center !important;
  }
}

#top #profile {
  margin-top: clamp(14px, 2.2vw, 28px) !important;
}

#top .profile-top-card {
  padding: clamp(18px, 2.3vw, 30px) !important;
}

.top-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
}

.profile-split-card {
  display: grid;
  grid-template-columns: minmax(180px, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(14px, 1.8vw, 22px);
  align-items: stretch;
  padding: clamp(12px, 1.6vw, 18px);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(10, 13, 24, 0.82), rgba(12, 16, 30, 0.68));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.22);
}

.profile-split-media {
  min-height: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
}

.profile-split-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  object-position: center;
}

.profile-split-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  text-align: left;
}

.profile-split-role {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.26em;
  color: rgba(184, 197, 255, 0.76);
}

.profile-split-body h3 {
  margin: 0;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.08;
  letter-spacing: 0.04em;
}

.profile-split-copy {
  margin: 0;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.9;
  color: rgba(234, 238, 255, 0.88);
}

.profile-action {
  margin-top: clamp(16px, 2vw, 22px) !important;
}

@media (max-width: 1100px) {
  .top-profile-grid {
    grid-template-columns: 1fr;
  }

  .profile-split-card {
    grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .profile-split-card {
    grid-template-columns: 1fr;
  }

  .profile-split-media img {
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }

  .profile-split-body {
    text-align: left;
  }
}

/* ---- b15-header-profile.css ---- */
/* B15: restore header horizontal position, vertically center nav/social block, full-bleed profile layout */
@media (min-width: 1101px) {
  .pc-header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 34px !important;
    height: 100% !important;
    max-width: min(1560px, calc(100vw - 44px)) !important;
    padding: 14px 34px !important;
  }

  .site-logo-link {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    justify-self: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    align-self: stretch !important;
    min-height: 100% !important;
    gap: 14px !important;
    padding: 0 !important;
    text-align: right !important;
    min-width: max-content !important;
  }

  .pc-nav {
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px 32px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .pc-nav a {
    font-size: 20px !important;
    line-height: 1.12 !important;
  }

  .pc-nav a::after {
    bottom: -10px !important;
  }

  .pc-header-socials {
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pc-header .social-icon {
    width: 20px !important;
    height: 20px !important;
    filter: brightness(0) invert(1) !important;
    opacity: 0.96 !important;
  }
}

#top #profile {
  margin-top: clamp(30px, 4.5vw, 64px) !important;
}

#top .profile-top-card,
#top .profile-split-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#top .profile-wide-stage {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
}

#top .top-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2vw, 34px);
  width: 100%;
  padding: 0;
}

#top .profile-wide-item {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

#top .profile-wide-media {
  width: 100%;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
}

#top .profile-wide-media img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 6;
  min-height: min(54vw, 680px);
  object-fit: cover;
  object-position: center;
}

#top .profile-wide-body {
  padding: clamp(18px, 1.8vw, 28px) clamp(10px, 1vw, 18px) 0;
  text-align: left;
}

#top .profile-wide-role {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.28em;
  color: rgba(184, 197, 255, 0.76);
}

#top .profile-wide-body h3 {
  margin: 0 0 12px;
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1.06;
  letter-spacing: 0.04em;
}

#top .profile-wide-copy {
  margin: 0;
  max-width: 36ch;
  font-size: clamp(14px, 1.02vw, 16px);
  line-height: 1.95;
  color: rgba(236, 239, 255, 0.9);
}

#top .profile-action-wide {
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: clamp(18px, 2vw, 30px) 0 0;
}

#top .profile-action-wide .section-view-btn {
  margin-left: clamp(16px, 2.4vw, 40px);
}

@media (max-width: 1100px) {
  #top .profile-wide-stage {
    width: calc(100vw - 28px);
    margin-left: calc(50% - 50vw + 14px);
    margin-right: calc(50% - 50vw + 14px);
  }

  #top .top-profile-grid {
    gap: 18px;
  }

  #top .profile-wide-body {
    padding: 16px 2px 0;
  }

  #top .profile-wide-body h3 {
    font-size: clamp(24px, 3.8vw, 34px);
  }

  #top .profile-wide-copy {
    max-width: none;
  }

  #top .profile-action-wide {
    width: calc(100vw - 28px);
    margin-left: calc(50% - 50vw + 14px) !important;
    margin-right: calc(50% - 50vw + 14px) !important;
  }

  #top .profile-action-wide .section-view-btn {
    margin-left: 0;
  }
}

@media (max-width: 760px) {
  #top .top-profile-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  #top .profile-wide-stage {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }

  #top .profile-wide-media img {
    aspect-ratio: 4 / 5;
    min-height: auto;
  }

  #top .profile-wide-body {
    padding: 14px 2px 0;
  }

  #top .profile-wide-body h3 {
    font-size: clamp(24px, 7.4vw, 32px);
  }

  #top .profile-action-wide {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;
  }
}

/* ---- b16-header-profile-fine.css ---- */
/* B16: restore right-aligned desktop nav, increase nav/social gap, refine top profile spacing */
@media (min-width: 1101px) {
  .pc-header-inner {
    align-items: center !important;
  }

  .site-logo-link {
    align-self: center !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    align-items: flex-end !important;
    justify-content: center !important;
    align-self: center !important;
    min-height: auto !important;
    gap: 26px !important;
    text-align: right !important;
  }

  .pc-nav {
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 20px 34px !important;
  }

  .pc-nav a {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  .pc-header-socials {
    justify-content: flex-end !important;
    gap: 24px !important;
    margin-top: 2px !important;
  }
}

#top #profile {
  margin-top: clamp(34px, 5vw, 74px) !important;
}

#top .profile-wide-stage {
  --profile-gap: clamp(22px, 2.25vw, 34px);
  width: min(1480px, calc(100vw - (var(--profile-gap) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

#top .top-profile-grid {
  gap: var(--profile-gap) !important;
  width: 100% !important;
}

#top .profile-wide-item {
  gap: 16px !important;
}

#top .profile-wide-media {
  background: transparent !important;
  overflow: visible !important;
}

#top .profile-wide-media img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 0 !important;
  max-height: min(42vw, 560px) !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
}

#top .profile-wide-body {
  padding: 0 !important;
}

#top .profile-wide-copy {
  max-width: none !important;
}

#top .profile-action-wide {
  width: min(1480px, calc(100vw - (var(--profile-gap) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: clamp(20px, 2.2vw, 32px) !important;
}

#top .profile-action-wide .section-view-btn {
  margin-left: 0 !important;
}

@media (max-width: 1100px) {
  #top .profile-wide-stage {
    --profile-gap: 18px;
    width: calc(100vw - (var(--profile-gap) * 2)) !important;
  }

  #top .top-profile-grid {
    gap: var(--profile-gap) !important;
  }

  #top .profile-wide-media img {
    max-height: 420px !important;
    border-radius: 20px !important;
  }

  #top .profile-action-wide {
    width: calc(100vw - (var(--profile-gap) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 760px) {
  #top .profile-wide-stage {
    --profile-gap: 12px;
    width: calc(100vw - (var(--profile-gap) * 2)) !important;
  }

  #top .top-profile-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  #top .profile-wide-item {
    gap: 14px !important;
  }

  #top .profile-wide-media img {
    aspect-ratio: 4 / 5 !important;
    max-height: none !important;
    border-radius: 18px !important;
  }

  #top .profile-wide-body {
    padding: 0 2px !important;
  }

  #top .profile-action-wide {
    width: calc(100vw - (var(--profile-gap) * 2)) !important;
  }
}

/* ---- b17-layout-rescue.css ---- */
/* B17: restore desktop header right alignment and remove profile-induced horizontal drift */
html, body {
  overflow-x: clip;
}

.shell-body,
.shell-main,
.page-content {
  max-width: 100%;
}

@media (min-width: 1101px) {
  .pc-header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 34px !important;
    width: min(1560px, calc(100vw - 44px)) !important;
    max-width: min(1560px, calc(100vw - 44px)) !important;
    margin-inline: auto !important;
    padding: 14px 34px !important;
  }

  .site-logo-link {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    align-self: center !important;
    min-width: max-content !important;
    min-height: auto !important;
    gap: 28px !important;
    padding: 0 !important;
    text-align: right !important;
  }

  .pc-nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px 32px !important;
    margin: 0 !important;
    width: auto !important;
    transform: none !important;
  }

  .pc-header-socials {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

#top #profile {
  margin-top: clamp(34px, 4.2vw, 64px) !important;
}

#top .profile-wide-stage,
#top .profile-action-wide {
  --profile-gap: clamp(18px, 2vw, 28px);
  width: min(1400px, calc(100% - (var(--profile-gap) * 2))) !important;
  max-width: min(1400px, calc(100% - (var(--profile-gap) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#top .top-profile-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--profile-gap) !important;
}

#top .profile-wide-item {
  min-width: 0 !important;
  gap: 14px !important;
}

#top .profile-wide-media {
  overflow: visible !important;
  background: transparent !important;
}

#top .profile-wide-media img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  max-height: min(34vw, 460px) !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 22px !important;
}

#top .profile-wide-body {
  padding: 0 !important;
}

#top .profile-wide-copy {
  max-width: 40ch !important;
}

#top .profile-action-wide .section-view-btn {
  margin-left: 0 !important;
}

@media (max-width: 1100px) {
  #top .profile-wide-stage,
  #top .profile-action-wide {
    --profile-gap: 16px;
    width: calc(100% - (var(--profile-gap) * 2)) !important;
    max-width: calc(100% - (var(--profile-gap) * 2)) !important;
  }

  #top .profile-wide-media img {
    max-height: 380px !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 760px) {
  #top .profile-wide-stage,
  #top .profile-action-wide {
    --profile-gap: 12px;
    width: calc(100% - (var(--profile-gap) * 2)) !important;
    max-width: calc(100% - (var(--profile-gap) * 2)) !important;
  }

  #top .top-profile-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  #top .profile-wide-media img {
    max-height: none !important;
    border-radius: 18px !important;
  }
}

/* ---- b18-header-right-edge.css ---- */
/* B18: restore desktop nav block to the right edge while keeping current header height */
@media (min-width: 1101px) {
  .pc-header-inner {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 14px 20px !important;
    gap: 28px !important;
  }

  .site-logo-link {
    margin-right: auto !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    align-items: flex-end !important;
    justify-content: center !important;
    text-align: right !important;
    min-width: max-content !important;
    width: auto !important;
    gap: 30px !important;
  }

  .pc-nav {
    width: auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    gap: 20px 34px !important;
  }

  .pc-header-socials {
    justify-content: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    gap: 24px !important;
  }
}

/* ---- b19-header-right-actual.css ---- */
/* B19: actual desktop header right alignment fix
   Cause: B18 applied auto margins to BOTH the logo and right block,
   which split free space and visually centered the nav.
   This layer removes the double-auto behavior and pins the nav block right. */
@media (min-width: 1101px) {
  .pc-header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: min(1560px, calc(100vw - 44px)) !important;
    max-width: min(1560px, calc(100vw - 44px)) !important;
    margin-inline: auto !important;
    padding: 14px 34px !important;
    gap: 34px !important;
  }

  .site-logo-link {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    margin-right: 0 !important;
  }

  .pc-header-right {
    margin-left: auto !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    align-self: center !important;
    text-align: right !important;
    min-width: max-content !important;
    width: auto !important;
    gap: 30px !important;
    padding: 0 !important;
  }

  .pc-nav {
    display: flex !important;
    width: auto !important;
    margin: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 20px 34px !important;
    text-align: right !important;
    transform: none !important;
  }

  .pc-header-socials {
    display: flex !important;
    margin: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 24px !important;
  }
}

/* ---- p53-goods-filter-fix.css ---- */
/* P53: GOODS filter chips / count / load more styling */
.goods-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px 18px;
  flex-wrap: wrap;
  margin: 0 0 28px !important;
}

.goods-filter-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.goods-filter-chip {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(244, 247, 255, 0.9);
  border-radius: 999px;
  padding: 10px 16px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.goods-filter-chip:hover,
.goods-filter-chip:focus-visible {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  transform: translateY(-1px);
  outline: none;
}

.goods-filter-chip.is-active,
.goods-filter-chip[aria-pressed="true"] {
  background: #ffffff;
  border-color: #ffffff;
  color: #08111f;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
}

.goods-toolbar-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
}

.goods-results-count {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(226, 232, 255, 0.72);
}

.goods-loadmore-row {
  justify-content: center;
  margin-top: clamp(22px, 3vw, 34px) !important;
}

.goods-loadmore-btn {
  min-width: min(100%, 220px);
}

@media (max-width: 767px) {
  .goods-toolbar {
    align-items: flex-start;
    gap: 10px 12px;
    margin-bottom: 22px !important;
  }

  .goods-filter-chips {
    gap: 8px;
  }

  .goods-filter-chip {
    min-height: 38px;
    padding: 9px 14px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .goods-toolbar-meta {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .goods-results-count {
    min-height: 0;
    font-size: 11px;
  }
}



/* ---- v57-goods-detail-refine.css ---- */
.goods-detail-panel-refined {
  margin-top: clamp(8px, 1.2vw, 16px) !important;
}

.goods-detail-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.goods-detail-meta-box {
  gap: 14px !important;
  margin-bottom: 0 !important;
}

.goods-detail-heading {
  display: grid;
  gap: 8px;
}

.goods-detail-category {
  margin: 0;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(224, 231, 255, 0.68);
}

.goods-detail-title {
  margin: 0;
  font-size: clamp(34px, 4vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: #f8faff;
  text-wrap: balance;
}

.goods-detail-summary {
  margin: 2px 0 0;
  max-width: 34ch;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(232, 236, 255, 0.82);
}

.goods-detail-price {
  display: block;
  margin-top: 4px;
}

.goods-detail-submeta {
  margin-top: -2px !important;
  color: rgba(220, 228, 255, 0.54) !important;
}

.goods-detail-body {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.goods-detail-body .content-copy {
  max-width: 42ch;
}

.goods-detail-actions {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.goods-detail-actions .article-back-row,
.goods-detail-actions .goods-detail-purchase-row {
  margin: 0 !important;
}

.goods-detail-actions .section-view-btn,
.goods-detail-actions .section-view-btn.is-disabled {
  min-width: 220px;
}

@media (max-width: 900px) {
  .goods-detail-title {
    font-size: clamp(28px, 7vw, 46px);
  }

  .goods-detail-summary {
    max-width: none;
    font-size: 14px;
  }

  .goods-detail-body {
    margin-top: 20px;
    padding-top: 18px;
  }

  .goods-detail-actions {
    gap: 14px;
    margin-top: 24px;
  }

  .goods-detail-actions .section-view-btn,
  .goods-detail-actions .section-view-btn.is-disabled {
    min-width: 0;
    width: 100%;
  }
}




/* footer/end spacing retune */
.site-footer{
  margin-top: 56px !important;
  padding-top: 14px !important;
  padding-bottom: 12px !important;
}

.shell-body,
.page,
.page-inner,
.page-frame,
.page-content{
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.site-footer:last-child{
  margin-bottom: 0 !important;
}

body.shell-body{
  padding-bottom: 0 !important;
}

/* remove bottom gap (wrapper margin fix) */
html, body { margin-bottom:0 !important; padding-bottom:0 !important; }
.shell, .shell-body, .page, .page-inner, .page-frame, .page-content { margin-bottom:0 !important; padding-bottom:0 !important; }
.site-footer { margin-bottom:0 !important; }


/* footer icon-row vertical balance tune */
.site-footer{
  padding-top: 10px !important;
  padding-bottom: 8px !important;
}

.footer-socials{
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer-socials .social-link,
.footer-socials a,
.footer-social-link{
  min-height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer-socials .social-label,
.footer-social-label{
  margin-top: 4px !important;
}

.footer-links{
  margin-top: 8px !important;
  padding-top: 10px !important;
}

.site-footer .copyright,
.footer-copy{
  margin-top: 8px !important;
}


/* footer internal gap tighten */
.site-footer.site-footer-redesign{
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.site-footer.site-footer-redesign .footer-inner{
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.site-footer.site-footer-redesign .footer-socials{
  margin: 0 !important;
  padding: 0 !important;
  gap: 14px !important;
}

.site-footer.site-footer-redesign .footer-social-item{
  gap: 4px !important;
}

.site-footer.site-footer-redesign .footer-social-label{
  margin-top: 0 !important;
  line-height: 1.15 !important;
}

.site-footer.site-footer-redesign .footer-policy-links{
  margin-top: 6px !important;
  padding-top: 8px !important;
  gap: 8px 18px !important;
}

.site-footer.site-footer-redesign .footer-copy{
  margin-top: 6px !important;
  line-height: 1.1 !important;
}

/* remove divider above footer icons */
.site-footer .footer-socials{border-top:none !important;}
.site-footer hr{display:none !important;}
.site-footer .footer-divider{display:none !important;}


/* footer redesign rebalance */
.site-footer.site-footer-redesign{
  margin-top: 42px !important;
  padding: 8px 0 8px !important;
}

.site-footer.site-footer-redesign .footer-inner{
  max-width: min(1120px, calc(100vw - 40px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.site-footer.site-footer-redesign .footer-socials{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
  justify-items: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  border-top: none !important;
}

.site-footer.site-footer-redesign .footer-social-item{
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.site-footer.site-footer-redesign .footer-social-icon{
  width: 26px !important;
  height: 26px !important;
}

.site-footer.site-footer-redesign .footer-social-label{
  margin-top: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.site-footer.site-footer-redesign .footer-policy-links{
  margin-top: 12px !important;
  padding-top: 0 !important;
  border-top: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px 18px !important;
}

.site-footer.site-footer-redesign .footer-policy-links a{
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.site-footer.site-footer-redesign .footer-copy{
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.site-footer.site-footer-redesign .footer-inner{
    max-width: calc(100vw - 24px) !important;
  }

  .site-footer.site-footer-redesign .footer-socials{
    gap: 10px !important;
  }

  .site-footer.site-footer-redesign .footer-social-item{
    gap: 5px !important;
  }

  .site-footer.site-footer-redesign .footer-social-icon{
    width: 24px !important;
    height: 24px !important;
  }

  .site-footer.site-footer-redesign .footer-policy-links{
    margin-top: 10px !important;
    gap: 6px 14px !important;
  }

  .site-footer.site-footer-redesign .footer-copy{
    margin-top: 6px !important;
  }

  .bottom-trigger{
    height: 48px !important;
  }
}

/* move divider below socials */
.site-footer .footer-socials{border-top:none !important;border-bottom:1px solid rgba(255,255,255,0.08) !important;padding-bottom:12px !important;margin-bottom:10px !important;}
.site-footer .footer-policy-links{border-top:none !important;padding-top:0 !important;}

/* remove upper divider completely */
.site-footer{border-top:none !important;}
.site-footer::before{display:none !important;}

/* balance icon vertical spacing */
.site-footer .footer-socials{padding-top:16px !important;padding-bottom:16px !important;border-bottom:1px solid rgba(255,255,255,0.08) !important;}
.site-footer .footer-social-item{gap:8px !important;}
.site-footer .footer-social-label{margin-top:0 !important;}


/* footer final spacing fix: remove leftover top gap */
.site-footer,
.site-footer.site-footer-redesign{
  margin-top: 12px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-footer .footer-inner{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.site-footer .footer-socials{
  margin-top: 0 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.site-footer .footer-policy-links{
  margin-top: 8px !important;
}

.site-footer .footer-copy{
  margin-top: 6px !important;
}

/* v72: when footer is visible, dock gets out of the way */
body.footer-nearby #playerDock{
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(18px) !important;
}


/* v73 footer clean reset: resolve stacked footer overrides */
.site-footer.site-footer-redesign{
  margin-top: 16px !important;
  padding: 0 !important;
  border-top: none !important;
  background: rgba(6, 10, 24, 0.90) !important;
}

.site-footer.site-footer-redesign::before{
  display: none !important;
  content: none !important;
}

.site-footer.site-footer-redesign .footer-inner{
  max-width: min(1120px, calc(100vw - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: 8px !important;
  align-content: start !important;
  min-height: 0 !important;
}

.site-footer.site-footer-redesign .footer-socials{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: center !important;
  justify-items: center !important;
  margin: 0 !important;
  padding: 8px 0 12px !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  min-height: 0 !important;
}

.site-footer.site-footer-redesign .footer-social-item{
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
}

.site-footer.site-footer-redesign .footer-social-icon{
  width: 24px !important;
  height: 24px !important;
  opacity: 0.88 !important;
}

.site-footer.site-footer-redesign .footer-social-label{
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.site-footer.site-footer-redesign .footer-policy-links{
  margin: 0 !important;
  padding: 0 !important;
  border-top: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px 16px !important;
}

.site-footer.site-footer-redesign .footer-policy-links a{
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.site-footer.site-footer-redesign .footer-copy{
  margin: 0 !important;
  padding: 0 0 4px !important;
  text-align: center !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* keep adopted behavior: dock hides near footer */
body.footer-nearby #playerDock{
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(18px) !important;
}


/* v74 footer background unify */
.site-footer,
.site-footer.site-footer-redesign,
.site-footer.site-footer-redesign .footer-inner{
  background: transparent !important;
  box-shadow: none !important;
}

.site-footer.site-footer-redesign{
  border-radius: 0 !important;
}

.site-footer.site-footer-redesign .footer-inner{
  max-width: min(1120px, calc(100vw - 40px)) !important;
}


/* v75 responsive footer centering */
@media (max-width: 1100px){
  .site-footer.site-footer-redesign{
    margin-top: 18px !important;
  }

  .site-footer.site-footer-redesign .footer-inner{
    max-width: min(720px, calc(100vw - 32px)) !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .site-footer.site-footer-redesign .footer-socials{
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
  }

  .site-footer.site-footer-redesign .footer-social-item{
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  .site-footer.site-footer-redesign .footer-social-label{
    width: 100% !important;
    text-align: center !important;
  }

  .site-footer.site-footer-redesign .footer-policy-links{
    justify-content: center !important;
    text-align: center !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-footer.site-footer-redesign .footer-copy{
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 640px){
  .site-footer.site-footer-redesign .footer-inner{
    max-width: calc(100vw - 24px) !important;
  }

  .site-footer.site-footer-redesign .footer-socials{
    max-width: calc(100vw - 40px) !important;
    gap: 10px 6px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .site-footer.site-footer-redesign .footer-social-icon{
    width: 22px !important;
    height: 22px !important;
  }

  .site-footer.site-footer-redesign .footer-social-label{
    font-size: 10px !important;
    line-height: 1.15 !important;
    word-break: break-word !important;
  }

  .site-footer.site-footer-redesign .footer-policy-links{
    gap: 6px 12px !important;
  }

  .site-footer.site-footer-redesign .footer-policy-links a,
  .site-footer.site-footer-redesign .footer-copy{
    font-size: 11px !important;
  }
}


/* v82 content-to-footer spacing polish */
.page-content > *:last-child,
.page-content .page-section:last-child,
.page-content .section:last-child,
.page-content main > *:last-child,
.page-content .content-section:last-child,
.page-content .goods-detail-layout:last-child,
.page-content .goods-list-section:last-child,
.page-content .profile-wide-stage:last-child,
.page-content .top-profile-grid:last-child,
.page-content .about-profile-grid:last-child{
  margin-bottom: 56px !important;
}

@media (max-width: 1100px){
  .page-content > *:last-child,
  .page-content .page-section:last-child,
  .page-content .section:last-child,
  .page-content main > *:last-child,
  .page-content .content-section:last-child,
  .page-content .goods-detail-layout:last-child,
  .page-content .goods-list-section:last-child,
  .page-content .profile-wide-stage:last-child,
  .page-content .top-profile-grid:last-child,
  .page-content .about-profile-grid:last-child{
    margin-bottom: 44px !important;
  }
}

@media (max-width: 640px){
  .page-content > *:last-child,
  .page-content .page-section:last-child,
  .page-content .section:last-child,
  .page-content main > *:last-child,
  .page-content .content-section:last-child,
  .page-content .goods-detail-layout:last-child,
  .page-content .goods-list-section:last-child,
  .page-content .profile-wide-stage:last-child,
  .page-content .top-profile-grid:last-child,
  .page-content .about-profile-grid:last-child{
    margin-bottom: 36px !important;
  }
}


/* ===== v92 audited mobile layout block ===== */
/* This block replaces the stacked v87-v91 experiments with one maintained source of truth. */

/* A) Reduce header-to-title whitespace on inner pages */
@media (max-width: 1100px){
  .page-content > *:first-child,
  .page-content main > *:first-child,
  .page-content .page-section:first-child,
  .page-content .section:first-child,
  .page-content .content-section:first-child,
  .page-content .about-hero:first-child,
  .page-content .profile-wide-stage:first-child,
  .page-content .about-profile-grid:first-child,
  .page-content .goods-list-section:first-child,
  .page-content .news-list-section:first-child,
  .page-content .discography-list-section:first-child,
  .page-content .visuals-list-section:first-child{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .page-shell main,
  .page-shell .page-content,
  .page-content{
    padding-top: 0 !important;
  }

  .page-title-block,
  .section-heading,
  .section-title-wrap,
  .page-heading{
    margin-top: 8px !important;
  }
}

@media (max-width: 640px){
  .page-content > *:first-child,
  .page-content main > *:first-child,
  .page-content .page-section:first-child,
  .page-content .section:first-child,
  .page-content .content-section:first-child,
  .page-content .about-hero:first-child,
  .page-content .profile-wide-stage:first-child,
  .page-content .about-profile-grid:first-child,
  .page-content .goods-list-section:first-child,
  .page-content .news-list-section:first-child,
  .page-content .discography-list-section:first-child,
  .page-content .visuals-list-section:first-child{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .page-shell main,
  .page-shell .page-content,
  .page-content{
    padding-top: 0 !important;
  }

  .page-title-block,
  .section-heading,
  .section-title-wrap,
  .page-heading{
    margin-top: 4px !important;
  }
}

/* B) TOP hero mobile/tablet hard reset */
@media (max-width: 1100px){
  #top .hero-slider,
  #top .hero-slide,
  .top-hero .hero-slider,
  .top-hero .hero-slide{
    height: min(48vh, 382px) !important;
    min-height: min(48vh, 382px) !important;
  }

  #top .hero-slide,
  .top-hero .hero-slide{
    position: relative !important;
    overflow: hidden !important;
  }

  #top .hero-slide-image,
  .top-hero .hero-slide-image{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    line-height: 0 !important;
    overflow: hidden !important;
    display: block !important;
  }

  #top .hero-slide-image img,
  .top-hero .hero-slide-image img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    display: block !important;
  }

  #top .hero-slide-content,
  .top-hero .hero-slide-content{
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    display: grid !important;
    align-content: end !important;
    justify-items: end !important;
    padding: 18px 16px 28px !important;
    pointer-events: none !important;
  }

  #top .hero-slide-logo,
  .top-hero .hero-slide-logo{
    position: absolute !important;
    left: auto !important;
    top: auto !important;
    right: 16px !important;
    bottom: 18px !important;
    transform: none !important;
    width: min(44vw, 180px) !important;
    max-width: 46% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    display: block !important;
    opacity: 0.98 !important;
  }
}

@media (max-width: 640px){
  #top .hero-slider,
  #top .hero-slide,
  .top-hero .hero-slider,
  .top-hero .hero-slide{
    height: min(48vh, 382px) !important;
    min-height: min(48vh, 382px) !important;
  }

  #top .hero-slide-image,
  .top-hero .hero-slide-image{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
  }

  #top .hero-slide-image img,
  .top-hero .hero-slide-image img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  #top .hero-slide-content,
  .top-hero .hero-slide-content{
    position: absolute !important;
    inset: 0 !important;
    padding: 16px 14px 22px !important;
    align-content: end !important;
    justify-items: end !important;
  }

  #top .hero-slide-logo,
  .top-hero .hero-slide-logo{
    position: absolute !important;
    left: auto !important;
    top: auto !important;
    right: 14px !important;
    bottom: 16px !important;
    transform: none !important;
    width: min(46vw, 170px) !important;
    max-width: 44% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: right bottom !important;
  }
}

/* C) Header / logo protection against accidental image stretching */
.site-header img,
.header-logo img,
.logo img,
.site-brand img,
.drawer-logo img,
.menu-logo img{
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  display: block !important;
}
