/*
Theme Name: Avada Child - CAC
Description: Child theme for Coalition of American Canyoneers (americancanyoneers.org), built from the full-site design mockup.
Author: Ryan Mallon
Template: Avada
Version: 2.0.0
Text Domain: cac-child
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,ital@9..144,400,500,600;9..144,1,500&family=Public+Sans:wght@400;500;600;700&display=swap');

:root {
  --rust: #B8804A;
  --rust-dark: #966843;
  --teal: #1B6E6E;
  --teal-dark: #124F4F;
  --sandstone: #C97C4C;
  --sage: #5C6B47;
  --sage-dark: #465136;
  --cream: #F3ECDC;
  --cream-light: #FAF6EC;
  --ink: #2B2A26;
  --ink-soft: #4A473F;
  --amber: #C48A2F;
  --line: rgba(43, 42, 38, 0.14);
  --white: #FFFFFF;

  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- Reset (scoped to CAC template wrapper to avoid clobbering Avada admin UI) ---------- */
.cac-site * { box-sizing: border-box; }
.cac-site img { max-width: 100%; display: block; }
.cac-site a { color: inherit; text-decoration: none; }

.cac-site {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--cream-light);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.cac-site .wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ---------- Typography ---------- */
.cac-site h1, .cac-site h2, .cac-site h3, .cac-site h4 {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.12;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.cac-site h1 { font-size: clamp(2.6rem, 5.5vw, 4.6rem); font-weight: 500; }
.cac-site h2 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); }
.cac-site h3 { font-size: 1.35rem; }

.cac-site .eyebrow {
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rust);
}

.cac-site p.lede {
  font-size: 1.18rem;
  color: var(--ink-soft);
  max-width: 60ch;
}

/* ---------- Header / Nav ---------- */
.cac-site header.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--cream-light);
  border-bottom: 1px solid var(--line);
}
.cac-site .nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 32px;
  max-width: 1180px;
  margin: 0 auto;
  gap: 24px;
}
.cac-site .logo-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.cac-site .logo-mark {
  width: 40px; height: 40px;
  background: var(--rust);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--cream-light);
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.1rem;
  overflow: hidden;
}
.cac-site .logo-text {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.08rem;
  color: var(--ink);
  line-height: 1.15;
}
.cac-site .logo-text small {
  display: block;
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--sage);
  text-transform: uppercase;
}
.cac-site nav.main-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
.cac-site nav.main-nav ul { list-style: none; display: flex; gap: 30px; flex-wrap: wrap; }
.cac-site nav.main-nav a {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink-soft);
  white-space: nowrap;
}
.cac-site nav.main-nav a:hover, .cac-site nav.main-nav .current-menu-item > a { color: var(--rust); }
.cac-site .nav-ctas { display: flex; gap: 10px; flex-shrink: 0; }

/* Mobile menu toggle - hidden on desktop, shown below 900px (see media queries at the end). */
.cac-site .nav-toggle { display: none; }

/*
 * All CTAs are solid-fill (no transparent/outline buttons anywhere).
 * Global hover interaction: a physical pop (lift + shadow) combined with
 * a color change (each variant darkens its own fill on hover).
 */
.cac-site .btn {
  display: inline-block;
  font-family: var(--sans);
  font-weight: 700;
  font-size: 0.88rem;
  padding: 11px 22px;
  border-radius: 100px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.cac-site .btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.2);
}
.cac-site .btn-solid {
  background: var(--sage);
  color: var(--cream-light);
  border-color: var(--sage);
}
.cac-site .btn-solid:hover { background: var(--sage-dark); border-color: var(--sage-dark); }
.cac-site .btn-outline {
  background: var(--rust);
  color: var(--cream-light);
  border-color: var(--rust);
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.cac-site .btn-outline:hover { background: var(--rust-dark); border-color: var(--rust-dark); }
.cac-site .btn-cream-outline {
  background: var(--cream-light);
  color: var(--ink);
  border-color: var(--cream-light);
}
.cac-site .btn-cream-outline:hover { background: var(--cream); border-color: var(--cream); }
.cac-site .btn-rust-solid {
  background: var(--rust);
  color: var(--cream-light);
  border-color: var(--rust);
  box-shadow: 0 4px 18px rgba(0,0,0,0.28);
  font-weight: 700;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.cac-site .btn-rust-solid:hover { background: var(--rust-dark); border-color: var(--rust-dark); }
.cac-site .btn-ink-outline {
  background: var(--cream-light);
  color: var(--ink);
  border-color: var(--cream-light);
  font-weight: 700;
}
.cac-site .btn-ink-outline:hover { background: var(--cream); border-color: var(--cream); }

/* ---------- Hero ---------- */
.cac-site .hero {
  position: relative;
  min-height: 84vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center 30%;
  overflow: hidden;
}
.cac-site .hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,18,14,0.15) 0%, rgba(20,18,14,0.35) 55%, rgba(20,18,14,0.86) 100%);
}
.cac-site .hero-content {
  position: relative;
  z-index: 2;
  padding: 0 32px 68px;
  max-width: 1180px;
  margin: 0 auto;
  width: 100%;
  color: var(--cream-light);
}
.cac-site .hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cream-light);
  opacity: 0.92;
  margin-bottom: 18px;
}
.cac-site .hero-eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--amber); }
.cac-site .hero h1 {
  color: var(--white);
  max-width: 15ch;
  margin-bottom: 20px;
}
.cac-site .hero p.lede {
  color: rgba(250,246,236,0.88);
  margin-bottom: 32px;
}
.cac-site .hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- Rope/Anchor route line (signature element) ---------- */
.cac-site .route-section {
  padding: 90px 0 70px;
  background: var(--cream-light);
}
.cac-site .route-line {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto 0;
  padding: 0 10px;
}
.cac-site .route-line::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  height: 2px;
  background-image: linear-gradient(90deg, var(--rust) 0 8px, transparent 8px 16px);
  background-size: 16px 2px;
  background-repeat: repeat-x;
  opacity: 0.55;
}
.cac-site .anchor-point {
  position: relative;
  z-index: 2;
  flex: 1;
  text-align: center;
  padding: 0 14px;
}
.cac-site .anchor-dot {
  width: 17px; height: 17px;
  border-radius: 50%;
  background: var(--cream-light);
  border: 2.5px solid var(--rust);
  margin: 0 auto 22px;
}
.cac-site .anchor-point h3 {
  font-size: 1.05rem;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
.cac-site .anchor-point p {
  font-size: 0.92rem;
  color: var(--ink-soft);
}

/* ---------- Mission Statement Band ---------- */
.cac-site .mission-band {
  background: var(--rust);
  color: var(--cream-light);
  padding: 84px 0;
  text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}
.cac-site .mission-band .wrap { max-width: 880px; text-align: center; }
.cac-site .mission-band .eyebrow { color: var(--cream-light); opacity: 0.85; }
.cac-site .mission-band h2 {
  color: var(--white);
  font-weight: 500;
  font-style: italic;
  margin: 20px 0 0;
  line-height: 1.28;
}
.cac-site .mission-band strong { font-style: normal; color: var(--white); text-decoration: underline; text-decoration-color: rgba(255,255,255,0.45); text-underline-offset: 3px; }

/* ---------- Section headers ---------- */
.cac-site .section { padding: 90px 0; }
.cac-site .section-alt { background: var(--cream); }
.cac-site .section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  gap: 24px;
  flex-wrap: wrap;
}
.cac-site .section-head h2 { margin-top: 10px; }

