/* MCEXP editorial polish; Rainbow remains the layout and palette source. */
html body {
  --mcexp-line: color-mix(in srgb, var(--color-contrast-higher) 18%, transparent);
  -webkit-font-smoothing: antialiased;
}
html body :is(.mcexp-editorial,.mcexp-news-list,.mcexp-post-list,.mcexp-store-intro,.mcexp-store-help) {
  color: var(--color-contrast-higher); overflow-wrap: anywhere;
}
html body :is(h1,h2,h3) { text-wrap: balance; }
html body :is(.mcexp-editorial,.mcexp-news-list,.mcexp-post-list) p { text-wrap: pretty; }
html body :is(.mcexp-section,[id]) { scroll-margin-top: 7rem; }
html body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid var(--color-accent); outline-offset: 4px;
}
html body :is(.btn,.rb-pagehero__ip,.btn-close) { min-height: 44px; }
html body .btn-close { min-width: 44px; padding: .5rem; }
html body :is(.mcexp-server-status,.mcexp-discord-counts,.mcexp-connection,.card-subtitle) {
  font-variant-numeric: tabular-nums;
}
html body:has(.mcexp-launch,.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__stage {
  padding-block: 0;
}
html body:has(.mcexp-launch) .rb-pagehero__content { gap: 1rem; }
html body:has(.mcexp-launch) .rb-pagehero__title { max-width: 12ch; margin-bottom: .5rem; }
html body:has(.mcexp-launch) .rb-pagehero__text { max-width: 49ch; }
html body:has(.mcexp-launch) .rb-pagehero__actions { margin-top: .75rem; }
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero .rb-pagehero__stage {
  min-height: 15rem;
}
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__stage .rb-pagehero__inner {
  padding-block: 2.75rem 2.5rem;
}
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__content { gap: .75rem; }
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__title {
  font-size: clamp(2.5rem, 4.5vw, 3.75rem); margin-bottom: .5rem;
}
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__kicker { margin-bottom: .5rem; }
html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__actions { margin-top: .5rem; }
html body:has(.mcexp-store-intro) .rb-pagehero .rb-pagehero__stage { min-height: 0; }
html body:has(.mcexp-store-intro) .rb-pagehero__stage .rb-pagehero__inner { padding-block: 2rem; }

/* Builder widgets stay editable; their headings and features become editorial. */
html body:has(.mcexp-launch) #home .banner,
html body #posts-all .banner {
  background: transparent; border: 0; box-shadow: none; border-radius: 0;
  min-height: 0; padding: 0; overflow: visible; margin-bottom: 2rem;
}
html body:has(.mcexp-launch) #home .banner-title.no-image,
html body #posts-all .banner-title.no-image { padding-left: 0; text-shadow: none; }
html body:has(.mcexp-launch) #home .banner-title :is(h2,h3),
html body #posts-all .banner-title :is(h2,h3) { color: var(--color-contrast-higher); }
html body:has(.mcexp-launch) .rb-features { padding-block: 2.5rem 3rem; }
html body:has(.mcexp-launch) .rb-features > .row {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.75rem 4rem;
  margin: 0; --bs-gutter-x: 0; --bs-gutter-y: 0;
}
html body:has(.mcexp-launch) .rb-features > .row > .col { width: auto; padding: 0; margin: 0; }
html body:has(.mcexp-launch) .rb-features > .row > .col:first-child { grid-row: span 2; }
html body:has(.mcexp-launch) .rb-features .rb-feature {
  height: auto !important; padding: 0 0 1.5rem; border: 0; border-radius: 0;
  border-bottom: 1px solid var(--mcexp-line); background: transparent;
  box-shadow: none; transform: none; gap: .65rem;
}
html body:has(.mcexp-launch) .rb-features > .row > .col:first-child .rb-feature {
  padding: .25rem 2rem .25rem 1.5rem; border-bottom: 0; border-left: 2px solid var(--color-primary);
}
html body:has(.mcexp-launch) .rb-feature__icon { display: none; }
html body:has(.mcexp-launch) .rb-feature__title {
  color: var(--color-contrast-higher); font-size: 1.5rem; line-height: 1.25;
}
html body:has(.mcexp-launch) .rb-features > .row > .col:first-child .rb-feature__title { font-size: clamp(1.7rem,2.6vw,2.2rem); }
html body:has(.mcexp-launch) .rb-feature__text { font-size: 1rem; line-height: 1.65; max-width: 55ch; }
.mcexp-launch {
  display: flex; align-items: center; justify-content: space-between; gap: 1.25rem 2rem;
  padding: 1.4rem 1.75rem; margin-bottom: 1rem;
  border-left: 3px solid var(--color-accent); background: var(--color-contrast-lower);
}
.mcexp-launch :is(h2,h3,strong) { color: var(--color-contrast-higher); font-size: 1.25rem; line-height: 1.4; }
.mcexp-launch p { margin: .25rem 0; }
.mcexp-launch > a { flex-shrink: 0; }
.mcexp-launch a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; font-weight: 600; }
html body :is(.mcexp-news-list,.mcexp-post-list) article {
  padding-block: 1.5rem; border-bottom: 1px solid var(--mcexp-line);
}
html body :is(.mcexp-news-list,.mcexp-post-list) time { display: block; font-size: .8rem; color: var(--color-contrast-high); }
html body :is(.mcexp-news-list,.mcexp-post-list) :is(h2,h3) { margin: .5rem 0 .65rem; color: var(--color-contrast-higher); line-height: 1.3; }
html body .mcexp-news-list h3 { font-size: 1.3rem; }
html body .mcexp-post-list h2 { font-size: clamp(1.5rem,2.5vw,2rem); }
html body :is(.mcexp-news-list,.mcexp-post-list) :is(h2,h3) a { color: inherit; text-decoration: none; }
html body :is(.mcexp-news-list,.mcexp-post-list) p { max-width: 65ch; color: var(--color-contrast-high); margin-bottom: .75rem; line-height: 1.65; }
html body :is(.mcexp-news-list,.mcexp-post-list) article > a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; font-weight: 600; }
html body :is(.mcexp-news-list,.mcexp-post-list) a:hover { color: var(--color-accent); text-decoration: underline; }

