/* --- AppBar --- */
.appbar-glass {
    backdrop-filter: blur(8px);
    background: rgba(255,255,255,0.6);
}

.brand {
    letter-spacing: .3px;
    font-weight: 1000;
}

/* --- Hero --- */
.hero {
    position: relative;
    padding: 6rem 1rem 4rem;
    text-align: center;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(1000px 600px at 50% -10%, rgba(25,118,210,.25), transparent 60%), linear-gradient(to bottom, rgba(0,0,0,.30), rgba(0,0,0,.10)), url('4.jpg') center/cover no-repeat;
    filter: saturate(1.05) contrast(.98);
    transform: scale(1.02);
}

.hero > * {
    position: relative;
    z-index: 1;
}

.hero .kicker {
    text-transform: uppercase;
    letter-spacing: .18em;
    opacity: .9
}

.hero-cta {
    gap: .5rem
}

/* --- Services --- */
.section {
    padding: 3.5rem 0;
}

.section-title {
    font-weight: 700;
    letter-spacing: .2px;
}

.service-card {
    transition: transform .18s ease, box-shadow .18s ease;
    border-radius: 16px;
}

    .service-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 24px rgba(0,0,0,.08);
    }

.service-img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 12px;
}

/* Section styling (optional) */
.partners-section {
    background: var(--mud-palette-background);
    border-top: 1px solid var(--mud-palette-divider);
    border-bottom: 1px solid var(--mud-palette-divider);
}

/* Row: logos sit next to each other, wrap on small screens */
.logos-row {
    display: flex;
    flex-wrap: wrap; /* remove if you want a single line only */
    justify-content: center;
    align-items: center;
    gap: clamp(16px, 3vw, 28px);
}

/* Equal “box” for every logo */
.logo-box {
    width: clamp(120px, 14vw, 180px); /* same width for all */
    height: 60px; /* same height for all */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Images scale to fit the box while keeping aspect ratio */
.partner-logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(1) brightness(.85);
    opacity: .9;
    transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}

.partner-logo:hover {
    filter: grayscale(.2) brightness(1);
    opacity: 1;
    transform: translateY(-1px);
}

