/* Time Solution — shared, accessible SEO features navigation */
.ts-seo-feature-wrap,
.ts-seo-feature-wrap * { box-sizing: border-box; }
.ts-seo-feature-wrap { position: relative; display: inline-flex; align-items: center; vertical-align: middle; }
.ts-seo-feature-wrap > a.ts-seo-feature-link { display: inline-flex; align-items: center; }
.ts-seo-feature-wrap > .ts-seo-feature-toggle {
  appearance: none; border: 0; padding: 5px 7px; margin: 0 0 0 1px;
  background: transparent; color: inherit; cursor: pointer; font-size: 13px;
  line-height: 1; border-radius: 7px; opacity: .85;
}
.ts-seo-feature-wrap > .ts-seo-feature-toggle:focus-visible,
.ts-seo-mega-panel a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.ts-seo-mega-panel {
  position: fixed; top: var(--ts-seo-menu-top, 76px); left: 50%;
  width: min(1050px, calc(100vw - 36px)); max-height: none; overflow: visible;
  padding: 18px 20px; border: 1px solid #dce8f5; border-radius: 19px;
  background: #fff; box-shadow: 0 26px 70px rgba(9, 38, 81, .22);
  color: #172b4d; text-align: left; z-index: 2147483000;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, -9px); transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.ts-seo-feature-wrap:hover > .ts-seo-mega-panel,
.ts-seo-feature-wrap:focus-within > .ts-seo-mega-panel,
.ts-seo-feature-wrap.ts-seo-open > .ts-seo-mega-panel {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}
.ts-seo-mega-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 1px 5px 12px; border-bottom: 1px solid #e7eff9; margin-bottom: 12px; }
.ts-seo-mega-top strong { font: 800 19px/1.25 system-ui, sans-serif; color:#10345e; }
.ts-seo-mega-top span { font: 500 12px/1.4 system-ui, sans-serif; color:#60809f; }
.ts-seo-mega-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:15px; }
.ts-seo-mega-group h3 { margin:0 0 6px; padding:0 6px; font: 800 12px/1.4 system-ui, sans-serif; letter-spacing:.075em; text-transform:uppercase; color:#3872ac; }
.ts-seo-mega-panel .ts-seo-mega-item {
  display:flex !important; align-items:center; gap:10px; padding:6px 8px !important;
  border-radius:11px; background: transparent; color:#203a5a !important;
  text-decoration:none !important; border:0 !important; min-height:48px; width:100%;
  line-height:1.3; white-space:normal; text-align:left;
}
.ts-seo-mega-panel .ts-seo-mega-item:hover { background:#f1f7ff; color:#0755a0 !important; }
.ts-seo-mega-panel .ts-seo-mega-item::before,
.ts-seo-mega-panel .ts-seo-mega-item::after { display:none !important; }
.ts-seo-mega-icon {
  flex:0 0 36px; display:flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:11px; background:#e6f1ff; color:#215cad; font: 21px/1 system-ui, sans-serif;
}
.ts-seo-tint-green { background:#e4f8ee; color:#14734e; }
.ts-seo-tint-orange { background:#fff0df; color:#a96515; }
.ts-seo-tint-purple { background:#eeeaff; color:#6740b9; }
.ts-seo-tint-pink { background:#ffe8f0; color:#a83765; }
.ts-seo-tint-cyan { background:#e0f9fb; color:#087e92; }
.ts-seo-mega-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ts-seo-mega-copy strong { font: 700 13px/1.25 system-ui, sans-serif; color:inherit; }
.ts-seo-mega-copy small { font: 400 11px/1.4 system-ui, sans-serif; color:#697f98; }
@media(max-width:900px) {
  .ts-seo-mega-panel { width:calc(100vw - 18px); max-height:calc(100dvh - var(--ts-seo-menu-top, 76px) - 12px); overflow-y:auto; scrollbar-width:none; padding:15px; border-radius:13px; }
  .ts-seo-mega-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ts-seo-mega-top { display:block; }
  .ts-seo-mega-top span { display:block; margin-top:5px; }
}
@media(max-width:560px) {
  .ts-seo-mega-grid { grid-template-columns:1fr; }
  .ts-seo-mega-panel .ts-seo-mega-item { min-height:44px !important; }
}
.ts-seo-mega-panel::-webkit-scrollbar { display:none; width:0; height:0; }
@media(prefers-reduced-motion:reduce) { .ts-seo-mega-panel { transition:none; } }

/* ASCII-only inline SVG icons avoid Unicode mojibake on older ASP.NET hosts. */
.ts-seo-mega-icon svg { display:block; width:22px; height:22px; flex:0 0 22px; }
.ts-seo-mega-icon svg, .ts-seo-mega-icon svg * { fill:none; stroke:currentColor; }
.ts-seo-caret {
  display:inline-block; width:8px; height:8px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg); pointer-events:none;
}


/* UNIFIED ROUNDED NAVIGATION — all marketing pages match Default.aspx.
   Modifier classes retain the positioning model of each original template. */
.ts-site-rounded-nav {
  box-sizing:border-box !important;
  width:min(1180px, calc(100% - 34px)) !important;
  max-width:1180px !important;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  box-shadow:0 18px 50px rgba(15,23,42,.10) !important;
  overflow:visible !important;
  z-index:1500 !important;
}
.ts-site-rounded-nav--fixed {
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  top:14px !important;
  transform:translateX(-50%) !important;
  height:72px !important;
  margin:0 !important;
  padding:0 18px !important;
}
.ts-site-rounded-nav--sticky {
  position:sticky !important;
  left:auto !important;
  right:auto !important;
  top:14px !important;
  transform:none !important;
  margin:14px auto 0 !important;
  padding:0 !important;
}
.ts-site-rounded-nav--sticky > .nav-inner {
  height:72px !important;
  max-width:none !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 18px !important;
}
.ts-site-rounded-nav--flow {
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  margin:14px auto 0 !important;
  min-height:72px !important;
  padding:10px 18px !important;
}
.ts-site-rounded-nav--legacy {
  margin:14px auto 0 !important;
  padding:0 12px !important;
}
.ts-site-rounded-nav--legacy .container-fluid { max-width:100% !important; }
@media (max-width:900px) {
  .ts-site-rounded-nav {
    width:calc(100% - 20px) !important;
    max-width:none !important;
    border-radius:18px !important;
  }
  .ts-site-rounded-nav--fixed { top:10px !important; height:68px !important; }
  .ts-site-rounded-nav--sticky { top:10px !important; margin-top:10px !important; }
  .ts-site-rounded-nav--sticky > .nav-inner { min-height:68px !important; padding:0 12px !important; }
  .ts-site-rounded-nav--flow, .ts-site-rounded-nav--legacy { margin-top:10px !important; }
}
