/* Depth pages shared shell — tokens/fonts from homepage. Not loaded on /. */

@font-face{ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/ibm-plex-mono-400-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/ibm-plex-mono-400-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-mono-500-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-mono-500-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-400-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-400-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-500-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-500-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-tight-400-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-tight-400-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-tight-500-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-tight-500-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter-tight-600-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{ font-family: 'Inter Tight'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter-tight-600-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Depth pages shared shell — tokens/fonts from homepage. Not loaded on /. */
/* Absorb Heavy 02a: tokens / spacing / lume buttons; preserve depth selectors. */
/* Absorb job-13a visual QA (safe): home mono/brand/btn/footer rhythm; keep .depth/.depth-section/.signet-rail. */

:root{
  --bg:#050506; --bg-2:#0A0A0C; --surface:#0F0F12; --surface-2:#15151A;
  --line:#1E1E24; --line-2:#2B2B33; --line-3:#4C4C58;
  --ink:#F4F4F5; --ink-2:#B0B0BA; --ink-3:#9A9AA6; --ink-4:#6A6A76;
  --lume:#CFE9FF; --lume-2:#8FC6FF; --lume-dim:rgba(143,198,255,.14);
  --font-display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --max:1180px; --gutter:clamp(18px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}

*, *::before, *::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 16px/1.6 var(--font-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button, input, textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--lume-2);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 1px var(--bg)}
::selection{background:var(--lume-dim);color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[id]{scroll-margin-top:108px}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.mono{
  font-family:var(--font-mono);font-size:12px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
  line-height:1.4;
}
.lede{max-width:56ch;color:var(--ink-2);font-size:clamp(16px,1.6vw,19px);line-height:1.55}


/* Skip to content — visible on focus only */
.skip-link{
  position:absolute;left:var(--gutter);top:0;z-index:100;
  transform:translateY(-120%);
  padding:10px 14px;border-radius:0 0 8px 8px;
  background:var(--lume);color:#071017;font-size:14px;font-weight:500;
  text-decoration:none;border:1px solid var(--lume-2);
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:translateY(0);
  outline:2px solid var(--ink);outline-offset:2px;
}

.nav{
  position:sticky;top:0;z-index:30;
  background:rgba(5,5,6,.72);backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.nav .wrap{position:relative;display:flex;align-items:center;gap:28px;min-height:60px}
.brand{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:500;font-size:17px;letter-spacing:-.01em;
}
.brand svg{width:22px;height:22px;flex:none}
.nav nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav nav a{padding:8px 12px;border-radius:8px;font-size:14px;color:var(--ink-2);transition:color .15s var(--ease), background .15s var(--ease)}
.nav nav a:hover,
.nav nav a[aria-current="page"]{color:var(--ink);background:var(--surface-2)}
.nav .btn{margin-left:8px;flex:none}
.nav-toggle{
  display:none;margin-left:auto;border:1px solid var(--line-2);
  background:transparent;border-radius:8px;padding:8px 10px;cursor:pointer;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 16px;min-height:40px;
  border:1px solid var(--line-3);border-radius:9px;
  font-size:14px;font-weight:500;color:var(--ink);background:transparent;
  cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
  transition:border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);
}
.btn:hover{border-color:#3A3A44;background:var(--surface-2)}
.btn:active{transform:translateY(1px)}
/* Keep lume solid CTA from Heavy 02a absorb (not ink/white reverse of job-13a proxy) */
.btn-solid{border-color:var(--lume-2);background:var(--lume);color:#071017}
.btn-solid:hover{background:#E4F3FF;border-color:#E4F3FF;color:#071017}
.btn svg{width:14px;height:14px;transition:transform .26s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-row, .cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.depth{padding-block:clamp(28px,4vw,52px) clamp(48px,7.5vw,96px)}
.depth .eyebrow{margin:0 0 12px}
.depth h1{
  margin:0;max-width:18ch;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(36px,5.8vw,56px);line-height:1.08;letter-spacing:-.035em;
  text-wrap:balance;
}
.depth .lede{
  margin:14px 0 0;max-width:56ch;color:var(--ink-2);
  font-size:clamp(17px,1.6vw,19px);line-height:1.55;
}
.depth .intro{margin:14px 0 0;max-width:56ch;color:var(--ink-2);font-size:15.5px;line-height:1.6}

/* Signet job subnav — sticky under primary nav (HTML uses .signet-rail) */
.signet-rail{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin:16px 0 0;padding:8px;width:fit-content;max-width:100%;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
}
.signet-rail a{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  padding:8px 12px;border-radius:8px;color:var(--ink-2);
  transition:color .15s var(--ease), background .15s var(--ease);
}
.signet-rail a:hover{color:var(--ink);background:var(--surface-2)}
.signet-rail a[aria-current="page"]{
  color:var(--lume);background:var(--lume-dim);
  box-shadow:inset 0 0 0 1px var(--lume-2);
}

.depth-section{
  margin-top:clamp(18px,3vw,32px);
  padding-top:clamp(28px,4.2vw,52px);
  padding-bottom:clamp(2px,.8vw,8px);
  border-top:1px solid var(--line);max-width:62ch;
  scroll-margin-top:108px; /* sticky nav + air; matches [id] */
}
.depth-section > .mono{margin:0 0 8px;color:var(--ink-3);letter-spacing:.12em}
.depth-section .mono.subhead{margin:1.35em 0 8px;color:var(--ink-3);letter-spacing:.12em}
.depth-section p a:not(.btn),
.depth-section li a:not(.btn),
.depth-section td a:not(.btn){
  text-decoration-line:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--line-3);
  text-decoration-skip-ink:auto;
}
.depth-section p a:not(.btn):hover,
.depth-section li a:not(.btn):hover,
.depth-section td a:not(.btn):hover{
  color:var(--ink);
  text-decoration-color:var(--ink-3);
}
.depth-section h2{
  margin:0 0 10px;max-width:36ch;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(22px,2.6vw,28px);letter-spacing:-.025em;line-height:1.2;
  text-wrap:balance;
}
.depth-section p{margin:0 0 12px;color:var(--ink-2);font-size:15.5px;line-height:1.62}
.depth-section p:last-child{margin-bottom:0}
.depth-section ul{margin:10px 0 0;padding:0;list-style:none}
.depth-section li{
  position:relative;padding:10px 0 10px 18px;color:var(--ink-2);
  border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.55;
}
.depth-section li:last-child{border-bottom:0}
.depth-section li::before{
  content:"";position:absolute;left:0;top:1.15em;width:6px;height:1px;background:var(--line-3);
}

.cases{
  margin:12px 0 0;padding:0;list-style:none;counter-reset:case;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  overflow:hidden;
}
.cases li{
  counter-increment:case;position:relative;
  padding:14px 18px 14px 52px;border-bottom:1px solid var(--line);color:var(--ink-2);
  font-size:15.5px;line-height:1.55;
}
.cases li:last-child{border-bottom:0}
.cases li::before{
  content:counter(case, decimal-leading-zero);
  position:absolute;left:18px;top:16px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--ink-3);
}
.cases strong{display:block;color:var(--ink);font-weight:500;margin-bottom:4px}

/* Depth claim tables (Intake validation · Trust residency) */
.table-wrap{
  margin:14px 0 0;overflow-x:auto;max-width:100%;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  /* Edge fades hint horizontal scroll without inventing copy */
  background:
    linear-gradient(to right, var(--surface) 30%, transparent),
    linear-gradient(to left, var(--surface) 30%, transparent),
    linear-gradient(to right, rgba(0,0,0,.42), transparent 80%),
    linear-gradient(to left, rgba(0,0,0,.42), transparent 80%);
  background-position:left center,right center,left center,right center;
  background-repeat:no-repeat;
  background-size:28px 100%,28px 100%,14px 100%,14px 100%;
  background-attachment:local,local,scroll,scroll;
  border-radius:12px;
}
.depth-section .table-wrap{max-width:none}
/* Desktop: claim tables use wrap width; prose in those sections stays ~62ch */
@media (min-width:761px){
  .depth-section:has(.table-wrap){max-width:none}
  .depth-section:has(.table-wrap) > .mono,
  .depth-section:has(.table-wrap) > h2,
  .depth-section:has(.table-wrap) > p,
  .depth-section:has(.table-wrap) > ul,
  .depth-section:has(.table-wrap) > ol{max-width:62ch}
  .depth-section .table-wrap{
    width:100%;
    max-width:min(100%,calc(var(--max) - 2 * var(--gutter)));
  }
}
.depth-section table{
  width:100%;table-layout:fixed;border-collapse:collapse;font-size:13.5px;line-height:1.45;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);
}
.depth-section th,.depth-section td{
  padding:11px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line);color:var(--ink-2);
  overflow-wrap:anywhere;word-break:normal;hyphens:auto;
}
.depth-section th{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);font-weight:500;background:rgba(15,15,18,.55);
}
.depth-section tr:last-child td{border-bottom:0}
.depth-section td:first-child{
  color:var(--ink);font-weight:500;
  white-space:normal;overflow-wrap:normal;word-break:normal;
  width:28%;
}
.depth-section th:first-child{width:28%}
.depth-section th:nth-child(2),
.depth-section td:nth-child(2){width:32%}
.depth-section th:nth-child(3),
.depth-section td:nth-child(3){width:40%}

/* Trust residency table keeps its columns readable on narrow screens. */
.depth-section#residency .table-wrap{
  overscroll-behavior-inline:contain;
  border:1px solid var(--line);
}
/* Partners commercial A–E: same scroll/edge chrome as residency on narrow screens */
.depth-section#commercial .table-wrap{
  overscroll-behavior-inline:contain;
  border:1px solid var(--line);
}
@media (max-width:760px){
  .depth-section#residency table{min-width:42rem}
  .depth-section#residency .table-wrap{
    /* Stronger edge cue when table is forced wide */
    background-size:40px 100%,40px 100%,20px 100%,20px 100%;
    padding-bottom:4px; /* room for scrollbar without clipping cells */
  }
  .depth-section#residency .table-wrap::-webkit-scrollbar{height:8px}
  .depth-section#residency .table-wrap::-webkit-scrollbar-thumb{
    background:var(--line-3);border-radius:8px;
  }
  .depth-section#residency .table-wrap::-webkit-scrollbar-track{
    background:var(--surface-2);border-radius:8px;
  }
  .depth-section#commercial table{min-width:36rem}
  .depth-section#commercial .table-wrap{
    background-size:40px 100%,40px 100%,20px 100%,20px 100%;
    padding-bottom:4px;
  }
  .depth-section#commercial .table-wrap::-webkit-scrollbar{height:8px}
  .depth-section#commercial .table-wrap::-webkit-scrollbar-thumb{
    background:var(--line-3);border-radius:8px;
  }
  .depth-section#commercial .table-wrap::-webkit-scrollbar-track{
    background:var(--surface-2);border-radius:8px;
  }
  /* Intake validation tables share the same scroll chrome */
  .depth-section .table-wrap::-webkit-scrollbar{height:8px}
  .depth-section .table-wrap::-webkit-scrollbar-thumb{
    background:var(--line-3);border-radius:8px;
  }
}