/* ---------- News cards ---------- */
.cac-site .news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cac-site .news-card {
  background: var(--cream-light);
  border: 1px solid var(--line);
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cac-site .news-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(43,42,38,0.1); }
.cac-site .news-card-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sage);
  background: rgba(92,107,71,0.1);
  padding: 4px 10px;
  border-radius: 100px;
  margin-bottom: 14px;
}
.cac-site .news-card-body { padding: 22px; }
.cac-site .news-card h3 { font-size: 1.08rem; line-height: 1.3; margin-bottom: 10px; }
.cac-site .news-card .date { font-size: 0.78rem; color: var(--ink-soft); opacity: 0.75; }

/* ---------- Access / Campaign Cards ---------- */
.cac-site .campaign-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cac-site .campaign-card {
  background: var(--cream-light);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 26px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cac-site .campaign-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(43,42,38,0.1); }
.cac-site .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 100px;
  margin-bottom: 16px;
}
.cac-site .status-badge .dot { width: 6px; height: 6px; border-radius: 50%; }
.cac-site .status-active { background: rgba(184,128,74,0.1); color: var(--rust); }
.cac-site .status-active .dot { background: var(--rust); }
.cac-site .status-monitoring { background: rgba(196,138,47,0.12); color: var(--amber); }
.cac-site .status-monitoring .dot { background: var(--amber); }
.cac-site .status-resolved { background: rgba(92,107,71,0.12); color: var(--sage); }
.cac-site .status-resolved .dot { background: var(--sage); }
.cac-site .campaign-card h3 { font-size: 1.1rem; margin-bottom: 10px; }
.cac-site .campaign-card p { font-size: 0.92rem; color: var(--ink-soft); margin-bottom: 16px; }
.cac-site .campaign-card a.read-link {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--rust);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ---------- Get Involved split ---------- */
.cac-site .involve-split { display: grid; grid-template-columns: 1fr 1fr; }
.cac-site .involve-panel {
  padding: 90px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cac-site .involve-panel.join { background: var(--sage); color: var(--cream-light); }
.cac-site .involve-panel.donate {
  background: var(--ink);
  color: var(--cream-light);
  background-size: cover;
  background-position: center;
  position: relative;
}
.cac-site .involve-panel.donate::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(43,42,38,0.92), rgba(43,42,38,0.72));
}
.cac-site .involve-panel > * { position: relative; z-index: 2; }
.cac-site .involve-panel .eyebrow { color: var(--cream-light); margin-bottom: 14px; }
.cac-site .involve-panel h2 { color: var(--white); margin-bottom: 16px; }
.cac-site .involve-panel p { color: rgba(250,246,236,0.85); margin-bottom: 28px; max-width: 42ch; }

.cac-site .tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 34px 0 8px; }
.cac-site .tier-card { border: 2px solid rgba(250,246,236,0.25); border-radius: 8px; padding: 26px; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.cac-site a.tier-card { display: block; color: inherit; text-decoration: none; }
.cac-site .tier-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,0.25); }
.cac-site .tier-card.featured { border-color: var(--amber); background: rgba(196,138,47,0.1); }
.cac-site .tier-amount { font-family: var(--serif); font-size: 2.1rem; color: var(--cream-light); margin-bottom: 6px; }
.cac-site .tier-label { font-size: 0.82rem; color: rgba(250,246,236,0.7); margin-bottom: 18px; }

/* ---------- Footer ---------- */
.cac-site footer.site-footer { background: var(--ink); color: var(--cream-light); padding: 64px 0 30px; }
.cac-site .footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(250,246,236,0.14);
}
.cac-site .footer-grid h4 {
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 18px;
}
.cac-site .footer-grid a, .cac-site .footer-grid p { color: rgba(250,246,236,0.72); font-size: 0.92rem; }
.cac-site .footer-grid ul { list-style: none; margin: 0; padding: 0; }
.cac-site .footer-grid li { margin-bottom: 10px; list-style: none; }
.cac-site .footer-grid a:hover { color: var(--cream-light); }
.cac-site .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 26px;
  font-size: 0.8rem;
  color: rgba(250,246,236,0.5);
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- Page hero (interior pages) ---------- */
.cac-site .page-hero { padding: 70px 0 60px; background: var(--cream); border-bottom: 1px solid var(--line); }
.cac-site .page-hero .eyebrow { margin-bottom: 14px; }
.cac-site .page-hero p.lede { margin-top: 16px; }

/* ---------- Content prose blocks ---------- */
.cac-site .prose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.cac-site .prose-block h3 { margin-bottom: 14px; }
.cac-site .prose-block p { color: var(--ink-soft); margin-bottom: 14px; }

/* ---------- Board grid ---------- */
.cac-site .board-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
/*
 * Every board/advisory photo on the live site is a small original
 * (~140-150px wide, regardless of upload date) - capping at 160px here
 * keeps them at or near native resolution so they stay crisp instead of
 * being stretched blurry across a full-width grid column.
 */
.cac-site .board-photo {
  max-width: 160px;
  margin: 0 0 16px;
  border-radius: 6px;
  overflow: hidden;
  line-height: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cac-site .board-card:hover .board-photo { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(43,42,38,0.1); }
.cac-site .board-photo img { display: block; width: 100%; height: auto; }
.cac-site .board-card h3 { font-size: 1.05rem; margin-bottom: 3px; }
.cac-site .board-role { font-size: 0.82rem; color: var(--rust); font-weight: 700; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.04em; }
.cac-site .board-card p { font-size: 0.9rem; color: var(--ink-soft); margin-bottom: 12px; }
.cac-site .board-card p:last-child { margin-bottom: 0; }

/* ---------- Resources page ---------- */
.cac-site .resource-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.cac-site .resource-card { background: var(--cream); border: 1px solid var(--line); border-radius: 10px; padding: 24px 26px; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.cac-site .resource-card:hover { box-shadow: 0 14px 30px rgba(43,42,38,0.1); transform: translateY(-4px); }
.cac-site .resource-card h3 { font-size: 1rem; line-height: 1.3; margin: 0 0 14px; }
.cac-site .resource-chips { display: flex; flex-direction: column; }
.cac-site .resource-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--teal-dark);
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 10px 0;
  text-decoration: none;
  transition: color 0.15s ease, padding-left 0.15s ease;
}
.cac-site .resource-chip:last-child { border-bottom: none; }
.cac-site .resource-chip:hover { color: var(--teal); padding-left: 4px; }
.cac-site .resource-chip::after { content: "\2197"; font-size: 0.72rem; opacity: 0.6; flex-shrink: 0; }

