.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;}} 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: 2.35rem; height: 2.35rem;} .bm-lightbox-nav--prev {left: -0.15rem;} .bm-lightbox-nav--next {right: -0.15rem;} .bm-lightbox-title {font-size: var(--text-sm);}}
.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;} .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 0 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);}}
.mpk-envelope {display: grid; grid-template-columns: repeat(3, var(--grid-track-fluid)); gap: var(--space-5); margin-top: var(--space-12);} .mpk-envelope__tile {position: relative; display: grid; gap: var(--space-2); align-content: start; padding: var(--space-8) var(--space-6); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; transition: var(--transition-base);} .mpk-envelope__tile::before {content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--color-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-base);} .mpk-envelope__tile:hover {border-color: var(--color-accent); box-shadow: var(--card-shadow-hover-soft); transform: var(--card-hover-transform);} .mpk-envelope__tile:hover::before {transform: scaleX(1);} .mpk-envelope__value {font-family: var(--font-display); font-size: var(--text-5xl); font-weight: var(--font-weight-extrabold); line-height: 0.95; letter-spacing: var(--tracking-tight); color: var(--color-text);} .mpk-envelope__value small {font-size: var(--text-2xl); font-weight: var(--font-weight-bold); color: var(--color-accent-text);} .mpk-envelope__label {font-size: var(--text-base); font-weight: var(--font-weight-semibold); color: var(--color-text);} .mpk-envelope__machine {font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--color-text-muted);} @media (max-width: 900px) {.mpk-envelope {grid-template-columns: repeat(2, var(--grid-track-fluid)); gap: var(--space-4);} .mpk-envelope__tile {padding: var(--space-6) var(--space-5);} .mpk-envelope__value {font-size: var(--text-4xl);}} @media (max-width: 420px) {.mpk-envelope__value {font-size: var(--text-3xl);}} .mpk-grid {display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-10);} @media (min-width: 640px) {.mpk-grid {grid-template-columns: repeat(2, var(--grid-track-fluid));}} @media (min-width: 1024px) {.mpk-grid--3 {grid-template-columns: repeat(3, var(--grid-track-fluid));}} .mpk-machine {position: relative; display: flex; flex-direction: column; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md); transition: transform var(--transition-base), box-shadow var(--glow-speed) var(--glow-ease), border-color var(--glow-speed) var(--glow-ease);} .mpk-machine:has(a[href]):is(:hover, :focus-within) {transform: var(--card-lift); box-shadow: var(--card-shadow-hover), var(--glow);} .mpk-machine__media {position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--color-bg-alt);} .mpk-machine__media img {width: 100%; height: 100%; object-fit: cover; transition: transform var(--card-img-zoom-speed) var(--card-img-zoom-ease);} .mpk-machine:has(a[href]):is(:hover, :focus-within) .mpk-machine__media img {transform: translateZ(0) scale(var(--card-img-zoom));} .mpk-machine__brand {position: absolute; left: var(--space-3); bottom: var(--space-3); display: inline-flex; align-items: center; gap: var(--space-2); max-width: calc(100% - var(--space-6)); padding: var(--space-1) var(--space-3); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--color-text-inverse); background: var(--scrim-media-chip-strong); backdrop-filter: blur(var(--blur-md)); border-radius: var(--radius-sm);} .mpk-machine__zoom {--media-zoom-size: 2.25rem; --media-zoom-icon-size: 1.1rem; --media-zoom-inset: var(--space-3); --media-zoom-layer: 4;} @media (hover: hover) {.mpk-machine:hover .mpk-machine__zoom {opacity: 1; transform: none;}} .mpk-machine:focus-within .mpk-machine__zoom {opacity: 1; transform: none;} .mpk-machine__zoom:is(:hover, :focus-visible) {background: var(--color-accent); color: var(--color-text-inverse); outline: none;} .mpk-machine__body {display: flex; flex-direction: column; gap: var(--space-3); flex: 1; padding: var(--space-6);} .mpk-machine__title {font-family: var(--font-display); font-size: var(--text-xl); font-weight: var(--font-weight-bold); line-height: 1.2; color: var(--color-text);} .mpk-machine__text {font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--color-text-muted);} .mpk-machine__tags {display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: auto; padding-top: var(--space-2);} .mpk-machine__tags span {padding: var(--space-1) var(--space-2); font-size: var(--text-xs); color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--radius-sm);} .mpk-machine__spec {padding-top: var(--space-3); border-top: 1px solid var(--color-border); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-snug); color: var(--color-accent-text);} @media (prefers-reduced-motion: reduce) {.mpk-machine:has(a[href]):is(:hover, :focus-within), .mpk-machine:has(a[href]):is(:hover, :focus-within) .mpk-machine__media img, .mpk-envelope__tile:hover {transform: none;} .mpk-machine, .mpk-machine__media img, .mpk-envelope__tile {transition: none;}}