/* ============================================
   Responsive - SW Trading
   ============================================ */

/* Tablet landscape and below */
@media (max-width: 1024px) {
    :root {
        --font-size-4xl: 2.25rem;
        --font-size-3xl: 1.75rem;
        --container-padding: 1.5rem;
        --space-5xl: 5rem;
    }

    .site-header__nav-list {
        gap: var(--space-lg);
    }

    .info-columns {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .info-column {
        padding: var(--space-xl);
    }

    .fmt-showcase__pillars {
        grid-template-columns: 1fr 1fr 1fr;
        gap: var(--space-md);
    }

    .fmt-connector {
        display: none;
    }

    .insight-grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .feature-row {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .feature-row--reverse {
        direction: ltr;
    }

    .feature-row__image {
        order: -1;
        max-height: 360px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2xl);
    }

    .value-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .value-cards--3col {
        grid-template-columns: repeat(2, 1fr);
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .article-feature {
        grid-template-columns: 1fr;
    }

    .cta-bar {
        flex-direction: column;
        text-align: center;
    }

    .trust-bar__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cta-final {
        flex-direction: column;
        text-align: center;
    }

    .cta-final__actions {
        justify-content: center;
    }
}

/* Tablet portrait and below */
@media (max-width: 768px) {
    :root {
        --font-size-4xl: 2rem;
        --font-size-3xl: 1.75rem;
        --font-size-2xl: 1.5rem;
        --font-size-xl: 1.125rem;
        --header-height: 70px;
        --container-padding: 1.25rem;
        --space-5xl: 3.5rem;
        --space-4xl: 2.5rem;
        --space-3xl: 2rem;
    }

    /* Header mobile */
    .site-header__nav {
        display: none;
    }

    .nav-dropdown {
        display: none;
    }

    .site-header__menu-toggle {
        display: flex;
    }

    .mobile-nav {
        display: block;
    }

    /* Hero */
    .hero {
        min-height: 70vh;
    }

    .hero--inner {
        min-height: 50vh;
    }

    .hero__card {
        max-width: 100%;
        padding: var(--space-xl) var(--space-lg);
    }

    .hero--inner .hero__card {
        padding: var(--space-xl) var(--space-lg);
    }

    .hero--inner .hero__card h1 {
        font-size: var(--font-size-2xl);
    }

    /* Service cards */
    .service-cards {
        grid-template-columns: 1fr;
    }

    .trust-bar__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
    }

    .trust-bar__number {
        font-size: var(--font-size-xl);
    }

    .cta-final {
        flex-direction: column;
        text-align: center;
    }

    .cta-final__actions {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .cta-final__actions .btn {
        width: 100%;
        justify-content: center;
    }

    /* News */
    .news-card {
        flex: 0 0 85%;
    }

    .news-slider__header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-lg);
    }

    .news-card__meta,
    .article-card__meta,
    .article-feature__meta {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Footer */
    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-xl) var(--space-lg);
    }

    .site-footer__brand {
        grid-column: 1 / -1;
        padding-bottom: var(--space-lg);
        border-bottom: 1px solid var(--color-border);
    }

    .site-footer__column h4:not(:first-child) {
        margin-top: var(--space-lg);
    }

    .site-footer__bottom {
        flex-direction: column;
        gap: var(--space-md);
        text-align: center;
    }

    .site-footer__legal {
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--space-md);
    }

    /* Contact form grid */
    .contact-grid {
        grid-template-columns: 1fr !important;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .value-cards,
    .value-cards--3col {
        grid-template-columns: 1fr;
    }

    .value-card {
        padding: var(--space-xl);
    }

    .content-text {
        text-align: left !important;
    }

    .feature-row__image {
        max-height: 280px;
    }

    .section-intro {
        text-align: left !important;
    }

    .job-card {
        flex-direction: column;
    }

    .job-card .btn {
        align-self: flex-start;
    }

    /* Cookie banner */
    .cookie-banner__inner {
        flex-direction: column;
        gap: var(--space-lg);
    }

    .cookie-banner__actions {
        width: 100%;
    }

    .cookie-banner__actions .btn {
        flex: 1;
        justify-content: center;
        padding: 0.75rem 1rem;
        font-size: var(--font-size-xs);
    }

    .site-header__logo img,
    .site-footer__brand-mark > img {
        height: 30px;
    }

    .site-header__logo .site-logo__wordmark,
    .site-footer__brand-mark .site-logo__wordmark {
        font-size: 1.5rem;
    }

    .fmt-showcase__pillars {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
        max-width: 480px;
        margin: 0 auto;
    }

    .fmt-connector {
        display: none;
    }

    .fmt-showcase__heading {
        font-size: var(--font-size-3xl);
    }

    .fmt-showcase__heading br {
        display: none;
    }

    .fmt-showcase__heading-line {
        display: block;
    }

    .fmt-card__watermark {
        font-size: 7rem;
    }

    .fmt-convergence__ring {
        width: 5rem;
        height: 5rem;
    }

    .fmt-convergence__ring span {
        font-size: 0.95rem;
    }

    .fmt-showcase__insight {
        font-size: var(--font-size-base);
    }

    .fmt-detail-grid {
        grid-template-columns: 1fr;
    }

    .reveal,
    .reveal--left,
    .reveal--right,
    .reveal--scale,
    .reveal-stagger > * {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .reveal-stagger.is-revealed > * {
        transition-delay: 0s;
    }
}

/* Mobile small */
@media (max-width: 480px) {
    :root {
        --font-size-4xl: 1.75rem;
        --font-size-3xl: 1.5rem;
        --container-padding: 1rem;
    }

    .hero {
        min-height: 55vh;
    }

    .hero--inner {
        min-height: 45vh;
    }

    .hero__card {
        padding: var(--space-lg) var(--space-md);
    }

    .hero--inner .hero__card {
        padding: var(--space-lg) var(--space-md);
    }

    .hero--inner .hero__card h1 {
        font-size: 1.5rem;
    }

    .hero__card p {
        font-size: var(--font-size-sm);
    }

    .service-card__image {
        height: 180px;
    }

    .service-card__body {
        padding: var(--space-lg);
    }

    .service-card__title {
        font-size: var(--font-size-base);
        margin-bottom: var(--space-md);
    }

    .news-card {
        flex: 0 0 90%;
    }

    .news-card__image {
        height: 200px;
    }

    .site-header__logo {
        gap: 0.35rem;
    }

    .site-header__logo img,
    .site-footer__brand-mark > img {
        height: 26px;
    }

    .site-header__logo .site-logo__wordmark,
    .site-footer__brand-mark .site-logo__wordmark {
        font-size: 1.35rem;
    }

    .fmt-showcase {
        padding: var(--space-3xl) 0;
    }

    .fmt-showcase__heading {
        font-size: var(--font-size-2xl);
    }

    .fmt-card {
        padding: 1.5rem 1.25rem 1.25rem;
    }

    .fmt-convergence__center {
        padding: 0 var(--space-md);
    }

    .fmt-convergence__ring {
        width: 4.5rem;
        height: 4.5rem;
    }

    .fmt-convergence__ring span {
        font-size: 0.88rem;
    }

    .fmt-showcase__insight {
        font-size: var(--font-size-sm);
        line-height: 1.8;
    }

    .fmt-card__watermark {
        font-size: 5rem;
    }

    .trust-bar__grid {
        grid-template-columns: 1fr;
    }

    .trust-bar__number {
        font-size: 1.25rem;
    }
}
