/*
 Theme Name:   PES Child Theme
 Theme URI:    https://polsterenvironmental.com
 Description:  Divi 5 child theme for Polster Environmental Services
 Author:       Nathan Polster
 Author URI:   https://polsterenvironmental.com
 Template:     Divi
 Version:      1.4.21
 Text Domain:  pes-child
*/

/* ============================================
   PES Brand Variables
   ============================================ */
:root {
    --pes-green-dark: #2d5016;
    --pes-green: #3a6b1e;
    --pes-green-light: #5a8f3a;
    --pes-earth: #8b6914;
    --pes-earth-light: #c9a84c;
    --pes-sand: #edf2ef;
    --pes-surface-cool: #eef3f4;
    --pes-forest-deep: #143c31;
    --pes-ink: #001820;
    --pes-water: #547c88;
    --pes-lichen: #d5df8d;
    --pes-slate: #3a3a3a;
    --pes-white: #ffffff;
    --pes-off-white: #fafaf7;
    --pes-border: #e0ddd4;
    --pes-text: #2c2c2c;
    --pes-text-light: #5a5a5a;
    --pes-radius: 6px;
    --pes-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    --pes-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.12);
    --pes-transition: 0.25s ease;
}

/* Authenticated LearnDash step heading injected when the quiz template does
   not provide a semantic page title. */
.pes-learning-step-header {
    margin: 0 0 clamp(1.25rem, 3vw, 2rem);
    padding: clamp(1rem, 3vw, 1.5rem);
    border-left: 5px solid var(--pes-green);
    border-radius: 0 10px 10px 0;
    background: var(--pes-sand);
}

.pes-learning-step-header p {
    margin: 0 0 .35rem;
    color: var(--pes-green-dark);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pes-learning-step-header h1 {
    margin: 0;
    color: var(--pes-ink);
    font-size: clamp(1.65rem, 4vw, 2.45rem);
    line-height: 1.15;
}

/* ============================================
   Global Typography
   ============================================ */
body {
    color: var(--pes-text);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 17px !important;
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--pes-slate);
    font-family: 'Urbanist', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    line-height: 1.25;
}

h1 { font-size: 48px; letter-spacing: 0; }
h2 { font-size: 34px; letter-spacing: 0; }
h3 { font-size: 25px; letter-spacing: 0; }

/* ============================================
   Primary CTA Button
   ============================================ */
.pes-cta-primary,
a.pes-cta-primary {
    display: inline-block;
    background-color: var(--pes-green);
    color: var(--pes-white);
    padding: 14px 32px;
    border-radius: var(--pes-radius);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: background-color var(--pes-transition), box-shadow var(--pes-transition);
    border: none;
    cursor: pointer;
}

.pes-cta-primary:hover,
a.pes-cta-primary:hover {
    background-color: var(--pes-green-dark);
    box-shadow: var(--pes-shadow-hover);
    color: var(--pes-white);
}

.pes-cta-secondary,
a.pes-cta-secondary {
    display: inline-block;
    background-color: transparent;
    color: var(--pes-green);
    padding: 14px 32px;
    border: 2px solid var(--pes-green);
    border-radius: var(--pes-radius);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: all var(--pes-transition);
    cursor: pointer;
}

.pes-cta-secondary:hover,
a.pes-cta-secondary:hover {
    background-color: var(--pes-green);
    color: var(--pes-white);
}

/* ============================================
   Trust Strip
   ============================================ */
.pes-trust-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 3rem;
    padding: 1.5rem 2rem;
    background: var(--pes-sand);
    border-top: 1px solid var(--pes-border);
    border-bottom: 1px solid var(--pes-border);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pes-text-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ============================================
   Technique / Case Study Cards
   ============================================ */
.pes-card {
    background: var(--pes-white);
    border: 1px solid var(--pes-border);
    border-radius: var(--pes-radius);
    overflow: hidden;
    transition: box-shadow var(--pes-transition), transform var(--pes-transition);
}

.pes-card:hover {
    box-shadow: var(--pes-shadow-hover);
    transform: translateY(-2px);
}

.pes-card-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.pes-card-body {
    padding: 1.5rem;
}

.pes-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--pes-slate);
}

.pes-card-excerpt {
    font-size: 0.95rem;
    color: var(--pes-text-light);
    line-height: 1.6;
}

/* ============================================
   At-a-Glance Specs Table (Technique Pages)
   ============================================ */
.pes-specs-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
}

.pes-specs-table th {
    background: var(--pes-sand);
    text-align: left;
    padding: 0.75rem 1rem;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--pes-text-light);
    border-bottom: 2px solid var(--pes-border);
}

.pes-specs-table td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--pes-border);
    font-size: 0.95rem;
}

/* ============================================
   Case Study Metadata Bar
   ============================================ */
.pes-project-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 1.25rem 1.5rem;
    background: var(--pes-sand);
    border-radius: var(--pes-radius);
    margin-bottom: 2rem;
}

.pes-project-meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pes-project-meta-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pes-text-light);
    font-weight: 600;
}

.pes-project-meta-value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--pes-slate);
}

/* ============================================
   Header Logo and Interactive Media
   ============================================ */
#main-header .logo_container {
    max-width: 320px;
}

#main-header #logo {
    width: auto;
    max-width: 100%;
    max-height: 64px;
}

.et_pb_text a,
.et_pb_text_inner a {
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.14em;
}

.et_pb_button_module_wrapper .et_pb_button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.et_pb_video,
.et_pb_video_box {
    overflow: hidden;
    border-radius: 12px;
}

.et_pb_video_box video {
    display: block;
    width: 100%;
    height: auto;
}

/* ============================================
   FAQ Accordion
   ============================================ */
.pes-faq details {
    border-bottom: 1px solid var(--pes-border);
    padding: 1rem 0;
}

.pes-faq summary {
    font-weight: 600;
    font-size: 1.05rem;
    cursor: pointer;
    color: var(--pes-slate);
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pes-faq summary::after {
    content: '+';
    font-size: 1.25rem;
    color: var(--pes-green);
    transition: transform var(--pes-transition);
}

.pes-faq details[open] summary::after {
    content: '−';
}

.pes-faq details p {
    margin-top: 0.75rem;
    color: var(--pes-text-light);
    line-height: 1.7;
}

/* ============================================
   Full-Width CTA Banner
   ============================================ */
.pes-cta-banner {
    background: var(--pes-green-dark);
    color: var(--pes-white);
    text-align: center;
    padding: 4rem 2rem;
}

.pes-cta-banner h2 {
    color: var(--pes-white);
    margin-bottom: 1rem;
}

.pes-cta-banner p {
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    margin: 0 auto 2rem;
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {
    .pes-trust-strip {
        gap: 0.75rem 1.5rem;
        font-size: 0.8rem;
    }

    .pes-project-meta {
        gap: 1rem;
    }

    .pes-cta-primary,
    .pes-cta-secondary {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 980px) {
    body {
        line-height: 1.65;
    }

    #main-header .logo_container {
        max-width: 70%;
    }

    #main-header #logo {
        max-height: 54px;
    }

    .et_pb_row {
        width: min(92%, 1080px);
    }

    .et_pb_text_inner p,
    .et_pb_text p,
    .et_pb_module {
        overflow-wrap: anywhere;
    }

    .et_pb_button_module_wrapper,
    .et_pb_button_module_wrapper .et_pb_button {
        width: 100%;
    }

    .et_pb_button_module_wrapper .et_pb_button {
        text-align: center;
    }

    /* Keep the mobile navigation compact; nested groups expand on demand. */
    .et_mobile_menu .menu-item-has-children {
        position: relative;
    }

    .et_mobile_menu .menu-item-has-children > a {
        padding-right: 52px;
    }

    #main-header .et_mobile_menu .menu-item-has-children > .sub-menu {
        display: none !important;
    }

    #main-header .et_mobile_menu .menu-item-has-children.pes-mobile-open > .sub-menu {
        display: block !important;
    }

    .et_mobile_menu .pes-mobile-submenu-toggle {
        position: absolute;
        z-index: 2;
        top: 0;
        right: 0;
        width: 48px;
        height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--pes-green-dark);
        font: inherit;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
    }

    .et_mobile_menu .pes-mobile-submenu-toggle::before {
        content: '+';
    }

    .et_mobile_menu .menu-item-has-children.pes-mobile-open > .pes-mobile-submenu-toggle::before {
        content: '\2212';
    }
}

