/* ============================================================
   Responsive grid rules (mobile-first bases live inline via
   .grid + these breakpoints layer on columns)
   ============================================================ */
.grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; }
.products-grid{ display:grid; gap:var(--sp-6); grid-template-columns:1fr; }
.products-grid-detail{ display:grid; gap:var(--sp-7); grid-template-columns:1fr; }
.detail-card .product-media{ aspect-ratio:16/9; }
.detail-card .product-body{ gap:var(--sp-4); }
@media (min-width:880px){
  .products-grid-detail{ grid-template-columns:repeat(2,1fr); }
}
.cert-grid{ grid-template-columns:repeat(2,1fr); }
.check-grid{ grid-template-columns:1fr; }
.diff-grid{ grid-template-columns:1fr; }

@media (min-width:560px){
  .cert-grid{ grid-template-columns:repeat(3,1fr); }
  .hero-stats{ grid-template-columns:repeat(4,1fr); }
}
@media (min-width:640px){
  .grid-2{ grid-template-columns:repeat(2,1fr); }
  .products-grid{ grid-template-columns:repeat(2,1fr); }
  .check-grid{ grid-template-columns:repeat(2,1fr); }
  .stat-strip{ grid-template-columns:repeat(4,1fr); }
  .stat-strip .stat:nth-child(even){ border-right:1px solid var(--line); }
  .stat-strip .stat:nth-child(4n){ border-right:none; }
}
@media (min-width:860px){
  .grid-3{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:900px){
  .diff-grid{ grid-template-columns:repeat(2,1fr); column-gap:var(--sp-8); }
  .diff-row{ border-top:none !important; }
  .diff-grid .diff-row:nth-child(-n+2){ border-top:1px solid var(--line) !important; }
}
@media (min-width:1024px){
  .grid-4{ grid-template-columns:repeat(4,1fr); }
  .products-grid{ grid-template-columns:repeat(3,1fr); }
  .cert-grid{ grid-template-columns:repeat(6,1fr); }
}

/* ============================================================
   Section alternation helper (paper / sunk / black rhythm)
   ============================================================ */
.bg-paper{ background:var(--paper); }
.bg-sunk{ background:var(--paper-sunk); }
.bg-black{ position:relative; overflow:hidden; background:var(--black-950); color:var(--on-black); }
.bg-black > .container{ position:relative; z-index:2; }
.bg-raised{ background:var(--paper-raised); }

/* Two-column generic content layout (About mission text + Why Us intro, etc.) */
.split{
  display:grid;
  gap:var(--sp-7);
}
@media (min-width:900px){
  .split-60-40{ grid-template-columns:1.4fr 1fr; }
  .split-40-60{ grid-template-columns:1fr 1.4fr; }
  .split-even{ grid-template-columns:1fr 1fr; }
}

/* Utility */
.max-prose{ max-width:64ch; }
.center-text{ text-align:center; }
.mt-0{ margin-top:0; }
.text-slate{ color:var(--slate); }
.nowrap{ white-space:nowrap; }

@media print{
  .site-header, .mobile-nav, .back-to-top, .nav-scrim{ display:none !important; }
}

