.office-intro{display:none}.office-intro-enabled .office-intro{display:block;height:440svh;margin-bottom:-100svh;position:relative;z-index:70}.office-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#0a111c;isolation:isolate}.office-intro-enabled:not(.office-intro-complete) body>.site-header,.office-intro-enabled:not(.office-intro-complete) body>.mobile-nav{visibility:hidden;pointer-events:none}.office-room{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.office-room img{position:absolute;max-width:none;display:block}.office-monitor{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;background:#0b101b;will-change:transform;backface-visibility:hidden}.office-monitor iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}.office-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 58% 45%,transparent 35%,#030712a6 100%)}.office-entry{position:absolute;inset:0;perspective:1800px;transform-origin:center;will-change:transform,opacity}.office-wall{position:absolute;top:0;bottom:0;width:18%;background:repeating-linear-gradient(90deg,#111924 0,#111924 3px,#121b28 4px,#151f2c 7px);box-shadow:inset 0 0 70px #0009}.wall-left{left:0;border-right:9px solid #090e16}.wall-right{right:0;border-left:9px solid #090e16}.office-lintel{position:absolute;inset:0 0 auto;height:9%;background:linear-gradient(#0b1019,#172130);border-bottom:7px solid #080e18;box-shadow:0 15px 40px #0006;z-index:2}.office-doorway{position:absolute;inset:9% 18% 0;perspective:1600px;box-shadow:0 0 0 2px #688abb30,0 0 60px #5b9bff12;transform-style:preserve-3d}.office-door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(115deg,#182536e8,#0d1522f5 48%,#233147ed);border:1px solid #b8d5ff25;box-shadow:inset 3px 0 14px #ffffff05,inset -5px 0 20px #0008;backface-visibility:hidden;will-change:transform}.door-left{left:0;transform-origin:left center;border-right:2px solid #7fadd660}.door-right{right:0;transform-origin:right center;border-left:2px solid #070d14}.door-inset{position:absolute;inset:4%;border:1px solid #9ab9db18;box-shadow:inset 0 0 50px #01061166;background:repeating-linear-gradient(90deg,transparent 0,transparent 34px,#b2cced03 35px,#0000000d 37px),linear-gradient(130deg,#a3ceff0b,transparent 40%)}.door-brand{position:absolute;width:64%;left:18%;top:18%;opacity:.75;filter:drop-shadow(0 0 14px #abcfff38)}.door-plaque{position:absolute;top:28%;left:18%;font-size:9px;letter-spacing:.2em;color:#9cb4d2;line-height:1.8}.door-plaque small{font-size:6px;letter-spacing:.1em;color:#6d829e}.door-handle{position:absolute;right:6%;top:52%;height:95px;width:9px;border-radius:8px;background:linear-gradient(90deg,#344257,#e1effb,#5d7593);box-shadow:5px 5px 15px #000b,inset 0 0 1px #fff}.door-right .door-handle{left:6%;right:auto}.door-number{position:absolute;top:18%;right:18%;font-size:65px;font-weight:400;letter-spacing:-.07em;color:#adc7ec20}.office-threshold{position:absolute;bottom:0;left:18%;right:18%;height:8px;background:linear-gradient(#9abae557,#060b13);box-shadow:0 -2px 20px #a5cdff40}.office-intro-top{position:absolute;left:4%;right:4%;top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:4;font-size:9px;letter-spacing:.12em;color:#adc0d9}.office-intro-top i{font-style:normal;color:#6b84a7;padding:0 10px}.office-skip{padding:11px 17px;border-radius:40px;background:#0b1527b3;backdrop-filter:blur(16px);border:1px solid #bbd2ef3d;font-size:10px;letter-spacing:0;color:#e2eeff}.office-skip:focus-visible,.office-enter:focus-visible{outline:2px solid #a6ccff;outline-offset:5px}.office-welcome{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:3;text-align:center;pointer-events:none;padding-top:80px}.office-welcome>span{font-size:8px;letter-spacing:.22em;color:#93aecd;margin-bottom:25px}.office-welcome h2{font-size:clamp(60px,7.5vw,114px);line-height:1.02;letter-spacing:-.05em;text-shadow:0 5px 30px #0007}.office-welcome h2 em{color:#b5d0fc}.office-enter{display:flex;align-items:center;gap:40px;margin-top:35px;padding:16px 25px;color:#e5f1ff;border:1px solid #adc9f64d;border-radius:40px;background:#5b8ee51c;backdrop-filter:blur(14px);font-size:12px;pointer-events:auto;cursor:pointer;transition:background .25s}.office-enter:hover{background:#5b8ee543}.office-enter span{font-size:20px}.office-welcome>p{font-size:10px;margin-top:15px;color:#7f98bc}.office-intro-bottom{position:absolute;bottom:26px;left:4%;right:4%;display:flex;gap:35px;align-items:center;z-index:4;color:#9db4d4}.office-scroll-hint{font-size:8px;letter-spacing:.14em;white-space:nowrap}.office-scroll-hint b{font-size:18px;margin-left:15px;font-weight:400;display:inline-block;animation:office-cue 2s ease-in-out infinite}.office-timeline{flex:1;height:1px;background:#c0d9ff25}.office-timeline i{display:block;height:100%;background:#b7d8ff;width:100%;transform:scaleX(var(--office-progress,0));transform-origin:left}.office-credit{font-size:7px;letter-spacing:.1em;white-space:nowrap;color:#8195b1}.office-story-caption{position:absolute;left:6%;bottom:16%;z-index:3;opacity:0;color:white;text-shadow:0 2px 15px #000;max-width:450px}.office-story-caption>span{font-size:9px;letter-spacing:.18em;color:#b9d9ff}.office-story-caption p{font-size:clamp(27px,3.5vw,50px);line-height:1.16;letter-spacing:-.04em;margin-top:15px}.office-intro-complete .office-stage{visibility:hidden;pointer-events:none}.office-intro-skipped .office-intro{display:none}#home-start{scroll-margin-top:0;outline:none;height:0}.office-intro-enabled:has(#home-start:target) body>.site-header{visibility:visible;pointer-events:auto}
@keyframes office-cue{50%{transform:translateY(5px)}}
@media(max-width:700px){.office-intro-enabled .office-intro{height:390svh}.office-intro-top{top:24px;left:20px;right:20px}.office-intro-top>span{font-size:7px;letter-spacing:.1em;max-width:130px;line-height:1.9}.office-intro-top i{padding:0 3px}.office-skip{padding:10px 12px;font-size:9px}.office-wall{width:7%}.office-doorway{left:7%;right:7%;top:12%}.office-lintel{height:12%}.office-threshold{left:7%;right:7%}.door-brand{width:78%;left:11%;top:12%}.door-plaque{left:11%;top:20%;font-size:6px;letter-spacing:.12em}.door-plaque small{font-size:4px}.door-number{font-size:45px;top:11%}.door-handle{height:70px;width:7px}.office-welcome{padding-top:30px}.office-welcome h2{font-size:64px}.office-welcome>span{font-size:6px;letter-spacing:.15em;margin-bottom:24px}.office-enter{font-size:11px;margin-top:30px}.office-intro-bottom{left:20px;right:20px;gap:20px;bottom:25px;flex-wrap:wrap}.office-scroll-hint{font-size:6px}.office-credit{font-size:5px;width:100%;text-align:center}.office-story-caption{bottom:18%;left:7%;right:7%;max-width:280px}.office-story-caption p{font-size:31px}.office-story-caption>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.office-intro-enabled .office-intro{display:none}.office-intro-enabled:not(.office-intro-complete) body>.site-header{visibility:visible;pointer-events:auto}.office-scroll-hint b{animation:none}}
@media(max-width:700px){.office-room:before{content:'';position:absolute;inset:-40px;background:linear-gradient(#070e1aa8,#070e1ac9),url('intro-office-rear.png') center/cover;filter:blur(25px)}.office-room>img{mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.office-story-caption{bottom:12%;max-width:260px}.office-story-caption p{font-size:26px}}
/* Clip transformed layers without creating an inner scrolling container. */
.office-stage{overflow:clip}

/* The welcome belongs to the doors; the entrance control stays below. */
.door-brand{top:20%;opacity:.95}
.door-plaque{top:31%;left:18%;right:12%;font-size:clamp(17px,1.8vw,29px);line-height:1.55;letter-spacing:-.025em;color:#b4c6df}
.door-plaque strong{font-size:clamp(23px,2.65vw,43px);font-weight:500;letter-spacing:-.045em;color:#f2f6ff}
.door-greeting{position:absolute;top:29%;left:17%;right:9%;margin:0;font-size:clamp(32px,4.2vw,66px);line-height:1.1;letter-spacing:-.055em;text-align:left;text-shadow:0 4px 25px #0006}
.door-greeting em{color:#b5d0fc}
.office-welcome{inset:auto 0 88px;padding:0;justify-content:flex-end}
.office-enter{margin-top:0;background:#42649d38;padding:17px 30px;gap:60px}
.office-welcome>p{margin-top:12px}
@media(max-width:700px){.door-brand{top:18%}.door-plaque{left:11%;right:8%;top:27%;font-size:15px}.door-plaque strong{font-size:clamp(20px,5.4vw,32px);line-height:1.2;display:block;margin-top:5px}.door-greeting{top:27%;left:16%;right:6%;font-size:clamp(25px,7vw,46px)}.office-welcome{bottom:110px;padding:0}.office-enter{margin-top:0;padding:15px 25px;gap:45px}}

/* Direct office-to-screen journey. No doorway and no nested scrolling page. */
.office-intro-enabled .office-intro{height:270svh}
.office-stage{pointer-events:none}
.office-skip{pointer-events:auto}
.office-story-caption{bottom:15%;max-width:500px;opacity:1}
.office-story-caption p{font-size:clamp(36px,4.1vw,62px);text-wrap:balance}
.office-vignette{background:linear-gradient(90deg,#03071266,transparent 65%),linear-gradient(0deg,#030712c9,transparent 60%)}
@media(max-width:700px){.office-intro-enabled .office-intro{height:260svh}.office-room:before{background-image:linear-gradient(#070e1aa8,#070e1ac9),url('intro-office-mannheim-v2.png')}.office-story-caption{bottom:15%;max-width:290px}.office-story-caption p{font-size:35px}}

/* A slower, continuous camera path with a shared live homepage surface. */
.office-intro-enabled .office-intro{height:420svh}
.office-monitor{opacity:1;pointer-events:none;overflow:hidden;contain:layout paint}
.office-monitor>.site-header{position:absolute!important;visibility:visible!important;pointer-events:none!important;top:0;left:0;width:100%}
.office-monitor>.hero{width:100%;flex-shrink:0}
.office-story-caption{display:grid;bottom:15%;max-width:570px;right:6%;pointer-events:none}
.office-chapter{grid-area:1/1;align-self:end;will-change:opacity,transform,filter}
.office-chapter>span{font-size:9px;letter-spacing:.18em;color:#b9d9ff}
.office-chapter p{margin:18px 0;line-height:1.1}
.office-chapter-description{max-width:350px;font-size:14px;line-height:1.65;color:#c5d2e4;text-wrap:balance}
.office-home-slot{pointer-events:none}
@media(max-width:700px){.office-intro-enabled .office-intro{height:390svh}.office-story-caption{bottom:14%;max-width:310px}.office-chapter-description{font-size:12px;max-width:275px}.office-chapter>span{font-size:7px}.office-chapter p{font-size:35px}}
/* Reparenting must not restart the hero's entrance animations. */
.office-intro-enabled .hero,.office-intro-enabled .hero *{animation:none!important}

.office-chapter-description{white-space:pre-line}.office-intro-top>span{text-transform:uppercase}


.office-room img.office-framed-portrait{left:0;top:0;width:100px;height:140px;object-fit:cover;transform-origin:0 0;filter:blur(1.7px) brightness(.82);mask-image:none}

/* Keep the final intro headline together at every viewport width. */
.office-chapter:last-child p{white-space:nowrap;font-size:clamp(27px,4.1vw,62px)}
@media(max-width:700px){.office-chapter:last-child p{font-size:clamp(20px,6.45vw,35px)}}

/* Compact mobile framing: the monitor is the camera target from the first frame. */
.office-intro-complete .office-intro{pointer-events:none}
.office-intro-skipped .office-intro{display:none!important}
@media(max-width:700px){
 .office-intro-enabled .office-intro{height:260svh}
 .office-room>img:not(.office-framed-portrait){mask-image:linear-gradient(transparent,#000 9%,#000 84%,transparent)}
 .office-story-caption{left:24px;right:24px;bottom:13%;max-width:none}
 .office-chapter p{font-size:clamp(29px,7.7vw,42px);margin:12px 0}
 .office-chapter-description{max-width:290px;font-size:13px}
 .office-vignette{background:linear-gradient(0deg,#030712ed,transparent 66%)}
}
