/* Native outreach starters: shared by the public page and the block-editor iframe.
   Color defaults yield to WordPress's per-block color classes and inline controls. */
.rrr-outreach-section.wp-block-group {
  --rrr-outreach-gutter: clamp(20px, 4vw, 64px);
  --rrr-outreach-accent: #e4c176;
  --rrr-outreach-rule: rgba(255, 253, 248, .24);
  box-sizing: border-box;
  min-width: 0;
  max-width: none;
  margin-block: 0;
  padding-block: clamp(48px, 6vw, 88px);
  font-family: var(--sans, "Ranch Sans", Arial, sans-serif);
  font-size: 1rem;
  line-height: 1.7;
}

.rrr-outreach-section.wp-block-group :where(*) { box-sizing: border-box; }
.rrr-outreach-section.wp-block-group:not(.has-background) { background-color: #173f35; }
.rrr-outreach-section.wp-block-group:not(.has-text-color) { color: #fffdf8; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--animal {
  --rrr-outreach-accent: #7a5c28;
  --rrr-outreach-rule: rgba(23, 51, 40, .2);
}
.rrr-outreach-section.wp-block-group.rrr-outreach-section--animal:not(.has-background) { background-color: #fffdf8; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--animal:not(.has-text-color) { color: #173328; }

/* Replace the old independently spaced fragments with one centered section system.
   Descendant hooks support both direct Group children and editor inner containers. */
.rrr-outreach-section.wp-block-group :is(.rrr-outreach-section__story, .rrr-outreach-section__details, .rrr-outreach-section__action, .rrr-outreach-section__intro) {
  width: min(1180px, calc(100% - var(--rrr-outreach-gutter) - var(--rrr-outreach-gutter)));
  min-width: 0;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  transform: none;
}
.rrr-outreach-section.wp-block-group :is(.rrr-outreach-section__story, .rrr-outreach-section__action, .rrr-outreach-section__intro):not(.has-background) { background: transparent; }
.rrr-outreach-section.wp-block-group :is(.rrr-outreach-section__story, .rrr-outreach-section__action, .rrr-outreach-section__intro):not(.has-text-color) { color: inherit; }
.rrr-outreach-section.wp-block-group :is(h1, h2, h3, p):not(.has-text-color) { color: inherit; }
.rrr-outreach-section.wp-block-group :is(h1, h2, h3, p, a) { overflow-wrap: anywhere; }

.rrr-outreach-section.wp-block-group .rrr-outreach-section__story .wp-block-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: center;
  gap: clamp(28px, 5vw, 76px);
  width: 100%;
  max-width: none;
  margin: 0;
}
.rrr-outreach-section.wp-block-group .rrr-outreach-section__story .wp-block-column { min-width: 0; max-width: none; margin: 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__copy { padding-block: 10px; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__copy :is(h1, h2) {
  max-width: 13ch;
  margin: 0 0 22px;
  font-family: var(--display, "Ranch Display", Georgia, serif);
  font-size: clamp(2.5rem, 4.4vw, 4.9rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: .01em;
  text-wrap: balance;
}
.rrr-outreach-section.wp-block-group .rrr-outreach-section__copy > p:not(.eyebrow) { max-width: 54ch; margin: 0; font-size: clamp(1rem, 1.15vw, 1.125rem); line-height: 1.75; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__copy > p:not(.eyebrow) + p { margin-top: 16px; }
.rrr-outreach-section.wp-block-group .eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font: 750 .72rem/1.5 var(--sans, "Ranch Sans", Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; }
.rrr-outreach-section.wp-block-group .eyebrow:not(.has-text-color) { color: var(--rrr-outreach-accent); }
.rrr-outreach-section.wp-block-group .eyebrow::before { display: block; flex: 0 0 24px; width: 24px; height: 1px; background: currentColor; content: ""; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__photo { width: 100%; max-width: none; margin: 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__photo img { display: block; width: 100%; height: auto; max-width: 100%; max-height: none; margin: 0; border-radius: 6px; object-fit: contain; box-shadow: 0 16px 42px rgba(6, 24, 17, .14); }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__photo figcaption { margin: 12px 0 0; font-size: .85rem; line-height: 1.55; }

.rrr-outreach-section.wp-block-group .rrr-outreach-section__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(32px, 4vw, 56px);
  border-top: 3px solid #d7b56f;
  border-radius: 6px;
}
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details:not(.has-background) { background: #fffdf8; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details:not(.has-text-color) { color: #173328; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details > .wp-block-column { min-width: 0; max-width: none; margin: 0; padding: clamp(24px, 3vw, 38px); border: 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details > .wp-block-column + .wp-block-column { border-left: 1px solid #ded5c1; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details h3 { margin: 0 0 12px; font: 400 clamp(1.4rem, 1.7vw, 1.8rem)/1.2 Georgia, serif; letter-spacing: 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__details p { max-width: 58ch; margin: 0; font-size: 1rem; line-height: 1.7; }

/* The closing action is a concise continuation, not a second full-width hero. */
.rrr-outreach-section.wp-block-group .rrr-outreach-section__action { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--rrr-outreach-rule); }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__action > :is(p, h2) { flex: 1 1 360px; min-width: 0; max-width: 70ch; margin: 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__action p { font-size: .95rem; line-height: 1.65; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__action :is(h1, h2) { font: 400 clamp(1.6rem, 2.2vw, 2.2rem)/1.2 Georgia, serif; }
.rrr-outreach-section.wp-block-group .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 100%; margin: 26px 0 0; }
.rrr-outreach-section.wp-block-group .rrr-outreach-section__action .wp-block-buttons { margin: 0; }
.rrr-outreach-section.wp-block-group .wp-block-button { min-width: 0; max-width: 100%; margin: 0; }
.rrr-outreach-section.wp-block-group .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 13px 23px; border: 1px solid currentColor; border-radius: 999px; font: 750 .82rem/1.4 var(--sans, "Ranch Sans", Arial, sans-serif); letter-spacing: .045em; text-align: center; text-decoration: none; text-transform: none; white-space: normal; }
.rrr-outreach-section.wp-block-group .wp-block-button__link:not(.has-background) { background: transparent; }
.rrr-outreach-section.wp-block-group .wp-block-button__link:not(.has-text-color) { color: inherit; }
.rrr-outreach-section.wp-block-group .is-style-ranch-gold .wp-block-button__link:not(.has-background) { background: #e4c176; border-color: #e4c176; }
.rrr-outreach-section.wp-block-group .is-style-ranch-gold .wp-block-button__link:not(.has-text-color) { color: #173328; }
.rrr-outreach-section.wp-block-group .wp-block-button__link:hover { text-decoration: underline; text-underline-offset: .18em; }
.rrr-outreach-section.wp-block-group a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }

.rrr-outreach-section.wp-block-group.rrr-outreach-section--animal .rrr-outreach-section__copy { order: -1; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--animal .rrr-outreach-section__details:not(.has-background) { background: #f4efdf; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro { max-width: 980px; margin-bottom: clamp(32px, 4vw, 56px); padding-bottom: clamp(28px, 3.5vw, 44px); border-bottom: 1px solid var(--rrr-outreach-rule); text-align: center; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro .eyebrow { justify-content: center; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro :is(h1, h2) { max-width: 20ch; margin: 0 auto; font-family: var(--display, "Ranch Display", Georgia, serif); font-size: clamp(2.4rem, 4.8vw, 5rem); font-weight: 400; line-height: 1.05; letter-spacing: .01em; text-wrap: balance; }
.rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__copy :is(h1, h2) { font-size: clamp(2.2rem, 3.5vw, 3.8rem); }

@media (max-width: 782px) {
  .rrr-outreach-section.wp-block-group { --rrr-outreach-gutter: clamp(18px, 5vw, 24px); padding-block: 44px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__story .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__copy { padding: 0; }
  .rrr-outreach-section.wp-block-group.rrr-outreach-section--animal .rrr-outreach-section__copy { order: initial; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__copy :is(h1, h2) { max-width: 18ch; font-size: clamp(2.35rem, 9vw, 3.5rem); margin-bottom: 18px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__copy > p:not(.eyebrow) { font-size: 1rem; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__details { grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__details > .wp-block-column { padding: 24px 20px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__details > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid #ded5c1; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__action { gap: 20px; }
  .rrr-outreach-section.wp-block-group .rrr-outreach-section__action > :is(p, h2) { flex-basis: 100%; }
  .rrr-outreach-section.wp-block-group .wp-block-buttons { gap: 10px; margin-top: 22px; }
  .rrr-outreach-section.wp-block-group .wp-block-button__link { padding-inline: 20px; }
  .rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro { text-align: left; }
  .rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro .eyebrow { justify-content: flex-start; }
  .rrr-outreach-section.wp-block-group.rrr-outreach-section--thanks .rrr-outreach-section__intro :is(h1, h2) { margin-inline: 0; font-size: clamp(2.35rem, 9vw, 3.5rem); }
}

/* Opt-in native story scene. The six semantic colors can inherit a reviewed event
   palette or be set on this Group; they never alter existing Ranch sections. */
.rrr-public-scene.wp-block-group {
  --rrr-scene-background: var(--rrr-event-deep, var(--forest-950, #06271a));
  --rrr-scene-surface: var(--forest-800, #16452e);
  --rrr-scene-ink: var(--rrr-event-on-deep, #ffffff);
  --rrr-scene-accent: var(--rrr-event-accent, var(--gold, #e1af42));
  --rrr-scene-line: rgba(255, 255, 255, .32);
  --rrr-scene-on-accent: var(--rrr-event-on-accent, #102d27);
  --rrr-scene-gutter: clamp(20px, 4vw, 72px);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: stretch;
  gap: clamp(24px, 4vw, 64px);
  min-width: 0;
  margin-block: 0;
  padding: var(--rrr-scene-gutter);
  isolation: isolate;
  overflow: hidden;
}
.rrr-public-scene.wp-block-group:not(.has-background) { background: var(--rrr-scene-background); }
.rrr-public-scene.wp-block-group:not(.has-text-color) { color: var(--rrr-scene-ink); }
.rrr-public-scene.wp-block-group > .wp-block-group__inner-container { display: contents; }
.rrr-public-scene.wp-block-group :where(*) { box-sizing: border-box; }
.rrr-public-scene.wp-block-group :is(h2, h3, p):not(.has-text-color) { color: inherit; }
.rrr-public-scene.wp-block-group :is(h2, h3, p, a) { overflow-wrap: anywhere; }
.rrr-public-scene--contained.wp-block-group { width: min(100%, 1280px); margin-inline: auto; }
.rrr-public-scene--bleed.wp-block-group { width: 100%; max-width: none; margin-inline: 0; border-radius: 0; }
.rrr-public-scene.wp-block-group .rrr-public-scene__media,
.rrr-public-scene.wp-block-group .rrr-public-scene__copy { min-width: 0; max-width: none; margin: 0; }
.rrr-public-scene.wp-block-group .rrr-public-scene__media > .wp-block-group__inner-container { height: 100%; }
.rrr-public-scene.wp-block-group .rrr-public-scene__media .wp-block-image { width: 100%; height: 100%; margin: 0; }
.rrr-public-scene.wp-block-group .rrr-public-scene__media img { display: block; width: 100%; height: 100%; max-height: 560px; object-fit: contain; }
.rrr-public-scene.wp-block-group .rrr-public-scene__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(24px, 3vw, 48px); }
.rrr-public-scene.wp-block-group .rrr-public-scene__copy:not(.has-background) { background: var(--rrr-scene-surface); }
.rrr-public-scene.wp-block-group .rrr-public-scene__copy > .wp-block-group__inner-container { width: 100%; }
.rrr-public-scene.wp-block-group .rrr-public-scene__kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font: 800 .8rem/1.4 var(--sans, Arial, sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.rrr-public-scene.wp-block-group .rrr-public-scene__kicker:not(.has-text-color) { color: var(--rrr-scene-accent); }
.rrr-public-scene.wp-block-group .rrr-public-scene__kicker::before { content: ""; display: block; width: 28px; height: 1px; flex: 0 0 28px; background: var(--rrr-scene-line); }
.rrr-public-scene.wp-block-group .rrr-public-scene__copy h2 { max-width: 17ch; margin: 0 0 18px; font: 750 clamp(2.25rem, 4vw, 4.25rem)/1.08 var(--serif, Georgia, serif); text-wrap: balance; }
.rrr-public-scene.wp-block-group .rrr-public-scene__copy p:not(.rrr-public-scene__kicker) { max-width: 56ch; margin: 0; font: 500 clamp(1rem, 1.2vw, 1.2rem)/1.65 var(--sans, Arial, sans-serif); }
.rrr-public-scene.wp-block-group .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.rrr-public-scene.wp-block-group .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 1px solid var(--rrr-scene-accent); border-radius: 4px; font: 800 .95rem/1.35 var(--sans, Arial, sans-serif); text-decoration: none; }
.rrr-public-scene.wp-block-group .wp-block-button__link:not(.has-background) { background: var(--rrr-scene-accent); }
.rrr-public-scene.wp-block-group .wp-block-button__link:not(.has-text-color) { color: var(--rrr-scene-on-accent); }
.rrr-public-scene.wp-block-group a:focus-visible { outline: 3px solid var(--rrr-scene-accent); outline-offset: 4px; }
.rrr-public-scene--media-right.wp-block-group .rrr-public-scene__media { order: 2; }
.rrr-public-scene--light.wp-block-group { --rrr-scene-background: #ffffff; --rrr-scene-surface: #eef4ef; --rrr-scene-ink: #102d27; --rrr-scene-accent: #1b603f; --rrr-scene-line: rgba(16, 45, 39, .3); --rrr-scene-on-accent: #ffffff; }

/* A backdrop is the same editable Image/Copy blocks, not another renderer. */
.rrr-public-scene--backdrop.wp-block-group { position: relative; grid-template-columns: minmax(0, 1fr); min-height: 460px; }
.rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__media { position: absolute; inset: 0; z-index: -2; }
.rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__media img { max-height: none; object-fit: cover; }
.rrr-public-scene--backdrop.wp-block-group::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(3, 17, 12, .9), rgba(3, 17, 12, .62) 58%, rgba(3, 17, 12, .18)); }
.rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__copy { max-width: 740px; padding: 0; }
.rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__copy:not(.has-background) { background: transparent; }
.rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__copy:not(.has-text-color) { color: #ffffff; }
@media (max-width: 782px) {
  .rrr-public-scene.wp-block-group { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rrr-public-scene--media-right.wp-block-group .rrr-public-scene__media { order: initial; }
  .rrr-public-scene.wp-block-group .rrr-public-scene__media img { max-height: 420px; }
  .rrr-public-scene.wp-block-group .rrr-public-scene__copy { padding: 24px 0 0; }
  .rrr-public-scene.wp-block-group .rrr-public-scene__copy:not(.has-background) { background: transparent; }
  .rrr-public-scene--backdrop.wp-block-group { min-height: 420px; }
  .rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__media img { max-height: none; }
  .rrr-public-scene--backdrop.wp-block-group::after { background: linear-gradient(0deg, rgba(3, 17, 12, .94), rgba(3, 17, 12, .65) 66%, rgba(3, 17, 12, .25)); }
  .rrr-public-scene--backdrop.wp-block-group .rrr-public-scene__copy { align-self: end; padding: 0; }
}
