.project-tile[data-astro-cid-hpmww3ta]{box-sizing:border-box;border-radius:var(--projects-grid-card-radius);background:var(--color-surface-base);box-shadow:var(--projects-grid-card-shadow);padding:var(--projects-grid-card-padding);transition:box-shadow var(--duration-projects-panel) var(--ease-projects-details);flex-direction:column;display:flex}.project-tile[data-astro-cid-hpmww3ta]:hover,.project-tile[data-astro-cid-hpmww3ta]:focus-within{box-shadow:var(--projects-grid-card-shadow-open)}.project-tile[data-astro-cid-hpmww3ta][data-open=true]{box-shadow:var(--projects-grid-active-ring), var(--projects-grid-card-shadow-open)}.project-tile__meta[data-astro-cid-hpmww3ta]{justify-content:space-between;align-items:flex-start;gap:var(--projects-overview-card-meta-gap);margin:0 0 var(--projects-card-meta-gap);font-size:var(--projects-overview-tag-size);display:flex}.project-tile__category[data-astro-cid-hpmww3ta]{min-inline-size:0;color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);text-transform:uppercase}.project-tile__counter[data-astro-cid-hpmww3ta]{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex:none;line-height:normal}.project-tile[data-astro-cid-hpmww3ta] h2[data-astro-cid-hpmww3ta]{max-width:26ch;margin:0 0 var(--projects-overview-card-title-gap);overflow-wrap:anywhere;font-size:var(--projects-card-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--projects-overview-card-title-tracking);line-height:var(--projects-overview-card-title-leading)}.project-tile__label[data-astro-cid-hpmww3ta],.project-panel__label[data-astro-cid-hpmww3ta]{margin:0 0 var(--projects-overview-result-label-gap-tight);color:var(--color-text-secondary);font-size:var(--projects-overview-tag-size);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.project-tile__highlight--lead[data-astro-cid-hpmww3ta]{border-block-start:1px solid var(--color-border-subtle);margin-block-start:var(--projects-grid-problem-gap);padding-block-start:var(--projects-grid-problem-gap)}.project-tile__lead[data-astro-cid-hpmww3ta]{-webkit-line-clamp:2;min-block-size:calc(2em * var(--leading-snug));font-size:var(--projects-card-lead);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.project-tile__toggle[data-astro-cid-hpmww3ta]{gap:var(--projects-overview-toggle-gap);inline-size:100%;min-block-size:var(--projects-grid-toggle-min);border:0;border-block-start:1px solid var(--color-border-subtle);color:var(--color-accent-strong);font-size:var(--projects-overview-toggle-size);font-weight:var(--font-weight-semibold);text-align:start;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;margin-block-start:var(--projects-grid-toggle-gap);padding-inline:0;display:inline-flex}.project-tile__chevron[data-astro-cid-hpmww3ta]{transition:transform var(--duration-projects-panel) var(--ease-projects-details)}.project-tile[data-astro-cid-hpmww3ta][data-open=true] .project-tile__chevron[data-astro-cid-hpmww3ta]{transform:rotate(90deg)}.project-panel[data-astro-cid-hpmww3ta]{opacity:0;transition:grid-template-rows var(--duration-projects-panel) var(--ease-projects-details), opacity var(--duration-projects-panel) var(--ease-projects-details);grid-template-rows:0fr;display:grid}.project-panel[data-astro-cid-hpmww3ta][data-open=true]{opacity:1;grid-template-rows:1fr}.project-panel__inner[data-astro-cid-hpmww3ta]{min-block-size:0;overflow:hidden}.project-panel__body[data-astro-cid-hpmww3ta]{box-sizing:border-box;border-radius:0 0 var(--projects-grid-card-radius) var(--projects-grid-card-radius);background:var(--color-surface-base);padding:0 var(--projects-grid-panel-padding-inline) var(--projects-grid-panel-padding-block);flex-direction:column;display:flex}.project-panel__col[data-astro-cid-hpmww3ta],.project-panel__def[data-astro-cid-hpmww3ta]{display:contents}.project-panel__summary[data-astro-cid-hpmww3ta]{max-width:56ch;color:var(--color-text-secondary);font-size:var(--projects-card-summary);line-height:var(--leading-body);order:1;margin:0}.project-panel__problem[data-astro-cid-hpmww3ta]{border-inline-start:var(--projects-overview-card-problem-rule) solid var(--color-accent-strong);order:2;margin-block-start:var(--projects-grid-problem-gap);padding-inline-start:var(--projects-overview-card-problem-inset)}.project-panel__problem-text[data-astro-cid-hpmww3ta]{max-width:74ch;color:var(--color-text-secondary);font-size:var(--projects-card-problem);line-height:var(--projects-overview-detail-leading);margin:0}.project-panel__extras[data-astro-cid-hpmww3ta]{grid-template-columns:repeat(auto-fill, minmax(var(--projects-grid-metric-min), 1fr));gap:var(--projects-grid-metric-gap);order:3;margin-block-start:var(--projects-grid-problem-gap);display:grid}.project-panel__extra-value[data-astro-cid-hpmww3ta]{font-size:var(--projects-overview-result-value);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);margin:0}.project-panel__stack[data-astro-cid-hpmww3ta]{gap:var(--projects-overview-tag-gap);margin:var(--projects-grid-foot-gap) 0 0;flex-wrap:wrap;order:4;padding:0;list-style:none;display:flex}.project-panel__stack[data-astro-cid-hpmww3ta] li[data-astro-cid-hpmww3ta]{border-radius:var(--radius-full);background:var(--color-surface-muted);padding:var(--projects-overview-tag-padding);color:var(--color-text-secondary);font-size:var(--projects-overview-tag-size);line-height:normal}.project-panel__def-item[data-astro-cid-hpmww3ta]{font-size:var(--projects-overview-detail-size);line-height:var(--projects-overview-detail-leading);margin-block-start:var(--projects-overview-detail-row-gap)}.project-panel__def-item--solution[data-astro-cid-hpmww3ta]{order:5}.project-panel__def-item--cost[data-astro-cid-hpmww3ta]{order:6}.project-panel__def-item--benefit[data-astro-cid-hpmww3ta]{order:7}.project-panel__def-item[data-astro-cid-hpmww3ta] dt[data-astro-cid-hpmww3ta]{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin-block-end:var(--projects-overview-detail-label-gap)}.project-panel__def-item[data-astro-cid-hpmww3ta] dd[data-astro-cid-hpmww3ta]{color:var(--color-text-secondary);margin:0}.project-panel__def-item[data-astro-cid-hpmww3ta] strong[data-astro-cid-hpmww3ta]{color:var(--color-text-primary);font-size:var(--projects-overview-detail-cost);margin-block-end:var(--projects-overview-detail-cost-gap);display:block}.project-panel__links[data-astro-cid-hpmww3ta]{margin:var(--projects-grid-foot-gap) 0 0;order:8}.project-panel__repo[data-astro-cid-hpmww3ta]{gap:var(--projects-overview-toggle-gap);min-block-size:var(--projects-overview-control-min);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding-inline:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--projects-overview-toggle-size);font-weight:var(--font-weight-semibold);transition:border-color var(--duration-hover) var(--ease-hover), background-color var(--duration-hover) var(--ease-hover);align-items:center;text-decoration:none;display:inline-flex}.project-panel__repo[data-astro-cid-hpmww3ta]:hover{border-color:var(--color-accent-strong);background:var(--color-surface-muted)}.project-panel__repo-mark[data-astro-cid-hpmww3ta]{color:var(--color-text-secondary);display:inline-flex}@media (width<64rem){.project-tile[data-astro-cid-hpmww3ta][data-open=true]{border-end-end-radius:0;border-end-start-radius:0}.project-panel__body[data-astro-cid-hpmww3ta]{box-shadow:var(--projects-grid-card-shadow)}}@media (width>=64rem){.project-tile[data-astro-cid-hpmww3ta]{padding-block-end:var(--projects-grid-card-padding-end-wide)}.project-tile__meta[data-astro-cid-hpmww3ta]{margin-block-end:var(--projects-grid-meta-gap-wide)}.project-tile[data-astro-cid-hpmww3ta] h2[data-astro-cid-hpmww3ta]{margin-block-end:var(--projects-grid-title-gap-wide)}.project-tile__highlight--lead[data-astro-cid-hpmww3ta]{margin-block-start:auto;padding-block-start:var(--projects-grid-lead-gap-wide)}.project-tile__toggle[data-astro-cid-hpmww3ta]{min-block-size:var(--projects-grid-toggle-min-wide);margin-block-start:var(--projects-grid-toggle-gap-wide)}.project-panel__body[data-astro-cid-hpmww3ta]{gap:var(--projects-grid-panel-gap);border-radius:var(--projects-grid-card-radius);box-shadow:var(--projects-grid-card-shadow);padding:var(--projects-grid-panel-padding-block) var(--projects-grid-panel-padding-inline);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;margin-block-start:var(--projects-grid-card-gap);display:grid}.project-panel__col[data-astro-cid-hpmww3ta]{flex-direction:column;min-block-size:100%;display:flex}.project-panel__col[data-astro-cid-hpmww3ta]>[data-astro-cid-hpmww3ta],.project-panel__def[data-astro-cid-hpmww3ta]>[data-astro-cid-hpmww3ta]{order:0}.project-panel__def[data-astro-cid-hpmww3ta]{display:contents}.project-panel__col[data-astro-cid-hpmww3ta]>[data-astro-cid-hpmww3ta]:first-child,.project-panel__col[data-astro-cid-hpmww3ta]>.project-panel__def[data-astro-cid-hpmww3ta]:first-child>[data-astro-cid-hpmww3ta]:first-child{margin-block-start:0}.project-panel__stack[data-astro-cid-hpmww3ta]{margin-block-start:auto;padding-block-start:var(--projects-overview-detail-row-gap)}}@media (width<48rem){.project-tile[data-astro-cid-hpmww3ta] h2[data-astro-cid-hpmww3ta]{font-size:var(--projects-card-title-mobile)}.project-panel__summary[data-astro-cid-hpmww3ta]{font-size:var(--projects-card-summary-mobile)}}@media (width<22.5rem){.project-tile__lead[data-astro-cid-hpmww3ta]{-webkit-line-clamp:3;min-block-size:calc(3em * var(--leading-snug))}}@media (prefers-reduced-motion:reduce){.project-tile[data-astro-cid-hpmww3ta],.project-panel[data-astro-cid-hpmww3ta],.project-tile__chevron[data-astro-cid-hpmww3ta],.project-panel__repo[data-astro-cid-hpmww3ta]{transition:none}}html:not([data-js]) .project-panel[data-astro-cid-hpmww3ta]{opacity:1;grid-template-rows:1fr}html:not([data-js]) .project-tile__toggle[data-astro-cid-hpmww3ta]{display:none}.projects-page__hero[data-astro-cid-o73cuelr]{padding-block:calc(var(--spacing-header) + 1.5rem) var(--projects-grid-title-bottom)}.projects-page__eyebrow[data-astro-cid-o73cuelr]{margin:0 0 var(--projects-overview-eyebrow-gap);color:var(--color-accent-strong);font-size:var(--projects-overview-eyebrow-size);line-height:normal}.projects-page__hero[data-astro-cid-o73cuelr] h1[data-astro-cid-o73cuelr]{max-width:20ch;margin:0 0 var(--projects-overview-hero-gap);font-size:var(--projects-page-heading);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);line-height:var(--leading-display)}.projects-page__lead[data-astro-cid-o73cuelr]{max-width:62ch;color:var(--color-text-secondary);font-size:var(--text-lg);line-height:var(--leading-body);margin:0}.projects-page__row[data-astro-cid-o73cuelr]{margin-block:0 var(--projects-grid-row-gap);border-block-start:1px solid var(--color-border-subtle);color:var(--color-accent-strong);font-size:var(--projects-overview-tag-size);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding-block-start:var(--projects-grid-row-gap)}.projects-page__projects[data-astro-cid-o73cuelr]{padding-block-end:var(--projects-grid-cta-gap)}.projects-grid[data-astro-cid-o73cuelr]{column-gap:var(--projects-grid-column-gap);grid-template-columns:minmax(0,1fr);align-items:stretch;row-gap:0;display:grid}.projects-grid[data-astro-cid-o73cuelr]>[data-project-card]:not(:first-child){margin-block-start:var(--projects-grid-card-gap)}@media (width>=64rem){.projects-grid[data-astro-cid-o73cuelr]{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-card][data-tile-row="1"]{grid-row:1;margin-block-start:0}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-card][data-tile-row="2"]{grid-row:3;margin-block-start:var(--projects-grid-card-gap)}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-card][data-tile-row="3"]{grid-row:5;margin-block-start:var(--projects-grid-card-gap)}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-card][data-tile-col="1"]{grid-column:1}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-card][data-tile-col="2"]{grid-column:2}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-details][data-tile-row="1"]{grid-row:2}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-details][data-tile-row="2"]{grid-row:4}html[data-js] .projects-grid[data-astro-cid-o73cuelr]>[data-project-details][data-tile-row="3"]{grid-row:6}.projects-grid[data-astro-cid-o73cuelr]>[data-project-details]{grid-column:1/-1;align-self:start}html:not([data-js]) .projects-grid[data-astro-cid-o73cuelr]>[data-project-card]{grid-column:1/-1}}.projects-page__cta[data-astro-cid-o73cuelr] .site-footer{margin-block-start:var(--projects-grid-footer-gap)}.projects-page__cta[data-astro-cid-o73cuelr] .panel[data-astro-cid-o73cuelr]{padding:var(--projects-overview-cta-padding);text-align:center}.projects-page__cta[data-astro-cid-o73cuelr] h2[data-astro-cid-o73cuelr]{max-width:26ch;margin:0 auto var(--spacing-sm);font-size:var(--projects-overview-cta-heading);letter-spacing:var(--projects-overview-cta-tracking);line-height:var(--leading-heading)}.projects-page__cta[data-astro-cid-o73cuelr] p[data-astro-cid-o73cuelr]{max-width:46ch;margin:0 auto var(--spacing-lg);color:var(--color-text-on-inverted);font-size:var(--text-lg);line-height:normal}.projects-page__actions[data-astro-cid-o73cuelr]{gap:var(--spacing-xs);flex-wrap:wrap;justify-content:center;display:flex}.projects-page__actions[data-astro-cid-o73cuelr] .pill[data-astro-cid-o73cuelr]{padding:var(--spacing-sm) var(--spacing-lg)}.projects-page__actions[data-astro-cid-o73cuelr] .link-arrow[data-astro-cid-o73cuelr]{padding:var(--spacing-sm) var(--spacing-2xs)}@media (width<48rem){.projects-page__hero[data-astro-cid-o73cuelr] h1[data-astro-cid-o73cuelr]{font-size:var(--projects-page-heading-mobile)}.projects-page__lead[data-astro-cid-o73cuelr]{font-size:var(--text-md)}.projects-page__cta[data-astro-cid-o73cuelr] .panel[data-astro-cid-o73cuelr]{padding:var(--projects-overview-cta-padding-mobile)}}
