#hero-input {
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

#hero-input-btn {
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    color: var(--white);
    background-color: var(--red);
}

/* ============================
   Partners Section
============================ */
#our-partners {
    text-align: center;
}

.rcr-partner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem;
    flex-wrap: nowrap;
}

.rcr-partner-link {
    display: flex;
    justify-content: center;
    align-items: center;
}

.rcr-partner-img {
    height: 70px;
    width: auto;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.rcr-partner-img:hover {
    transform: scale(1.05);
}

/* Pyramid scaling — full desktop */
.rcr-partner-top .rcr-partner-link .rcr-partner-img {
    height: 130px;
    /* flanking */
}

#certainteed {
    height: 94px;
}

#jh {
    height: 133px;
}

.rcr-partner-top .rcr-partner-link-main .rcr-partner-img {
    height: 200px;
    /* center big */
}

.rcr-partner-bottom .rcr-partner-img {
    height: 110px;
    /* base row */
}

/* Stage 1: Large desktop shrink (≤1610px) */
@media (max-width: 1610px) {

    .rcr-partner-top .rcr-partner-link .rcr-partner-img{
        height: 110px;
    }

    #certainteed {
        height: 84px;
    }

    #jh {
        height: 123px;
    }

    .rcr-partner-top .rcr-partner-link-main .rcr-partner-img {
        height: 170px;
    }

    .rcr-partner-bottom .rcr-partner-img {
        height: 90px;
    }
}

/* Stage 2: Mid desktop shrink (≤1200px) */
@media (max-width: 1330px) {
    .rcr-partner {
        gap: 1.5rem;
    }

    .rcr-partner-top .rcr-partner-link .rcr-partner-img{
        height: 90px;
    }

    #certainteed {
        height: 74px;
    }

    #jh {
        height: 104px;
    }

    .rcr-partner-top .rcr-partner-link-main .rcr-partner-img {
        height: 140px;
    }

    .rcr-partner-bottom .rcr-partner-img {
        height: 70px;
    }
}

/* Stage 3: Tablet block layout (≤900px) */
@media (max-width: 1040px) {
    .rcr-partner {
        flex-wrap: wrap;
        gap: 1rem;
    }

    /* Top row stays bigger, but all on one row */
    .rcr-partner-top {
        justify-content: center;
        flex-wrap: wrap;
    }

    .rcr-partner-top .rcr-partner-link .rcr-partner-img,
    #certainteed,
    #jh {
        height: 80px;
    }

    .rcr-partner-top .rcr-partner-link-main .rcr-partner-img {
        height: 120px;
    }

    /* Bottom row flows naturally smaller */
    .rcr-partner-bottom {
        justify-content: center;
        gap: 1rem;
    }

    .rcr-partner-bottom .rcr-partner-img {
        height: 60px;
    }
}

/* Stage 4: Mobile collapse (≤600px) */
@media (max-width: 600px) {
    .rcr-partner-top {
        flex-direction: column;
        align-items: center;
    }

    .rcr-partner-top .rcr-partner-link .rcr-partner-img,
    #certainteed,
    #jh {
        height: 60px;
    }

    .rcr-partner-top .rcr-partner-link-main .rcr-partner-img {
        height: 100px;
        margin-bottom: 1rem;
    }

    #hero-input-wrapper{
        flex-direction:column;
        gap:var(--space-2);
    }
    #hero-input {
    border-radius: var(--radius-md);
    }
    #hero-input-btn {
        border-radius: var(--radius-md);
        color: var(--white);
        background-color: var(--red);
    }
}



.reviews-section {
    position: relative;
    width: 100%;
    padding: 4rem 1rem;
    overflow: hidden;
}

.reviews-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.reviews-inner {
    position: relative;
    z-index: 10;
    max-width: 72rem;
    margin: 0 auto;
    text-align: center;
    color: white;
}

.reviews-title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.reviews-carousel {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 2000px;
    height: auto;
    min-height: 22rem;
}

.review-card {
    position: absolute;
    width: 80%;
    max-width: 28rem;
    background: white;
    color: black;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: scale(0.8) rotateY(40deg) translateX(40%);
    transition: all 0.6s ease;
    text-align: left;
}

.review-card.active {
    opacity: 1;
    transform: scale(1) rotateY(0deg) translateX(0);
    z-index: 5;
}

.review-card.prev {
    opacity: 0.7;
    transform: scale(0.9) rotateY(-30deg) translateX(-60%);
    z-index: 3;
}

.review-card.next {
    opacity: 0.7;
    transform: scale(0.9) rotateY(30deg) translateX(60%);
    z-index: 3;
}

.stars {
    color: #FFD700;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.review-text {
    font-size: 1rem;
    line-height: 1.5;
    max-height: 14rem;
    overflow-y: auto;
    margin-bottom: 1rem;
}

.review-author {
    font-weight: bold;
    font-size: 1rem;
    margin-top: 0.5rem;
}

.reviews-controls {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.reviews-controls button {
    background: #910A0C;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: background 0.3s;
}

.reviews-controls button:hover {
    background: #B01215;
}

#dan {
    justify-self: center;
    grid-column: span 3;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .review-card {
        width: 90%;
        max-width: none;
    }

    #dan {
        grid-column: span 2;
    }
}