.project-gallery{min-width:0;max-width:100%;--gallery-card:clamp(300px,39vw,520px)}
.gallery-portrait{--gallery-card:clamp(250px,27vw,340px)}
.gallery-thumbnail{--gallery-card:clamp(280px,32vw,420px)}
.gallery-design{--gallery-card:clamp(320px,36vw,450px)}
.gallery-long{--gallery-card:min(100%,760px)}
.gallery-script{--gallery-card:min(100%,980px)}
/* Every track stays on one line at every breakpoint. */
.project-gallery>.work-rail{display:flex;flex-wrap:nowrap;gap:24px;align-items:start;position:relative;overflow-x:auto;overflow-y:hidden;max-width:100%;margin:0;padding:8px 7px 22px;scroll-snap-type:x proximity;scroll-padding-inline:7px;scroll-behavior:smooth;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#2949e977 #24231f11;cursor:grab;user-select:none;-webkit-user-select:none}
.project-gallery>.work-rail::-webkit-scrollbar{height:4px}
.project-gallery>.work-rail::-webkit-scrollbar-thumb{background:#2949e977;border-radius:10px}
.project-gallery>.work-rail::-webkit-scrollbar-track{background:#24231f11}
.work-rail>.portfolio-card{flex:0 0 var(--gallery-card);width:var(--gallery-card);min-width:0;max-width:100%;scroll-snap-align:start;cursor:grab;container-type:inline-size}
.work-rail>.portfolio-card:focus-visible{outline-offset:3px}
.work-rail:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.work-rail img{-webkit-user-drag:none;user-select:none}
.project-gallery>.work-rail.is-dragging{scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing}
.work-rail.is-dragging>.portfolio-card{cursor:grabbing}
.gallery-controls{display:flex;align-items:center;gap:20px;margin-top:12px;min-height:44px}
.gallery-hint{font-size:10px;letter-spacing:.02em;color:#68655f;visibility:hidden}
.gallery-hint>span{display:inline-block;font-size:19px;line-height:1;margin-left:9px;vertical-align:-2px;color:var(--blue)}
.has-overflow .gallery-hint{visibility:visible}
.gallery-count{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap}
.gallery-arrows{display:flex;gap:8px}
.gallery-arrows>button{height:44px;width:44px;flex-shrink:0;border:1px solid var(--ink);background:transparent;border-radius:50%;display:grid;place-items:center;font-size:21px;line-height:1;transition:background .2s,color .2s}
.gallery-arrows>button:hover:enabled{background:var(--ink);color:var(--cream)}
.gallery-arrows>button:disabled{opacity:.25;cursor:default}
.project-gallery:not(.has-overflow) .gallery-arrows{display:none}
.work-rail .portrait-art{aspect-ratio:9/16!important}
.work-rail .portrait-art>strong{font-size:21cqw;left:7%;right:7%;top:24%}
.work-rail .portrait-art .art-kicker{left:7%;top:17%;font-size:2.1cqw}
.work-rail .portrait-art .format-tag{left:7%;font-size:2cqw}
.work-rail .landscape-art>strong{font-size:12cqw}
.work-rail .kinetic-art>strong{font-size:17cqw;top:25%}
.work-rail .ai-film-art>strong{font-size:12cqw}
.work-rail .ad-film-art>strong{font-size:17cqw;top:29%}
.work-rail .long-film-art>strong{font-size:9cqw}
.work-rail.design-showcase .portfolio-visual{height:500px;aspect-ratio:auto}
.work-rail.design-showcase .paper-front>strong{font-size:18cqw}
.work-rail.design-showcase .post-mosaic>div{font-size:7cqw}
.work-rail.design-showcase .post-mosaic>div:nth-child(2){font-size:24cqw}
.work-rail.design-showcase .deck-sheet>strong{font-size:12cqw}
.work-rail.design-showcase .social-design-art{padding:55px 28px 24px}
.work-rail.design-showcase .presentation-art{padding:52px 30px 0}
.work-rail .board-title{font-size:9cqw}
.work-rail .channel-banner{font-size:10cqw}
.work-rail>.script-preview{display:grid}
@media(max-width:780px){.project-gallery{--gallery-card:min(86%,480px)}.gallery-portrait{--gallery-card:min(73%,300px)}.gallery-thumbnail{--gallery-card:min(86%,380px)}.gallery-long,.gallery-script{--gallery-card:100%}.project-gallery>.work-rail{gap:20px}.work-rail.design-showcase .portfolio-visual{height:450px}.gallery-controls{gap:14px}.gallery-hint{font-size:9px}.work-rail .long-film-art>strong{top:20%}}
@media(max-width:520px){.project-gallery{--gallery-card:88%}.gallery-portrait{--gallery-card:82%}.gallery-long,.gallery-script{--gallery-card:100%}.project-gallery>.work-rail{gap:16px;padding-inline:6px;scroll-padding-inline:6px}.work-rail>.portfolio-card{grid-column:auto!important}.work-rail.design-showcase .portfolio-visual{height:420px}.gallery-controls{gap:12px}.gallery-hint{font-size:8px}.gallery-hint>span{margin-left:5px}.gallery-arrows{gap:7px}.gallery-count{font-size:9px}.work-rail .ad-film-art .art-kicker{font-size:6px;top:22%}.work-rail .ai-film-art>strong{top:43%}.work-rail .long-film-art>strong{font-size:10cqw}.work-rail .script-preview{padding:20px}.work-rail .script-page{min-width:0}.work-rail .script-beat>p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.project-gallery>.work-rail{scroll-behavior:auto}.gallery-arrows>button{transition:none}}

.work-rail[tabindex="-1"]>.portfolio-card{cursor:pointer}

.gallery-auvie{--gallery-card:clamp(280px,30vw,380px)}
@media(max-width:780px){.gallery-auvie{--gallery-card:min(84%,360px)}}
@media(max-width:520px){.gallery-auvie{--gallery-card:86%}}
.gallery-results{--gallery-card:clamp(300px,33vw,420px)}
@media(max-width:780px){.gallery-results{--gallery-card:min(86%,380px)}}
@media(max-width:520px){.gallery-results{--gallery-card:88%}}

/* Landscape AI films keep their original framing beside vertical reels. */
.work-rail>.ai-landscape-card{flex-basis:clamp(380px,52vw,680px);width:clamp(380px,52vw,680px)}
@media(max-width:780px){.work-rail>.ai-landscape-card{flex-basis:var(--gallery-card);width:var(--gallery-card)}}

.gallery-long-editing{--gallery-card:clamp(380px,52vw,680px)}
@media(max-width:780px){.gallery-long-editing{--gallery-card:88%}}
