/**
 * Remodel North Texas responsive rules.
 * Tablet, desktop, large desktop, touch states, reduced motion.
 */

@media (min-width: 760px) {
    .rntx-home {
        padding-bottom: 0;
        background: #ffffff;
    }

    .rntx-shell {
        width: min(100% - 48px, var(--rntx-shell));
    }

    .rntx-hero {
        padding: 0;
        background: #ffffff;
    }

    .rntx-hero--magazine {
        min-height: 610px;
        padding: 0;
        overflow: visible;
    }

    .rntx-hero--magazine .rntx-hero__photo,
    .rntx-hero--magazine .rntx-hero__wash {
        height: 490px;
    }

    .rntx-hero--magazine .rntx-hero__slide {
        background-size: cover;
        background-position: center right;
    }

    .rntx-hero--magazine .rntx-hero__wash {
        background:
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.99) 0%,
                rgba(255, 255, 255, 0.965) 29%,
                rgba(255, 255, 255, 0.7) 50%,
                rgba(255, 255, 255, 0.26) 74%,
                rgba(255, 255, 255, 0.04) 100%
            ),
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.04) 0%,
                rgba(255, 255, 255, 0.1) 58%,
                rgba(255, 255, 255, 1) 100%
            );
    }

    .rntx-hero--magazine .rntx-hero__shell {
        min-height: 610px;
        display: grid;
        align-items: start;
        padding-top: 52px;
    }

    .rntx-hero--magazine .rntx-hero__content {
        display: grid;
        grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
        align-content: start;
        column-gap: 48px;
        width: 100%;
        min-width: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    .rntx-hero--magazine .rntx-hero__content::before {
        grid-column: 1;
        margin-bottom: 18px;
        min-height: 30px;
        padding: 0 14px;
        font-size: 0.72rem;
    }

    .rntx-hero--magazine .rntx-hero__title {
        grid-column: 1;
        max-width: 560px;
        font-size: clamp(3.25rem, 4.15vw, 4.65rem);
        line-height: 1.035;
        letter-spacing: -0.036em;
    }

    .rntx-hero--magazine .rntx-hero__copy {
        grid-column: 1;
        max-width: 470px;
        margin-top: 20px;
        font-size: 1.08rem;
        line-height: 1.5;
        color: rgba(17, 35, 66, 0.76);
    }

    .rntx-hero--magazine .rntx-hero__actions {
        grid-column: 1;
        display: grid;
        grid-template-columns: minmax(0, 270px) minmax(0, 220px);
        gap: 16px;
        max-width: 510px;
        margin-top: 30px;
    }

    .rntx-hero--magazine .rntx-hero__primary,
    .rntx-hero--magazine .rntx-hero__secondary {
        min-height: 56px;
        border-radius: 10px;
        font-size: 0.98rem;
    }

    .rntx-hero--magazine .rntx-project-card {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-top: 34px;
        padding: 26px 34px 22px;
        border-radius: 24px;
        border-color: rgba(7, 27, 70, 0.08);
        background: rgba(255, 255, 255, 0.96);
        box-shadow:
            0 24px 70px rgba(7, 27, 70, 0.13),
            inset 0 1px 0 rgba(255, 255, 255, 0.94);
        box-sizing: border-box;
    }

    .rntx-hero--magazine .rntx-project-card__head {
        margin-bottom: 18px;
    }

    .rntx-hero--magazine .rntx-project-card__head h2 {
        font-size: 1.28rem;
        letter-spacing: -0.035em;
    }

    .rntx-hero--magazine .rntx-project-card__head p {
        max-width: 620px;
        font-size: 0.9rem;
        line-height: 1.42;
    }

    .rntx-hero--magazine .rntx-project-card__head span {
        display: none;
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.34fr) minmax(168px, 0.28fr);
        gap: 14px;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .rntx-hero--magazine .rntx-project-field--search,
    .rntx-hero--magazine .rntx-project-field--type {
        min-width: 0;
    }

    .rntx-hero--magazine .rntx-project-search__input,
    .rntx-hero--magazine .rntx-project-search__select,
    .rntx-hero--magazine .rntx-project-search__button {
        min-height: 56px;
        border-radius: 12px;
        font-size: 0.96rem;
    }

    .rntx-hero--magazine .rntx-project-search__button {
        padding: 0 16px;
        white-space: nowrap;
    }

    .rntx-hero--magazine .rntx-project-trust-row {
        justify-content: center;
        gap: clamp(28px, 6vw, 82px);
        margin-top: 20px;
        font-size: 0.9rem;
    }

    .rntx-section {
        padding: 42px 0;
    }

    .rntx-section--services {
        padding-top: 0;
        margin-top: -10px;
    }

    .rntx-section-head h2 {
        font-size: 1.55rem;
    }

    .rntx-service-row {
        grid-auto-flow: initial;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 14px;
        overflow: visible;
    }

    .rntx-service-card__media {
        height: 106px;
    }

    .rntx-service-card h3 {
        font-size: 0.92rem;
    }

    .rntx-service-card p {
        min-height: 55px;
    }

    .rntx-contractor-row {
        grid-auto-columns: 320px;
        gap: 14px;
    }

    .rntx-material-row {
        grid-auto-columns: 150px;
        gap: 12px;
    }

    .rntx-estimate-panel {
        grid-template-columns: 1fr auto;
        align-items: center;
        padding: 26px;
    }

    .rntx-local-panel {
        padding: 26px;
    }

    .rntx-sticky-guest-cta {
        display: none;
    }

    .rntx-dashboard-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .rntx-modal {
        align-items: center;
        justify-items: center;
    }

    .rntx-modal__dialog {
        max-width: 460px;
    }
}

