/* Portfolio uses the same surfaces, type roles and controls as Home and About. */
.portfolio-all{padding-block:90px 130px}
.portfolio-section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:48px}
.portfolio-section-heading h1{font-size:var(--type-heading);line-height:1.08;letter-spacing:-.04em}
.portfolio-section-heading h1 em{color:#c46108}
.portfolio-section-heading p{max-width:48ch}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px}
.portfolio-filter{font:inherit;font-size:var(--type-body);font-weight:650;color:var(--navy);border:1px solid #031a3055;border-radius:40px;background:transparent;min-height:56px;padding:13px 22px;transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.portfolio-filter[aria-pressed="true"]{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.portfolio-filter:hover{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.portfolio-count{font-size:var(--type-label);margin:24px 0 28px;color:var(--muted)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.portfolio-card{min-width:0;overflow:hidden;background:var(--navy);color:var(--paper);border-radius:32px}
.portfolio-card>a{display:flex;flex-direction:column;height:100%}
.portfolio-card-image{position:relative;overflow:hidden;aspect-ratio:1.42}
.portfolio-card-image>img{height:100%;width:100%;object-fit:cover;transition:transform .65s var(--ease)}
.portfolio-card-category{position:absolute;top:20px;left:20px;max-width:calc(100% - 40px);background:var(--orange);color:var(--navy);padding:9px 14px;border-radius:30px;font-size:var(--type-label);font-weight:750}
.portfolio-card-arrow{position:absolute;right:20px;bottom:20px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--navy)}
.portfolio-card-arrow .icon{transition:transform .3s var(--ease)}
.portfolio-card h2{padding:28px 32px 0;font-size:var(--type-title);line-height:1.18;letter-spacing:-.035em}
.portfolio-card p{padding:16px 32px 32px;font-size:var(--type-body);line-height:1.6}
.portfolio-card a:is(:hover,:focus-visible) .portfolio-card-image>img{transform:scale(1.035)}
.portfolio-card a:is(:hover,:focus-visible) .portfolio-card-arrow .icon{transform:rotate(45deg)}
.portfolio-card a:focus-visible{outline-offset:-5px}
@media(max-width:1100px){.portfolio-section-heading{gap:40px}.portfolio-all{padding-block:70px 100px}.portfolio-card h2{padding:26px 26px 0}.portfolio-card p{padding:16px 26px 28px}}
@media(max-width:900px){.portfolio-section-heading{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:36px}.portfolio-section-heading p{max-width:60ch}.portfolio-grid{gap:24px}.portfolio-card-image{aspect-ratio:1.15}}
@media(max-width:600px){.portfolio-all{padding-block:45px 76px}.portfolio-card{border-radius:26px}.portfolio-filter{padding:12px 17px;min-height:50px}.portfolio-filters{gap:10px}.portfolio-count{margin-top:20px}.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:28px}.portfolio-card-image{aspect-ratio:1.38}.portfolio-card-category{top:16px;left:16px;max-width:calc(100% - 32px)}.portfolio-card-arrow{right:16px;bottom:16px;width:42px;height:42px}.portfolio-card h2{padding:26px 24px 0}.portfolio-card p{padding:14px 24px 28px}}
.motion-paused :is(.portfolio-card-image>img,.portfolio-card-arrow .icon){transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){:is(.portfolio-card-image>img,.portfolio-card-arrow .icon){transform:none!important;transition:none!important}}
