/* Site styles for this child theme.
   Loaded after the parent CSS, so selectors here win without extra specificity. */

/* -------------------------
Tokens
------------------------- */

:root {
    --lp-font-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --lp-font-heading: var(--lp-font-body);

    --lp-font-alt:     Arial, Helvetica, sans-serif;
    --lp-container: 1240px;
     --dm-green-hover: #74A034;

    --lp-brand:      #84B63D;
    --lp-brand-hover: #EF5A28;
    --lp-brand-ink:  #EF5A28;
    --lp-on-brand:   #FFFFFF;

    --dm-orange:     #EF5A28;
    --dm-navy:       #16212E;
    --dm-nav-ink:    #CDD9E3;
    --dm-foot-text:  #8EA0AE;
    --dm-foot-dim:   #5D6E7C;
    

    /* Header */
    --lp-header-bg:  #16212EEB;
    --lp-hairline:   #FFFFFF1F;
    --lp-header-max: var(--lp-container);
    --lp-header-h:   86px;

    /* Footer */
    --lp-footer-bg:  #0E0F11;
    --lp-footer-ink: #FFFFFF;
}

/* -------------------------
Buttons - every CTA on this page is the same green block
------------------------- */

.lp-btn {
    border-radius: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

/* -------------------------
Header
------------------------- */
.lp-header {background: #28313d;}
.lp-header__inner {
    padding-block: 10px;
}


.lp-header__phone {
    display: none;
}

.lp-nav {
    gap: 26px;
}

.lp-nav a {
    color: var(--dm-nav-ink);
    font-size: 15.7px;
    font-weight: 600;
    line-height: 25px;
    transition: color .2s ease;
}


.lp-header__cta {
    min-width: 0;
    padding: 11px 20px;
    font-size: 12.5px;
    line-height: 19.97px;
    letter-spacing: 0.37px;
}


@media (min-width: 901px) {
    .lp-header__inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
    }

    .lp-header__actions { display: contents; }
    .lp-header__nav     { justify-self: center; }
    .lp-header__cta     { justify-self: end; }
}



.lp-footer__inner {
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding-block: 46px;
    text-align: center;
}

.lp-footer__brand {
    margin-block-end: 14px;
}

.lp-footer__address,
.lp-footer__phone {
    margin: 0;
    color: var(--dm-foot-text);
    font-size: 15.4px;
    font-weight: 500;
    line-height: 26.11px;
}

.lp-footer__phone a {
    color: var(--dm-orange);
    text-decoration: none;
    transition: color .2s ease;
}

.lp-footer__phone a:hover {
    color: #FFFFFF;
}

.lp-footer__copyright {
    margin: 16px 0 0;
    color: var(--dm-foot-dim);
    font-size: 12.5px;
    font-weight: 500;
    line-height: 19.97px;
}



@media (max-width: 900px) {
    :root { --lp-header-h: 70px; }

    .lp-header__inner { padding-block: 8px; }

    /* max-width reins in the inline width the logo field prints */
    .lp-header__logo { max-width: 102px; }

    .lp-header__cta {
        padding: 8px 12px;
        font-size: 10.2px;
        line-height: 16.38px;
        letter-spacing: 0.2px;
    }
}


/* =========================================================
Hero
========================================================= */

/* Two classes so this beats the parent's .lp-block.lp-block--hero mobile rule.
   The gradient, dots and glow are all baked into hero-bg.jpg, which the builder
   prints as an inline background-image - this colour only shows behind it. */
.lp-block.lp-block--hero {
    background-color: #16212E;
    background-size: cover;
    background-position: center;
    padding-block: 73px;
}

/* Figma widths: copy 410, man 233.5, card 540.55. space-between spreads the
   remaining ~16px of the 1200px content box across the two gaps. */
.lp-block--hero .lp-hero__inner {
    grid-template-columns: 410px 233px 510px;
    justify-content: space-between;
    gap: 0;
    align-items: center;
    min-height: 0;
}

/* -------- Left column -------- */

.lp-block--hero .lp-hero__eyebrow {
    margin: 0 0 14px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.lp-block--hero .lp-hero__title {
    margin: 0 0 22px;
    font-size: 53.6px;
    font-weight: 800;
    line-height: 61.64px;
    letter-spacing: -0.54px;
    /* balance reshuffles the three lines the design asks for */
    text-wrap: normal;
}

.lp-block--hero .lp-hero__title-main,
.lp-block--hero .lp-hero__title-accent { display: inline; }

.lp-block--hero .lp-hero__title-accent { color: var(--dm-orange); }

.lp-block--hero .lp-hero__body {
    max-width: none;
    margin-block-end: 26px;
    color: var(--dm-nav-ink);
    font-size: 17.9px;
    font-weight: 500;
    line-height: 28.67px;
}

.lp-block--hero .lp-hero__body strong,
.lp-block--hero .lp-hero__body b { color: #FFFFFF; }

/* -------- Three feature cards -------- */

.lp-block--hero .lp-hero__badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lp-block--hero .lp-hero__badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 12px;
    border: 1px solid #FFFFFF33;
    border-radius: 10px;
    background: #FFFFFF14;
    box-shadow: inset 0 1px 0 1px #FFFFFF2E, 0 8px 26px 0 #00000033;
    backdrop-filter: blur(12px);
    text-align: center;
}

/* The parent puts each icon in a frosted circle for Zimm - clear all of it,
   this design has bare icons */
.lp-block--hero .lp-hero__badge-wrap {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.lp-block--hero .lp-hero__badge-icon {
    width: 28px;
    height: 28px;
}

.lp-block--hero .lp-hero__badge-text {
    color: #FFFFFF;
    font-size: 14.4px;
    font-weight: 800;
    line-height: 17.28px;
}

.lp-block--hero .lp-hero__badge-sub {
    color: #9FB0BF;
    font-size: 12.2px;
    font-weight: 500;
    line-height: 15.81px;
}

/* -------- Man cut-out -------- */

/* z-index lifts him over the card, which comes after him in the DOM */
.lp-block--hero .lp-hero__aside {
    position: relative;
    z-index: 2;
    width: 233px;
    height: 600px;
    max-width: none;
    object-fit: contain;
    object-position: bottom center;
    align-self: end;
    margin-right: -88px;
    top: -40px;
}

/* -------- Form card -------- */

.lp-block--hero .lp-hero__card {
    position: relative;
    z-index: 1;
    padding: 0;
    border-block-start: 0;
    border-radius: 18px 0 18px 0;
    box-shadow: 0 18px 50px 0 #0000002E;
}

/* Speech-bubble tails, 62 x 36.99. Orange sits above the top-right corner
   unflipped; white is the same shape rotated 180 under the bottom-left. */
.lp-block--hero .lp-hero__card::before,
.lp-block--hero .lp-hero__card::after {
    content: "";
    position: absolute;
    width: 62px;
    height: 36.99px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.lp-block--hero .lp-hero__card::before {
    right: 0;
    bottom: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23EF5A28'/%3E%3C/svg%3E");
}

.lp-block--hero .lp-hero__card::after {
    left: 0;
    top: 100%;
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
}

/* Heading and subtext together form the orange band - they are siblings,
   so each carries the background and they meet with no seam. */
.lp-block--hero .lp-hero__card-heading {
    margin: 0;
    padding: 26px 26px 0;
    border-start-start-radius: 18px;
    background: var(--dm-orange);
    color: #FFFFFF;
    font-size: 25.9px;
    font-weight: 800;
    line-height: 29.81px;
    letter-spacing: -0.26px;
    text-align: center;
}

.lp-block--hero .lp-hero__card-text {
    margin: 0;
    padding: 7px 26px 26px;
    background: var(--dm-orange);
    color: #FFE6DB;
    font-size: 15.2px;
    font-weight: 600;
    line-height: 24.32px;
    text-align: center;
}

/* Hand-drawn underline behind the Card Heading Accent words */
.lp-block--hero .lp-hero__card-accent {
    padding-block-end: 9px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='141' height='13' viewBox='0 0 141 13'%3E%3Cpath d='M2.80811 8.59172C21.0596 4.40822 43.5231 9.98622 67.3904 6.49997C89.8539 3.71097 112.317 9.28897 137.589 5.10547' stroke='%2316212E' stroke-width='3.48625' stroke-linecap='round' stroke-dasharray='0.7 0.7' fill='none'/%3E%3C/svg%3E") no-repeat bottom center / 100% auto;
}

.lp-block--hero .lp-hero__form { padding: 26px; }

.lp-block--hero .lp-hero__disclaimer {
    margin: 0;
    padding: 0 26px;
    color: #5A6B7A;
    font-size: 14.7px;
    font-weight: 700;
    font-style: italic;
    line-height: 23.55px;
    text-align: center;
}

.lp-block--hero .lp-hero__form-logos {
    gap: 35px;
    margin: 18px 0 0;
    padding: 0 26px 26px;
}

/* SVG attachments report 0 x 0 to WordPress, so ACF prints width="0" height="0".
   Those are presentational hints - setting both here in the author origin wins. */
.lp-block--hero .lp-hero__form-logo img {
    width: auto;
    height: 44px;
}

/* -------- Gravity Forms -------- */
/* All of this needs the form theme set to "Gravity Forms 2.5".
   Forms > Settings > Default Form Theme, or theme="gravity-theme" on the shortcode. */

/* The design has no "* indicates required fields" line */
.lp-block--hero .gform_wrapper.gravity-theme .gform_required_legend { display: none; }

.lp-block--hero .gform_wrapper.gravity-theme .gfield_label {
    color: #5A6B7A;
    font-size: 11.8px;
    font-weight: 700;
    line-height: 18.94px;
    letter-spacing: 0.83px;
    text-transform: uppercase;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_required {
    color: var(--dm-orange);
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="text"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="email"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="tel"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="url"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea {
    border: 1px solid #DFE3E8;
    border-radius: 9px;
    background: #FBFBFC;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield input::placeholder,
.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea::placeholder {
    color: #757575;
    font-size: 16.2px;
    font-weight: 400;
    line-height: 1;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea {
    min-height: 74px;
}


.lp-block--hero .gform_wrapper.gravity-theme .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.lp-block--hero .gform_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 3px 0 0;
}


.lp-block--hero .gform_wrapper.gravity-theme .gfield--type-consent .gfield_required {
    display: none;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_consent_label,
.lp-block--hero .gform_wrapper.gravity-theme .gfield--type-consent label {
    display: block;
    margin: 0;
    color: #5A6B7A;
    font-size: 12.2px;
    font-weight: 500;
    line-height: 18.24px;
    letter-spacing: 0;
    text-transform: none;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_consent_label a {
    color: #1A2733;
    font-weight: 700;
    text-decoration: none;
}

.lp-block--hero .gform_wrapper.gravity-theme .gform_footer { margin: 18px 0 0; padding: 0; }

/* Gravity Forms 3.x renders a <button>, older versions an <input> - cover both */
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer button[type="submit"],
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer .gform_button {
    width: 100%;
    padding-block: 15px;
    border: 0.35px solid #FFFFFF;
    border-radius: 9px;
    background: var(--lp-brand);
    box-shadow: 0 5px 16px 0 #84B63D2E;
    color: #FFFFFF;
    font-family: var(--lp-font-alt);
    font-size: 15.2px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.46px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease;
}

.lp-block--hero .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
    background: var(--lp-brand-hover);
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_validation_message, .lp-block--hero .gform_wrapper.gravity-theme .validation_message {
    padding: 0 !important;
    margin: 5px 0;
}

/* -------- Hero mobile -------- */

@media (max-width: 1199px) {
.lp-block--hero .lp-hero__inner {
    grid-template-columns: 360px 233px 370px;justify-content: center;
}
.lp-block--hero .lp-hero__aside {margin-right: -40px;
}
.lp-block--hero .lp-hero__title {font-size: 42px;line-height: 52px;}
.lp-block--hero .lp-hero__card-heading {font-size: 20px;line-height: 26px;}

}
@media (max-width: 999px) {
.lp-block--hero .lp-hero__inner {
    grid-template-columns: 310px 233px 310px;
}
.lp-block--hero .lp-hero__aside {align-self: auto;
}
.lp-block--hero .lp-hero__title {font-size: 40px;line-height: 50px;}
}


@media (max-width: 900px) {
    .lp-block--hero .lp-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        padding-inline: 20px;
        text-align: center;
        gap: 32px;
    }

    .lp-block--hero .lp-hero__title {
        font-size: 33.6px;
        line-height: 38.64px;
        letter-spacing: -0.34px;
    }

    .lp-block--hero .lp-hero__badges { gap: 10px; }

    .lp-block--hero .lp-hero__card { margin-inline: 0;margin-top: 20px;}

    /* The centring above is for the copy only - form labels stay left */
    .lp-block--hero .lp-hero__form { text-align: left; }

    /* The parent hides him too, but this keeps the fixed size from
       leaking in if that rule is ever reordered */
    .lp-block--hero .lp-hero__aside { display: none; }

    .lp-block--hero .lp-hero__form-logo img {height: 38px;}
    .lp-block--hero .lp-hero__form-logos {gap: 5px;padding: 0 6px 26px;}
    .lp-block--hero .lp-hero__form {padding: 16px;}
    .lp-block--hero .lp-hero__card-heading {padding: 26px 16px 0;}
    .lp-block--hero .lp-hero__card-text {padding: 26px 16px 26px;}
}


/* =========================================================
Logo strip
========================================================= */


.lp-block.lp-block--logos {
    padding-block: 30px;
    background: #FFFFFF;
    border-block-end: 1px solid #ECE4D5;
}

/* 20px from the title down to the logo row */
.lp-block--logos .lp-section-head {
    max-width: none;
    margin: 0 auto 20px;
}

/* The parent colours .lp-eyebrow with --lp-brand-ink (orange) - this row is grey */
.lp-block--logos .lp-eyebrow {
    margin: 0;
    color: #5A6B7A;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 19.97px;
    letter-spacing: 2px;
}


.lp-block--logos .lp-logos__grid {
    --lp-logos-gap: 42px;
}

@media (max-width: 900px) {
    .lp-block--logos .lp-logos__grid--slider {
        --lp-logos-gap-m: 24px;
        grid-auto-columns: calc((100% - var(--lp-logos-gap-m)) / 2);
    }
}


/* =========================================================
The Dagmar System - tabbed content
========================================================= */

.lp-block.lp-block--tabs {
    padding-block: 62px;
    background: #16212E;
    overflow: hidden;
}

.lp-block--tabs::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(36.46% 49.93% at 2% 8%, rgba(60, 120, 170, .14) 0%, rgba(60, 120, 170, 0) 55%),
        radial-gradient(42.71% 56.45% at 96% 88%, rgba(239, 90, 40, .15) 0%, rgba(239, 90, 40, 0) 60%);
}

/* The glow sits on the section, so the content needs its own stacking context */
.lp-block--tabs .lp-container { position: relative; }

/* -------- Section head -------- */

.lp-block--tabs .lp-section-head {
    max-width: 780px;
    margin: 0 auto 34px;
}

.lp-block--tabs .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--tabs .lp-section-head__heading {
    margin: 0 0 16px;
    color: #FFFFFF;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
}

.lp-block--tabs .lp-section-head__lede {
    max-width: none;
    margin: 0;
    color: #B6C3CF;
    font-size: 18.6px;
    font-weight: 500;
    line-height: 29.7px;
}

.lp-block--tabs .lp-section-head__lede strong,
.lp-block--tabs .lp-section-head__lede b { color: #FFFFFF; }

/* -------- Tabs -------- */

.lp-block--tabs .lp-tabs {
    --lp-tabs-gap:              14px;
    --lp-tabs-row-gap:          26px;
    --lp-tabs-radius:           12px;
    --lp-tabs-icon:             23px;
    --lp-tabs-icon-d:           30px;
    --lp-tabs-tab-gap:          10.5px;
    --lp-tabs-tab-gap-d:        11px;
    --lp-tabs-tab-pad:          15px 16px;
    --lp-tabs-tab-pad-d:        22px 14px 18px;
    --lp-tabs-panel-pad:        14px 18px;
    --lp-tabs-panel-pad-d:      40px 48px;
    --lp-tabs-tab-bg:           #FFFFFF12;
    --lp-tabs-tab-border:       #FFFFFF2E;
    --lp-tabs-tab-ink:          #DFE7EE;
    --lp-tabs-panel-bg:         #FFFFFF14;
    --lp-tabs-panel-border:     #FFFFFF33;
    --lp-tabs-link:             var(--lp-brand);
    --lp-tabs-link-hover:       var(--dm-orange);
}

.lp-block--tabs .lp-tabs__tab {
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 26px 0 #00000033;
}

.lp-block--tabs .lp-tabs__tab-label {
    font-size: 15px;
    font-weight: 800;
    line-height: 20.38px;
}

.lp-block--tabs .lp-tabs__panel {
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 1px #FFFFFF2E, 0 8px 26px 0 #00000033;
}

.lp-block--tabs .lp-tabs__panel-heading {
    margin: 0 0 18px;
    color: #FFFFFF;
    font-size: 20.5px;
    font-weight: 800;
    line-height: 23.55px;
    letter-spacing: -0.2px;
}

.lp-block--tabs .lp-tabs__panel-body {
    color: #BCCAD6;
    font-size: 17.3px;
    font-weight: 500;
    line-height: 27.65px;
}

.lp-block--tabs .lp-tabs__panel-body strong,
.lp-block--tabs .lp-tabs__panel-body b { font-weight: 700; }

.lp-block--tabs .lp-tabs__link {
    font-size: 12.8px;
    font-weight: 800;
    line-height: 20.48px;
    letter-spacing: 1.02px;
    text-transform: uppercase;
}

/* -------- Desktop -------- */

@media (min-width: 901px) {
    .lp-block--tabs .lp-tabs {
        --lp-tabs-tab-bg:            #FFFFFF01;
        --lp-tabs-tab-border:        #FFFFFF1F;
        --lp-tabs-tab-border-active: #6FCFEE;
    }

    .lp-block--tabs .lp-tabs__tab.is-active {
        border-color: #6FCFEE;
        box-shadow: inset 0 0 0 2px #6FCFEE, 0 8px 26px 0 #00000033;
    }

    .lp-block--tabs .lp-tabs__panel-heading {
        margin: 0 0 22px;
        font-size: 25.6px;
        line-height: 29.44px;
        letter-spacing: -0.26px;
    }
}

/* -------- Mobile -------- */

@media (max-width: 900px) {
    .lp-block--tabs .lp-section-head__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
    }
}


/* =========================================================
How It Works
========================================================= */

.lp-block.lp-block--process {
    padding-block: 81px;
    background: #F5EFE4;
}

/* The parent lays this out as image + copy. With no image it falls back to
   a 40rem column - this design is a full-width centred stack. */
.lp-block--process .lp-process,
.lp-block--process .lp-process--solo {
    grid-template-columns: minmax(0, 1fr);
}

.lp-block--process .lp-process__content { text-align: center; }

.lp-block--process .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--process .lp-process__heading {
    margin: 0;
    color: #1A2733;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
    max-width: 540px;
    margin-inline: auto;
    text-wrap: normal;
}

/* -------- Steps -------- */

.lp-block--process .lp-process__steps {
    counter-reset: lp-step;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin: 40px 0 0;
    text-align: center;
}

.lp-block--process .lp-process__step {
    counter-increment: lp-step;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Cancel the room the parent leaves for its inline dot */
    padding-inline-start: 0;
}

/* The parent's dot becomes the numbered badge. static resets its absolute
   positioning so it sits in the flow above the title. */
.lp-block--process .lp-process__step::before {
    content: counter(lp-step, decimal-leading-zero);
    position: static;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin-block-end: 20px;
    border: 5px solid #FFFFFF;
    border-radius: 50%;
    background: var(--dm-orange);
    box-shadow: 0 8px 20px 0 #EF5A284D;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 800;
    line-height: 32px;
}

/* The parent draws a vertical connector between dots - not in this design */
.lp-block--process .lp-process__step:not(:last-child)::after { content: none; }

.lp-block--process .lp-process__step-title {
    margin: 0 0 8px;
    color: #1A2733;
    font-size: 18.9px;
    font-weight: 800;
    line-height: 21.71px;
    letter-spacing: -0.19px;
}

.lp-block--process .lp-process__step-text {
    margin: 0;
    color: #5A6B7A;
    font-size: 17.3px;
    font-weight: 500;
    line-height: 27.65px;
}

/* -------- How It Works mobile -------- */

@media (max-width: 900px) {
    .lp-block.lp-block--process { padding-block: 60px; }

    .lp-block--process .lp-process__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
        max-width: none;
        text-wrap: balance;
    }

    .lp-block--process .lp-process__steps {
        grid-template-columns: minmax(0, 1fr);
    }
}



/* =========================================================
Case study
========================================================= */

.lp-block.lp-block--casestudy {
    padding-block: 80px;
    background-color: #EFE7D8;
}

/* The photo goes in the block's Background Image field; this washes it back
   to about 10% so the copy stays readable */
.lp-block--casestudy::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #EFE7D8;
    opacity: .9;
    pointer-events: none;
}

.lp-block--casestudy .lp-container { position: relative; }

.lp-block--casestudy .lp-casestudy {
    --lp-casestudy-frame:      #FFFFFFF2;
    --lp-casestudy-frame-bg:   #16212E;
    --lp-casestudy-shadow:     0 18px 50px 0 #0000002E;
    --lp-casestudy-label-bg:   #00000073;
    --lp-casestudy-play-bg:    #EF5A28F2;
}

.lp-block--casestudy .lp-casestudy__label {
    font-size: 11.5px;
    font-weight: 700;
    line-height: 18.43px;
    letter-spacing: 1.15px;
    text-transform: uppercase;
}

.lp-block--casestudy .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--casestudy .lp-casestudy__heading {
    margin: 0 0 16px;
    color: #1A2733;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
}

.lp-block--casestudy .lp-casestudy__body {
    color: #4D5D6B;
    font-size: 17.3px;
    font-weight: 500;
    line-height: 27.65px;
}

@media (max-width: 900px) {
    .lp-block.lp-block--casestudy { padding-block: 60px; }

    .lp-block--casestudy .lp-casestudy__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
    }
}



/* =========================================================
The Results
========================================================= */

.lp-block.lp-block--results {
    padding-block: 80px;
    background: #16212E;
    overflow: hidden;
}

.lp-block--results::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(32.29% 38.32% at 3% 60%, rgba(60, 120, 170, .13) 0%, rgba(60, 120, 170, 0) 50%),
        radial-gradient(39.58% 46.39% at 94% 2%, rgba(239, 90, 40, .14) 0%, rgba(239, 90, 40, 0) 55%);
}

.lp-block--results .lp-container { position: relative; }

/* -------- Section head -------- */

.lp-block--results .lp-section-head {
    max-width: 780px;
    margin: 0 auto 50px;
}

.lp-block--results .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--results .lp-section-head__heading {
    margin: 0 0 16px;
    color: #FFFFFF;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
}

.lp-block--results .lp-section-head__lede {
    max-width: none;
    margin: 0;
    color: #B6C3CF;
    font-size: 18.6px;
    font-weight: 500;
    line-height: 29.7px;
}

/* -------- Cards -------- */

.lp-block--results .lp-results__grid {
    --lp-results-gap:         28px;
    --lp-results-gap-m:       24px;
    --lp-results-radius:      18px;
    --lp-results-border:      2px solid #FFFFFFE5;
    --lp-results-rule:        2px solid #FFFFFFE5;
    --lp-results-card-bg:     #FFFFFF01;
    --lp-results-shadow:      0 14px 38px 0 #0000004D;
    --lp-results-media-bg:    #22303F;
    --lp-results-media-tint:  #0D162059;
    --lp-results-logo-h:      70px;
    --lp-results-name-bg:     #7C8B9873;
    --lp-results-stat-hl-bg:  #BFE8F4D9;
    --lp-results-stat-hl-ink: #16212E;
}

.lp-block--results .lp-results__name {
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 800;
    line-height: 24px;
    letter-spacing: 1.35px;
    text-transform: uppercase;
}

.lp-block--results .lp-results__stat {
    color: #FFFFFF;
}

.lp-block--results .lp-results__stat-value {
    font-size: 18.9px;
    font-weight: 800;
    line-height: 24.54px;
}

.lp-block--results .lp-results__stat-label {
    font-size: 14.4px;
    font-weight: 500;
    line-height: 18.72px;
}

.lp-block--results .lp-results__stat-label strong { font-weight: 800; }

/* -------- Mobile -------- */

@media (max-width: 900px) {
    .lp-block.lp-block--results { padding-block: 60px; }

    .lp-block--results .lp-section-head__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
    }
}



/* -------- Second strip: certifications and awards -------- */
/* Same block as the pest-control logo row; the modifier comes from the
   block's Additional CSS Class field so the two don't collide. */

.lp-block--logos.lp-logos--awards .lp-logos__grid {
    --lp-logos-gap: 56px;
}

@media (max-width: 900px) {
    .lp-block--logos.lp-logos--awards .lp-logos__grid--slider {
        --lp-logos-gap-m: 20px;
        /* Badges are smaller than the client logos - three fit comfortably */
        grid-auto-columns: calc((100% - (var(--lp-logos-gap-m) * 2)) / 3);
    }
}



/* =========================================================
AI Audit
========================================================= */

.lp-block.lp-block--aiaudit {
    padding-block: 80px 35px;
    background: #FFFFFF;
    border-block-start: 1px solid #ECE4D5;
    overflow: hidden;
}



/* -------- Section head -------- */

.lp-block--aiaudit .lp-section-head {
    max-width: 700px;
    margin: 0 auto 26px;
}

.lp-block--aiaudit .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--aiaudit .lp-section-head__heading {
    margin: 0 0 14px;
    color: #1A2733;
    font-size: 36.8px;
    font-weight: 800;
    line-height: 41.22px;
    letter-spacing: -0.37px;
}

.lp-block--aiaudit .lp-section-head__lede {
    max-width: none;
    margin: 0;
    color: #5A6B7A;
    font-size: 17.9px;
    font-weight: 500;
    line-height: 28.67px;
}

/* -------- Capture row -------- */

.lp-block--aiaudit .lp-aiaudit__input {
    background: #FFFFFF;
    color: #1A2733;
    font-size: 16.5px;
    font-weight: 400;
    line-height: 1;
}

.lp-block--aiaudit .lp-aiaudit__input::placeholder {
    color: #93A3B0;
    opacity: 1;
}

.lp-block--aiaudit .lp-aiaudit__submit {
    box-shadow: 0 5px 16px 0 #84B63D2E, 0 1px 1px 0 #1C2E0A4D;
    font-family: var(--lp-font-alt);
    font-size: 15.2px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.46px;
    text-transform: uppercase;
}

.lp-block--aiaudit .lp-aiaudit__submit:hover { background: var(--lp-brand-hover); }

/* -------- Badge row, section -------- */

.lp-aiaudit__powered--section .lp-aiaudit__powered-label {
    color: #7A8894;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 18.43px;
    letter-spacing: 1.84px;
    text-transform: uppercase;
}

/* -------- Modal -------- */

.lp-aiaudit__modal {
    --lp-aiaudit-backdrop: #0F1721D9;
}

.lp-aiaudit__panel {
    --lp-aiaudit-panel-bg: linear-gradient(180deg, #EF5A28 0%, #DD5424 45%, #BF4F28 100%);
    --lp-aiaudit-panel-shadow: 0 30px 80px 0 #0000008C;
    color: #FFFFFF;
}

.lp-aiaudit__panel::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23EF5A28'/%3E%3C/svg%3E");
}

.lp-aiaudit__panel::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23BF4F28'/%3E%3C/svg%3E");
}

.lp-aiaudit__modal-eyebrow {
    margin: 0;
    color: #FFFFFFD9;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.lp-aiaudit__modal-heading {
    color: #FFFFFF;
    font-size: 34.4px;
    font-weight: 800;
    line-height: 39.22px;
    letter-spacing: -0.34px;
    text-shadow: 0 2px 8px #0000002E;
}

.lp-aiaudit__modal-body {
    color: #FFFFFFEB;
    font-size: 16.6px;
    font-weight: 500;
    line-height: 26.62px;
}

.lp-aiaudit__powered--modal .lp-aiaudit__powered-label {
    color: #FFFFFFD1;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 18.43px;
    letter-spacing: 1.84px;
    text-transform: uppercase;
}

.lp-aiaudit__powered--modal .lp-aiaudit__badges { opacity: .95; }

.lp-aiaudit__form-heading {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.lp-aiaudit__form-note {
    color: #FFFFFFD9;
    font-size: 12.8px;
    font-weight: 500;
    line-height: 1;
}

/* -------- Modal Gravity Form -------- */

.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_required_legend { display: none; }

.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_fields {
    row-gap: 13px;
    column-gap: 14px;
}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield_label {
    margin-block-end: 6px;
    color: #FFFFFF;
    font-size: 13.8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield_required { color: #FFFFFF; }

.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="text"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="email"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="tel"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="url"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield textarea {
    padding: 12px 14px;
    border: 0;
    border-radius: 9px;
    background: #F3F6F7;
    color: #1A2733;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input::placeholder,
.lp-aiaudit__form .gform_wrapper.gravity-theme .gfield textarea::placeholder {
    color: #93A3B0;
    opacity: 1;
}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer { margin: 13px 0 0; padding: 0; }
.lp-block--aiaudit .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {color: #FFFFFF;}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer button[type="submit"],
.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer .gform_button {
    width: 100%;
    padding-block: 17px;
    border: 0;
    border-radius: 10px;
    background: var(--lp-brand);
    color: #FFFFFF;
    font-family: var(--lp-font-body);
    font-size: 15.2px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.46px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease;
}

.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
.lp-aiaudit__form .gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
    background: var(--lp-aiaudit-btn-hover, var(--dm-green-hover));
}

/* -------- Mobile -------- */

@media (max-width: 900px) {
    .lp-block.lp-block--aiaudit { padding-block: 60px 35px; }

    .lp-block--aiaudit .lp-section-head__heading {
        font-size: 25.6px;
        line-height: 28.67px;
        letter-spacing: -0.26px;
    }

    .lp-aiaudit__modal-heading {
        font-size: 25.9px;
        line-height: 29.55px;
        letter-spacing: -0.26px;
    }

    .lp-aiaudit__form-heading { font-size: 21px; }
    .lp-aiaudit__form .gform_wrapper.gravity-theme .gform_fields > .gfield {
        grid-column: 1 / -1;
    }
    .lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="text"], .lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="email"], .lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="tel"], .lp-aiaudit__form .gform_wrapper.gravity-theme .gfield input[type="url"], .lp-aiaudit__form .gform_wrapper.gravity-theme .gfield textarea {line-height: 1.3 !important;}
}

/* =========================================================
Event Promo
========================================================= */

.lp-block.lp-block--eventpromo {
    position: relative;
    padding-block: 58px;
    background-color: #16212E;
}

/* Two corner glows - blue bottom-left, orange top-right */
.lp-block--eventpromo::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(34.37% 77.06% at 3% 92%, rgba(60, 120, 170, .14) 0%, rgba(60, 120, 170, 0) 55%),
        radial-gradient(39.58% 82.44% at 93% 6%, rgba(239, 90, 40, .15) 0%, rgba(239, 90, 40, 0) 58%);
    pointer-events: none;
}

.lp-block--eventpromo .lp-container { position: relative; }

.lp-block--eventpromo .lp-eventpromo__heading {
    color: #FFFFFF;
    font-size: 33.6px;
    font-weight: 800;
    line-height: 38.64px;
    letter-spacing: -0.34px;
}

.lp-block--eventpromo .lp-eventpromo__copy {
    color: var(--dm-nav-ink);
    font-size: 17.3px;
    font-weight: 500;
    line-height: 27.65px;
}

/* The booth number is the one phrase bolded inside the copy */
.lp-block--eventpromo .lp-eventpromo__copy strong {
    color: #6FCFEE;
    font-weight: 700;
}

.lp-block--eventpromo .lp-eventpromo__link {
    font-size: 12.8px;
    font-weight: 800;
    line-height: 20.48px;
    letter-spacing: 1.02px;
    text-transform: uppercase;
}
.lp-eventpromo__card {
    background: #29333f;
}

@media (max-width: 900px) {
    .lp-block--eventpromo .lp-eventpromo__heading {
        font-size: 26px;
        line-height: 32px;
    }
}

/* =========================================================
Spotlight panel
========================================================= */

.lp-block.lp-block--spotlight {
    padding-block: 0;
    background-color: #FFFFFF;
}

.lp-block--spotlight .lp-spotlight__panel {
    --lp-spotlight-panel-bg: var(--dm-orange);
}

.lp-block--spotlight .lp-spotlight__eyebrow {
    color: #FFFFFFD9;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.lp-block--spotlight .lp-spotlight__heading {
    color: #FFFFFF;
    font-size: 38.4px;
    font-weight: 800;
    line-height: 44.16px;
    letter-spacing: -0.38px;
    /* Figma exports a text drop shadow as box-shadow - on text it's text-shadow */
    text-shadow: 0 2px 8px #00000038;
}

.lp-block--spotlight .lp-spotlight__copy {
    color: #FFE9E1;
    font-size: 17.6px;
    font-weight: 500;
    line-height: 28.16px;
}

.lp-block--spotlight .lp-spotlight__copy strong { color: #FFFFFF; font-weight: 700; }

/* Heading 3 in the editor is the small sub-heading */
.lp-block--spotlight .lp-spotlight__copy h3 {
    color: #FFFFFF;
    font-size: 18.9px;
    font-weight: 800;
    line-height: 21.71px;
    letter-spacing: -0.19px;
}

.lp-block--spotlight .lp-spotlight__aside-heading {
    color: #FFE9E1;
    font-size: 17.6px;
    font-weight: 700;
    line-height: 22px;
    max-width: 430px;
    margin: 0 auto;
}

.lp-block--spotlight .lp-spotlight__cta {
    font-size: 13.6px;
    line-height: 21.76px;
    letter-spacing: 0.68px;
    text-shadow: 0 1px 1px #1C2E0A4D;
}

.lp-block--spotlight .lp-spotlight__cta:hover {
    background: var(--dm-green-hover);
}

@media (max-width: 900px) {
    .lp-block--spotlight .lp-spotlight__panel {
        --lp-spotlight-swoosh-w: 118px;
        --lp-spotlight-swoosh-h: 70px;
        --lp-spotlight-radius: 56px;
        --lp-spotlight-pad-top: 60px;
        --lp-spotlight-pad-bottom: 60px;
        --lp-spotlight-cta-top: 50px;
    }

    .lp-block--spotlight .lp-spotlight__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
    }
}

/* =========================================================
Reviews
========================================================= */

.lp-block.lp-block--reviews {
    padding-block: 80px;
    background-color: #EFE7D8;
}

.lp-block--reviews .lp-eyebrow {
    margin: 0 0 12px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
}

.lp-block--reviews .lp-section-head__heading {
    margin: 0;
    color: #1A2733;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
}

.lp-block--reviews .lp-reviews__grid { --lp-reviews-star: var(--dm-orange); }

.lp-block--reviews .lp-reviews__name {
    color: #1A2733;
    font-size: 16px;
    font-weight: 700;
    line-height: 25.6px;
}

.lp-block--reviews .lp-reviews__company {
    color: #5A6B7A;
    font-size: 13.6px;
    font-weight: 600;
    line-height: 21.76px;
}

.lp-block--reviews .lp-reviews__heading {
    color: #1A2733;
    font-size: 19.5px;
    font-weight: 800;
    line-height: 22.45px;
    letter-spacing: -0.19px;
}

.lp-block--reviews .lp-reviews__body {
    color: #33424F;
    font-size: 17.3px;
    font-weight: 500;
    line-height: 29px;
}

.lp-block--reviews .lp-reviews__body a {
    color: var(--dm-orange);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lp-block--reviews .lp-reviews__more {
    color: var(--dm-orange);
    font-size: 13.1px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.79px;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .lp-block.lp-block--reviews { padding-block: 60px; }

    .lp-block--reviews .lp-section-head__heading {
        font-size: 27.2px;
        line-height: 31.28px;
        letter-spacing: -0.27px;
    }
}

/* =========================================================
Footer Form
========================================================= */

.lp-block.lp-block--footerform {
    position: relative;
    padding-block: 100px 0;
    background: linear-gradient(104.01deg, #101924 0%, #16212E 55%, #1D2C3D 100%);
}

/* Corner glows - blue bottom-right, orange top-left */
.lp-block--footerform::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(36.46% 60.25% at 100% 100%, rgba(60, 120, 170, .16) 0%, rgba(60, 120, 170, 0) 55%),
        radial-gradient(46.87% 60.25% at 12% 0%, rgba(239, 90, 40, .16) 0%, rgba(239, 90, 40, 0) 60%);
    pointer-events: none;
}

.lp-block--footerform .lp-footerform__heading {
    color: #FFFFFF;
    font-size: 40px;
    font-weight: 800;
    line-height: 46px;
    letter-spacing: -0.4px;
    text-align: center;
    text-shadow: 0 2px 8px #00000026;
}

.lp-block--footerform .lp-footerform__lede {
    color: #BFE8F4;
    font-size: 17.9px;
    font-weight: 700;
    line-height: 28.67px;
    text-align: center;
}
.lp-block--footerform .lp-footerform__note {
    color: #AEBCC8;
    font-size: 15px;
    font-weight: 600;
    line-height: 20.48px;
}

.lp-block--footerform .lp-footerform__note a {
    color: #FFFFFF;
    text-decoration: underline;
    text-underline-offset: 2px;
}


/* -------- Gravity Form -------- */

.lp-footerform__form .gform_wrapper.gravity-theme .gform_required_legend { display: none; }

.lp-footerform__form .gform_wrapper.gravity-theme .gform_fields {
    row-gap: 20px;
    column-gap: 14px;
}

.lp-footerform__form .gform_wrapper.gravity-theme .gfield_label {
    margin-block-end: 8px;
    color: #FFFFFF;
    font-size: 15.2px;
    font-weight: 700;
    line-height: 24.32px;
    letter-spacing: 0;
    text-transform: none;
}

.lp-footerform__form .gform_wrapper.gravity-theme .gfield_required { color: var(--dm-orange); }

.lp-footerform__form .gform_wrapper.gravity-theme .gfield input[type="text"],
.lp-footerform__form .gform_wrapper.gravity-theme .gfield input[type="email"],
.lp-footerform__form .gform_wrapper.gravity-theme .gfield input[type="tel"],
.lp-footerform__form .gform_wrapper.gravity-theme .gfield input[type="url"] {
    height: 43px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: #F3F6F7;
    color: #1A2733;
    font-size: 16px;
    font-weight: 500;
}

.lp-footerform__form .gform_wrapper.gravity-theme .gfield textarea {
    height: 74px;
    padding: 12px 14px;
    border: 0;
    border-radius: 8px;
    background: #F3F6F7;
    color: #1A2733;
    font-size: 16px;
    font-weight: 500;
}

.lp-footerform__form .gform_wrapper.gravity-theme .gfield input::placeholder,
.lp-footerform__form .gform_wrapper.gravity-theme .gfield textarea::placeholder {
    color: #93A3B0;
    opacity: 1;
}

/* -------- Consent row -------- */

/* The visible wording lives in the consent label, so the field label is noise */
.lp-footerform__form .gform_wrapper.gravity-theme .gfield--type-consent .gfield_label { display: none; }

/* Same as the hero: the box is a fixed-width flex item, so wrapped lines stay
   in one column instead of running back under the checkbox */
.lp-footerform__form .gform_wrapper.gravity-theme .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.lp-footerform__form .gform_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    /* Drops the box onto the first line's optical centre */
    margin: 3px 0 0;
    border-radius: 4px;
    accent-color: var(--lp-brand);
}

/* The asterisk lives on the label we just hid, so it would orphan above the row */
.lp-footerform__form .gform_wrapper.gravity-theme .gfield--type-consent .gfield_required { display: none; }

.lp-footerform__form .gform_wrapper.gravity-theme .gfield_consent_label,
.lp-footerform__form .gform_wrapper.gravity-theme .gfield--type-consent label {
    display: block;
    margin: 0;
    color: #EAF3F5;
    font-size: 13.1px;
    font-weight: 500;
    line-height: 19.68px;
    letter-spacing: 0;
    text-transform: none;
}

.lp-footerform__form .gform_wrapper.gravity-theme .gfield_consent_label a {
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
}



.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer { margin: 22px 0 0; padding: 0; }

.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer button[type="submit"],
.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer .gform_button {
    width: 100%;
    padding-block: 15px;
    border: 0.35px solid transparent;
    border-radius: 10px;
    background: var(--lp-brand);
    box-shadow: 0 5px 16px 0 #84B63D33;
    color: #FFFFFF;
    font-family: var(--lp-font-alt);
    font-size: 15.2px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.46px;
    text-transform: uppercase;
    text-shadow: 0 1px 1px #1C2E0A4D;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}


.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
.lp-footerform__form .gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
    background: var(--lp-brand-hover);
    transform: translateY(-1px);
}

/* -------- Validation -------- */

/* The summary box just repeats every message that already sits under its field */
.lp-block--footerform .gform_validation_errors { display: none; }

/* Strip the pink alert box - message text only, same as the audit modal */
.lp-footerform__form .gform_wrapper.gravity-theme .gfield_validation_message,
.lp-footerform__form .gform_wrapper.gravity-theme .validation_message {
    padding: 0 !important;
    margin: 5px 0 0;
    border: none;
    background-color: transparent;
    font-size: 13.5px;
    font-weight: 500;
}


@media (max-width: 900px) {
    .lp-block.lp-block--footerform { padding-block: 60px; }

    .lp-block--footerform .lp-footerform__heading {
        font-size: 28.8px;
        line-height: 33.12px;
        letter-spacing: -0.29px;
    }

    /* One column - the two-up pairs have no room */
    .lp-footerform__form .gform_wrapper.gravity-theme .gform_fields > .gfield {
        grid-column: 1 / -1;
    }
}
/* =========================================================
Hero - copy only (thank you page)
========================================================= */

.lp-block--hero .lp-hero__inner--solo {
    grid-template-columns: minmax(0, var(--lp-hero-solo-max, 42rem));
    justify-content: center;
}

/* =========================================================
Hero Form Only
========================================================= */
/* Mirrors the Hero section above - keep the two in step */

/* Two classes to beat the .lp-pt-* / .lp-pb-* utilities */
.lp-block.lp-block--heroformonly {
    background-color: #16212E;
    background-size: cover;
    background-position: center;
    padding-block: 73px;
}

.lp-block--heroformonly .lp-heroformonly__inner {
    --lp-heroformonly-max: 780px;
    --lp-heroformonly-card-max: 540px;
    /* Clears the orange tail above the card */
    --lp-heroformonly-gap: 44px;
    min-height: 0;
}

/* -------- Copy -------- */

.lp-block--heroformonly .lp-heroformonly__eyebrow {
    margin: 0 0 14px;
    color: var(--dm-orange);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 19.97px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.lp-block--heroformonly .lp-heroformonly__title {
    margin: 0 0 22px;
    font-size: 53.6px;
    font-weight: 800;
    line-height: 61.64px;
    letter-spacing: -0.54px;
}

.lp-block--heroformonly .lp-heroformonly__title-main,
.lp-block--heroformonly .lp-heroformonly__title-accent { display: inline; }

.lp-block--heroformonly .lp-heroformonly__title-accent { color: var(--dm-orange); }

.lp-block--heroformonly .lp-heroformonly__body {
    max-width: 640px;
    margin-block-end: 26px;
    color: var(--dm-nav-ink);
    font-size: 17.9px;
    font-weight: 500;
    line-height: 28.67px;
}

.lp-block--heroformonly .lp-heroformonly__body strong,
.lp-block--heroformonly .lp-heroformonly__body b { color: #FFFFFF; }

/* -------- Three feature cards -------- */

.lp-block--heroformonly .lp-heroformonly__badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lp-block--heroformonly .lp-heroformonly__badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 12px;
    border: 1px solid #FFFFFF33;
    border-radius: 10px;
    background: #FFFFFF14;
    box-shadow: inset 0 1px 0 1px #FFFFFF2E, 0 8px 26px 0 #00000033;
    backdrop-filter: blur(12px);
    text-align: center;
}

/* Bare icons - undo the parent's frosted circle */
.lp-block--heroformonly .lp-heroformonly__badge-wrap {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.lp-block--heroformonly .lp-heroformonly__badge-icon {
    width: 28px;
    height: 28px;
}

.lp-block--heroformonly .lp-heroformonly__badge-text {
    color: #FFFFFF;
    font-size: 14.4px;
    font-weight: 800;
    line-height: 17.28px;
}

.lp-block--heroformonly .lp-heroformonly__badge-sub {
    color: #9FB0BF;
    font-size: 12.2px;
    font-weight: 500;
    line-height: 15.81px;
}

/* -------- Form card -------- */

.lp-block--heroformonly .lp-heroformonly__card {
    position: relative;
    z-index: 1;
    padding: 0;
    border-block-start: 0;
    border-radius: 18px 0 18px 0;
    box-shadow: 0 18px 50px 0 #0000002E;
}

/* Speech-bubble tails: orange top-right, white (rotated) bottom-left */
.lp-block--heroformonly .lp-heroformonly__card::before,
.lp-block--heroformonly .lp-heroformonly__card::after {
    content: "";
    position: absolute;
    width: 62px;
    height: 36.99px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.lp-block--heroformonly .lp-heroformonly__card::before {
    right: 0;
    bottom: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23EF5A28'/%3E%3C/svg%3E");
}

.lp-block--heroformonly .lp-heroformonly__card::after {
    left: 0;
    top: 100%;
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.77 15.5'%3E%3Cpath d='M0,15.5a29.63,29.63,0,0,0,6.141-.266,9.069,9.069,0,0,0,4.152-2.24c.54-.512,1.044-1.092,1.581-1.629,1.6-1.6,3.112-3.284,4.715-4.888s3.112-3.256,4.718-4.888a8.851,8.851,0,0,1,.8-.8,2.325,2.325,0,0,1,1.16-.47,2.277,2.277,0,0,1,2.263,1.239,8.769,8.769,0,0,1,.235,3.273L25.77,15.5L0,15.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
}

/* Heading and subtext share the orange band */
.lp-block--heroformonly .lp-heroformonly__card-heading {
    margin: 0;
    padding: 26px 26px 26px;
    border-start-start-radius: 18px;
    background: var(--dm-orange);
    color: #FFFFFF;
    font-size: 25.9px;
    font-weight: 800;
    line-height: 29.81px;
    letter-spacing: -0.26px;
    text-align: center;
}

.lp-block--heroformonly .lp-heroformonly__card-text {
    margin: 0;
    padding: 7px 26px 26px;
    background: var(--dm-orange);
    color: #FFE6DB;
    font-size: 15.2px;
    font-weight: 600;
    line-height: 24.32px;
    text-align: center;
}

/* Underline behind the accent words */
.lp-block--heroformonly .lp-heroformonly__card-accent {
    padding-block-end: 9px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='141' height='13' viewBox='0 0 141 13'%3E%3Cpath d='M2.80811 8.59172C21.0596 4.40822 43.5231 9.98622 67.3904 6.49997C89.8539 3.71097 112.317 9.28897 137.589 5.10547' stroke='%2316212E' stroke-width='3.48625' stroke-linecap='round' stroke-dasharray='0.7 0.7' fill='none'/%3E%3C/svg%3E") no-repeat bottom center / 100% auto;
}

.lp-block--heroformonly .lp-heroformonly__form { padding: 26px; }

.lp-block--heroformonly .lp-heroformonly__disclaimer {
    margin: 0;
    padding: 0 26px;
    color: #5A6B7A;
    font-size: 14.7px;
    font-weight: 700;
    font-style: italic;
    line-height: 23.55px;
    text-align: center;
}

.lp-block--heroformonly .lp-heroformonly__form-logos {
    gap: 35px;
    margin: 18px 0 0;
    padding: 0 26px 26px;
}

/* Beats the width="0" height="0" ACF prints for SVGs */
.lp-block--heroformonly .lp-heroformonly__form-logo img {
    width: auto;
    height: 44px;
}

/* -------- Gravity Forms -------- */
/* Needs theme="gravity-theme" on the shortcode */

.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_required_legend { display: none; }

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield_label {
    color: #5A6B7A;
    font-size: 11.8px;
    font-weight: 700;
    line-height: 18.94px;
    letter-spacing: 0.83px;
    text-transform: uppercase;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield_required {
    color: var(--dm-orange);
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield input[type="text"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield input[type="email"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield input[type="tel"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield input[type="url"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield textarea {
    border: 1px solid #DFE3E8;
    border-radius: 9px;
    background: #FBFBFC;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield input::placeholder,
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield textarea::placeholder {
    color: #757575;
    font-size: 16.2px;
    font-weight: 400;
    line-height: 1;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield textarea {
    min-height: 74px;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .ginput_container_consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 3px 0 0;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield--type-consent .gfield_required {
    display: none;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield_consent_label,
.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield--type-consent label {
    display: block;
    margin: 0;
    color: #5A6B7A;
    font-size: 12.2px;
    font-weight: 500;
    line-height: 18.24px;
    letter-spacing: 0;
    text-transform: none;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield_consent_label a {
    color: #1A2733;
    font-weight: 700;
    text-decoration: none;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer { margin: 18px 0 0; padding: 0; }

/* GF 3 renders a <button>, older versions an <input> */
.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer button[type="submit"],
.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer .gform_button {
    width: 100%;
    padding-block: 15px;
    border: 0.35px solid #FFFFFF;
    border-radius: 9px;
    background: var(--lp-brand);
    box-shadow: 0 5px 16px 0 #84B63D2E;
    color: #FFFFFF;
    font-family: var(--lp-font-alt);
    font-size: 15.2px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.46px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease;
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
.lp-block--heroformonly .gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
    background: var(--lp-brand-hover);
}

.lp-block--heroformonly .gform_wrapper.gravity-theme .gfield_validation_message,
.lp-block--heroformonly .gform_wrapper.gravity-theme .validation_message {
    padding: 0 !important;
    margin: 5px 0;
}

/* -------- Mobile -------- */

@media (max-width: 1199px) {
    .lp-block--heroformonly .lp-heroformonly__title { font-size: 42px; line-height: 52px; }
    .lp-block--heroformonly .lp-heroformonly__card-heading { font-size: 20px; line-height: 26px; }
}

@media (max-width: 999px) {
    .lp-block--heroformonly .lp-heroformonly__title { font-size: 40px; line-height: 50px; }
}

@media (max-width: 900px) {
    .lp-block--heroformonly .lp-heroformonly__inner { padding-inline: 20px; }

    .lp-block--heroformonly .lp-heroformonly__title {
        font-size: 33.6px;
        line-height: 38.64px;
        letter-spacing: -0.34px;
    }

    .lp-block--heroformonly .lp-heroformonly__badges { gap: 10px; }

    .lp-block--heroformonly .lp-heroformonly__card { margin-inline: 0; margin-block-start: 20px; }

    .lp-block--heroformonly .lp-heroformonly__form-logo img { height: 38px; }
    .lp-block--heroformonly .lp-heroformonly__form-logos { gap: 5px; padding: 0 6px 26px; }
    .lp-block--heroformonly .lp-heroformonly__form { padding: 16px; }
    .lp-block--heroformonly .lp-heroformonly__card-heading { padding: 26px 16px 26px; }
    .lp-block--heroformonly .lp-heroformonly__card-text { padding: 26px 16px 26px; }
}
