/* Fix Plumbing feedback and complaints page */
.feedback-page {
    overflow: hidden
}

.feedback-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(58px, 7.5vw, 100px) 0 54px;
    background: #101c2b;
    color: #fff
}

.feedback-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 1120px
}

.feedback-eyebrow,
.feedback-section-label {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #9eb0c2;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase
}

.feedback-eyebrow>span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #55d6bd;
    box-shadow: 0 0 0 5px #55d6bd20
}

.feedback-hero h1 {
    max-width: 880px;
    margin: 22px 0 20px;
    color: #fff;
    font-size: clamp(40px, 6.5vw, 72px);
    line-height: 1.02;
    letter-spacing: -.05em
}

.feedback-hero h1 span {
    color: #55d6bd
}

.feedback-hero__inner>p {
    max-width: 760px;
    margin: 0;
    color: #c5d0dd;
    font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.8
}

.feedback-hero__link {
    display: inline-flex;
    gap: 10px;
    margin-top: 25px;
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none
}

.feedback-hero__link span {
    color: #55d6bd
}

.feedback-hero__promise {
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: 630px;
    margin-top: 35px;
    padding: 17px 19px;
    border: 1px solid #ffffff21;
    border-radius: 12px;
    background: #ffffff0b
}

.feedback-promise-icon {
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    border-radius: 10px;
    background: #55d6bd24;
    color: #55d6bd;
    font-size: 17px;
    font-weight: 900
}

.feedback-hero__promise div {
    display: grid;
    gap: 4px
}

.feedback-hero__promise strong {
    color: #fff;
    font-size: 13px
}

.feedback-hero__promise div span {
    color: #b4c1cf;
    font-size: 12px;
    line-height: 1.6
}

.feedback-hero__decoration {
    position: absolute;
    z-index: 1;
    width: 390px;
    height: 390px;
    right: -75px;
    top: 4%;
    border: 1px solid #ffffff14;
    border-radius: 50%
}

.feedback-hero__decoration:before,
.feedback-hero__decoration:after {
    content: "";
    position: absolute;
    inset: 42px;
    border: 1px solid #ffffff14;
    border-radius: 50%
}

.feedback-hero__decoration:after {
    inset: 90px
}

.feedback-hero__decoration span {
    position: absolute;
    top: 56px;
    right: 58px;
    width: 82px;
    height: 82px;
    border-radius: 24px;
    background: linear-gradient(135deg, #55d6bd, #268e9a);
    transform: rotate(18deg)
}

.feedback-hero__decoration i {
    position: absolute;
    bottom: 65px;
    left: 46px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #55d6bd
}

.feedback-content {
    padding: clamp(50px, 7vw, 88px) 0;
    background: #f6f8fb
}

.feedback-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr);
    align-items: start;
    gap: clamp(34px, 6vw, 80px)
}

.feedback-section-label {
    color: #657487
}

.feedback-section-label>span {
    color: #159b86
}

.feedback-copy h2,
.feedback-form-panel h2,
.feedback-bottom h2 {
    margin: 15px 0 17px;
    color: #15253a;
    font-size: clamp(29px, 3.8vw, 42px);
    line-height: 1.12;
    letter-spacing: -.04em
}

.feedback-copy>p {
    margin: 0 0 17px;
    color: #617084;
    font-size: 15px;
    line-height: 1.85
}

.feedback-steps {
    display: grid;
    gap: 21px;
    margin: 32px 0
}

.feedback-steps article {
    display: grid;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 14px;
    align-items: start
}

.feedback-steps article>span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #e0f4ef;
    color: #138d7b;
    font-size: 13px;
    font-weight: 850
}

.feedback-steps h3 {
    margin: 1px 0 5px;
    color: #1b2a3e;
    font-size: 16px
}

.feedback-steps p {
    margin: 0;
    color: #697789;
    font-size: 13px;
    line-height: 1.7
}

.feedback-reassurance {
    display: flex;
    gap: 14px;
    padding: 21px;
    border: 1px solid #dce7e8;
    border-radius: 14px;
    background: #eef5f4
}

