.reno-new-home .contractors-landing {
    --ink: #13201c;
    --forest: #174c3c;
    --deep: #0d3027;
    --lime: #d9ff68;
    --cream: #f7f6ef;
    --muted: #62716b;
    --line: #dfe6e1;
    --white: #fff;
    --shadow: 0 20px 60px rgba(17, 52, 42, .13)
}

.reno-new-home .contractors-landing * {
    box-sizing: border-box
}

.reno-new-home .contractors-landing {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font: 19.2px/1.55 "DM Sans", sans-serif
}

.reno-new-home .contractors-landing a {
    color: inherit;
    text-decoration: none
}

.reno-new-home .contractors-landing .wrap {
    width: min(1180px, calc(100% - 40px));
    margin: auto
}

.reno-new-home .contractors-landing .btn {
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .2s
}

.reno-new-home .contractors-landing .btn:hover {
    transform: translateY(-2px)
}

.reno-new-home .contractors-landing .btn-dark {
    background: var(--forest);
    color: white
}

.reno-new-home .contractors-landing .btn-lime {
    background: var(--lime);
    color: var(--deep)
}

.reno-new-home .contractors-landing .btn-outline {
    border: 1px solid #b8c5c0
}

.reno-new-home .contractors-landing .hero {
    background: var(--deep);
    color: white;
    overflow: hidden
}

.reno-new-home .contractors-landing .hero-grid {
    min-height: 680px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: center;
    padding: 80px 0
}

.reno-new-home .contractors-landing .eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 0.912rem;
    font-weight: 800;
    color: var(--lime)
}

.reno-new-home .contractors-landing h1 {
    font: 800 clamp(3rem, 5.6vw, 5.8rem)/.95 Manrope;
    letter-spacing: -.06em;
    margin: 18px 0 24px
}

.reno-new-home .contractors-landing h1 em {
    color: var(--lime);
    font-style: normal
}

.reno-new-home .contractors-landing .hero p {
    font-size: 1.38rem;
    color: #c4d7d0;
    max-width: 620px
}

.reno-new-home .contractors-landing .hero-actions {
    display: flex;
    gap: 12px;
    margin-top: 32px
}

.reno-new-home .contractors-landing .growth-card {
    background: white;
    color: var(--ink);
    border-radius: 28px;
    padding: 28px;
    box-shadow: var(--shadow)
}

.reno-new-home .contractors-landing .growth-card h2 {
    font: 800 1.45rem Manrope;
    margin: 0 0 8px
}

.reno-new-home .contractors-landing .score {
    background: #eaf4ef;
    border-radius: 18px;
    padding: 20px;
    margin: 22px 0
}

.reno-new-home .contractors-landing .score-head {
    display: flex;
    justify-content: space-between
}

.reno-new-home .contractors-landing .score strong {
    color: var(--forest);
    font: 800 2.64rem Manrope
}

.reno-new-home .contractors-landing .bar {
    height: 9px;
    border-radius: 10px;
    background: #dbe5e0;
    margin: 10px 0;
    overflow: hidden
}

.reno-new-home .contractors-landing .bar i {
    display: block;
    height: 100%;
    width: 62%;
    background: var(--lime)
}

.reno-new-home .contractors-landing .mini {
    display: grid;
    gap: 10px
}

.reno-new-home .contractors-landing .mini div {
    display: flex;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
    font-size: 1.056rem
}

.reno-new-home .contractors-landing .mini span {
    color: var(--muted)
}

.reno-new-home .contractors-landing section {
    padding: 100px 0
}

.reno-new-home .contractors-landing .head {
    max-width: 760px;
    margin-bottom: 48px
}

.reno-new-home .contractors-landing .head h2 {
    font: 800 clamp(2.3rem, 4vw, 4rem)/1.04 Manrope;
    letter-spacing: -.05em;
    margin: 12px 0
}

.reno-new-home .contractors-landing .head p {
    color: var(--muted);
    font-size: 1.272rem
}

.reno-new-home .contractors-landing .services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px
}

.reno-new-home .contractors-landing .service {
    background: white;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 30px;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(13, 48, 39, .04);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease
}

.reno-new-home .contractors-landing .service::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--forest);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease
}

.reno-new-home .contractors-landing .service .icon {
    transition: background-color .25s ease, color .25s ease
}

.reno-new-home .contractors-landing .service-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    color: var(--forest);
    font-weight: 800
}

.reno-new-home .contractors-landing .service-cta span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #eaf2ee;
    transition: transform .25s ease, background-color .25s ease, color .25s ease
}

.reno-new-home .contractors-landing .icon {
    width: 52px;
    height: 52px;
    background: #eaf2ee;
    border-radius: 15px;
    display: grid;
    place-items: center;
    color: var(--forest);
    font: 800 1.56rem Manrope
}

.reno-new-home .contractors-landing .service h3 {
    font: 800 1.86rem Manrope;
    margin: 24px 0 8px
}

.reno-new-home .contractors-landing .service>p {
    color: var(--muted);
    margin: 0 0 18px
}

.reno-new-home .contractors-landing .service ul {
    margin: auto 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 9px
}

.reno-new-home .contractors-landing .service li:before {
    content: "✓";
    color: var(--forest);
    font-weight: 900;
    margin-right: 9px
}

.reno-new-home .contractors-landing .journey {
    background: white
}

.reno-new-home .contractors-landing .journey-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    align-items: center;
}

.reno-new-home .contractors-landing .journey h2 {
    font: 800 clamp(2.4rem, 4vw, 4.2rem)/1.03 Manrope;
    letter-spacing: -.05em;
    margin: 13px 0
}

.reno-new-home .contractors-landing #how h2 {
    font: 800 clamp(2.4rem, 4vw, 3.9rem)/1.03 Manrope;
}

