body.office-page>main>section.section{padding:52px 0}
.office-page .button{border-radius:999px}
body.office-page #main>.office-intro{position:relative;min-height:540px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#345b6e!important}
.office-page .office-intro .buy-hero-scenes{position:absolute;inset:0;width:auto;z-index:-2;overflow:hidden}

.office-hero-copy{max-width:590px}.office-page .office-intro .hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--office-scene-position,50% 25%);opacity:0;transition:opacity 1.6s ease}.office-intro .hero-scene.is-visible{opacity:1}.office-intro .hero-scene.is-resetting{transition:none}
body.office-page #main .office-intro h1{font-size:clamp(42px,4.5vw,66px);line-height:1.08;color:#fff}.office-intro .lead{font-size:21px}
.office-split,.office-section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.office-section-head{margin-bottom:32px}.office-page .office-section-head p{margin:0;max-width:440px;color:#5b707a}.office-page h2{margin-top:0}body.office-page>main>section.section h2{font-size:clamp(32px,3.7vw,50px);line-height:1.12}
.office-people{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 16px;scrollbar-width:thin}.office-person{flex:1 0 240px;max-width:330px;scroll-snap-align:start}.office-person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block}.office-person h4{font-size:24px;margin:20px 0 8px}.office-person p{font-size:14px;margin:0;min-height:0;color:#5b707a}
.office-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.office-location-grid .lead{font-size:23px}.office-page .page-actions{align-items:center;gap:22px;flex-wrap:wrap}.office-direct{display:grid;gap:8px;margin:28px 0 20px;font-weight:600}.office-page .office-arrival{font-size:14px;color:#5b707a;max-width:480px}.office-map{min-height:400px;border-radius:16px;overflow:hidden;background:#e6ecee}.office-map-cover{height:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:14px}.office-map-cover>span{font:500 38px 'Playfair Display',Georgia,serif;color:#345b6e}.office-map-cover p{margin:0}.office-map-cover small{font-size:12px;max-width:300px;color:#5b707a}.office-map button{cursor:pointer;background:#345b6e;color:#fff;border:0}.office-map iframe{width:100%;height:100%;min-height:460px;display:block;border:0}
.office-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}.office-service{border-top:1px solid #b9cbd3;padding:20px 0 8px;transition:transform .2s}.office-service:hover{transform:translateY(-4px)}.office-service h3{font-size:26px;margin:0 0 12px}.office-service p{font-size:16px;color:#5b707a;min-height:0;margin:0 0 12px}
.office-faq details{border-bottom:1px solid #c7d4d9;padding:20px 0}.office-faq details:first-child{padding-top:0}.office-faq summary{cursor:pointer;font-size:18px;font-weight:600;color:#345b6e}.office-faq details p{margin:18px 0 0;font-size:16px;color:#5b707a}
body.office-page #main>.office-final{background:#345b6e!important;text-align:center}.office-final h2{margin:0 auto}.office-final .lead{max-width:600px;margin:20px auto 28px}.office-final .button{background:#fff;color:#345b6e;border:0}
@media(max-width:850px){body.office-page #main>.office-intro{min-height:500px;padding-top:140px}.office-page .office-intro .buy-hero-scenes{inset:0}.office-split,.office-section-head,.office-location-grid{grid-template-columns:1fr;gap:24px}.office-people{gap:20px}.office-person{flex:0 0 260px}.office-map{min-height:330px}.office-map-cover{min-height:330px}.office-map iframe{height:360px;min-height:360px}.office-service-grid{gap:20px}}
@media(max-width:540px){body.office-page>main>section.section{padding:36px 0}body.office-page #main>.office-intro{min-height:470px;padding-top:130px}body.office-page #main .office-intro h1{font-size:43px}.office-intro .lead{font-size:18px}.office-people{margin-right:-16px;padding-right:16px}.office-person{flex-basis:78%;max-width:300px}.office-service-grid{grid-template-columns:1fr;gap:14px}.office-service p{min-height:0}.office-page .page-actions{gap:18px}.office-section-head{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.office-intro .hero-scene,.office-service{transition:none}.office-people{scroll-behavior:auto}}

.office-team-group+.office-team-group{margin-top:26px}
.office-team-group-title{font:600 18px/1.4 Raleway,Arial,sans-serif;color:#345b6e;margin:0 0 16px;padding-top:16px;border-top:1px solid #c7d4d9}
.office-team-group .office-person{flex:0 0 calc((100% - 72px)/4);max-width:280px;min-width:210px}
.office-team-group .office-person h4{font:500 23px/1.2 "Playfair Display",Georgia,serif;margin:14px 0 6px;color:#345b6e}
@media(max-width:850px){.office-team-group .office-person{flex-basis:calc((100% - 40px)/3);min-width:210px}}
@media(max-width:540px){.office-team-group+.office-team-group{margin-top:26px}.office-team-group .office-person{flex-basis:68%;min-width:0}.office-team-group-title{font-size:16px;margin-bottom:16px}.office-team-group .office-person h4{font-size:22px}}

.office-person{border-radius:14px;display:block}.office-person img{transition:transform .25s ease}.office-person:hover img{transform:translateY(-3px)}.office-person:hover h4,.office-person:focus-visible h4{text-decoration:underline;text-underline-offset:5px}.office-person:focus-visible{outline:2px solid #345b6e;outline-offset:5px}.office-market{display:flex;gap:28px;align-items:center;justify-content:space-between;margin-top:24px;padding:24px 0 0;border-top:1px solid #b9cbd3}.office-market h3{font-size:25px;margin:0 0 8px}.office-market p{font-size:15px;margin:0;max-width:600px;color:#5b707a}.office-market>a{flex-shrink:0}
@media(max-width:540px){.office-market{display:block;padding-top:20px}.office-market>a{display:inline-block;margin-top:12px}.office-market h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.office-person img{transition:none}.office-person:hover img{transform:none}}

/* Keep each subject framed independently as the carousel changes. */
.office-page .office-intro .hero-scene[data-scene="magazin/region-dorsten"]{--office-scene-position:54% 0%}
.office-page .office-intro .hero-scene[data-scene="sell-hero/beratung"]{--office-scene-position:54% 0%}
.office-page .office-intro .hero-scene[data-scene="guides-hero/kontakt"]{--office-scene-position:52% 0%}
.office-page .office-intro .hero-scene[data-scene="contact/duesseldorf-koe"]{--office-scene-position:38% 20%}
.office-page .office-intro .hero-scene[data-scene="marktgebiete/rheinland"]{--office-scene-position:37% 0%}
.office-page .office-intro .hero-scene[data-scene="references-hero/besichtigung"]{--office-scene-position:35% 0%}
@media(max-width:850px){
.office-page .office-intro .hero-scene[data-scene="magazin/region-dorsten"]{--office-scene-position:54% 25%}
.office-page .office-intro .hero-scene[data-scene="sell-hero/beratung"]{--office-scene-position:54% 25%}
.office-page .office-intro .hero-scene[data-scene="guides-hero/kontakt"]{--office-scene-position:52% 25%}
.office-page .office-intro .hero-scene[data-scene="contact/duesseldorf-koe"]{--office-scene-position:38% 25%}
.office-page .office-intro .hero-scene[data-scene="marktgebiete/rheinland"]{--office-scene-position:37% 25%}
.office-page .office-intro .hero-scene[data-scene="references-hero/besichtigung"]{--office-scene-position:35% 25%}
}
