.elementor-34235 .elementor-element.elementor-element-e5d687d{--display:flex;--min-height:25vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-12%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-34235 .elementor-element.elementor-element-e5d687d:not(.elementor-motion-effects-element-type-background), .elementor-34235 .elementor-element.elementor-element-e5d687d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1C3A2E;}.elementor-34235 .elementor-element.elementor-element-ff7fa5e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-34235 .elementor-element.elementor-element-ff7fa5e:not(.elementor-motion-effects-element-type-background), .elementor-34235 .elementor-element.elementor-element-ff7fa5e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#16161600;}.elementor-34235 .elementor-element.elementor-element-3c68386{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}.elementor-34235 .elementor-element.elementor-element-a6617b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}.elementor-34235 .elementor-element.elementor-element-6303701{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}@media(min-width:768px){.elementor-34235 .elementor-element.elementor-element-e5d687d{--width:100%;}.elementor-34235 .elementor-element.elementor-element-3c68386{--width:5%;}.elementor-34235 .elementor-element.elementor-element-a6617b4{--width:90%;}.elementor-34235 .elementor-element.elementor-element-6303701{--width:5%;}}/* Start custom CSS for container, class: .elementor-element-a6617b4 *//* ===================================================================
   GRAVITY FORMS — Refined Professional Styling
   Brand palette: Forest #1C3A2E · Terracotta #E97133
   =================================================================== */

/* ── Design tokens (used as reference; values inlined below) ──
   --forest:        #1C3A2E
   --forest-soft:   #2E5142
   --terracotta:    #E97133
   --terracotta-dk: #D0622A
   --ink:           #1A1A1A
   --slate:         #5A7080
   --line:          #D8E4EE
   --line-soft:     #E8EDF3
   --bg-card:       #FFFFFF
   --radius:        12px
   --ease:          cubic-bezier(0.4, 0, 0.2, 1)
*/

/* ── Wrapper / card container ── */
.gform_wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
    max-width: 900px !important;   /* ← form width. Increase/decrease this one number.
                                       Use 100% to fill the page container completely. */
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #EAF0F5 !important;
    border-radius: 18px !important;
    padding: 40px 38px !important;
    box-shadow:
        0 1px 2px rgba(28, 58, 46, 0.04),
        0 12px 32px rgba(28, 58, 46, 0.07) !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
}

/* ── Labels ── */
.gform_wrapper label,
.gform_wrapper .gfield_label,
.gform_wrapper legend,
.gform_wrapper .gform-field-label {
    color: #1C3A2E !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* ── Inputs, Textareas, Selects ── */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper textarea,
.gform_wrapper select {
    background: #ffffff !important;
    color: #1A1A1A !important;
    border: 1.5px solid #1C3A2E !important;   /* brand green by default */
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: inset 0 1px 2px rgba(28, 58, 46, 0.03) !important;
    transition:
        border-color 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* ── Hover (pre-focus affordance) ── */
.gform_wrapper input[type="text"]:hover,
.gform_wrapper input[type="email"]:hover,
.gform_wrapper input[type="tel"]:hover,
.gform_wrapper input[type="number"]:hover,
.gform_wrapper input[type="url"]:hover,
.gform_wrapper input[type="password"]:hover,
.gform_wrapper input[type="date"]:hover,
.gform_wrapper input[type="time"]:hover,
.gform_wrapper textarea:hover,
.gform_wrapper select:hover {
    border-color: #2E5142 !important;   /* slightly lighter green on hover */
    background: #ffffff !important;
}

/* ── Focus state ── */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper input[type="time"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    background: #ffffff !important;
    border-color: #E97133 !important;
    box-shadow:
        0 0 0 4px rgba(233, 113, 51, 0.13),
        0 2px 8px rgba(233, 113, 51, 0.08) !important;
}

/* ── Placeholders ── */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #A6B5C2 !important;
    font-size: 14px !important;
    font-style: normal !important;
}

/* ── Textarea specific ── */
.gform_wrapper textarea {
    min-height: 140px !important;
    resize: vertical !important;
    line-height: 1.65 !important;
}

/* ── Select arrow ── */
.gform_wrapper select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E97133' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 44px !important;
    cursor: pointer !important;
}

/* ── Field containers ── */
.gform_wrapper .gfield {
    padding: 0 !important;
}

/* ── Section titles ── */
.gform_wrapper .gsection_title {
    color: #1C3A2E !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 4px !important;
    padding-bottom: 12px !important;
    position: relative !important;
    border-bottom: 1px solid #EAF0F5 !important;
}

