.first-session-page {
    color: #111
}

.first-session-page p,.first-session-page address {
    font-size: 16px;
    line-height: 1.8
}

.first-hero,.first-section {
    padding: 70px 0
}

.first-hero,.first-during,.first-online,.first-faq {
    background: #fff
}

.first-before,.first-clinic,.first-after {
    background: #fff8ee
}

.first-hero h2 {
    margin: 12px 0 22px;
    font: 400 clamp(22px,2.6vw,22px)/1.25 var(--title);
    color: var(--primary)
}

.first-hero p {
    margin: 0 0 17px
}

.first-image {
    position: relative;
    min-height: 650px;
    padding: 0 72px 92px 0
}

.first-image>img:first-child {
    display: block;
    width: 100%;
    height: 570px;
    object-fit: cover;
    border: 1px solid rgba(208,170,94,.3);
    border-radius: 24px;
    box-shadow: 0 24px 55px rgba(58,32,37,.12)
}

.first-image img.image-design-secondary {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    width: 54%;
    height: auto;
    aspect-ratio: 1.08/1;
    object-fit: cover;
    border: 9px solid #fff;
    outline: 1px solid rgba(208,170,94,.34);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(78,0,19,.13)
}

.first-clinic .first-image img.image-design-secondary,.first-after .first-image img.image-design-secondary {
    border-color: #fff8ee
}

.first-image-left {
    padding: 78px 0 0 82px
}

.first-image-left img.image-design-secondary {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 43%
}

.first-start {
    margin-top: 30px;
    padding: 30px;
    border-left: 5px solid var(--accent);
    background: #fff8ee
}

.first-start h3 {
    margin: 0 0 20px;
    font: 400 30px/1.25 var(--title)
}

.first-start .btn-default {
    border-radius: 999px;
    background: var(--primary);
    color: #fff
}

.first-heading {
    margin-bottom: 38px;
    text-align: center
}

.first-stage-list {
    display: grid;
    gap: 22px
}

.first-stage-list article {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 24px;
    padding: 30px;
    border: 1px solid #eadbc7;
    border-radius: 20px;
    background: #fff
}

.first-stage-list article>span {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-weight: 800
}

.first-stage-list h3,.first-content-block h3 {
    margin: 0 0 16px;
    font: 400 27px/1.3 var(--title);
    color: var(--primary)
}

.first-link {
    display: inline-block;
    margin-top: 10px;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--accent);
    color: var(--primary);
    font-weight: 800
}

.first-content-block {
    margin-bottom: 25px;
    padding: 24px;
    border-left: 4px solid var(--accent);
    background: #fff8ee
}

.first-centered {
    max-width: 950px;
    margin: auto;
    text-align: center
}

.first-faq>.container>.title {
    margin-bottom: 35px
}

.first-faq-list {
    max-width: 1200px;
    margin: auto;
    border-top: 1px solid #dfcba8
}

.first-faq-list details {
    border-bottom: 1px solid #dfcba8
}

.first-faq-list summary {
    position: relative;
    padding: 28px 70px 28px 8px;
    cursor: pointer;
    list-style: none;
    font: 400 clamp(20px,2vw,28px)/1.35 var(--title)
}

.first-faq-list summary::-webkit-details-marker {
    display: none
}

.first-faq-list summary:before,.first-faq-list summary:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 26px;
    height: 2px;
    background: var(--primary);
    transition: transform .25s
}

.first-faq-list summary:after {
    transform: rotate(90deg)
}

.first-faq-list details[open] summary:after {
    transform: rotate(0)
}

.first-faq-list details>div {
    padding: 0 70px 26px 8px
}

.first-contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 28px;
    margin: 25px 0
}

.first-contact a {
    color: var(--primary);
    font-weight: 800;
    border-bottom: 2px solid var(--accent)
}

.final-consultation-section address {
    font-style: normal
}

@media(max-width: 991px) {
    .first-hero,.first-section {
        padding:55px 0
    }

    .first-image,.first-image-left {
        min-height: 480px;
        padding: 0 45px 60px 0
    }

    .first-image>img:first-child {
        height: 420px
    }

    .first-image img.image-design-secondary,.first-image-left img.image-design-secondary {
        top: auto;
        right: 0;
        bottom: 0;
        left: auto;
        width: 48%;
        border-width: 6px
    }
}

