/* STRENG Portfolio — styling limited to the plugin's own markup. */
.sp-portfolio{color:inherit;font-family:inherit;max-width:100%;box-sizing:border-box}
.sp-portfolio *{box-sizing:border-box}
.sp-hero{padding:clamp(2rem,6vw,5rem) 0;max-width:72rem}
.sp-headline{font-size:clamp(2.25rem,5.8vw,5.5rem)!important;line-height:1.06!important;letter-spacing:-.045em;max-width:15ch;margin:0 0 1.25rem;color:inherit}
.sp-intro{font-size:clamp(1.08rem,1.6vw,1.45rem);line-height:1.5;max-width:60ch;margin:0 0 2rem;opacity:.9}
.sp-hero-links{display:flex;flex-wrap:wrap;gap:.7rem 2rem}
.sp-link{display:inline-block;color:inherit!important;text-decoration:none!important;border-bottom:1px solid currentColor;padding:.25em 0;line-height:1.4;transition:opacity .18s ease}
.sp-link:hover,.sp-link:focus-visible{opacity:.65}
.sp-link.sp-muted{opacity:.72}
.sp-selection{padding:clamp(2rem,5vw,4rem) 0}
.sp-selection-heading{display:flex;flex-wrap:wrap;gap:1rem;align-items:baseline;justify-content:space-between;margin-bottom:1.65rem}
.sp-selection-heading h2,.sp-case h2{margin:0;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.25;letter-spacing:-.02em;color:inherit}
.sp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.sp-card{margin:0;min-width:0}
.sp-card a{display:block;text-decoration:none!important;color:inherit!important}
.sp-card-image{display:flex;align-items:center;justify-content:center;min-height:8rem;overflow:hidden}
.sp-card-image img{display:block;width:100%;height:auto;max-height:36rem;object-fit:contain;transition:transform .25s ease}
.sp-card a:hover img,.sp-card a:focus-visible img{transform:scale(1.015)}
.sp-image-absent{display:flex;align-items:center;justify-content:center;border:1px solid currentColor;opacity:.65;padding:2rem;min-height:12rem;text-align:center;line-height:1.4}
.sp-card-meta{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.75rem 0 0;font-size:.95rem}
.sp-card-title{font-weight:600;overflow-wrap:anywhere;line-height:1.35}
.sp-card-year{opacity:.65;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-card a:focus-visible,.sp-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sp-case{max-width:72ch;padding:clamp(2rem,5vw,4rem) 0}
.sp-case h2{margin-bottom:1.5rem}
.sp-case dl{margin:0;padding:0}
.sp-case dl>div{padding:1.1rem 0;border-top:1px solid currentColor}
.sp-case dt{font-weight:700;margin:0 0 .45rem;opacity:.85}
.sp-case dd{margin:0;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:800px){.sp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sp-cards{grid-template-columns:minmax(0,1fr)}.sp-hero{padding:2rem 0}.sp-card-image img{max-height:none}.sp-selection-heading{display:block}}
@media(prefers-reduced-motion:reduce){.sp-portfolio *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
