/* Responsive — 1440 / 1280 / 1024 / 768 / 480 / 360 */

@media (max-width: 1280px) {
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
    .why-asymmetric { grid-template-columns: 1fr 1fr; }
    .why-card-featured { grid-row: span 1; grid-column: span 2; }
}

@media (max-width: 1180px) {
    .header-cta { display: none; }
    .logo-tag { display: none; }
    .topbar-chip-email { display: none; }
}

@media (max-width: 1024px) {
    .slide-content { grid-template-columns: 1fr; }
    .hero-float-card { display: none; }
    .about-editorial { grid-template-columns: 1fr; }
    .about-float-badge { inset-inline-start: auto; inset-inline-end: 20px; bottom: -16px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .footer-brand { max-width: none; grid-column: 1 / -1; }
    .footer-newsletter-col { grid-column: 1 / -1; }
    .footer-newsletter-box { max-width: 480px; }
    .join-wrapper { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .contact-panel { min-height: auto; height: auto; }
    .contact-panel:hover { transform: none; }
    .contact-form-row { grid-template-columns: 1fr; }
    .product-detail-layout { grid-template-columns: 1fr; }
    .product-detail-shell { grid-template-columns: 1fr; }
    .product-detail-info { position: static; }
    .product-trust-row { grid-template-columns: 1fr; }
    .product-file-card { grid-template-columns: 64px minmax(0, 1fr); }
    .product-file-download { grid-column: 1 / -1; justify-self: start; }
    .about-work-grid { grid-template-columns: 1fr; }
    .about-rich-list ul { grid-template-columns: 1fr; }
    .about-advantages-shell { grid-template-columns: 1fr; }
    .faq-studio-grid { grid-template-columns: 1fr; }
    .brand-card { grid-column: span 12 !important; }
    .workshop-banner-grid { grid-template-columns: 1fr; }
    .workshop-banner-steps { grid-template-columns: 1fr; }
    .workshop-banner-aside { min-height: 240px; margin-top: 8px; }
    .workshop-phone-card {
        left: 50%;
        inset-inline-start: auto;
        transform: translateX(-50%);
    }
    .workshop-phone-card:hover {
        transform: translateX(-50%) translateY(-6px) scale(1.02);
    }
    .workshop-banner-actions { flex-direction: column; align-items: stretch; }
    .workshop-banner-btn { width: 100%; }
    .product-info-panel { position: static; }
    .articles-featured { grid-template-columns: 1fr; }
    .article-featured-card { min-height: 320px; }
    .article-side-card { grid-template-columns: 100px 1fr; }
    .articles-toolbar { flex-direction: column; align-items: stretch; }
    .articles-filter-bar { justify-content: center; flex-wrap: wrap; }
    .page-hero-inner { grid-template-columns: 1fr; }
    .page-hero-visual { display: none; }
    .page-hero { padding-bottom: clamp(56px, 8vw, 80px); }
    .team-showcase { grid-template-columns: repeat(2, 1fr); }
    .team-card-premium.featured { grid-column: span 1; grid-row: span 1; }
    .org-scroll-hint { display: block; }
    .mvv-grid { grid-template-columns: 1fr; }
    .gallery-masonry { columns: 2; }
    .gallery-bento { grid-template-columns: 1fr 1fr; }
    .gallery-card.is-feature { grid-column: span 2; grid-row: span 1; min-height: 320px; }

    /* Mobile drawer nav — tablets & phones */
    .site-header .header-inner {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        max-width: none;
        padding-inline: clamp(16px, 4vw, 32px);
    }
    .site-header .logo { justify-self: auto; min-width: 0; flex: 1 1 auto; }
    .site-header .header-actions { justify-self: auto; }
    .header-topbar { display: none; }
    .site-header,
    .site-header:not(.no-topbar) {
        --header-h: 72px;
        --header-h-scrolled: 64px;
        height: 72px;
    }
    .site-header .header-inner { height: 72px; }
    .logo-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: min(180px, 42vw);
    }
    .header-actions { flex-shrink: 0; margin-inline-start: auto; }

    .main-nav {
        position: fixed;
        top: 0;
        inset-inline-end: 0;
        bottom: 0;
        left: auto;
        width: min(320px, 88vw);
        flex: none;
        display: block;
        justify-self: auto;
        max-width: none;
        overflow: visible;
        background: var(--surface-elevated);
        padding: calc(var(--header-h) + 16px) 20px 32px;
        transform: translateX(100%);
        transition: transform var(--duration-normal) var(--ease-out),
                    visibility var(--duration-normal);
        z-index: 10060;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: var(--shadow-lg);
        visibility: hidden;
        pointer-events: none;
        border-inline-start: 1px solid var(--border);
        height: 100vh;
    }
    [dir="rtl"] .main-nav {
        transform: translateX(-100%);
        inset-inline-end: auto;
        inset-inline-start: 0;
        border-inline-start: none;
        border-inline-end: 1px solid var(--border);
    }
    .main-nav.open {
        transform: none;
        visibility: visible;
        pointer-events: auto;
    }
    .nav-list {
        flex-direction: column; gap: 6px;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
    }
    .nav-link {
        padding: 14px 16px;
        font-size: var(--text-body);
        border-radius: var(--radius-md);
        opacity: 0;
        transform: translateX(16px);
        transition: opacity var(--duration-normal), transform var(--duration-normal), background var(--duration-fast);
        box-shadow: none;
        gap: 12px;
    }
    .nav-icon { width: 22px; height: 22px; opacity: 1; }
    .nav-icon svg { width: 20px; height: 20px; }
    .nav-link:hover {
        transform: translateX(0) translateY(0);
        box-shadow: none;
    }
    .nav-link:hover::before { opacity: 0; }
    .nav-link:hover::after { display: none; }
    .nav-link:hover,
    .nav-link.active { background: var(--surface-muted); }
    .nav-link.active::after { display: none; }
    .nav-link.active::before { opacity: 0; }
    [dir="rtl"] .nav-link { transform: translateX(-16px); }
    [dir="rtl"] .nav-link:hover { transform: none; }
    .main-nav.open .nav-link { opacity: 1; transform: none; }
    .main-nav.open .nav-list li:nth-child(1) .nav-link { transition-delay: 0.05s; }
    .main-nav.open .nav-list li:nth-child(2) .nav-link { transition-delay: 0.1s; }
    .main-nav.open .nav-list li:nth-child(3) .nav-link { transition-delay: 0.15s; }
    .main-nav.open .nav-list li:nth-child(4) .nav-link { transition-delay: 0.2s; }
    .main-nav.open .nav-list li:nth-child(5) .nav-link { transition-delay: 0.25s; }
    .main-nav.open .nav-list li:nth-child(6) .nav-link { transition-delay: 0.3s; }
    .main-nav.open .nav-list li:nth-child(7) .nav-link { transition-delay: 0.35s; }

    .mobile-menu-btn {
        display: flex;
        flex-shrink: 0;
        position: relative;
        z-index: 10070;
    }
    .mobile-menu-btn.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .mobile-menu-btn.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .mobile-menu-btn.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

    .mobile-menu-backdrop { z-index: 10040; }
    .site-header .header-shell::before {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .lang-current { display: none; }
    .lang-chevron { display: none; }
    .lang-trigger { padding: 7px 8px; }
    .controls-dock { padding: 3px; }
    .controls-divider { display: none; }
    .theme-track { width: 48px; height: 26px; }
    .theme-knob { width: 20px; height: 20px; }
    [data-theme="dark"] .theme-knob { transform: translateX(22px); }
    [dir="rtl"] [data-theme="dark"] .theme-knob { transform: translateX(-22px); }
}

@media (max-width: 768px) {
    :root { --header-h: 68px; --header-h-scrolled: 60px; }

    .site-header .header-shell { margin: 0; border-radius: 0; }
    .site-header .header-inner { padding-inline: 16px; }

    .slides-wrapper { height: 80vh; min-height: 480px; }
    .slide-title { font-size: clamp(1.75rem, 7vw, 2.5rem); }
    .why-asymmetric { grid-template-columns: 1fr; }
    .why-card-featured { grid-column: span 1; }
    .footer-grid { grid-template-columns: 1fr; gap: 36px; }
    .footer-brand { grid-column: auto; }
    .footer-newsletter-col { grid-column: auto; }
    .footer-newsletter-box { max-width: none; }
    .footer-bar-inner { flex-direction: column; text-align: center; gap: 10px; padding: 10px 0; min-height: 0; }
    .footer-copy,
    .footer-credit { line-height: 1.4; white-space: normal; }
    .footer-legal { justify-content: center; }
    .section-header { flex-direction: column; align-items: flex-start; }
    .team-showcase { grid-template-columns: 1fr; }
    .team-card-premium.featured { grid-column: span 1; }
    .org-tree { justify-content: flex-start; }
    .org-node-card,
    .org-tree > .org-tree-node > .org-node-card { width: 180px; }
    .org-node-bio { display: none; }
    .org-node-photo,
    .org-tree > .org-tree-node > .org-node-card .org-node-photo {
        width: 72px;
        height: 72px;
    }
    .gallery-masonry { columns: 1; }
    .gallery-bento { grid-template-columns: 1fr; }
    .gallery-card.is-feature { grid-column: span 1; min-height: 280px; }
    .gallery-control { flex-direction: column; }
    .gallery-type-switch { width: 100%; }
    .gallery-type { flex: 1; justify-content: center; }
    .service-row { grid-template-columns: auto 1fr; }
    .service-row-arrow { display: none; }
    .lang-current { display: none; }
    .toast-container { left: 16px; right: 16px; }
    .toast { max-width: none; }
}

@media (max-width: 480px) {
    .container { padding: 0 16px; }
    .logo-text { display: none; }
    .header-actions { gap: 4px; }
    .controls-dock { gap: 0; }
    .hero-actions { flex-direction: column; }
    .hero-actions .btn { width: 100%; }
    .newsletter-field { flex-direction: column; border-radius: var(--radius-md); }
    .newsletter-field button { width: 100%; height: 44px; border-radius: 0; }
    .filter-form { flex-direction: column; align-items: stretch; }
    .filter-form input, .filter-form select, .filter-form button { width: 100%; }
    .page-breadcrumb { font-size: 0.7rem; padding: 5px 10px 5px 8px; }
    .page-breadcrumb-current { max-width: 120px; }
    .products-showcase { grid-template-columns: 1fr; }
    .articles-grid-editorial { grid-template-columns: 1fr; }
    .article-side-card { grid-template-columns: 1fr; }
    .article-side-thumb { aspect-ratio: 16/9; max-height: 160px; }
    .article-detail-hero h1 { max-width: none; }
}

@media (max-width: 360px) {
    .slide-content { padding-bottom: 60px; }
    .slider-controls { bottom: 24px; }
}
