/* Shared Dr.Site Media Library logo carousel: desktop horizontal / mobile 2 x 2.
   One shortcode and one JS controller for Contact, About and future pages. */
.ds-portfolio{max-width:var(--ds-wide);margin:0 auto;color:var(--ds-ink)}
.ds-portfolio__kicker{text-align:center;margin:0 0 7px!important;font-size:12px!important;line-height:1.4;letter-spacing:.075em;font-weight:700;color:#5e7ea5!important}
.ds-portfolio h2{margin:0 0 24px!important;text-align:center;font-size:clamp(25px,3vw,36px);font-weight:700;line-height:1.12;letter-spacing:-.03em}
.ds-portfolio__carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:17px}
.ds-portfolio__arrow{border:1px solid #e2edf2;background:#fff;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ds-ink);font-size:25px;line-height:1;box-shadow:0 6px 13px rgba(5,43,69,.06);cursor:pointer}
.ds-portfolio__arrow:hover:not(:disabled){color:#00b9c5;background:#f5fbfe}
.ds-portfolio__arrow:focus-visible{outline:3px solid var(--ds-cyan);outline-offset:3px}
.ds-portfolio__arrow:disabled{opacity:.35;cursor:default}
.ds-portfolio__track{--ds-visible:6;--ds-logo-gap:14px;display:flex;gap:var(--ds-logo-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;align-items:center;padding:10px 0 12px;min-width:0}
.ds-portfolio__track::-webkit-scrollbar{display:none}
.ds-portfolio__slide{flex:0 0 calc((100% - (var(--ds-visible) - 1) * var(--ds-logo-gap)) / var(--ds-visible));min-width:0;height:83px;scroll-snap-align:start;display:grid;place-items:center}
.ds-portfolio__slide img{display:block;max-width:100%;width:auto;height:auto;max-height:64px;object-fit:contain;filter:none}
.ds-portfolio--compact h2{display:none}
@media(max-width:1100px){.ds-portfolio__track{--ds-visible:4}}
@media(max-width:680px){
 .ds-portfolio__carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:8px}
 .ds-portfolio__arrow{width:30px;height:30px;font-size:19px}
 /* Two rows, two columns visible; additional logo pairs scroll horizontally. */
 .ds-portfolio__track{--ds-logo-gap:10px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,70px);grid-auto-columns:calc((100% - var(--ds-logo-gap))/2);align-items:stretch;gap:10px;padding-block:8px}
 .ds-portfolio__slide{width:100%;height:70px;min-width:0;padding:8px 9px;scroll-snap-align:start;border:1px solid #e8eff4;border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(5,43,69,.035)}
 .ds-portfolio__slide img{max-height:44px;max-width:100%}
 .ds-portfolio h2{font-size:25px;margin-bottom:13px!important}
}
@media(prefers-reduced-motion:reduce){.ds-portfolio__track{scroll-behavior:auto}}
