/* Custom styles for Zinnia Counselling additions.
   The main stylesheet is a purged Tailwind build, so bespoke layout lives here. */

/* ---- Header ---- */
.zc-header-inner{height:4.75rem}
@media (min-width:768px){.zc-header-inner{height:5.25rem}}
.zc-logo{height:3.5rem;width:auto;display:block;transition:transform .25s ease}
@media (min-width:768px){.zc-logo{height:4.1rem}}
a:hover>.zc-logo{transform:scale(1.04)}

/* ---- Home hero (Malvern Hills background) ---- */
.zc-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:82vh}
.zc-hero__bg{position:absolute;inset:0;z-index:-1}
.zc-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.zc-hero__scrim{position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(250,247,239,.95) 0%, rgba(250,247,239,.82) 32%,
    rgba(250,247,239,.42) 64%, rgba(250,247,239,.06) 100%)}
.zc-hero__inner{padding-top:6.5rem;padding-bottom:4rem}
@media (min-width:768px){.zc-hero__inner{padding-top:7.5rem;padding-bottom:6.5rem}}
@media (max-width:767px){
  .zc-hero{min-height:auto}
  .zc-hero__scrim{background:linear-gradient(180deg, rgba(250,247,239,.90) 0%,
    rgba(250,247,239,.82) 48%, rgba(250,247,239,.66) 100%)}
}

/* ---- 3-up card grid (testimonials + journal) ---- */
.zc-cards-3{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch}
@media (min-width:640px){.zc-cards-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.zc-cards-3{grid-template-columns:repeat(3,1fr)}}

/* ---- Testimonial cards ---- */
.zc-tcard{display:flex;flex-direction:column;height:100%;padding:2rem 1.9rem}
.zc-tcard svg{color:var(--color-primary);opacity:.32;width:2.1rem;height:2.1rem;margin-bottom:.75rem}
.zc-tquote{font-style:italic;font-size:1.18rem;line-height:1.55;color:var(--color-foreground);flex:1 1 auto}
.zc-tby{margin-top:1.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;color:var(--color-primary)}

/* ---- Journal cards ---- */
.zc-jcard{display:flex;flex-direction:column;height:100%;padding:1.9rem}
.zc-jmeta{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);font-weight:700}
.zc-jexcerpt{margin-top:.75rem;color:var(--color-foreground);opacity:.72;font-size:.95rem;line-height:1.6;flex:1 1 auto}

/* ---- Blog post prose ---- */
.zc-prose>*+*{margin-top:1.2rem}
.zc-prose h2{margin-top:2.25rem;margin-bottom:.25rem}
.zc-list{list-style:disc;padding-left:1.5rem}
.zc-list li+li{margin-top:.5rem}

/* ---- Scroll reveal (interactivity) ---- */
.zc-reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1)}
.zc-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .zc-reveal{opacity:1 !important;transform:none !important;transition:none}
}

/* ---- Mobile breathing room ---- */
@media (max-width:640px){
  .zc-cards-3{gap:1.4rem}
  .zc-tcard{padding:1.75rem 1.6rem}
  .zc-jcard{padding:1.6rem}
  .zc-tquote{font-size:1.12rem}
  /* a touch more edge padding + vertical air for stacked content */
  .zc-mpad{padding-left:1.4rem;padding-right:1.4rem}
  .zc-mtop{margin-top:1.25rem}
}
