/* Card V5 Agency Editorial: readable information is never overlaid on photos. */
.portfolio-page{background:#f7f7f7}
.portfolio-shell{max-width:1440px;margin:18px auto 80px}
.portfolio-page #portfolioContent{background:#fff;border-radius:12px;box-shadow:0 12px 50px rgba(0,0,0,.035)}
.portfolio-hero{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);min-height:0}
.v5-photo-stage{min-width:0;position:relative;background:#fff;align-self:start}
.portfolio-primary{min-height:0;background:#f1f1f1}
.portfolio-primary-figure{height:clamp(450px,53vw,700px);min-height:0}
.portfolio-primary-figure img{height:100%;min-height:0;width:100%;max-height:none;object-fit:cover}
.v5-photo-controls{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.v5-photo-controls button{pointer-events:auto;background:#fff;color:#111;border:1px solid #dedede;border-radius:50%;width:42px;height:42px;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0002}
.v5-photo-controls span{background:#fff;color:#111;padding:7px 12px;border-radius:100px;font-size:12px;font-weight:700}
.v5-thumbs{display:flex;gap:8px;padding:10px 0;overflow-x:auto;scrollbar-width:thin}
.v5-thumb{padding:0;border:2px solid transparent;background:#eee;flex:0 0 76px;height:86px;cursor:pointer;overflow:hidden;border-radius:4px}
.v5-thumb img{height:100%;width:100%;object-fit:cover;display:block}
.v5-thumb.is-active{border-color:#111}
.v5-thumb:focus-visible,.v5-photo-controls button:focus-visible,.v5-share:focus-visible{outline:3px solid #2167d8;outline-offset:3px}
.portfolio-intro-copy{padding:clamp(28px,4.3vw,64px);justify-content:center;color:#111;background:#fff}
.v5-kicker{font-size:10px;letter-spacing:.17em;color:#555;font-weight:750;margin:0 0 15px}
.portfolio-intro-copy h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em;font-size:clamp(48px,5vw,78px);line-height:1.06;color:#111;margin:9px 0 14px;overflow-wrap:anywhere}
.portfolio-location{color:#444;font-size:15px}
.portfolio-chips span{background:#f2f3f5!important;padding:7px 11px!important;border-radius:30px!important;font-size:11px!important;color:#222!important;letter-spacing:0!important;text-transform:none!important}
.portfolio-bio{font:400 15px/1.65 system-ui,sans-serif;color:#383838;margin:18px 0}
.v5-actions{display:flex;gap:12px;align-items:center;margin:20px 0}
.v5-share{background:#111a28;border:1px solid #111a28;color:#fff;border-radius:7px;padding:13px 20px;font-weight:700;cursor:pointer}
.v5-share-status{font-size:12px;color:#444}
.portfolio-section{border-top:1px solid #e8e8e8}
.portfolio-section h2{color:#111}
.portfolio-detail-card{border-top:2px solid #161616}
.portfolio-gallery-item{background:#f1f1f1}
.portfolio-gallery-item figcaption{background:#fff;color:#222;font-size:10px}
@media(max-width:760px){
.portfolio-shell{padding:0;margin:0 auto 48px}
.portfolio-page #portfolioContent{border-radius:0}
.portfolio-hero{grid-template-columns:1fr}
.portfolio-primary-figure,.portfolio-primary-figure img{height:min(72vh,610px);min-height:0}
.v5-thumbs{padding:8px 12px}
.v5-thumb{flex-basis:62px;height:70px}
.portfolio-intro-copy{padding:26px 20px 30px}
.portfolio-intro-copy h1{font-size:clamp(43px,11vw,68px)}
.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.portfolio-gallery-item,.portfolio-gallery-item--1,.portfolio-gallery-item--2,.portfolio-gallery-item--3,.portfolio-gallery-item--4{grid-column:auto}
.portfolio-gallery-item img,.portfolio-gallery-item--1 img,.portfolio-gallery-item--4 img{aspect-ratio:3/4}
.portfolio-section{padding:30px 18px}
}
@media(max-width:400px){.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.v5-thumb,.v5-photo-controls button{scroll-behavior:auto}}

.v5-share-hero{margin:1rem 0 1.5rem;padding:clamp(1.2rem,3vw,2rem);background:#141414;color:white;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.v5-share-hero h2{color:#fff;margin:.25rem 0;font-size:clamp(1.3rem,3vw,2rem)}
.v5-share-hero p{color:#f2f2f2}.v5-share-hero>div:first-child{flex:1 1 260px}
.v5-share-buttons{display:flex;flex-wrap:wrap;gap:.65rem}.v5-share-copy{background:#fff!important;color:#111!important;border:2px solid #fff!important;font-weight:700}.v5-share-native{background:transparent!important;color:#fff!important;border:2px solid #fff!important}
.v5-share-hero button:focus-visible{outline:3px solid #ffd24c;outline-offset:3px}.v5-share-hero button:disabled{opacity:.5;cursor:not-allowed}#v5ShareFeedback{flex-basis:100%;margin:0;font-weight:600}
@media(max-width:600px){.v5-share-buttons{width:100%}.v5-share-buttons button{flex:1 1 100%;min-height:48px}}
