:root{--guide-line-color:color-mix(in srgb, var(--text-primary) 9%, transparent);--guide-line-1:12.5%;--guide-line-2:31.25%;--guide-line-3:50%;--guide-line-4:68.75%;--guide-line-5:87.5%;--guide-line-edge-width:1.25px;--guide-line-interior-width:1px;--guide-columns:minmax(0, .75fr) repeat(4, minmax(0, 1.125fr)) minmax(0, .75fr)}.has-guide-grid,.guide-grid-surface{isolation:isolate;background-color:var(--bg-primary);position:relative}.has-guide-grid:before,.guide-grid-surface:before{content:"";background-image:linear-gradient(to right, transparent 0, transparent calc(var(--guide-line-1) - var(--guide-line-edge-width) / 2), var(--guide-line-color) calc(var(--guide-line-1) - var(--guide-line-edge-width) / 2), var(--guide-line-color) calc(var(--guide-line-1) + var(--guide-line-edge-width) / 2), transparent calc(var(--guide-line-1) + var(--guide-line-edge-width) / 2), transparent calc(var(--guide-line-2) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-2) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-2) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-2) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-3) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-3) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-3) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-3) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-4) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-4) - var(--guide-line-interior-width) / 2), var(--guide-line-color) calc(var(--guide-line-4) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-4) + var(--guide-line-interior-width) / 2), transparent calc(var(--guide-line-5) - var(--guide-line-edge-width) / 2), var(--guide-line-color) calc(var(--guide-line-5) - var(--guide-line-edge-width) / 2), var(--guide-line-color) calc(var(--guide-line-5) + var(--guide-line-edge-width) / 2), transparent calc(var(--guide-line-5) + var(--guide-line-edge-width) / 2));pointer-events:none;z-index:-2;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.guide-grid-surface:before{z-index:0}.guide-grid-surface>*{z-index:1;position:relative}.has-guide-grid:after{content:"";height:var(--nav-offset,0px);background-color:var(--bg-primary);pointer-events:none;z-index:-1;position:absolute;inset:0 0 auto}.guide-shell{grid-template-columns:var(--guide-columns);width:100%;padding-block:var(--section-py);display:grid}.guide-shell--flush{padding-block:0}.guide-head,.guide-body,.guide-panel{grid-column:2/6;min-width:0}.guide-head{max-width:48rem;margin-bottom:clamp(var(--space-xl), 5vw, var(--space-2xl));text-align:start}.guide-panel{border:1px solid #0000;border-block-color:var(--guide-line-color);background:var(--bg-primary);background-clip:padding-box}.guide-section>.guide-shell>.guide-panel{border-block-color:#0000}.guide-section>.guide-shell>.guide-panel.guide-panel--start-seam{border-block-start-color:var(--guide-line-color)}.guide-section>.guide-shell>.guide-panel.guide-panel--end-seam{border-block-end-color:var(--guide-line-color)}.guide-panel--section-inset{padding:var(--section-py) var(--space-lg)}.guide-panel--flush-inset{padding:0}@media (width<768px){.has-guide-grid:before,.guide-grid-surface:before,.has-guide-grid:after{display:none}.guide-shell{padding-inline:var(--space-sm);grid-template-columns:minmax(0,1fr)}.guide-head,.guide-body,.guide-panel{grid-column:1}.guide-panel{border:1px solid var(--guide-line-color)}.guide-section>.guide-shell>.guide-panel{border-block-color:#0000}.guide-section>.guide-shell>.guide-panel.guide-panel--start-seam{border-block-start-color:var(--guide-line-color)}.guide-section>.guide-shell>.guide-panel.guide-panel--end-seam{border-block-end-color:var(--guide-line-color)}.guide-panel--section-inset{padding:var(--space-lg) var(--space-sm)}}main.has-guide-grid .portfolio-hero{min-height:0;padding:var(--nav-offset) 0 0;background:0 0;border:0;display:block}main.has-guide-grid .portfolio-hero:before,main.has-guide-grid .portfolio-hero .hero-overlay{display:none}main.has-guide-grid .portfolio-hero .hero-guide-shell{grid-template-columns:var(--guide-columns);border-block-start:1px solid var(--guide-line-color);grid-column:1/-1;width:100%;display:grid}main.has-guide-grid .portfolio-hero .hero-guide-shell .hero-content{background:var(--bg-primary);text-align:start;background-clip:padding-box;border:1px solid #0000;border-block:0;grid-area:1/2/auto/6;width:100%;min-width:0;max-width:none;margin:0;padding:clamp(2rem,4vw,4rem)}main.has-guide-grid .portfolio-hero .hero-copy{max-width:48rem}main.has-guide-grid .portfolio-hero .hero-title,main.has-guide-grid .portfolio-hero .hero-cta{text-align:start;justify-content:flex-start}main.has-guide-grid .portfolio-hero .hero-label{color:var(--color-primary)}main.has-guide-grid .portfolio-hero .hero-title{color:var(--text-primary);font-size:var(--text-h1);font-weight:700;line-height:1.2}main.has-guide-grid .portfolio-hero .hero-description{color:var(--text-secondary)}main.has-guide-grid .portfolio-hero .hero-cta .btn-outline{border-color:var(--border-color);background:var(--bg-primary);color:var(--text-primary)}main.has-guide-grid .portfolio-hero .hero-cta .btn-outline:hover{border-color:var(--color-primary);background:var(--bg-secondary);color:var(--text-primary)}.portfolio-grid-section{background:0 0}.portfolio-page.has-guide-grid .conversion-cta--guide-panel{padding-block:0}.portfolio-page .conversion-cta--guide-panel .conversion-cta-panel.guide-panel{border:1px solid #0000;border-block-start-color:var(--guide-line-color);background:var(--bg-primary);box-shadow:none;background-clip:padding-box;border-block-end:0;border-radius:0}.portfolio-grid-shell{padding-block:0}.portfolio-grid-panel{border-block-end:0;gap:0;padding:0;display:grid}.portfolio-grid-header{gap:var(--space-lg);padding:var(--section-py) var(--space-lg) var(--space-lg);border-bottom:1px solid var(--guide-line-color);grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr);align-items:end;display:grid}.portfolio-grid-header h2{max-width:12ch;color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-h2);letter-spacing:-.025em;margin:0;font-weight:700;line-height:1.05}.portfolio-grid-header p{max-width:40rem;color:var(--text-secondary);font-size:var(--text-body);margin:0;line-height:1.7}.portfolio-filters{gap:var(--space-xs);padding:0 var(--space-lg) var(--space-md);border-bottom:1px solid var(--guide-line-color);flex-wrap:wrap;align-items:center;display:flex}.portfolio-filter-tab{border:1px solid var(--border-color);border-radius:var(--stripe-radius);background:var(--bg-primary);min-height:2.75rem;color:var(--text-secondary);cursor:pointer;font-size:var(--text-body-sm);transition:color var(--duration-fast-02) var(--ease-standard-productive), background-color var(--duration-fast-02) var(--ease-standard-productive), border-color var(--duration-fast-02) var(--ease-standard-productive);padding:.5rem .875rem;font-weight:600;line-height:1.25}.portfolio-filter-tab:hover,.portfolio-filter-tab:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.portfolio-filter-tab:focus-visible,.portfolio-card-link-wrapper:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.portfolio-filter-tab.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-static-white)}.portfolio-grid{background:var(--guide-line-color);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;min-width:0;display:grid}.portfolio-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-empty{padding-block:var(--space-lg);color:var(--text-secondary);text-align:center;margin:0}.portfolio-empty-state{text-align:center;max-width:42rem;margin-inline:auto;padding:clamp(2rem,5vw,4rem)}.portfolio-empty-kicker{margin-bottom:var(--space-sm);border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--border-color));border-radius:var(--stripe-radius);background:color-mix(in srgb, var(--color-primary) 7%, var(--bg-primary));color:var(--color-primary);font-size:var(--text-body-xs);align-items:center;gap:.5rem;padding:.45rem .7rem;font-weight:700;display:inline-flex}.portfolio-empty-copy h2{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15}.portfolio-empty-copy p{max-width:34rem;margin:var(--space-sm) auto 0;color:var(--text-secondary);font-size:var(--text-body);line-height:1.7}.portfolio-card-wrapper{height:100%;color:inherit;text-decoration:none;display:block;position:relative}.portfolio-card-static-wrapper{margin:0}.portfolio-card{background:var(--bg-primary);min-width:0;height:100%;transition:border-color var(--duration-moderate-02) var(--ease-standard-productive), box-shadow var(--duration-moderate-02) var(--ease-standard-productive);border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.portfolio-card-link-wrapper .portfolio-card{cursor:pointer}.portfolio-card-link-wrapper:hover .portfolio-card,.portfolio-card-link-wrapper:focus-visible .portfolio-card{box-shadow:inset 0 0 0 1px var(--color-primary)}.portfolio-card-link-wrapper:is(:hover,:focus-visible){z-index:var(--z-elevate)}.portfolio-card-image{aspect-ratio:3/2;background:var(--bg-tertiary);width:100%;position:relative;overflow:hidden}.portfolio-card-image img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-card-overlay{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-dark) 62%, transparent), color-mix(in srgb, var(--color-primary-dark) 42%, transparent));opacity:0;transition:opacity var(--duration-moderate-02) var(--ease-standard-productive);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-card-link-wrapper:hover .portfolio-card-overlay,.portfolio-card-link-wrapper:focus-visible .portfolio-card-overlay,.portfolio-card-link-wrapper:focus-within .portfolio-card-overlay{opacity:1}.portfolio-card-overlay-label{border-radius:var(--stripe-radius);background:var(--color-static-white);color:var(--color-primary-dark);font-size:var(--text-body-sm);align-items:center;gap:.5rem;padding:.625rem .875rem;font-weight:700;display:inline-flex}.portfolio-card-body{gap:var(--space-xs);padding:var(--space-md);flex-direction:column;flex:1;display:flex}.portfolio-card-category{color:var(--color-primary);font-size:var(--text-body-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.portfolio-card-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-h5);margin:0;font-weight:600;line-height:1.3}.portfolio-card-desc{color:var(--text-secondary);font-size:var(--text-body-sm);margin:0;line-height:1.6}.portfolio-card-tech{padding-top:var(--space-sm);flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.portfolio-card-badge{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--border-color));border-radius:var(--stripe-radius-sm);background:color-mix(in srgb, var(--color-primary) 7%, var(--bg-primary));color:var(--color-primary-dark);font-size:var(--text-body-xs);padding:.25rem .5rem;font-weight:600}@media (width<1024px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<768px){.portfolio-hero{padding:var(--nav-offset) 0 0}main.has-guide-grid .portfolio-hero .hero-guide-shell{padding-inline:var(--space-sm);grid-template-columns:minmax(0,1fr)}main.has-guide-grid .portfolio-hero .hero-guide-shell .hero-content{padding:var(--space-lg);text-align:center;grid-area:1/1}main.has-guide-grid .portfolio-hero .hero-title,main.has-guide-grid .portfolio-hero .hero-cta{text-align:center}.portfolio-hero .hero-cta{justify-content:center}.portfolio-grid-panel{grid-column:1}.portfolio-grid-header{gap:var(--space-sm);padding:var(--space-lg) var(--space-sm) var(--space-md);grid-template-columns:minmax(0,1fr)}.portfolio-grid-header h2{max-width:none}.portfolio-filters{padding:0 var(--space-sm) var(--space-sm);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filter-tab{flex:none}.portfolio-grid{grid-template-columns:minmax(0,1fr)}.portfolio-card-body{padding:var(--space-md)}}@media (hover:none){.portfolio-card-overlay{background:linear-gradient(to top, color-mix(in srgb, var(--color-primary-darker) 75%, transparent), transparent);opacity:1;justify-content:flex-end;align-items:flex-end;height:auto;padding:.6rem;inset:auto 0 0}.portfolio-card-overlay-label{padding:.35rem .7rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){.portfolio-filter-tab,.portfolio-card,.portfolio-card-overlay{transition:none}}
