.rcgsm-hero-slider,
.rcgsm-hero-slider * {
  box-sizing: border-box;
}

.rcgsm-hero-slider {
  --rcgsm-hero-transition: 500ms;
  --rcgsm-hero-overlay: 0;
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111;
  isolation: isolate;
}

.rcgsm-hero-slider__viewport {
  position: relative;
  width: 100%;
  height: clamp(500px, 60vh, 720px);
  min-height: clamp(300px, 65vh, 500px);
  max-height: clamp(500px, 60vh, 720px);
  overflow: hidden;
  touch-action: pan-y;
}

.rcgsm-hero-slider__slide {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--rcgsm-hero-transition) ease;
}

.rcgsm-hero-slider__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

.rcgsm-hero-slider__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(0, 0, 0, var(--rcgsm-hero-overlay));
}

.rcgsm-hero-slider__picture,
.rcgsm-hero-slider__image {
  display: block;
  width: 100%;
  height: 100% !important;
}

.rcgsm-hero-slider__image {
  object-fit: cover;
  object-position: var(--rcgsm-hero-object-position, center center);
}

.rcgsm-hero-slider__content {
  position: absolute;
  z-index: 4;
  left: clamp(20px, 6vw, 80px);
  bottom: clamp(28px, 9vw, 96px);
  max-width: min(620px, 86vw);
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}

.rcgsm-hero-slider__content h2 {
  margin: 0 0 .2em;
  color: inherit;
  font-size: clamp(2.2rem, 6vw, 5rem);
  line-height: .95;
}

.rcgsm-hero-slider__content p {
  margin: 0 0 1.25rem;
  color: inherit;
  font-size: clamp(1rem, 2vw, 1.35rem);
  line-height: 1.45;
}

.rcgsm-hero-slider__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1.05rem;
  border: 1px solid rgba(255,255,255,.72);
  color: #fff;
  text-decoration: none;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(4px);
  transition: background .2s ease, color .2s ease;
}

.rcgsm-hero-slider__button:hover,
.rcgsm-hero-slider__button:focus {
  background: #fff;
  color: #111;
}

.rcgsm-hero-slider__nav {
  position: absolute;
  top: 50%;
  z-index: 8;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  color: #fff;
  background: rgba(0,0,0,.24);
  cursor: pointer;
  font-size: 32px;
  line-height: 1;
}

.rcgsm-hero-slider__nav--prev { left: 18px; }
.rcgsm-hero-slider__nav--next { right: 18px; }

.rcgsm-hero-slider__dots {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 18px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.rcgsm-hero-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  cursor: pointer;
}

.rcgsm-hero-slider__dot.is-active {
  background: #fff;
}

@media (max-width: 1024px) {
  .rcgsm-hero-slider__viewport {
    height: clamp(400px, 56vh, 580px);
    min-height: 400px;
    max-height: 620px;
  }
}

