/* Private fidelity study. Geometry and choreography come from the reference. */
@font-face{font-family:'Newsreader';src:url('/fonts/newsreader-normal-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Newsreader';src:url('/fonts/newsreader-italic-latin.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
.om-bg::after{background-size:auto 108vh;background-position:26% 2vh;filter:grayscale(1);transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0);transition:opacity 1.2s cubic-bezier(.22,1,.36,1)}
#brandText{font-family:Newsreader,serif;font-weight:400;font-size:22px;letter-spacing:-.3px}
.om-brand{width:300px;height:57.143px}
.om-bio-bild{filter:grayscale(1)}
#contato-local{position:fixed;inset:0;background:#efefec;color:#161615;border:0;border-radius:12px;padding:48px;max-width:480px;width:calc(100% - 40px);font:18px/1.5 MG12,sans-serif;z-index:1000}
#contato-local::backdrop{background:#000b;backdrop-filter:blur(4px)}
#contato-local h2{font-size:36px;line-height:1.1}
#contato-local button{font:inherit;background:none;color:inherit;border:0;border-bottom:1px solid;padding:8px 0;cursor:pointer}
#contato-local button:first-child{position:absolute;right:20px;top:14px;font-size:12px}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
@media(max-width:720px){.om-bg::after{background-size:auto 94vh;background-position:45% 8vh}.om-brand{width:210px;height:40px}.om-kontakt-kugel span{font-size:.72em}}
@media(prefers-reduced-motion:reduce){.om-bg::after{transform:none!important}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .om-bg{height:100vh}.om-bg::after{opacity:1}
 #svg,#bgTiefe,#brandDot,.om-bold-curve,.orbit-layer,#orbitHint,#galerieSchalter,#streifen,.om-constellation,.om-mitte-huelle,.om-kasten-ebene,.om-section-tail,.om-kontakt-feld,.om-kontakt-grund,.om-kontakt-woelbung,.om-bio-licht{display:none!important}
 #brand{position:fixed;left:24px;top:24px;opacity:1!important;transform:none!important;color:var(--accent)}
 #nav{opacity:1!important;transform:none!important}
 .scene,.om-mark{width:100%;height:100%;transform:none!important}
 #lockup{left:7%;top:auto;bottom:17%;opacity:1!important;transform:none!important}
 #claim{left:7%;top:auto;bottom:10%;font-size:clamp(14px,2.5vw,28px);opacity:1!important;transform:none!important}
 .om-bold-scroll{height:auto!important}.om-bold{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;clip-path:none!important;padding:80px 24px}
 .om-manifesto{transform:none!important;filter:none!important}.mf-line{font-size:clamp(36px,6vw,84px)}
 .om-section-wrap{height:auto!important;min-height:0}.om-section{height:auto!important;min-height:0;padding:80px 24px}.om-section-bg{display:none}
 .om-section-title,.reveal{opacity:1!important;transform:none!important}
 .om-bio-halt{position:relative!important;top:auto!important}.om-bio-text{color:var(--fg)!important}
 .om-kontakt-wrap{height:70vh!important}.om-kontakt-buehne{height:70vh!important;position:relative}
 .om-kontakt-kugel{opacity:1!important;transform:translate(-50%,-50%)!important;visibility:visible!important}
}

/* Clip pointer-driven paint without creating a nested scroll container. */
html,body{overflow-x:clip}
.om-bg{overflow:clip}
@media(max-width:380px){.om-brand{width:185px;height:35.238px}}

/* Original orbital illustration is replaced by the Braghini parallel planes. */
#svg > :not(#bco-planes){display:none!important}
#bco-planes{pointer-events:none}


/* Annotated revision: clear hierarchy and persistent contact. */
.bco-whatsapp{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:10px;padding:15px 20px;background:#FF4F1A;color:#0B0B0A;border:1px solid #0B0B0A;border-radius:999px;font:600 16px/1.2 MG12,sans-serif;text-decoration:none;box-shadow:0 3px 18px #0003}
.bco-whatsapp svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bco-whatsapp:hover{background:#fff;color:#0B0B0A}
#boldSection .mf-label{color:#0B0B0A;max-width:1160px;width:100%;font-size:15px;letter-spacing:.12em;margin:0 auto 30px}
#boldSection .om-manifesto{max-width:1160px;width:100%;font-size:clamp(38px,6.2vw,92px);line-height:1.02;letter-spacing:-.035em;text-transform:none}
#boldSection .mf-line{justify-content:flex-start;gap:.25em;flex-wrap:wrap}
#boldSection .mf-line:first-child{max-width:1050px;margin-bottom:36px}
#boldSection .mf-line:nth-child(2){font-size:clamp(25px,3vw,44px);letter-spacing:-.025em;margin-bottom:16px}
#boldSection .mf-line--stapel{display:block;font-size:clamp(25px,3vw,44px)}
#boldSection .mf-stapel{max-width:900px;margin:44px 0 0;padding:28px 0 0;border-top:1px solid #0B0B0A}
#boldSection .mf-stapel .mf-copy{max-width:none;margin:0;font-size:clamp(18px,1.65vw,24px);font-weight:400;line-height:1.5;letter-spacing:-.015em}
#boldSection .mf-stapel .mf-copy:first-child{font-size:clamp(24px,2.5vw,36px);font-weight:500;line-height:1.25}
#boldSection .mf-stapel .mf-copy + .mf-copy{margin-top:24px}
#boldSection .mf-line--ende{margin-top:42px;font-size:clamp(28px,3.3vw,48px);justify-content:flex-start;gap:24px}
#boldSection .mf-line--ende .mf-phrase{color:#0B0B0A}
#boldSection .mf-strike::after{display:none}
#boldSection #mfRing{opacity:.12}
@media(max-width:720px){.bco-whatsapp{right:16px;bottom:16px;padding:14px}.bco-whatsapp span{display:none}#boldSection .mf-line:first-child{margin-bottom:26px}#boldSection .mf-stapel{margin-top:28px}#boldSection .mf-label{font-size:13px}}

/* Full-height cutout, with a continuous lower edge at the next section. */
#bg{height:150vh;background:var(--bg) var(--tiefe)}
#bg::after{background-size:auto 165vh;background-position:26% var(--portrait-scroll,0px);transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0);filter:grayscale(1)}
@media(max-width:720px){#bg::after{background-position:45% var(--portrait-scroll,0px)}}
@media(prefers-reduced-motion:reduce){#bg{height:150vh}#bg::after{background-size:auto 150vh;background-position:26% 0;transform:none!important}}

/* Overlay the transition curve on the portrait instead of adding an empty strip. */
.om-bold-curve{margin-top:-176px}


#bg::after{background-size:auto 150vh;background-position:22% calc(15vh + var(--portrait-scroll,0px))}
#stage>#claim{left:62%!important;right:4%;top:40%;font-size:clamp(24px,2.5vw,44px);line-height:1.3;letter-spacing:-.025em;white-space:normal}
#claim span{display:block}
#stage>#lockup{left:62%!important;right:4%;top:auto;bottom:14%;white-space:normal}
#lockup .om-name{font-size:clamp(20px,1.7vw,28px);letter-spacing:-.025em}
#lockup .om-role{font-size:clamp(14px,1.05vw,18px);line-height:1.5;letter-spacing:0;max-width:27ch;opacity:.85}
@media(max-width:720px){
 #bg::after{background-size:auto 142vh;background-position:45% calc(23vh + var(--portrait-scroll,0px))}
 #stage>#claim{left:24px!important;right:24px;top:23%;font-size:clamp(17px,4.3vw,26px);line-height:1.3}
 #claim span{display:inline}#claim span+span:before{content:' '}
 #stage>#lockup{left:24px!important;right:24px;bottom:8%;text-shadow:0 2px 12px #000}
 #lockup .om-name{font-size:23px}#lockup .om-role{font-size:15px}
}
@media(prefers-reduced-motion:reduce){#bg::after{background-position:22% 0}#stage>#claim{transform:none!important}}

/* HIC leads the hero; disciplines are supporting information. */
#stage>#claim{left:58%!important;right:5%;top:43%;font-size:inherit;letter-spacing:0}
#claim .hic-title{margin:0 0 24px;font-size:clamp(28px,2.7vw,46px);line-height:1.12;letter-spacing:-.035em;font-weight:600;color:#ff4f1a}
#claim .hic-abbr{display:inline;font-size:.6em;white-space:nowrap}
#claim .hic-description{font-size:clamp(17px,1.25vw,21px);line-height:1.55;font-weight:400;color:#efefec;margin:0;max-width:44ch}
#claim .hic-fronts{font-size:clamp(12px,.9vw,15px);line-height:1.5;font-weight:400;letter-spacing:.015em;color:#bcbcb6;margin:25px 0 0}
#stage>#lockup{left:58%!important;right:5%;bottom:10%}
@media(max-width:720px){
 #stage>#claim{left:24px!important;right:24px;top:21%;transform:none!important}
 #claim .hic-title{font-size:clamp(27px,6.6vw,38px);margin-bottom:14px}
 #claim .hic-description{font-size:15px;line-height:1.5;max-width:42ch}
 #claim .hic-fronts{font-size:12px;margin-top:14px}
 #claim span+span:before{content:none}
 #stage>#lockup{left:24px!important;right:24px;bottom:7%}
 #bg::after{background-size:auto 126vh;background-position:45% calc(39vh + var(--portrait-scroll,0px))}
}
