/* Contact page - uses gscc-premium.css tokens */
.gpc-lead { margin: 0 0 var(--gp-s5); max-width: 48rem; color: var(--gp-ink-2); font-size: 1.0625rem; line-height: 1.65; }
.gpc-cards { display: grid; gap: var(--gp-s4); grid-template-columns: 1fr; }
@media (min-width: 768px) { .gpc-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gpc-card { display: flex; flex-direction: column; gap: .35rem; padding: var(--gp-s5); background: var(--gp-card, #fff); border: 1px solid var(--gp-line); border-radius: var(--gp-radius); box-shadow: var(--gp-shadow-sm); color: var(--gp-ink); text-decoration: none; transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease; }
a.gpc-card:hover { box-shadow: var(--gp-shadow); transform: translateY(-2px); border-color: var(--gp-primary-2); color: var(--gp-ink); }
a.gpc-card:focus-visible { outline: 3px solid var(--gp-primary-2); outline-offset: 2px; }
.gpc-card--call { border-top: 4px solid var(--gp-accent); }
.gpc-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin-bottom: .5rem; border-radius: 12px; background: var(--gp-primary-tint); color: var(--gp-primary); font-size: 1.25rem; }
.gpc-card--call .gpc-icon { background: #fff1e0; color: var(--gp-accent-ink); }
.gpc-kicker { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gp-secondary); }
.gpc-card strong { font-size: 1.125rem; line-height: 1.35; color: var(--gp-ink); overflow-wrap: anywhere; }
.gpc-card p { margin: 0; color: var(--gp-ink-2); font-size: .9375rem; line-height: 1.55; }
.gpc-hint { font-size: .8125rem; color: var(--gp-muted); }

.gpc-dir-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--gp-s4); margin: var(--gp-s7) 0 var(--gp-s4); }
.gpc-dir-head h2 { margin: 0 0 .25rem; font-size: 1.5rem; color: var(--gp-ink); }
.gpc-dir-head p { margin: 0; color: var(--gp-ink-2); }
.gpc-search { display: block; flex: 1 1 18rem; max-width: 24rem; }
.gpc-search > span { display: block; margin-bottom: .35rem; font-size: .875rem; font-weight: 600; color: var(--gp-ink); }
.gpc-empty { padding: var(--gp-s4); border: 1px dashed var(--gp-line); border-radius: var(--gp-radius); background: var(--gp-surface-low); color: var(--gp-ink-2); }

.gpc-acc-list { display: grid; gap: .75rem; }
.gpc-acc { border: 1px solid var(--gp-line); border-radius: var(--gp-radius); background: #fff; box-shadow: var(--gp-shadow-sm); overflow: hidden; }
.gpc-acc[hidden] { display: none; }
.gpc-acc-head { margin: 0; font-size: 1rem; }
.gpc-acc-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: #fff; border: 0; color: var(--gp-ink); font: inherit; font-weight: 700; text-align: left; cursor: pointer; min-height: 3.25rem; }
.gpc-acc-btn:hover { background: var(--gp-surface-low); }
.gpc-acc-btn:focus-visible { outline: 3px solid var(--gp-primary-2); outline-offset: -3px; }
.gpc-acc-btn[aria-expanded="true"] { background: var(--gp-primary-tint); color: var(--gp-primary); }
.gpc-acc-btn i { flex: 0 0 auto; color: var(--gp-primary-2); transition: transform .15s ease; }
.gpc-acc-btn[aria-expanded="true"] i { transform: rotate(180deg); }
.gpc-acc-panel { padding: 1.25rem; border-top: 1px solid var(--gp-line); }
.gpc-acc-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem 1.5rem; margin: 0 0 1.25rem; }
.gpc-acc-details dt { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--gp-muted); }
.gpc-acc-details dd { margin: .25rem 0 0; color: var(--gp-ink); overflow-wrap: anywhere; }
.gpc-acc-sub { margin: 0 0 .5rem; font-size: .9375rem; font-weight: 800; color: var(--gp-primary); }
.gpc-acc-none { margin: 0 0 .75rem; color: var(--gp-ink-2); }
.gpc-officers { display: grid; gap: .5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.gpc-officers li { display: flex; flex-wrap: wrap; gap: .25rem 1rem; padding: .625rem .875rem; border: 1px solid var(--gp-line); border-radius: var(--gp-radius-sm); background: var(--gp-surface-low); overflow-wrap: anywhere; }
.gpc-officers li > span { font-weight: 600; flex: 1 1 100%; }
.gpc-acc-panel a { color: var(--gp-primary-2); font-weight: 600; }
.gpc-acc-panel a:focus-visible { outline: 3px solid var(--gp-primary-2); outline-offset: 2px; border-radius: 2px; }
.gpc-doc { display: inline-flex; align-items: center; gap: .4rem; }
.gpc-legacy { overflow-x: auto; }
@media (prefers-reduced-motion: reduce) { .gpc-card, .gpc-acc-btn i { transition: none; } a.gpc-card:hover { transform: none; } }