/* accent underline on section titles */
.gform_wrapper .gsection_title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -1px !important;
    width: 44px !important;
    height: 3px !important;
    border-radius: 3px !important;
    background: #E97133 !important;
}

.gform_wrapper .gsection_description {
    color: #5A7080 !important;
    font-size: 13px !important;
    margin-top: 10px !important;
    margin-bottom: 22px !important;
    line-height: 1.65 !important;
}

/* ── Remove fieldset border around radio/checkbox groups ── */
.gform_wrapper fieldset,
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform_wrapper legend {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

/* ── Radio / Checkbox option rows ── */
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    margin-bottom: 8px !important;
    background: #FBFCFD !important;
    border: 1.5px solid #E8EDF3 !important;
    border-radius: 10px !important;
    transition:
        border-color 0.15s ease,
        background 0.15s ease !important;
}

.gform_wrapper .gfield_radio .gchoice:hover,
.gform_wrapper .gfield_checkbox .gchoice:hover {
    border-color: #F2C3A6 !important;
    background: #FFF8F4 !important;
}

.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    accent-color: #E97133 !important;
    cursor: pointer !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #2A2A2A !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline !important;
    vertical-align: middle !important;
}

/* ── Required asterisk ── */
.gform_wrapper .gfield_required {
    color: #E97133 !important;
    font-size: 14px !important;
    margin-left: 3px !important;
}

/* ── Sub-labels (e.g. name fields) ── */
.gform_wrapper .gfield_sublabel {
    color: #93A4B3 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    margin-top: 5px !important;
}

/* ── Description text ── */
.gform_wrapper .gfield_description {
    color: #6B8A7A !important;
    font-size: 12px !important;
    margin-top: 6px !important;
    line-height: 1.55 !important;
}

/* ── Validation / Error states ── */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
    border-color: #C0392B !important;
    background: #FFFBFB !important;
    box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.1) !important;
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_description.validation_message {
    color: #C0392B !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.gform_wrapper .gform_validation_errors {
    background: #FFF5F5 !important;
    border: 1px solid #F5C6C6 !important;
    border-left: 4px solid #C0392B !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #C0392B !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 24px !important;
}

/* ── Form title & description ── */
.gform_wrapper .gform_title {
    color: #1C3A2E !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 8px !important;
}

.gform_wrapper .gform_description {
    color: #5A7080 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
    display: block !important;
}

