/* 2026-03-15 restore layout after Brain Keeper brand patch */

:root{
  --hsb-card-max: 268px;
  --hsb-home-card-max: 268px;
  --hsb-partner-card-max: 268px;
}

/* Header brand keeps compact and does not stretch the header */
.renewal-header{min-height:78px}
.brand-link-wrap{gap:10px}
.brand-badge-top{max-width:100%;font-size:12px;padding:5px 10px}

/* Keep main sections visually aligned */
.renewal-main,
.home-brand-showcase,
.home-media-showcase-top,
.home-section-pager,
.section-shell,
.page-hero,
.company-grid,
.two-col-section{max-width:1240px;margin-left:auto;margin-right:auto}

/* Home brand section compact so other blocks keep prior balance */
.home-brand-showcase{margin:12px auto 18px;padding:0}
.home-brand-card{gap:16px;padding:20px 22px;border-radius:22px;max-width:1240px}
.home-brand-card h2{font-size:28px}
.home-brand-card p{font-size:15px;line-height:1.62}
.home-brand-markbox{max-width:270px;min-height:180px;border-radius:22px}
.home-brand-markbox .ko{font-size:30px}
.home-brand-markbox .en{font-size:18px}

/* Home main video width becomes the visual reference */
.home-media-showcase-top .home-media-stage{max-width:1240px;margin:0 auto;min-height:400px}

/* Restore 'main content' cards to compact fixed size on desktop */
.home-section-pager{max-width:1240px}
.home-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px;
  justify-items:stretch;
}
.home-card-grid .uniform-card{
  width:100%;
  max-width:var(--hsb-home-card-max);
  justify-self:center;
}

/* Force 4 columns on PC, prevent 5+x expansion, keep card max size */
.page-products .uniform-card-grid,
.page-papers .uniform-card-grid,
.page-issues .uniform-card-grid,
.page-community .uniform-card-grid,
.page-partners .uniform-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px;
  justify-items:stretch;
}
.page-products .uniform-card-grid .uniform-card,
.page-papers .uniform-card-grid .uniform-card,
.page-issues .uniform-card-grid .uniform-card,
.page-community .uniform-card-grid .uniform-card{
  width:100%;
  max-width:var(--hsb-card-max);
  justify-self:center;
}
.page-partners .uniform-card-grid .uniform-card{
  width:100%;
  max-width:var(--hsb-partner-card-max);
  justify-self:center;
}

/* Card internals unified */
.page-products .uniform-thumb,
.page-papers .uniform-thumb,
.page-issues .uniform-thumb,
.page-community .uniform-thumb,
.home-uniform-card .uniform-thumb{aspect-ratio:4/3}

.page-products .uniform-title,
.page-papers .uniform-title,
.page-issues .uniform-title,
.page-community .uniform-title,
.home-uniform-card .uniform-title{font-size:.98rem;line-height:1.42;min-height:2.84em}

.page-products .uniform-summary,
.page-papers .uniform-summary,
.page-issues .uniform-summary,
.page-community .uniform-summary,
.home-uniform-card .uniform-summary{font-size:.88rem;line-height:1.52;min-height:2.9em}

/* Partner cards: keep 4x3 grid, larger logo, text below */
.page-partners .uniform-card{display:flex;flex-direction:column}
.page-partners .uniform-thumb{aspect-ratio:16/9;background:#fff;padding:12px}
.page-partners .uniform-thumb img{object-fit:contain;background:#fff}
.page-partners .uniform-body{padding:14px 14px 16px}
.page-partners .uniform-title{display:block;min-height:2.9em;line-height:1.42;word-break:keep-all;overflow:visible;-webkit-line-clamp:unset}
.page-partners .uniform-summary.partner-summary{min-height:2.8em}

/* Company intro widths kept aligned with main content */
.company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1240px}
.company-grid .surface-card{max-width:100%}

@media (max-width: 1100px){
  .home-card-grid,
  .page-products .uniform-card-grid,
  .page-papers .uniform-card-grid,
  .page-issues .uniform-card-grid,
  .page-community .uniform-card-grid,
  .page-partners .uniform-card-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .home-media-showcase-top .home-media-stage{min-height:320px}
}

@media (max-width: 860px){
  .home-brand-card{grid-template-columns:1fr;padding:18px}
  .home-brand-card h2{font-size:24px}
  .home-brand-markbox{max-width:none;min-height:160px}
  .home-card-grid,
  .page-products .uniform-card-grid,
  .page-papers .uniform-card-grid,
  .page-issues .uniform-card-grid,
  .page-community .uniform-card-grid,
  .page-partners .uniform-card-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px}
  .home-card-grid .uniform-card,
  .page-products .uniform-card-grid .uniform-card,
  .page-papers .uniform-card-grid .uniform-card,
  .page-issues .uniform-card-grid .uniform-card,
  .page-community .uniform-card-grid .uniform-card,
  .page-partners .uniform-card-grid .uniform-card{max-width:none}
}

@media (max-width: 560px){
  .renewal-header{min-height:auto}
  .home-media-showcase-top .home-media-stage{min-height:210px}
  .home-brand-showcase{margin:10px auto 14px}
  .home-brand-card{padding:16px}
  .home-card-grid,
  .page-products .uniform-card-grid,
  .page-papers .uniform-card-grid,
  .page-issues .uniform-card-grid,
  .page-community .uniform-card-grid,
  .page-partners .uniform-card-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px}
}
