/* ==========================================================================
   PINWHEEL — Responsive system (2026 redesign)
   Verified at: 320 / 360 / 375 / 390 / 414 / 430 / 768 / 820 / 1024 / 1280 / 1440 / 1920
   Mobile-first intent, not a desktop-shrink.
   ========================================================================== */



@media (max-width: 1024px) {
  .hero-figure { max-width: 420px; margin-inline: auto; }
}

@media (max-width: 820px) {
  .row-item { grid-template-columns: 3rem 1fr; }
}

@media (max-width: 768px) {
  .section { padding-block: var(--space-section-sm); }
  .footer-grid { row-gap: 2rem; }
  .case-card .phases { grid-template-columns: repeat(2, 1fr); }
  .stat-row .value { font-size: var(--step-1); }
}

/* 414 / 430 — large phones ------------------------------------------------*/
@media (max-width: 430px) {
  .btn { width: 100%; }
  .hero-ctas { flex-direction: column; align-items: stretch; }
  .hero-ctas .btn { width: 100%; }
  .engine-item .tags { margin-left: 0; }
}

/* 390 / 375 — standard phones ---------------------------------------------*/
@media (max-width: 390px) {
  :root { --gutter: 1rem; }
  .brand span { font-size: 1.05rem; }
  .nav-actions { gap: 0.4rem; }
  .nav-actions .icon-link { width: 36px; height: 36px; }
}

/* 360 / 320 — small phones --------------------------------------------- */
@media (max-width: 360px) {
  .row-item { grid-template-columns: 1fr; gap: 0.4rem; }
  .row-item .idx { font-size: 0.9rem; }
}
@media (max-width: 340px) {
  .brand span { display: none; }
}

/* Landscape phones: shrink vertical rhythm so hero doesn't force excess scroll */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  .hero { padding-block: 2rem 1.5rem; }
  .section { padding-block: 2rem; }
}

/* Tablets in portrait (768-820ish): tighten 3/4-col grids to 2 a bit earlier */
@media (min-width: 620px) and (max-width: 900px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media print {
  .site-header, .site-footer, .fab-stack, .mobile-sticky-cta, .back-to-top, .cookie-banner { display: none !important; }
}
