.observatory-page .signal-practice { background: #fbfaf6; }
.signal-practice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.signal-practice-card { display: flex; flex-direction: column; gap: .8rem; min-width: 0; padding: clamp(1.25rem, 2vw, 1.8rem); border: 1px solid #dfe2dd; border-top: 2px solid #85b7c5; background: #fff; }
.signal-practice-card:nth-child(2) { border-top-color: #c78e9d; }
.signal-practice-card h3 { margin: 0; font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.2; color: #2e3230; }
.signal-practice-card p { margin: 0 0 .3rem; color: #3e4642; line-height: 1.6; }
.signal-practice-number { color: #356f7d; font-size: .85rem; font-weight: 700; letter-spacing: .04em; }
.signal-practice-card:nth-child(2) .signal-practice-number { color: #8c4f61; }
.signal-practice-card a { color: #173d32; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.signal-practice-card > a:first-of-type { margin-top: auto; padding-top: .6rem; }
.signal-practice-card a:focus-visible { outline: 2px solid #173d32; outline-offset: 3px; }
.signal-practice-note { margin: 1rem 0 0; color: #555e59; font-size: .92rem; }
@media (max-width: 850px) { .signal-practice-grid { grid-template-columns: 1fr; } }
