@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900&display=swap');

.iw-towns-wrap * { box-sizing: border-box !important; font-family: 'Montserrat', sans-serif !important; }
.iw-towns-wrap { background: #132d52 !important; padding: 6rem 1.5rem 5rem !important; overflow: hidden !important; position: relative !important; }
.iw-towns-wrap::before { content: '' !important; position: absolute !important; top: -120px !important; left: -80px !important; width: 600px !important; height: 600px !important; border-radius: 50% !important; background: radial-gradient(circle, rgba(0,194,212,0.09) 0%, transparent 70%) !important; pointer-events: none !important; }
.iw-towns-inner { max-width: 1100px !important; margin: 0 auto !important; }
.iw-towns-top { display: grid !important; grid-template-columns: 1fr auto !important; gap: 3rem !important; align-items: start !important; margin-bottom: 3.5rem !important; }
.iw-towns-label { display: block !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #00c2d4 !important; margin: 0 0 0.9rem !important; }
.iw-towns-headline { font-size: clamp(2.2rem, 5vw, 3.6rem) !important; font-weight: 900 !important; line-height: 1.08 !important; letter-spacing: -0.03em !important; color: #ffffff !important; margin: 0 0 1.2rem !important; }
.iw-towns-headline em { font-style: normal !important; color: #00c2d4 !important; }
.iw-towns-subhead { font-size: 1rem !important; font-weight: 300 !important; color: rgba(255,255,255,0.62) !important; line-height: 1.72 !important; max-width: 480px !important; margin: 0 !important; }
.iw-towns-stats { display: flex !important; flex-direction: column !important; gap: 1rem !important; flex-shrink: 0 !important; }
.iw-towns-stat { background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.11) !important; border-radius: 14px !important; padding: 1rem 1.4rem !important; text-align: center !important; min-width: 130px !important; }
.iw-towns-stat-num { display: block !important; font-size: 2rem !important; font-weight: 800 !important; color: #00c2d4 !important; line-height: 1 !important; margin-bottom: 4px !important; }
.iw-towns-stat-label { display: block !important; font-size: 0.72rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: rgba(255,255,255,0.45) !important; }
.iw-towns-divider { height: 1px !important; background: rgba(255,255,255,0.08) !important; margin-bottom: 2.5rem !important; }
.iw-towns-leadin { background: linear-gradient(105deg, #0b1f3a 0%, #1e4278 60%, #0b2a4a 100%) !important; border: 1px solid rgba(0,194,212,0.30) !important; border-radius: 20px !important; padding: 2.5rem 2rem !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 2rem !important; position: relative !important; overflow: hidden !important; }
.iw-towns-leadin::after { content: '' !important; position: absolute !important; right: -60px !important; top: -60px !important; width: 280px !important; height: 280px !important; border-radius: 50% !important; background: radial-gradient(circle, rgba(0,194,212,0.14) 0%, transparent 70%) !important; pointer-events: none !important; }
.iw-towns-leadin-copy { flex: 1 !important; min-width: 0 !important; }
.iw-towns-leadin-tag { display: inline-flex !important; align-items: center !important; gap: 6px !important; background: rgba(0,194,212,0.15) !important; border: 1px solid rgba(0,194,212,0.30) !important; border-radius: 100px !important; padding: 4px 14px !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: #00c2d4 !important; margin-bottom: 0.9rem !important; }
.iw-towns-leadin-headline { font-size: clamp(1.3rem, 3vw, 1.8rem) !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; color: #ffffff !important; margin: 0 0 0.6rem !important; }
.iw-towns-leadin-body { font-size: 0.88rem !important; font-weight: 300 !important; color: rgba(255,255,255,0.58) !important; line-height: 1.65 !important; margin: 0 !important; }
.iw-towns-leadin-actions { display: flex !important; flex-direction: column !important; gap: 10px !important; flex-shrink: 0 !important; align-items: stretch !important; min-width: 190px !important; }
.iw-towns-btn-primary { background: #00c2d4 !important; color: #0b1f3a !important; font-size: 0.88rem !important; font-weight: 700 !important; padding: 14px 24px !important; border-radius: 100px !important; border: none !important; cursor: pointer !important; text-decoration: none !important; display: block !important; text-align: center !important; transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important; white-space: nowrap !important; }
.iw-towns-btn-primary:hover { background: #00d9ef !important; transform: translateY(-2px) !important; box-shadow: 0 10px 28px rgba(0,194,212,0.38) !important; color: #0b1f3a !important; text-decoration: none !important; }
.iw-towns-btn-ghost { background: transparent !important; color: rgba(255,255,255,0.70) !important; font-size: 0.85rem !important; font-weight: 600 !important; padding: 13px 24px !important; border-radius: 100px !important; border: 1px solid rgba(255,255,255,0.20) !important; cursor: pointer !important; text-decoration: none !important; display: block !important; text-align: center !important; transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s !important; white-space: nowrap !important; }
.iw-towns-btn-ghost:hover { background: rgba(255,255,255,0.08) !important; border-color: rgba(255,255,255,0.40) !important; color: #ffffff !important; transform: translateY(-2px) !important; text-decoration: none !important; }
.iw-towns-reveal { opacity: 0 !important; transform: translateY(24px) !important; transition: opacity 0.65s ease, transform 0.65s ease !important; }
.iw-towns-reveal.iw-towns-visible { opacity: 1 !important; transform: translateY(0) !important; }

@media (max-width: 860px) {
  .iw-towns-top { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .iw-towns-stats { flex-direction: row !important; flex-wrap: wrap !important; }
  .iw-towns-stat { flex: 1 !important; min-width: 100px !important; }
  .iw-towns-leadin { flex-direction: column !important; align-items: flex-start !important; }
  .iw-towns-leadin-actions { flex-direction: row !important; flex-wrap: wrap !important; min-width: 0 !important; width: 100% !important; }
  .iw-towns-btn-primary, .iw-towns-btn-ghost { flex: 1 !important; min-width: 140px !important; }
}

@media (max-width: 560px) {
  .iw-towns-wrap { padding: 4rem 1.25rem 4rem !important; }
  .iw-towns-headline { font-size: 2rem !important; }
  .iw-towns-leadin { padding: 1.8rem 1.4rem !important; }
  .iw-towns-leadin-actions { flex-direction: column !important; }
  .iw-towns-btn-primary, .iw-towns-btn-ghost { width: 100% !important; font-size: 0.76rem !important; padding: 13px 18px !important; }
}
