/* ══ GRUPO MODULE — MOSAIC + STATS ════ */
#s-gp {
  display: grid;
  grid-template-columns: 52% 48%;
  min-height: 780px;
  overflow: hidden;
}
.gp-mosaic {
  display: grid;
  grid-template-columns: 2fr 1.4fr 1.4fr;
  grid-template-rows: 200px 200px 190px 190px;
  gap: 5px; position: relative;
}
.gp-photo {
  background-size: cover; background-position: center; overflow: hidden;
}
.m1 { grid-column: 1; grid-row: 1/3; }
.m2 { grid-column: 2/4; grid-row: 1; }
.m3 { grid-column: 2; grid-row: 2; }
.m4 { grid-column: 3; grid-row: 2; }
.m5 { grid-column: 1/3; grid-row: 3; }
.m6 { grid-column: 3; grid-row: 3; }
.m7 { grid-column: 1; grid-row: 4; }
.m8 { grid-column: 2; grid-row: 4; }
.m9 { grid-column: 3; grid-row: 4; }

.gp-content {
  padding: 80px 64px 80px 72px;
  display: flex; flex-direction: column; justify-content: center;
}
.gp-h {
  font-family: var(--ff-serif); font-size: 44px; font-weight: 700;
  color: var(--blue); line-height: 1.08; margin-bottom: 10px;
}
.gp-h em { font-style: italic; color: var(--orange); }
.gp-sub { font-size: 15px; line-height: 1.8; color: var(--muted); font-weight: 300; margin-bottom: 36px; }

/* Stats */
.gp-stats {
  display: grid; grid-template-columns: repeat(3,1fr);
  border-top: 2px solid var(--orange); padding-top: 24px; margin-bottom: 40px;
}
.gp-stat { padding-right: 16px; border-right: 1px solid var(--border); }
.gp-stat:last-child { border-right: none; padding-right: 0; padding-left: 16px; }
.gp-stat:nth-child(2) { padding: 0 16px; }
.gp-stat-num {
  font-family: var(--ff-serif); font-size: 32px; font-weight: 700;
  color: var(--blue); line-height: 1; margin-bottom: 4px; display: block;
}
.gp-stat-label { font-size: 11px; color: var(--muted); font-weight: 400; line-height: 1.4; }

/* Arguments */
.gp-args { display: flex; flex-direction: column; }
.gp-arg { padding: 16px 0; border-bottom: 1px solid #f0f0f0; }
.gp-arg:first-child { padding-top: 0; }
.gp-arg-title {
  font-size: 13px; font-weight: 700; color: var(--blue);
  margin-bottom: 5px; line-height: 1.3;
  display: flex; align-items: flex-start; gap: 10px;
}
.gp-arg-title::before {
  content: ''; display: block; width: 16px; height: 2px;
  background: var(--orange); flex-shrink: 0; margin-top: 7px;
}
.gp-arg-text { font-size: 13px; line-height: 1.75; color: var(--muted); font-weight: 300; padding-left: 26px; }

/* Credit */
.gp-credit {
  position: absolute; bottom: 10px; right: 10px; z-index: 10;
  font-size: 9px; color: rgba(255,255,255,.55); letter-spacing: .06em;
  background: rgba(0,0,0,.25); padding: 3px 7px;
}