/* Long-form pages use the full content width, without a card around the prose. */
html body .mcexp-page-body { padding-block: 2rem 3.5rem; }
html body .mcexp-page-body :is(.card,.card-body):has(.mcexp-editorial) {
  background: transparent; border: 0; box-shadow: none; padding: 0;
}
html body .mcexp-page-body :is(.user-htms-content,.user-html-content) { max-width: none; }
.mcexp-editorial { max-width: 75rem; margin-inline: auto; }
html body .mcexp-editorial :is(h2,h3) { color: var(--color-contrast-higher); line-height: 1.2; letter-spacing: -.035em; }
html body .mcexp-editorial h2 { font-size: clamp(1.8rem,3vw,2.5rem); margin: 0 0 1.25rem; }
html body .mcexp-editorial h3 { font-size: 1.4rem; margin: 0 0 .7rem; }
html body .mcexp-editorial p { max-width: 65ch; line-height: 1.75; margin-bottom: 1.1rem; color: var(--color-contrast-high); }
html body .mcexp-editorial :is(strong,b) { color: var(--color-contrast-higher); }
html body .mcexp-editorial .mcexp-lead {
  max-width: 55ch; font-size: clamp(1.1rem,1.8vw,1.35rem); color: var(--color-contrast-higher);
}
html body .mcexp-editorial a:not(.btn) { text-decoration: underline; text-decoration-thickness: .07em; }
.mcexp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; padding-top: .5rem; }
.mcexp-actions > a:not(.btn) { display: inline-flex; align-items: center; min-height: 44px; font-size: .95rem; font-weight: 600; }
.mcexp-chapters { display: flex; flex-wrap: wrap; gap: .25rem 2rem; margin-block: 2rem 0; padding-block: .8rem; border-block: 1px solid var(--mcexp-line); }
.mcexp-chapters a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
.mcexp-section { padding-block: 3rem; border-bottom: 1px solid var(--mcexp-line); }
.mcexp-section:last-child { border-bottom: 0; padding-bottom: 1rem; }
.mcexp-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 3rem; margin-top: 2rem; }
.mcexp-feature-grid > section { min-width: 0; padding-top: 1.5rem; border-top: 1px solid var(--mcexp-line); }
.mcexp-feature-grid > section p:last-child { margin-bottom: 0; }
.mcexp-connection { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.5rem; margin: 2rem 0 0; }
.mcexp-connection > div { padding-block: 1rem; border-bottom: 1px solid var(--mcexp-line); min-width: 0; }
.mcexp-connection dt { color: var(--color-contrast-high); font-size: .85rem; font-weight: 400; margin-bottom: .4rem; }
.mcexp-connection dd { color: var(--color-contrast-higher); font-size: 1.1rem; margin: 0; }
.mcexp-steps { list-style: none; padding: 0; margin: 1.75rem 0 0; max-width: 65ch; counter-reset: mcexp-step; }
.mcexp-steps li { position: relative; padding: 0 0 1.5rem 3rem; line-height: 1.7; counter-increment: mcexp-step; color: var(--color-contrast-high); }
.mcexp-steps li::before { content: counter(mcexp-step,decimal-leading-zero); position: absolute; left: 0; top: .15rem; color: var(--color-primary); font-size: .85rem; font-variant-numeric: tabular-nums; }
html body .mcexp-editorial .mcexp-note { font-size: .9rem; color: var(--color-contrast-high); }

