/* Final I/US Signal Noir integration overrides. All rules are isolated under the custom asset namespace and loaded last. */
@layer layout,components,motion,utilities,print;

@layer layout {
  :root{
    --ius-brand-deep-red:#650711;
    --ius-brand-deep-red-hover:#850a18;
    --ius-brand-deep-red-border:#a20d22;
  }

  /* The utility row has no enclosing frame. The brand remains on the true horizontal centreline. */
  .site-header.ius-private-header .ius-header-utility{
    position:relative;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .site-header.ius-private-header .ius-private-brand{
    grid-column:2;
    justify-self:center;
    justify-content:center;
    margin:0;
    text-align:center;
  }
  .site-header.ius-private-header .ius-utility-actions{
    grid-column:3;
    justify-self:end;
    margin:0;
  }

  /* Eight equal desktop columns distribute the eight remaining links without an empty slot. */
  @media(min-width:1121px){
    .site-header.ius-private-header .ius-primary-nav{
      display:grid;
      grid-template-columns:repeat(8,minmax(0,1fr));
      gap:.2rem;
      width:100%;
      padding-inline:clamp(.6rem,1.4vw,1.35rem);
    }
    .site-header.ius-private-header .ius-primary-link{
      width:100%;
      min-width:0;
      padding-inline:.35rem;
      text-align:center;
    }
  }
  .ius-primary-link[data-nav-studio]{color:var(--text-strong)}

  /* One centred legal composition on every managed page. */
  .legal-footer__inner{
    max-width:1120px;
    margin-inline:auto;
    text-align:center;
  }
  .legal-footer__grid{
    grid-template-columns:minmax(0,1fr);
    max-width:980px;
    margin-inline:auto;
    gap:1.1rem;
    text-align:center;
  }
  .legal-footer__identity,
  .legal-footer__statements{
    max-width:920px;
    margin-inline:auto;
    justify-items:center;
    text-align:center;
  }
  .legal-footer__identity p,
  .legal-footer__statements p{
    max-width:900px;
    margin-inline:auto;
    text-align:center;
  }
  .legal-footer__bottom{
    width:100%;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
  }
  .legal-footer__copyright{width:100%;text-align:center}
  .legal-footer__links{width:100%;justify-content:center;text-align:center}

  /* The three live privacy-enhanced YouTube previews form one equal desktop row. */
  body[data-route="home"] .video-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:min(100%,1320px);
    max-width:1320px;
    margin-inline:auto;
  }
  body[data-route="home"] .video-card{width:100%;min-width:0}
  body[data-route="home"] .privacy-video{position:relative;aspect-ratio:16/9;overflow:hidden}
  body[data-route="home"] .privacy-video iframe{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
  }

  @media(max-width:980px){
    body[data-route="home"] .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
    body[data-route="home"] .video-card:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,452px);justify-self:center}
  }
  @media(max-width:680px){
    .site-header.ius-private-header .ius-header-utility{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
    .site-header.ius-private-header .ius-private-brand{max-width:min(48vw,15rem)}
    body[data-route="home"] .video-grid{grid-template-columns:minmax(0,1fr);max-width:560px}
    body[data-route="home"] .video-card:last-child:nth-child(odd){grid-column:1;width:100%}
  }
  @media(max-width:430px){
    .site-header.ius-private-header .ius-header-utility{padding-inline:.45rem}
    .site-header.ius-private-header .ius-private-brand strong{font-size:.7rem;letter-spacing:.075em}
  }
}

