/* NOTO Re:Bloom — premium visual system / 2026-09-28
   Scope: .rb-premium only. Keeps existing HTML/JS behavior intact. */

.rb-premium{
  --rr-ink:#12392f;
  --rr-ink-strong:#082f27;
  --rr-green:#145844;
  --rr-green-2:#1d6a52;
  --rr-green-deep:#0c4436;
  --rr-sage:#dfead9;
  --rr-sage-2:#eef4e9;
  --rr-cream:#fbf7ec;
  --rr-cream-2:#f5f0e2;
  --rr-paper:#fffdf8;
  --rr-yellow:#f4cb4d;
  --rr-yellow-2:#ffe79a;
  --rr-line:rgba(18,57,47,.13);
  --rr-muted:#5d6e67;
  --rr-shadow:0 16px 45px rgba(24,59,48,.09);
  --rr-shadow-soft:0 8px 24px rgba(24,59,48,.07);
  --rr-radius-xl:34px;
  --rr-radius-lg:26px;
  --rr-radius-md:18px;
  --rr-display:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  --rr-body:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  background:
    radial-gradient(circle at 9% 4%,rgba(244,203,77,.10),transparent 22%),
    radial-gradient(circle at 93% 14%,rgba(117,164,112,.10),transparent 23%),
    var(--rr-cream);
  color:var(--rr-ink);
  font-family:var(--rr-body)!important;
}
.rb-premium::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-5;
  pointer-events:none;
  opacity:.38;
  background:
    linear-gradient(180deg,rgba(255,255,255,.26),transparent 40%),
    radial-gradient(circle at 25% 70%,rgba(214,230,205,.45),transparent 30%);
}
.rb-premium *{box-sizing:border-box}
.rb-premium :where(h1,h2,h3,h4,.brand b){
  font-family:var(--rr-display)!important;
  color:var(--rr-ink-strong);
  letter-spacing:-.035em;
}
.rb-premium :where(h1,h2,h3,h4){font-weight:900!important}
.rb-premium :where(p,li,dd,dt,figcaption){color:var(--rr-muted);line-height:1.82}
.rb-premium :where(a){text-underline-offset:.18em}
.rb-premium .container,
.rb-premium .visual-mosaic-wrap,
.rb-premium .rb-illustration-inner,
.rb-premium .nr-section-head{
  width:min(1160px,calc(100% - 42px));
  margin-inline:auto;
}

