@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,700;1,500&display=swap');

/* ===== KINDNESS GROVE V6 – BOLD LUXURY (replaces V4 + V5 + V5.1 + V5.2) ===== */

:root{
  --kg4-logo: url("https://thekindnessgrove.org/wp-content/uploads/2026/02/95A13CFB-13D7-4917-8BBF-9C3749CA4819.jpeg");   /* <<< paste your logo file URL here (the only place) */
  --kg4-bg:#f9f1dc;
  --kg4-bg-soft:#f1e6c9;
  --kg4-card:#fffaf0;
  --kg4-ink:#17301f;
  --kg4-muted:#4f6353;
  --kg4-green:#3b6e4b;
  --kg4-sage:#a9c9a0;
  --kg4-dark:#14291b;
  --kg4-border:rgba(23,48,31,.18);
  --kg4-radius-lg:24px;
  --kg4-radius:18px;
  --kg4-shadow:0 24px 50px rgba(20,41,27,.22);
  --kg4-max:1160px;
  --kg4-font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --kg4-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}

html{ scroll-behavior:smooth; scroll-padding-top:100px; }

/* ===== BASE ===== */
.kg4, .kg4 *{ box-sizing:border-box; }
.kg4 h1,.kg4 h2,.kg4 h3,.kg4 p{ margin:0; }
.kg4 a{ color:inherit; text-decoration:none; }
.kg4{
  font-family:var(--kg4-font);
  color:var(--kg4-ink);
  overflow-x:clip;
  background:
    radial-gradient(circle at 85% 0%, rgba(169,201,160,.55) 0, transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(59,110,75,.12) 0, transparent 45%),
    var(--kg4-bg);
}
.kg4-container{ max-width:var(--kg4-max); margin:0 auto; padding:0 20px; }

