.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[hidden], .bm-lightbox-counter[hidden] {display: none;} @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;}}
.cert-seal-item {position: relative; overflow: hidden;} .cert-seal-item::before {content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--color-accent);} .cert-seal-class {display: block; font-size: var(--text-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-accent-text); margin-top: var(--space-1);} .cert-library {display: flex; flex-direction: column; gap: var(--space-10);} .cert-library-section {border-top: 1px solid var(--on-dark-border-faint); padding-top: var(--space-8);} .cert-library-section-hd {display: flex; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-6);} .cert-library-section-hd > i {width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgb(var(--c-ember-dark) / 0.1); border-radius: var(--radius-lg); color: var(--color-accent-text); font-size: var(--text-sm); margin-top: 2px;} .cert-library-section-title {font-size: var(--text-xl); font-weight: var(--font-weight-bold); color: var(--on-dark-text); margin: 0 0 var(--space-1); line-height: 1.3;} .cert-library-section-subtitle {font-size: var(--text-sm); color: var(--on-dark-text-muted); margin: 0;} .cert-library-rows {display: flex; flex-direction: column;} .cert-library-row {display: grid; grid-template-columns: 1fr; gap: var(--space-2); padding: var(--space-5) 0; border-bottom: 1px solid var(--on-dark-border-faint); align-items: center;} @media (min-width: 800px) {.cert-library-row {grid-template-columns: minmax(200px, 1.6fr) minmax(160px, 2fr) auto auto; gap: var(--space-4) var(--space-6); padding-inline: var(--space-4); margin-inline: calc(-1 * var(--space-4)); border-radius: var(--radius-lg); transition: background var(--transition-base);} .cert-library-row:hover {background: var(--on-dark-surface-faint);}} .cert-library-row-norm {font-size: var(--text-base); font-weight: var(--font-weight-semibold); color: var(--on-dark-text); line-height: 1.3;} .cert-library-row--primary .cert-library-row-norm {color: var(--on-dark-text); font-weight: var(--font-weight-bold);} @media (min-width: 800px) {.cert-library-row--primary {background: rgb(var(--c-ember-dark) / 0.05); box-shadow: inset 2px 0 0 var(--color-accent);} .cert-library-row--primary:hover {background: rgb(var(--c-ember-dark) / 0.09);}} .cert-library-row-scope {font-size: var(--text-sm); color: var(--on-dark-text-muted); line-height: var(--leading-relaxed);} .cert-library-row-body {display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-2); font-size: var(--text-xs);} .cert-library-row-body-ico {color: var(--color-accent-text); font-size: 0.85em;} .cert-library-row-body strong {color: var(--on-dark-text-soft); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide);} .cert-library-row-body-full {color: var(--on-dark-text-muted);} .cert-library-row-badges {display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center;} .cert-badge {display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 4px; font-size: 0.7rem; font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide); white-space: nowrap;} .cert-badge--valid {background: rgb(var(--c-success-light) / 0.08); border: 1px solid rgb(var(--c-success-light) / 0.18); color: var(--color-success-border);} .cert-badge--lang {background: var(--on-dark-surface); border: 1px solid var(--on-dark-border); color: var(--on-dark-text-muted);} .cert-badge--alt {gap: 0.3em; background: transparent; border: 1px solid var(--on-dark-border); color: var(--on-dark-text-soft); text-decoration: none;} .cert-badge--alt svg {width: 1em; height: 1em;} .cert-badge--alt:hover, .cert-badge--alt:focus-visible {border-color: var(--on-dark-text-muted); color: var(--on-dark-text);} .cert-badge--personal {background: rgb(var(--c-personal) / 0.08); border: 1px solid rgb(var(--c-personal) / 0.15); color: rgb(var(--c-personal-ink));} .cert-badge--reg {background: var(--on-dark-surface); border: 1px solid var(--on-dark-border); color: var(--on-dark-text-soft); font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0;} .cert-library-row--preview {grid-template-columns: 4.5rem 1fr;} .cert-library-row-sheet {position: relative; display: block; width: 4rem; aspect-ratio: 800 / 1131; overflow: hidden; border: 1px solid var(--on-dark-border-strong); border-radius: var(--radius-sm); background: var(--on-dark-surface); box-shadow: var(--shadow-sm); grid-row: span 3; text-decoration: none; transition: border-color var(--transition-base), box-shadow var(--transition-base);} .cert-library-row-sheet img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform var(--card-img-zoom-speed) var(--card-img-zoom-ease);} .cert-library-row-sheet-cue {position: absolute; inset-inline: 0; bottom: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-1) 0; background: var(--glass-on-dark-bg); color: var(--on-dark-text); font-size: var(--text-xs); opacity: 0; transition: opacity var(--transition-fast);} @media (hover: hover) and (pointer: fine) {.cert-library-row-sheet:hover img {transform: scale(var(--card-img-zoom));} .cert-library-row-sheet:hover .cert-library-row-sheet-cue {opacity: 1;}} .cert-library-row-sheet:focus-visible .cert-library-row-sheet-cue {opacity: 1;} .cert-library-row-sheet[data-focus-quiet]:focus-visible {outline: none;} @media (prefers-reduced-motion: reduce) {.cert-library-row-sheet:hover img, .cert-library-row-sheet:focus-visible img {transform: none;}} .cert-library-row--preview > .btn {grid-column: 1 / -1; justify-self: start;} @media (min-width: 800px) {.cert-library-row--preview {grid-template-columns: 4.5rem minmax(180px, 1.6fr) minmax(160px, 2fr) auto auto;} .cert-library-row--preview > .btn {grid-column: auto; justify-self: auto;} .cert-library-row--preview .cert-library-row-sheet {grid-row: 1;} .cert-library-row {transition: background var(--transition-base), box-shadow var(--transition-base);} .cert-library-row:has(.cert-library-row-sheet:hover), .cert-library-row:has(.btn:hover), .cert-library-row:has(.cert-library-row-sheet:focus-visible), .cert-library-row:has(.btn:focus-visible) {background: var(--on-dark-surface-faint); box-shadow: var(--shadow-md);} .cert-library-row:has(.cert-library-row-sheet:hover) .cert-library-row-sheet, .cert-library-row:has(.cert-library-row-sheet:focus-visible) .cert-library-row-sheet {border-color: var(--color-accent-text); box-shadow: var(--shadow-md);}} .cert-library-hub {container: cert-hub / inline-size;} .cert-stage {display: none;} .cert-library-row-select {display: none;} @container cert-hub (min-width: 68rem) {.cert-library-hub__body {display: grid; grid-template-columns: minmax(0, 1fr) 19rem; column-gap: var(--space-12); align-items: start;} .cert-library-hub .cert-badge--reg, .cert-library-hub .cert-badge--lang {display: none;} .cert-library-row.is-staged {background: var(--on-dark-surface-faint); box-shadow: inset 2px 0 0 var(--color-accent);} .cert-library-hub .has-stage-selector {cursor: pointer;} .cert-library-hub .has-stage-selector > span.cert-library-row-norm {display: none;} .cert-library-hub .cert-library-row-select {display: block; padding: var(--space-2) 0; min-height: var(--space-12); border: 0; border-radius: var(--radius-sm); background: transparent; font-family: inherit; text-align: start; cursor: pointer;} .cert-library-row-select:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 4px;} .cert-library-row.is-pinned {background: var(--on-dark-surface); box-shadow: var(--row-marker);} .cert-library-row.is-pinned .cert-library-row-select {color: var(--color-accent-text);} .cert-stage {display: block; height: 100%;} .cert-stage__frame {position: sticky; top: calc(var(--media-travel-top) + var(--space-3)); display: grid;} .cert-stage__item {grid-area: 1 / 1; align-self: start; display: none; margin: 0; opacity: 0; transition: opacity var(--transition-slow);} .cert-stage__item:is(.is-active, .is-leaving, .is-near) {display: block;} .cert-stage__item.is-active {opacity: 1; z-index: 1;} .cert-stage__card {padding: var(--space-5); border: 1px solid var(--carousel-card-border); border-radius: var(--carousel-card-radius); background: var(--color-primary); box-shadow: var(--carousel-card-shadow); color: var(--on-dark-text); text-decoration: none; transition: opacity var(--transition-slow), var(--carousel-card-transition);} .cert-stage__figure {margin: 0;} .cert-stage__card:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 4px;} @media (hover: hover) and (pointer: fine) {.cert-stage__card:hover {border-color: var(--carousel-card-border-hover); box-shadow: var(--carousel-card-shadow-hover);}} .cert-stage__sheet {display: block; text-decoration: none; position: relative; width: auto; height: min(24rem, calc(100svh - var(--media-travel-top) - 14rem)); aspect-ratio: 800 / 1131; max-width: 100%; margin-inline: auto; overflow: hidden; border: 1px solid var(--on-dark-border-strong); border-radius: var(--radius-sm); background: var(--color-primary); box-shadow: var(--shadow-md); transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);} .cert-stage__img {display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.04); transition: transform 1.2s var(--ease-standard);} .cert-stage__item.is-active .cert-stage__img {transform: none;} .cert-stage__tags {position: absolute; top: var(--space-3); right: var(--space-3); z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-1);} .cert-stage__tag {display: inline-flex; align-items: center; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-accent); color: var(--on-dark-text); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide); line-height: 1.4;} .cert-stage__language {display: block; line-height: 1;} .cert-stage__flag {display: block; width: var(--space-5); height: auto;} .cert-stage__tag--format {font-family: var(--font-mono); letter-spacing: 0; color: var(--on-dark-text);} .cert-stage__caption {margin-top: var(--space-4); padding-left: var(--space-4); border-left: 2px solid var(--stat-marker); display: flex; flex-direction: column; gap: var(--space-2); min-width: 0;} .cert-stage__norm {font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-snug); line-height: var(--leading-tight); color: var(--on-dark-text); overflow-wrap: break-word;} .cert-stage__issuer {display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-1) var(--space-2); font-size: var(--text-sm); line-height: var(--leading-snug);} .cert-stage__issuer-ico {flex-shrink: 0; color: var(--color-accent-text); font-size: 0.9em;} .cert-stage__issuer strong {color: var(--on-dark-text-soft); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide);} .cert-stage__issuer-full {color: var(--on-dark-text-muted);} .cert-stage__valid {display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-success-border);} .cert-stage__valid-ico {flex-shrink: 0; font-size: 0.95em; color: var(--color-success-light);} .cert-stage__valid--personal {color: var(--on-dark-text-muted);} .cert-stage__valid--personal .cert-stage__valid-ico {color: var(--color-accent-text);}} @media (prefers-reduced-motion: reduce) {.cert-stage__item, .cert-stage__card {transition: none;} .cert-stage__img {transition: none; transform: none;}} .cert-library-more {display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-5); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-text); text-decoration: none; transition: gap var(--transition-base);} .cert-library-more:hover {gap: var(--space-3); text-decoration: underline;} .cert-seals-section {padding-bottom: var(--space-12);} .cert-origin-section {padding-top: var(--section-py-panel);} .cert-origin-header {margin-bottom: var(--space-12);} .cert-origin-header .section-title {hyphens: none; -webkit-hyphens: none; text-wrap: balance;} .cert-origin-layout {align-items: start;} .cert-origin-media {min-width: 0;} .cert-origin-location {display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-text-muted);} .cert-origin-location__flag {display: inline-flex; flex-shrink: 0; font-size: var(--text-2xl); line-height: 1;} .cert-origin-quality {min-width: 0;} .cert-origin-quality__label {display: block; margin-bottom: var(--space-3); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-accent-text);} .cert-origin-quality__title {margin-bottom: var(--space-5); font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--font-weight-bold); line-height: var(--leading-tight); letter-spacing: var(--tracking-tight); color: var(--color-text); hyphens: none; -webkit-hyphens: none; text-wrap: balance;} .cert-origin-quality .section-text:last-child {margin-bottom: 0;} .cert-origin-process {margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--color-border);} .cert-origin-process__title {margin-bottom: var(--space-6); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-text-muted);} .cert-origin-steps {display: grid; gap: var(--space-6); list-style: none; padding: 0; margin: 0;} .cert-origin-step {display: grid; grid-template-columns: calc(var(--space-4) * 7) minmax(0, 1fr); column-gap: var(--space-4); align-content: start; padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); min-width: 0;} .cert-origin-step__media {align-self: start; grid-column: 1; grid-row: 1 / span 3; min-width: 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-bg-alt);} .cert-origin-step__image {display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;} .cert-origin-step__number {grid-column: 2; padding-top: var(--space-1); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-text);} .cert-origin-step__title {grid-column: 2; font-family: var(--font-display); font-size: var(--text-xl); font-weight: var(--font-weight-bold); line-height: var(--leading-tight); color: var(--color-text);} .cert-origin-step__links {grid-column: 2; min-width: 0;} .cert-origin-step__link {display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: var(--space-12); padding-block: var(--space-2); font-size: var(--text-base); line-height: var(--leading-normal); color: var(--color-text-muted); text-decoration: none; transition: color var(--transition-base);} .cert-origin-step__link > span:first-child {min-width: 0;} .cert-origin-step__link > span:last-child {display: inline-flex; flex-shrink: 0; color: var(--color-accent-text);} .cert-origin-step__link:is(:hover, :focus-visible) {color: var(--color-accent-text); text-decoration: underline; text-underline-offset: var(--space-1);} .cert-preview-library-link {margin-top: var(--space-6); text-align: center;} .cert-preview-library-link .section-link {display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); min-height: var(--space-12);} @media (min-width: 768px) {.cert-origin-quality__title {font-size: var(--text-3xl);} .cert-origin-layout {grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);} .cert-origin-step {grid-template-columns: calc(var(--space-8) * 5) minmax(0, 1fr) minmax(0, 1.4fr); align-items: start;} .cert-origin-step__links {grid-column: 3; grid-row: 1 / span 3;}} @media (min-width: 1280px) {.cert-origin-steps {grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--space-5);} .cert-origin-step {display: block; padding-bottom: 0; border-bottom: 0;} .cert-origin-step__media {margin-bottom: var(--space-4);} .cert-origin-step__number {display: block; padding-top: 0; margin-bottom: var(--space-3);} .cert-origin-step__title {margin-bottom: var(--space-3); font-size: var(--text-lg);} .cert-origin-step__link {min-height: var(--space-10); font-size: var(--text-sm);}} .cert-library-note {margin-top: var(--space-8); padding: var(--space-5) var(--space-6); background: var(--on-dark-surface-faint); border-left: 3px solid var(--color-accent); border-radius: var(--radius-lg); font-size: var(--text-sm); color: var(--on-dark-text-soft); line-height: var(--leading-relaxed);} .cert-carousel-header {max-width: var(--measure-text); margin-inline: auto;} .cert-carousel {position: relative; --cert-slide-width: min(90vw, 900px);} .cert-carousel--embedded {margin-top: var(--space-8);} .cert-viewport {position: relative; overflow: hidden; padding: var(--space-8) 0;} .cert-track {position: relative; width: 100%; min-height: 440px;} .cert-slide {position: absolute; top: 0; left: 50%; width: var(--cert-slide-width); transform-origin: center center; transition: var(--carousel-slide-transition); backface-visibility: hidden; contain: layout style; isolation: isolate;} .cert-carousel-card {display: grid; grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1fr); min-height: 440px; overflow: hidden; background: var(--color-primary); border: 1px solid var(--carousel-card-border); border-radius: var(--carousel-card-radius); box-shadow: var(--carousel-card-shadow); transition: var(--carousel-card-transition);} .cert-carousel-sheet {position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; padding: var(--space-6); background: var(--color-primary); text-decoration: none;} .cert-carousel-sheet img {display: block; width: min(100%, 310px); height: auto; border-radius: var(--radius-sm); box-shadow: var(--shadow-lg); transition: transform var(--transition-base), box-shadow var(--transition-base);} .cert-carousel-sheet-cue {position: absolute; right: var(--space-5); bottom: var(--space-5); display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-radius: var(--badge-radius); background: var(--color-accent); color: var(--color-text-inverse); box-shadow: var(--shadow-md); font-size: var(--text-xs); font-weight: var(--font-weight-semibold);} .cert-carousel-sheet-cue .card-reveal-cta {color: inherit;} .cert-carousel-sheet-cue .card-reveal-wrap {overflow: visible;} .cert-carousel-sheet-cue .card-reveal-track {transform: none; transition: none; will-change: auto;} .cert-carousel-sheet-cue .card-reveal-arrow {opacity: 0.55; transform: translateX(calc(-1 * var(--nudge-x))); transition: transform var(--transition-base), opacity var(--transition-base);} @media (hover: hover) and (pointer: fine) {.cert-stage__card:hover .cert-stage__sheet, .cert-carousel-sheet:hover img {transform: var(--card-lift); box-shadow: var(--shadow-xl);} .cert-carousel-sheet:hover .card-reveal-arrow {opacity: 1; transform: none;}} .cert-stage__card:focus-visible .cert-stage__sheet, .cert-carousel-sheet:focus-visible:not([data-focus-quiet]) img {transform: var(--card-lift); box-shadow: var(--shadow-xl);} .cert-carousel-sheet:focus-visible:not([data-focus-quiet]) .card-reveal-arrow {opacity: 1; transform: none;} @media (hover: none), (pointer: coarse) {.cert-carousel-sheet-cue .card-reveal-arrow {opacity: 1; transform: none;}} @media (prefers-reduced-motion: reduce) {.cert-stage__card:is(:hover, :focus-visible) .cert-stage__sheet, :is(.cert-carousel-sheet:hover, .cert-carousel-sheet:focus-visible:not([data-focus-quiet])) img {transform: none; transition: none;} .cert-carousel-sheet-cue .card-reveal-arrow {transform: none; transition: none;}} .cert-carousel-card:has(:is(.cert-carousel-sheet, .cert-carousel-download):hover), .cert-carousel-card:has(:is(.cert-carousel-sheet, .cert-carousel-download):focus-visible) {border-color: var(--carousel-card-border-hover); box-shadow: var(--carousel-card-shadow-hover);} .cert-carousel.is-enhanced .cert-slide.is-active .cert-carousel-card:has(:is(.cert-carousel-sheet, .cert-carousel-download):hover), .cert-carousel.is-enhanced .cert-slide.is-active .cert-carousel-card:has(:is(.cert-carousel-sheet, .cert-carousel-download):focus-visible) {box-shadow: var(--carousel-card-shadow-active);} .cert-carousel-sheet:focus-visible {outline: none;} .cert-carousel-card:has(.cert-carousel-sheet:focus-visible:not([data-focus-quiet])) {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .cert-carousel-copy {display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(var(--space-6), 5vw, var(--space-10));} .cert-carousel-badge {display: inline-flex; padding: 0.2rem 0.55rem; border: 1px solid rgb(var(--c-success-light) / 0.18); border-radius: var(--badge-radius); color: var(--color-success-border); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); letter-spacing: var(--tracking-wide);} .cert-carousel-copy h3 {margin: var(--space-4) 0 var(--space-3); color: var(--on-dark-text); font-family: var(--font-display); font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: var(--leading-tight);} .cert-carousel-copy p {margin: 0; color: var(--on-dark-text-soft); line-height: var(--leading-relaxed);} .cert-carousel-body {margin-top: var(--space-4); color: var(--on-dark-text-muted); font-size: var(--text-xs); line-height: var(--leading-relaxed);} .cert-carousel-download {display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-6); color: var(--color-accent-text); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); text-decoration: none;} .cert-carousel-download:hover, .cert-carousel-download:focus-visible {text-decoration: underline;} .cert-carousel-cta {margin-top: var(--space-6);} .cert-carousel.is-enhanced .cert-viewport {overflow-x: clip; overflow-y: visible;} .cert-carousel.is-enhanced .cert-slide {opacity: 0; pointer-events: none; transform: translate3d(-50%, 0, 0) scale(0.84);} .cert-carousel.is-enhanced .cert-slide.is-hidden {visibility: hidden;} .cert-carousel.is-enhanced .cert-slide.is-prev, .cert-carousel.is-enhanced .cert-slide.is-next {opacity: 0.34; pointer-events: auto;} .cert-carousel.is-enhanced .cert-slide.is-prev {transform: translate3d(calc(-50% - 44%), 14px, 0) scale(0.92);} .cert-carousel.is-enhanced .cert-slide.is-next {transform: translate3d(calc(-50% + 44%), 14px, 0) scale(0.92);} .cert-carousel.is-enhanced .cert-slide.is-active {z-index: 3; opacity: 1; pointer-events: auto; transform: translate3d(-50%, 0, 0) scale(1.02);} @media (max-width: 767px) {.cert-viewport {padding: var(--space-5) 0;} .cert-track {min-height: 730px;} .cert-slide {width: min(86vw, 390px);} .cert-carousel-card {display: block; min-height: 0; border-radius: var(--carousel-card-radius-mobile);} .cert-carousel-sheet {min-height: 420px; padding: var(--space-5);} .cert-carousel-sheet img {width: min(100%, 280px);} .cert-carousel-copy {padding: var(--space-6);} .cert-carousel.is-enhanced .cert-slide {transition-duration: 420ms;} .cert-carousel.is-enhanced .cert-slide.is-prev {transform: translate3d(calc(-50% - 26%), 6px, 0) scale(0.9);} .cert-carousel.is-enhanced .cert-slide.is-next {transform: translate3d(calc(-50% + 26%), 6px, 0) scale(0.9);}}
.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);} @keyframes fadeInUp {from {opacity: 0; transform: translateY(12px);} to {opacity: 1; transform: translateY(0);}}
.wissen-container {max-width: 1200px; margin-inline: auto; padding: var(--space-12) var(--space-6);} .wissen-back {margin: 0 0 var(--space-4); font-size: var(--text-sm);} .wissen-post__head {margin-bottom: var(--space-6);} .wissen-post__head h1 {font-size: var(--text-4xl); line-height: var(--leading-tight); color: var(--color-heading); margin: 0 0 var(--space-4);} .wissen-post__meta {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--text-sm); color: var(--color-text-muted);} .wissen-post__cat {font-weight: var(--font-weight-semibold); color: var(--color-accent-text);} .wissen-post__sep {opacity: 0.5;} .wissen-post__hero {margin: 0 auto var(--space-8); max-width: 800px;} .wissen-post__hero img {width: 100%; height: auto; display: block; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);} .wissen-post__layout {display: block;} .wissen-post__body {min-width: 0;} @media (min-width: 1100px) {.wissen-post--has-toc .wissen-post__layout {display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--space-10); align-items: start;}} .wissen-toc {margin: 0 0 var(--space-8); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg-alt); padding: var(--space-1) var(--space-4);} .wissen-toc__summary {cursor: pointer; font-weight: var(--font-weight-bold); padding: var(--space-3) 0; color: var(--color-heading);} .wissen-toc__title {font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; font-weight: var(--font-weight-bold); color: var(--color-text-muted); margin: var(--space-3) 0 var(--space-2);} .wissen-toc__progress {height: 3px; border-radius: var(--radius-full); background: var(--color-border); overflow: hidden; margin-bottom: var(--space-3);} .wissen-toc__progress-bar {display: block; height: 100%; width: 0; background: var(--color-accent); transition: width 0.15s linear;} .wissen-toc__list {list-style: none; margin: 0 0 var(--space-3); padding: 0;} .wissen-toc__item {border-bottom: 1px solid rgb(var(--c-red) / 0.35);} .wissen-toc__link {display: grid; grid-template-columns: 1.6em 1fr; gap: 0.1rem 0.45rem; padding: var(--space-1) var(--space-2); border-left: 2px solid transparent; font-size: var(--text-sm); line-height: var(--leading-snug); text-decoration: none; color: inherit; opacity: 0.72; transition: opacity 0.12s ease, border-color 0.12s ease;} .wissen-toc__link:not([data-toc-no]) {grid-template-columns: 1fr;} .wissen-toc__link[data-toc-no]::before {content: attr(data-toc-no) "."; font-variant-numeric: tabular-nums; font-weight: var(--font-weight-bold); color: var(--color-accent-text); opacity: 0.75;} .wissen-toc__link:focus-visible {opacity: 1; outline: 2px solid var(--color-accent-text); outline-offset: 2px;} @media (hover: hover) {.wissen-toc__link:hover {opacity: 1;}} .wissen-toc__link.is-active {opacity: 1; font-weight: var(--font-weight-bold); color: var(--color-accent-text); border-left-color: var(--color-accent-text);} @media (min-width: 1100px) {.wissen-toc {position: sticky; top: calc(var(--header-offset) + var(--space-5)); max-height: calc(100vh - var(--header-offset) - var(--space-12)); overflow-y: auto; overscroll-behavior: contain; margin: 0; border: 0; border-left: 1px solid var(--color-border); border-radius: 0; background: transparent; padding: 0 0 0 var(--space-4);} .wissen-toc__summary {display: none;}} .wissen-section {margin: 0 0 var(--space-8);} .wissen-post__body h2 {font-size: var(--text-2xl); line-height: var(--leading-snug); color: var(--color-accent-text); margin: var(--space-10) 0 var(--space-4);} .wissen-section:first-child h2 {margin-top: 0;} .wissen-post__body h2[data-toc-no] {display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: var(--space-2);} .wissen-post__body h2[data-toc-no]::before {content: attr(data-toc-no) "."; font-variant-numeric: tabular-nums; font-size: 0.82em; font-weight: var(--font-weight-black); opacity: 0.45;} :where(.wissen-post__body) p, :where(.wissen-post__body) li {line-height: var(--leading-relaxed); color: var(--color-text);} :where(.wissen-post__body) p {margin: 0 0 var(--space-4);} .wissen-takeaway {margin: 0 0 var(--space-8); padding: var(--space-4) var(--space-5); border-left: 4px solid var(--color-primary); border-radius: var(--radius-md); background: var(--color-bg-alt); font-size: var(--text-base); line-height: var(--leading-relaxed);} .wissen-figure {--wissen-figure-max-h: min(68vh, 620px); margin: var(--space-8) auto; max-width: 100%;} .wissen-figure:has(img[data-orientation="portrait"]) {max-width: calc(var(--wissen-figure-max-h) * 3 / 4);} .wissen-figure:has(img[data-orientation="square"]) {max-width: var(--wissen-figure-max-h);} .wissen-figure picture {display: block;} .wissen-figure img {display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);} .wissen-figure__caption {font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--color-text-muted); margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-border);} .wissen-figure--video .bm-vshow {width: 100%;} .wissen-figure--video .bm-vshow::before {display: none;} .wissen-figure--video .bm-vshow--landscape .bm-vshow__frame {aspect-ratio: 16 / 9;} .wissen-figure--video .bm-vshow--portrait {width: calc(var(--wissen-figure-max-h) * 9 / 16); margin-inline: auto;} .wissen-figure--video .bm-vshow--portrait .bm-vshow__frame {aspect-ratio: 9 / 16;} .wissen-figure--video img {height: 100%; border-radius: 0; box-shadow: none;} .wissen-table-note {margin-top: var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted);} .exc-ladder {list-style: none; margin: var(--space-6) 0 0; padding: 0 0 var(--space-2); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(74%, 1fr); gap: var(--space-4); overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain;} .exc-ladder__card {scroll-snap-align: start; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4); background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-md);} .exc-ladder__card.is-marked {border-color: var(--color-accent); box-shadow: inset 0 0 0 1px var(--color-accent);} .exc-ladder__name {margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: var(--text-lg); font-weight: var(--font-weight-extrabold); color: var(--color-heading);} .exc-ladder__badge {padding: var(--space-1) var(--space-2); border-radius: var(--badge-radius); background: var(--color-accent); color: var(--color-text-inverse); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); white-space: nowrap;} .exc-ladder__meter {display: flex; gap: var(--space-1);} .exc-ladder__seg {flex: 1 1 0; height: var(--space-1); border-radius: var(--badge-radius); background: var(--color-border);} .exc-ladder__seg.is-on {background: var(--color-accent);} .exc-ladder__tag {margin: 0; font-size: var(--text-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-text);} .exc-ladder__rows {margin: var(--space-1) 0 0; display: flex; flex-direction: column; gap: var(--space-2);} .exc-ladder__row {display: flex; flex-direction: column;} .exc-ladder__row dt {font-size: var(--text-xs); text-transform: uppercase; color: var(--color-text-muted);} .exc-ladder__row dd {margin: 0; font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--color-text);} @media (min-width: 640px) {.exc-ladder {grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible;}} @media (min-width: 1100px) {.exc-ladder[data-count="4"] {grid-template-columns: repeat(4, minmax(0, 1fr));} .exc-ladder[data-count="3"] {grid-template-columns: repeat(3, minmax(0, 1fr));}} .wissen-cert .cert-carousel {--cert-slide-width: min(100%, 820px);} .wissen-sources__list {margin: 0; padding: 0; list-style: none; font-size: var(--text-sm);} .wissen-sources__item {padding: var(--space-3) 0; border-top: 1px solid var(--color-border);} .wissen-sources__item:last-child {border-bottom: 1px solid var(--color-border);} .wissen-sources__supports, .wissen-sources__title, .wissen-sources__meta {display: block;} .wissen-sources__supports {font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted);} .wissen-sources__title {font-style: normal; font-weight: var(--font-weight-semibold); overflow-wrap: anywhere;} .wissen-sources__meta {color: var(--color-text-muted);} .wissen-weg__viewport {position: relative;} .wissen-weg__rail {display: flex; gap: var(--space-4); list-style: none; margin: var(--space-6) 0 0; padding: 0 0 var(--space-3); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;} .wissen-weg__rail:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .wissen-weg__item {flex: 0 0 auto; width: min(72vw, 420px); scroll-snap-align: center;} @media (min-width: 861px) {.wissen-weg__item {scroll-snap-align: start;}} .wissen-weg__link {display: block; text-decoration: none; color: inherit; border-radius: var(--radius-lg);} .wissen-weg__link:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .wissen-weg__figure {margin: 0;} .wissen-weg__figure img {display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: var(--img-focus, center); border-radius: var(--radius-lg); box-shadow: var(--shadow-md);} .wissen-weg__cap {display: flex; align-items: baseline; gap: var(--space-2); margin-top: var(--space-2); font-size: var(--text-sm); line-height: var(--leading-snug); color: var(--color-text-muted);} .wissen-weg__step {flex-shrink: 0; font-variant-numeric: tabular-nums; font-weight: var(--font-weight-black); color: var(--color-accent-text);} @media (hover: hover) {.wissen-weg__link:hover .wissen-weg__label {color: var(--color-accent-text);}} .wissen-weg__nav, .wissen-weg__dots {display: none;} .js .wissen-weg__dots {display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); margin-top: var(--space-2);} .wissen-weg__dot {position: relative; flex: 0 0 auto; cursor: pointer; width: var(--space-4); height: var(--space-4); padding: 0; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center;} .wissen-weg__dot::before {content: ""; position: absolute; inset: calc(-1 * var(--space-1));} .wissen-weg__dot::after {content: ""; width: var(--space-2); height: var(--space-2); border-radius: var(--radius-full); background: var(--color-border); transition: background var(--transition-fast);} .wissen-weg__dot.is-on::after {background: var(--color-accent);} .wissen-weg__dot:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .js .wissen-weg__nav {position: absolute; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: var(--button-min-height-sm); height: var(--button-min-height-sm); border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg); color: var(--color-heading); box-shadow: var(--shadow-md); cursor: pointer; transition: color var(--transition-fast), border-color var(--transition-fast);} .js .wissen-weg__nav--prev {left: calc(-1 * var(--space-2));} .js .wissen-weg__nav--next {right: calc(-1 * var(--space-2));} @media (hover: hover) {.js .wissen-weg__nav:hover {color: var(--color-accent-text); border-color: var(--color-primary);}} .js .wissen-weg__nav:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .js .wissen-weg__nav[hidden], .js .wissen-weg__dots[hidden], .wissen-weg__dot[hidden] {display: none;} @media (prefers-reduced-motion: reduce) {.wissen-weg__rail {scroll-behavior: auto;}} @media print {.wissen-weg__nav, .wissen-weg__dots {display: none;}} .wissen-beispiele .gallery-category-grid {grid-template-columns: repeat(2, minmax(0, 1fr));} @media (max-width: 560px) {.wissen-beispiele .gallery-category-grid {grid-template-columns: 1fr;}} .wissen-related {margin-top: var(--space-16);} .wissen-related__title {font-size: var(--text-2xl); color: var(--color-heading); margin: 0 0 var(--space-6);} .wissen-related__all {margin-top: var(--space-6); text-align: center;} .wissen-grid {--cols: 3; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: var(--space-6);} .wissen-grid[data-count="1"] {--cols: 1;} .wissen-grid[data-count="2"] {--cols: 2;} .wissen-grid[data-count="4"] {--cols: 2;} @media (max-width: 1160px) {.wissen-grid[data-count] {--cols: 2;} .wissen-grid[data-count="1"] {--cols: 1;}} @media (max-width: 760px) {.wissen-grid[data-count] {--cols: 1;}} @media (min-width: 861px) {.wissen-grid--hub[data-count="1"] .wissen-card, .wissen-grid--lead .wissen-card, .wissen-grid--inline .wissen-card {display: grid; grid-template-columns: var(--wissen-card-across-cols, minmax(0, 1.05fr) minmax(0, 1fr)); align-items: stretch;} .wissen-grid--hub[data-count="1"] .wissen-card__media, .wissen-grid--lead .wissen-card__media, .wissen-grid--inline .wissen-card__media {aspect-ratio: auto; height: 100%; border-radius: var(--radius-lg) 0 0 var(--radius-lg);} .wissen-grid--hub[data-count="1"] .wissen-card__body, .wissen-grid--lead .wissen-card__body, .wissen-grid--inline .wissen-card__body {justify-content: center; padding: var(--wissen-card-across-pad, var(--space-8));} .wissen-grid--hub[data-count="1"] .wissen-card__title, .wissen-grid--lead .wissen-card__title, .wissen-grid--inline .wissen-card__title {font-size: var(--wissen-card-across-title, var(--text-2xl));} .wissen-grid--hub[data-count="1"] .wissen-card__text, .wissen-grid--lead .wissen-card__text, .wissen-grid--inline .wissen-card__text {font-size: var(--text-base);} .wissen-grid--lead .wissen-card__media {aspect-ratio: 16 / 9; height: auto;}} .wissen-grid--lead {--wissen-card-across-cols: minmax(0, 1.15fr) minmax(0, 1fr); --wissen-card-across-title: var(--text-3xl);} .wissen-grid--inline {--wissen-card-across-cols: minmax(0, 0.85fr) minmax(0, 1.15fr); --wissen-card-across-pad: var(--space-6); --wissen-card-across-title: var(--text-xl); margin: var(--space-8) 0;} .wissen-card {display: flex; flex-direction: column; background: var(--card-surface); border: 1px solid var(--card-border); border-radius: var(--radius-lg); box-shadow: var(--card-shadow);} .wissen-card__media {position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-lg) var(--radius-lg) 0 0;} .wissen-card__media img {width: 100%; height: 100%; object-fit: cover; object-position: var(--img-focus, center); display: block;} .wissen-card__badge {position: absolute; top: var(--space-3); left: var(--space-3); display: inline-flex; align-items: center; padding: var(--badge-pill-padding-y) var(--badge-pill-padding-x); border-radius: var(--badge-pill-radius); background: var(--color-primary); color: var(--color-text-inverse); font-size: var(--text-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-wide);} .wissen-card__body {display: flex; flex: 1 1 auto; flex-direction: column; padding: var(--space-5);} .wissen-card__title {font-size: var(--text-lg); line-height: var(--leading-snug); color: var(--color-heading); margin: 0 0 var(--space-2);} .wissen-card__meta {font-size: var(--text-xs); color: var(--color-text-muted); margin: 0 0 var(--space-3);} .wissen-card__text {font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--color-text-muted); margin: 0 0 var(--space-4);} .wissen-card .wissen-card__link {margin-top: auto;} .wissen-grid .wissen-card[hidden] {display: none;} .wissen-topics-reset {margin: 0 0 var(--space-4);} .wissen-topics {--cols: 4; --wt-gap: var(--space-4); --wt-item-min: 14rem; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: var(--wt-gap); margin: 0 0 var(--space-8);} .wissen-topics[data-count="1"] {--cols: 1;} .wissen-topics[data-count="2"] {--cols: 2;} .wissen-topics[data-count="3"] {--cols: 3;} @media (max-width: 1160px) {.wissen-topics[data-count] {--cols: 2;} .wissen-topics[data-count="1"] {--cols: 1;}} .wissen-topics > .wissen-topic {flex: 1 1 calc((100% - (var(--cols) - 1) * var(--wt-gap)) / var(--cols)); max-width: calc((100% - (var(--cols) - 1) * var(--wt-gap)) / var(--cols)); min-width: min(100%, var(--wt-item-min));} .wissen-topic {display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--card-border); border-radius: var(--radius-lg); background: var(--card-surface);} .wissen-topic__icon {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--space-14); height: var(--space-14); border-radius: var(--radius-md); border: 1px solid var(--card-border); background: var(--color-bg-alt); color: var(--color-accent-text); font-size: var(--text-2xl); line-height: 1; transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);} .wissen-topic__head {display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3);} .wissen-topic__count {flex-shrink: 0; min-width: var(--space-6); padding: 0 var(--space-2); border-radius: var(--gallery-filter-count-radius); background: var(--gallery-filter-count-bg); color: var(--color-text-muted); font-family: var(--font-display); font-size: var(--text-xs); font-weight: var(--font-weight-bold); line-height: var(--leading-loose); text-align: center; font-variant-numeric: tabular-nums;} .wissen-topic__latest {display: block; margin-top: var(--space-3); font-size: var(--text-xs); line-height: var(--leading-snug); color: var(--color-text-muted);} .wissen-topic__body {display: block; min-width: 0; width: 100%;} .wissen-topic__title {display: block; font-family: var(--font-display); font-size: var(--text-base); font-weight: var(--font-weight-bold); line-height: var(--leading-snug); color: var(--color-heading);} .wissen-topic__text {display: block; margin-top: var(--space-2); font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--color-text-muted);} a.wissen-topic {text-decoration: none; color: inherit; transition: border-color var(--transition-fast), background var(--transition-fast);} @media (hover: hover) {a.wissen-topic:hover {border-color: var(--color-primary);}} a.wissen-topic:focus-visible {outline: 2px solid var(--color-accent-text); outline-offset: 2px;} .wissen-topic.is-active {border-color: var(--color-primary);} .wissen-topic.is-active .wissen-topic__icon {border-color: var(--color-primary); background: var(--color-primary); color: var(--color-text-inverse);} @media (hover: hover) {a.wissen-topic:hover .wissen-topic__icon {border-color: var(--color-primary); background: var(--color-primary); color: var(--color-text-inverse);}} .wissen-topic.is-active .wissen-topic__count {background: var(--gallery-filter-count-active-bg); color: var(--gallery-filter-count-active-color);} .wissen-topic--empty {border-style: dashed; background: none;} .wissen-topic--empty .wissen-topic__icon {color: var(--color-text-muted);} .wissen-topic--all {display: inline-flex; flex-direction: row; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2); border-radius: var(--radius-lg);} .wissen-topic--all .wissen-topic__icon {width: var(--space-8); height: var(--space-8); font-size: var(--text-base);} @media (max-width: 760px) {.wissen-topics {flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; padding: var(--space-2) var(--space-2) var(--space-3);} .wissen-topics > .wissen-topic {flex: 0 0 auto; max-width: none; min-width: 0; width: min(78vw, 340px); scroll-snap-align: start;}} .dark-section .wissen-card {background: var(--on-dark-surface-soft); border-color: var(--on-dark-border-soft); box-shadow: none;} .dark-section .wissen-card__title {color: var(--on-dark-text-high);} .dark-section .wissen-card__meta, .dark-section .wissen-card__text {color: var(--on-dark-text-muted);} .dark-section .wissen-topic {border-color: var(--on-dark-border-soft); background: var(--on-dark-surface-faint);} .dark-section .wissen-topic__icon {border-color: var(--on-dark-border-soft); background: var(--on-dark-surface-soft);} .dark-section .wissen-topic__title {color: var(--on-dark-text-high);} .dark-section .wissen-topic__text, .dark-section .wissen-topic__latest {color: var(--on-dark-text-muted);} .dark-section .wissen-topic__count {background: var(--on-dark-surface-soft); color: var(--on-dark-text-high);} .dark-section .wissen-topic.is-active .wissen-topic__count {background: var(--color-primary); color: var(--color-text-inverse);} .dark-section .wissen-topic--empty {border-color: var(--on-dark-border-soft); background: none;} .dark-section .wissen-topic--empty .wissen-topic__icon {color: var(--on-dark-text-muted);} @media (hover: hover) {.dark-section a.wissen-topic:hover {background: var(--on-dark-surface-soft);}} .dark-section .wissen-topic.is-active {background: var(--on-dark-surface);} @media (prefers-reduced-motion: reduce) {.wissen-toc__progress-bar, .wissen-toc__link {transition: none;}} @media print {.wissen-toc, .wissen-related {display: none;}}