.piano-simple-page{
    --green:#00C152;
    --green-dark:#007A49;
    --ink:#17324a;
    --text:#66796e;
    --soft:#f5faf7;
    --cream:#faf7f0;
    --line:#dfe8e3;
    background:#fff;
    color:var(--ink)
}

.piano-simple-page .home-container{
    max-width:1180px
}

.piano-simple-hero{
    padding:2rem 0 5rem;
    background:linear-gradient(180deg,#fbfaf6 0%,#fff 100%)
}

.piano-simple-breadcrumb{
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#819087;
    font-size:.86rem
}

.piano-simple-breadcrumb a{
    color:#456251;
    text-decoration:none;
    font-weight:850
}

.piano-simple-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4.5rem;
    align-items:center;
    min-height:590px;
    padding-top:3rem
}

.piano-simple-overline,
.piano-simple-section-head>span{
    display:block;
    color:var(--green-dark);
    font-size:.76rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.12em
}

.piano-simple-hero-copy h1{
    max-width:700px;
    margin:.7rem 0 1.1rem;
    color:#142c22;
    font-size:clamp(3.3rem,5.8vw,5.9rem);
    line-height:.92;
    font-weight:950;
    letter-spacing:-.06em
}

.piano-simple-hero-copy>p{
    max-width:650px;
    margin:0 0 1.8rem;
    color:#64786d;
    font-size:1.12rem;
    line-height:1.72
}

.piano-simple-hero-photo{
    height:520px;
    overflow:hidden;
    border-radius:1.6rem;
    box-shadow:0 26px 65px rgba(30,49,38,.11)
}

.piano-simple-hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}

.piano-simple-quote-section{
    padding:0 0 8rem
}

.piano-simple-quote-wrap{
    padding:2rem;
    border:1px solid var(--line);
    border-radius:1.4rem;
    background:#fff;
    box-shadow:0 20px 48px rgba(20,53,36,.08)
}

.piano-simple-quote-head{
    margin-bottom:1.5rem
}

.piano-simple-quote-head span{
    color:var(--green-dark);
    font-size:.72rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.1em
}

.piano-simple-quote-head h2{
    margin:.3rem 0 0;
    font-size:2rem;
    font-weight:950
}

.piano-simple-quote-head p{
    margin:.35rem 0 0;
    color:#7a8c82
}

.piano-simple-quote{
    display:grid;
    grid-template-columns:1.1fr 1fr 1fr .7fr 1fr auto;
    gap:.75rem;
    align-items:end
}

.piano-simple-field label{
    display:block;
    margin-bottom:.35rem;
    color:#70847a;
    font-size:.75rem;
    font-weight:850
}

.piano-simple-field .form-control,
.piano-simple-field .form-select{
    min-height:48px;
    border-color:#d8e4dd
}

.piano-simple-submit{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    padding:0 1rem;
    border:0;
    border-radius:.65rem;
    background:var(--green);
    color:#fff;
    font-weight:950
}

.piano-simple-quote-foot{
    margin:.8rem 0 0;
    color:#82938a;
    font-size:.8rem
}

.piano-simple-quote-foot i{
    margin-right:.35rem;
    color:var(--green-dark)
}

.piano-simple-process{
    padding:8rem 0;
    background:#f6faf7
}

.piano-simple-section-head{
    max-width:800px;
    margin:0 auto 3rem
}

.piano-simple-section-head h2,
.piano-simple-price-copy h2,
.piano-simple-related-card h2,
.piano-simple-final-copy h2{
    margin:.55rem 0 0;
    color:#142c22;
    font-size:clamp(2.5rem,4.4vw,4.6rem);
    line-height:.98;
    font-weight:950;
    letter-spacing:-.05em
}

.piano-simple-section-head>p{
    margin:1rem auto 0;
    max-width:650px;
    color:#71847a;
    line-height:1.7
}

.piano-simple-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}

.piano-simple-step{
    position:relative;
    min-height:290px;
    padding:1.4rem;
    border:1px solid var(--line);
    border-radius:1.2rem;
    background:#fff
}

.piano-simple-step-number{
    position:absolute;
    top:1.2rem;
    right:1.2rem;
    color:#a0b0a7;
    font-size:.8rem;
    font-weight:950
}

.piano-simple-step>i{
    display:grid;
    place-items:center;
    width:3.4rem;
    height:3.4rem;
    border-radius:1rem;
    background:#edf7f1;
    color:var(--green-dark);
    font-size:1.3rem
}

.piano-simple-step h3{
    margin:5rem 0 .5rem;
    font-size:1.35rem;
    font-weight:950
}

.piano-simple-step p{
    margin:0;
    color:#71847a;
    line-height:1.65
}

.piano-simple-price{
    padding:8rem 0
}

.piano-simple-price-grid{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:5rem;
    align-items:center
}

.piano-simple-price-copy>p{
    max-width:560px;
    margin:1rem 0 0;
    color:#6d8176;
    line-height:1.72
}

.piano-simple-factors{
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
    margin-top:1.7rem
}

