/* AAA Rain Gutters Dynamic Pages v0.4.0
 * Dynamic pages intentionally use the same section IDs/classes as the homepage.
 * Keep this file minimal so the active TRS theme controls the visual design.
 */

.trs-dynamic-page [data-trs-section] {
    scroll-margin-top: 150px;
}

.trs-dynamic-page .map-inner iframe {
    width: 100%;
    min-height: 360px;
    border: 0;
    display: block;
}

.trs-dynamic-page .trs-experience-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.trs-dynamic-page .trs-experience-card {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border: 1px solid rgba(75, 180, 181, .25);
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 16px 40px rgba(16, 30, 44, .08);
    text-align: left;
}

.trs-dynamic-page .trs-experience-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: rgba(75, 180, 181, .16);
}

.trs-dynamic-page .trs-experience-card h3 {
    margin: 0 0 .65rem;
}

.trs-dynamic-page .trs-experience-card p {
    margin: 0;
}

@media (max-width: 900px) {
    .trs-dynamic-page .trs-experience-card-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.7.7: light cleanup for dynamic card-heavy sections. No theme/header changes. */
.trs-dynamic-page #home-trust-proof,
.trs-dynamic-page #home-expectations,
.trs-dynamic-page #home-common-problems,
.trs-dynamic-page #home-icon-services {
    position: relative;
}

.trs-dynamic-page #home-trust-proof .hauling-services-container,
.trs-dynamic-page #home-expectations .reviews-container,
.trs-dynamic-page #home-common-problems .common-problems-container,
.trs-dynamic-page #home-icon-services .hauling-container {
    max-width: 1180px;
}

.trs-dynamic-page .trs-proof-grid,
.trs-dynamic-page .trs-expectation-grid,
.trs-dynamic-page .common-problems-grid,
.trs-dynamic-page #home-icon-services .hauling-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 1.8vw, 1.35rem);
    align-items: stretch;
}

.trs-dynamic-page .trs-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trs-dynamic-page .trs-proof-grid .trs-experience-card,
.trs-dynamic-page .trs-expectation-card,
.trs-dynamic-page .common-problem-card,
.trs-dynamic-page #home-icon-services .hauling-item {
    height: 100%;
    border-radius: 20px;
    border: 1px solid rgba(20, 63, 89, .12);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,253,.96));
    box-shadow: 0 14px 34px rgba(16, 30, 44, .075);
}

.trs-dynamic-page .trs-proof-grid .trs-experience-card,
.trs-dynamic-page .trs-expectation-card {
    padding: clamp(1.1rem, 2vw, 1.45rem);
}

.trs-dynamic-page .trs-proof-grid .trs-experience-card h3,
.trs-dynamic-page .trs-expectation-card h3,
.trs-dynamic-page .common-problem-card h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 {
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.25;
    margin-bottom: .55rem;
}

.trs-dynamic-page .trs-proof-grid .trs-experience-card p,
.trs-dynamic-page .trs-expectation-card p,
.trs-dynamic-page .common-problem-card p,
.trs-dynamic-page #home-icon-services .hauling-item p {
    font-size: .96rem;
    line-height: 1.62;
}

.trs-dynamic-page .trs-experience-card-icon,
.trs-dynamic-page .common-problem-icon {
    box-shadow: inset 0 0 0 1px rgba(75, 180, 181, .18);
}

.trs-dynamic-page .common-problem-link,
.trs-dynamic-page #home-icon-services .hauling-item a {
    text-underline-offset: 3px;
}

.trs-dynamic-page .trs-expectations-section .reviews-intro,
.trs-dynamic-page #home-trust-proof .hauling-services-container > p,
.trs-dynamic-page #home-common-problems .common-problems-lead,
.trs-dynamic-page #home-icon-services .hauling-container > p {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page .trs-expectation-card .review-text {
    margin-bottom: 0;
}

@media (max-width: 1100px) {
    .trs-dynamic-page .trs-proof-grid,
    .trs-dynamic-page .trs-expectation-grid,
    .trs-dynamic-page .common-problems-grid,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .trs-dynamic-page .trs-proof-grid,
    .trs-dynamic-page .trs-expectation-grid,
    .trs-dynamic-page .common-problems-grid,
    .trs-dynamic-page #home-icon-services .hauling-grid,
    .trs-dynamic-page .trs-feature-grid {
        grid-template-columns: 1fr;
    }

    .trs-dynamic-page .trs-proof-grid .trs-experience-card,
    .trs-dynamic-page .trs-expectation-card,
    .trs-dynamic-page .common-problem-card,
    .trs-dynamic-page #home-icon-services .hauling-item {
        border-radius: 18px;
    }
}


