/* Approved, real website examples. Scoped to preserve the existing site. */
.portfolio-section{scroll-margin-top:100px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.portfolio-card{min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}
.portfolio-card>a,.portfolio-card>.portfolio-app-card{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}
.portfolio-image{background:#eeefe9;border-bottom:1px solid var(--line)}
.portfolio-image img{display:block;width:100%;height:auto;aspect-ratio:1165/747;object-fit:contain}
.portfolio-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:28px}
.portfolio-category{font-size:10px;font-weight:700;letter-spacing:.09em;color:var(--green);line-height:1.5}
.portfolio-copy h3{font-size:clamp(24px,2.2vw,34px);line-height:1.15;margin:12px 0 0}
.portfolio-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin:16px 0 24px;max-width:48ch}
.portfolio-visit{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:auto;color:var(--green)}
.portfolio-visit>span{font-size:20px}
.portfolio-card>a:hover .portfolio-visit{text-decoration:underline;text-underline-offset:4px}
.portfolio-card:focus-within{outline:3px solid var(--business);outline-offset:5px}
.portfolio-card>a:focus-visible{outline:none}
@media(min-width:901px){.portfolio-card:last-child{grid-column:1/-1}.portfolio-card:last-child>a,.portfolio-card:last-child>.portfolio-app-card{display:grid;grid-template-columns:1fr 1fr}.portfolio-card:last-child .portfolio-image{border-bottom:0;border-right:1px solid var(--line);align-content:center}.portfolio-card:last-child .portfolio-copy{justify-content:center;padding:40px}.portfolio-card:last-child .portfolio-visit{margin-top:0}}
@media(max-width:680px){.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-copy{padding:22px}.portfolio-copy h3{font-size:27px}.portfolio-copy p{font-size:13px}.portfolio-category{font-size:9px}.portfolio-visit{font-size:12px}}
@media print{.portfolio-card{break-inside:avoid}.portfolio-grid{gap:20px}.portfolio-copy{padding:16px}.portfolio-visit{display:none}}

/* Explicit platform choices; the image remains the actual web app preview. */
.portfolio-store-links{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:auto}
.portfolio-store-links .portfolio-visit{margin-top:0;min-height:44px;text-decoration:none}
.portfolio-store-links .portfolio-visit:hover{text-decoration:underline;text-underline-offset:4px}
.portfolio-store-links .portfolio-visit:focus-visible{outline:3px solid var(--business);outline-offset:5px}