/* Visible labels remain understandable after placeholders disappear on focus. */
.page-id-15 .et_pb_contact_form label[for]:not([for='']) {
    display: block !important;
    margin: 0 0 7px;
    color: var(--pes-slate);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.page-id-15 .pes-required-marker {
    color: #8b2f24;
    font-weight: 800;
}

@media (max-width: 767px) {
    h1 { font-size: 34px; }
    h2 { font-size: 27px; }
    h3 { font-size: 22px; }

    #main-header .logo_container {
        max-width: 75%;
    }

    #main-header #logo {
        max-height: 48px;
    }

    .et_pb_row {
        width: 92%;
    }

    .et_pb_column {
        margin-bottom: 20px;
    }

    .et_pb_text ul,
    .et_pb_text ol,
    .et_pb_text_inner ul,
    .et_pb_text_inner ol {
        padding-left: 1.15em;
    }

    .pes-project-meta {
        gap: 1rem;
    }

    .home .et_pb_section_0,
    .page-id-14 .et_pb_section_0,
    .page-id-15 .et_pb_section_0,
    .page-id-17 .et_pb_section_0,
    .page-id-37 .et_pb_section_0 {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    .home .et_pb_section_0 .et_pb_row,
    .page-id-14 .et_pb_section_0 .et_pb_row,
    .page-id-15 .et_pb_section_0 .et_pb_row,
    .page-id-17 .et_pb_section_0 .et_pb_row,
    .page-id-37 .et_pb_section_0 .et_pb_row {
        min-height: 0 !important;
    }

    .home .et_pb_section_0 h1,
    .page-id-14 .et_pb_section_0 h1,
    .page-id-15 .et_pb_section_0 h1,
    .page-id-17 .et_pb_section_0 h1,
    .page-id-37 .et_pb_section_0 h1 {
        margin-bottom: 0.75rem;
    }

    .home .et_pb_section_0 .et_pb_button,
    .page-id-14 .et_pb_section_0 .et_pb_button,
    .page-id-15 .et_pb_section_0 .et_pb_button,
    .page-id-17 .et_pb_section_0 .et_pb_button,
    .page-id-37 .et_pb_section_0 .et_pb_button {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .et_pb_contact_form .et_contact_bottom_container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.85rem;
    }

    .et_pb_contact_form .et_pb_contact_right,
    .et_pb_contact_form .et_pb_button_wrapper,
    .et_pb_contact_form .et_pb_contact_submit {
        width: 100%;
        max-width: none;
    }

    .et_pb_contact_form .et_pb_contact_right {
        float: none;
        margin: 0;
    }

    .et_pb_contact_form .et_pb_contact_right p,
    .et_pb_contact_form .et_pb_contact_right label {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        flex-wrap: wrap;
    }

    .et_pb_contact_form .et_pb_contact_captcha {
        width: 88px;
    }

    .et_pb_contact_form .et_pb_button_wrapper {
        margin: 0;
    }
}
/* The Divi parent footer is replaced by the compact footer in page content. */
#main-footer {
  display: none !important;
}

/* Posts do not include the page-builder footer used on the main site. Keep the
   compact Divi copyright footer visible so articles do not end abruptly. */
body.single-post #main-footer {
    display: block !important;
    background: #0b2638 !important;
}

body.search #main-footer,
body.error404 #main-footer {
    display: block !important;
    background: #0b2638 !important;
}

body.search #footer-bottom,
body.error404 #footer-bottom {
    background: #0b2638 !important;
    padding: 22px 0 !important;
}

body.search #footer-info,
body.error404 #footer-info {
    float: none !important;
    margin: 0 !important;
    color: #dbe7ea !important;
    font-size: 14px !important;
    text-align: center;
}

body.search #sidebar,
body.error404 #sidebar {
    display: none !important;
}

body.search #left-area,
body.error404 #left-area {
    width: 100% !important;
    padding: 0 !important;
}

body.search #main-content .container::before,
body.error404 #main-content .container::before {
    display: none !important;
}

body.search #main-content .container,
body.error404 #main-content .container {
    width: min(90%, 1100px) !important;
    max-width: 1100px !important;
    padding: 64px 0 !important;
}

.pes-search-header {
    margin-bottom: 34px;
    padding: 34px 38px;
    border-radius: 9px;
    background: #eef3f4;
}

.pes-search-header .pes-eyebrow {
    margin: 0 0 6px;
    color: #3a6b1e;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.pes-search-header h1 {
    margin: 0 0 8px;
    color: #173b22;
    font-size: clamp(34px, 5vw, 52px);
}

.pes-search-header p:last-child {
    margin: 0;
    color: #52615a;
}

body.search #left-area article {
    margin: 0 0 14px;
    padding: 22px 24px;
    border: 1px solid #dce5df;
    border-radius: 7px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.search #left-area article:hover {
    border-color: #93aa87;
    box-shadow: 0 6px 18px rgba(20,60,49,.08);
    transform: translateY(-2px);
}

body.search #left-area article h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.25;
}

body.search #left-area article h2 a {
    color: #173b22;
    text-decoration: none;
}

body.search #left-area article .post-content,
body.search #left-area article > p {
    display: none !important;
}

body.search #left-area article > p.pes-search-summary {
    display: block !important;
    margin: 12px 0 0;
    color: #52615a;
    font-size: 16px;
    line-height: 1.55;
}

@media (min-width: 981px) {
    body.search #left-area {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    body.search #left-area > .pes-search-header,
    body.search #left-area > .pagination {
        grid-column: 1 / -1;
    }

    body.search #left-area > .pes-search-header {
        margin-bottom: 8px;
    }

    body.search #left-area article {
        display: flex;
        flex-direction: column;
        margin: 0;
    }

    body.search #left-area article .entry-featured-image-url {
        display: block;
        overflow: hidden;
        aspect-ratio: 16 / 9;
        margin-bottom: 18px;
        border-radius: 5px;
    }

    body.search #left-area article .entry-featured-image-url img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

body.error404 #left-area {
    min-height: 520px;
    padding: 70px 7% !important;
    border-radius: 10px;
    background: linear-gradient(135deg, #eef3f4, #f7f8f3);
    text-align: center;
}

body.error404 #left-area h1 {
    margin-bottom: 14px;
    color: #173b22;
    font-size: clamp(40px, 6vw, 64px);
}

body.error404 #left-area > p {
    max-width: 660px;
    margin-right: auto;
    margin-left: auto;
    color: #52615a;
    font-size: 18px;
}

.pes-404-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.pes-404-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 5px;
    background: #2d5016;
    color: #fff !important;
    font-weight: 750;
    text-decoration: none;
}

@media (max-width: 600px) {
    .pes-search-header { padding: 26px 22px; }
    body.search #left-area article { padding: 18px; }
    body.search #left-area article h2 { font-size: 21px; }
    body.error404 #left-area { min-height: 440px; padding: 52px 22px !important; }
    .pes-404-actions a { width: 100%; }
}

body.single-post #footer-bottom {
    background: #0b2638 !important;
    padding: 22px 0 !important;
}

body.single-post #footer-info {
    float: none !important;
    margin: 0 !important;
    color: #dbe7ea !important;
    font-size: 14px !important;
    line-height: 1.5;
    text-align: center;
}

/* Course page: Divi's list preset was overriding the dark section's intended
   white typography and made the free-module bullets effectively unreadable. */
.page-id-38 .et_pb_section_17 li,
.page-id-38 .et_pb_section_17 li p,
.page-id-38 .et_pb_section_17 ul {
    color: #f4f7f2 !important;
}

/* Resource: the Island Copper section uses a dark-green background. Divi's
   icon-list preset was leaving the related-reading links at the global
   charcoal color, which fails contrast and makes the list appear invisible. */
.page-id-226946 .et_pb_section_14 .et_pb_icon_list_10,
.page-id-226946 .et_pb_section_14 .et_pb_icon_list_10 .et_pb_icon_list_text,
.page-id-226946 .et_pb_section_14 .et_pb_icon_list_10 p,
.page-id-226946 .et_pb_section_14 .et_pb_icon_list_10 a {
    color: #f4f7f2 !important;
}

.page-id-226946 .et_pb_section_14 .et_pb_icon_list_10 a {
    text-decoration-color: #b9dc8e;
}

/* ============================================
   Editorial UI refresh
   ============================================ */
#main-header {
    border-bottom: 1px solid var(--pes-border);
    box-shadow: none;
}

#top-menu a {
    color: var(--pes-slate);
    font-size: 16px !important;
    font-weight: 650;
    letter-spacing: 0;
}

