/* =========================================================
   COMMUNITY / MISSION HEAVY FARM PROFILE
   Load after:
   /style/style.css
   /alpaca-farm/style/farm-profile.css
   /alpaca-farm/style/petting-zoo.css

   Use for farms, rescues, sanctuaries, and public animal
   attractions where community programs, nonprofit mission,
   therapy, education, inclusion, outreach, or volunteer work
   are defining parts of the organization.

   Visual hierarchy:
   1. Mission / purpose
   2. Named programs and community impact
   3. Public animal visit
   4. Rescue / sanctuary identity
   5. Groups, parties, youth programs, events
   6. Social / media presence
   7. Supporting farm-market / retail material
   ========================================================= */


/* =========================================================
   PAGE RHYTHM
   ========================================================= */

.community-mission-heavy-page .farm-intro {
  margin-bottom: 3.5rem;
}

.cm-heavy-section {
  margin-top: 5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--fleece-beige);
}

.cm-heavy-section .section-heading {
  max-width: 46rem;
}

.cm-heavy-section .section-heading > p:last-child {
  max-width: 42rem;
}


/* =========================================================
   PRIMARY MISSION BLOCK
   This is intentionally large and structural rather than a
   conventional row of cards.
   ========================================================= */

.cm-heavy-mission {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(17rem, 0.7fr);
  gap: clamp(2rem, 5vw, 5rem);
  margin-top: 1rem;
  padding: clamp(2rem, 6vw, 5rem);
  background: var(--indigo-deep);
  color: var(--fleece-white);
  border-radius: var(--radius);
}

.cm-heavy-mission .eyebrow,
.cm-heavy-mission .profile-label {
  color: var(--fleece-beige);
}

.cm-heavy-mission__statement h2 {
  max-width: 12ch;
  margin: 0.2rem 0 1rem;
  color: inherit;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 1.02;
}

.cm-heavy-mission__statement > p {
  max-width: 42rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
}

.cm-heavy-mission__statement > p + p {
  margin-top: 1rem;
}

.cm-heavy-mission__facts {
  align-self: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.cm-heavy-mission__facts li {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.cm-heavy-mission__facts span,
.cm-heavy-mission__facts strong {
  display: block;
}

.cm-heavy-mission__facts span {
  margin-bottom: 0.18rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fleece-beige);
}

.cm-heavy-mission__facts strong {
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1.35;
  color: var(--fleece-white);
}


/* =========================================================
   PROGRAM INDEX
   Named programs are shown as substantial editorial rows,
   not equal little cards. This is the defining visual device
   for community-mission-heavy profiles.
   ========================================================= */

.cm-heavy-programs {
  margin-top: 5rem;
}

.cm-heavy-programs__heading {
  display: grid;
  grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: 2.5rem;
}

.cm-heavy-programs__heading h2 {
  margin: 0.2rem 0 0;
}

.cm-heavy-programs__heading p:last-child {
  max-width: 42rem;
  margin: 0;
  color: var(--fleece-brown);
}

.cm-heavy-program-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--fleece-beige);
}

.cm-heavy-program-list > li {
  display: grid;
  grid-template-columns: 4.5rem minmax(12rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: start;
  padding: 1.65rem 0;
  border-top: 1px solid var(--fleece-beige);
}

.cm-heavy-program__number {
  padding-top: 0.15rem;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1;
  color: var(--indigo);
}

.cm-heavy-program__identity h3 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1.25rem;
}

.cm-heavy-program__identity p {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fleece-silver);
}

.cm-heavy-program__body p {
  max-width: 44rem;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--fleece-brown);
}

.cm-heavy-program__body p + p {
  margin-top: 0.7rem;
}

.cm-heavy-program__body .inline-arrow {
  display: inline-block;
  margin-top: 0.75rem;
}


/* =========================================================
   PUBLIC VISIT
   Important, but deliberately presented after mission/programs.
   ========================================================= */

.cm-heavy-visit {
  display: grid;
  grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 5rem);
  margin-top: 5rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--fleece-card);
  border: 1px solid var(--fleece-beige);
  border-radius: var(--radius);
}

.cm-heavy-visit__intro h2 {
  margin: 0.2rem 0 0.75rem;
}

.cm-heavy-visit__intro p {
  margin: 0;
  color: var(--fleece-brown);
}

.cm-heavy-visit__intro p + p {
  margin-top: 0.85rem;
}

.cm-heavy-visit__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--fleece-beige);
  border-left: 1px solid var(--fleece-beige);
}

