/* ============================================================================
   home.css — / (src/index.njk). Hero, rule and section heads live in site.css.
   ============================================================================ */

.hm-section{padding:88px 48px}
.hm-inner{max-width:1280px;margin:0 auto}
.hm-band{background:var(--c-band);border-top:1px solid var(--c-hair)}
.hm-body{margin:0;font-size:15px;font-weight:400;line-height:1.6;color:#4b5563}
.hm-kicker{margin:0;font-family:var(--c-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--c-amber-text)}
.hm-kicker-muted{font-size:11px;font-weight:400;color:var(--c-muted)}
.hm-label{margin:0 0 8px;font-family:var(--c-mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--c-accent)}
.hm-label-amber{color:var(--c-amber-text)}
.hm-caps,.hm-chips,.hm-more,.hm-leaders,.hm-advisors,.hm-logos{margin:0;padding:0;list-style:none}

/* ---- hero ---- */
.hm-hero{padding-bottom:56px}
.hm-h1{max-width:820px}
.hm-hero-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px 48px}
.hm-lede{max-width:640px}
.hm-actions{flex:0 1 auto;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.hm-btn{
  display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:9999px;
  background:var(--c-accent);color:#fff;font-size:15px;font-weight:500;line-height:1.5;
}
.hm-btn:hover{background:var(--c-accent-dark);color:#fff}
/* Same box as the solid button: the border replaces 1.5px of padding. */
.hm-btn-ghost{padding:12.5px 26.5px;background:#fff;border:1.5px solid #d1d5db;color:#374151}
.hm-btn-ghost:hover{background:#fff;border-color:var(--c-accent);color:var(--c-accent)}

.hm-trusted{margin-top:44px;padding-top:32px;border-top:1px solid var(--c-hair)}
.hm-trusted .hm-kicker{margin-bottom:20px}
.hm-logos{display:flex;align-items:center;flex-wrap:wrap;gap:28px 48px}
.hm-logos img{display:block;height:auto;filter:grayscale(1);opacity:.55}

/* ---- principles ---- */
.hm-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.hm-principle{
  display:flex;flex-direction:column;gap:12px;padding:20px 16px;margin:-20px -16px;border-radius:16px;
  transition:background .18s ease,box-shadow .18s ease;
}
.hm-principle:hover{background:var(--c-band);box-shadow:0 2px 16px rgba(15,23,42,.05)}
.hm-principle-title{font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:var(--c-ink)}

/* ---- capabilities ---- */
.hm-tag-lead{color:var(--c-muted)}
.hm-rule{margin-bottom:32px}
.hm-cap{
  display:grid;grid-template-columns:110px 340px minmax(0,1fr);gap:40px;align-items:baseline;
  padding:28px 0;border-top:1px solid var(--c-line);
}
.hm-cap:hover{background:rgba(37,99,235,.03)}
.hm-cap-num{font-family:var(--c-mono);font-size:12.5px;color:var(--c-amber-text)}
.hm-cap-title{font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--c-ink)}

/* footnote under the list: routine work, deliberately not a capability */
.hm-caps{border-bottom:1px solid var(--c-line)}
.hm-also{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:40px}
.hm-also-lead{margin:0;font-size:14px;font-weight:500;color:#4b5563}
.hm-chips{display:flex;flex-wrap:wrap;gap:8px}
.hm-chips li{
  padding:7px 12px;background:#fff;border:1px solid var(--c-line);
  font-family:var(--c-mono);font-size:12px;letter-spacing:.02em;color:#334155;
}

/* ---- selected work ---- */
.hm-rule-work{margin-bottom:40px}
.hm-featured{display:flex;flex-direction:column;gap:20px;margin-bottom:56px}
.hm-case{
  display:grid;grid-template-columns:300px repeat(3,minmax(0,1fr));gap:36px;align-items:start;
  padding:36px 40px;background:#fff;border:1px solid var(--c-line);border-radius:16px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.hm-case:hover{border-color:var(--c-accent-soft);box-shadow:var(--c-shadow)}
.hm-case-sector{
  margin:0 0 10px;font-family:var(--c-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-muted);
}
.hm-case-title{font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:var(--c-ink)}
.hm-case-text{margin:0;font-size:14px;font-weight:400;line-height:1.6;color:#4b5563}
.hm-case-outcome{color:#374151}

.hm-featured + .hm-kicker{margin-bottom:18px}
.hm-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--c-hair)}
.hm-more-item{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--c-hair)}
.hm-more-num{flex:none;font-family:var(--c-mono);font-size:11.5px;color:rgba(37,99,235,.55)}
.hm-more-title{font-size:15px;font-weight:500;color:var(--c-ink)}
.hm-more-desc{font-size:14px;font-weight:400;color:#64748b}
.hm-more-meta{
  margin:6px 0 0;font-family:var(--c-mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--c-muted);
}
.hm-more-market{font-weight:600;color:var(--c-amber-text)}

/* ---- leadership ---- */
.hm-leaders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:48px}
.hm-leader{
  display:flex;align-items:center;gap:18px;padding:24px;
  background:#fff;border:1px solid var(--c-line);border-radius:16px;
}
.hm-photo{flex:none;display:block;width:72px;height:72px;border-radius:9999px;-o-object-fit:cover;object-fit:cover;background:var(--c-line)}
.hm-photo-sm{width:52px;height:52px}
.hm-leader-name{margin:0;font-size:17px;font-weight:500;color:var(--c-ink)}
.hm-leader-title{margin:2px 0 0;font-size:13px;color:#64748b}
.hm-leader-link{display:inline-block;margin-top:6px;font-size:13px}
.hm-h3{margin:0 0 8px;font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--c-ink)}
.hm-rule-sm{width:44px;margin-bottom:26px}
.hm-advisors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hm-advisor{display:flex;align-items:center;gap:14px}
.hm-advisor-name{margin:0;font-size:14px;font-weight:500;color:var(--c-ink)}
.hm-advisor-title{margin:2px 0 0;font-size:12px;line-height:1.4;color:#64748b}

/* ---- closing CTA ---- */
.hm-cta{border-top:1px solid var(--c-hair)}

/* ---- responsive ---- */
@media (max-width:1024px){
  .hm-cap{grid-template-columns:90px minmax(0,1fr);gap:8px 24px}
  .hm-cap .hm-body{grid-column:2}
  .hm-case{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
  .hm-case > :first-child{grid-column:1/-1}
  .hm-advisors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hm-principles,.hm-leaders{grid-template-columns:minmax(0,1fr)}
  .hm-principles{gap:32px}
  .hm-more{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .hm-section{padding:64px 24px}
  .hm-cap{grid-template-columns:minmax(0,1fr);gap:8px}
  .hm-cap .hm-body{grid-column:auto}
  .hm-case{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 20px}
  .hm-logos{gap:24px 32px}
}
@media (max-width:559.98px){
  .hm-advisors{grid-template-columns:minmax(0,1fr)}
}
