/* NOTO Re:Bloom brand and partner presentation refresh */
:root{
  --rb-brand-purple:#8e3fd1;
  --rb-brand-purple-dark:#6f2cac;
  --rb-brand-purple-soft:#f5ecff;
}

/* Keep the supplied project artwork on the home photograph, away from its caption. */
.nr-home-hero .hero-media{position:relative}
.nr-hero-brand-badge{
  position:absolute;
  z-index:7;
  top:18px;
  left:18px;
  display:grid;
  place-items:center;
  width:92px;
  min-height:108px;
  padding:10px 8px;
  border:1px solid rgba(142,63,209,.22);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(69,34,85,.18);
  transform:rotate(-3deg);
  pointer-events:none;
}
.nr-hero-brand-badge img{display:block;width:auto;max-width:70px;height:auto;max-height:88px}

/* Use both real logos in the collaboration lockup. */
.ishimo-collaboration-mark{gap:10px!important;min-height:330px!important;padding:28px!important}
.ishimo-collaboration-logo--ishimo{
  width:min(100%,300px)!important;
  height:auto!important;
  max-height:112px!important;
  object-fit:contain!important;
}
.ishimo-collaboration-logo--rebloom{
  width:auto!important;
  max-width:116px!important;
  height:auto!important;
  max-height:142px!important;
  object-fit:contain!important;
}
.ishimo-collaboration-mark small{margin:2px 0!important}

/* Subtle project branding behind the partner section. */
body.rb-unified .nr-sponsor-feature--spotlight{position:relative;isolation:isolate;overflow:hidden}
body.rb-unified .nr-sponsor-feature--spotlight::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:36px;
  right:clamp(24px,6vw,94px);
  width:118px;
  height:136px;
  background:url("noto-rebloom-logo.png") center/contain no-repeat;
  opacity:.075;
  transform:rotate(5deg);
  pointer-events:none;
}
body.rb-unified .nr-main-sponsor{
  box-shadow:0 20px 52px rgba(31,65,54,.1)!important;
}
body.rb-unified .nr-main-sponsor--gyakuten{
  box-shadow:0 20px 52px rgba(31,129,159,.12)!important;
}

/* Preserve the official complete Gyakuten Coaching lockup, including its arrow mark. */
body.rb-unified .nr-main-sponsor--gyakuten .nr-sponsor-identity{min-width:0}
body.rb-unified .nr-sponsor-logo--gyakuten{
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:136px!important;
  padding:26px 24px!important;
  overflow:hidden!important;
}
body.rb-unified .nr-sponsor-logo--gyakuten .gyakuten-official-logo{
  display:block!important;
  width:min(100%,228px)!important;
  max-width:228px!important;
  height:auto!important;
  max-height:70px!important;
  margin-inline:auto!important;
  object-fit:contain!important;
}

.story-step--future{
  border-color:rgba(142,63,209,.28)!important;
  background:linear-gradient(155deg,#fff 0%,var(--rb-brand-purple-soft) 100%)!important;
  box-shadow:0 16px 34px rgba(111,44,172,.12)!important;
}
.story-step--future .story-dot{
  background:var(--rb-brand-purple)!important;
  color:#fff!important;
}

/* Give every supporting organization equal, factual presentation. */
body.rb-unified #partner-network-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:20px!important;
}
body.rb-unified .industry-grid--partners .industry-partner-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
body.rb-unified .industry-grid--partners .industry-partner-card>p:not(.industry-partner-role){
  max-width:none;
}
.industry-partner-logo{
  box-sizing:border-box;
  height:124px;
  min-height:124px;
  flex:0 0 124px;
  overflow:hidden;
}
.industry-partner--ishimo .industry-partner-logo img{
  width:min(100%,250px)!important;
  max-height:86px!important;
}
.industry-partner-logo--hamonz img{
  width:min(100%,250px)!important;
  max-height:78px!important;
}
.industry-partner-logo--zukan img{
  width:190px!important;
  max-width:none!important;
  max-height:none!important;
  transform:scale(1.55);
}
.industry-partner-role{
  max-width:none!important;
  margin-top:14px!important;
  padding:13px 14px!important;
  border-left:4px solid var(--rb-brand-purple);
  border-radius:0 12px 12px 0;
  background:var(--rb-brand-purple-soft);
  color:#334c43!important;
}
.industry-partner-role strong{
  display:block;
  margin-bottom:3px;
  color:var(--rb-brand-purple-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.industry-partner-card .text-link{
  margin-top:auto!important;
  padding-top:16px;
}


@media(max-width:900px){
  body.rb-unified #partner-network-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:820px){
  .nr-hero-brand-badge{top:14px;left:14px;width:82px;min-height:96px;border-radius:18px}
  .nr-hero-brand-badge img{max-width:62px;max-height:78px}
  .ishimo-collaboration-mark{min-height:300px!important}
}

@media(max-width:700px){
  body.rb-unified #partner-network-grid{grid-template-columns:1fr!important}
}

@media(max-width:600px){
  .nr-hero-brand-badge{top:10px;left:10px;width:68px;min-height:80px;padding:7px 6px;border-radius:15px}
  .nr-hero-brand-badge img{max-width:50px;max-height:64px}
  .ishimo-collaboration-mark{min-height:270px!important;padding:22px!important}
  .ishimo-collaboration-logo--ishimo{max-width:260px!important;max-height:96px!important}
  .ishimo-collaboration-logo--rebloom{max-width:94px!important;max-height:112px!important}
  body.rb-unified .nr-sponsor-feature--spotlight::after{top:24px;right:8px;width:84px;height:98px;opacity:.055}
  body.rb-unified .nr-sponsor-logo--gyakuten{min-height:112px!important;padding:22px 18px!important}
  body.rb-unified .nr-sponsor-logo--gyakuten .gyakuten-official-logo{width:min(100%,210px)!important;max-width:210px!important;max-height:60px!important}
  .industry-partner-logo--hamonz img{max-width:220px!important;max-height:68px!important}
  .industry-partner-logo--zukan img{width:170px!important;transform:scale(1.55)}
  
  .industry-partner-logo{height:112px;min-height:112px;flex-basis:112px}
}

@media(max-width:360px){
  body.rb-unified .nr-sponsor-logo--gyakuten .gyakuten-official-logo{width:min(100%,188px)!important;max-width:188px!important}
}
