﻿.hero {
    padding-block: 5rem;
    overflow: hidden;
}

.hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.85fr);
    align-items: center;
    gap: 4rem;
    position: relative;
    padding: 2rem;
}

.hero__eyebrow {
    margin-bottom: 1rem;
    color: var(--color-primary);
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hero__title {
    max-width: 12ch;
    margin-bottom: 1.5rem;
    font-size: clamp(2.5rem, 5vw, 4.75rem);
    line-height: 1.05;
    letter-spacing: -0.055em;
    color: var(--color-hero-title);
}

.hero__description {
    max-width: 44ch;
    margin-bottom: 2rem;
    color: var(--color-hero-description);
    font-size: 1.125rem;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.hero__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*min-height: 34rem;*/
    border-radius: var(--border-radius-large);
    background: linear-gradient( 145deg, rgb(23 107 103 / 12%), rgb(216 167 109 / 30%) );
    box-shadow: var(--shadow-small);
    background-image: url(/images/Hero.jpeg);
    /* background-size: 100% 100%; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 1rem;
    filter: blur(3px);
    z-index: 1;
}

.hero__content {
    position: relative;
    z-index: 2;
}

.button__hero {
    color: aliceblue;
    background-color: transparent;
    border-color: aliceblue;
}

    .button__hero:hover {
        color: var(--color-primary);
        background-color: aliceblue;
    }

        .hero__image-placeholder {
            display: grid;
            place-items: center;
            min-height: inherit;
            padding: 2rem;
            color: var(--color-text-muted);
            text-align: center;
        }

        @media (max-width: 900px) {
            .hero {
                padding-block: 3.5rem;
            }

            .hero__layout {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }

            .hero__title {
                max-width: 14ch;
            }

            .hero__image {
                min-height: 25rem;
            }
        }

        @media (max-width: 520px) {
            .hero {
                padding-block: 2.5rem;
            }

            .hero__layout {
                padding: 1rem;
            }

            .hero__title {
                font-size: 2.3rem;
            }

            .hero__actions {
                flex-direction: column;
            }

                .hero__actions .button {
                    width: 100%;
                }

            .hero__image {
                min-height: 20rem;
            }
        }


        .services-section {
            padding-block: 6rem;
            background-color: var(--color-surface);
            scroll-margin-top: 6rem;
        }

        .section-heading {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.7fr);
            align-items: end;
            gap: 3rem;
            margin-bottom: 3rem;
        }

        .section-heading__eyebrow {
            margin-bottom: 0.75rem;
            color: var(--color-primary);
            font-size: 0.875rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .section-heading__title {
            max-width: 18ch;
            margin-bottom: 0;
            font-size: clamp(2rem, 4vw, 3.25rem);
            line-height: 1.1;
            letter-spacing: -0.045em;
        }

        .section-heading__description {
            max-width: 34rem;
            margin-bottom: 0.3rem;
            color: var(--color-text-muted);
        }

.services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

        .services-section__footer {
            display: flex;
            justify-content: center;
            margin-top: 2.5rem;
        }

        @media (max-width: 900px) {
            .services-section {
                padding-block: 4.5rem;
            }

            .section-heading {
                grid-template-columns: 1fr;
                gap: 1.25rem;
            }

            .services-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 620px) {
            .services-section {
                padding-block: 3.5rem;
            }

            .services-grid {
                grid-template-columns: 1fr;
            }
        }