.piano-simple-factors span{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.65rem .8rem;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:#4f695b;
    font-size:.84rem;
    font-weight:850
}

.piano-simple-factors i{
    color:var(--green-dark)
}

.piano-simple-price-photo{
    height:520px;
    overflow:hidden;
    border-radius:1.5rem
}

.piano-simple-price-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}

.piano-simple-photos{
    padding:8rem 0;
    background:#faf7f0
}

.piano-simple-photo-items{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}

.piano-simple-photo-items>div{
    padding:1.5rem;
    border:1px solid #e5e0d6;
    border-radius:1.1rem;
    background:#fff
}

.piano-simple-photo-icon{
    display:grid;
    place-items:center;
    width:3.4rem;
    height:3.4rem;
    border-radius:1rem;
    background:#edf7f1;
    color:var(--green-dark);
    font-size:1.25rem
}

.piano-simple-photo-items h3{
    margin:1.5rem 0 .45rem;
    font-size:1.25rem;
    font-weight:950
}

.piano-simple-photo-items p{
    margin:0;
    color:#71847a;
    line-height:1.62
}

.piano-simple-related{
    padding:7rem 0
}

.piano-simple-related-card{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:4rem;
    align-items:center;
    padding:2.5rem;
    border:1px solid #d7e6dc;
    border-radius:1.4rem;
    background:#f3f9f5
}

.piano-simple-related-card>div:first-child>p{
    margin:1rem 0 0;
    color:#6d8176;
    line-height:1.68
}

.piano-simple-related-links{
    border-top:1px solid #d3e2d8
}

.piano-simple-related-links a{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 0;
    border-bottom:1px solid #d3e2d8;
    color:#17324a;
    text-decoration:none;
    font-weight:900
}

.piano-simple-related-links i{
    color:var(--green-dark)
}

.piano-simple-final{
    padding:7rem 0;
    background:#fff
}

.piano-simple-final-card{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    overflow:hidden;
    border-radius:1.5rem;
    background:#f6faf7
}

.piano-simple-final-photo{
    min-height:440px
}

.piano-simple-final-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}

.piano-simple-final-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:3rem
}

.piano-simple-final-copy>p{
    max-width:610px;
    margin:1rem 0 1.5rem;
    color:#6d8176;
    line-height:1.68
}

.piano-simple-faq{
    padding:8rem 0;
    background:#f7faf8
}

.piano-simple-faq-list{
    max-width:900px
}

.piano-simple-faq-list .accordion-button{
    color:#17324a;
    font-weight:850
}

.piano-simple-faq-list .accordion-button:not(.collapsed){
    color:var(--green-dark);
    background:#effaf3;
    box-shadow:none
}

.piano-simple-faq-list .accordion-button:focus{
    box-shadow:none
}

[data-reveal]{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .6s ease,transform .6s ease
}

[data-reveal].is-visible{
    opacity:1;
    transform:none
}

@media(prefers-reduced-motion:reduce){
    [data-reveal]{
        opacity:1;
        transform:none;
        transition:none
    }
}

@media(max-width:1199.98px){
    .piano-simple-quote{
        grid-template-columns:1fr 1fr 1fr
    }

    .piano-simple-submit{
        min-height:48px
    }
}

@media(max-width:991.98px){
    .piano-simple-hero-grid,
    .piano-simple-price-grid,
    .piano-simple-related-card,
    .piano-simple-final-card{
        grid-template-columns:1fr;
        gap:3rem
    }

    .piano-simple-hero-photo,
    .piano-simple-price-photo{
        height:460px
    }

    .piano-simple-steps,
    .piano-simple-photo-items{
        grid-template-columns:1fr
    }

    .piano-simple-step{
        min-height:220px
    }

    .piano-simple-final-photo{
        min-height:360px
    }
}

@media(max-width:767.98px){
    .piano-simple-hero{
        padding-bottom:4rem
    }

    .piano-simple-hero-grid{
        min-height:0;
        padding-top:4rem
    }

    .piano-simple-hero-copy h1{
        font-size:3.3rem
    }

    .piano-simple-quote{
        grid-template-columns:1fr
    }

    .piano-simple-quote-section,
    .piano-simple-process,
    .piano-simple-price,
    .piano-simple-photos,
    .piano-simple-related,
    .piano-simple-final,
    .piano-simple-faq{
        padding-top:5.5rem;
        padding-bottom:5.5rem
    }

    .piano-simple-hero-photo,
    .piano-simple-price-photo{
        height:400px
    }

    .piano-simple-final-copy{
        padding:2rem
    }
}

@media(max-width:575.98px){
    .piano-simple-hero-copy h1{
        font-size:2.75rem
    }

    .piano-simple-hero-photo,
    .piano-simple-price-photo{
        height:340px
    }

    .piano-simple-quote-wrap{
        padding:1.2rem
    }

    .piano-simple-related-card{
        padding:1.5rem
    }

    .piano-simple-final-photo{
        min-height:300px
    }
}
