/* ===== Strategy section — Pharo 3.0 strategy house (from handbook) ===== */
.strat.section { background: var(--bg); }
/* partner marquee */
.partner-marquee { overflow-x: auto; scrollbar-width: none; margin-top: 8px; }
.partner-marquee::-webkit-scrollbar { display: none; }
.partner-track { display: flex; gap: 1px; width: max-content; animation: partner-scroll 45s linear infinite; }
.partner-marquee:hover .partner-track { animation-play-state: paused; }
.partner-track .partner-cell { flex: 0 0 220px; }
@keyframes partner-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.strat-top .eyebrow.accent { color: var(--ink); }
.strat-thesis {
  font-family: var(--display); font-weight: var(--display-weight); letter-spacing: -0.02em;
  font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; color: var(--ink);
  max-width: 24ch; margin: 16px 0 0;
}

/* the house */
.sh { margin-top: 44px; }
.sh-roof {
  background: var(--ink); color: #fff;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  padding: 60px 24px 20px; text-align: center;
}
.sh-roof-text {
  font-family: var(--display); font-weight: var(--display-weight); letter-spacing: -0.01em;
  font-size: clamp(17px, 2vw, 26px); line-height: 1.25; color: #fff;
  max-width: 40ch; margin: 0 auto;
}
.sh-missions, .sh-items, .sh-values { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.sh-missions { margin-top: 8px; }
.sh-mh {
  background: var(--ink); color: #fff; padding: 18px 16px; text-align: center;
  font-family: var(--display); font-weight: var(--display-weight); font-size: clamp(15px, 1.4vw, 19px);
  display: flex; align-items: center; justify-content: center; line-height: 1.15;
}
.sh-mh.edu { grid-column: span 2; }
.sh-mh.water { grid-column: span 1; }
.sh-mh.prod { grid-column: span 3; }
.sh-items { margin-top: 22px; }
.sh-item {
  background: var(--bg-deep); padding: 20px 16px 18px; position: relative;
  font-size: 13.5px; line-height: 1.5; color: var(--ink-soft);
}
.sh-item .n {
  position: absolute; top: -13px; left: 14px; width: 26px; height: 26px; border-radius: 50%;
  background: var(--ink); color: #fff; display: grid; place-items: center;
  font-family: var(--mono); font-size: 12px;
}
.sh-item b { color: var(--ink); font-weight: 600; }
.sh-item.accent { outline: 2px solid var(--accent); outline-offset: -2px; }
.sh-band { margin-top: 8px; padding: 15px 22px; font-size: 14.5px; line-height: 1.5; text-align: center; }
.sh-band b { font-weight: 600; }
.sh-band.light { background: var(--bg-deep); color: var(--ink); }
.sh-band.slate { background: var(--ink-soft); color: #fff; }
.sh-band.mre { background: var(--bg-deep); color: var(--ink); }
.sh-values { margin-top: 8px; }
.sh-value { padding: 18px 10px; text-align: center; font-weight: 600; font-size: 14px; color: #fff; }
.sh-value.v1 { background: var(--blue-400); }
.sh-value.v2 { background: var(--blue-500); }
.sh-value.v3 { background: var(--blue-600); }
.sh-value.v4 { background: var(--blue-700); }
.sh-value.v5 { background: var(--blue-800); }
.sh-value.v6 { background: var(--blue-900); }

@media (max-width: 820px) {
  .sh-missions, .sh-items { grid-template-columns: 1fr; }
  .sh-mh.edu, .sh-mh.water, .sh-mh.prod { grid-column: span 1; }
  .sh-item .n { position: static; display: inline-grid; margin-bottom: 8px; }
  .sh-values { grid-template-columns: repeat(2, 1fr); }
}
