/* Govt. & Cyber Resources page only. Loaded by resources/index.html and nowhere else. */
.res-note { display: flex; gap: .85rem; align-items: flex-start; margin-bottom: clamp(1.8rem, 4vw, 2.6rem); padding: 1rem 1.15rem; border-radius: var(--radius, 14px); border: 1px solid var(--line-strong, rgba(34,211,238,.35)); background: rgba(34,211,238,.07); }
.res-note > .icon { width: 1.4rem; height: 1.4rem; margin-top: .15rem; color: var(--cyan, #22d3ee); }
.res-note p { margin: 0; }
.res-groups { display: grid; gap: clamp(2.2rem, 5vw, 3.4rem); }
.res-group-head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.2rem; }
.res-group-head .eyebrow { margin: .35rem 0 0; padding: .2rem .55rem; border: 1px solid var(--line-strong, rgba(34,211,238,.35)); border-radius: 8px; }
.res-group-head h2 { margin: 0; font-size: clamp(1.3rem, 1.6vw + .9rem, 1.7rem); }
.res-group-head p { margin: .3rem 0 0; color: var(--muted, #94a3b8); max-width: 62ch; }
.res-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); }
.res-card { position: relative; display: flex; flex-direction: column; gap: .85rem; padding: 1.4rem; border-radius: var(--radius, 14px); border: 1px solid var(--line, rgba(148,163,184,.2)); background: linear-gradient(180deg, var(--card-2, #111f38), var(--card, #0e1a2f)); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.res-card:hover, .res-card:focus-within { transform: translateY(-3px); border-color: var(--line-strong, rgba(34,211,238,.35)); box-shadow: 0 16px 40px -22px rgba(34,211,238,.5); }
.res-top { display: flex; gap: .9rem; align-items: center; }
.res-top > div { min-width: 0; }
.res-logo { flex: none; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 13px; color: var(--cyan, #22d3ee); background: rgba(34,211,238,.1); border: 1px solid rgba(34,211,238,.25); transition: background .25s ease; }
.res-logo .icon { width: 26px; height: 26px; }
.res-card:hover .res-logo { background: rgba(34,211,238,.18); }
.res-card h3 { margin: 0; font-size: 1.06rem; line-height: 1.3; }
.res-domain { display: block; margin-top: .2rem; font-family: var(--mono, ui-monospace, monospace); font-size: .78rem; color: var(--muted, #94a3b8); overflow-wrap: anywhere; }
.res-card p { margin: 0; color: var(--gray, #cbd5e1); font-size: .96rem; }
.res-actions { margin-top: auto; padding-top: .3rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.res-actions .btn { flex: 1 1 auto; }
.res-actions .btn .icon { width: 1.05em; height: 1.05em; }
.res-card.is-helpline { border-color: rgba(34,211,238,.45); background: radial-gradient(420px 200px at 100% 0%, rgba(34,211,238,.14), transparent 60%), linear-gradient(180deg, var(--card-2, #111f38), var(--card, #0e1a2f)); }
.res-number { font-family: var(--mono, ui-monospace, monospace); font-size: 2.4rem !important; font-weight: 800; line-height: 1; letter-spacing: .04em; color: var(--white, #fff) !important; }
.res-disclaimer { margin: clamp(2rem, 4vw, 3rem) 0 0; padding-top: 1.2rem; border-top: 1px solid var(--line, rgba(148,163,184,.2)); color: var(--muted, #94a3b8); font-size: .9rem; max-width: 80ch; }
@media (max-width: 520px) { .res-group-head { flex-direction: column; gap: .5rem; } .res-card { padding: 1.15rem; } }
@media (prefers-reduced-motion: reduce) { .res-card, .res-logo { transition: none; } .res-card:hover, .res-card:focus-within { transform: none; } }
