/* Explain: Layout utilities for airy one-page studio sections. */
.section-pad {
    padding-top: clamp(4.5rem, 9vw, 8.5rem);
    padding-bottom: clamp(4.5rem, 9vw, 8.5rem);
}

.hero-dark {
    background:
        radial-gradient(circle at 82% 10%, rgba(224, 169, 187, 0.12), transparent 38rem),
        radial-gradient(circle at 8% 92%, rgba(139, 107, 181, 0.12), transparent 30rem),
        var(--background-color);
}

.hero-cover-media {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: url('https://files.cdn-files-a.com/uploads/12546227/normal_6ae658cf1e0bd.png?format=avif');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-cover-scrim {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(0, 25, 41, 0.82) 0%, rgba(0, 25, 41, 0.55) 45%, rgba(0, 25, 41, 0.9) 100%),
        linear-gradient(90deg, rgba(0, 25, 41, 0.75) 0%, rgba(0, 25, 41, 0.25) 60%, rgba(0, 25, 41, 0.6) 100%);
    pointer-events: none;
}

.contact-section {
    background:
        radial-gradient(circle at 88% 18%, rgba(224, 169, 187, 0.12), transparent 30rem),
        linear-gradient(180deg, var(--background-color), var(--surface-color));
}

.marquee-band {
    overflow: hidden;
}

.marquee-track {
    display: flex;
    width: max-content;
    align-items: center;
    direction: ltr;
    animation: marquee-scroll 38s linear infinite;
}

.marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 1.6rem;
    padding: 0 1.6rem;
    white-space: nowrap;
    color: var(--on-accent);
    font-family: var(--font-display);
    font-weight: 900;
    font-size: clamp(1.4rem, 3vw, 2.2rem);
    line-height: 1.1;
}

.marquee-star {
    font-size: 0.85rem;
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .marquee-track {
        animation: none;
    }
}

@media (min-width: 640px) and (max-width: 1023px) {
    .service-dots {
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
}