@media (min-width: 981px) {
    #main-header .container {
        min-height: 78px;
    }

    #main-header .logo_container {
        width: 150px;
        max-width: 150px;
    }

    #main-header #logo {
        width: 128px !important;
        max-width: 128px !important;
        max-height: 58px !important;
    }

    #et-top-navigation {
        padding-top: 25px !important;
    }

    #top-menu > li > a {
        /* Keep labels vertically consistent with the homepage correction. */
        padding-top: 11px !important;
        padding-bottom: 14px !important;
        line-height: 1.25;
    }

    #top-menu .sub-menu {
        min-width: 290px;
        padding: 10px;
        border-top: 3px solid var(--pes-green);
        border-radius: 0 0 6px 6px;
        box-shadow: 0 14px 34px rgba(7, 33, 48, 0.16);
    }

    #top-menu .sub-menu li {
        width: 100%;
        padding: 0;
    }

    #top-menu .sub-menu li a {
        width: 100%;
        padding: 10px 12px;
        border-radius: 4px;
        font-size: 14px !important;
        line-height: 1.35;
        white-space: normal;
    }

    #top-menu .sub-menu li a:hover,
    #top-menu .sub-menu li a:focus-visible {
        background: var(--pes-sand);
        color: var(--pes-green-dark);
    }
}

#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a {
    color: var(--pes-green-dark);
}

#top-menu > li.pes-nav-cta > a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 11px 17px !important;
    border-radius: 4px;
    background: var(--pes-green-dark);
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 750;
    letter-spacing: .02em;
    line-height: 1.1;
    text-align: center;
}

#top-menu > li.pes-nav-cta > a:hover,
#top-menu > li.pes-nav-cta.current-menu-item > a {
    background: var(--pes-green);
    color: #fff !important;
}

@media (max-width: 980px) {
    .et_mobile_menu li.pes-nav-cta > a {
        margin: 10px 0;
        border-radius: 4px;
        background: var(--pes-green-dark);
        color: #fff !important;
        text-align: center;
    }

    .et_mobile_menu > li > a {
        display: flex;
        min-height: 44px;
        align-items: center;
        line-height: 1.35;
    }
}

.et_pb_row {
    width: min(90%, 1120px);
}

.et_pb_text,
.et_pb_text_inner,
.et_pb_text p,
.et_pb_text li {
    letter-spacing: 0;
}

.et_pb_text p,
.et_pb_text li {
    line-height: 1.72;
}

/* Canonical resource pages are long-form reading experiences. Divi presets on
   several converted papers were leaving lists, breadcrumbs, and content rows
   noticeably smaller/narrower than the surrounding prose. */
.parent-pageid-224868 .entry-content > .et_pb_section .et_pb_row {
    width: min(90%, 1040px) !important;
    max-width: 1040px !important;
}

/* Keep long-form prose readable without shrinking figures, galleries, or card
   grids. At 17–18px this yields roughly 70–80 characters per line. */
.parent-pageid-224868 .entry-content .et_pb_text {
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Editorial posts should lead with the argument, not an oversized image. */
.single-post .et_post_meta_wrapper {
    width: min(90%, 960px);
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.single-post .et_post_meta_wrapper .entry-title {
    max-width: 900px;
}

.single-post .et_post_meta_wrapper > img {
    width: 100%;
    height: clamp(340px, 42vw, 540px);
    object-fit: cover;
    border-radius: 12px;
}

.single-post .entry-content > .et_pb_section .et_pb_row {
    width: min(88%, 820px) !important;
    max-width: 820px !important;
}

/* Method-page three-column components share a consistent card baseline. */
@media (min-width: 981px) {
    .parent-pageid-17 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }

    .parent-pageid-17 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column {
        display: flex;
        flex-direction: column;
        float: none;
    }

    .parent-pageid-17 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column > .et_pb_module:only-child {
        width: 100%;
        height: 100%;
    }
}

.pes-method-closing-cta {
    padding: clamp(56px, 7vw, 92px) 24px;
    color: #fff;
    text-align: center;
    background: #082333;
}

.pes-method-closing-cta h2 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
}

.pes-method-closing-cta p {
    max-width: 680px;
    margin: 0 auto 26px;
    color: #d7e4ea;
    font-size: 18px;
    line-height: 1.65;
}

.pes-method-closing-cta a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: #3a6b1e;
}

/* =====================================================================
   Project pages — consistent summary cards and readable long-form copy
   ===================================================================== */
@media (min-width: 981px) {
    :is(.page-id-37, .parent-pageid-37) .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }

    :is(.page-id-37, .parent-pageid-37) .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column {
        display: flex;
        flex-direction: column;
        float: none;
    }

    :is(.page-id-37, .parent-pageid-37) .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column > .et_pb_module:only-child {
        width: 100%;
        height: 100%;
    }
}

.parent-pageid-37 .entry-content .et_pb_column_4_4 .et_pb_text_inner > p,
.parent-pageid-37 .entry-content .et_pb_column_1_1 .et_pb_text_inner > p {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.parent-pageid-224868 .et_pb_text li {
    color: #3f4a52;
    font-size: 17px !important;
    line-height: 1.72 !important;
}

.parent-pageid-224868 .rank-math-breadcrumb,
.parent-pageid-224868 .rank-math-breadcrumb p,
.parent-pageid-224868 nav[aria-label="breadcrumbs"] {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Full-paper editions preserve the source text, but still need a comfortable
   reading measure. Keep this scoped to the four intentionally long archives. */
body.page-id-224386 .entry-content .et_pb_text,
body.page-id-224984 .entry-content .et_pb_text,
body.page-id-226694 .entry-content .et_pb_text,
body.page-id-226696 .entry-content .et_pb_text {
    width: 100%;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.page-id-224386 .entry-content .et_pb_text p,
body.page-id-224386 .entry-content .et_pb_text li,
body.page-id-224984 .entry-content .et_pb_text p,
body.page-id-224984 .entry-content .et_pb_text li,
body.page-id-226694 .entry-content .et_pb_text p,
body.page-id-226694 .entry-content .et_pb_text li,
body.page-id-226696 .entry-content .et_pb_text p,
body.page-id-226696 .entry-content .et_pb_text li {
    font-size: 18px !important;
    line-height: 1.72 !important;
}

body.page-id-224386 .entry-content .et_pb_text h2,
body.page-id-224984 .entry-content .et_pb_text h2,
body.page-id-226694 .entry-content .et_pb_text h2,
body.page-id-226696 .entry-content .et_pb_text h2 {
    margin-top: 1.6em;
    padding-top: .35em;
}

/* Literature-survey introduction cards. Divi 5's migrated blurb preset lost
   its padding and inherited dark body copy, producing unreadable green strips. */
body.page-id-226696 .entry-content .et_pb_blurb {
    height: 100%;
    min-height: 290px !important;
    padding: 30px 28px !important;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    background: linear-gradient(145deg, #315c1a, #1d4114) !important;
    box-shadow: 0 12px 28px rgba(7,33,48,.12);
}

body.page-id-226696 .entry-content .et_pb_blurb h4,
body.page-id-226696 .entry-content .et_pb_blurb .et_pb_module_header {
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: 21px !important;
    line-height: 1.24 !important;
}

body.page-id-226696 .entry-content .et_pb_blurb p,
body.page-id-226696 .entry-content .et_pb_blurb .et_pb_blurb_description {
    margin: 0;
    color: #e8f1e2 !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
}

body.page-id-226696 .entry-content .et_pb_blurb .et_pb_main_blurb_image {
    margin-bottom: 18px !important;
}

body.page-id-226696 .entry-content .et_pb_button::after {
    display: none !important;
}

body.page-id-226696 .entry-content .et_pb_button {
    padding: 15px 26px !important;
}

@media (max-width: 980px) {
    body.page-id-226696 .entry-content .et_pb_blurb { min-height: 0; }
}

.et_pb_text p + p,
.et_pb_text_inner p + p {
    margin-top: 0.85em;
}

.et_pb_image img,
.et_pb_video,
.et_pb_video_box,
.pes-card,
.pes-card-image {
    border-radius: 6px !important;
}

.et_pb_button,
.pes-cta-primary,
.pes-cta-secondary {
    min-height: 48px;
    border-radius: 4px !important;
    letter-spacing: 0 !important;
}

/* Divi's generated icon font is rendering as stray currency/arrow glyphs on
   several migrated buttons. The labels already communicate the action. */
.et_pb_button::after,
.et_pb_button::before {
    display: none !important;
}

.et_pb_button:hover {
    padding-right: 1em !important;
    padding-left: 1em !important;
}

/* Divi preset contrast fallback. The matching class is added only when the
   rendered foreground/background pair fails 4.5:1, preserving intentional
   green, outline, and photographic-hero button treatments. */
html body #page-container a.et_pb_button.pes-button-dark-text,
html body #page-container button.et_pb_button.pes-button-dark-text,
html body #page-container a.et_pb_button.pes-button-dark-text:hover,
html body #page-container button.et_pb_button.pes-button-dark-text:hover,
html body #page-container a.et_pb_button.pes-button-dark-text:focus-visible,
html body #page-container button.et_pb_button.pes-button-dark-text:focus-visible {
    color: var(--pes-ink) !important;
}

html body #page-container a.et_pb_button.pes-button-light-text,
html body #page-container button.et_pb_button.pes-button-light-text,
html body #page-container a.et_pb_button.pes-button-light-text:hover,
html body #page-container button.et_pb_button.pes-button-light-text:hover,
html body #page-container a.et_pb_button.pes-button-light-text:focus-visible,
html body #page-container button.et_pb_button.pes-button-light-text:focus-visible {
    color: #fff !important;
}

html body #page-container a.et_pb_button.pes-button-contrast-outline,
html body #page-container button.et_pb_button.pes-button-contrast-outline,
html body #page-container a.et_pb_button.pes-button-contrast-outline:hover,
html body #page-container button.et_pb_button.pes-button-contrast-outline:hover,
html body #page-container a.et_pb_button.pes-button-contrast-outline:focus-visible,
html body #page-container button.et_pb_button.pes-button-contrast-outline:focus-visible {
    border-color: currentColor !important;
}

/* LearnDash controls should feel native to the PES site rather than retaining
   the plugin's bright-blue default styling. */
body .learndash-wrapper .ld-button,
body .learndash-wrapper a.ld-button,
body .learndash-wrapper .ld-login-button,
body .learndash-wrapper .learndash_mark_complete_button,
body .learndash-wrapper .wpProQuiz_button,
body .learndash-wrapper .wpProQuiz_button2 {
    min-height: 48px;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--pes-green-dark) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 6px 18px rgba(7,33,48,.14);
}

