/* Morgan-GLII — reusable components (buttons, tags, cards, stat tiles, tables,
   lists, chips). Ported verbatim from the static prototype. */

/* ---------- Buttons / tags ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--orange);color:#fff;text-decoration:none;
  padding:13px 22px;border-radius:999px;font-weight:600;font-size:14.5px;
  border:1px solid transparent;transition:transform .15s, background .15s;
}
.btn:hover{background:var(--orange-bright);transform:translateY(-1px);}
.btn-ghost{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);
}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-outline{
  background:transparent;color:var(--ink);border:1.5px solid var(--line);
}
.btn-outline:hover{background:var(--orange);border-color:var(--orange);color:#fff;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.11em;
  font-size:12px;font-weight:500;
}
.tag{
  display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;
  font-size:13px;font-weight:600;background:var(--orange-soft);color:var(--orange);
}

/* ---------- Section heading ---------- */
.section-head{max-width:680px;margin-bottom:34px;}
.section-head .eyebrow{color:var(--orange);}
.section-head h2{font-size:clamp(24px,3vw,32px);margin-top:8px;}
.section-head p{color:var(--slate);margin-top:12px;font-size:15.5px;}

/* ---------- Cards & stat tiles ---------- */
.card{
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:24px;
}
.stat-tile{
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:20px 22px;
}
.stat-tile .num{font-family:'IBM Plex Mono',monospace;font-size:clamp(26px,3vw,34px);font-weight:600;color:var(--accent-strong);font-variant-numeric:tabular-nums;}
.stat-tile .label{color:var(--slate);font-size:13.5px;margin-top:6px;line-height:1.4;}

.icon-badge{
  width:44px;height:44px;border-radius:12px;background:var(--orange-soft);color:var(--orange);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex:none;
}
.icon-badge svg{width:22px;height:22px;}
.icon-badge.inline{margin-bottom:0;}
.card h3{font-size:17px;margin-bottom:8px;}
.card p{color:var(--slate);font-size:14.5px;}
.card ul{margin:10px 0 0;padding-left:18px;color:var(--slate);font-size:14.5px;display:flex;flex-direction:column;gap:6px;}
.card li::marker{color:var(--orange);}

/* ---------- Table ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-raised);}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px;}
thead th{
  background:var(--navy);color:#fff;text-align:left;padding:13px 16px;font-weight:600;
  font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;
}
tbody td{padding:14px 16px;border-top:1px solid var(--line);color:var(--ink);vertical-align:top;}
tbody tr:nth-child(even){background:color-mix(in srgb, var(--navy-tint) 55%, transparent);}
tbody td.num, thead th.num{font-family:'IBM Plex Mono',monospace;white-space:nowrap;}
tbody td strong{color:var(--accent-strong);}
.col-num{width:50px;}

/* ---------- Quote / values / tags ---------- */
.quote-mission{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  font-size:clamp(20px,2.6vw,27px);color:var(--ink);line-height:1.42;
  border-left:3px solid var(--orange);padding-left:22px;
}
.vision-attrib{color:var(--slate);font-size:13px;margin-top:12px;letter-spacing:.03em;}
.mission-body{color:var(--slate);font-size:15px;}

.values-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.value-chip{
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;
  display:flex;align-items:center;gap:8px;background:var(--paper-raised);
}
.value-chip b{color:var(--accent-strong);}

.place-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.place-tags span{
  font-size:12.5px;font-family:'IBM Plex Mono',monospace;border:1px solid var(--line);
  border-radius:6px;padding:5px 10px;color:var(--slate);
}

/* ---------- Numbered / icon lists ---------- */
.fam-list{display:flex;flex-direction:column;gap:0;}
.fam-row{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-block:20px;border-top:1px solid var(--line);}
.fam-row:first-child{border-top:none;}
.fam-row h3{font-family:'Libre Franklin',sans-serif;font-weight:700;font-size:15.5px;margin-bottom:5px;}
.fam-row p{color:var(--slate);font-size:14px;}

.num-badge{
  width:44px;height:44px;border-radius:50%;border:1.5px solid var(--orange);color:var(--orange);
  display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:14px;flex:none;
}

.credential-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;}
.credential-flow span{font-size:12.5px;color:var(--slate);font-family:'IBM Plex Mono',monospace;}
.credential-flow .arrow{color:var(--orange);}

/* ---------- Goal cards ---------- */
.goal-list{gap:12px;}
.goal-card{padding:16px 20px;}
.goal-card strong{color:var(--accent-strong);}
.goal-card p{margin-top:4px;}

/* Marks figures the source document flags as "to confirm" and content still to be supplied */
.placeholder{
  display:inline;background:var(--orange-soft);color:var(--orange);
  border:1px dashed var(--orange);border-radius:4px;padding:0 5px;
  font-family:'IBM Plex Mono',monospace;font-size:.86em;font-weight:500;
}
