/* Centered project gallery, with native touch scrolling and a shared case source. */
.home .project-reel{padding:84px 0 62px;background:#fff;scroll-margin-top:90px;overflow:hidden}
.project-reel .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:38px}
.home .project-reel h2{font-size:clamp(30px,3.2vw,48px);line-height:1.2;letter-spacing:-.035em;margin:0;color:#243033}
.project-reel .section-heading .text-link{flex-shrink:0;margin:0;font-size:12px}
.project-reel-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;margin-inline:calc(-1 * var(--pad));padding-inline:13%;cursor:grab;}
.project-reel-track::-webkit-scrollbar{display:none}
.project-reel-track:focus-visible{outline:2px solid #bd3931;outline-offset:-2px}
.project-reel-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.project-reel-card{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always;opacity:.48;transform:scale(.96);transition:opacity .45s,transform .55s;transform-origin:center 42%}
.project-reel-card.is-active{opacity:1;transform:scale(1)}
.project-reel-photo{display:block;position:relative;aspect-ratio:1.75;background:#f1f2f0;overflow:hidden;cursor:inherit}
.project-reel-photo img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.project-reel-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:30px;padding:25px 0 0;align-items:center}
.project-reel-category{grid-column:2;grid-row:1;align-self:end;text-align:right;color:#777f7c;font-size:11px;letter-spacing:.06em;margin:0 0 7px}
.project-reel h3{grid-column:1;grid-row:1/3;font-size:clamp(24px,2.45vw,36px);font-weight:500;line-height:1.25;letter-spacing:-.03em;margin:0;color:#243033}
.project-reel h3 a{color:inherit;text-decoration:none}
.project-reel-spec{grid-column:2;grid-row:2;align-self:start;text-align:right;font-size:13px;line-height:1.5;color:#586560;margin:0;font-variant-numeric:tabular-nums}
.project-reel-footer{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:32px}
.project-reel-count{display:none}
.project-reel-controls{display:flex;gap:10px}
.project-reel-controls button{width:44px;height:40px;border:0;border-radius:0;background:transparent;color:#27362d;font-size:25px;cursor:pointer;display:grid;place-items:center}
.project-reel-controls button:focus-visible{outline:2px solid #b8322a;outline-offset:2px}
@media(hover:hover){.project-reel h3 a:hover,.project-reel-controls button:hover{color:#b8322a}}
@media(max-width:760px){.home .project-reel{padding:54px 0 44px}.project-reel .section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:26px}.home .project-reel h2{font-size:30px}.project-reel-track{gap:14px;padding-inline:8%}.project-reel-photo{aspect-ratio:4/3}.project-reel-copy{display:block;padding-top:19px}.project-reel h3{font-size:25px;line-height:1.3;min-height:2.6em}.project-reel-category{font-size:10px;text-align:left;margin:0 0 9px}.project-reel-spec{text-align:left;font-size:12px;margin-top:12px}.project-reel-footer{margin-top:22px}.project-reel-card{transform:scale(.97)}}
@media(prefers-reduced-motion:reduce){.project-reel-card{transition:none}}

/* Fit the entire gallery below the header on laptop and desktop screens. */
@media(min-width:761px){
.home .project-reel{padding:28px 0 24px;scroll-margin-top:0}
.project-reel .section-heading{margin-bottom:22px}
.home .project-reel h2{font-size:clamp(28px,2.6vw,40px)}
.project-reel-track{padding-inline:max(18vw,calc((100vw - (100svh - 380px) * 1.5)/2))}
.project-reel-photo{aspect-ratio:3/2}
.project-reel-copy{padding-top:16px;column-gap:18px}
.project-reel h3{font-size:clamp(22px,2vw,28px)}
.project-reel-footer{margin-top:16px}
}
