/* Primary navigation — task-based IA, shared across every page. */
body.admin-bar .sf-header { top: 32px !important; }
.sf-home-mobile-start__button { display: none; }
.sf-header > div:first-child { gap: 24px !important; }
.sf-header > div:first-child > a:first-child { flex: 0 0 auto; }
.sf-header .sf-header__nav {
  display: flex !important;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.3vw, 22px) !important;
  font-size: 15px !important;
  white-space: nowrap;
}
.sf-header .sf-header__cta { flex: 0 0 auto; white-space: nowrap; }
.sf-menu-group { position: relative; display: flex; align-items: center; }
.sf-menu-trigger,
.sf-menu-link {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  padding: 8px 0 !important;
  border: 0 !important;
  color: var(--sf-ink) !important;
  background: transparent;
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.sf-menu-trigger::after { content: ""; width: 6px; height: 6px; margin-top: -4px; border-right: 1.5px solid var(--sf-red); border-bottom: 1.5px solid var(--sf-red); transform: rotate(45deg); transition: transform .18s ease; }
.sf-menu-group.is-open .sf-menu-trigger::after { margin-top: 3px; transform: rotate(225deg); }
.sf-menu-trigger::before,
.sf-menu-link::before { content: ""; position: absolute; right: 0; bottom: 4px; left: 0; height: 2px; background: var(--sf-red); transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.sf-menu-trigger:hover::before,
.sf-menu-trigger:focus-visible::before,
.sf-menu-trigger.is-current::before,
.sf-menu-link:hover::before,
.sf-menu-link:focus-visible::before,
.sf-menu-link[aria-current="page"]::before { transform: scaleX(1); }
.sf-menu-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  z-index: 90;
  display: grid;
  width: 650px;
  grid-template-columns: .92fr 1fr 1fr;
  grid-auto-rows: minmax(82px, auto);
  gap: 7px;
  padding: 9px;
  border: 1px solid #dcd8d2;
  border-radius: 9px;
  background: #f5f3ef;
  box-shadow: 0 24px 54px -25px rgba(31, 35, 40, .46), 0 8px 18px -12px rgba(31, 35, 40, .22);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 7px) scale(.985);
  transform-origin: 50% 0;
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.sf-menu-panel::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 15px; }
.sf-menu-panel::after { content: ""; position: absolute; top: -5px; left: 50%; width: 9px; height: 9px; border-top: 1px solid #dcd8d2; border-left: 1px solid #dcd8d2; background: #f5f3ef; transform: translateX(-50%) rotate(45deg); }
.sf-menu-group.is-open .sf-menu-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }
.sf-menu-panel a {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  padding: 13px 38px 13px 15px !important;
  border: 1px solid transparent !important;
  border-radius: 5px;
  color: var(--sf-ink) !important;
  background: rgba(255,255,255,.52);
  white-space: normal;
  transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}
