/* Cultivera project navigation authority · editorial running matter v2 · 2026-08-19
   Central contract for every project page: project identity, live section orientation,
   Contents, quiet project-to-project pagination, and the project index behind the title. */
body.project-theme{
  --project-subnav-height:54px;
  --cv-project-shell-offset:calc(var(--nav-height,var(--global-nav-height,64px)) + var(--project-subnav-height));
  --cv-project-scroll-offset:calc(var(--cv-project-shell-offset) + 22px);
  --cv-project-sticky-offset:calc(var(--cv-project-shell-offset) + 18px);
  --project-subnav-paper:#f7f7f2;
  --project-subnav-rest:rgba(247,247,242,.82);
  --project-subnav-line:rgba(23,32,25,.095);
  --project-subnav-ink:#172019;
  --project-subnav-muted:#7a817b;
  --project-subnav-soft:#535b54;
}
body.project-theme .project-subnav{
  position:sticky;top:var(--nav-height,var(--global-nav-height,64px));z-index:190;width:100%;min-height:var(--project-subnav-height);
  margin:0;border:0;border-bottom:1px solid var(--project-subnav-line);background:var(--project-subnav-rest);color:var(--project-subnav-ink);
  box-shadow:none;isolation:isolate;transition:background-color 160ms ease,border-color 160ms ease;
}
body.project-theme .project-subnav:is(.is-stuck,.is-open,.is-projects-open){
  background:var(--project-subnav-paper);backdrop-filter:blur(10px) saturate(1.03);-webkit-backdrop-filter:blur(10px) saturate(1.03)
}
body.project-theme .project-subnav-bar{
  width:min(100%,1408px);height:54px;margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:minmax(78px,.48fr) minmax(190px,1.25fr) minmax(150px,.9fr) minmax(78px,.48fr) 94px;
  align-items:center;gap:clamp(12px,1.45vw,24px)
}
body.project-theme .project-subnav-neighbor{
  min-width:0;min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--project-subnav-muted);text-decoration:none;
  font:540 10.5px/1.1 var(--mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;
  opacity:.78;transition:color 140ms ease,opacity 140ms ease
}
body.project-theme .project-subnav-neighbor--prev{justify-self:start}
body.project-theme .project-subnav-neighbor--next{justify-self:end}
body.project-theme .project-subnav-neighbor-arrow{display:inline-block;color:inherit;font:500 13px/1 var(--sans,Inter,system-ui,sans-serif);transition:transform 150ms ease}
body.project-theme .project-subnav-neighbor:is(:hover,:focus-visible){color:var(--project-subnav-ink);opacity:1}
body.project-theme .project-subnav-neighbor--prev:is(:hover,:focus-visible) .project-subnav-neighbor-arrow{transform:translateX(-2px)}
body.project-theme .project-subnav-neighbor--next:is(:hover,:focus-visible) .project-subnav-neighbor-arrow{transform:translateX(2px)}

body.project-theme .project-subnav-project-trigger{
  position:relative;justify-self:start;min-width:0;max-width:100%;min-height:44px;padding:0;border:0;background:transparent;color:var(--project-subnav-ink);
  display:inline-flex;align-items:center;cursor:pointer;text-align:left;font:610 14px/1.15 var(--sans,Inter,system-ui,sans-serif);
  letter-spacing:-.012em;white-space:nowrap
}
body.project-theme .project-subnav-project-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.project-theme .project-subnav-project-trigger::after{
  content:"";position:absolute;right:0;bottom:7px;left:0;height:1px;background:currentColor;opacity:0;transform:scaleX(.58);transform-origin:left;
  transition:opacity 140ms ease,transform 150ms ease
}
body.project-theme .project-subnav-project-trigger:is(:hover,:focus-visible)::after,
body.project-theme .project-subnav.is-projects-open .project-subnav-project-trigger::after{opacity:.34;transform:scaleX(1)}
body.project-theme .project-subnav-project-mark{display:none!important}
body.project-theme .project-subnav-current{
  min-width:0;overflow:hidden;color:var(--project-subnav-muted);font:550 10.5px/1.2 var(--mono,"JetBrains Mono",ui-monospace,monospace);
  letter-spacing:.035em;text-align:left;text-overflow:ellipsis;white-space:nowrap
}
body.project-theme .project-subnav-current::before{content:"·";margin-right:9px;color:rgba(23,32,25,.35)}
body.project-theme .project-subnav-toggle{
  justify-self:end;min-width:88px;min-height:44px;padding:0;border:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;background:transparent;
  color:var(--project-subnav-soft);cursor:pointer;font:570 12px/1 var(--sans,Inter,system-ui,sans-serif);transition:color 140ms ease
}
body.project-theme .project-subnav-toggle:is(:hover,:focus-visible),body.project-theme .project-subnav.is-open .project-subnav-toggle{color:var(--project-subnav-ink)}
body.project-theme .project-subnav-toggle-mark{width:15px;height:15px;display:inline-grid;place-items:center;color:var(--project-subnav-muted);font-size:15px;font-weight:400;line-height:1;transition:transform 150ms ease,color 150ms ease}
body.project-theme .project-subnav.is-open .project-subnav-toggle-mark{transform:rotate(45deg);color:var(--project-subnav-ink)}
body.project-theme .project-subnav-folio,body.project-theme .project-subnav-progress{display:none!important}

