.pga-say-hello {
  --green: #37b44a;
  --green-dark: #1f8f36;
  --ink: #282b2d;
  --muted: #6f7178;
  --line: #e7e7e7;
  --soft: #f4f4f4;
  --white: #ffffff;
  color: var(--ink);
  font-family: "Raleway", Arial, sans-serif;
}

.pga-say-hello *,
.pga-say-hello *::before,
.pga-say-hello *::after {
  box-sizing: border-box;
}

.pga-say-hello a {
  color: inherit;
  text-decoration: none;
}

.pga-say-hello h1,
.pga-say-hello h2,
.pga-say-hello h3 {
  color: inherit;
  font-family: "Fira Sans", Arial, sans-serif;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

.pga-say-hello h1 {
  font-size: clamp(2.7rem, 5vw, 4.5rem);
  max-width: 9.5em;
}

.pga-say-hello h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.pga-say-hello h3 {
  font-size: 1.32rem;
}

.pga-say-hello .eyebrow {
  color: inherit;
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 0.65rem;
  text-transform: uppercase;
}

.pga-say-hello .hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.72fr);
  min-height: 560px;
}

.pga-say-hello .hero-media {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0)), url("../wp-content/uploads/2023/09/approach-2.jpg");
  background-position: center 31%;
  background-size: cover;
}

.pga-say-hello .hero-copy {
  align-content: center;
  background: var(--green);
  color: var(--white);
  display: grid;
  padding: 4rem;
}

.pga-say-hello .hero-copy p:not(.eyebrow) {
  color: var(--white);
  font-size: 1.15rem;
  margin: 1.35rem 0 0;
  max-width: 33rem;
}

.pga-say-hello .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.pga-say-hello .button {
  align-items: center;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 0.96rem;
  font-weight: 700;
  gap: 0.55rem;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.15rem;
}

.pga-say-hello .button.primary {
  background: var(--ink);
  color: var(--white);
}

.pga-say-hello .button.whatsapp {
  background: var(--white);
  color: var(--green-dark);
}

.pga-say-hello .button.whatsapp .whatsapp-icon {
  height: 1.55rem;
  width: 1.55rem;
}

.pga-say-hello .button.dark {
  background: var(--ink);
  color: var(--white);
}

.pga-say-hello .contact-routes,
.pga-say-hello .contact-panel,
.pga-say-hello .location-section {
  padding: 5.5rem 3.5rem;
}

.pga-say-hello .contact-routes {
  padding-top: 4rem;
}

.pga-say-hello .route-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pga-say-hello .route {
  border: 1px solid var(--line);
  padding: 2rem;
}

.pga-say-hello .route h3 {
  margin-top: 1.15rem;
}

.pga-say-hello .route p,
.pga-say-hello .direct-contact p,
.pga-say-hello .location-copy p,
.pga-say-hello .newsletter p {
  color: var(--muted);
  margin: 0.9rem 0 0;
}

.pga-say-hello .icon {
  aspect-ratio: 1;
  background: var(--green);
  display: inline-block;
  flex: 0 0 auto;
  height: 48px;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
  width: 48px;
}

.pga-say-hello .donor-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 58C18 50 8 40 8 27c0-8 6-14 14-14 4 0 8 2 10 5 2-3 6-5 10-5 8 0 14 6 14 14 0 13-10 23-24 31Z'/%3E%3C/svg%3E");
}

.pga-say-hello .partner-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 29a9 9 0 1 1 0-18 9 9 0 0 1 0 18Zm24 0a9 9 0 1 1 0-18 9 9 0 0 1 0 18ZM6 55c1-12 7-19 14-19s13 7 14 19H6Zm24 0c1-12 7-19 14-19s13 7 14 19H30Z'/%3E%3C/svg%3E");
}

.pga-say-hello .message-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12h48v34H23L10 56V46H8V12Zm9 11v4h30v-4H17Zm0 10v4h22v-4H17Z'/%3E%3C/svg%3E");
}

.pga-say-hello .email-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 14h48v36H8V14Zm24 21L12 20v26h40V20L32 35Zm0-7 13-10H19l13 10Z'/%3E%3C/svg%3E");
}

.pga-say-hello .phone-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 8h11l5 13-7 4c3 7 8 12 15 15l4-7 13 5v11c0 4-3 7-7 7C28 56 8 36 8 15c0-4 3-7 7-7h4Z'/%3E%3C/svg%3E");
}

.pga-say-hello .whatsapp-icon {
  --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32 101.5 32 1.9 131.6 1.9 254c0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");
  background-color: currentColor;
}

.pga-say-hello .contact-panel {
  background: var(--soft);
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(18rem, 0.68fr) minmax(0, 1fr);
}

.pga-say-hello .direct-contact .eyebrow,
.pga-say-hello .location-copy .eyebrow {
  color: var(--green);
}

