html { scroll-behavior: smooth; }
.glass-panel { background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border: 1px solid rgba(165,159,129,.22); }
button, a { letter-spacing: .02em; }
h1, h2, h3, h4 { letter-spacing: -.02em; }
.gallery-item { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; cursor: zoom-in; }
.gallery-item::after { content: "zoom_in"; font-family: "Material Symbols Outlined"; font-size: 26px; display: grid; place-items: center; position: absolute; inset: 0; color: #fff; background: rgba(31,31,28,.48); opacity: 0; transition: opacity .25s ease; }
.gallery-item:hover::after, .gallery-item:focus-visible::after { opacity: 1; }
.gallery-item:focus-visible { outline: 3px solid #a59f81; outline-offset: 3px; }
.lightbox { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.lightbox.is-open { opacity: 1; pointer-events: auto; }
.lightbox img { transform: scale(.97); transition: transform .25s ease; }
.lightbox.is-open img { transform: scale(1); }
.cta-primary { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; padding: 1rem 1.5rem; background: #a59f81; color: #fff; border: 1px solid #a59f81; border-radius: .5rem; font-family: Montserrat,Arial,sans-serif; font-size: .72rem; font-weight: 700; line-height: 1; letter-spacing: .09em; box-shadow: 0 12px 24px rgba(31,31,28,.14); transition: transform .2s ease,background .2s ease,box-shadow .2s ease; }
.cta-primary:hover { background: #8f896c; transform: translateY(-2px); box-shadow: 0 16px 30px rgba(31,31,28,.2); }
.cta-primary:focus-visible { outline: 3px solid #1f1f1c; outline-offset: 4px; }
.cta-primary--light { background: #fff; color: #20201d; border-color: #fff; }
.cta-primary--light:hover { background: #e8e6de; }
.review-track { scrollbar-width: none; }
.review-track::-webkit-scrollbar { display: none; }
.review-card { scroll-snap-align: start; }
section:has([data-review-track]) [aria-label="5 out of 5 stars"] { color: #c99a2e; }
section:has([data-review-track]) [aria-label="5 out of 5 stars"] .material-symbols-outlined { font-variation-settings: 'FILL' 1; }
.review-copy.is-collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.review-toggle { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; color: #6b685b; font: 700 .68rem/1 Montserrat,Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; transition: color .2s ease; }
.review-toggle:hover { color: #1f1f1c; }


/* =========================================================
   GRAVITY FORM #1 - ST MARY STONE ESTIMATE FORM
   Keeps existing Form ID: #gform_1
   ========================================================= */


/* ---------------------------------------------------------
   MAIN FORM CARD
   --------------------------------------------------------- */

#gform_wrapper_1 {
    max-width: 510px !important;
    margin: 25px auto !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
}

#gform_1 {
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   FORM TITLE
   --------------------------------------------------------- */

#gform_wrapper_1 .gform_title {
    margin: 0 !important;
    padding: 32px 25px 5px !important;
    text-align: center !important;
    color: #303747 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}


/* ---------------------------------------------------------
   FORM DESCRIPTION
   --------------------------------------------------------- */

#gform_wrapper_1 .gform_description {
    display: block !important;
    margin: 0 !important;
    padding: 0 30px 30px !important;
    text-align: center !important;
    color: #303747 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}



#gform_wrapper_1 .gform_body {
    border-top: 1px solid #d9dde5 !important;
    padding: 20px !important;
}

#gform_1 .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   ALL FIELDS
   --------------------------------------------------------- */

#gform_1 .gfield {
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}


#gform_1 .gfield:nth-child(n+6) {
    grid-column: 1 / -1 !important;
}
.gform-field-label.gform-field-label--type-sub.hidden_sub_label.screen-reader-text {
  display: none;
}
#gform_wrapper_1 #field_1_6 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}
/* ---------------------------------------------------------
   LABELS
   --------------------------------------------------------- */

#gform_1 .gfield_label {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #303747 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

#gform_1 .gfield_required {
    color: #c1272a !important;
    margin-left: 3px !important;
}


/* ---------------------------------------------------------
   INPUTS
   --------------------------------------------------------- */

#gform_1 input[type="text"],
#gform_1 input[type="email"],
#gform_1 input[type="tel"],
#gform_1 input[type="number"],
#gform_1 input[type="url"],
#gform_1 input[type="date"],
#gform_1 select,
#gform_1 textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 10px 11px !important;

    background: #ffffff !important;
    color: #303747 !important;

    border: 1px solid #b7bfce !important;
    border-radius: 4px !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;

    box-shadow: none !important;
    outline: none !important;
}


/* ---------------------------------------------------------
   INPUT FOCUS
   --------------------------------------------------------- */

#gform_1 input[type="text"]:focus,
#gform_1 input[type="email"]:focus,
#gform_1 input[type="tel"]:focus,
#gform_1 input[type="number"]:focus,
#gform_1 input[type="url"]:focus,
#gform_1 input[type="date"]:focus,
#gform_1 select:focus,
#gform_1 textarea:focus {
    border-color: #7d8798 !important;
    box-shadow: 0 0 0 1px rgba(125, 135, 152, 0.15) !important;
}


/* ---------------------------------------------------------
   PLACEHOLDER
   --------------------------------------------------------- */

#gform_1 input::placeholder,
#gform_1 textarea::placeholder {
    color: #9aa7bd !important;
    opacity: 1 !important;
    font-weight: 400 !important;
}


/* ---------------------------------------------------------
   SELECT DROPDOWN
   --------------------------------------------------------- */

#gform_1 .ginput_container_select {
    position: relative !important;
}

#gform_1 .ginput_container_select select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    padding-right: 45px !important;
    color: #9aa7bd !important;
}

#gform_1 .ginput_container_select::after {
    content: "" !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;

    width: 7px !important;
    height: 7px !important;

    border-right: 2px solid #59677c !important;
    border-bottom: 2px solid #59677c !important;

    transform: translateY(-65%) rotate(45deg) !important;

    pointer-events: none !important;
}


