/* ==================================================================== */
/*  HORIZON ELITE AVIATION — responsive.css                            */
/* ==================================================================== */

/* ---------- Large laptops ---------- */
@media (max-width: 1199.98px) {
    .section { padding: 90px 0; }
    .hero-visual { min-height: 380px; }
}

/* ---------- Tablet / collapsed nav (< 992px) ---------- */
@media (max-width: 991.98px) {
    /* Mobile menu panel — always readable regardless of scroll state */
    .navbar-collapse {
        background: #fff;
        margin-top: 14px;
        border-radius: 16px;
        padding: 14px 18px;
        box-shadow: var(--shadow-md);
    }
    .site-header .navbar-nav .nav-link,
    .site-header.scrolled .navbar-nav .nav-link { color: var(--dark-grey); }
    .navbar-nav .nav-link::after { display: none; }
    .navbar-nav .nav-item { border-bottom: 1px solid var(--grey-100); }
    .navbar-nav .nav-item:last-child { border-bottom: none; }
    .navbar-nav .btn-quote { margin-top: 12px; width: 100%; justify-content: center; }

    .hero { text-align: left; }
    .hero-copy { margin-bottom: 40px; }
    .hero-visual { min-height: 340px; margin: 0 auto; }
    .about-visual { margin-bottom: 30px; }
    .about-badge { position: static; margin: 22px auto 0; max-width: none; display: inline-flex; align-items: center; gap: 12px; }
    .about-badge-num { display: inline; }
}

/* ---------- Small tablets / large phones (< 768px) ---------- */
@media (max-width: 767.98px) {
    :root { --header-h: 72px; }
    .section { padding: 70px 0; }
    .section-head { margin-bottom: 44px; }

    .hero { min-height: auto; padding-top: 120px; padding-bottom: 70px; }
    .hero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
    .hero-actions .btn { width: 100%; justify-content: center; }
    .scroll-cue { display: none; }

    .hero-glass { padding: 30px 24px; }
    .float-icon { width: 52px; height: 52px; font-size: 1.2rem; }

    .feature-card { padding: 30px 24px; }
    .contact-card, .contact-form { padding: 30px 24px; }

    .part-card { flex-basis: 250px; width: 250px; }

    .footer-desc { max-width: none; }
}

/* ---------- Phones (< 576px) ---------- */
@media (max-width: 575.98px) {
    .brand-sub { font-size: .54rem; letter-spacing: .26em; }
    .brand-name { font-size: 1.1rem; }
    .brand-mark { height: 36px; padding: 0 9px; }

    .stat-num { font-size: 1.35rem; }
    .stat-label { font-size: .64rem; }

    .section-lead { font-size: 1.05rem; }
    .part-card { flex-basis: 230px; width: 230px; padding: 26px 22px; }

    .back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }
}