/**
 * Medium desktop and older laptop screens.
 * Prevents the inspiration fields from overflowing and keeps the title balanced.
 */
@media (min-width: 760px) and (max-width: 1080px) {
    .rntx-hero--magazine {
        min-height: 600px;
    }

    .rntx-hero--magazine .rntx-hero__photo,
    .rntx-hero--magazine .rntx-hero__wash {
        height: 485px;
    }

    .rntx-hero--magazine .rntx-hero__shell {
        min-height: 600px;
        padding-top: 46px;
    }

    .rntx-hero--magazine .rntx-hero__content {
        grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
        column-gap: 34px;
    }

    .rntx-hero--magazine .rntx-hero__title {
        max-width: 520px;
        font-size: clamp(3.05rem, 4.6vw, 4.15rem);
    }

    .rntx-hero--magazine .rntx-hero__copy {
        max-width: 430px;
        font-size: 1.02rem;
    }

    .rntx-hero--magazine .rntx-hero__actions {
        grid-template-columns: minmax(0, 250px) minmax(0, 205px);
        max-width: 475px;
    }

    .rntx-hero--magazine .rntx-project-card {
        padding: 24px 28px 22px;
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.44fr);
    }

    .rntx-hero--magazine .rntx-project-search__button {
        grid-column: 1 / -1;
    }
}

/**
 * Standard desktop and 15-inch laptop screens.
 * This range targets screens like older MacBook 15-inch where the title was too large.
 */
@media (min-width: 1081px) and (max-width: 1359px) {
    .rntx-hero--magazine {
        min-height: 620px;
    }

    .rntx-hero--magazine .rntx-hero__photo,
    .rntx-hero--magazine .rntx-hero__wash {
        height: 500px;
    }

    .rntx-hero--magazine .rntx-hero__shell {
        min-height: 620px;
        padding-top: 50px;
    }

    .rntx-hero--magazine .rntx-hero__content {
        grid-template-columns: minmax(0, 575px) minmax(0, 1fr);
        column-gap: 54px;
    }

    .rntx-hero--magazine .rntx-hero__title {
        max-width: 575px;
        font-size: clamp(3.55rem, 4.05vw, 4.85rem);
        line-height: 1.035;
        letter-spacing: -0.036em;
    }

    .rntx-hero--magazine .rntx-hero__copy {
        max-width: 470px;
        font-size: 1.08rem;
    }

    .rntx-hero--magazine .rntx-hero__actions {
        max-width: 500px;
        margin-top: 30px;
    }

    .rntx-hero--magazine .rntx-project-card {
        margin-top: 34px;
        padding: 26px 34px 22px;
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: minmax(0, 1fr) minmax(205px, 0.34fr) minmax(185px, 0.28fr);
        gap: 14px;
    }
}

