.gp-landing {
  --gp-ink: var(--ast-global-color-2, #262626);
  --gp-muted: #4d4f43;
  --gp-olive: var(--ast-global-color-0, #5f6243);
  --gp-olive-dark: var(--ast-global-color-1, #333524);
  --gp-soft: #f7f8f3;
  --gp-line: var(--ast-global-color-4, #c3c6ab);
  color: var(--gp-ink);
  font: 400 18px/1.65 "Source Sans Pro", sans-serif;
  max-width: none;
}
.gp-landing *, .gp-landing *::before, .gp-landing *::after { box-sizing: border-box; }
.gp-landing > .wp-block-group {
  padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 4rem);
}
.gp-landing > .wp-block-group > * { max-width: 920px; margin-left: auto; margin-right: auto; }
.gp-landing .gp-hero {
  background: var(--gp-soft);
  padding-top: clamp(3rem, 7vw, 5.5rem);
  padding-bottom: clamp(3rem, 7vw, 5.5rem);
}
.gp-landing .gp-eyebrow {
  color: var(--gp-olive);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.gp-landing h1, .gp-landing h2, .gp-landing h3 {
  color: var(--gp-ink);
  line-height: 1.17;
  text-wrap: balance;
  font-family: "Playfair Display", Georgia, serif;
}
.gp-landing h1 { font-size: clamp(2.55rem, 5vw, 4rem); max-width: 820px; margin-top: 1rem; }
.gp-landing h2 { font-size: clamp(2rem, 3.3vw, 2.8rem); margin-bottom: 1.3rem; }
.gp-landing h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); margin-top: 2rem; }
.gp-landing p { max-width: 750px; margin-bottom: 1.25rem; }
.gp-landing .gp-lead { font-size: clamp(1.12rem, 2vw, 1.4rem); color: var(--gp-muted); }
.gp-landing .wp-block-buttons { margin-top: 1.8rem; }
.gp-landing .gp-primary-cta .wp-block-button__link {
  background: var(--gp-olive);
  border: 2px solid var(--gp-olive);
  color: white;
  border-radius: 4px;
  min-height: 52px;
  padding: .75rem 1.7rem;
  font: 600 1rem/1.5 "Nunito Sans", sans-serif;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.gp-landing .gp-primary-cta .wp-block-button__link:hover { background: var(--gp-olive-dark); border-color: var(--gp-olive-dark); color: white; }
.gp-landing .gp-primary-cta .wp-block-button__link:focus-visible { outline: 3px solid var(--gp-olive-dark); outline-offset: 3px; }
.gp-landing .gp-hero-image { margin-top: 2.5rem; }
.gp-landing .gp-hero-image img { display: block; width: 100%; max-height: 500px; object-fit: cover; border-radius: 4px; }
.gp-landing .gp-trust { background: white; }
.gp-landing .gp-trust ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.gp-landing .gp-trust li { padding: 1rem 1.2rem; background: var(--gp-soft); border: 1px solid var(--gp-line); border-radius: 4px; font-size: .95rem; }
.gp-landing .gp-section ul { padding-left: 1.4rem; }
.gp-landing .gp-section li { margin-bottom: .65rem; }
.gp-landing .gp-recognition, .gp-landing .gp-about, .gp-landing .gp-faq { background: white; }
.gp-landing .gp-support, .gp-landing .gp-steps { background: var(--gp-soft); }
.gp-landing .gp-closing { background: var(--gp-olive-dark); color: white; }
.gp-landing .gp-closing h2, .gp-landing .gp-closing p { color: white; }
.gp-landing .gp-closing .gp-primary-cta .wp-block-button__link { background: white; border-color: white; color: var(--gp-olive-dark); }
.gp-landing .gp-closing .gp-primary-cta .wp-block-button__link:hover { background: var(--gp-soft); border-color: var(--gp-soft); color: var(--gp-olive-dark); }
body.gp-landing-page .entry-header > .entry-title,
body.gp-landing-page .wp-block-post-title,
body.gp-landing-page main > .page-title { display: none; }
@media (max-width: 600px) {
  .gp-landing { font-size: 16px; }
  .gp-landing .gp-primary-cta .wp-block-button__link { width: 100%; text-align: center; }
  .gp-landing .wp-block-button, .gp-landing .wp-block-buttons { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .gp-landing .gp-primary-cta .wp-block-button__link { transition: none; }
}