.cm-heavy-visit__facts li {
  min-height: 6.5rem;
  padding: 1rem;
  border-right: 1px solid var(--fleece-beige);
  border-bottom: 1px solid var(--fleece-beige);
}

.cm-heavy-visit__facts span,
.cm-heavy-visit__facts strong {
  display: block;
}

.cm-heavy-visit__facts span {
  margin-bottom: 0.2rem;
  font-size: 0.63rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fleece-silver);
}

.cm-heavy-visit__facts strong {
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1.35;
  color: var(--fleece-bay);
}


/* =========================================================
   ANIMAL / RESCUE IDENTITY
   Gives rescued animals a distinct editorial band without
   duplicating the public-visit section.
   ========================================================= */

.cm-heavy-rescue {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(15rem, 0.85fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.cm-heavy-rescue__story h2 {
  margin: 0.2rem 0 0.75rem;
}

.cm-heavy-rescue__story p {
  max-width: 46rem;
  color: var(--fleece-brown);
}

.cm-heavy-rescue__animal-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.cm-heavy-rescue__animal-list li {
  padding: 0.38rem 0.6rem;
  background: var(--fleece-card);
  border: 1px solid var(--fleece-beige);
  border-radius: 999px;
  font-size: 0.76rem;
  color: var(--fleece-brown);
}

.cm-heavy-rescue__support {
  padding: 1.35rem;
  background: var(--fleece-card);
  border-left: 3px solid var(--indigo);
}

.cm-heavy-rescue__support h3 {
  margin: 0.2rem 0 0.5rem;
  font-family: var(--font-display);
  font-size: 1.2rem;
}

.cm-heavy-rescue__support p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--fleece-brown);
}

.cm-heavy-rescue__support .inline-arrow {
  display: inline-block;
  margin-top: 0.8rem;
}


/* =========================================================
   COMMUNITY ECOSYSTEM
   Volunteers, partners, sponsors, food support, outreach.
   ========================================================= */

.cm-heavy-community {
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--fleece-card);
  border-top: 3px solid var(--indigo);
}

.cm-heavy-community__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 2rem;
  border-top: 1px solid var(--fleece-beige);
  border-left: 1px solid var(--fleece-beige);
}

.cm-heavy-community__grid article {
  min-height: 11rem;
  padding: 1.2rem;
  border-right: 1px solid var(--fleece-beige);
  border-bottom: 1px solid var(--fleece-beige);
}

.cm-heavy-community__grid h3 {
  margin: 0 0 0.45rem;
  font-family: var(--font-display);
  font-size: 1.08rem;
}

.cm-heavy-community__grid p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--fleece-brown);
}


/* =========================================================
   PUBLIC PROGRAMS / REVENUE SUPPORT
   Parties, groups, camps, riding, major seasonal events.
   Visually substantial but clearly beneath mission programs.
   ========================================================= */

.cm-heavy-public-programs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 2rem;
  background: var(--fleece-beige);
  border: 1px solid var(--fleece-beige);
}

.cm-heavy-public-programs article {
  min-height: 15rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--fleece-white);
}

.cm-heavy-public-programs .profile-label {
  margin-bottom: 0.4rem;
}

.cm-heavy-public-programs h3 {
  margin: 0 0 0.55rem;
  font-family: var(--font-display);
  font-size: 1.3rem;
}

.cm-heavy-public-programs p {
  margin: 0;
  max-width: 34rem;
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--fleece-brown);
}

.cm-heavy-public-programs .inline-arrow {
  display: inline-block;
  margin-top: 0.8rem;
}


/* =========================================================
   FEATURED EVENT / FUNDRAISER
   Optional. Use only when one event is genuinely unusually
   important to the organization.
   ========================================================= */

.cm-heavy-featured-event {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  background: var(--indigo);
  color: var(--fleece-white);
  border-radius: var(--radius);
}

.cm-heavy-featured-event .eyebrow,
.cm-heavy-featured-event .profile-label {
  color: var(--fleece-beige);
}

.cm-heavy-featured-event h2,
.cm-heavy-featured-event h3 {
  color: inherit;
}

.cm-heavy-featured-event h2 {
  margin: 0.2rem 0 0;
}

.cm-heavy-featured-event__body p {
  margin: 0;
  max-width: 43rem;
  color: rgba(255, 255, 255, 0.82);
}

.cm-heavy-featured-event__body p + p {
  margin-top: 0.8rem;
}


/* =========================================================
   SOCIAL / MEDIA
   Prominent by design. This is not a generic footer list.
   Use when social/video is genuinely active or important.
   ========================================================= */