/**
 * Large desktop.
 * Keeps the hero premium without letting the headline become oversized.
 */
@media (min-width: 1360px) {
    .rntx-hero--magazine {
        min-height: 650px;
    }

    .rntx-hero--magazine .rntx-hero__photo,
    .rntx-hero--magazine .rntx-hero__wash {
        height: 520px;
    }

    .rntx-hero--magazine .rntx-hero__shell {
        min-height: 650px;
        padding-top: 56px;
    }

    .rntx-hero--magazine .rntx-hero__content {
        grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
        column-gap: 64px;
    }

    .rntx-hero--magazine .rntx-hero__title {
        max-width: 620px;
        font-size: clamp(4.05rem, 4vw, 5.15rem);
        line-height: 1.035;
    }

    .rntx-hero--magazine .rntx-hero__copy {
        max-width: 510px;
        font-size: 1.14rem;
    }

    .rntx-hero--magazine .rntx-project-card {
        margin-top: 38px;
        padding: 28px 38px 24px;
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: minmax(0, 1fr) minmax(235px, 0.34fr) minmax(210px, 0.28fr);
    }
}

/**
 * Extra large desktop.
 * Only a modest increase so the hero does not look inflated on wide monitors.
 */
@media (min-width: 1600px) {
    .rntx-hero--magazine {
        min-height: 665px;
    }

    .rntx-hero--magazine .rntx-hero__photo,
    .rntx-hero--magazine .rntx-hero__wash {
        height: 535px;
    }

    .rntx-hero--magazine .rntx-hero__shell {
        min-height: 665px;
        padding-top: 60px;
    }

    .rntx-hero--magazine .rntx-hero__content {
        grid-template-columns: minmax(0, 650px) minmax(0, 1fr);
    }

    .rntx-hero--magazine .rntx-hero__title {
        max-width: 650px;
        font-size: clamp(4.25rem, 3.7vw, 5.35rem);
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: minmax(0, 1fr) minmax(250px, 0.34fr) minmax(220px, 0.28fr);
    }
}

@media (max-width: 759px) {
    .rntx-hero--magazine .rntx-project-card__head h2 {
        font-size: 1.15rem;
    }

    .rntx-hero--magazine .rntx-project-card__head p {
        display: none;
    }

    .rntx-hero--magazine .rntx-project-card__head span {
        display: inline-flex;
    }

    .rntx-hero--magazine .rntx-project-search__grid {
        grid-template-columns: 1fr;
    }

    .rntx-hero--magazine .rntx-project-field {
        display: none;
    }

    .rntx-hero--magazine .rntx-project-field:first-child {
        display: grid;
    }

    .rntx-hero--magazine .rntx-project-search__button {
        min-height: 50px;
    }

    .rntx-hero--magazine .rntx-project-trust-row {
        display: none;
    }
}

@media (hover: none) {
    .rntx-btn:hover {
        transform: none;
    }

    .rntx-category-chip:active,
    .rntx-service-card:active,
    .rntx-pro-card:active,
    .rntx-material-card:active,
    .rntx-sticky-guest-cta button:active {
        transform: scale(0.985);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }

    [data-rntx-reveal] {
        opacity: 1;
        transform: none;
    }

    .rntx-hero__slide {
        animation: none !important;
        opacity: 0;
        transform: none;
    }

    .rntx-hero__slide:first-child {
        opacity: 1;
    }
}