.mcexp-store-intro { margin-bottom: 1.75rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--mcexp-line); }
.mcexp-store-intro p { max-width: 64ch; margin-bottom: .5rem; line-height: 1.65; }
.mcexp-store-help { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--mcexp-line); }
html body .mcexp-store-help h2 { font-size: 1.4rem; color: var(--color-contrast-higher); }
.mcexp-store-help p { max-width: 65ch; color: var(--color-contrast-high); line-height: 1.65; }
.mcexp-store-help a { text-decoration: underline; }
html body:has(.mcexp-store-intro) .content.main-page { padding-block: 1.5rem 3rem; }
html body:has(.mcexp-store-intro) :is(.rb-tebex-packages,.rb-tebex-sidebar) { min-width: 0; }
html body:has(.mcexp-store-intro) .rb-tebex-packages .card-title { color: var(--color-contrast-higher); }
html body:has(.mcexp-store-intro) .rb-tebex-packages .card-subtitle { color: var(--color-accent); line-height: 1.6; }
html body:has(.mcexp-store-intro) .rb-tebex-packages .card-subtitle small { font-size: .75rem; }
html body:has(.mcexp-store-intro) .rb-tebex-packages .card-img-top { max-height: 14rem; object-fit: contain; padding: 1.5rem; background: var(--color-contrast-lower); }
.mcexp-legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem 1.5rem; padding-block: 1rem; border-top: 1px solid var(--mcexp-line); }
html body .mcexp-legal-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; color: var(--color-contrast-high); text-decoration: underline; }
.mcexp-tebex-legal { padding-block: 1.25rem; color: var(--color-contrast-high); font-size: .85rem; line-height: 1.75; overflow-wrap: anywhere; }
.mcexp-tebex-legal p { max-width: 90ch; margin-bottom: .6rem; }
.mcexp-tebex-legal a { color: var(--color-contrast-higher); text-decoration: underline; }

