/* Adjustable gallery dimensions, aligned rows and responsive carousels. */
.je-work-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:28px}
.je-work-grid .je-work-card:nth-child(n){flex:0 1 var(--je-gallery-width,360px);width:var(--je-gallery-width,360px);max-width:100%;min-width:0;margin:0}
.je-work-card .je-work-image,.je-work-card>.je-image-placeholder{display:block;width:100%;height:var(--je-gallery-height,420px);aspect-ratio:auto}
.je-work-card .je-work-image img,.je-work-card .je-work-image>.je-image-placeholder{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.je-about-copy .je-signature{font-size:var(--je-base-font,16px);line-height:1.8;color:var(--je-ink);max-width:none;margin-top:22px}
.je-shop-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px}
.je-shop-link .je-icon{width:22px;height:22px;flex:none}
.je-mobile-navigation .je-shop-link{display:flex}
.je-carousel{position:relative;min-width:0}
.je-carousel .je-carousel-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;min-width:0}
.je-carousel .je-carousel-track>*{min-width:0;margin:0}
.je-carousel.is-active .je-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 0 12px;scroll-padding:0}
.je-carousel.is-active .je-carousel-track::-webkit-scrollbar{display:none}
.je-carousel.is-active .je-carousel-track>*{flex:0 0 calc((100% - 60px)/3);scroll-snap-align:start}
.je-carousel-track:focus-visible{outline:2px solid var(--je-accent);outline-offset:6px}
.je-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-bottom:24px}
.je-carousel-controls[hidden]{display:none}
.je-carousel-controls button{display:grid;place-items:center;width:46px;height:46px;padding:10px;border:1px solid var(--je-border);background:transparent;color:var(--je-fg);cursor:pointer}
.je-carousel-controls button:hover:not(:disabled){border-color:var(--je-accent);color:var(--je-accent)}
.je-carousel-controls button:disabled{opacity:.35;cursor:default}
.je-carousel-controls .je-icon{width:20px;height:20px}
.je-carousel-track :is(button,a):focus-visible{outline-offset:-3px}
.je-carousel-position{font-size:13px;font-variant-numeric:tabular-nums;min-width:85px;text-align:center}
.je-carousel-track .je-team-card{align-self:flex-start}
.je-carousel-track .je-review-card{border-top:1px solid var(--je-accent);padding-top:25px;overflow-wrap:anywhere}
.je-review-count{color:var(--je-accent);font-size:14px;margin:-12px 0 28px}
.je-review-empty[hidden]{display:none}
.je-not-found{max-width:1600px;margin:auto;padding:80px var(--je-space) 100px;display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:center;min-height:65vh}
.je-error-art{position:relative;border:1px solid var(--je-border);border-radius:220px 220px 0 0;padding:100px 24px 70px;text-align:center;background:linear-gradient(145deg,transparent,color-mix(in srgb,var(--je-accent) 9%,var(--je-bg)))}
.je-error-number{display:block;font:clamp(100px,17vw,260px)/1 var(--je-display);color:var(--je-accent);letter-spacing:-.04em}
.je-error-rule{display:block;width:70%;height:1px;background:var(--je-accent);margin:32px auto}
.je-error-art small{font-size:10px;letter-spacing:.22em;color:var(--je-muted)}
.je-error-copy h1{font-size:clamp(42px,5vw,76px);line-height:1.12;margin:24px 0}
.je-error-copy>p:not(.je-eyebrow){font-size:var(--je-base-font,16px);line-height:1.8;color:var(--je-muted);max-width:44ch}
.je-error-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}
@media(max-width:767px){
 .je-hero{display:flex;flex-direction:column;gap:30px}
 .je-hero-art{order:-1;width:100%;margin:0;min-height:0}
 .je-hero-photo{min-height:0;height:clamp(280px,80vw,440px);border-radius:180px 180px 2px 2px}
 .je-carousel .je-carousel-track{grid-template-columns:minmax(0,1fr)}
 .je-carousel.is-active .je-carousel-track>*{flex-basis:100%}
 .je-carousel-controls{justify-content:space-between}
 .je-carousel-track .je-team-photo{aspect-ratio:4/5;max-height:520px}
 .je-not-found{grid-template-columns:1fr;gap:38px;padding-top:35px;padding-bottom:65px}
 .je-error-art{max-width:350px;width:100%;margin:auto;padding:55px 20px 35px}
 .je-error-number{font-size:130px}
 .je-error-copy h1{font-size:44px}
}
@media(forced-colors:active){.je-carousel-controls button{border-color:ButtonText}.je-error-art{border-color:CanvasText}}
