/* Two independent work rows with the next card peeking into view. */
.home-work-content{max-width:1440px;margin:0 auto;padding:clamp(56px,6vw,88px) clamp(20px,5vw,72px) 64px}
.home-work-row + .home-work-row{margin-top:72px}
.home-work-row__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.home-work-row__heading h2{margin:0;color:#111}
.home-work-row__more{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:0 18px 0 20px;border:1px solid rgba(23,52,92,.28);border-radius:999px;background:transparent;color:#17345C;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.home-work-row__more svg{flex-shrink:0;transition:transform .2s ease}
.home-work-row__more:focus-visible{outline:2px solid #17345C;outline-offset:3px}
.home-work-row__more:hover{background:#17345C;border-color:#17345C;color:#fff}
.home-work-row__more:hover svg{transform:translateX(3px)}
.home-work-rail{--card-gap:24px;--visible-cards:3.25;--visible-gaps:72px;display:flex;gap:var(--card-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;padding:6px 0 16px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.home-work-rail::-webkit-scrollbar{display:none}
.home-work-rail > a{flex:0 0 calc((100% - var(--visible-gaps))/var(--visible-cards));min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.home-work-rail > a > div:last-child{flex:1}
.home-work-rail img{user-select:none;-webkit-user-drag:none}
.home-work-rail[data-dragging]{cursor:grabbing;scroll-snap-type:none;user-select:none}
.home-work-rail[data-dragging] a{cursor:grabbing!important}
html.site-typography body .home-work-rail .ty-ctitle{font-size:clamp(20px,1.65vw,24px)!important;line-height:1.3!important}
.home-work-rail [data-r="card-desc"]{font-size:16px!important;line-height:1.5!important}
@media(min-width:768px) and (max-width:1199px){
 .home-work-rail{--visible-cards:2.25;--visible-gaps:48px}
}
@media(max-width:767px){
 .home-work-content{padding-top:48px;padding-bottom:40px}
 .home-work-row + .home-work-row{margin-top:44px}
 .home-work-row__heading{gap:12px;margin-bottom:18px}
 html.site-typography body .home-work-row__heading h2{font-size:clamp(24px,7.4vw,30px)!important;line-height:1.15!important;white-space:nowrap}
 .home-work-row__more{font-size:13px;gap:6px;min-height:40px;padding:0 14px 0 16px}
 .home-work-row__more svg{width:13px;height:13px}
 .home-work-rail{--card-gap:16px;--visible-cards:1.15;--visible-gaps:16px}
 .home-work-rail [data-r="card-desc"]{font-size:16px!important;line-height:1.5!important}
 .home-work-rail > a > div:last-child{padding:20px!important}
}
@media(prefers-reduced-motion:reduce){.home-work-row__more,.home-work-row__more svg{transition:none}.home-work-row__more:hover svg{transform:none}}

/* Full-bleed rails: cards run to the screen edge (like Apple / Linear carousels)
   and fade out with an eased (sine) gradient instead of a hard cut. */
.home-work-row{--bleed:calc(clamp(20px,5vw,72px) + max(0px,(100vw - 1440px) / 2))}
.home-work-rail{margin-inline:calc(var(--bleed) * -1);padding-inline:var(--bleed);scroll-padding-inline:var(--bleed);
 --fade-w:calc(var(--bleed) + 64px);--fade-l:0px;--fade-r:var(--fade-w);
 -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0.000) calc(var(--fade-l) * 0.0),rgba(0,0,0,0.024) calc(var(--fade-l) * 0.1),rgba(0,0,0,0.095) calc(var(--fade-l) * 0.2),rgba(0,0,0,0.206) calc(var(--fade-l) * 0.3),rgba(0,0,0,0.345) calc(var(--fade-l) * 0.4),rgba(0,0,0,0.500) calc(var(--fade-l) * 0.5),rgba(0,0,0,0.655) calc(var(--fade-l) * 0.6),rgba(0,0,0,0.794) calc(var(--fade-l) * 0.7),rgba(0,0,0,0.905) calc(var(--fade-l) * 0.8),rgba(0,0,0,0.976) calc(var(--fade-l) * 0.9),rgba(0,0,0,1.000) calc(var(--fade-l) * 1.0),rgba(0,0,0,1.000) calc(100% - var(--fade-r) * 1.0),rgba(0,0,0,0.976) calc(100% - var(--fade-r) * 0.9),rgba(0,0,0,0.905) calc(100% - var(--fade-r) * 0.8),rgba(0,0,0,0.794) calc(100% - var(--fade-r) * 0.7),rgba(0,0,0,0.655) calc(100% - var(--fade-r) * 0.6),rgba(0,0,0,0.500) calc(100% - var(--fade-r) * 0.5),rgba(0,0,0,0.345) calc(100% - var(--fade-r) * 0.4),rgba(0,0,0,0.206) calc(100% - var(--fade-r) * 0.3),rgba(0,0,0,0.095) calc(100% - var(--fade-r) * 0.2),rgba(0,0,0,0.024) calc(100% - var(--fade-r) * 0.1),rgba(0,0,0,0.000) calc(100% - var(--fade-r) * 0.0));mask-image:linear-gradient(to right,rgba(0,0,0,0.000) calc(var(--fade-l) * 0.0),rgba(0,0,0,0.024) calc(var(--fade-l) * 0.1),rgba(0,0,0,0.095) calc(var(--fade-l) * 0.2),rgba(0,0,0,0.206) calc(var(--fade-l) * 0.3),rgba(0,0,0,0.345) calc(var(--fade-l) * 0.4),rgba(0,0,0,0.500) calc(var(--fade-l) * 0.5),rgba(0,0,0,0.655) calc(var(--fade-l) * 0.6),rgba(0,0,0,0.794) calc(var(--fade-l) * 0.7),rgba(0,0,0,0.905) calc(var(--fade-l) * 0.8),rgba(0,0,0,0.976) calc(var(--fade-l) * 0.9),rgba(0,0,0,1.000) calc(var(--fade-l) * 1.0),rgba(0,0,0,1.000) calc(100% - var(--fade-r) * 1.0),rgba(0,0,0,0.976) calc(100% - var(--fade-r) * 0.9),rgba(0,0,0,0.905) calc(100% - var(--fade-r) * 0.8),rgba(0,0,0,0.794) calc(100% - var(--fade-r) * 0.7),rgba(0,0,0,0.655) calc(100% - var(--fade-r) * 0.6),rgba(0,0,0,0.500) calc(100% - var(--fade-r) * 0.5),rgba(0,0,0,0.345) calc(100% - var(--fade-r) * 0.4),rgba(0,0,0,0.206) calc(100% - var(--fade-r) * 0.3),rgba(0,0,0,0.095) calc(100% - var(--fade-r) * 0.2),rgba(0,0,0,0.024) calc(100% - var(--fade-r) * 0.1),rgba(0,0,0,0.000) calc(100% - var(--fade-r) * 0.0))}
.home-work-rail[data-scrolled]{--fade-l:var(--fade-w)}
.home-work-rail[data-at-end]{--fade-r:0px}
@media(max-width:767px){.home-work-rail{--fade-w:calc(var(--bleed) + 24px)}}

/* Desktop: cards snap to the content grid. The last fully visible card ends exactly
   under the "View all" button; the next card peeks into the page margin and fades out there. */
@media(min-width:1200px){
 .home-work-rail{--visible-cards:2;--visible-gaps:24px;--fade-w:var(--bleed)}
}
@media(min-width:1360px){
 .home-work-rail{--card-gap:20px;--visible-cards:3;--visible-gaps:40px}
 .home-work-rail > a > div:last-child{padding:24px 22px!important}
}
