/* Bright Köln entry: Paul typography, clear actions and an unobscured project photo. */
.phero--koeln{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch;padding:0;color:var(--ink);background:#fff;border-bottom:1px solid var(--line)}
.phero--koeln>picture{display:block;position:relative;grid-column:2;grid-row:1;min-width:0;min-height:440px;overflow:hidden}
.phero--koeln img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;scale:1!important;translate:none;transform:none;animation:none!important;filter:none}
.phero--koeln .wrap{grid-column:1;grid-row:1;align-self:center;width:100%;max-width:640px;margin:0 0 0 auto;padding:64px 44px 64px max(24px,calc((100vw - 1240px)/2 + 24px))}
.phero--koeln .kicker{color:var(--orange-deep)}
.phero--koeln h1{font-size:clamp(44px,4.3vw,66px);line-height:1.12;letter-spacing:0;overflow-wrap:normal}
.phero--koeln h1.h-rise .rise-in{transform:none;transition:none}
.phero--koeln .stamp{color:var(--orange)}
.phero--koeln .lead{max-width:36ch;color:var(--steel);font-size:19px;line-height:1.6;margin-top:22px}
.phero--koeln .phero-cta{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:30px}
.phero--koeln .phero-cta .btn{justify-content:center;min-height:54px;padding:14px 22px;box-shadow:none;white-space:nowrap;letter-spacing:.05em;text-decoration:none}
.phero--koeln .koeln-hero-phone{border:2px solid #cbd0cc;background:#fff;color:var(--ink)}
.phero--koeln .koeln-hero-phone:hover{border-color:var(--green-deep);background:var(--green-deep);color:#fff;transform:translateY(-3px)}
.phero--koeln .phero-cta .btn:focus-visible{outline:3px solid var(--green-deep);outline-offset:4px}
/* The hero, header and form retain contact links without a floating stack. */
.page-koeln .float{display:none}
.page-koeln .about .prose+.btn{margin-top:24px}
.page-koeln .ctaband .inner>div:last-child{gap:16px!important}
@media(min-width:1240px){
  .phero--koeln .wrap{max-width:none}
}
@media(max-width:960px){
  .phero--koeln{grid-template-columns:minmax(0,1fr)}
  .phero--koeln .wrap{grid-column:1;grid-row:1;max-width:720px;margin:0 auto;padding:36px 24px 30px}
  .phero--koeln h1{font-size:clamp(36px,7.8vw,60px)}
  .phero--koeln .lead{max-width:48ch;font-size:18px;margin-top:18px}
  .phero--koeln>picture{grid-column:1;grid-row:2;min-height:0;height:clamp(220px,49vw,380px)}
  .phero--koeln img.bg{object-position:50% 54%}
  .phero--koeln .phero-cta{margin-top:24px}
}
@media(max-width:640px){
  .phero--koeln .wrap{padding:28px 24px 26px}
  .phero--koeln .kicker{font-size:13px;letter-spacing:.18em}
  .phero--koeln h1{font-size:clamp(32px,9.7vw,54px);margin-top:12px}
  .phero--koeln .lead{font-size:17px;line-height:1.5;margin-top:16px}
  .phero--koeln .phero-cta{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px;margin-top:22px}
  .phero--koeln .phero-cta .btn{min-height:52px;padding:12px 10px;font-size:14px;letter-spacing:.035em;gap:8px}
}
@media(max-width:360px){
  .phero--koeln .wrap{padding-left:20px;padding-right:20px}
  .phero--koeln .phero-cta{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .phero--koeln .phero-cta .btn{transition:none}
  .phero--koeln .phero-cta .btn:hover{transform:none}
}
