/* The Fuller Collective — shared components (see /brand/ for the spec) */
:root {
  --navy-700:#0f1f3d; --navy-900:#070e1f; --gold-400:#d4a43e; --gold-500:#c9922a; --gold-600:#b07d1f; --gold-50:#fdf8ef;
  --lgray-100:#f4f5f7; --lgray-300:#d5d7db; --bodytext:#1a1a2e;
}
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body { margin:0; font-family:'Inter',sans-serif; color:var(--bodytext); background:#fff; line-height:1.75; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; color:var(--navy-700); margin:0; }
p { margin:0; }
a { color:inherit; }
[id] { scroll-margin-top: 88px; }

/* Section label — Inter 600 12px uppercase 0.2em gold */
.fc-label { font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-500); }
/* Gold dividers */
.fc-divider { width:80px; height:2px; background:linear-gradient(90deg,transparent,var(--gold-500),transparent); }
.fc-divider--left { background:linear-gradient(90deg,var(--gold-500),transparent); }
/* Dot texture for navy sections */
.fc-dots { background-image:radial-gradient(rgba(201,146,42,.14) 1px,transparent 1px); background-size:60px 60px; }

/* Buttons — Inter 600 14px, px-8 py-3.5, rounded-lg */
.fc-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 32px; border-radius:8px; font-size:14px; font-weight:600; letter-spacing:.02em; text-decoration:none; transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; cursor:pointer; border:1px solid transparent; }
.fc-btn:hover { transform:translateY(-1px); }
.fc-btn--primary { background:var(--gold-500); color:#fff; }
.fc-btn--primary:hover { background:var(--gold-400); }
.fc-btn--outline-light { border-color:rgba(255,255,255,.35); color:#fff; background:transparent; }
.fc-btn--outline-light:hover { border-color:var(--gold-400); color:var(--gold-400); }
.fc-btn--outline-dark { border-color:var(--navy-700); color:var(--navy-700); background:transparent; }
.fc-btn--outline-dark:hover { background:var(--navy-700); color:#fff; }
.fc-btn--sm { padding:10px 20px; font-size:13px; }

/* Text link with gold underline (never gold text on white) */
.fc-link { color:var(--navy-700); font-weight:600; text-decoration:none; border-bottom:2px solid var(--gold-500); transition:color .2s; }
.fc-link:hover { color:var(--gold-600); }

/* Cards */
.fc-card { background:#fff; border:1px solid var(--lgray-300); border-radius:12px; padding:32px; }
.fc-card--accent { border-left:4px solid var(--gold-500); }
.fc-card--navy { background:var(--navy-700); color:#fff; border-color:transparent; }
.fc-card--navy h3, .fc-card--navy h4 { color:#fff; }
@media (max-width:767px) { .fc-card { padding:24px; } }

/* Stat card */
.fc-stat { text-align:center; padding:28px 20px; border-radius:12px; background:#fff; border:1px solid var(--lgray-300); }
.fc-stat__value { font-family:'Playfair Display',serif; font-size:40px; font-weight:700; line-height:1.1; color:var(--navy-700); }
.fc-stat__label { margin-top:8px; font-size:13px; font-weight:500; color:rgba(15,31,61,.6); }
.fc-stat--dark { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); }
.fc-stat--dark .fc-stat__value { color:var(--gold-400); }
.fc-stat--dark .fc-stat__label { color:rgba(255,255,255,.65); }

/* Pills / tags */
.fc-pill { display:inline-block; font-size:12px; font-weight:500; padding:6px 12px; border-radius:999px; background:var(--gold-50); border:1px solid #f0d49f; color:rgba(15,31,61,.85); }
.fc-badge { display:inline-block; font-size:12px; font-weight:600; padding:4px 10px; border-radius:8px; background:var(--gold-50); color:var(--gold-600); letter-spacing:.02em; }

/* Icon circle */
.fc-icon { width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--navy-700); color:var(--gold-400); flex:0 0 auto; }
.fc-icon svg { width:22px; height:22px; }

/* Checklist */
.fc-check { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.fc-check li { display:flex; gap:12px; align-items:flex-start; font-size:15px; color:rgba(15,31,61,.85); }
.fc-check li::before { content:'\2713'; flex:0 0 auto; width:20px; height:20px; margin-top:3px; border-radius:50%; background:var(--gold-500); color:#fff; font-size:12px; font-weight:700; display:grid; place-items:center; }

/* Forms */
.fc-field { display:grid; gap:6px; }
.fc-field label { font-size:13px; font-weight:600; color:var(--navy-700); }
.fc-field input, .fc-field select, .fc-field textarea { width:100%; box-sizing:border-box; font:inherit; font-size:15px; padding:12px 14px; border:1px solid var(--lgray-300); border-radius:8px; background:#fff; color:var(--bodytext); transition:border-color .2s, box-shadow .2s; }
.fc-field input:focus, .fc-field select:focus, .fc-field textarea:focus { outline:none; border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(201,146,42,.18); }
.fc-field textarea { min-height:140px; resize:vertical; }
.fc-field small { font-size:12px; color:rgba(15,31,61,.6); }

/* Header CTA (extends site-header.css) */
.fc-site-header__cta { margin-left:8px; padding:0 18px; min-height:38px; border-radius:8px; background:var(--gold-500); color:#fff !important; font-size:12px; font-weight:600; letter-spacing:.045em; display:inline-flex; align-items:center; text-decoration:none; transition:background .18s; }
.fc-site-header__cta:hover { background:var(--gold-400) !important; }
@media (max-width:980px) { .fc-site-header__cta { margin:8px 16px 0; justify-content:center; min-height:44px; } }

/* Footer */
.fc-footer { background:var(--navy-900); color:rgba(255,255,255,.7); font-size:14px; }
.fc-footer a { color:rgba(255,255,255,.7); text-decoration:none; transition:color .2s; }
.fc-footer a:hover { color:var(--gold-400); }
.fc-footer__mark { width:44px; height:44px; border-radius:50%; background:var(--gold-500); color:#fff; display:grid; place-items:center; font-family:'Playfair Display',serif; font-weight:700; font-size:15px; letter-spacing:.06em; }
.fc-footer h4 { color:#fff; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin-bottom:14px; }

/* Reveal on scroll (visible if JS disabled) */
.fc-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease-out, transform .7s ease-out; }
.fc-reveal.is-visible, .no-js .fc-reveal { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .fc-reveal { opacity:1; transform:none; transition:none; } }

/* Prose for insights/about */
.fc-prose { font-size:17px; color:rgba(15,31,61,.85); }
.fc-prose p + p { margin-top:1.1em; }
@media (max-width:767px) { .fc-prose { font-size:16px; } .fc-stat__value { font-size:32px; } }

/* ── Metric tile: hero number first, label second ───────────────────── */
.fc-metric { padding:28px 24px; border-radius:12px; border:1px solid var(--lgray-300); background:#fff; }
.fc-metric__value { font-family:'Playfair Display',serif; font-size:clamp(36px,5vw,52px); font-weight:700; line-height:1; color:var(--navy-700); letter-spacing:-.02em; }
.fc-metric__label { margin-top:10px; font-size:14px; line-height:1.45; color:rgba(15,31,61,.72); }
.fc-metric__tag { display:block; margin-bottom:14px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-600); }
.fc-metric--dark { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); }
.fc-metric--dark .fc-metric__value { color:var(--gold-400); }
.fc-metric--dark .fc-metric__label { color:rgba(255,255,255,.7); }
.fc-metric--dark .fc-metric__tag { color:var(--gold-400); }

/* ── Before → after bar (single comparison, no axis needed) ─────────── */
.fc-ba { display:grid; gap:10px; margin-top:18px; }
.fc-ba__row { display:grid; grid-template-columns:58px 1fr 48px; align-items:center; gap:12px; font-size:13px; }
.fc-ba__name { color:rgba(15,31,61,.6); }
.fc-ba__track { height:10px; border-radius:5px; background:var(--lgray-200,#eaebed); overflow:hidden; }
.fc-ba__fill { height:100%; border-radius:5px; background:var(--lgray-300); }
.fc-ba__fill--now { background:var(--gold-500); }
.fc-ba__val { text-align:right; font-weight:600; color:var(--navy-700); font-variant-numeric:tabular-nums; }
.fc-card--navy .fc-ba__name { color:rgba(255,255,255,.6); }
.fc-card--navy .fc-ba__track { background:rgba(255,255,255,.12); }
.fc-card--navy .fc-ba__fill { background:rgba(255,255,255,.28); }
.fc-card--navy .fc-ba__val { color:#fff; }

/* ── System diagram ─────────────────────────────────────────────────── */
.fc-diagram { width:100%; height:auto; display:block; }
.fc-diagram text { font-family:'Inter',sans-serif; }

/* ── Tight lead paragraph under a heading ───────────────────────────── */
.fc-lead { font-size:clamp(17px,2vw,20px); line-height:1.6; color:rgba(15,31,61,.8); }
.fc-lead--light { color:rgba(255,255,255,.78); }

/* ── System diagram (HTML/CSS so it reflows and text stays legible) ──── */
.fc-system { display:grid; gap:44px; }
.fc-system__step { position:relative; background:#fff; border:1px solid var(--lgray-300); border-radius:12px; padding:28px; text-align:center; }
.fc-system__num { width:34px; height:34px; border-radius:50%; background:var(--gold-500); color:var(--navy-700); display:grid; place-items:center; font-size:13px; font-weight:700; margin-bottom:16px; }
.fc-system__step h3 { font-size:22px; margin-bottom:10px; }
.fc-system__step p { font-size:15px; line-height:1.6; color:rgba(15,31,61,.72); }
/* chevron connector: points down when stacked, right when in a row */
.fc-system__step:not(:last-child)::after {
  content:''; position:absolute; left:50%; bottom:-30px;
  width:11px; height:11px; border-top:2px solid var(--gold-500); border-right:2px solid var(--gold-500);
  transform:translateX(-50%) rotate(135deg);
}
@media (min-width:900px) {
  .fc-system { grid-template-columns:repeat(3,1fr); }
  .fc-system__step:not(:last-child)::after { left:auto; right:-28px; bottom:auto; top:50%; transform:translateY(-50%) rotate(45deg); }
}
.fc-system__outcome { margin-top:44px; background:var(--navy-700); color:#fff; border-radius:12px; padding:24px 28px; text-align:center;
  font-family:'Playfair Display',serif; font-size:clamp(17px,2.2vw,21px); font-weight:700; line-height:1.4; }

/* Content must never be invisible when printed or when motion is reduced */
@media print { .fc-reveal { opacity:1 !important; transform:none !important; } }

/* Brand mark in header and footer */
.fc-site-header__logo { width:auto; height:38px; flex:0 0 auto; display:block; transition:transform 180ms ease; }
@media (max-width:420px) { .fc-site-header__logo { height:32px; } }
.fc-site-header__brand:hover .fc-site-header__logo { transform:translateY(-1px); }
.fc-footer__logo { width:200px; height:auto; display:block; }
@media (max-width:767px) { .fc-footer__logo { width:168px; } }

/* Inline form error */
.fc-form-error { margin-top:4px; font-size:14px; color:#8e2f2f; }
.fc-form-error a { color:#8e2f2f; text-decoration:underline; }
.fc-card--navy .fc-form-error, .fc-card.bg-white .fc-form-error { color:#a33; }

/* ── Diagram: linear step flow (idea → intake → tier) ──────────────── */
.fc-flow { display:grid; gap:36px; }
@media (min-width:820px) { .fc-flow { grid-template-columns:repeat(3,1fr); gap:44px; } }
.fc-flow__step { position:relative; background:#fff; border:1px solid var(--lgray-300); border-radius:12px; padding:22px 24px; }
.fc-flow__step h4 { font-size:19px; margin-bottom:6px; }
.fc-flow__step p { font-size:14px; line-height:1.55; color:rgba(15,31,61,.72); }
.fc-flow__step:not(:last-child)::after {
  content:''; position:absolute; left:50%; bottom:-25px; width:10px; height:10px;
  border-top:2px solid var(--gold-500); border-right:2px solid var(--gold-500);
  transform:translateX(-50%) rotate(135deg);
}
@media (min-width:820px) {
  .fc-flow__step:not(:last-child)::after { left:auto; right:-28px; bottom:auto; top:50%; transform:translateY(-50%) rotate(45deg); }
}

/* ── Diagram: risk lanes ───────────────────────────────────────────── */
.fc-lanes { display:grid; gap:16px; margin-top:36px; }
@media (min-width:820px) { .fc-lanes { grid-template-columns:repeat(3,1fr); } }
.fc-lane { border:1px solid var(--lgray-300); border-radius:12px; overflow:hidden; background:#fff; }
.fc-lane__head { padding:12px 18px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.fc-lane--low .fc-lane__head { background:#4f6c9c; }
.fc-lane--med .fc-lane__head { background:#b07d1f; }
.fc-lane--high .fc-lane__head { background:var(--navy-700); }
.fc-lane__body { padding:18px; }
.fc-lane__body p { font-size:14px; line-height:1.55; color:rgba(15,31,61,.75); }
.fc-lane__path { display:block; margin-top:10px; font-size:13px; font-weight:600; color:var(--navy-700); }
.fc-loop { margin-top:16px; background:var(--navy-700); color:#fff; border-radius:12px; padding:16px 22px;
  font-size:14px; display:flex; align-items:center; justify-content:center; gap:10px; text-align:center; }
.fc-loop svg { width:18px; height:18px; color:var(--gold-400); flex:0 0 auto; }

/* ── Diagram: roles around one operation ───────────────────────────── */
.fc-roles { display:grid; gap:16px; }
@media (min-width:640px) { .fc-roles { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .fc-roles { grid-template-columns:repeat(4,1fr); } }
.fc-role { background:#fff; border:1px solid var(--lgray-300); border-top:3px solid var(--gold-500); border-radius:12px; padding:20px; }
.fc-role h4 { font-size:17px; margin-bottom:6px; }
.fc-role p { font-size:13.5px; line-height:1.55; color:rgba(15,31,61,.72); }
.fc-roles__bar { margin-top:16px; background:var(--navy-700); color:#fff; border-radius:12px; padding:18px 24px; text-align:center;
  font-family:'Playfair Display',serif; font-size:clamp(16px,2vw,19px); font-weight:700; }

/* ── Diagram: CHAI domain grid ─────────────────────────────────────── */
.fc-domains { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media (min-width:820px) { .fc-domains { grid-template-columns:repeat(4,1fr); } }
.fc-domain { background:var(--gold-50); border:1px solid #f0d49f; border-radius:8px; padding:13px 15px;
  font-size:14px; line-height:1.35; color:rgba(15,31,61,.85); display:flex; align-items:center; gap:9px; }
.fc-domain::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--gold-500); flex:0 0 auto; }

/* Section-level caption above a diagram */
.fc-figcap { font-size:13px; color:rgba(15,31,61,.6); margin-top:14px; }

/* 4-step flow variant */
@media (min-width:820px) { .fc-flow--4 { grid-template-columns:repeat(4,1fr); } }
/* Horizon bands (now / next / later) */
.fc-horizons { display:grid; gap:16px; margin-top:36px; }
@media (min-width:820px) { .fc-horizons { grid-template-columns:repeat(3,1fr); } }
.fc-horizon { border:1px solid var(--lgray-300); border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.fc-horizon__head { padding:12px 18px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--navy-700); }
.fc-horizon:nth-child(2) .fc-horizon__head { background:#2a4a78; }
.fc-horizon:nth-child(3) .fc-horizon__head { background:#4f6c9c; }
.fc-horizon__body { padding:18px; flex:1; }
.fc-horizon__body p { font-size:14px; line-height:1.55; color:rgba(15,31,61,.75); }
.fc-horizon__when { display:block; margin-top:10px; font-size:13px; font-weight:600; color:var(--navy-700); }
/* Format detail cards — equal height via stretch */
.fc-formats { display:grid; gap:20px; }
@media (min-width:860px) { .fc-formats { grid-template-columns:repeat(2,1fr); grid-auto-rows:1fr; } }
.fc-format { background:#fff; border:1px solid var(--lgray-300); border-top:3px solid var(--gold-500); border-radius:12px;
  padding:28px; display:flex; flex-direction:column; }
.fc-format__meta { font-size:13px; font-weight:600; color:var(--gold-600); margin-bottom:14px; }
.fc-format h3 { font-size:24px; margin-bottom:4px; }
.fc-format dl { margin:16px 0 0; display:grid; gap:14px; }
.fc-format dt { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(15,31,61,.5); margin-bottom:3px; }
.fc-format dd { margin:0; font-size:14.5px; line-height:1.6; color:rgba(15,31,61,.8); }
.fc-format__foot { margin-top:auto; padding-top:18px; }

/* ══ DIAGRAM KIT ══════════════════════════════════════════════════════ */

/* Icon-node step flow with real arrows between */
.fc-steps { display:flex; flex-direction:column; align-items:stretch; }
@media (min-width:920px) { .fc-steps { flex-direction:row; align-items:flex-start; } }
.fc-step { flex:1; text-align:center; padding:0 6px; }
.fc-step__node { width:76px; height:76px; border-radius:50%; background:var(--navy-700); display:grid; place-items:center;
  margin:0 auto 16px; position:relative; box-shadow:0 6px 20px rgba(15,31,61,.14); }
.fc-step__node svg { width:32px; height:32px; color:var(--gold-400); }
.fc-step__num { position:absolute; top:-2px; right:-2px; width:26px; height:26px; border-radius:50%;
  background:var(--gold-500); color:var(--navy-700); font-size:11px; font-weight:700; display:grid; place-items:center;
  border:2px solid #fff; }
.fc-step h4 { font-size:18px; margin-bottom:5px; }
.fc-step p { font-size:14px; line-height:1.5; color:rgba(15,31,61,.7); }
.fc-conn { display:flex; align-items:center; justify-content:center; padding:16px 0; }
.fc-conn svg { width:26px; height:26px; color:var(--gold-500); transform:rotate(90deg); }
@media (min-width:920px) { .fc-conn { flex:0 0 46px; padding:0; margin-top:24px; } .fc-conn svg { transform:none; } }

/* Branch: one stem fanning into three lanes */
.fc-branch { display:none; }
@media (min-width:820px) {
  .fc-branch { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; position:relative; height:54px; }
  .fc-branch::before { content:''; position:absolute; top:0; left:calc(50% - 1px); width:2px; height:20px; background:var(--gold-500); }
  .fc-branch__bar { position:absolute; top:20px; left:calc((100% - 32px) / 6); right:calc((100% - 32px) / 6); height:2px; background:var(--gold-500); }
  .fc-branch__leg { justify-self:center; align-self:start; margin-top:20px; width:2px; height:26px; background:var(--gold-500); position:relative; }
  .fc-branch__leg::after { content:''; position:absolute; bottom:-2px; left:-5px;
    border-left:6px solid transparent; border-right:6px solid transparent; border-top:8px solid var(--gold-500); }
}
.fc-branch-m { display:flex; justify-content:center; padding:14px 0; }
.fc-branch-m svg { width:24px; height:24px; color:var(--gold-500); transform:rotate(90deg); }
@media (min-width:820px) { .fc-branch-m { display:none; } }

/* Roadmap chevrons */
.fc-roadmap { display:grid; gap:6px; }
@media (min-width:820px) { .fc-roadmap { grid-template-columns:repeat(3,1fr); gap:0; } }
.fc-rm { padding:22px 26px; color:#fff; background:var(--navy-700); }
.fc-rm:nth-child(2) { background:#2a4a78; }
.fc-rm:nth-child(3) { background:#4f6c9c; }
@media (min-width:820px) {
  .fc-rm { clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
    padding-left:46px; margin-left:-22px; }
  .fc-rm:first-child { clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
    padding-left:26px; margin-left:0; border-radius:8px 0 0 8px; }
  .fc-rm:last-child { clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 22px 50%); border-radius:0 8px 8px 0; }
}
@media (max-width:819px) { .fc-rm { border-radius:8px; } }
.fc-rm__when { display:block; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-400); margin-bottom:6px; }
.fc-rm h4 { color:#fff; font-size:20px; margin-bottom:5px; }
.fc-rm p { font-size:14px; line-height:1.5; color:rgba(255,255,255,.75); }

/* Hub: role nodes feeding one bar */
.fc-hub { display:grid; gap:14px; }
@media (min-width:640px) { .fc-hub { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .fc-hub { grid-template-columns:repeat(4,1fr); } }
.fc-hubnode { text-align:center; background:#fff; border:1px solid var(--lgray-300); border-radius:12px; padding:22px 18px; }
.fc-hubnode__icon { width:56px; height:56px; border-radius:14px; background:var(--gold-50); border:1px solid #f0d49f;
  display:grid; place-items:center; margin:0 auto 14px; }
.fc-hubnode__icon svg { width:26px; height:26px; color:var(--gold-600); }
.fc-hubnode h4 { font-size:17px; margin-bottom:5px; }
.fc-hubnode p { font-size:13.5px; line-height:1.5; color:rgba(15,31,61,.7); }
.fc-hub-merge { display:flex; justify-content:center; padding:14px 0 0; }
.fc-hub-merge svg { width:26px; height:26px; color:var(--gold-500); }

/* Cycle: four steps with a return path */
.fc-cycle__return { position:relative; height:46px; margin-top:6px;
  border:2px solid var(--gold-500); border-top:0; border-radius:0 0 14px 14px; }
.fc-cycle__return::after { content:''; position:absolute; top:-2px; left:-7px;
  border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:8px solid var(--gold-500); }
.fc-cycle__label { position:absolute; left:50%; bottom:-11px; transform:translateX(-50%); background:#fff;
  padding:0 14px; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); }
.bg-lgray-100 .fc-cycle__label { background:var(--lgray-100); }


/* ── CHAI domains: three foundations enabling five practices ────────── */
.fc-tiers { display:grid; gap:0; }
.fc-tier__label { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-600); margin-bottom:10px; }
.fc-tier { display:grid; gap:10px; }
.fc-tier--3 { grid-template-columns:1fr; }
.fc-tier--5 { grid-template-columns:1fr; }
@media (min-width:360px) { .fc-tier--3, .fc-tier--5 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:640px) { .fc-tier--3 { grid-template-columns:repeat(3,1fr); } .fc-tier--5 { grid-template-columns:repeat(3,1fr); } }
@media (min-width:880px) { .fc-tier--5 { grid-template-columns:repeat(5,1fr); } }
.fc-tile { border-radius:10px; padding:16px 14px; text-align:center; font-size:14px; line-height:1.35; font-weight:500; }
.fc-tile--base { background:var(--navy-700); color:#fff; border:1px solid var(--navy-700); }
.fc-tile--practice { background:var(--gold-50); border:1px solid #f0d49f; color:rgba(15,31,61,.9); }
.fc-tile__n { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; opacity:.6; margin-bottom:5px; }
.fc-tiers__link { display:flex; align-items:center; justify-content:center; gap:10px; padding:16px 0;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); }
.fc-tiers__link svg { width:20px; height:20px; color:var(--gold-500); }

/* Button rows: side by side with room, full width and equal when stacked */
.fc-btn-row { display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:560px) {
  .fc-btn-row { flex-direction:column; align-items:stretch; }
  .fc-btn-row .fc-btn { width:100%; }
}

/* Phones: tighter cards so stacked sections do not run long */
@media (max-width:639px) {
  .fc-system__step { padding:22px 20px; }
  .fc-system__step h3 { font-size:20px; }
  .fc-metric { padding:22px 20px; }
  .fc-system { gap:34px; }
}

/* Pillar cards: icon node matching the Approach page's step nodes.
   Centred in the card and sized up — it was a 52px puck pinned to the top
   left and read as an afterthought rather than the card's subject. */
.fc-system__icon { width:76px; height:76px; border-radius:50%; background:var(--navy-700);
  display:grid; place-items:center; position:relative; margin:0 auto 18px;
  box-shadow:0 8px 22px rgba(15,31,61,.18); }
.fc-system__icon svg { width:36px; height:36px; color:var(--gold-400); }
.fc-system__icon .fc-system__num { position:absolute; top:-5px; right:-5px; width:26px; height:26px;
  margin-bottom:0; border:2px solid #fff; font-size:12px; }
@media (max-width:639px) {
  .fc-system__icon { width:66px; height:66px; }
  .fc-system__icon svg { width:31px; height:31px; }
}

/* Metric cards: framed icon above the number */
.fc-metric__icon { width:40px; height:40px; border-radius:12px; background:var(--gold-50);
  border:1px solid #f0d49f; display:grid; place-items:center; margin-bottom:16px; }
.fc-metric__icon svg { width:19px; height:19px; color:var(--gold-600); }
.fc-metric--dark .fc-metric__icon { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); }
.fc-metric--dark .fc-metric__icon svg { color:var(--gold-400); }


/* THE COLLECTIVE — six hand-selected disciplines, no principal card.
   The icon sits centred above the label so every card reads the same way.
   grid-auto-rows:1fr keeps each row matched to its tallest card, and stays
   matched when the copy changes. */
.fc-collective__disciplines { display:grid; grid-template-columns:repeat(2,1fr);
  gap:14px; grid-auto-rows:1fr; }
.fc-collective__node { background:#fff; border:1px solid var(--lgray-300); border-radius:12px;
  padding:26px 20px; text-align:center; }
.fc-collective__ic { width:64px; height:64px; border-radius:16px; margin:0 auto 16px;
  background:var(--gold-50); border:1px solid #f0d49f; display:grid; place-items:center; }
.fc-collective__ic svg { width:32px; height:32px; color:var(--gold-600); }
.fc-collective__node h4 { font-size:17px; line-height:1.3; margin-bottom:6px; }
.fc-collective__node p { font-size:13.5px; line-height:1.55; color:rgba(15,31,61,.7); }
.fc-collective__bar { margin-top:22px; background:var(--navy-700); color:#fff; border-radius:12px;
  padding:18px 24px; text-align:center; font-weight:600; font-size:15.5px; line-height:1.5; }
/* Phones: two compact columns of icon + name, descriptions dropped. Six full
   cards stacked ran over 1,500px on a 375px screen — taller than the hero and
   the pillars put together. The names are the message; the detail is a
   desktop luxury. */
@media (max-width:639px) {
  .fc-collective__node { padding:18px 10px; }
  .fc-collective__ic { width:50px; height:50px; border-radius:13px; margin-bottom:11px; }
  .fc-collective__ic svg { width:26px; height:26px; }
  .fc-collective__node h4 { font-size:13.5px; margin-bottom:0; }
  .fc-collective__node p { display:none; }
  .fc-collective__disciplines { gap:10px; }
  .fc-collective__bar { font-size:14.5px; padding:16px 18px; }
}
@media (min-width:900px) { .fc-collective__disciplines { grid-template-columns:repeat(3,1fr); } }

/* Credential list: small gold dot markers with a hanging indent, so a
   wrapped second line lines up under the text instead of under the bullet. */
.fc-creds { list-style:none; padding:0; margin:0; }
.fc-creds li { position:relative; padding-left:19px; font-size:14px; line-height:1.5;
  color:rgba(15,31,61,.8); }
.fc-creds li + li { margin-top:12px; }
.fc-creds li::before { content:""; position:absolute; left:0; top:8px; width:6px; height:6px;
  border-radius:50%; background:var(--gold-500); }

/* Privacy note on the contact form. Doug advises health systems on data
   privacy and governance, so the form that asks a CIO for their details
   should say plainly what happens to them. White on the form's grey card,
   so it reads as a statement rather than small print. */
.fc-privacy { display:flex; gap:12px; align-items:flex-start; padding:15px 17px;
  border-radius:10px; background:#fff; border:1px solid var(--lgray-300); }
.fc-privacy svg { flex:0 0 auto; width:18px; height:18px; color:var(--gold-600); margin-top:2px; }
.fc-privacy p { font-size:13px; line-height:1.6; color:rgba(15,31,61,.72); margin:0; }
.fc-privacy strong { color:var(--navy-700); font-weight:600; }
