.nav-link:hover { color: #1d4ed8; }
.service-card { transition: transform 0.3s; }
.service-card:hover { transform: translateY(-5px); }
.dropdown-menu {
    display: none;
    flex-direction: column;
    width: 100%;
    background-color: #1e40af;
    position: absolute;
    left: 0;
    top: 100%;
}
.dropdown-menu.active {
    display: flex;
}
.dropdown-menu a {
    padding: 12px 16px;
}
.service-image {
    width: 100%;
    height: 192px; /* Maintain 800x480 aspect ratio (480/800 = 0.6) */
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .dropdown-menu {
        display: flex;
        flex-direction: row;
        position: static;
        background-color: transparent;
    }
    .dropdown-menu a {
        padding: 0;
    }
    .hamburger {
        display: none;
    }
}
@media (max-width: 767px) {
    section {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Base: hidden until hover/tap */
.submenu{
    position:absolute; left:0; top:100%;
    display:none;            /* hidden by default */
    min-width:220px; padding:8px 0;
    background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1)); /* blue-900 */
    color:#fff; border-radius:8px; box-shadow:0 4px 8px rgba(0,0,0,.15);
    z-index:50;
}

/* Desktop: show on hover */
@media (min-width: 768px){
    .group:hover > .submenu{ display:block; }
}

/* Mobile: show when JS toggles .open */
.submenu.open{ display:block; position:static; margin-top:8px; }

/* Submenu links + hover (slightly lighter blue) */
.submenu a{
    display:block; padding:10px 16px; white-space:nowrap; text-decoration:none;
    transition:background-color .2s ease;
}
.submenu a:hover{ background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1)); } /* blue-800 */

/* Mobile dropdown container when active */
.dropdown-menu{ display:none; }
.dropdown-menu.active{ display:block; }
@media (min-width:768px){
    .dropdown-menu{ display:flex !important; }
}

.content-area {
    line-height: 1.7;
    color: #1f2937; /* gray-800 */
    max-width: 100%;
}

/* Headings */
.content-area h1{ font-size:2.25rem; font-weight:700; margin:1.5rem 0 1rem; color:#111827; }
.content-area h2{ font-size:1.875rem; font-weight:700; margin:1.5rem 0 .875rem; color:#111827; }
.content-area h3{ font-size:1.5rem;  font-weight:600; margin:1.25rem 0 .75rem;  color:#111827; }
.content-area h4{ font-size:1.25rem; font-weight:600; margin:1rem  0 .5rem;   color:#111827; }
.content-area h5{ font-size:1.125rem;font-weight:600; margin:.875rem 0 .5rem; color:#111827; }
.content-area h6{ font-size:1rem;   font-weight:600; margin:.75rem  0 .5rem;  color:#111827; text-transform:uppercase; letter-spacing:.02em; }

/* Paragraphs & inline */
.content-area p{ margin:1rem 0; }
.content-area strong{ font-weight:600; color:#111827; }
.content-area em{ font-style:italic; }
.content-area a{ color:#2563eb; text-decoration:underline; text-underline-offset:2px; }
.content-area a:hover{ color:#1d4ed8; }

/* Lists */
.content-area ul{ list-style:disc; padding-left:1.5rem; margin:.75rem 0; }
.content-area ol{ list-style:decimal; padding-left:1.5rem; margin:.75rem 0; }
.content-area li{ margin:.25rem 0; }
.content-area li ul,
.content-area li ol{ margin:.25rem 0; }

/* Blockquote */
.content-area blockquote{
    border-left:4px solid #2563eb;
    padding-left:1rem;
    font-style:italic;
    color:#374151;
    margin:1rem 0;
}

/* Code */
.content-area code{
    background:#f3f4f6;
    border-radius:4px;
    padding:.125rem .375rem;
    font-size:.9em;
}
.content-area pre{
    background:#111827;
    color:#f9fafb;
    border-radius:8px;
    padding:1rem;
    overflow:auto;
    margin:1rem 0;
    font-size:.9em;
}
.content-area pre code{ background:transparent; padding:0; color:inherit; }

/* Images & media */
.content-area img{ max-width:100%; height:auto; border-radius:8px; }
.content-area figure{ margin:1rem 0; }
.content-area figcaption{ margin-top:.5rem; font-size:.9rem; color:#6b7280; }

/* Tables */
.content-area table{ width:100%; border-collapse:collapse; margin:1rem 0; }
.content-area thead{ background:#f9fafb; }
.content-area th, .content-area td{
    border:1px solid #e5e7eb;
    padding:.5rem .75rem;
    vertical-align:top;
}
.content-area tr:nth-child(even){ background:#f9fafb; }

/* HR */
.content-area hr{ border:0; border-top:1px solid #e5e7eb; margin:1.5rem 0; }

/* Alignment helpers (TinyMCE uses these) */
.content-area .alignleft{ float:left; margin:0 .75rem .5rem 0; }
.content-area .alignright{ float:right; margin:0 0 .5rem .75rem; }
.content-area .aligncenter{ display:block; margin-left:auto; margin-right:auto; text-align:center; }
.content-area::after{ content:""; display:block; clear:both; }

/* Responsive embed helper */
.content-area .embed-responsive{ position:relative; width:100%; padding-bottom:56.25%; overflow:hidden; border-radius:8px; }
.content-area .embed-responsive iframe{ position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
