/* ================================================================
   Responsive — all breakpoints
   ≤ 1024px tablet · ≤ 640px mobile
   ================================================================ */

/* ================================================================
   TABLET — ≤ 1024px
   ================================================================ */
@media (max-width: 1024px) {

  /* ---- Shared Nav ---- */
  .nav-links { display: none; }
  .search-input { display: none; }

  /* ---- Swiss Nav ---- */
  .swiss-nav-grid { grid-template-columns: auto 1fr auto; }
  .swiss-nav .links { display: none; }
  .swiss-nav .nav-search { display: none; }

  /* ---- Home hero ---- */
  .hero-grid { grid-template-columns: 1fr; }
  .hero-meta {
    grid-column: span 1;
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  .hero-main { grid-column: span 1; }
  .hero-lower { grid-template-columns: 1fr; }
  .hero-lower .lead {
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding: 28px 0 28px 0;
  }
  .hero-lower .ctas { padding: 28px 0 0 0; }

  /* ---- Metrics row ---- */
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .metric { border-bottom: 1px solid var(--line); }
  .metric:nth-child(2n) { border-right: none; }

  /* ---- Pillars ---- */
  .pillars { grid-template-columns: 1fr; }
  .pillar-head, .pillar {
    grid-column: span 1;
    border-right: none;
    border-bottom: 1px solid var(--line);
  }

  /* ---- News section header ---- */
  .news-header { grid-template-columns: 1fr; }
  .news-header .lbl { grid-column: span 1; border-right: none; }
  .news-header .controls {
    grid-column: span 1;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid var(--line);
  }

  /* ---- News grid ---- */
  .news-grid { grid-template-columns: 1fr; }
  .news-featured { grid-column: span 1; border-right: none; }
  .news-list { grid-column: span 1; border-top: 1px solid var(--line); }

  /* ---- Programs section header ---- */
  .progs-header { grid-template-columns: 1fr; }
  .progs-header .lbl { grid-column: span 1; border-right: none; }
  .progs-header .desc { grid-column: span 1; flex-direction: column; align-items: flex-start; border-top: 1px solid var(--line); }

  /* ---- Programs table ---- */
  .progs-table-head { display: none; }
  .progs-row {
    grid-template-columns: auto 1fr;
    gap: 8px 16px;
    padding: 20px 24px;
  }
  .progs-row .num    { grid-column: 1; grid-row: 1; }
  .progs-row .org    { grid-column: 2; grid-row: 1; }
  .progs-row .name   { grid-column: 1 / 3; grid-row: 2; }
  .progs-row .muted  { grid-column: 1 / 3; font-size: 12px; }
  .progs-row .dl     { grid-column: 1; }
  .progs-row .status-wrap { grid-column: 2; text-align: right; }

  /* ---- Quote & Final CTA ---- */
  .quote-grid { grid-template-columns: 1fr; }
  .quote-label { grid-column: span 1; border-right: none; }
  .quote-body { grid-column: span 1; }
  .final-cta { grid-template-columns: 1fr; }
  .final-cta .body { grid-column: span 1; border-right: none; }
  .final-cta .side { grid-column: span 1; }

  /* ---- Swiss footer ---- */
  .swiss-footer-grid { grid-template-columns: 1fr 1fr; }
  .swiss-footer .col-brand { grid-column: span 2; border-right: none; border-bottom: 1px solid var(--line); }
  .swiss-footer .col { grid-column: span 1 !important; border-bottom: 1px solid var(--line); }
  .swiss-footer .col:last-of-type { border-right: none; }
  .swiss-footer .col-locale { grid-column: span 2; padding: 24px 28px; }

  /* ---- Shared footer ---- */
  .footer-grid { grid-template-columns: 1fr 1fr; }

  /* ---- Awards ---- */
  .awards-strip { grid-template-columns: repeat(2, 1fr); }
  .awards-strip > div { border-top: 1px solid var(--line-strong); }
  .laureates-grid { grid-template-columns: repeat(2, 1fr); }
  .laur-card:nth-child(3n) { border-right: 1px solid var(--line); }
  .laur-card:nth-child(2n) { border-right: none; }
  .cats-row { grid-template-columns: 60px 1fr; gap: 4px 12px; }
  .cats-row .desc { grid-column: 1 / 3; }
  .cats-row .act { grid-column: 1 / 3; text-align: left; margin-top: 10px; }

  /* ---- Blog ---- */
  .blog-body { grid-template-columns: 1fr; }
  .blog-item { grid-template-columns: 1fr 180px; }

  /* ---- Startups ---- */
  .stu-hero .row { grid-template-columns: 1fr; }
  .stu-hero .cta { text-align: left; }
  .stu-cards { grid-template-columns: repeat(2, 1fr); }
  .stages-grid { grid-template-columns: repeat(3, 1fr); }

  /* ---- Read next ---- */
  .read-next .row { grid-template-columns: 1fr 1fr; }

  /* ---- Startups table ---- */
  .stu-table-head { display: none; }
  .stu-table-row {
    grid-template-columns: auto 1fr;
    gap: 6px 12px;
  }
}

/* ================================================================
   MOBILE — ≤ 640px
   ================================================================ */
@media (max-width: 640px) {

  /* ---- Nav ---- */
  .nav { padding: 14px 18px; }
  .swiss-nav .brand { padding: 16px 18px; font-size: 12px; }

  /* ---- Home hero ---- */
  .hero-main { padding: 24px 18px 36px; }
  h1.hero-h { font-size: clamp(36px, 11vw, 56px); }
  .hero-lower { margin-top: 32px; }
  .hero-lower .ctas { gap: 10px; }
  .btn-swiss { width: 100%; box-sizing: border-box; }

  /* ---- Metrics ---- */
  .metric-row { grid-template-columns: 1fr; }
  .metric { border-right: none !important; }
  .metric .num { font-size: 44px; }

  /* ---- News header filters ---- */
  .news-filters { flex-wrap: wrap; }

  /* ---- Quote ---- */
  .quote-body .mark { font-size: 72px; }
  .quote-body blockquote { font-size: 26px; }

  /* ---- Awards ---- */
  .awards-strip { grid-template-columns: 1fr; }
  .awards-hero .row { grid-template-columns: 1fr; }
  .laureates-grid { grid-template-columns: 1fr; }
  .laur-card { border-right: none !important; }

  /* ---- Blog ---- */
  .blog-hero .row { flex-direction: column; align-items: flex-start; }
  .blog-item { grid-template-columns: 1fr; }
  .blog-item .thumb { display: none; }

  /* ---- Article ---- */
  .article-hero .author { flex-direction: column; }
  .article-list li { grid-template-columns: 40px 1fr; }
  .article-list .n { font-size: 28px; }
  .read-next .row { grid-template-columns: 1fr; }

  /* ---- Startups ---- */
  .stu-cards { grid-template-columns: 1fr; }
  .stages-grid { grid-template-columns: repeat(2, 1fr); }
  .stu-filters { flex-direction: column; align-items: flex-start; }
  .stu-filters .search-input { min-width: 100%; }
  .stu-filters .mono-mute { margin-left: 0; }

  /* ---- Shared footer ---- */
  .footer-grid { grid-template-columns: 1fr; }

  /* ---- Swiss footer ---- */
  .swiss-footer-grid { grid-template-columns: 1fr; }
  .swiss-footer .col-brand { grid-column: span 1; }
  .swiss-footer .col { grid-column: span 1 !important; border-right: none; }
  .swiss-footer .col-locale { grid-column: span 1; }

  /* ---- General ---- */
  .container-wide { padding: 0 18px; }
  .container { padding: 0 18px; }
  .crumbs { padding: 12px 18px; }
}