.cm-heavy-social {
  margin-top: 5rem;
  padding: clamp(1.75rem, 5vw, 3.5rem);
  background: var(--indigo-deep);
  color: var(--fleece-white);
  border-radius: var(--radius);
}

.cm-heavy-social__heading {
  display: grid;
  grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
}

.cm-heavy-social__heading .eyebrow,
.cm-heavy-social__heading .profile-label {
  color: var(--fleece-beige);
}

.cm-heavy-social__heading h2 {
  margin: 0.2rem 0 0;
  color: inherit;
}

.cm-heavy-social__heading p {
  margin: 0;
  max-width: 43rem;
  color: rgba(255, 255, 255, 0.78);
}

.cm-heavy-social__platforms {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.cm-heavy-social__platforms a {
  display: block;
  min-height: 5.5rem;
  padding: 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.23);
  border-radius: var(--radius);
  color: var(--fleece-white);
  text-decoration: none;
}

.cm-heavy-social__platforms a:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.42);
  color: var(--fleece-white);
}

.cm-heavy-social__platforms span,
.cm-heavy-social__platforms strong {
  display: block;
}

.cm-heavy-social__platforms span {
  margin-bottom: 0.3rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fleece-beige);
}

.cm-heavy-social__platforms strong {
  font-family: var(--font-display);
  font-size: 0.95rem;
  line-height: 1.25;
}

.cm-heavy-media-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 0.85fr);
  gap: 2rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.cm-heavy-media-feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.cm-heavy-media-feature__facts {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cm-heavy-media-feature__facts li {
  padding: 0.65rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.cm-heavy-media-feature__facts li:first-child {
  border-top: 0;
}

.cm-heavy-media-feature__facts span,
.cm-heavy-media-feature__facts strong {
  display: block;
}

.cm-heavy-media-feature__facts span {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fleece-beige);
}

.cm-heavy-media-feature__facts strong {
  margin-top: 0.1rem;
  font-size: 0.84rem;
  color: var(--fleece-white);
}


/* =========================================================
   MARKET / FARM SUPPORT
   Intentionally quiet.
   ========================================================= */

.cm-heavy-market {
  display: grid;
  grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.cm-heavy-market h2 {
  margin: 0.2rem 0 0;
}

.cm-heavy-market__body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(12rem, 0.85fr);
  gap: 2rem;
}

.cm-heavy-market__body p {
  margin: 0;
  color: var(--fleece-brown);
}

.cm-heavy-market__items {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--fleece-beige);
}

.cm-heavy-market__items li {
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--fleece-beige);
  font-size: 0.8rem;
  color: var(--fleece-brown);
}


/* =========================================================
   SMALL VISITOR PRACTICALS
   ========================================================= */

.cm-heavy-practicals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.cm-heavy-practicals article {
  padding-top: 0.9rem;
  border-top: 2px solid var(--fleece-beige);
}

.cm-heavy-practicals h3 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1rem;
}

.cm-heavy-practicals p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--fleece-brown);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 68rem) {
  .cm-heavy-social__platforms {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cm-heavy-community__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-heavy-practicals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


@media (max-width: 52rem) {
  .cm-heavy-mission,
  .cm-heavy-visit,
  .cm-heavy-rescue,
  .cm-heavy-featured-event,
  .cm-heavy-market {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cm-heavy-programs__heading,
  .cm-heavy-social__heading {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .cm-heavy-program-list > li {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: 0.8rem 1rem;
  }

  .cm-heavy-program__body {
    grid-column: 2;
  }

  .cm-heavy-public-programs {
    grid-template-columns: 1fr;
  }

  .cm-heavy-market__body,
  .cm-heavy-media-feature {
    grid-template-columns: 1fr;
  }

  .cm-heavy-social__platforms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


@media (max-width: 36rem) {
  .cm-heavy-mission,
  .cm-heavy-visit,
  .cm-heavy-community,
  .cm-heavy-featured-event,
  .cm-heavy-social {
    padding: 1.25rem;
  }

  .cm-heavy-program-list > li {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .cm-heavy-program__body {
    grid-column: auto;
  }

  .cm-heavy-program__number {
    font-size: 1.35rem;
  }

  .cm-heavy-visit__facts,
  .cm-heavy-community__grid,
  .cm-heavy-social__platforms,
  .cm-heavy-practicals {
    grid-template-columns: 1fr;
  }

  .cm-heavy-public-programs article {
    min-height: 0;
  }
}