body .learndash-wrapper .ld-search-prompt,
body .learndash-wrapper .wpProQuiz_button,
body .learndash-wrapper .wpProQuiz_button2 {
    min-width: 44px !important;
    min-height: 44px !important;
}

body .learndash-wrapper .ld-button:hover,
body .learndash-wrapper a.ld-button:hover,
body .learndash-wrapper .ld-login-button:hover,
body .learndash-wrapper .learndash_mark_complete_button:hover,
body .learndash-wrapper .wpProQuiz_button:hover,
body .learndash-wrapper .wpProQuiz_button2:hover {
    background: var(--pes-green) !important;
    color: #fff !important;
}

/* Equal-height card rows for migrated three-column Divi blurb groups. */
@supports selector(.et_pb_row:has(.et_pb_blurb)) {
    .et_pb_row:has(> .et_pb_column .et_pb_blurb) {
        align-items: stretch;
    }

    .et_pb_row:has(> .et_pb_column .et_pb_blurb) > .et_pb_column {
        display: flex;
    }

    .et_pb_row:has(> .et_pb_column .et_pb_blurb) > .et_pb_column > .et_pb_blurb:only-child {
        width: 100%;
        height: 100%;
    }
}

/* Paid course overview: the price card has one extra line of copy, which
   previously made the three feature cards end on different baselines. */
@media (min-width: 981px) {
    body.page-id-38 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) {
        display: flex;
        align-items: stretch;
    }

    body.page-id-38 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column {
        display: flex;
        flex-direction: column;
        float: none;
    }

    body.page-id-38 .entry-content .et_pb_row:has(> .et_pb_column_1_3:nth-child(3)) > .et_pb_column > .et_pb_blurb:only-child {
        width: 100%;
        height: 100%;
    }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible,
.mobile_menu_bar[role="button"]:focus-visible {
    outline: 3px solid var(--pes-lichen);
    outline-offset: 3px;
}

.et_pb_text table {
    background: var(--pes-white);
}

.et_pb_text th {
    background: var(--pes-surface-cool);
}

.et_pb_text blockquote {
    border-left-color: var(--pes-water);
}


@media (max-width: 980px) {
    h1 { font-size: 40px; }
    h2 { font-size: 31px; }
    h3 { font-size: 24px; }
}

@media (max-width: 767px) {
    h1 { font-size: 34px; }
    h2 { font-size: 27px; }
    h3 { font-size: 22px; }
}

/* ============================================
   Post Meta — hide date/author everywhere on PES
   (professional services site; no editorial timestamps needed)
   ============================================ */
.post-meta,
.et_pb_post_meta {
    display: none !important;
}

/* ============================================
   LearnDash — PES brand green
   ============================================ */
.learndash-wrapper .ld-button,
.learndash-wrapper .ld-primary-background,
.learndash-wrapper .btn-blue {
    background-color: var(--pes-green);
    border-color: var(--pes-green);
}

.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active,
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab:hover {
    border-bottom-color: var(--pes-green);
    color: var(--pes-green);
}

.learndash-wrapper a,
.learndash-wrapper .ld-item-list-item .ld-item-name a {
    color: var(--pes-green);
}

.learndash-wrapper a:hover {
    color: var(--pes-green-dark);
}

.learndash-wrapper .ld-progress-bar .ld-progress-bar-percentage,
.learndash-wrapper .ld-course-progress-bar {
    background-color: var(--pes-green);
}

/* LearnDash emits its customizer colours after the theme stylesheet, often
   with !important, so the primary blue still appeared in status pills,
   content headers, progress bars, and disclosure controls. Keep these narrow
   to LearnDash's documented colour-bearing classes and retain white text on
   the darker PES green for accessible contrast. */
body .learndash-wrapper .ld-primary-background,
body .learndash-wrapper .ld-table-list .ld-table-list-header,
body .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress,
body .learndash-wrapper .ld-course-status .ld-status.ld-status-progress,
body .learndash-wrapper .ld-status-complete,
body .learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage,
body .learndash-wrapper .ld-course-progress-bar,
body .learndash-wrapper .ld-certificate-icon {
    border-color: var(--pes-green-dark) !important;
    background: var(--pes-green-dark) !important;
    color: #fff !important;
}

body .learndash-wrapper .ld-primary-color,
body .learndash-wrapper .ld-primary-color-hover:hover,
body .learndash-wrapper .ld-expand-button.ld-button-alternate,
body .learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-stats .ld-progress-percentage,
body .learndash-wrapper a.ld-table-list-item-preview:hover,
body .learndash-wrapper .ld-item-icon.ld-quiz-complete,
body .learndash-wrapper .ld-status-icon.ld-quiz-complete {
    color: var(--pes-green-dark) !important;
}

body .learndash-wrapper .ld-expand-button.ld-button-alternate:not([disabled]) .ld-icon {
    background: var(--pes-green-dark) !important;
    color: #fff !important;
}

body .learndash-wrapper .ld-status-icon.ld-status-in-progress {
    border-left-color: var(--pes-green-dark) !important;
    border-top-color: var(--pes-green-dark) !important;
}

body .learndash-wrapper :is(.ld-button,.ld-expand-button,.wpProQuiz_button,.wpProQuiz_button2):focus-visible {
    outline: 3px solid var(--pes-lichen) !important;
    outline-offset: 3px;
}

/* Keep the paid course's source illustration and title together in the first
   desktop view without changing David Polster's course wording or structure. */
body.postid-411 #ld-tab-content-411 .et_pb_section_0 {
    padding-top: 24px !important;
}

body.postid-411 #ld-tab-content-411 .et_pb_image_0 img {
    width: min(100%, 420px) !important;
    height: auto !important;
}

body.postid-411 #ld-tab-content-411 .pes-course-sales-copy h1 {
    margin-bottom: 24px;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.08;
}

@media (max-width: 600px) {
    body.postid-411 #ld-tab-content-411 .et_pb_section_0 {
        padding-top: 12px !important;
    }

    body.postid-411 #ld-tab-content-411 .et_pb_image_0 img {
        width: min(100%, 300px) !important;
    }
}

/* ============================================
   Mobile menu hamburger icon — PES green
   ============================================ */
.mobile_menu_bar::before,
.mobile_menu_bar::after {
    color: var(--pes-green);
}
/* =====================================================================
   Homepage visual system — launch polish
   ===================================================================== */
body.page-id-12 #main-content { background:#f7f8f4; }
body.page-id-12 .et_pb_section { padding-top:76px !important; padding-bottom:76px !important; }
body.page-id-12 .et_pb_row { width:min(88%,1120px); }

