.portfolio-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portfolio-page{padding-block:var(--space-8) var(--space-12);overflow-x:hidden}.portfolio-container{width:min(1480px,100% - 32px);margin-inline:auto}.portfolio-hero{position:relative;overflow:hidden;padding-block:0 var(--space-4)}.portfolio-hero__content{position:relative;z-index:2;width:100%;max-width:680px}.portfolio-hero__eyebrow{display:inline-flex;padding:4px 14px;border-radius:999px;background:var(--color-accent);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin-bottom:var(--space-5)}.portfolio-hero__title{position:relative;z-index:1;margin:0;max-width:620px;font-size:var(--h1-page);font-weight:var(--font-black);line-height:var(--leading-h1-page);letter-spacing:-.01em}.portfolio-hero__intro{position:relative;z-index:1;margin:var(--space-3) 0 0;max-width:650px;color:var(--color-text-secondary);font-size:1rem;line-height:1.7}.portfolio-hero__graphic{display:none;position:absolute;inset:0;z-index:0;pointer-events:none}.portfolio-hero__orbit{position:absolute;border:2px solid var(--color-border);border-radius:50%;aspect-ratio:1 / 1}.portfolio-hero__dot{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px;border-radius:50%;background:var(--color-accent);offset-path:circle(50%);offset-distance:0%;animation:portfolio-orbit 9s linear infinite}@keyframes portfolio-orbit{to{offset-distance:100%}}@media(prefers-reduced-motion:reduce){.portfolio-hero__dot{animation:none;offset-distance:8%}}.portfolio-hero__dotgrid{position:absolute;background-image:radial-gradient(var(--color-border) 1.5px,transparent 1.5px);background-size:16px 16px}.portfolio-filters{margin-top:var(--space-7)}.portfolio-filters__rail{position:relative;background:var(--color-page-bg);display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.portfolio-filters__rail::-webkit-scrollbar{display:none}.portfolio-filter{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-primary);font-size:.8125rem;font-weight:700;white-space:nowrap;transition:border-color .16s var(--ease-entrance),color .16s var(--ease-entrance),background .16s var(--ease-entrance)}.portfolio-filter:hover{border-color:var(--color-accent);color:var(--color-accent)}.portfolio-filter.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.portfolio-grid{margin-top:var(--space-7);display:grid;grid-template-columns:1fr;gap:var(--space-4);transition:opacity .2s var(--ease-entrance),transform .2s var(--ease-entrance)}.portfolio-grid.is-transitioning{opacity:0;transform:translateY(6px)}.portfolio-card{border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border)}.portfolio-card__link{display:block}.portfolio-card__media{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:var(--color-page-bg)}.portfolio-card__img{width:100%;height:100%;object-fit:cover;transition:transform .22s var(--ease-entrance)}.portfolio-card:hover .portfolio-card__img,.portfolio-card:focus-within .portfolio-card__img{transform:scale(1.02)}.portfolio-card__overlay{position:absolute;inset-inline:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4);background:linear-gradient(180deg,#0a0a0e00,#0a0a0eb8);color:#fff;opacity:1;transition:opacity .2s var(--ease-entrance)}.portfolio-card__name{display:block;font-size:.9375rem;font-weight:700}.portfolio-card__category{display:block;font-size:.6875rem;color:#ffffffc7}.portfolio-card__arrow{flex-shrink:0;transition:transform .2s var(--ease-entrance)}.portfolio-card:hover .portfolio-card__arrow,.portfolio-card:focus-within .portfolio-card__arrow{transform:translate(4px,-4px)}.portfolio-card__media--empty{background:var(--color-page-bg)}@media(min-width:1024px){.portfolio-card__overlay{opacity:0}.portfolio-card:hover .portfolio-card__overlay,.portfolio-card:focus-within .portfolio-card__overlay{opacity:1}}@media(min-width:768px){.portfolio-container{width:min(1480px,100% - 56px)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.portfolio-hero{min-height:clamp(320px,22vw,380px);display:flex;align-items:center;padding-block:0 var(--space-8)}.portfolio-hero__content{width:52%}.portfolio-hero__graphic{display:block}.portfolio-hero__orbit{top:clamp(60px,7vw,100px);left:clamp(20px,5vw,90px);width:clamp(300px,26vw,420px)}.portfolio-hero__dotgrid--left{left:0;bottom:10%;width:120px;height:84px}.portfolio-hero__dotgrid--right{right:0;top:60%;width:84px;height:96px}}@media(min-width:1440px){.portfolio-hero{min-height:clamp(340px,22vw,400px)}.portfolio-hero__content{width:54%}.portfolio-hero__orbit{top:clamp(90px,7.5vw,128px);left:clamp(20px,3.75vw,70px);width:clamp(440px,32vw,530px)}.portfolio-hero__dot{width:30px;height:30px;margin:-15px}.portfolio-hero__dotgrid--left{width:140px;height:96px}}.portfolio-section-eyebrow{display:inline-flex;color:var(--color-accent);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portfolio-filter__count{min-width:1.35em;color:currentColor;font-size:.72rem;font-weight:600;opacity:.72}.portfolio-filter.is-active .portfolio-filter__count{opacity:.95}.portfolio-proof-cta h2{margin:0;font-size:clamp(1.45rem,4vw,2.35rem);line-height:1.16;text-wrap:pretty}.portfolio-card{transition:border-color .18s var(--ease-entrance),transform .18s var(--ease-entrance),box-shadow .18s var(--ease-entrance)}.portfolio-card:hover,.portfolio-card:focus-within{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 12px 28px #30231f17}.portfolio-card__body{display:grid;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-5)}.portfolio-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:1.1rem}.portfolio-card__body .portfolio-card__category{color:var(--color-accent);font-size:.75rem;font-weight:800}.portfolio-card__open{color:var(--color-text-secondary);font-size:.72rem;font-weight:700}.portfolio-card__body .portfolio-card__name{margin:0;color:var(--color-text-primary);font-size:1.12rem;line-height:1.25;text-wrap:pretty}.portfolio-card__context{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.6;text-wrap:pretty}.portfolio-card__overlay-label{font-size:.75rem;font-weight:800}.portfolio-empty{display:grid;justify-items:start;gap:var(--space-4);grid-column:1 / -1;padding:var(--space-8) var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.portfolio-empty p{margin:0;max-width:48ch;color:var(--color-text-secondary);line-height:1.7}.portfolio-proof-cta{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-text-primary);color:#fff}.portfolio-proof-cta>div{display:grid;gap:var(--space-2)}.portfolio-proof-cta .portfolio-section-eyebrow{color:#fff}.portfolio-proof-cta p{margin:0;max-width:50ch;color:#ffffffc7;line-height:1.7}.portfolio-proof-cta .btn--primary{background:var(--color-accent);color:#fff}.portfolio-proof-cta .btn--primary:hover{background:var(--color-accent-hover)}@media(min-width:768px){.portfolio-proof-cta{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-7) var(--space-8)}}@media(min-width:1024px){.portfolio-card__body{padding:var(--space-4) var(--space-5) var(--space-5)}.portfolio-card__body .portfolio-card__name{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card__img{transition:none}}.portfolio-breadcrumb{font-size:.875rem;color:var(--color-text-secondary, #4e625d);padding-top:20px;margin-bottom:18px}.portfolio-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}.portfolio-breadcrumb strong{font-weight:600;color:var(--color-text-primary)}
