
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a1a2e;background:#f8f9fa;line-height:1.6}
a{color:#2563eb;text-decoration:none}
a:hover{text-decoration:underline}

nav.breadcrumb{padding:12px 20px;font-size:.85rem;color:#666;background:#fff;border-bottom:1px solid #e5e7eb}
nav.breadcrumb a{color:#2563eb}

.hero{background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);color:#fff;padding:48px 20px 40px;text-align:center}
.hero h1{font-size:2rem;font-weight:700;margin-bottom:12px}
.hero-answer,.hero-tagline{font-size:1.1rem;opacity:.92;max-width:680px;margin:0 auto 24px}
.hero-answer strong{color:#fbbf24}

.cta-group{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:.2s}
.btn-primary{background:#fbbf24;color:#1a1a2e}
.btn-primary:hover{background:#f59e0b;text-decoration:none}
.btn-secondary{background:rgba(255,255,255,.15);color:#fff;border:2px solid rgba(255,255,255,.4)}
.btn-secondary:hover{background:rgba(255,255,255,.25);text-decoration:none}

section{max-width:960px;margin:0 auto;padding:36px 20px}

.compare-table{overflow-x:auto;margin-top:16px}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{background:#2563eb;color:#fff;padding:10px 14px;text-align:left}
td{padding:9px 14px;border-bottom:1px solid #e5e7eb}
tr:nth-child(even) td{background:#f0f4ff}

.district-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.district-tag{background:#e0e7ff;color:#3730a3;padding:6px 14px;border-radius:20px;font-size:.875rem;transition:.2s}
.district-tag:hover{background:#c7d2fe;text-decoration:none}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.card h3{font-size:1.15rem;margin-bottom:8px;color:#1e3a5f}
.card p{font-size:.9rem;color:#555;margin-bottom:16px}
.card .btn{font-size:.875rem;padding:10px 18px}
.card .btn-primary{color:#1a1a2e}
.card .btn-secondary{background:#e0e7ff;color:#3730a3;border:none}
.card .btn-secondary:hover{background:#c7d2fe}

.faq{max-width:960px;margin:0 auto;padding:36px 20px}
.faq h2{margin-bottom:20px}
details{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;background:#fff}
summary{padding:14px 18px;font-weight:600;cursor:pointer;list-style:none;color:#1e3a5f}
summary::-webkit-details-marker{display:none}
summary::before{content:'＋ ';color:#2563eb}
details[open] summary::before{content:'－ '}
details p{padding:0 18px 14px;color:#555;font-size:.92rem}

.voice-section{max-width:960px;margin:0 auto;padding:24px 20px 36px;background:#fff7ed;border-radius:12px}
.voice-section h2{margin-bottom:10px}
.voice-list{margin:10px 0 14px 0;padding-left:0;list-style:none}
.voice-list li{padding:6px 0;font-style:italic;color:#92400e}
.voice-list li::before{content:'🎤 '}

.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:20px}
.city-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.city-card:hover{border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.12);text-decoration:none}
.city-name{font-weight:600;color:#1e3a5f;font-size:.95rem}
.city-count{font-size:.78rem;color:#6b7280}

.how-it-works ol{margin-top:16px;padding-left:24px}
.how-it-works li{padding:8px 0;font-size:.95rem}

footer{background:#1e3a5f;color:#cbd5e1;text-align:center;padding:24px 20px;font-size:.85rem}
footer a{color:#93c5fd}

@media(max-width:600px){
  .hero h1{font-size:1.5rem}
  .btn{padding:11px 18px;font-size:.9rem}
  .cta-group{flex-direction:column;align-items:center}
}
