/* ============================================
   NWK-BSAC Design System v2 — Responsive
   Breakpoint overrides
   ============================================ */

/* === Large Desktop (1440px+) === */
@media (min-width: 1440px) {
  .container {
    max-width: 1280px;
  }
}

/* === Tablet Landscape (1024px - 1279px) === */
@media (max-width: 1279px) and (min-width: 1024px) {
  .nwk-hero h1 {
    font-size: clamp(2rem, 4vw, 2.75rem);
  }
}

/* === Tablet Portrait (768px - 1023px) === */
@media (max-width: 1023px) {
  /* Hero adjustments */
  .nwk-hero {
    min-height: 80vh;
    padding: 160px 20px 60px;
  }

  .nwk-hero__kelp svg {
    height: 200px;
  }

  /* Reduce fish and particles */
  .nwk-fish--3 {
    display: none;
  }

  .nwk-particle:nth-child(n+6) {
    display: none;
  }

  /* Reduce bubbles on tablet */
  .nwk-bubble:nth-child(n+14) {
    display: none;
  }
}

/* === Mobile (up to 767px) === */
@media (max-width: 767px) {
  /* Hero */
  .nwk-hero {
    min-height: 85vh;
    padding: 140px 16px 60px;
  }

  .nwk-hero--short {
    min-height: 40vh;
    padding: 140px 16px 40px;
  }

  .nwk-hero__badge {
    font-size: 10px;
    padding: 6px 16px;
    letter-spacing: 1.5px;
  }

  .nwk-hero__sub {
    font-size: var(--text-base);
    margin-bottom: 32px;
  }

  .nwk-hero__actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .nwk-hero__actions .nwk-btn {
    width: 100%;
    max-width: 300px;
    justify-content: center;
  }

  /* Reduce visual effects on mobile */
  .nwk-hero__surface {
    height: 100px;
    opacity: 0.08;
  }

  .nwk-hero__rays::before {
    opacity: 0.5;
  }

  .nwk-hero__wreck {
    opacity: 0.04;
  }

  .nwk-hero__kelp svg {
    height: 150px;
  }

  .nwk-hero__kelp {
    opacity: 0.06;
  }

  /* Hide fish on mobile */
  .nwk-hero__fish {
    display: none;
  }

  /* Reduce to 10 bubbles on mobile */
  .nwk-bubble:nth-child(n+11) {
    display: none;
  }

  /* Reduce particles */
  .nwk-particle:nth-child(n+5) {
    display: none;
  }

  /* Container */
  .container {
    padding: 0 16px;
  }

  /* Section spacing */
  .nwk-section {
    padding: clamp(40px, 8vw, 60px) 0;
  }

  /* Cards */
  .nwk-card__body {
    padding: 20px;
  }

  .nwk-card--icon {
    padding: 24px;
  }

  /* Stats */
  .nwk-stat-box {
    padding: 20px;
  }

  /* Training cards */
  .nwk-training-card {
    padding: 24px;
  }

  /* Timeline mobile */
  .nwk-timeline {
    padding-left: 48px;
  }

  .nwk-timeline__number {
    left: -48px;
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .nwk-timeline__step {
    padding-bottom: 36px;
  }

  /* Event cards */
  .nwk-event-card__date-badge .day {
    font-size: var(--text-xl);
  }

  /* CTA Banner */
  .nwk-cta-banner {
    padding: 48px 16px;
  }

  .nwk-cta-banner__actions {
    flex-direction: column;
    align-items: center;
  }

  /* Info card unstick */
  .nwk-info-card {
    position: static;
  }

  /* Footer */
  .nwk-footer {
    padding-top: 40px;
  }

  .nwk-footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* === Small Mobile (up to 374px) === */
@media (max-width: 374px) {
  .nwk-hero {
    padding: 140px 12px 50px;
  }

  .nwk-btn--lg {
    font-size: var(--text-base);
    padding: 14px 28px;
  }

  .container {
    padding: 0 12px;
  }
}