/* Placeholder callouts in HTML — not form controls (Heavy form styles skipped) */
.needs-input{
  margin:14px 0 0;padding:12px 14px;border:1px dashed var(--line-2);border-radius:8px;
  color:var(--ink-3);font-family:var(--font-mono);font-size:12px;line-height:1.5;
  background:rgba(15,15,18,.6);
}

.depth-cta{
  margin-top:clamp(40px,6vw,72px);padding:clamp(22px,3.5vw,32px);
  border:1px solid var(--line);border-radius:16px;background:var(--surface);
  display:grid;gap:14px;justify-items:start;max-width:54ch;
}
.depth-cta p{margin:0;color:var(--ink-2);font-size:15.5px}
.depth-cta .cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.depth-cta .cta-row + .secondary{margin-top:6px}
.depth-cta .secondary{font-size:14px;color:var(--ink-3);line-height:1.65}
.depth-cta .secondary a{color:var(--ink);border-bottom:1px solid var(--line-3)}
.depth-cta .secondary a:hover{color:var(--ink);border-bottom-color:var(--line-3)}

/* Signet hub cards */
.job-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-top:28px;max-width:min(100%,960px);
  padding:0;list-style:none;
}
.job-grid > li{margin:0;padding:0;min-width:0;display:flex}
.job-grid a{
  display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:22px 22px 24px;
  border:1px solid var(--line);border-radius:14px;background:var(--surface);
  transition:border-color .15s var(--ease), background .15s var(--ease);
  flex:1;width:100%;min-height:100%;box-sizing:border-box;
}
.job-grid a:hover{border-color:var(--line-2);background:var(--surface-2)}
.job-grid .mono{margin:0}
.job-grid strong{
  font-family:var(--font-display);font-weight:500;font-size:20px;
  letter-spacing:-.02em;color:var(--ink);
}
.job-grid span{color:var(--ink-2);font-size:14.5px;line-height:1.5}

