.PortfolioSection-module__H9qhKa__section{padding:var(--section-y-roomy) var(--section-padding-x);background:var(--color-bg)}.PortfolioSection-module__H9qhKa__inner{gap:24px;width:min(100%,1440px);margin:0 auto;display:grid}.PortfolioSection-module__H9qhKa__header{text-align:center;justify-items:center;gap:14px;max-width:860px;margin:0 auto;display:grid}.PortfolioSection-module__H9qhKa__header h2{max-width:720px;color:var(--color-text-primary);text-wrap:balance}.PortfolioSection-module__H9qhKa__header p{max-width:760px;color:var(--color-text-secondary);font-size:var(--type-body);font-weight:600;line-height:1.45}.PortfolioSection-module__H9qhKa__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.PortfolioSection-module__H9qhKa__card{aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;min-width:0;transition:transform var(--motion-base) ease-out, border-color var(--motion-base) ease-out;outline:none;padding:0;display:block;overflow:hidden}.PortfolioSection-module__H9qhKa__card:hover,.PortfolioSection-module__H9qhKa__card:focus-visible{border-color:var(--color-brand-header-border);transform:translateY(-2px)}.PortfolioSection-module__H9qhKa__card:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 62%, transparent)}.PortfolioSection-module__H9qhKa__card img{object-fit:cover;background:var(--color-surface-muted);width:100%;height:100%;transition:filter var(--motion-base) ease-out, transform var(--motion-base) ease-out}.PortfolioSection-module__H9qhKa__card:hover img,.PortfolioSection-module__H9qhKa__card:focus-visible img{filter:saturate(1.04)contrast(1.02);transform:scale(1.02)}.PortfolioSection-module__H9qhKa__showMore{min-height:48px;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-display);font-size:var(--type-body-small);text-transform:uppercase;transition:background var(--motion-base) ease-out, border-color var(--motion-base) ease-out, transform var(--motion-base) ease-out;justify-self:center;padding:14px 28px;font-weight:700;line-height:1}.PortfolioSection-module__H9qhKa__showMore:hover,.PortfolioSection-module__H9qhKa__showMore:focus-visible{background:var(--color-brand);border-color:var(--color-brand-header-border);outline:none;transform:translateY(-1px)}.PortfolioSection-module__H9qhKa__overlay{z-index:100;background:color-mix(in srgb, var(--color-surface-contrast) 86%, transparent);padding:16px;display:grid;position:fixed;inset:0}.PortfolioSection-module__H9qhKa__viewer{background:0 0;place-self:center;display:grid;position:relative;overflow:visible}.PortfolioSection-module__H9qhKa__close{z-index:1;width:40px;height:40px;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-display);font-size:var(--type-h4);place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;top:12px;right:12px}.PortfolioSection-module__H9qhKa__close:hover,.PortfolioSection-module__H9qhKa__close:focus-visible{background:var(--color-brand);border-color:var(--color-brand-header-border);outline:none}.PortfolioSection-module__H9qhKa__modalImage{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:calc(100vw - 32px);height:auto;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);display:block}@media (max-width:1180px){.PortfolioSection-module__H9qhKa__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.PortfolioSection-module__H9qhKa__section{padding-top:var(--section-y);padding-bottom:var(--section-y)}.PortfolioSection-module__H9qhKa__header p{font-size:var(--type-body-small);line-height:1.42}.PortfolioSection-module__H9qhKa__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.PortfolioSection-module__H9qhKa__showMore{width:100%}.PortfolioSection-module__H9qhKa__overlay{padding:10px}.PortfolioSection-module__H9qhKa__viewer{border-radius:var(--radius-md)}.PortfolioSection-module__H9qhKa__modalImage{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}