@media (min-width: 992px) {
  .mcexp-editorial .mcexp-section:has(.mcexp-feature-grid) { display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; }
  .mcexp-editorial .mcexp-section > .mcexp-feature-grid { grid-template-columns: minmax(0,1fr); margin-top: 0; gap: 1.75rem; }
  .mcexp-editorial .mcexp-section > .mcexp-feature-grid > section:first-child { border-top: 0; padding-top: 0; }
}
@media (max-width: 767.98px) {
  html body:has(.mcexp-launch) .rb-pagehero .rb-pagehero__stage { min-height: 0; }
  html body:has(.mcexp-launch) .rb-pagehero__stage .rb-pagehero__inner { padding-block: 3rem 2.5rem; }
  html body:has(.mcexp-launch) .rb-pagehero__title { max-width: 13ch; font-size: clamp(2.75rem,10.5vw,4rem); }
  html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero .rb-pagehero__stage { min-height: 0; }
  html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__stage .rb-pagehero__inner { padding-block: 2rem; }
  html body:has(.mcexp-page-body,.mcexp-post-list,.mcexp-store-intro) .rb-pagehero__title { font-size: clamp(2.2rem,9vw,3.25rem); }
  html body:has(.mcexp-launch) .rb-features { padding-block: 1.75rem; }
  html body:has(.mcexp-launch) .rb-features > .row { grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
  html body:has(.mcexp-launch) .rb-features > .row > .col:first-child { grid-row: auto; }
  html body:has(.mcexp-launch) .rb-features > .row > .col:first-child .rb-feature { padding-right: 0; }
  .mcexp-launch { align-items: flex-start; flex-direction: column; gap: .5rem; padding: 1.25rem; }
  .mcexp-launch > a { flex-shrink: 1; }
  html body .mcexp-page-body { padding-block: 1.5rem 2.5rem; }
  .mcexp-section { padding-block: 2rem; }
  .mcexp-feature-grid,.mcexp-connection { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .mcexp-connection { gap: 0; }
  .mcexp-chapters { column-gap: 1.25rem; margin-top: 1.5rem; }
  .mcexp-actions { gap: .5rem 1rem; }
  .mcexp-steps li { padding-left: 2.5rem; }
  .mcexp-legal-links { column-gap: 1.25rem; }
}
@media (max-width: 374.98px) {
  html body :is(.mcexp-actions,.rb-pagehero__actions) > :is(a,button) { max-width: 100%; white-space: normal; }
  .mcexp-launch :is(h2,h3,strong) { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  html:root { scroll-behavior: auto; }
  html body :is(.rb-pagehero__content,.mcexp-editorial,.mcexp-news-list,.mcexp-post-list) *,
  html body .rb-feature { animation: none !important; transition: none !important; }
}

/* One-package catalogs use the available width; prices and actions remain native. */
.mcexp-product-mark { display:flex; align-items:center; justify-content:center; padding:2rem; background:var(--color-contrast-lower); }
.mcexp-product-mark img { object-fit:contain; }
@media(min-width:992px) {
 .rb-tebex-packages .row:has(> .col-md-6:only-child) > .col-md-6 { width:100%; }
 .rb-tebex-packages .row:has(> .col-md-6:only-child) .card:has(.mcexp-product-mark) { display:grid; grid-template-columns:minmax(140px,.35fr) 1fr; }
}

/* Fixed header clearance and readable footer link spacing. */
html body { --mcexp-header-clearance:90px; }
html body .rb-pagehero { padding-top:var(--mcexp-header-clearance); }
.mcexp-legal-links nav,.mcexp-tebex-legal nav { display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; }
.mcexp-tebex-legal nav a { display:inline-flex; align-items:center; min-height:44px; }
.mcexp-hero-caption { display:block; margin-top:1rem; font-size:.75rem; color:var(--color-contrast-high); }
@media(max-width:1199.98px){ html body { --mcexp-header-clearance:78px; } }

/* Homepage hierarchy: clear section identities, native editable titles. */
html body:has(.mcexp-launch) #home .mcexp-home-heading {
  width:100%; margin:0 0 2rem; padding:0; text-align:start;
}
html body:has(.mcexp-launch) #home .mcexp-home-eyebrow {
  margin:0 0 .75rem; color:var(--color-contrast-high); font-size:.78rem;
  font-weight:600; letter-spacing:.12em; line-height:1.5; text-transform:uppercase;
}
html body:has(.mcexp-launch) #home .mcexp-home-heading h2 {
  width:100%; margin:0 0 .8rem; color:var(--color-accent);
  font-size:clamp(2rem,3.1vw,2.5rem); line-height:1.15;
}
html body:has(.mcexp-launch) #home .mcexp-home-summary {
  max-width:58ch; margin:0; color:var(--color-contrast-high);
  font-size:1rem; line-height:1.65;
}
html body:has(.mcexp-launch) #home .mcexp-home-heading--center { text-align:center; }
html body:has(.mcexp-launch) #home .mcexp-home-heading--center .mcexp-home-summary { margin-inline:auto; }
html body:has(.mcexp-launch) #home .rb-features {
  margin:1.5rem 0 0 !important; padding-block:3.5rem;
  border-top:1px solid var(--mcexp-line); border-bottom:1px solid var(--mcexp-line);
}
html body:has(.mcexp-launch) #home .rb-section__blocks:has(.mcexp-news-list) {
  padding-block:3.5rem; border-bottom:1px solid var(--mcexp-line);
}
html body:has(.mcexp-launch) #home .mcexp-news-list { margin-bottom:0 !important; }
html body:has(.mcexp-launch) #home .mcexp-news-list h3 { font-size:1.25rem; }
html body:has(.mcexp-launch) #home .mcexp-discord {
  border-color:color-mix(in srgb,var(--color-accent) 26%,transparent);
}
html body:has(.mcexp-launch) #home .mcexp-discord h2 { font-size:1.75rem; }
html body:has(.mcexp-launch) #home .rb-faq {
  padding-block:3.5rem 1.5rem; margin:0 !important;
  background:transparent; border:0; border-radius:0;
}
html body:has(.mcexp-launch) #home .rb-faq .mcexp-home-heading {
  padding-inline:1rem; margin-bottom:2rem;
}
html body:has(.mcexp-launch) #home .rb-faq__accordion {
  text-align:start; border:1px solid var(--mcexp-line);
  border-radius:.375rem; overflow:hidden;
}
html body:has(.mcexp-launch) #home .rb-faq .accordion-item {
  background:var(--color-contrast-lower); border-inline:0;
}
html body:has(.mcexp-launch) #home .rb-faq :is(.accordion-button,.accordion-body) { text-align:start; }
@media(max-width:767.98px) {
 html body:has(.mcexp-launch) #home .rb-features { margin-top:1rem !important; padding-block:2.5rem; }
 html body:has(.mcexp-launch) #home .rb-section__blocks:has(.mcexp-news-list) { padding-block:2.5rem; row-gap:2rem; }
 html body:has(.mcexp-launch) #home .rb-faq { padding-block:2.5rem 1rem; }
 html body:has(.mcexp-launch) #home .mcexp-home-heading { margin-bottom:1.75rem; }
 html body:has(.mcexp-launch) #home .mcexp-home-heading h2 { font-size:clamp(1.85rem,7vw,2rem); }
 html body:has(.mcexp-launch) #home .rb-faq .mcexp-home-heading { padding-inline:0; }
}