/* ---------- HEADER ---------- */
.rb-premium .site-header{
  position:sticky!important;
  top:12px!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:1200!important;
  width:min(1180px,calc(100% - 30px))!important;
  min-height:66px;
  margin:12px auto 0!important;
  padding:9px 12px 9px 15px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  overflow:visible!important;
  background:rgba(255,253,248,.96)!important;
  border:1px solid rgba(18,57,47,.10)!important;
  border-radius:22px!important;
  box-shadow:0 10px 32px rgba(21,61,49,.10)!important;
  backdrop-filter:blur(18px);
}
.rb-premium .brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:190px;
  color:var(--rr-ink-strong)!important;
}
.rb-premium .brand-mark{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px;
  border-radius:50%!important;
  border:1px solid rgba(18,57,47,.14)!important;
  background:
    radial-gradient(circle at 35% 30%,#fff 0 24%,transparent 25%),
    linear-gradient(145deg,#e8f1df,#fff7c7)!important;
  box-shadow:none!important;
}
.rb-premium .brand b{
  display:block;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.05;
  color:var(--rr-ink-strong)!important;
}
.rb-premium .brand small{
  display:block;
  margin-top:4px;
  font-size:8.5px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  color:#6c7b75!important;
}
.rb-premium .site-nav{
  display:flex!important;
  align-items:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  justify-content:center!important;
  gap:2px!important;
  flex:1 1 auto!important;
  min-width:0;
}
.rb-premium .site-nav a{
  position:relative;
  padding:9px 8px!important;
  border-radius:999px!important;
  color:#244f43!important;
  background:transparent!important;
  font-family:var(--rr-body)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.2;
  white-space:nowrap!important;
  opacity:1!important;
}
.rb-premium .site-nav a:hover{
  color:var(--rr-green-deep)!important;
  background:#edf4e9!important;
  transform:none!important;
}
.rb-premium .site-nav a[aria-current="page"]{
  color:var(--rr-green-deep)!important;
  background:#e4efe0!important;
}
.rb-premium .site-nav a::after{
  left:28%!important;
  right:28%!important;
  bottom:2px!important;
  height:2px!important;
  background:var(--rr-green-2)!important;
}
.rb-premium .header-actions{
  display:flex!important;
  align-items:center!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 auto;
}
.rb-premium .header-actions .btn,
.rb-premium .header-actions a{
  min-height:42px!important;
  padding:0 17px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--rr-yellow)!important;
  color:#173e32!important;
  font-family:var(--rr-body)!important;
  font-size:11.5px!important;
  font-weight:900!important;
  box-shadow:0 7px 18px rgba(133,101,14,.17)!important;
}
.rb-premium .header-actions .btn:hover,
.rb-premium .header-actions a:hover{
  background:#ffd95f!important;
  color:#102f27!important;
  transform:translateY(-1px)!important;
}
.rb-premium .menu-button{
  display:none!important;
  border:1px solid var(--rr-line)!important;
  border-radius:14px!important;
  background:#fffdf8!important;
  color:var(--rr-green-deep)!important;
  box-shadow:none!important;
}

/* ---------- BUTTONS ---------- */
.rb-premium :is(.btn,.nr-btn,.ishimo-collaboration-link,.text-link){
  font-family:var(--rr-body)!important;
  font-weight:900!important;
}
.rb-premium .btn{
  min-height:48px;
  padding:11px 20px!important;
  border-radius:999px!important;
  border:1px solid rgba(18,57,47,.14)!important;
  background:#fffdf8!important;
  color:var(--rr-green-deep)!important;
  box-shadow:0 7px 20px rgba(23,58,49,.08)!important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease!important;
}
.rb-premium .btn:hover{transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(23,58,49,.12)!important}
.rb-premium :is(.btn--green,.nr-btn--green,.diagnosis-start-button){
  background:var(--rr-green)!important;
  color:#fff!important;
  border-color:var(--rr-green)!important;
}
.rb-premium :is(.btn--paper,.btn--white){background:#fffdf8!important;color:var(--rr-green-deep)!important}
.rb-premium :is(.btn--yellow,.nr-sponsor-primary){background:var(--rr-yellow)!important;color:#173e32!important;border-color:transparent!important}

/* ---------- HERO ---------- */
.rb-premium :is(.hero,.nr-home-hero,.page-hero){
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  margin-top:-78px!important;
  padding-top:clamp(142px,14vw,180px)!important;
  padding-bottom:clamp(66px,8vw,104px)!important;
  background:
    linear-gradient(105deg,rgba(255,252,242,.98),rgba(246,247,230,.88)),
    var(--rr-cream)!important;
}
.rb-premium :is(.hero,.nr-home-hero,.page-hero)::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 7% 24%,rgba(244,203,77,.16),transparent 20%),
    radial-gradient(circle at 93% 16%,rgba(101,153,98,.18),transparent 24%),
    linear-gradient(180deg,#fffdf6,#f5f3e5)!important;
  transform:none!important;
}
.rb-premium :is(.hero,.nr-home-hero,.page-hero)::after{
  content:""!important;
  position:absolute!important;
  width:340px!important;
  height:340px!important;
  right:-80px!important;
  bottom:-100px!important;
  top:auto!important;
  z-index:-1!important;
  opacity:.13!important;
  background:url('doodle-leaves.svg') center/contain no-repeat!important;
  transform:rotate(-8deg)!important;
  animation:none!important;
}
.rb-premium :is(.hero-grid,.nr-home-hero .hero-grid,.page-hero-grid){
  display:grid!important;
  grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr)!important;
  gap:clamp(40px,6vw,78px)!important;
  align-items:center!important;
}
.rb-premium :is(.hero h1,.nr-home-hero h1,.page-hero h1){
  max-width:10em;
  font-size:clamp(50px,5.8vw,78px)!important;
  line-height:1.08!important;
  color:#092f27!important;
}
.rb-premium .headline-marker{
  display:inline;
  background:linear-gradient(transparent 72%,rgba(244,203,77,.86) 0)!important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.rb-premium .headline-marker::after{display:none!important}
.rb-premium :is(.hero-copy>p,.page-hero-grid>div>p:not(.eyebrow)){
  max-width:570px!important;
  margin-top:19px!important;
  font-size:clamp(14px,1.25vw,17px)!important;
  color:#4e635c!important;
}
.rb-premium .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-bottom:15px!important;
  padding:7px 11px!important;
  border:1px solid rgba(20,88,68,.12)!important;
  border-radius:999px!important;
  background:#fff7cd!important;
  color:#245545!important;
  box-shadow:none!important;
}
.rb-premium .eyebrow :is(span,small){
  color:#245545!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.rb-premium .photo-frame{
  overflow:hidden!important;
  border:7px solid rgba(255,255,255,.92)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 24px 65px rgba(31,72,58,.14)!important;
  transform:none!important;
}
.rb-premium .photo-frame::after{
  content:"";
  position:absolute;
  width:90px;
  height:28px;
  left:50%;
  top:-11px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(222,197,109,.36);
  border-radius:2px;
  mix-blend-mode:multiply;
  pointer-events:none;
}
.rb-premium .photo-frame img{
  width:100%!important;
  height:auto;
  object-fit:cover!important;
  transform:none!important;
}
.rb-premium .photo-frame figcaption{
  padding:11px 15px 13px!important;
  background:#fffdf8!important;
  color:#60726b!important;
  font-size:10px!important;
}

/* ---------- SECTIONS ---------- */
.rb-premium main>section{
  position:relative;
  padding-top:clamp(66px,7.5vw,104px);
  padding-bottom:clamp(66px,7.5vw,104px);
}
.rb-premium main>section:nth-of-type(even):not(.section--soil):not(.conversion-band):not(.ishimo-collaboration){
  background:
    linear-gradient(180deg,rgba(237,244,232,.52),rgba(255,252,244,.4))!important;
}
.rb-premium main>section:nth-of-type(odd):not(:first-child):not(.section--soil):not(.conversion-band):not(.ishimo-collaboration){
  background:
    linear-gradient(180deg,rgba(255,253,248,.78),rgba(250,246,235,.72))!important;
}
.rb-premium main>section::before{
  pointer-events:none;
}
.rb-premium .section-heading{
  margin-bottom:34px!important;
}
.rb-premium .section-heading--center{text-align:center}
.rb-premium :is(.section-heading h2,.visual-mosaic-head h2,.nr-section-head h2,.split-story h2,.final-cta h2,.conversion-band h2){
  font-size:clamp(32px,3.8vw,50px)!important;
  line-height:1.18!important;
  color:var(--rr-ink-strong)!important;
}
.rb-premium .section-heading>p:not(.eyebrow),
.rb-premium .visual-mosaic-head>p,
.rb-premium .nr-section-head>p{
  max-width:720px;
  font-size:14px!important;
  color:#62736d!important;
}

/* ---------- CARD SYSTEM ---------- */
.rb-premium :is(
  .definition-card,
  .chart-card,
  .data-grid>article,
  .cause-grid>article,
  .event-values>article,
  .game-card,
  .info-card,
  .time-card,
  .support-card,
  .report-summary-card,
  .report-impact-card,
  .report-voice-card,
  .report-money-card,
  .industry-partner-card,
  .contact-card,
  .license-card,
  .diagnosis-start-card,
  .diagnosis-method-card,
  .flower-group-card,
  .flower-atlas-card,
  .result-card,
  .result-reason-card,
  .nr-value-grid>article,
  .nr-main-sponsor,
  .ishimo-collaboration-card
){
  border:1px solid var(--rr-line)!important;
  border-radius:var(--rr-radius-lg)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--rr-shadow-soft)!important;
  color:var(--rr-ink)!important;
}
.rb-premium :is(
  .definition-card,
  .cause-grid>article,
  .event-values>article,
  .info-card,
  .time-card,
  .report-summary-card,
  .report-impact-card,
  .industry-partner-card,
  .nr-value-grid>article
){
  padding:24px!important;
}
.rb-premium :is(
  .definition-card,
  .cause-grid>article,
  .event-values>article,
  .game-card,
  .info-card,
  .report-summary-card,
  .report-impact-card,
  .industry-partner-card,
  .nr-value-grid>article
) h3{
  color:var(--rr-ink-strong)!important;
  font-size:clamp(18px,1.6vw,23px)!important;
}
.rb-premium :is(
  .definition-card,
  .cause-grid>article,
  .event-values>article,
  .game-card,
  .info-card,
  .report-summary-card,
  .report-impact-card,
  .industry-partner-card,
  .nr-value-grid>article
) p{
  color:#66756f!important;
  font-size:12.5px!important;
  line-height:1.78!important;
}
.rb-premium .rb-detail-card::before{opacity:0!important}
@media(hover:hover) and (pointer:fine){
  .rb-premium :is(
    .definition-card,.cause-grid>article,.event-values>article,.game-card,.info-card,
    .report-summary-card,.report-impact-card,.industry-partner-card,.flower-group-card,.flower-atlas-card
  ):hover{
    transform:translateY(-4px)!important;
    box-shadow:0 18px 38px rgba(23,58,49,.11)!important;
    border-color:rgba(20,88,68,.22)!important;
  }
}

