*{
box-sizing:border-box;
margin:0;
padding:0;
font-family:Arial, Helvetica, sans-serif;
}

body{
background:#f2f2f2;
}

.topbar{
background:#0d2233;
color:white;
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 30px;
}

.logo{
font-size:26px;
font-weight:bold;
letter-spacing:2px;
}

.logo span{
color:#f5a623;
}

.nav a{
color:white;
text-decoration:none;
margin-left:25px;
font-size:14px;
}

.nav a.active{
color:#f5a623;
}

.container{
display:flex;
min-height:90vh;
}

.sidebar{
background:#10293c;
color:white;
width:280px;
padding:25px;
}

.section{
margin-bottom:35px;
}

.section h3{
margin-bottom:10px;
font-size:18px;
}

.section ul{
list-style:none;
}

.section li{
padding:6px 0;
opacity:0.9;
}

.section li.active{
color:#f5a623;
}

.filter{
border-top:1px solid rgba(255,255,255,0.2);
padding:10px 0;
}

.filter h4{
font-size:14px;
}

.content{
flex:1;
padding:40px;
background:#f7f7f7;
}

/* BREADCRUMBS */

.breadcrumbs{
font-size:14px;
margin-bottom:20px;
color:#6b7a86;
}

.breadcrumbs a{
color:#2a78c8;
text-decoration:none;
font-weight:500;
}

.breadcrumbs a:hover{
text-decoration:underline;
}

.breadcrumbs span{
margin:0 6px;
color:#9aa7b2;
}

/*.products{
background:white;
height:500px;
display:flex;
align-items:center;
justify-content:center;
border-radius:4px;
}*/

.products{
  background:white;
  border-radius:4px;
  padding:30px;
}


.placeholder{
opacity:0.5;
}

/* responsive */

@media (max-width:900px){

.container{
flex-direction:column;
}

.sidebar{
width:100%;
}

.nav{
display:none;
}

}

/* FOOTER */

.footer{
background:#0f1720;
color:#fff;
margin-top:40px;
}

.footer-container{
max-width:1200px;
margin:auto;
padding:40px 20px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:40px;
}

.footer-col h4{
margin-bottom:15px;
font-size:16px;
font-weight:600;
}

.footer-col p{
font-size:14px;
line-height:1.6;
color:#c7d1db;
}

.footer-col ul{
list-style:none;
padding:0;
margin:0;
}

.footer-col li{
margin-bottom:8px;
}

.footer-col a{
text-decoration:none;
color:#c7d1db;
font-size:14px;
transition:0.2s;
}

.footer-col a:hover{
color:#ffffff;
}

.footer-bottom{
text-align:center;
padding:15px;
font-size:13px;
background:#0b1219;
color:#9aa8b6;
}

/* RTK HOME MODULES */

.rtk-home-modules{
  max-width:1200px;
  margin:0 auto;
  padding:0;
}

.rtk-home-intro{
text-align:center;
margin-bottom:40px;
}

.rtk-home-intro h1{
font-size:32px;
margin-bottom:15px;
color:#111;
}

.rtk-home-intro p{
font-size:16px;
color:#555;
line-height:1.6;
max-width:900px;
margin:auto;
}

/* GRID */

.rtk-module-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;
}

/* CARD */

.rtk-module-card{
background:#ffffff;
border:1px solid #e5e5e5;
border-radius:8px;
padding:28px;
text-decoration:none;
transition:all .25s ease;
display:block;
height:100%;
}

.rtk-module-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(0,0,0,0.08);
border-color:#d6d6d6;
}

/* CONTENT */

.rtk-module-content h2{
font-size:18px;
line-height:1.4;
margin-bottom:12px;
color:#111;
}

.rtk-module-content p{
font-size:14px;
color:#555;
line-height:1.6;
margin-bottom:16px;
}

/* LINK STYLE */

.rtk-module-link{
font-size:14px;
font-weight:600;
color:#0077cc;
display:inline-block;
}

.rtk-module-card:hover .rtk-module-link{
text-decoration:underline;
}

/* RESPONSIVE */

@media (max-width:768px){

.rtk-home-intro h1{
font-size:26px;
}

.rtk-module-card{
padding:22px;
}

.rtk-module-content h2{
font-size:17px;
}

}


/* MOBILE SIDEBAR TOGGLE */

.filter-toggle{
display:none;
background:#0d2b3f;
color:white;
border:none;
padding:12px 16px;
font-size:16px;
cursor:pointer;
width:100%;
}

/* MOBILE */

@media (max-width: 900px){

.container{
flex-direction:column;
}

.filter-toggle{
display:block;
}

.sidebar{
display:none;
width:100%;
}

.sidebar.active{
display:block;
}

}

