/* Business Island — desktop progressive enhancement for the existing navbar. */
.business-island-context,
.business-island-toggle {
  display: none;
}

@media (min-width: 1024px) {
  .navbar.business-island-ready,
  .navbar.business-island-ready.navbar--scrolled {
    position: fixed !important;
    top: 14px !important;
    left: 50% !important;
    width: min(1180px, calc(100% - 40px)) !important;
    min-height: 64px !important;
    padding: 9px 12px 9px 18px !important;
    overflow: visible !important;
    border: 1px solid rgba(122, 158, 201, .18) !important;
    border-radius: 22px !important;
    color: #15365d !important;
    background: rgba(248, 251, 255, .9) !important;
    box-shadow: 0 14px 42px rgba(18, 48, 84, .11) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
    transform: translateX(-50%) !important;
    transition:
      width .52s cubic-bezier(.22, 1, .36, 1),
      min-height .52s cubic-bezier(.22, 1, .36, 1),
      padding .52s cubic-bezier(.22, 1, .36, 1),
      border-radius .52s cubic-bezier(.22, 1, .36, 1),
      background-color .32s ease,
      box-shadow .32s ease !important;
  }

  .navbar.business-island-ready .nav-container {
    position: relative;
    min-height: 44px;
  }

  .navbar.business-island-ready .nav-logo {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    transition: transform .42s cubic-bezier(.22, 1, .36, 1);
  }

  .navbar.business-island-ready .nav-logo::after {
    display: none !important;
  }

  .navbar.business-island-ready .nav-logo img,
  .navbar.business-island-ready.navbar--scrolled .nav-logo img {
    width: auto !important;
    height: 42px !important;
    filter: none !important;
    transform: none !important;
  }

  .navbar.business-island-ready .nav-links {
    display: flex !important;
    align-items: center;
    gap: clamp(18px, 2vw, 30px) !important;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .22s ease .12s, transform .3s ease .1s;
  }

  .navbar.business-island-ready .nav-links a {
    margin: 0 !important;
    color: #536175 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
    letter-spacing: .035em;
    text-transform: uppercase;
  }

  .navbar.business-island-ready .nav-links a:last-child {
    min-height: 42px !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: #153b68 !important;
  }

  .navbar.business-island-ready .nav-links a[aria-current="location"]:not(:last-child) {
    color: #1f66d8 !important;
  }

  .business-island-context {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    max-width: calc(100% - 146px);
    align-items: center;
    justify-content: center;
    gap: 11px;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, calc(-50% + 5px));
    transition: opacity .2s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
  }

  .business-island-status {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #2f6fee;
  }

  .business-island-message {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #17375f;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .075em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .business-island-message .island-muted {
    color: #75849a;
    font-weight: 650;
  }

  .business-island-message .island-arrow {
    color: #88a7d1;
  }

  .business-island-message .island-active {
    padding: 7px 10px;
    border-radius: 999px;
    color: #1559c5;
    background: #e4efff;
  }

  .business-island-action {
    display: none;
    min-height: 34px;
    align-items: center;
    padding: 8px 13px;
    border-radius: 999px;
    color: #fff !important;
    background: #2f6fee;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color .18s ease, transform .18s ease;
  }

  .business-island-action.is-visible {
    display: inline-flex;
    pointer-events: auto;
  }

  .business-island-action:hover {
    background: #205bd1;
    transform: translateY(-1px);
  }

  .business-island-toggle {
    position: relative;
    z-index: 4;
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 1px solid rgba(38, 84, 139, .13);
    border-radius: 50%;
    color: #17375f;
    background: rgba(231, 240, 252, .82);
    cursor: pointer;
    transition: background-color .18s ease, transform .18s ease;
  }

  .business-island-toggle:hover {
    background: #dceaff;
    transform: translateY(-1px);
  }

  .business-island-toggle span {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
  }

  .navbar.business-island-ready.business-island--compact,
  .navbar.business-island-ready.business-island--context {
    width: min(680px, calc(100% - 40px)) !important;
  }

  .navbar.business-island-ready.business-island--compact .nav-links,
  .navbar.business-island-ready.business-island--context .nav-links {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-5px);
    transition-delay: 0s;
  }

  .navbar.business-island-ready.business-island--compact .business-island-context,
  .navbar.business-island-ready.business-island--context .business-island-context {
    opacity: 1;
    transform: translate(-50%, -50%);
    transition-delay: .16s;
  }

  .navbar.business-island-ready.business-island--compact .business-island-toggle,
  .navbar.business-island-ready.business-island--context .business-island-toggle {
    display: inline-flex;
  }

  .navbar.business-island-ready.business-island--expanded {
    width: min(820px, calc(100% - 40px)) !important;
    min-height: 126px !important;
    padding: 10px 14px 15px 18px !important;
    border-radius: 28px !important;
  }

  .navbar.business-island-ready.business-island--expanded .nav-container {
    min-height: 99px;
    align-items: flex-start !important;
  }

  .navbar.business-island-ready.business-island--expanded .nav-links {
    position: absolute;
    right: 5px;
    bottom: 1px;
    left: 5px;
    visibility: visible;
    justify-content: center;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: .16s;
  }

  .navbar.business-island-ready.business-island--expanded .nav-links a:last-child {
    min-height: 34px !important;
    padding: 8px 13px !important;
  }

  .navbar.business-island-ready.business-island--expanded .business-island-context {
    top: 27px;
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  .navbar.business-island-ready.business-island--expanded .business-island-toggle {
    display: inline-flex;
  }

  .business-island-toggle:focus-visible,
  .business-island-action:focus-visible,
  .navbar.business-island-ready .nav-links a:focus-visible {
    outline: 2px solid #2f6fee !important;
    outline-offset: 3px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navbar.business-island-ready,
  .navbar.business-island-ready *,
  .navbar.business-island-ready *::before,
  .navbar.business-island-ready *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 768px) {
  .navbar.business-island-ready,
  .navbar.business-island-ready.navbar--scrolled {
    position: fixed !important;
    top: 10px !important;
    left: 50% !important;
    width: calc(100% - 24px) !important;
    min-height: 58px !important;
    padding: 6px 8px 6px 14px !important;
    overflow: visible !important;
    border: 1px solid rgba(122, 158, 201, .18) !important;
    border-radius: 22px !important;
    color: #15365d !important;
    background: rgba(248, 251, 255, .92) !important;
    box-shadow: 0 12px 34px rgba(18, 48, 84, .12) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
    transform: translateX(-50%) !important;
    transition:
      width .48s cubic-bezier(.22, 1, .36, 1),
      border-radius .48s cubic-bezier(.22, 1, .36, 1),
      background-color .28s ease,
      box-shadow .28s ease !important;
  }

  .navbar.business-island-ready .nav-container {
    position: relative;
    width: 100% !important;
    min-height: 44px;
  }

  .navbar.business-island-ready .nav-logo {
    position: relative;
    z-index: 4;
    transition: opacity .2s ease, transform .32s cubic-bezier(.22, 1, .36, 1);
  }

  .navbar.business-island-ready .nav-logo::after {
    display: none !important;
  }

  .navbar.business-island-ready .nav-logo img,
  .navbar.business-island-ready.navbar--scrolled .nav-logo img {
    height: 42px !important;
    filter: none !important;
    transform: none !important;
  }

  .navbar.business-island-ready .business-island-context {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 14px;
    display: flex;
    max-width: calc(100% - 88px);
    align-items: center;
    gap: 8px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-50% + 4px));
    transition: opacity .18s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility .18s ease;
  }

  .navbar.business-island-ready .business-island-status {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #2f6fee;
  }

  .navbar.business-island-ready .business-island-message {
    min-width: 0;
    overflow: hidden;
    color: #17375f;
    font-size: clamp(.55rem, 2.45vw, .67rem);
    font-weight: 820;
    letter-spacing: .055em;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .navbar.business-island-ready .business-island-message .island-muted {
    color: #74859b;
    font-weight: 680;
  }

  .navbar.business-island-ready .business-island-message .island-arrow {
    color: #8aa7cc;
    margin-inline: 2px;
  }

  .navbar.business-island-ready .business-island-message .island-active {
    padding: 5px 7px;
    border-radius: 999px;
    color: #1559c5;
    background: #e3eeff;
  }

  .navbar.business-island-ready .business-island-action,
  .navbar.business-island-ready .business-island-toggle {
    display: none !important;
  }

  .navbar.business-island-ready.business-island--compact .nav-logo,
  .navbar.business-island-ready.business-island--context .nav-logo {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-8px);
  }

  .navbar.business-island-ready.business-island--compact .business-island-context,
  .navbar.business-island-ready.business-island--context .business-island-context {
    visibility: visible;
    opacity: 1;
    transform: translateY(-50%);
    transition-delay: .12s;
  }

  body:has(.mobile-menu--open) .navbar.business-island-ready .nav-logo,
  body:has(.mobile-menu.menu-open) .navbar.business-island-ready .nav-logo {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body:has(.mobile-menu--open) .navbar.business-island-ready .business-island-context,
  body:has(.mobile-menu.menu-open) .navbar.business-island-ready .business-island-context {
    visibility: hidden;
    opacity: 0;
  }
}