body.project-theme .project-subnav :is(a,button):focus-visible{outline:2px solid rgba(38,83,59,.4);outline-offset:3px}
body.project-theme .project-subnav-panel{
  position:absolute;top:100%;right:0;left:0;z-index:2;max-height:min(64dvh,570px);overflow-y:auto;overscroll-behavior:contain;
  border-bottom:1px solid var(--project-subnav-line);background:var(--project-subnav-paper);box-shadow:0 18px 38px rgba(12,30,20,.055);
  opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity 150ms ease,transform 170ms ease,visibility 0s linear 170ms
}
body.project-theme .project-subnav.is-open [data-project-chapters-panel],body.project-theme .project-subnav.is-projects-open [data-project-switcher-panel]{opacity:1;visibility:visible;transform:none;transition-delay:0s}
body.project-theme .project-subnav-panel-inner{width:min(calc(100% - 48px),1080px);margin:0 auto;padding:24px 0 28px}
body.project-theme .project-subnav-panel-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--project-subnav-line)}
body.project-theme .project-subnav-panel-head>div{display:grid;gap:4px}
body.project-theme .project-subnav-panel-head small,.project-switcher-head small{color:var(--project-subnav-muted);font:600 10px/1.2 var(--mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.065em;text-transform:uppercase}
body.project-theme .project-subnav-panel-head strong,.project-switcher-head strong{color:var(--project-subnav-ink);font:590 17px/1.2 var(--sans,Inter,system-ui,sans-serif);letter-spacing:-.01em}
body.project-theme .project-subnav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;padding-top:4px}
body.project-theme .project-subnav-links a{min-height:56px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid var(--project-subnav-line);color:#4b534c;text-decoration:none;transition:color 130ms ease}
body.project-theme .project-subnav-index{color:var(--project-subnav-muted);font:560 10px/1 var(--mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.03em}
body.project-theme .project-subnav-links a>span:last-child{font:530 15px/1.25 var(--sans,Inter,system-ui,sans-serif);letter-spacing:-.008em}
body.project-theme .project-subnav-links a:is(:hover,:focus-visible,[aria-current="location"]){color:var(--project-subnav-ink)}
body.project-theme .project-subnav-links a[aria-current="location"] .project-subnav-index{color:#275a43}

body.project-theme .project-subnav-panel-utility{display:none}
body.project-theme .project-switcher-panel{max-height:min(46dvh,440px)}
body.project-theme .project-switcher-inner{padding-top:20px}
body.project-theme .project-switcher-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:12px;border-bottom:1px solid var(--project-subnav-line)}
body.project-theme .project-switcher-head>div{display:grid;gap:3px}
body.project-theme .project-switcher-atlas{min-height:44px;display:inline-flex;align-items:center;color:var(--project-subnav-ink);text-decoration:none;font:570 11.5px/1.2 var(--sans,Inter,system-ui,sans-serif)}
body.project-theme .project-switcher-atlas:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
body.project-theme .project-switcher-scope{display:flex;gap:24px;align-items:center;padding:10px 0 4px;border-bottom:1px solid var(--project-subnav-line)}
body.project-theme .project-switcher-scope button{position:relative;min-height:44px;padding:0;border:0;background:transparent;color:var(--project-subnav-muted);font:560 10.5px/1 var(--mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.03em;cursor:pointer}
body.project-theme .project-switcher-scope button::after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:1px;background:var(--project-subnav-ink);opacity:0;transform:scaleX(.4);transition:opacity 130ms ease,transform 140ms ease}
body.project-theme .project-switcher-scope button.is-active{color:var(--project-subnav-ink)}
body.project-theme .project-switcher-scope button.is-active::after{opacity:.48;transform:scaleX(1)}
body.project-theme .project-switcher-scope button span{color:var(--project-subnav-muted);font-variant-numeric:tabular-nums}
body.project-theme .project-switcher-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
body.project-theme .project-switcher-list>a{min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--project-subnav-line);color:var(--project-subnav-soft);text-decoration:none}
body.project-theme .project-switcher-list>a[hidden]{display:none}
body.project-theme .project-switcher-project{min-width:0;display:grid;gap:3px}
body.project-theme .project-switcher-project strong{overflow:hidden;color:inherit;font:570 14.5px/1.2 var(--sans,Inter,system-ui,sans-serif);letter-spacing:-.006em;text-overflow:ellipsis;white-space:nowrap}
body.project-theme .project-switcher-project small{overflow:hidden;color:var(--project-subnav-muted);font:530 10.5px/1.25 var(--mono,"JetBrains Mono",ui-monospace,monospace);text-overflow:ellipsis;white-space:nowrap}
body.project-theme .project-switcher-arrow{color:var(--project-subnav-muted);transition:transform 140ms ease,color 140ms ease}
body.project-theme .project-switcher-list>a:is(:hover,:focus-visible,[aria-current="page"]){color:var(--project-subnav-ink)}
body.project-theme .project-switcher-list>a:is(:hover,:focus-visible) .project-switcher-arrow{transform:translateX(3px);color:var(--project-subnav-ink)}
body.project-theme .project-switcher-list>a[aria-current="page"]{box-shadow:inset 1px 0 0 rgba(39,90,67,.48);padding-left:12px}

body.project-theme :is(section[id],article[id],[id].project-workbench,[id].project-sticky-workbench){scroll-margin-top:var(--cv-project-scroll-offset)!important}

@media(max-width:1279px){
  body.project-theme .project-subnav-bar{grid-template-columns:44px minmax(160px,1.1fr) minmax(130px,.8fr) 44px 90px;gap:12px}
  body.project-theme .project-subnav-neighbor{justify-content:center}
  body.project-theme .project-subnav-neighbor-label{display:none}
}
@media(max-width:860px){
  body.project-theme .project-subnav-bar{padding-inline:18px;grid-template-columns:36px minmax(150px,1.08fr) minmax(115px,.72fr) 36px 86px;gap:8px}
  body.project-theme .project-subnav-project-trigger{font-size:13px}
  body.project-theme .project-subnav-current{font-size:10px}
  body.project-theme .project-subnav-panel-inner{width:min(calc(100% - 36px),800px)}
}
@media(max-width:700px){
  body.project-theme{--project-subnav-height:60px}
  body.project-theme .project-subnav-bar{
    height:60px;padding:5px 16px 4px;grid-template-columns:minmax(0,1fr) 92px;grid-template-rows:28px 20px;column-gap:14px;row-gap:0
  }
  body.project-theme .project-subnav-neighbor{display:none}
  body.project-theme .project-subnav-project-trigger{grid-column:1;grid-row:1;justify-self:start;min-height:28px;max-width:100%;font-size:13px}
  body.project-theme .project-subnav-project-trigger::after{bottom:1px}
  body.project-theme .project-subnav-current{grid-column:1;grid-row:2;align-self:start;font-size:9.5px;line-height:1.1;color:var(--project-subnav-muted)}
  body.project-theme .project-subnav-current::before{display:none}
  body.project-theme .project-subnav-toggle{grid-column:2;grid-row:1 / span 2;min-width:88px;min-height:44px;align-self:center;font-size:11.5px}
  body.project-theme .project-subnav-panel{max-height:calc(100dvh - var(--nav-height,var(--global-nav-height,58px)) - var(--project-subnav-height))}
  body.project-theme .project-subnav-panel-inner{width:100%;padding:18px 18px max(28px,env(safe-area-inset-bottom))}
  body.project-theme .project-subnav-panel-head{padding-bottom:12px}
  body.project-theme .project-subnav-panel-head strong,.project-switcher-head strong{font-size:16px}
  body.project-theme .project-subnav-links{grid-template-columns:1fr;padding-top:2px}
  body.project-theme .project-subnav-links a{min-height:54px}
  body.project-theme .project-subnav-panel-utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:18px;padding-top:10px;border-top:1px solid var(--project-subnav-line)}
  body.project-theme .project-subnav-panel-utility a{min-height:44px;display:flex;align-items:center;color:var(--project-subnav-soft);text-decoration:none;font:550 11px/1.2 var(--sans,Inter,system-ui,sans-serif)}
  body.project-theme .project-subnav-panel-utility a:nth-child(2){justify-content:flex-end;text-align:right}
  body.project-theme .project-subnav-panel-utility .project-subnav-panel-atlas{grid-column:1/-1;border-top:1px solid rgba(23,32,25,.06);margin-top:2px;color:var(--project-subnav-ink)}
  body.project-theme .project-switcher-panel{max-height:calc(100dvh - var(--nav-height,var(--global-nav-height,58px)) - var(--project-subnav-height))}
  body.project-theme .project-switcher-head{align-items:center}
  body.project-theme .project-switcher-scope{gap:18px;overflow-x:auto}
  body.project-theme .project-switcher-list{grid-template-columns:1fr}
  body.project-theme .project-switcher-list>a{min-height:58px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.project-theme .project-subnav,body.project-theme .project-subnav-neighbor,body.project-theme .project-subnav-neighbor-arrow,
  body.project-theme .project-subnav-project-trigger::after,body.project-theme .project-subnav-toggle-mark,
  body.project-theme .project-subnav-panel,body.project-theme .project-switcher-arrow{transition:none!important}
}
/* CULTIVERA_ROOTS_QA_CLOSURE_20260820
   Arrow-only project neighbours must retain a true 44x44 target on tablet. */
@media (min-width:701px) and (max-width:1279px){
  body.project-theme .project-subnav-neighbor{
    width:44px;
    min-width:44px;
    min-height:44px;
    justify-content:center
  }
}
@media (min-width:701px) and (max-width:860px){
  body.project-theme .project-subnav-bar{
    grid-template-columns:44px minmax(150px,1.08fr) minmax(115px,.72fr) 44px 86px
  }
}
