/* The existing landing supplies the typography, colours, section heading and spacing. */
.expertise .application-cards{position:relative;display:flex;gap:32px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 0 6px;grid-template-rows:none}
.expertise .application-cards::-webkit-scrollbar{display:none}
.expertise .application-card{display:flex;flex:0 0 calc((100% - 96px)/4);flex-direction:column;min-width:0;border:0;padding:0;grid-row:auto;scroll-snap-align:start;background:var(--bg)}
.application-image{aspect-ratio:1.65;overflow:hidden;background:var(--surface);margin-bottom:20px;position:relative}
.application-image img{width:100%;height:100%;object-fit:cover;object-position:var(--image-position,50% 55%);transform:scale(calc(var(--image-scale,1) + .035));transform-origin:var(--image-origin,50% 70%);transition:transform .7s var(--motion-ease)}
.application-card.is-in-view .application-image img{transform:scale(var(--image-scale,1))}
.application-card[data-application="terraces"]{--image-position:75% 90%;--image-scale:1.12;--image-origin:80% 85%}
.application-card[data-application="below"]{--image-position:50% 68%}
.application-card[data-application="existing"]{--image-position:35% 90%;--image-scale:1.2;--image-origin:35% 90%}
.application-body{border-top:1px solid var(--line);padding-top:20px;opacity:.65;transform:translateY(8px);transition:opacity .45s var(--motion-ease),transform .55s var(--motion-ease)}
.application-card.is-in-view .application-body{opacity:1;transform:none}
.expertise .application-body h3{font-size:24px;line-height:32px;min-height:64px;margin-bottom:14px}
.application-body>p{font-size:16px;line-height:25px;color:var(--muted)}
.applications-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.applications-navigation[hidden],.applications-progress[hidden]{display:none}
.applications-navigation>p{font-size:11px;line-height:18px;color:var(--muted)}
.applications-navigation>div{display:flex;align-items:center;gap:8px}
.applications-position{font-size:10px;line-height:18px;font-variant-numeric:tabular-nums;margin-right:8px;color:var(--muted)}
.applications-navigation button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0;transition:background .2s,color .2s,border-color .2s}
.applications-navigation button:enabled:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.applications-navigation button:disabled{opacity:.3;cursor:default}
.applications-navigation svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.application-cards.is-scrollable{cursor:grab}
.application-cards.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.applications-progress{height:1px;background:var(--line);margin-top:22px;overflow:hidden}
.applications-progress>span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(.25)}
@media(min-width:1024px){.application-card:nth-child(2) .application-body{transition-delay:.05s}.application-card:nth-child(3) .application-body{transition-delay:.1s}.application-card:nth-child(4) .application-body{transition-delay:.15s}}
@media(min-width:768px) and (max-width:1023px){.expertise .application-cards{gap:24px}.expertise .application-card{flex-basis:46%}.application-image{aspect-ratio:1.65}.expertise .application-body h3{min-height:64px}}
@media(max-width:767px){.expertise .application-cards{gap:18px;scroll-padding-inline:0}.expertise .application-card{flex-basis:88%}.application-image{aspect-ratio:1.65;margin-bottom:18px}.application-body{padding-top:18px}.expertise .application-body h3{min-height:0;margin-bottom:12px}.applications-navigation{margin-top:-12px;margin-bottom:18px}.applications-position{margin-right:4px}.applications-progress{margin-top:20px}}
@media(max-width:374px){.applications-navigation>p{font-size:10px}.applications-position{display:none}.expertise .application-body h3{font-size:23px;line-height:31px}}
@media(prefers-reduced-motion:reduce){.expertise .application-cards{scroll-behavior:auto}.application-image img,.application-card.is-in-view .application-image img{transform:scale(var(--image-scale,1));transition:none}.application-body{opacity:1;transform:none;transition:none}}
.applications-reduced .application-cards{scroll-behavior:auto}.applications-reduced .application-body{opacity:1;transform:none;transition:none}.applications-reduced .application-image img{transform:scale(var(--image-scale,1));transition:none}
.applications-reduced .application-card{opacity:1!important;transform:none!important}
