.site-header {
    background: #3b1026;
    color: #fdf7f7;
}

.title {
    margin: 0;
    font-size: 2rem;
}

.subtitle {
    margin: 0.5rem 0 1rem;
    font-size: 0.95rem;
    opacity: 0.9;
}

.main-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.nav-btn {
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 1px solid #f3d1df;
    background: #fdf7f7;
    color: #3b1026;
    text-decoration: none;
    font-size: 0.9rem;
    cursor: pointer;
}

.nav-btn.active {
    background: #b0173f;
    color: #fdf7f7;
    border-color: #b0173f;
}

.highlight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
}

.highlight-card {
    padding: 1rem;
    border-radius: 0.75rem;
    background: #fffaf5;
    border: 1px solid #e3c7c7;
}

.card-btn {
    display: inline-block;
    margin-top: 0.75rem;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    background: #3b1026;
    color: #fdf7f7;
    text-decoration: none;
    font-size: 0.85rem;
}

/* ===== Family tree (family_tree.html) ===== */
.tree-section { margin: 28px 0; }
.tree-section-title { color:#5a4a86; font-size:20px; margin:0 0 4px; }
.tree-section-sub { color:#6b5b4d; font-size:14px; margin:0 0 12px; }
#tree-container ul { list-style:none; margin:0; padding-left:22px; }
#tree-container ul.tree-root { padding-left:0; }
#tree-container li.node { margin:4px 0; position:relative; }
#tree-container li.node ul { border-left:1px solid #d8cbb8; margin-left:8px; }
#tree-container li.collapsed > ul { display:none; }
#tree-container .row { display:flex; align-items:flex-start; gap:8px; }
#tree-container .toggle {
  cursor:pointer; width:18px; min-width:18px; height:18px; line-height:16px;
  text-align:center; border:1px solid #c8b9a4; border-radius:4px;
  background:#f3ecdf; color:#5a4a86; font-weight:700; user-select:none; margin-top:3px;
}
#tree-container .toggle.empty { border:none; background:transparent; cursor:default; }
#tree-container .person {
  display:inline-block; background:#fff; border:1px solid #e0d5c2; border-radius:8px;
  padding:8px 12px; margin:2px 0; max-width:640px;
}
#tree-container .person.memoir { border-color:#5a4a86; background:#f6f2fb; }
#tree-container .center-banner {
  display:inline-block; font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:#fff; background:#5a4a86; border-radius:4px; padding:1px 7px; margin-bottom:4px;
}
#tree-container .nm { font-weight:600; display:block; }
#tree-container .yrs { color:#6b5b4d; font-size:13px; }
#tree-container .place, #tree-container .spouse, #tree-container .note { display:block; font-size:13px; color:#5b4d40; }
#tree-container .note { margin-top:4px; font-style:italic; color:#6b5b4d; }
#tree-container .count { font-size:12px; color:#8a7a68; margin-left:8px; }
#tree-container .chip {
  display:inline-block; font-size:11px; padding:1px 7px; border-radius:10px; margin-left:6px;
}
#tree-container .chip.confirmed { background:#e3f0e3; color:#2f6b34; }
#tree-container .chip.record    { background:#eef0e3; color:#6b6334; }
#tree-container .chip.verify    { background:#f7e9e3; color:#8a4a2f; }
.tree-error { color:#8a4a2f; }