/* ---------- VISUAL / LEARN ---------- */
.rb-premium .visual-mosaic-section{
  background:#fffdf8!important;
}
.rb-premium .visual-mosaic-head{
  display:grid!important;
  grid-template-columns:1.1fr .9fr!important;
  gap:34px!important;
  align-items:end!important;
}
.rb-premium .visual-mosaic{
  display:grid!important;
  grid-template-columns:1.45fr .72fr .72fr!important;
  gap:14px!important;
  margin-top:30px!important;
}
.rb-premium .visual-tile{
  overflow:hidden!important;
  min-height:220px;
  border:1px solid var(--rr-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium .visual-tile:first-child{grid-row:span 2}
.rb-premium .visual-tile img{
  width:100%!important;
  height:100%!important;
  min-height:190px;
  object-fit:cover!important;
}
.rb-premium .visual-tile figcaption{
  padding:11px 14px!important;
  background:#fff!important;
  color:#60726b!important;
  font-size:10px!important;
}
.rb-premium .visual-label{
  background:rgba(20,88,68,.90)!important;
  color:#fff!important;
  border:0!important;
}
.rb-premium .data-grid{
  gap:16px!important;
}
.rb-premium .data-grid>article{
  padding:21px 22px!important;
  background:#fff!important;
}
.rb-premium .data-grid strong{
  color:var(--rr-ink-strong)!important;
  font-family:var(--rr-display)!important;
}
.rb-premium .chart-grid{
  gap:18px!important;
  margin-top:24px!important;
}
.rb-premium .chart-card{
  padding:28px!important;
}
.rb-premium :is(.trend-bar,.flow-track i.reuse){background:linear-gradient(180deg,#80bb76,#3e9166)!important}
.rb-premium .stack-bar .possible{background:#f3cd54!important;color:#213e34!important}
.rb-premium .stack-bar .difficult{background:#4e9a72!important;color:#fff!important}
.rb-premium .rb-project-map-card{
  margin:0 0 22px!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#f7f3d8,#e8f2e5)!important;
  box-shadow:none!important;
}
.rb-premium #project .event-values{
  gap:14px!important;
}

/* ---------- DARK FEATURE BANDS ---------- */
.rb-premium :is(.section--soil,.ishimo-collaboration,.conversion-band){
  background:
    radial-gradient(circle at 90% 10%,rgba(124,181,140,.13),transparent 26%),
    linear-gradient(140deg,#103f34,#165846 68%,#0d4437)!important;
  color:#fff!important;
}
.rb-premium :is(.section--soil,.ishimo-collaboration,.conversion-band) :is(h2,h3,strong,b){
  color:#fff!important;
}
.rb-premium :is(.section--soil,.ishimo-collaboration,.conversion-band) p{
  color:rgba(255,255,255,.78)!important;
}
.rb-premium .section--soil .photo-frame{box-shadow:0 22px 55px rgba(0,0,0,.18)!important}
.rb-premium .conversion-band{
  width:min(1160px,calc(100% - 42px));
  margin:72px auto!important;
  padding:36px 42px!important;
  border-radius:32px!important;
  box-shadow:0 20px 54px rgba(21,67,53,.16)!important;
}
.rb-premium .conversion-band .btn{
  background:var(--rr-yellow)!important;
  color:#173e32!important;
  border:0!important;
}

/* ---------- REPORT / EVENT ---------- */
.rb-premium.report-page :is(.report-summary-card,.report-impact-card,.report-voice-card,.report-money-card){
  background:#fffdf8!important;
}
.rb-premium.report-page .game-card,
.rb-premium.nr-new-event .game-card{
  overflow:hidden!important;
}
.rb-premium.report-page .game-card img,
.rb-premium.nr-new-event .game-card img{
  width:100%!important;
  aspect-ratio:16/10;
  object-fit:cover!important;
}
.rb-premium :is(.report-summary-grid,.report-impact-grid,.game-grid,.info-grid,.time-grid){
  gap:16px!important;
}

/* ---------- PARTNER ---------- */
.rb-premium.nr-new-partner .nr-sponsor-feature{
  background:linear-gradient(180deg,#f8f4e8,#eef4e9)!important;
}
.rb-premium.nr-new-partner .nr-main-sponsor{
  overflow:hidden!important;
}
.rb-premium.nr-new-partner .nr-sponsor-identity{
  background:#f7f4e9!important;
  border-right:1px solid var(--rr-line)!important;
}
.rb-premium.nr-new-partner .nr-badge,
.rb-premium.nr-new-partner .industry-partner-label{
  background:#e7f0e3!important;
  color:#245545!important;
  border:0!important;
}
.rb-premium.nr-new-partner .nr-sponsor-story h3,
.rb-premium.nr-new-partner .industry-partner-card h3{
  color:var(--rr-ink-strong)!important;
}
.rb-premium.nr-new-partner .nr-sponsor-primary{
  background:var(--rr-green)!important;
  color:#fff!important;
}

/* ---------- DIAGNOSIS ---------- */
.rb-premium.page-diagnosis{
  background:
    radial-gradient(circle at 10% 7%,rgba(244,203,77,.14),transparent 24%),
    radial-gradient(circle at 93% 22%,rgba(146,190,124,.18),transparent 26%),
    #fbf8ed!important;
}
.rb-premium.page-diagnosis .page-hero--diagnosis{
  background:
    linear-gradient(105deg,rgba(255,252,242,.97),rgba(239,246,232,.90))!important;
}
.rb-premium.page-diagnosis :is(.diagnosis-start-card,.diagnosis-method-card,.flower-group-card,.flower-atlas-card,.diagnosis-question-card,.diagnosis-result,.result-card,.result-reason-card){
  background:#fffdf8!important;
  border-color:rgba(20,88,68,.13)!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.page-diagnosis .flower-group-card{
  overflow:hidden;
}
.rb-premium.page-diagnosis .flower-atlas-card img{
  border-radius:16px!important;
}
.rb-premium.page-diagnosis .diagnosis-answer{
  border:1px solid rgba(20,88,68,.14)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--rr-ink)!important;
  box-shadow:none!important;
}
.rb-premium.page-diagnosis .diagnosis-answer:hover{
  background:#f0f6ec!important;
  border-color:rgba(20,88,68,.30)!important;
}
.rb-premium.page-diagnosis .diagnosis-answer.is-selected{
  background:#e1efe0!important;
  border-color:#4d916b!important;
}
.rb-premium.page-diagnosis .diagnosis-progress span{
  background:linear-gradient(90deg,var(--rr-green),#6ba36d)!important;
}
.rb-premium.page-diagnosis :is(.diagnosis-question,.result-copy h2,.flower-atlas-heading h2){
  color:var(--rr-ink-strong)!important;
}

/* ---------- CONTACT / CREDITS / 404 ---------- */
.rb-premium.page-contact main,
.rb-premium.page-photo-credits main,
.rb-premium.page-404 main{
  background:
    radial-gradient(circle at 12% 12%,rgba(244,203,77,.12),transparent 22%),
    linear-gradient(180deg,#fffdf7,#f4f3e8)!important;
}
.rb-premium.page-contact .contact-card,
.rb-premium.page-photo-credits .license-card{
  background:#fffdf8!important;
}
.rb-premium.page-contact .contact-card--primary{
  border-color:rgba(20,88,68,.22)!important;
  background:linear-gradient(145deg,#f0f6ec,#fffdf8)!important;
}

/* ---------- FOOTER ---------- */
.rb-premium .site-footer,
.rb-premium .site-footer.rb-footer{
  position:relative;
  overflow:hidden;
  margin-top:0!important;
  padding-top:0!important;
  background:
    radial-gradient(circle at 88% 18%,rgba(83,145,113,.18),transparent 24%),
    linear-gradient(145deg,#0b3d32,#0f4b3d 60%,#0a3a30)!important;
  color:#fff!important;
}
.rb-premium .site-footer::before{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-90px;
  bottom:-90px;
  opacity:.08;
  background:url('doodle-leaves.svg') center/contain no-repeat;
}
.rb-premium .rb-footer-cta{
  padding:38px 0!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.rb-premium .rb-footer-cta h2{color:#fff!important}
.rb-premium .rb-footer-cta p{color:rgba(255,255,255,.72)!important}
.rb-premium .rb-footer-cta .btn{
  background:var(--rr-yellow)!important;
  color:#173e32!important;
  border:0!important;
}
.rb-premium .rb-footer-grid{
  gap:46px!important;
  padding-top:42px!important;
  padding-bottom:32px!important;
}
.rb-premium .rb-footer-grid :is(b,strong){color:#fff!important}
.rb-premium .rb-footer-grid p{color:rgba(255,255,255,.67)!important}
.rb-premium .rb-footer-links a,
.rb-premium .footer-bottom,
.rb-premium .site-footer small{
  color:rgba(255,255,255,.75)!important;
}
.rb-premium .rb-footer-links a:hover{color:#fff3b8!important}
.rb-premium .rb-contact-footer{
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.rb-premium .rb-contact-footer *{color:inherit!important}
.rb-premium .rb-social-links--footer a{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* ---------- PARTNER STRIP / FLOATING CONTACT ---------- */
.rb-premium .site-partner-strip{
  background:#fffdf8!important;
  border-top:1px solid var(--rr-line)!important;
  border-bottom:1px solid var(--rr-line)!important;
}
.rb-premium .site-partner-strip__logo{
  background:#fff!important;
  border:1px solid rgba(18,57,47,.08)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.rb-premium .rb-contact-fab{
  background:var(--rr-green)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 28px rgba(10,58,46,.22)!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1120px){
  .rb-premium .site-header{gap:8px!important}
  .rb-premium .brand{min-width:165px}
  .rb-premium .site-nav a{padding-inline:6px!important;font-size:10.5px!important}
  .rb-premium .header-actions{display:none!important}
}
@media(max-width:820px){
  .rb-premium .site-header{
    top:8px!important;
    width:calc(100% - 20px)!important;
    min-height:60px;
    padding:8px 10px!important;
    border-radius:18px!important;
  }
  .rb-premium .brand{min-width:0;flex:1}
  .rb-premium .brand small{display:none!important}
  .rb-premium .site-nav{
    position:absolute!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:10px!important;
    border:1px solid var(--rr-line)!important;
    border-radius:18px!important;
    background:#fffdf8!important;
    box-shadow:0 18px 44px rgba(20,59,48,.16)!important;
  }
  .rb-premium.menu-open .site-nav{display:flex!important}
  .rb-premium .site-nav a{
    display:block!important;
    width:100%!important;
    padding:12px 14px!important;
    font-size:13px!important;
    text-align:left!important;
  }
  .rb-premium .menu-button{
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
  .rb-premium :is(.hero,.nr-home-hero,.page-hero){
    margin-top:-70px!important;
    padding-top:128px!important;
    padding-bottom:62px!important;
  }
  .rb-premium :is(.hero-grid,.nr-home-hero .hero-grid,.page-hero-grid){
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .rb-premium :is(.hero h1,.nr-home-hero h1,.page-hero h1){
    max-width:none;
    font-size:clamp(40px,12vw,58px)!important;
  }
  .rb-premium .photo-frame{border-width:5px!important;border-radius:24px!important}
  .rb-premium .visual-mosaic-head{grid-template-columns:1fr!important;gap:14px!important}
  .rb-premium .visual-mosaic{grid-template-columns:1fr 1fr!important}
  .rb-premium .visual-tile:first-child{grid-column:1/-1;grid-row:auto}
  .rb-premium .conversion-band{
    width:calc(100% - 28px);
    padding:28px 24px!important;
  }
}
@media(max-width:600px){
  .rb-premium .container,
  .rb-premium .visual-mosaic-wrap,
  .rb-premium .rb-illustration-inner,
  .rb-premium .nr-section-head{
    width:calc(100% - 28px);
  }
  .rb-premium .site-header{width:calc(100% - 16px)!important}
  .rb-premium .brand-mark{width:38px!important;height:38px!important;flex-basis:38px}
  .rb-premium .brand b{font-size:13px!important}
  .rb-premium main>section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .rb-premium :is(.section-heading h2,.visual-mosaic-head h2,.nr-section-head h2,.split-story h2,.final-cta h2,.conversion-band h2){
    font-size:clamp(29px,9vw,39px)!important;
  }
  .rb-premium .visual-mosaic{grid-template-columns:1fr!important}
  .rb-premium .visual-tile:first-child{grid-column:auto}
  .rb-premium :is(
    .definition-card,.chart-card,.data-grid>article,.cause-grid>article,.event-values>article,
    .game-card,.info-card,.time-card,.report-summary-card,.report-impact-card,.industry-partner-card,
    .contact-card,.license-card,.diagnosis-start-card,.diagnosis-method-card,.flower-group-card,.result-card
  ){
    border-radius:21px!important;
  }
  .rb-premium .chart-card{padding:20px!important}
  .rb-premium .rb-contact-fab{bottom:84px!important}
}


/* =========================================================
   PAGE-SPECIFIC COMPOSITION
   ========================================================= */

/* HOME */
.rb-premium.nr-new-home .postevent-notice{
  background:transparent!important;
  border:0!important;
}
.rb-premium.nr-new-home .postevent-notice__inner{
  width:min(1160px,calc(100% - 42px));
  margin:0 auto;
  padding:10px 14px!important;
  border:1px solid rgba(20,88,68,.10)!important;
  border-radius:999px!important;
  background:rgba(255,253,248,.88)!important;
  color:var(--rr-green-deep)!important;
  box-shadow:none!important;
}
.rb-premium.nr-new-home .postevent-notice__badge{
  background:#e5efe1!important;
  color:#245545!important;
}
.rb-premium.nr-new-home :is(.first-visit-section,.why-join-section,.home-current-status,.people-trust){
  padding-top:clamp(62px,7vw,92px)!important;
  padding-bottom:clamp(62px,7vw,92px)!important;
}
.rb-premium.nr-new-home :is(.first-visit-head,.home-current-status__head){
  width:min(1160px,calc(100% - 42px));
  margin-inline:auto;
}
.rb-premium.nr-new-home :is(.first-visit-grid,.why-join-grid,.home-current-status__grid){
  width:min(1160px,calc(100% - 42px));
  margin-inline:auto;
  gap:14px!important;
}
.rb-premium.nr-new-home :is(.first-visit-grid>*,.why-join-grid>*,.home-current-status__grid>*,.nr-choice){
  border:1px solid var(--rr-line)!important;
  border-radius:24px!important;
  background:#fffdf8!important;
  box-shadow:var(--rr-shadow-soft)!important;
  color:var(--rr-ink)!important;
}
.rb-premium.nr-new-home :is(.first-visit-grid>*,.why-join-grid>*,.home-current-status__grid>*) h3,
.rb-premium.nr-new-home .nr-choice h3{
  color:var(--rr-ink-strong)!important;
}
.rb-premium.nr-new-home .nr-choice-grid{
  width:min(920px,calc(100% - 42px));
  margin-inline:auto!important;
  gap:16px!important;
  background:transparent!important;
}
.rb-premium.nr-new-home .nr-choice{
  padding:24px!important;
}
.rb-premium.nr-new-home .story-timeline{
  width:min(1080px,calc(100% - 42px));
  margin-inline:auto!important;
}
.rb-premium.nr-new-home .story-step{
  background:transparent!important;
}
.rb-premium.nr-new-home .story-dot{
  border:5px solid #fffdf8!important;
  background:var(--rr-green)!important;
  box-shadow:0 8px 20px rgba(20,88,68,.18)!important;
}
.rb-premium.nr-new-home .people-trust{
  background:linear-gradient(180deg,#eef4e9,#fffdf8)!important;
}
.rb-premium.nr-new-home .people-trust-grid{
  width:min(1080px,calc(100% - 42px));
  margin-inline:auto;
  gap:38px!important;
}
.rb-premium.nr-new-home .people-trust-photo{
  overflow:hidden!important;
  border:7px solid #fff!important;
  border-radius:28px!important;
  box-shadow:var(--rr-shadow)!important;
}
.rb-premium.nr-new-home .people-trust-tags span{
  background:#fff!important;
  color:#356653!important;
  border:1px solid var(--rr-line)!important;
  border-radius:999px!important;
}

/* EVENT */
.rb-premium.nr-new-event :is(.event-archive-context,.quick-grid,.update-band,.join-steps-section,.info-section,.program-section,.flow-section,.bring-section,.safety-section,.renge-section,.faq-section,.join-section){
  position:relative;
}
.rb-premium.nr-new-event .event-archive-context__inner{
  width:min(980px,calc(100% - 42px));
  margin:0 auto;
  padding:18px 22px!important;
  border:1px solid var(--rr-line)!important;
  border-radius:20px!important;
  background:#fffdf8!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.nr-new-event .event-archive-context__badge,
.rb-premium.nr-new-event .update-tag{
  background:#fff0ad!important;
  color:#315a4a!important;
  border:0!important;
}
.rb-premium.nr-new-event .quick-grid{
  width:min(1080px,calc(100% - 42px));
  margin-inline:auto!important;
  gap:14px!important;
}
.rb-premium.nr-new-event .quick-grid>*{
  border:1px solid var(--rr-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.nr-new-event .update-band{
  background:linear-gradient(120deg,#eaf3e5,#fff8dc)!important;
  border-block:1px solid rgba(20,88,68,.08)!important;
}
.rb-premium.nr-new-event .update-band__inner{
  width:min(1080px,calc(100% - 42px));
  margin:auto;
}
.rb-premium.nr-new-event :is(.join-step-grid,.info-grid,.program-grid,.bring-grid){
  gap:14px!important;
}
.rb-premium.nr-new-event :is(.join-step-grid>*,.bring-item,.support-card,.contact-box){
  border:1px solid var(--rr-line)!important;
  border-radius:22px!important;
  background:#fffdf8!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.nr-new-event .bring-item{padding:18px!important}
.rb-premium.nr-new-event .safety-wrap,
.rb-premium.nr-new-event .renge-layout{
  border:1px solid var(--rr-line)!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,#f1f6ed,#fffdf8)!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.nr-new-event .faq-list details{
  margin-bottom:10px!important;
  overflow:hidden;
  border:1px solid var(--rr-line)!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  box-shadow:none!important;
}
.rb-premium.nr-new-event .faq-list summary{
  padding:17px 20px!important;
  color:var(--rr-ink-strong)!important;
  font-family:var(--rr-display)!important;
  font-weight:900!important;
}
.rb-premium.nr-new-event .faq-list details p{padding:0 20px 18px!important}
.rb-premium.nr-new-event .join-section{
  background:linear-gradient(140deg,#113f34,#175b48)!important;
}
.rb-premium.nr-new-event .join-section :is(h2,h3){color:#fff!important}
.rb-premium.nr-new-event .join-section p{color:rgba(255,255,255,.76)!important}

/* REPORT */
.rb-premium.report-page .report-summary{
  background:linear-gradient(180deg,#f6f2e4,#eef5ea)!important;
}
.rb-premium.report-page .report-summary-head,
.rb-premium.report-page .report-summary-grid,
.rb-premium.report-page .report-impact-grid,
.rb-premium.report-page .report-voice-grid,
.rb-premium.report-page .report-finance-layout{
  width:min(1160px,calc(100% - 42px));
  margin-inline:auto;
}
.rb-premium.report-page .report-summary-grid{gap:14px!important}
.rb-premium.report-page .report-summary-card{
  padding:22px!important;
  text-align:left!important;
}
.rb-premium.report-page .report-summary-card strong{
  color:var(--rr-ink-strong)!important;
  font-family:var(--rr-display)!important;
}
.rb-premium.report-page .report-jump-nav{
  background:#fffdf8!important;
  border-block:1px solid var(--rr-line)!important;
  box-shadow:none!important;
}
.rb-premium.report-page .report-jump-nav__inner a{
  border:1px solid rgba(20,88,68,.10)!important;
  border-radius:999px!important;
  background:#f0f5ec!important;
  color:#315e50!important;
}
.rb-premium.report-page .report-photo-grid{
  gap:14px!important;
}
.rb-premium.report-page .report-photo{
  overflow:hidden!important;
  border:5px solid #fff!important;
  border-radius:24px!important;
  box-shadow:var(--rr-shadow-soft)!important;
  background:#fff!important;
}
.rb-premium.report-page .report-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.rb-premium.report-page .report-impact{
  background:linear-gradient(180deg,#eef5e9,#fffdf8)!important;
}
.rb-premium.report-page .report-impact-card{
  padding:26px!important;
}
.rb-premium.report-page .report-impact-no{
  color:#5a9b6f!important;
}
.rb-premium.report-page .report-finance{
  background:#f6f2e7!important;
}
.rb-premium.report-page .report-finance-total{
  color:var(--rr-green-deep)!important;
  font-family:var(--rr-display)!important;
}
.rb-premium.report-page .report-money-card{
  padding:26px!important;
}
.rb-premium.report-page .report-money-row{
  border-bottom:1px solid rgba(18,57,47,.08)!important;
}
.rb-premium.report-page .report-thanks{
  background:linear-gradient(145deg,#103f34,#155745)!important;
  color:#fff!important;
}
.rb-premium.report-page .report-thanks :is(h2,h3,b,strong){color:#fff!important}
.rb-premium.report-page .report-thanks p{color:rgba(255,255,255,.76)!important}

/* CONTACT */
.rb-premium.page-contact .contact-page-hero{
  position:relative;
  overflow:hidden;
  margin-top:-78px!important;
  padding:clamp(142px,14vw,180px) 0 clamp(62px,8vw,92px)!important;
  background:
    radial-gradient(circle at 90% 18%,rgba(113,163,105,.18),transparent 26%),
    linear-gradient(110deg,#fffdf6,#eef4e8)!important;
}
.rb-premium.page-contact .contact-page-hero::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-80px;
  bottom:-90px;
  opacity:.12;
  background:url('doodle-leaves.svg') center/contain no-repeat;
}
.rb-premium.page-contact .contact-hero-grid{
  width:min(1080px,calc(100% - 42px));
  margin:auto;
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr)!important;
  gap:56px!important;
  align-items:center!important;
}
.rb-premium.page-contact .contact-hero-copy h1{
  font-size:clamp(46px,5.5vw,70px)!important;
  line-height:1.08!important;
}
.rb-premium.page-contact .contact-hero-photo{
  overflow:hidden!important;
  border:7px solid #fff!important;
  border-radius:30px!important;
  box-shadow:var(--rr-shadow)!important;
}
.rb-premium.page-contact .contact-main{
  background:#fbf7ec!important;
}
.rb-premium.page-contact .contact-grid{
  width:min(980px,calc(100% - 42px));
  margin:auto;
  gap:18px!important;
}
.rb-premium.page-contact .contact-card{
  padding:30px!important;
}
.rb-premium.page-contact .contact-email{
  color:var(--rr-green-deep)!important;
  background:#edf4e9!important;
  border-radius:14px!important;
}
.rb-premium.page-contact .contact-topic{
  background:#fff!important;
  border:1px solid var(--rr-line)!important;
  color:#375f52!important;
  border-radius:999px!important;
}

/* PHOTO CREDITS */
.rb-premium.page-photo-credits{
  background:linear-gradient(180deg,#fffdf7,#f3f4e9)!important;
}
.rb-premium.page-photo-credits .back,
.rb-premium.page-photo-credits main{
  width:min(1080px,calc(100% - 42px));
  margin-inline:auto;
}
.rb-premium.page-photo-credits main{
  padding:70px 0 100px!important;
}
.rb-premium.page-photo-credits h1{
  font-size:clamp(42px,5vw,64px)!important;
}
.rb-premium.page-photo-credits .license-grid{
  gap:16px!important;
}
.rb-premium.page-photo-credits .license-card{padding:25px!important}
.rb-premium.page-photo-credits .table-wrap{
  overflow:auto;
  border:1px solid var(--rr-line)!important;
  border-radius:22px!important;
  background:#fffdf8!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
.rb-premium.page-photo-credits table{background:transparent!important}
.rb-premium.page-photo-credits th{
  background:#eaf2e6!important;
  color:var(--rr-green-deep)!important;
}
.rb-premium.page-photo-credits td{border-color:rgba(18,57,47,.08)!important}

/* 404 */
.rb-premium.page-404 .page-hero{
  min-height:72vh;
}
.rb-premium.page-404 .hero-motif{
  opacity:.55!important;
}
.rb-premium.page-404 .button-row{gap:10px!important}

/* small-screen page specifics */
@media(max-width:820px){
  .rb-premium.page-contact .contact-page-hero{
    margin-top:-70px!important;
    padding-top:128px!important;
  }
  .rb-premium.page-contact .contact-hero-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .rb-premium.nr-new-home .people-trust-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:600px){
  .rb-premium.nr-new-home :is(.first-visit-grid,.why-join-grid,.home-current-status__grid),
  .rb-premium.report-page :is(.report-summary-head,.report-summary-grid,.report-impact-grid,.report-voice-grid,.report-finance-layout),
  .rb-premium.page-contact .contact-hero-grid,
  .rb-premium.page-contact .contact-grid,
  .rb-premium.page-photo-credits .back,
  .rb-premium.page-photo-credits main{
    width:calc(100% - 28px);
  }
  .rb-premium.page-contact .contact-hero-copy h1{
    font-size:clamp(38px,11vw,52px)!important;
  }
}


/* Reliability first: content must never depend on intersection/reveal timing. */
.rb-premium main :is(.rb-reveal,.rb-detail-reveal,.reveal){
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}


/* Final specificity locks: one exact typography system across every public page. */
body.rb-premium :is(h1,h2,h3,h4,.brand b){
  font-family:var(--rr-display)!important;
  font-weight:900!important;
}
body.rb-premium :is(.site-nav a,.header-actions a,.header-actions .btn,.menu-button){
  font-family:var(--rr-body)!important;
}
body.rb-premium .site-nav a{font-weight:800!important}

/* Partner runtime converts sponsor blocks to nr-sponsor-wide. Style that final DOM too. */
body.rb-premium.nr-new-partner .nr-sponsor-wide{
  overflow:hidden!important;
  border:1px solid var(--rr-line)!important;
  border-radius:var(--rr-radius-lg)!important;
  background:#fffdf8!important;
  box-shadow:var(--rr-shadow-soft)!important;
}
body.rb-premium.nr-new-partner .nr-sponsor-wide__brand{
  background:#f4f1e6!important;
  border-right:1px solid var(--rr-line)!important;
}
body.rb-premium.nr-new-partner .nr-sponsor-wide__body{
  background:#fffdf8!important;
}
body.rb-premium.nr-new-partner .nr-sponsor-wide__ornament{
  width:140px!important;
  height:140px!important;
  right:10px!important;
  left:auto!important;
  transform:none!important;
  opacity:.07!important;
}
body.rb-premium.nr-new-partner .nr-sponsor-wide__partnerline,
body.rb-premium.nr-new-partner .nr-sponsor-wide__intro :is(h2,h3){
  color:var(--rr-ink-strong)!important;
}
body.rb-premium.nr-new-partner .nr-sponsor-wide__action>a{
  background:var(--rr-green)!important;
  color:#fff!important;
  border-radius:999px!important;
  border:0!important;
}
@media(max-width:820px){
  body.rb-premium.nr-new-partner .nr-sponsor-wide__ornament{display:none!important}
}