/* v0.7.8: card readability + service-section design cleanup for dynamic city/state service pages. */
.trs-dynamic-page .trs-proof-grid .trs-experience-card,
.trs-dynamic-page .trs-expectation-card,
.trs-dynamic-page .common-problem-card,
.trs-dynamic-page #home-icon-services .hauling-item,
.trs-dynamic-page #home-service-cards .service-box {
    display: flex;
    flex-direction: column;
}

.trs-dynamic-page #home-icon-services .hauling-container,
.trs-dynamic-page #home-service-cards .services-header,
.trs-dynamic-page #home-service-cards .services-blocks {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page #home-icon-services .hauling-container > p,
.trs-dynamic-page #home-service-cards .services-header p {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page #home-icon-services .hauling-grid {
    margin-top: clamp(1.5rem, 3vw, 2.35rem);
}

.trs-dynamic-page #home-icon-services .hauling-item {
    position: relative;
    padding: clamp(1.2rem, 2vw, 1.45rem) !important;
    border: 1px solid rgba(20, 63, 89, .14) !important;
    border-top: 4px solid #48b4b5 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(247,251,252,0.98) 100%) !important;
    box-shadow: 0 16px 36px rgba(16, 30, 44, .09) !important;
    text-align: left !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 a {
    color: #0f2435 !important;
    text-decoration: none !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    color: #385062 !important;
    margin-bottom: 1rem !important;
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: fit-content;
    padding: .72rem 1rem;
    border-radius: 999px;
    background: rgba(72, 180, 181, .12);
    color: #116c73 !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: inset 0 0 0 1px rgba(72, 180, 181, .18);
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta:hover,
.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta:focus-visible {
    background: rgba(72, 180, 181, .18);
    color: #0f2435 !important;
}

.trs-dynamic-page #home-service-cards {
    background: linear-gradient(180deg, #f4fafb 0%, #ffffff 100%);
}

.trs-dynamic-page #home-service-cards .services-header {
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.trs-dynamic-page #home-service-cards .services-blocks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 1.9vw, 1.35rem);
}

.trs-dynamic-page #home-service-cards .service-box {
    position: relative;
    padding: clamp(1.25rem, 2vw, 1.5rem) !important;
    border: 1px solid rgba(20, 63, 89, .14) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(248,252,253,0.98) 100%) !important;
    box-shadow: 0 16px 36px rgba(16, 30, 44, .085) !important;
    overflow: hidden;
}

.trs-dynamic-page #home-service-cards .service-box::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #48b4b5 0%, #8fd7d7 100%);
}

.trs-dynamic-page #home-service-cards .service-box h3 {
    margin: 0 0 .7rem;
    color: #0f2435 !important;
    font-size: clamp(1.05rem, 1.35vw, 1.18rem);
    line-height: 1.25;
}

.trs-dynamic-page #home-service-cards .service-box p {
    margin: 0 0 1rem;
    color: #385062 !important;
    line-height: 1.62;
}

.trs-dynamic-page #home-service-cards .service-box a {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    padding: .8rem 1rem;
    border-radius: 999px;
    background: #1fb06a !important;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 12px 26px rgba(31, 176, 106, .18);
}

.trs-dynamic-page #home-service-cards .service-box a:hover,
.trs-dynamic-page #home-service-cards .service-box a:focus-visible {
    background: #16945a !important;
}

.trs-dynamic-page #home-service-cards .services-header h2,
.trs-dynamic-page #home-icon-services .hauling-container h2 {
    text-wrap: balance;
}

@media (max-width: 1100px) {
    .trs-dynamic-page #home-service-cards .services-blocks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .trs-dynamic-page #home-service-cards .services-blocks {
        grid-template-columns: 1fr;
    }

    .trs-dynamic-page #home-icon-services .hauling-item,
    .trs-dynamic-page #home-service-cards .service-box {
        border-radius: 18px !important;
    }
}


