}
.cic-directory { width: 100%; }

.cic-dir-header {
  background: linear-gradient(160deg, #0a1a0a 0%, #0d1f0d 40%, #0a140a 100%);
  border-bottom: 1px solid rgba(200,169,81,0.2);
  padding: 3.5rem 2rem 2.5rem;
}
.cic-dir-header-inner { max-width: 1400px; margin: 0 auto; }
.cic-dir-eyebrow { font-family: 'raleway',sans-serif; font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: var(--sal-gold, #C8A951); margin-bottom: .5rem; }
.cic-dir-title { font-family: 'raleway',sans-serif; font-size: clamp(2rem,5vw,3.5rem); font-weight: 700; color: #fff; margin: 0 0 .75rem; letter-spacing: .02em; }
.cic-dir-subtitle { font-family: 'merriweather',serif; font-size: 1rem; color: rgba(255,255,255,0.65); max-width: 700px; line-height: 1.7; margin: 0 0 2rem; }
.cic-dir-stats { display: flex; gap: 2.5rem; flex-wrap: wrap; }
.cic-stat { display: flex; flex-direction: column; gap: .2rem; }
.cic-stat-num { font-family: 'raleway',sans-serif; font-size: 2rem; font-weight: 700; color: var(--sal-gold,#C8A951); line-height: 1; }
.cic-stat-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,0.45); }

/* ── FILTERS ───────────────────────────────────────────────── */
.cic-filters { background: #0d1a0d; border-bottom: 1px solid rgba(255,255,255,0.07); padding: .85rem 2rem; position: sticky; top: 0; z-index: 10; }
.cic-filters-inner { max-width: 1400px; margin: 0 auto; display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; }
.cic-filter-group { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.cic-filter-label { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,0.35); white-space: nowrap; }
.cic-filter-chip { font-size: .78rem; padding: .3rem .85rem; border-radius: 999px; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.6); text-decoration: none; transition: all .15s; white-space: nowrap; }
.cic-filter-chip:hover { border-color: var(--sal-gold,#C8A951); color: var(--sal-gold,#C8A951); }
.cic-filter-chip.active { background: var(--sal-gold,#C8A951); border-color: var(--sal-gold,#C8A951); color: #0a0f0a; font-weight: 600; }

.cic-results-bar { max-width: 1400px; margin: 0 auto; padding: .6rem 2rem; font-size: .82rem; color: rgba(255,255,255,0.45); display: flex; gap: 1rem; align-items: center; }
.cic-active-filter { background: rgba(200,169,81,0.15); border: 1px solid rgba(200,169,81,0.3); border-radius: 999px; padding: .2rem .7rem; color: var(--sal-gold,#C8A951); font-size: .75rem; }
.cic-clear-filter { color: inherit; text-decoration: none; margin-left: .35rem; opacity: .7; }
.cic-clear-filter:hover { opacity: 1; }

/* ── CIC GRID ──────────────────────────────────────────────── */
.cic-grid { max-width: 1400px; margin: 0 auto; padding: 2rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }

.cic-card {
  display: flex; flex-direction: column;
  background: #0f1a0f; border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px; overflow: hidden; text-decoration: none;
  transition: transform .15s, border-color .15s, box-shadow .15s;
  position: relative;
}
.cic-card:hover { transform: translateY(-3px); border-color: rgba(200,169,81,0.4); box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
.cic-card--wartime { border-color: rgba(200,169,81,0.2); }
.cic-card--wartime::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--sal-gold,#C8A951); }

.cic-card-number { position: absolute; top: .75rem; right: .85rem; font-family: 'raleway',sans-serif; font-size: .85rem; color: rgba(255,255,255,0.25); font-weight: 500; }
.cic-card-number sup { font-size: .6rem; }

.cic-card-portrait { display: flex; justify-content: center; padding: 1.5rem 1rem .75rem; position: relative; }
.cic-card-portrait-inner { width: 80px; height: 80px; border-radius: 50%; background: rgba(200,169,81,0.1); border: 2px solid rgba(200,169,81,0.25); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cic-portrait-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.cic-portrait-initial { font-family: 'raleway',sans-serif; font-size: 2rem; font-weight: 700; color: var(--sal-gold,#C8A951); }
.cic-card-portrait img { width: 100%; height: 100%; object-fit: cover; }
.cic-living-dot { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; border: 2px solid #0f1a0f; position: absolute; bottom: .75rem; right: calc(50% - 50px); }

.cic-card-body { padding: .5rem 1rem 1.25rem; flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.cic-card-name { font-family: 'raleway',sans-serif; font-size: 1.05rem; font-weight: 600; color: #fff; line-height: 1.2; }
.cic-card-term { font-size: .75rem; color: rgba(255,255,255,0.45); font-family: 'raleway',sans-serif; }
.cic-card-party { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .2rem; }
.cic-party-dem { color: #60a5fa; }
.cic-party-rep { color: #f87171; }
.cic-party-whig { color: #a78bfa; }
.cic-party-fed { color: #34d399; }
.cic-party-other { color: rgba(255,255,255,0.35); }

.cic-card-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .25rem; }
.cic-badge { display: inline-flex; align-items: center; gap: .3rem; font-size: .67rem; padding: .2rem .55rem; border-radius: 4px; font-family: 'raleway',sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.cic-badge-icon { width: 12px; height: 12px; opacity: .8; }
.cic-badge--veteran { background: rgba(200,169,81,0.15); color: var(--sal-gold,#C8A951); border: 1px solid rgba(200,169,81,0.3); }
.cic-badge--wartime { background: rgba(239,68,68,0.12); color: #fca5a5; border: 1px solid rgba(239,68,68,0.25); }
.cic-badge--living { background: rgba(34,197,94,0.12); color: #86efac; border: 1px solid rgba(34,197,94,0.25); }
.cic-badge--command { background: rgba(139,92,246,0.12); color: #c4b5fd; border: 1px solid rgba(139,92,246,0.25); }

.cic-card-conflicts { font-size: .7rem; color: rgba(255,255,255,0.3); line-height: 1.4; margin-top: .25rem; border-top: 1px solid rgba(255,255,255,0.06); padding-top: .5rem; }

/* ═══════════════════════════════════════════════════════════════
   CIC PROFILE — Tab Architecture
   ═══════════════════════════════════════════════════════════════ */

.cic-profile { max-width: 1200px; margin: 0 auto; padding: 1.25rem 1.5rem 4rem; }

/* Back nav */
.cic-profile-back { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.25rem; flex-wrap:wrap; gap:.5rem; }
.cic-back-link { display:inline-flex; align-items:center; gap:.4rem; font-size:.8rem; color:rgba(255,255,255,.4); text-decoration:none; transition:color .15s; }
.cic-back-link:hover,.cic-veteran-link { color:var(--sal-gold,#C8A951); }
.cic-back-icon { width:14px;height:14px;opacity:.5;filter:invert(1); }
.cic-veteran-link .cic-back-icon { opacity:.8; }

/* Identity Header */
.cic-profile-header { display:flex; gap:1.75rem; align-items:flex-start; background:#0f1a0f; border:1px solid rgba(200,169,81,.2); border-radius:12px; padding:2rem; margin-bottom:0; position:relative; overflow:hidden; }
.cic-profile-header::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--sal-gold,#C8A951) 0%,rgba(200,169,81,.2) 60%,transparent 100%); }
.cic-header--wartime::after { content:''; position:absolute; top:0; right:0; width:200px; height:200px; background:radial-gradient(circle at top right,rgba(239,68,68,.06),transparent 70%); pointer-events:none; }

/* Portrait */
.cic-profile-portrait { flex-shrink:0; position:relative; }
.cic-portrait-ring { width:100px; height:100px; border-radius:50%; background:rgba(200,169,81,.08); border:2px solid rgba(200,169,81,.25); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cic-portrait-ring--veteran { border-color:var(--sal-gold,#C8A951); border-width:3px; box-shadow:0 0 20px rgba(200,169,81,.15); }
.cic-portrait-initial { font-family:'raleway',sans-serif; font-size:2.5rem; font-weight:700; color:var(--sal-gold,#C8A951); }
.cic-living-indicator { width:12px; height:12px; border-radius:50%; background:#22c55e; border:2px solid #0f1a0f; position:absolute; bottom:3px; right:3px; }

/* Identity text */
.cic-profile-identity { flex:1; min-width:0; }
.cic-profile-ordinal { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; color:var(--sal-gold,#C8A951); margin-bottom:.35rem; }
.cic-profile-name { font-family:'raleway',sans-serif; font-size:clamp(1.6rem,3.5vw,2.75rem); font-weight:700; color:#fff; margin:0 0 .3rem; line-height:1.1; }
.cic-profile-une { font-size:.75rem; color:rgba(255,255,255,.25); margin-bottom:.5rem; }
.cic-profile-dates { display:flex; align-items:center; gap:.4rem; font-size:.82rem; color:rgba(255,255,255,.4); margin-bottom:.75rem; }
.cic-dates-sep { color:rgba(255,255,255,.2); }
.cic-dates-living { color:#86efac; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.cic-profile-badges { display:flex; flex-wrap:wrap; gap:.4rem; }

/* Badges */
.cic-badge { display:inline-flex; align-items:center; gap:.3rem; font-size:.67rem; padding:.2rem .55rem; border-radius:4px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.cic-badge-icon { width:11px;height:11px;opacity:.85; }
.cic-badge--veteran { background:rgba(200,169,81,.12); color:var(--sal-gold,#C8A951); border:1px solid rgba(200,169,81,.3); }
.cic-badge--wartime { background:rgba(239,68,68,.1); color:#fca5a5; border:1px solid rgba(239,68,68,.25); }
.cic-badge--term { background:rgba(255,255,255,.05); color:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.1); font-size:.65rem; }

/* Tab bar */
.cic-tabs { display:flex; gap:0; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:0; overflow-x:auto; scrollbar-width:none; background:#0a130a; border-top:1px solid rgba(255,255,255,.06); }
.cic-tabs::-webkit-scrollbar { display:none; }
.cic-tab { padding:.85rem 1.25rem; font-size:.78rem; font-family:'raleway',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.35); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; transition:all .15s; display:flex; align-items:center; gap:.4rem; }
.cic-tab:hover { color:rgba(255,255,255,.7); }
.cic-tab.active { color:var(--sal-gold,#C8A951); border-bottom-color:var(--sal-gold,#C8A951); }
.cic-tab--locked { opacity:.5; }
.cic-tab-badge { font-size:.58rem; padding:.1rem .35rem; background:rgba(255,255,255,.08); border-radius:3px; color:rgba(255,255,255,.3); }
.cic-tab-count { font-size:.65rem; background:rgba(200,169,81,.2); color:var(--sal-gold,#C8A951); border-radius:999px; padding:.1rem .4rem; font-weight:700; }

/* Tab panels */
.cic-tab-panels { background:#0d170d; border:1px solid rgba(255,255,255,.07); border-top:none; border-radius:0 0 10px 10px; }
.cic-panel-tab { display:none; }
.cic-panel-tab.active { display:block; }
.cic-tab-inner { padding:2rem; }
.cic-tab-title { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:700; color:rgba(255,255,255,.85); text-transform:uppercase; letter-spacing:.1em; margin:0 0 1.75rem; padding-bottom:.75rem; border-bottom:1px solid rgba(255,255,255,.07); }

/* Overview grid */
.cic-overview-grid { display:grid; grid-template-columns:1fr 280px; gap:2rem; }
.cic-ov-stats { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:2rem; }
.cic-ov-stat { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:.85rem 1.1rem; min-width:140px; }
.cic-ov-stat-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.3); margin-bottom:.35rem; }
.cic-ov-stat-value { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:600; color:#fff; margin-bottom:.15rem; }
.cic-ov-stat-sub { font-size:.72rem; color:rgba(255,255,255,.35); }
.cic-ov-section { margin-bottom:2rem; }
.cic-ov-section-title { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.35); margin-bottom:1rem; }

/* Conflict tiles */
.cic-conflict-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.85rem; }
.cic-conflict-tile { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:1rem; display:flex; flex-direction:column; gap:.4rem; transition:border-color .15s; }
.cic-conflict-tile:hover { border-color:rgba(200,169,81,.3); }
.tile--wartime   { border-left:3px solid rgba(239,68,68,.5); }
.tile--inherited { border-left:3px solid rgba(139,92,246,.5); }
.tile--concluded { border-left:3px solid rgba(34,197,94,.5); }
.tile--action    { border-left:3px solid rgba(251,191,36,.5); }
.tile--other     { border-left:3px solid rgba(255,255,255,.15); }
.cic-tile-name { font-size:.88rem; font-weight:600; color:#fff; }
.cic-tile-role { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.35); }
.cic-tile-notes { font-size:.75rem; color:rgba(255,255,255,.35); line-height:1.5; flex:1; }
.cic-tile-link { font-size:.72rem; color:var(--sal-gold,#C8A951); text-decoration:none; margin-top:.25rem; }
.cic-tile-link:hover { text-decoration:underline; }

/* First Lady preview */
.cic-fl-previews { display:flex; flex-direction:column; gap:.85rem; }
.cic-fl-preview { display:flex; gap:1rem; align-items:flex-start; background:rgba(255,255,255,.025); border:1px solid rgba(200,169,81,.1); border-radius:8px; padding:.85rem; }
.cic-fl-portrait { width:44px; height:44px; border-radius:50%; background:rgba(200,169,81,.1); border:1px solid rgba(200,169,81,.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cic-fl-initial { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:700; color:var(--sal-gold,#C8A951); }
.cic-fl-name { font-size:.88rem; font-weight:600; color:#fff; text-decoration:none; display:block; }
a.cic-fl-name:hover { color:var(--sal-gold,#C8A951); }
.cic-fl-dates { font-size:.72rem; color:rgba(255,255,255,.35); margin-top:.15rem; }
.cic-fl-married { font-size:.7rem; color:rgba(255,255,255,.25); }

/* Overview sidebar */
.cic-overview-sidebar { display:flex; flex-direction:column; gap:1rem; }
.cic-ov-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:1.1rem; }
.cic-ov-card-title { font-family:'raleway',sans-serif; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.3); margin-bottom:.85rem; }
.cic-ov-field { display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; padding:.35rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.cic-ov-field:last-child { border-bottom:none; }
.cic-ov-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.3); white-space:nowrap; padding-top:.15rem; }
.cic-ov-val { font-size:.82rem; color:rgba(255,255,255,.75); text-align:right; }
.cic-ov-roll-link { display:flex; align-items:center; gap:.6rem; background:rgba(200,169,81,.08); border:1px solid rgba(200,169,81,.25); border-radius:8px; padding:.85rem 1rem; text-decoration:none; color:var(--sal-gold,#C8A951); font-size:.8rem; transition:all .15s; }
.cic-ov-roll-link:hover { background:rgba(200,169,81,.15); }
.cic-ov-roll-icon { width:16px;height:16px;filter:invert(1) sepia(1) saturate(2) hue-rotate(5deg);opacity:.8; }
.cic-ov-card--tabs { padding:.75rem; }
.cic-ov-tab-link { display:block; padding:.5rem .6rem; font-size:.78rem; color:rgba(255,255,255,.4); text-decoration:none; border-radius:5px; transition:all .15s; }
.cic-ov-tab-link:hover { background:rgba(255,255,255,.05); color:rgba(255,255,255,.8); }

/* Command record */
.cic-term-card { background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:10px; overflow:hidden; margin-bottom:1.25rem; }
.cic-term-card--wartime { border-color:rgba(239,68,68,.2); }
.cic-term-card-header { padding:1rem 1.25rem; background:rgba(0,0,0,.2); display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.06); }
.cic-term-ordinal { font-family:'raleway',sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; color:var(--sal-gold,#C8A951); }
.cic-term-period { font-size:.82rem; color:rgba(255,255,255,.5); }
.cic-term-card-body { padding:1.25rem; }
.cic-term-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.25rem; }
.cic-subsection-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.3); margin-bottom:.75rem; }
.cic-term-conflicts { border-top:1px solid rgba(255,255,255,.06); padding-top:1.1rem; }
.cic-conflict-row { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.cic-conflict-row:last-child { border-bottom:none; }
.cic-conflict-left { flex:1; }
.cic-conflict-right { display:flex; flex-direction:column; align-items:flex-end; gap:.35rem; flex-shrink:0; }
.cic-conflict-name { font-size:.9rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.cic-conflict-notes { font-size:.75rem; color:rgba(255,255,255,.35); line-height:1.5; }
.cic-conflict-veterans-link { font-size:.7rem; color:var(--sal-gold,#C8A951); text-decoration:none; white-space:nowrap; }
.cic-conflict-veterans-link:hover { text-decoration:underline; }
.cic-role-badge { font-size:.62rem; padding:.15rem .45rem; border-radius:3px; text-transform:uppercase; letter-spacing:.06em; font-weight:600; white-space:nowrap; }
.cic-role--wartime   { background:rgba(239,68,68,.12); color:#fca5a5; }
.cic-role--inherited { background:rgba(139,92,246,.12); color:#c4b5fd; }
.cic-role--concluded { background:rgba(34,197,94,.1); color:#86efac; }
.cic-role--action    { background:rgba(251,191,36,.1); color:#fde68a; }
.cic-role--other     { background:rgba(255,255,255,.07); color:rgba(255,255,255,.4); }

/* Military Service */
.cic-no-service { text-align:center; padding:3rem 2rem; }
.cic-no-service-icon { margin-bottom:1.5rem; }
.cic-no-service-title { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:600; color:rgba(255,255,255,.5); margin-bottom:.75rem; }
.cic-no-service-text { font-size:.85rem; color:rgba(255,255,255,.3); max-width:480px; margin:0 auto; line-height:1.7; }
.cic-service-record {}
.cic-service-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-service-branch-icon { width:48px; height:48px; }
.cic-service-branch { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:700; color:#fff; }
.cic-service-rank { font-size:.85rem; color:var(--sal-gold,#C8A951); }
.cic-service-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.cic-sf { }
.cic-sf-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.3); margin-bottom:.25rem; }
.cic-sf-val { font-size:.88rem; color:rgba(255,255,255,.8); }
.cic-service-notes { font-size:.82rem; color:rgba(255,255,255,.45); line-height:1.75; border-top:1px solid rgba(255,255,255,.07); padding-top:1.25rem; margin-bottom:1.5rem; }
.cic-roll-btn { display:inline-flex; align-items:center; gap:.6rem; background:rgba(200,169,81,.08); border:1px solid rgba(200,169,81,.3); border-radius:7px; padding:.65rem 1.25rem; text-decoration:none; color:var(--sal-gold,#C8A951); font-size:.82rem; transition:all .15s; }
.cic-roll-btn:hover { background:rgba(200,169,81,.15); }
.cic-roll-btn-icon { width:15px;height:15px;filter:invert(1) sepia(1) saturate(2) hue-rotate(5deg);opacity:.8; }

/* Biography */
.cic-bio-section { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-bio-section:last-child { border-bottom:none; }
.cic-bio-section-title { display:flex; align-items:center; gap:.6rem; font-family:'raleway',sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.4); margin-bottom:1.1rem; }
.cic-bio-section-icon { width:14px;height:14px;opacity:.5;filter:invert(1); }
.cic-bio-text { font-family:'merriweather',serif; font-size:.88rem; color:rgba(255,255,255,.7); line-height:1.85; }
.cic-bio-placeholder,.cic-family-placeholder { text-align:center; padding:3rem 2rem; }
.cic-bio-placeholder-text,.cic-family-placeholder-text { font-size:.85rem; color:rgba(255,255,255,.25); font-style:italic; }

/* Family */
.cic-family-section { margin-bottom:2.5rem; }
.cic-family-section-title { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.35); margin-bottom:1.1rem; }
.cic-family-cards { display:flex; flex-direction:column; gap:1rem; }
.cic-family-card { display:flex; gap:1.25rem; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:1.25rem; transition:border-color .15s; }
.cic-family-card:hover { border-color:rgba(200,169,81,.2); }
.cic-family-card--first-lady { border-color:rgba(200,169,81,.15); }
.cic-family-portrait { flex-shrink:0; position:relative; }
.cic-family-portrait-inner { width:60px; height:60px; border-radius:50%; background:rgba(200,169,81,.1); border:2px solid rgba(200,169,81,.3); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cic-family-portrait--other .cic-family-initial { color:rgba(255,255,255,.4); }
.cic-family-portrait--other { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1); }
.cic-family-initial { font-family:'raleway',sans-serif; font-size:1.4rem; font-weight:700; color:var(--sal-gold,#C8A951); }
.cic-living-dot { width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #0d170d;position:absolute;bottom:1px;right:1px; }
.cic-family-info { flex:1; min-width:0; }
.cic-family-name { font-size:.95rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.cic-family-name-link { color:#fff; text-decoration:none; }
.cic-family-name-link:hover { color:var(--sal-gold,#C8A951); }
.cic-anc-badge { font-size:.6rem; padding:.1rem .4rem; background:rgba(200,169,81,.15); color:var(--sal-gold,#C8A951); border-radius:3px; margin-left:.4rem; font-weight:700; letter-spacing:.06em; vertical-align:middle; }
.cic-family-role { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sal-gold,#C8A951); margin-bottom:.35rem; }
.cic-family-dates { font-size:.78rem; color:rgba(255,255,255,.35); margin-bottom:.2rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.cic-family-marriage { font-size:.74rem; color:rgba(255,255,255,.25); margin-bottom:.35rem; }
.cic-family-notes { font-size:.78rem; color:rgba(255,255,255,.4); line-height:1.65; margin-top:.5rem; }
.cic-family-une { font-size:.68rem; color:rgba(255,255,255,.2); margin-top:.4rem; }

/* Media placeholder */
.cic-media-placeholder { text-align:center; padding:3.5rem 2rem; }
.cic-media-placeholder-icon { width:48px;height:48px;opacity:.2;filter:invert(1);margin-bottom:1.25rem; }
.cic-media-placeholder-title { font-family:'raleway',sans-serif; font-size:1rem; font-weight:600; color:rgba(255,255,255,.35); margin-bottom:.6rem; }
.cic-media-placeholder-text { font-size:.82rem; color:rgba(255,255,255,.25); max-width:480px; margin:0 auto 1.5rem; line-height:1.7; }
.cic-media-types { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.cic-media-type { font-size:.68rem; padding:.2rem .65rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:999px; color:rgba(255,255,255,.3); text-transform:uppercase; letter-spacing:.06em; }

/* Connections */
.cic-connections-section { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-connections-section:last-child { border-bottom:none; }
.cic-connections-section-title { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.35); margin-bottom:.6rem; }
.cic-connections-text { font-size:.8rem; color:rgba(255,255,255,.3); margin-bottom:1rem; }
.cic-connections-links { display:flex; flex-direction:column; gap:.5rem; }
.cic-conn-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:7px; text-decoration:none; transition:all .15s; }
.cic-conn-link:hover { border-color:rgba(200,169,81,.3); background:rgba(200,169,81,.04); }
.cic-conn-link--static { pointer-events:none; }
.cic-conn-link-left { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.cic-conn-conflict { font-size:.88rem; color:rgba(255,255,255,.75); }
.cic-conn-sub { font-size:.72rem; color:rgba(255,255,255,.3); }
.cic-conn-arrow { font-size:.72rem; color:var(--sal-gold,#C8A951); white-space:nowrap; flex-shrink:0; }
.cic-connections-placeholder { font-size:.82rem; color:rgba(255,255,255,.25); font-style:italic; }

/* Responsive */
@media (max-width:900px) {
  .cic-overview-grid { grid-template-columns:1fr; }
  .cic-overview-sidebar { order:-1; flex-direction:row; flex-wrap:wrap; }
  .cic-ov-card { flex:1; min-width:200px; }
}
@media (max-width:640px) {
  .cic-profile { padding:.75rem .75rem 3rem; }
  .cic-profile-header { flex-direction:column; gap:1rem; padding:1.25rem; }
  .cic-tab-inner { padding:1.25rem; }
  .cic-family-card { flex-direction:column; }
  .cic-term-meta-grid { grid-template-columns:1fr; }
  .cic-conflict-row { flex-direction:column; }
  .cic-conflict-right { align-items:flex-start; flex-direction:row; }
}

/* Portrait rect fixes */
.cic-profile-portrait { flex-shrink: 0; position: relative; width: 120px; }
.cic-portrait-rect { width: 120px; height: 160px; border-radius: 6px; overflow: hidden; background: rgba(200,169,81,.08); border: 2px solid rgba(200,169,81,.2); position: relative; }
.cic-portrait-rect--veteran { border-color: var(--sal-gold,#C8A951); box-shadow: 0 0 20px rgba(200,169,81,.15); }
.cic-portrait-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-portrait-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: rgba(200,169,81,.06); }
.cic-living-indicator { width: 12px; height: 12px; border-radius: 50%; background: #22c55e; border: 2px solid #0f1a0f; position: absolute; bottom: 4px; right: 4px; }

/* Card portrait rect */
.cic-card-portrait { padding: 0; position: relative; overflow: hidden; }
.cic-card-portrait-rect { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: rgba(200,169,81,.06); }
.cic-card-portrait-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-card-portrait-rect .cic-portrait-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.cic-living-dot { position: absolute; bottom: 6px; right: 6px; width: 10px; height: 10px; border-radius: 50%; background: #22c55e; border: 2px solid #0d170d; z-index: 2; }

/* Fix header flex layout with rect portrait */
.cic-profile-header { display: flex !important; flex-direction: row !important; gap: 1.75rem; align-items: flex-start; }
.cic-profile-portrait { flex-shrink: 0 !important; width: 120px !important; position: relative; }
.cic-profile-identity { flex: 1 !important; min-width: 0; }

/* PORTRAIT LAYOUT FINAL FIX */
.cic-profile-header { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 1.75rem !important; }
.cic-profile-portrait { flex: 0 0 120px !important; width: 120px !important; align-self: flex-start !important; }
.cic-portrait-rect { width: 120px !important; height: 160px !important; border-radius: 6px !important; overflow: hidden !important; }
.cic-profile-identity { flex: 1 1 auto !important; min-width: 0 !important; overflow: hidden !important; }
@media (max-width: 640px) {
  .cic-profile-header { flex-direction: column !important; }
  .cic-profile-portrait { flex: 0 0 auto !important; width: 100px !important; }
  .cic-portrait-rect { width: 100px !important; height: 133px !important; }
}

.cic-portrait-rect--fl { border-color: rgba(200,169,81,.4); }

/* Presidential connection portrait — constrain to 44x44 circle */
.cic-fl-pres-portrait { width: 44px !important; height: 44px !important; border-radius: 50% !important; overflow: hidden !important; flex-shrink: 0 !important; background: rgba(200,169,81,.1); border: 1px solid rgba(200,169,81,.25); display: flex; align-items: center; justify-content: center; }
.cic-fl-pres-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 50% !important; }

/* Presidential connection portrait — rectangular 3:4 */
.cic-fl-pres-portrait { width: 48px !important; height: 64px !important; border-radius: 4px !important; overflow: hidden !important; flex-shrink: 0 !important; background: rgba(200,169,81,.08); border: 1px solid rgba(200,169,81,.2); display: flex; align-items: center; justify-content: center; }
.cic-fl-pres-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 0 !important; }

/* Family portrait — rectangular NOT circle */
.cic-family-portrait-inner { width:60px !important; height:80px !important; border-radius:4px !important; overflow:hidden !important; background:rgba(200,169,81,.1); border:1px solid rgba(200,169,81,.25); display:flex; align-items:center; justify-content:center; }
.cic-family-portrait-inner img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:top center !important; display:block !important; border-radius:0 !important; }

/* FL portrait in CIC overview — 3:4 rect */
.cic-fl-portrait { width: 48px !important; height: 64px !important; border-radius: 4px !important; overflow: hidden !important; flex-shrink: 0 !important; }
.cic-fl-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; }

/* ═══ APPOINTMENTS (SecDef etc) ═══ */
.cic-term-appointments { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.07); }
.cic-appt-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.cic-appt-row:last-child { border-bottom: none; }
.cic-appt-role { font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sal-gold,#C8A951); margin-bottom: .2rem; }
.cic-appt-name { font-size: .9rem; font-weight: 600; color: #fff; margin-bottom: .2rem; }
.cic-appt-notes { font-size: .75rem; color: rgba(255,255,255,.4); margin-top: .3rem; line-height: 1.5; max-width: 600px; }
.cic-appt-dates { font-size: .75rem; color: rgba(255,255,255,.4); white-space: nowrap; text-align: right; padding-top: .2rem; }

/* ═══ MEDIA GALLERY ═══ */
.cic-media-section { margin-bottom: 2rem; }
.cic-media-section-title { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sal-gold,#C8A951); margin-bottom: 1rem; }
.cic-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
.cic-media-item { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 8px; overflow: hidden; transition: border-color .15s; }
.cic-media-item:hover { border-color: rgba(200,169,81,.3); }
.cic-media-item--portrait .cic-media-img-wrap { aspect-ratio: 3/4; }
.cic-media-img-wrap { width: 100%; overflow: hidden; background: rgba(0,0,0,.3); }
.cic-media-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-media-caption { padding: .6rem .75rem; }
.cic-media-caption-title { font-size: .8rem; font-weight: 600; color: #fff; }
.cic-media-caption-sub { font-size: .7rem; color: rgba(255,255,255,.4); margin-top: .15rem; }
.cic-media-caption-license { font-size: .65rem; color: rgba(200,169,81,.5); margin-top: .25rem; text-transform: uppercase; letter-spacing: .05em; }
.cic-media-coming-soon { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.07); }
.cic-media-coming-soon-title { font-size: .8rem; color: rgba(255,255,255,.3); margin-bottom: .75rem; }
.cic-media-coming-types { display: flex; flex-wrap: wrap; gap: .5rem; }

/* ═══ HONOR FILTER BAR — ICON VISIBILITY FIXES ═══ */
/* Search icon — was 0.4 opacity, barely visible */
.sfv-search-icon { opacity: 0.75 !important; filter: brightness(0) invert(1) !important; }

/* Has Photo toggle icon — ensure visible */
.sfv-toggle img { filter: brightness(0) invert(1) !important; opacity: 0.85 !important; }
.sfv-toggle.is-active img { filter: brightness(0) !important; opacity: 1 !important; }

/* Select dropdowns — ensure option text visible on all browsers */
.sfv-select { color: rgba(255,255,255,0.85) !important; }
.sfv-select option { background: #1a2e1a !important; color: rgba(255,255,255,0.85) !important; }

/* Select dropdown arrow visibility */
.sfv-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  padding-right: 28px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Search clear button visibility */
.sfv-search-clear { color: rgba(255,255,255,0.5) !important; background: none !important; border: none !important; font-size: 16px !important; cursor: pointer !important; padding: 0 4px !important; }
.sfv-search-clear:hover { color: rgba(255,255,255,0.9) !important; }

/* Sort select min width for new options */
.sfv-select--sort { min-width: 180px !important; }
.cic-fl-previews { display:flex; flex-direction:column; gap:.85rem; }
.cic-fl-preview { display:flex; gap:1rem; align-items:flex-start; background:rgba(255,255,255,.025); border:1px solid rgba(200,169,81,.1); border-radius:8px; padding:.85rem; }
.cic-fl-portrait { width:44px; height:44px; border-radius:50%; background:rgba(200,169,81,.1); border:1px solid rgba(200,169,81,.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cic-fl-initial { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:700; color:var(--sal-gold,#C8A951); }
.cic-fl-name { font-size:.88rem; font-weight:600; color:#fff; text-decoration:none; display:block; }
a.cic-fl-name:hover { color:var(--sal-gold,#C8A951); }
.cic-fl-dates { font-size:.72rem; color:rgba(255,255,255,.35); margin-top:.15rem; }
.cic-fl-married { font-size:.7rem; color:rgba(255,255,255,.25); }

/* Overview sidebar */
.cic-overview-sidebar { display:flex; flex-direction:column; gap:1rem; }
.cic-ov-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:1.1rem; }
.cic-ov-card-title { font-family:'raleway',sans-serif; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.3); margin-bottom:.85rem; }
.cic-ov-field { display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; padding:.35rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.cic-ov-field:last-child { border-bottom:none; }
.cic-ov-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.3); white-space:nowrap; padding-top:.15rem; }
.cic-ov-val { font-size:.82rem; color:rgba(255,255,255,.75); text-align:right; }
.cic-ov-roll-link { display:flex; align-items:center; gap:.6rem; background:rgba(200,169,81,.08); border:1px solid rgba(200,169,81,.25); border-radius:8px; padding:.85rem 1rem; text-decoration:none; color:var(--sal-gold,#C8A951); font-size:.8rem; transition:all .15s; }
.cic-ov-roll-link:hover { background:rgba(200,169,81,.15); }
.cic-ov-roll-icon { width:16px;height:16px;filter:invert(1) sepia(1) saturate(2) hue-rotate(5deg);opacity:.8; }
.cic-ov-card--tabs { padding:.75rem; }
.cic-ov-tab-link { display:block; padding:.5rem .6rem; font-size:.78rem; color:rgba(255,255,255,.4); text-decoration:none; border-radius:5px; transition:all .15s; }
.cic-ov-tab-link:hover { background:rgba(255,255,255,.05); color:rgba(255,255,255,.8); }

/* Command record */
.cic-term-card { background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:10px; overflow:hidden; margin-bottom:1.25rem; }
.cic-term-card--wartime { border-color:rgba(239,68,68,.2); }
.cic-term-card-header { padding:1rem 1.25rem; background:rgba(0,0,0,.2); display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.06); }
.cic-term-ordinal { font-family:'raleway',sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; color:var(--sal-gold,#C8A951); }
.cic-term-period { font-size:.82rem; color:rgba(255,255,255,.5); }
.cic-term-card-body { padding:1.25rem; }
.cic-term-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.25rem; }
.cic-subsection-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.3); margin-bottom:.75rem; }
.cic-term-conflicts { border-top:1px solid rgba(255,255,255,.06); padding-top:1.1rem; }
.cic-conflict-row { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.cic-conflict-row:last-child { border-bottom:none; }
.cic-conflict-left { flex:1; }
.cic-conflict-right { display:flex; flex-direction:column; align-items:flex-end; gap:.35rem; flex-shrink:0; }
.cic-conflict-name { font-size:.9rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.cic-conflict-notes { font-size:.75rem; color:rgba(255,255,255,.35); line-height:1.5; }
.cic-conflict-veterans-link { font-size:.7rem; color:var(--sal-gold,#C8A951); text-decoration:none; white-space:nowrap; }
.cic-conflict-veterans-link:hover { text-decoration:underline; }
.cic-role-badge { font-size:.62rem; padding:.15rem .45rem; border-radius:3px; text-transform:uppercase; letter-spacing:.06em; font-weight:600; white-space:nowrap; }
.cic-role--wartime   { background:rgba(239,68,68,.12); color:#fca5a5; }
.cic-role--inherited { background:rgba(139,92,246,.12); color:#c4b5fd; }
.cic-role--concluded { background:rgba(34,197,94,.1); color:#86efac; }
.cic-role--action    { background:rgba(251,191,36,.1); color:#fde68a; }
.cic-role--other     { background:rgba(255,255,255,.07); color:rgba(255,255,255,.4); }

/* Military Service */
.cic-no-service { text-align:center; padding:3rem 2rem; }
.cic-no-service-icon { margin-bottom:1.5rem; }
.cic-no-service-title { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:600; color:rgba(255,255,255,.5); margin-bottom:.75rem; }
.cic-no-service-text { font-size:.85rem; color:rgba(255,255,255,.3); max-width:480px; margin:0 auto; line-height:1.7; }
.cic-service-record {}
.cic-service-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-service-branch-icon { width:48px; height:48px; }
.cic-service-branch { font-family:'raleway',sans-serif; font-size:1.1rem; font-weight:700; color:#fff; }
.cic-service-rank { font-size:.85rem; color:var(--sal-gold,#C8A951); }
.cic-service-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.cic-sf { }
.cic-sf-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.3); margin-bottom:.25rem; }
.cic-sf-val { font-size:.88rem; color:rgba(255,255,255,.8); }
.cic-service-notes { font-size:.82rem; color:rgba(255,255,255,.45); line-height:1.75; border-top:1px solid rgba(255,255,255,.07); padding-top:1.25rem; margin-bottom:1.5rem; }
.cic-roll-btn { display:inline-flex; align-items:center; gap:.6rem; background:rgba(200,169,81,.08); border:1px solid rgba(200,169,81,.3); border-radius:7px; padding:.65rem 1.25rem; text-decoration:none; color:var(--sal-gold,#C8A951); font-size:.82rem; transition:all .15s; }
.cic-roll-btn:hover { background:rgba(200,169,81,.15); }
.cic-roll-btn-icon { width:15px;height:15px;filter:invert(1) sepia(1) saturate(2) hue-rotate(5deg);opacity:.8; }

/* Biography */
.cic-bio-section { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-bio-section:last-child { border-bottom:none; }
.cic-bio-section-title { display:flex; align-items:center; gap:.6rem; font-family:'raleway',sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.4); margin-bottom:1.1rem; }
.cic-bio-section-icon { width:14px;height:14px;opacity:.5;filter:invert(1); }
.cic-bio-text { font-family:'merriweather',serif; font-size:.88rem; color:rgba(255,255,255,.7); line-height:1.85; }
.cic-bio-placeholder,.cic-family-placeholder { text-align:center; padding:3rem 2rem; }
.cic-bio-placeholder-text,.cic-family-placeholder-text { font-size:.85rem; color:rgba(255,255,255,.25); font-style:italic; }

/* Family */
.cic-family-section { margin-bottom:2.5rem; }
.cic-family-section-title { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.35); margin-bottom:1.1rem; }
.cic-family-cards { display:flex; flex-direction:column; gap:1rem; }
.cic-family-card { display:flex; gap:1.25rem; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:1.25rem; transition:border-color .15s; }
.cic-family-card:hover { border-color:rgba(200,169,81,.2); }
.cic-family-card--first-lady { border-color:rgba(200,169,81,.15); }
.cic-family-portrait { flex-shrink:0; position:relative; }
.cic-family-portrait-inner { width:60px; height:60px; border-radius:50%; background:rgba(200,169,81,.1); border:2px solid rgba(200,169,81,.3); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cic-family-portrait--other .cic-family-initial { color:rgba(255,255,255,.4); }
.cic-family-portrait--other { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1); }
.cic-family-initial { font-family:'raleway',sans-serif; font-size:1.4rem; font-weight:700; color:var(--sal-gold,#C8A951); }
.cic-living-dot { width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #0d170d;position:absolute;bottom:1px;right:1px; }
.cic-family-info { flex:1; min-width:0; }
.cic-family-name { font-size:.95rem; font-weight:600; color:#fff; margin-bottom:.2rem; }
.cic-family-name-link { color:#fff; text-decoration:none; }
.cic-family-name-link:hover { color:var(--sal-gold,#C8A951); }
.cic-anc-badge { font-size:.6rem; padding:.1rem .4rem; background:rgba(200,169,81,.15); color:var(--sal-gold,#C8A951); border-radius:3px; margin-left:.4rem; font-weight:700; letter-spacing:.06em; vertical-align:middle; }
.cic-family-role { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sal-gold,#C8A951); margin-bottom:.35rem; }
.cic-family-dates { font-size:.78rem; color:rgba(255,255,255,.35); margin-bottom:.2rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.cic-family-marriage { font-size:.74rem; color:rgba(255,255,255,.25); margin-bottom:.35rem; }
.cic-family-notes { font-size:.78rem; color:rgba(255,255,255,.4); line-height:1.65; margin-top:.5rem; }
.cic-family-une { font-size:.68rem; color:rgba(255,255,255,.2); margin-top:.4rem; }

/* Media placeholder */
.cic-media-placeholder { text-align:center; padding:3.5rem 2rem; }
.cic-media-placeholder-icon { width:48px;height:48px;opacity:.2;filter:invert(1);margin-bottom:1.25rem; }
.cic-media-placeholder-title { font-family:'raleway',sans-serif; font-size:1rem; font-weight:600; color:rgba(255,255,255,.35); margin-bottom:.6rem; }
.cic-media-placeholder-text { font-size:.82rem; color:rgba(255,255,255,.25); max-width:480px; margin:0 auto 1.5rem; line-height:1.7; }
.cic-media-types { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.cic-media-type { font-size:.68rem; padding:.2rem .65rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:999px; color:rgba(255,255,255,.3); text-transform:uppercase; letter-spacing:.06em; }

/* Connections */
.cic-connections-section { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.cic-connections-section:last-child { border-bottom:none; }
.cic-connections-section-title { font-family:'raleway',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.35); margin-bottom:.6rem; }
.cic-connections-text { font-size:.8rem; color:rgba(255,255,255,.3); margin-bottom:1rem; }
.cic-connections-links { display:flex; flex-direction:column; gap:.5rem; }
.cic-conn-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:7px; text-decoration:none; transition:all .15s; }
.cic-conn-link:hover { border-color:rgba(200,169,81,.3); background:rgba(200,169,81,.04); }
.cic-conn-link--static { pointer-events:none; }
.cic-conn-link-left { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.cic-conn-conflict { font-size:.88rem; color:rgba(255,255,255,.75); }
.cic-conn-sub { font-size:.72rem; color:rgba(255,255,255,.3); }
.cic-conn-arrow { font-size:.72rem; color:var(--sal-gold,#C8A951); white-space:nowrap; flex-shrink:0; }
.cic-connections-placeholder { font-size:.82rem; color:rgba(255,255,255,.25); font-style:italic; }

/* Responsive */
@media (max-width:900px) {
  .cic-overview-grid { grid-template-columns:1fr; }
  .cic-overview-sidebar { order:-1; flex-direction:row; flex-wrap:wrap; }
  .cic-ov-card { flex:1; min-width:200px; }
}
@media (max-width:640px) {
  .cic-profile { padding:.75rem .75rem 3rem; }
  .cic-profile-header { flex-direction:column; gap:1rem; padding:1.25rem; }
  .cic-tab-inner { padding:1.25rem; }
  .cic-family-card { flex-direction:column; }
  .cic-term-meta-grid { grid-template-columns:1fr; }
  .cic-conflict-row { flex-direction:column; }
  .cic-conflict-right { align-items:flex-start; flex-direction:row; }
}

/* Portrait rect fixes */
.cic-profile-portrait { flex-shrink: 0; position: relative; width: 120px; }
.cic-portrait-rect { width: 120px; height: 160px; border-radius: 6px; overflow: hidden; background: rgba(200,169,81,.08); border: 2px solid rgba(200,169,81,.2); position: relative; }
.cic-portrait-rect--veteran { border-color: var(--sal-gold,#C8A951); box-shadow: 0 0 20px rgba(200,169,81,.15); }
.cic-portrait-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-portrait-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: rgba(200,169,81,.06); }
.cic-living-indicator { width: 12px; height: 12px; border-radius: 50%; background: #22c55e; border: 2px solid #0f1a0f; position: absolute; bottom: 4px; right: 4px; }

/* Card portrait rect */
.cic-card-portrait { padding: 0; position: relative; overflow: hidden; }
.cic-card-portrait-rect { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: rgba(200,169,81,.06); }
.cic-card-portrait-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-card-portrait-rect .cic-portrait-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.cic-living-dot { position: absolute; bottom: 6px; right: 6px; width: 10px; height: 10px; border-radius: 50%; background: #22c55e; border: 2px solid #0d170d; z-index: 2; }

/* Fix header flex layout with rect portrait */
.cic-profile-header { display: flex !important; flex-direction: row !important; gap: 1.75rem; align-items: flex-start; }
.cic-profile-portrait { flex-shrink: 0 !important; width: 120px !important; position: relative; }
.cic-profile-identity { flex: 1 !important; min-width: 0; }

/* PORTRAIT LAYOUT FINAL FIX */
.cic-profile-header { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 1.75rem !important; }
.cic-profile-portrait { flex: 0 0 120px !important; width: 120px !important; align-self: flex-start !important; }
.cic-portrait-rect { width: 120px !important; height: 160px !important; border-radius: 6px !important; overflow: hidden !important; }
.cic-profile-identity { flex: 1 1 auto !important; min-width: 0 !important; overflow: hidden !important; }
@media (max-width: 640px) {
  .cic-profile-header { flex-direction: column !important; }
  .cic-profile-portrait { flex: 0 0 auto !important; width: 100px !important; }
  .cic-portrait-rect { width: 100px !important; height: 133px !important; }
}

.cic-portrait-rect--fl { border-color: rgba(200,169,81,.4); }

/* Presidential connection portrait — constrain to 44x44 circle */
.cic-fl-pres-portrait { width: 44px !important; height: 44px !important; border-radius: 50% !important; overflow: hidden !important; flex-shrink: 0 !important; background: rgba(200,169,81,.1); border: 1px solid rgba(200,169,81,.25); display: flex; align-items: center; justify-content: center; }
.cic-fl-pres-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 50% !important; }

/* Presidential connection portrait — rectangular 3:4 */
.cic-fl-pres-portrait { width: 48px !important; height: 64px !important; border-radius: 4px !important; overflow: hidden !important; flex-shrink: 0 !important; background: rgba(200,169,81,.08); border: 1px solid rgba(200,169,81,.2); display: flex; align-items: center; justify-content: center; }
.cic-fl-pres-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; border-radius: 0 !important; }

/* Family portrait — rectangular NOT circle */
.cic-family-portrait-inner { width:60px !important; height:80px !important; border-radius:4px !important; overflow:hidden !important; background:rgba(200,169,81,.1); border:1px solid rgba(200,169,81,.25); display:flex; align-items:center; justify-content:center; }
.cic-family-portrait-inner img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:top center !important; display:block !important; border-radius:0 !important; }

/* FL portrait in CIC overview — 3:4 rect */
.cic-fl-portrait { width: 48px !important; height: 64px !important; border-radius: 4px !important; overflow: hidden !important; flex-shrink: 0 !important; }
.cic-fl-portrait img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; }

/* ═══ APPOINTMENTS (SecDef etc) ═══ */
.cic-term-appointments { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.07); }
.cic-appt-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.cic-appt-row:last-child { border-bottom: none; }
.cic-appt-role { font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sal-gold,#C8A951); margin-bottom: .2rem; }
.cic-appt-name { font-size: .9rem; font-weight: 600; color: #fff; margin-bottom: .2rem; }
.cic-appt-notes { font-size: .75rem; color: rgba(255,255,255,.4); margin-top: .3rem; line-height: 1.5; max-width: 600px; }
.cic-appt-dates { font-size: .75rem; color: rgba(255,255,255,.4); white-space: nowrap; text-align: right; padding-top: .2rem; }

/* ═══ MEDIA GALLERY ═══ */
.cic-media-section { margin-bottom: 2rem; }
.cic-media-section-title { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sal-gold,#C8A951); margin-bottom: 1rem; }
.cic-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
.cic-media-item { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 8px; overflow: hidden; transition: border-color .15s; }
.cic-media-item:hover { border-color: rgba(200,169,81,.3); }
.cic-media-item--portrait .cic-media-img-wrap { aspect-ratio: 3/4; }
.cic-media-img-wrap { width: 100%; overflow: hidden; background: rgba(0,0,0,.3); }
.cic-media-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.cic-media-caption { padding: .6rem .75rem; }
.cic-media-caption-title { font-size: .8rem; font-weight: 600; color: #fff; }
.cic-media-caption-sub { font-size: .7rem; color: rgba(255,255,255,.4); margin-top: .15rem; }
.cic-media-caption-license { font-size: .65rem; color: rgba(200,169,81,.5); margin-top: .25rem; text-transform: uppercase; letter-spacing: .05em; }
.cic-media-coming-soon { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.07); }
.cic-media-coming-soon-title { font-size: .8rem; color: rgba(255,255,255,.3); margin-bottom: .75rem; }
.cic-media-coming-types { display: flex; flex-wrap: wrap; gap: .5rem; }

/* ═══ HONOR FILTER BAR — ICON VISIBILITY FIXES ═══ */
/* Search icon — was 0.4 opacity, barely visible */
.sfv-search-icon { opacity: 0.75 !important; filter: brightness(0) invert(1) !important; }

/* Has Photo toggle icon — ensure visible */
.sfv-toggle img { filter: brightness(0) invert(1) !important; opacity: 0.85 !important; }
.sfv-toggle.is-active img { filter: brightness(0) !important; opacity: 1 !important; }

/* Select dropdowns — ensure option text visible on all browsers */
.sfv-select { color: rgba(255,255,255,0.85) !important; }
.sfv-select option { background: #1a2e1a !important; color: rgba(255,255,255,0.85) !important; }

/* Select dropdown arrow visibility */
.sfv-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  padding-right: 28px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Search clear button visibility */
.sfv-search-clear { color: rgba(255,255,255,0.5) !important; background: none !important; border: none !important; font-size: 16px !important; cursor: pointer !important; padding: 0 4px !important; }
.sfv-search-clear:hover { color: rgba(255,255,255,0.9) !important; }

/* Sort select min width for new options */
.sfv-select--sort { min-width: 180px !important; }

/* Conflicts */
.sal-conflict-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}
.sal-conflict-card{display:grid;grid-template-columns:100px 1fr 190px;gap:1.25rem;padding:1.15rem 1.35rem;background:var(--mem-surface);border:1px solid var(--mem-border);border-radius:var(--mem-radius-lg)}
.sal-conflict-years{font-weight:700;color:var(--mem-gold);font-size:.95rem;letter-spacing:.02em}
.sal-conflict-ongoing{color:var(--mem-t3);font-weight:400}
.sal-conflict-name{margin:0;font-size:1.15rem;color:var(--mem-t1)}
.sal-conflict-op{font-size:.85rem;color:var(--mem-t3);margin-top:.15rem}
.sal-conflict-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0}
.sal-conflict-chip{font-size:.7rem;padding:.15rem .5rem;border:1px solid var(--mem-border);border-radius:99px;color:var(--mem-t2)}
.sal-conflict-summary{margin:.5rem 0 0;color:var(--mem-t2);font-size:.9rem;line-height:1.55}
.sal-conflict-engagements,.sal-conflict-cas{font-size:.8rem;color:var(--mem-t2);margin-top:.5rem}
.sal-conflict-label{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mem-t3)}
.sal-conflict-stats{text-align:right}
.sal-conflict-honored{display:block;text-decoration:none}
.sal-conflict-count{display:block;font-size:1.6rem;font-weight:800;color:var(--mem-gold);line-height:1}
.sal-conflict-count-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mem-t3)}
@media(max-width:820px){.sal-conflict-card{grid-template-columns:1fr}.sal-conflict-stats{text-align:left}}
