 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 body {
     font-family: Arial, Helvetica, sans-serif;
     line-height: 1.6;
     color: #123047;
     background-color: #f4f6f9;
 }

 a {
     color: #0056a3;
     text-decoration: none;
 }

 a:hover {
     text-decoration: underline;
     color: #f4b02a;
 }

 header {
     position: relative;
     color: #ffffff;
     overflow: hidden;
 }

 .hero-banner {
     background: url("/assets/images/courthousebanner.jpg") center/cover no-repeat;
     min-height: 228px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
 }

 .hero-overlay {
     background: rgba(5, 30, 60, 0.78);
     position: absolute;
     inset: 0;
 }

 .hero-content {
     position: relative;
     max-width: 1100px;
     padding: 2rem 1.5rem;
     text-align: center;
 }

 .hero-title {
     font-size: 2rem;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     margin-bottom: 0.4rem;
 }

 .hero-subtitle {
     font-size: 1.05rem;
     margin-bottom: 0.4rem;
 }

 .hero-meta {
     font-size: 0.9rem;
     opacity: 0.9;
 }

 nav {
     background: #0e2338;
     border-bottom: 3px solid #f4b02a;
 }

 .nav-inner {
     max-width: 1100px;
     margin: 0 auto;
     padding: 0.5rem 1rem;
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 0.75rem;
 }

 .nav-inner a {
     color: #ffffff;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

 .nav-inner a:hover {
     color: #f4b02a;
 }

 main {
     max-width: 1100px;
     margin: 1.5rem auto 2.5rem auto;
     padding: 0 1rem;
 }

 .breadcrumb {
     font-size: 0.85rem;
     margin-bottom: 0.75rem;
 }

 .card {
     background: #ffffff;
     border-radius: 10px;
     padding: 1.25rem 1.4rem;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
     margin-bottom: 1.25rem;
 }

 .card h1 {
     font-size: 1.8rem;
     border-bottom: 2px solid #f4b02a;
     padding-bottom: 0.35rem;
     margin-bottom: 0.7rem;
     color: #0e2338;
     text-align: center;
 }

 .card h2 {
     font-size: 1.35rem;
     margin-top: 0.4rem;
     margin-bottom: 0.45rem;
     color: #0e2338;
 }

 .card h3 {
     font-size: 1.05rem;
     margin-top: 0.9rem;
     margin-bottom: 0.35rem;
     font-weight: bold;
 }

 .card p {
     margin-bottom: 0.7rem;
     text-align: justify;
 }

 /* Layout helpers */
 .two-column {
     display: flex;
     flex-wrap: wrap;
     gap: 1.5rem;
 }

 .two-column .col {
     flex: 1 1 260px;
 }

 .highlight-section {
     background: #f9fbff;
     border-radius: 10px;
     padding: 1rem 1.1rem;
     margin-top: 0.4rem;
 }

 .important-note {
     background: #fff7e5;
     border-left: 4px solid #f4b02a;
     border-radius: 8px;
     padding: 0.9rem 1rem;
     margin: 0.7rem 0;
     font-size: 0.96rem;
 }

 .important-note strong {
     color: #b03030;
 }

 .image-figure {
     text-align: center;
     margin-bottom: 0.9rem;
 }

 .image-figure img {
     max-width: 100%;
     height: auto;
     border-radius: 8px;
     box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
 }

 .image-row {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 0.75rem;
     margin: 0.3rem 0 0.9rem;
 }

 .image-row img {
     height: 220px;
     width: auto;
     border-radius: 8px;
     box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
 }

 .section-title-bar {
     font-size: 1.3rem;
     font-weight: bold;
     margin: 0.4rem 0 0.3rem;
     padding-bottom: 0.3rem;
     border-bottom: 2px solid #f4b02a;
     color: #0e2338;
 }

 .location-table-wrapper {
     background: #eef3ff;
     border-radius: 10px;
     padding: 1rem 1.1rem;
     margin-top: 0.6rem;
 }

 table {
     width: 100%;
     border-collapse: collapse;
     font-size: 0.95rem;
 }

 th,
 td {
     border: 1px solid #c5d2f5;
     padding: 0.4rem 0.5rem;
     text-align: left;
 }

 th {
     background: #d8e2ff;
     font-weight: bold;
 }

 tr:nth-child(even) td {
     background: #f6f8ff;
 }

 .hash-row {
     text-align: center;
     font-size: 1.2rem;
     margin-top: 1.25rem;
     color: #777;
 }

 footer {
     background: #0e2338;
     color: #ffffff;
     padding: 1rem;
     text-align: center;
     font-size: 0.85rem;
 }

 footer a {
     color: #ffcc5f;
 }

 @media (max-width: 600px) {
     .hero-title {
         font-size: 1.6rem;
     }
 }

 .dl-btn {
     display: inline-block;
     margin: 0.35rem 0.45rem;
     padding: 0.65rem 1.25rem;
     background: #0e2338;
     color: #ffffff !important;
     border-radius: 8px;
     font-size: 1rem;
     font-weight: bold;
     letter-spacing: 0.03em;
     text-decoration: none;
     border: 2px solid #f4b02a;
     transition: 0.2s ease-in-out;
 }

 .dl-btn:hover {
     background: #123e66;
     color: #f4b02a !important;
     border-color: #ffd27f;
 }