.job-grid a.job-card{text-decoration:none;color:inherit}
.job-grid a.job-card:hover{
  border-color:var(--line-2);background:var(--surface-2);
}
.job-grid a.job-card .job-go{
  margin-top:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
}
.job-grid a.job-card:hover .job-go,
.job-grid a.job-card:focus-visible .job-go{color:var(--lume)}
.job-grid a.job-card:focus-visible{
  background:var(--surface-2);
}


footer{
  padding-block:34px 44px;color:var(--ink-3);font-size:13px;
  border-top:1px solid var(--line);
}
footer .wrap{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between}
footer nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap;font-size:14px}
footer a{color:var(--ink-2);text-decoration:none;position:relative}
footer a:hover{color:var(--ink)}
footer nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--ink-3);transform:scaleX(0);transform-origin:left center;
  transition:transform .3s var(--ease);
}
footer nav a:hover::after{transform:scaleX(1)}
footer small{color:var(--ink-3)}

@media (max-width:760px){
  .nav .wrap{min-height:56px;gap:12px}
  .nav-toggle{display:inline-flex}
  .nav nav{display:none}
  .nav nav.is-open{
    display:grid;position:absolute;inset:56px 0 auto;
    padding:12px var(--gutter);background:var(--bg-2);border-bottom:1px solid var(--line);
    gap:2px;z-index:40;
    /* full-bleed under sticky bar even when .wrap is padded */
    margin-inline:calc(-1 * var(--gutter));
    width:calc(100% + 2 * var(--gutter));
    box-sizing:border-box;
  }
  .nav nav.is-open a{padding:10px 12px}
  /* Prefer Menu over Talk-to-us on the narrowest phones */
  .nav .btn{padding-inline:12px;min-height:36px;font-size:13px}
  .job-grid{grid-template-columns:1fr}
  .signet-rail{width:100%}
  footer .wrap{display:grid;align-items:start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *, *::before, *::after{
    animation:none !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* Markets / scan helpers — density polish */
.depth-section .lede{margin:0;max-width:56ch}
.depth-section .lede + p,
.depth-section p + p{margin-top:10px}
.depth-section p + ul{margin-top:6px}
.depth-section h2 + .lede{margin-top:0}
.nav-toggle{color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.02em}
.nav-toggle[aria-expanded="true"]{border-color:var(--lume-2);color:var(--lume)}


/* Job-page glance row — unified 3-cell pattern (Hold/Intake/Compose/Deliver) */
.glance{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;margin:20px 0 0;max-width:min(100%,960px);padding:0;list-style:none;
  align-items:stretch;
}
.glance + .intro{margin-top:16px}
.depth .lede + .signet-rail{margin-top:14px}
.signet-rail + .glance{margin-top:16px}
.glance + .signet-rail,
.intro + .signet-rail{margin-top:16px}
.depth .lede + .glance{margin-top:18px}
.glance li{
  display:grid;grid-template-rows:auto auto 1fr;gap:6px;padding:14px 14px 16px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  color:var(--ink-2);font-size:13.5px;line-height:1.45;
  min-height:100%;
}
.glance .mono{margin:0}
.glance strong{
  color:var(--ink);font-weight:500;font-size:14.5px;letter-spacing:-.01em;
  font-family:var(--font-display);
}
.glance li > span:not(.mono){color:var(--ink-2)}
@media (max-width:760px){
  .glance{grid-template-columns:1fr}
}



/* Page TOC — compact mono section index (Trust / Signet hub; claim-safe labels only) */
.page-toc{
  display:flex;flex-wrap:wrap;gap:6px 8px;
  margin:clamp(22px,3vw,28px) 0 0;padding:10px 12px;max-width:none;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
}
/* Hash landing (TOC / #residency inbound) — claim-safe chrome only */
.depth-section:target{
  border-radius:12px;
  box-shadow:inset 0 0 0 1px var(--line-2);
}
.depth-section:target > .mono{color:var(--ink)}
.page-toc a{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.05em;text-transform:uppercase;
  padding:7px 11px;border-radius:8px;color:var(--ink-2);
  text-decoration:none;
  box-shadow:inset 0 0 0 1px var(--line-2);
  transition:color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);
}
@media (max-width:760px){
  .page-toc a{min-height:44px;padding:10px 12px;display:inline-flex;align-items:center}
}
.page-toc a:hover{
  color:var(--ink);background:var(--surface-2);
  box-shadow:inset 0 0 0 1px var(--line-3);
}
.page-toc a:focus-visible{outline:2px solid var(--lume-2);outline-offset:3px;box-shadow:0 0 0 1px var(--bg)}
.page-toc a.toc-core{
  /* legacy class — treat like any pill */
  color:var(--ink-2);
}
.page-toc .toc-break{display:none}
.page-toc a[aria-current="true"]{
  color:var(--ink);background:var(--surface-2);
  box-shadow:inset 0 0 0 1px var(--line-3);
}

/* Signet hub pipeline scan list */
.scan-list{
  margin:12px 0 0;padding:0;list-style:none;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  overflow:hidden;
}
.scan-list li{
  padding:11px 16px;border-bottom:1px solid var(--line);
  color:var(--ink-2);font-size:14.5px;line-height:1.5;
}
.scan-list li:last-child{border-bottom:0}
.scan-list li::before{display:none;content:none}
.scan-list strong{color:var(--ink);font-weight:500}


/* Partners #keeps — keep/own split as two columns; stack ≤760 */
.keeps-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin:12px 0 0;padding:0;list-style:none;
}
.keeps-grid > li{
  position:static;margin:0;padding:14px 16px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  color:var(--ink-2);font-size:15px;line-height:1.55;
  border-bottom:1px solid var(--line);
}
.keeps-grid > li::before{display:none;content:none}
.keeps-grid strong{display:block;color:var(--ink);font-weight:500;margin-bottom:6px;font-size:14.5px}
@media (max-width:760px){
  .keeps-grid{grid-template-columns:1fr}
}

/* Partners markets — readable on mobile */
.markets-list{
  margin:12px 0 0;padding:0;list-style:none;
  display:grid;gap:10px;
}
.markets-list li{
  position:static;padding:14px 16px;margin:0;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  border-bottom:1px solid var(--line);
  color:var(--ink-2);font-size:15px;line-height:1.55;
}
.markets-list li::before{display:none;content:none}
.markets-list li:last-child{border-bottom:1px solid var(--line)}
.markets-list strong{display:block;color:var(--ink);font-weight:500;margin-bottom:4px;font-size:14.5px}

/* Partners commercial mid-page CTA (not buried under markets) */
.depth-section .commercial-cta{margin-top:16px}
.depth-section .commercial-cta .btn-solid{min-height:42px}

/* Print — Trust/Partners handouts: ink on paper, hide chrome, understated link URLs.
   Claim-safe: CSS only; no invented copy in content attributes beyond href. */
@media print{
  :root{color-scheme:light}
  *, *::before, *::after{
    background:transparent !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  html, body{
    background:#fff !important;
    color:#000 !important;
    font-size:11pt;
    line-height:1.45;
  }
  .skip-link,
  .nav,
  .nav-toggle,
  .brand,
  .signet-rail,
  .page-toc,
  .commercial-cta,
  .depth-cta .cta-row,
  .btn,
  .btn-solid,
  .needs-input,
  .job-go,
  footer nav,
  footer .wrap > nav{
    display:none !important;
  }
  .wrap{max-width:none;padding-inline:0}
  .depth, .depth-section, .depth-cta, .mono, .lede, .glance li,
  .cases li, footer, footer small, a{
    color:#000 !important;
  }
  .mono{color:#333 !important}
  .lede, .depth-cta p, .depth-cta .secondary{color:#222 !important}
  .glance li, .cases li, .job-card, .depth-cta, .needs-input{
    border:1px solid #ccc !important;
    border-radius:0;
  }
  a{text-decoration:underline}
  /* Understated href reveal for absolute/relative http(s) and site paths */
  a[href^="http"]::after,
  a[href^="/"]::after{
    content:" (" attr(href) ")";
    font-size:0.85em;
    font-weight:400;
    color:#555;
    text-decoration:none;
    word-break:break-all;
  }
  /* mailto: reveal href for paper handouts (Trust/Partners) */
  a[href^="mailto:"]::after{
    content:" (" attr(href) ")";
    font-size:0.85em;
    font-weight:400;
    color:#555;
    text-decoration:none;
    word-break:break-all;
  }
  a[href^="#"]::after,
  a[href^="tel:"]::after,
  a[href^="javascript:"]::after{
    content:none;
  }
  footer{
    border-top:1px solid #ccc !important;
    margin-top:1.5em;
    padding-top:0.75em;
  }
  /* Long Commercial / Markets / Diligence / Boundaries must paginate; cards stay intact */
  .markets-list li, .keeps-grid > li, .scan-list li, .glance li{
    break-inside:avoid;
  }
  h1, h2, h3{break-after:avoid;color:#000 !important}
  /* Handout margins + tables print full width (no clipped scrollport) */
  @page{margin:14mm}
  .table-wrap{
    overflow:visible !important;
    background:none !important;
    border:none !important;
    border-radius:0 !important;
  }
  .depth-section#residency table,
  .depth-section table{
    min-width:0 !important;
    width:100% !important;
  }
  thead{display:table-header-group}
  /* Allow page-break inside table rows (residency + commercial A–E); keep structure */
  img{break-inside:avoid}
  .depth-section table tr{break-inside:auto}
  /* Do not hide #clinical / #residency — only chrome is display:none above */
  .depth-section#clinical,
  .depth-section#residency{display:block !important}
  .scan-list li{color:#000 !important;border-color:#ccc !important}
  .keeps-grid > li{color:#000 !important;border-color:#ccc !important}
  .keeps-grid strong{color:#000 !important}
  .markets-list li{border-color:#ccc !important;color:#000 !important}
  .markets-list strong{color:#000 !important}
  th, td{color:#000 !important;border-color:#ccc !important;background:transparent !important}
}
