/* Shared full-image viewport: crop the sides, never pad or stretch the design. */
.portfolio-pan{position:relative;overflow:hidden;isolation:isolate;background:#e8ebe0}
.portfolio-pan>img,.rp-card-link:hover .portfolio-pan>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 0%;transform:none;transition:object-position .65s ease-out}
.portfolio-pan-hint{display:none;position:absolute;left:14px;bottom:14px;max-width:calc(100% - 80px);padding:7px 10px;border-radius:3px;background:#20221fe8;color:#fff;font-size:10px;font-weight:500;line-height:1.5;pointer-events:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .portfolio-pan[data-pan-ready=true] .portfolio-pan-hint{display:block}
  .portfolio-pan-link:hover .portfolio-pan[data-pan-ready=true]>img{object-position:50% 100%;transition-duration:var(--portfolio-pan-duration,6s);transition-timing-function:linear}
  .portfolio-pan-link:hover .portfolio-pan-hint{opacity:0;transition:opacity .2s}
}
@media(prefers-reduced-motion:no-preference){
  .portfolio-pan-link:focus-visible .portfolio-pan[data-pan-ready=true]>img{object-position:50% 100%;transition-duration:var(--portfolio-pan-duration,6s);transition-timing-function:linear}
}
@media(prefers-reduced-motion:reduce){.portfolio-pan>img{transition:none!important;object-position:50% 0%!important}}
.portfolio-home{margin-top:44px}
.portfolio-home .portfolio-callout{margin-top:0}
.portfolio-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.portfolio-preview-grid[hidden],.portfolio-preview-status[hidden]{display:none}
.portfolio-preview-card{min-width:0}
.portfolio-preview-link{display:block;color:inherit;text-decoration:none}
.portfolio-preview-media{aspect-ratio:1.45;border:1px solid #d7ddcc;border-radius:4px}
.portfolio-preview-open{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;background:#f6f5f0;border-radius:50%;transition:background .2s,color .2s}
.portfolio-preview-open svg{width:18px;height:18px}
.portfolio-preview-link:hover .portfolio-preview-open,.portfolio-preview-link:focus-visible .portfolio-preview-open{background:#ff5100;color:#fff}
.portfolio-preview-client{font-size:11px;line-height:1.6;color:#686e62;margin:17px 0 6px;overflow-wrap:anywhere}
.portfolio-preview-card h4{font-size:21px;line-height:1.5;letter-spacing:-.7px;margin:0;overflow-wrap:anywhere}
.portfolio-preview-status{font-size:13px;color:#686e62;line-height:1.8;margin:20px 0 0}
.portfolio-preview-status a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.portfolio-preview-grid{gap:20px}.portfolio-preview-card h4{font-size:18px}}
@media(max-width:800px){.portfolio-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-home{margin-top:32px}.portfolio-preview-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:22px}.portfolio-preview-media{aspect-ratio:1.4}.portfolio-preview-card h4{font-size:21px}}