/* STATE SIDEBAR */

.sidebar h3{
font-size:18px;
margin-bottom:15px;
color:#ffffff;
}

.sidebar ul{
list-style:none;
padding:0;
margin:0;
}

.sidebar li{
margin-bottom:6px;
}

/* STATE LINKS */

.sidebar a{
display:block;
padding:8px 12px;
color:#bcd2e3;
text-decoration:none;
font-size:14px;
border-radius:4px;
transition:all .2s ease;
}

/* HOVER */

.sidebar a:hover{
background:#0e3a55;
color:#ffffff;
padding-left:16px;
}

/* ACTIVE STATE */

.sidebar a.active{
background:#f5a623;
color:#0b2436;
font-weight:600;
}

/* MAIN PAGE HEADER */

.page-header{
max-width:900px;
margin-bottom:35px;
}

.page-header{
background:#f5f6f7;
border-radius:6px;
padding:35px 40px;
margin-bottom:40px;
}

.page-title{
font-size:30px;
font-weight:700;
line-height:1.3;
color:#111;
margin-bottom:16px;
}

/* PAGE TITLE */


.page-intro{
font-size:16px;
line-height:1.7;
color:#555;
max-width:760px;
}



@media (max-width:768px){

.page-title{
font-size:26px;
}

.page-intro{
font-size:15px;
}

}

/* STATE CATEGORY SECTION */

.state-category-tiles{
  margin-top: 10px;
}

.state-category-intro{
  background: #f5f6f7;
  border-radius: 8px;
  padding: 40px 48px;
  margin-bottom: 32px;
}

.state-category-intro h2{
  font-size: 42px;
  line-height: 1.15;
  font-weight: 700;
  color: #111827;
  margin: 0 0 18px 0;
}

.state-category-intro p{
  font-size: 18px;
  line-height: 1.75;
  color: #4b5563;
  margin: 0;
  max-width: 1100px;
}

/* GRID */

.state-category-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

/* CARD */

.state-category-card{
  display: block;
  background: #ffffff;
  border: 1px solid #d9dee4;
  border-radius: 8px;
  padding: 28px 30px;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

.state-category-card:hover{
  border-color: #c2ccd6;
  box-shadow: 0 8px 22px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

/* CARD CONTENT */

.state-category-content h3{
  font-size: 28px;
  line-height: 1.25;
  font-weight: 700;
  color: #111827;
  margin: 0 0 14px 0;
  text-decoration: none;
}

.state-category-content p{
  font-size: 17px;
  line-height: 1.7;
  color: #4b5563;
  margin: 0 0 18px 0;
  text-decoration: none;
}

.state-category-link{
  display: inline-block;
  font-size: 17px;
  font-weight: 600;
  color: #0b73d9;
  text-decoration: none;
}

.state-category-card:hover .state-category-link{
  text-decoration: underline;
}

/* REMOVE DEFAULT LINK STYLING INSIDE CARDS */

.state-category-card,
.state-category-card:visited,
.state-category-card:hover,
.state-category-card:active{
  text-decoration: none;
}

.state-category-card h3,
.state-category-card p,
.state-category-card span{
  text-decoration: none;
}

/* RESPONSIVE */

@media (max-width: 1100px){
  .state-category-grid{
    grid-template-columns: 1fr;
  }

  .state-category-intro{
    padding: 32px 28px;
  }

  .state-category-intro h2{
    font-size: 34px;
  }

  .state-category-content h3{
    font-size: 24px;
  }
}

@media (max-width: 768px){
  .state-category-intro{
    padding: 24px 20px;
  }

  .state-category-intro h2{
    font-size: 28px;
  }

  .state-category-intro p{
    font-size: 16px;
    line-height: 1.65;
  }

  .state-category-card{
    padding: 22px 20px;
  }

  .state-category-content h3{
    font-size: 21px;
  }

  .state-category-content p{
    font-size: 15px;
  }

  .state-category-link{
    font-size: 15px;
  }
}

.city-link-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px 24px;
}

/* Desktop: 2 columns */
@media (min-width: 768px) {
    .city-link-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.city-link-item a {
    display: block;
    text-decoration: none;
    color: #0056b3;
    line-height: 1.6;
}

.city-link-item a:hover {
    text-decoration: underline;
}

.city-link-item {
    padding: 2px 0;
}

.state-seo-text p {
    margin-bottom: 16px;
    line-height: 1.7;
}

.state-seo-text p:last-child {
    margin-bottom: 24px;
}

.city-link-grid {
    margin-top: 10px;
}