: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{position:relative;isolation:isolate;background-color:var(--bg-primary)}.has-guide-grid:before,.guide-grid-surface:before{content:"";position:absolute;inset:0;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));mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);pointer-events:none;z-index:-2}.guide-grid-surface:before{z-index:0}.guide-grid-surface>*{position:relative;z-index:1}.has-guide-grid:after{content:"";position:absolute;inset:0 0 auto;height:var(--nav-offset, 0px);background-color:var(--bg-primary);pointer-events:none;z-index:-1}.guide-shell{display:grid;grid-template-columns:var(--guide-columns);width:100%;padding-block:var(--section-py)}.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 transparent;border-block-color:var(--guide-line-color);background:var(--bg-primary);background-clip:padding-box}.guide-section>.guide-shell>.guide-panel{border-block-color:transparent}.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{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-sm)}.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:transparent}.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{display:block;min-height:0;padding:var(--nav-offset) 0 0;border:0;background:transparent}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{display:grid;grid-template-columns:var(--guide-columns);grid-column:1 / -1;width:100%;border-block-start:1px solid var(--guide-line-color)}main.has-guide-grid .portfolio-hero .hero-guide-shell .hero-content{grid-column:2 / 6;grid-row:1;width:100%;max-width:none;min-width:0;margin:0;padding:clamp(2rem,4vw,4rem);border:1px solid transparent;border-block:0;background:var(--bg-primary);background-clip:padding-box;text-align:start}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)}.portfolio-grid-section{background:transparent}.portfolio-page .conversion-cta--guide-panel{padding-block:0}.portfolio-page .conversion-cta--guide-panel .conversion-cta-panel.guide-panel{border:1px solid transparent;border-block-start-color:var(--guide-line-color);border-block-end:0;border-radius:0;background:var(--bg-primary);background-clip:padding-box;box-shadow:none}.portfolio-grid-shell{padding-block:0}.portfolio-grid-panel{display:grid;gap:0;padding:0;border-block-end:0}.portfolio-grid-header{display:grid;grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr);gap:var(--space-lg);align-items:end;padding:var(--section-py) var(--space-lg) var(--space-lg);border-bottom:1px solid var(--guide-line-color)}.portfolio-grid-header h2{max-width:12ch;margin:0;color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-h2);font-weight:700;line-height:1.05;letter-spacing:-.025em}.portfolio-grid-header p{max-width:40rem;margin:0;color:var(--text-secondary);font-size:var(--text-body);line-height:1.7}.portfolio-filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;padding:0 var(--space-lg) var(--space-md);border-bottom:1px solid var(--guide-line-color)}.portfolio-filter-tab{min-height:2.75rem;padding:.5rem .875rem;border:1px solid var(--border-color);border-radius:var(--stripe-radius);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:var(--text-body-sm);font-weight:600;line-height:1.25;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)}.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{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;min-width:0;background:var(--guide-line-color)}.portfolio-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-empty{margin:0;padding-block:var(--space-lg);color:var(--text-secondary);text-align:center}.portfolio-empty-state{max-width:42rem;margin-inline:auto;padding:clamp(2rem,5vw,4rem);text-align:center}.portfolio-empty-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--space-sm);padding:.45rem .7rem;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);font-weight:700}.portfolio-empty-copy h2{margin:0;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:0}.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{position:relative;display:block;height:100%;color:inherit;text-decoration:none}.portfolio-card-static-wrapper{margin:0}.portfolio-card{display:flex;height:100%;min-width:0;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:var(--bg-primary);transition:border-color var(--duration-moderate-02) var(--ease-standard-productive),box-shadow var(--duration-moderate-02) var(--ease-standard-productive)}.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{position:relative;width:100%;aspect-ratio:3 / 2;overflow:hidden;background:var(--bg-tertiary)}.portfolio-card-image img{display:block;width:100%;height:100%;object-fit:cover}.portfolio-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;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)}.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{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-radius:var(--stripe-radius);background:var(--color-static-white);color:var(--color-primary-dark);font-size:var(--text-body-sm);font-weight:700}.portfolio-card-body{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);padding:var(--space-md)}.portfolio-card-category{color:var(--color-primary);font-size:var(--text-body-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portfolio-card-title{margin:0;color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-h5);font-weight:600;line-height:1.3}.portfolio-card-desc{margin:0;color:var(--text-secondary);font-size:var(--text-body-sm);line-height:1.6}.portfolio-card-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:var(--space-sm)}.portfolio-card-badge{padding:.25rem .5rem;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);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{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-sm)}main.has-guide-grid .portfolio-hero .hero-guide-shell .hero-content{grid-column:1;grid-row:1;padding:var(--space-lg);text-align:center}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{grid-template-columns:minmax(0,1fr);gap:var(--space-sm);padding:var(--space-lg) var(--space-sm) var(--space-md)}.portfolio-grid-header h2{max-width:none}.portfolio-filters{flex-wrap:nowrap;overflow-x:auto;padding:0 var(--space-sm) var(--space-sm);scrollbar-width:none}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filter-tab{flex:0 0 auto}.portfolio-grid{grid-template-columns:minmax(0,1fr)}.portfolio-card-body{padding:var(--space-md)}}@media(hover:none){.portfolio-card-overlay{inset:auto 0 0;height:auto;padding:.6rem;align-items:flex-end;justify-content:flex-end;background:linear-gradient(to top,color-mix(in srgb,var(--color-primary-darker) 75%,transparent),transparent);opacity:1}.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}}
