/* Grassroots Intelligence — shared brand styles (close match to the current site) */
@font-face{font-family:'ChunkFive';src:url('/assets/fonts/ChunkFive-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/SourceSans3-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/SourceSans3-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/SourceSans3-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}

:root{
  --green:#6E9E4E; --green-d:#4F7A38; --brown:#8C5E3C; --brown-d:#5E3B23;
  --gold:#D9A93E; --gold-l:#F4E6BE; --cream:#FBF6EA; --ink:#33312E; --mute:#6B6760;
  --rust:#A85535; --olive:#5E7A38;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:'Source Sans 3',-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3,h4{font-family:'ChunkFive',Rockwell,Georgia,serif;font-weight:400;line-height:1.15;color:var(--brown)}
a{color:var(--green-d)}
img{max-width:100%;display:block}

/* Header / nav */
.site-header{background:#fff;border-bottom:1px solid #eadfc7;position:sticky;top:0;z-index:50}
.nav-wrap{max-width:1140px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 20px;flex-wrap:wrap}
.brand-logo{height:52px;width:auto}
.nav-links{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.nav-links a{color:var(--brown);text-decoration:none;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em}
.nav-links a:hover{color:var(--green-d)}

/* Buttons */
.btn{display:inline-block;border:2px solid var(--rust);color:var(--rust);background:transparent;
  padding:11px 22px;border-radius:4px;text-decoration:none;font-weight:700;font-size:13px;
  text-transform:uppercase;letter-spacing:.06em;transition:.15s}
.btn:hover{background:var(--rust);color:#fff}

/* Testimonial banners */
.quote-band{padding:64px 24px;text-align:center;color:#fff}
.quote-band.rust{background:var(--rust)}
.quote-band.olive{background:var(--olive)}
.quote-band blockquote{max-width:820px;margin:0 auto;font-family:'ChunkFive',Georgia,serif;
  font-size:clamp(22px,3.4vw,34px);line-height:1.3}
.quote-band .cite{margin-top:22px;font-size:14px;opacity:.92;font-family:'Source Sans 3',sans-serif}
.quote-band .rule{width:60px;height:2px;background:rgba(255,255,255,.5);margin:18px auto 0}

/* Split section (text + image) */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split .copy{padding:56px clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.split .media{background-size:cover;background-position:center;min-height:340px;align-self:stretch}
.split .media img{width:100%;height:100%;object-fit:cover}
/* Let split rows size to the taller side without leaving a big void under short copy */
.split{align-items:stretch}
.split h2{font-size:clamp(26px,3.4vw,36px);margin:0 0 18px}
.split p{color:#4a463f;margin:0 0 16px}
.split.reverse .copy{order:2}.split.reverse .media{order:1}

/* Hero (Mel round) */
.hero{background:linear-gradient(180deg,var(--gold-l),var(--cream));text-align:center;padding:64px 24px 54px}
.hero h1{font-size:clamp(32px,5vw,52px);margin:0 0 12px}
.hero .designed{font-family:'ChunkFive',Rockwell,Georgia,serif;color:var(--green-d);font-size:clamp(17px,2.3vw,23px);margin:0 0 20px}
.hero p.sub{max-width:840px;margin:0 auto 28px;color:#4a463f}
.hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.btn.solid{background:var(--rust);color:#fff;border-color:var(--rust)}
.btn.solid:hover{background:#8f4527;border-color:#8f4527}
.hero .cred{color:var(--mute);font-size:14px;font-style:italic;max-width:700px;margin:0 auto}

/* Photo placeholder (About page) */
.photo-ph{aspect-ratio:4/5;border-radius:12px;background:repeating-linear-gradient(45deg,#efe6cf,#efe6cf 12px,#f6efdd 12px,#f6efdd 24px);
  display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:14px;text-align:center;padding:20px}

/* Coloured section divider */
.brand-divider{height:8px;width:100%;background:linear-gradient(90deg,var(--green) 0%,var(--gold) 50%,var(--rust) 100%)}

/* Services grid */
.section{max-width:1140px;margin:0 auto;padding:56px 20px}
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.card{background:#fff;border:1px solid #eadfc7;border-radius:12px;padding:26px;display:flex;flex-direction:column}
.card h3{font-size:24px;color:var(--rust);margin:0 0 12px}
.card p{color:#4a463f;flex:1;margin:0 0 18px}

/* Subpage helpers */
.page-title{background:var(--gold-l);text-align:center;padding:52px 24px}
.page-title h1{font-size:clamp(30px,4.5vw,46px);margin:0}
.prose{max-width:820px;margin:0 auto;padding:0 4px}
.prose p{color:#4a463f;margin:0 0 16px}
.center{text-align:center}
.mt{margin-top:26px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:12px;align-items:start}
.feature-grid.two{grid-template-columns:repeat(2,1fr)}
/* Banner-style section image: capped so it doesn't leave big voids */
.section-banner{display:block;margin:8px auto 26px;max-width:520px;width:100%;height:auto;border-radius:12px}
/* Encapsulated brochure viewer */
.brochure{max-width:900px;margin:18px auto 0;display:flex;flex-direction:column;gap:14px}
.brochure img{width:100%;height:auto;border:1px solid #eadfc7;border-radius:10px;box-shadow:0 2px 10px rgba(20,30,60,.06)}
/* Responsive video embed */
.video-embed{max-width:820px;margin:22px auto;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(20,30,60,.16)}
.video-embed iframe{width:100%;height:100%;border:0;display:block}
.feature{background:#fff;border:1px solid #eadfc7;border-radius:12px;padding:22px}
.feature h3{font-size:20px;color:var(--rust);margin:0 0 10px}
.feature p{color:#4a463f;margin:0;font-size:16px}
.card-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin:0 0 16px;display:block}
.card .card-img{margin-bottom:18px}
@media (max-width:800px){.feature-grid,.feature-grid.two{grid-template-columns:1fr}}

/* Video placeholder (real videos to be re-hosted from the source library) */
.video-ph{max-width:760px;margin:22px auto;aspect-ratio:16/9;border-radius:14px;
  background:linear-gradient(135deg,#3a4a2f,#5E7A38);color:#fff;display:flex;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.video-ph .play{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.video-ph small{opacity:.85;margin-top:6px}

/* PDF download card */
.doc-card{max-width:520px;margin:22px auto;background:#fff;border:1px solid #eadfc7;border-radius:12px;
  padding:20px 22px;display:flex;align-items:center;gap:18px}
.doc-card .ico{font-size:30px}
.doc-card .btn{white-space:nowrap}

/* Footer */
.site-footer{background:#2b2925;color:#d9d4ca;text-align:center;padding:40px 20px;font-size:14px}
.site-footer a{color:#e7c877}

@media (max-width:800px){
  .split{grid-template-columns:1fr}
  .split.reverse .copy{order:1}.split.reverse .media{order:2}
  .services{grid-template-columns:1fr}
  .nav-links{width:100%;margin-left:0}
}
