/*
Theme Name: Calm Cup Counseling
Theme URI: https://calmcupcounseling.com
Author: Calm Cup Counseling
Description: Hand-rolled classic theme for Calm Cup Counseling, a therapy practice in Crossville, TN. Recreates the marketing site design (Home, About, Services, Our Team, Blog, FAQ, Contact) with a shared header/footer, Team Member post type, and a native contact form handler.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: calm-cup-counseling
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --cc-sage-dark: #575c56;
  --cc-sage-dark-alt: #575E57;
  --cc-green-dark: #4F5549;
  --cc-green-dark-alt: #4f5549;
  --cc-footer-green: #4c5249;
  --cc-cream: #F2EEE7;
  --cc-cream-alt: #FBFAF6;
  --cc-stone: #E9E4DC;
  --cc-stone-alt: #F3EFE7;
  --cc-form-bg: #F6F3ED;
  --cc-sage-muted: #9aa091;
  --cc-sage-muted-2: #7c8074;
  --cc-sage-muted-3: #6f746a;
  --cc-tan-muted: #a39a86;
  --cc-accent-rose: #D2BBA9;
  --cc-light-on-dark-1: #cfd2c8;
  --cc-light-on-dark-2: #c4c9c0;
  --cc-light-on-dark-3: #eeecea;
  --cc-border-1: #eee8df;
  --cc-border-2: #d8d2c6;
  --cc-border-3: #BBC0BA;

  --cc-font-serif: 'Cormorant Garamond', serif;
  --cc-font-sans: 'Jost', sans-serif;
  --cc-font-accent: 'Cinzel', serif;

  --cc-radius-card: 4px;
  --cc-radius-pill: 30px;
  --cc-shadow-card: 0 2px 16px rgba(87,94,87,.06);
  --cc-shadow-card-lg: 0 2px 20px rgba(87,94,87,.07);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  margin: 0;
  background: var(--cc-cream-alt);
  font-family: var(--cc-font-sans);
  color: #4f5549;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; }
::placeholder{ color: #a8a89c; }
.screen-reader-text{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

/* ==========================================================================
   Buttons & links
   ========================================================================== */
