/* group-refined.css — the Group Guide in the refined editorial register.
   Same design language as the team & match long-reads: warm paper, Source Serif
   prose, Archivo labels, quiet hairlines, white rounded cards. Tokens come from
   wc-site.css (--paper, --accent-strong, --font-serif, --font-text, --ink…);
   warm neutrals kept as local literals consistent with the other refined CSS.
   No quant, no dashboards, no external calls. */

.gg-wrap{ max-width:1120px; margin:0 auto; padding:0 32px 90px; }

/* ---------- hero ---------- */
.gg-hero{ padding:52px 0 8px; max-width:720px; }
.gg-kicker{ font-family:var(--font-text); font-size:12px; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; color:var(--accent-strong); margin:0 0 16px; }
.gg-hero h1{ font-family:var(--font-serif); font-weight:600; font-size:clamp(32px,4.6vw,46px);
  line-height:1.1; letter-spacing:-.012em; color:var(--ink); margin:0 0 18px; }
.gg-lede{ font-family:var(--font-serif); font-size:20px; line-height:1.6; color:#6b6759; margin:0; }
.gg-lede b{ color:var(--ink); font-weight:600; }

.gg-rule{ max-width:720px; margin:26px 0 0; padding:16px 0 0; border-top:1px solid #e6e1d4;
  font-family:var(--font-serif); font-size:16px; line-height:1.6; color:#3a382f; }
.gg-rule b{ color:var(--ink); font-weight:600; }
.gg-rule .gg-quiet{ color:#a8a292; }

/* ---------- A–L jump nav ---------- */
.gg-nav{ display:flex; flex-wrap:wrap; gap:7px; margin:30px 0 26px; }
.gg-nav a{ font-family:var(--font-text); font-size:13px; font-weight:600; color:#6b6759;
  text-decoration:none; width:34px; height:34px; display:flex; align-items:center;
  justify-content:center; border:1px solid #e6e1d4; border-radius:50%; }
.gg-nav a:hover{ border-color:var(--accent-strong); color:var(--accent-strong); }

/* ---------- group grid + cards ---------- */
.gg-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(322px,1fr)); gap:18px; }
.gg-card{ background:#fff; border:1px solid #e6e1d4; border-radius:12px; padding:22px 24px;
  scroll-margin-top:80px; }
.gg-card-h{ border-bottom:2px solid var(--ink); padding-bottom:9px; margin-bottom:14px; }
.gg-letter{ font-family:var(--font-display); font-weight:800; font-size:19px; letter-spacing:-.01em;
  color:var(--ink); }

.gg-fi{ width:22px; height:22px; border-radius:50%; display:inline-block; background-size:cover;
  background-position:center; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); vertical-align:middle; flex:none; }

.gg-teams{ display:flex; flex-direction:column; }
.gg-team{ display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid #eee9df;
  text-decoration:none; }
.gg-team:last-child{ border-bottom:0; }
.gg-team span{ font-family:var(--font-text); font-weight:600; font-size:15px; color:var(--ink); }
.gg-team:hover span{ color:var(--accent-strong); }

/* ---------- final-day double-header ---------- */
.gg-dh{ margin-top:14px; padding-top:14px; border-top:1px dashed #e6e1d4; }
.gg-dh-label{ font-family:var(--font-text); font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:#6b6759; margin-bottom:11px; }
.gg-fx{ display:flex; align-items:center; gap:10px; font-family:var(--font-text); font-size:13.5px;
  font-weight:600; color:var(--ink); margin-bottom:8px; }
.gg-fx-a{ flex:1; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-fx-b{ flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-fx-v{ color:#a8a292; font-size:11px; flex:none; }
.gg-fx .gg-fi{ width:18px; height:18px; }
.gg-dh-note{ font-family:var(--font-text); font-size:11.5px; color:#a8a292; text-align:center;
  margin:9px 0 0; line-height:1.4; }

/* ---------- the one-line shape read ---------- */
.gg-shape{ font-family:var(--font-serif); font-style:italic; font-size:14px; line-height:1.5;
  color:#6b6759; margin:14px 0 0; padding-top:13px; border-top:1px solid #eee9df; }

/* ---------- closing note ---------- */
.gg-foot{ max-width:720px; margin:36px 0 0; padding-top:18px; border-top:1px solid #e6e1d4;
  font-family:var(--font-serif); font-size:16px; line-height:1.6; color:#3a382f; }
.gg-foot a{ color:var(--accent-strong); font-weight:600; text-decoration:none; }
.gg-foot a:hover{ text-decoration:underline; }

@media(max-width:560px){
  .gg-grid{ grid-template-columns:1fr; }
  .gg-wrap{ padding:0 20px 64px; }
}
