/* Tailwind CSS Custom Configuration */
:root{
  --ring: rgba(13, 88, 71, .15);
}

.container-px{padding-left:1rem;padding-right:1rem}
@media (min-width:1024px){.container-px{padding-left:1.5rem;padding-right:1.5rem}}

/* Header glass when sticky */
.is-stuck{-webkit-backdrop-filter:saturate(150%) blur(6px); backdrop-filter:saturate(150%) blur(6px); background:rgba(255,255,255,.75)}

/* Hero decorations */
.hero-gradient{background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.92) 40%, rgba(255,255,255,0) 100%)}
.dot-bg{
  position: relative;
}
.dot-bg:before{
  content:"";position:absolute;inset:auto 0 0 0;height:100%;
  background-image: radial-gradient(rgba(13,88,71,.08) 1px, transparent 1px);
  background-size: 18px 18px; transform: translateY(24px);
  -webkit-mask-image: linear-gradient(to top, transparent, black 30%); mask-image: linear-gradient(to top, transparent, black 30%); pointer-events:none
}

/* Fancy circular CTA */
.circle-cta{ position:relative; width:120px;height:120px;border-radius:9999px;display:grid;place-items:center;}
.circle-cta .ring{position:absolute; inset:0; border-radius:9999px; border:1px dashed rgba(13,88,71,.35); animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(380deg)}}

/* Card hover */
.card{ transition: all .25s ease }
.card:hover{ transform: translateY(-4px); box-shadow: 0 15px 35px rgba(0,0,0,.08)}

/* Section title underline */
.title-underline:after{
  content:""; display:block; width:72px; height:4px; background:linear-gradient(90deg,#0f6a55,#4eae8c); border-radius:9999px; margin-top:.75rem
}

/* QuickLinks ribbon */
.ribbon{
  background:linear-gradient(135deg, rgba(13,88,71,.06), rgba(13,88,71,.0));
  border:1px solid rgba(13,88,71,.08)
}

/* Footer link underline motion */
.link-underline{position:relative}
.link-underline:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:currentColor;transition:width .25s}
.link-underline:hover:after{width:100%}

/* Desktop Dropdown Navigation --- ENHANCED */
.nav-dropdown{position:relative}
.nav-dropdown .dropdown-menu{
    position:absolute;top:calc(100% + .5rem);left:0;min-width:280px;background:white;border-radius:12px;
    box-shadow:0 20px 40px rgba(0,0,0,.1);opacity:0;visibility:hidden;
    transform:translateY(-10px) scale(0.95);transform-origin:top left;
    transition:all .2s ease;z-index:1000;border:1px solid rgba(0,0,0,.08)
}

/* Only show dropdown when explicitly hovered or opened */
.nav-dropdown.is-hovered .dropdown-menu,
.nav-dropdown.is-open .dropdown-menu{
    opacity:1;visibility:visible;transform:translateY(0) scale(1)
}

/* Enhanced visual indicators */
.nav-dropdown .chevron-indicator{
    color:#0d4b73;
    transition:all .2s ease;
    margin-left:0.25rem;
}

/* Hover effects for navigation items */
.nav-dropdown.is-hovered .chevron-indicator,
.nav-dropdown.is-open .chevron-indicator{
    transform:rotate(180deg);
    color:#0c4468;
}

/* Style for the parent link when dropdown is open or hovered */
.nav-dropdown.is-open > a,
.nav-dropdown.is-hovered > a { 
    background-color: #f3f4f6; 
    color: #0d4b73; 
}

/* Additional visual cues for expandable items */
.nav-dropdown > a {
    position:relative;
    border:1px solid transparent;
    transition:all .2s ease;
}

.nav-dropdown.is-hovered > a,
.nav-dropdown.is-open > a {
    border-color:rgba(13, 75, 115, 0.2);
    background-color:rgba(13, 75, 115, 0.05);
}

/* Subtle indicator that item is expandable */
.nav-dropdown > a::after {
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:0;
    height:2px;
    background:linear-gradient(90deg, #0d4b73, #0c4468);
    transition:width .2s ease;
}

.nav-dropdown.is-hovered > a::after,
.nav-dropdown.is-open > a::after {
    width:80%;
}

.dropdown-menu .dropdown-section{margin:0;padding:0}
.dropdown-menu .dropdown-section h4{font-size:.875rem;font-weight:600;color:#0d4b73;margin:0 0 .5rem 0;padding:.75rem 1rem .25rem;border-bottom:1px solid rgba(0,0,0,.06)}
.dropdown-menu .dropdown-section ul{list-style:none;margin:0;padding:.25rem .5rem}
.dropdown-menu .dropdown-section li{margin:0}
.dropdown-menu .dropdown-section a{display:block;padding:.5rem .75rem;color:#374151;text-decoration:none;font-size:.875rem;transition:all .15s ease;border-radius:6px;margin:0 0 .25rem}
.dropdown-menu .dropdown-section a:hover{background:#f3f4f6;color:#0d4b73}
.dropdown-menu .dropdown-section a i{margin-right:.5rem;width:16px;text-align:center;color:#9ca3af}
.dropdown-menu .dropdown-section a:hover i{color:#0d4b73}

/* Mobile Menu Styles */
.mobile-dropdown .dropdown-toggle {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.mobile-dropdown .dropdown-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.mobile-dropdown .dropdown-content.show {
  max-height: 500px;
}

.mobile-dropdown .dropdown-toggle i {
  transition: transform 0.3s ease;
}

.mobile-dropdown .dropdown-toggle.active i {
  transform: rotate(180deg);
}
