﻿/* Layout and reading rhythm own the dimensions used by the scroll choreography. */
#boldSection{height:auto;min-height:100svh;justify-content:flex-start;padding:140px clamp(24px,5vw,80px) 110px;top:calc(-1px * var(--reading-overflow,0))}
#boldScroll{height:calc(560vh + var(--reading-overflow,0) * 1px)}
#boldSection .mf-label{max-width:1120px}
#boldSection .om-manifesto{max-width:1120px;font-size:clamp(44px,5.7vw,84px)}
#boldSection .mf-line:first-child{display:block;max-width:100%;text-wrap:balance;margin-bottom:40px}
#boldSection .mf-line:first-child>span{margin-right:.16em}
#boldSection .mf-line:nth-child(2){font-size:clamp(24px,2.5vw,36px)}
#boldSection .mf-line--stapel{font-size:clamp(24px,2.5vw,36px)}
#boldSection .mf-stapel{max-width:850px;margin-top:40px}
#boldSection .mf-stapel .mf-copy:first-child{font-size:clamp(25px,2.25vw,33px)}
#boldSection .mf-stapel .mf-copy{font-size:clamp(18px,1.5vw,22px)}
#boldSection .mf-line--ende{font-size:clamp(30px,3vw,44px)}
#boldSection #mfRing{opacity:.4;left:82%;top:55%;--ring-d:70vmin}
#svg{transition:opacity .25s ease}


