.media-zoom-badge {position: absolute; top: var(--media-zoom-inset, var(--space-2)); right: var(--media-zoom-inset, var(--space-2)); z-index: var(--media-zoom-layer, 2); display: inline-flex; align-items: center; justify-content: center; width: var(--media-zoom-size, 2rem); height: var(--media-zoom-size, 2rem); padding: 0; border-radius: var(--badge-radius); color: var(--on-dark-text-high); background: var(--scrim-media-chip-strong); backdrop-filter: blur(var(--blur-sm)); border: 1px solid var(--on-dark-border-strong); pointer-events: none; opacity: 0; transform: translateY(-4px); transition: opacity var(--glow-speed) ease, transform var(--glow-speed) ease, background var(--glow-speed) ease, color var(--glow-speed) ease;} button.media-zoom-badge, a.media-zoom-badge {pointer-events: auto; cursor: zoom-in;} .media-zoom-badge svg {width: var(--media-zoom-icon-size, 1rem); height: var(--media-zoom-icon-size, 1rem);} @media (hover: hover) {[data-lightbox]:hover .media-zoom-badge, button.media-zoom-badge[data-lightbox]:hover {opacity: 1; transform: none;}} [data-lightbox]:focus-visible:not([data-focus-quiet]) .media-zoom-badge, button.media-zoom-badge[data-lightbox]:focus-visible:not([data-focus-quiet]) {opacity: 1; transform: none;} @media (hover: none) {.media-zoom-badge {opacity: 1; transform: none;}} @media (prefers-reduced-motion: reduce) {.media-zoom-badge {transform: none; transition: opacity var(--glow-speed) ease;}} @media print {.media-zoom-badge {display: none !important;}} :where(.media-caption) {position: absolute; left: 0; right: 0; bottom: 0; z-index: var(--media-caption-layer, 2); padding: var(--media-caption-pad, var(--space-2) var(--space-3)); text-align: start; background: var(--gallery-label-bg); backdrop-filter: blur(var(--gallery-label-blur)); box-shadow: var(--gallery-label-shadow); border-bottom-left-radius: var(--media-caption-radius, 0); border-bottom-right-radius: var(--media-caption-radius, 0); transform: translateY(101%); opacity: 0; transition: transform var(--glow-speed) var(--glow-ease), opacity var(--glow-speed) var(--glow-ease); pointer-events: none;} :where(.media-caption-text) {font-size: var(--media-caption-size, var(--text-sm)); font-weight: var(--font-weight-semibold); line-height: var(--media-caption-leading, 1.35); color: var(--gallery-label-text); display: -webkit-box; -webkit-line-clamp: var(--media-caption-lines, 2); -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere;} @media (hover: hover) {[data-lightbox]:hover .media-caption {opacity: 1; transform: none;}} [data-lightbox]:focus-visible:not([data-focus-quiet]) .media-caption {opacity: 1; transform: none;} @media (prefers-reduced-motion: reduce) {.media-caption {transform: none; transition: opacity var(--glow-speed) ease;}} body.bm-lightbox-open {overflow: hidden;} .bm-lightbox {position: fixed; inset: 0; z-index: var(--z-modal); display: none; --lightbox-stage-w: calc(var(--lightbox-stage-h) * var(--lightbox-aspect-w) / var(--lightbox-aspect-h));} .bm-lightbox.is-open {display: grid; place-items: center;} .bm-lightbox-backdrop {position: absolute; inset: 0; background: rgb(var(--c-scrim) / 0.7); backdrop-filter: blur(var(--blur-md)) saturate(0.9);} .bm-lightbox-panel {position: relative; z-index: 2; width: calc(var(--lightbox-stage-w) + 2 * var(--lightbox-frame-pad) + 2 * var(--lightbox-panel-pad)); max-width: min(97vw, var(--lightbox-max-w)); max-height: 96vh; padding: var(--lightbox-panel-pad);} .bm-lightbox-figure {margin: 0 auto; display: grid; gap: var(--space-3); width: 100%; max-width: 100%; background: linear-gradient(180deg, rgb(var(--c-scrim) / 0.84), rgb(var(--c-scrim) / 0.92)); border: 1px solid var(--lightbox-frame-border); border-radius: var(--lightbox-frame-radius); padding: var(--lightbox-frame-pad); box-shadow: var(--lightbox-frame-shadow);} .bm-lightbox-picture-wrap {width: 100%; aspect-ratio: var(--lightbox-aspect); position: relative; background: rgb(var(--c-scrim) / 0.94); border-radius: var(--lightbox-img-radius); overflow: hidden;} .bm-lightbox-picture-wrap::after {content: ""; position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: rgb(var(--c-scrim) / 0.4); backdrop-filter: blur(var(--blur-xs)); z-index: 2;} .bm-lightbox-picture-wrap.is-loading::after {display: flex; animation: bm-lightbox-spinner-pulse 1.8s ease-in-out infinite;} @keyframes bm-lightbox-spinner-pulse {0%, 100% {opacity: 0.4;} 50% {opacity: 1;}} .bm-lightbox-picture-wrap.is-loading::before {content: ""; position: absolute; inset: 0; margin: auto; width: 12px; height: 12px; border-radius: 50%; background: rgb(var(--c-red-light) / 0.8); z-index: 3; box-shadow: 0 0 24px rgb(var(--c-red-light) / 0.5); animation: bm-lightbox-spinner-bounce 0.8s ease-in-out infinite;} @keyframes bm-lightbox-spinner-bounce {0%, 100% {transform: scale(1); opacity: 0.8;} 50% {transform: scale(1.3); opacity: 1;}} .bm-lightbox-picture-wrap picture {display: contents;} .bm-lightbox-picture-wrap > img, .bm-lightbox-picture-wrap picture > img, .bm-lightbox-picture-wrap .bm-lightbox-monogram {position: absolute; inset: 0; width: 100%; height: 100%;} .bm-lightbox-picture-wrap img {display: block; object-fit: contain; border-radius: var(--lightbox-img-radius); opacity: 0; transition: opacity 320ms cubic-bezier(0.2, 0.8, 0.2, 1);} .bm-lightbox-picture-wrap.is-loaded img, .bm-lightbox-picture-wrap.is-loaded .bm-lightbox-img {opacity: 1;} .bm-lightbox-monogram {display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: var(--font-weight-bold); font-size: clamp(4rem, 22vh, 10rem); letter-spacing: var(--tracking-snug); line-height: 1; color: var(--color-accent-text); background: radial-gradient(120% 120% at 30% 20%, rgb(var(--c-ember) / 0.18), transparent 60%), var(--color-bg-alt);} .bm-lightbox-meta {display: grid; gap: var(--space-2); color: var(--on-dark-text); min-width: 0;} .bm-lightbox-counter {justify-self: start; font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--on-dark-text-soft);} .bm-lightbox-body {display: grid; gap: var(--space-1);} .bm-lightbox-title, .bm-lightbox-caption {overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 2;} .bm-lightbox-badge {justify-self: start; font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase; padding: 0.28rem 0.58rem; border-radius: var(--badge-radius); border: 1px solid var(--on-dark-border-glass); background: var(--on-dark-surface-glass);} .bm-lightbox-title {font-size: var(--text-base); line-height: 1.35;} .bm-lightbox-caption {font-size: var(--text-sm); color: var(--on-dark-text-soft);} .bm-lightbox.is-rich-meta {--lightbox-stage-h: min(72vh, calc(96vh - 19rem), calc((97vw - 3rem) * var(--lightbox-aspect-h) / var(--lightbox-aspect-w)), calc(var(--lightbox-max-w) * var(--lightbox-aspect-h) / var(--lightbox-aspect-w)));} .bm-lightbox-contact {display: grid; gap: var(--space-2);} .bm-lightbox-contact .status-tag {justify-self: start;} .bm-lightbox-contact__name {font-size: var(--text-xl); font-weight: var(--font-weight-semibold); line-height: 1.2; color: var(--on-dark-text);} .bm-lightbox-contact__role {font-size: var(--text-sm); font-weight: var(--font-weight-medium); color: var(--on-dark-text-soft); margin-top: calc(-1 * var(--space-1));} .bm-lightbox-contact__teaser {display: flex; align-items: flex-start; gap: 0.55em; font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--on-dark-text-high); max-width: 46ch;} .bm-lightbox-contact__teaser > span {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em;} .bm-lightbox-contact__teaser-icon {width: 1.05rem; height: 1.05rem; flex-shrink: 0; margin-top: 0.14em; color: var(--color-success);} .bm-lightbox-contact__links {display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-1);} .bm-lightbox-contact__link {display: inline-flex; align-items: center; gap: 0.5em; font-size: var(--text-sm); font-weight: var(--font-weight-semibold); padding: 0.55rem 0.9rem; border-radius: var(--badge-pill-radius); text-decoration: none; transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);} .bm-lightbox-contact__link svg {width: 1rem; height: 1rem; flex-shrink: 0;} .bm-lightbox-contact__link--phone {color: var(--on-dark-text); background: var(--color-accent); border: 1px solid transparent;} .bm-lightbox-contact__link--phone:hover, .bm-lightbox-contact__link--phone:focus-visible {background: var(--color-accent-light);} .bm-lightbox-contact__link--email {color: var(--on-dark-text); background: var(--on-dark-surface-glass); border: 1px solid var(--on-dark-border-glass);} .bm-lightbox-contact__link--email:hover, .bm-lightbox-contact__link--email:focus-visible {background: rgb(var(--c-red-light) / 0.24); border-color: var(--on-dark-border-bright); color: var(--on-dark-text);} .bm-lightbox-close {position: absolute; top: -0.4rem; right: -0.4rem; width: 2.45rem; height: 2.45rem; z-index: 3; border-radius: var(--radius-full); background: rgb(var(--c-scrim) / 0.84); border: 1px solid var(--on-dark-border-glass); box-shadow: 0 8px 24px rgb(var(--c-black) / 0.4); color: var(--on-dark-text);} .bm-lightbox-close span, .bm-lightbox-close span::before {content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); border-radius: 2px;} .bm-lightbox-close span::before {transform: translate(-50%, -50%) rotate(-90deg);} .bm-lightbox-close:hover, .bm-lightbox-close:focus-visible {background: rgb(var(--c-red-light) / 0.26); border-color: var(--on-dark-border-bright);} .bm-lightbox-close:focus-visible {outline-offset: -3px;} .bm-lightbox-close[data-focus-quiet]:focus-visible {outline: none;} .bm-lightbox-nav {position: absolute; top: 50%; transform: translateY(-50%); width: 2.7rem; height: 2.7rem; z-index: 3; border-radius: var(--radius-full); border: 1px solid var(--on-dark-border-glass); background: rgb(var(--c-scrim) / 0.78); color: var(--on-dark-text); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgb(var(--c-black) / 0.35); transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);} .bm-lightbox-nav--prev {left: -0.25rem;} .bm-lightbox-nav--next {right: -0.25rem;} .bm-lightbox-nav:hover, .bm-lightbox-nav:focus-visible {background: rgb(var(--c-red-light) / 0.3); border-color: var(--on-dark-border-bright);} @media (hover: hover) {.bm-lightbox-nav:hover {transform: translateY(calc(-50% - 1px));}} .bm-lightbox-nav:focus-visible {transform: translateY(calc(-50% - 1px));} .bm-lightbox-nav:disabled {opacity: 0.45; cursor: not-allowed;} @media (max-width: 767px) {.bm-lightbox {--lightbox-panel-pad: var(--space-2);} .bm-lightbox-panel {max-width: 96vw;} .bm-lightbox-nav {width: var(--button-min-height); height: var(--button-min-height);} .bm-lightbox-nav::after {content: ""; position: absolute; inset: -0.375rem; border-radius: inherit;} .bm-lightbox-nav--prev {left: -0.15rem;} .bm-lightbox-nav--next {right: -0.15rem;} .bm-lightbox-title {font-size: var(--text-sm);}} @media (max-width: 767px) and (orientation: portrait) {.bm-lightbox:not(.is-rich-meta) {--lightbox-aspect-w: 4; --lightbox-aspect-h: 5; --lightbox-aspect: var(--lightbox-aspect-w) / var(--lightbox-aspect-h); --lightbox-stage-h: min(calc(96vh - 12.5rem), calc((96vw - 2 * var(--lightbox-panel-pad) - 2 * var(--lightbox-frame-pad)) * var(--lightbox-aspect-h) / var(--lightbox-aspect-w)));}} .bm-lightbox-loupe, .bm-lightbox-lens {position: absolute; top: 0; left: 0; z-index: var(--lightbox-loupe-layer); pointer-events: none; opacity: 0; transition: opacity var(--lightbox-loupe-fade);} .bm-lightbox-loupe.is-active, .bm-lightbox-lens.is-active {opacity: 1;} .bm-lightbox-loupe {width: var(--lightbox-loupe-w); height: var(--lightbox-loupe-h); overflow: hidden; border: 1px solid var(--lightbox-loupe-border); border-radius: var(--lightbox-loupe-radius); background: var(--lightbox-loupe-bg); box-shadow: var(--lightbox-loupe-shadow); transform: translate3d(var(--loupe-tx, 0px), var(--loupe-ty, 0px), 0);} .bm-lightbox-lens {width: var(--lens-w, 0px); height: var(--lens-h, 0px); border: 1px solid var(--lightbox-lens-border); border-radius: var(--lightbox-lens-radius); background: var(--lightbox-lens-fill); box-shadow: var(--lightbox-lens-shadow); transform: translate3d(var(--lens-tx, 0px), var(--lens-ty, 0px), 0);} .bm-lightbox-loupe-frame {position: absolute; inset: 0;} .bm-lightbox-loupe-frame picture {display: contents;} .bm-lightbox-loupe-frame img {position: absolute; top: 0; left: 0; display: block; max-width: none; width: var(--loupe-img-w, auto); height: var(--loupe-img-h, auto); transform: translate3d(var(--loupe-img-x, 0px), var(--loupe-img-y, 0px), 0);} @media (hover: hover) and (pointer: fine) {.bm-lightbox.has-loupe .bm-lightbox-picture-wrap {cursor: zoom-in;}} @media (hover: none), (pointer: coarse) {.bm-lightbox-loupe, .bm-lightbox-lens {display: none;}} @media (prefers-reduced-motion: reduce) {.bm-lightbox-loupe, .bm-lightbox-lens {transition: none;}} @media print {.bm-lightbox-loupe, .bm-lightbox-lens {display: none !important;}}
.u-mt-2 {margin-top: var(--space-2);} .u-mt-4 {margin-top: var(--space-4);} .u-mt-6 {margin-top: var(--space-6);} .u-mt-8 {margin-top: var(--space-8);} .u-mt-10 {margin-top: var(--space-10);} .u-mt-12 {margin-top: var(--space-12);} .u-mb-4 {margin-bottom: var(--space-4);} .u-mb-10 {margin-bottom: var(--space-10);} .u-mb-12 {margin-bottom: var(--space-12);} .u-measure {max-width: var(--measure); margin-inline: auto;} .u-measure-text {max-width: var(--measure-text);} .u-text-accent {color: var(--color-accent-text);} .u-text-inverse {color: var(--color-text-inverse);} .u-text-muted {color: var(--color-text-muted);} .u-text-sm {font-size: var(--text-sm);} .u-text-5xl {font-size: var(--text-5xl);} .u-link-inherit {color: inherit; text-decoration: underline;} .u-w-full {width: 100%;} .u-inline-flex {display: inline-flex;} .u-justify-start {justify-content: flex-start;} .error-stage {min-height: 60vh; display: flex; align-items: center;} .mpk-envelope__value, .proc-proofbar strong, .tl-card-year, .cert-library-row--primary .cert-library-row-norm, .footer-contact-link[href^="tel:"] {font-family: var(--font-mono); font-variant-numeric: tabular-nums; word-spacing: -0.3em;} :is(.mpk-envelope__value, .proc-proofbar strong, .tl-card-year, .cert-library-row--primary .cert-library-row-norm, .footer-contact-link[href^="tel:"]) * {word-spacing: -0.3em;} .rubric {display: flex; align-items: center; gap: var(--space-5); padding-block: var(--space-3); border-bottom: 2px solid var(--color-gray-200); animation: fadeInUp 0.5s ease-out;} .rubric__text {flex: 0 1 auto; min-width: 0;} .rubric__title {font-size: var(--text-2xl); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-tight); color: var(--color-text); margin: 0 0 var(--space-1) 0;} .rubric__meta {font-size: 13px; font-weight: var(--font-weight-medium); color: var(--color-text-muted); margin: 0; text-transform: uppercase; letter-spacing: var(--tracking-snug);} .rubric__rule {flex: 1 1 auto; height: 1px; background: linear-gradient(90deg, var(--color-gray-200) 0%, var(--color-accent-light) 50%, var(--color-gray-200) 100%); opacity: 0.6; animation: shimmer 2s ease-in-out infinite;} @keyframes shimmer {0%, 100% {opacity: 0.6;} 50% {opacity: 1;}} @keyframes fadeInUp {from {opacity: 0; transform: translateY(12px);} to {opacity: 1; transform: translateY(0);}}
form.is-loading {opacity: 0.65; pointer-events: none;} .form-char-counter {display: block; text-align: right; font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-1); transition: color var(--transition-fast); user-select: none;} .form-char-counter--warn {color: var(--color-warning-dark);} .form-char-counter--limit {color: var(--color-error-strong); font-weight: var(--font-weight-semibold);} .form-file-upload {display: flex; flex-direction: column; gap: var(--space-1);} .form-file-trigger {display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); border: 1.5px dashed var(--field-border); border-radius: var(--field-radius); background: var(--color-bg-alt); color: var(--color-text-muted); font-size: var(--text-sm); font-family: var(--font-base); cursor: pointer; width: 100%; box-shadow: var(--field-shadow); transition: border-color var(--glow-speed) var(--glow-ease), background var(--glow-speed) var(--glow-ease), box-shadow var(--glow-speed) var(--glow-ease), color var(--glow-speed) var(--glow-ease), transform var(--glow-speed) var(--glow-ease);} .form-file-trigger:hover {border-color: var(--field-hover-border); background: var(--field-hover-bg); box-shadow: var(--upload-hover-shadow); color: var(--color-accent-text); transform: translate3d(0, -1px, 0);} .form-file-trigger:focus-visible {border-color: var(--field-hover-border); background: var(--field-hover-bg); box-shadow: var(--upload-hover-shadow); color: var(--color-accent-text); transform: translate3d(0, -1px, 0); outline: none;} .form-file-trigger input[type="file"] {display: none;} .form-file-selected {display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); min-height: 1.4em;} .form-file-hint {font-size: var(--text-xs); color: var(--color-text-light);} .form-file-desc {margin: 0; font-size: var(--text-sm); color: var(--color-text-muted);} .application-form-wrap {position: relative; isolation: isolate; overflow: hidden; background-clip: padding-box; background: radial-gradient(80% 70% at 100% 0%, rgb(var(--c-wash) / 0.88), transparent 52%), linear-gradient(180deg, var(--color-bg), var(--color-bg-alt)); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-10) var(--space-8); max-width: 720px; margin: 0 auto; box-shadow: var(--card-shadow);} .application-form-wrap > * {position: relative; z-index: 1;} @media (max-width: 640px) {.application-form-wrap {padding: var(--space-6) var(--space-5);}} .application-form-wrap--info {display: flex; justify-content: center; max-width: 560px; padding: var(--space-8); text-align: center;} .application-form-title {font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--font-weight-bold); color: var(--color-text); margin-bottom: var(--space-2);} .application-form-subtitle {font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--leading-relaxed); margin-bottom: var(--space-8);} .application-form-wrap.apply-card {max-width: 1120px; padding: 0; overflow: clip; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "main" "journey"; background: linear-gradient(180deg, var(--color-bg), var(--color-bg-alt));} .apply-card__main {grid-area: main; min-width: 0; padding: var(--space-10) var(--space-10) var(--space-8);} .apply-card .application-form-subtitle {margin-bottom: var(--space-6);} .application-form-wrap.apply-card > .apply-card__media {grid-area: media; position: relative; overflow: hidden; min-height: 132px; background: var(--color-primary); box-shadow: var(--band-edge);} .apply-card__picture, .apply-card__img {position: absolute; inset: 0; width: 100%; height: 100%;} .apply-card__img {object-fit: cover; object-position: var(--img-focus, 50% 35%);} .apply-card__media::after {content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(var(--c-black) / 0.1), rgb(var(--c-black) / 0.55));} .apply-card__chip {display: inline-block; max-width: calc(100% - 2 * var(--space-5)); line-height: var(--leading-snug); padding: var(--space-1) var(--space-3); border-radius: var(--badge-radius); background: rgb(var(--c-black) / 0.55); backdrop-filter: blur(var(--blur-sm)); border: 1px solid var(--on-dark-border-soft); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-snug); color: var(--on-dark-text-high);} .apply-card__media > .apply-card__chip {position: absolute; left: var(--space-5); bottom: var(--space-4); z-index: 1;} .apply-card__chip-dot {display: inline-block; vertical-align: 0.05em; margin-right: var(--space-2); width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--color-success); --pulse-ring: rgb(var(--c-success) / 0.5); box-shadow: 0 0 0 0 var(--pulse-ring); animation: badge-pulse 2.4s ease-out infinite;} .apply-card__chip-title {display: none;} .apply-card--hub .apply-card__chip-title {display: inline;} .form-area-job {display: inline-flex; align-items: center; gap: var(--space-1); margin-top: var(--space-2); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-text); text-underline-offset: 3px;} .form-area-job[hidden] {display: none;} .apply-journey {grid-area: journey; margin: 0 var(--space-10) var(--space-10); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-primary); box-shadow: var(--band-edge); color: var(--on-dark-text);} .apply-journey .apply-card__chip {display: none;} .apply-journey__label {display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-5); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--on-dark-text-muted);} .apply-journey__label::before {content: ""; flex: none; width: var(--space-6); height: 2px; background: var(--color-accent);} .apply-journey__steps {list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4);} .apply-journey__step {position: relative; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); align-items: start;} .apply-journey__step + .apply-journey__step::before {content: ""; position: absolute; left: calc(1.125rem - 1px); top: calc(-1 * var(--space-4)); width: 2px; height: var(--space-4); background: var(--on-dark-border-strong);} .apply-journey__marker {width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--color-accent); background: rgb(var(--c-black) / 0.35); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; color: var(--on-dark-text);} .apply-journey__step--goal .apply-journey__marker {background: var(--color-accent); box-shadow: 0 0 0 4px rgb(var(--c-red) / 0.25);} .apply-journey__marker .bm-icon {width: 1.1rem; height: 1.1rem;} .apply-journey__body {display: block; padding-top: 0.15rem;} .apply-journey__title {display: block; font-family: var(--font-display); font-size: var(--text-base); font-weight: var(--font-weight-semibold); line-height: var(--leading-tight); color: var(--on-dark-text);} .apply-journey__text {display: block; margin-top: 2px; font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--on-dark-text-soft);} @media (max-width: 640px) {.apply-card__main {padding: var(--space-6) var(--space-5);} .apply-journey {margin: 0 var(--space-5) var(--space-6); padding: var(--space-5);}} @media (max-width: 1023.98px) {.application-form-wrap.apply-card--noimg > .apply-card__media {display: none;}} @media (min-width: 1024px) {.application-form-wrap.apply-card {grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "aside main";} .application-form-wrap.apply-card--noimg {grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);} .application-form-wrap.apply-card > .apply-card__media {grid-area: aside; min-height: 100%;} .apply-card__img {object-position: var(--img-focus, 50% 40%);} .apply-card__media::after {background: linear-gradient(180deg, rgb(var(--c-black) / 0.45) 0%, rgb(var(--c-black) / 0) 22%, rgb(var(--c-black) / 0.15) 45%, rgb(var(--c-black) / 0.86) 78%, rgb(var(--c-black) / 0.92) 100%);} .apply-card__media > .apply-card__chip {left: var(--space-6); top: var(--space-6); bottom: auto;} .apply-card__chip-title {display: inline;} .application-form-wrap.apply-card > .apply-journey {grid-area: aside; align-self: end; z-index: 2; margin: 0; padding: var(--space-8); border-radius: 0; background: none; box-shadow: none;} .application-form-wrap.apply-card--noimg > .apply-journey {align-self: stretch;} .apply-card--noimg .apply-journey__inner {position: sticky; top: calc(var(--nav-height) + var(--space-10));} .apply-card--noimg .apply-journey .apply-card__chip {display: inline-block; margin-bottom: var(--space-8);}} .apply-card--stage {--apply-stage-top: calc(var(--header-offset) + var(--space-6)); --apply-stage-h: min(calc(100svh - var(--apply-stage-top) - var(--space-6)), 56rem);} .application-form-wrap.apply-card--stage > .apply-card__media {min-height: 0; aspect-ratio: 16 / 7;} .apply-card--stage > .apply-card__media::after {content: none;} .apply-card__stage, .apply-card__visual {position: absolute; inset: 0;} .apply-card__visual[hidden] {display: none;} .apply-card__visual:not([data-visual="default"]) {animation: apply-visual-in var(--transition-slow) both;} @keyframes apply-visual-in {from {opacity: 0;}} .apply-card__stage::after {content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(var(--c-black) / 0.1), rgb(var(--c-black) / 0.55));} .contact-direct__title {margin: 0 0 var(--space-5); font-family: var(--font-display); font-size: var(--text-xl); font-weight: var(--font-weight-bold); line-height: var(--leading-tight);} .contact-direct .contact-card {gap: var(--space-3);} .contact-direct .contact-card__badge {width: var(--space-10); height: var(--space-10); background: var(--on-dark-surface-strong); border-color: var(--on-dark-border); color: var(--on-dark-text);} .contact-direct .contact-card__row:hover .contact-card__badge {background: var(--color-accent); border-color: var(--color-accent);} .contact-direct a.contact-card__value:hover {color: var(--on-dark-text-high);} .contact-direct__link {margin: var(--space-6) 0 0;} @media (min-width: 1024px) {.application-form-wrap.apply-card--stage > .apply-card__media {aspect-ratio: auto; overflow: clip;} .apply-card--stage .apply-card__stage {position: sticky; top: var(--apply-stage-top); height: var(--apply-stage-h); max-height: 100%;} .apply-card--stage .apply-card__stage::after {background: linear-gradient(180deg, rgb(var(--c-black) / 0.35) 0%, rgb(var(--c-black) / 0) 22%, rgb(var(--c-black) / 0.15) 40%, rgb(var(--c-black) / 0.86) 72%, rgb(var(--c-black) / 0.94) 100%);} .application-form-wrap.apply-card--stage > .contact-direct {align-self: start; position: sticky; top: var(--apply-stage-top); min-height: min(var(--apply-stage-h), 100%); display: flex; flex-direction: column; justify-content: flex-end;}} @media (prefers-reduced-motion: reduce) {.apply-card__visual:not([data-visual="default"]) {animation: none;}} .form-file-trigger.form-file-trigger--drop {display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-4); padding: var(--space-5); border-width: 2px; border-radius: var(--radius-lg); background: var(--field-bg); color: var(--color-text); text-align: left;} .apply-drop__icon {width: 3.25rem; height: 3.25rem; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--color-accent-bg); color: var(--color-accent-text);} .apply-drop__icon .bm-icon {width: 1.625rem; height: 1.625rem;} .apply-drop__title {display: block; font-size: var(--text-base); font-weight: var(--font-weight-semibold); color: var(--color-text);} .apply-drop__title u {color: var(--color-accent-text); text-underline-offset: 3px;} .apply-drop__sub {display: block; margin-top: 2px; font-size: var(--text-sm); color: var(--color-text-muted);} .apply-drop__sub b {color: var(--color-text); font-weight: var(--font-weight-semibold);} .form-file-trigger--drop.is-dragover {border-color: var(--color-accent); border-style: solid; background: var(--color-accent-bg); box-shadow: var(--upload-hover-shadow);} .apply-drop__title--touch {display: none;} @media (hover: none), (max-width: 640px) {.apply-drop__title--pointer {display: none;} .apply-drop__title--touch {display: block;} .form-file-trigger.form-file-trigger--drop {gap: var(--space-3); padding: var(--space-4);} .apply-drop__icon {width: 2.75rem; height: 2.75rem;}} .apply-recipient {display: flex; align-items: center; gap: var(--space-3); margin: var(--space-2) 0 var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg);} .apply-recipient__avatar {flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--color-primary); color: var(--on-dark-text); font-size: var(--text-sm); font-weight: var(--font-weight-bold); box-shadow: 0 0 0 2px var(--color-bg), 0 0 0 3.5px var(--color-accent);} .apply-recipient__avatar picture, .apply-recipient__img {width: 100%; height: 100%;} .apply-recipient__img {object-fit: cover; object-position: top center;} .apply-recipient__text {font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--color-text-muted);} .apply-recipient__text strong {color: var(--color-text); font-weight: var(--font-weight-semibold);} .apply-recipient__role {display: block;} @media (prefers-reduced-motion: reduce) {.apply-card__chip-dot {animation: none;}} .form-required-legend {font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--leading-relaxed); margin-bottom: var(--space-6);} .subject-hints .subject-hint[hidden] {display: none;} .form-input-hint {display: block; margin-top: var(--space-1); font-size: var(--text-xs); color: var(--color-text-light); line-height: var(--leading-relaxed);} .form-group:focus-within .form-label {color: var(--color-accent-text);} .subject-hint:not(.subject-hint--panel) {display: flex; flex-direction: column; gap: var(--space-3); margin: 0 0 var(--space-5); padding: var(--space-4); background: var(--color-accent-bg); border: 1px solid var(--color-accent-bg-hover); border-left: 3px solid var(--color-accent); border-radius: var(--radius-md);} .subject-hint-line, .subject-hint-intro, .subject-hint-tail {margin: 0; font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--leading-relaxed);} .subject-hint-help {font-size: var(--text-sm);} .subject-hint-summary {cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--font-weight-semibold); color: var(--color-accent-text);} .subject-hint-summary::-webkit-details-marker {display: none;} .subject-hint-summary::before {content: "›"; display: inline-block; font-size: 1.15em; line-height: 1; transition: transform var(--transition-fast);} .subject-hint-help[open] > .subject-hint-summary::before {transform: rotate(90deg);} .subject-hint-body {display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3);} .subject-hint-list {margin: 0; padding-left: var(--space-5); display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-sm); color: var(--color-text-muted);} .subject-hint-list li {line-height: var(--leading-relaxed);} .subject-hint-reassure {margin: 0; font-size: var(--text-xs); color: var(--color-text-light); font-style: italic;} .subject-hint-template {align-self: flex-start; display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); font-family: var(--font-base); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-text); background: transparent; border: 1px solid var(--color-accent); border-radius: var(--radius-md); cursor: pointer; transition: background var(--transition-fast), color var(--transition-fast);} .subject-hint-template:hover, .subject-hint-template:focus-visible {background: var(--color-accent); color: var(--color-text-inverse); outline: none;} .subject-hint--panel {margin: 0 0 var(--space-5);} .subject-panel {display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-lg);} .subject-panel-title {margin: 0; font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--font-weight-bold); color: var(--color-text);} .subject-panel-body {margin: 0; font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--leading-relaxed);} .subject-panel-cta {margin-top: var(--space-1);} .subject-panel .open-badge {margin: 0;} @media (prefers-reduced-motion: reduce) {.subject-hint-summary::before, .subject-hint-template {transition: none;}} .apply-recipient[hidden], .subject-steps[hidden] {display: none;} .apply-recipient__avatars {display: flex; flex: none;} .apply-recipient--group .apply-recipient__avatar + .apply-recipient__avatar {margin-left: calc(-1 * var(--space-3));} .subject-steps {margin: 0 0 var(--space-5); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg-alt);} .subject-steps__title {margin: 0 0 var(--space-3); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-text);} .subject-steps__list {margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-3);} .subject-steps__step {display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); align-items: start;} .subject-steps__marker {width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--color-accent-bg); color: var(--color-accent-text); font-size: var(--text-xs); font-weight: var(--font-weight-bold);} .subject-steps__body {font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--color-text-muted);} .subject-steps__body strong {display: block; color: var(--color-text); font-weight: var(--font-weight-semibold);} .contact-form[data-subject="allgemein"] .form-file-trigger--drop, .contact-form[data-subject="bewerbung"] .form-file-trigger--drop {gap: var(--space-3); padding: var(--space-3) var(--space-4); border-width: 1px;} .contact-form[data-subject="allgemein"] .apply-drop__icon, .contact-form[data-subject="bewerbung"] .apply-drop__icon {width: 2.25rem; height: 2.25rem;} .contact-form[data-subject="allgemein"] .apply-drop__title, .contact-form[data-subject="bewerbung"] .apply-drop__title {font-size: var(--text-sm); font-weight: var(--font-weight-medium);} .form-nudge {position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; padding: var(--space-4);} .form-nudge[hidden] {display: none;} body.form-nudge-open {overflow: hidden;} .form-nudge__backdrop {position: absolute; inset: 0; background: rgb(var(--c-scrim) / 0.72);} .form-nudge__panel {position: relative; width: min(var(--form-nudge-width), 100%); max-height: 90vh; overflow-y: auto; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-bg); box-shadow: var(--shadow-2xl);} .form-nudge__close {position: absolute; top: var(--space-2); right: var(--space-2); width: var(--space-8); height: var(--space-8); padding: 0; border: 0; border-radius: var(--radius-full); background: none; cursor: pointer;} .form-nudge__close:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .form-nudge__close::before, .form-nudge__close::after {content: ""; position: absolute; top: 50%; left: 50%; width: var(--space-4); height: 2px; background: var(--color-text-muted);} .form-nudge__close::before {transform: translate(-50%, -50%) rotate(45deg);} .form-nudge__close::after {transform: translate(-50%, -50%) rotate(-45deg);} .form-nudge__title {margin: 0 0 var(--space-2); padding-right: var(--space-8); font-size: var(--text-lg); font-weight: var(--font-weight-semibold); color: var(--color-text);} .form-nudge__body {margin: 0 0 var(--space-4); font-size: var(--text-sm); color: var(--color-text-muted);} .form-nudge__files {margin: 0 0 var(--space-4); min-height: var(--space-5); font-size: var(--text-sm); color: var(--color-text-muted);} .form-nudge__files--error {color: var(--color-error-strong);} .form-nudge__actions {display: flex; flex-wrap: wrap; gap: var(--space-3);} .form-nudge__primary {flex: 1 1 auto;} @media (max-width: 640px) {.form-nudge {align-items: flex-start; padding-top: var(--space-16);} .form-nudge__actions {flex-direction: column;} .form-nudge__actions .btn {width: 100%;}}