.media-placeholder{position:relative;background:var(--ink-950);background-image:repeating-linear-gradient(0deg,var(--ink-border-dark) 0,var(--ink-border-dark) 1px,transparent 1px,transparent 48px),repeating-linear-gradient(90deg,var(--ink-border-dark) 0,var(--ink-border-dark) 1px,transparent 1px,transparent 48px);overflow:hidden;border-radius:var(--radius-md)}.media-placeholder:after{content:"";position:absolute;inset:0;background:rgba(var(--ink-950-rgb),.55)}.prose{max-width:920px}.prose h2{font-size:clamp(24px,3vw,32px);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--ink-heading);margin:48px 0 18px}.prose h2:first-child{margin-top:0}.prose>p{color:var(--text-body);max-width:70ch;margin:0 0 16px}.prose ol{list-style:none;margin:28px 0 8px;padding:0;max-width:70ch;border-top:1px solid var(--border);counter-reset:prose-step}.prose ol li{counter-increment:prose-step;position:relative;padding:20px 0 20px 74px;border-bottom:1px solid var(--border);color:var(--text-body);max-width:70ch}.prose ol li:before{content:counter(prose-step,decimal-leading-zero);position:absolute;left:0;top:24px;font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-mono);color:var(--red)}.prose ol li strong{display:block;color:var(--ink-heading);font-weight:700;margin-bottom:4px}.prose h3{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--red);margin:26px 0 16px}.prose ul{list-style:none;margin:0 0 16px;padding:0}.prose ul li{position:relative;padding-left:18px;margin:7px 0;color:var(--text-body);max-width:70ch}.prose ul li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:2px;background:var(--red)}.prose h3+ul{margin:0 0 36px}.prose h3+ul li{font-size:15.5px;color:var(--ink-text);margin:12px 0}.prose h3+ul li:before{width:6px;height:6px;border-radius:50%;background:var(--ink-heading);top:.5em}.prose h3:has(+p){font-size:12.5px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--ink-heading);background:#fff;border:1px solid var(--border);border-bottom:0;border-left:3px solid var(--ink-heading);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:16px 0 0;padding:22px 26px 8px}.prose h3+p{background:#fff;border:1px solid var(--border);border-top:0;border-left:3px solid var(--ink-heading);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--text-body);font-size:14.5px;line-height:1.6;max-width:none;margin:0 0 16px;padding:0 26px 22px}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md)}.prose [class^=ql-image-align-]{display:block;width:var(--resize-width, auto);max-width:100%}.prose [class^=ql-image-align-] img{display:block;width:100%}.prose .ql-image-align-left{float:left;margin:6px 24px 12px 0}.prose .ql-image-align-right{float:right;margin:6px 0 12px 24px}.prose .ql-image-align-center{margin:24px auto}.prose:after{content:"";display:block;clear:both}.contact-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:56px;align-items:start}@media (max-width: 860px){.contact-layout{grid-template-columns:1fr}}.form-notice{border:1px solid var(--red);background:var(--chip-red);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;margin-bottom:18px}.field-error{margin:0;font-size:var(--text-small);color:var(--red-hover)}.consent-field+.field-error{margin-top:8px}.consent-field{display:flex;gap:10px;align-items:flex-start;margin-top:22px;font-size:13px;color:var(--text-muted);max-width:60ch}.consent-field input{margin-top:3px}.consent-field a{color:var(--blue)}.form-actions{margin-top:24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.post-card{background:var(--ink-900)}.post-card .pc-scrim{background:linear-gradient(180deg,rgba(var(--ink-950-rgb),.3),rgba(var(--ink-950-rgb),.72) 40%,rgba(var(--ink-950-rgb),.94))}.post-card .pc-eyebrow time{color:inherit}.project-card h3,.post-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden}.post-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.post-chips .tag-pill{text-decoration:none;transition:background .15s ease,color .15s ease}.post-chips .tag-pill:hover,.post-chips .tag-pill.is-active{background:var(--red);color:#fff}.page-head .post-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-on-dark-muted);margin:14px 0 0}.page-head :is(a,span).tag-pill{text-decoration:none;margin-bottom:14px}.post-back{margin-top:40px}.pager{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:40px;flex-wrap:wrap}.pager__status{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-muted)}@media (max-width: 640px){.pager__status{flex-basis:100%;order:1;text-align:center}}.filter-bar{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:36px}.filter-bar .tag-pill{text-decoration:none;transition:background .15s ease,color .15s ease}.filter-bar .tag-pill:hover,.filter-bar .tag-pill.is-active{background:var(--red);color:#fff}.filter-menu{position:relative}.filter-menu__trigger{display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;background:#fff;user-select:none;-webkit-user-select:none}.filter-menu__trigger::-webkit-details-marker{display:none}.filter-menu__trigger svg{transition:transform .15s ease}.filter-menu[open] .filter-menu__trigger svg{transform:rotate(180deg)}.filter-menu__trigger:focus-visible{outline:2px solid var(--red);outline-offset:2px}.filter-menu__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:260px;max-width:min(360px,calc(100vw - 2.5rem));margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover)}.filter-menu__panel a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--text-small);color:var(--ink-text);text-decoration:none;transition:background .15s ease}@media (max-width: 640px){.filter-menu{position:static}.filter-menu__panel{left:0;right:0;min-width:0;max-width:none}}.filter-menu__panel a:hover{background:var(--surface-section)}.filter-menu__panel a[aria-current=true]{color:var(--red);font-weight:600}.filter-menu__count{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-muted)}.filter-bar__total{margin-left:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 640px){.filter-bar__total{flex-basis:100%;margin-left:0}}.facts-band{padding:0}.facts-strip{display:flex;flex-wrap:wrap;gap:18px 40px;margin:0;padding:26px 0;border-bottom:1px solid var(--border)}.facts-strip__main{flex:1 1 280px}.facts-strip dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.facts-strip dd{margin:0;color:var(--text-body)}.facts-strip dd a{color:inherit;transition:color .15s ease,text-decoration-color .15s ease}.facts-strip dd a:hover{color:var(--red);text-decoration-color:currentColor}.gallery-item{display:block;margin:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-md);cursor:zoom-in}.gallery-item:focus-visible{outline:2px solid var(--red);outline-offset:3px}.pswp.pswp{--pswp-bg: #0f1823;--pswp-placeholder-bg: #1A1A1C}.pswp__caption{position:absolute;left:0;right:0;bottom:0;padding:14px 20px 18px;text-align:center;font-size:var(--text-small);line-height:1.45;color:#ffffffdb;background:linear-gradient(180deg,#0000,#0000008c);pointer-events:none}.gallery-item picture{display:contents}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