/* ---------- Contact form ---------- */
.cac-site .contact-form { max-width: 640px; margin: 0 auto; text-align: left; }
.cac-site .contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.cac-site .contact-form label { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 8px; }
.cac-site .contact-form input, .cac-site .contact-form select, .cac-site .contact-form textarea {
  width: 100%;
  padding: 13px 16px;
  border-radius: 8px;
  border: 1.5px solid var(--line);
  font-family: var(--sans);
  font-size: 0.95rem;
  color: var(--ink);
  background: var(--white);
}
.cac-site .contact-form input:focus, .cac-site .contact-form select:focus, .cac-site .contact-form textarea:focus {
  outline: none;
  border-color: var(--rust);
}
.cac-site .contact-form textarea { resize: vertical; min-height: 140px; }
.cac-site .contact-form .field-block { margin-bottom: 20px; }
.cac-site .form-success { background: rgba(92,107,71,0.12); border: 1px solid var(--sage); color: var(--sage-dark); border-radius: 8px; padding: 18px 22px; margin-bottom: 24px; font-weight: 600; }
.cac-site .form-error { background: rgba(184,128,74,0.12); border: 1px solid var(--rust); color: var(--rust-dark); border-radius: 8px; padding: 18px 22px; margin-bottom: 24px; font-weight: 600; }

/* ---------- Blog / News ---------- */
.cac-site .filter-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.cac-site .filter-pill {
  font-size: 0.82rem;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 100px;
  border: 1.5px solid var(--line);
  color: var(--ink-soft);
  display: inline-block;
}
.cac-site .filter-pill.active { background: var(--rust); border-color: var(--rust); color: var(--cream-light); font-weight: 700; text-shadow: 0 1px 2px rgba(0,0,0,0.4); }
.cac-site .filter-pill:hover:not(.active) { border-color: var(--rust); color: var(--rust); }

.cac-site .featured-post { display: grid; grid-template-columns: 1.15fr 1fr; gap: 46px; align-items: center; margin-bottom: 90px; }
.cac-site .featured-post img { width: 100%; height: 380px; object-fit: cover; border-radius: 6px; }
.cac-site .featured-post .eyebrow { margin-bottom: 16px; }
.cac-site .featured-post h2 { margin-bottom: 18px; }
.cac-site .featured-post p { color: var(--ink-soft); margin-bottom: 22px; }
.cac-site .featured-meta { display: flex; align-items: center; gap: 14px; font-size: 0.85rem; color: var(--ink-soft); margin-bottom: 22px; }
.cac-site .featured-meta .sep { opacity: 0.4; }

.cac-site .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.cac-site .blog-card {
  background: var(--cream-light);
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cac-site .blog-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(43,42,38,0.1); }
.cac-site .blog-card img { width: 100%; height: 190px; object-fit: cover; }
.cac-site .blog-card-body { padding: 22px; }
.cac-site .blog-card h3 { font-size: 1.05rem; line-height: 1.32; margin-bottom: 12px; }
.cac-site .blog-card .date { font-size: 0.78rem; color: var(--ink-soft); opacity: 0.75; }

.cac-site .newsletter-band { background: var(--sage); color: var(--cream-light); padding: 64px 0; text-align: center; }
.cac-site .newsletter-band .eyebrow { color: var(--cream-light); margin-bottom: 14px; }
.cac-site .newsletter-band h2 { color: var(--white); margin-bottom: 14px; }
.cac-site .newsletter-band p { color: rgba(250,246,236,0.85); max-width: 50ch; margin: 0 auto 28px; }
.cac-site .newsletter-form { display: flex; gap: 10px; justify-content: center; max-width: 420px; margin: 0 auto; }
.cac-site .newsletter-form input {
  flex: 1;
  padding: 13px 18px;
  border-radius: 100px;
  border: none;
  font-family: var(--sans);
  font-size: 0.92rem;
}

/* ---------- Single post ---------- */
.cac-site .post-hero { padding: 50px 0 40px; background: var(--cream); border-bottom: 1px solid var(--line); }
.cac-site .post-hero .cat-tags { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.cac-site .post-hero .cat-tag { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 12px; border-radius: 100px; background: rgba(184,128,74,0.1); color: var(--rust); }
.cac-site .post-hero h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin-bottom: 16px; }
.cac-site .post-meta { font-size: 0.88rem; color: var(--ink-soft); }
.cac-site .post-meta .sep { margin: 0 8px; opacity: 0.4; }
.cac-site .post-body { max-width: 740px; margin: 0 auto; padding: 60px 32px; }
.cac-site .post-body p { color: var(--ink-soft); font-size: 1.05rem; line-height: 1.75; margin-bottom: 22px; }
.cac-site .post-body h2 { font-size: 1.3rem; margin: 34px 0 14px; }
.cac-site .post-body img { width: 100%; border-radius: 6px; margin: 12px 0 26px; }
.cac-site .post-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 26px 0; }
.cac-site .post-img-grid img { margin: 0; height: 260px; object-fit: cover; }
.cac-site .post-cta { background: var(--cream); border: 1px solid var(--line); border-radius: 8px; padding: 30px; text-align: center; margin-top: 40px; }
.cac-site .post-cta p { margin-bottom: 18px; }
.cac-site .post-cta .btn { margin: 0 6px; }
.cac-site .back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 0.88rem; font-weight: 700; color: var(--rust); margin-bottom: 22px; }

/* ---------- Store ---------- */
.cac-site .store-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px 34px; }
.cac-site .product-card { background: transparent; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.cac-site .product-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(43,42,38,0.1); }
.cac-site .product-card img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
  mix-blend-mode: multiply;
  margin-bottom: 18px;
}
.cac-site .product-body h3 { font-size: 0.96rem; margin-bottom: 8px; line-height: 1.32; padding: 0 6px; }
.cac-site .product-price { font-family: var(--serif); font-size: 1.2rem; color: var(--rust); margin-bottom: 14px; }
.cac-site .store-divider { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 0 0 54px; }
.cac-site .store-divider .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--rust); opacity: 0.5; }
.cac-site .store-divider .dash { width: 40px; height: 1px; background: var(--line); }

/* ---------- Utility ---------- */
.cac-site .divider-img { width: 100%; height: 340px; object-fit: cover; }

