.public-loading { padding-block:48px 80px; min-height:65vh; animation:public-loading-appear .2s ease-out both; }
.public-loading-a11y { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.public-loading-intro { margin-bottom:40px; }
.public-loading-eyebrow,.public-loading-title,.public-loading-line { display:block; background:#e4e6e1; border-radius:3px; }
.public-loading-eyebrow { width:130px; height:10px; margin-bottom:24px; }
.public-loading-title { width:min(540px,80%); height:48px; margin-bottom:22px; }
.public-loading-line { width:100%; max-width:610px; height:12px; margin-bottom:14px; }
.public-loading-line--short { width:65%; }
.public-loading-image,.public-loading-map { background:#e5e9e4; border-radius:4px; }
.public-loading-image { aspect-ratio:3/2; }
.public-loading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.public-loading-card-copy { padding-top:20px; }
.public-loading-card-copy .public-loading-line { height:11px; }
.public-loading-map-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:28px; }
.public-loading-map { min-height:420px; background:linear-gradient(135deg,transparent 43%,#f4fafb 43%,#f4fafb 45%,transparent 45%),linear-gradient(40deg,transparent 57%,#dce5e4 57%,#dce5e4 61%,transparent 61%),#e5e9e4; }
.public-loading-map-cards { display:grid; align-content:start; gap:24px; }
.public-loading-map-cards .public-loading-card { display:grid; grid-template-columns:92px minmax(0,1fr); align-items:center; gap:18px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.public-loading-map-cards .public-loading-card-copy { padding:0; }
.public-loading-feature { display:grid; grid-template-columns:3fr 2fr; align-items:center; gap:48px; }
.public-loading-feature .public-loading-line { margin-bottom:24px; }
@keyframes public-loading-appear { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
  .public-loading { padding-block:32px 48px; }
  .public-loading-intro { margin-bottom:28px; }
  .public-loading-title { height:40px; width:90%; }
  .public-loading-grid,.public-loading-feature,.public-loading-map-layout { grid-template-columns:minmax(0,1fr); gap:26px; }
  .public-loading-grid .public-loading-card:nth-child(n+2) { display:none; }
  .public-loading-map { min-height:360px; }
  .public-loading-map-cards { display:none; }
}
@media(prefers-reduced-motion:reduce) { .public-loading { animation:none; } }