/* v0.7.9: smarter card-count layout and stronger service-card overrides. */
.trs-dynamic-page .trs-card-count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page .trs-card-count-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page .trs-card-count-4 {
    grid-template-columns: repeat(4, minmax(230px, 1fr)) !important;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page .trs-card-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4 {
    width: 100%;
    max-width: 1100px !important;
    grid-template-columns: repeat(4, minmax(235px, 1fr)) !important;
    justify-content: center;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(1.25rem, 2vw, 1.65rem) !important;
}

/* Remove theme placeholder/boxed-title styling inside the dark related-service cards. */
.trs-dynamic-page #home-icon-services .hauling-item::before,
.trs-dynamic-page #home-icon-services .hauling-item::after {
    content: none !important;
    display: none !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 a {
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 .75rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0f2435 !important;
    text-align: left !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3 {
    font-size: clamp(1.08rem, 1.45vw, 1.22rem) !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    min-height: 0 !important;
    color: #385062 !important;
    text-align: left !important;
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta {
    margin-top: auto !important;
}

/* Make 6-card expectation/trust layouts intentionally 3 + 3 instead of 4 + 2. */
.trs-dynamic-page .trs-expectation-grid.trs-card-count-6,
.trs-dynamic-page .trs-proof-grid.trs-card-count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.trs-dynamic-page .trs-expectation-grid.trs-card-count-6 .trs-expectation-card,
.trs-dynamic-page .trs-proof-grid.trs-card-count-6 .trs-experience-card {
    min-height: 245px;
}

/* Keep cards balanced without creating huge uneven blanks. */
.trs-dynamic-page .trs-proof-grid .trs-experience-card,
.trs-dynamic-page .trs-expectation-card,
.trs-dynamic-page .common-problem-card {
    justify-content: flex-start;
}

@media (max-width: 1100px) {
    .trs-dynamic-page .trs-card-count-6,
    .trs-dynamic-page .trs-card-count-5,
    .trs-dynamic-page .trs-card-count-4,
    .trs-dynamic-page .trs-card-count-3,
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page .trs-expectation-grid.trs-card-count-6,
    .trs-dynamic-page .trs-proof-grid.trs-card-count-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 760px;
    }
}

@media (max-width: 680px) {
    .trs-dynamic-page .trs-card-count-6,
    .trs-dynamic-page .trs-card-count-5,
    .trs-dynamic-page .trs-card-count-4,
    .trs-dynamic-page .trs-card-count-3,
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page .trs-expectation-grid.trs-card-count-6,
    .trs-dynamic-page .trs-proof-grid.trs-card-count-6 {
        grid-template-columns: 1fr !important;
        max-width: 100%;
    }

    .trs-dynamic-page .trs-expectation-grid.trs-card-count-6 .trs-expectation-card,
    .trs-dynamic-page .trs-proof-grid.trs-card-count-6 .trs-experience-card {
        min-height: 0;
    }
}


/* v0.8.0: final related-service card fix: wider cards, shorter CTAs, no oversized button boxes. */
.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
.trs-dynamic-page #home-icon-services .hauling-grid {
    grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
    max-width: 860px !important;
    gap: clamp(1.15rem, 2vw, 1.6rem) !important;
    justify-content: center !important;
    align-items: stretch !important;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: clamp(1.25rem, 2vw, 1.6rem) !important;
    border-radius: 20px !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 a {
    font-size: clamp(1.12rem, 1.45vw, 1.25rem) !important;
    line-height: 1.18 !important;
    margin-bottom: .75rem !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    font-size: .95rem !important;
    line-height: 1.55 !important;
    margin: 0 0 1rem !important;
}

/* Force the related-service CTA to be a normal pill/button, not a tall inner card. */
.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta,
.trs-dynamic-page #home-icon-services .hauling-item a.trs-card-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    height: auto !important;
    min-height: 0 !important;
    padding: .62rem .92rem !important;
    margin-top: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e8fbf7 !important;
    box-shadow: inset 0 0 0 1px rgba(72, 180, 181, .35) !important;
    color: #08696d !important;
    font-size: .9rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta:hover,
.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta:focus-visible {
    background: #d8f7f1 !important;
    color: #0f2435 !important;
}

/* Keep the core services section from repeating the skinny-card look. */
.trs-dynamic-page #home-service-cards .services-blocks.trs-card-count-4 {
    grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
    max-width: 860px !important;
    gap: clamp(1.15rem, 2vw, 1.6rem) !important;
}

.trs-dynamic-page #home-service-cards .service-box {
    min-height: 0 !important;
}

.trs-dynamic-page #home-service-cards .service-box a {
    padding: .65rem .95rem !important;
    min-height: 0 !important;
    font-size: .92rem !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid,
    .trs-dynamic-page #home-service-cards .services-blocks.trs-card-count-4 {
        grid-template-columns: 1fr !important;
        max-width: 540px !important;
    }
}


