/* R57: user-supplied portfolio only. All other home sections remain untouched. */
.r55-home-gallery .r55-section-head h2 { grid-column:1/-1; }
.r55-home-gallery .r55-home-grid { gap:clamp(72px,9vw,132px); }
.r55-home-gallery .r55-card-meta { justify-content:flex-start; margin-bottom:24px; }
.r55-home-gallery .r55-media { background:transparent; }
.r55-home-gallery .r55-media img,
.r55-home-gallery .r55-home-card:hover img,
.r55-home-gallery .r55-home-card:focus-within img { position:static!important; display:block; width:100%; height:auto!important; max-width:100%; object-fit:contain!important; transform:none!important; scale:none!important; clip-path:none!important; transition:none!important; }
.r55-home-gallery .r55-home-card:hover .r55-card-title { color:inherit; }
.r55-home-gallery .r55-home-cta { justify-content:flex-end; }
.r55-home-gallery .r55-home-cta .c-button { min-width:0; min-height:56px; width:min(100%,440px); padding:20px 24px; border:1px solid currentColor; justify-content:space-between; text-align:left; gap:24px; }
.r55-home-gallery .r55-home-cta .c-button:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.r55-home-gallery .r55-cta-arrow { flex:none; font-size:20px; line-height:1; opacity:.72; transform:translateY(-1px); }
.r56-portfolio .c-sticky-header { background:#111!important; color:#fff!important; border-bottom-color:#444; }
.r56-portfolio .c-sticky-header .c-nav_link { color:#fff!important; }
.r56-portfolio .r55-page-intro { padding-bottom:clamp(64px,7vw,108px); }
.r56-portfolio .r55-page-title { letter-spacing:.016em; }
.r57-projects { padding-bottom:clamp(100px,12vw,180px); }
.r57-project { padding-top:clamp(40px,5vw,72px); margin-bottom:clamp(100px,13vw,188px); border-top:1px solid rgba(17,17,17,.28); scroll-margin-top:100px; }
.r57-project:last-child { margin-bottom:0; }
.r57-project-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:clamp(40px,5vw,76px); }
.r57-project-heading h2 { margin:0; font-family:inherit; font-size:clamp(46px,6.5vw,100px); line-height:.98; letter-spacing:-.045em; overflow-wrap:anywhere; }
.r57-project-heading p { max-width:40ch; margin:0; padding-top:8px; justify-self:end; }
.r57-gallery { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr); gap:clamp(24px,4vw,64px); align-items:start; width:80%; margin-inline:auto; }
.r57-details { display:grid; gap:clamp(28px,4vw,60px); min-width:0; }
.r57-image { margin:0; min-width:0; height:auto; align-self:start; overflow:visible; background:transparent; transform:translate3d(0,var(--r57-parallax-y,0px),0); }
.r57-image img,
.r57-project:hover .r57-image img,
.r57-project:focus-within .r57-image img { display:block; position:static!important; width:100%; max-width:100%; height:auto!important; object-fit:contain!important; object-position:center; aspect-ratio:auto!important; transform:none!important; scale:none!important; clip-path:none!important; transition:none!important; border:1px solid rgba(17,17,17,.12); box-sizing:border-box; }
.r57-gallery--overview .r57-details { padding-top:clamp(36px,7vw,110px); }
.r57-project:nth-child(even) .r57-gallery--overview { grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr); }
.r57-project:nth-child(even) .r57-gallery--overview>.r57-image--overview { grid-column:2; grid-row:1; }
.r57-project:nth-child(even) .r57-gallery--overview>.r57-details { grid-column:1; grid-row:1; }
.r57-gallery--editorial { display:block; }
.r57-gallery--editorial .r57-details { grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:32px; }
.r57-gallery--editorial .r57-image:nth-child(1) { grid-column:1/10; }
.r57-gallery--editorial .r57-image:nth-child(2) { grid-column:6/-1; }
.r57-gallery--editorial .r57-image:nth-child(3) { grid-column:2/10; }
@media(max-width:900px) {
 .r56-portfolio .c-sticky-header { height:auto; min-height:92px; grid-template-columns:1fr; gap:12px; padding:14px 16px!important; }
 .r56-portfolio .c-sticky-header_nav { display:block!important; }
 .r56-portfolio .c-sticky-header .c-nav_list { justify-content:space-between; gap:20px; }
 .r56-portfolio .c-sticky-header .c-nav_link { font-size:13px; line-height:20px; }
 .r56-portfolio .c-sticky-header .r23-sticky-lockup { width:142px; }
 .r57-project-heading { grid-template-columns:1fr; gap:22px; }
 .r57-project-heading h2 { font-size:clamp(40px,10vw,72px); }
 .r57-project-heading p { justify-self:start; padding:0; max-width:42ch; }
 .r57-gallery, .r57-project:nth-child(even) .r57-gallery--overview { grid-template-columns:minmax(0,1fr); gap:28px; width:100%; }
 .r57-gallery--overview>.r57-image--overview, .r57-project:nth-child(even) .r57-gallery--overview>.r57-image--overview { grid-column:1; grid-row:2; width:min(100%,440px); justify-self:center; }
 .r57-gallery--overview>.r57-details, .r57-project:nth-child(even) .r57-gallery--overview>.r57-details { grid-column:1; grid-row:1; padding-top:0; }
 .r57-gallery--editorial .r57-details { grid-template-columns:1fr; gap:28px; }
 .r57-gallery--editorial .r57-image:nth-child(n) { grid-column:1; }
 .r55-home-gallery .r55-home-cta .c-button { font-size:15px; gap:16px; padding:18px 20px; }
 .r55-home-gallery .r55-home-card:nth-child(n) { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .r57-image { transform:none!important; }
}