.feedback-reassurance>span {
    color: #23a48f;
    font-size: 48px;
    line-height: .8;
    font-weight: 800
}

.feedback-reassurance strong {
    display: block;
    margin: 2px 0 7px;
    color: #1b2a3e;
    font-size: 14px
}

.feedback-reassurance p {
    margin: 0;
    color: #637486;
    font-size: 13px;
    line-height: 1.75
}

.feedback-form-panel {
    overflow: hidden;
    border: 1px solid #e0e6ed;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 14px 40px #15253a12
}

.feedback-form-panel__top {
    padding: 27px 28px 22px;
    border-bottom: 1px solid #edf0f4
}

.feedback-form-panel h2 {
    margin-bottom: 8px;
    font-size: 30px
}

.feedback-form-panel__top>p {
    margin: 0;
    color: #697789;
    font-size: 13px;
    line-height: 1.7
}

.feedback-form {
    display: grid;
    gap: 17px;
    padding: 25px 28px 28px
}

.feedback-field {
    display: grid;
    gap: 7px
}

.feedback-field label {
    color: #25354a;
    font-size: 12px;
    font-weight: 800
}

.feedback-field label span {
    color: #8a96a5;
    font-weight: 500
}

.feedback-field input,
.feedback-field select,
.feedback-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    border: 1px solid #d9e1e9;
    border-radius: 9px;
    background: #fff;
    color: #1c2a3c;
    font: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .15s, box-shadow .15s
}

.feedback-field input,
.feedback-field select {
    min-height: 45px;
    padding: 0 12px
}

.feedback-field textarea {
    min-height: 94px;
    padding: 12px;
    resize: vertical;
    line-height: 1.65
}

.feedback-field input::placeholder,
.feedback-field textarea::placeholder {
    color: #9aa5b2
}

.feedback-field input:focus,
.feedback-field select:focus,
.feedback-field textarea:focus {
    border-color: #23a48f;
    box-shadow: 0 0 0 3px #23a48f1f
}

.feedback-consent {
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: #697789;
    font-size: 11px;
    line-height: 1.65
}

.feedback-consent input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: #159b86
}

.feedback-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    border: 0;
    cursor: pointer
}

.feedback-submit span {
    font-size: 18px
}

.feedback-form-note {
    margin: -4px 0 0;
    color: #8793a1;
    font-size: 10px;
    line-height: 1.6
}

.feedback-direct-contact {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 19px;
    border-top: 1px solid #edf0f4;
    background: #fafbfd
}

.feedback-direct-contact>span {
    color: #7b8796;
    font-size: 11px
}

.feedback-direct-contact a {
    color: #158f7d;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none
}

.feedback-bottom {
    padding: clamp(42px, 6vw, 68px) 0;
    background: #fff
}

.feedback-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px
}

.feedback-bottom__inner>div {
    max-width: 760px
}

.feedback-bottom h2 {
    margin-bottom: 10px
}

.feedback-bottom p {
    margin: 0;
    color: #667487;
    font-size: 14px;
    line-height: 1.8
}

.feedback-bottom .btn-primary {
    flex-shrink: 0
}

@media(max-width:900px) {
    .feedback-layout {
        grid-template-columns: minmax(0, 1fr)
    }

    .feedback-copy {
        max-width: 760px
    }

    .feedback-form-panel {
        width: 100%;
        max-width: 700px;
        box-sizing: border-box
    }

    .feedback-hero__decoration {
        right: -220px;
        opacity: .55
    }
}

@media(max-width:600px) {
    .feedback-hero {
        padding: 54px 0 43px
    }

    .feedback-hero__decoration {
        right: -290px;
        top: 15%;
        opacity: .3
    }

    .feedback-hero__promise {
        align-items: flex-start;
        padding: 14px
    }

    .feedback-form-panel__top {
        padding: 22px 20px 18px
    }

    .feedback-form {
        padding: 21px 20px 23px
    }

    .feedback-bottom__inner {
        align-items: flex-start;
        flex-direction: column
    }
}

@media(prefers-reduced-motion:reduce) {

    .feedback-field input,
    .feedback-field select,
    .feedback-field textarea {
        transition: none
    }
}