.pga-say-hello .contact-list {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.pga-say-hello .contact-list a {
  align-items: center;
  display: flex;
  gap: 0.85rem;
  font-weight: 700;
}

.pga-say-hello .contact-list .icon {
  height: 28px;
  width: 28px;
}

.pga-say-hello .contact-list .whatsapp-icon {
  color: var(--green);
}

.pga-say-hello .message-form {
  background: var(--white);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 2rem;
}

.pga-say-hello label {
  color: var(--ink);
  display: grid;
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  gap: 0.45rem;
}

.pga-say-hello input,
.pga-say-hello select,
.pga-say-hello textarea {
  background: var(--soft);
  border: 1px solid transparent;
  color: var(--ink);
  font: inherit;
  min-height: 48px;
  padding: 0.8rem 0.9rem;
  width: 100%;
}

.pga-say-hello textarea {
  resize: vertical;
}

.pga-say-hello input:focus,
.pga-say-hello select:focus,
.pga-say-hello textarea:focus {
  border-color: var(--green);
  outline: 2px solid rgba(55, 180, 74, 0.2);
}

.pga-say-hello .full {
  grid-column: 1 / -1;
}

.pga-say-hello .consent {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  line-height: 1.5;
  min-height: 44px;
  min-width: 0;
  width: 100%;
}

.pga-say-hello .consent input {
  -webkit-appearance: checkbox;
  appearance: auto;
  background: var(--white);
  border: 1px solid var(--line);
  display: inline-block;
  flex: 0 0 18px;
  height: 18px;
  margin-top: 0.15rem;
  min-height: 18px;
  opacity: 1;
  padding: 0;
  position: static;
  visibility: visible;
  width: 18px;
}

.pga-say-hello .consent span {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: normal;
  white-space: normal;
  word-break: normal;
}

.pga-say-hello .form-status {
  color: var(--green);
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  margin: -0.2rem 0 0;
  min-height: 1.4rem;
}

.pga-say-hello .message-form button[disabled] {
  cursor: progress;
  opacity: 0.68;
}

.pga-say-hello .hp-field {
  display: none !important;
}

.pga-contact-toast {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(55, 180, 74, 0.28);
  box-shadow: 0 18px 46px rgba(47, 48, 55, 0.18);
  color: #2f3037;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  left: 50%;
  max-width: min(31rem, calc(100% - 2rem));
  padding: 1rem;
  position: fixed;
  top: 1rem;
  transform: translate(-50%, -1rem);
  transition: opacity 180ms ease, transform 180ms ease;
  width: max-content;
  z-index: 99999;
}

.pga-contact-toast[hidden] {
  display: none;
}

.pga-contact-toast:not(.is-visible) {
  opacity: 0;
}

.pga-contact-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.pga-contact-toast__mark {
  background: var(--green);
  border-radius: 999px;
  height: 2.25rem;
  position: relative;
  width: 2.25rem;
}

.pga-contact-toast__mark::after {
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  content: "";
  height: 0.85rem;
  left: 0.85rem;
  position: absolute;
  top: 0.55rem;
  transform: rotate(45deg);
  width: 0.45rem;
}

.pga-contact-toast strong {
  color: #2f3037;
  display: block;
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.1;
}

.pga-contact-toast p {
  color: #606166;
  font-size: 0.9rem;
  line-height: 1.35;
  margin: 0.18rem 0 0;
}

.pga-contact-toast button {
  background: transparent;
  border: 0;
  color: var(--green);
  cursor: pointer;
  font-family: "Fira Sans", Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.35rem;
}

.pga-say-hello .location-section {
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1fr);
}

.pga-say-hello .text-link {
  border-bottom: 2px solid var(--green);
  color: var(--ink);
  display: inline-block;
  font-family: "Fira Sans", Arial, sans-serif;
  font-weight: 700;
  margin-top: 1.35rem;
}

.pga-say-hello .map-preview {
  align-content: center;
  background:
    linear-gradient(90deg, rgba(55, 180, 74, 0.15) 1px, transparent 1px),
    linear-gradient(rgba(55, 180, 74, 0.15) 1px, transparent 1px),
    #eef7ef;
  background-size: 44px 44px;
  display: grid;
  justify-items: center;
  min-height: 260px;
  padding: 2rem;
  text-align: center;
}

.pga-say-hello .map-pin {
  background: var(--green);
  border-radius: 50% 50% 50% 0;
  display: block;
  height: 42px;
  margin-bottom: 1rem;
  transform: rotate(-45deg);
  width: 42px;
}

.pga-say-hello .map-preview strong,
.pga-say-hello .map-preview span:not(.map-pin) {
  background: rgba(255, 255, 255, 0.86);
  padding: 0.2rem 0.6rem;
}

.pga-say-hello .newsletter {
  background: var(--green);
  color: var(--white);
  padding: 4.5rem 2rem;
  text-align: center;
}

.pga-say-hello .newsletter h2 {
  color: var(--white);
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.pga-say-hello .newsletter p {
  color: var(--white);
}

.pga-say-hello .newsletter-form {
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  margin: 2rem auto 0;
  max-width: 42rem;
}

.pga-say-hello .newsletter-form input {
  background: var(--white);
}

.pga-say-hello .sr-only {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

@media (max-width: 980px) {
  .pga-say-hello .hero,
  .pga-say-hello .contact-panel,
  .pga-say-hello .location-section {
    grid-template-columns: 1fr;
  }

  .pga-say-hello .hero-media {
    min-height: 360px;
    background-position: 44% center;
  }

  .pga-say-hello .route-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pga-say-hello .hero-copy,
  .pga-say-hello .contact-routes,
  .pga-say-hello .contact-panel,
  .pga-say-hello .location-section {
    padding: 3rem 1rem;
  }

  .pga-say-hello .message-form {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .pga-say-hello .contact-panel {
    gap: 2.2rem;
  }

  .pga-say-hello .contact-routes {
    padding-top: 2.75rem;
  }

  .pga-say-hello .newsletter-form {
    flex-direction: column;
  }

  .pga-say-hello .hero {
    min-height: 0;
  }

  .pga-say-hello .hero-media {
    min-height: 320px;
  }
}
