/* =========================================================
   FOUNDER FAMILY ARCHITECTURE — Vibrant · Vanguard · Anchor
   Standalone copy for Essentials that do NOT load field-base.css
   (essence / terra / creating). Field-base pages already carry
   this block. Vibrant = lighter / seasonal · Vanguard = strong,
   ordered, binding (the load-bearing build role) · Anchor =
   calm, later. Vivarea is the held space, never a family status.
   ========================================================= */
.fam-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-bottom: 38px; }
.fam-head .sec-head { margin-bottom: 0; }
.fam-ladder {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--faint);
  border: 1px solid var(--line); border-radius: 99px; padding: 9px 16px;
  background: oklch(1 0 0 / .34);
}
.fam-ladder b { color: var(--accent-deep); font-weight: 700; }
.fam-ladder .sep { opacity: .45; }

.fam-grid { display: grid; grid-template-columns: 1fr 1.22fr 1fr; gap: 16px; align-items: stretch; }
.fam-card {
  position: relative; border-radius: var(--r); padding: 30px 28px 26px;
  display: flex; flex-direction: column; border: 1px solid var(--line);
  background: oklch(1 0 0 / .42); transition: all .24s ease;
}
.fam-card .fr-eye { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--faint); }
.fam-card h3 { font-family: var(--font-display); font-weight: 600; font-size: 33px; color: var(--ink); margin: 11px 0 0; line-height: 1; }
.fam-card .fr-say { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 21px; line-height: 1.3; color: var(--ink); margin: 14px 0 0; }
.fam-card .fr-desc { font-size: 14.5px; line-height: 1.58; color: var(--muted); margin: 13px 0 0; }
.fam-card .fr-foot { margin-top: auto; padding-top: 22px; }

/* Vibrant — lighter, airy, seasonal (warm sun thread, lowest visual weight) */
.fam-card.vibrant { background: linear-gradient(168deg, oklch(0.82 0.075 86 / .20), oklch(1 0 0 / .42)); border-color: oklch(0.66 0.088 82 / .34); }
.fam-card.vibrant:hover { transform: translateY(-3px); border-color: var(--gold-deep); box-shadow: var(--shadow-sm); }
.fam-card.vibrant .fr-eye { color: var(--gold-deep); }
.fam-card.vibrant .fr-allow { margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 7px; }
.fam-card.vibrant .fr-allow span {
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .04em; color: var(--ink-2);
  background: oklch(0.82 0.075 86 / .26); border: 1px solid oklch(0.66 0.088 82 / .3);
  border-radius: 99px; padding: 5px 11px;
}

/* Vanguard — strongest, ordered, binding. The load-bearing centre. */
.fam-card.vanguard {
  background: linear-gradient(168deg, var(--accent-tint), oklch(1 0 0 / .54));
  border-color: var(--accent-deep); box-shadow: var(--shadow);
}
.fam-card.vanguard::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; border-radius: var(--r) var(--r) 0 0; background: var(--accent-deep); }
.fam-card.vanguard:hover { transform: translateY(-3px); }
.fam-card.vanguard .fr-eye { color: var(--accent-deep); }
.fam-card.vanguard .fr-eye::after { content: ' · TRAGEND'; color: var(--accent-deep); opacity: .7; }

.vg-positions { margin-top: 18px; }
.vg-positions .vg-cap { font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); margin-bottom: 9px; }
.vg-pos { display: flex; align-items: center; gap: 11px; padding: 11px 14px; border-radius: var(--r-sm); background: oklch(1 0 0 / .55); border: 1px solid var(--accent-deep); margin-bottom: 8px; }
.vg-pos .vg-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent-deep); box-shadow: 0 0 0 4px var(--accent-tint); flex: none; }
.vg-pos .vg-t { font-size: 13.5px; color: var(--ink-2); line-height: 1.2; }
.vg-pos .vg-st { margin-left: auto; font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-deep); white-space: nowrap; }
.vg-micro {
  font-family: var(--font-mono); font-size: 11px; line-height: 1.5; color: var(--ink-2);
  margin: 16px 0 0; padding: 11px 14px; border-left: 2px solid var(--accent-deep);
  background: oklch(1 0 0 / .34);
}

/* Anchor — calm, grounded, later. Lowest activity, not the first step. */
.fam-card.anchor { background: oklch(1 0 0 / .26); border-style: dashed; border-color: var(--line-hi); }
.fam-card.anchor:hover { border-color: var(--faint); }
.fam-card.anchor h3 { color: var(--ink-2); }
.fam-card.anchor .fr-say { color: var(--ink-2); font-weight: 400; }
.fam-card.anchor .fr-eye { color: var(--faint); }
.fam-later { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); }
.fam-later::before { content: ''; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--faint); }

/* footer line under the grid */
.fam-note {
  margin: 28px auto 0; max-width: 940px; text-align: center;
  font-family: var(--font-serif); font-size: 16px; line-height: 1.62; color: var(--muted); text-wrap: pretty;
}
.fam-note b { color: var(--ink-2); font-weight: 600; }

/* field-specific kernsatz (terra / talents) */
.fam-kern {
  margin: 30px auto 0; max-width: 820px; text-align: center;
  font-family: var(--font-display); font-style: italic; font-weight: 500;
  font-size: clamp(22px, 2.4vw, 30px); line-height: 1.36; color: var(--ink); text-wrap: balance;
}
.fam-kern b { font-style: italic; font-weight: 600; color: var(--accent-deep); }

/* quiet link variants for Vibrant (gold) and Anchor (faint) */
.link-vibrant { color: var(--gold-deep); }
.link-anchor { color: var(--faint); }
.link-anchor:hover { color: var(--ink-2); }

@media (max-width: 1080px) {
  .fam-grid { grid-template-columns: 1fr; }
  .fam-card.vanguard { order: -1; }
}
