/* TMNC brand adaptation of Jorge Toloza / Codrops Infinite Layers Grid.
   Original staggered, borderless image canvas; black, Hanken and TMNC's typographic lockup.
   MIT source: /licenses/infinite-layers-grid-MIT.txt. */
:root{--navy:#080808;--bone:#080808;--bone-muted:#161616;--paper:#161616;--ink:#f5f5f5;--ink-soft:#e5e5e5;--muted:#c7c7c7;--rule:#ffffff26;--rule-dark:#ffffff26}
body{background:var(--navy);color:var(--ink)}
.site-head{background:var(--navy);color:var(--ink);min-height:102px;padding:24px 36px;z-index:50}
.site-head .lockup-full{display:grid;font-size:16px;letter-spacing:-.045em;line-height:.87}
.site-head .lockup-short{display:none}.site-head nav a{font-size:13px;font-weight:500;color:var(--ink)}
.site-head .nav-cta{background:#f5f5f5;color:var(--navy);border:0;border-radius:0!important}
.site-head nav a:not(.nav-cta) span::after{background:currentColor}.menu-bars i{background:var(--ink)}
.site-head nav a:hover,.text-link:hover{color:#fff}.site-head .nav-cta:hover{color:var(--navy);background:#e0e0e0}
:focus-visible{outline-color:#fff}.skip:focus{background:#fff;color:var(--navy)}
body[data-page=home]{overflow:hidden}
body[data-page=home] .site-head{position:absolute;inset:0 0 auto;background:transparent;pointer-events:none}
body[data-page=home] .site-head>*{pointer-events:auto}
body[data-page=home] .site-foot,body[data-page=home] .progress{display:none}
.nomad-canvas{height:100svh;min-height:520px;padding:0;position:relative;overflow:hidden;isolation:isolate}
.canvas-wordmark{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:-1;pointer-events:none;color:#fff;opacity:.075;text-transform:uppercase;line-height:.82;font-weight:800;letter-spacing:-.055em}
.canvas-wordmark span{font-size:5.5vw}.canvas-wordmark b{font-size:22vw;font-style:italic;letter-spacing:-.065em;margin-left:-.06em}
.layers-field{position:absolute;inset:104px 0 122px;user-select:none;cursor:grab;touch-action:none;outline-offset:-6px;overflow:hidden}
.layers-field .item{position:absolute;top:0;left:0;text-align:left;will-change:transform;color:#fff;padding:0;border:0;background:none;cursor:inherit;font:inherit;touch-action:none}
.layers-field .item:active{transform:none}.layers-field .item-wrapper{will-change:transform}
.layers-field .item-image{overflow:hidden;background:#1a1a1a}
.layers-field .item-image img{width:100%;height:100%;max-width:none;object-fit:cover;will-change:transform;pointer-events:none}
.layers-field small{font-size:12px;line-height:1.3;display:block;padding-top:10px;font-weight:500;letter-spacing:.015em;color:#e5e5e5}
.layers-field .item:hover small{text-decoration:underline;text-underline-offset:4px}.dragging .layers-field{cursor:grabbing}
.canvas-bottom{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding:30px 36px;background:var(--navy);z-index:5}
.canvas-intro{font-size:20px;line-height:1.25;letter-spacing:-.025em;font-weight:500}
.canvas-center{text-align:center;align-self:end;font-size:11px;line-height:1.6;color:#d4d4d4}.canvas-center span{color:#a6a6a6}
.canvas-controls{justify-self:end;display:flex;align-items:center;gap:18px;font-size:12px}
.canvas-controls button{min-height:44px;color:#c7c7c7;border-bottom:1px solid transparent}
.canvas-controls button[aria-pressed=true]{color:#fff;border-color:#fff}.canvas-controls button:hover{color:#fff}
#reset-canvas{font-size:11px;color:#bcbcbc}
.canvas-index{position:absolute;inset:118px 36px 130px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;align-content:start;padding:4px}
.canvas-index>a{display:block}.canvas-index img{width:100%;aspect-ratio:1.7;object-fit:cover;transition:filter .25s}.canvas-index a:hover img{filter:brightness(.9)}
.canvas-index>a>span{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;gap:10px;font-size:16px;line-height:1.2}.canvas-index small{font-size:11px;color:#c6c6c6}
[hidden]{display:none!important}
#canvas-dialog{inset:0;width:min(1150px,94vw);max-width:none;max-height:92svh;margin:auto;padding:0;border:0;border-radius:0;background:#111111;color:#fff;overflow:auto;box-shadow:0 24px 100px #0006}
#canvas-dialog::backdrop{background:#080808e6;backdrop-filter:blur(12px)}
.canvas-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 32px;background:#111111;position:sticky;top:0;z-index:2}
.canvas-dialog-head p{font-size:12px;color:#c4c4c4;margin-bottom:8px}.canvas-dialog-head h2{font-size:32px;font-weight:500;letter-spacing:-.035em}
#canvas-close{min-height:44px;padding:8px 0 8px 24px;font-size:14px}
.canvas-project-image{background:#0d0d0d;min-height:200px;display:flex;justify-content:center}
.canvas-project-image img{width:100%;height:min(54svh,620px);object-fit:contain}
.canvas-project-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding:12px 24px;font-size:12px;color:#d3d3d3}.canvas-project-controls button{min-height:44px}
.canvas-project-info{display:flex;justify-content:space-between;align-items:start;gap:40px;padding:18px 32px 30px}.canvas-project-info p{font-size:14px;color:#d0d0d0;max-width:62ch}.canvas-project-info a{white-space:nowrap;font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:44px}
/* Shared brand treatment for the direct-reading pages. */
body:not([data-page=home]) .site-head{border-bottom:1px solid var(--rule)}
.pwyw,.svc[open],.dark{background:#171717}.dark{border-radius:0}.site-foot{background:#0b0b0b}.pwyw-list li{border-color:var(--rule)}
.btn,.filters button[aria-pressed=true]{background:#f5f5f5;color:#080808;border-radius:0}.btn:hover{background:#e0e0e0;color:#080808}
.preview,.field input,.field textarea{background:#181818;color:#fff;border-color:#707070}.field input::placeholder,.field textarea::placeholder{color:#b5b5b5}
.opts label:has(input:checked){background:#fff;color:#080808;border-color:#fff}.opts input:checked+span{background:transparent;color:inherit}
.card-art,.frame,.case-thumb{border-radius:0}.card-art img{filter:none}.card-go{display:none}.filters button{border-radius:0}
.case-tags span{background:#242424;color:#d3d3d3}.label,.note,.meta,.lede{color:var(--muted)}
dialog{background:#111111;color:#fff}.dlg-close{background:transparent;color:#fff}.dlg-ctrl button{background:#242424;color:#fff}
.big-link{font-size:clamp(3rem,7vw,7rem)}
@media(max-width:1000px){.canvas-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.canvas-center{display:none}.canvas-bottom{grid-template-columns:1fr auto}.site-head nav{gap:20px}}
@media(max-width:860px){
 .site-head{padding:22px 24px;min-height:100px}.site-head .lockup-full{font-size:14px}.menu-btn{color:#fff}
 .site-head #nav{background:#080808;border:1px solid #ffffff2b;top:85px;padding:24px;box-shadow:0 20px 50px #00000066}
 .site-head #nav:not(.open){visibility:hidden;pointer-events:none}.site-head #nav.open{visibility:visible;pointer-events:auto}
 .site-head #nav a{font-size:18px;min-height:44px}.layers-field{inset:102px 0 144px}
 .canvas-bottom{padding:22px 24px;gap:18px}.canvas-intro{font-size:17px}.canvas-controls{gap:13px}
 #reset-canvas{display:none}.canvas-index{inset:108px 20px 150px}.canvas-index small{display:block;font-size:11px;margin-top:5px}.canvas-index>a>span{display:block}
 .canvas-wordmark b{font-size:28vw}.canvas-wordmark span{font-size:8vw}
}
@media(max-width:540px){
 .canvas-bottom{align-items:end;padding:18px 20px 24px}.canvas-intro{font-size:16px;line-height:1.3}.canvas-controls{font-size:12px;gap:16px}
 .layers-field{inset:102px 0 112px}.layers-field small{font-size:11px;padding-top:7px}.canvas-index{grid-template-columns:1fr;inset:108px 20px 125px;gap:24px}
 .canvas-index img{aspect-ratio:1.55}.canvas-index>a>span{display:flex;font-size:15px}.canvas-index small{margin:0;font-size:10px}
 #canvas-dialog{width:100vw;max-height:100svh;height:100svh}.canvas-dialog-head{padding:22px 20px}.canvas-dialog-head h2{font-size:30px}.canvas-dialog-head p{font-size:10px;max-width:27ch}
 .canvas-project-image img{height:43svh}.canvas-project-controls{gap:22px;font-size:11px;padding-inline:12px}.canvas-project-info{display:block;padding:18px 20px}.canvas-project-info a{display:inline-flex;align-items:center;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.layers-field *,.canvas-index img{transition:none!important;animation:none!important}}

.canvas-mobile-help{display:none}
@media(max-width:1000px){.canvas-exploring .canvas-mobile-help{display:block;position:absolute;left:24px;bottom:100px;z-index:4;font-size:10px;color:#c7c7c7;padding:5px 0;background:#080808}.layers-field{bottom:136px}}
@media(max-width:540px){.canvas-exploring .canvas-mobile-help{left:20px;bottom:104px}.layers-field{bottom:138px}}
.dlg-close{width:auto;min-width:64px;min-height:44px;padding:8px 12px;font-size:13px;border-radius:0}

/* Black palette requested by Nick. Chart series retain their established colors. */
.site-foot .foot-blurb,.site-foot .meta,.site-foot h3{color:#c7c7c7!important}
.dark{--muted:#bcbcbc;--paper:#191919}.dark .frame,.metric{background:#191919}
.progress i{background:#ddd}.arrow-link:hover{color:#fff}
