@font-face{font-family:Faculty Glyphic;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/faculty-glyphic-latin-400-normal.DszC6ZEy.woff2)format("woff2"),url(/_astro/faculty-glyphic-latin-400-normal.C47kJX78.woff)format("woff")}:root{--bg:#071744;--bg-deep:#040f32;--surface:#0b2055;--surface-raised:#102966;--text:#eeedff;--muted:#b7b9d8;--faint:#9299c1;--line:#334a83;--line-strong:#6072ad;--accent:#b2b5ff;--accent-bright:#daddff;--sans:"Faculty Glyphic", Georgia, serif;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);isolation:isolate;min-width:320px;margin:0}.site-backdrop{z-index:-1;pointer-events:none;background:var(--bg-deep);position:fixed;inset:0;overflow:hidden}.site-backdrop img{object-fit:cover;object-position:64% center;width:100%;height:100%}.site-backdrop:after{content:"";background:linear-gradient(90deg,#030a25e0 0%,#030a25b8 40%,#030a255c 100%),linear-gradient(#0000 30%,#030a2566);position:absolute;inset:0}.reading-page .site-backdrop:after{background:#030a25e0}.site-header,.site-footer{background:#030a2538}::selection{color:var(--bg-deep);background:var(--accent-bright)}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--bg-deep)}body::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg-deep);border-radius:5px}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--accent-bright)}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:5px}.skip-link{z-index:10;color:var(--bg-deep);background:var(--accent-bright);padding:.45rem .7rem;position:fixed;top:.8rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line)}.site-header__inner,.site-footer__inner,.page-shell{width:min(100% - clamp(2rem,7vw,7rem),80rem);margin-inline:auto}.site-header__inner,.site-footer__inner{justify-content:space-between;align-items:center;min-height:4.8rem;display:flex}.wordmark{color:var(--text);letter-spacing:-.035em;white-space:nowrap;font-size:1.25rem;font-weight:650;text-decoration:none}nav{align-items:center;gap:1.55rem;font-size:.8rem;display:flex}nav a{color:var(--muted);border-bottom:1px solid #0000;padding:.35rem 0;text-decoration:none}nav a:hover,nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}nav a[aria-current=page]{color:var(--accent-bright)}h1,h2,h3{letter-spacing:-.035em;margin:0;font-weight:540;line-height:1.02}h1{max-width:13ch;font-size:clamp(3.25rem,7.3vw,6.5rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:clamp(1.7rem,3vw,2.35rem)}.section-block{border-top:1px solid var(--line);padding:clamp(4.5rem,8vw,7rem) 0 clamp(5rem,10vw,9rem)}.section-block--writing{padding-bottom:clamp(6rem,12vw,11rem)}.section-block--flush{border-top:0;padding-top:0}.section-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.5rem;display:flex}.section-heading h2{font-size:clamp(1.8rem,3vw,2.6rem)}.text-link,.quiet-link{color:var(--accent-bright);font-size:.78rem;font-weight:600}.text-link{text-underline-offset:.28em}.text-link span,.quiet-link span{display:none}.work-list{gap:0;display:grid}.work-list--page{padding:0 0 10rem}.work-entry{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(18rem,.9fr);gap:clamp(2rem,7vw,8rem);min-height:19rem;padding:2.25rem 0;display:grid;position:relative}.work-entry:last-child{border-bottom:1px solid var(--line)}.work-entry>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.work-entry__meta{width:100%;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:.8rem;margin:0 0 2.35rem;font-size:.66rem;font-weight:600;line-height:1.3;display:flex}.work-entry h2 a,.work-entry h3 a{text-decoration:none}.work-entry p{max-width:39ch;color:var(--muted);margin:1.1rem 0 1.5rem;font-size:.94rem;line-height:1.62}.work-entry .quiet-link{text-underline-offset:.28em;margin-top:auto}.project-preview{min-height:15rem;color:var(--accent);border:1px solid var(--line-strong);background:#040f32b3;align-self:stretch}.project-preview svg{width:100%;height:100%;min-height:15rem;display:block}.project-preview .preview-frame{fill:none;stroke:var(--line-strong);stroke-width:1px}.project-preview .preview-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px}.project-preview .preview-node{fill:var(--accent-bright)}.project-preview .preview-node--muted{fill:var(--accent);opacity:.48}.post-list{max-width:100%;margin:0;padding:0;list-style:none}.post-list li{border-top:1px solid var(--line)}.post-list li:last-child{border-bottom:1px solid var(--line)}.post-list__link{grid-template-columns:minmax(12rem,.8fr) minmax(0,1.6fr) auto;align-items:baseline;gap:2rem;padding:1.45rem 0;text-decoration:none;display:grid}.post-list__title{font-size:1rem;font-weight:600;line-height:1.35}.post-list__description{color:var(--muted);font-size:.84rem;line-height:1.5}.post-list time{color:var(--faint);white-space:nowrap;font-size:.68rem}.post-list__link:hover .post-list__title{color:var(--accent-bright)}.empty-state{color:var(--muted);border-top:1px solid var(--line);padding:1.5rem 0}.about-block{border-top:1px solid var(--line);grid-template-columns:minmax(9rem,.65fr) 1.35fr;gap:2rem;padding:clamp(4.5rem,8vw,7rem) 0 clamp(6rem,12vw,10rem);display:grid}.about-block h2{font-size:clamp(1.8rem,3vw,2.6rem)}.about-block p{max-width:48ch;color:var(--muted);margin:0 0 1.2rem;font-size:.95rem;line-height:1.65}.page-intro{padding:clamp(5rem,11vw,9rem) 0 clamp(4rem,7vw,6rem)}.page-intro h1{max-width:11ch}.page-intro>p{max-width:46ch;color:var(--muted);margin:1.8rem 0 0;font-size:1.03rem;line-height:1.65}.not-found{padding:clamp(6rem,18vw,10rem) 0 10rem}.not-found h1{max-width:14ch}.not-found p:not(.page-intro__context){max-width:36ch;color:var(--muted);margin:1.2rem 0 1.8rem}.article{width:min(100%,48rem);margin-inline:auto;padding:clamp(5rem,11vw,9rem) 0 10rem}.article__header{border-bottom:1px solid var(--line);max-width:100%;padding-bottom:3.2rem}.article__context{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.7rem;font-weight:600}.article__context a{text-decoration:none}.article h1{max-width:16ch;font-size:clamp(2.8rem,6vw,5.2rem)}.article__dek{max-width:57ch;color:var(--muted);margin:1.8rem 0 0;font-size:1.08rem;line-height:1.65}.tag-list{flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--faint);font-size:.7rem}.prose{color:#dbddf3;max-width:100%;padding-top:3.5rem;font-size:1.03rem;line-height:1.8}.prose>*{margin-top:1.5rem;margin-bottom:1.5rem}.prose h2{margin-top:4rem;font-size:2rem}.prose h3{margin-top:3rem;font-size:1.3rem}.prose a{color:var(--accent-bright);text-decoration-thickness:1px}.prose blockquote{border-left:1px solid var(--accent);color:var(--muted);margin-left:0;padding-left:1.3rem}.prose code{color:var(--accent-bright);background:var(--surface-raised);padding:.1em .25em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78em}.prose pre{color:var(--text);border:1px solid var(--line);background:var(--bg-deep);padding:1.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.77em;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose img{border:1px solid var(--line-strong);max-width:100%;height:auto}.prose table{border-collapse:collapse;width:max-content;max-width:100%;font-family:var(--sans);font-size:.77em;line-height:1.45;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.7rem .8rem}.prose th{color:var(--accent-bright);font-weight:600}.site-footer{border-top:1px solid var(--line)}.site-footer__inner{min-height:5.5rem;color:var(--faint);font-size:.7rem}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--accent-bright)}.motion-toggle[hidden]{display:none}.motion-toggle{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.36rem 0;display:inline-block}.motion-toggle:hover{color:var(--accent-bright);border-bottom-color:var(--accent)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=800px){.site-header__inner,.site-footer__inner,.page-shell{width:min(100% - 2rem,70rem)}.site-backdrop img{object-position:60% center}.site-backdrop:after{background:#030a25b8}.work-entry{grid-template-columns:1fr;gap:2rem}.project-preview{min-height:12rem}.project-preview svg{min-height:12rem;max-height:18rem}.post-list__link{grid-template-columns:1fr auto;gap:.5rem 1.2rem}.post-list__description{grid-column:1/-1}.post-list time{grid-area:1/2}.about-block{grid-template-columns:1fr;gap:1rem}}@media (width<=520px){nav{gap:1rem}.wordmark{font-size:1.1rem}.site-footer__inner{flex-wrap:wrap;gap:1rem;padding:1.3rem 0}h1{font-size:clamp(3rem,15vw,4.5rem)}.work-entry{min-height:0}.post-list__link{padding-block:1.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}html{scroll-padding-bottom:7rem}.site-dock{z-index:20;bottom:calc(1.25rem + env(safe-area-inset-bottom));background:#030a25f2;border:1px solid #c0c9f480;gap:0;width:max-content;max-width:calc(100% - 2rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}.site-dock:before,.site-dock:after{content:"";pointer-events:none;border-block:1px solid #c0c9f44d;position:absolute;inset:-5px 8px}.site-dock:after{border:0;border-inline:1px solid #c0c9f44d;inset:8px -5px}.site-dock a{border-bottom:0;justify-content:center;align-items:center;min-height:48px;padding:.65rem 1.15rem;font-size:.8rem;display:flex;position:relative}.site-dock a+a{border-left:1px solid var(--line-strong)}.site-dock a:hover,.site-dock a[aria-current=page]{background:#b2b5ff1a;border-bottom:0}.site-dock .dock-name{color:var(--text);font-size:1rem;font-weight:600}@media (width<=400px){.site-dock a{padding-inline:.85rem}}@view-transition{navigation:auto}.site-backdrop{view-transition-name:architecture}.site-dock{view-transition-name:navigation}.route-frame{background:#030a2559;margin-block:3.5rem 4rem;position:relative}.frame-line{pointer-events:none;z-index:2;background:#c0c9f466;display:block;position:absolute}.frame-line--top{view-transition-name:frame-top;width:100%;height:1px;top:0;left:0}.frame-line--bottom{view-transition-name:frame-bottom;width:100%;height:1px;bottom:0;left:0}.frame-line--left{view-transition-name:frame-left;width:1px;height:100%;top:0;left:0}.frame-line--right{view-transition-name:frame-right;width:1px;height:100%;top:0;right:0}.route-frame .personal-grid{background:0 0;border:0;margin:0}.route-frame>.page-intro{border-bottom:1px solid var(--line-strong);padding:2.5rem}.route-frame>.page-intro h1{max-width:none;font-size:clamp(2rem,4vw,3.5rem)}.route-frame>.page-intro p{font-size:.95rem}.route-frame>.work-list{padding:0 2.5rem}.route-frame .work-entry:first-child{border-top:0}.route-frame .work-entry:last-child{border-bottom:0}.route-frame>.section-block{padding:0 2.5rem 2rem}.route-frame .post-list li:first-child{border-top:0}.reading-page .route-frame{width:min(100% - clamp(2rem,7vw,7rem),54rem)}.route-frame>.article{width:100%;padding:2.5rem}.route-frame .article h1{max-width:none;font-size:clamp(2rem,4.5vw,3.6rem)}.route-frame .article__header{border-bottom-color:var(--line-strong)}.route-frame>.not-found{padding:2.5rem}.site-dock .dock-contact{color:var(--bg-deep);background:var(--accent-bright);font-weight:600}.site-dock .dock-contact:hover{background:var(--text)}.site-dock .motion-toggle{border-left:1px solid var(--line-strong);min-height:48px;padding:.65rem .85rem;font-size:.7rem}::view-transition-group(*){animation:none}::view-transition-old(page-content),::view-transition-old(root){animation:.12s linear both retire-rule}::view-transition-new(page-content),::view-transition-new(root){animation:none}::view-transition-old(architecture),::view-transition-new(architecture),::view-transition-old(navigation),::view-transition-new(navigation){mix-blend-mode:normal;animation:none}::view-transition-old(frame-top),::view-transition-new(frame-top),::view-transition-old(frame-bottom),::view-transition-new(frame-bottom),::view-transition-old(frame-left),::view-transition-new(frame-left),::view-transition-old(frame-right),::view-transition-new(frame-right){mix-blend-mode:normal;width:100%;height:100%;animation:none}@media (width<=760px){.route-frame{margin-block:2rem 3rem}.route-frame>.page-intro,.route-frame>.article,.route-frame>.not-found{padding:1.4rem}.route-frame>.work-list,.route-frame>.section-block{padding-inline:1.4rem}}@media (width<=430px){.site-dock a{padding-inline:.65rem;font-size:.75rem}.site-dock .dock-name{font-size:.9rem}.site-dock .motion-toggle{padding-inline:.55rem;font-size:.65rem}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}html[data-motion-off]::view-transition-group(*){animation-duration:0s}.route-frame{view-transition-name:page-content}::view-transition-group(root){z-index:0}::view-transition-group(architecture){z-index:1}::view-transition-group(page-content){z-index:2}::view-transition-group(frame-top),::view-transition-group(frame-right),::view-transition-group(frame-bottom),::view-transition-group(frame-left){z-index:3}::view-transition-group(navigation){z-index:4}.personal-grid,.project-bay,.writing-entries li,.page-intro,.work-entry,.article__header,.post-list li,.evidence-structure{position:relative}.is-constructing,.is-constructing :not(.project-bays *,.writing-entries *){border-color:#0000!important}.is-constructing:before,.is-constructing:after{opacity:0}.construction-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.evidence-structure{border:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:0;display:grid}.evidence-bay{min-width:0;padding:1.2rem}.evidence-bay+.evidence-bay{border-left:1px solid var(--line-strong)}.evidence-bay strong{font-size:1.5rem;font-weight:500;display:block}.evidence-bay>span{margin-block:.8rem 1.2rem;font-size:.8rem;line-height:1.5;display:block}.evidence-cells{gap:3px;height:2.5rem;display:flex}.evidence-cells i{border:1px solid var(--accent);background:#b2b5ff4d;flex:1}.evidence-cells .unfilled{border-color:var(--line-strong);background:0 0}.evidence-structure figcaption{border-top:1px solid var(--line-strong);color:var(--muted);grid-column:1/-1;padding:1rem 1.2rem;font-size:.75rem}@media (width<=600px){.evidence-structure{grid-template-columns:1fr}.evidence-bay+.evidence-bay{border-left:0;border-top:1px solid var(--line-strong)}}@media (prefers-reduced-motion:no-preference){html[data-structure-pending] .route-frame,html[data-structure-pending] .route-frame *,.structure-pending,.structure-pending :not(.project-bays *,.writing-entries *){border-color:#0000!important}html[data-structure-pending] .frame-line,html[data-structure-pending] .outer-rule,html[data-structure-pending] .personal-grid:before,html[data-structure-pending] .personal-grid:after,.structure-pending:before,.structure-pending:after{opacity:0}::view-transition-old(frame-top),::view-transition-old(frame-bottom),::view-transition-old(frame-left),::view-transition-old(frame-right){animation:.12s linear both retire-rule}}@keyframes retire-rule{to{opacity:0}}html:has(.work-list--page){height:100%;overflow:hidden}body:has(.work-list--page){height:100svh;min-height:0;padding-bottom:0;display:flow-root;overflow:hidden}body:has(.work-list--page) .route-frame{height:calc(100svh - 9.5rem - env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);margin-block:3.5rem 6rem;display:grid}.route-frame>.work-list--page{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;align-content:start;min-height:0;overflow:auto}.work-list--page:focus-visible{outline:2px solid var(--accent-bright);outline-offset:-4px}@media (width<=760px),(height<=600px){body:has(.work-list--page) .route-frame{height:calc(100svh - 7rem - env(safe-area-inset-bottom));margin-top:1rem}body:has(.work-list--page) .page-intro{padding:1rem 1.4rem}body:has(.work-list--page) .page-intro h1{font-size:2rem}body:has(.work-list--page) .page-intro>p{margin-top:.6rem}}.route-frame>.work-list--page{display:block}.work-list--page .work-entry{min-height:min-content}.work-list--page .project-preview{align-self:start;min-width:0}.work-list--page .project-preview svg{aspect-ratio:3/2;height:auto;min-height:0}@media (width<=760px){.work-list--page .work-entry{flex-direction:column;gap:1.5rem;display:flex}.work-list--page .project-preview{flex:none;width:100%;min-height:0}}