/* Keep the reading surface clear of the fixed hero lockup. */
#sektKasten .om-section-copy{font-size:clamp(18px,1.4vw,23px);line-height:1.5;letter-spacing:0;max-width:48ch}
#sektKasten .om-section-copy:first-child{font-size:clamp(22px,1.8vw,28px);font-weight:500;line-height:1.32}
#sektKasten .om-section-copy + .om-section-copy{margin-top:1em}
#sektKasten .om-section-claim{font-size:clamp(20px,1.6vw,25px);line-height:1.35}
#sektKasten .om-section-claim .om-accent{color:#0b0b0a}
.om-bio{--bio-key:clamp(30px,3.2vw,52px);--bio-copy:clamp(22px,2vw,31px);--bio-top:130px;--bio-gasse:48px;--bio-lesen:170vh}
.om-bio-grid{grid-template-columns:auto auto minmax(0,1fr);max-width:1400px}
.om-bio-text{line-height:1.42;letter-spacing:0;max-width:39ch}
.bco-bio-word{white-space:nowrap;color:inherit;transition:color .18s linear}
.bco-bio-word.is-current-line{color:#ff4f1a}
.om-kontakt-kugel>span{font-size:calc(var(--kugel2-r,100px) * .25);line-height:1.15;text-align:center;white-space:nowrap;letter-spacing:-.025em}
.om-kontakt-kugel>span em{font-size:1em}
/* Explicit flex rules isolate this component from legacy global SVG/link styles. */
a.bco-whatsapp{display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;min-height:56px;padding:13px 19px!important;border:1px solid #ff4f1a!important;border-radius:28px;background:#0b0b0a;color:#fff;font:500 15px/1 MG12,sans-serif;box-shadow:0 4px 18px #0002;isolation:isolate}
a.bco-whatsapp>svg{position:static!important;display:block!important;flex:0 0 25px;width:25px!important;height:25px!important;margin:0!important;transform:none!important;overflow:visible}
a.bco-whatsapp>span{display:block;line-height:1!important;position:static!important;white-space:nowrap}
a.bco-whatsapp:hover{background:#232321;color:#fff}
#fuss{padding-bottom:110px}
@media(max-width:1100px){.om-bio{--bio-gasse:26px;--bio-key:clamp(24px,3vw,36px);--bio-copy:clamp(20px,2.3vw,26px)}}
@media(max-width:720px){
 #boldSection{padding:104px 24px 84px}
 #boldSection .mf-line:first-child{font-size:clamp(38px,9vw,62px);line-height:1.05}
 #boldSection .mf-anhang{display:none}
 #sektKasten .om-section-copy{font-size:17px}
 #sektKasten .om-section-copy:first-child{font-size:21px}
 .om-bio-text{max-width:100%;line-height:1.45}
 a.bco-whatsapp{width:54px;height:54px;min-height:54px;padding:0!important;border-radius:50%}
 a.bco-whatsapp>span{display:none}
}
@media(prefers-reduced-motion:reduce){#boldScroll{height:auto}#boldSection{position:relative;top:0}.bco-bio-word{transition:none}}

@media(min-width:901px){.om-kasten-raster{grid-template-columns:1fr minmax(0,min(62vw,680px))}}
@media(max-width:900px){.om-kasten-raster{grid-template-columns:1fr}.om-kasten{grid-column:1}}

html.bco-reading #nav{opacity:0!important;pointer-events:none}
/* Persistent identity rail and a pinned reading scene. */
#fuss{position:relative;inset:auto;opacity:1;pointer-events:auto;mix-blend-mode:normal;background:#0b0b0a;padding:0 0 100px;margin:0;z-index:2}
#fuss .om-fuss-tick{display:none}
#fuss .om-fuss-zeile{grid-template-columns:1fr auto;padding:24px 0;gap:24px}
a.bco-whatsapp,a.bco-whatsapp:hover{background:#ff4f1a;color:#0b0b0a;border-color:#0b0b0a!important}
html.bco-reading #brand{opacity:1!important;transform:none!important;pointer-events:auto;left:40px;top:36px;width:230px;height:43.81px}
html.bco-reading #svg{opacity:1!important;visibility:visible!important;}
#boldSection{height:100svh;min-height:100svh;top:0;padding:64px 64px 48px 320px}
#boldSection .mf-label{margin-bottom:28px;flex-shrink:0}
#boldSection .om-manifesto{width:100%;max-width:1180px;margin:0;flex-shrink:0;font-size:clamp(40px,4.8vw,78px)}
#boldSection .mf-line:first-child{font-size:inherit;line-height:1.02;margin-bottom:34px}
#boldSection .mf-line:nth-child(2),#boldSection .mf-line--stapel{font-size:clamp(24px,2.4vw,38px)}
#boldSection .mf-stapel{margin-top:30px;padding-top:0;border-top:0;max-width:1060px}
#boldSection .bco-copy-window{position:relative;overflow:hidden;min-height:100px;mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 18px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 18px),transparent)}
.bco-copy-track{padding:14px 0 22px;transform:translate3d(0,var(--copy-y,0px),0);will-change:transform}
#boldSection .mf-stapel .mf-copy,#boldSection .mf-stapel .mf-copy:first-child{font-size:clamp(24px,2.15vw,34px);line-height:1.32;font-weight:500;letter-spacing:-.015em}
#boldSection .mf-stapel .mf-copy + .mf-copy{margin-top:1.6em}
#boldSection .mf-line--ende{margin-top:48px;padding-bottom:12px}
#boldSection #mfRing{left:86%;top:62%;opacity:.32}
@media(min-width:1101px){.om-bio{padding-left:320px}.om-bio-grid{grid-template-columns:auto auto minmax(0,1fr)}.om-bio{--bio-key:clamp(26px,2.7vw,44px);--bio-gasse:28px}}
@media(max-width:1100px){
 html.bco-reading #brand{left:24px;top:18px;width:190px;height:36.2px}
 
 #boldSection{padding:100px 32px 36px}
 #boldSection .om-manifesto{font-size:clamp(36px,5.6vw,60px)}
 .om-bio{--bio-top:108px}
}
@media(max-width:720px){
 #boldSection{padding:92px 24px 30px}
 #boldSection .mf-label{margin-bottom:16px;font-size:12px}
 #boldSection .mf-line:first-child{font-size:clamp(32px,8.6vw,54px);margin-bottom:20px}
 #boldSection .mf-line:nth-child(2),#boldSection .mf-line--stapel{font-size:22px}
 #boldSection .mf-line:nth-child(2){margin-bottom:10px}
 #boldSection .mf-stapel{margin-top:24px}
 #boldSection .mf-stapel .mf-copy,#boldSection .mf-stapel .mf-copy:first-child{font-size:22px;line-height:1.35}
 #fuss .om-fuss-zeile{grid-template-columns:1fr;gap:14px}#fuss .om-fuss-zeile>:nth-child(2){justify-self:start}
}
@media(prefers-reduced-motion:reduce){
 #boldSection{height:auto;min-height:0;position:relative}
 #boldSection .bco-copy-window{height:auto!important;overflow:visible;mask-image:none;-webkit-mask-image:none}
 .bco-copy-track{transform:none;will-change:auto}
}

/* Gentle persistent lockup, compact experience line and a quiet reading guide. */
#brand{transition:width .9s cubic-bezier(.22,1,.36,1),height .9s cubic-bezier(.22,1,.36,1),left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),opacity .6s ease,transform .9s ease}
#boldSection .mf-line.bco-experience{white-space:nowrap;font-size:clamp(20px,2.15vw,34px);letter-spacing:-.03em;margin-bottom:0}
#boldSection .mf-schluss{font-size:clamp(24px,2.6vw,40px);white-space:normal}
#boldSection .mf-line--ende .mf-anhang{display:none}
.om-bio-grid{grid-template-columns:minmax(170px,.38fr) minmax(0,1fr);grid-template-rows:repeat(3,auto)}
.om-bio-halt{grid-column:1}
.om-bio-slot{grid-column:2}
.om-bio-key{text-align:right;margin-left:0;margin-right:0}
.bco-bio-word,.bco-bio-word.is-current-line{--guide-base:#efefec;--guide-accent:#ff4f1a}
@media(max-width:720px){
 #boldSection .mf-line.bco-experience{font-size:clamp(11px,3.5vw,24px)}
 .om-bio-grid{display:block}
 .om-bio-key{text-align:right;width:100%}
}
@media(prefers-reduced-motion:reduce){#brand,.bco-bio-word{transition:none}}

/* Constant brand size and one persistent contact entry. */
html.bco-reading #brand{width:300px;height:57.143px}
#brand{transition:left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),opacity .6s ease,transform .9s ease}
#nav{display:none}
@media(min-width:1101px){#boldSection{padding-left:380px}.om-bio{padding-left:380px}}
@media(max-width:720px){html.bco-reading #brand{width:210px;height:40px}}
@media(max-width:380px){html.bco-reading #brand{width:185px;height:35.238px}}
.bco-contact{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:95;display:flex;flex-direction:column-reverse;align-items:flex-end;max-width:calc(100vw - 32px);font:500 16px/1.3 MG12,sans-serif;isolation:isolate}
.bco-contact-toggle{display:flex;align-items:center;justify-content:center;gap:22px;min-height:58px;padding:16px 24px;border:1px solid #0b0b0a;border-radius:999px;background:#ff4f1a;color:#0b0b0a;font:inherit;cursor:pointer;box-shadow:0 4px 20px #0002}
.bco-contact svg{position:static!important;display:block!important;flex:0 0 24px;width:24px!important;height:24px!important;transform:none!important;margin:0!important;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bco-contact-toggle svg{transition:rotate .2s ease}
.bco-contact.is-open .bco-contact-toggle svg{rotate:45deg}
.bco-contact-options{width:310px;max-width:calc(100vw - 32px);padding:8px;margin-bottom:12px;background:#fff;color:#0b0b0a;border:1px solid #dadad5;border-radius:16px;box-shadow:0 8px 30px #0002;animation:bco-contact-in .18s ease-out}
.bco-contact-options[hidden]{display:none}
.bco-contact-options::after{content:'';position:absolute;bottom:58px;left:0;right:0;height:14px}
.bco-contact-options a{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:9px;color:#0b0b0a;text-decoration:none}
.bco-contact-options a:hover,.bco-contact-options a:focus-visible{background:#efefec}
.bco-contact-options small{display:block;font-size:12px;font-weight:400;line-height:1.4;color:#51514d;margin-top:4px}
.bco-contact :focus-visible{outline:2px solid #ff4f1a;outline-offset:4px}
.bco-contact-toggle:focus-visible{outline-color:#0b0b0a}
@keyframes bco-contact-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.bco-contact{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.bco-contact-toggle{font-size:15px;min-height:54px;padding:14px 20px;gap:16px}}
@media(prefers-reduced-motion:reduce){.bco-contact-options{animation:none}.bco-contact-toggle svg{transition:none}#brand{transition:none}}

/* A dedicated reading interval before the panel yields to the biography. */
@media(min-width:641px){.om-section-tail{height:var(--panel-reading-space,320vh)}}
.bco-panel-word{white-space:nowrap;color:color-mix(in srgb,#f6f6f0 calc(var(--guide,0) * 100%),#0b0b0a);background:none;transition:color .5s ease}
.bco-bio-word,.bco-bio-word.is-current-line{color:color-mix(in srgb,var(--guide-accent) calc(var(--guide,0) * 100%),var(--guide-base));transition:color .5s ease;background:none}
#fuss{height:90px;min-height:90px;padding:0;display:flex;align-items:center}
#fuss .om-fuss-innen{width:100%;padding-right:300px}
#fuss .om-fuss-zeile{display:block;padding:0;font-size:12px;line-height:1.5}
@media(max-width:720px){#fuss{height:84px;min-height:84px}#fuss .om-fuss-innen{padding-left:16px;padding-right:240px}#fuss .om-fuss-zeile{font-size:10px;letter-spacing:0}#fuss .om-fuss-lang{display:none}}
@media(prefers-reduced-motion:reduce){.om-section-tail{height:0}.bco-panel-word{transition:none}}

/* The biography now ends at the value section, without the former contact cutout. */
#bio{mask:none;-webkit-mask:none;background:#1b1b1a}
#bio .om-bio-licht{background:none}
.om-kasten-ebene{opacity:clamp(0,calc(1 - var(--raus,0)),1)}

/* Align the biography with the value section and remove the empty label-column space. */
@media(min-width:1101px){#bio{padding-left:380px;padding-right:max(64px,8vw)}#bio .om-bio-grid{max-width:1040px;margin-inline:auto;grid-template-columns:max-content minmax(0,1fr)}}

#booking-dialog{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100vw - 40px));height:min(850px,calc(100dvh - 40px));max-width:none;max-height:none;border:0;border-radius:18px;padding:0;background:#fff;color:#0b0b0a;font:16px/1.4 MG12,Arial,sans-serif;overflow:hidden}
#booking-dialog[open]{display:flex;flex-direction:column}
#booking-dialog::backdrop{background:rgb(0 0 0 / .7)}
#booking-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #dadad5;flex:none}
#booking-dialog h2{font-size:22px;line-height:1.2;margin:0;font-weight:500}
#booking-dialog button{font:inherit;border:1px solid #0b0b0a;border-radius:30px;background:#ff4f1a;color:#0b0b0a;padding:9px 16px;cursor:pointer;white-space:nowrap}
#booking-dialog iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:white}
#booking-dialog p{margin:0;padding:12px 24px;font-size:13px;flex:none}
#booking-dialog a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#booking-dialog :focus-visible{outline:2px solid #0b0b0a;outline-offset:3px}
@media(max-width:640px){#booking-dialog{width:100%;height:100dvh;border-radius:0}#booking-dialog header{padding:14px 16px}#booking-dialog h2{font-size:18px}#booking-dialog p{padding:10px 16px}}