@media (max-width: 900px) {
  .cac-site nav.main-nav { display: none; }
  .cac-site .nav-row { flex-wrap: wrap; gap: 12px; }
  .cac-site .nav-toggle {
    display: inline-flex; align-items: center; gap: 10px;
    background: transparent; border: 1px solid var(--line); border-radius: 999px;
    padding: 10px 16px; cursor: pointer;
    /* !important: Avada forces Montserrat on every <button> with !important */
    font-family: var(--sans) !important; font-size: 0.9rem; font-weight: 700; color: var(--ink);
  }
  .cac-site .nav-toggle-bars,
  .cac-site .nav-toggle-bars::before,
  .cac-site .nav-toggle-bars::after {
    display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px;
    transition: transform 0.2s ease, background-color 0.2s ease;
  }
  .cac-site .nav-toggle-bars { position: relative; }
  .cac-site .nav-toggle-bars::before,
  .cac-site .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
  .cac-site .nav-toggle-bars::before { top: -6px; }
  .cac-site .nav-toggle-bars::after { top: 6px; }
  .cac-site .nav-open .nav-toggle-bars { background: transparent; }
  .cac-site .nav-open .nav-toggle-bars::before { transform: translateY(6px) rotate(45deg); }
  .cac-site .nav-open .nav-toggle-bars::after { transform: translateY(-6px) rotate(-45deg); }
  .cac-site .site-header.nav-open nav.main-nav {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    order: 10; width: 100%;
    border-top: 1px solid var(--line); padding-top: 6px;
  }
  .cac-site .site-header.nav-open nav.main-nav li { list-style: none; }
  .cac-site .site-header.nav-open nav.main-nav a {
    display: block; padding: 14px 4px; font-size: 1.05rem;
    border-bottom: 1px solid var(--line);
  }
  .cac-site .news-grid { grid-template-columns: repeat(2, 1fr); }
  .cac-site .campaign-grid { grid-template-columns: 1fr; }
  .cac-site .route-line { flex-direction: column; gap: 30px; }
  .cac-site .route-line::before { display: none; }
  .cac-site .involve-split { grid-template-columns: 1fr; }
  .cac-site .footer-grid { grid-template-columns: 1fr 1fr; }
  .cac-site .prose-grid { grid-template-columns: 1fr; }
  .cac-site .board-grid { grid-template-columns: 1fr 1fr; }
  .cac-site .resource-columns { grid-template-columns: 1fr; }
  .cac-site .featured-post { grid-template-columns: 1fr; }
  .cac-site .blog-grid { grid-template-columns: 1fr; }
  .cac-site .newsletter-form { flex-direction: column; }
  .cac-site .store-grid { grid-template-columns: repeat(2, 1fr); }
  .cac-site .contact-form .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .cac-site .nav-row { padding: 12px 16px; gap: 10px; }
  /* flex-basis 0 so the logo shrinks (and its text wraps) instead of pushing the Menu button onto a second row */
  .cac-site .logo-lockup { flex: 1 1 0; min-width: 0; gap: 10px; }
  .cac-site .logo-text { font-size: 0.95rem; }
  .cac-site .nav-toggle { padding: 9px 13px; gap: 8px; }
  .cac-site .nav-ctas { display: none; }
  .cac-site .site-header.nav-open .nav-ctas {
    display: flex; flex-direction: column; gap: 10px;
    order: 11; width: 100%; padding: 6px 0 10px;
  }
  .cac-site .site-header.nav-open .nav-ctas .btn { text-align: center; }
  .cac-site .involve-panel { padding: 56px 20px; }
  .cac-site .tier-grid { grid-template-columns: 1fr; gap: 12px; }
  .cac-site .tier-card { padding: 18px; }
}

/* ==========================================================================
   v34 (board-approved design, 2 Nov 2026). Added on top of v1.0.3-v1.0.5.
   ========================================================================== */
/* CAC site CSS added on top of child theme v1.0.3 for the v34 board-review version.
   Review-only tooling (photo map, crop picker, review badge, mock forms) has been removed. */

/* ===== Header: canyon-orange background ===== */
/* Persistent header: canyon-orange background from the CAC email header */
body.cac-site .site-header {
  background-color: #9C4E24;
  background-image: url('images/header-canyon-orange-bg.jpg');
  background-size: cover;
  background-position: center 8%;
  background-repeat: no-repeat;
  border-bottom: 1px solid rgba(0,0,0,0.25);
  box-shadow: 0 2px 10px rgba(0,0,0,0.18);
}
body.cac-site .site-header .logo-text,
body.cac-site .site-header nav.main-nav a,
body.cac-site .site-header .nav-toggle {
  color: #FFFFFF;
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}
body.cac-site .site-header nav.main-nav a:hover,
body.cac-site .site-header nav.main-nav .current-menu-item > a {
  color: #F3E3C3;
}
body.cac-site .site-header .logo-mark { background: transparent; box-shadow: 0 0 0 2px rgba(255,255,255,0.9), 0 2px 6px rgba(0,0,0,0.35); }
/* Donate button: rust-on-rust would disappear, so outline it in white */
body.cac-site .site-header .nav-ctas .btn-outline {
  background: transparent;
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.9);
  text-shadow: 0 1px 3px rgba(0,0,0,0.45);
}
body.cac-site .site-header .nav-ctas .btn-outline:hover {
  background: #FFFFFF;
  color: #8A3F1A;
  border-color: #FFFFFF;
  text-shadow: none;
}
body.cac-site .site-header .nav-toggle { border-color: rgba(255,255,255,0.7); }
/* Mobile open menu: keep dividers visible on the dark background */
body.cac-site .site-header.nav-open nav.main-nav,
body.cac-site .site-header.nav-open nav.main-nav a { border-color: rgba(255,255,255,0.25); }
@media (min-width: 901px) { body.cac-site .site-header .nav-row { padding-top: 26px; padding-bottom: 26px; } body.cac-site .site-header .logo-mark { width: 48px; height: 48px; } }


