/* Layout · grids · splits · header toggles · visibility */

/* Container · max-width wrapper for site-width content blocks */
.gl-container {
  max-width: var(--container-max);
  margin: 0 auto;
}
.gl-container--narrow { max-width: var(--container-narrow); }


/* Grid · 2-col responsive */
.responsive-grid-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
@media (max-width: 1024px) {
  .responsive-grid-2col { grid-template-columns: 1fr; gap: 32px; }
}

/* Grid · hero split */
.responsive-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
@media (max-width: 1024px) {
  .responsive-hero-split { grid-template-columns: 1fr; gap: 40px; }
}

/* Grid · product split (responsive- prefixed alias of .product-split) */
.responsive-product-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: center;
}
.responsive-product-split-rev {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
@media (max-width: 1024px) {
  .responsive-product-split,
  .responsive-product-split-rev {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .responsive-product-split-rev > *:first-child { order: 2; }
  .responsive-product-split-rev > *:last-child  { order: 1; }
}

/* Grid · auto-fit card grid */
.responsive-card-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* Grid · N-col responsive */
.grid-3col, .grid-4col, .grid-5col, .grid-6col {
  display: grid;
  gap: 20px;
}
.grid-3col { grid-template-columns: repeat(3, 1fr); }
.grid-4col { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.grid-5col { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.grid-6col { grid-template-columns: repeat(6, 1fr); gap: 12px; }

@media (max-width: 1024px) {
  .grid-3col { grid-template-columns: repeat(2, 1fr); }
  .grid-4col { grid-template-columns: repeat(2, 1fr); }
  .grid-5col { grid-template-columns: repeat(3, 1fr); }
  .grid-6col { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 694px) {
  .grid-3col,
  .grid-4col { grid-template-columns: 1fr; }
  .grid-5col,
  .grid-6col { grid-template-columns: repeat(2, 1fr); }
}

/* Split · asymmetric · 1-1 */
.split-asym, .split-1-1 {
  display: grid;
  gap: 64px;
  align-items: center;
}
.split-asym { grid-template-columns: 1fr 1.4fr; }
.split-1-1  { grid-template-columns: 1fr 1fr; }
@media (max-width: 1024px) {
  .split-asym, .split-1-1 {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Product split · text↔mockup, mobile reverses to text-on-top */
.product-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: center;
}
.product-split-rev {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
@media (max-width: 1024px) {
  .product-split,
  .product-split-rev {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .product-split-rev > *:first-child { order: 2; }
  .product-split-rev > *:last-child  { order: 1; }
}

/* Business tabbar · horizontal scroll on tablet/mobile */
.business-tabbar {
  display: flex;
  align-items: stretch;
}
@media (max-width: 1024px) {
  .business-tabbar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .business-tabbar::-webkit-scrollbar { display: none; }
  .business-tabbar > * { flex-shrink: 0; }
}

/* Visibility · desktop / mobile (non-header) */
.desktop-only { display: revert; }
.mobile-only  { display: none; }
@media (max-width: 1024px) {
  .desktop-only { display: none !important; }
  .mobile-only  { display: revert !important; }
}

/* (Header desktop/mobile responsive switch lives in css/header.css) */
