/*
Theme Name: High Suffolk Farm Cluster — GeneratePress Child
Theme URI: https://highsuffolkfarmcluster.org/
Description: A lightweight GeneratePress child theme for the High Suffolk Farm Cluster CIC Home page.
Author: High Suffolk Farm Cluster CIC
Template: generatepress
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: high-suffolk-generatepress-child
*/

:root {
  --hsc-ink: #17352d;
  --hsc-green: #315f3b;
  --hsc-leaf: #6e8d45;
  --hsc-wheat: #e4b84a;
  --hsc-paper: #f7f5ef;
  --hsc-line: #d8d8cd;
}

body { background: var(--hsc-paper); color: var(--hsc-ink); }
.site-header, .site-footer { border-color: var(--hsc-line); }
.inside-header { padding-top: 18px; padding-bottom: 18px; }
.site-logo { max-height: 112px; width: auto; }
.entry-content { max-width: none; }
.hsc-home { overflow: hidden; }
.hsc-hero, .hsc-split { display: grid; gap: 48px; align-items: center; }
.hsc-hero { grid-template-columns: 1fr 1fr; padding: 96px 0; }
.hsc-split { grid-template-columns: .85fr 1.15fr; padding: 96px 0; border-top: 1px solid var(--hsc-line); }
.hsc-hero h1, .hsc-home h2 { color: var(--hsc-ink); font-family: Georgia, serif; font-weight: 500; letter-spacing: -.04em; line-height: .98; }
.hsc-hero h1 { font-size: clamp(3rem, 7vw, 6.8rem); margin: 0; }
.hsc-home h2 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.hsc-eyebrow { color: var(--hsc-leaf); font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.hsc-lede { color: #5f6c65; font-size: 1.15rem; line-height: 1.65; max-width: 38rem; }
.hsc-accent { color: var(--hsc-leaf); font-style: italic; }
.hsc-image { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 22px; }
.hsc-hero .hsc-image { aspect-ratio: 4 / 3; }
.hsc-button { background: var(--hsc-green); border-radius: 999px; color: #fff !important; display: inline-block; font-weight: 700; padding: 13px 20px; text-decoration: none; }
.hsc-button:hover, .hsc-button:focus { background: var(--hsc-ink); color: #fff !important; }
.hsc-projects { border-top: 1px solid var(--hsc-line); padding: 96px 0; }
.hsc-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hsc-project { background: #efeee7; border: 1px solid var(--hsc-line); border-radius: 16px; color: inherit; display: flex; flex-direction: column; overflow: hidden; text-decoration: none; }
.hsc-project:hover, .hsc-project:focus { border-color: var(--hsc-green); transform: translateY(-3px); }
.hsc-project img { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; }
.hsc-project-body { padding: 24px; }
.hsc-project h3 { font-family: Georgia, serif; font-size: 1.7rem; margin: 0 0 10px; }
.hsc-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 0 0 96px; }
.hsc-gallery img { aspect-ratio: 1; border-radius: 12px; object-fit: cover; width: 100%; }
.hsc-contact { background: var(--hsc-green); color: #fff; padding: 72px 8%; }
.hsc-contact h2, .hsc-contact p { color: #fff; }
@media (max-width: 800px) {
  .hsc-hero, .hsc-split, .hsc-project-grid { grid-template-columns: 1fr; }
  .hsc-hero, .hsc-split, .hsc-projects { padding: 64px 0; }
  .hsc-gallery { grid-template-columns: repeat(2, 1fr); padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) { .hsc-project { transition: none; } }

/* Optional GeneratePress block-editor defaults for reusable patterns. */
.wp-block-group.is-style-hsc-paper { background: var(--hsc-paper); }
.wp-block-button__link { border-radius: 999px; }