/* Hero: editorial, confident, and readable over the aerial photograph. */
body.page-id-12 .et_pb_section_10 {
  min-height:650px;
  display:flex;
  align-items:center;
  background-position:center 42% !important;
  box-shadow:inset 0 0 0 1000px rgba(4,26,39,.16);
}
body.page-id-12 .et_pb_section_10 .et_pb_row {
  width:min(88%,1120px);
  max-width:1120px !important;
  margin-left:auto;
  margin-right:auto;
}
body.page-id-12 .et_pb_section_10 .et_pb_column { max-width:720px; }
body.page-id-12 .et_pb_section_10 h1 {
  max-width:680px;
  margin:0 0 22px;
  text-align:left !important;
  font-size:clamp(48px,5.4vw,76px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em;
  text-wrap:balance;
  text-shadow:0 3px 24px rgba(0,0,0,.28);
}
body.page-id-12 .et_pb_section_10 .et_pb_text,
body.page-id-12 .et_pb_section_10 .et_pb_text p {
  max-width:650px;
  margin-left:0 !important;
  text-align:left !important;
  font-size:20px !important;
  line-height:1.55 !important;
  color:#eef4f0 !important;
}
body.page-id-12 .et_pb_section_10 .et_pb_button_module_wrapper { text-align:left !important; margin-top:28px; }
body.page-id-12 .et_pb_section_10 .et_pb_button {
  padding:14px 24px !important;
  border:1px solid #b3d78b !important;
  border-radius:6px !important;
  background:#6f9f35 !important;
  box-shadow:0 8px 28px rgba(0,0,0,.2);
  font-size:14px !important;
  letter-spacing:.08em;
}

/* Proof block: reduce dead space and make the evidence scannable. */
body.page-id-12 .et_pb_section_11 { padding-top:62px !important; padding-bottom:62px !important; }
body.page-id-12 .pes-quote { margin-bottom:32px; }
body.page-id-12 .pes-quote p { font-size:clamp(21px,2.1vw,28px); line-height:1.48; }
body.page-id-12 .pes-stat .n { font-size:42px; }

/* Shared section hierarchy. */
body.page-id-12 .et_pb_section_13 h2,
body.page-id-12 .et_pb_section_14 h2,
body.page-id-12 .et_pb_section_15 h2,
body.page-id-12 .et_pb_section_16 h2 { font-size:clamp(34px,3.5vw,50px) !important; line-height:1.08 !important; letter-spacing:-.035em; }
body.page-id-12 .et_pb_section_13 .et_pb_row:first-child,
body.page-id-12 .et_pb_section_15 .et_pb_row:first-child,
body.page-id-12 .et_pb_section_16 .et_pb_row:first-child { margin-bottom:30px; }

/* Value cards. */
body.page-id-12 .et_pb_section_12 { background:#edf2e8 !important; }
body.page-id-12 .pes-wwd { gap:18px; }
body.page-id-12 .pes-wwd .card {
  min-height:250px;
  justify-content:flex-end;
  padding:34px;
  border:1px solid rgba(255,255,255,.12);
  border-top:0;
  border-radius:10px;
  background:linear-gradient(145deg,#315c1a,#1d4114);
  box-shadow:0 12px 30px rgba(22,54,31,.12);
}
body.page-id-12 .pes-wwd .card h2 { font-size:24px; }
body.page-id-12 .pes-wwd .card p { font-size:16px; }

/* Service cards: treat each column as a complete card instead of loose modules. */
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child { align-items:stretch; }
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_column {
  overflow:hidden;
  padding:0 0 26px;
  border:1px solid #dfe5dc;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 28px rgba(7,33,48,.08);
}
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_image { margin:0 0 24px !important; }
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_heading,
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_text { margin-left:25px; margin-right:25px; }
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child h3 { font-size:23px !important; line-height:1.2; }
body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child p { font-size:16px !important; line-height:1.62; }

/* Authority and project areas use quieter, warmer surfaces. */
body.page-id-12 .et_pb_section_14,
body.page-id-12 .et_pb_section_16 { background:#edf1f2 !important; }
body.page-id-12 .et_pb_section_14 img { box-shadow:0 16px 38px rgba(7,33,48,.14); }
body.page-id-12 .et_pb_section_14 .et_pb_blurb {
  height:100%;
  min-height:210px;
  padding:30px 26px !important;
  border-radius:10px;
  background:linear-gradient(145deg,#315c1a,#1d4114) !important;
  box-shadow:0 10px 24px rgba(7,33,48,.11);
}
body.page-id-12 .et_pb_section_14 .et_pb_blurb h4 { color:#fff !important; font-size:20px !important; line-height:1.22; }
body.page-id-12 .et_pb_section_14 .et_pb_blurb p { color:#e6efe1 !important; font-size:15px !important; line-height:1.55; }
body.page-id-12 .et_pb_section_14 .et_pb_blurb .et_pb_main_blurb_image { margin-bottom:18px; }
body.page-id-12 .pes-proj-cards { max-width:1120px; gap:20px; }
body.page-id-12 .pes-proj-cards .pcard { border:1px solid #dfe5e2; box-shadow:0 8px 25px rgba(7,33,48,.08); }
body.page-id-12 .pes-proj-cards .pcard img { height:230px; }
body.page-id-12 .pes-proj-cards .pcard .body { padding:23px 24px 27px; }
body.page-id-12 .pes-proj-cards .pcard .ttl { font-size:22px; }

@media (max-width:980px) {
  body.page-id-12 .et_pb_section { padding-top:58px !important; padding-bottom:58px !important; }
  body.page-id-12 .et_pb_section_10 { min-height:590px; }
  body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_column { margin-bottom:22px; }
}
@media (max-width:767px) {
  body.page-id-12 .et_pb_section { padding-top:48px !important; padding-bottom:48px !important; }
  body.page-id-12 .et_pb_row { width:88%; }
  body.page-id-12 .et_pb_section_10 { min-height:570px; padding-top:84px !important; padding-bottom:70px !important; background-position:60% center !important; }
  body.page-id-12 .et_pb_section_10 h1 { font-size:44px !important; line-height:1.02 !important; }
  body.page-id-12 .et_pb_section_10 .et_pb_text p { font-size:17px !important; }
  body.page-id-12 .pes-quote p { font-size:20px; }
  body.page-id-12 .pes-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  body.page-id-12 .pes-stat { padding:12px 5px !important; }
  body.page-id-12 .pes-stat .n { font-size:32px; }
  body.page-id-12 .pes-stat .l { font-size:11px; line-height:1.25; }
  body.page-id-12 .pes-wwd .card { min-height:0; padding:28px; }
  body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child {
    flex-direction:column !important;
    align-items:stretch !important;
  }
  body.page-id-12 .et_pb_section_13 > .et_pb_row:last-child .et_pb_column {
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
  }
}

/* Give primary inner-page heroes a clear mobile hierarchy. Divi's shared
   heading preset falls back to 24px at phone widths, which makes the H1 read
   like ordinary body copy on the core About/Services/Methods/Projects pages. */
@media (max-width:767px) {
  body.page-id-13 .entry-content h1,
  body.page-id-14 .entry-content h1,
  body.page-id-15 .entry-content h1,
  body.page-id-16 .entry-content h1,
  body.page-id-17 .entry-content h1,
  body.page-id-37 .entry-content h1,
  body.page-id-38 .entry-content h1,
  body.page-id-224804 .entry-content h1 {
    font-size:clamp(30px,8vw,36px) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
    text-wrap:balance;
  }
}

/* LearnDash inherits Divi's empty blog sidebar on course and lesson screens.
   Remove the unused rail so course content uses a deliberate reading width. */
body:is(.single-sfwd-courses, .single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) #sidebar,
body:is(.single-sfwd-courses, .single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) #main-content .container::before {
  display:none !important;
}
body:is(.single-sfwd-courses, .single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) #left-area {
  float:none !important;
  width:100% !important;
  padding-right:0 !important;
}
body:is(.single-sfwd-courses, .single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) .learndash-wrapper {
  max-width:1000px;
  margin-right:auto;
  margin-left:auto;
}

/* Free-course learning guides and source-led field photography. */
body.single-sfwd-courses #main-content > .container {
  padding-top:42px;
}
body.single-sfwd-courses .et_post_meta_wrapper > .entry-title {
  max-width:960px;
  margin-right:auto;
  margin-left:auto;
  color:#173325;
  font-size:clamp(2.1rem,4vw,3.35rem);
  line-height:1.08;
  text-wrap:balance;
}
body.single-sfwd-courses .et_post_meta_wrapper > img {
  display:block;
  width:100%;
  max-width:960px;
  height:clamp(340px,38vw,520px);
  margin:30px auto 46px;
  padding:clamp(12px,2vw,24px);
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  border:1px solid #e2ded1;
  border-radius:16px;
  background:#f7f4eb;
  box-shadow:0 10px 28px rgba(18,45,30,.08);
}
.pes-free-course-overview,
.pes-course-guide {
  max-width:960px;
  margin:28px auto;
}
.pes-free-course-overview > h1 {
  margin:0 0 16px;
  color:#173325;
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.12;
}
.pes-course-lead {
  max-width:820px;
  color:#173325;
  font-size:clamp(1.15rem,2vw,1.35rem);
  line-height:1.65;
}
.pes-course-guide {
  padding:clamp(22px,4vw,38px);
  border:1px solid #d7dfd5;
  border-radius:16px;
  background:linear-gradient(145deg,#f7f9f5,#eef3ef);
  box-shadow:0 10px 30px rgba(18,45,30,.08);
}
.pes-course-guide h2 {
  margin:0 0 14px;
  color:#173325;
  font-size:clamp(1.45rem,3vw,2rem);
  line-height:1.18;
}
.pes-course-eyebrow {
  margin:0 0 8px;
  color:#4c6f39;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pes-course-guide ul {
  margin:0;
  padding-left:1.2rem;
}
.pes-course-guide li {
  margin:.55rem 0;
  line-height:1.55;
}
.pes-course-note,
.pes-course-source {
  margin:20px 0 0;
  padding:14px 16px;
  border-left:4px solid #5a8f3a;
  background:#fff;
  color:#33483a;
  line-height:1.55;
}
.pes-course-source {
  border-left-color:#8b6914;
  font-size:.92rem;
}
.pes-course-gallery {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:26px;
}
.pes-course-gallery .pes-course-figure:only-child {
  grid-column:1/-1;
  max-width:780px;
  margin-right:auto;
  margin-left:auto;
}
.pes-course-figure {
  margin:0;
}
.pes-course-figure img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:12px;
  background:#dfe6df;
}
.pes-course-figure figcaption {
  margin-top:9px;
  color:#4b554c;
  font-size:.9rem;
  line-height:1.5;
}
@media (max-width:767px) {
  body.single-sfwd-courses #main-content > .container {
    padding-top:28px;
  }
  body.single-sfwd-courses .et_post_meta_wrapper > img {
    height:300px;
    margin:22px auto 32px;
    padding:10px;
    border-radius:12px;
  }
  .pes-course-gallery {
    grid-template-columns:1fr;
  }
  .pes-course-guide {
    padding:22px 18px;
  }
}
@media (max-width:767px) {
  body:is(.single-sfwd-courses, .single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) #main-content .container {
    width:88%;
  }
  body.single-sfwd-courses h1.entry-title {
    font-size:clamp(28px,8vw,32px) !important;
    line-height:1.1 !important;
    letter-spacing:-.02em;
    overflow-wrap:normal;
    word-break:keep-all;
    text-wrap:balance;
  }
  body:is(.single-sfwd-lessons, .single-sfwd-topic, .single-sfwd-quiz) h1.entry-title {
    font-size:clamp(28px,7.5vw,31px) !important;
    line-height:1.12 !important;
    letter-spacing:-.018em;
    overflow-wrap:normal;
    word-break:keep-all;
    text-wrap:balance;
  }
  body .learndash-wrapper .ld-breadcrumbs .ld-status {
    width:auto;
    min-width:128px;
    margin-top:10px;
    padding:6px 16px;
    align-self:flex-start;
  }
}

/* =====================================================================
   Accessible evidence-image lightbox
   ===================================================================== */
.pes-lightbox-trigger {
  position:relative;
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  border-radius:inherit;
  line-height:0;
  vertical-align:top;
  cursor:zoom-in;
}
.pes-lightbox-trigger img {
  display:block;
  max-width:100%;
}
.pes-lightbox-trigger::after {
  content:'View larger  ↗';
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:5px;
  background:rgba(7,33,48,.88);
  color:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
  font-family:Inter,Arial,sans-serif;
  font-size:12px;
  font-weight:750;
  line-height:1;
  letter-spacing:.02em;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .18s ease,transform .18s ease,background-color .18s ease;
}
.pes-lightbox-trigger:hover::after,
.pes-lightbox-trigger:focus-visible::after {
  opacity:1;
  transform:translateY(0);
  background:#2d5016;
}
.pes-lightbox-trigger:focus-visible {
  outline:3px solid var(--pes-lichen);
  outline-offset:4px;
}

body.pes-lightbox-open { overflow:hidden; }
.pes-lightbox[hidden] { display:none !important; }
.pes-lightbox {
  position:fixed;
  inset:0;
  z-index:1000010;
  display:grid;
  place-items:center;
  padding:clamp(14px,3vw,42px);
  opacity:0;
  transition:opacity .16s ease;
}
.pes-lightbox.is-open { opacity:1; }
.pes-lightbox-backdrop {
  position:absolute;
  inset:0;
  background:rgba(3,14,20,.94);
  backdrop-filter:blur(4px);
}
.pes-lightbox-dialog {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  width:min(96vw,1500px);
  max-height:94vh;
  color:#fff;
}
.pes-lightbox-figure {
  grid-column:2;
  grid-row:1 / span 2;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  justify-items:center;
  min-width:0;
  max-height:92vh;
  margin:0;
}
.pes-lightbox-image {
  display:block;
  max-width:100%;
  max-height:82vh;
  width:auto;
  height:auto;
  border-radius:6px;
  box-shadow:0 18px 60px rgba(0,0,0,.42);
  object-fit:contain;
  opacity:1;
  transition:opacity .14s ease;
}
.pes-lightbox-dialog.is-loading .pes-lightbox-image { opacity:.35; }
.pes-lightbox-caption {
  max-width:920px;
  padding:13px 18px 0;
  color:#edf3f0;
  font-size:15px;
  line-height:1.45;
  text-align:center;
}
.pes-lightbox-counter {
  position:absolute;
  right:52px;
  top:-31px;
  margin:0;
  color:#cbd8d2;
  font-size:13px;
  letter-spacing:.03em;
}
.pes-lightbox-close,
.pes-lightbox-nav {
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(7,33,48,.78);
  color:#fff;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,transform .16s ease;
}
.pes-lightbox-close:hover,
.pes-lightbox-close:focus-visible,
.pes-lightbox-nav:hover,
.pes-lightbox-nav:focus-visible {
  border-color:#b9dc8e;
  outline:3px solid #b9dc8e;
  outline-offset:3px;
  background:#2d5016;
}
.pes-lightbox-close {
  position:absolute;
  right:0;
  top:-40px;
  width:42px;
  height:42px;
  border-radius:50%;
  font-size:29px;
  line-height:1;
}
.pes-lightbox-nav {
  width:48px;
  height:68px;
  border-radius:7px;
  font-size:42px;
  line-height:1;
}
.pes-lightbox-prev { grid-column:1; grid-row:1; margin-right:16px; }
.pes-lightbox-next { grid-column:3; grid-row:1; margin-left:16px; }

@media (hover:none) {
  .pes-lightbox-trigger::after {
    content:'↗';
    padding:7px 9px;
    opacity:.88;
    transform:none;
  }
}
@media (max-width:767px) {
  .pes-lightbox { padding:58px 10px 14px; }
  .pes-lightbox-dialog {
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(0,1fr) 48px;
    gap:12px;
    width:100%;
    max-height:calc(100vh - 72px);
  }
  .pes-lightbox-figure {
    grid-column:1 / span 2;
    grid-row:1;
    max-height:calc(100vh - 135px);
  }
  .pes-lightbox-image { max-height:calc(100vh - 205px); }
  .pes-lightbox-caption { padding:10px 10px 0; font-size:13px; }
  .pes-lightbox-nav {
    width:100%;
    height:44px;
    border-radius:6px;
    font-size:32px;
  }
  .pes-lightbox-prev { grid-column:1; grid-row:2; margin:0; }
  .pes-lightbox-next { grid-column:2; grid-row:2; margin:0; }
  .pes-lightbox-close { right:4px; top:-50px; }
  .pes-lightbox-counter { left:4px; right:auto; top:-39px; }
}
@media (prefers-reduced-motion:reduce) {
  .pes-lightbox,
  .pes-lightbox-image,
  .pes-lightbox-trigger::after,
  .pes-lightbox-close,
  .pes-lightbox-nav { transition:none !important; }

  .et_pb_button,
  .et_pb_column,
  .et_pb_image_wrap img,
  .pes-card,
  .pes-proj-cards .pcard {
    transition:none !important;
    transform:none !important;
  }
}

/* Preserved slide editions contain large source images with intrinsic width
   attributes. Allow each slide to shrink as a grid item on phones instead of
   letting that intrinsic width expand the document beyond the viewport. */
@media (max-width:900px) {
  .pes-slide-edition {
    grid-template-columns:minmax(0,1fr) !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .pes-slide-edition > .pes-source-slide,
  .pes-source-slide {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .pes-source-slide figure,
  .pes-source-slide .pes-lightbox-trigger,
  .pes-source-slide img {
    max-width:100% !important;
    min-width:0 !important;
  }
}

/* Learner Hub: one durable entry point for LearnDash registration, login,
   course discovery and returning-learner progress. Functional LMS markup stays
   native; the child theme supplies only presentation. */
.pes-learner-hub {
  color:#24313a;
  background:#f5f7f2;
}
.pes-learner-hero {
  padding:clamp(70px,9vw,126px) 24px;
  background:linear-gradient(135deg,#092638 0%,#153d2a 100%);
  color:#fff;
  text-align:center;
}
.pes-learner-shell {
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
}
.pes-learner-eyebrow {
  margin:0 0 12px;
  color:#b9dc8e;
  font-size:13px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pes-learner-hero h1 {
  max-width:820px;
  margin:0 auto 18px;
  color:#fff;
  font-size:clamp(38px,5.2vw,68px);
  line-height:1.04;
}
.pes-learner-hero p:last-child {
  max-width:720px;
  margin:0 auto;
  color:#dce7e2;
  font-size:clamp(17px,2vw,20px);
  line-height:1.65;
}
.pes-learner-main { padding:clamp(54px,7vw,88px) 0 90px; }
.pes-learner-intro {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:34px;
  align-items:start;
  margin-bottom:60px;
}
.pes-learner-panel {
  border:1px solid #d4ddd3;
  border-top:5px solid #2d5016;
  border-radius:10px;
  background:#fff;
  padding:clamp(24px,3vw,38px);
  box-shadow:0 14px 34px rgba(9,38,56,.08);
}
.pes-learner-panel h2,
.pes-course-directory h2 { color:#092638; }
.pes-learner-panel p { line-height:1.7; }
.pes-learner-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.pes-learner-button,
.pes-learner-button:visited {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border:2px solid #2d5016;
  border-radius:5px;
  padding:11px 20px;
  background:#2d5016;
  color:#fff !important;
  font-weight:800;
  line-height:1.25;
  text-decoration:none;
}
.pes-learner-button:hover,
.pes-learner-button:focus-visible { background:#1f3c10; border-color:#1f3c10; }
.pes-learner-button--secondary,
.pes-learner-button--secondary:visited { background:transparent; color:#2d5016 !important; }
.pes-learner-button--secondary:hover,
.pes-learner-button--secondary:focus-visible { background:#edf4e7; }
.pes-learner-note {
  margin:18px 0 0;
  color:#5d6a70;
  font-size:14px;
}
.pes-course-directory { margin-top:20px; }
.pes-course-directory__heading { max-width:760px; margin:0 0 28px; }
.pes-course-directory__heading p { font-size:17px; line-height:1.65; }
.pes-course-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.pes-course-card {
  display:flex;
  min-width:0;
  flex-direction:column;
  border:1px solid #d4ddd3;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(9,38,56,.06);
}
.pes-course-card__body {
  display:flex;
  height:100%;
  flex-direction:column;
  padding:25px;
}
.pes-course-card__type {
  margin:0 0 10px;
  color:#2d5016;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pes-course-card h3 { margin:0 0 12px; color:#092638; font-size:22px; line-height:1.23; }
.pes-course-card p { margin:0 0 22px; line-height:1.6; }
.pes-course-card .pes-learner-button { width:100%; margin-top:auto; box-sizing:border-box; }
.pes-learner-native {
  overflow:hidden;
}
.pes-learner-native .learndash-wrapper { margin:0; }
.pes-learner-native .ld-profile-summary { margin:0; }
.pes-learner-native .ld-registration__wrapper--logged-in .ld-registration__heading {
  display:none;
}
.pes-learner-native .ld-registration__wrapper--logged-in .ld-registration__form {
  padding:18px 0 0;
  text-align:left;
}
.pes-learner-native .ld-registration__wrapper--logged-in .ld-registration__p {
  margin:0;
}
/* LearnDash omits the display name in the logged-in reset-password state.
   Keep the useful status heading and remove the broken sentence. */
body.page-id-228326 .pes-learner-native .ld-registration__wrapper--login .ld-registration__p {
  display:none;
}
body.page-id-228326 .pes-learner-native .ld-registration__wrapper--login .ld-registration__heading {
  margin-bottom:0;
}
.pes-newsletter-choice {
  border-color:#c6d8b7;
  background:#f0f4ec;
}
.pes-newsletter-choice .pes-learner-button { margin-top:8px; }
body.page-template-default .pes-learner-hub + .post-meta { display:none; }

@media (max-width:980px) {
  .pes-learner-intro { grid-template-columns:1fr; }
  .pes-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .pes-learner-shell { width:min(100% - 28px,1120px); }
  .pes-learner-hero { padding:64px 14px; }
  .pes-learner-main { padding-top:42px; }
  .pes-course-grid { grid-template-columns:1fr; }
  .pes-learner-panel { padding:22px 18px; }
  .pes-learner-actions { display:grid; }
  .pes-learner-actions .pes-learner-button { width:100%; box-sizing:border-box; }
}

/* ============================================
   Launch Refinement 3 — Shared Page Hierarchy
   ============================================ */

/* Divi-native pages and newer code-shell pages had drifted into separate
   heading systems. Keep the homepage's deliberately larger campaign headline,
   while giving every inner-page title the same readable scale and typeface. */
body.page:not(.page-id-12) #main-content .entry-content h1 {
  font-family:'Urbanist','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-size:clamp(48px,4.2vw,64px) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  text-wrap:balance;
}

@media (max-width:980px) {
  body.page:not(.page-id-12) #main-content .entry-content h1 {
    font-size:clamp(40px,6vw,50px) !important;
  }
}

@media (max-width:767px) {
  body.page:not(.page-id-12) #main-content .entry-content h1 {
    font-size:clamp(32px,9vw,36px) !important;
    line-height:1.08 !important;
  }
}

/* The contact action is the end of the primary conversion path. Divi's form
   preset still supplied its default blue outline, so make it a clear PES CTA. */
body.page-id-15 #main-content button.et_pb_contact_submit {
  min-height:48px;
  border:2px solid var(--pes-green-dark) !important;
  border-radius:5px !important;
  padding:11px 22px !important;
  background:var(--pes-green-dark) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}

body.page-id-15 #main-content button.et_pb_contact_submit:hover,
body.page-id-15 #main-content button.et_pb_contact_submit:focus-visible {
  border-color:#1f3c10 !important;
  background:#1f3c10 !important;
  color:#fff !important;
}

/* Sector proof cards should feel related to the rest of the brand, not like a
   separate black/bright-blue component library. */
body.page-id-225369 #main-content :is(.et_pb_blurb_4,.et_pb_blurb_5,.et_pb_blurb_6,.et_pb_blurb_7) {
  border:1px solid rgba(213,223,141,.28) !important;
  border-radius:12px !important;
  background:var(--pes-forest-deep) !important;
  box-shadow:0 10px 24px rgba(9,38,56,.12);
}

body.page-id-225369 #main-content :is(.et_pb_blurb_4,.et_pb_blurb_5,.et_pb_blurb_6,.et_pb_blurb_7) a {
  color:var(--pes-lichen) !important;
  font-weight:750;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Mobile QC 2026-08-01: keep the repeated footer signup and native LearnDash
   disclosure controls large enough to use accurately by touch. These rules
   change only the hit area; they do not alter enrollment or consent logic. */
#pes-footer-signup-form input[type="email"],
#pes-footer-signup-form button[type="submit"] {
  min-height:44px;
  box-sizing:border-box;
}

.learndash-wrapper button.ld-expand-button {
  min-height:44px;
  padding-top:10px;
  padding-bottom:10px;
  align-items:center;
}

/* Divi's ETmodules dropdown arrow is the font character "3", which Chrome
   exposes as stray navigation text. Draw the same cue without text content. */
#top-menu > li.menu-item-has-children > a::after {
  top:50% !important;
  right:0 !important;
  width:7px !important;
  height:7px !important;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  content:'' !important;
  font-family:inherit !important;
  line-height:1 !important;
  transform:translateY(-72%) rotate(45deg);
}

/* Divi 5 currently ignores the number-counter module's configured value
   colour and falls back to its legacy bright blue. Keep the About-page proof
   counters inside the PES palette, including the light counters on the dark
   service-area panel. */
body.page-id-13 #main-content .et_pb_number_counter .percent-value,
body.page-id-13 #main-content .et_pb_number_counter .percent-sign {
  color:var(--pes-green-dark) !important;
}

body.page-id-13 #main-content .et_pb_section_15 .et_pb_number_counter .percent-value,
body.page-id-13 #main-content .et_pb_section_15 .et_pb_number_counter .percent-sign {
  color:var(--pes-off-white) !important;
}

/* Divi 5's toggle title is a clickable heading without native keyboard or
   expanded-state semantics. The companion script supplies the ARIA button;
   give its keyboard focus the same visible treatment as other PES controls. */
.et_pb_toggle_title[role="button"]:focus-visible {
  outline:3px solid var(--pes-lichen);
  outline-offset:4px;
}

#top-menu > li.menu-item-has-children:focus-within > .sub-menu {
  visibility:visible;
  opacity:1;
}


/* Homepage diagram cards: constrain intrinsic image dimensions to the frame. */
body.page-id-12 .pes-home-principles .pes-wwd__media {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  flex-shrink: 0;
}
body.page-id-12 .pes-home-principles .pes-wwd__media img {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  height: 100% !important;
  object-fit: contain;
}

/* Keep small archival hero photographs at their native width on large screens. */
@media(min-width:880px){body.page-id-233 .et_pb_section:has(h1){max-width:800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-233 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:880px){body.page-id-237 .et_pb_section:has(h1){max-width:800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-237 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1280px){body.page-id-224502 .et_pb_section:has(h1){max-width:1200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-224502 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1280px){body.page-id-224504 .et_pb_section:has(h1){max-width:1200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-224504 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1232px){body.page-id-226918 .et_pb_section:has(h1){max-width:1152px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-226918 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1232px){body.page-id-226946 .et_pb_section:has(h1){max-width:1152px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-226946 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1191px){body.page-id-226951 .et_pb_section:has(h1){max-width:1111px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-226951 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1152px){body.page-id-226952 .et_pb_section:has(h1){max-width:1072px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-226952 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1321px){body.page-id-226953 .et_pb_section:has(h1){max-width:1241px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,contain!important;background-repeat:no-repeat!important;}body.page-id-226953 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}

/* Native-resolution limits for wide desktop hero photographs. */
@media(min-width:2080px){body.page-id-13 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-13 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-15 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-15 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1520px){body.page-id-16 .et_pb_section:has(h1){max-width:1440px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-16 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-17 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-17 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1733px){body.page-id-18 .et_pb_section:has(h1){max-width:1653px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-18 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1748px){body.page-id-19 .et_pb_section:has(h1){max-width:1668px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-19 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-20 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-20 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-21 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-21 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1520px){body.page-id-22 .et_pb_section:has(h1){max-width:1440px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-22 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-23 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-23 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-24 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-24 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2280px){body.page-id-25 .et_pb_section:has(h1){max-width:2200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-25 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1692px){body.page-id-26 .et_pb_section:has(h1){max-width:1612px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-26 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1480px){body.page-id-27 .et_pb_section:has(h1){max-width:1400px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-27 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2000px){body.page-id-28 .et_pb_section:has(h1){max-width:1920px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-28 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-37 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-37 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1712px){body.page-id-38 .et_pb_section:has(h1){max-width:1632px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-38 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-40 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-40 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1480px){body.page-id-41 .et_pb_section:has(h1){max-width:1400px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-41 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2640px){body.page-id-42 .et_pb_section:has(h1){max-width:2560px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-42 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-160 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-160 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1480px){body.page-id-163 .et_pb_section:has(h1){max-width:1400px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-163 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1845px){body.page-id-166 .et_pb_section:has(h1){max-width:1765px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-166 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1880px){body.page-id-192 .et_pb_section:has(h1){max-width:1800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-192 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1360px){body.page-id-197 .et_pb_section:has(h1){max-width:1280px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-197 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-203 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-203 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1520px){body.page-id-210 .et_pb_section:has(h1){max-width:1440px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-210 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1759px){body.page-id-212 .et_pb_section:has(h1){max-width:1679px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-212 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-224 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-232 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-232 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:880px){body.page-id-233 .et_pb_section:has(h1){max-width:800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-233 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-234 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-234 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-235 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-235 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1680px){body.page-id-236 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-236 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:880px){body.page-id-237 .et_pb_section:has(h1){max-width:800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-237 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1845px){body.page-id-238 .et_pb_section:has(h1){max-width:1765px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-238 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-239 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-239 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1880px){body.page-id-241 .et_pb_section:has(h1){max-width:1800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-241 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1880px){body.page-id-375 .et_pb_section:has(h1){max-width:1800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-375 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1759px){body.page-id-224388 .et_pb_section:has(h1){max-width:1679px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224388 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1556px){body.page-id-224442 .et_pb_section:has(h1){max-width:1476px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224442 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1280px){body.page-id-224502 .et_pb_section:has(h1){max-width:1200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224502 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1280px){body.page-id-224504 .et_pb_section:has(h1){max-width:1200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224504 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1480px){body.page-id-224506 .et_pb_section:has(h1){max-width:1400px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224506 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2640px){body.page-id-224524 .et_pb_section:has(h1){max-width:2560px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224524 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1880px){body.page-id-224535 .et_pb_section:has(h1){max-width:1800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224535 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-224539 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224539 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1699px){body.page-id-224804 .et_pb_section:has(h1){max-width:1619px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224804 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-224868 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224868 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1845px){body.page-id-224986 .et_pb_section:has(h1){max-width:1765px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-224986 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2280px){body.page-id-225369 .et_pb_section:has(h1){max-width:2200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-225369 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1759px){body.page-id-226696 .et_pb_section:has(h1){max-width:1679px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226696 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1232px){body.page-id-226918 .et_pb_section:has(h1){max-width:1152px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226918 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1520px){body.page-id-226919 .et_pb_section:has(h1){max-width:1440px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226919 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1759px){body.page-id-226921 .et_pb_section:has(h1){max-width:1679px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226921 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1232px){body.page-id-226946 .et_pb_section:has(h1){max-width:1152px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226946 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-226947 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226947 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1780px){body.page-id-226948 .et_pb_section:has(h1){max-width:1700px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226948 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2080px){body.page-id-226949 .et_pb_section:has(h1){max-width:2000px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226949 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1759px){body.page-id-226950 .et_pb_section:has(h1){max-width:1679px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226950 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1191px){body.page-id-226951 .et_pb_section:has(h1){max-width:1111px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226951 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1152px){body.page-id-226952 .et_pb_section:has(h1){max-width:1072px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226952 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:1321px){body.page-id-226953 .et_pb_section:has(h1){max-width:1241px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-226953 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2280px){body.page-id-229508 .et_pb_section:has(h1){max-width:2200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-229508 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2280px){body.page-id-229510 .et_pb_section:has(h1){max-width:2200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-229510 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}
@media(min-width:2280px){body.page-id-229512 .et_pb_section:has(h1){max-width:2200px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;background-repeat:no-repeat!important;}body.page-id-229512 .et_pb_section:has(h1) h1{font-size:clamp(32px,3vw,46px)!important;}}

@media(min-width:1104px){body.page-id-21 .et_pb_section:has(h1){max-width:1024px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;}}
@media(min-width:1680px){body.page-id-22 .et_pb_section:has(h1){max-width:1600px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;}}
@media(min-width:1520px){body.page-id-24 .et_pb_section:has(h1){max-width:1440px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;}}
@media(min-width:880px){body.page-id-236 .et_pb_section:has(h1){max-width:800px!important;margin:28px auto!important;padding:64px 24px!important;border-radius:16px;overflow:hidden;background-color:#173f2f!important;background-size:cover,cover!important;}}

/* Brenda Mine: readable article scale and stable photo wrappers, 2026-10-11. */
body.page-id-232 .et_pb_section h2.et_pb_module_header:not(.et_pb_blurb h2) {
  font-size:clamp(27px,2.5vw,36px)!important;
  line-height:1.2!important;
}
body.page-id-232 .pes-brenda-sequence { max-width:800px; margin-inline:auto; }
body.page-id-232 .pes-brenda-frame > .pes-lightbox-trigger {
  display:block!important; width:100%!important; height:100%!important;
}
body.page-id-232 .pes-brenda-frame img {
  width:100%!important; height:100%!important; object-fit:contain!important;
}
body.page-id-232 .et_pb_row:has(> .et_pb_column:nth-child(2)):has(.et_pb_image) {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;
}
body.page-id-232 .et_pb_row:has(> .et_pb_column:nth-child(3)):has(.et_pb_image) {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.page-id-232 .et_pb_row:has(.et_pb_image) > .et_pb_column {
  width:100%!important; min-width:0; margin:0!important; float:none!important;
}
body.page-id-232 .et_pb_row:has(.et_pb_image)::after { display:none!important; }
body.page-id-232 .et_pb_image .et_pb_image_wrap,
body.page-id-232 .et_pb_image .pes-lightbox-trigger,
body.page-id-232 .pes-brenda-archive-card .pes-lightbox-trigger {
  display:block; width:100%;
}
body.page-id-232 .et_pb_image img {
  display:block; width:100%!important; height:auto!important; max-height:none!important; object-fit:contain!important;
}
body.page-id-232 .et_pb_image { margin-bottom:16px!important; }
@media(max-width:767px) {
  body.page-id-232 .et_pb_row:has(> .et_pb_column:nth-child(2)):has(.et_pb_image) {
    grid-template-columns:minmax(0,1fr); gap:28px;
  }
}

body.page-id-232 .pes-brenda-archive { padding-block:48px; }
@media(max-width:767px) { body.page-id-232 .pes-brenda-archive { padding-block:32px; } }
