/* Internal editorial system. Loaded after main.css; no homepage selectors.
   Shared cinematic palette, deliberately static reading composition. */
body.internal-page {
  --night:#070b0a; --night-ink:#eef7f3; --signal:#76e7c6;
  --bg:#f2f1eb; --surface:#e8e7df; --ink:#111714; --ink-soft:#56605b;
  --accent:#215e4e; --rule:#c9cbc4; --measure:84rem; --wide:84rem;
  --pillar-arch:#1e5aa8; --pillar-uiux:#a8501e; --pillar-product:#6b1e8f;
  --pillar-teaching:#75641a; --pillar-agentic:#1e6b5c; --pillar-data:#0e7490; --pillar-platform:#9f1239;
  background:var(--bg); color:var(--ink); font-size:1.0625rem; line-height:1.75;
  overflow-wrap:break-word;
  min-height:100svh; display:flex; flex-direction:column;
}
.internal-page > main { flex:1 0 auto; }
.internal-page > .site-header,.internal-page > .site-footer { flex-shrink:0; }
.internal-page > .site-footer { margin-top:auto; }
.internal-page main { padding:0 0 6rem; overflow:clip; }
.internal-page main > .prose, .internal-page main > .container { max-width:84rem; padding:0 3rem; }
.internal-page .site-header { position:sticky; top:0; z-index:30; background:var(--night); color:var(--night-ink); border-bottom:1px solid #26352f; }
.internal-page .site-header .container { max-width:84rem; min-height:5rem; margin:0 auto; padding:0 3rem; border:0; }
.internal-page .wordmark { display:inline-flex; align-items:center; gap:.8rem; color:var(--night-ink); text-transform:none; font-size:1rem; }
.internal-page .wordmark::before { content:'M'; display:grid; place-items:center; width:1.9rem; height:1.9rem; border:1px solid #9cafA5; font-size:.78rem; }
.internal-page .site-nav { gap:2rem; }
.internal-page .site-nav a { display:inline-flex; align-items:center; min-height:44px; color:#afc0ba; font-size:.8125rem; text-transform:uppercase; letter-spacing:.08em; }
.internal-page .site-nav a:hover,.internal-page .site-nav a[aria-current] { color:var(--signal); }
.internal-page .nav-toggle { display:none; }
.internal-page :focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.internal-page .site-header :focus-visible,.internal-page .internal-opening :focus-visible,.internal-page .site-footer :focus-visible { outline-color:var(--signal); }
.internal-page .skip-link:focus { z-index:50; background:var(--signal); color:var(--night); }
.internal-opening {
  --ink:#eef7f3; --ink-soft:#afc0ba; --accent:#76e7c6; --rule:#3c5047;
  position:relative; padding:4rem 0 4.5rem; margin-bottom:3.5rem;
  background:var(--night); color:var(--ink); box-shadow:0 0 0 100vmax var(--night); clip-path:inset(0 -100vmax);
}
.internal-page .internal-opening h1 { max-width:20ch; margin:0; font-size:clamp(2.5rem,4.8vw,5rem); font-weight:520; letter-spacing:-.05em; line-height:1.04; text-wrap:balance; }
.internal-page .internal-opening .lede { max-width:62ch; margin:1.8rem 0 0; font-size:clamp(1.05rem,1.4vw,1.3rem); line-height:1.65; color:var(--ink-soft); }
.internal-page .internal-opening > p:not(.eyebrow):not(.lede) { margin:1.8rem 0 0; max-width:65ch; }
.internal-page .internal-opening .breadcrumb { margin:0 0 2.5rem; font-size:.8rem; }
.internal-page .internal-opening .eyebrow { margin:0 0 1.5rem; color:var(--signal); font: .7rem/1.6 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; }
.internal-page .internal-opening .note-meta { margin:1.5rem 0 0; color:var(--ink-soft); gap:.65rem 1.3rem; }
.internal-page .internal-opening .tag { color:var(--signal); }
.internal-body { display:grid; grid-template-columns:13rem minmax(0,1fr); gap:4rem; align-items:start; }
.internal-reading { min-width:0; grid-column:2; }
.internal-reading > :first-child { margin-top:0; }
.internal-reading p,.internal-reading ul:not(.item-list),.internal-reading ol,.internal-reading blockquote { max-width:70ch; }
.internal-reading h2 { font-size:clamp(1.55rem,2.1vw,2.2rem); letter-spacing:-.035em; line-height:1.22; max-width:32ch; margin:3.6rem 0 1.4rem; text-wrap:balance; }
.internal-reading h3 { font-size:1.2rem; margin:2.25rem 0 .85rem; }
.internal-reading section { margin-top:3.5rem; }
.internal-reading section:first-child { margin-top:0; }
.internal-reading section > h2:first-child { margin-top:0; }
.internal-page [id] { scroll-margin-top:7rem; }
.internal-page .section-nav { position:sticky; top:7rem; max-height:calc(100vh - 9rem); overflow:auto; padding:0 1rem 1rem 0; font-family:var(--font-sans); }
.internal-page .section-nav > p { color:var(--ink-soft); margin:0 0 1rem; font: .65rem/1.5 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.internal-page .section-nav ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--rule); }
.internal-page .section-nav li { margin:0; border-bottom:1px solid var(--rule); }
.internal-page .section-nav a { display:block; padding:.75rem 0; font-size:.78rem; line-height:1.5; color:var(--ink-soft)!important; font-weight:400!important; text-decoration:none!important; }
.internal-page .section-nav a:hover,.internal-page .section-nav a[aria-current] { color:var(--accent)!important; }
.internal-page .proof-block { padding:1.6rem; background:#e3e7de; border:1px solid #b6c2b7; border-radius:0; border-left-width:1px; margin:2.75rem 0; font-size:.96rem; }
.internal-page .proof-block h2 { margin:0 0 1.25rem; max-width:none; font:600 .8rem/1.6 var(--font-mono); letter-spacing:.025em; }
.internal-page .proof-block dl { grid-template-columns:8.5rem minmax(0,1fr); gap:.85rem 1.3rem; }
.internal-page .proof-block dt { font-size:.85rem; }
.internal-page .proof-block dd { color:#3f4c43; }
.internal-page .case-study-figure { padding:1rem; margin:2.75rem 0; background:#e8e7df; border:1px solid var(--rule); border-radius:0; }
.internal-page .case-study-figure img { border-radius:0; }
.diagram-viewport { overflow:auto; overscroll-behavior-x:contain; background:#fcfcfb; }
.internal-page .diagram-viewport img { min-width:720px; width:100%; max-width:none; display:block; }
.internal-page .diagram-expand { display:inline-flex; min-height:44px; align-items:center; font:.75rem/1.5 var(--font-mono); }
.internal-page .case-study-figure figcaption { margin:.5rem 0 0; max-width:72ch; color:var(--ink-soft); font-size:.85rem; }
.internal-page pre { border-radius:0; padding:1.4rem; border:1px solid var(--rule); max-width:100%; font-size:.9rem; }
.internal-page code { overflow-wrap:anywhere; }
.internal-page .table-viewport { max-width:100%; overflow:auto; margin:2rem 0; overscroll-behavior-x:contain; }
.internal-page table { width:100%; border-collapse:collapse; font-size:.92rem; margin:0; }
.internal-page th { min-width:8rem; }
.internal-page td { min-width:10rem; }
.internal-page td,.internal-page th { padding:.8rem; border-bottom:1px solid var(--rule); text-align:left; }
.internal-page .button-link { min-height:44px; border-radius:0; padding:.8rem 1.1rem; font-family:var(--font-sans); line-height:1.5; }
.internal-page .button-link-primary { background:var(--accent); color:var(--bg)!important; border-color:var(--accent); }
.internal-page .button-link-primary:hover { background:var(--ink); color:var(--bg)!important; }
.internal-page .work-cta,.internal-page #request-review { padding:2.5rem; background:var(--night); color:var(--night-ink); --ink:#eef7f3; --ink-soft:#afc0ba; --accent:#76e7c6; --bg:#070b0a; --rule:#3c5047; }
.internal-page .work-cta h2,.internal-page #request-review h2 { margin-top:0; }
.internal-page .section-kicker { color:var(--accent); font:.68rem/1.5 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.internal-page .engagement-grid { grid-template-columns:1fr 1fr; border:0; gap:1.25rem; background:none; }
.internal-page .engagement-card { min-height:0; padding:1.7rem 0; border-top:1px solid var(--rule); background:none; }
.internal-page .engagement-card-featured { grid-column:1/-1; padding:2rem; background:var(--night); --ink:#eef7f3; --accent:#76e7c6; --ink-soft:#afc0ba; color:var(--ink)!important; }
.internal-page .engagement-card h3 { margin:0; font-size:1.6rem; }
.internal-page .service-number { color:var(--accent); }
.internal-page .featured-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; background:none; border:0; }
.internal-page .featured-work-card { border:0; padding:0 0 1.5rem; border-bottom:1px solid var(--rule); background:none; }
.internal-page .featured-work-card:last-child:nth-child(odd) { grid-column:1/-1; width:calc(50% - 1rem); justify-self:center; }
.internal-page .featured-work-card img { height:12rem; object-fit:contain; background:#e8e7df; border-radius:0; }
.internal-page .featured-work-card h3 { margin:.8rem 0; font-size:1.4rem; }
.internal-page .principles-grid { grid-template-columns:1fr; gap:1.25rem; }
.internal-page .principles-grid > div { display:grid; grid-template-columns:11rem 1fr; gap:1rem; border-top:1px solid var(--rule); padding-top:1rem; }
.internal-page summary { min-height:44px; padding:1rem 0; cursor:pointer; }
.internal-page .case-list { background:none; border:0; gap:0 1.5rem; }
.internal-page .case-list a { padding:1.25rem; border-top:1px solid var(--rule); }
.internal-page .case-list strong { font-size:1rem; line-height:1.45; }
.internal-page .case-list span { font-size:.9rem; line-height:1.65; }
.internal-page .case-group > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 1rem; align-items:center; }
.internal-page .case-group .category-count { margin:0; font-weight:400; }
.internal-page .item { padding:1.5rem 0; gap:1.5rem; }
.internal-page .item-title { font-size:1.2rem; line-height:1.4; letter-spacing:-.02em; }
.internal-page .item-sub { margin-top:.55rem; line-height:1.7; color:var(--ink-soft); font-size:1rem; }
.internal-page .item-end { font-size:.75rem; line-height:1.6; }
.internal-note .internal-opening h1 { max-width:26ch; font-size:clamp(2.2rem,3.8vw,4rem); }
.internal-note .internal-reading > p,.internal-note .internal-reading > ul,.internal-note .internal-reading > ol,.internal-note .internal-reading > blockquote { font-family:Georgia,'Times New Roman',serif; font-size:1.18rem; line-height:1.85; max-width:65ch; }
.internal-note .note-footer { border-top:1px solid var(--rule); padding-top:2rem; }
.internal-note .note-footer a { display:inline-block; padding:.3rem 0; }
.internal-garden-index .internal-body { grid-template-columns:13rem minmax(0,1fr); }
.internal-page .garden-path-grid,.internal-page .garden-current-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; background:none; border:0; }
.internal-page .section-kicker + h2,.internal-page .section-heading-row h2 { margin-top:.75rem; }
.internal-page .garden-path-grid a,.internal-page .garden-current-grid a { border:0; border-top:1px solid var(--rule); border-radius:0; padding:1.25rem 0; background:none; }
.internal-page .garden-path-grid a:last-child:nth-child(odd) { grid-column:1/-1; width:calc(50% - 1rem); justify-self:center; }
.internal-page .garden-toolbar { position:relative; top:auto; margin:3rem 0 1rem; padding:1.5rem 0; background:var(--bg); border-top:1px solid var(--ink); border-bottom:1px solid var(--rule); }
.internal-page .note-filter { border-radius:0; border:1px solid #718277; background:#fafaf5; min-height:52px; color:var(--ink); font-size:1rem; }
.internal-page .note-filter::placeholder { color:var(--ink-soft); }
.internal-page .note-filter-clear { min-height:44px; border-radius:0; color:var(--ink); }
.internal-page .jump-bar { gap:.4rem 1.2rem; }
.internal-page .jump-bar a { min-height:44px; display:inline-flex; align-items:center; }
.internal-page .category { border-bottom:1px solid var(--rule); }
.internal-page .category h2 { margin:0; font-size:1.1rem; }
.internal-page .legend { margin-bottom:3rem; color:var(--ink-soft); }
.internal-page .legacy-anchor { display:block; }
.internal-quiet .internal-opening { padding:3rem 0; margin-bottom:3rem; }
.internal-quiet .internal-opening h1 { font-size:clamp(2.3rem,3.8vw,3.75rem); }
.internal-page .site-footer { background:var(--night); color:#afc0ba; padding:3rem 0; border-top:1px solid #26352f; }
.internal-page .site-footer .container { max-width:none; padding:0 3rem; gap:2rem; }
.internal-page .site-footer a { display:inline-block; padding:.5rem .2rem; color:#afc0ba; text-decoration-color:#52635b; }
.internal-page .cookie-consent { border-radius:0; border:1px solid #819386; background:#f2f1eb; color:#111714; box-shadow:0 .5rem 3rem #0003; }
.internal-page .cookie-consent p { color:#56605b; }
/* Work is a compact portfolio, not a long-form article. */
.internal-page .work-page .internal-body { display:block; }
.internal-page .work-page .internal-opening { padding:3rem 0; margin-bottom:2rem; }
.internal-page .work-page .section-nav { position:static; max-height:none; padding:0; margin-bottom:2.5rem; }
.internal-page .work-page .section-nav > p { display:none; }
.internal-page .work-page .section-nav ol { display:flex; flex-wrap:wrap; gap:.25rem 2rem; max-width:none; border-bottom:1px solid var(--rule); }
.internal-page .work-page .section-nav li { border:0; }
.internal-page .work-page .section-nav a { min-height:44px; font-size:.85rem; }
.internal-page .work-page .internal-reading section { margin-top:2.75rem; }
.internal-page .work-page .internal-reading section:first-child { margin-top:0; }
.internal-page .work-page .engagement-card { padding:1.5rem; }
.internal-page .work-page .featured-work-card { min-height:0; }
@media(min-width:1100px) {
  .internal-page .work-page .engagement-grid,.internal-page .work-page .featured-work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .internal-page .work-page .engagement-card-featured,.internal-page .work-page .featured-work-card:last-child:nth-child(odd) { grid-column:auto; width:100%; }
}
@media(min-width:1500px) {
  .internal-page main > .prose,.internal-page main > .container { max-width:96rem; padding:0 4rem; }
  .internal-body { grid-template-columns:15rem minmax(0,1fr); gap:5rem; }
}
@media(max-width:1000px) {
  .internal-page main > .prose,.internal-page main > .container { padding:0 2rem; }
  .internal-body,.internal-garden-index .internal-body { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .internal-reading { grid-column:1; }
  .internal-page .section-nav { position:relative; top:auto; max-height:none; padding:0; }
  .internal-page .section-nav ol { display:flex; flex-wrap:wrap; gap:0 1.5rem; }
  .internal-page .section-nav li { max-width:100%; }
  .internal-page .section-nav a { font-size:.8rem; }
  .internal-reading p,.internal-reading ul:not(.item-list),.internal-reading ol { max-width:70ch; }
}
@media(max-width:640px) {
  .internal-page { font-size:1rem; }
  .internal-page main > .prose,.internal-page main > .container { padding:0 1.25rem; }
  .internal-page .site-header .container { margin:0 1.25rem; min-height:4.5rem; flex-wrap:wrap; padding:.65rem 0; }
  .internal-page .nav-toggle { display:block; }
  .internal-page .nav-toggle-label { display:grid; place-items:center; width:44px; height:44px; color:var(--night-ink); }
  .internal-page .site-nav { width:100%; gap:.4rem; border-top:1px solid #26352f; padding:.6rem 0 0; background:none; }
  .internal-page .site-nav a { padding:.7rem .4rem; font-size:.72rem; }
  .internal-opening { padding:2.75rem 0 3rem; margin-bottom:2rem; }
  .internal-page .internal-opening h1 { font-size:clamp(2.2rem,9vw,3rem); max-width:22ch; }
  .internal-page .internal-opening .breadcrumb { margin-bottom:1.8rem; }
  .internal-page .internal-opening .note-meta { font-size:.75rem; line-height:1.6; }
  .internal-page .internal-opening .lede { margin-top:1.5rem; }
  .internal-page .section-nav ol { display:block; columns:2; column-gap:1.5rem; }
  .internal-page .section-nav li { break-inside:avoid; }
  .internal-page .section-nav a { padding:.65rem 0; font-size:.75rem; }
  .internal-reading h2 { margin-top:2.75rem; font-size:1.7rem; }
  .internal-reading section { margin-top:2.75rem; }
  .internal-page .proof-block { padding:1.2rem; }
  .internal-page .proof-block dl { grid-template-columns:1fr; gap:.25rem; }
  .internal-page .proof-block dd { margin-bottom:1rem; }
  .internal-page .case-study-figure { padding:.65rem; }
  .internal-page .work-cta,.internal-page #request-review { padding:1.5rem; }
  .internal-page .engagement-grid,.internal-page .featured-work-grid,.internal-page .garden-path-grid,.internal-page .garden-current-grid { grid-template-columns:1fr; }
  .internal-page .featured-work-card:last-child:nth-child(odd),.internal-page .garden-path-grid a:last-child:nth-child(odd) { width:100%; grid-column:auto; }
  .internal-page .principles-grid > div { grid-template-columns:1fr; gap:.35rem; }
  .internal-page .item { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .internal-page .item-end { white-space:normal; }
  .internal-page .legend { gap:.75rem; }
  .internal-note .internal-reading > p,.internal-note .internal-reading > ul,.internal-note .internal-reading > ol { font-size:1.1rem; line-height:1.85; }
  .internal-page .site-footer .container { padding:0 1.25rem; }
  .internal-page .cookie-consent { left:.65rem; right:.65rem; bottom:.65rem; padding:1rem; max-height:90svh; overflow:auto; }
  .internal-page .cookie-consent-actions { flex-wrap:wrap; justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html:has(.internal-page) { scroll-behavior:auto; } .internal-page * { transition:none!important; animation:none!important; } }
@media print { .internal-page .site-header,.internal-page .section-nav,.internal-page .cookie-consent { display:none; } .internal-page main { overflow:visible; } .internal-opening { box-shadow:none; background:white; color:black; --ink:black; --ink-soft:#333; } .internal-body { display:block; } .internal-page .diagram-viewport img { min-width:0; } }
