/* ===================================================
   ZynoSec — Responsive Breakpoints
   Mobile-first, progressive enhancement
   =================================================== */

/* --- Mobile (default, 375px+) --- */

.zyno-nav__menu { display: none; }
.zyno-nav__cta { display: none; }
.zyno-hamburger { display: flex; }
.theme-toggle { margin-right: 0.75rem; }

.hero__title { font-size: clamp(1.8rem, 8vw, 3rem); }
.hero__subtitle { font-size: 0.95rem; }
.hero__ctas { flex-direction: column; gap: 0.75rem; }
.hero__ctas .btn { text-align: center; }

.form-row { grid-template-columns: 1fr; }
.single-post__nav { flex-direction: column; }

/* Services grid */
.services-grid { grid-template-columns: 1fr; }
.service-card { padding: 1.5rem; }

/* Stats */
.stats-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.stat-item__number { font-size: clamp(1.8rem, 5vw, 2.5rem); }

/* Approach */
.approach-grid { grid-template-columns: 1fr; }
.approach-step__line { display: none; }

/* Testimonials */
.testimonials-grid { grid-template-columns: 1fr; }

/* Case studies */
.case-study { padding: 1.5rem; }
.case-study__row { flex-direction: column; gap: 0.5rem; }

/* Industries */
.industries-grid { grid-template-columns: 1fr; }

/* Deliverables */
.deliverables-grid { grid-template-columns: 1fr; }

/* Footer */
.zyno-footer__grid { grid-template-columns: 1fr; gap: 2rem; }

/* Methodology */
.methodology-flow { flex-direction: column; }
.methodology-step__arrow { display: none; }
.methodology-step { min-width: auto; width: 100%; }

/* Findings */
.findings-grid { grid-template-columns: 1fr; }

/* FAQ */
.faq-item__question { padding: 1rem 1.25rem; font-size: 0.9rem; }

/* Related posts */
.related-posts__grid { grid-template-columns: 1fr; }

/* Sticky CTA */
.sticky-cta__text { display: none; }
.sticky-cta__inner { justify-content: center; }

/* Back to top — move away from sticky CTA */
.back-to-top { bottom: 4.5rem; right: 1rem; }

/* Blog grid */
.blog-grid { grid-template-columns: 1fr; }

/* Breadcrumbs */
.breadcrumbs { font-size: 0.55rem; }
.breadcrumbs--hero { padding-top: calc(var(--nav-height) + 0.5rem); }

/* Resources */
.resources-grid { grid-template-columns: 1fr; }

/* CTA block */
.cta-block { padding: 2rem 1.5rem; }

/* Marquee smaller text */
.marquee-item { font-size: 0.65rem; padding: 0 1rem; }

/* Service hero */
.service-hero { min-height: 45vh; }

/* Hide scroll hint on mobile */
.hero__scroll-hint { display: none; }

/* Cert badges wrap */
.certs-bar__items { gap: 0.375rem; }
.cert-badge { font-size: 0.5rem; padding: 0.3rem 0.5rem; }

/* --- Small mobile (< 375px) --- */
@media (max-width: 374px) {
    .hero__title { font-size: 1.6rem; }
    .zyno-container { padding: 0 0.75rem; }
    .service-card__title { font-size: 0.95rem; }
}

/* --- Tablet (768px) --- */
@media (min-width: 640px) {
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .findings-grid { grid-template-columns: repeat(2, 1fr); }
    .resources-grid { grid-template-columns: repeat(2, 1fr); }
    .industries-grid { grid-template-columns: repeat(2, 1fr); }
    .related-posts__grid { grid-template-columns: repeat(3, 1fr); }
    .hero__ctas { flex-direction: row; }
}

@media (min-width: 768px) {
    :root { --nav-height: 80px; }

    .zyno-section { padding: clamp(5rem, 10vw, 8rem) 0; }
    .hero__title { font-size: clamp(2.5rem, 6vw, 5rem); }
    .hero__subtitle { font-size: clamp(1rem, 2vw, 1.25rem); }
    .hero__scroll-hint { display: block; }

    .form-row { grid-template-columns: 1fr 1fr; }
    .single-post__nav { flex-direction: row; }

    .approach-grid { grid-template-columns: repeat(3, 1fr); }
    .approach-step__line { display: block; }

    .stats-grid { grid-template-columns: repeat(4, 1fr); }

    .testimonials-grid { grid-template-columns: repeat(3, 1fr); }

    .zyno-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; }

    .service-hero { min-height: 60vh; }

    .back-to-top { bottom: 2rem; right: 2rem; }

    .sticky-cta__text { display: block; }
    .sticky-cta__inner { justify-content: space-between; }

    .deliverables-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}

/* --- Desktop (1024px) --- */
@media (min-width: 1024px) {
    .zyno-nav__menu { display: flex; }
    .zyno-nav__cta { display: inline-flex; }
    .zyno-hamburger { display: none; }
    .mobile-nav { display: none !important; }

    .services-grid { grid-template-columns: repeat(4, 1fr); }
    .blog-grid { grid-template-columns: repeat(3, 1fr); }
    .industries-grid { grid-template-columns: repeat(3, 1fr); }

    .methodology-flow { flex-direction: row; }
    .methodology-step__arrow { display: inline; }
    .methodology-step { min-width: 140px; width: auto; }
}

/* --- Large Desktop (1440px) --- */
@media (min-width: 1440px) {
    :root { --content-max: 1320px; }
}

/* --- Touch device adjustments --- */
@media (hover: none) and (pointer: coarse) {
    .zyno-nav__item--has-dropdown .zyno-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: transparent;
        backdrop-filter: none;
        border: none;
        padding: 0 0 0 1rem;
        box-shadow: none;
    }

    .service-card:hover { transform: none; }
    .blog-card:hover { transform: none; }
    .zyno-cursor, .zyno-cursor__trail { display: none !important; }
}

/* --- Print --- */
@media print {
    .zyno-header, .mobile-nav, .scanline, .scene-container,
    .hero__scroll-hint, .zyno-cursor, .zyno-cursor__trail,
    .preloader, .scroll-progress, .back-to-top, .sticky-cta,
    .cookie-banner { display: none !important; }

    body { background: #fff; color: #000; }
    a { color: #000; text-decoration: underline; }
    .zyno-footer { background: #fff; }
    .zyno-footer * { color: #333; }
}
