:root {
  --chc-sage: #9faa88;
  --chc-sage-dark: #5f6f4e;
  --chc-sage-light: #dfe5d2;
  --chc-cream: #fbf8f1;
  --chc-paper: #fffdf8;
  --chc-text: #25231f;
  --chc-muted: #756f64;
  --chc-border: rgba(77, 72, 61, .15);
}

.chc-home {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 70px) 20px 80px;
  color: var(--chc-text);
  position: relative;
  overflow: visible;
}
.chc-home a { text-decoration: none; }

.chc-botanical {
  position: absolute;
  z-index: 0;
  color: rgba(95, 111, 78, .26);
  pointer-events: none;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: none;
}
.chc-botanical svg { width: 100%; height: 100%; display: block; }
.chc-botanical-left-top { width: clamp(78px, 10vw, 120px); height: clamp(112px, 15vw, 172px); left: 10px; top: 92px; transform: rotate(-7deg); }
.chc-botanical-right-top { width: clamp(66px, 9vw, 108px); height: clamp(110px, 15vw, 176px); right: 26px; top: 78px; transform: rotate(4deg); }
.chc-botanical-left-mid { width: clamp(70px, 9vw, 112px); height: clamp(86px, 12vw, 142px); left: 20px; top: 520px; transform: rotate(8deg); opacity: .20; }
.chc-botanical-right-mid { width: clamp(76px, 10vw, 122px); height: clamp(76px, 10vw, 122px); right: 28px; top: 600px; transform: rotate(-10deg); opacity: .20; }

.chc-hero,
.chc-feature-grid,
.chc-categories,
.chc-latest { position: relative; z-index: 1; }

.chc-hero {
  max-width: 760px;
  margin: 0 auto clamp(42px, 6vw, 74px);
  text-align: center;
}
.chc-ornament, .chc-mini-ornament {
  display: flex; align-items: center; justify-content: center; gap: 13px;
  margin-bottom: 18px; color: var(--chc-sage-dark);
}
.chc-ornament span, .chc-mini-ornament span { height: 1px; background: var(--chc-sage-light); }
.chc-ornament span { width: 54px; }
.chc-ornament em, .chc-mini-ornament em { font-style: normal; font-size: .95rem; }
.chc-ornament-small { margin: 18px 0 22px; opacity: .85; }
.chc-ornament-small span { width: 34px; }
.chc-mini-ornament { margin: -2px 0 20px; opacity: .72; }
.chc-mini-ornament span { width: 30px; }
.chc-mini-ornament em { font-size: .78rem; }

.chc-kicker,
.chc-section-kicker {
  margin: 0 0 10px;
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--chc-sage-dark);
  font-weight: 700;
}
.chc-hero h1 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  line-height: .92;
  font-weight: 400;
  color: var(--chc-sage-dark);
}
.chc-subtitle {
  margin: 14px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 2.6vw, 1.65rem);
  color: var(--chc-sage-dark);
}
.chc-intro {
  margin: 0 auto;
  max-width: 680px;
  font-size: clamp(1.02rem, 1.7vw, 1.18rem);
  line-height: 1.85;
  color: var(--chc-muted);
}

.chc-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 40px);
  margin-bottom: clamp(40px, 6vw, 70px);
}
.chc-feature-card {
  background: var(--chc-paper);
  border: 1px solid var(--chc-border);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(36, 33, 27, .07);
}
.chc-card-image {
  min-height: 230px;
  background: linear-gradient(135deg, #f4efe4, #e9eadb);
  background-size: cover;
  background-position: center;
  display: flex; align-items: center; justify-content: center; position: relative;
}
.chc-card-image.has-image::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,253,248,.06));
}
.chc-card-placeholder {
  font-family: Georgia, 'Times New Roman', serif;
  color: rgba(95, 111, 78, .32);
  font-size: 1.45rem;
}
.chc-card-body { padding: clamp(28px, 4vw, 42px); text-align: center; }
.chc-icon {
  width: 68px; height: 68px; margin: -68px auto 18px;
  display: flex; align-items: center; justify-content: center;
  background: var(--chc-sage); color: #fff;
  border: 8px solid var(--chc-paper);
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(36,33,27,.08);
  font-size: 1.55rem; position: relative;
  overflow: hidden;
}
.chc-icon img { width: 60%; height: 60%; object-fit: contain; display: block; }
.chc-card-body h2 {
  margin: 0 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.95rem, 3.2vw, 2.85rem);
  color: var(--chc-sage-dark);
  font-weight: 400;
}
.chc-card-body p { margin: 0 auto 24px; max-width: 390px; color: var(--chc-muted); line-height: 1.65; }
.chc-button { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; background: var(--chc-sage-dark); color: #fff !important; font-weight: 700; }
.chc-button:hover { transform: translateY(-1px); }

.chc-categories,.chc-latest { border-top: 1px solid var(--chc-border); padding-top: clamp(28px, 5vw, 48px); margin-top: clamp(32px, 5vw, 56px); text-align: center; }
.chc-categories { border-bottom: 1px solid var(--chc-border); padding-bottom: clamp(28px, 5vw, 48px); }
.chc-chip-grid { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.chc-chip-grid a { display: inline-flex; align-items: center; gap: 7px; padding: 12px 20px; border: 1px solid var(--chc-border); border-radius: 999px; background: rgba(251,248,241,.72); color: var(--chc-text); font-weight: 650; }
.chc-chip-grid a:hover { background: var(--chc-sage-light); }
.chc-section-head h2 { margin: 0 0 26px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.1rem); color: var(--chc-sage-dark); font-weight: 400; }
.chc-recipe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; text-align: left; }
.chc-recipe-card { display: block; color: inherit !important; }
.chc-recipe-image { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 22px; background: var(--chc-cream); margin-bottom: 14px; }
.chc-recipe-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .22s ease; }
.chc-recipe-card:hover img { transform: scale(1.025); }
.chc-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: Georgia, 'Times New Roman', serif; color: var(--chc-sage-dark); }
.chc-recipe-card h3 { margin: 0; font-size: 1.25rem; line-height: 1.25; }

@media (max-width: 1040px) {
  .chc-botanical { opacity: .16; }
}
@media (max-width: 760px) {
  .chc-feature-grid,.chc-recipe-grid { grid-template-columns: 1fr; }
  .chc-home { padding-inline: 16px; overflow: hidden; }
  .chc-botanical { display: none; }
}
