/* ============================================
   VIOLA LANDING PAGE - RESPONSIVE ADJUSTMENTS
   ============================================ */

/* Medium desktop adjustments */
@media (max-width: 1200px) {
    .footer {
        padding: 80px 72px 88px;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .footer-brand {
        flex-direction: row;
        align-items: center;
        gap: 24px;
    }

    .footer-locations {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 48px;
    }

    .location-card {
        padding: 0;
        border-left: 0;
    }

    .location-card:first-child {
        padding-left: 0;
    }
}

/* Tablet breakpoint */
@media (max-width: 991px) {
    :root {
        --spacing-3xl: 96px;
        --spacing-2xl: 64px;
        --spacing-xl: 48px;
    }

    .container {
        padding: 0 40px;
    }

    .header-container {
        padding: 0 var(--spacing-md);
    }

    .about-title {
        margin: 48px auto 72px;
        font-size: clamp(40px, 5.4vw, 60.8px);
    }

    .about-content {
        flex-direction: column;
        align-items: center;
        gap: 72px;
        text-align: center;
    }

    .about-image {
        order: -1;
        margin: 0 auto;
        width: auto;
    }

    .about-text {
        margin: 0 auto;
        text-align: center;
    }

    .about-text p {
        max-width: 540px;
    }

    .services-grid {
        flex-direction: column;
        align-items: center;
        gap: 56px;
    }

    .services-grid--right {
        flex-direction: column;
        align-items: center;
    }

    .hero {
        padding-top: 90px;
    }

    .service-block--media img {
        width: auto;
        max-width: 100%;
        height: auto;
        min-height: 300px;
    }

    .service-block {
        margin: 0 auto;
        max-width: 100%;
    }

    .service-block--media {
        margin: 0 auto;
        width: auto;
    }

    .footer-content {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xl);
    }

    .footer-locations {
        width: 100%;
        flex-direction: column;
        gap: var(--spacing-lg);
    }

    .location-card {
        max-width: 100%;
    }

    
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    .contact-overlay {
        justify-content: center;
        align-items: flex-start;
    }

    .contact-wrapper {
        width: 100%;
        min-height: 100vh;
        align-items: stretch;
        justify-content: flex-start;
        padding: 96px 24px 48px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    :root {
        --font-size-h1: 52px;
        --font-size-h2: 36px;
        --spacing-lg: 32px;
        --spacing-xl: 44px;
        --spacing-2xl: 64px;
        --color-light-bg: #ffffff;
    }

    .container {
        padding: 0 24px;
        max-width: 590px;
    }

    .header {
        padding: 18px 0;
    }

    .header-container {
        gap: var(--spacing-md);
    }

    .logo-subtitle {
        letter-spacing: 0.12em;
    }

    .hamburger-menu {
        width: 24px;
    }

    .hero {
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
        height: 100vh;
        height: 100svh;
        height: 100dvh;
        padding-top: calc(env(safe-area-inset-top, 0px) + 64px);
        padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 32px);
        align-items: center;
        justify-content: center;
    }

    .hero-content {
        padding: 0 24px;
        gap: 32px;
    }

    .hero-title {
        font-size: 52px;
        line-height: 61px;
        letter-spacing: 0.02em;
        max-width: 394px;
        margin: 0 auto;
    }

    .hero-title__line {
        display: block;
    }

    .hero-title__line + .hero-title__line {
        margin-top: 8px;
    }

    .scroll-indicator {
        bottom: 124px;
    }

    .section-light,
    .section-dark {
        padding: 64px 0;
    }

    .about {
        padding: 92px 0 56px;
    }

    .about-title {
        font-size: 30px;
        line-height: 30px;
        margin: 28px auto 36px;
        text-align: center;
        max-width: 432px;
    }

    .about-content {
        flex-direction: column;
        align-items: center;
        gap: 32px;
        text-align: center;
        margin-bottom: 0;
    }

    .about-image {
        max-width: 305px;
        margin: 0 auto;
        width: 100%;
    }

    .about-text {
        margin: 0 auto;
        max-width: 432px;
        text-align: center;
    }

    .about-text p {
        font-size: 18px;
        line-height: 26px;
        color: rgba(33, 28, 67, 0.85);
        text-align: center;
    }

    .services {
        padding-top: 72px;
    }

    .services-grid,
    .services-grid--right {
        flex-direction: column;
        align-items: center;
        gap: 28px;
        max-width: 432px;
        margin: 0 auto;
    }

    .service-block {
        width: 100%;
    }

    .service-block--media {
        max-width: 307px;
        width: 100%;
        margin: 0 auto;
        border-radius: 24px;
        overflow: hidden;
    }

    .service-block--media img {
        width: 100%;
        height: auto;
    }

    .service-block--text {
        gap: 20px;
        max-width: 386px;
        margin: 0 auto;
        align-items: center;
        text-align: center;
    }

    .service-block--text .service-entry {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .service-entry h4 {
        font-size: 20px;
        line-height: 26px;
    }

    .service-entry p {
        font-size: 16px;
        line-height: 24px;
    }

    .service-meta {
        display: block;
        margin-top: 5px;
        margin-left: 0;
    }

    .service-block.service-advertising .service-entry h4,
    .service-block.service-advertising .service-entry p,
    .service-block.service-advertising .service-entry .service-meta,
    .service-block.service-media-ecommerce .service-entry h4,
    .service-block.service-media-ecommerce .service-entry p,
    .service-block.service-media-ecommerce .service-entry .service-meta {
        text-align: center;
    }

    .service-block.service-advertising {
        order: 1;
    }

    .service-block.service-advertising-image {
        order: 2;
    }

    .service-block.service-media-ecommerce {
        order: 3;
    }

    .service-block.service-media-ecommerce-image {
        order: 4;
    }

    .contact-panel {
        width: min(520px, 100%);
        padding: 40px 32px;
    }

    .contact-panel .contact-email,
    .contact-panel .contact-location {
        display: none;
    }

    .contact-panel__content {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .contact-submit {
        align-self: stretch;
        text-align: center;
    }

    .cta {
        padding: 56px 0 48px;
    }

    .cta-title {
        font-size: 24px;
        max-width: 360px;
        margin: 0 auto 20px;
        line-height: 32px;
    }

    .cta-email {
        display: inline-block;
        margin-top: 6px;
        font-size: 20px;
    }

    .campaigns {
        padding: 0;
        min-height: 236px;
        height: auto;
    }

    .footer {
        padding: 40px 24px 56px;
    }

    .footer-brand {
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-md);
    }

    .footer-logo-mark {
        display: none;
    }

    .footer-social {
        width: 100%;
        justify-content: center;
        gap: var(--spacing-sm);
    }

    .footer-content {
        align-items: center;
        text-align: center;
        gap: 32px;
    }

    .footer-locations {
        align-items: center;
        gap: 48px;
    }

    .location-card {
        text-align: center;
        max-width: 360px;
        border: none;
        padding-left: 0;
    }

    .location-card h5 {
        font-size: 20px;
        line-height: 1;
        margin-bottom: 18px;
    }

    .location-card p {
        font-size: 20px;
    }

    .footer-locations .location-card + .location-card {
        border-left: 0;
        padding-left: 0;
    }

}

/* Small devices */
@media (max-width: 520px) {
    :root {
        --font-size-h1: 48px;
        --font-size-h2: 32px;
    }

    .hero {
        padding-top: calc(env(safe-area-inset-top, 0px) + 56px);
        padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
    }

    .hero-content {
        gap: 24px;
    }

    .hero-title {
        font-size: 32px;
        letter-spacing: 0.02em;
        line-height: 1;
    }

    .scroll-indicator {
        bottom: 30px;
    }

    .container {
        padding: 0 20px;
    }

    .section-light,
    .section-dark {
        padding: 40px 0;
    }

    .about {
        padding-top: 76px;
    }

    .about-title span {
        display: inline;
    }

    .about-text {
        max-width: 90%;
    }

    .services-grid,
    .services-grid--right {
        max-width: 384px;
    }

    .service-block--media img {
        min-height: 200px;
    }

    .contact-panel {
        padding: 40px 24px;
    }

    .contact-close {
        top: 24px;
        right: 24px;
    }

    .contact-panel__intro h2 {
        font-size: 32px;
    }

    .contact-submit {
        padding: 12px 22px;
    }

    .contact-panel__content {
        gap: 28px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .fade-in,
    .fade-in.visible {
        transition: none;
        transform: none !important;
        opacity: 1 !important;
    }
}
    .services {
        padding-top: 0;
    }
