/* Personal introduction and evidence-led project explorer. */
.logo-definition{position:absolute;overflow:hidden;pointer-events:none}
.brand-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-mark svg{display:block;width:76%;height:76%;fill:currentColor}
.identity-art{--plus-cell-left:168px;background-origin:padding-box;background-position:0 0}
.identity-monogram{display:flex;align-items:center;line-height:1;perspective:600px}
.identity-monogram svg{display:block;width:1.6em;height:1.1em;fill:currentColor;transform-origin:center}
.identity-plus{left:calc(var(--plus-cell-left) - 8px);top:48px;right:auto;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--accent);display:grid;place-items:center;border-radius:4px}
.identity-plus-glyph{position:relative;width:14px;height:14px;display:block;transition:transform .15s ease}
.identity-plus-glyph::before,.identity-plus-glyph::after{content:'';position:absolute;background:currentColor;border-radius:1px}
.identity-plus-glyph::before{width:14px;height:2px;left:0;top:6px}
.identity-plus-glyph::after{width:2px;height:14px;left:6px;top:0}
.identity-plus:hover .identity-plus-glyph{transform:scale(1.15)}
.identity-plus:focus-visible{outline-offset:-7px}
.identity-monogram svg.is-turning{animation:jk-turn .9s cubic-bezier(.4,0,.2,1)}
@keyframes jk-turn{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@media(min-width:1600px){.identity-art{--plus-cell-left:252px}}
@media(max-width:1250px){.identity-art{--plus-cell-left:140px}}
@media(prefers-reduced-motion:reduce){.identity-monogram svg.is-turning{animation-duration:.001ms}.identity-plus-glyph{transition:none}.identity-plus:hover .identity-plus-glyph{transform:none}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-name{font-family:var(--title);font-size:1.6rem;color:var(--text);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.overview .role-title{margin:8px 0 24px;color:var(--muted);font-size:.9rem;line-height:1.5}
.overview h1{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.045em;line-height:1.13}
.overview .intro-copy{margin-top:22px}
.metric-number>span{font-size:.75rem;line-height:1.4}
.metric-context{font-size:.8rem}
.project-option{min-height:135px;padding:18px 20px}
.project-topline{margin-bottom:10px}
.project-name{font-size:1rem;line-height:1.35}
.project-subtitle{font-size:.8rem;line-height:1.5;margin-top:7px}
.project-tags{font-size:.65rem;margin-top:12px}
.project-picker{align-self:start}
.project-permalink{display:inline-block;font-size:.8rem;color:var(--accent);text-decoration:underline;text-underline-offset:4px;margin-top:12px}
.project-permalink:hover{color:var(--text)}
.project-option:hover{box-shadow:inset 0 0 0 1px var(--line)}
.nav-item:hover{box-shadow:inset 0 0 0 1px var(--line)}
.nav-item[aria-current="location"]{color:var(--accent);background:var(--wash)}
.node-note strong,.node-note span{display:block}
.node-note strong{font-weight:500;color:var(--text);margin-bottom:7px}
.mobile-project-picker{display:none}
.operations-section{padding-top:55px}
.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
.operations-grid article+article{border-left:1px solid var(--line);padding-left:26px}
.operation-number{font:11px var(--mono);color:var(--accent);letter-spacing:.06em}
.operations-grid h3{font-size:1.2rem;line-height:1.3;margin:13px 0}
.operations-grid p{font-size:.9rem;line-height:1.8}
.operation-evidence{display:block;font:11px var(--mono);color:var(--muted);line-height:1.8;margin-top:18px}
.recovery-flow{display:flex;align-items:center;gap:0;margin-top:28px;padding:22px 20px;background:var(--bg);border:1px solid var(--line);border-radius:4px}
.recovery-flow>div:not(.recovery-connector){flex:1;min-width:0}
.recovery-flow .note-title{display:block;font-size:10px}
.recovery-flow strong{font:500 1rem var(--title);color:var(--text);display:block;line-height:1.4}
.recovery-flow p{font-size:.8rem;line-height:1.6;margin-top:8px}
.recovery-connector{width:32px;min-width:20px;height:1px;background:var(--accent);margin:0 16px}
.skill-chip{text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:4px;font-size:.8rem}
.skill-token{display:inline-flex;align-items:center;font-size:.8rem;padding:7px 11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;min-height:36px}
.toolkit-intro{font-size:.9rem;margin:-8px 0 24px}
.contact-section>div:first-child{max-width:650px}
.contact-section h2{line-height:1.25}
@media(max-width:1100px){.intro-row{grid-template-columns:1fr}.identity-art{display:flex;width:225px;max-width:100%;height:224px;padding:17px;justify-self:start;--plus-cell-left:168px}.identity-monogram{font-size:100px}.identity-label{font-size:9px}.identity-caption{font-size:10px}.overview h1{max-width:850px}.operations-grid{gap:18px}.operations-grid article+article{padding-left:18px}.operations-grid h3{font-size:1.1rem}}
@media(max-width:760px){
  .hero-name{font-size:1.5rem}
  .overview .role-title{font-size:.875rem;margin-bottom:22px}
  .overview h1{font-size:clamp(1.9rem,6.4vw,2.7rem);max-width:600px}
  .metric-number>span{font-size:.72rem;line-height:1.5}
  .metric-title{font-size:.78rem}
  .metric-context{font-size:.72rem}
  .project-workspace{overflow:visible}
  .project-picker{display:none}
  .mobile-project-picker{display:block;margin-bottom:14px}
  .mobile-project-picker label{display:block;color:var(--muted);font-size:.875rem;margin-bottom:8px}
  .mobile-project-picker select{font:inherit;font-size:1rem;width:100%;max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;min-height:50px;padding:12px 34px 12px 12px;text-overflow:ellipsis}
  .mobile-project-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .project-detail{padding:24px 20px}
  .project-detail h3{font-size:1.65rem}
  .detail-header{flex-wrap:wrap;gap:9px}
  .detail-lead{font-size:1rem}
  .network-node{font-size:1rem}
  .network-node>small,.diagram-caption{font-size:.75rem;line-height:1.5}
  .view-label,.note-title{font-size:.75rem}
  .node-note,.detail-notes p,.warehouse-detail p{font-size:.9rem}
  .segment button{font-size:.875rem;min-height:44px}
  .warehouse-items button{font-size:.875rem}
  .operations-section{padding-top:40px}
  .operations-grid{grid-template-columns:1fr;gap:23px;padding:24px 0}
  .operations-grid article+article{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}
  .operations-grid h3{font-size:1.2rem}
  .skill-chip,.skill-token{font-size:.875rem;min-height:44px}
  .toolkit-group h3{font-size:1rem}
  .contact-section p{font-size:.95rem}
}
@media(max-width:450px){
  .metrics{gap:0}
  .metric{padding:0 10px}
  .metric-number{font-size:1.65rem}
  .metric-number>span,.metric-context{font-size:.7rem}
  .network-nodes{flex-direction:column}
  .network-node{width:100%;min-height:65px}
  .network-wire{height:20px;width:1px}
  .network-wire.unreliable{background:repeating-linear-gradient(to bottom,var(--muted) 0,var(--muted) 4px,transparent 4px,transparent 8px)}
  .recovery-flow{flex-direction:column;align-items:stretch}
  .recovery-connector{width:1px;height:25px;min-width:0;margin:14px 0 14px 10px}
  .detail-notes{grid-template-columns:1fr;gap:18px}
  .view-bar{flex-direction:column;align-items:flex-start}
  .contact-actions .button{white-space:normal}
}
