.pagehead {
    background: #F1F5F9;
    border-bottom: 1px solid var(--line);
    padding: 86px 0 78px;
    text-align: center
}

    .pagehead h1 {
        font-size: clamp(2.4rem,4.4vw,3.6rem)
    }

    .pagehead p {
        margin: 18px auto 0;
        max-width: 62ch
    }

.priceband {
    padding: 86px 0;
    background: var(--bg-tint)
}

.pricecards {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 26px;
    margin-top: 52px;
    align-items: start
}

.pcard {
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 38px 34px;
    background: #fff;
    box-shadow: 0 14px 34px -26px rgba(38,48,63,.28)
}

    .pcard.feature {
        border-top: 3px solid var(--blue)
    }

    .pcard .tier {
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .2em;
        text-transform: uppercase;
        color: var(--blue);
        margin-bottom: 14px
    }

    .pcard .amt {
        font-family: 'Playfair Display',serif;
        font-size: 2.5rem;
        color: var(--head);
        line-height: 1.1
    }

        .pcard .amt small {
            font-family: 'Montserrat',sans-serif;
            font-size: .8rem;
            font-weight: 600;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: var(--steel);
            display: block;
            margin-bottom: 6px
        }

    .pcard ul {
        list-style: none;
        margin-top: 20px
    }

    .pcard li {
        padding: 8px 0 8px 26px;
        position: relative;
        font-size: .95rem;
        border-top: 1px solid var(--bg-soft)
    }

        .pcard li:first-child {
            border-top: 0
        }

        .pcard li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 16px;
            width: 12px;
            height: 2px;
            background: var(--blue)
        }

@media(max-width:980px) {
    .pricecards {
        grid-template-columns: 1fr
    }
}

.steps {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 24px;
    margin-top: 48px;
    counter-reset: s
}

.step {
    border-top: 2px solid var(--line);
    padding-top: 22px
}

    .step .num {
        font-family: 'Playfair Display',serif;
        font-size: 1.6rem;
        color: var(--blue)
    }

    .step h3 {
        font-size: 1.06rem;
        margin: 8px 0 8px
    }

    .step p {
        font-size: .94rem
    }

@media(max-width:900px) {
    .steps {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:560px) {
    .steps {
        grid-template-columns: 1fr
    }
}

.notebox {
    background: #fff;
    border: 1px solid var(--line);
    border-left: 3px solid var(--blue);
    border-radius: 0 4px 4px 0;
    padding: 28px 32px;
    margin-top: 44px
}

    .notebox p {
        font-size: .95rem;
        max-width: none
    }

        .notebox p + p {
            margin-top: 12px
        }

.contactgrid {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 48px;
    align-items: start;
    padding: 86px 0
}

.contactwrap {
    background: var(--bg-tint)
}

.infocard {
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 34px 32px;
    margin-bottom: 22px;
    background: #fff;
    box-shadow: 0 14px 34px -28px rgba(38,48,63,.25)
}

    .infocard .lbl {
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .2em;
        text-transform: uppercase;
        color: var(--blue);
        margin-bottom: 14px
    }

    .infocard p {
        font-size: 1rem
    }

    .infocard a.big {
        display: block;
        color: var(--blue);
        font-weight: 700;
        font-size: 1.12rem;
        text-decoration: none;
        margin-top: 12px
    }

        .infocard a.big:hover {
            text-decoration: underline
        }

.hours {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px
}

    .hours td {
        padding: 9px 0;
        border-top: 1px solid var(--bg-soft);
        font-size: .96rem
    }

        .hours td:last-child {
            text-align: right;
            font-weight: 600;
            color: var(--head)
        }

    .hours tr:first-child td {
        border-top: 0
    }

@media(max-width:980px) {
    .contactgrid {
        grid-template-columns: 1fr;
        gap: 30px
    }
}

.faqp {
    border-top: 1px solid var(--line);
    padding: 24px 0
}

    .faqp h3 {
        font-size: 1.08rem;
        margin-bottom: 8px
    }

    .faqp p {
        font-size: .96rem
    }
