/* Shared Cortex footer; scoped to avoid changing application navigation. */
footer.cortex-footer{--footer-ink:var(--ink,#242735);--footer-muted:var(--muted,#636779);--footer-accent:var(--accent,#6650a4);--footer-line:var(--line,#dddfe7);display:block;box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto;padding:44px var(--gutter,24px) 24px;border-top:1px solid var(--footer-line);color:var(--footer-ink);font-size:13px;line-height:1.6;text-align:left}
html[data-theme=dark] footer.cortex-footer{--footer-ink:var(--ink,#eeeef5);--footer-muted:var(--muted,#aaaebb);--footer-accent:var(--accent,#bca8ed);--footer-line:var(--line,#383a47)}
.cortex-footer-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(2,minmax(0,1fr));gap:40px;padding-bottom:36px}
.cortex-footer .cortex-footer-brand{display:inline-flex;align-items:center;gap:10px;color:var(--footer-ink);font-size:18px;font-weight:600;letter-spacing:.025em;text-decoration:none;white-space:nowrap}
.cortex-footer-brand svg{width:30px;height:30px;fill:var(--footer-accent);flex:none}.cortex-footer-brand b{color:var(--footer-accent);font-weight:600}
.cortex-footer .cortex-footer-intro p{max-width:270px;margin:16px 0 0;font-size:13px;line-height:1.65;color:var(--footer-muted)}
.cortex-footer .cortex-footer-intro p:first-of-type{font-size:17px;line-height:1.4;color:var(--footer-ink)}
.cortex-footer-pilot{display:block;margin-top:20px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--footer-muted)}
.cortex-footer .cortex-footer-group{display:block;min-width:0;margin:0;padding:0;border:0}
.cortex-footer .cortex-footer-group h2{margin:3px 0 16px;font-size:14px;line-height:1.5;letter-spacing:0;font-weight:600;color:var(--footer-ink)}
.cortex-footer .cortex-footer-group ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}
.cortex-footer .cortex-footer-group li{margin:0;padding:0}
.cortex-footer .cortex-footer-group a{display:inline-block;padding:2px 0;color:var(--footer-muted);font-size:13px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.cortex-footer a:hover{color:var(--footer-accent);text-decoration:underline;text-underline-offset:4px}
.cortex-footer a:focus-visible{outline:2px solid var(--footer-accent);outline-offset:4px;border-radius:2px}
footer.cortex-footer .ecosystem-strip[data-hybrid-ecosystem="cortex"]{--eco-text:var(--footer-ink);--eco-muted:var(--footer-muted);--eco-accent:var(--footer-accent);--eco-line:var(--footer-line);margin:0;padding:16px 0}
.cortex-footer .cortex-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-top:20px;border-top:1px solid var(--footer-line);font-size:12px;color:var(--footer-muted)}
.cortex-footer .cortex-footer-bottom nav{display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;border:0}
.cortex-footer .cortex-footer-bottom a{color:var(--footer-muted);text-decoration:none}
@media(max-width:1000px){.cortex-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cortex-footer-intro{grid-column:1/-1}.cortex-footer .cortex-footer-intro p{max-width:420px}}
@media(max-width:700px){footer.cortex-footer{padding:32px var(--gutter,18px) 20px}.cortex-footer-grid{gap:28px 20px}.cortex-footer .cortex-footer-group a{padding:7px 0}.cortex-footer .cortex-footer-group ul{gap:2px}.cortex-footer .cortex-footer-group h2{margin-bottom:10px}.cortex-footer .cortex-footer-bottom a{display:inline-block;padding:7px 0}}
@media(max-width:360px){footer.cortex-footer{padding-left:16px;padding-right:16px}.cortex-footer-grid{column-gap:16px}}
@media print{footer.cortex-footer{display:none}}

.cortex-ecosystem-directory {
  --directory-surface: var(--surface, #fff);
  --directory-fill: color-mix(in srgb, var(--footer-accent) 7%, var(--directory-surface));
  background: var(--directory-surface);
  border: 1px solid var(--footer-line);
  border-radius: 6px;
}
html[data-theme="dark"] .cortex-ecosystem-directory { --directory-surface: var(--surface, #202128); }
.cortex-ecosystem-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 6px clamp(10px, 2vw, 16px);
  border-radius: 5px;
  list-style: none;
  cursor: pointer;
}
.cortex-ecosystem-trigger::-webkit-details-marker { display: none; }
.cortex-ecosystem-trigger::before { content: none; }
.cortex-ecosystem-trigger:hover, .cortex-ecosystem-directory[open] .cortex-ecosystem-trigger { background: var(--directory-fill); }
.cortex-ecosystem-trigger:focus-visible { outline: 2px solid var(--footer-accent); outline-offset: 3px; }
.cortex-ecosystem-mark { width: 18px; height: 18px; flex: none; color: var(--footer-accent); }
.cortex-ecosystem-site { flex: 1; min-width: 0; color: var(--footer-ink); font-size: 14px; font-weight: 600; line-height: 1.25; }
.cortex-ecosystem-current small { color: var(--footer-muted); font-size: 11px; line-height: 1.4; }
.cortex-ecosystem-action { color: var(--footer-accent); font-size: 12px; font-weight: 600; }
.cortex-ecosystem-chevron { width: 16px; height: 16px; flex: none; color: var(--footer-accent); }
.cortex-ecosystem-directory[open] .cortex-ecosystem-chevron { transform: rotate(180deg); }
.cortex-ecosystem-panel { padding: clamp(10px, 2vw, 16px); border-top: 1px solid var(--footer-line); }
.cortex-ecosystem-validation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 8px 10px;
  margin-bottom: 12px;
  border: 1px solid var(--footer-line);
  border-radius: 3px;
  background: var(--directory-fill);
}
.cortex-footer .cortex-ecosystem-validation > div:first-child p,
.cortex-footer .cortex-ecosystem-label { margin: 0; color: var(--footer-ink); font-size: 12px; font-weight: 600; }
.cortex-footer .cortex-ecosystem-validation > div:first-child p + p { margin-top: 2px; color: var(--footer-muted); font-size: 11px; font-weight: 400; }
.cortex-footer .cortex-ecosystem-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 2px 10px;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
}
.cortex-ecosystem-links :is(a, .cortex-ecosystem-current) {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 4px 6px;
  border-radius: 2px;
  color: var(--footer-muted);
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
}
.cortex-ecosystem-links a { justify-content: space-between; }
.cortex-ecosystem-links a svg { width: 11px; height: 11px; flex: none; }
.cortex-ecosystem-links a:hover, .cortex-ecosystem-links .cortex-ecosystem-current { background: var(--directory-fill); }
.cortex-ecosystem-links .cortex-ecosystem-current { flex-wrap: wrap; gap: 0 4px; align-content: center; color: var(--footer-accent); font-weight: 600; }
.cortex-footer .cortex-ecosystem-links a:focus-visible { outline-offset: 1px; }
.cortex-ecosystem-directory .partner-verification .partner-verify-button { min-height: 32px; padding: 4px 8px; border-radius: 3px; font-size: 12px; }
.cortex-ecosystem-directory .partner-verify-button span { font-size: 12px !important; }

@media (max-width: 560px) {
  .cortex-footer .cortex-ecosystem-links { grid-template-columns: repeat(auto-fit, minmax(min(100%, 118px), 1fr)); }
  .cortex-ecosystem-links a svg { display: none; }
}
@media (max-width: 360px) {
  .cortex-ecosystem-trigger { gap: 4px; padding-inline: 10px; }
  .cortex-ecosystem-site { font-size: 13px; }
}
@media (pointer: coarse), (max-width: 560px) {
  .cortex-ecosystem-links :is(a, .cortex-ecosystem-current),
  .cortex-ecosystem-directory .partner-verification .partner-verify-button { min-height: 44px; }
}
@media (prefers-reduced-motion: no-preference) {
  .cortex-ecosystem-chevron { transition: transform 160ms ease-out; }
  .cortex-ecosystem-directory[open] .cortex-ecosystem-panel { animation: cortex-ecosystem-reveal 180ms ease-out; }
}
@keyframes cortex-ecosystem-reveal {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
