body{
font-family:Arial,sans-serif;
background:#f5f7fa;
margin:0;
color:#111827;
}

.wrap{
max-width:1100px;
margin:0 auto;
padding:30px 20px;
}

.container{
max-width:1200px;
margin:auto;
padding:20px;
}

h1{
margin:0 0 20px;
font-size:32px;
line-height:1.2;
}

h2{
margin:32px 0 16px;
font-size:24px;
line-height:1.25;
}

h3{
margin-top:0;
margin-bottom:14px;
}

.card{
background:#fff;
padding:20px;
border-radius:10px;
margin-bottom:20px;
box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.card h3{
margin:0 0 8px;
font-size:18px;
line-height:1.3;
}

.card p{
margin:4px 0;
color:#444;
}

.badge{
display:inline-block;
background:#eef2ff;
color:#3730a3;
padding:8px 12px;
border-radius:20px;
margin-right:8px;
margin-bottom:8px;
font-weight:600;
}

table{
width:100%;
border-collapse:collapse;
}

th,td{
padding:12px;
border-bottom:1px solid #eee;
text-align:left;
vertical-align:top;
}

th{
background:#fafafa;
}

a{
color:#2563eb;
text-decoration:none;
font-weight:600;
}

a:hover{
text-decoration:underline;
}

.grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px;
}

.grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.grid-3{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:20px;
}

.decision-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.breadcrumbs{
font-size:14px;
margin-bottom:14px;
color:#6b7280;
}

.breadcrumbs a{
color:#2563eb;
text-decoration:none;
font-weight:500;
}

.summary p{
margin:0 0 14px;
line-height:1.75;
}

.decision-line{
margin:0 0 14px;
line-height:1.7;
}

.helper-line{
margin-top:10px;
color:#4b5563;
}

.map iframe{
width:100%;
height:400px;
border:0;
border-radius:8px;
}

.detail-row{
margin-bottom:10px;
line-height:1.55;
}

.label{
font-weight:700;
}

.top-meta{
color:#4b5563;
font-size:16px;
margin-bottom:14px;
}

.section-title{
font-size:20px;
margin-bottom:14px;
}

.warning-list{
margin:0;
padding-left:18px;
line-height:1.7;
}

.compare-table{
width:100%;
border-collapse:collapse;
font-size:14px;
}

.compare-table th,
.compare-table td{
padding:12px 10px;
border-bottom:1px solid #e5e7eb;
text-align:left;
vertical-align:top;
}

.compare-table th{
background:#f8fafc;
font-weight:700;
}

.compare-name a{
color:#1d4ed8;
text-decoration:none;
font-weight:700;
}

.compare-name a:hover{
text-decoration:underline;
}

.back{
display:inline-block;
margin-bottom:20px;
}

.meta{
color:#666;
font-size:14px;
}

.map-wrap{
background:#fff;
border:1px solid #e3e3e3;
border-radius:10px;
padding:16px;
margin:24px 0;
}

.map-frame{
width:100%;
height:420px;
border:0;
border-radius:8px;
}

.info-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:14px;
}

.info-item{
background:#fff;
border:1px solid #e3e3e3;
border-radius:10px;
padding:14px;
}

.info-item strong{
display:block;
margin-bottom:6px;
}

.breadcrumb{
margin:0 0 16px;
font-size:14px;
color:#666;
}

.breadcrumb a{
text-decoration:none;
color:#1565c0;
}

.link-box{
background:#fff;
border:1px solid #e3e3e3;
border-radius:10px;
padding:18px;
margin:28px 0 0;
}

.link-box ul{
margin:10px 0 0 18px;
padding:0;
}

.link-box li{
margin:8px 0;
}

.link-box a{
text-decoration:none;
color:#1565c0;
}

/* DIRECTORY HOMEPAGE GRID */

.state-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:8px;
}

.state-grid .card{
padding:8px 10px;
min-height:36px;
margin-bottom:0;
border-radius:8px;
}

.state-grid .card h3{
margin:0 0 1px;
font-size:12px;
line-height:1.1;
}

.state-grid .card p{
margin:0;
font-size:11px;
line-height:1.1;
color:#2563eb;
font-weight:600;
}


/* NAV */

.top-nav{
border-bottom:1px solid #eee;
padding:14px 20px;
background:#fff;
}

.nav-inner{
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
font-weight:700;
font-size:18px;
text-decoration:none;
color:#111;
}

.nav-links a{
margin-left:20px;
text-decoration:none;
color:#333;
font-size:14px;
}

.nav-links a:hover{
text-decoration:underline;
}

/* FOOTER */

.site-footer{
border-top:1px solid #e5e7eb;
background:#fff;
margin-top:40px;
padding:24px 20px;
}

.footer-inner{
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.site-footer p{
margin:0;
color:#6b7280;
font-size:14px;
}

.footer-links a{
margin-left:16px;
text-decoration:none;
color:#333;
font-size:14px;
}

.footer-links a:hover{
text-decoration:underline;
}

@media (max-width:1100px){
.state-grid{
grid-template-columns:repeat(4,minmax(0,1fr));
}
}

@media (max-width:900px){
.grid-2,
.grid-3,
.decision-grid{
grid-template-columns:1fr;
}

.state-grid{
grid-template-columns:repeat(3,minmax(0,1fr));
}

h1{
font-size:30px;
}
}

@media (max-width:700px){
.footer-inner{
flex-direction:column;
align-items:flex-start;
}

.footer-links a{
margin-left:0;
margin-right:16px;
}

.state-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width:500px){
.state-grid{
grid-template-columns:1fr;
}
}