 body {
     margin: 0;
     font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
     color: #122333;
     background: #f3f5f9;
     line-height: 1.6;
 }

 a {
     color: #0d4f9d;
     text-decoration: none;
 }

 a:hover {
     text-decoration: underline;
 }

 a:visited {
     color: #0d4f9d;
 }

 /* Banner */
 .banner {
     width: 100%;
     max-height: 230px;
     overflow: hidden;
 }

 .banner img {
     width: 100%;
     height: auto;
     display: block;
 }

 /* Top navigation */
 .main-nav {
     background: #0e2338;
     color: #ffffff;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
 }

 .main-nav ul {
     list-style: none;
     margin: 0;
     padding: 0.4rem 0.75rem;
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 0.4rem;
 }

 .main-nav li {
     position: relative;
     padding: 0.1rem 0.5rem;
 }

 .main-nav li+li::before {
     content: "•";
     color: #f4b02a;
     position: absolute;
     left: -0.2rem;
     top: 50%;
     transform: translate(-100%, -50%);
     font-size: 0.75rem;
 }

 .main-nav a {
     color: #ffffff;
     font-size: 0.92rem;
     font-weight: 500;
     letter-spacing: 0.01em;
 }

 .main-nav a:hover {
     color: #ffe28f;
     text-decoration: none;
 }

 /* Page layout */
 .page-wrapper {
     max-width: 1200px;
     margin: 1.5rem auto 2.5rem auto;
     padding: 0 1rem 2rem 1rem;
 }

 .page-header {
     text-align: center;
     margin-bottom: 1.2rem;
 }

 .page-header h1 {
     font-size: 1.9rem;
     margin: 0 0 0.25rem 0;
     color: #0e2338;
 }

 .page-header h2 {
     font-size: 1.1rem;
     margin: 0;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     color: #3c5872;
 }

 .intro-panel {
     background: #ffffff;
     border-radius: 10px;
     padding: 1.3rem 1.4rem;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
     margin-bottom: 1.5rem;
 }

 .intro-grid {
     display: grid;
     grid-template-columns: minmax(0, 3fr) minmax(0, 2.4fr);
     gap: 1.2rem;
 }

 @media (max-width: 800px) {
     .intro-grid {
         grid-template-columns: 1fr;
     }
 }

 .intro-panel h3 {
     margin-top: 0;
     font-size: 1.25rem;
     color: #0e2338;
 }

 .highlight-box {
     background: #0e2338;
     color: #ffffff;
     border-radius: 10px;
     padding: 1rem 1.1rem;
 }

 .highlight-box h4 {
     margin-top: 0;
     font-size: 1.05rem;
     margin-bottom: 0.35rem;
     color: #ffe28f;
 }

 .highlight-box ul {
     padding-left: 1.1rem;
     margin: 0.3rem 0 0.2rem 0;
 }

 .subsection {
     margin-top: 1.7rem;
 }

 .subsection h3 {
     margin-top: 0;
     font-size: 1.25rem;
     color: #0e2338;
 }

 .quote-box {
     margin: 0.9rem 0 1.3rem 0;
     padding: 0.9rem 1rem;
     border-left: 4px solid #f4b02a;
     background: #fdf7e5;
     border-radius: 0 8px 8px 0;
     font-size: 0.98rem;
 }

 /* Funeral homes table */
 .funeral-table-wrapper {
     margin-top: 1.5rem;
     background: #ffffff;
     border-radius: 10px;
     padding: 1.1rem 1.2rem 1.4rem 1.2rem;
     box-shadow: 0 3px 11px rgba(0, 0, 0, 0.10);
 }

 .funeral-table-wrapper h3 {
     margin-top: 0;
     font-size: 1.25rem;
     color: #0e2338;
 }

 .table-note {
     font-size: 0.92rem;
     color: #4d647e;
     margin-bottom: 0.7rem;
 }

 table.funeral-table {
     width: 100%;
     border-collapse: collapse;
     font-size: 0.95rem;
 }

 .funeral-table thead th {
     background: #0e2338;
     color: #ffffff;
     padding: 0.55rem 0.5rem;
     text-align: left;
     font-weight: 600;
 }

 .funeral-table tbody td {
     padding: 0.45rem 0.5rem;
     border-bottom: 1px solid #e1e5ee;
     vertical-align: top;
 }

 .funeral-table tbody tr:nth-child(even) {
     background: #f7f9fc;
 }

 .funeral-table tbody tr:hover {
     background: #eef3ff;
 }

 .footer-note {
     margin-top: 1.1rem;
     font-size: 0.9rem;
     color: #4d647e;
 }

 .center-text {
     text-align: center;
 }