:root {
  --rcw-forest: #173f32;
  --rcw-cedar: #8a5135;
  --rcw-cream: #f5eedc;
  --rcw-charcoal: #242724;
  --rcw-wood: #b8875b;
  --rcw-sage: #81947a;
  --rcw-white: #ffffff;
  --rcw-space-xs: 0.5rem;
  --rcw-space-sm: 0.875rem;
  --rcw-space-md: 1.5rem;
  --rcw-space-lg: clamp(2rem, 4vw, 3.5rem);
  --rcw-space-xl: clamp(3rem, 7vw, 6rem);
  --rcw-radius-sm: 0.25rem;
  --rcw-radius-md: 0.5rem;
  --rcw-radius-lg: 1rem;
  --rcw-content: 760px;
  --rcw-wide: 1180px;
  --rcw-font-display: Georgia, "Times New Roman", serif;
  --rcw-font-body: "Trebuchet MS", "Segoe UI", sans-serif;
  --rcw-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--rcw-cream); color: var(--rcw-charcoal); font-family: var(--rcw-font-body); font-size: 1rem; line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rcw-forest); text-underline-offset: 0.2em; }
a:hover { color: var(--rcw-cedar); }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--rcw-wood); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { color: var(--rcw-forest); font-family: var(--rcw-font-display); line-height: 1.1; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 6vw, 4.75rem); }
h2 { font-size: clamp(1.75rem, 4vw, 3rem); }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button { min-height: 44px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 0.75rem; left: 0.75rem; width: auto; height: auto; padding: 0.75rem 1rem; clip: auto; background: var(--rcw-white); color: var(--rcw-charcoal); }
.rcw-shell { width: min(calc(100% - 2rem), var(--rcw-wide)); margin-inline: auto; }
.rcw-site-header { background: var(--rcw-forest); color: var(--rcw-white); }
.rcw-site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--rcw-space-md); min-height: 88px; padding-block: var(--rcw-space-sm); }
.rcw-brand { display: grid; gap: 0.15rem; }
.rcw-brand__name { color: var(--rcw-white); font-family: var(--rcw-font-display); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; text-decoration: none; }
.rcw-brand__tagline { color: var(--rcw-cream); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; }
.rcw-primary-nav__menu, .rcw-footer-nav { display: flex; flex-wrap: wrap; gap: var(--rcw-space-md); margin: 0; padding: 0; list-style: none; }
.rcw-primary-nav a { color: var(--rcw-white); font-weight: 700; text-decoration: none; }
.rcw-site-content { min-height: 55vh; }
.rcw-content-layout { padding-block: var(--rcw-space-lg); }
.rcw-entry { width: min(100%, var(--rcw-content)); margin-inline: auto; margin-bottom: var(--rcw-space-lg); }
.rcw-entry__content > * { max-width: 100%; }
.rcw-entry__content > .alignwide { width: min(100vw - 2rem, var(--rcw-wide)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.rcw-entry__content > .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.rcw-entry__image { display: block; margin-block: var(--rcw-space-md); }
.rcw-site-footer { padding-block: var(--rcw-space-lg); background: var(--rcw-charcoal); color: var(--rcw-cream); }
.rcw-site-footer__inner { display: flex; justify-content: space-between; gap: var(--rcw-space-lg); }
.rcw-site-footer a { color: var(--rcw-cream); }
.woocommerce .woocommerce-breadcrumb { margin-bottom: var(--rcw-space-md); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--rcw-forest); color: var(--rcw-white); border-radius: var(--rcw-radius-md); }

@media (max-width: 720px) {
  .rcw-site-header__inner, .rcw-site-footer__inner { align-items: flex-start; flex-direction: column; }
  .rcw-primary-nav__menu { gap: var(--rcw-space-sm) var(--rcw-space-md); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

