:root {
  --gc-ink: #18352b;
  --gc-ink-soft: #49645a;
  --gc-green: #23734d;
  --gc-green-dark: #155437;
  --gc-lime: #d9eea8;
  --gc-cream: #f7f4ea;
  --gc-paper: #fffef9;
  --gc-gold: #e7ae3c;
  --gc-border: #dce6df;
  --gc-shadow: 0 18px 50px rgba(24, 53, 43, .11);
  --wp--preset--font-family--system-font: 'Roboto', Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  color: var(--gc-ink);
  background: var(--gc-paper);
  font-family: 'Roboto', Arial, sans-serif !important;
  font-size: clamp(1rem, .98rem + .12vw, 1.075rem);
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.wp-block-site-title,
.wp-block-navigation {
  font-family: 'Quicksand', Arial, sans-serif !important;
  color: var(--gc-ink);
  letter-spacing: -.025em;
  line-height: 1.16;
  text-wrap: balance;
}
h1 { font-size: clamp(2.45rem, 6vw, 5.25rem); }
h2 { font-size: clamp(1.85rem, 3.4vw, 3.15rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
p, li { text-wrap: pretty; }
a { color: var(--gc-green); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--gc-green-dark); }
::selection { background: var(--gc-lime); color: var(--gc-ink); }

header.wp-block-template-part {
  position: relative;
  z-index: 20;
  background: rgba(255, 254, 249, .96);
  border-bottom: 1px solid var(--gc-border);
  box-shadow: 0 5px 24px rgba(24, 53, 43, .06);
}
.wp-block-site-title a { color: var(--gc-ink); text-decoration: none; font-weight: 700; }
.wp-block-navigation-item a { font-weight: 600; text-decoration: none !important; }
.wp-block-navigation-item a:hover { color: var(--gc-green); }

main { min-height: 60vh; }
.wp-site-blocks > main { overflow: hidden; }
.wp-block-post-title { max-width: 18ch; }
.wp-block-post-featured-image img,
.wp-block-image img,
.wp-block-cover { border-radius: clamp(.75rem, 2vw, 1.35rem); }
.wp-block-post-featured-image img { box-shadow: var(--gc-shadow); }

.wp-block-button__link,
.wp-element-button {
  border: 0;
  border-radius: 999px !important;
  padding: .82em 1.35em;
  background: var(--gc-green) !important;
  color: white !important;
  font-family: 'Quicksand', Arial, sans-serif;
  font-weight: 700;
  box-shadow: 0 9px 24px rgba(35, 115, 77, .2);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover { transform: translateY(-2px); background: var(--gc-green-dark) !important; box-shadow: 0 12px 28px rgba(35, 115, 77, .28); }

.wp-block-query .wp-block-post,
.wp-block-latest-posts li {
  border: 1px solid var(--gc-border);
  border-radius: 1.1rem;
  background: #fff;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  box-shadow: 0 10px 32px rgba(24, 53, 43, .07);
  transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-query .wp-block-post:hover { transform: translateY(-3px); box-shadow: var(--gc-shadow); }

.wp-block-quote {
  margin-inline: 0;
  padding: 1.1rem 1.4rem;
  border-left: .35rem solid var(--gc-gold);
  border-radius: 0 1rem 1rem 0;
  background: var(--gc-cream);
}
table { border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--gc-border); border-radius: 1rem; }
th { background: var(--gc-ink); color: white; font-family: 'Quicksand', Arial, sans-serif; }
th, td { padding: .8rem 1rem; border-color: var(--gc-border); }

.grospace-resources {
  max-width: 1200px;
  margin: clamp(3rem, 8vw, 6rem) auto 1rem;
  padding: clamp(1.35rem, 4vw, 3rem);
  border-radius: clamp(1.2rem, 3vw, 2rem);
  background: linear-gradient(135deg, var(--gc-ink), #285f48);
  color: #fff;
  box-shadow: var(--gc-shadow);
}
.grospace-resources h2 { margin: .2rem 0 .45rem; color: #fff; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.grospace-resources p { margin: 0; color: #dfebe4; }
.grospace-resources__eyebrow { color: var(--gc-lime); font: 700 .78rem/1 'Quicksand', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.grospace-resources__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 1.5rem; }
.grospace-resource { display: flex; flex-direction: column; gap: .3rem; min-height: 8.4rem; padding: 1.1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; background: rgba(255,255,255,.08); color: #fff; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.grospace-resource:hover { color: #fff; background: rgba(255,255,255,.14); transform: translateY(-3px); }
.grospace-resource strong { font: 700 1.02rem/1.3 'Quicksand', sans-serif; }
.grospace-resource span { color: #d9e6df; font-size: .9rem; line-height: 1.45; }

.grochick-partner-bar { padding: 1.05rem max(1.25rem, calc((100vw - 1200px) / 2)); background: var(--gc-lime); color: var(--gc-ink); text-align: center; }
.grochick-partner-bar p { margin: 0; }
.grochick-partner-bar a { font-weight: 700; }
footer.wp-block-template-part { background: var(--gc-ink); color: #e4eee9; }
footer.wp-block-template-part h2, footer.wp-block-template-part h3, footer.wp-block-template-part a { color: #fff; }

input, textarea, select {
  border: 1px solid #b9cbc1 !important;
  border-radius: .65rem !important;
  padding: .75rem .9rem !important;
  font: inherit;
  background: #fff;
}
input:focus, textarea:focus, select:focus { outline: 3px solid rgba(35,115,77,.18); border-color: var(--gc-green) !important; }
:focus-visible { outline: 3px solid var(--gc-gold); outline-offset: 3px; }

@media (max-width: 780px) {
  .grospace-resources__links { grid-template-columns: 1fr; }
  .grospace-resource { min-height: auto; }
  .wp-site-blocks { overflow-x: clip; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
