/* =====================================================================
   Nordische Vermögensverwaltung — Responsive
   ===================================================================== */

@media (max-width: 1200px) {
    .container { padding: 0 36px; }
    .hero .container { gap: 40px; }
    .about-grid { gap: 44px; }
    .faq-grid, .process-grid { gap: 44px; }
}

@media (max-width: 1080px) {
    .counters { grid-template-columns: repeat(2, 1fr); gap: 36px 30px; }
    .feature-grid { grid-template-columns: 1fr; }
    .features { margin-top: 40px; }
    .split-head { grid-template-columns: 1fr; gap: 18px; align-items: start; }
}

/* ---------- Sidebar → drawer ---------- */
@media (max-width: 992px) {
    .sidebar {
        transform: translateX(-100%); width: 300px;
        box-shadow: 30px 0 60px -30px rgba(11, 18, 38, .4);
    }
    .sidebar.open { transform: none; }
    .site-main { margin-left: 0; padding-top: 64px; }

    .topbar {
        position: fixed; top: 0; left: 0; right: 0; height: 64px; z-index: 160;
        display: flex; align-items: center; justify-content: space-between;
        padding: 0 20px; background: #fff; border-bottom: 1px solid var(--line);
    }
    .topbar .brand-logo { height: 30px; }
    .hamburger { width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; }
    .hamburger span { display: block; width: 22px; height: 2px; background: var(--navy); border-radius: 2px; transition: .3s var(--ease); }
    .hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.active span:nth-child(2) { opacity: 0; }
    .hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .hero { padding: 104px 0 76px; min-height: auto; }
    .hero .container { grid-template-columns: 1fr; gap: 40px; }
    .hero-visual { min-height: auto; justify-content: flex-start; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .disc-grid { grid-template-columns: repeat(3, 1fr); }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid.team-grid--detailed { grid-template-columns: 1fr; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 768px) {
    .container { padding: 0 24px; }
    .section { padding: 76px 0; }
    .about-grid { grid-template-columns: 1fr; gap: 70px; }
    .about-card { right: 0; left: auto; bottom: -28px; }
    .process-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; gap: 36px; }
    .services-grid { grid-template-columns: 1fr; }
    .disc-grid { grid-template-columns: 1fr; }
    .disc { aspect-ratio: 16/9; }
    .disc-body p { opacity: 1; max-height: 100px; }
    .cta-band { padding: 44px 32px; }
    .cta-band .inner { flex-direction: column; align-items: flex-start; }
    .faq-a p { padding-left: 4px; }
    .quote-text { font-size: 1.4rem; }
    .hero-badge { left: auto; right: 16px; }
}

@media (max-width: 560px) {
    .container { padding: 0 18px; }
    .section { padding: 60px 0; }
    .team-grid { grid-template-columns: 1fr; }
    .team-grid--detailed .member { grid-template-columns: 1fr; }
    .team-grid--detailed .member-photo { aspect-ratio: 1/1; min-height: 0; }
    .counters { grid-template-columns: 1fr; gap: 26px; }
    .counter { padding-left: 18px; }
    .check-list { grid-template-columns: 1fr; }
    .grid-2 { grid-template-columns: 1fr; }
    .about-stats { gap: 28px; }
    .contact-card { padding: 26px 22px; }
    .hero-play { display: none; }
    .hero-badge { padding: 14px 16px; }
    .hero-badge .n { font-size: 1.4rem; }
    .footer-top { grid-template-columns: 1fr; gap: 30px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; }
    .btn { font-size: .9rem; }
}

/* Value section (Disciplines) */
@media (max-width: 980px) {
    .value-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
    .value-card.featured { transform: none; }
    .value-card.featured:hover { transform: translateY(-6px); }
}

/* Inner-page kit */
@media (max-width: 1080px) {
    .detail-grid { grid-template-columns: 1fr; gap: 40px; }
    .detail-aside { position: static; }
    .posts { grid-template-columns: repeat(2, 1fr); }
    .feature-row { grid-template-columns: repeat(2, 1fr); }
    .footer-top { grid-template-columns: 1.5fr 1fr 1fr; }
}

@media (max-width: 992px) {
    .page-hero-grid { grid-template-columns: 1fr; gap: 22px; align-items: start; }
    .page-hero-side { padding-bottom: 0; }
    .media-row, .media-row + .media-row { grid-template-columns: 1fr; gap: 36px; margin-top: 60px; }
    .media-row--rev .media-figure { order: 0; }
    .media-figure .badge-float { right: 0; }
    .stat-row { grid-template-columns: repeat(2, 1fr); gap: 26px; }
    .meta-bar { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .feature-row, .feature-row.cols-2, .feature-row.cols-3 { grid-template-columns: 1fr; gap: 26px; }
    .tiers { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
    .tier--featured { transform: none; }
    .posts { grid-template-columns: 1fr; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .tl-item { grid-template-columns: 64px 1fr; gap: 16px; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .page-hero { padding: 40px 0 50px; }
}

@media (max-width: 560px) {
    .stat-row { grid-template-columns: 1fr; }
    .meta-bar { grid-template-columns: 1fr; }
    .auth-card { padding: 30px 24px; }
}
