@font-face{font-family:MG12;src:url('assets/fonts/outfit-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:block;size-adjust:106.84%;}
@font-face{font-family:MG12;src:url('assets/fonts/outfit-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:block;size-adjust:104%;}
@font-face{font-family:MG12;src:url('assets/fonts/outfit-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:block;size-adjust:102.74%;}
/* Portrait dimensions map the supplied 4:5 asset into the reference composition. */
.om-bg{--photo:url('assets/portrait-layer.png');--portrait-width:69.5vw;--portrait-left:-9vw;--portrait-top:-2.3vw}
.om-bg::after{background-size:var(--portrait-width) auto;background-position:var(--portrait-left) calc(var(--photo-y,0px) + var(--portrait-top));filter:grayscale(1)}
.om-bg-tiefe,.om-bio-bild{filter:grayscale(1)}
.om-name,.om-role{line-height:1.25}
.om-claim{line-height:43px}
@media(orientation:portrait) and (min-width:641px){.om-name,.om-role{line-height:1.233333333}.om-claim{line-height:59px}}
@media(max-width:640px){.om-name,.om-role{line-height:59px}.om-claim{line-height:74px}}
@media(orientation:portrait){.om-bg{--portrait-width:104vw;--portrait-left:-4vw;--portrait-top:-3.5vw}}
@media(max-width:640px){.om-bg{--portrait-width:190vw;--portrait-left:-43.5vw;--portrait-top:-7vw}}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}

@media(min-width:1025px),(min-width:721px) and (orientation:landscape){.mf-line--stapel>.mf-phrase{flex:0 0 8.6853em}}

/* Visual-only final calibration; the scene geometry and motion engine are unchanged. */
.om-bg{background:radial-gradient(ellipse at 38% 30%,#353535 0%,#242424 40%,#101010 78%)}
.om-bg::after,.om-bg-tiefe{
  filter:grayscale(1) contrast(1.12);
  mask-image:linear-gradient(to bottom,#000 0,#000 42vh,rgba(0,0,0,.55) 80vh,rgba(0,0,0,.42) 100vh);
}
@media(max-width:640px){
  .om-bg::after,.om-bg-tiefe{mask-image:linear-gradient(to bottom,#000 0,#000 42vh,rgba(0,0,0,.55) 65vh,rgba(0,0,0,.35) 85vh)}
  .om-bio-zitat-satz{max-width:20ch}
}

/* Match the reference claim's occupied width without changing its line box or animation. */
.om-claim{letter-spacing:.024em}
@media(max-width:640px){.om-claim{letter-spacing:.0059em}}

/* Colors-only editorial palette. Inline accent cycling remains owned by the unchanged engine. */
:root{--accent:#C6A15B !important;--accent-text:#C6A15B;--secondary:#A79F93;--logo-on-accent:#0D0D0C}
:root[style*="--accent: #96B7D8" i]{--accent:#DFC999 !important;--accent-text:#DFC999;--logo-on-accent:#0D0D0C}
:root[style*="--accent: #BB9B1B" i]{--accent:#A79F93 !important;--accent-text:#A79F93;--logo-on-accent:#0D0D0C}
.om-claim,.om-accent,.om-bio-key.is-current,.om-verweis-zeichen,.om-bio-zitat,.om-bio-text .z.is-hot,.om-cursor-text{color:var(--accent-text)}
.om-bold,.mf-label,.mf-nachsatz,.mf-line--ende .mf-phrase,.om-kasten .om-accent{color:var(--logo-on-accent)}
.mf-strich{background:var(--logo-on-accent)}
.om-bio-zitat-name{color:var(--secondary)}
.om-fuss{--fuss-text:var(--secondary)}
.om-cursor.is-auf-farbe .om-cursor-text{color:var(--logo-on-accent)}
/* Bronze is reserved for the existing darker CTA hover state. */
.om-kontakt-kugel:hover,.om-kontakt-kugel:focus-visible{background:#7B6040;color:#F1ECE3}

/* The cursor instruction label is intentionally removed. */
.om-cursor-text{display:none !important;}
.om-cursor-text::before,.om-cursor-text::after{content:none !important;}

/* Investor review: decorative hints have no document text. */
.orbit-hint-art::before{content:"Drag\a to\a orbit";white-space:pre;}
.rotate-hint-art::before{content:"Rotate";}


.mf-opening{font-size:.78em;gap:.28em;flex-wrap:wrap;}
.mf-opening>.mf-phrase{white-space:nowrap;}
/* Decorative CTA rings must not expand the mobile document width. */
.om-kontakt-wrap{overflow-x:clip;}
