@font-face{font-family:jost;src:url(/fonts/Jost.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:michroma;src:url(/fonts/Michroma.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#051014;--bg-raised:#0a1c21;--surface:rgba(11, 30, 36, .82);--line:rgba(232, 241, 242, .12);--line-firm:rgba(232, 241, 242, .22);--deep:#003b46;--teal:#07575b;--forest:#2a6f41;--sand:#dda15e;--sand-hi:#f0c48c;--text:#e8f1f2;--text-dim:rgba(232, 241, 242, .72);--text-faint:rgba(232, 241, 242, .66);--text-label:var(--text);--paper:#f5f2ea;--paper-edge:#e2dcce;--ink:#15211f;--ink-dim:#48544f;--ink-link:#0d5b58;--font-hero:"Michroma", "Jost", var(--font-ui);--font-display:"Jost", ui-sans-serif, system-ui, sans-serif;--font-ui:"Jost", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif;--font-read:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
               "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono",
               Menlo, Consolas, monospace;--measure:34rem;--gutter:clamp(1.25rem, 4vw, 4rem);--radius:10px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms !important;transition-duration:.01ms !important}}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;font-weight:600}p{margin:0 0 1em}ul,ol{margin:0 0 1em;padding-left:1.25em}a{color:var(--sand);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--sand-hi)}:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:3px}.skip-link{position:absolute;left:-9999px;background:var(--sand);color:#14100a;padding:.6rem 1rem;border-radius:0 0 var(--radius)0;font-weight:600;z-index:200}.skip-link:focus{left:0;top:0}.topo{position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--bg);overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 102% 102% at 50% 46%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 102% 102% at 50% 46%,#000 70%,transparent 100%)}.topo svg{width:100%;height:100%;display:block}.topo path{fill:none;stroke:#7fd4c1;vector-effect:non-scaling-stroke}.topo #coast path{stroke-width:1.25;stroke-opacity:.52}.topo g.b path{stroke-width:.65;stroke-opacity:.22;transition:stroke-opacity .45s ease,stroke .45s ease,stroke-width .45s ease}.topo g.b.lit path{stroke:var(--c,var(--sand));stroke-opacity:.62;stroke-width:.85}@media(prefers-reduced-motion:reduce){.topo g.b path{transition:none}}.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(transparent 1px,rgba(255,255,255,.028) 1px);background-size:3px 3px}.shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;max-width:84rem;margin-inline:auto;padding:2rem var(--gutter)0}main{flex:1 0 auto;padding-block:clamp(1.5rem,3vw,2.5rem)clamp(2rem,6vw,5rem)}.site-head{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1.5rem 2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:inherit;display:block}.brand-name{display:block;font-family:var(--font-display);font-size:.8125rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase}.brand-role{display:block;margin-top:.3rem;font-size:.8125rem;color:var(--text-dim);letter-spacing:.02em}.brand:hover .brand-name{color:var(--sand)}.site-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.75rem;justify-content:center;padding-top:.15rem}.site-nav a{color:var(--text);text-decoration:none;font-size:.8125rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding-bottom:.25rem;border-bottom:1.5px solid transparent}.site-nav a:hover{color:var(--sand)}.site-nav a.is-active{color:var(--sand);border-bottom-color:var(--sand)}.coords{display:flex;flex-direction:column;gap:.3rem;text-align:right;font-family:var(--font-mono);font-size:.75rem;color:var(--text-faint);letter-spacing:.04em}.hero{padding-block:clamp(.5rem,2vw,1.75rem)clamp(2rem,5vw,4rem);max-width:54rem}.hero h1{font-family:var(--font-hero);font-size:clamp(1.9rem,5.2vw,4rem);font-weight:400;letter-spacing:-.005em;line-height:1.16;margin:0;text-wrap:balance;overflow-wrap:break-word}.hero-accent{display:block;background:linear-gradient(100deg,var(--text) 10%,#7fd4c1 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-body{margin-top:1.75rem;max-width:var(--measure);color:var(--text-dim)}.hero-body p:last-child{margin-bottom:0}.hero-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;align-items:start}@media(min-width:1100px){.hero-wrap{grid-template-columns:minmax(0,1fr)17rem;gap:clamp(2rem,5vw,5rem)}.hero{padding-block:clamp(.5rem,2vw,1.75rem)clamp(2rem,5vw,4rem)}.rail{padding-top:clamp(1rem,3vw,2.5rem)}}.rail{display:none}@media(min-width:1100px){.rail{display:block}}.rail-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.rail-head time{font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;font-weight:400}.rail-list{list-style:none;margin:0;padding:0}.rail-list li{padding:0 0 1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line)}.rail-list li:last-child{border-bottom:0}.rail-meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:baseline;margin:0 0 .3rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase}.rail-list a{color:var(--text-dim);text-decoration:none;font-size:.9375rem;line-height:1.45;display:block}.rail-list a:hover{color:var(--sand)}.rail-more{margin:0}.rail-more a{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.section-label,.coords,.gear,.more,.empty,.tracker-updated,.rail,.site-foot,.post-list time,.shot figcaption{text-shadow:0 0 4px var(--bg),0 0 4px var(--bg),0 0 8px var(--bg)}.section-label{font-size:.8125rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-label);margin:0 0 1.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--line-firm)}.work-grid,.recent{margin-bottom:clamp(3rem,8vw,6rem)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}.card:hover{transform:translateY(-4px);border-color:rgba(221,161,94,.55);background:rgba(17,42,49,.88)}.card-thumb{display:block;background:var(--bg-raised)}.card-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;opacity:.88}.card:hover .card-thumb img{opacity:1}.card-body{padding:1.5rem 1.35rem 1.35rem;display:flex;flex-direction:column;flex:1}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .7rem;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.05em;color:var(--text-label);text-transform:uppercase}.tag-wip{color:var(--sand);border:1px solid rgba(221,161,94,.4);border-radius:999px;padding:0 .5rem}.card h3{font-family:var(--font-display);font-size:1.45rem;font-weight:600;letter-spacing:-.018em;line-height:1.15;margin:0 0 .6rem}.card h3 a{color:var(--text);text-decoration:none}.card:hover h3 a{color:var(--sand)}.card-summary{color:var(--text-dim);font-size:1.0625rem;margin-bottom:1rem}.card-tools{margin-top:auto;margin-bottom:.9rem;font-family:var(--font-mono);font-size:.8125rem;color:var(--text-faint)}.card-link{margin:0}.card-link a{font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.more{margin-top:1.75rem}.page-head{margin-bottom:2.5rem;max-width:var(--measure)}.page-head h1{font-family:var(--font-display);font-size:clamp(2.25rem,5.5vw,4rem);font-weight:500;letter-spacing:-.032em;line-height:1.02}.page-intro{color:var(--text-dim)}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.post-list a{color:var(--text);text-decoration:none;font-weight:500}.post-list a:hover{color:var(--sand)}.post-list time{font-family:var(--font-mono);font-size:.8125rem;color:var(--text-faint);white-space:nowrap}.post-list-full li{display:block;padding:1.5rem 0}.post-list-full h2{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.02em;margin-bottom:.25rem}.post-list-full p{color:var(--text-dim);margin:.5rem 0 0;max-width:var(--measure)}.empty{color:var(--text-faint);font-style:italic}.doc,.project{max-width:52rem;margin-inline:auto;background:var(--paper);color:var(--ink);border:1px solid var(--paper-edge);border-radius:var(--radius);padding:clamp(1.75rem,5vw,4rem);box-shadow:0 24px 60px rgba(0,0,0,.45)}.breadcrumb{margin:0 0 1.5rem;font-size:.8125rem}.breadcrumb a{color:var(--ink-link);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.doc-head h1,.project-head h1{font-family:var(--font-read);font-size:clamp(2rem,5vw,3.4rem);font-weight:600;letter-spacing:-.022em;line-height:1.06;color:var(--ink);text-wrap:balance}.lede{font-family:var(--font-read);font-size:1.2rem;line-height:1.5;color:var(--ink-dim);max-width:var(--measure);margin-bottom:1.5rem}.doc-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-dim);letter-spacing:.03em}.fieldnotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem 2rem;margin:0 0 2.5rem;padding:1.25rem 0;border-top:1px solid var(--paper-edge);border-bottom:1px solid var(--paper-edge)}.fieldnotes dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.25rem}.fieldnotes dd{margin:0;font-size:.9375rem}.project-hero{margin:0 0 2.5rem}.project-hero img{border:1px solid var(--paper-edge);border-radius:6px;width:100%}.project-hero figcaption,.prose figcaption{margin-top:.6rem;font-size:.8125rem;color:var(--ink-dim);font-family:var(--font-ui)}.prose{font-family:var(--font-read);font-size:1.0625rem;line-height:1.72;max-width:var(--measure)}.prose h2{font-size:1.45rem;margin:2.25rem 0 .6rem;padding-top:.5rem;border-top:1px solid var(--paper-edge)}.prose h3{font-size:1.15rem;margin:1.75rem 0 .4rem}.prose a{color:var(--ink-link)}.prose a:hover{color:#0a423f}.prose blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--sand);color:var(--ink-dim);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.875em;background:rgba(0,0,0,.055);padding:.1em .35em;border-radius:3px}.prose table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:.9375rem;margin:1.5rem 0}.prose th,.prose td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--paper-edge)}.prose th{font-weight:600;border-bottom-width:2px}.prose iframe{width:100%;min-height:32rem;border:1px solid var(--paper-edge);border-radius:6px}.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:.7rem 1.35rem;border-radius:6px;font-family:var(--font-ui);font-size:.875rem;font-weight:600;text-decoration:none}.btn:hover{background:var(--ink-link);color:#fff}.download{margin:2.5rem 0 0;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.download-note{font-size:.8125rem;color:var(--ink-dim);font-family:var(--font-mono)}.sources{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--paper-edge)}.sources h2{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.sources ul{font-size:.875rem;color:var(--ink-dim)}.tags{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.5rem}.tags span{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--paper-edge);border-radius:999px;padding:.2rem .7rem;color:var(--ink-dim)}.gallery-page .shell{max-width:92rem}.gear{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em;color:var(--text-faint);margin:-.35rem 0 1rem}.gallery{columns:3;column-gap:1.5rem;margin-top:.5rem}@media(max-width:1000px){.gallery{columns:2}}@media(max-width:620px){.gallery{columns:1}}.shot{margin:0 0 1.5rem;break-inside:avoid;-webkit-column-break-inside:avoid}.shot a{display:block;background:#0b0b0c;border-radius:4px;overflow:hidden}.shot img{width:100%;height:auto;transition:opacity .3s ease}.shot a:hover img{opacity:.82}.shot figcaption{margin-top:.55rem;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.15rem 1rem;font-size:.8125rem;color:var(--text-faint)}.shot-caption{min-width:0}.shot-place{font-family:var(--font-mono);font-size:.75rem;white-space:nowrap;letter-spacing:.03em}.tracker-updated{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-dim)}.tracker{list-style:none;padding:0;margin:2rem 0 0}.tracker-item{padding:1.5rem 0;border-top:1px solid var(--paper-edge)}.tracker-item h2{font-size:1.2rem;margin:.35rem 0 .5rem}.tracker-item h2 a{color:var(--ink);text-decoration:none}.tracker-item h2 a:hover{color:var(--ink-link);text-decoration:underline}.tracker-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0}.tracker-meta time{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-dim)}.pill{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border-radius:999px;background:rgba(7,87,91,.12);color:var(--ink-link);border:1px solid rgba(7,87,91,.28)}.pill-type{background:rgba(221,161,94,.16);color:#7a5320;border-color:rgba(221,161,94,.4)}.tracker-source{font-size:.8125rem;color:var(--ink-dim);margin:0 0 .5rem}.tracker-note{margin:0;font-family:var(--font-read);max-width:var(--measure)}.notfound{text-align:center;padding-block:clamp(3rem,12vw,8rem)}.coords-big{font-family:var(--font-mono);font-size:4rem;color:var(--text-faint);margin:0}.notfound h1{font-size:2rem;font-weight:500}.notfound p{color:var(--text-dim)}.notfound .btn{background:var(--sand);color:#14100a;margin-top:1rem}.notfound .btn:hover{background:var(--sand-hi);color:#14100a}.site-foot{font-size:.9375rem;margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem;padding:2.5rem 0 2rem;border-top:1px solid var(--line);font-size:.875rem}.site-foot h2{font-size:.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem}.site-foot p{color:var(--text-dim);margin:0}.site-foot a{color:var(--text-dim)}.site-foot a:hover{color:var(--sand)}.foot-legal{grid-column:1/-1;font-family:var(--font-mono);font-size:.6875rem;color:var(--text-faint);padding-top:1rem;border-top:1px solid var(--line)}.holding{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:1.5rem;background:rgba(5,16,20,.92)}.holding-card{max-width:32rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(2rem,6vw,3.5rem)}.holding-card h1{font-size:1.75rem;font-weight:500;letter-spacing:.02em}.holding-role{color:var(--text-dim);font-size:.875rem}.holding hr{border:0;border-top:1px solid var(--line);margin:1.75rem 0}.holding-links{font-size:.875rem}@media(max-width:860px){.site-head{grid-template-columns:1fr;gap:1.25rem;text-align:center}.brand{text-align:center}.site-nav{justify-content:center}.coords{display:none}.site-foot{text-align:left}}@media(max-width:520px){.cards{grid-template-columns:1fr}.site-nav{gap:.5rem .8rem}}@media print{.topo,.grain,.site-nav,.coords,.breadcrumb,.skip-link{display:none !important}*{text-shadow:none !important}body{background:#fff;color:#000}.shell{max-width:none;padding:0}.doc,.project{box-shadow:none;border:0;background:#fff;max-width:none;padding:0}.prose{max-width:none}a{color:#000}.prose a::after{content:" (" attr(href)")";font-size:.8em;color:#555}}