.sf-menu-panel a::after { content: "→"; position: absolute; top: 14px; right: 14px; color: #a1a5aa; font-size: 14px; transition: color .16s ease, transform .16s ease; }
.sf-menu-panel a:hover,
.sf-menu-panel a:focus-visible { border-color: #d2cdc6 !important; background: #fff; transform: translateY(-1px); outline: 2px solid rgba(200, 16, 46, .22); outline-offset: 1px; }
.sf-menu-panel a:hover::after,
.sf-menu-panel a:focus-visible::after { color: var(--sf-red); transform: translateX(2px); }
.sf-menu-panel strong { display: block; font-size: 14px; line-height: 1.22; letter-spacing: -.01em; }
.sf-menu-panel small { display: block; margin-top: 5px; color: var(--sf-muted); font-size: 11.5px; font-weight: 500; line-height: 1.38; }
.sf-menu-panel .sf-menu-feature { grid-column: 1; grid-row: 1 / span 2; justify-content: flex-end; padding: 19px !important; color: #fff !important; background: var(--sf-ink); }
.sf-menu-panel .sf-menu-feature:hover,
.sf-menu-panel .sf-menu-feature:focus-visible { border-color: #3e444b !important; background: #272b30; }
.sf-menu-panel .sf-menu-feature::after { top: 18px; right: 18px; color: #e7596e; }
.sf-menu-feature__eyebrow { position: absolute; top: 19px; left: 19px; color: #e7596e; font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sf-menu-panel .sf-menu-feature strong { font-size: 16px; }
.sf-menu-panel .sf-menu-feature small { color: #bbc0c5; }
.sf-menu-panel--systems { width: 700px; grid-auto-rows: minmax(72px, auto); }
.sf-menu-panel--systems .sf-menu-feature { grid-row: 1 / span 3; }
.sf-menu-panel--systems > a:last-child { grid-column: 2 / 4; }
.sf-menu-panel--visit { right: 0; left: auto; width: 520px; grid-template-columns: .95fr 1.2fr; grid-auto-rows: minmax(82px, auto); transform: translateY(7px) scale(.985); transform-origin: 100% 0; }
.sf-menu-panel--visit::after { right: 38px; left: auto; transform: rotate(45deg); }
.sf-menu-panel--visit .sf-menu-feature { grid-row: 1 / span 2; }
.sf-menu-group.is-open .sf-menu-panel--visit { transform: translateY(0) scale(1); }

@media (max-width: 1320px) {
  .sf-header > div:first-child { gap: 18px !important; }
  .sf-header .sf-header__nav { gap: 14px !important; font-size: 14px !important; }
  .sf-header .sf-header__cta { padding-inline: 16px !important; font-size: 13px !important; }
}

@media (max-width: 1180px) {
  body.admin-bar .sf-header { top: 32px !important; }
  .sf-header .sf-header__nav,
  .sf-header .sf-header__cta { display: none !important; }
  .sf-header .sf-mobile-toggle { display: inline-grid; flex: 0 0 44px; }
  .sf-header.is-open { height: auto !important; }
  .sf-header.is-open > div:first-child { height: auto !important; min-height: 69px; flex-wrap: wrap; padding-bottom: 20px !important; }
  .sf-header.is-open .sf-header__nav {
    display: flex !important;
    width: 100%;
    flex: 1 0 100%;
    align-items: stretch;
    flex-direction: column;
    order: 3;
    gap: 0 !important;
    padding-top: 13px;
    white-space: normal;
  }
  .sf-header.is-open .sf-header__cta { display: block !important; width: 100%; flex: 1 0 100%; order: 4; margin-top: 12px; text-align: center; }
  .sf-menu-group { display: block; width: 100%; }
  .sf-menu-trigger,
  .sf-menu-link { width: 100%; min-height: 48px; justify-content: space-between; border-bottom: 1px solid var(--sf-line) !important; }
  .sf-menu-trigger::before,
  .sf-menu-link::before { display: none; }
  .sf-menu-trigger.is-current,
  .sf-menu-link[aria-current="page"] { color: var(--sf-red) !important; }
  .sf-menu-panel,
  .sf-menu-panel--visit {
    position: static;
    display: none;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
    grid-auto-rows: auto;
    padding: 7px 0 8px 13px;
    border: 0;
    border-left: 2px solid var(--sf-red);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
  }
  .sf-menu-group.is-open .sf-menu-panel { display: grid; transform: none; }
  .sf-menu-panel::before,
  .sf-menu-panel::after { display: none; }
  .sf-menu-panel .sf-menu-feature { grid-column: auto; grid-row: auto; min-height: 76px; justify-content: center; color: var(--sf-ink) !important; background: #f5f3ef; }
  .sf-menu-panel--systems > a:last-child { grid-column: auto; }
  .sf-menu-panel .sf-menu-feature small { color: var(--sf-muted); }
  .sf-menu-feature__eyebrow { position: static; margin-bottom: 5px; color: var(--sf-red); }
  .sf-menu-panel a { min-height: 64px; padding: 11px 38px 11px 14px !important; border-radius: 0; border-bottom: 1px solid #ebe8e4 !important; background: transparent; }
  .sf-menu-panel a::after { top: 50%; right: 14px; transform: translateY(-50%); }
  .sf-menu-panel a:hover::after,
  .sf-menu-panel a:focus-visible::after { transform: translate(2px, -50%); }
}

@media (max-width: 782px) {
  body.admin-bar .sf-header { top: 46px !important; }
}


:root{--sf-ink:var(--ink);--sf-red:var(--red);--sf-muted:var(--muted);--sf-line:var(--line)}
.sf-mobile-toggle{display:none;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:24px var(--font);cursor:pointer}
.sf-header__nav{font-weight:600}.sf-header__nav a:focus-visible,.sf-menu-trigger:focus-visible{outline:3px solid #de4362;outline-offset:4px}.sf-menu-panel strong{font-family:var(--heading);font-weight:600}.sf-menu-panel small{font-weight:400}.sf-menu-panel .sf-menu-feature strong{font-size:18px;line-height:1.3}
.sf-skip-link{position:fixed;top:-80px;left:18px;padding:12px 18px;z-index:110;background:var(--ink);color:white}.sf-skip-link:focus{top:12px}
.breadcrumb-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumb-row .breadcrumbs{min-width:0}.breadcrumb-route{display:inline-flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap;min-height:44px;color:var(--muted)}.breadcrumb-route:hover{color:var(--red)}.breadcrumb-route #nav-route-count{background:var(--warm);color:var(--ink);font-size:11px}
.site-header{z-index:50}.header-row>.sf-header__cta{font-size:13px}.sf-header__nav .sf-menu-panel a[aria-current=page]{border-color:#d8c7ca!important}
@media(max-width:1180px){.site-header.is-open{max-height:calc(100dvh - 12px);overflow-y:auto;overscroll-behavior:contain}.sf-header .sf-mobile-toggle{display:inline-grid;margin-left:auto}.header-row{min-height:72px}.sf-header__nav{padding-top:4px!important}.sf-menu-panel{max-width:100%}.header-row>.sf-header__cta{font-size:14px}}
@media(max-width:520px){.breadcrumb-row{gap:12px;align-items:flex-start}.breadcrumb-row .breadcrumbs{font-size:11px;gap:7px;margin:23px 0}.breadcrumb-route{margin-top:12px;font-size:11px;gap:6px}.header-row{min-height:70px}.sf-header__nav .sf-menu-panel strong{font-size:15px}.sf-header__nav .sf-menu-panel small{font-size:12px;line-height:1.45}}
