/* The brand palette/type scale remain owned by styles.css. */
.work-gallery{--work-lilac:#e7dfec;--work-sand:#e6d8ce;--work-sage:#d5decd;--work-stone:#dde0d9}
.work-carousel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;min-height:44px}.work-carousel-heading>p{font-size:var(--type-kicker);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.work-controls{display:flex;align-items:center;gap:10px}.work-position{font-size:var(--type-small);font-variant-numeric:tabular-nums;margin-right:8px}.work-play{font-size:var(--type-small);background:none;padding:10px 8px;min-width:78px;min-height:44px;text-decoration:underline;text-underline-offset:5px}.work-play:hover{color:var(--terra)}.work-prev .icon{transform:rotate(180deg)}
.work-stage{display:grid;padding-block:8px 12px;overflow:visible;background:transparent;isolation:isolate}.work-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);column-gap:clamp(32px,4vw,56px);align-items:center;min-width:0;opacity:0;visibility:hidden;pointer-events:none;z-index:0;transition:opacity 700ms ease,visibility 0s 700ms}.work-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity 700ms ease,visibility 0s}.work-slide[inert]{user-select:none}
.work-stage-image{position:relative;display:block;align-self:center;min-width:0;width:100%;padding:0;border:0;background:transparent;overflow:visible;line-height:0}.tone-lilac{background:var(--work-lilac)}.tone-sand{background:var(--work-sand)}.tone-sage{background:var(--work-sage)}.tone-stone{background:var(--work-stone)}.work-stage-image img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 48px -22px #24352b45,0 8px 18px -10px #24352b3d,0 -1px 0 #ffffffb3}
.work-stage-copy{padding:24px 0;align-self:center;min-width:0}.work-stage-copy .eyebrow{font-size:var(--type-kicker);letter-spacing:.06em;color:var(--muted);margin-bottom:18px}.work-stage-copy h3{font-size:clamp(42px,4.5vw,64px);line-height:1.02;overflow-wrap:break-word}.work-stage-title{font-size:19px;line-height:1.5;margin-top:20px;color:var(--hero-link);font-weight:600}.work-stage-summary{font-size:var(--type-body);line-height:1.8;color:var(--muted);margin-top:16px}.work-stage-copy .text-link{margin-top:22px}
.work-dots{display:flex;justify-content:center;gap:3px;margin-top:14px}.work-dot{display:grid;place-items:center;width:44px;height:36px;background:none;padding:8px}.work-dot span{display:block;width:22px;height:3px;border-radius:3px;background:var(--line);transition:background 200ms,width 200ms}.work-dot[aria-pressed=true] span{background:var(--terra);width:28px}.work-dot:hover span{background:var(--ink)}
.work-overview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:42px 0 24px}.work-overview-heading h3{font-size:32px}.work-overview-heading>span{font-size:var(--type-small);color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.work-card{min-width:0}.work-card-link{display:flex;flex-direction:column;text-align:left;background:none;width:100%;height:100%;padding:0;border-radius:18px}.work-card-image{display:grid;place-items:center;width:100%;aspect-ratio:1.6;border-radius:18px;overflow:hidden;padding:20px}.work-card-image img{width:100%;height:auto;max-height:100%;aspect-ratio:1.6;object-fit:contain;object-position:center;border-radius:7px;box-shadow:0 8px 20px #24352b14;transition:transform 450ms var(--ease)}.work-card-caption{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:17px 0 0}.work-card-caption>span:first-child{min-width:0}.work-card-caption strong{display:block;font-family:Flaviotte,Georgia,serif;font-size:30px;line-height:1.15;font-weight:400}.work-card-caption small{display:block;font-size:var(--type-kicker);line-height:1.65;color:var(--muted);margin-top:7px}.work-card-chevron{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;transition:color 200ms,background 200ms}.work-card-chevron .icon{width:16px;height:16px}.work-card-link:hover .work-card-image img{transform:translateY(-4px)}.work-card-link:hover .work-card-chevron{background:var(--forest);color:var(--paper)}.work-card-link:hover strong{color:var(--terra)}
.work-stage-image:has(img[data-image-failed])::before,.work-card-image:has(img[data-image-failed])::before{content:'Website-Vorschau nicht verfügbar';padding:20px;text-align:center;font-size:var(--type-small)}img[data-image-failed]{display:none}
@media(max-width:1100px){.work-stage-copy{padding:20px 0}.work-slide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.work-stage-title{font-size:17px}.work-grid{gap:28px 22px}.work-card-image{padding:16px}.work-card-caption strong{font-size:27px}}
@media(max-width:900px){.work-slide{grid-template-columns:1fr}.work-slide{row-gap:22px}.work-stage-copy{padding:4px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.work-stage-copy .eyebrow,.work-stage-copy h3{grid-column:1}.work-stage-title,.work-stage-summary,.work-stage-copy .text-link{grid-column:2}.work-stage-copy .eyebrow{grid-row:1;margin-bottom:12px}.work-stage-copy h3{grid-row:2/5;font-size:50px}.work-stage-title{grid-row:1/3;margin-top:0}.work-stage-summary{margin-top:12px}.work-stage-copy .text-link{justify-self:start;margin-top:14px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-overview-heading>span{display:none}}
@media(max-width:600px){.work-carousel-heading{margin-bottom:13px;gap:12px}.work-controls{gap:6px}.work-position{margin-right:0}.work-play{min-width:66px;padding-inline:4px}.work-controls .icon-button{width:42px;height:42px}.work-stage-copy{display:block;padding:4px 0 12px}.work-stage-copy h3{font-size:46px}.work-stage-title{font-size:17px;margin-top:15px}.work-stage-summary{margin-top:12px}.work-stage-copy .eyebrow{margin-bottom:14px}.work-stage-copy .text-link{margin-top:18px}.work-grid{grid-template-columns:1fr;gap:28px}.work-card-image{padding:22px}.work-card-caption strong{font-size:32px}.work-card-caption small{font-size:var(--type-small)}.work-overview-heading{margin-top:32px}.work-overview-heading h3{font-size:31px}.work-dots{margin-top:8px}}
@media(max-width:360px){.work-position{display:none}.work-stage-copy{padding:4px 0 12px}.work-stage-copy h3{font-size:41px}.work-card-image{padding:18px}}
@media(prefers-reduced-motion:reduce){.work-slide,.work-dot span,.work-card-image img{transition:none}.work-card-link:hover .work-card-image img{transform:none}}

/* Text fades out before the next caption appears, avoiding overlapping type. */
.work-slide .work-stage-copy{opacity:0;transition:opacity 220ms ease}
.work-slide.is-active .work-stage-copy{opacity:1;transition:opacity 360ms ease 260ms}
.photo-hero+.work-gallery{padding-top:64px}
@media(max-width:900px){.work-slide{grid-template-rows:auto 1fr}}
@media(prefers-reduced-motion:reduce){.work-slide .work-stage-copy,.work-slide.is-active .work-stage-copy{transition:none}}
/* Reserve the same caption room even when a project name wraps. */
.work-card-caption{min-height:96px;align-items:flex-start}

@media(max-width:360px){.work-card-caption{min-height:124px}}

/* Screenshot-only presentation: keep layout wrappers transparent and put depth on the image itself. */
.work-stage-image:has(img[data-image-failed]){min-height:220px;line-height:1.6}

.work-stage-copy .text-link:hover{color:var(--hero-link);border-color:var(--hero-link)}
