/* Web framing of the real photograph. Full original compositions remain in the gallery. */
.project-image.instagram-photo{aspect-ratio:4/3;height:auto}
.instagram-photo img{object-fit:cover;object-position:50% 5%}
.project-source{display:inline-flex;margin:0 0 22px;font-size:13px;color:var(--purple);text-decoration:underline;text-underline-offset:4px}
.project-result{color:#756880;font-size:12px;margin:-6px 0 24px}
.segment-original{margin:45px 0 70px;padding:24px;border:1px solid var(--line);border-radius:18px}
.segment-original summary{font-weight:700;cursor:pointer}.segment-original .content{margin-top:25px}
.segment-invitation{justify-content:center;align-items:flex-start;padding:28px!important;background:var(--purple);color:white;min-height:300px}
.segment-invitation:hover{background:#554180}.segment-invitation .invitation-symbol{font-size:64px;line-height:1;color:#ffbc9b;margin-bottom:24px}
.segment-invitation h3{font-size:24px}.segment-invitation p{font-size:14px;max-width:220px}.segment-invitation .text-link{font-size:12px;margin-top:auto}
.segment-grid .segment{padding:0}
@media(max-width:540px){.segment-invitation{padding:20px 15px!important;min-height:0}.segment-invitation .invitation-symbol{font-size:40px;margin-bottom:18px}.segment-invitation h3{font-size:20px}.segment-invitation p{font-size:12px}.segment-invitation .text-link{font-size:11px}.project-result{margin-top:0}.project-meta{gap:10px}.project-meta h3{font-size:19px}}

/* V8: equal cards preserve the complete project/execution composition. */
.project-grid{align-items:stretch;gap:28px 24px}.project-card{display:flex;flex-direction:column;min-width:0;height:100%;border-radius:20px;transition:transform .22s ease}
.project-image,.project-image.instagram-photo{aspect-ratio:4/5;height:auto;width:100%;border:1px solid #dedbe5;background:#fafafa}
.project-image img,.project-image.instagram-photo img{object-fit:contain;object-position:center;transform:none!important}
.project-card:hover,.project-card:focus-visible{transform:translateY(-3px)}.motion-off .project-card:hover{transform:none}
.project-meta{flex-direction:column;gap:12px;padding:17px 1px 12px}.project-meta h3{font-size:20px;line-height:1.35;min-height:2.7em;margin:0 0 5px}.project-meta p{line-height:1.5}.project-meta .tag{max-width:100%;align-self:flex-start}
.project-action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding:8px 0 0;font-size:13px;font-weight:700;color:#171717}
.project-card .project-arrow{position:static;display:inline-grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#eee9fa;box-shadow:none;border-radius:50%}
.project-card:hover .project-arrow,.project-card:focus-visible .project-arrow{transform:translate(2px,-2px);color:#000;background:var(--green)}
.project-grid[data-limit]{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:contain;padding:6px 4px 20px;margin-inline:-4px;scrollbar-width:thin;scrollbar-color:#8471d8 #eee9fa}
.project-grid[data-limit]>.project-card{scroll-snap-align:start;scroll-snap-stop:normal}.project-grid[data-limit]>.empty{min-width:280px}
.project-rail-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-8px 0 15px}.project-rail-tools .swipe-hint{display:inline-flex}.project-rail-buttons{display:flex;gap:8px;margin-left:auto}.project-rail-buttons .ui-arrow{width:17px;height:17px}.project-rail-buttons button:disabled{opacity:.4;cursor:default;transform:none}
@media(min-width:1100px){.project-grid:not([data-limit]){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.project-grid[data-limit]{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:600px){.project-grid[data-limit]{grid-auto-columns:84%;gap:16px}.project-grid:not([data-limit]){grid-template-columns:1fr}.project-meta h3{min-height:0}.project-rail-tools{margin-top:0}.project-rail-tools .swipe-hint{font-size:11px}}

@media(hover:hover) and (pointer:fine){.project-grid[data-limit]{cursor:grab}.project-grid.is-dragging,.project-grid.is-dragging *{cursor:grabbing;user-select:none}.project-grid.is-dragging{scroll-snap-type:none}}
/* Keep the projects within reach on small screens; category chips remain keyboard-accessible. */
@media(max-width:600px){.filters[data-project-filters]{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:4px 3px 12px;margin:22px -3px 20px;scrollbar-width:thin;scrollbar-color:#d6cdee transparent}.filters[data-project-filters] .chip{flex:none;white-space:nowrap}}