/* ---------------------------------------------------------
   FIELD DESCRIPTION
   --------------------------------------------------------- */

#gform_1 .gfield_description {
    margin-top: 7px !important;
    padding: 0 !important;

    color: #4f596c !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}


/* ---------------------------------------------------------
   TEXTAREA
   --------------------------------------------------------- */

#gform_1 textarea {
    min-height: 120px !important;
    resize: vertical !important;
}


/* ---------------------------------------------------------
   FOOTER / SUBMIT AREA
   --------------------------------------------------------- */

#gform_wrapper_1 .gform_footer {
    margin: 0 !important;
    padding: 30px 25px !important;

    border-top: 1px solid #e0e3e9 !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   SUBMIT BUTTON
   --------------------------------------------------------- */

#gform_1 #gform_submit_button_1 {
    display: inline-block !important;

    width: auto !important;
    min-width: 226px !important;

    margin: 0 auto !important;
    padding: 14px 20px !important;

    background: #4a5361 !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 4px !important;

    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;

    letter-spacing: 0 !important;

    cursor: pointer !important;

    transition: all 0.25s ease !important;
}
/* Hide Gravity Forms honeypot but keep it active */
#gform_wrapper_1 .gform_validation_container,
#gform_wrapper_1 .gfield--type-honeypot {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ---------------------------------------------------------
   BUTTON HOVER
   --------------------------------------------------------- */

#gform_1 #gform_submit_button_1:hover {
    background: #39414d !important;
    color: #ffffff !important;

    transform: translateY(-2px) !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.12) !important;
}


/* ---------------------------------------------------------
   VALIDATION
   --------------------------------------------------------- */

/* Gravity Forms validation */
#gform_1 .validation_error {
    display: block !important;
    color: #c1272a !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 15px !important;
}

#gform_1 .gfield_error {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

#gform_1 .gfield_description.validation_message {
    display: block !important;
    color: #c1272a !important;
    font-size: 13px !important;
    padding: 5px 0 0 !important;
    margin: 0 !important;
}

#gform_1 .gfield_error input,
#gform_1 .gfield_error select,
#gform_1 .gfield_error textarea {
    border: 1px solid #c1272a !important;
}

/* ---------------------------------------------------------
   REMOVE UNNECESSARY GRAVITY FORM SPACING
   --------------------------------------------------------- */

#gform_1 .gform_wrapper,
#gform_1 ul,
#gform_1 li {
    margin-top: 0 !important;
}

#gform_1 .ginput_container {
    margin-top: 0 !important;
}

.gform_required_legend {
  display: none;
}
/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 600px) {

    #gform_wrapper_1 {
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
    }

    #gform_wrapper_1 .gform_title {
        font-size: 27px !important;
        padding: 25px 18px 5px !important;
    }

    #gform_wrapper_1 .gform_description {
        padding: 0 20px 25px !important;
        font-size: 16px !important;
    }

    #gform_wrapper_1 .gform_body {
        padding: 0 20px !important;
    }

    #gform_1 .gform_fields {
        display: block !important;
    }

    #gform_1 .gfield {
        margin-bottom: 18px !important;
    }

    #gform_wrapper_1 .gform_footer {
        padding: 25px 15px !important;
    }

    #gform_1 #gform_submit_button_1 {
        width: 100% !important;
        max-width: 260px !important;
    }
}
.quote-form-header {
    text-align: center;
    padding: 30px 25px 20px;
    border-bottom:1px solid #d7d8e1;
}

.quote-form-header h2 {
    margin: 0 0 8px;
    color: #2C3345;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.quote-form-header p {
    margin: 0;
    color: #2C3345;
    font-size: 16px;
    line-height: 1.5;
}