/* ---------- Services: intro row (matches m-about-intro but single image) ---------- */
.m-services-intro {
    padding: 64px 0;
    background: var(--morgan-grey-bg);
}
.m-services-intro__row {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}
.m-services-intro__media {
    flex: 0 0 380px;
}
.m-services-intro__media img {
    width: 100%;
    display: block;
    border-radius: 2px;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.m-services-intro__text {
    flex: 1;
}
.m-services-intro__text p {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 0;
}
@media (max-width: 800px) {
    .m-services-intro__row {
        flex-direction: column;
    }
    .m-services-intro__media {
        flex: none;
        width: 100%;
        max-width: 380px;
    }
}

/* ---------- Services: numbered service blocks ---------- */
.m-service-block {
    padding: 56px 0;
}
.m-service-block:nth-child(even) {
    background: var(--morgan-grey-bg);
}
.m-service-block:nth-child(odd) {
    background: var(--morgan-white);
}
.m-service-block__row {
    display: flex;
    gap: 50px;
    align-items: center;
}
.m-service-block__text {
    flex: 0 0 34%;
}
.m-service-block__text h2 {
    font-size: 20px;
    font-weight: 800;
    color: var(--morgan-dark) !important;
    margin-bottom: 14px;
    text-transform: none;
}
.m-service-block__text p {
    font-size: 15.5px;
    line-height: 1.7;
    color: #444;
    margin: 0;
}
.m-service-block__links {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.m-service-block__links a {
    font-size: 14px;
    font-weight: 700;
    color: var(--morgan-blue-deep);
    text-decoration: underline;
}
.m-service-block__media {
    flex: 1;
}
.m-service-block__media img {
    width: 100%;
    display: block;
    border-radius: 2px;
    aspect-ratio: 16/10;
    object-fit: cover;
}
@media (max-width: 800px) {
    .m-service-block__row {
        flex-direction: column;
    }
    .m-service-block__text {
        flex: none;
        width: 100%;
    }
}

/* ---------- Service area (text + map) ---------- */
.m-service-area {
    padding: 70px 0;
    background: var(--morgan-grey-bg);
}
.m-service-area__row {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}
.m-service-area__text {
    flex: 1;
}
.m-service-area__text p {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 16px;
}
.m-service-area__text p:last-child {
    margin-bottom: 0;
}
.m-service-area__map {
    flex: 0 0 46%;
}
.m-service-area__map iframe {
    width: 100%;
    height: 340px;
    border: 0;
    border-radius: 2px;
    display: block;
}
@media (max-width: 800px) {
    .m-service-area__row {
        flex-direction: column;
    }
    .m-service-area__map {
        flex: none;
        width: 100%;
    }
}

/* ---------- Services: numbered service blocks ---------- */
.m-service-block {
    padding: 60px 0;
}
.m-service-block:nth-child(even) {
    background: var(--morgan-grey-bg);
}
.m-service-block:nth-child(odd) {
    background: var(--morgan-white);
}
.m-service-block + .m-service-block {
    border-top: 1px solid var(--morgan-grey-line);
}
.m-service-block__row {
    display: flex;
    gap: 50px;
    align-items: center;
}
.m-service-block__text {
    flex: 0 0 34%;
}
.m-service-block__eyebrow {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--morgan-blue-deep);
    margin-bottom: 10px;
}
.m-service-block__text h2 {
    font-size: 22px;
    font-weight: 800;
    color: var(--morgan-dark) !important;
    margin-bottom: 14px;
    text-transform: none;
}
.m-service-block__text p {
    font-size: 15.5px;
    line-height: 1.7;
    color: #444;
    margin: 0;
}
.m-service-block__links {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.m-service-block__links a {
    font-size: 14px;
    font-weight: 700;
    color: var(--morgan-blue-deep);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition:
        border-color 0.2s ease,
        transform 0.2s ease;
    display: inline-block;
}
.m-service-block__links a:hover {
    border-color: var(--morgan-blue-deep);
    transform: translateX(3px);
}
.m-service-block__media {
    flex: 1;
}
.m-service-block__media img {
    width: 100%;
    display: block;
    border-radius: 10px;
    aspect-ratio: 16/10;
    object-fit: cover;
}
@media (max-width: 800px) {
    .m-service-block__row {
        flex-direction: column;
    }
    .m-service-block__text {
        flex: none;
        width: 100%;
    }

    .m-service-area__map img {
        max-width: 100%;
        height: auto;
    }
}