/* v0.8.1: related-service wording support + visible 2-by-2 card layout. */
.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
.trs-dynamic-page #home-icon-services .hauling-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(340px, 1fr)) !important;
    max-width: 920px !important;
    width: min(920px, calc(100% - 2rem)) !important;
    gap: clamp(1.25rem, 2vw, 1.75rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    min-height: 280px !important;
    padding: clamp(1.35rem, 2vw, 1.7rem) !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    font-size: .97rem !important;
    line-height: 1.58 !important;
}

@media (max-width: 900px) {
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: 1fr !important;
        width: min(540px, calc(100% - 2rem)) !important;
        max-width: 540px !important;
    }
}


/* v0.8.2: stretch related-service support cards wider on desktop. */
.trs-dynamic-page #home-icon-services .hauling-container {
    max-width: 1500px !important;
    width: min(1500px, calc(100% - 2rem)) !important;
}

.trs-dynamic-page #home-icon-services .hauling-container > p {
    max-width: 1100px !important;
}

.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
.trs-dynamic-page #home-icon-services .hauling-grid {
    grid-template-columns: repeat(2, minmax(460px, 1fr)) !important;
    max-width: 1380px !important;
    width: 100% !important;
    gap: clamp(1.5rem, 2.2vw, 2rem) !important;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    min-height: 320px !important;
    padding: clamp(1.45rem, 2.1vw, 1.9rem) !important;
}

@media (max-width: 1100px) {
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
        max-width: 100% !important;
    }
}

@media (max-width: 760px) {
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }
}


/* v0.8.3: refine related-service support cards so they are wide, but not oversized. */
.trs-dynamic-page #home-icon-services .hauling-container {
    max-width: 1320px !important;
    width: min(1320px, calc(100% - 3rem)) !important;
}

.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
.trs-dynamic-page #home-icon-services .hauling-grid {
    grid-template-columns: repeat(2, minmax(420px, 1fr)) !important;
    max-width: 1240px !important;
    width: 100% !important;
    gap: clamp(1.15rem, 1.9vw, 1.55rem) !important;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    min-height: 235px !important;
    padding: clamp(1.25rem, 1.85vw, 1.55rem) !important;
    border-radius: 18px !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 a {
    font-size: clamp(1.08rem, 1.3vw, 1.2rem) !important;
    margin-bottom: .65rem !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    font-size: .94rem !important;
    line-height: 1.52 !important;
    max-width: 96%;
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta {
    padding: .58rem .9rem !important;
    font-size: .88rem !important;
}

@media (max-width: 1100px) {
    .trs-dynamic-page #home-icon-services .hauling-container {
        width: min(100%, calc(100% - 2rem)) !important;
    }

    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
        max-width: 100% !important;
    }
}

@media (max-width: 760px) {
    .trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
    .trs-dynamic-page #home-icon-services .hauling-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v0.8.4: tighten related-service cards after copy polish. */
.trs-dynamic-page #home-icon-services .hauling-grid.trs-card-count-4,
.trs-dynamic-page #home-icon-services .hauling-grid {
    gap: clamp(1rem, 1.6vw, 1.35rem) !important;
    max-width: 1180px !important;
}

.trs-dynamic-page #home-icon-services .hauling-item {
    min-height: 190px !important;
    padding: clamp(1.05rem, 1.55vw, 1.35rem) !important;
    justify-content: flex-start !important;
}

.trs-dynamic-page #home-icon-services .hauling-item h3,
.trs-dynamic-page #home-icon-services .hauling-item h3 a {
    margin-bottom: .5rem !important;
    font-size: clamp(1.05rem, 1.22vw, 1.14rem) !important;
}

.trs-dynamic-page #home-icon-services .hauling-item p {
    margin-bottom: .85rem !important;
    line-height: 1.48 !important;
    font-size: .93rem !important;
    max-width: 98% !important;
}

.trs-dynamic-page #home-icon-services .hauling-item .trs-card-cta,
.trs-dynamic-page #home-icon-services .hauling-item a.trs-card-cta {
    margin-top: .35rem !important;
    padding: .52rem .85rem !important;
    font-size: .86rem !important;
    align-self: flex-start !important;
}

@media (max-width: 760px) {
    .trs-dynamic-page #home-icon-services .hauling-item {
        min-height: 0 !important;
    }
}

