/* Personal rack build: reuse the portfolio's typography, palette, and case-study shell. */
.rack-intro, .rack-feature { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(28px,5vw,72px); }
.rack-intro > *, .rack-feature > * { min-width: 0; }
.rack-intro h1 { font-size: clamp(2.5rem,4.5vw,4.8rem); }
.rack-intro .kicker { margin-top: 32px; }
.rack-intro p:not(.kicker), .rack-feature p:not(.kicker) { color: var(--ink-soft); }
.rack-photo { margin: 0; }
.rack-photo a { display: block; border-radius: 16px; }
.rack-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--line-strong); border-radius: 16px; }
.rack-photo figcaption { margin-top: 14px; color: var(--ink-soft); font-size: .78rem; line-height: 1.6; }
.rack-feature { grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); padding: clamp(22px,4vw,48px); margin-bottom: 48px; border: 1px solid var(--line-strong); border-radius: 24px; background: var(--panel); }
.rack-feature h3 { font-size: clamp(1.8rem,3vw,3rem); line-height: 1.12; margin-bottom: 24px; }
.rack-feature .button { margin-top: 18px; }
.rack-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; margin-top: 30px; }
.rack-specs > div, .rack-network > div { padding: 18px 0; border-top: 1px solid var(--line); }
.rack-specs dt { color: var(--ink-muted); font-size: .78rem; margin-bottom: 6px; }
.rack-specs dd, .rack-network dd { margin: 0; color: var(--ink-soft); }
.rack-network dt { margin-bottom: 8px; font-weight: 600; }
.rack-network code { color: var(--acid); }
.rack-roadmap { padding: 28px; border: 1px solid var(--line-strong); border-radius: 16px; background: rgba(185,249,93,.035); }
@media (max-width: 760px) {
  .rack-intro, .rack-feature { grid-template-columns: 1fr; }
  .rack-intro .rack-photo { width: 100%; max-width: 500px; justify-self: center; }
  .rack-feature .rack-photo { max-width: 420px; justify-self: center; }
  .rack-specs { grid-template-columns: 1fr; }
  .rack-roadmap { padding: 22px; }
}
