body, p {
    font-family: var(--gp-font--work-sans), sans-serif;
}

h1 {
    font-family: 'Times New Roman', Times, serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: var(--text-xl);
    margin-bottom: 5px;
}

h2 {
    font-family: 'Times New Roman', Times, serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: var(--text-l);
    margin-bottom: 15px;
}

h3 {
    font-family: 'Times New Roman', Times, serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: var(--text-m);
    margin-bottom: 15px;
}

/* ------------------------------------------------------------------
   Design review fixes (Pastel, 2026-10-02)
   ------------------------------------------------------------------ */

/* Header: keep the menu on one line between the mobile breakpoint (1180px)
   and ~1500px. The menu never wraps; the logo gets an explicit width so the
   auto grid column can't collapse it; the Contact Us button hides below
   1420px (the menu collapses to a hamburger at 1180px and the button returns
   beside it). */
.gb-menu-be01df87 {
    flex-wrap: nowrap;
}
.gb-menu-be01df87 .gb-menu-link,
.gb-text-9159ea3b {
    white-space: nowrap;
}
.gb-text-9159ea3b {
    flex: none;
}
@media (max-width: 1500px) {
    .gb-element-4446f7e7 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .gb-element-b12b1e46 {
        grid-template-columns: auto 1fr;
    }
    .gb-site-header .gb-media-b26e6174 {
        width: 300px;
        max-width: 300px;
    }
    .gb-menu-item-mi01df87 .gb-menu-link {
        padding-left: 14px;
        padding-right: 14px;
    }
}
@media (max-width: 1420px) and (min-width: 1181px) {
    .gb-text-9159ea3b {
        display: none;
    }
    .gb-site-header .gb-media-b26e6174 {
        width: 240px;
        max-width: 240px;
    }
    .gb-menu-item-mi01df87 .gb-menu-link {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Header on phones: the logo was a fixed 340px inside 3rem padding, which
   pushed the menu toggle off-screen. */
@media (max-width: 767px) {
    .gb-element-4446f7e7 {
        padding: 1rem 1.25rem;
    }
    .gb-site-header .gb-media-b26e6174 {
        width: auto;
        max-width: min(240px, 62vw);
    }
}

/* Buttons: centre the label when it wraps onto two lines */
.primary-button,
.gb-button.primary-button,
.gform_wrapper button[type=submit] {
    justify-content: center;
    text-align: center;
}

/* Dropdowns: size to the longest item instead of a fixed 200px */
.gb-sub-menu-sm01df87 {
    width: auto;
    min-width: 200px;
}
.gb-sub-menu-sm01df87 .gb-menu-link {
    white-space: nowrap;
}

/* Footer: the long email address breaks only after the @ (a <wbr> sits there in the
   Footer element). Tablet: two centred columns instead of three with an empty one.
   Phone: shrink the address slightly so the domain fits on one line. */
.gb-text-a3c5c17f a {
    overflow-wrap: anywhere; /* last resort only */
}
@media (min-width: 768px) and (max-width: 1024px) {
    .gb-element-cad9d7fe {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .gb-element-95ceb62f {
        display: flex;
        justify-content: center;
    }
}
@media (max-width: 767px) {
    .gb-text-a3c5c17f a {
        font-size: clamp(13px, 4.2vw, 1em);
    }
}