/* ===== NAV ===== */
.kg4-nav{
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(14px);
  background:rgba(249,241,220,.9);
  border-bottom:1px solid var(--kg4-border);
}
.kg4-nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:10px 0; flex-wrap:wrap;
}
.kg4-brand{
  display:flex; align-items:center; gap:12px;
  font-family:var(--kg4-serif); font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; font-size:17px;
}
.kg4-logo-dot{
  width:46px; height:46px; border-radius:50%; flex:none;
  background-image:var(--kg4-logo), conic-gradient(from 130deg,#3b6e4b,#a9c9a0,#3b6e4b);
  background-size:175%, cover;
  background-position:center 36%, center;
  background-repeat:no-repeat;
  box-shadow:0 0 0 2px var(--kg4-green), 0 10px 22px rgba(20,41,27,.25);
  transition:transform .8s ease;
}
.kg4-brand:hover .kg4-logo-dot{ transform:rotate(360deg); }
.kg4-links{ display:flex; gap:8px; flex-wrap:wrap; }
.kg4-links a{
  position:relative; padding:6px 6px;
  font-size:12px; font-weight:700; letter-spacing:.04em;
  color:var(--kg4-muted); transition:color .3s ease;
}
.kg4-links a:after{
  content:""; position:absolute; left:6px; bottom:0; height:2px; width:0;
  background:var(--kg4-green); transition:width .3s ease;
}
.kg4-links a:hover{ color:var(--kg4-green); }
.kg4-links a:hover:after{ width:calc(100% - 12px); }
.kg4-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* ===== BUTTONS ===== */
.kg4-btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 20px; border-radius:999px;
  font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  background:transparent; color:var(--kg4-ink);
  border:2px solid var(--kg4-ink);
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
}
.kg4-btn:after{
  content:""; position:absolute; top:0; left:-80%; width:50%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg); transition:left .7s ease; pointer-events:none;
}
.kg4-btn:hover:after{ left:130%; }
.kg4-btn:hover{ transform:translateY(-3px); background:var(--kg4-ink); color:#f9f1dc; box-shadow:0 14px 28px rgba(20,41,27,.3); }
.kg4-btn.primary{
  border:2px solid transparent;
  background:linear-gradient(135deg,#3b6e4b,#2c5a3b);
  color:#f9f1dc;
  box-shadow:0 14px 30px rgba(20,41,27,.35);
}
.kg4-btn.primary:hover{ background:linear-gradient(135deg,#2c5a3b,#1f4a2e); box-shadow:0 18px 36px rgba(20,41,27,.45); }

/* ===== SECTIONS + TYPE ===== */
.kg4-section{ padding:84px 0; }
.kg4-eyebrow{
  font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--kg4-green); font-weight:800;
}
.kg4-eyebrow:after{
  content:""; display:block; width:56px; height:3px; margin-top:10px;
  background:linear-gradient(90deg,#3b6e4b,#a9c9a0); border-radius:3px;
  transition:width .5s ease;
}
.kg4-section:hover .kg4-eyebrow:after{ width:110px; }
.kg4-h1,.kg4-h2,.kg4 h3{ font-family:var(--kg4-serif); font-weight:700; letter-spacing:-.01em; }
.kg4-h1{ font-size:clamp(40px,5.2vw,78px); line-height:.95; text-transform:uppercase; }
.kg4-h2{ font-size:clamp(32px,5vw,64px); line-height:.98; text-transform:uppercase; }
.kg4-lead{ margin-top:14px; font-size:18px; line-height:1.7; color:var(--kg4-muted); max-width:70ch; }

/* ===== HERO ===== */
.kg4-hero{ position:relative; overflow:hidden; padding:48px 0 52px; }
.kg4-hero .kg4-container{ position:relative; z-index:1; }
.kg4-hero:before,
.kg4-hero:after{
  content:""; position:absolute; top:-60px; z-index:0;
  width:26px; height:40px; border-radius:0 100% 0 100%;
  background:#a9c9a0; opacity:.75; pointer-events:none;
  animation:kgFall 15s linear infinite;
}
.kg4-hero:before{ left:12%; }
.kg4-hero:after{ left:78%; background:#3b6e4b; opacity:.45; border-radius:100% 0 100% 0; animation-duration:20s; animation-delay:-7s; }

.kg4-hero-grid{
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:22px; align-items:stretch;
}
.kg4-hero-main{
  position:relative; overflow:hidden;
  background:rgba(255,250,240,.95);
  border-radius:var(--kg4-radius-lg);
  padding:28px 28px 24px;
  box-shadow:var(--kg4-shadow);
  border:1px solid var(--kg4-border);
  border-top:6px solid var(--kg4-green);
  animation:kgUp .9s ease both;
}
.kg4-hero-main:before{
  content:""; position:absolute; right:-80px; top:-80px; width:240px; height:240px; z-index:0;
  border-radius:50%; background:radial-gradient(circle,rgba(169,201,160,.6),transparent 70%);
  animation:kgPulse 6s ease-in-out infinite; pointer-events:none;
}
.kg4-hero-main > *{ position:relative; z-index:1; }
.kg4-tag-row{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.kg4-chip,.kg4-tag{
  display:inline-flex; align-items:center;
  padding:6px 10px; border-radius:999px;
  background:#e7efdb; color:var(--kg4-green);
  font-size:11px; text-transform:uppercase; letter-spacing:.16em; font-weight:800;
  transition:transform .25s ease, background .25s ease;
}
.kg4-chip:hover,.kg4-tag:hover{ transform:translateY(-3px); background:#cfe3c6; }
.kg4-meta-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.kg4-meta-pill{
  padding:6px 12px; border-radius:999px; background:#efe6cc;
  font-size:12px; color:var(--kg4-muted); transition:transform .25s ease;
}
.kg4-meta-pill:hover{ transform:translateY(-3px); }

.kg4-hero-side{ display:grid; gap:14px; }
.kg4-hero-side > *{ animation:kgUp .9s ease both; }
.kg4-hero-side > *:nth-child(2){ animation-delay:.2s; }

.kg4-impact{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#14291b,#0d1c12);
  color:#fef9f3;
  border-radius:var(--kg4-radius-lg);
  padding:22px 22px 20px;
  box-shadow:0 18px 42px rgba(20,41,27,.5);
  transition:transform .4s ease, box-shadow .4s ease;
}
.kg4-impact > *{ position:relative; z-index:1; }
.kg4-impact:before{
  content:""; position:absolute; inset:-40px 50% 40% -30px; z-index:0;
  background:radial-gradient(circle at top,#a9c9a0,transparent 70%);
  opacity:.6; animation:kgPulse 5s ease-in-out infinite; pointer-events:none;
}
.kg4-impact:after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:linear-gradient(90deg,transparent,#a9c9a0,transparent);
  background-size:200% 100%; animation:kgShimmer 4s linear infinite;
}
.kg4-impact:hover{ transform:translateY(-6px); box-shadow:0 28px 56px rgba(20,41,27,.6); }
.kg4-impact-title{ font-size:12px; text-transform:uppercase; letter-spacing:.22em; color:rgba(255,255,255,.7); font-weight:800; }
.kg4-impact-main{ margin-top:12px; display:flex; justify-content:space-between; gap:12px; align-items:flex-end; }
.kg4-impact-main strong{ display:block; font-family:var(--kg4-serif); font-size:46px; line-height:1; font-weight:700; }
.kg4-impact-main span,.kg4-impact-main div{ font-size:13px; color:rgba(255,255,255,.9); }
.kg4-impact-note{ margin-top:14px; font-size:13px; color:rgba(255,255,255,.88); line-height:1.6; }
.kg4-impact-footer{ margin-top:16px; font-size:11px; color:rgba(255,255,255,.7); display:flex; justify-content:space-between; gap:10px; }

.kg4-hero-image{
  position:relative; overflow:hidden;
  min-height:200px; border-radius:var(--kg4-radius-lg);
  background:url("https://thekindnessgrove.org/wp-content/uploads/2026/02/DSC09930.jpg") center/cover no-repeat;
  box-shadow:0 18px 40px rgba(20,41,27,.35);
  transition:transform .5s ease, box-shadow .5s ease;
  animation:kgUp .9s ease .2s both, kgFloatT 7s ease-in-out 1.1s infinite;
}
.kg4-hero-image:hover{ transform:scale(1.02) rotate(-.6deg); box-shadow:0 30px 60px rgba(20,41,27,.45); }
.kg4-hero-image:before{
  content:""; position:absolute; top:14px; right:14px; z-index:2;
  width:92px; height:92px; border-radius:20px;
  background-image:var(--kg4-logo), linear-gradient(135deg,#3b6e4b,#a9c9a0);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  box-shadow:0 12px 28px rgba(20,41,27,.4);
}
.kg4-hero-image:after{
  content:"FED Square · Melbourne · 5,000+ people";
  position:absolute; left:14px; bottom:14px; z-index:2;
  padding:7px 12px; border-radius:999px;
  background:rgba(20,41,27,.88); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.04em;
}

/* ===== STATS ===== */
.kg4-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:26px; }
.kg4-stat{
  background:var(--kg4-card); border:1px solid var(--kg4-border);
  border-radius:var(--kg4-radius); padding:16px;
  transition:transform .35s ease, background .35s ease, color .35s ease, box-shadow .35s ease;
}
.kg4-stat .n{ font-family:var(--kg4-serif); font-size:36px; font-weight:700; line-height:1; color:var(--kg4-green); transition:color .35s ease; }
.kg4-stat .t{ margin-top:6px; font-size:12px; color:var(--kg4-muted); transition:color .35s ease; }
.kg4-stat:hover{ transform:translateY(-8px); background:var(--kg4-green); box-shadow:var(--kg4-shadow); }
.kg4-stat:hover .n,.kg4-stat:hover .t{ color:#f9f1dc; }

/* ===== TICKER ===== */
.kg4-ticker{
  background:var(--kg4-dark); color:#f9f1dc;
  overflow:hidden; white-space:nowrap; padding:16px 0;
  border-top:3px solid var(--kg4-green); border-bottom:3px solid var(--kg4-green);
}
.kg4-track{ display:inline-block; animation:kgScroll 32s linear infinite; }
.kg4-ticker:hover .kg4-track{ animation-play-state:paused; }
.kg4-track span{
  font-family:var(--kg4-serif); font-weight:700;
  font-size:clamp(24px,3.4vw,38px); text-transform:uppercase; letter-spacing:.05em; margin:0 26px;
}
.kg4-track i{ font-style:normal; color:var(--kg4-sage); }

/* ===== GRIDS + CARDS ===== */
.kg4-grid{ display:grid; gap:16px; }
.kg4-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.kg4-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.kg4-split{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }

.kg4-card,.kg4-soft,.kg4-short,.kg4-logo-card{
  position:relative; overflow:hidden;
  background:var(--kg4-card);
  border:1px solid var(--kg4-border);
  border-radius:var(--kg4-radius);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.kg4-card{ padding:24px; box-shadow:0 16px 38px rgba(20,41,27,.08); }
.kg4-soft{ padding:20px; }
.kg4-card:before,.kg4-short:before,.kg4-logo-card:before{
  content:""; position:absolute; left:0; top:0; height:5px; width:0; z-index:2;
  background:linear-gradient(90deg,#3b6e4b,#a9c9a0); transition:width .5s ease;
}
.kg4-card:hover,.kg4-soft:hover,.kg4-short:hover,.kg4-logo-card:hover{
  transform:translateY(-8px); box-shadow:0 28px 54px rgba(20,41,27,.22); border-color:var(--kg4-green);
}
.kg4-card:hover:before,.kg4-short:hover:before,.kg4-logo-card:hover:before{ width:100%; }
.kg4-card h3{ font-size:30px; margin-bottom:8px; line-height:1.05; }
.kg4-icon{
  width:48px; height:48px; border-radius:16px; display:grid; place-items:center;
  background:#e7efdb; font-size:23px;
  transition:transform .5s ease, background .3s ease;
  animation:kgFloatT 5s ease-in-out infinite;
}
.kg4-card:nth-child(2) .kg4-icon{ animation-delay:-1.5s; }
.kg4-card:nth-child(3) .kg4-icon{ animation-delay:-3s; }
.kg4-card:hover .kg4-icon{ transform:rotate(360deg) scale(1.08); background:var(--kg4-green); }
.kg4-list{ list-style:none; margin-top:10px; padding-left:0; color:var(--kg4-muted); line-height:1.9; }
.kg4-list li{ position:relative; padding-left:28px; }
.kg4-list li:before{ content:"✓"; position:absolute; left:0; top:0; color:var(--kg4-green); font-weight:900; }

/* ===== GALLERY ===== */
.kg4-gallery-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:22px; }
.kg4-photo{
  position:relative; overflow:hidden; border-radius:var(--kg4-radius);
  box-shadow:0 18px 40px rgba(20,41,27,.25);
}
.kg4-photo:after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top,rgba(20,41,27,.7),transparent 55%);
  opacity:.6; transition:opacity .4s ease;
}
.kg4-photo img{
  width:100%; height:240px; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.kg4-photo:hover img{ transform:scale(1.12) rotate(.8deg); filter:saturate(1.15); }
.kg4-photo:hover:after{ opacity:.9; }
.kg4-cap{
  position:absolute; left:10px; right:10px; bottom:10px; z-index:2;
  padding:7px 12px; border-radius:999px;
  background:rgba(249,241,220,.95); color:var(--kg4-dark);
  font-size:12px; font-weight:800;
  transform:translateY(6px); transition:transform .4s ease;
}
.kg4-photo:hover .kg4-cap{ transform:translateY(0); }

/* ===== HIGHLIGHTS (SHORTS) ===== */
.kg4-shorts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:22px; }
.kg4-short{ padding:14px; }
.kg4-short .kg4-chip{ margin-bottom:10px; }
.kg4-short iframe{ width:100%; aspect-ratio:9/16; border:0; border-radius:14px; display:block; }

/* ===== DONATE ===== */
.kg4-donate-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.kg4-donate-grid > *:nth-child(2){
  background:linear-gradient(160deg,#3b6e4b,#234d33);
  color:#f9f1dc; transform:translateY(-14px); border-color:transparent;
}
.kg4-donate-grid > *:nth-child(2):hover{ transform:translateY(-24px); }
.kg4-donate-grid > *:nth-child(2) h3{ color:#f9f1dc !important; }
.kg4-donate-grid > *:nth-child(2) p{ color:#e6efdf !important; }
.kg4-donate-grid > *:nth-child(2) .kg4-tag{ background:rgba(249,241,220,.2); color:#f9f1dc; }
.kg4-donate-grid > *:nth-child(2) .kg4-btn.primary{ background:#f9f1dc; color:#14291b; box-shadow:none; }
.kg4-donate-grid > *:nth-child(2) .kg4-btn:not(.primary){ background:transparent; color:#f9f1dc; border-color:#f9f1dc; }
.kg4-donate-grid > *:nth-child(2) .kg4-btn:not(.primary):hover{ background:#f9f1dc; color:#14291b; }

/* ===== PARTNERS ===== */
.kg4-partners-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.kg4-logo-card{
  padding:16px 14px 14px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
}
.kg4-logo-wrap{
  width:120px; height:64px; border-radius:14px; background:#efe6cc;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:transform .35s ease;
}
.kg4-logo-card:hover .kg4-logo-wrap{ transform:scale(1.08); }
.kg4-logo-wrap img{ max-width:100%; max-height:100%; object-fit:contain; display:block; filter:grayscale(.8); transition:filter .4s ease; }
.kg4-logo-card:hover .kg4-logo-wrap img{ filter:grayscale(0); }
.kg4-logo-text{ display:flex; flex-direction:column; gap:2px; font-size:12px; color:var(--kg4-muted); }
.kg4-logo-text strong{ font-size:13px; font-weight:800; color:var(--kg4-ink); }

/* ===== FOOTER ===== */
.kg4-footer{
  padding:30px 0 36px; background:var(--kg4-dark); color:#cdd8c8;
  border-top:4px solid var(--kg4-green); font-size:13px;
}
.kg4-footer a:hover{ color:var(--kg4-sage); }

/* ===== SCROLL EFFECTS (modern browsers; safe fallback) ===== */
@supports (animation-timeline: scroll()){
  body:before{
    content:""; position:fixed; top:0; left:0; right:0; height:4px; z-index:99999;
    background:linear-gradient(90deg,#a9c9a0,#3b6e4b);
    transform-origin:0 50%; transform:scaleX(0);
    animation:kgProgress linear both; animation-timeline:scroll(root);
  }
}
@supports (animation-timeline: view()){
  .kg4-card,.kg4-photo,.kg4-short,.kg4-logo-card,.kg4-stat,.kg4-soft{
    animation:kgReveal linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 28%;
  }
}

/* ===== KEYFRAMES (translate-based so hover transforms still work) ===== */
@keyframes kgUp{ from{opacity:0; translate:0 34px;} to{opacity:1; translate:0 0;} }
@keyframes kgReveal{ from{opacity:0; translate:0 44px; scale:.97;} to{opacity:1; translate:0 0; scale:1;} }
@keyframes kgFloatT{ 50%{ translate:0 -12px; } }
@keyframes kgPulse{ 50%{ transform:scale(1.25); opacity:.5; } }
@keyframes kgShimmer{ from{background-position:200% 0;} to{background-position:-200% 0;} }
@keyframes kgScroll{ to{ transform:translateX(-50%); } }
@keyframes kgProgress{ to{ transform:scaleX(1); } }
@keyframes kgFall{
  0%{ transform:translate3d(0,-60px,0) rotate(0); }
  50%{ transform:translate3d(60px,50vh,0) rotate(200deg); }
  100%{ transform:translate3d(-30px,110vh,0) rotate(400deg); }
}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .kg4-nav-inner{ flex-direction:column; align-items:flex-start; gap:6px; }
  .kg4-links{ flex-wrap:nowrap; overflow-x:auto; width:100%; white-space:nowrap; scrollbar-width:none; }
  .kg4-links::-webkit-scrollbar{ display:none; }
  .kg4-actions{ width:100%; }
  .kg4-hero-grid{ grid-template-columns:minmax(0,1fr); }
  .kg4-hero-main{ order:1; }
  .kg4-hero-side{ order:2; }
  .kg4-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kg4-3,.kg4-2,.kg4-split{ grid-template-columns:minmax(0,1fr); }
  .kg4-gallery-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kg4-shorts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kg4-donate-grid{ grid-template-columns:minmax(0,1fr); }
  .kg4-donate-grid > *:nth-child(2){ transform:none; }
  .kg4-donate-grid > *:nth-child(2):hover{ transform:translateY(-8px); }
  .kg4-partners-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:540px){
  .kg4-container{ padding:0 14px; }
  .kg4-section{ padding:60px 0; }
  .kg4-gallery-grid,.kg4-shorts,.kg4-partners-grid{ grid-template-columns:minmax(0,1fr); }
  .kg4-impact-main{ flex-direction:column; align-items:flex-start; }
}

/* ===== ACCESSIBILITY ===== */
@media (prefers-reduced-motion:reduce){
  .kg4 *,.kg4 *:before,.kg4 *:after{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

/* ===== V6.1 – FULL-WIDTH + HERO FIXES (paste at the very bottom) ===== */

/* 1. Break out of the theme's boxed container to the full screen width */
.kg4{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
html:has(.kg4), body:has(.kg4){ overflow-x:clip; }

/* 2. Remove theme padding, margins and the page title on this page only */
body:has(.kg4) .site-content,
body:has(.kg4) #content,
body:has(.kg4) #primary,
body:has(.kg4) .content-area,
body:has(.kg4) .site-main,
body:has(.kg4) main,
body:has(.kg4) article,
body:has(.kg4) .entry-content,
body:has(.kg4) .post-content,
body:has(.kg4) .page-content,
body:has(.kg4) .ast-container,
body:has(.kg4) .container,
body:has(.kg4) .wp-site-blocks,
body:has(.kg4) .is-layout-constrained{
  max-width:none !important;
  padding-top:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-top:0 !important;
}
body:has(.kg4) .entry-header,
body:has(.kg4) .entry-title,
body:has(.kg4) .page-title{ display:none !important; }

/* 3. Hero headline: smaller so it fits in about 3 lines */
.kg4-h1{ font-size:clamp(34px,4.2vw,62px); line-height:1; }

/* 4. Impact card: soft glow instead of the hard-edged patch */
.kg4-impact:before{
  inset:auto;
  left:-120px; top:-150px;
  width:360px; height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(169,201,160,.45),transparent 65%);
}

/* 5. Stop the Impact card stretching: the photo fills the leftover height */
.kg4-hero-side{ grid-template-rows:auto 1fr; }
.kg4-hero-image{ min-height:260px; }

/* ===== V6.2 – POLISH ===== */

/* Tighter headline: 3 to 4 lines instead of 5 */
.kg4-h1{ font-size:clamp(34px,3.9vw,56px); }

/* Remove the thin white strip above the nav */
body:has(.kg4){ padding-top:0 !important; margin-top:0 !important; }

/* Section rhythm: tinted sage band for Programs */
#programs{ background:rgba(169,201,160,.22); }

/* Dark, cinematic Highlights section so the videos pop */
#highlights{ background:var(--kg4-dark); color:#f9f1dc; }
#highlights .kg4-eyebrow{ color:var(--kg4-sage); }
#highlights .kg4-h2{ color:#f9f1dc; }
#highlights .kg4-lead{ color:#c9d3c4; }
#highlights .kg4-short{ background:#1b3828; border-color:rgba(249,241,220,.18); }
#highlights .kg4-chip{ background:rgba(169,201,160,.2); color:var(--kg4-sage); }

/* Editorial gallery: first photo big, last photo wide */
.kg4-gallery-grid{ grid-auto-rows:240px; }
.kg4-photo img{ height:100%; }
.kg4-photo:nth-child(1){ grid-column:span 2; grid-row:span 2; }
.kg4-photo:nth-child(8){ grid-column:span 2; }
@media (max-width:980px){
  .kg4-photo:nth-child(1),.kg4-photo:nth-child(8){ grid-column:auto; grid-row:auto; }
}

/* Floating "Donate" button on phones */
.kg4-fab{ display:none; }
@media (max-width:980px){
  .kg4-fab{
    display:inline-flex; position:fixed; right:14px; bottom:14px; z-index:9999;
    padding:14px 24px; border-radius:999px;
    background:linear-gradient(135deg,#3b6e4b,#2c5a3b); color:#f9f1dc;
    font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
    box-shadow:0 14px 30px rgba(20,41,27,.5);
    animation:kgFloatT 4s ease-in-out infinite;
  }
}
<script>
(function(){
  var kg = document.querySelector('.kg4'); if(!kg) return;
  var rm = matchMedia('(prefers-reduced-motion: reduce)').matches;
  var fine = matchMedia('(hover: hover) and (pointer: fine)').matches;

  /* 5. Count-up numbers */
  if(!rm && 'IntersectionObserver' in window){
    var io = new IntersectionObserver(function(es){
      es.forEach(function(e){
        if(!e.isIntersecting) return; io.unobserve(e.target);
        var el = e.target, end = +el.dataset.end, sfx = el.dataset.sfx, full = el.dataset.txt, t0 = null;
        (function f(t){
          if(!t0) t0 = t;
          var p = Math.min((t - t0) / 1600, 1), v = Math.round(end * (1 - Math.pow(1 - p, 3)));
          el.textContent = p < 1 ? v.toLocaleString('en-AU') : full;
          if(p < 1) requestAnimationFrame(f);
        })(performance.now());
      });
    }, {threshold:.6});
    kg.querySelectorAll('.kg4-stat .n, .kg4-impact-main strong').forEach(function(el){
      var t = el.textContent.trim(), m = t.match(/^([\d,]+)(\+?)$/);
      if(!m) return;
      el.dataset.end = m[1].replace(/,/g,''); el.dataset.sfx = m[2]; el.dataset.txt = t;
      io.observe(el);
    });
  }

  /* 6. Card spotlight */
  kg.querySelectorAll('.kg4-card').forEach(function(c){
    c.addEventListener('pointermove', function(e){
      var r = c.getBoundingClientRect();
      c.style.setProperty('--mx', (e.clientX - r.left) + 'px');
      c.style.setProperty('--my', (e.clientY - r.top) + 'px');
    });
  });

  /* 7. Magnetic buttons + 8. cursor glow (desktop only) */
  if(fine && !rm){
    kg.querySelectorAll('.kg4-btn.primary').forEach(function(b){
      b.addEventListener('pointermove', function(e){
        var r = b.getBoundingClientRect();
        b.style.translate = ((e.clientX - r.left - r.width/2) * .18) + 'px ' + ((e.clientY - r.top - r.height/2) * .28) + 'px';
      });
      b.addEventListener('pointerleave', function(){ b.style.translate = ''; });
    });
    var g = document.createElement('div'); g.className = 'kg4-glow'; document.body.appendChild(g);
    addEventListener('pointermove', function(e){
      g.style.opacity = 1;
      g.style.transform = 'translate(' + e.clientX + 'px,' + e.clientY + 'px)';
    }, {passive:true});
  }

  /* 9. Drifting leaves */
  if(!rm){
    for(var i = 0; i < 9; i++){
      var l = document.createElement('span'); l.className = 'kg4-fl';
      l.style.left = (Math.random() * 96) + '%';
      l.style.animationDuration = (16 + Math.random() * 14) + 's';
      l.style.animationDelay = (-Math.random() * 20) + 's';
      l.style.scale = .6 + Math.random() * .9;
      document.body.appendChild(l);
    }
  }

  /* 10. Gallery lightbox */
  kg.querySelectorAll('.kg4-photo').forEach(function(p){
    var img = p.querySelector('img'); if(!img) return;
    p.addEventListener('click', function(){
      var lb = document.createElement('div'); lb.className = 'kg4-lb';
      var im = document.createElement('img');
      im.alt = img.alt;
      im.onerror = function(){ im.onerror = null; im.src = img.currentSrc || img.src; };
      im.src = img.src.replace(/-\d+x\d+(\.\w+)$/, '$1');
      lb.appendChild(im);
      function close(){ lb.remove(); document.removeEventListener('keydown', k); }
      function k(e){ if(e.key === 'Escape') close(); }
      lb.addEventListener('click', close);
      document.addEventListener('keydown', k);
      document.body.appendChild(lb);
    });
  });
})();
</script>