/* Crimson / cyan × REborn. All changes live outside the captured source. */
:root { --blend-red:#ff3448; --blend-cyan:#7ae2ef; --blend-black:#090a0c; }
html { scroll-behavior:smooth; }
body, .cp-site { background:var(--blend-black); }
.cp-site { --cinema-accent:#ff6675; --cinema-bg:#090a0c; --cinema-surface:#111316; --cp-accent:#ff3448; }
::selection { background:#ff3448; color:white; }
.cp-site :focus-visible { outline:2px solid var(--blend-cyan); outline-offset:5px; }
.cp-site .cp-header, .cp-site .cp-home > .cp-header {
  width:calc(100% - 2 * var(--cp-gutter)); max-width:none; min-height:76px;
  padding:10px 0; margin:16px auto 0; border:0; border-bottom:1px solid #ffffff28;
  border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none;
}
.cp-site .cp-header [class*="wordmark"] strong { font-size:25px; letter-spacing:.07em; }
.cp-site .cp-header [class*="wordmark"] small { display:block; color:#a8b2b8; font-size:9px; letter-spacing:.25em; text-transform:uppercase; margin-top:6px; }
.cp-site .cp-header .reborn-header-join { border-radius:3px; background:#f03045; box-shadow:none; padding:13px 20px; }
.cp-site .cp-hero {
  min-height:min(900px,100svh); height:auto; padding:190px var(--cp-gutter) 44px;
  grid-template-columns:1.1fr 1fr; grid-template-rows:auto 1fr auto; gap:30px;
  background:#090a0c; border-bottom:1px solid #ffffff18;
}
.cp-hero::before { display:none; }
.cp-site .cp-hero-portrait {
  inset:108px 0 0 auto; width:66%; height:calc(100% - 108px); transform:none; mix-blend-mode:normal;
  z-index:-1; overflow:hidden; transition:none; background:url('/enhancement/artist-color.webp') center top/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%); mask-image:linear-gradient(90deg,transparent 0%,#000 38%);
}
.cp-site .cp-hero-portrait img {
  object-position:50% 15%; object-fit:cover; filter:none; mask-image:none; -webkit-mask-image:none;
}
.cp-site .cp-hero-light { z-index:0; inset:0; pointer-events:none; opacity:1; }
.cp-site .cp-hero-light span:first-child { position:absolute; left:auto; right:0; top:auto; bottom:16%; width:17%; height:2px; transform:none; background:#ff3b45; box-shadow:0 0 10px #ff3448,0 0 35px #ff344880; animation:none; }
.cp-site .cp-hero-light span:last-child { display:none; }
.blend-kicker { position:absolute; top:153px; left:var(--cp-gutter); color:#b2bcc2; font-size:10px; letter-spacing:.24em; font-weight:600; display:flex; align-items:center; gap:14px; }
.blend-kicker::before { content:''; width:24px; height:2px; background:var(--blend-red); box-shadow:0 0 14px #ff344866; }
.cp-site .cp-hero h1 { grid-area:1 / 1; max-width:850px; width:120%; font-size:clamp(76px,7.7vw,138px); letter-spacing:-.025em; line-height:1.015; transform:none; text-shadow:none; }
.cp-site .cp-hero h1 em { color:var(--blend-red); text-shadow:none; }
.cp-site .cp-hero-action { grid-area:2 / 1; align-self:end; max-width:440px; padding:12px 0 6px; }
.cp-site .cp-hero-action p { font-size:17px; color:#d2d7db; line-height:1.6; margin:0 0 26px; }
.cp-site .cp-button, .cp-site .fan-button, .cp-site .cp-home .cp-hero-action .cp-button { border-radius:3px; box-shadow:none; background:#e72f43; border:1px solid #ff687355; min-height:52px; }
.cp-site .cp-button:hover, .cp-site .fan-button:hover { background:#ff3d51; transform:translateY(-2px); }
.cp-site .reborn-button-outline, .cp-site .cp-home .cp-hero-action .reborn-button-outline { border:1px solid #a2b6bf65; background:#10151a66; }
.cp-site .reborn-button-outline:hover { background:#18252b; border-color:var(--blend-cyan); }
.cp-site .cp-hero-services { color:#aeb8be; margin-top:18px; font-size:11px; text-underline-offset:4px; }
.cp-site .cp-hero-down { grid-area:3 / 1 / 4 / 3; margin:10px 0 0; font-size:10px; letter-spacing:.12em; color:#b9c3c9; }
.cp-site .cp-hero-down > svg:first-child { width:39px; height:39px; border-color:#73828a70; }
.cp-site .cp-hero-motion { right:var(--cp-gutter); bottom:40px; border-radius:3px; font-size:10px; color:#bac5cb; }
.cp-site .cp-records { padding-block:35px 48px; background:linear-gradient(115deg,#101215,#0b0b0d 65%); display:grid; grid-template-columns:1fr 1fr; column-gap:42px; }
.cp-records .cp-section-rule { grid-column:1/-1; padding:0 0 25px; margin:0; }
.cp-records .cp-section-rule h2 { color:#91ced8; letter-spacing:.2em; font-size:10px; }
.cp-site .cp-record-row { grid-template-columns:26px 94px minmax(0,1fr) 44px; gap:18px; padding:22px 0; border-block:1px solid #ffffff19; }
.cp-site .cp-record-art { width:94px; height:94px; transform:none; border-radius:2px; box-shadow:none; }
.cp-site .cp-record-art img { border-radius:2px; transform:none; }
.cp-site .cp-record-number { color:#8fa1a9; }
.cp-site .cp-record-name a { font-size:clamp(19px,1.7vw,27px); line-height:1.2; }
.cp-site .cp-record-name span { color:#9cabb3; margin-top:9px; font-size:12px; }
.cp-records .cp-record-play { min-width:44px; width:44px; padding:0; justify-content:center; }
.cp-records .cp-record-play span,.cp-records .cp-record-play svg:last-child:not(:first-child) { display:none; }
.cp-records .cp-record-play svg:first-child { color:var(--blend-cyan); border-color:#70ccda50; }
.cp-site .cp-story { grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:24px 8%; padding:90px var(--cp-gutter); background:radial-gradient(ellipse at 100% 80%,#16292b55,transparent 55%),#111214; }
.cp-site .cp-story > .cp-label { display:block; max-width:none; grid-column:2; grid-row:1; align-self:end; color:var(--blend-cyan); letter-spacing:.2em; padding:42px 0 0; }
.cp-site .cp-story-image { grid-column:1; grid-row:1 / 3; aspect-ratio:1; height:auto; border-radius:0; transform:none; box-shadow:none; border:1px solid #ffffff12; background:url('/enhancement/artist-monochrome.webp') center/cover; }
.cp-site .cp-story-image img { aspect-ratio:1; width:100%; height:100%; border-radius:0; object-fit:cover; filter:none; transform:none; }
.cp-site .cp-story-image > span { border-radius:0; right:0; bottom:0; background:var(--blend-red); color:white; }
.cp-site .cp-story-title { grid-column:2; grid-row:2; padding:0 0 45px; align-self:start; }
.cp-site .cp-story-title h2 { font-size:clamp(48px,4.8vw,86px); max-width:10ch; line-height:1.08; }
.cp-site .cp-story-title p { max-width:37ch; color:#b5bec5; margin-block:25px; font-size:17px; line-height:1.75; }
.cp-site .cp-text-link { text-underline-offset:6px; }
.cp-site .cp-films { padding-block:86px; background:#090a0c; }
.cp-site .cp-films-heading h2 { font-size:clamp(55px,6.2vw,100px); line-height:1.05; }
.cp-site .cp-films-heading .cp-label { color:var(--blend-cyan); }
.cp-site .cp-film-tabs { border-bottom:1px solid #ffffff26; }
.cp-site .cp-film-tabs button { border-radius:0; background:transparent; color:#b8c2c9; box-shadow:none; border-bottom:2px solid transparent; }
.cp-site .cp-film-tabs button[aria-selected=true] { border-bottom-color:var(--blend-red); color:white; background:#ff344809; }
.cp-site .cp-film-tabs button span { color:var(--blend-red); }
.cp-site .cp-film-stage { border-radius:0; border:1px solid #ffffff18; box-shadow:none; }
.cp-site .cp-finder { background:radial-gradient(ellipse at 90% 100%,#10343a44,transparent 50%),#111316; border-block:1px solid #ffffff0f; }
.cp-site .cp-needs button { border-radius:3px; border-color:#7f9ca345; background:transparent; }
.cp-site .cp-needs button[aria-pressed=true] { color:#b5f5ff; background:#173039; border-color:#65c6d4; }
.cp-site .cp-need-result { border-top:1px solid #73c5d345; padding-top:40px; }
.cp-site .cp-need-result > img { border-radius:2px; transform:none; box-shadow:none; }
.cp-site .cp-need-result .cp-label { color:var(--blend-cyan); }
.cp-site .cp-together { background:linear-gradient(110deg,#211014,#0d1014 75%); border-block:1px solid #ffffff15; }
.cp-site .cp-together blockquote { color:#f3efed; }
.cp-site .cp-home-signup { background:radial-gradient(ellipse at 5% 85%,#55212c38,transparent 50%),#0b0d10; }
.cp-site .fan-signup { border-radius:0; }
.cp-site .fan-email-row input { border-radius:3px; }
.cp-site .cp-footer { border-top:1px solid #ffffff24; background:#090a0c; }
.cp-site .cp-footer [class*="footerBrand"] > a { color:#eceff1; }
.cp-site :is(.cp-record-catalog-hero,.cp-journal__hero,.cp-artist-hero,.cp-data-hero) { background:radial-gradient(ellipse at 100% 0,#14394055,transparent 55%),radial-gradient(ellipse at 0 100%,#54172235,transparent 55%),#0b0d10; }
.cp-site :is(.cp-record-catalog-count:before,.cp-about-hero .cp-artist-portrait img,.cp-record-artwork img,.cp-join-portrait,.cp-follow-portrait) { border-radius:3px; transform:none; }
.cp-site .cp-record-catalog-count:before { box-shadow:-6px 6px 0 #7ae2ef14,6px -6px 0 #ff344819; }
.cp-site .cp-catalog .cp-record-list > li > a:hover { background:linear-gradient(90deg,#ff34480a,#7ae2ef0a); }
.cp-site .cp-join-portrait img { object-position:center; }
.preview-form-note { color:#96a6af; font:11px/1.5 system-ui,sans-serif; padding-top:16px; }
.preview-switch { position:fixed; z-index:9999; bottom:12px; left:12px; display:flex; align-items:center; gap:14px; padding:10px 13px; background:#0b1115ed; border:1px solid #8ea6b34d; color:#a4b5bf; box-shadow:0 5px 20px #0006; font:9px/1.4 system-ui,sans-serif; letter-spacing:.1em; border-radius:3px; backdrop-filter:blur(12px); }
.preview-switch span::before { content:''; display:inline-block; width:5px; height:5px; margin-right:7px; background:var(--blend-cyan); border-radius:50%; }
.preview-switch a { color:#eef5f7; font-size:10px; letter-spacing:0; text-decoration:none; }
@media(min-width:1800px) { .cp-site .cp-hero { min-height:950px; } }
@media(max-width:1100px) and (min-width:701px) {
  .cp-site .cp-hero { min-height:790px; padding-top:180px; }
  .cp-site .cp-hero h1 { font-size:8.5vw; }
  .cp-site .cp-hero-portrait { width:72%; }
  .cp-site .cp-records { column-gap:24px; }
  .cp-site .cp-record-row { grid-template-columns:20px 70px minmax(0,1fr) 38px; gap:10px; }
  .cp-site .cp-record-art { width:70px; height:70px; }
  .cp-site .cp-story { gap:24px 6%; }
}
@media(max-width:700px) {
  .cp-site .cp-header, .cp-site .cp-home > .cp-header { width:calc(100% - 40px); min-height:68px; margin-top:5px; padding:6px 0; }
  .cp-site .cp-header [class*="wordmark"] strong { font-size:20px; }
  .cp-site .cp-header [class*="wordmark"] small { font-size:7px; letter-spacing:.18em; }
  .cp-site .cp-header .reborn-header-join { display:none; }
  .cp-site .cp-hero { min-height:860px; display:flex; justify-content:flex-start; gap:22px; padding:420px 24px 32px; }
  .cp-site .cp-hero-portrait { inset:68px 0 auto; width:100%; height:440px; transform:none; mask-image:linear-gradient(0deg,transparent 0%,#000 36%); -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 36%); }
  .cp-site .cp-hero-portrait img { object-position:center 5%; }
  .cp-hero::before { background:linear-gradient(0deg,#090a0c 0%,#090a0c 42%,transparent 65%); }
  .blend-kicker { top:386px; left:24px; font-size:8px; letter-spacing:.2em; gap:10px; }
  .blend-kicker::before { width:18px; }
  .cp-site .cp-hero h1 { width:100%; font-size:clamp(48px,12.2vw,76px); line-height:1.06; margin:0; }
  .cp-site .cp-hero-action { width:100%; padding:0; align-self:stretch; }
  .cp-site .cp-hero-action p { font-size:14px; margin:0 0 20px; line-height:1.6; }
  .cp-site .reborn-hero-buttons { gap:9px; flex-wrap:wrap; }
  .cp-site .reborn-hero-buttons .cp-button { min-height:48px; padding:13px 17px; font-size:11px; gap:10px; }
  .cp-site .cp-hero-services { margin-top:14px; }
  .cp-site .cp-hero-down { margin-top:8px; font-size:8px; gap:10px; padding-right:0; }
  .cp-site .cp-hero-down span { display:none; }
  .cp-site .cp-hero-light span:first-child { width:23%; bottom:auto; top:356px; }
  .cp-site .cp-hero-motion { position:absolute; top:auto; left:auto; bottom:32px; right:24px; font-size:8px; padding:10px; }
  .cp-site .cp-records { display:block; padding:30px 24px 40px; }
  .cp-site .cp-record-row { grid-template-columns:20px 68px minmax(0,1fr) 36px; gap:10px; padding:22px 0; }
  .cp-site .cp-record-art { width:68px; height:68px; }
  .cp-site .cp-record-name a { font-size:18px; }
  .cp-site .cp-record-name span { font-size:10px; margin-top:6px; }
  .cp-records .cp-record-play { width:36px; min-width:36px; }
  .cp-records .cp-record-play svg:first-child { width:34px; height:34px; }
  .cp-site .cp-story { grid-template-columns:1fr; gap:28px; padding:48px 24px 58px; }
  .cp-site .cp-story > .cp-label { grid-column:1; grid-row:1; padding:0; font-size:9px; }
  .cp-site .cp-story-image { grid-column:1; grid-row:2; width:100%; max-height:none; }
  .cp-site .cp-story-title { grid-column:1; grid-row:3; padding:0; }
  .cp-site .cp-story-title h2 { font-size:clamp(44px,12vw,72px); max-width:11ch; }
  .cp-site .cp-story-title p { font-size:16px; margin-block:20px; }
  .cp-site .cp-films { padding-block:55px; }
  .cp-site .cp-films-heading h2 { font-size:clamp(47px,12vw,72px); }
  .cp-site .cp-film-tabs { gap:4px; }
  .cp-site .cp-film-tabs button { font-size:11px; padding-inline:8px; }
  .cp-site .cp-needs button { min-height:44px; }
  .cp-site .cp-need-result { padding-top:28px; }
  .preview-switch { padding:8px 10px; bottom:8px; left:8px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .cp-site *, .cp-site *::before, .cp-site *::after { transition:none!important; animation:none!important; }
}

/* Responsive poster layout, with the portrait depth layers defined below. */
.cp-site .cp-home .cp-hero {
  display:block; min-height:860px; height:min(960px,100svh);
  padding:0; isolation:isolate;
}
.cp-site .cp-home .cp-hero-portrait {
  top:108px; right:0; bottom:0; left:auto; width:70%; height:calc(100% - 108px);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
}
.cp-site .cp-home .cp-hero-portrait img { object-position:50% 15%; }
.cp-site .cp-home .blend-kicker { top:143px; z-index:3; }
.cp-site #cp-home-title {
  position:absolute; top:31%; left:var(--cp-gutter); right:auto; bottom:auto;
  width:calc(100% - 2 * var(--cp-gutter)); max-width:none; margin:0;
  font-family:var(--cp-display); font-size:clamp(100px,14.65vw,264px);
  line-height:.91; letter-spacing:-.028em; font-weight:400;
  color:#faf8f3; mix-blend-mode:normal; z-index:auto; transform:none;
  text-shadow:none; pointer-events:none;
}
.cp-site #cp-home-title > span { display:block; white-space:nowrap; line-height:inherit; }
.cp-site #cp-home-title em { display:inline; color:inherit; font-style:normal; text-shadow:none; }
.cp-site .cp-home .cp-hero-action {
  position:absolute; left:var(--cp-gutter); bottom:100px; width:auto;
  max-width:650px; padding:0; display:grid; grid-template-columns:1fr auto;
  align-items:center; gap:0 35px; z-index:3;
}
.cp-site .cp-home .cp-hero-action p { grid-row:1/3; margin:0; font-size:14px; line-height:1.55; }
.cp-site .cp-home .reborn-hero-buttons { margin:0; }
.cp-site .cp-home .cp-hero-services { grid-column:2; justify-self:start; margin-top:12px; }
.cp-site .cp-home .cp-hero-down { position:absolute; left:var(--cp-gutter); bottom:30px; margin:0; z-index:3; }
.cp-site .cp-home .cp-hero-light span:first-child { bottom:31%; width:24%; height:3px; opacity:1; }
.cp-site .cp-home .cp-hero-motion { bottom:30px; }

@media(min-width:1600px) {
  .cp-site .cp-home .cp-hero { min-height:clamp(980px,61vw,1320px); }
  .cp-site #cp-home-title { font-size:clamp(220px,14.4vw,300px); top:29%; }
}
@media(min-width:701px) and (max-width:1100px) {
  .cp-site .cp-home .cp-hero { min-height:790px; }
  .cp-site #cp-home-title { top:35%; font-size:14.6vw; }
  .cp-site .cp-home .cp-hero-action { bottom:110px; gap:0 22px; }
  .cp-site .cp-home .cp-hero-action p { font-size:12px; }
  .cp-site .cp-home .cp-hero-portrait { width:82%; }
}
@media(max-width:700px) {
  .cp-site .cp-home .cp-hero { height:auto; min-height:860px; padding:604px 24px 108px; }
  .cp-site .cp-home .cp-hero-portrait {
    top:74px; left:0; right:0; width:100%; height:530px;
    mask-image:linear-gradient(0deg,transparent 0%,#000 30%);
    -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 30%);
  }
  .cp-site .cp-home .cp-hero-portrait img { object-position:center top; }
  .cp-site .cp-home .blend-kicker { display:none; }
  .cp-site #cp-home-title {
    top:290px; left:22px; width:calc(100% - 44px); font-size:13.5vw;
    line-height:1; letter-spacing:-.025em;
  }
  .cp-site #cp-home-title > span:last-child { margin-top:4px; font-size:20vw; }
  .cp-site #cp-home-title em { display:block; margin-left:-2px; font-size:29.4vw; line-height:1.05; }
  .cp-site .cp-home .cp-hero-action { position:relative; inset:auto; display:block; width:100%; max-width:none; }
  .cp-site .cp-home .cp-hero-action p { margin-bottom:18px; font-size:13px; }
  .cp-site .cp-home .cp-hero-services { margin-top:14px; }
  .cp-site .cp-home .cp-hero-down { left:24px; bottom:46px; max-width:calc(100% - 150px); white-space:normal; line-height:1.5; }
  .cp-site .cp-home .cp-hero-down > svg:first-child { flex-shrink:0; }
  .cp-site .cp-home .cp-hero-motion { bottom:42px; right:24px; }
  .cp-site .cp-home .cp-hero-light span:first-child { top:563px; bottom:auto; width:31%; }
}
@media(max-width:360px) {
  .cp-site .cp-home .cp-hero { padding-top:556px; min-height:840px; }
  .cp-site .cp-home .cp-hero-portrait { height:488px; }
  .cp-site .cp-home .cp-hero-light span:first-child { top:530px; }
  .cp-site .cp-home .reborn-hero-buttons .cp-button { padding-inline:12px; }
}

/* Three real layers: photograph, STRUGGLE, unchanged portrait silhouette.
   The remaining words, including SOUND, sit above the silhouette. */
.cp-site .cp-home .cp-hero-portrait { z-index:0; pointer-events:none; }
.cp-site #cp-home-title { z-index:auto; mix-blend-mode:normal; color:#f6f2ed; isolation:auto; }
.cp-site #cp-home-title > span { position:static; }
.cp-site #cp-home-title .blend-the { position:relative; z-index:3; }
.cp-site #cp-home-title .blend-struggle { position:relative; z-index:1; }
.cp-site #cp-home-title > span:last-child { position:relative; z-index:3; }
.cp-site .cp-home .blend-hero-subject { z-index:2; background:none; }
.cp-site .cp-home .blend-hero-subject img {
  mask-image:url('/enhancement/portrait-silhouette.svg');
  -webkit-mask-image:url('/enhancement/portrait-silhouette.svg');
  mask-size:cover; -webkit-mask-size:cover;
  mask-position:50% 15%; -webkit-mask-position:50% 15%;
  mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat;
}
.cp-site .cp-home .cp-hero-action, .cp-site .cp-home .cp-hero-down,
.cp-site .cp-home .cp-hero-motion, .cp-site .cp-home .blend-kicker { z-index:4; }
.cp-site .cp-story-title h2 { max-width:12ch; }
@media(max-width:700px) {
  .cp-site .cp-home .blend-hero-subject img { mask-position:center top; -webkit-mask-position:center top; }
}
.cp-site #cp-home-title .blend-the,
.cp-site #cp-home-title .blend-struggle { display:inline; }
@media(max-width:700px) {
  /* Cross the face, where the silhouette is narrow, so STRUGGLE stays recognizable. */
  .cp-site #cp-home-title { top:170px; font-size:17.5vw; }
  .cp-site #cp-home-title > span:last-child { margin-top:100px; }
}
@media(max-width:360px) {
  .cp-site #cp-home-title { top:155px; }
  .cp-site #cp-home-title > span:last-child { margin-top:95px; }
}