/* ── Submit button & footer ── */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
    text-align: center !important;
    margin-top: 30px !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_page_footer button[type="submit"] {
    background: linear-gradient(135deg, #F07C3D 0%, #E97133 55%, #D9652C 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 16px 54px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: 0.03em !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    display: inline-block !important;
    min-width: 210px !important;
    box-shadow:
        0 4px 14px rgba(233, 113, 51, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transition:
        transform 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        filter 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer button[type="submit"]:hover {
    filter: brightness(1.04) !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 10px 26px rgba(233, 113, 51, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_footer button[type="submit"]:active {
    transform: translateY(0) !important;
    box-shadow: 0 3px 10px rgba(233, 113, 51, 0.28) !important;
}

.gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.gform_wrapper .gform_footer button[type="submit"]:focus-visible {
    outline: 3px solid rgba(233, 113, 51, 0.4) !important;
    outline-offset: 3px !important;
}

/* ── Confirmation message ── */
.gform_confirmation_wrapper {
    background: linear-gradient(135deg, #F1F8F4 0%, #EAF4EE 100%) !important;
    border: 1.5px solid #B3D9C5 !important;
    border-radius: 14px !important;
    padding: 26px 30px !important;
    color: #1C3A2E !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

/* ── Multi-page progress ── */
.gform_wrapper .gf_progressbar_wrapper {
    margin-bottom: 28px !important;
}

.gform_wrapper .gf_progressbar {
    background: #EBF0F5 !important;
    border-radius: 50px !important;
    height: 9px !important;
    overflow: hidden !important;
}

.gform_wrapper .gf_progressbar_percentage {
    background: linear-gradient(90deg, #F07C3D, #E97133) !important;
    border-radius: 50px !important;
    height: 100% !important;
    transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ── File upload ── */
.gform_wrapper input[type="file"] {
    background: #FBFCFD !important;
    border: 1.5px dashed #CBDAE7 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    font-size: 13px !important;
    color: #5A7080 !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: border-color 0.18s ease, background 0.18s ease !important;
}

.gform_wrapper input[type="file"]:hover {
    border-color: #E97133 !important;
    background: #FFF8F4 !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .gform_wrapper {
        padding: 28px 20px !important;
        border-radius: 14px !important;
    }

    .gform_wrapper .gform_title {
        font-size: 22px !important;
    }

    .gform_wrapper .gform_footer input[type="submit"],
    .gform_wrapper .gform_footer button[type="submit"],
    .gform_wrapper .gform_page_footer input[type="submit"],
    .gform_wrapper .gform_page_footer button[type="submit"] {
        width: 100% !important;
        padding: 16px 24px !important;
    }

    .gform_wrapper input[type="text"],
    .gform_wrapper input[type="email"],
    .gform_wrapper input[type="tel"],
    .gform_wrapper textarea,
    .gform_wrapper select {
        font-size: 16px !important; /* prevents iOS zoom */
    }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    .gform_wrapper *,
    .gform_wrapper *::before,
    .gform_wrapper *::after {
        transition-duration: 0.01ms !important;
    }
}

/* ===================================================================
   MULTI-COLUMN LAYOUT — fields 4 and 5 share one line (desktop only)
   -------------------------------------------------------------------
   All fields are full-width by default.
   ONLY field id 4 and field id 5 sit side by side, and only on
   desktop (screens wider than 600px). On phones they stack normally.

   Note: the .elementor-34235 .elementor-element.elementor-element-a6617b4s below match the field-container id, which
   Gravity Forms writes as  field_<formId>_<fieldId>  (e.g. field_2_4).
   The  [id$='_4']  match targets the field whose id ends in _4, so it
   works no matter what your form id is. If you have TWO forms on the
   same page and only want one affected, replace the .elementor-34235 .elementor-element.elementor-element-a6617b4s with the
   exact ids, e.g.  #field_2_4  and  #field_2_5.
   =================================================================== */

/* 12-column grid container */
.gform_wrapper .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* DEFAULT: every field takes the full line */
.gform_wrapper .gfield {
    grid-column: span 12 !important;
    margin-bottom: 0 !important;   /* spacing handled by grid row-gap */
}

/* DESKTOP ONLY: put field 4 and field 5 together on one line */
@media (min-width: 601px) {
    .gform_wrapper .gfield[id$='_4'],
    .gform_wrapper .gfield[id$='_5'] {
        grid-column: span 6 !important;
    }
}

/* OPTIONAL manual overrides — add as a "Custom CSS Class" on any field
   in the editor if you ever want to pair other fields too.             */
.gform_wrapper .gfield.gf_full   { grid-column: span 12 !important; }
.gform_wrapper .gfield.gf_half   { grid-column: span 6  !important; }
.gform_wrapper .gfield.gf_third  { grid-column: span 4  !important; }
.gform_wrapper .gfield.gf_quarter{ grid-column: span 3  !important; }

@media (max-width: 600px) {
    .gform_wrapper .gfield.gf_half,
    .gform_wrapper .gfield.gf_third,
    .gform_wrapper .gfield.gf_quarter {
        grid-column: span 12 !important;
    }
}

/* make sure inputs fill their column */
.gform_wrapper .gfield input,
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
    width: 100% !important;
}

/* ===================================================================
   ADDRESS FIELD (id 8) — lay sub-fields out two per row
   -------------------------------------------------------------------
   Pairs the six address sub-fields into rows of two:
     Street Address | Address Line 2
     City           | State / Province
     ZIP / Postal   | Country
   Scoped to field id 8 only (the [id$='_8'] match works for any form
   id, e.g. field_2_8). On phones the sub-fields stack one per row.
   =================================================================== */

.gform_wrapper .gfield[id$='_8'] .ginput_container_address {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 20px !important;
    row-gap: 16px !important;
}

/* reset GF's built-in float/width so the grid controls the layout */
.gform_wrapper .gfield[id$='_8'] .ginput_container_address > span {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
}

/* inputs / selects fill their cell */
.gform_wrapper .gfield[id$='_8'] .ginput_container_address input,
.gform_wrapper .gfield[id$='_8'] .ginput_container_address select {
    width: 100% !important;
}

/* stack the address sub-fields on phones */
@media (max-width: 600px) {
    .gform_wrapper .gfield[id$='_8'] .ginput_container_address {
        grid-template-columns: 1fr !important;
    }
}/* End custom CSS */