/* One native block style, shared by public pages and the WordPress editor.
   Wood is a CSS texture, not an AI photograph of the Ranch. Native colors win. */
.is-style-ranch-woodland.wp-block-group {
  --woodland-forest: #142e24;
  --woodland-cream: #fff8e9;
  --woodland-gold: #e8c588;
  background-image: repeating-linear-gradient(92deg, transparent 0 54px, #ffffff05 55px 57px, transparent 59px 112px);
}
.is-style-ranch-woodland.wp-block-group:not(.has-background) { background-color: #342a20; }
.is-style-ranch-woodland.wp-block-group:not(.has-text-color) { color: var(--woodland-cream); }
.is-style-ranch-woodland :is(h1,h2,h3,p):not(.has-text-color) { color: inherit; }
.rrr-woodland-page.wp-block-group { margin-block: 0; padding: 0; max-width: none; font-family: var(--sans, "Ranch Sans", Arial, sans-serif); }
.rrr-woodland-page.wp-block-group:not(.has-background) { background: #f5f8f4; }
.rrr-woodland-page.wp-block-group:not(.has-text-color) { color: #183b2d; }
.rrr-woodland-page *, .rrr-woodland-hero * { box-sizing: border-box; }
.rrr-woodland-page :is(h1,h2,h3,p,a) { overflow-wrap: anywhere; }
.rrr-woodland-page :is(h1,h2,h3,p):not(.has-text-color) { color: inherit; }
.rrr-woodland-hero.wp-block-group {
  position: relative; isolation: isolate; display: grid; place-items: center;
  min-height: calc(100svh - var(--site-chrome, 112px) - var(--rrr-woodland-admin, 0px)); max-width: none;
  margin: 0; padding: clamp(44px, 6vh, 88px) 24px 102px;
}
.rrr-woodland-hero.wp-block-group:not(.has-background) { background-color: #142e24; }
.rrr-woodland-hero.wp-block-group:not(.has-text-color) { color: #fff8e9; }
.admin-bar .rrr-woodland-hero { --rrr-woodland-admin: var(--wp-admin--admin-bar--height, 32px); }
.rrr-woodland-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(180deg, #11271bb8, #0c21189c 50%, #10271bec); }
.rrr-woodland-hero .rrr-woodland-slideshow, .rrr-woodland-slideshow .rrr-woodland-slides { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0; z-index: -2; }
.rrr-woodland-hero .rrr-woodland-slideshow { z-index: auto; }
.rrr-woodland-slideshow .rrr-woodland-slides .wp-block-image { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; transition: opacity 850ms ease; }
.rrr-woodland-slideshow .rrr-woodland-slides .wp-block-image.is-active { opacity: 1; }
.rrr-woodland-slideshow .rrr-woodland-slides .slideshow-slide:not(.is-active) { opacity: 0; }
.rrr-woodland-slideshow .rrr-woodland-slides .slideshow-slide::after { content: none; }
.rrr-woodland-slideshow .rrr-woodland-slides .slideshow-slide { transform: none; }
.rrr-woodland-slideshow .rrr-woodland-slides .wp-block-image img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center 62%; border-radius: 0; }
.rrr-woodland-hero:has(.rrr-woodland-static) { display: block; min-height: 0; padding: 32px 24px; }
.rrr-woodland-hero:has(.rrr-woodland-static)::after { content: none; }
.rrr-woodland-static { position: relative; width: min(1180px, 100%); margin: 0 auto 32px; }
.rrr-woodland-static .rrr-woodland-slides { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 20px; }
.rrr-woodland-static .rrr-woodland-slides > .wp-block-group__inner-container { display: contents; }
.rrr-woodland-static .wp-block-image { position: static; opacity: 1; margin: 0; pointer-events: auto; }
.rrr-woodland-static .wp-block-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.rrr-woodland-static a { color: inherit; }
.rrr-woodland-hero__copy.wp-block-group { position: relative; z-index: 1; width: min(980px, 100%); max-width: none; margin: 0 auto; padding: 0; text-align: center; }
.rrr-woodland-hero__copy :is(h1,h2) { max-width: 17ch; margin: 20px auto; font-size: clamp(3.25rem, 6.5vw, 6.5rem); line-height: 1.03; letter-spacing: -.035em; text-wrap: balance; }
/* Full-bodied editorial serif for this visitor mode; other Ranch pages retain
   their western display face. Match real native Group wrappers in both views. */
.rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy :is(h1,h2), .rrr-woodland-page .rrr-woodland-section :is(h2,h3) { font-family: var(--serif, Georgia, "Times New Roman", serif); font-weight: 700; }
.rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy p:not(.rrr-woodland-kicker):not(.rrr-woodland-note) { max-width: 52ch; margin: 20px auto; font-size: clamp(1.25rem, 1.6vw, 1.5rem); font-weight: 550; line-height: 1.55; }
.rrr-woodland-page .rrr-woodland-kicker, .rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy .rrr-woodland-kicker { font: 800 .875rem/1.5 var(--sans, Arial, sans-serif); letter-spacing: .1em; text-transform: uppercase; }
.rrr-woodland-hero__copy .rrr-woodland-kicker:not(.has-text-color) { color: #f2d5a3; }
.rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy .rrr-woodland-note { margin: 16px auto 0; font-size: 1rem; font-weight: 600; line-height: 1.5; }
.rrr-woodland-page .wp-block-buttons, .rrr-woodland-hero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-block: 24px; }
.rrr-woodland-page .wp-block-button__link, .rrr-woodland-hero .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 26px; border: 1px solid currentColor; border-radius: 6px; font: 800 1.0625rem/1.4 var(--sans, Arial, sans-serif); letter-spacing: 0; text-transform: none; text-decoration: none; }
.rrr-woodland-page .is-style-ranch-gold .wp-block-button__link:not(.has-background), .rrr-woodland-hero .is-style-ranch-gold .wp-block-button__link:not(.has-background) { background: #e8c588; }
.rrr-woodland-page .is-style-ranch-gold .wp-block-button__link:not(.has-text-color), .rrr-woodland-hero .is-style-ranch-gold .wp-block-button__link:not(.has-text-color) { color: #142e24; }
.rrr-woodland-controls { position: absolute; z-index: 2; inset: auto 24px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; color: #fff8e9; }
.rrr-woodland-controls .slideshow-caption { position: static; display: grid; gap: 2px; margin: 0; padding: 0; max-width: min(55%, 460px); background: none; box-shadow: none; }
.rrr-woodland-controls .slideshow-caption span { font: 800 .8125rem/1.3 var(--sans, Arial, sans-serif); letter-spacing: .06em; text-transform: uppercase; }
.rrr-woodland-controls .slideshow-caption strong { font: 500 .875rem/1.4 var(--sans, Arial, sans-serif); }
.rrr-woodland-controls__buttons { display: flex; align-items: center; gap: 8px; }
.rrr-woodland-controls button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #fff8e961; border-radius: 6px; background: #10281fe6; color: #fff8e9; font: 700 .8rem/1 Arial, sans-serif; cursor: pointer; }
.rrr-woodland-controls .slideshow-count { position: static; margin: 0; padding: 0; font: 400 .7rem/1 Arial, sans-serif; }
.rrr-woodland-page :is(a,button):focus-visible, .rrr-woodland-hero :is(a,button):focus-visible { outline: 3px solid #ddac56; outline-offset: 4px; }
.rrr-woodland-section.wp-block-group { width: min(1520px, calc(100% - 80px)); max-width: none; margin: 0 auto; padding: clamp(32px, 3.5vw, 56px) 0; }
/* Classic-theme Group wrappers must not reintroduce the theme's narrow prose
   measure. Keep native editor wrappers intact and size the known inner node. */
.rrr-woodland-page > .wp-block-group__inner-container,
.rrr-woodland-section > .wp-block-group__inner-container { width: 100%; max-width: none; }
.rrr-woodland-section :is(h2,h3) { font: 700 clamp(2.125rem, 3.5vw, 3.75rem)/1.12 var(--serif, Georgia, "Times New Roman", serif); letter-spacing: -.025em; text-wrap: balance; margin: 0 0 24px; }
.rrr-woodland-page :is(.rrr-woodland-moments__intro,.rrr-woodland-day__copy,.rrr-woodland-intro,.rrr-woodland-cards,.rrr-woodland-story,.rrr-woodland-closing) p:not(.rrr-woodland-kicker) { font-size: clamp(1.125rem, 1.35vw, 1.375rem); font-weight: 500; line-height: 1.55; margin: 0 0 16px; }
.rrr-woodland-page .rrr-woodland-section .rrr-woodland-kicker { margin: 0 0 12px; }
.rrr-woodland-moments.wp-block-group { display: grid; grid-template-columns: .9fr 1fr 1fr; gap: 28px; align-items: center; }
.rrr-woodland-moments > .wp-block-group__inner-container,
.rrr-woodland-day > .wp-block-group__inner-container,
.rrr-woodland-story > .wp-block-group__inner-container,
.rrr-woodland-closing > .wp-block-group__inner-container { display: contents; }
.rrr-woodland-moments__intro.wp-block-group, .rrr-woodland-moment.wp-block-group,
.rrr-woodland-day__intro.wp-block-group, .rrr-woodland-day__copy.wp-block-group,
.rrr-woodland-closing__copy.wp-block-group { min-width: 0; margin: 0; padding: 0; }
.rrr-woodland-moment .wp-block-image { margin: 0 0 20px; }
.rrr-woodland-moment .wp-block-image img { display: block; width: 100%; aspect-ratio: 3/2; height: auto; object-fit: cover; border-radius: 12px; }
.rrr-woodland-page .rrr-woodland-moment h3 { font-size: clamp(1.5rem, 2vw, 2rem); margin-bottom: 10px; }
.rrr-woodland-page .rrr-woodland-moment p { font-size: 1.0625rem; }
.rrr-woodland-day.wp-block-group { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: center; border-top: 1px solid #cedbd1; }
.rrr-woodland-day__intro .wp-block-image { margin: 0 0 20px; }
.rrr-woodland-day__intro .wp-block-image img { display: block; width: 100%; max-height: 230px; object-fit: cover; object-position: center 55%; border-radius: 12px; }
.rrr-woodland-day__copy h2 { margin-bottom: 12px; }
.rrr-woodland-day .rrr-public-agenda { width: 100%; max-width: none; margin: 0; }
.rrr-woodland-booking .rrr-ticket-links.rrr-ticket-catalog { width: 100%; max-width: none; margin: 0; padding: clamp(24px, 3vw, 40px); border-radius: 16px; }
.rrr-woodland-booking .rrr-ticket-links__heading { max-width: 100%; }
.rrr-woodland-booking .rrr-ticket-links__grid { grid-template-columns: repeat(auto-fit,minmax(min(100%, 320px),1fr)); }
.rrr-woodland-intro { text-align: center; }
.rrr-woodland-page .rrr-woodland-intro p { max-width: 62ch; margin-inline: auto; }
.rrr-woodland-cards.wp-block-group { padding-top: 0; }
.rrr-woodland-cards .rrr-outreach-section__details { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; max-width: none; gap: 24px; margin: 0; }
.rrr-woodland-cards .wp-block-column { min-width: 0; margin: 0; padding: 36px; border: 1px solid #cedbd1; border-top: 4px solid #28583c; border-radius: 12px; }
.rrr-woodland-cards .wp-block-column:not(.has-background) { background: #fff; }
.rrr-woodland-cards h3 { font-size: clamp(1.625rem, 2.2vw, 2.25rem); }
.rrr-woodland-booking.wp-block-group { border-top: 1px solid #cedbd1; scroll-margin-top: 100px; }
.rrr-woodland-story.wp-block-group { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(24px,5vw,64px); padding-top: 0; }
.rrr-woodland-story .wp-block-image { margin: 0; }
.rrr-woodland-story img { width: 100%; height: auto; display: block; border-radius: 8px; }
.rrr-woodland-story__copy.wp-block-group { margin: 0; padding: 0; }
.rrr-woodland-closing.wp-block-group { display: flex; align-items: center; justify-content: space-between; gap: 32px; width: 100%; max-width: none; padding: 36px max(40px, calc((100% - 1520px)/2)); text-align: left; border-block: 3px solid #57754e; }
.rrr-woodland-closing__copy { flex: 1; }
.rrr-woodland-closing h2 { font-size: clamp(2rem, 3vw, 3rem); margin-bottom: 12px; }
.rrr-woodland-closing .wp-block-buttons { flex-shrink: 0; margin: 0; }
.rrr-woodland-page .rrr-woodland-closing:not(.has-background) { background-color: #142e24; }
.rrr-woodland-page .rrr-woodland-closing:not(.has-text-color) { color: #fff; }
/* Shared live modules adopt this page's cooler forest/paper palette without
   changing their behavior or their appearance in other page designs. */
.rrr-woodland-page .rrr-public-agenda { --agenda-paper: #fff; border-color: #cedbd1; }
.rrr-woodland-page .rrr-public-agenda .rrr-public-agenda__event { background: #edf4ee; }
.rrr-woodland-page .rrr-public-agenda :is(label,button,summary), .rrr-woodland-page .rrr-public-agenda .rrr-public-agenda__note { font-size: 1rem; }
.rrr-woodland-page .rrr-public-agenda .rrr-public-agenda__heading h3 { font-size: clamp(1.5rem, 2.3vw, 2rem); }
.rrr-woodland-page .rrr-ticket-links.rrr-ticket-catalog { --rrr-ticket-cream: #edf4ee; --rrr-ticket-paper: #fff; background: #edf4ee; }
.rrr-woodland-page .rrr-ticket-links__grid > a { background: #fff; }
.rrr-woodland-page .rrr-ticket-links__heading h2 { font-size: clamp(2rem, 3vw, 3rem); }
.rrr-woodland-page .rrr-ticket-links__grid h3, .rrr-woodland-page .rrr-ticket-catalog__inquiry h3 { font-size: clamp(1.625rem, 2vw, 2.125rem); }
.rrr-woodland-page .rrr-ticket-links__heading > span { font-size: clamp(1.125rem, 1.3vw, 1.25rem); line-height: 1.65; font-weight: 500; }
.rrr-woodland-page .rrr-ticket-links__grid small, .rrr-woodland-page .rrr-ticket-links__grid > a > strong, .rrr-woodland-page .rrr-ticket-catalog__steps li, .rrr-woodland-page .rrr-ticket-catalog__inquiry > a { font-size: 1rem; }
/* Native editor keeps ordinary Image blocks discoverable through List View.
   A selected background image remains visible while replacing/reordering it. */
.editor-styles-wrapper .rrr-woodland-hero > .wp-block-group__inner-container { position: static; width: 100%; max-width: none; }
.editor-styles-wrapper .rrr-woodland-hero .rrr-woodland-slides { position: absolute; inset: 0; margin: 0; padding: 0; z-index: -2; width: 100%; max-width: none; height: 100%; }
.editor-styles-wrapper .rrr-woodland-slides > .wp-block-group__inner-container { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.editor-styles-wrapper .rrr-woodland-slides .wp-block-image { position: absolute; inset: 0; margin: 0; width: 100%; max-width: none; height: 100%; opacity: 0; }
.editor-styles-wrapper .rrr-woodland-slides .wp-block-image:first-child { opacity: 1; }
.editor-styles-wrapper .rrr-woodland-slides .wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.editor-styles-wrapper .rrr-woodland-slides .wp-block-image.is-selected { z-index: 1; opacity: 1; }
@media (max-width: 782px) {
  .rrr-woodland-hero.wp-block-group { padding: 38px 20px 102px; }
  .rrr-woodland-hero__copy :is(h1,h2) { font-size: clamp(2.5rem, 10.8vw, 4.2rem); max-width: 16ch; margin-block: 16px; }
  .rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy p:not(.rrr-woodland-kicker):not(.rrr-woodland-note) { font-size: 1.125rem; line-height: 1.55; margin-block: 16px; }
  .rrr-woodland-page .rrr-woodland-kicker, .rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy .rrr-woodland-kicker { font-size: .8125rem; letter-spacing: .06em; }
  .rrr-woodland-hero.wp-block-group .rrr-woodland-hero__copy .rrr-woodland-note { font-size: .9375rem; }
  .rrr-woodland-controls { inset-inline: 20px; justify-content: center; }
  .rrr-woodland-controls .slideshow-caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .rrr-woodland-section.wp-block-group { width: calc(100% - 40px); padding-block: 40px; }
  .rrr-woodland-moments.wp-block-group { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .rrr-woodland-moments__intro { grid-column: 1 / -1; }
  .rrr-woodland-moment .wp-block-image img { aspect-ratio: 1; }
  .rrr-woodland-page .rrr-woodland-moment h3 { font-size: 1.375rem; }
  .rrr-woodland-page .rrr-woodland-moment p { font-size: 1rem; }
  .rrr-woodland-day.wp-block-group { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .rrr-woodland-day__intro .wp-block-image img { max-height: 180px; }
  .rrr-woodland-booking .rrr-ticket-links.rrr-ticket-catalog { padding: 22px 16px; }
  .rrr-woodland-closing.wp-block-group { flex-direction: column; align-items: start; gap: 16px; }
  .rrr-woodland-cards.wp-block-group { padding-top: 0; }
  .rrr-woodland-cards .rrr-outreach-section__details, .rrr-woodland-story.wp-block-group { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .rrr-woodland-cards .wp-block-column { padding: 24px; }
  .rrr-woodland-closing.wp-block-group { width: 100%; padding: 40px 20px; border-width: 3px; }
}
@media (prefers-reduced-motion: reduce) { .rrr-woodland-slideshow .rrr-woodland-slides .wp-block-image { transition: none; } }
