html.v2-home{scrollbar-gutter:stable}.v2-projects{--project-divider:color-mix(in srgb, var(--border) 52%, transparent)}.v2-projects .v2-project-grid{will-change:transform;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}@media (width>=1100px){.v2-shell>.v2-projects{flex:0 0 calc(100% + 52px);width:calc(100% + 52px);margin-inline:-26px}}.v2-projects .v2-project{min-width:0;color:var(--text);text-align:left;transition:border-color var(--interaction-duration) ease, color var(--interaction-duration) ease;padding:16px 20px;position:relative}.v2-project[hidden],[data-project-details][hidden]{display:none}.v2-project-meta{border-bottom:1px solid var(--project-divider);color:var(--text-secondary);font:var(--type-secondary);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding-bottom:8px;display:flex}.v2-project-industries,.v2-project-types{align-items:center;gap:8px;min-width:0;display:flex}.v2-project-types{text-align:left;justify-content:flex-start}.v2-project-industries{text-align:right;justify-content:flex-end;margin-left:auto}.v2-project-industry,.v2-project-type{white-space:nowrap}.v2-projects :is(.v2-project h3,.v2-project-dialog h2){color:var(--text);font-family:var(--font-sans);font-size:calc(var(--size-card) + 1px);font-weight:var(--weight-medium);line-height:var(--leading-compact);letter-spacing:var(--tracking-heading);margin:0 0 10px}.v2-projects :is(.v2-project-summary,.v2-project-context){color:var(--text-secondary);font:var(--type-body);letter-spacing:var(--tracking-body)}.v2-project-tools{font:var(--type-secondary);color:var(--text-secondary)}.v2-project-kpis{grid-template-columns:repeat(var(--project-metric-count), minmax(0, 1fr));padding-block:var(--metric-band-padding);border-block:1px solid var(--project-divider);gap:0;margin:auto 0 0;display:grid}.v2-project-kpis>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding-inline:0;display:flex}.v2-project-kpis>div:first-child{padding-left:0}.v2-project-kpis>div:last-child{padding-right:0}.v2-project-kpis>div+div{border-left:1px solid var(--project-divider)}.v2-project-kpis dt{font:var(--type-secondary);font-size:calc(var(--size-label) - 1px);color:var(--text-secondary);text-align:center;white-space:nowrap;margin-top:5px}.v2-project-kpis dd{font:var(--type-metric);font-size:calc(var(--size-metric) - 8px);letter-spacing:var(--tracking-heading);font-variant-numeric:tabular-nums;color:var(--headline-highlight);transition:color var(--interaction-duration) ease;order:-1;margin:0}.v2-home .v2-project:hover .v2-project-kpis dd,.v2-home .v2-project-dialog:hover .v2-project-kpis dd{color:var(--headline-highlight)}.v2-projects .v2-project-bottom{padding-top:calc(var(--metric-band-padding) + 4px);border-top:0;flex-wrap:nowrap;align-items:center;gap:12px;margin-top:0}.v2-projects .v2-project-bottom .v2-project-expand{color:var(--headline-highlight);flex:none}.v2-project-expand-text{animation:2.5s ease-in-out infinite v2-project-expand-breathe;display:inline-block}@keyframes v2-project-expand-breathe{0%,to{opacity:.78}50%{opacity:1}}.v2-project:is(:hover,:active,:focus-within) .v2-project-expand-text{opacity:1;animation:none}.v2-project-tools{min-width:0}.v2-project-open{z-index:1;border-radius:inherit;width:100%;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.v2-home .v2-project:is(:hover,:active){color:var(--text);border-color:var(--headline-highlight)}.v2-project:is(:hover,:active) h3{color:var(--headline-highlight)}.v2-project:is(:hover,:active) .site-expand-icon{opacity:1;animation:none;transform:rotate(90deg)}.v2-home .v2-project:has(.v2-project-open:focus-visible){border-color:var(--headline-highlight)}.v2-project:has(.v2-project-open:focus-visible) h3{color:var(--headline-highlight)}.v2-projects :is(a,button):focus-visible{outline-color:var(--headline-highlight)}.v2-projects .v2-project-navigation{justify-content:flex-end;gap:12px}.v2-projects .v2-project-navigation button{cursor:pointer}.v2-project-arrow-group{align-items:center;gap:4px;display:flex}.v2-project-dots{align-items:center;gap:0;display:flex}.v2-projects .v2-project-navigation .v2-project-dot{background:0 0;border:0;width:24px;height:34px}.v2-project-dot span{background:var(--border);width:6px;height:6px;transition:background var(--interaction-duration) ease, transform var(--interaction-duration) ease;border-radius:50%}.v2-project-dot[aria-current=page] span,.v2-project-dot:hover span{background:var(--headline-highlight)}.v2-project-dot[aria-current=page] span{transform:scale(1.2)}.v2-home .v2-project-dialog{--project-dialog-padding:24px;--project-dialog-header-lift:6px;width:min(760px,100% - 32px);padding:var(--project-dialog-padding);padding-top:calc(var(--project-dialog-padding) - var(--project-dialog-header-lift))}.v2-home .v2-projects .v2-project-dialog{background:color-mix(in srgb, var(--surface-soft) 30%, var(--page))}.v2-project-dialog :is(.v2-project-summary,.v2-project-context){margin:0 0 16px}.v2-project-dialog .v2-project-context{margin-bottom:calc(20px + var(--project-dialog-header-lift))}.v2-project-dialog .v2-project-kpis{padding-block:var(--metric-band-padding);margin:0}.v2-project-dialog .v2-project-kpis dd{font-size:calc(var(--size-metric) - 3px)}.v2-project-modal-footer{font:var(--type-secondary);justify-content:space-between;align-items:center}.v2-project-modal-footer>:is(.v2-project-tools,.v2-project-read){top:calc((var(--project-dialog-padding) - var(--metric-band-padding) - 4px) / 2);position:relative}.v2-project-read{color:var(--headline-highlight);font:var(--type-secondary);line-height:var(--leading-ui);transition:color var(--interaction-duration) ease;justify-content:flex-end;align-self:center;align-items:center;gap:4px;margin-left:auto;text-decoration:none;display:inline-flex}.v2-project-read>:is(svg,.v2-project-read-label){animation:2.2s ease-in-out infinite v2-project-read-pulse}.v2-project-read>svg{transition:transform var(--interaction-duration) ease;flex:none;display:block}.v2-project-read:hover{color:color-mix(in srgb, var(--headline-highlight) 75%, white)}.v2-project-read:hover>:is(svg,.v2-project-read-label){opacity:1;animation:none}.v2-project-read:hover>svg{transform:translate(2px)}.v2-project-dialog[open]::backdrop{animation:.18s ease-out v2-project-backdrop-in}.v2-project-dialog[data-closing]::backdrop{animation:.14s ease-in forwards v2-project-backdrop-out}@keyframes v2-project-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes v2-project-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes v2-project-read-pulse{0%,to{opacity:.62}50%{opacity:1}}@media (width>=768px) and (width<=1099px){.v2-projects .v2-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.v2-projects .v2-project-grid{grid-template-columns:1fr}.v2-project-kpis>div{padding-inline:0}.v2-projects .v2-project-navigation{gap:8px}.v2-projects .v2-project-arrow-group>button{width:44px;height:44px}.v2-projects .v2-project-navigation .v2-project-dot{height:44px}.v2-home .v2-project-dialog{--project-dialog-padding:20px}.v2-project-dialog .v2-project-kpis dd{font-size:calc(var(--size-metric) - 6px)}}@media (width<=360px){.v2-project-kpis dt{font-size:11px}}@media (prefers-reduced-motion:reduce){.v2-projects :is(.v2-project,.v2-project-kpis dd,.v2-project-dot span,.v2-project-navigation button,.v2-project-read){transition:none}.v2-project-read>:is(svg,.v2-project-read-label),.v2-project-expand-text{opacity:1;animation:none}.v2-project-dialog[open]::backdrop,.v2-project-dialog[data-closing]::backdrop{animation:none}}
