html {
    scroll-behavior: smooth;
}

body {
    text-rendering: optimizeLegibility;
}

a,
button,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #facc15;
    outline-offset: 3px;
}

.page-hero {
    position: relative;
    overflow: hidden;
    background: #1a4d2e;
    color: #fff;
}

.page-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.9);
}

.page-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(26, 77, 46, 0.96), rgba(26, 77, 46, 0.88), rgba(26, 77, 46, 0.68));
}

.section-eyebrow {
    color: #15803d;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.content-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.service-panel {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.service-panel:hover {
    box-shadow: 0 16px 35px rgba(15, 23, 42, 0.12);
    transform: translateY(-2px);
}

.image-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.image-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.5rem;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