.cc-btn{
  display: inline-block;
  font: 500 12px/1 var(--cc-font-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 18px 36px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  transition: opacity .15s ease;
}
.cc-btn:hover{ opacity: .88; }
.cc-btn--fill{ background: var(--cc-sage-dark-alt); color: var(--cc-cream); }
.cc-btn--fill-pill{ background: var(--cc-sage-dark-alt); color: var(--cc-cream-alt); border-radius: var(--cc-radius-pill); padding: 17px 34px; }
.cc-btn--outline{ background: rgba(44,50,42,.55); color: #fff; border: 1px solid rgba(255,255,255,.6); }
.cc-btn--accent-pill{
  background: var(--cc-accent-rose);
  color: var(--cc-sage-dark);
  border-radius: var(--cc-radius-pill);
  padding: 11px 22px;
  font: 500 11px/1 var(--cc-font-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.cc-link-underline{
  display: inline-block;
  font: 500 12px/1 var(--cc-font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cc-sage-dark-alt);
  text-decoration: none;
  border-bottom: 1px solid var(--cc-sage-dark-alt);
  padding-bottom: 5px;
}

/* ==========================================================================
   Top bar + nav (shared header)
   ========================================================================== */
.cc-topbar{
  background: var(--cc-sage-dark);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 56px;
}
.cc-topbar__msg{ font: 300 12.5px/1 var(--cc-font-sans); letter-spacing: .06em; color: var(--cc-light-on-dark-1); }
.cc-topbar__right{ display: flex; align-items: center; gap: 28px; }
.cc-topbar__phone{ font: 300 12.5px/1 var(--cc-font-sans); letter-spacing: .06em; color: var(--cc-light-on-dark-1); text-decoration: none; }

.cc-nav{
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--cc-sage-dark);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.cc-nav__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 56px 20px;
}
.cc-nav__logo{ height: 90px; width: auto; display: block; }
.cc-nav__links{ display: flex; gap: 42px; align-items: center; }
.cc-nav__link{
  font: 400 13px/1 var(--cc-font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cc-light-on-dark-2);
  text-decoration: none;
}
.cc-nav__link.is-active{ color: var(--cc-light-on-dark-3); }

/* ==========================================================================
   Hero (full-bleed image sections)
   ========================================================================== */
.cc-hero-img{ position: relative; height: 700px; overflow: hidden; filter: brightness(90%); }
.cc-hero-img img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cc-hero-img__overlay{
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(44,50,42,.62) 0%, rgba(44,50,42,.28) 55%, rgba(65,57,44,.18) 100%);
  pointer-events: none;
}
.cc-hero-img__content{
  position: relative; z-index: 2; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 0 80px;
}
.cc-hero-img__arch{
  position: absolute; bottom: -1px; left: 0; right: 0; height: 72px;
  background: var(--cc-cream);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.cc-hero-eyebrow{ font: 400 11px/1.4 var(--cc-font-sans); letter-spacing: .46em; text-transform: uppercase; color: rgba(242,238,231,.9); }
.cc-hero-h1{ font: 500 82px/1.04 var(--cc-font-serif); color: #fff; margin: 24px auto 0; max-width: 820px; letter-spacing: .01em; text-shadow: rgba(0, 0, 0, 0.2) 0px 1px 1px, rgba(0, 0, 0, 0.8) 0px 0px 1px; }
.cc-hero-sub{ font: 300 19px/1.7 var(--cc-font-sans); color: rgba(242,238,231,.88); max-width: 700px; margin: 28px auto 0; text-shadow:rgba(0, 0, 0, 0.3) 0px 0px 8px, rgba(0, 0, 0, 0.8) 0px 0px 8px }
.cc-hero-ctas{ display: flex; gap: 16px; margin-top: 42px; }

/* Texture break with quote */
.cc-texture-break{ position: relative; height: 480px; overflow: hidden; }
.cc-texture-break img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cc-texture-break__overlay{ position: absolute; inset: 0; background: linear-gradient(135deg, rgba(87,94,87,.55) 0%, rgba(87,94,87,.3) 100%); }
.cc-texture-break__content{
  position: relative; z-index: 2; height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 0 140px;
}
.cc-texture-break__mark{ font: 400 18px/1 var(--cc-font-serif); color: rgba(242,238,231,.7); letter-spacing: .3em; margin-bottom: 20px; }
.cc-texture-break__quote{ font: italic 400 42px/1.42 var(--cc-font-serif); color: #fff; margin: 0; }
.cc-texture-break__attr{ font: 400 11px/1.4 var(--cc-font-sans); letter-spacing: .28em; text-transform: uppercase; color: rgba(242,238,231,.75); margin-top: 32px; }

/* ==========================================================================
   Sections & grids
   ========================================================================== */
.cc-section{ padding: 96px 64px 80px; }
.cc-section--tight{ padding: 100px 64px; }
.cc-section-header{ text-align: center; margin-bottom: 64px; }
.cc-eyebrow{ font: 400 11px/1.4 var(--cc-font-sans); letter-spacing: .38em; text-transform: uppercase; color: var(--cc-sage-muted); }
.cc-h2{ font: 500 50px/1.08 var(--cc-font-serif); margin: 16px 0 0; }
.cc-grid-3{ display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.cc-grid-3--wide{ gap: 40px; align-items: start; }
.cc-grid-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.cc-grid-2--center{ align-items: center; }

/* Services cards (home) */
.cc-service-card{
  background: #fff; border-radius: var(--cc-radius-card); padding: 44px 36px 40px;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  box-shadow: var(--cc-shadow-card);
}
.cc-service-card__icon{ width: 180px; height: 180px; border-radius: 50%; overflow: hidden; }
.cc-service-card__icon img{ width: 100%; height: 100%; object-fit: cover; }
.cc-service-card h3{ font: 500 26px/1.2 var(--cc-font-serif); color: #4c5249; margin: 26px 0 12px; }
.cc-service-card p{ font: 300 15px/1.7 var(--cc-font-sans); color: var(--cc-sage-muted-3); margin: 0; }

/* Counselor cards (home) */
.cc-counselor-card{ background: #fff; border-radius: var(--cc-radius-card); overflow: hidden; box-shadow: var(--cc-shadow-card-lg); }
.cc-counselor-card__photo{ width: 100%; height: 420px; background: var(--cc-stone); overflow: hidden; }
.cc-counselor-card__photo img{ width: 100%; height: 100%; object-fit: cover; }
.cc-counselor-card__body{ padding: 40px 44px 48px; }
.cc-counselor-card__eyebrow{ font: 400 11px/1 var(--cc-font-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--cc-sage-muted); }
.cc-counselor-card__name{ font: 500 36px/1.15 var(--cc-font-serif); color: #4c5249; margin: 12px 0 0; }
.cc-counselor-card__rule{ width: 40px; height: 2px; background: var(--cc-border-3); margin: 22px 0; }
.cc-counselor-card__bio{ font: 300 15px/1.82 var(--cc-font-sans); color: var(--cc-sage-muted-3); margin: 0; }
.cc-counselor-card__stats{ display: flex; gap: 28px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--cc-border-1); }
.cc-counselor-card__stat-value{ font: 500 28px/1 var(--cc-font-serif); color: var(--cc-sage-dark-alt); }
.cc-counselor-card__stat-label{ font: 300 11px/1.4 var(--cc-font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--cc-sage-muted); margin-top: 5px; }
.cc-counselor-card__stat-divider{ width: 1px; background: var(--cc-border-2); }
.cc-counselor-card__empty{
  background: #fff; border-radius: var(--cc-radius-card); box-shadow: var(--cc-shadow-card-lg);
  padding: 48px 44px; text-align: center; color: var(--cc-sage-muted-3);
  font: 300 15px/1.7 var(--cc-font-sans);
}

/* Pillars (dark band) */
.cc-pillars{ background: var(--cc-sage-dark-alt); }
.cc-pillars .cc-eyebrow{ color: #aab0a3; }
.cc-pillars .cc-h2{ color: var(--cc-cream); }
.cc-pillar{ display: flex; flex-direction: column; align-items: center; text-align: center; }
.cc-pillar__photo{ width: 260px; height: 200px; border-radius: 8px; overflow: hidden; }
.cc-pillar__photo img{ width: 100%; height: 100%; object-fit: cover; }
.cc-pillar h3{ font: 500 28px/1.2 var(--cc-font-serif); color: var(--cc-cream); margin: 26px 0 12px; }
.cc-pillar p{ font: 300 15px/1.7 var(--cc-font-sans); color: #c3c8bd; margin: 0; }

/* Lifestyle + contact info column */
.cc-info-row{ font: 400 15px/1.6 var(--cc-font-sans); color: #4c5249; }
.cc-info-row__label{ color: var(--cc-sage-muted); letter-spacing: .1em; text-transform: uppercase; font-size: 11px; display: block; margin-bottom: 4px; }
.cc-photo-stack{ display: flex; flex-direction: column; gap: 20px; }
.cc-photo-stack img:first-child{ border-radius: 200px 200px 8px 8px; height: 380px; width: 100%; object-fit: cover; }
.cc-photo-stack img:last-child{ border-radius: 8px; height: 220px; width: 100%; object-fit: cover; }

/* Contact / form module (home + Contact page share visual language) */
.cc-form-panel{ background: var(--cc-form-bg); border-radius: var(--cc-radius-card); padding: 48px; }
.cc-form-row-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cc-field{ margin-top: 18px; }
.cc-field:first-child{ margin-top: 0; }
.cc-field label{ font: 400 11px/1 var(--cc-font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--cc-sage-muted); }
.cc-field input, .cc-field textarea, .cc-field select{
  width: 100%; margin-top: 8px; padding: 14px;
  border: 1px solid var(--cc-border-2); background: #fff;
  border-radius: 2px; font: 300 15px/1 var(--cc-font-sans); color: #4c5249;
}
.cc-field textarea{ line-height: 1.6; resize: none; }
.cc-field input:focus, .cc-field textarea:focus, .cc-field select:focus{ outline: none; border-color: var(--cc-sage-muted); }
.cc-honeypot{ position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cc-form-note{ font: 300 12px/1.6 var(--cc-font-sans); color: #9a9a8e; margin: 18px 0 0; }
.cc-form-banner{ border-radius: var(--cc-radius-card); padding: 18px 22px; margin-bottom: 26px; font: 400 14px/1.6 var(--cc-font-sans); }
.cc-form-banner--success{ background: #e7ede4; color: #3f4a3a; border: 1px solid #b9c6b1; }
.cc-form-banner--error{ background: #f6e9e4; color: #6a3a2a; border: 1px solid #e0bfae; }

/* Footer */
.cc-footer{ background: var(--cc-footer-green); padding: 64px 64px 36px; }
.cc-footer--light{ background: var(--cc-sage-dark); padding: 72px 56px 28px; }
.cc-footer__top{
  display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 40px;
  padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.1);
  max-width: 1180px; margin: 0 auto;
}
.cc-footer__blurb{ font: 300 13px/1.8 var(--cc-font-sans); color: #aab0a3; margin: 18px 0 0; max-width: 230px; }
.cc-footer__cols{ display: flex; gap: 72px; }
.cc-footer__col{ display: flex; flex-direction: column; gap: 14px; }
.cc-footer__label{ font: 400 11px/1 var(--cc-font-sans); letter-spacing: .2em; text-transform: uppercase; color: #7f8579; }
.cc-footer__link{ font: 300 14px/1 var(--cc-font-sans); color: #d8dad2; text-decoration: none; }
.cc-footer__text{ font: 300 14px/1.8 var(--cc-font-sans); color: #d8dad2; }
.cc-footer__bottom{
  display: flex; justify-content: space-between; align-items: center; margin-top: 28px; flex-wrap: wrap; gap: 12px;
  max-width: 1180px; margin-left: auto; margin-right: auto;
}
.cc-footer__meta{ font: 300 12px/1.6 var(--cc-font-sans); color: #8f9488; letter-spacing: .04em; }

/* ==========================================================================
   Interior page shell (About / Services / Our Team / Blog / Contact)
   ========================================================================== */
.cc-page-hero{ text-align: center; padding: 88px 56px 70px; }
.cc-page-hero__eyebrow{ font: 400 12px/1.4 var(--cc-font-sans); letter-spacing: .42em; text-transform: uppercase; color: var(--cc-tan-muted); }
.cc-page-hero__h1{ font: 400 56px/1.1 var(--cc-font-serif); color: #4f5549; margin: 18px auto 0; max-width: 760px; }
.cc-page-hero__sub{ font: 300 17px/1.7 var(--cc-font-sans); color: var(--cc-sage-muted-2); max-width: 560px; margin: 20px auto 0; }

.cc-contain{ max-width: 1120px; margin: 0 auto; padding-left: 56px; padding-right: 56px; }
.cc-contain--wide{ max-width: 1180px; }

.cc-split{ display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.cc-split-img{ height: 440px; border-radius: 160px 24px 160px 24px; overflow: hidden; }
.cc-split-img img{ width: 100%; height: 100%; object-fit: cover; }

.cc-band{ padding: 96px 56px; }
.cc-band--stone{ background: var(--cc-stone-alt); }
.cc-band--dark{ background: var(--cc-green-dark); text-align: center; }
.cc-band__intro{ text-align: center; max-width: 720px; margin: 0 auto 64px; }
.cc-band__eyebrow{ font: 400 12px/1.4 var(--cc-font-sans); letter-spacing: .34em; text-transform: uppercase; color: var(--cc-tan-muted); }
.cc-band__h2{ font: 400 44px/1.12 var(--cc-font-serif); color: #4f5549; margin: 14px 0 0; }

.cc-value-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; max-width: 1080px; margin: 0 auto; }
.cc-value-card{ background: var(--cc-cream-alt); border: 1px solid rgba(90,97,87,.1); border-radius: 14px; padding: 40px 34px; }
.cc-value-card__dot{ width: 44px; height: 44px; border-radius: 50%; }
.cc-value-card h3{ font: 500 24px/1.25 var(--cc-font-serif); color: #4f5549; margin: 24px 0 10px; }
.cc-value-card p{ font: 300 15px/1.8 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 0; }

.cc-quote-band{ padding: 104px 56px; text-align: center; }
.cc-quote-band p{ font: italic 400 38px/1.45 var(--cc-font-serif); color: #F4F0E8; max-width: 840px; margin: 0 auto; }
.cc-quote-band__attr{ font: 400 12px/1.4 var(--cc-font-sans); letter-spacing: .28em; text-transform: uppercase; color: #aeb4a3; margin-top: 30px; }

.cc-cta-band{ text-align: center; padding: 96px 56px; }
.cc-cta-band h2{ font: 400 40px/1.15 var(--cc-font-serif); color: #4f5549; margin: 0 auto; max-width: 600px; }
.cc-cta-band p{ font: 300 16px/1.7 var(--cc-font-sans); color: var(--cc-sage-muted-2); max-width: 480px; margin: 16px auto 0; }
.cc-cta-band__action{ margin-top: 30px; }

/* Services grid (Services page) */
.cc-services-grid{
  display: grid; grid-template-columns: repeat(2,1fr); gap: 0;
  border: 1px solid rgba(90,97,87,.13); border-radius: 14px; overflow: hidden;
}
.cc-services-grid__cell{ padding: 44px 48px; border-right: 1px solid rgba(90,97,87,.11); border-bottom: 1px solid rgba(90,97,87,.11); }
.cc-services-grid__cell:nth-child(2n){ border-right: none; }
.cc-services-grid__rule{ width: 32px; height: 2px; margin-bottom: 22px; }
.cc-services-grid__cell h3{ font: 500 26px/1.2 var(--cc-font-serif); color: #4f5549; margin: 0 0 10px; }
.cc-services-grid__cell p{ font: 300 15px/1.8 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 0; }

.cc-image-break{ position: relative; height: 400px; overflow: hidden; }
.cc-image-break img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cc-image-break__overlay{ position: absolute; inset: 0; background: linear-gradient(to right, rgba(87,92,86,.52) 0%, rgba(87,92,86,.18) 60%, rgba(87,92,86,0) 100%); }
.cc-image-break__content{ position: absolute; inset: 0; display: flex; align-items: center; padding: 0 80px; }
.cc-image-break__content p{ font: 400 italic 28px/1.4 var(--cc-font-serif); color: #f5f2ed; margin: 0 0 18px; max-width: 440px; }
.cc-image-break__rule{ width: 40px; height: 1px; background: var(--cc-accent-rose); }

.cc-format-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; max-width: 1080px; margin: 0 auto; }
.cc-format{ text-align: center; padding: 0 24px; }
.cc-format__icon{ width: 52px; height: 52px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.cc-format h3{ font: 500 22px/1.3 var(--cc-font-serif); color: #4f5549; margin: 20px 0 8px; }
.cc-format p{ font: 300 14px/1.8 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 0; }

/* Our Team bios */
.cc-bio-row{ padding-bottom: 80px; }
.cc-bio-row:last-of-type{ padding-bottom: 96px; }
.cc-bio-row__grid{ display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; }
.cc-bio-row__grid--reverse{ grid-template-columns: 1.15fr 1fr; }
.cc-bio-row__img{ height: 520px; overflow: hidden; background: var(--cc-stone); }
.cc-bio-row__img img{ width: 100%; height: 100%; object-fit: cover; }
.cc-bio-row__img--arch-a{ border-radius: 200px 24px 200px 24px; }
.cc-bio-row__img--arch-b{ border-radius: 24px 200px 24px 200px; }
.cc-bio-row__eyebrow{ font: 400 12px/1.4 var(--cc-font-sans); letter-spacing: .34em; text-transform: uppercase; color: var(--cc-tan-muted); }
.cc-bio-row__name{ font: 400 44px/1.12 var(--cc-font-serif); color: #4f5549; margin: 12px 0 0; }
.cc-bio-row__subtitle{ font: italic 400 18px/1.4 var(--cc-font-serif); color: var(--cc-sage-muted); margin: 8px 0 0; }
.cc-bio-row__rule{ width: 48px; height: 2px; background: var(--cc-border-3); margin: 26px 0; }
.cc-bio-row__p{ font: 300 16px/1.9 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 0; }
.cc-bio-row__p + .cc-bio-row__p{ margin-top: 18px; }
.cc-tags{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.cc-tag{ font: 400 12px/1 var(--cc-font-sans); letter-spacing: .04em; color: #5a615a; background: var(--cc-stone-alt); border-radius: 30px; padding: 9px 18px; }
.cc-bio-row__cta{ margin-top: 34px; }

/* Blog */
.cc-featured-post{
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; border-radius: 16px; overflow: hidden;
  background: var(--cc-stone-alt); text-decoration: none; align-items: stretch;
}
.cc-featured-post__media{ min-height: 380px; background: var(--cc-stone); }
.cc-featured-post__media img{ width: 100%; height: 100%; object-fit: cover; }
.cc-featured-post__body{ padding: 56px 52px; display: flex; flex-direction: column; justify-content: center; }
.cc-featured-post__tags{ display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.cc-pill-tag{ font: 400 11px/1 var(--cc-font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cc-cream-alt); background: var(--cc-sage-muted); border-radius: 30px; padding: 7px 15px; }
.cc-meta-tag{ font: 300 12px/1 var(--cc-font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--cc-tan-muted); }
.cc-featured-post__title{ font: 400 36px/1.18 var(--cc-font-serif); color: #4f5549; margin: 0; }
.cc-featured-post__excerpt{ font: 300 16px/1.8 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 18px 0 0; }
.cc-featured-post__cta{ margin-top: 26px; font: 500 12px/1 var(--cc-font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--cc-sage-dark-alt); border-bottom: 1px solid var(--cc-sage-dark-alt); padding-bottom: 5px; align-self: flex-start; }

.cc-post-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.cc-post-card{ text-decoration: none; display: flex; flex-direction: column; }
.cc-post-card__media{ height: 220px; border-radius: 14px; overflow: hidden; background: var(--cc-stone); }
.cc-post-card__media img{ width: 100%; height: 100%; object-fit: cover; }
.cc-post-card__meta{ font: 300 11px/1 var(--cc-font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--cc-tan-muted); margin: 20px 0 10px; }
.cc-post-card__title{ font: 400 24px/1.25 var(--cc-font-serif); color: #4f5549; margin: 0; }
.cc-post-card__excerpt{ font: 300 14px/1.75 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 12px 0 0; }

.cc-empty-note{
  grid-column: 1 / -1; text-align: center; padding: 56px 32px; background: var(--cc-stone-alt);
  border-radius: 14px; font: 300 16px/1.7 var(--cc-font-sans); color: var(--cc-sage-muted-2);
}

.cc-newsletter{ background: var(--cc-stone-alt); padding: 88px 56px; margin-top: 56px; }
.cc-newsletter__inner{ max-width: 620px; margin: 0 auto; text-align: center; }
.cc-newsletter-row{ display: flex; gap: 12px; max-width: 440px; margin: 30px auto 0; }
.cc-newsletter-row input{ flex: 1; padding: 15px 18px; border: 1px solid #ddd6c9; background: var(--cc-cream-alt); border-radius: 30px; font: 300 15px/1 var(--cc-font-sans); color: #4f5549; }
.cc-newsletter-row button{ font: 500 12px/1 var(--cc-font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--cc-cream-alt); background: var(--cc-sage-dark-alt); padding: 15px 28px; border-radius: 30px; white-space: nowrap; border: none; cursor: pointer; }

/* Single post */
.cc-single-post{ max-width: 760px; margin: 0 auto; padding: 88px 56px 96px; }
.cc-single-post__eyebrow{ font: 300 12px/1 var(--cc-font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--cc-tan-muted); }
.cc-single-post__title{ font: 400 46px/1.15 var(--cc-font-serif); color: #4f5549; margin: 16px 0 0; }
.cc-single-post__media{ margin: 40px 0; border-radius: 14px; overflow: hidden; }
.cc-single-post__media img{ width: 100%; height: auto; object-fit: cover; }
.cc-single-post__content{ font: 300 17px/1.9 var(--cc-font-sans); color: #5a615a; }
.cc-single-post__content p{ margin: 0 0 22px; }
.cc-single-post__back{ display: inline-block; margin-bottom: 32px; font: 500 12px/1 var(--cc-font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--cc-sage-dark-alt); text-decoration: none; }

/* Contact page */
.cc-contact-grid{ display: grid; grid-template-columns: .92fr 1.08fr; gap: 56px; align-items: start; }
.cc-contact-info{ display: flex; flex-direction: column; gap: 30px; }
.cc-contact-info__label{ font: 400 11px/1 var(--cc-font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cc-tan-muted); margin-bottom: 9px; }
.cc-contact-info__value{ font: 300 16px/1.7 var(--cc-font-sans); color: #4f5549; }
.cc-contact-info__value a{ text-decoration: none; }
.cc-contact-info__muted{ font: 300 14px/1.7 var(--cc-font-sans); color: #9a9a8e; }
.cc-contact-map{ display: block; margin-top: 34px; height: 240px; border-radius: 14px; overflow: hidden; background: var(--cc-stone); }
.cc-contact-map img{ width: 100%; height: 100%; object-fit: cover; }
.cc-contact-form-panel{ background: var(--cc-stone-alt); border-radius: 16px; padding: 48px; }
.cc-contact-form-panel h2{ font: 400 30px/1.2 var(--cc-font-serif); color: #4f5549; margin: 0 0 6px; }
.cc-contact-form-panel > p{ font: 300 14px/1.7 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 0 0 30px; }

/* Home lead-in scheduling box */
.cc-schedule-box{ background: var(--cc-form-bg); border-radius: var(--cc-radius-card); padding: 28px 30px; display: flex; flex-direction: column; gap: 14px; }
.cc-schedule-box__label{ font: 500 13px/1 var(--cc-font-sans); letter-spacing: .04em; color: #4c5249; }
.cc-schedule-box__value{ font: 400 15px/1 var(--cc-font-sans); color: var(--cc-sage-dark-alt); }

/* FAQ / Resources page */
.cc-crisis-band{
  background: #F6EDE7; border: 1px solid #E3C9BA; border-radius: 14px;
  padding: 32px 40px; max-width: 1120px; margin: 0 auto;
}
.cc-crisis-band p{ font: 400 16px/1.7 var(--cc-font-sans); color: #6b4a38; margin: 0; }
.cc-crisis-band strong{ font-weight: 500; }

.cc-resource-list{ display: flex; flex-direction: column; gap: 22px; max-width: 780px; margin: 0 auto; }
.cc-resource{ background: var(--cc-cream-alt); border: 1px solid rgba(90,97,87,.1); border-radius: 14px; padding: 28px 32px; }
.cc-resource__title{ font: 500 20px/1.3 var(--cc-font-serif); color: #4f5549; margin: 0; }
.cc-resource__title a{ color: inherit; text-decoration: none; border-bottom: 1px solid var(--cc-border-3); }
.cc-resource__list{ list-style: none; margin: 14px 0 0; padding: 0; }
.cc-resource__list li{ font: 300 15px/1.8 var(--cc-font-sans); color: var(--cc-sage-muted-2); padding-left: 20px; position: relative; }
.cc-resource__list li::before{ content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--cc-accent-rose); }

.cc-faq-list{ max-width: 820px; margin: 0 auto; }
.cc-faq-item{ border-bottom: 1px solid var(--cc-border-1); padding: 26px 0; }
.cc-faq-item:first-child{ padding-top: 0; }
.cc-faq-item summary{
  font: 500 19px/1.4 var(--cc-font-serif); color: #4f5549; cursor: pointer;
  list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.cc-faq-item summary::-webkit-details-marker{ display: none; }
.cc-faq-item summary::after{
  content: "+"; flex-shrink: 0; font: 300 24px/1 var(--cc-font-sans); color: var(--cc-sage-muted);
  transition: transform .15s ease;
}
.cc-faq-item[open] summary::after{ content: "\2212"; }
.cc-faq-item p{ font: 300 16px/1.85 var(--cc-font-sans); color: var(--cc-sage-muted-2); margin: 16px 0 0; }

/* Photo-brief style admin notices, reused as gentle "open item" flags on the front end */
.cc-open-item{
  background: #F6EFE4; border: 1px dashed #c9a876; border-radius: 6px;
  padding: 14px 18px; font: 300 13px/1.6 var(--cc-font-sans); color: #6b5636; margin: 0 0 20px;
}
.cc-open-item strong{ font-weight: 500; }

/* ==========================================================================
   Responsive — matches source .dc.html breakpoint at 820px
   ========================================================================== */
@media (max-width: 820px){
  body{ overflow-x: hidden; }
  .cc-topbar{ padding: 9px 16px; flex-wrap: wrap; gap: 6px; justify-content: center; }
  .cc-nav__inner{ padding: 10px 16px 8px; gap: 8px; }
  .cc-nav__links{ flex-wrap: wrap; gap: 8px 12px; justify-content: center; }
  .cc-nav__logo{ height: 50px; }

  .cc-grid-3, .cc-grid-2, .cc-split, .cc-services-grid, .cc-value-grid, .cc-format-grid,
  .cc-bio-row__grid, .cc-bio-row__grid--reverse, .cc-form-row-2, .cc-post-grid{
    grid-template-columns: 1fr !important;
  }
  .cc-bio-row__grid > *, .cc-bio-row__grid--reverse > *{ order: initial !important; }

  .cc-section, .cc-section--tight, .cc-band, .cc-cta-band{ padding: 52px 20px !important; }
  .cc-page-hero{ padding: 52px 20px 38px !important; }
  .cc-contain{ padding-left: 20px !important; padding-right: 20px !important; }
  .cc-footer, .cc-footer--light{ padding: 48px 20px 24px !important; }
  .cc-split-img, .cc-bio-row__img{ height: 280px !important; border-radius: 24px !important; }
  .cc-hero-img, .cc-texture-break, .cc-image-break{ height: auto !important; min-height: 360px !important; }
  .cc-hero-img__content, .cc-texture-break__content{ padding-left: 24px !important; padding-right: 24px !important; }
  .cc-hero-h1{ font-size: 34px !important; line-height: 1.12 !important; }
  .cc-page-hero__h1, .cc-band__h2, .cc-h2{ font-size: 28px !important; line-height: 1.15 !important; }
  .cc-newsletter-row{ flex-direction: column !important; align-items: stretch !important; max-width: 100% !important; }
  .cc-featured-post{ grid-template-columns: 1fr !important; }
  .cc-featured-post__media{ min-height: 240px !important; }
  .cc-hero-eyebrow{ display: none !important; }
  .cc-hero-sub{ display: none !important; }
  .cc-crisis-band{ padding: 24px 22px !important; }
  .cc-resource{ padding: 22px 22px !important; }
  .cc-faq-item summary{ font-size: 17px !important; }
}
