/* GEO page styles */
.geo-intro { padding: 48px 0 32px; background: var(--color-surface); }
.geo-intro-content { max-width: 720px; text-align: center; }
.geo-intro-content h2 { font-size: 1.75rem; font-weight: 700; margin-bottom: 12px; }
.geo-intro-content p { color: var(--color-text-secondary); }

.geo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.geo-card { padding: 28px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); transition: var(--transition); }
.geo-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.geo-flag { font-size: 2.5rem; margin-bottom: 12px; }
.geo-title { font-size: 1.15rem; font-weight: 600; margin-bottom: 12px; }
.geo-desc { font-size: .9rem; color: var(--color-text-secondary); margin-bottom: 16px; line-height: 1.6; }
.geo-features { list-style: none; margin-bottom: 20px; }
.geo-features li { padding: 4px 0; font-size: .85rem; color: var(--color-text-secondary); position: relative; padding-left: 20px; }
.geo-features li::before { content: '•'; position: absolute; left: 0; color: var(--color-primary); font-weight: 700; }

.geo-cta { margin-top: 48px; }

@media (max-width: 1024px) { .geo-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .geo-grid { grid-template-columns: 1fr; } }