/* Separate local study. These rules are scoped to the Duo body. */
html:has(body.duo) { scroll-behavior: smooth; background: #fff; }
html[data-design="white"] body.concept.duo {
  --duo-ink: #1d1d1f;
  --duo-gray: #6e6e73;
  --duo-red: #d63c35;
  --duo-paper: #f5f5f7;
  --concept-text: #1d1d1f;
  --concept-muted: #6e6e73;
  background: #fff; color: var(--duo-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.concept.duo :is(button,input,select) { font-family: inherit; }
body.concept.duo .duo-home { overflow: clip; }
body.concept.duo .duo-home :is(h1,h2,h3,p) { text-wrap: pretty; }
body.concept.duo :where(section,footer,#about-story,#home) { scroll-margin-top: 95px; }
body.concept.duo .duo-width,
body.concept.duo .concept-wrap { width: min(1200px,calc(100% - 112px)); margin-inline: auto; }
body.concept.duo .site-header {
  position: sticky; top: 12px; z-index: 25; width: min(1200px,calc(100% - 48px));
  margin: 12px auto 0; border: 1px solid #dadade80; border-radius: 50px;
  background: #ffffffd9; backdrop-filter: blur(24px) saturate(1.3);
  -webkit-backdrop-filter: blur(24px) saturate(1.3);
  box-shadow: 0 3px 20px #1d1d1f06; padding: 0;
}
body.concept.duo .site-header-inner { width: 100%; min-height: 56px; padding: 8px 10px 8px 25px; }
body.concept.duo .site-brand { display: inline-flex; align-items: center; min-height: 44px; flex: 0 0 auto; width: auto; max-width: none; white-space: nowrap; font-family: inherit; font-size: 17px; font-weight: 700; letter-spacing: .09em; color: var(--duo-ink); }
body.concept.duo .concept-brand-dot { width: 5px; height: 5px; margin-left: 3px; }
body.concept.duo .site-membership-link { padding: 9px 19px; background: #1d1d1f; border-color: #1d1d1f; color: #fff; font-size: 12px; border-radius: 30px; font-family: inherit; letter-spacing: 0; }
body.concept.duo .site-membership-link:hover { background: #3b3b3d; color: #fff; }

body.concept.duo .duo-eyebrow,
body.concept.duo :is(.concept-kicker,.section-kicker) { display: block; font-family: inherit; font-size: 17px; line-height: 1.3; letter-spacing: -.02em; font-weight: 600; text-transform: none; color: var(--duo-gray); margin: 0 0 18px; }
body.concept.duo .duo-hero { position: relative; padding: 72px 0 62px; text-align: center; background: #fff; }
body.concept.duo .duo-hero-copy { position: relative; z-index: 2; padding-inline: 24px; }
body.concept.duo .duo-hero .duo-eyebrow { color: #28282a; font-size: 19px; margin-bottom: 21px; }
body.concept.duo .duo-hero :is(h1,h2) { width: 100%; max-width: none; font-size: clamp(68px,7.4vw,110px); font-weight: 650; line-height: .99; letter-spacing: -.065em; margin: 0 auto; color: var(--duo-ink); }
body.concept.duo .duo-hero :is(h1,h2) span { color: #8e9298; background: linear-gradient(155deg,#b8bec7 0%,#a0a7b1 20%,#575d67 61%,#9299a3 98%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
body.concept.duo .duo-hero-description { font-size: 20px; line-height: 1.5; letter-spacing: -.025em; color: var(--duo-gray); margin: 24px auto 25px; }
body.concept.duo .duo-hero-actions { display: flex; justify-content: center; align-items: center; gap: 26px; }
body.concept.duo :is(.song-card,.archive-card,.chart-row,.quick-player button) { touch-action: manipulation; }
body.concept.duo .duo-button,
body.concept.duo .concept-primary { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 46px; padding: 13px 23px; border: 1px solid transparent; border-radius: 50px; color: #fff; background: var(--duo-red); font: 500 15px/1.2 inherit; font-family: inherit; letter-spacing: -.015em; text-decoration: none; box-shadow: none; cursor: pointer; transition: background .2s,transform .2s; }
body.concept.duo .duo-button:hover,
body.concept.duo .concept-primary:hover { background: #b92d28; transform: translateY(-1px); color: #fff; }
body.concept.duo .duo-button > span { font-size: 12px; }
body.concept.duo .duo-link,
body.concept.duo .concept-text-link { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; color: #c3322b; text-decoration: none; font: 500 16px/1.4 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.015em; border: 0; padding: 0; margin: 0; }
body.concept.duo .duo-link:hover,
body.concept.duo .concept-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
body.concept.duo .concept-primary .concept-play-icon { color: #fff; font-size: 13px; background: none; box-shadow: none; width: auto; height: auto; }

body.concept.duo .duo-stage { position: relative; margin: 58px auto 0; width: min(1060px,91vw); padding-bottom: 35px; }
body.concept.duo .duo-stage-floor { position: absolute; inset: 30% -12% -15%; border-radius: 50%; background: radial-gradient(ellipse at center,#e6e8ed9c,transparent 62%); pointer-events: none; }
body.concept.duo .duo-deck { position: relative; display: flex; align-items: center; justify-content: center; gap: 32px; margin: 0; padding: 0; overflow: visible; perspective: 1500px; min-height: 0; }
body.concept.duo .duo-cover { position: relative; inset: auto; display: flex; flex-direction: column; width: 100%; max-width: none; margin: 0; padding: 8px; min-height: 0; aspect-ratio: auto; background: linear-gradient(145deg,#fff,#eaecef); border: 1px solid #d6d8dc; border-radius: 23px; box-shadow: 0 22px 38px -21px #232b3d60,inset 0 1px 1px #fff; text-decoration: none; overflow: hidden; isolation: isolate; transform: none; transition: transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s; }
body.concept.duo .duo-cover::before,
body.concept.duo .duo-cover::after { display: none; }
body.concept.duo .duo-cover .concept-cover-art { position: relative; display: block; flex: 0 0 auto; width: 100%; height: auto; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: #e8e8ed; }
body.concept.duo .duo-cover .song-card-cover { position: static; display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; object-position: center; opacity: 1; filter: none; transform: none; }
body.concept.duo .duo-cover .card-bottom { position: static; display: flex; flex: 1; align-items: center; justify-content: space-between; width: 100%; gap: 10px; padding: 15px 9px 10px; min-height: 76px; background: none; }
body.concept.duo .duo-cover .card-copy { min-width: 0; text-align: left; }
body.concept.duo .duo-cover .concept-cover-artist { display: block; color: #77777c; font: 500 11px/1.3 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: 0; margin-bottom: 5px; text-transform: none; }
body.concept.duo .duo-cover .song-title { display: block; font-size: 17px; line-height: 1.18; letter-spacing: -.035em; color: var(--duo-ink); font-weight: 650; }
body.concept.duo .duo-cover .play-chip { display: flex; align-items: center; justify-content: center; width: 37px; height: 37px; min-width: 37px; flex-basis: 37px; border: 1px solid #e2e2e5; color: var(--duo-red); background: #fff; border-radius: 50%; box-shadow: 0 2px 4px #33333306; font-size: 12px; }
body.concept.duo .duo-deck .duo-cover { width: 29%; flex: 0 0 29%; }
body.concept.duo .duo-deck .duo-cover-left { transform: translateY(20px) rotateY(13deg) rotateZ(-5deg); }
body.concept.duo .duo-deck .duo-cover-center { width: 33%; flex-basis: 33%; z-index: 2; transform: translateY(-4px); }
body.concept.duo .duo-deck .duo-cover-right { transform: translateY(20px) rotateY(-13deg) rotateZ(5deg); }
body.concept.duo .duo-deck .duo-cover:hover { transform: translateY(-7px) rotate(0); box-shadow: 0 30px 40px -22px #232b3d60; }
body.concept.duo .duo-hero-caption { position: relative; margin: 25px 0 0; font-size: 13px; font-weight: 500; color: #85858b; letter-spacing: -.01em; }
body.concept.duo .duo-cover.concept-selected { border-color: var(--duo-red); box-shadow: 0 0 0 1px var(--duo-red),0 20px 40px -23px #28283d66; }
body.concept.duo .duo-cover.concept-playing .play-chip { background: var(--duo-red); color: white; border-color: var(--duo-red); }
body.concept.duo .concept-equalizer { color: inherit; }

body.concept.duo .duo-chapter { padding: 110px 0; }
body.concept.duo .duo-section-heading,
body.concept.duo .concept-section-head { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 44px; }
body.concept.duo .duo-section-heading h2,
body.concept.duo .concept-section-head h2 { margin: 0; font-size: clamp(42px,4.65vw,68px); line-height: 1.035; letter-spacing: -.055em; font-weight: 650; color: var(--duo-ink); }
body.concept.duo .duo-section-heading > p,
body.concept.duo .concept-section-head > p { color: var(--duo-gray); font-size: 18px; line-height: 1.5; letter-spacing: -.02em; margin: 0 0 5px; max-width: 360px; }
body.concept.duo .duo-new { background: var(--duo-paper); }
body.concept.duo .duo-new-rail { display: flex; align-items: stretch; gap: 24px; padding: 8px max(56px,calc((100vw - 1200px)/2)) 36px; overflow: auto; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-padding-left: max(56px,calc((100vw - 1200px)/2)); }
body.concept.duo .duo-new-rail::-webkit-scrollbar { display: none; }
body.concept.duo .duo-new-cover { width: 310px; flex: 0 0 310px; scroll-snap-align: start; box-shadow: 0 12px 22px -21px #20263290; border-color: #e5e5e9; background: #fff; border-radius: 23px; padding: 12px; }
body.concept.duo .duo-new-cover:hover { transform: translateY(-5px); }
body.concept.duo .duo-new-cover .song-title { font-size: 20px; }
body.concept.duo .duo-new-cover .card-bottom { padding: 21px 6px 14px; min-height: 93px; }
body.concept.duo .duo-rail-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 0; }
body.concept.duo .duo-rail-controls { display: flex; gap: 10px; }
body.concept.duo .duo-mobile-scroll-status { display: none; }
body.concept.duo .duo-rail-controls button,
body.concept.duo .concept-rail-controls button { width: 44px; height: 44px; min-height: 44px; border: 0; border-radius: 50%; background: #e4e4e8; color: #505055; font-family: inherit; font-size: 20px; padding: 0; cursor: pointer; }
body.concept.duo .duo-rail-controls button:hover { background: #d5d5dc; }

body.concept.duo .duo-immersion { position: relative; width: 100%; min-height: min(900px,85vw); display: grid; align-items: end; overflow: hidden; color: #fff; }
body.concept.duo .duo-immersion-image { position: absolute; inset: -6% 0; width: 100%; height: 112%; object-fit: cover; object-position: 50% 44%; }
body.concept.duo .duo-immersion-wash { position: absolute; inset: 0; background: linear-gradient(90deg,#05081050,transparent 82%),linear-gradient(0deg,#070a15a6,transparent 70%); }
body.concept.duo .duo-immersion-copy { position: relative; z-index: 1; width: min(1200px,calc(100% - 112px)); margin-inline: auto; padding-block: 80px; }
body.concept.duo .duo-immersion .duo-eyebrow { color: #ffffffe0; }
body.concept.duo .duo-immersion h2 { color: #fff; margin: 0 0 28px; font-size: clamp(65px,8.4vw,122px); line-height: .96; letter-spacing: -.06em; font-weight: 650; }
body.concept.duo .duo-immersion p:not(.duo-eyebrow) { color: #ffffffe0; font-size: 20px; max-width: 355px; line-height: 1.5; margin: 0 0 29px; }
body.concept.duo .duo-button-white { background: #fff; color: #1d1d1f; }
body.concept.duo .duo-button-white:hover { background: #e7e7eb; color: #1d1d1f; }
body.concept.duo .duo-image-foot { position: absolute; bottom: 27px; right: 42px; font-size: 11px; letter-spacing: .02em; color: #ffffffb5; }

body.concept.duo .archive-section { width: min(1200px,calc(100% - 112px)); margin: 0 auto; padding: 110px 0 95px; border: 0; }
body.concept.duo .archive-header { display: block; margin-bottom: 26px; }
body.concept.duo .archive-heading { text-align: center; max-width: 780px; margin: 0 auto 55px; }
body.concept.duo .archive-heading .section-kicker { margin-bottom: 16px; }
body.concept.duo .archive-heading :is(h1,h2) { margin: 0 0 18px; max-width: none; font-size: clamp(40px,5.2vw,72px); line-height: 1.06; font-weight: 650; letter-spacing: -.055em; color: var(--duo-ink); }
body.concept.duo .archive-heading > p:last-child { max-width: 590px; margin-inline: auto; color: var(--duo-gray); font-size: 19px; line-height: 1.5; letter-spacing: -.02em; }
body.concept.duo .archive-controls { display: flex; flex-direction: column; align-items: stretch; gap: 21px; width: 100%; max-width: none; }
body.concept.duo .archive-filters { display: flex; flex-wrap: nowrap; gap: 7px; overflow-x: auto; padding: 3px 2px 12px; scrollbar-width: thin; border: 0; }
body.concept.duo .archive-filters button { flex: 0 0 auto; padding: 9px 16px; min-height: 44px; background: #f5f5f7; color: #616166; border: 0; border-radius: 50px; font-family: inherit; font-weight: 500; font-size: 12px; letter-spacing: 0; text-transform: none; white-space: nowrap; box-shadow: none; }
body.concept.duo .archive-filters button[aria-pressed="true"] { background: #1d1d1f; color: #fff; }
body.concept.duo .archive-search { align-self: center; position: relative; width: min(510px,100%); font-size: 13px; }
body.concept.duo .archive-search span { display: none; }
body.concept.duo .archive-search input { width: 100%; background: #f5f5f7; border: 1px solid #e7e7eb; border-radius: 15px; padding: 15px 20px; color: #1d1d1f; font: 400 15px/1.4 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }
body.concept.duo .archive-viewport { padding: 15px 3px 23px; margin-inline: -3px; }
body.concept.duo .archive-track { gap: 22px; align-items: stretch; }
body.concept.duo .archive-card { flex: 0 0 236px; width: 236px; padding: 8px; border: 1px solid #e3e3e8; background: #fff; border-radius: 19px; box-shadow: 0 5px 13px #18182704; transform: none; }
body.concept.duo .archive-card-cover { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 12px; object-fit: cover; object-position: center; }
body.concept.duo .archive-card-bottom { padding: 15px 5px 9px; min-height: 78px; }
body.concept.duo .archive-card-title { font: 600 16px/1.2 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.03em; color: #1d1d1f; }
body.concept.duo .archive-card .play-chip { min-width: 31px; flex-basis: 31px; width: 31px; height: 31px; background: #f5f5f7; border: 0; color: var(--duo-red); font-size: 10px; }
body.concept.duo .archive-card .concept-cover-artist { font: 500 10px/1.4 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; color: #8e8e93; text-transform: none; letter-spacing: 0; }
body.concept.duo .archive-footer { margin-top: 13px; border: 0; font-family: inherit; font-size: 12px; }
body.concept.duo .archive-scroll-status { color: #86868b; }
body.concept.duo .concept-rail-controls { display: flex; gap: 9px; align-items: center; }
body.concept.duo .concept-rail-controls [data-concept-grid] { width: auto; border-radius: 30px; padding: 0 17px; font-size: 12px; background: #f5f5f7; }
body.concept.duo .duo-grid-top { margin-bottom: 8px; }
body.concept.duo .duo-grid-top[hidden] { display: none; }
body.concept.duo .concept-grid-mode .archive-track { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
body.concept.duo .concept-grid-mode .archive-card { width: 100%; }
body.concept.duo .concept-grid-mode .archive-card[hidden] { display: none; }

body.concept.duo .concept-stories { padding: 105px 0; background: var(--duo-paper); }
body.concept.duo #song-stories { width: 100%; max-width: none; margin: 0; }
body.concept.duo .concept-stories > .concept-section-head { width: min(1200px,calc(100% - 112px)); margin-inline: auto; }
body.concept.duo #duo-story-rail { width: 100%; max-width: none; box-sizing: border-box; }
body.concept.duo .emotion-grid { display: flex; gap: 26px; padding: 0 max(56px,calc((100vw - 1200px)/2)) 16px; margin: 0; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: max(56px,calc((100vw - 1200px)/2)); scrollbar-width: none; }
body.concept.duo .emotion-grid::-webkit-scrollbar { display: none; }
body.concept.duo .emotion-card { flex: 0 0 min(680px,42vw); width: min(680px,42vw); height: auto; min-height: 0; aspect-ratio: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; transform: none; display: flex; flex-direction: column; align-items: stretch; }
body.concept.duo .emotion-card img { position: static; z-index: auto; display: block; flex: 0 0 auto; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; border-radius: 22px; }
body.concept.duo .emotion-card:hover img, body.concept.duo .emotion-card:focus-visible img { transform: none; }
body.concept.duo .emotion-card::before, body.concept.duo .emotion-card::after { display: none; }
body.concept.duo .emotion-card-copy { position: static; inset: auto; display: flex; flex: 0 0 auto; flex-direction: column; gap: 10px; width: 100%; max-width: 720px; padding: 22px 5px 10px; background: transparent; text-align: left; }
body.concept.duo .emotion-card-copy .emotion-card-title { max-width: none; margin: 0; color: #1d1d1f; font: 600 21px/1.3 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.025em; text-transform: none; }
body.concept.duo .emotion-card-copy .emotion-card-description { margin: 0; color: #6e6e73; font: 400 17px/1.55 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.015em; text-transform: none; }
body.concept.duo .duo-story-toolbar { display: flex; justify-content: flex-end; margin-top: 18px; }
body.concept.duo .duo-story-toolbar button:disabled { opacity: .35; cursor: default; }
body.concept.duo .duo-story-toolbar button:disabled:hover { transform: none; background: #e8e8ed; }
body.concept.duo .emotion-scroll-status { width: min(1200px,calc(100% - 112px)); margin: 15px auto 0; color: #86868b; }

body.concept.duo .concept-about { background: #fff; padding: 120px 0; margin: 0; border: 0; }
body.concept.duo .concept-about-inner { display: flex; flex-direction: column; gap: 0; }
body.concept.duo .concept-about-heading { text-align: center; margin: 0 0 54px; width: 100%; }
body.concept.duo .concept-about-heading h2 { font-size: clamp(56px,7.2vw,102px); font-weight: 650; letter-spacing: -.06em; line-height: 1; margin: 0; }
body.concept.duo .concept-about-caption { display: none; }
body.concept.duo .concept-about-photo { position: relative; width: 100%; padding: 0; margin: 0 0 51px; border: 0; border-radius: 26px; overflow: hidden; background: #f5f5f7; box-shadow: none; }
body.concept.duo .concept-about-photo img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; aspect-ratio: auto; border-radius: 0; }
body.concept.duo .concept-about-photo figcaption { position: static; padding: 14px 25px; color: #86868b; font-size: 11px; text-align: center; background: #f5f5f7; }
body.concept.duo .concept-about-copy { max-width: 750px; margin: auto; text-align: center; }
body.concept.duo .concept-about-copy h3 { font-size: 31px; font-weight: 650; letter-spacing: -.04em; margin: 0 0 17px; }
body.concept.duo .concept-about-copy p { margin: 0 0 25px; color: #6e6e73; font-size: 21px; line-height: 1.6; letter-spacing: -.025em; }

body.concept.duo .charts-section { display: block; width: 100%; margin: 0; padding: 100px max(56px,calc((100vw - 1200px)/2)); border: 0; border-radius: 0; background: var(--duo-paper); box-shadow: none; }
body.concept.duo .charts-section::before,body.concept.duo .charts-section::after { display: none; }
body.concept.duo #charts { width: 100%; }
body.concept.duo .charts-copy { display: block; max-width: none; padding: 0; margin: 0 0 38px; }
body.concept.duo .charts-copy :is(h1,h2) { font-size: clamp(43px,4.6vw,66px); font-weight: 650; line-height: 1.05; letter-spacing: -.05em; margin: 0 0 18px; color: #1d1d1f; }
body.concept.duo .charts-copy > p:not(.section-kicker) { max-width: 680px; font-family: inherit; font-size: 17px; color: #6e6e73; }
body.concept.duo .chart-switch {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 4px;
  width: min(820px,100%);
  max-width: 820px;
  margin-top: 28px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid #dedee3;
  border-radius: 18px;
  background: #e8e8ed;
  box-shadow: inset 0 1px 2px #1d1d1f08;
}
body.concept.duo .chart-switch button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #6e6e73;
  box-shadow: none;
  font: 500 13px/1.25 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  letter-spacing: -.01em;
  text-align: center;
  text-transform: none;
  white-space: nowrap;
}
body.concept.duo .chart-switch button:hover { background: #ffffff78; color: #3a3a3c; }
body.concept.duo .chart-switch button:focus-visible { outline: 2px solid var(--duo-red); outline-offset: -2px; }
body.concept.duo .chart-switch button[aria-pressed="true"] { background: #fff; color: #1d1d1f; box-shadow: 0 1px 4px #1d1d1f18,0 4px 14px #1d1d1f0a; }
body.concept.duo .chart-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 40px; max-height: none; overflow: visible; padding: 0; }
body.concept.duo .chart-row { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 16px 12px; min-height: 65px; border: 0; border-bottom: 1px solid #ddddE2; border-radius: 0; background: transparent; font-family: inherit; }
body.concept.duo .chart-row:hover { background: #eaeaec; }
body.concept.duo .chart-rank { color: #98989f; font: 500 13px/1.3 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; font-variant-numeric: tabular-nums; }
body.concept.duo .chart-title { color: #27272a; font-size: 16px; letter-spacing: -.02em; font-weight: 550; }
body.concept.duo .chart-kind { display: none; }
body.concept.duo .chart-row .play-chip { width: 29px; height: 29px; font-size: 10px; border: 0; background: #fff; color: var(--duo-red); }
body.concept.duo .chart-mobile-toggle { display: none; }

body.concept.duo .concept-journal { display: flex; flex-direction: column; padding: 120px 0; gap: 50px; }
body.concept.duo .concept-journal-copy { text-align: center; max-width: 750px; }
body.concept.duo .concept-journal h2 { font-size: clamp(52px,6.2vw,87px); line-height: 1.025; letter-spacing: -.06em; font-weight: 650; margin: 0 0 27px; }
body.concept.duo .concept-journal-copy > p:not(.concept-kicker) { font-size: 20px; line-height: 1.55; letter-spacing: -.025em; color: var(--duo-gray); margin: 0 auto 25px; max-width: 620px; }
body.concept.duo .concept-journal figure { width: 100%; margin: 0; padding: 0; border: 0; border-radius: 26px; overflow: hidden; box-shadow: none; }
body.concept.duo .concept-journal img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
body.concept.duo #original-pages { scroll-margin-top: 110px; }
body.concept.duo .duo-journal-gallery { width: 100%; min-width: 0; }
body.concept.duo .duo-journal-stage { width: 100%; aspect-ratio: 16 / 9; }
body.concept.duo .duo-journal-photo[hidden],
body.concept.duo .duo-journal-caption[hidden] { display: none; }
body.concept.duo .duo-journal-tabs { display: flex; align-items: stretch; justify-content: center; width: fit-content; max-width: 100%; margin: 30px auto 25px; padding: 5px; gap: 3px; border-radius: 40px; background: #f5f5f7; }
body.concept.duo .duo-journal-tabs button { min-height: 40px; padding: 10px 19px; border: 0; border-radius: 30px; background: transparent; color: #6e6e73; box-shadow: none; cursor: pointer; font: 500 13px/1.3 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.01em; text-transform: none; white-space: nowrap; transition: color .18s,background-color .18s; }
body.concept.duo .duo-journal-tabs button:hover { color: #1d1d1f; background: #e8e8ed; }
body.concept.duo .duo-journal-tabs button[aria-selected="true"] { color: #fff; background: #1d1d1f; }
body.concept.duo .duo-journal-tabs button:focus-visible,
body.concept.duo .duo-journal-caption:focus-visible { outline: 2px solid var(--duo-red); outline-offset: 4px; }
body.concept.duo .duo-journal-captions { min-height: 146px; max-width: 740px; margin-inline: auto; }
body.concept.duo .duo-journal-caption { text-align: center; border-radius: 8px; }
body.concept.duo .duo-journal-caption p { max-width: none; margin: 0; color: var(--duo-gray); font-size: 18px; line-height: 1.55; letter-spacing: -.018em; }
body.concept.duo .duo-journal-caption strong { color: var(--duo-ink); font-weight: 600; }
body.concept.duo .duo-journal-caption small { display: block; margin-top: 15px; color: #76767c; font-size: 11px; line-height: 1.5; }
@media (max-width: 700px) {
  body.concept.duo .duo-journal-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: min(420px,100%); margin-block: 23px; border-radius: 26px; }
  body.concept.duo .duo-journal-tabs button { min-height: 44px; padding-inline: 9px; font-size: 12px; }
  body.concept.duo .duo-journal-captions { min-height: 210px; padding-inline: 4px; }
  body.concept.duo .duo-journal-caption p { font-size: 16px; line-height: 1.55; }
}

body.concept.duo .duo-membership { background: #f5f5f7; }
body.concept.duo .duo-club-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); align-items: center; gap: 70px; background: linear-gradient(155deg,#fff,#eff0f3); border-radius: 32px; padding: 60px; box-shadow: 0 15px 50px #25293e06,inset 0 0 0 1px #fff; overflow: hidden; }
body.concept.duo .duo-club-art { position: relative; isolation: isolate; min-width: 0; height: 420px; overflow: hidden; border-radius: 25px; background: radial-gradient(circle at 50% 34%,#fff 0,#f3f3f6 48%,#e7e8ed 100%); }
body.concept.duo .duo-club-art img { position: absolute; display: block; width: 64%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; border: 7px solid #fff; border-radius: 18px; box-shadow: 0 18px 34px -16px #1d1d1f45; }
body.concept.duo .duo-club-art img:nth-child(1) { z-index: 1; top: 4%; left: 3%; transform: rotate(-7deg); }
body.concept.duo .duo-club-art img:nth-child(2) { z-index: 2; top: 13%; right: 1%; transform: rotate(8deg); }
body.concept.duo .duo-club-art img:nth-child(3) { z-index: 3; bottom: -10%; left: 18%; width: 66%; transform: rotate(-2deg); }
body.concept.duo .duo-club-copy { position: relative; z-index: 2; min-width: 0; }
body.concept.duo .duo-club-copy h2 { font-size: clamp(38px,4.15vw,61px); font-weight: 650; letter-spacing: -.05em; line-height: 1.07; margin: 0 0 23px; }
body.concept.duo .duo-club-copy > p:not(.duo-eyebrow) { font-size: 19px; line-height: 1.55; color: var(--duo-gray); margin: 0 0 24px; }
body.concept.duo .duo-club-price { display: block; margin: 15px 0 30px; color: #86868b; font-size: 11px; line-height: 1.5; }
body.concept.duo .duo-club-copy .duo-link { font-size: 13px; }

body.concept.duo .duo-film { padding: 110px 0 95px; background: #fff; }
body.concept.duo .duo-film-intro { margin-bottom: 55px; }
body.concept.duo .duo-film-intro :is(h1,h2) { margin: 0; color: var(--duo-ink); font-size: clamp(48px,5.8vw,80px); font-weight: 650; line-height: 1.03; letter-spacing: -.055em; }
body.concept.duo .duo-film-device { position: relative; isolation: isolate; width: min(1280px,calc(100% - 80px)); margin-inline: auto; padding: 11px; border: 2px solid #757574; border-radius: 56px; background: linear-gradient(145deg,#b0b0ab 0%,#3c3c3a 9%,#111 45%,#6b6b68 79%,#222 100%); box-shadow: 0 30px 55px -30px #15151766,0 2px 4px #0003,inset 0 0 0 2px #ddddda80; }
body.concept.duo .duo-film-device::before { content: ''; position: absolute; top: -5px; left: 19%; width: 9%; height: 3px; border-radius: 3px 3px 0 0; background: #646461; }
body.concept.duo .duo-film-screen { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); border: 2px solid #090909; border-radius: 43px; overflow: hidden; color: #f5f5f7; background: #202022; }
body.concept.duo .duo-film-screen::after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; left: calc(50% - 5px); width: 10px; background: linear-gradient(90deg,#0000,#0005,#ffffff08,#0000); pointer-events: none; }
body.concept.duo .duo-film-player { display: flex; flex-direction: column; min-width: 0; padding: 30px 34px 32px; background: linear-gradient(150deg,#232325,#18181a); }
body.concept.duo .duo-film-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 28px; color: #929297; font-size: 11px; }
body.concept.duo .duo-film-brand { display: inline-flex; align-items: center; gap: 8px; color: #ededf0; font-size: 12px; font-weight: 600; letter-spacing: .14em; white-space: nowrap; }
body.concept.duo .duo-film-brand > span { width: 5px; height: 5px; border-radius: 50%; background: #ee625b; }
body.concept.duo .duo-film-art { display: block; width: 100%; margin: auto 0; padding-block: 29px; }
body.concept.duo .duo-film-art img { display: block; width: 100%; height: auto; aspect-ratio: 1.18; object-fit: cover; object-position: 50% 43%; border: 1px solid #ffffff14; border-radius: 16px; }
body.concept.duo .duo-film-track { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
body.concept.duo .duo-film-track p { margin: 0 0 7px; color: #a4a4aa; font-size: 12px; }
body.concept.duo .duo-film-track h3 { margin: 0; color: #f5f5f7; font-size: clamp(27px,2.5vw,34px); font-weight: 600; line-height: 1.1; letter-spacing: -.035em; }
body.concept.duo .duo-film-play { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; padding: 0; border: 1px solid #ffffff18; border-radius: 50%; background: #f5f5f7; color: #202022; cursor: pointer; transition: background .2s,transform .2s; }
body.concept.duo .duo-film-play:hover { background: #fff; transform: scale(1.05); }
body.concept.duo .duo-film-play svg { width: 23px; height: 23px; fill: currentColor; }
body.concept.duo .duo-film-pause-icon { display: none; }
body.concept.duo .duo-film-play[aria-pressed="true"] .duo-film-play-icon { display: none; }
body.concept.duo .duo-film-play[aria-pressed="true"] .duo-film-pause-icon { display: block; }
body.concept.duo .duo-film-progress { --film-progress: 0%; }
body.concept.duo .duo-film-progress input { display: block; appearance: none; -webkit-appearance: none; width: 100%; height: 24px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
body.concept.duo .duo-film-progress input::-webkit-slider-runnable-track { height: 3px; border-radius: 4px; background: linear-gradient(to right,#ed6860 var(--film-progress),#525256 var(--film-progress)); }
body.concept.duo .duo-film-progress input::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 11px; height: 11px; margin-top: -4px; border: 0; border-radius: 50%; background: #f5f5f7; }
body.concept.duo .duo-film-progress input::-moz-range-track { height: 3px; border-radius: 4px; background: #525256; }
body.concept.duo .duo-film-progress input::-moz-range-progress { height: 3px; border-radius: 4px; background: #ed6860; }
body.concept.duo .duo-film-progress input::-moz-range-thumb { width: 11px; height: 11px; border: 0; border-radius: 50%; background: #f5f5f7; }
body.concept.duo .duo-film-progress input:disabled { cursor: default; opacity: .65; }
body.concept.duo .duo-film-progress > div { display: flex; justify-content: space-between; margin-top: 3px; color: #a4a4aa; font-size: 11px; font-variant-numeric: tabular-nums; }
body.concept.duo .duo-film-player-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 25px; padding-top: 20px; border-top: 1px solid #ffffff14; font-size: 11px; color: #a4a4aa; }
body.concept.duo .duo-film-player-footer a { color: #ececef; white-space: nowrap; }
body.concept.duo .duo-film-editorial { display: flex; flex-direction: column; min-width: 0; padding: 42px 42px 34px; background: linear-gradient(150deg,#303032,#272729); }
body.concept.duo .duo-film-label { margin: 0 0 15px; color: #b0b0b6; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
body.concept.duo .duo-film-pitch h3 { margin: 0 0 22px; color: #f5f5f7; font-size: clamp(30px,3.3vw,45px); font-weight: 600; line-height: 1.06; letter-spacing: -.04em; }
body.concept.duo .duo-film-pitch > p:not(.duo-film-label) { margin: 0 0 12px; color: #b8b8bf; font-size: 15px; line-height: 1.55; letter-spacing: -.01em; }
body.concept.duo .duo-film-screen a { text-decoration: none; }
body.concept.duo .duo-film-screen a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.concept.duo .duo-film-screen a > span { display: inline-block; margin-left: 7px; }
body.concept.duo .duo-film-inquiry { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; margin-top: 5px; color: #ff8d84; font-size: 14px; font-weight: 500; }
body.concept.duo .duo-film-lyrics { margin-top: 27px; padding-top: 27px; border-top: 1px solid #ffffff1f; }
body.concept.duo .duo-film-lyrics-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 19px; }
body.concept.duo .duo-film-lyrics-heading .duo-film-label { margin: 0; }
body.concept.duo .duo-film-lyrics-heading > span { font-size: 11px; color: #b0b0b6; }
body.concept.duo .duo-film-lyrics blockquote { margin: 0 0 22px; padding: 0; border: 0; background: transparent; font-size: clamp(21px,2.2vw,29px); font-weight: 500; font-style: normal; line-height: 1.5; letter-spacing: -.03em; color: #f5f5f7; }
body.concept.duo .duo-film-lyrics blockquote span { display: block; }
body.concept.duo .duo-film-lyrics blockquote span:nth-child(odd) { color: #a6a6ad; }
body.concept.duo .duo-film-lyrics > a { color: #d8d8de; font-size: 12px; }
body.concept.duo .duo-film-screen :is(a,button,input):focus-visible { outline: 2px solid #ff8d84; outline-offset: 5px; }
body.concept.duo .duo-film-footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 35px; }
body.concept.duo .duo-film-footer p { margin: 0; color: var(--duo-gray); font-size: 15px; }

body.concept.duo .concept-industry { background: #fff; padding: 115px 0; border: 0; }
body.concept.duo .concept-industry h2 { font-size: clamp(40px,4.4vw,62px); line-height: 1.06; font-weight: 650; letter-spacing: -.05em; }
body.concept.duo .concept-industry-copy { padding-top: 37px; }
body.concept.duo .concept-industry-copy p { font-size: 18px; color: var(--duo-gray); letter-spacing: -.02em; }
body.concept.duo .duo-closing { background: #10100f; color: #fff; }
body.concept.duo .duo-closing-scene { position: relative; display: grid; align-items: center; min-height: clamp(650px,56.25vw,1060px); overflow: hidden; isolation: isolate; }
body.concept.duo .duo-closing-media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
body.concept.duo .duo-closing-media img { position: absolute; top: -36px; left: 0; width: 100%; height: calc(100% + 72px); max-width: none; object-fit: cover; object-position: 50% 50%; transform: translate3d(0,var(--closing-pan,0px),0); }
body.concept.duo .duo-closing-wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#090908b3 0%,#09090870 27%,transparent 57%),linear-gradient(0deg,#10100f,transparent 25%); }
body.concept.duo .duo-closing-inner { width: min(1440px,calc(100% - 112px)); margin-inline: auto; padding-block: 90px; }
body.concept.duo .duo-closing-copy { width: 36%; max-width: 440px; }
body.concept.duo .duo-closing-overline { display: flex; align-items: center; gap: 15px; margin: 0 0 30px; color: #f1e4cd; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
body.concept.duo .duo-closing-overline::before { content: ""; display: block; width: 38px; height: 1px; flex: 0 0 38px; background: #d2b48d; }
body.concept.duo .duo-closing :is(h1,h2) { margin: 0 0 27px; color: #fff; font-size: clamp(52px,5.3vw,84px); font-weight: 600; line-height: 1.02; letter-spacing: -.055em; }
body.concept.duo .duo-closing-description { max-width: 330px; margin: 0; color: #eeece8; font-size: clamp(16px,1.25vw,20px); line-height: 1.6; letter-spacing: -.015em; }
body.concept.duo .duo-closing-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; margin-top: 34px; }
body.concept.duo .duo-closing-play { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 14px 21px; border: 0; border-radius: 50px; color: #20201f; background: #fff; font-size: 13px; font-weight: 600; letter-spacing: -.01em; cursor: pointer; transition: background .2s,transform .2s; }
body.concept.duo .duo-closing-play:hover { background: #e8e6e1; transform: translateY(-2px); }
body.concept.duo .duo-closing-play svg { width: 15px; height: 15px; fill: #ba493b; }
body.concept.duo .duo-closing-actions > a { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: 13px; text-decoration: none; }
body.concept.duo .duo-closing-actions > a:hover { text-decoration: underline; text-underline-offset: 5px; }
body.concept.duo .duo-closing-base { display: flex; align-items: center; justify-content: space-between; gap: 26px; width: min(1440px,calc(100% - 112px)); margin-inline: auto; padding: 28px 0 120px; border-top: 1px solid #ffffff20; color: #aaa9a5; font-size: 12px; }
body.concept.duo .duo-closing-base .site-brand { color: #f5f5f7; font-size: 16px; }
body.concept.duo .duo-closing-base > a:last-child { color: #aaa9a5; text-decoration: none; }
body.concept.duo .duo-closing-base > a:last-child:hover { color: #fff; }
body.concept.duo .duo-closing :is(a,button):focus-visible { outline: 2px solid #f1d0a3; outline-offset: 6px; }
body.concept.duo .duo-mobile-pan-indicator { display: none; }

body.concept.duo .bottom-nav { max-width: min(850px,calc(100% - 32px)); width: max-content; gap: 2px; padding: 8px; bottom: 17px; border: 1px solid #d8d8de88; border-radius: 50px; background: #ffffffda; box-shadow: 0 4px 26px #15152b14; backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4); }
body.concept.duo .bottom-nav :is(a,button) { font-family: inherit; font-size: 11px; letter-spacing: 0; text-transform: none; color: #6e6e73; padding: 10px 13px; border: 0; border-radius: 40px; background: transparent; min-height: 44px; }
body.concept.duo .bottom-nav a[aria-current] { color: #fff; background: #1d1d1f; }
body.concept.duo .bottom-nav :is(a,button):hover { color: #1d1d1f; background: #e7e7eb; }
body.concept.duo .bottom-nav-copyright { display: none; }
body.concept.duo .bottom-nav .bottom-legal { padding: 10px 13px; }
body.concept.duo .quick-player { bottom: 83px; border-radius: 21px; border-color: #dedee3aa; background: #fffffff2; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 8px 28px #20202516; }
body.concept.duo .quick-player :is(button,p,span,strong) { font-family: inherit; }
body.concept.duo .quick-player button { background: #f5f5f7; font-size: 12px; }
body.concept.duo .concept-about-dialog { background: #fff; }
body.concept.duo .song-modal { background: #fff; }
body.concept.duo .song-modal :is(h1,h2,h3,button) { font-family: inherit; }

@media (prefers-reduced-motion: no-preference) {
  body.concept.duo .duo-reveal { opacity: .25; transform: translateY(24px); transition: opacity .85s, transform .85s cubic-bezier(.2,.65,.3,1); }
  body.concept.duo .duo-reveal.is-in-view { opacity: 1; transform: none; }
}
@media (max-width: 1050px) {
  body.concept.duo .duo-width,body.concept.duo .concept-wrap { width: calc(100% - 64px); }
  body.concept.duo .duo-hero { padding-top: 57px; }
  body.concept.duo .duo-hero :is(h1,h2) { font-size: 83px; }
  body.concept.duo .duo-deck { gap: 18px; }
  body.concept.duo .duo-cover .song-title { font-size: 15px; }
  body.concept.duo .duo-new-rail,body.concept.duo .emotion-grid { padding-inline: 32px; scroll-padding-left: 32px; }
  body.concept.duo .emotion-card { width: 62vw; flex-basis: 62vw; }
  body.concept.duo .archive-section,body.concept.duo .concept-stories > .concept-section-head { width: calc(100% - 64px); }
  body.concept.duo .duo-immersion-copy { width: calc(100% - 80px); }
  body.concept.duo .charts-section { padding-inline: 32px; }
  body.concept.duo .concept-grid-mode .archive-track { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.concept.duo .duo-club-card { padding: 35px; gap: 40px; }
  body.concept.duo .duo-club-art { height: 330px; }
  body.concept.duo .duo-club-copy h2 { font-size: 41px; }
  body.concept.duo .duo-film-device { width: calc(100% - 48px); border-radius: 40px; padding: 8px; }
  body.concept.duo .duo-film-screen { border-radius: 30px; }
  body.concept.duo .duo-film-player { padding: 24px; }
  body.concept.duo .duo-film-editorial { padding: 30px 25px; }
  body.concept.duo .duo-film-pitch > p:not(.duo-film-label) { font-size: 14px; }
  body.concept.duo .duo-film-lyrics blockquote { font-size: 22px; }
  body.concept.duo .duo-closing-inner,body.concept.duo .duo-closing-base { width: calc(100% - 64px); }
  body.concept.duo .duo-closing-copy { width: 39%; }
  body.concept.duo .duo-closing :is(h1,h2) { font-size: clamp(43px,5.3vw,56px); }
}
@media (max-width: 700px) {
  body.concept.duo .duo-width,body.concept.duo .concept-wrap { width: calc(100% - 40px); }
  body.concept.duo .site-header { width: calc(100% - 24px); top: 9px; margin-top: 9px; }
  body.concept.duo .site-header-inner { min-height: 49px; padding: 7px 7px 7px 17px; }
  body.concept.duo .site-brand { font-size: 13px; letter-spacing: .06em; }
  body.concept.duo .site-membership-link { padding: 8px 14px; font-size: 11px; }
  body.concept.duo .duo-hero { padding: 58px 0 49px; }
  body.concept.duo .duo-hero .duo-eyebrow { font-size: 15px; margin-bottom: 20px; }
  body.concept.duo .duo-hero :is(h1,h2) { font-size: clamp(54px,11.9vw,76px); letter-spacing: -.065em; line-height: 1.015; }
  body.concept.duo .duo-hero-description { font-size: 17px; line-height: 1.5; margin: 20px 0 24px; }
  body.concept.duo .duo-hero-actions { gap: 19px; }
  body.concept.duo .duo-button { font-size: 13px; min-height: 44px; padding: 12px 17px; }
  body.concept.duo .duo-link { font-size: 13px; }
  body.concept.duo .duo-stage { width: 100%; margin-top: 38px; padding: 0 9px 18px; }
  body.concept.duo .duo-stage-floor { inset: 23% -4% -9%; }
  body.concept.duo .duo-deck { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); justify-content: stretch; align-items: center; gap: 6px; padding: 13px 0 24px; overflow: visible; perspective: 760px; }
  body.concept.duo .duo-deck .duo-cover { width: 100%; max-width: none; min-width: 0; flex-basis: auto; padding: 5px; border-radius: 12px; scroll-snap-align: none; }
  body.concept.duo .duo-deck .duo-cover-left { transform: translateY(8px) rotateY(9deg) rotateZ(-3deg); transform-origin: right center; }
  body.concept.duo .duo-deck .duo-cover-center { width: 100%; transform: translateY(-5px); order: initial; z-index: 2; }
  body.concept.duo .duo-deck .duo-cover-right { transform: translateY(8px) rotateY(-9deg) rotateZ(3deg); transform-origin: left center; }
  body.concept.duo .duo-deck .duo-cover:hover { transform: translateY(-4px) rotate(0); }
  body.concept.duo .duo-deck .concept-cover-art { border-radius: 8px; }
  body.concept.duo .duo-deck .song-title { font-size: clamp(10px,2.8vw,12px); line-height: 1.08; }
  body.concept.duo .duo-deck .concept-cover-artist { font-size: 7px; }
  body.concept.duo .duo-deck .card-bottom { min-height: 45px; padding: 8px 2px 3px; gap: 3px; }
  body.concept.duo .duo-deck .play-chip { width: 22px; height: 22px; min-width: 22px; flex-basis: 22px; font-size: 7px; }
  body.concept.duo .duo-hero-caption { margin-top: 0; padding-inline: 20px; font-size: 11px; }
  body.concept.duo .duo-chapter { padding: 70px 0; }
  body.concept.duo .duo-section-heading,body.concept.duo .concept-section-head { flex-direction: column; align-items: start; gap: 20px; margin-bottom: 30px; }
  body.concept.duo .duo-section-heading h2,body.concept.duo .concept-section-head h2 { font-size: 44px; }
  body.concept.duo .duo-section-heading > p,body.concept.duo .concept-section-head > p { font-size: 16px; }
  body.concept.duo .duo-eyebrow,body.concept.duo :is(.concept-kicker,.section-kicker) { font-size: 14px; margin-bottom: 14px; }
  body.concept.duo .duo-new-rail,body.concept.duo .emotion-grid { padding-inline: 20px; scroll-padding-left: 20px; gap: 16px; }
  body.concept.duo .duo-new-cover { width: 78vw; flex-basis: 78vw; max-width: 330px; padding: 10px; }
  body.concept.duo .duo-new-cover .song-title { font-size: 20px; }
  body.concept.duo .duo-rail-footer { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; align-items: center; }
  body.concept.duo .duo-rail-footer .duo-rail-controls { display: none; }
  body.concept.duo .duo-mobile-scroll-status { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 13px; width: 100%; color: #86868b; font-size: 9px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
  body.concept.duo .duo-mobile-scroll-line { position: relative; display: block; height: 1px; overflow: hidden; background: #1d1d1f26; }
  body.concept.duo .duo-mobile-scroll-line > span { position: absolute; inset: 0 auto 0 0; width: 20%; background: #1d1d1f; transition: left .18s ease; }
  body.concept.duo .duo-immersion { min-height: 630px; align-items: end; }
  body.concept.duo .duo-immersion-image { object-position: var(--duo-mobile-pan-position,14%) 50%; }
  body.concept.duo .duo-immersion-wash { background: linear-gradient(0deg,#05070fe8,transparent 86%); }
  body.concept.duo .duo-immersion-copy { width: calc(100% - 48px); padding-block: 55px 65px; }
  body.concept.duo .duo-immersion h2 { font-size: 71px; margin-bottom: 22px; }
  body.concept.duo .duo-immersion p:not(.duo-eyebrow) { font-size: 17px; }
  body.concept.duo .duo-image-foot { font-size: 10px; bottom: 43px; right: 25px; }
  body.concept.duo .duo-mobile-pan { touch-action: pan-y; -webkit-user-select: none; user-select: none; cursor: grab; }
  body.concept.duo .duo-mobile-pan.is-mobile-panning { cursor: grabbing; }
  body.concept.duo .duo-mobile-pan-indicator { position: absolute; z-index: 6; right: 24px; bottom: 14px; left: 24px; display: block; height: 22px; pointer-events: none; }
  body.concept.duo .duo-mobile-pan-indicator::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; border-radius: 99px; background: #ffffff4d; transform: translateY(-50%); }
  body.concept.duo .duo-mobile-pan-thumb { position: absolute; top: 50%; left: 50%; width: 28%; height: 3px; border-radius: 99px; background: #fff; box-shadow: 0 1px 8px #00000052; transform: translate(-50%,-50%); transition: left .14s ease; }
  body.concept.duo .duo-mobile-pan.is-mobile-panning .duo-mobile-pan-thumb { transition: none; }
  body.concept.duo .archive-section { width: calc(100% - 40px); padding: 75px 0 65px; }
  body.concept.duo .archive-heading { text-align: left; margin-bottom: 32px; }
  body.concept.duo .archive-heading :is(h1,h2) { font-size: 45px; }
  body.concept.duo .archive-heading > p:last-child { font-size: 17px; }
  body.concept.duo .archive-filters { margin-right: -20px; padding-right: 20px; }
  body.concept.duo .archive-filters button { padding: 8px 14px; font-size: 11px; }
  body.concept.duo .archive-card { flex-basis: 210px; width: 210px; }
  body.concept.duo .archive-footer { flex-wrap: wrap; gap: 20px; }
  body.concept.duo .archive-scroll-status { display: none; }
  body.concept.duo .concept-grid-mode .archive-track { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body.concept.duo .concept-grid-mode .archive-card-title { font-size: 13px; }
  body.concept.duo .concept-grid-mode .archive-card-bottom { gap: 6px; padding-inline: 1px; }
  body.concept.duo .concept-grid-mode .archive-card .play-chip { width: 27px; height: 27px; min-width: 27px; flex-basis: 27px; }
  body.concept.duo .concept-stories { padding: 70px 0 0; }
  body.concept.duo .concept-stories > .concept-section-head { width: calc(100% - 40px); }
  body.concept.duo .emotion-card { width: 86vw; flex-basis: 86vw; max-width: none; }
  body.concept.duo .emotion-card img { border-radius: 16px; object-position: var(--duo-story-focus,50% 50%); }
  body.concept.duo .emotion-card:nth-child(1) { --duo-story-focus: 55% 66%; }
  body.concept.duo .emotion-card:nth-child(2) { --duo-story-focus: 52% 52%; }
  body.concept.duo .emotion-card:nth-child(3) { --duo-story-focus: 61% 48%; }
  body.concept.duo .emotion-card:nth-child(4) { --duo-story-focus: 56% 48%; }
  body.concept.duo .emotion-card:nth-child(5) { --duo-story-focus: 52% 47%; }
  body.concept.duo .emotion-card:nth-child(6) { --duo-story-focus: 50% 44%; }
  body.concept.duo .emotion-card:nth-child(7) { --duo-story-focus: 48% 44%; }
  body.concept.duo .emotion-card:nth-child(8) { --duo-story-focus: 50% 45%; }
  body.concept.duo .emotion-card-copy { padding: 18px 2px 7px; gap: 8px; }
  body.concept.duo .emotion-card-copy .emotion-card-title { font-size: 20px; }
  body.concept.duo .emotion-card-copy .emotion-card-description { display: -webkit-box; min-height: 7.75em; overflow: hidden; font-size: 15px; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
  body.concept.duo .duo-story-toolbar { display: none; }
  body.concept.duo .emotion-scroll-status { box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px; width: 100%; margin: 0; padding: 15px 20px 24px; background: var(--duo-paper); color: #86868b; font-size: 9px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
  body.concept.duo .emotion-scroll-line { background: #1d1d1f26; }
  body.concept.duo .emotion-scroll-line span { width: 12.5%; background: #1d1d1f; }
  body.concept.duo .concept-about { padding: 80px 0; }
  body.concept.duo .concept-about-heading { margin-bottom: 34px; }
  body.concept.duo .concept-about-heading h2 { font-size: 57px; }
  body.concept.duo .concept-about-photo { width: calc(100% + 40px); margin: 0 -20px 32px; border-radius: 0; }
  body.concept.duo .concept-about-photo figcaption { font-size: 10px; padding: 12px 20px; }
  body.concept.duo .concept-about-copy p { font-size: 18px; line-height: 1.6; }
  body.concept.duo .concept-about-copy h3 { font-size: 26px; }
  body.concept.duo .charts-section { padding: 70px 20px; }
  body.concept.duo .charts-copy :is(h1,h2) { font-size: 43px; }
  body.concept.duo .chart-switch { grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; max-width: none; gap: 4px; padding: 4px; border-radius: 16px; overflow: visible; }
  body.concept.duo .chart-switch button { min-height: 49px; padding: 9px 8px; border-radius: 12px; font-size: 11px; white-space: normal; }
  body.concept.duo .chart-list { grid-template-columns: 1fr; }
  body.concept.duo .chart-list:not(.is-expanded) .chart-row:nth-child(n+11) { display: none; }
  body.concept.duo .chart-row { min-height: 54px; gap: 10px; padding: 11px 5px; }
  body.concept.duo .chart-title { font-size: 15px; }
  body.concept.duo .chart-mobile-toggle:not([hidden]) { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 50px; margin: 18px 0 0; padding: 7px 10px 7px 18px; border: 1px solid #dddde2; border-radius: 999px; background: #fff; color: #1d1d1f; box-shadow: 0 8px 24px #1d1d1f0a; cursor: pointer; font: 550 13px/1.2 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; letter-spacing: -.01em; }
  body.concept.duo .chart-mobile-toggle-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f1f1f3; color: var(--duo-red); font-size: 20px; font-weight: 300; line-height: 1; transition: transform .2s ease,background-color .2s ease; }
  body.concept.duo .chart-mobile-toggle[aria-expanded="true"] .chart-mobile-toggle-icon { transform: rotate(45deg); background: #e8e8ed; }
  body.concept.duo .concept-journal { padding: 80px 0; gap: 34px; }
  body.concept.duo .concept-journal h2 { font-size: 53px; }
  body.concept.duo .concept-journal-copy > p:not(.concept-kicker) { font-size: 17px; }
  body.concept.duo .concept-journal figure { width: 100%; margin-inline: 0; border-radius: 18px; }
  body.concept.duo .duo-club-card { display: flex; flex-direction: column; gap: 36px; padding: 35px 28px 48px; border-radius: 25px; }
  body.concept.duo .duo-club-art { width: min(360px,100%); height: 300px; margin-inline: auto; }
  body.concept.duo .duo-club-copy { width: 100%; text-align: center; }
  body.concept.duo .duo-club-copy h2 { font-size: 40px; }
  body.concept.duo .duo-club-copy > p:not(.duo-eyebrow) { font-size: 17px; }
  body.concept.duo .duo-club-price { font-size: 10px; margin-bottom: 24px; }
  body.concept.duo .duo-film { padding: 75px 0 65px; }
  body.concept.duo .duo-film-intro { margin-bottom: 32px; }
  body.concept.duo .duo-film-intro :is(h1,h2) { font-size: clamp(40px,8.8vw,57px); }
  body.concept.duo .duo-film-device { width: calc(100% - 20px); padding: 5px; border-width: 1px; border-radius: 24px; box-shadow: 0 18px 34px -25px #15151780,0 1px 3px #0003,inset 0 0 0 1px #ddddda70; }
  body.concept.duo .duo-film-device::before { top: -3px; height: 2px; }
  body.concept.duo .duo-film-screen { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 270px; border-width: 1px; border-radius: 19px; }
  body.concept.duo .duo-film-screen::after { display: block; left: calc(50% - 3px); width: 6px; }
  body.concept.duo .duo-film-player { padding: 13px 12px 14px; }
  body.concept.duo .duo-film-toolbar { min-height: 15px; gap: 5px; font-size: 7px; }
  body.concept.duo .duo-film-toolbar > span:last-child { display: none; }
  body.concept.duo .duo-film-brand { gap: 4px; font-size: 7px; letter-spacing: .1em; }
  body.concept.duo .duo-film-brand > span { width: 3px; height: 3px; }
  body.concept.duo .duo-film-art { padding-block: 10px 8px; }
  body.concept.duo .duo-film-art img { aspect-ratio: 1.28; border-radius: 8px; }
  body.concept.duo .duo-film-track { gap: 6px; margin-bottom: 5px; }
  body.concept.duo .duo-film-track p { margin-bottom: 2px; font-size: 7px; }
  body.concept.duo .duo-film-track h3 { font-size: 14px; }
  body.concept.duo .duo-film-play { width: 30px; height: 30px; flex-basis: 30px; }
  body.concept.duo .duo-film-play svg { width: 14px; height: 14px; }
  body.concept.duo .duo-film-progress input { height: 14px; }
  body.concept.duo .duo-film-progress input::-webkit-slider-thumb { width: 8px; height: 8px; margin-top: -3px; }
  body.concept.duo .duo-film-progress > div { margin-top: 0; font-size: 7px; }
  body.concept.duo .duo-film-player-footer { display: none; }
  body.concept.duo .duo-film-editorial { justify-content: center; padding: 14px 12px 13px; border-top: 0; }
  body.concept.duo .duo-film-label { margin-bottom: 6px; font-size: 7px; letter-spacing: .07em; }
  body.concept.duo .duo-film-pitch h3 { margin-bottom: 8px; font-size: 19px; line-height: 1.02; }
  body.concept.duo .duo-film-pitch > p:not(.duo-film-label) { margin-bottom: 6px; font-size: 8px; line-height: 1.35; }
  body.concept.duo .duo-film-pitch > p:nth-of-type(3) { display: none; }
  body.concept.duo .duo-film-inquiry { min-height: 20px; margin-top: 0; gap: 4px; font-size: 8px; }
  body.concept.duo .duo-film-lyrics { margin-top: 8px; padding-top: 8px; }
  body.concept.duo .duo-film-lyrics-heading { gap: 5px; margin-bottom: 6px; }
  body.concept.duo .duo-film-lyrics-heading > span { font-size: 7px; }
  body.concept.duo .duo-film-lyrics blockquote { margin-bottom: 5px; font-size: 9px; line-height: 1.28; }
  body.concept.duo .duo-film-lyrics > a { font-size: 8px; }
  body.concept.duo .duo-film-footer { align-items: start; flex-direction: column; gap: 14px; padding-top: 26px; }
  body.concept.duo .duo-film-footer p { font-size: 14px; }
  body.concept.duo .concept-industry { padding: 80px 0; }
  body.concept.duo .concept-industry h2 { font-size: 43px; }
  body.concept.duo .concept-industry-copy { padding-top: 0; }
  body.concept.duo .concept-industry-copy p { font-size: 17px; }
  body.concept.duo .concept-industry-actions { gap: 23px; }
  body.concept.duo .duo-closing-scene { display: block; min-height: 0; padding-top: 108vw; }
  body.concept.duo .duo-closing-media { bottom: auto; height: 132vw; }
  body.concept.duo .duo-closing-media img { object-position: var(--duo-mobile-pan-position,50%) 50%; }
  body.concept.duo .duo-closing-wash { bottom: auto; height: 132vw; background: linear-gradient(0deg,#10100f 0%,#10100fbb 10%,transparent 40%); }
  body.concept.duo .duo-closing-scene .duo-mobile-pan-indicator { top: calc(100vw - 11px); bottom: auto; }
  body.concept.duo .duo-closing-inner { width: calc(100% - 48px); padding: 0 0 48px; }
  body.concept.duo .duo-closing-copy { width: 100%; max-width: none; }
  body.concept.duo .duo-closing-overline { margin-bottom: 24px; font-size: 10px; }
  body.concept.duo .duo-closing :is(h1,h2) { margin-bottom: 22px; font-size: clamp(52px,11vw,70px); }
  body.concept.duo .duo-closing-description { max-width: 380px; font-size: 16px; }
  body.concept.duo .duo-closing-actions { margin-top: 28px; gap: 25px; }
  body.concept.duo .duo-closing-base { width: calc(100% - 48px); flex-direction: column; align-items: start; gap: 18px; padding: 30px 0 118px; font-size: 11px; }
  body.concept.duo .bottom-nav { bottom: 12px; max-width: calc(100% - 20px); padding: 6px; gap: 0; justify-content: flex-start; overflow-x: auto; }
  body.concept.duo .bottom-nav :is(a,button) { min-height: 44px; font-size: 10px; padding: 9px 10px; }
  body.concept.duo .bottom-nav .bottom-legal { padding: 9px 10px; }
  body.concept.duo .quick-player { bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.duo) { scroll-behavior: auto; }
  body.concept.duo *,body.concept.duo *::before,body.concept.duo *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* The desktop catalog follows the curved, freely draggable reference gallery. */
.duo-catalog-explore, .duo-catalog-range { display: none; }
@media all {
  body.concept.duo .duo-catalog.duo-spatial-active {
    width: 100%; max-width: none; padding: 110px 0 75px;
    overflow: hidden; background: #fff;
  }
  body.concept.duo .duo-spatial-active .archive-header {
    width: min(1200px,calc(100% - 112px)); margin: 0 auto 0;
  }
  body.concept.duo .duo-spatial-active .archive-heading { display: block; }
  body.concept.duo .duo-spatial-active .archive-controls { gap: 18px; }
  body.concept.duo .duo-spatial-active .archive-search {
    flex: none; border: 0; padding: 0; min-height: 0;
  }
  body.concept.duo .duo-spatial-active .archive-viewport {
    position: relative; isolation: isolate; width: 100%; height: 660px;
    max-height: none; margin: 0; padding: 0;
    overflow: hidden; scroll-snap-type: none; perspective: 1200px;
    touch-action: pan-y pinch-zoom; cursor: grab; user-select: none;
    background: radial-gradient(ellipse at 50% 84%,#ebe9e6a8 0, #f7f6f43d 42%,#fff 73%);
  }
  body.concept.duo .duo-spatial-active .archive-viewport::after {
    content: ''; position: absolute; z-index: 100; inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg,#fff 0, #ffffff88 4%,transparent 16%,transparent 84%,#ffffff88 96%,#fff 100%);
  }
  body.concept.duo .duo-spatial-active .archive-viewport.is-spatial-dragging { cursor: grabbing; }
  body.concept.duo .duo-spatial-active .archive-track {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%;
    padding: 0; margin: 0; transform-style: preserve-3d; pointer-events: none;
  }
  body.concept.duo .duo-spatial-active .archive-card {
    position: absolute; top: 50%; left: 50%;
    display: flex; flex-direction: column; width: 216px; height: 284px;
    margin: -142px 0 0 -108px; padding: 7px; min-height: 0; min-width: 0;
    border: 1px solid #e0dedb; border-radius: 11px; overflow: hidden;
    background: #fff; box-shadow: 0 4px 16px #221e1609;
    transform-origin: center; transition: border-color .25s, box-shadow .25s; pointer-events: auto;
    backface-visibility: hidden; -webkit-user-drag: none; scroll-snap-align: none;
  }
  body.concept.duo .duo-spatial-active .archive-card[hidden] { display: none; }
  body.concept.duo .duo-spatial-active .archive-card .archive-card-cover {
    position: static; display: block; flex: 0 0 auto;
    width: 100%; height: 123px; aspect-ratio: 169 / 103;
    object-fit: cover; object-position: center; border-radius: 5px;
    filter: saturate(.72); transition: filter .35s;
  }
  body.concept.duo .duo-spatial-active .archive-card .archive-card-bottom {
    display: flex; flex: 1; flex-direction: column; align-items: stretch;
    justify-content: space-between; gap: 8px; min-height: 0; padding: 11px 3px 5px;
  }
  body.concept.duo .duo-spatial-active .archive-card .archive-card-bottom > span:first-child {
    display: flex; flex: 1; flex-direction: column-reverse;
    justify-content: space-between; align-items: flex-start; gap: 10px;
  }
  body.concept.duo .duo-spatial-active .archive-card .archive-card-title {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden; color: #262323; font: 400 22px/1.09 Georgia,'Times New Roman',serif;
    letter-spacing: -.055em; text-wrap: pretty;
  }
  body.concept.duo .duo-spatial-active .archive-card .concept-cover-artist {
    color: #85817b; font: 400 10px/1.3 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
    letter-spacing: 0; padding-bottom: 4px;
  }
  body.concept.duo .duo-spatial-active .archive-card .play-chip {
    position: absolute; right: 11px; bottom: 11px; width: 30px; height: 30px;
    min-width: 30px; margin: 0; background: #f7f5f3; color: var(--duo-red);
    border: 1px solid #eae6e2; font-size: 10px;
  }
  body.concept.duo .duo-spatial-active .archive-card:hover,
  body.concept.duo .duo-spatial-active .archive-card:focus-visible {
    border-color: #c9b5aa; box-shadow: 0 10px 30px #221e1618;
  }
  body.concept.duo .duo-spatial-active .archive-card:hover .archive-card-cover,
  body.concept.duo .duo-spatial-active .archive-card:focus-visible .archive-card-cover,
  body.concept.duo .duo-spatial-active .archive-card.concept-selected .archive-card-cover { filter: none; }
  body.concept.duo .duo-spatial-active .archive-card.concept-selected { border-color: var(--duo-red); }
  body.concept.duo .duo-spatial-active .archive-empty {
    position: absolute; z-index: 101; inset: 46% 0 auto; margin: 0; text-align: center;
  }
  body.concept.duo .duo-spatial-active .archive-footer {
    width: min(1200px,calc(100% - 112px)); margin: 0 auto;
    display: grid; grid-template-columns: 1fr auto 1fr;
    align-items: center; gap: 28px; padding: 10px 0 0;
  }
  body.concept.duo .duo-spatial-active [data-concept-rail],
  body.concept.duo .duo-spatial-active .archive-footer > span:first-of-type,
  body.concept.duo .duo-spatial-active .archive-scroll-status { display: none; }
  body.concept.duo .duo-spatial-active .archive-footer > span:last-of-type {
    justify-self: end; color: #86817a; font-size: 10px; letter-spacing: .1em;
  }
  body.concept.duo .duo-spatial-active .duo-catalog-explore {
    display: flex; flex-direction: column; align-items: center; gap: 14px;
    color: #85817b; font-size: 10px; font-weight: 500; letter-spacing: .09em;
    text-transform: uppercase; white-space: nowrap;
  }
  body.concept.duo .duo-spatial-active .duo-catalog-range {
    display: block; width: 240px; height: 18px; padding: 0; margin: 0;
    border: 0; outline-offset: 4px; background: transparent; cursor: ew-resize;
    appearance: none; -webkit-appearance: none; accent-color: var(--duo-red);
  }
  body.concept.duo .duo-spatial-active .duo-catalog-range::-webkit-slider-runnable-track {
    height: 1px; border-radius: 0; background: #d6d0ca;
  }
  body.concept.duo .duo-spatial-active .duo-catalog-range::-webkit-slider-thumb {
    width: 35px; height: 3px; margin-top: -1px; border: 0; border-radius: 2px;
    background: #c2473b; appearance: none; -webkit-appearance: none;
  }
  body.concept.duo .duo-spatial-active .duo-catalog-range::-moz-range-track { height: 1px; background: #d6d0ca; }
  body.concept.duo .duo-spatial-active .duo-catalog-range::-moz-range-thumb { width: 35px; height: 3px; border: 0; border-radius: 2px; background: #c2473b; }
}
body.concept.duo .duo-spatial-scaled .archive-viewport {
  height: calc(660px * var(--duo-spatial-scale));
  perspective: calc(1200px * var(--duo-spatial-scale));
}
body.concept.duo .duo-spatial-scaled .archive-track {
  inset: 0 auto auto 50%; width: var(--duo-spatial-width); height: 660px;
  transform: translateX(-50%) scale(var(--duo-spatial-scale));
  transform-origin: center top;
}
body.concept.duo .duo-catalog.duo-spatial-compact {
  padding-top: 72px; padding-bottom: 52px;
}
body.concept.duo .duo-spatial-compact .archive-header {
  width: calc(100% - 48px);
}
body.concept.duo .duo-spatial-compact .archive-footer {
  width: calc(100% - 48px); grid-template-columns: 1fr auto; gap: 18px;
}
body.concept.duo .duo-spatial-compact .duo-catalog-explore {
  grid-column: 1 / -1; grid-row: 1; gap: 4px;
}
body.concept.duo .duo-spatial-compact .duo-catalog-range {
  height: 44px;
}
body.concept.duo .duo-spatial-compact .archive-card .concept-cover-artist {
  font-size: calc(11px / var(--duo-spatial-scale));
}

body.concept.duo #legal-center-title { margin: 0; }
