.feature-page--hochzeiten-arbeitsweise { overflow: hidden; }
.workflow-intro { padding-block: clamp(3rem, 7vw, 7rem); }
.workflow-intro__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.workflow-intro h1 { max-width: 11ch; margin: 0; font-family: var(--ca-font-display); font-size: clamp(3.5rem, 7vw, 7.5rem); font-weight: 500; line-height: .84; letter-spacing: -.05em; }
.workflow-intro__copy { max-width: 40rem; }
.workflow-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 2rem; }
.workflow-stage { position: relative; color: var(--ca-white); background: var(--ca-dark); }
.workflow-swiper { position: relative; width: 100%; }
.workflow-slide { position: relative; height: auto; min-height: 490px; overflow: hidden; }
.workflow-slide__media, .workflow-slide__shade { position: absolute; inset: 0; }
.workflow-slide__media { background: #262421; }
.workflow-slide__media img, .workflow-slide__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.workflow-slide__shade { background: linear-gradient(90deg, rgba(18, 17, 15, .82) 0%, rgba(18, 17, 15, .43) 46%, rgba(18, 17, 15, .08) 76%), linear-gradient(0deg, rgba(18, 17, 15, .45), transparent 48%); pointer-events: none; }
.workflow-slide__content { position: relative; z-index: 1; display: flex; height: auto; min-height: 490px; align-items: flex-end; padding-top: 1.5rem; padding-bottom: 4.5rem; }
.workflow-slide__panel { max-width: 44rem; }
.workflow-slide__panel .eyebrow { color: var(--ca-tint-light); }
.workflow-slide__panel h2 { max-width: 18ch; margin-bottom: .65rem; font-family: var(--ca-font-display); font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; line-height: .9; letter-spacing: -.035em; }
.workflow-slide__panel p:last-child { max-width: 38rem; margin: 0; font-size: clamp(.9rem, 1.15vw, 1.05rem); }
.workflow-controls { position: absolute; z-index: 5; right: 0; bottom: .75rem; left: 0; display: flex; gap: .7rem; align-items: center; pointer-events: none; }
.workflow-control, .workflow-pagination { pointer-events: auto; }
.workflow-control { display: grid; width: 3rem; height: 3rem; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: var(--ca-white); background: rgba(18,17,15,.55); font-size: 1.25rem; }
.workflow-control:hover, .workflow-control:focus-visible { color: var(--ca-dark); background: var(--ca-white); }
.workflow-pagination { display: flex; flex: 1 1 16rem; width: auto !important; max-width: 22rem; gap: .35rem; margin-inline: .35rem; }
.workflow-pagination .swiper-pagination-bullet { flex: 1 1 0; width: auto; min-width: .6rem; height: .2rem; margin: 0 !important; border-radius: 0; background: rgba(255,255,255,.5); opacity: 1; }
.workflow-pagination .swiper-pagination-bullet-active { background: var(--ca-white); }
.workflow-story { padding-block: var(--ca-space-section); }
.workflow-story__grid { display: grid; grid-template-columns: minmax(17rem, .82fr) minmax(0, 1.18fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: center; }
.workflow-story__portrait { max-width: 34rem; margin: 0; }
.workflow-story__portrait img { display: block; width: 100%; height: auto; aspect-ratio: .83; object-fit: cover; object-position: center 25%; }
.workflow-story__portrait figcaption { padding-top: .65rem; color: var(--ca-muted); font-size: .76rem; }
.workflow-story__copy { max-width: 45rem; }
.workflow-story__copy h2, .workflow-moments__intro h2, .workflow-decision h2 { margin-bottom: 1.25rem; font-family: var(--ca-font-display); font-size: clamp(3rem, 6vw, 6rem); font-weight: 500; line-height: .88; letter-spacing: -.035em; }
.workflow-moments { padding-block: var(--ca-space-section); }
.workflow-moments > .container-xxl { display: grid; grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.workflow-moments__intro { max-width: 38rem; }
.workflow-moments__intro h2 { margin-bottom: 1.25rem; }
.workflow-moments__intro > p:last-child { margin-bottom: 0; }
.workflow-moments__grid { display: grid; width: 100%; max-width: 48rem; aspect-ratio: 3 / 2; grid-template-columns: .72fr 1.28fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 1.5vw, 1.25rem); justify-self: end; }
.workflow-moment { margin: 0; overflow: hidden; background: var(--ca-sand); }
.workflow-moment--large { grid-row: 1 / 3; }
.workflow-moment img { display: block; width: 100%; height: 100%; object-fit: cover; }
.workflow-rathaus > .container-xxl { display: grid; grid-template-columns: minmax(20rem, .86fr) minmax(0, 1.14fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.workflow-rathaus .wedding-rathaus-features__intro { max-width: 40rem; margin-bottom: 0; }
.workflow-rathaus .wedding-rathaus-features__grid { grid-template-columns: 1fr; gap: 1rem; }
.workflow-rathaus .wedding-rathaus-feature { display: grid; grid-template-columns: minmax(9rem, .42fr) minmax(0, 1fr); }
.workflow-rathaus .wedding-rathaus-feature__image { height: 100%; min-height: 13rem; aspect-ratio: auto; }
.workflow-rathaus .wedding-rathaus-feature__copy { padding: clamp(1.15rem, 2vw, 1.6rem); }
.workflow-rathaus .wedding-rathaus-feature__copy .eyebrow { margin-bottom: .55rem; }
.workflow-rathaus .wedding-rathaus-feature__copy h3 { margin-bottom: .55rem; font-size: clamp(1.7rem, 2.4vw, 2.35rem); }
.workflow-rathaus .wedding-rathaus-feature__copy p:not(.eyebrow) { margin-bottom: 1rem; font-size: .94rem; line-height: 1.45; }
.workflow-decision { padding-block: var(--ca-space-section); }
.workflow-decision__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.workflow-decision h2 { max-width: 12ch; margin-bottom: 1.5rem; color: var(--ca-white); }
.workflow-decision__copy { max-width: 38rem; color: rgba(255,253,249,.84); }
.workflow-decision__copy .wedding-text-link { display: inline-block; margin-top: 1rem; }
.workflow-decision__portrait { width: 100%; max-width: 38rem; margin: 0; justify-self: end; }
.workflow-decision__portrait-trigger { position: relative; width: 100%; overflow: hidden; }
.workflow-decision__portrait-trigger img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.workflow-decision__portrait-trigger:hover img, .workflow-decision__portrait-trigger:focus-visible img { transform: scale(1.02); }
.workflow-decision__portrait figcaption { padding-top: .75rem; color: rgba(255,253,249,.72); font-size: .86rem; }
.workflow-contact { padding-top: var(--ca-space-section); }
.workflow-contact__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.workflow-contact__actions { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
@media (max-width: 767.98px) {
    .workflow-intro__grid, .workflow-story__grid, .workflow-decision__grid, .workflow-contact__grid { grid-template-columns: 1fr; }
    .workflow-intro h1 { font-size: clamp(3.4rem, 16vw, 5.3rem); }
    .workflow-slide, .workflow-slide__content { min-height: 280px; }
    .workflow-slide__shade { background: linear-gradient(0deg, rgba(18,17,15,.88) 0%, rgba(18,17,15,.35) 66%, rgba(18,17,15,.12)); }
    .workflow-slide__content { align-items: flex-end; padding-top: 1rem; padding-bottom: 4.25rem; }
    .workflow-slide__panel h2 { font-size: clamp(1.8rem, 8vw, 2.7rem); }
    .workflow-slide__panel p:last-child { font-size: .88rem; line-height: 1.35; }
    .workflow-controls { bottom: .75rem; }
    .workflow-moments > .container-xxl { grid-template-columns: 1fr; gap: 2rem; }
    .workflow-moments__intro { max-width: none; }
    .workflow-moments__grid { grid-template-columns: .72fr 1.28fr; grid-template-rows: repeat(2, minmax(0, 1fr)); }
    .workflow-rathaus > .container-xxl { grid-template-columns: 1fr; gap: 2rem; }
    .workflow-rathaus .wedding-rathaus-features__intro { max-width: none; }
    .workflow-rathaus .wedding-rathaus-feature { grid-template-columns: 1fr; }
    .workflow-rathaus .wedding-rathaus-feature__image { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) {
    .workflow-swiper .swiper-wrapper { transition-duration: 0ms !important; }
}