/* v0.8.22 Gutter Estimates landing page */
.trs-estimates-page{--trs-est-green:#00a86b;--trs-est-green-dark:#058457;--trs-est-navy:#101e2c;--trs-est-ink:#152232;--trs-est-muted:#526071;--trs-est-soft:#f6f8fb;--trs-est-border:rgba(16,30,44,.12);background:#fff;color:var(--trs-est-ink);font-family:inherit;overflow:hidden}.trs-est-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.trs-est-hero{position:relative;min-height:620px;padding:92px 0 116px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,20,31,.96) 0%,rgba(10,26,39,.86) 48%,rgba(10,26,39,.35) 100%),var(--trs-est-hero);background-size:cover;background-position:center right;color:#fff}.trs-est-hero:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,var(--trs-est-green),rgba(255,255,255,0))}.trs-est-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,760px);gap:40px;align-items:center}.trs-est-hero-copy{max-width:760px}.trs-est-kicker{margin:0 0 12px;color:var(--trs-est-green);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem}.trs-est-hero h1{margin:0 0 18px;max-width:720px;font-size:clamp(2.7rem,5.3vw,4.7rem);line-height:.98;letter-spacing:-.05em;color:#fff;text-wrap:balance}.trs-est-lead{max-width:740px;margin:0 0 28px;color:rgba(255,255,255,.92);font-size:1.16rem;line-height:1.55}.trs-est-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.trs-est-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 22px;border-radius:14px;font-weight:900;text-decoration:none!important;box-shadow:0 16px 34px rgba(0,0,0,.18);transition:transform .18s ease,box-shadow .18s ease}.trs-est-btn:hover{transform:translateY(-1px);box-shadow:0 20px 42px rgba(0,0,0,.22)}.trs-est-btn-primary{background:linear-gradient(135deg,var(--trs-est-green),#22c878);color:#fff!important}.trs-est-btn-outline{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.55);color:#fff!important}.trs-est-proof-wrap{position:relative;z-index:2;margin-top:-54px}.trs-est-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--trs-est-border);border-radius:18px;box-shadow:0 22px 55px rgba(16,30,44,.14);overflow:hidden}.trs-est-proof div{display:flex;align-items:center;gap:12px;min-height:86px;padding:18px 22px;font-weight:900;color:var(--trs-est-ink);border-right:1px solid var(--trs-est-border)}.trs-est-proof div:last-child{border-right:0}.trs-est-proof span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid rgba(0,168,107,.2);border-radius:999px;color:var(--trs-est-green);background:rgba(0,168,107,.08);font-weight:900}.trs-est-section{padding:72px 0}.trs-est-section-head{text-align:center;max-width:780px;margin:0 auto 34px}.trs-est-section-head h2{margin:0 0 12px;color:var(--trs-est-navy);font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.04;letter-spacing:-.035em}.trs-est-section-head p{margin:0 auto;color:var(--trs-est-muted);font-size:1.08rem;line-height:1.6}.trs-est-icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.trs-est-icon-grid article,.trs-est-card,.trs-est-steps article,.trs-est-trust-grid article, .trs-est-faq details{background:#fff;border:1px solid var(--trs-est-border);border-radius:18px;box-shadow:0 14px 38px rgba(16,30,44,.08)}.trs-est-icon-grid article{padding:26px 18px;text-align:center}.trs-est-icon-grid span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:18px;color:var(--trs-est-green);background:rgba(0,168,107,.08);font-size:2rem;font-weight:900}.trs-est-icon-grid h3{margin:0 0 10px;color:var(--trs-est-navy);font-size:1rem;line-height:1.15}.trs-est-icon-grid p{margin:0;color:var(--trs-est-muted);font-size:.94rem;line-height:1.45}.trs-est-options,.trs-est-process,.trs-est-faq{background:linear-gradient(180deg,#fff 0%,var(--trs-est-soft) 100%)}.trs-est-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.trs-est-card{overflow:hidden}.trs-est-card-img{height:172px;background:linear-gradient(180deg,rgba(16,30,44,.08),rgba(16,30,44,.25)),var(--trs-est-card-img);background-size:cover;background-position:center}.trs-est-card-repair .trs-est-card-img{background-position:center top}.trs-est-card-storm .trs-est-card-img{filter:saturate(.85);background-image:linear-gradient(180deg,rgba(16,30,44,.2),rgba(16,30,44,.58)),var(--trs-est-card-img)}.trs-est-card-body{padding:24px}.trs-est-card h3{margin:0 0 10px;color:var(--trs-est-navy);font-size:1.35rem}.trs-est-card p{margin:0 0 16px;color:var(--trs-est-muted);line-height:1.55}.trs-est-card a{color:var(--trs-est-green-dark);font-weight:900;text-decoration:none}.trs-est-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}.trs-est-steps article{position:relative;text-align:center;padding:30px 22px}.trs-est-steps span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 14px;border-radius:999px;background:var(--trs-est-green);color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(0,168,107,.28)}.trs-est-steps h3{margin:0 0 9px;color:var(--trs-est-navy)}.trs-est-steps p{margin:0;color:var(--trs-est-muted);line-height:1.5}.trs-est-sample{background:#fff}.trs-est-sample-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:34px;align-items:center;background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid var(--trs-est-border);border-radius:26px;padding:42px;box-shadow:0 22px 55px rgba(16,30,44,.1)}.trs-est-sample h2{margin:0 0 14px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.05;color:var(--trs-est-navy);letter-spacing:-.035em}.trs-est-sample p{color:var(--trs-est-muted);line-height:1.65}.trs-est-checklist{display:grid;gap:9px;margin:22px 0 28px;padding:0;list-style:none}.trs-est-checklist li{position:relative;padding-left:30px;font-weight:800;color:var(--trs-est-ink)}.trs-est-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--trs-est-green);font-weight:900}.trs-est-summary{background:linear-gradient(180deg,#101e2c,#07131d);color:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 50px rgba(16,30,44,.26)}.trs-est-summary h3{margin:0 0 18px;color:#fff}.trs-est-summary dl{margin:0;display:grid;gap:0}.trs-est-summary div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13)}.trs-est-summary dt{color:rgba(255,255,255,.72);font-weight:800}.trs-est-summary dd{margin:0;text-align:right;font-weight:900;color:#fff}.trs-est-summary .trs-est-summary-total{margin-top:20px;padding:18px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--trs-est-green),#22c878)}.trs-est-summary-total span{color:rgba(255,255,255,.86);font-weight:800}.trs-est-summary-total strong{font-size:1.1rem}.trs-est-trust{background:#fff;padding-top:20px}.trs-est-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trs-est-trust-grid article{padding:26px;text-align:center}.trs-est-trust-grid strong{display:block;color:var(--trs-est-navy);font-size:1.15rem;margin-bottom:10px}.trs-est-trust-grid p{margin:0;color:var(--trs-est-muted);line-height:1.55}.trs-est-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.trs-est-faq details{padding:0;overflow:hidden}.trs-est-faq summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:900;color:var(--trs-est-navy);display:flex;justify-content:space-between;gap:16px}.trs-est-faq summary::-webkit-details-marker{display:none}.trs-est-faq summary:after{content:"⌄";font-weight:900;color:var(--trs-est-green)}.trs-est-faq details[open] summary:after{content:"⌃"}.trs-est-faq details p{margin:0;padding:0 22px 22px;color:var(--trs-est-muted);line-height:1.55}.trs-est-bottom-cta{margin:0 0 0;padding:54px 0;background:linear-gradient(90deg,rgba(8,20,31,.96),rgba(8,20,31,.82)),var(--trs-est-hero);background-size:cover;background-position:center;color:#fff}.trs-est-bottom-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.trs-est-bottom-inner h2{margin:0 0 8px;color:#fff;font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.04em}.trs-est-bottom-inner p{margin:0;color:rgba(255,255,255,.86)}@media (max-width:1100px){.trs-est-icon-grid{grid-template-columns:repeat(3,1fr)}.trs-est-proof{grid-template-columns:repeat(2,1fr)}.trs-est-proof div:nth-child(2){border-right:0}.trs-est-proof div:nth-child(-n+2){border-bottom:1px solid var(--trs-est-border)}}@media (max-width:820px){.trs-est-container{width:min(100% - 28px,1180px)}.trs-est-hero{min-height:auto;padding:80px 0 100px}.trs-est-hero-grid{grid-template-columns:1fr}.trs-est-hero-copy{max-width:none}.trs-est-proof-wrap{margin-top:-28px}.trs-est-proof,.trs-est-card-grid,.trs-est-steps,.trs-est-sample-grid,.trs-est-trust-grid,.trs-est-faq-grid{grid-template-columns:1fr}.trs-est-proof div{border-right:0;border-bottom:1px solid var(--trs-est-border)}.trs-est-proof div:last-child{border-bottom:0}.trs-est-icon-grid{grid-template-columns:1fr 1fr}.trs-est-sample-grid{padding:26px}.trs-est-bottom-inner{display:block}.trs-est-bottom-inner .trs-est-actions{margin-top:22px}}@media (max-width:560px){.trs-est-icon-grid{grid-template-columns:1fr}.trs-est-actions{align-items:stretch}.trs-est-btn{width:100%}.trs-est-hero h1{font-size:3rem}.trs-est-section{padding:52px 0}.trs-est-card-img{height:150px}}

/* Gutter Estimates v0.8.25 rebuild */
.trs-estimates-page-v2{background:#fff}.trs-est-v2-hero{position:relative;isolation:isolate;min-height:720px;padding:170px 0 96px;display:flex;align-items:center;background:linear-gradient(135deg,#08141f 0%,#0d1b27 55%,#123c3f 100%);overflow:hidden;color:#fff}.trs-est-v2-bg{position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(0,168,107,.22),transparent 34%),linear-gradient(90deg,rgba(8,20,31,.98),rgba(8,20,31,.74));z-index:-2}.trs-est-v2-hero:before{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#00a86b,#31d989,rgba(49,217,137,0));z-index:2}.trs-est-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.82fr);gap:54px;align-items:center}.trs-est-v2-copy{max-width:720px}.trs-est-v2-copy h1{margin:0 0 20px;color:#fff;font-size:clamp(3.35rem,5.8vw,5.75rem);line-height:.94;letter-spacing:-.06em;text-wrap:balance}.trs-est-v2-copy .trs-est-lead{max-width:680px;color:rgba(255,255,255,.9);font-size:1.22rem;line-height:1.58}.trs-est-v2-mini-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trs-est-v2-mini-proof span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:9px 12px;font-weight:800;font-size:.92rem}.trs-est-v2-photo-card{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 90px rgba(0,0,0,.42);transform:translateY(10px)}.trs-est-v2-photo-card:before{content:"";position:absolute;inset:0;border-radius:28px;box-shadow:inset 0 0 0 6px rgba(255,255,255,.08);pointer-events:none;z-index:2}.trs-est-v2-photo-card img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}.trs-est-v2-card-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:#fff;color:#101e2c}.trs-est-v2-card-footer strong{font-size:1.05rem}.trs-est-v2-card-footer span{color:#526071;font-weight:800}.trs-est-v2-proof{position:relative;z-index:3;margin-top:-42px}.trs-est-v2-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(16,30,44,.12);border-radius:20px;box-shadow:0 22px 60px rgba(16,30,44,.14);overflow:hidden}.trs-est-v2-proof-grid div{display:flex;align-items:center;gap:12px;min-height:84px;padding:18px 22px;border-right:1px solid rgba(16,30,44,.1)}.trs-est-v2-proof-grid div:last-child{border-right:0}.trs-est-v2-proof-grid span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:999px;background:rgba(0,168,107,.1);color:#00a86b;font-weight:900}.trs-est-v2-proof-grid strong{color:#101e2c;line-height:1.25}.trs-est-v2-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trs-est-v2-icon-grid article{background:#fff;border:1px solid rgba(16,30,44,.12);border-radius:20px;padding:26px;box-shadow:0 16px 42px rgba(16,30,44,.08)}.trs-est-v2-icon-grid span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:rgba(0,168,107,.1);color:#00a86b;font-size:1.75rem;font-weight:900;margin-bottom:16px}.trs-est-v2-icon-grid h3{margin:0 0 10px;color:#101e2c;font-size:1.18rem}.trs-est-v2-icon-grid p{margin:0;color:#526071;line-height:1.55}.trs-est-card-img-link{display:block;overflow:hidden}.trs-est-card-img-real{display:block;width:100%;height:218px;object-fit:cover;object-position:center;transition:transform .35s ease}.trs-est-card:hover .trs-est-card-img-real{transform:scale(1.04)}.trs-est-card-storm .trs-est-card-img-real{filter:saturate(.92) contrast(1.05)}.trs-est-v2-options{background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%)}.trs-est-v2-process{background:#fff}.trs-est-v2-sample{background:linear-gradient(180deg,#f6f8fb,#fff)}.trs-est-v2-faq{background:#fff}.trs-est-v2-bottom-cta{padding:58px 0;background:linear-gradient(135deg,#08141f,#10343a);color:#fff}.trs-est-v2-bottom-cta .trs-est-btn-outline{border-color:rgba(255,255,255,.5)}.trs-est-v2-bottom-cta h2{color:#fff}@media(max-width:1100px){.trs-est-v2-hero{padding-top:150px}.trs-est-v2-hero-grid{grid-template-columns:1fr}.trs-est-v2-photo-card{max-width:720px}.trs-est-v2-proof-grid{grid-template-columns:repeat(2,1fr)}.trs-est-v2-proof-grid div:nth-child(2){border-right:0}.trs-est-v2-proof-grid div:nth-child(-n+2){border-bottom:1px solid rgba(16,30,44,.1)}}@media(max-width:820px){.trs-est-v2-hero{min-height:auto;padding:132px 0 76px}.trs-est-v2-copy h1{font-size:clamp(2.65rem,11vw,4.2rem)}.trs-est-v2-photo-card img{height:300px}.trs-est-v2-proof{margin-top:-28px}.trs-est-v2-proof-grid,.trs-est-v2-icon-grid{grid-template-columns:1fr}.trs-est-v2-proof-grid div{border-right:0!important;border-bottom:1px solid rgba(16,30,44,.1)}.trs-est-v2-proof-grid div:last-child{border-bottom:0}}@media(max-width:560px){.trs-est-v2-hero{padding-top:118px}.trs-est-v2-photo-card{border-radius:20px}.trs-est-v2-photo-card img{height:230px}.trs-est-v2-card-footer{display:block}.trs-est-card-img-real{height:185px}}


/* Gutter Estimates v0.8.27 classic dynamic-page hero alignment */
.trs-estimates-page-classic-hero .trs-est-classic-hero{
    min-height:620px;
}
.trs-estimates-page-classic-hero .trs-est-classic-hero .hero-content{
    max-width:780px;
}
.trs-estimates-page-classic-hero .trs-est-classic-hero .hero-eyebrow{
    color:#31d989;
}
.trs-estimates-page-classic-hero .trs-est-classic-hero h1{
    max-width:780px;
    text-wrap:balance;
}
.trs-estimates-page-classic-hero .trs-est-included{
    padding-top:88px;
}
@media (max-width:820px){
    .trs-estimates-page-classic-hero .trs-est-classic-hero{
        min-height:auto;
    }
    .trs-estimates-page-classic-hero .trs-est-included{
        padding-top:58px;
    }
}


/* Gutter Estimates v0.8.28 classic hero safety */
.trs-estimates-page-classic-hero .trs-est-classic-hero{
    min-height:620px;
}
.trs-estimates-page-classic-hero .trs-est-classic-hero .hero-content{
    max-width:780px;
}
.trs-estimates-page-classic-hero .trs-est-classic-hero h1{
    max-width:780px;
    text-wrap:balance;
}
.trs-estimates-page-classic-hero .trs-est-included{
    padding-top:88px;
}
@media (max-width:820px){
    .trs-estimates-page-classic-hero .trs-est-classic-hero{
        min-height:auto;
    }
    .trs-estimates-page-classic-hero .trs-est-included{
        padding-top:58px;
    }
}


/* AAA Rain Gutters v0.8.35 hero/quick-answer sanity pass */
.trs-homepage-clone .hero-section{
  min-height:520px!important;
  padding:72px 18px 78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.trs-homepage-clone .hero-section .hero-overlay{
  width:100%!important;
}
.trs-homepage-clone .hero-section .hero-content{
  max-width:1120px!important;
  margin:0 auto!important;
  text-align:center!important;
  padding:0 18px!important;
}
.trs-homepage-clone .hero-section .hero-content h1{
  max-width:1040px!important;
  margin:0 auto 22px!important;
  font-size:clamp(3.05rem,5.15vw,5.1rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}
.trs-homepage-clone .hero-section .hero-content p:not(.hero-eyebrow){
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(1.06rem,1.4vw,1.32rem)!important;
  line-height:1.55!important;
}
.trs-homepage-clone .voice-answer-block{
  padding:56px 16px!important;
}
.trs-homepage-clone .voice-answer-container{
  max-width:960px!important;
  padding:44px 34px!important;
}
.trs-homepage-clone .voice-answer-container h2{
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(2rem,3.5vw,3.45rem)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
.trs-homepage-clone .voice-answer-container p:not(.section-kicker){
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:1.08rem!important;
  line-height:1.65!important;
}
@media (max-width:782px){
  .trs-homepage-clone .hero-section{min-height:auto!important;padding:58px 14px 62px!important;}
  .trs-homepage-clone .hero-section .hero-content h1{font-size:clamp(2.35rem,11vw,3.8rem)!important;}
  .trs-homepage-clone .hero-actions{align-items:stretch!important;}
  .trs-homepage-clone .hero-button{width:100%;}
  .trs-homepage-clone .voice-answer-container{padding:34px 20px!important;}
}