.reno-new-home .contractors-landing .phases {
    display: grid;
    gap: 13px
}

.reno-new-home .contractors-landing .phase {
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 24px;
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 18px
}

.reno-new-home .contractors-landing .num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--deep);
    color: var(--lime);
    display: grid;
    place-items: center;
    font-weight: 800
}

.reno-new-home .contractors-landing .phase h3 {
    font: 800 1.32rem Manrope;
    margin: 0 0 4px
}

.reno-new-home .contractors-landing .phase p {
    margin: 0;
    color: var(--muted)
}

.reno-new-home .contractors-landing .outcomes {
    background: #dfff7b
}

.reno-new-home .contractors-landing .outcome-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, .6fr);
    gap: 25px;
    align-items: center
}

.reno-new-home .contractors-landing .outcomes h2 {
    font: 800 clamp(2rem, 3.5vw, 3.4rem)/1.06 Manrope;
    letter-spacing: -.04em;
    margin: 0
}

.reno-new-home .contractors-landing .metric {
    border-left: 1px solid rgba(13, 48, 39, .24);
    padding-left: 25px
}

.reno-new-home .contractors-landing .metric strong {
    font: 800 2.52rem Manrope;
    display: block
}

.reno-new-home .contractors-landing .metric span {
    font-size: 1.02rem
}

.reno-new-home .contractors-landing .cta {
    background: var(--deep);
    color: white;
    text-align: center
}

.reno-new-home .contractors-landing .cta h2 {
    font: 800 clamp(2.5rem, 5vw, 5rem)/1 Manrope;
    letter-spacing: -.055em;
    margin: 0 auto 20px;
    max-width: 850px
}

.reno-new-home .contractors-landing .cta p {
    color: #c4d7d0;
    max-width: 620px;
    margin: 0 auto 30px
}

@media(max-width:900px) {

    .reno-new-home .contractors-landing .hero-grid,
    .reno-new-home .contractors-landing .journey-grid {
        grid-template-columns: 1fr
    }

    .reno-new-home .contractors-landing .services {
        grid-template-columns: 1fr
    }

    .reno-new-home .contractors-landing .outcome-grid {
        grid-template-columns: 1fr 1fr
    }

    .reno-new-home .contractors-landing .hero-grid {
        padding: 60px 0
    }
}

@media(max-width:600px) {
    .reno-new-home .contractors-landing .wrap {
        width: calc(100% - 26px)
    }

    .reno-new-home .contractors-landing .hero h1 {
        font-size: 3.25rem
    }

    .reno-new-home .contractors-landing .hero-actions {
        flex-direction: column
    }

    .reno-new-home .contractors-landing .outcome-grid {
        grid-template-columns: 1fr
    }

    .reno-new-home .contractors-landing .metric {
        border-left: 0;
        border-top: 1px solid rgba(13, 48, 39, .24);
        padding: 18px 0 0
    }

    .reno-new-home .contractors-landing section {
        padding: 72px 0
    }
}

.reno-new-home .contractors-landing .hero {
    padding: 0;
    background: var(--deep)
}

.reno-new-home .contractors-landing .hero-grid {
    width: min(1180px, calc(100% - 40px))
}

.reno-new-home .contractors-landing .hero::after {
    display: none
}

.reno-new-home .contractors-landing .service:hover,
.reno-new-home .contractors-landing .service:focus-visible {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(13, 48, 39, .12);
    border-color: var(--forest);
    background-color: #f8fbf9
}

.reno-new-home .contractors-landing .service:focus-visible {
    outline: 2px solid var(--forest);
    outline-offset: 4px
}

.reno-new-home .contractors-landing .service:is(:hover, :focus-visible)::before {
    transform: scaleX(1)
}

.reno-new-home .contractors-landing .service:is(:hover, :focus-visible) .icon,
.reno-new-home .contractors-landing .service:is(:hover, :focus-visible) .service-cta span {
    background: var(--forest);
    color: white
}

.reno-new-home .contractors-landing .service:is(:hover, :focus-visible) .service-cta span {
    transform: translateX(3px)
}

@media(prefers-reduced-motion:reduce) {
    .reno-new-home .contractors-landing .service,
    .reno-new-home .contractors-landing .service::before,
    .reno-new-home .contractors-landing .service .icon,
    .reno-new-home .contractors-landing .service-cta span {
        transition: none
    }

    .reno-new-home .contractors-landing .service:is(:hover, :focus-visible),
    .reno-new-home .contractors-landing .service:is(:hover, :focus-visible) .service-cta span {
        transform: none
    }
}

.reno-new-home .contractors-landing .btn:disabled {
    cursor: default
}

@media(max-width:600px) {
    .reno-new-home .contractors-landing .hero-grid {
        width: calc(100% - 26px)
    }

    .reno-new-home .contractors-landing .phase {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px
    }

    .reno-new-home .contractors-landing .num {
        width: 40px;
        height: 40px
    }

    .reno-new-home .contractors-landing .growth-card {
        padding: 22px
    }

    .reno-new-home .contractors-landing .service {
        padding: 24px
    }

    .reno-new-home .contractors-landing .hero h1 {
        font-size: clamp(2.6rem, 11vw, 3.25rem)
    }
}

.reno-new-home .contractors-landing .journey {
    border-radius: 0;
    min-height: 0
}

/* Scale shared text defaults only within the contractors landing page. */
.reno-new-home .contractors-landing .btn { font-size: 1.2rem; }
.reno-new-home .contractors-landing .service > p { font-size: 1.008rem; }
.reno-new-home .contractors-landing .num { font-size: .984rem; }
.reno-new-home .contractors-landing .cta p { font-size: 1.392rem; }
