/* ============================================
   Innovation Wealth — Responsive
   Mobile-first; scale up with min-width media queries.
   Default styles target mobile (< 640px).
   ============================================ */

/* ---------- Mobile defaults ---------- */
@media (max-width: 1023px) {

    :root {
        --gutter: 1.25rem;
        --header-h: 72px;
    }

    /* Header */
    .site-header {
        padding: 1rem 0;
    }
    .site-header__name { font-size: 0.9375rem; }
    .site-header__name-secondary { font-size: 0.75rem; }

    /* Nav: collapse into mobile drawer */
    .site-nav__toggle {
        display: flex;
        position: relative;
        z-index: 102;
    }
    .site-nav__list {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        height: 100svh;
        width: min(85%, 360px);
        background: var(--c-bg-soft);
        border-left: 1px solid var(--c-line);
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 6rem 2.5rem 3rem;
        gap: 1.75rem;
        transform: translateX(100%);
        transition: transform 0.5s var(--ease-out);
        z-index: 101;
    }
    .site-nav__list.is-open {
        transform: translateX(0);
    }
    .site-nav__link {
        font-family: var(--f-serif);
        font-size: 1.5rem;
        font-weight: 300;
        color: var(--c-bone);
    }
    .site-nav__cta {
        margin-top: 1rem;
    }

    /* Hero */
    .hero {
        padding: calc(var(--header-h) + 3rem) 0 4rem;
    }
    .hero__headline {
        max-width: 12ch;
        margin-bottom: 2rem;
    }
    .hero__lede {
        font-size: 1rem;
        margin-bottom: 2.25rem;
    }
    .hero__actions {
        margin-bottom: 3.5rem;
    }
    .hero__cta {
        padding: 0.875rem 1.5rem;
    }
    .hero__trust {
        gap: 1.5rem;
        padding-top: 2rem;
    }
    .hero__trust-num { font-size: 1.5rem; }

    .hero__scroll {
        display: none;
    }

    /* Services */
    .services__grid {
        grid-template-columns: 1fr 1fr;
    }
    .service-card {
        border-right: none;
        border-bottom: 1px solid var(--c-line);
        padding: 2rem 0;
    }
    .service-card:nth-child(odd) { padding-right: 1.5rem; border-right: 1px solid var(--c-line); }
    .service-card:nth-child(even) { padding-left: 1.5rem; }
    .service-card:nth-last-child(-n+2) { border-bottom: none; }

    /* About Intro */
    .about-intro__grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    /* Values */
    .values__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
    .value-item { border-right: none; padding-right: 0; }
    .values__header { flex-direction: column; align-items: flex-start; }
    .values__intro { text-align: left; }

    /* Insights */
    .insights-teaser__grid {
        grid-template-columns: 1fr;
        gap: 2px;
    }
    .insights-teaser__header { flex-direction: column; align-items: flex-start; gap: 1rem; }

    /* CTA */
    .cta-section__inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .cta-section__actions { flex-direction: row; }

    /* Footer */
    .site-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
        padding-bottom: 3rem;
    }
    .site-footer__brand-block {
        grid-column: 1 / -1;
    }
}

/* ---------- Small mobile ---------- */
@media (max-width: 540px) {
    .hero__eyebrow { margin-bottom: 1.75rem; }
    .hero__eyebrow-text { font-size: 0.6875rem; letter-spacing: 0.18em; }

    .hero__headline {
        font-size: clamp(2.25rem, 11vw, 3.5rem);
        max-width: 100%;
    }
    .hero__headline-row { padding-bottom: 0.05em; }
    .hero__headline-row--rotating { gap: 0.25em; }
    .hero__rotator { min-width: 5em; }

    .hero__lede {
        font-size: 0.9375rem;
        line-height: 1.7;
    }

    .hero__actions {
        gap: 0.75rem;
        flex-direction: column;
        align-items: stretch;
    }
    .hero__cta { justify-content: center; }

    .hero__trust {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }
    .hero__trust-divider { display: none; }

    /* Uniform section padding on mobile */
    .services,
    .about-intro,
    .values,
    .insights-teaser,
    .cta-section { padding: 4.5rem 0; }

    .services__grid { grid-template-columns: 1fr; }
    .service-card { border-right: none !important; padding-left: 0 !important; padding-right: 0 !important; }
    .values__grid { grid-template-columns: 1fr; gap: 2rem; }
    .cta-section__actions { flex-direction: column; }

    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .site-footer__list--nav {
        grid-template-columns: 1fr;
    }
    .site-footer__base {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ---------- Tablet ---------- */
@media (min-width: 640px) and (max-width: 1023px) {
    .hero__trust { gap: 2rem; }

    /* Uniform section padding on tablet */
    .services,
    .about-intro,
    .values,
    .insights-teaser,
    .cta-section { padding: 5.5rem 0; }
}

/* ---------- Desktop ---------- */
@media (min-width: 1024px) {
    /* Defaults already optimized for desktop */
}

/* ---------- Large desktop ---------- */
@media (min-width: 1440px) {
    .hero__content {
        padding: 0 3rem;
    }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .hero__tableau[data-tableau="watch"] .watch-hand-sec,
    .hero__tableau[data-tableau="watch"] .watch-hand-min,
    .hero__tableau[data-tableau="watch"] .watch-gear,
    .hero__scroll-line::after {
        animation: none !important;
    }
    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }
    .hero__headline-word,
    .hero__headline-prefix {
        transform: none !important;
    }
}