@media(max-width: 575px) {
    .first-hero,.first-section {
        padding:45px 0
    }

    .first-image,.first-image-left {
        min-height: 390px;
        padding: 0 32px 46px 0
    }

    .first-image>img:first-child {
        height: 345px;
        border-radius: 18px
    }

    .first-stage-list article {
        grid-template-columns: 1fr;
        padding: 24px
    }

    .first-start {
        padding: 26px 22px
    }

    .first-start .btn-default {
        display: block;
        width: 100%;
        padding: 15px;
        font-size: 13px
    }

    .first-faq-list summary {
        padding: 23px 52px 23px 2px
    }

    .first-faq-list details>div {
        padding: 0 4px 23px
    }

    .first-contact {
        display: grid
    }
}

/* Refined first-session process sections */
.first-before {
    background: #fff8ee
}

.first-before .first-heading {
    max-width: 760px;
    margin: 0 auto 44px
}

.first-before .first-stage-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px
}

.first-before .first-stage-list article {
    position: relative;
    display: block;
    min-height: 100%;
    padding: 34px 32px 32px;
    border: 1px solid #e3cfad;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(78,0,19,.055)
}

.first-before .first-stage-list article>span {
    width: 54px;
    height: 54px;
    margin-bottom: 24px;
    border: 1px solid var(--primary);
    background: var(--primary);
    color: var(--white);
}

.first-before .first-stage-list h3 {
    padding-bottom: 16px;
    border-bottom: 1px solid #eadbc7
}

.first-before .first-stage-list p:last-child {
    margin-bottom: 0
}

.first-during {
    background: #fff8ee
}

.first-during .row {
    align-items: flex-start!important
}

.first-during .first-image {
    position: sticky;
    top: 135px
}

.first-during .first-image img.image-design-secondary {
    border-color: #fff8ee
}

.first-during .col-lg-7>.title {
    margin-bottom: 28px
}

.first-during .first-content-block {
    margin: 0 0 20px;
    padding: 30px;
    border: 1px solid #e3cfad;
    border-left: 1px solid #e3cfad;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(78,0,19,.05)
}

.first-during .first-content-block h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eadbc7
}

.first-during .first-content-block h3:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--accent)
}

.first-during .first-content-block p:last-child {
    margin-bottom: 0
}

@media(max-width: 991px) {
    .first-before .first-stage-list {
        grid-template-columns:1fr
    }

    .first-during .first-image {
        position: relative;
        top: auto;
        margin-bottom: 15px
    }
}

@media(max-width: 575px) {
    .first-before .first-stage-list article,.first-during .first-content-block {
        padding:24px 22px
    }

    .first-before .first-stage-list article>span {
        margin-bottom: 18px
    }
}

.first-during{background:#fff}.first-during .col-lg-10{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.first-during .col-lg-10>.title{grid-column:1/-1;margin-bottom:14px;text-align:center}.first-during .first-content-block{height:100%;margin:0;padding:30px;border:1px solid #e3cfad;border-radius:18px;background:#fff8ee;box-shadow:none}.first-during .first-content-block:nth-of-type(1),.first-during .first-content-block:nth-of-type(2){padding-top:32px}@media(max-width:767px){.first-during .col-lg-10{grid-template-columns:1fr}.first-during .col-lg-10>.title{margin-bottom:5px}}

.first-during .col-12{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;counter-reset:first-session-card}.first-during .col-12>.title{grid-column:1/-1;margin-bottom:18px;text-align:center}.first-during .col-12 .first-content-block{position:relative;counter-increment:first-session-card;min-height:100%;padding:34px 32px 32px;border:1px solid #e4d1b2;border-top:4px solid var(--accent);border-radius:18px;background:#fff8ee;box-shadow:0 16px 38px rgba(78,0,19,.06)}.first-during .col-12 .first-content-block:before{content:counter(first-session-card,decimal-leading-zero);display:grid;width:50px;height:50px;margin-bottom:22px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:800}.first-during .col-12 .first-content-block h3{display:block;margin:0 0 18px;padding:0 0 15px;border-bottom:1px solid #e4d1b2;color:var(--primary)}.first-during .col-12 .first-content-block h3:before{display:none}.first-during .col-12 .first-content-block p:last-child{margin-bottom:0}@media(max-width:767px){.first-during .col-12{grid-template-columns:1fr}.first-during .col-12>.title{margin-bottom:6px}.first-during .col-12 .first-content-block{padding:27px 23px}}
