/* Community storytelling and progressive scroll motion. */
.hero-content { min-height: min(730px, calc(100svh - 175px)); grid-template-columns: 1.35fr 1fr; }
.hero-scenery { will-change: transform; transform-origin: 65% 60%; }
.hero-orbit { position: relative; isolation: isolate; width: 100%; max-width: 440px; aspect-ratio: 1; display: grid; place-items: center; }
.hero-orbit::before { content: ''; position: absolute; inset: -8%; z-index: -1; border-radius: 50%; background: radial-gradient(ellipse, #15214ded 0%, #15214ddb 38%, #15214d70 57%, transparent 72%); }
.orbit-art { position: absolute; inset: 0; }
.orbit-ring { position: absolute; inset: 4%; border: 1px solid #95ddf790; border-radius: 50%; box-shadow: inset 0 0 28px #95ddf70b, 0 0 25px #95ddf712; }
.orbit-ring::before { content: ''; position: absolute; inset: -5% 8%; border: 1px solid #95ddf74d; border-radius: 50%; transform: rotate(-38deg); }
.orbit-ring::after { content: ''; position: absolute; inset: 7%; border: 1px dashed #95ddf730; border-radius: 50%; }
.orbit-satellite { position: absolute; inset: 4%; border-radius: 50%; animation: orbit-travel 20s linear infinite; }
.orbit-satellite::before { content: ''; position: absolute; top: -5px; left: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; background: #cbeefd; box-shadow: 0 0 0 7px #95ddf718, 0 0 22px #95ddf7; }
.orbit-copy { text-align: center; padding: 18%; }
.orbit-copy h2 { font-size: clamp(2.4rem,4vw,3.8rem); line-height: 1.08; color: #fff; margin: 28px 0; text-shadow: 0 2px 16px #101a3f; }
.orbit-copy h2 em { color: #cbeefd; }
.orbit-label { font-size: .65rem; font-weight: 600; letter-spacing: .14em; line-height: 1.6; color: #e5f5ff; margin: 0; }
@keyframes orbit-travel { from { transform: rotate(-45deg); } to { transform: rotate(315deg); } }
.community-insights { background: #eef5fc; }
.insights-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 12%; }
.insights-heading p { color: var(--muted); max-width: 410px; }
.community-totals { display: grid; grid-template-columns: repeat(4,1fr); margin: 38px 0 64px; border-block: 1px solid #c8d4e7; }
.community-totals div { display: flex; flex-direction: column-reverse; gap: 12px; padding: 28px 18px; border-right: 1px solid #c8d4e7; }
.community-totals div:first-child { padding-left: 0; }.community-totals div:last-child { border: 0; }
.community-totals dd { margin: 0; font: 3.7rem Georgia,serif; color: var(--navy); }
.community-totals dt { font-size: .8rem; line-height: 1.5; }
.geography-grid,.expertise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.geography-card { background: #ffffff; padding: 34px 40px; border: 1px solid #d4ddeb; }
.map-heading { position: relative; z-index: 1; }.map-heading .eyebrow { margin-bottom: 10px; }
.geography-card h3,.expertise-grid h3 { font: 2.2rem Georgia,serif; letter-spacing: -.035em; }
.community-map { display: block; height: 290px; width: 100%; margin: -10px auto 22px; overflow: visible; }
.community-map path { stroke: #ffffff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.community-map .unmapped { fill: #dce3ef; }.community-map .mapped { fill: var(--navy); }
.insight-bars { list-style: none; padding: 0; margin: 0; }
.insight-bars li { margin-bottom: 20px; }.insight-bars li > div { display: flex; justify-content: space-between; gap: 12px; font-size: .85rem; margin-bottom: 9px; }
.bar-track { display: block; height: 5px; background: #dce3ef; overflow: hidden; }
.bar-track i { display: block; width: var(--bar); height: 100%; background: var(--navy); transform-origin: left; }
.coverage { color: #546477; font-size: .73rem; line-height: 1.7; margin: 22px 0 0; }
.expertise-grid { margin-top: 50px; gap: 80px; }.expertise-grid article { border-top: 1px solid #c8d4e7; padding-top: 30px; }
.snapshot-note { font-size: .73rem; color: #546477; border-top: 1px solid #c8d4e7; margin: 42px 0 0; padding-top: 22px; }
[data-reveal] { will-change: transform; }
@media(max-width:760px) {
 .hero-content { grid-template-columns: 1fr; min-height: auto; gap: 32px; }
 .hero-orbit { max-width: 320px; margin-inline: auto; }
 .orbit-copy h2 { font-size: 2.5rem; margin-block: 22px; }
 .orbit-label { font-size: .56rem; }
 .insights-heading,.geography-grid,.expertise-grid { grid-template-columns: 1fr; gap: 25px; }
 .community-totals { grid-template-columns: 1fr 1fr; margin: 22px 0 35px; }
 .community-totals div { padding: 22px 14px; }.community-totals div:nth-child(2) { border-right: 0; }
 .community-totals div:nth-child(n+3) { border-top: 1px solid #c8d4e7; }.community-totals div:nth-child(3) { padding-left: 0; }
 .community-totals dd { font-size: 3rem; }.community-totals dt { font-size: .7rem; }
 .geography-card { padding: 28px 24px; }.community-map { height: 250px; }
 .expertise-grid { margin-top: 35px; }
}
@media(prefers-reduced-motion:reduce) { [data-reveal],.orbit-art,.hero h1,.bar-track i,[data-portrait] { transform: none !important; } }