@layer components {
  /* The appearance/language controls retain only their individual button borders. */
  .site-header.ius-private-header .ius-header-button{box-shadow:none}

  /* Registered-brand deep red for every button-shaped action on supplied pages. */
  .button,
  button.button,
  a.button,
  .read-more,
  .store-link,
  .ius-header-button,
  .ius-cookie-button,
  .hero-actions .btn,
  .post-page-tools button,
  .slider-controls .arrow,
  .gallery-close,
  .gallery-arrow{
    border-color:var(--ius-brand-deep-red-border)!important;
    background:var(--ius-brand-deep-red)!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  .button:hover,.button:focus-visible,
  .read-more:hover,.read-more:focus-visible,
  .store-link:hover,.store-link:focus-visible,
  .ius-header-button:hover,.ius-header-button:focus-visible,
  .ius-cookie-button:hover,.ius-cookie-button:focus-visible,
  .hero-actions .btn:hover,.hero-actions .btn:focus-visible,
  .post-page-tools button:hover,.post-page-tools button:focus-visible,
  .slider-controls .arrow:hover,.slider-controls .arrow:focus-visible,
  .gallery-close:hover,.gallery-close:focus-visible,
  .gallery-arrow:hover,.gallery-arrow:focus-visible{
    border-color:var(--ius-brand-deep-red-border)!important;
    background:var(--ius-brand-deep-red-hover)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  /* Header appearance and language controls: transparent in every interaction state. */
  .site-header.ius-private-header .ius-header-button,
  .site-header.ius-private-header .ius-header-button:hover,
  .site-header.ius-private-header .ius-header-button:focus-visible,
  .site-header.ius-private-header .ius-header-button:active{
    background:transparent!important;
    background-image:none!important;
    color:var(--text-body)!important;
  }
  .site-header.ius-private-header .ius-header-button:hover,
  .site-header.ius-private-header .ius-header-button:focus-visible{
    color:var(--text-strong)!important;
  }

  /* The slot is the actual YouTube privacy-enhanced player preview, never a fake poster. */
  .privacy-video{background:#000}
  .privacy-video iframe{background:#000}
  .privacy-video-placeholder,.privacy-video-action{display:none!important}

  .ius-social-link[data-platform="sheetmusic"] svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
  }
}

@layer motion {
  @media(prefers-reduced-motion:reduce){
    .button,.read-more,.store-link,.ius-header-button,.ius-cookie-button,
    .hero-actions .btn,.post-page-tools button,.slider-controls .arrow,
    .gallery-close,.gallery-arrow{transition:none}
  }
}

@layer print {
  @media print{.legal-footer__inner{text-align:left}}
}

/* v1.5.2 focused revisions. */
@layer layout {
  /* The homepage update action remains at the same vertical position in every card row. */
  body[data-route="home"] .updates-section .text{height:100%}
  body[data-route="home"] .updates-section .body{flex:1 1 auto}
  body[data-route="home"] .updates-section .read-more{margin-top:auto}
  body[data-route="home"] .updates-section .share-links{margin-top:.75rem;padding-top:.35rem}

  /* Biography and Discography use the exact live homepage GLB visual, then a centred identity heading. */
  .data-page-main--official-header{padding-top:0}
  .data-page-main--official-header>.o-home-header{width:100%}
  .data-page-heading{
    max-width:1040px;
    margin:clamp(2rem,5vw,5rem) auto 0;
    padding:clamp(1.35rem,3.5vw,3rem);
    border:1px solid var(--border-standard);
    background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 78%,transparent),var(--surface-base));
    box-shadow:var(--shadow-raised);
    text-align:center;
  }
  .data-page-heading .migration-kicker,
  .data-page-heading .data-page-title,
  .data-page-heading .data-page-deck,
  .data-page-heading .data-page-status{margin-inline:auto;text-align:center}
  .data-page-heading .data-page-tools{justify-content:center}

  /* The Music videos section has only its centred label and title. */
  body[data-route="home"] .video-section-head-compact{max-width:920px}
  body[data-route="home"] .video-kicker-centred{display:block;width:100%;text-align:center}
}

@layer components {
  /* Appearance and language controls are completely unframed and transparent. */
  .site-header.ius-private-header .ius-header-button,
  .site-header.ius-private-header .ius-header-button:hover,
  .site-header.ius-private-header .ius-header-button:focus-visible,
  .site-header.ius-private-header .ius-header-button:active{
    border:0!important;
    border-color:transparent!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }

  .main-page-button{white-space:nowrap}
}

@layer print {
  @media print{
    .data-page-main--official-header>.o-home-header{display:none!important}
    .data-page-heading{border:0;box-shadow:none;padding:0;text-align:left}
  }
}

/* v1.5.5 navigation correction: restore the compact centred Signal Noir header composition. */
@layer layout {
  .site-header.ius-private-header .ius-header-utility,
  .site-header.ius-private-header .ius-nav-shell{
    width:min(calc(100% - clamp(1rem,4vw,4rem)),1280px);
    margin-inline:auto;
  }

  @media(min-width:1121px){
    .site-header.ius-private-header .ius-primary-link{
      width:max-content;
      max-width:100%;
      justify-self:center;
      padding-inline:clamp(.55rem,.85vw,.9rem);
    }
  }
}

@layer components {
  .site-header.ius-private-header .ius-primary-link.is-active,
  .site-header.ius-private-header .ius-primary-link[aria-current="page"]{
    border-color:transparent;
    background:transparent;
    box-shadow:inset 0 -2px 0 var(--accent-fill);
    color:var(--text-strong);
  }
  .site-header.ius-private-header .ius-primary-link:hover,
  .site-header.ius-private-header .ius-primary-link:focus-visible{
    border-color:transparent;
    background:transparent;
    box-shadow:inset 0 -1px 0 var(--border-emphasis);
  }
}

/* v1.5.9 definitive header and footer correction.
   There are no reserved navigation columns and no left-aligned mobile scrollers. */
@layer layout {
  .site-header.ius-private-header .ius-private-brand [data-brand-descriptor]{display:none!important}

  .site-header.ius-private-header .ius-header-utility,
  .site-header.ius-private-header .ius-nav-shell{
    width:min(calc(100% - clamp(1rem,4vw,4rem)),1280px);
    margin-inline:auto;
  }

  .site-header.ius-private-header .ius-primary-nav,
  .site-header.ius-private-header .ius-social-nav{
    overflow:visible;
    overscroll-behavior:auto;
    scroll-snap-type:none;
    scrollbar-width:auto;
    mask-image:none;
    -webkit-mask-image:none;
  }

  .site-header.ius-private-header .ius-primary-nav{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    justify-content:stretch;
    justify-items:stretch;
    gap:.2rem;
    width:100%;
    padding-inline:clamp(.6rem,1.4vw,1.35rem);
  }
  .site-header.ius-private-header .ius-primary-link,
  .site-header.ius-private-header .ius-primary-link[data-nav-studio]{
    grid-column:auto;
    width:100%;
    min-width:0;
    justify-self:stretch;
    padding-inline:.35rem;
    text-align:center;
  }

  .site-header.ius-private-header .ius-social-nav{
    display:grid;
    grid-template-columns:repeat(10,minmax(0,38px));
    justify-content:center;
    justify-items:center;
    gap:clamp(.18rem,.65vw,.55rem);
  }

  .footer-template-note{
    display:grid;
    justify-items:center;
    gap:.55rem;
    width:100%;
    margin-top:1.35rem;
    padding-top:1.2rem;
    border-top:1px solid var(--border-subtle);
    text-align:center;
  }
  .footer-template-note p{
    max-width:760px;
    margin:0 auto;
    color:var(--text-muted);
    text-align:center;
  }
  .footer-template-note strong{color:var(--text-strong)}
  .footer-template-note a{
    color:var(--accent-text);
    font-family:var(--font-mono);
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    text-underline-offset:.28em;
  }
  html:not([lang^="ja"]) .footer-template-note [lang="ja"],
  html[lang^="ja"] .footer-template-note [lang="en"]{display:none}

  @media(max-width:719px){
    :root{--private-header-space:170px;--private-header-h:170px}
    .site-header.ius-private-header .ius-primary-nav{
      grid-template-columns:repeat(4,minmax(0,1fr));
      grid-auto-rows:minmax(34px,auto);
      gap:.18rem .12rem;
      min-height:76px;
      padding:.28rem .35rem;
    }
    .site-header.ius-private-header .ius-primary-link{
      min-height:34px;
      padding-inline:.18rem;
      font-size:clamp(.46rem,2.15vw,.57rem);
      letter-spacing:.075em;
    }
    .site-header.ius-private-header .ius-social-nav{
      grid-template-columns:repeat(10,minmax(0,1fr));
      gap:0;
      min-height:40px;
      padding:.2rem .25rem;
    }
    .site-header.ius-private-header .ius-social-link,
    .site-header.ius-private-header.is-condensed .ius-social-link{
      width:min(32px,100%);
      height:34px;
      min-width:0;
      max-width:32px;
      justify-self:center;
    }
    .site-header.ius-private-header .ius-social-link svg{width:17px;height:17px}
  }

  @media(max-height:520px) and (orientation:landscape){
    :root{--private-header-space:112px;--private-header-h:112px}
    .site-header.ius-private-header .ius-primary-nav{
      grid-template-columns:repeat(8,minmax(0,1fr));
      grid-auto-rows:minmax(32px,auto);
      min-height:38px;
      padding:.15rem .35rem;
    }
    .site-header.ius-private-header .ius-social-nav{
      grid-template-columns:repeat(10,minmax(0,34px));
      min-height:34px;
      padding:.08rem .25rem;
    }
  }
}
