/* Strong Tower Partners — site-wide responsive fixes */

html {
    scroll-padding-top: 5.5rem;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    max-width: 100vw;
}

img,
video {
    max-width: 100%;
}

.max-w-7xl {
    width: 100%;
}

.nav-desktop a,
.nav-desktop .dropdown > a {
    font-size: 1rem;
    line-height: 1.5;
}

.nav-desktop .nav-cta {
    font-size: 1rem;
}

/* Laptop / small desktop (1024px–1366px) */
@media (min-width: 1024px) and (max-width: 1366px) {
    .stp-section-heading {
        font-size: clamp(1.875rem, 3.5vw, 3rem) !important;
        line-height: 1.15 !important;
    }

    .stp-welcome-grid {
        min-height: auto !important;
    }

    .stp-container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .font-display.text-5xl,
    .font-display.text-6xl,
    h1.font-display,
    h2.font-display {
        font-size: clamp(2rem, 4vw, 3.25rem) !important;
    }
}

/* Prevent oversized min-heights from forcing vertical overflow on short viewports */
@media (max-height: 800px) and (min-width: 1024px) {
    .stp-welcome-grid {
        min-height: auto !important;
    }
}

/* Tighter horizontal padding on narrow viewports */
@media (max-width: 1280px) {
    section .stp-container,
    footer .stp-container,
    nav .stp-container {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
}
