/* One continuous Contec-blue surface with consistent panel widths and spacing. */
html,body{background:#0a1423}
.hero,.services,.references,.management-section,.contact,.site-footer,.trade-switch,.trade-tabs,.trade-panel,.trade-film,.hero-stage,.success-card,.contact-form{background:transparent}
.site-header,.mobile-menu{background:#0a1423}
.trade-switch{position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 0%,#14385a,transparent 65%),linear-gradient(135deg,#0b182b,#102a45 55%,#081727)}
.trade-tabs,.trade-panels{position:relative;z-index:1}
.thermo-glow{position:absolute;top:0;left:0;width:680px;height:680px;border-radius:50%;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#66d5ff16 0%,#0088fd24 20%,#0071dd13 43%,transparent 70%);transition:opacity .8s ease;will-change:transform}
.thermo-glow.is-active{opacity:1}
.service-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}
.service-tabs button{flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;padding:14px 8px;border-radius:3px;transition:background .25s ease,color .25s ease,box-shadow .25s ease}
.service-tabs button span{font-size:.875rem;line-height:1.4}
.service-tabs button strong{font-size:clamp(.9375rem,1.3vw,1.125rem);line-height:1.4;overflow-wrap:anywhere}
.service-tabs button[aria-selected="true"]{background:var(--blue);box-shadow:0 4px 20px #0088fd20;color:#fff}
.service-tabs button:hover:not([aria-selected="true"]){background:#ffffff09;color:#fff}
.trade-panels{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0;isolation:isolate}
.trade-panels>[role="tabpanel"]{grid-area:1/1;align-self:stretch;min-width:0;width:100%;padding:26px;border:0;margin:0}
.trade-panels>.trade-panel{grid-template-rows:auto 210px;align-content:start}
.trade-panels>.service-panel{display:block}
.trade-panels>[role="tabpanel"][hidden]{visibility:hidden!important;pointer-events:none}
.trade-panels>.service-panel[hidden]{display:block!important}
.trade-panels>.trade-panel[hidden]{display:grid!important}
.service-panel>.page-width{padding:0;max-width:none}
.management-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.management-intro h2{font-size:clamp(1.8rem,2.8vw,2.7rem);font-weight:650;line-height:1.15;letter-spacing:-.04em;color:var(--text)}
.management-total{flex-shrink:0;text-align:right}
.management-total>span{display:block;font-size:.875rem;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;color:#bdcce0}
.management-total>strong{display:block;font-size:clamp(2.4rem,3.4vw,3.3rem);line-height:1.15;letter-spacing:-.04em;font-weight:650;color:var(--blue)}
.management-total small{font-size:.55em;font-weight:500}
.management-content>.management-headline{font-size:clamp(1.8rem,2.8vw,2.7rem);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin:12px 0 16px}
.service-panel.references .section-meta{margin-bottom:12px}
.trade-panel>.trade-visual{height:210px;max-width:280px;align-self:start}
.trade-copy h3{font-size:clamp(2rem,3vw,3rem);margin:12px 0 16px}
.trade-copy>p:last-child{margin-top:0}
.trade-detail{gap:16px;align-self:start;height:auto}
.trade-detail .button{margin-top:0}
.trade-points li{padding:12px 0;font-size:1.0625rem}
.trade-scope{font-size:1rem}
.management-layout{gap:24px;align-items:center}
.management-layout>.service-visual{height:300px;margin:0}
.management-points{margin:14px 0 18px}
.management-points li{padding:9px 0;font-size:1rem}
.owner-statement{margin-top:20px;padding-top:18px;gap:24px}
.owner-statement h3{font-size:1.7rem;max-width:none}
.owner-statement p{font-size:1rem;line-height:1.55}
.center-heading{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:20px}
.center-heading>h2{font-size:clamp(1.8rem,2.7vw,2.6rem)}
.center-service h3{font-size:1.5rem;margin-bottom:6px}
.center-service p{font-size:1rem;line-height:1.5;max-width:none}
.center-service .button{margin-top:12px;min-height:46px;padding:11px 15px}
.success-grid{gap:16px}
.success-card{background:#08172899;border-color:#ffffff1c}
.success-photo{height:145px}
.success-photo img{width:100%;height:100%;object-fit:cover}
.success-photo-caption{left:16px;right:16px;bottom:14px}
.success-photo-caption h3{font-size:1.3rem}
.success-body{padding:16px;gap:10px}
.graph-values>strong{font-size:2rem}
.graph-values>span{font-size:1.2rem}
.graph-values small{font-size:.8125rem;line-height:1.35;margin-top:5px}
.success-graph{height:55px;margin-top:6px}
.success-copy h4{font-size:1.125rem;margin:0 0 5px}
.success-copy p{font-size:1rem;line-height:1.45}
.success-cta{margin:0 16px 16px;min-height:44px;padding:10px 14px}
.vacancy-invitation{margin-top:10px;padding-left:10px;gap:12px}
.vacancy-invitation h4{font-size:1rem;line-height:1.4}
.vacancy-invitation p{font-size:.875rem}
.vacancy-invitation .vacancy-cta{width:140px;font-size:.875rem;padding:10px;gap:8px}
.center-swipe-hint{display:none}
@media(max-width:1050px){.service-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tabs button strong{font-size:1.0625rem}}
@media(max-width:850px){
 .service-tabs{gap:5px;padding:6px}
 .service-tabs button{min-height:78px;padding:11px 6px;gap:3px}
 .service-tabs button strong{font-size:1rem;max-width:none;text-wrap:balance}
 .service-tabs button span{font-size:.875rem}
 .trade-panels>[role="tabpanel"]{padding:22px 18px}
 .trade-panels>.trade-panel{grid-template-rows:auto auto;row-gap:14px}
 .management-intro{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px;padding-bottom:20px}
 .management-intro h2{font-size:clamp(1.75rem,6.8vw,2.8rem);overflow-wrap:anywhere}
 .management-total{text-align:left}
 .management-total>strong{font-size:clamp(2.7rem,11vw,3.8rem)}
 .management-content>.management-headline{font-size:clamp(1.75rem,7vw,2.7rem);margin:12px 0 14px}
 .service-panel .section-heading{grid-template-columns:minmax(0,1fr)}
 .trade-copy h3{font-size:clamp(1.85rem,7vw,2.5rem)}
 .management-content>.management-headline{font-size:clamp(1.6rem,6.3vw,2.4rem)}
 .owner-statement{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px;padding-top:16px}
 .owner-statement h3{font-size:1.5rem}
 .center-heading{gap:12px;margin-bottom:12px}
 .center-heading>h2{font-size:clamp(1.7rem,6.5vw,2.5rem)}
 .center-service h3{font-size:1.25rem}
 .center-service .button{margin-top:10px;width:100%}
 .center-swipe-hint{display:block;font-size:.875rem;color:#a9bfd7;margin-bottom:10px}
 .success-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(100% - 20px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#0088fd #ffffff10}
 .success-track{scroll-snap-align:start;min-width:0}
 .success-card{height:100%}
 .success-photo{height:auto;background:transparent}
 .success-photo img{height:135px;object-fit:cover}
 .success-photo-caption{position:static;padding:12px 14px 0}
 .success-photo-caption h3{font-size:1.15rem}
 .success-body{padding:12px 14px}
 .success-cta{margin:0 14px 14px}
 .vacancy-invitation{grid-template-columns:minmax(0,1fr) 108px;gap:8px}
 .vacancy-invitation .vacancy-cta{width:108px;font-size:.8125rem}

}
@media(hover:none),(pointer:coarse){.thermo-glow{display:none}}
@media(prefers-reduced-motion:reduce){.service-tabs button{transition:none}.thermo-glow{display:none}}

/* Acquisition and brokerage follow the same clear reading order as management. */
.trade-panels>.transaction-panel,.trade-panels>.transaction-panel[hidden]{display:block!important}
.transaction-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.transaction-top h2{font-size:clamp(1.8rem,2.8vw,2.7rem);font-weight:650;line-height:1.15;letter-spacing:-.04em}
.transaction-top .eyebrow{font-size:.875rem;color:var(--blue-light);letter-spacing:.06em;text-align:right;flex-shrink:0}
.transaction-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.transaction-story{min-width:0;max-width:620px}
.transaction-story .trade-copy{display:block}
.transaction-story .trade-copy h3{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.2;margin:0 0 12px}
.transaction-story .trade-copy>p{max-width:none;line-height:1.6;font-size:1rem}
.transaction-story .trade-detail{display:flex;margin-top:18px;gap:14px;padding:0;height:auto}
.transaction-story .trade-points li{padding:10px 0;font-size:1rem;line-height:1.5}
.transaction-story .trade-detail .button{width:100%;margin:2px 0 0}
.transaction-layout>.trade-visual{display:block;grid-area:auto;align-self:center;justify-self:center;width:100%;height:auto;aspect-ratio:4/3;max-width:440px;margin:0;border:1px solid #ffffff0e;background:#0b1829}
.transaction-layout>.trade-visual video{width:100%;height:100%;object-fit:contain}
@media(max-width:1100px){.transaction-top{align-items:flex-start}.transaction-top .eyebrow{max-width:14ch;flex-shrink:1}.transaction-layout{gap:22px}}
@media(max-width:850px){
 .transaction-top{display:block;margin-bottom:18px;padding-bottom:16px}
 .transaction-top h2{font-size:clamp(1.65rem,6.3vw,2.5rem);overflow-wrap:break-word}
 .transaction-top .eyebrow{margin-top:8px;text-align:left;max-width:none}
 .transaction-layout{grid-template-columns:minmax(0,1fr);gap:0}
 .transaction-story .trade-copy h3{font-size:clamp(1.55rem,6vw,2.2rem)}
 .transaction-story .trade-detail{margin-top:14px}
 .transaction-layout>.trade-visual{display:none}
}

/* Only the selected service contributes height; hidden content reserves no space. */
#leistungen .trade-panels>[role="tabpanel"][hidden]{display:none!important}
#leistungen .trade-panels{min-height:0;overflow:clip}
#leistungen .trade-panels>[role="tabpanel"]{min-height:0;padding-bottom:18px}
.services{padding-bottom:36px}
@media(max-width:850px){
 #leistungen .trade-panels>[role="tabpanel"]{padding-bottom:16px}
 .services{padding-bottom:24px}
}