@media (max-width: 767px) {
  .rcgsm-hero-slider__viewport {
    /*
     * Keep the homepage artwork hero visible on phones. The previous 100svh rule
     * made the image consume almost the entire mobile viewport below the header.
     */
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: clamp(280px, 62vw, 340px);
    max-height: 420px;
  }

  .rcgsm-hero-slider__image {
    object-position: var(--rcgsm-hero-mobile-object-position, var(--rcgsm-hero-object-position, center center));
  }

  .rcgsm-hero-slider__content {
    left: 20px;
    right: 20px;
    bottom: 34px;
    max-width: none;
  }

  .rcgsm-hero-slider__nav {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rcgsm-hero-slider__slide {
    transition: none;
  }
}


/* v0.2.6: Hidden click/drag navigation. Keep the site's normal cursor. */
.rcgsm-hero-slider__viewport {
  user-select: none;
}

.rcgsm-hero-slider__image {
  -webkit-user-drag: none;
  user-select: none;
}

/* v0.2.15: keep the homepage hero slider in normal document flow on mobile.
   The homepage currently has Elementor wrapper containers also named .swiper-wrapper,
   plus broad inline .swiper-wrapper height rules. This reset scopes the fix to wrappers
   that actually contain the RCGSM hero so the artwork does not overlap the following
   section heading on phones. */
.rcgsm-hero-slider-host,
.elementor .swiper-wrapper:has(.rcgsm-hero-slider) {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  align-items: stretch !important;
  transform: none !important;
}

.rcgsm-hero-slider-widget,
.rcgsm-hero-slider-host > .elementor-widget-html,
.elementor .swiper-wrapper:has(.rcgsm-hero-slider) > .elementor-widget-html {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
}

.rcgsm-hero-slider-host .rcgsm-hero-slider,
.elementor .swiper-wrapper:has(.rcgsm-hero-slider) .rcgsm-hero-slider {
  display: block !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .rcgsm-hero-slider__viewport {
    aspect-ratio: auto !important;
    height: clamp(220px, 58vw, 300px) !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .rcgsm-hero-slider__slide,
  .rcgsm-hero-slider__image {
    height: 100% !important;
  }

  .rcgsm-hero-slider-host,
  .elementor .swiper-wrapper:has(.rcgsm-hero-slider) {
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* v0.2.56 brand cohesion pass: unified RC Gorman admin shell across modules. */
.rcgsm-wrap,.rcgujt-admin-wrap,.rcgsm-click-wrap,.rcgsm-feature-page{--rcgsm-ui-card:#fff;--rcgsm-ui-border:#d9d2c8;--rcgsm-ui-border-soft:#ece7df;--rcgsm-ui-text:#241f1b;--rcgsm-ui-muted:#655d56;--rcgsm-ui-clay:#8a4b2a;--rcgsm-ui-red:#c74235;--rcgsm-ui-cream:#fbf7ef;max-width:1320px;color:var(--rcgsm-ui-text)}
.rcgsm-hero,.rcgujt-admin-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;box-sizing:border-box!important;margin:16px 0 20px!important;padding:20px 24px!important;border:1px solid var(--rcgsm-ui-border)!important;border-radius:22px!important;background:linear-gradient(135deg,#fff 0%,#fbf7ef 72%,rgba(199,66,53,.08) 100%)!important;box-shadow:0 10px 24px rgba(36,31,27,.05)!important;color:var(--rcgsm-ui-text)!important}.rcgsm-hero h1,.rcgujt-admin-hero h1{margin:0 0 4px!important;color:var(--rcgsm-ui-text)!important;font-size:clamp(24px,3vw,32px)!important;font-weight:800!important;letter-spacing:-.02em!important;line-height:1.08!important}.rcgsm-hero p,.rcgujt-admin-hero p,.rcgsm-lede{margin:0!important;max-width:900px!important;color:var(--rcgsm-ui-muted)!important;font-size:13px!important;line-height:1.45!important}.rcgsm-eyebrow,.rcgujt-admin-kicker,.rcgsm-card__eyebrow{display:block!important;margin:0 0 6px!important;color:var(--rcgsm-ui-clay)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;line-height:1.2!important;text-transform:uppercase!important}
.rcgsm-card,.rcgsm-panel,.rcgsm-stat-card,.rcgujt-admin-section-panel,.rcgujt-board-overview,.rcgujt-story-panel,.rcgujt-quality,.rcgujt-takeaway,.rcgujt-page-panel,.rcgujt-diagnostics-panel{border-color:var(--rcgsm-ui-border-soft)!important;border-radius:20px!important;box-shadow:0 1px 3px rgba(36,31,27,.04)!important}.rcgsm-tabs,.rcgsm-view-tabs,.rcgujt-section-tabs,.rcgsm-segmented-tabs{background:#fff!important;border:1px solid var(--rcgsm-ui-border-soft)!important;border-radius:18px!important;padding:6px!important;box-shadow:0 1px 2px rgba(36,31,27,.03)!important}.rcgsm-tab,.rcgsm-view-tab,.rcgujt-section-tab,.rcgsm-segmented-tabs .gap-tab-btn{border:0!important;border-radius:999px!important;background:transparent!important}.rcgsm-tab.is-active,.rcgsm-view-tab.is-active,.rcgujt-section-tab.is-active,.rcgsm-segmented-tabs .gap-tab-btn.active{background:var(--rcgsm-ui-cream)!important;color:var(--rcgsm-ui-clay)!important;box-shadow:none!important}.rcgsm-hero__actions .button,.rcgsm-actions .button,.rcgsm-click-wrap .button{border-radius:999px!important}.rcgsm-hero__actions .button-primary,.rcgsm-click-wrap .button-primary{background:var(--rcgsm-ui-red)!important;border-color:var(--rcgsm-ui-red)!important}@media(max-width:782px){.rcgsm-hero,.rcgujt-admin-hero{align-items:stretch!important;flex-direction:column!important}}

/* v0.2.57 consistency pass: keep every RCG Manager header aligned and stacked. */
.rcgsm-wrap,.rcgujt-admin-wrap{max-width:1800px!important;color:var(--rcgsm-ui-text,#241f1b)}
.rcgsm-hero,.rcgujt-admin-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;box-sizing:border-box!important;min-height:138px!important;margin:16px 0 20px!important;padding:24px 28px!important}
.rcgsm-hero>div:first-child,.rcgsm-hero__content,.rcgujt-admin-hero>div:first-child,.rcgujt-admin-hero__content{display:block!important;max-width:980px!important;text-align:left!important}
.rcgsm-hero h1,.rcgujt-admin-hero h1{margin:0 0 8px!important}
.rcgsm-hero p:not(.rcgsm-eyebrow):not(.rcgujt-admin-kicker),.rcgujt-admin-hero p:not(.rcgsm-eyebrow):not(.rcgujt-admin-kicker),.rcgsm-lede{max-width:920px!important}
@media(max-width:782px){.rcgsm-hero,.rcgujt-admin-hero{min-height:0!important;padding:20px!important}.rcgsm-hero>div:first-child,.rcgujt-admin-hero>div:first-child{max-width:100%!important}}

/* v0.2.58 nav cohesion pass: unified branded admin tab system across RCG screens. */
.rcgsm-tabs,
.rcgsm-view-tabs,
.rcgsm-admin-section-tabs,
.rcgujt-section-tabs,
.rcgsm-segmented-tabs,
.gap-admin-tabs {
  align-items: center !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--rcgsm-ui-border-soft,#e8e0d4) !important;
  border-bottom: 1px solid var(--rcgsm-ui-border-soft,#e8e0d4) !important;
  border-radius: 22px !important;
  box-shadow: 0 1px 2px rgba(36,31,27,.04) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 18px !important;
  max-width: 100% !important;
  padding: 8px !important;
  width: 100% !important;
}
.rcgsm-tab,
.rcgsm-view-tab,
.rcgsm-admin-section-tab,
.rcgujt-section-tab,
.rcgsm-segmented-tabs .gap-tab-btn,
.gap-admin-tabs .gap-tab-btn {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--rcgsm-ui-ink,#241f1b) !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  text-decoration: none !important;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
  white-space: nowrap !important;
}
.rcgsm-tab:visited,
.rcgsm-view-tab:visited,
.rcgsm-admin-section-tab:visited,
.rcgujt-section-tab:visited {
  color: var(--rcgsm-ui-ink,#241f1b) !important;
}
.rcgsm-tab:hover,
.rcgsm-tab:focus,
.rcgsm-view-tab:hover,
.rcgsm-view-tab:focus,
.rcgsm-admin-section-tab:hover,
.rcgsm-admin-section-tab:focus,
.rcgujt-section-tab:hover,
.rcgujt-section-tab:focus,
.rcgsm-segmented-tabs .gap-tab-btn:hover,
.rcgsm-segmented-tabs .gap-tab-btn:focus,
.gap-admin-tabs .gap-tab-btn:hover,
.gap-admin-tabs .gap-tab-btn:focus {
  background: var(--rcgsm-ui-red,#9a3b2f) !important;
  border-color: var(--rcgsm-ui-red,#9a3b2f) !important;
  box-shadow: 0 8px 18px rgba(154,59,47,.18) !important;
  color: #fff !important;
  outline: none !important;
}
.rcgsm-tab.is-active,
.rcgsm-view-tab.is-active,
.rcgsm-admin-section-tab.is-active,
.rcgujt-section-tab.is-active,
.rcgsm-segmented-tabs .gap-tab-btn.active,
.gap-admin-tabs .gap-tab-btn.active,
.gap-admin-tabs .gap-tab-btn.is-active {
  background: var(--rcgsm-ui-cream,#f8efe4) !important;
  border-color: rgba(154,59,47,.14) !important;
  box-shadow: none !important;
  color: var(--rcgsm-ui-clay,#6f4636) !important;
}
.rcgsm-tab.is-active:hover,
.rcgsm-tab.is-active:focus,
.rcgsm-view-tab.is-active:hover,
.rcgsm-view-tab.is-active:focus,
.rcgsm-admin-section-tab.is-active:hover,
.rcgsm-admin-section-tab.is-active:focus,
.rcgujt-section-tab.is-active:hover,
.rcgujt-section-tab.is-active:focus,
.rcgsm-segmented-tabs .gap-tab-btn.active:hover,
.rcgsm-segmented-tabs .gap-tab-btn.active:focus,
.gap-admin-tabs .gap-tab-btn.active:hover,
.gap-admin-tabs .gap-tab-btn.active:focus,
.gap-admin-tabs .gap-tab-btn.is-active:hover,
.gap-admin-tabs .gap-tab-btn.is-active:focus {
  background: var(--rcgsm-ui-red,#9a3b2f) !important;
  border-color: var(--rcgsm-ui-red,#9a3b2f) !important;
  color: #fff !important;
}
.rcgsm-admin-section-tab__meta,
.rcgsm-tab .count,
.rcgsm-view-tab .count,
.rcgujt-section-tab .count {
  background: rgba(154,59,47,.1) !important;
  border-radius: 999px !important;
  color: inherit !important;
  margin-left: 8px !important;
  padding: 2px 7px !important;
}
@media (max-width: 782px) {
  .rcgsm-tabs,
  .rcgsm-view-tabs,
  .rcgsm-admin-section-tabs,
  .rcgujt-section-tabs,
  .rcgsm-segmented-tabs,
  .gap-admin-tabs { gap: 6px !important; padding: 7px !important; }
  .rcgsm-tab,
  .rcgsm-view-tab,
  .rcgsm-admin-section-tab,
  .rcgujt-section-tab,
  .rcgsm-segmented-tabs .gap-tab-btn,
  .gap-admin-tabs .gap-tab-btn { flex: 1 1 auto !important; min-width: max-content !important; }
}
/* End nav cohesion pass. */

/* Compact content-padding cohesion pass: reduce nested admin-card padding while preserving the RCG brand shell. */
.rcgsm-wrap,
.rcgsm-admin-wrap,
.rcgsm-hero-manager,
.rcgsm-site-settings,
.rcgsm-click-wrap,
.rcgujt-admin-wrap {
  --rcgsm-content-pad: 20px !important;
  --rcgujt-dashboard-pad: 20px !important;
}
.rcgsm-panel,
.rcgsm-card,
.rcgsm-click-card,
.rcgsm-click-panel,
.rcgsm-settings-panel {
  padding: var(--rcgsm-content-pad) !important;
}
.rcgsm-panel__header,
.rcgsm-card__header,
.rcgsm-click-panel__header,
.rcgsm-settings-panel > .rcgsm-panel__header {
  margin: calc(var(--rcgsm-content-pad) * -1) calc(var(--rcgsm-content-pad) * -1) 16px !important;
  padding: 16px var(--rcgsm-content-pad) !important;
}
.rcgujt-admin-section-panel {
  overflow: hidden !important;
  padding: 0 !important;
}
.rcgujt-admin-section-panel > .rcgujt-admin-section-panel__header {
  margin: 0 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--rcgsm-brand-border-soft,#eee7df) !important;
}
.rcgujt-admin-section-panel > .rcgujt-admin-section-panel__header h2 {
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.12 !important;
  margin: 0 0 6px !important;
}
.rcgujt-admin-section-panel > .rcgujt-admin-section-panel__header p {
  margin: 0 !important;
  max-width: 920px !important;
}
.rcgujt-admin-section-panel > .rcgujt-admin-section-panel__body {
  padding: 16px 20px 20px !important;
}
.rcgujt-admin-section-panel__body > .rcgujt-card.rcgujt-dashboard {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
.rcgujt-dashboard > .rcgujt-head {
  border-bottom: 1px solid var(--rcgsm-brand-border-soft,#eee7df) !important;
  margin: 0 0 16px !important;
  padding: 0 0 16px !important;
}
.rcgujt-dashboard > .rcgujt-head > div:first-child {
  min-width: 0 !important;
}
.rcgujt-dashboard .rcgujt-head h2 {
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.12 !important;
  max-width: 980px !important;
}
.rcgujt-dashboard .rcgujt-subtitle {
  max-width: 980px !important;
}
.rcgujt-analytics-panel,
.rcgujt-story-panel,
.rcgujt-page-panel,
.rcgujt-diagnostics-panel,
.rcgujt-board-overview,
.rcgujt-quality,
.rcgujt-takeaway {
  padding: 18px !important;
}
.rcgsm-hero-manager .rcgsm-two-col,
.rcgsm-site-settings .rcgsm-two-col {
  gap: 18px !important;
}
@media (max-width: 782px) {
  .rcgsm-wrap,
  .rcgsm-admin-wrap,
  .rcgsm-hero-manager,
  .rcgsm-site-settings,
  .rcgsm-click-wrap,
  .rcgujt-admin-wrap {
    --rcgsm-content-pad: 16px !important;
    --rcgujt-dashboard-pad: 16px !important;
  }
  .rcgujt-admin-section-panel > .rcgujt-admin-section-panel__header,
  .rcgujt-admin-section-panel > .rcgujt-admin-section-panel__body,
  .rcgujt-analytics-panel,
  .rcgujt-story-panel,
  .rcgujt-page-panel,
  .rcgujt-diagnostics-panel,
  .rcgujt-board-overview,
  .rcgujt-quality,
  .rcgujt-takeaway {
    padding: 16px !important;
  }
}
/* End compact content-padding cohesion pass. */