/* ===== Site styles (v6 to v34) ===== */
/* Footer background photo */
.site-footer{position:relative;background-color:#1f1a16 !important;background-image:linear-gradient(rgba(24,18,14,.62),rgba(24,18,14,.78)),url('images/footer-photo-a.jpg') !important;background-size:cover !important;background-position:center center !important}
.site-footer,.site-footer a,.site-footer h4,.site-footer p{text-shadow:0 1px 3px rgba(0,0,0,.6)}.pm-inv{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:10px}.pm-inv th,.pm-inv td{border-bottom:1px solid rgba(0,0,0,.12);padding:9px 8px;text-align:left;vertical-align:top}.pm-inv th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#6b5a4a}.pm-inv td:last-child{min-width:150px;border-left:1px dashed rgba(0,0,0,.15)}.pm-chip{display:inline-block;color:#fff;font-weight:700;font-size:.78rem;padding:3px 8px;border-radius:5px;white-space:nowrap}.pm-inv small{color:#7a6a5a}

.icad-feature{background:var(--cream,#F3ECDC);padding:72px 0;border-top:1px solid var(--line)}
.icad-card{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-left:8px solid var(--rust);border-radius:14px;padding:36px 40px;box-shadow:0 14px 34px rgba(43,42,38,.10)}
.icad-badge{width:96px;height:96px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:800 1.15rem/1 var(--sans);letter-spacing:.12em;box-shadow:0 0 0 6px rgba(184,128,74,.25)}
.icad-body .eyebrow{color:var(--rust-dark,#966843)}
.icad-body h2{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;margin:8px 0 12px;color:var(--ink)}
.icad-body p{color:var(--ink-soft);font-size:1rem;line-height:1.6;margin:0;max-width:60ch}
.icad-actions{display:flex;flex-direction:column;gap:12px;min-width:250px}
.icad-actions .btn{text-align:center;justify-content:center}
body.cac-site .icad-actions a.btn.icad-btn-primary{background:var(--ink)!important;color:#fff!important;border:2px solid var(--ink)!important;text-shadow:none!important}
body.cac-site .icad-actions a.btn.icad-btn-primary:hover{background:var(--rust)!important;border-color:var(--rust)!important}
body.cac-site .icad-actions a.btn.icad-btn-secondary{background:transparent!important;color:var(--ink)!important;border:2px solid var(--ink)!important;text-shadow:none!important}
body.cac-site .icad-actions a.btn.icad-btn-secondary:hover{background:var(--ink)!important;color:#fff!important}
.icad-url{font:600 .8rem var(--sans);color:var(--ink-soft);text-align:center;letter-spacing:.04em}
@media (max-width:900px){.icad-card{grid-template-columns:1fr;text-align:left;padding:28px 24px;gap:20px}.icad-badge{width:72px;height:72px;font-size:.95rem}.icad-actions{min-width:0}}
body.cac-site .mc4wp-form input[type=submit]{display:inline-block;background:var(--sage,#5C6B47);color:#fff;border:2px solid var(--sage,#5C6B47);border-radius:100px;padding:13px 30px;font:700 .95rem "Public Sans",system-ui,sans-serif;cursor:pointer;transition:background .2s,color .2s}
body.cac-site .mc4wp-form input[type=submit]:hover{background:transparent;color:var(--sage,#5C6B47)}
body.cac-site .mc4wp-form input[type=submit]:disabled{opacity:.6;cursor:wait}

/* ===== Unified homepage cards ===== */
body.cac-site .cac-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:28px !important;align-items:stretch}
@media (max-width:980px){body.cac-site .cac-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:640px){body.cac-site .cac-grid{grid-template-columns:1fr !important;gap:20px !important}}
body.cac-site a.cac-card,body.cac-site .icad-card{position:relative;display:flex;flex-direction:column;background:#fff !important;border:1px solid rgba(43,42,38,.10) !important;border-radius:14px !important;overflow:hidden;box-shadow:0 6px 20px rgba(43,42,38,.07);color:var(--ink) !important;text-decoration:none !important;padding:0 !important;transition:transform .25s ease,box-shadow .25s ease}
body.cac-site a.cac-card::before,body.cac-site .icad-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--rust);z-index:2;transition:height .25s ease}
body.cac-site a.cac-card:hover,body.cac-site .icad-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(43,42,38,.17)}
body.cac-site a.cac-card:hover::before,body.cac-site .icad-card:hover::before{height:7px}
body.cac-site a.cac-card:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
body.cac-site .cac-card-media{height:210px;background:linear-gradient(135deg,#efe3cf,#e2cfb2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(43,42,38,.08)}
body.cac-site .cac-card-media img{width:100% !important;height:100% !important;object-fit:contain !important;background:transparent !important;padding:12px 12px 6px;transition:transform .35s ease}
body.cac-site a.cac-card:hover .cac-card-media img{transform:scale(1.04)}
body.cac-site .cac-card-body{display:flex;flex-direction:column;flex:1;padding:26px 24px 22px}
body.cac-site .cac-card .status-badge{align-self:flex-start;margin:0 0 14px !important}
body.cac-site .status-topic{background:rgba(92,107,71,.12);color:var(--sage)}
body.cac-site .cac-card h3{font-family:var(--serif);font-size:1.18rem !important;line-height:1.3 !important;margin:0 0 10px !important;color:var(--ink);transition:color .2s}
body.cac-site a.cac-card:hover h3{color:var(--rust)}
body.cac-site .cac-card-text{font-size:.93rem !important;line-height:1.6;color:var(--ink-soft) !important;margin:0 0 16px !important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body.cac-site .cac-card-meta{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--ink-soft);opacity:.85;margin:0 0 16px}
body.cac-site .cac-card-cta{margin-top:auto;padding-top:14px;border-top:1px solid rgba(43,42,38,.08);font:700 .88rem var(--sans);color:var(--rust);display:flex;align-items:center;gap:6px}
body.cac-site .cac-card-cta span{transition:transform .2s ease}
body.cac-site a.cac-card:hover .cac-card-cta span{transform:translateX(5px)}
body.cac-site .icad-card{border-left:1px solid rgba(43,42,38,.10) !important;padding:38px 40px !important;display:grid}
@media (max-width:900px){body.cac-site .icad-card{padding:30px 24px !important}}

/* ===== News / archives ===== */
body.cac-site .page-hero.has-photo{background-size:cover !important;background-position:center;color:#fff;border-bottom:none;padding:110px 0 96px}
body.cac-site .page-hero.has-photo h1,body.cac-site .page-hero.has-photo .lede{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}
body.cac-site .page-hero.has-photo .eyebrow{color:#f3e3c3;text-shadow:0 1px 4px rgba(0,0,0,.5)}
body.cac-site .news-filter{padding:28px 0 0 !important}
body.cac-site .news-filter .filter-row{margin:0}
body.cac-site .cac-card-media.cover{background:#e2cfb2}
body.cac-site .cac-card-media.cover img{object-fit:cover !important;padding:0 !important}
body.cac-site .news-more{margin-top:26px;font-size:.88rem;color:var(--ink-soft)}
body.cac-site .news-more a,body.cac-site .news-archive-link a{color:var(--teal,#1B6E6E);font-weight:700}
body.cac-site .news-empty{color:var(--ink-soft);font-style:italic}
body.cac-site .news-archive-link{padding:28px 0 40px !important;text-align:center}
body.cac-site .news-archive-link p{font-size:.82rem;color:var(--ink-soft)}
body.cac-site a.icad-url{text-decoration:underline;text-underline-offset:3px;color:var(--teal-dark,#124F4F) !important}
body.cac-site a.icad-url:hover{color:var(--rust) !important}

body.cac-site .status-completed{background:rgba(92,107,71,.12);color:var(--sage)} body.cac-site .status-completed .dot{background:var(--sage)}
body.cac-site .status-ongoing{background:rgba(27,110,110,.1);color:var(--teal,#1B6E6E)} body.cac-site .status-ongoing .dot{background:var(--teal,#1B6E6E)}
/* Resources: full-page photo matching the live site */
body.cac-site .res-bg{background-color:#27500A;background-size:cover;background-position:center center;background-attachment:fixed}
@media (max-width:900px){body.cac-site .res-bg{background-attachment:scroll}}
body.cac-site .res-bg>section,body.cac-site .res-bg .page-hero,body.cac-site .res-bg .icad-feature{background:transparent !important;border:none !important}
body.cac-site .res-bg .page-hero h1,body.cac-site .res-bg .page-hero .lede,body.cac-site .res-bg .page-hero .eyebrow,
body.cac-site .res-bg #resources>.wrap>.eyebrow,body.cac-site .res-bg #resources>.wrap>h2,body.cac-site .res-bg #resources>.wrap>.lede{color:#fff !important;text-shadow:0 2px 8px rgba(0,0,0,.55)}
body.cac-site .res-bg .resource-card{background:rgba(250,246,236,.96) !important}

/* ---- v6: photo spots ---- */
body.cac-site .mission-band.has-photo,body.cac-site .involve-panel.has-photo,body.cac-site .icad-feature.has-photo{background-size:cover;background-position:center;background-repeat:no-repeat}
body.cac-site .mission-band.has-photo{padding:104px 0}
body.cac-site .involve-panel.join.has-photo{text-shadow:0 2px 6px rgba(0,0,0,.4)}
body.cac-site .involve-panel.donate.has-photo::before{background:linear-gradient(120deg,rgba(43,42,38,.86),rgba(43,42,38,.58))}
body.cac-site .icad-feature.has-photo{border-top:none;padding:96px 0}
body.cac-site .pillar-photo{display:block;width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 18px;border:4px solid #fff;box-shadow:0 8px 20px rgba(43,42,38,.18)}
body.cac-site .prose-photo{display:block;width:100%;height:210px;object-fit:cover;border-radius:10px;margin-bottom:20px;box-shadow:0 8px 22px rgba(43,42,38,.12)}
body.cac-site .form-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:52px;align-items:center;max-width:1120px;margin:0 auto}
body.cac-site .form-photo{margin:0;border-radius:14px;overflow:hidden;height:460px;box-shadow:0 14px 34px rgba(43,42,38,.14)}
body.cac-site .form-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.cac-site .form-split .contact-form{max-width:none;margin:0}
body.cac-site .res-band{height:300px;display:block;object-position:center 80%}
@media (max-width:860px){
 body.cac-site .form-split{grid-template-columns:1fr;gap:28px}
 body.cac-site .form-photo{min-height:0;height:230px}
 body.cac-site .prose-photo{height:180px}
 body.cac-site .res-band{height:200px}
 body.cac-site .mission-band.has-photo{padding:72px 0}
}

/* ---- v7: one seamless scheme for every post and page ---- */
body.cac-site,body.cac-site #wrapper,body.cac-site #main{background:var(--cream-light)}
body.cac-site .post-hero{background:var(--cream);border-bottom:1px solid var(--line)}
body.cac-site .post-body{max-width:780px;margin:0 auto;padding:56px 24px 64px;background:transparent;overflow-wrap:anywhere}
body.cac-site .post-body *{background-color:transparent !important;box-shadow:none !important;text-shadow:none !important}
body.cac-site .post-body .fusion-fullwidth,body.cac-site .post-body .fusion-builder-row,body.cac-site .post-body .fusion-layout-column,
body.cac-site .post-body .fusion-column-wrapper,body.cac-site .post-body .fusion-text,body.cac-site .post-body section{background-image:none !important;border:0 !important;padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;max-width:100% !important;width:auto}
body.cac-site .post-body .fusion-builder-row{display:flex;flex-wrap:wrap;gap:0 28px}
body.cac-site .post-body .fusion-layout-column{flex:1 1 100%;min-width:0}
body.cac-site .post-body .fusion_builder_column_1_2,body.cac-site .post-body .fusion-one-half{flex:1 1 calc(50% - 14px)}
body.cac-site .post-body .fusion_builder_column_1_3,body.cac-site .post-body .fusion-one-third{flex:1 1 calc(33% - 19px)}
body.cac-site .post-body .fusion_builder_column_2_3,body.cac-site .post-body .fusion-two-third{flex:1 1 calc(66% - 10px)}
body.cac-site .post-body .fusion_builder_column_1_4,body.cac-site .post-body .fusion-one-fourth{flex:1 1 calc(25% - 21px)}
body.cac-site .post-body .fusion-imageframe{border:0 !important;display:inline-block;max-width:100%}
body.cac-site .post-body .fusion-separator,body.cac-site .post-body hr{border:0 !important;border-top:1px solid var(--line) !important;height:0 !important;margin:28px 0 !important;clear:both}
body.cac-site .post-body .fusion-separator *{border:0 !important;display:none}
body.cac-site .post-body p,body.cac-site .post-body li{color:var(--ink-soft);font-size:1.05rem;line-height:1.75}
body.cac-site .post-body h1,body.cac-site .post-body h2,body.cac-site .post-body h3,body.cac-site .post-body h4{clear:both;line-height:1.3;margin:30px 0 12px}
body.cac-site .post-body a{color:var(--rust)}
body.cac-site .post-body table{width:100%;border-collapse:collapse;margin:20px 0;display:block;overflow-x:auto}
body.cac-site .post-body td,body.cac-site .post-body th{border:1px solid var(--line) !important;padding:8px 10px;vertical-align:top}
body.cac-site .post-body iframe,body.cac-site .post-body video{max-width:100%}
/* photos: never enlarged past their real size, never cropped */
body.cac-site .post-body img{width:auto;max-width:100% !important;height:auto !important;object-fit:contain !important;border-radius:6px;margin:10px 0 22px;display:inline-block;vertical-align:top}
body.cac-site .post-body img.aligncenter,body.cac-site .post-body .aligncenter img,body.cac-site .post-body p>img:only-child{display:block;margin-left:auto;margin-right:auto}
body.cac-site .post-body .alignleft{float:left !important;margin:6px 24px 14px 0 !important;max-width:100% !important}
body.cac-site .post-body .alignright{float:right !important;margin:6px 0 14px 24px !important;max-width:100% !important}
body.cac-site .post-body::after,body.cac-site .post-body .fusion-text::after,body.cac-site .post-body .fusion-builder-row::after{content:"";display:table;clear:both}
body.cac-site .post-body .wp-caption{max-width:100% !important;text-align:center}
body.cac-site .post-body .wp-caption-text{font-size:.9rem;color:var(--ink-soft)}
body.cac-site .post-body .post-cta{background:var(--cream) !important;clear:both}
body.cac-site .post-body .post-cta *{background-color:transparent}
body.cac-site .post-body .btn{background-color:var(--rust) !important}
body.cac-site .post-body .btn.btn-outline,body.cac-site .post-body .btn-outline{background-color:transparent !important}
.legacy-missing{display:block;clear:both;border-top:1px solid var(--line);margin:28px 0}
@media (max-width:700px){
 body.cac-site .post-body{padding:40px 18px 52px}
 body.cac-site .post-body .alignleft,body.cac-site .post-body .alignright{float:none !important;display:block;margin:10px auto 18px !important;max-width:100% !important}
 body.cac-site .post-body .fusion-layout-column{flex-basis:100% !important}
}

/* ---- v7: every photo shown whole (no cropping) ---- */
:root{--fph:url('images/footer-photo-b.jpg');--far:1986/640}
body.cac-site .fullbg{position:relative;isolation:isolate;overflow:hidden;background:#2b2a26 !important}
body.cac-site .fullbg::before{content:"";position:absolute;inset:-40px;background:var(--ph) center/cover no-repeat;filter:blur(26px) brightness(.72) saturate(1.05);z-index:-2;transform:none}
body.cac-site .fullbg::after{content:"";position:absolute;inset:0;background:var(--tint,linear-gradient(transparent,transparent)),var(--ph) center/contain no-repeat;z-index:-1}
body.cac-site .fullbg>*{position:relative;z-index:1}
body.cac-site .page-hero.fullbg,body.cac-site .mission-band.fullbg,body.cac-site .icad-feature.fullbg{min-height:min(calc(100vw / (var(--ar))),80vh);display:flex;flex-direction:column;justify-content:center}
body.cac-site .page-hero.fullbg>.wrap,body.cac-site .mission-band.fullbg>.wrap,body.cac-site .icad-feature.fullbg>.wrap{width:100%}
body.cac-site .hero.fullbg{min-height:min(max(84vh,calc(100vw / (var(--ar)))),100vh)}
body.cac-site .involve-panel.fullbg{min-height:min(calc(50vw / (var(--ar))),640px)}
body.cac-site .involve-panel.donate.fullbg::before{background:var(--ph) center/cover no-repeat;filter:blur(26px) brightness(.72)}
body.cac-site .divider-band{display:block;width:100%;height:min(calc(100vw / (var(--ar))),600px)}
body.cac-site .divider-band.res-band{height:min(calc(100vw / (var(--ar))),420px)}
body.cac-site .res-bg.fullbg{background-attachment:scroll !important}
body.cac-site .res-bg.fullbg::after{background:var(--tint,linear-gradient(transparent,transparent)),var(--ph) center top/contain no-repeat}
/* inline photos: whole image inside a soft blurred frame */
body.cac-site .blurfill{position:relative;overflow:hidden;isolation:isolate;background:#e2cfb2}
body.cac-site .blurfill::before{content:"";position:absolute;inset:-24px;background:var(--ph) center/cover no-repeat;filter:blur(16px) brightness(.85);z-index:-1}
body.cac-site .blurfill>img,body.cac-site .cac-card-media.blurfill img,body.cac-site .cac-card-media.cover.blurfill img{object-fit:contain !important;width:100% !important;height:100% !important;padding:0 !important;background:transparent !important;position:relative}
body.cac-site a.cac-card:hover .cac-card-media.blurfill img{transform:none}
body.cac-site .pillar-frame{display:block;width:150px;height:112px;margin:0 auto 18px;border-radius:14px;border:3px solid #fff;box-shadow:0 8px 20px rgba(43,42,38,.18)}
body.cac-site .pillar-frame>img{border:0 !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important}
body.cac-site .prose-frame{display:block;height:230px;border-radius:10px;margin-bottom:20px;box-shadow:0 8px 22px rgba(43,42,38,.12)}
body.cac-site .prose-frame>img{margin:0 !important;border-radius:0 !important;box-shadow:none !important}
body.cac-site .form-photo.blurfill{height:420px}
body.cac-site .board-photo img{object-fit:contain !important}
/* footer: live footer photo, whole */
body.cac-site .site-footer{background-image:none !important;background-color:#1f1a16 !important;isolation:isolate;overflow:hidden;min-height:min(calc(100vw / (var(--far))),900px)}
body.cac-site .site-footer::before{content:"";position:absolute;inset:-40px;background:var(--fph) center/cover no-repeat;filter:blur(26px) brightness(.55);z-index:-2}
body.cac-site .site-footer::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(24,18,14,.58),rgba(24,18,14,.74)),var(--fph) center/contain no-repeat;z-index:-1;pointer-events:none}
@media (max-width:860px){
 body.cac-site .form-photo.blurfill{height:240px}
 body.cac-site .prose-frame{height:200px}
}

body.cac-site .post-hero-photo{height:460px}
body.cac-site .post-hero-photo>img{display:block}
body.cac-site .post-body .background.background-image{background-size:contain !important;background-repeat:no-repeat !important;background-position:center !important}
@media (max-width:700px){body.cac-site .post-hero-photo{height:280px}}

table.pm-inv{display:block;overflow-x:auto;max-width:100%}

body.cac-site .post-body .slider-static{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 28px}
body.cac-site .post-body .slider-static img{width:100% !important;margin:0 !important;border-radius:6px}
body.cac-site .post-body .fusion-slider-loading{display:none !important}
body.cac-site .post-body .fusion-fullwidth::before,body.cac-site .post-body .fusion-fullwidth::after,body.cac-site .post-body .awb-background-pattern,body.cac-site .post-body .awb-background-mask{display:none !important;background:none !important}
body.cac-site .post-body .fusion-fullwidth{--awb-background-color:transparent !important;--awb-background-image:none !important}
@media (max-width:700px){body.cac-site .post-body .slider-static{grid-template-columns:1fr}}

/* ---- v8: seamless article backgrounds ---- */
body.cac-site .post-hero{background:var(--cream-light) !important;border-bottom:0 !important}
body.cac-site .post-body .post-cta{background:transparent !important;border:0 !important;border-top:1px solid var(--line) !important;border-radius:0 !important;padding:30px 0 0 !important}
body.cac-site .post-body .vfb-well{border:0 !important}

/* ---- v9 ---- */
body.cac-site .store-grid{display:flex !important;flex-wrap:wrap;justify-content:center;gap:50px 34px}
body.cac-site .store-grid>.product-card{flex:0 0 calc((100% - 102px)/4);max-width:calc((100% - 102px)/4)}
@media (max-width:860px){body.cac-site .store-grid>.product-card{flex-basis:calc((100% - 34px)/2);max-width:calc((100% - 34px)/2)}}
body.cac-site .tier-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
body.cac-site .tier-grid:hover .tier-card.featured:not(:hover){border-color:rgba(250,246,236,0.25);background:transparent;transform:none;box-shadow:none}
body.cac-site .tier-card:hover,body.cac-site .tier-card:focus-visible{border-color:var(--amber) !important;background:rgba(196,138,47,0.2) !important;transform:translateY(-6px) scale(1.06);box-shadow:0 18px 36px rgba(0,0,0,0.35);position:relative;z-index:2}
body.cac-site .res-plain{background:transparent}

/* ---- v13 ---- */
body.cac-site .hero-eyebrow{flex-wrap:wrap;gap:4px 0}
body.cac-site .hero-eyebrow .sep{color:var(--amber);margin:0 .6em}
@media (max-width:520px){body.cac-site .hero-eyebrow{letter-spacing:.1em;font-size:.7rem}body.cac-site .hero-eyebrow .sep{margin:0 .4em}}
body.cac-site .mission-band a.aces-link{color:inherit;text-decoration:inherit}
body.cac-site .mission-band a.aces-link:hover{text-decoration-color:#fff}
body.cac-site a.pillar-link,body.cac-site a.frame-link{display:block;text-decoration:none}
body.cac-site a.pillar-link .pillar-frame,body.cac-site a.frame-link .prose-frame{transition:transform .25s ease,box-shadow .25s ease}
body.cac-site a.pillar-link:hover .pillar-frame,body.cac-site a.frame-link:hover .prose-frame{transform:translateY(-4px);box-shadow:0 14px 28px rgba(43,42,38,.24)}
/* smart fill: photos fill their frames (slight stretch + focal-point crop, set by script) */
body.cac-site .blurfill>img[data-ar],body.cac-site .cac-card-media.blurfill img[data-ar]{position:absolute !important;left:0;top:0;object-fit:cover !important;max-width:none !important}
body.cac-site .fullbg::after{background:var(--tint,linear-gradient(transparent,transparent)),var(--ph) var(--bgp,center)/var(--bgs,cover) no-repeat}
body.cac-site .page-hero.fullbg,body.cac-site .mission-band.fullbg,body.cac-site .icad-feature.fullbg{min-height:0}
body.cac-site .involve-panel.fullbg{min-height:420px}
body.cac-site .page-hero.has-photo{padding:96px 0 84px}
body.cac-site .mission-band.has-photo{padding:58px 0}
body.cac-site .icad-feature.has-photo{padding:90px 0}
/* social links */
body.cac-site .footer-social,body.cac-site .home-social{display:flex;gap:10px;flex-wrap:wrap}
body.cac-site .footer-social{margin-top:18px}
body.cac-site .social-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;font-weight:700;font-size:.86rem;text-decoration:none !important;transition:background .2s ease,color .2s ease,border-color .2s ease}
body.cac-site .social-btn svg{width:18px;height:18px;flex:0 0 18px}
body.cac-site .footer-social .social-btn{border:1px solid rgba(250,246,236,.35);color:rgba(250,246,236,.9) !important}
body.cac-site .footer-social .social-btn:hover{background:var(--cream-light);color:var(--ink) !important}
body.cac-site .home-social .social-btn{border:1px solid var(--line);background:#fff;color:var(--ink) !important}
body.cac-site .home-social .social-btn:hover{border-color:var(--rust);color:var(--rust) !important}
body.cac-site .edu-more{display:flex;justify-content:space-between;align-items:center;gap:18px 28px;flex-wrap:wrap;margin-top:36px}
body.cac-site .edu-more p{margin:0;color:var(--ink-soft);font-size:.95rem}
body.cac-site .edu-more p a{color:var(--teal,#1B6E6E);font-weight:700}
/* expandable archives */
body.cac-site details.cac-archive{margin-top:44px;border:1px solid var(--line);border-radius:14px;background:var(--cream-light);overflow:hidden}
body.cac-site details.cac-archive>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 26px;font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
body.cac-site details.cac-archive>summary::-webkit-details-marker{display:none}
body.cac-site details.cac-archive>summary::before{content:"";width:9px;height:9px;border-right:2px solid var(--rust);border-bottom:2px solid var(--rust);transform:rotate(-45deg);transition:transform .2s ease;flex:0 0 9px}
body.cac-site details.cac-archive[open]>summary::before{transform:rotate(45deg)}
body.cac-site details.cac-archive .ca-count{margin-left:auto;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
body.cac-site details.cac-archive>.cac-grid{padding:6px 26px 30px}
body.cac-site details.cac-archive>summary:hover{background:rgba(196,138,47,.08)}


/* ---- v15/v16: banners fill the section, centred on a person or bright subject; same height on every landing page ---- */
body.cac-site .page-hero.fullbg{min-height:clamp(420px,48vw,800px) !important;padding:64px 0 !important}
@media (max-width:640px){body.cac-site .page-hero.fullbg{min-height:320px !important;padding:48px 0 !important}}
body.cac-site .page-hero .lede a.res-wiki{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:700}
body.cac-site .post-body .post-cta .btn-solid{background:var(--sage,#5C6B47) !important;border-color:var(--sage,#5C6B47) !important;color:var(--cream-light,#FAF6EC) !important;box-shadow:none !important;text-shadow:none !important}
body.cac-site .post-body .post-cta .btn-solid:hover{filter:brightness(1.08)}
body.cac-site .post-body .post-cta .btn-outline{background:transparent !important;border-color:var(--rust,#B8804A) !important;color:var(--rust,#B8804A) !important;box-shadow:none !important;text-shadow:none !important}
body.cac-site .post-body .post-cta .btn-outline:hover{background:var(--rust,#B8804A) !important;color:#fff !important}
body.cac-site .myo-timeline{padding-left:1.1em}body.cac-site .myo-timeline li{margin-bottom:10px}
body.cac-site .myo-figure{margin:30px auto;max-width:520px}body.cac-site .myo-figure img{width:100%;height:auto;border-radius:12px}

/* ---- v20: Upper Creek article ---- */
body.cac-site .post-hero-photo.post-hero-tall{height:clamp(280px,36vw,680px)}
body.cac-site .post-body .uc-scale{margin:28px auto;max-width:420px}
body.cac-site .post-body .uc-scale img,body.cac-site .post-body .ba-item img{width:100%;height:auto;border-radius:12px;display:block}
body.cac-site .post-body .ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 26px}
body.cac-site .post-body .ba-item{margin:0;position:relative}
body.cac-site .post-body .ba-item img{aspect-ratio:4/3;object-fit:cover}
body.cac-site .post-body .ba-pair.portrait .ba-item img{aspect-ratio:3/4}
body.cac-site .post-body .ba-pair .ba-item:only-child{grid-column:1/-1}
body.cac-site .post-body .ba-item figcaption,body.cac-site .post-body .uc-scale figcaption{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;text-align:center}
body.cac-site .post-body .ba-item figcaption{position:absolute;left:10px;top:10px;margin:0;background:rgba(43,42,38,.78);color:#fff;padding:4px 10px;border-radius:999px}
@media (max-width:640px){body.cac-site .post-body .ba-pair{grid-template-columns:1fr}}

/* ---- v23 ---- */
body.cac-site .post-hero-photo.post-hero-full{height:auto !important;aspect-ratio:var(--har);width:min(100%,calc(82vh * var(--harn)));max-height:none;margin:0 auto;display:block}
body.cac-site .post-body .jp-item{margin:0}
body.cac-site .post-body .jp-item img{width:100%;height:auto;display:block;border-radius:12px}
body.cac-site .post-body .jp-item figcaption{font-size:.84rem;color:var(--ink-soft);margin-top:7px;line-height:1.4}
body.cac-site .post-body .jp-wide{margin:26px 0 28px}
body.cac-site .post-body .jp-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 26px}
body.cac-site .post-body .jp-pair.land .jp-item img{aspect-ratio:4/3;object-fit:cover}
body.cac-site .post-body .jp-pair.port .jp-item img{aspect-ratio:3/4;object-fit:cover}
@media (max-width:640px){body.cac-site .post-body .jp-pair{grid-template-columns:1fr}}
body.cac-site .post-body a.yt-btn{color:var(--cream-light,#FAF6EC) !important;text-decoration:none !important}
body.cac-site .post-body .jp-narrow{max-width:360px;margin:6px auto 26px}
body.cac-site .post-body .jp-pair.ba .jp-item figcaption{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;text-align:center}

/* ---- v27: CTA buttons inside articles use the sitewide button look ---- */
body.cac-site .post-body a.btn,body.cac-site .post-body a > span.btn{text-decoration:none !important;display:inline-block;margin:6px 10px 6px 0}
body.cac-site .post-body a.btn-solid,body.cac-site .post-body a > span.btn-solid{background:var(--sage,#5C6B47) !important;border-color:var(--sage,#5C6B47) !important;color:var(--cream-light,#FAF6EC) !important;box-shadow:none !important;text-shadow:none !important}
body.cac-site .post-body a.btn-solid:hover,body.cac-site .post-body a:hover > span.btn-solid{filter:brightness(1.08)}
body.cac-site .post-body a.btn-outline{background:transparent !important;border-color:var(--rust,#B8804A) !important;color:var(--rust,#B8804A) !important;box-shadow:none !important;text-shadow:none !important}
body.cac-site .post-body a.btn-outline:hover{background:var(--rust,#B8804A) !important;color:#fff !important}
body.cac-site .post-body a:has(> span.btn){text-decoration:none !important}

/* ---- v31A: landing-page banners take each photo's own shape (no stretch) ---- */
body.cac-site .page-hero.fullbg{min-height:min(calc(100vw / (var(--ar))),calc(100vh - 70px)) !important;padding:64px 0 !important}
@media (max-width:640px){body.cac-site .page-hero.fullbg{min-height:max(320px,calc(100vw / (var(--ar)))) !important;padding:40px 0 !important}}
body.cac-site .post-body .jp-portrait{margin:26px auto 28px;max-width:560px}
body.cac-site .news-icad{margin-top:4px}
