.BlogCard-module__1Td2bG__card{gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:var(--border);transition:background .15s;display:flex}.BlogCard-module__1Td2bG__card:last-child{border-bottom:none}.BlogCard-module__1Td2bG__number{font-family:var(--font-serif);color:var(--number-color);flex-shrink:0;width:60px;font-size:4rem;font-weight:700;line-height:1}.BlogCard-module__1Td2bG__content{flex:1}.BlogCard-module__1Td2bG__title{font-family:var(--font-serif);color:var(--ink);margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:700}.BlogCard-module__1Td2bG__snippet{color:var(--ink-muted);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.6}.BlogCard-module__1Td2bG__meta{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.BlogCard-module__1Td2bG__link{color:var(--accent);font-size:.9rem;font-weight:600;transition:color .15s}.BlogCard-module__1Td2bG__link:hover{color:var(--ink)}.BlogCard-module__1Td2bG__date{font-family:var(--font-mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}@media (max-width:768px){.BlogCard-module__1Td2bG__card{gap:var(--space-sm);flex-direction:column}.BlogCard-module__1Td2bG__number{width:auto;font-size:2rem}}
.SectionHeading-module__Uo9Qca__wrapper{margin-bottom:var(--space-lg)}.SectionHeading-module__Uo9Qca__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.85rem;font-weight:600}
.PillBadge-module__SXVG7W__pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-light);border:1px solid var(--pill-border);border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}
.ProjectListCard-module__TAXK8G__cardWrapper{grid-row:span 4;grid-template-rows:subgrid;display:grid}.ProjectListCard-module__TAXK8G__card{grid-row:span 4;grid-template-rows:subgrid;background:var(--surface-raised);color:inherit;border:none;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;overflow:hidden}.ProjectListCard-module__TAXK8G__card:hover{border-color:var(--card-hover-border);box-shadow:var(--card-hover-shadow);transform:translateY(-4px)}.ProjectListCard-module__TAXK8G__imageWrapper{aspect-ratio:3/2;width:100%;overflow:hidden}.ProjectListCard-module__TAXK8G__image{object-fit:cover;width:100%;height:100%}.ProjectListCard-module__TAXK8G__title{font-family:var(--font-serif);color:var(--ink);padding:var(--space-sm) var(--space-lg) 0;font-size:1.125rem;font-weight:700}.ProjectListCard-module__TAXK8G__description{color:var(--ink-muted);padding:var(--space-sm) var(--space-lg) 0;font-size:.9rem;line-height:1.6}.ProjectListCard-module__TAXK8G__tags{gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-lg);flex-wrap:wrap;align-content:start;display:flex}
.page-module___8aEwW__section{padding:var(--space-xl) var(--space-lg) var(--space-2xl)}.page-module___8aEwW__sectionWarm{padding:var(--space-2xl) var(--space-lg);background:var(--surface-warm)}.page-module___8aEwW__container{max-width:var(--max-width-wide);margin:0 auto}.page-module___8aEwW__projectGrid{gap:var(--space-lg) var(--space-lg);grid-template-rows:auto;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}
.page-module__jXZM3G__page{padding:var(--space-2xl) var(--space-lg)}.page-module__jXZM3G__container{max-width:var(--max-width-wide);margin:0 auto}.page-module__jXZM3G__title{font-family:var(--font-serif);color:var(--ink);margin-bottom:var(--space-sm);font-size:2.5rem;font-weight:700}.page-module__jXZM3G__subtitle{color:var(--ink-muted);margin-bottom:var(--space-xl);font-size:1.1rem}
.page-module__LT-C6q__article{padding:var(--space-2xl) var(--space-lg);max-width:var(--max-width);margin:0 auto}.page-module__LT-C6q__header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:var(--border-subtle)}.page-module__LT-C6q__tags{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.page-module__LT-C6q__title{font-family:var(--font-serif);color:var(--ink);margin-bottom:var(--space-md);font-size:2.5rem;font-weight:700;line-height:1.2}.page-module__LT-C6q__description{color:var(--ink-muted);font-size:1.1rem;line-height:1.6}.page-module__LT-C6q__date{margin-top:var(--space-md);font-family:var(--font-mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.page-module__LT-C6q__content h1,.page-module__LT-C6q__content h2,.page-module__LT-C6q__content h3,.page-module__LT-C6q__content h4{font-family:var(--font-serif);color:var(--ink);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.page-module__LT-C6q__content h1{display:none}.page-module__LT-C6q__content h2{font-size:1.5rem;font-weight:700}.page-module__LT-C6q__content h3{font-size:1.25rem;font-weight:700}.page-module__LT-C6q__content p{margin-bottom:var(--space-md);color:var(--ink-muted);line-height:1.8}.page-module__LT-C6q__content strong{color:var(--ink);font-weight:600}.page-module__LT-C6q__content em{font-style:italic}.page-module__LT-C6q__content a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.page-module__LT-C6q__content a:hover{color:var(--accent)}.page-module__LT-C6q__content ul,.page-module__LT-C6q__content ol{margin-bottom:var(--space-md);padding-left:var(--space-lg);color:var(--ink-muted);line-height:1.8}.page-module__LT-C6q__content li{margin-bottom:var(--space-xs)}.page-module__LT-C6q__content blockquote{border-left:3px solid var(--accent);padding-left:var(--space-md);margin:var(--space-lg) 0;color:var(--ink-muted);font-style:italic}.page-module__LT-C6q__content code{font-family:var(--font-mono);background:var(--accent-light);color:var(--accent-dark);border-radius:var(--radius);padding:.15rem .4rem;font-size:.875rem}.page-module__LT-C6q__content pre{background:var(--code-bg);color:#e5e5e5;padding:var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-lg);line-height:1.6;overflow-x:auto}.page-module__LT-C6q__content pre code{color:inherit;background:0 0;padding:0;font-size:.85rem}.page-module__LT-C6q__content img{border-radius:var(--radius);border:var(--border-subtle);width:100%;margin:var(--space-lg) 0}.page-module__LT-C6q__content hr{border:none;border-top:var(--border-subtle);margin:var(--space-xl) 0}.page-module__LT-C6q__content table{border-collapse:collapse;width:100%;margin:var(--space-lg) 0;font-size:.95rem;display:block;overflow-x:auto}.page-module__LT-C6q__content thead{border-bottom:2px solid var(--border-color)}.page-module__LT-C6q__content th{text-align:left;padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-size:.8rem;font-weight:600}.page-module__LT-C6q__content td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-subtle);color:var(--ink-muted);vertical-align:top;line-height:1.6}.page-module__LT-C6q__content tbody tr:last-child td{border-bottom:none}.page-module__LT-C6q__recommendations{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:var(--border)}.page-module__LT-C6q__recTitle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:var(--space-lg);font-size:.85rem;font-weight:600}.page-module__LT-C6q__recGrid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));display:grid}.page-module__LT-C6q__recCard{background:var(--surface-raised);border-radius:var(--radius);border:1px solid var(--border-color);color:inherit;text-decoration:none;transition:transform .2s,border-color .2s;display:block;overflow:hidden}.page-module__LT-C6q__recCard:hover{border-color:var(--accent);transform:translateY(-4px)}.page-module__LT-C6q__recImage{aspect-ratio:3/2;overflow:hidden}.page-module__LT-C6q__recImg{object-fit:cover;width:100%;height:100%}.page-module__LT-C6q__recCardTitle{font-family:var(--font-serif);color:var(--ink);padding:var(--space-md) var(--space-md) var(--space-xs);font-size:1rem;font-weight:700}.page-module__LT-C6q__recSnippet{color:var(--ink-muted);padding:0 var(--space-md) var(--space-md);font-size:.8rem;line-height:1.5}@media (max-width:768px){.page-module__LT-C6q__title{font-size:1.75rem}}
.page-module__q81_BW__page{padding:var(--space-2xl) var(--space-lg)}.page-module__q81_BW__container{max-width:var(--max-width-wide);margin:0 auto}.page-module__q81_BW__title{font-family:var(--font-serif);color:var(--ink);margin-bottom:var(--space-sm);font-size:2.5rem;font-weight:700}.page-module__q81_BW__subtitle{color:var(--ink-muted);margin-bottom:var(--space-xl);font-size:1.1rem}.page-module__q81_BW__grid{gap:var(--space-lg) var(--space-lg);grid-template-rows:auto;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}
