.koeln-page{color:#123f45;background:#f6f3ec;font-family:Inter,Segoe UI,Arial,sans-serif}.koeln-page h1,.koeln-page h2,.koeln-page h3{font-family:Manrope,Inter,Segoe UI,Arial,sans-serif}.koeln-header{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1440px;margin:auto;padding:1.2rem 3.5rem;display:flex}.koeln-logo{width:260px;height:auto}.koeln-header nav{align-items:center;gap:2rem;font-size:.88rem;font-weight:750;display:flex}.koeln-header nav a:hover{text-underline-offset:5px;text-decoration:underline}.koeln-header .koeln-nav-cta{color:#f6f3ec;background:#123f45;border-radius:999px;padding:.85rem 1.25rem}.koeln-hero{color:#f6f3ec;background:#123f45;grid-template-columns:52% 48%;min-height:630px;display:grid;position:relative;overflow:hidden}.koeln-hero-image{min-height:630px;position:relative}.koeln-hero-image img{object-fit:cover;object-position:53% center}.koeln-hero-content{align-self:center;max-width:700px;padding:6rem 6vw 5rem}.koeln-eyebrow{letter-spacing:.18em;align-items:center;gap:.5rem;font-size:.74rem;font-weight:800;line-height:1.4;display:flex}.koeln-hero h1{letter-spacing:-.055em;margin:1.4rem 0;font-size:clamp(3.1rem,5.6vw,6.4rem);font-weight:800;line-height:1.04}.koeln-hero h1 em{color:#d7be91;font-style:normal}.koeln-hero-copy{color:#dbe6e2;max-width:32rem;font-size:1.12rem;line-height:1.7}.koeln-primary{color:#123f45;background:#d7be91;border-radius:999px;justify-content:center;align-items:center;margin-top:2rem;padding:1.08rem 1.65rem;font-size:1rem;font-weight:800;transition:transform .2s,background .2s;display:inline-flex}.koeln-primary:hover{background:#e7d1aa;transform:translateY(-2px)}.koeln-hero-foot{color:#dbe6e2;margin-top:.9rem;font-size:.82rem;display:block}.koeln-down{border:1px solid #f6f3ec80;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.koeln-intro,.koeln-prep{max-width:1280px;margin:auto;padding:7rem 3.5rem}.koeln-intro-heading{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem;display:flex}.koeln-intro-heading h2,.koeln-location h2,.koeln-prep h2,.koeln-trust h2,.koeln-close h2{letter-spacing:-.045em;font-size:clamp(2.3rem,4vw,4rem);font-weight:800;line-height:1.1}.koeln-intro-heading h2{max-width:800px}.koeln-step-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.koeln-step-grid article{color:#f6f3ec;background:#123f45;border-radius:1.8rem;flex-direction:column;align-items:start;min-height:340px;padding:2rem;display:flex}.koeln-step-grid article span{color:#d7be91;font-weight:800}.koeln-step-grid article svg{color:#d7be91;width:30px;height:30px;margin-top:1.5rem}.koeln-step-grid h3{min-height:3.6em;margin-top:1.4rem;font-size:1.55rem;font-weight:800;line-height:1.2}.koeln-step-grid p{color:#dce6e3;margin-top:.7rem;line-height:1.65}.koeln-location{background:#e9e3d7;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:6rem max(3.5rem,50vw - 584px);display:grid}.koeln-location-lead p:last-child,.koeln-prep-copy p:last-child{color:#526d71;margin-top:1.2rem;font-size:1.05rem;line-height:1.7}.koeln-location h2,.koeln-prep h2{margin-top:1rem}.koeln-picker{background:#fff;border-radius:1.6rem;padding:2rem;box-shadow:0 18px 50px #123f4512}.koeln-picker-options{flex-wrap:wrap;gap:.5rem;display:flex}.koeln-radio{opacity:0;width:1px;height:1px;position:absolute}.koeln-picker label{cursor:pointer;background:#fff;border:1px solid #cbd3cf;border-radius:999px;padding:.7rem 1rem;font-weight:700}.koeln-radio:checked+label{color:#fff;background:#123f45;border-color:#123f45}.koeln-radio:focus-visible+label{outline-offset:3px;outline:3px solid #d7be91}.koeln-picker-answer{border-top:1px solid #d9ded8;min-height:6.5rem;margin-top:2.1rem;padding-top:1.5rem}.koeln-picker-detail{color:#526d71;line-height:1.65;display:none}:is(.koeln-picker:has(#place-koeln:checked) .detail-koeln,.koeln-picker:has(#place-umland:checked) .detail-umland,.koeln-picker:has(#place-nrw:checked) .detail-nrw){display:block}.orts-map{color:#f6f3ec;background:#123f45;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:2rem;padding:4.5rem max(3.5rem,50vw - 584px);display:grid}.orts-map-copy h2{letter-spacing:-.045em;max-width:600px;margin-top:1rem;font-size:clamp(2.3rem,4vw,4rem);font-weight:800;line-height:1.08}.orts-map-copy>p:not(.koeln-eyebrow){color:#dce6e3;max-width:540px;margin-top:1.35rem;font-size:1.05rem;line-height:1.7}.orts-distance{flex-direction:column;gap:.35rem;margin-top:2rem;display:flex}.orts-distance strong{color:#d7be91;letter-spacing:-.06em;font-size:clamp(3.5rem,7vw,6rem);font-weight:800;line-height:1}.orts-distance span{color:#f6f3ec;letter-spacing:.06em;text-transform:uppercase;font-size:.86rem;font-weight:700}.orts-map-copy .orts-map-note{max-width:490px;color:#b9ceca!important;font-size:.85rem!important}.orts-map-visual{background:radial-gradient(circle at 50% 55%,#2d6066,#163f46 72%);border:1px solid #a7c3bd47;border-radius:2rem;padding:1rem;overflow:hidden}.orts-map-visual svg{width:100%;max-height:530px;display:block}.orts-map-legend{color:#f6f3ec;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.85rem;font-weight:750;display:flex}.orts-map-legend span{align-items:center;gap:.5rem;display:flex}.orts-map-legend i{border-radius:50%;width:10px;height:10px;display:block}.orts-map-start{background:#f6f3ec;outline:2px solid #d7be91}.orts-map-end{background:#d7be91}.orts-map-credit{text-align:center;color:#b9ceca;margin-top:1.1rem;font-size:.68rem}.orts-map-credit a{text-underline-offset:2px;text-decoration:underline}.koeln-prep{grid-template-columns:1fr 1.1fr;gap:5rem;display:grid}.koeln-prep-list{border-top:1px solid #cbd3cf}.koeln-prep-list>div{border-bottom:1px solid #cbd3cf;gap:1.5rem;padding:1.6rem 0;display:flex}.koeln-prep-list svg{color:#a18759;flex:none;width:25px;height:25px}.koeln-prep-list h3{font-size:1.25rem;font-weight:800}.koeln-prep-list p{color:#526d71;margin-top:.5rem;line-height:1.65}.orts-discover{max-width:1280px;margin:auto;padding:1rem 3.5rem 7rem}.orts-discover-heading{max-width:850px}.orts-discover-heading h2{letter-spacing:-.045em;margin-top:1rem;font-size:clamp(2.3rem,4vw,4rem);font-weight:800;line-height:1.1}.orts-discover-heading>p:last-child{color:#526d71;max-width:690px;margin-top:1.2rem;font-size:1.05rem;line-height:1.7}.orts-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}.orts-discover-grid article{border-radius:1.8rem;flex-direction:column;align-items:flex-start;min-height:340px;padding:2.2rem;display:flex}.orts-discover-place{background:#e9e3d7}.orts-discover-tip{background:#fff;border:1px solid #d5d9d3}.orts-discover-icon{color:#f6f3ec;background:#123f45;border-radius:50%;place-items:center;width:50px;height:50px;margin-bottom:1.6rem;display:grid}.orts-discover-grid h3{letter-spacing:-.035em;margin:.65rem 0 .8rem;font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:800;line-height:1.15}.orts-discover-grid article>p:not(.koeln-eyebrow),.orts-discover-grid li{color:#526d71;line-height:1.7}.orts-discover-grid ul{margin:0;padding-left:1.3rem;list-style:outside}.orts-discover-grid li+li{margin-top:.5rem}.orts-discover-grid a{text-underline-offset:4px;margin-top:auto;padding-top:1.5rem;font-weight:800;text-decoration:underline}.koeln-trust{color:#f6f3ec;background:#123f45;grid-template-columns:130px 1fr;align-items:start;gap:3rem;padding:5.5rem max(3.5rem,50vw - 584px);display:grid}.koeln-trust-icon{color:#d7be91;border:1px solid #d7be91;border-radius:50%;place-items:center;width:100px;height:100px;display:grid}.koeln-trust h2{margin-top:.8rem}.koeln-trust p:last-child{color:#dce6e3;max-width:52rem;margin-top:1.3rem;font-size:1.08rem;line-height:1.8}.koeln-close{text-align:center;max-width:900px;margin:auto;padding:7rem 2rem}.koeln-close .koeln-eyebrow{justify-content:center}.koeln-close h2{margin-top:1rem}.koeln-close>p:not(.koeln-eyebrow){color:#526d71;max-width:38rem;margin:1.3rem auto 0;font-size:1.1rem;line-height:1.65}.koeln-close-note{color:#526d71;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;font-size:.8rem;display:flex}.koeln-footer{color:#526d71;border-top:1px solid #d5d9d3;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 3.5rem;font-size:.8rem;display:flex}.koeln-footer a{text-decoration:underline}@media (max-width:900px){.koeln-header{padding:1rem 1.5rem}.koeln-header nav{gap:1rem}.koeln-logo{width:210px}.koeln-hero{grid-template-columns:1fr}.koeln-hero-image{min-height:340px}.koeln-hero-content{padding:3.5rem 1.5rem 5rem}.koeln-hero h1{max-width:700px}.koeln-intro,.koeln-prep{padding:5rem 1.5rem}.koeln-intro-heading{display:block}.koeln-intro-heading h2{margin-top:1rem}.orts-map{grid-template-columns:1fr;padding:5rem 1.5rem}.orts-map-visual{width:100%;max-width:650px;margin:auto}.koeln-prep{grid-template-columns:1fr;gap:2.5rem}.orts-discover{padding:1rem 1.5rem 5rem}.koeln-trust{grid-template-columns:90px 1fr;gap:1rem;padding:5rem 1.5rem}}@media (max-width:640px){.koeln-header{gap:.3rem}.koeln-logo{width:160px}.koeln-header .koeln-nav-cta{padding:.7rem .85rem;font-size:.72rem}.koeln-hero-image{min-height:245px}.koeln-hero h1{font-size:clamp(2.8rem,11vw,4rem)}.koeln-step-grid{grid-template-columns:1fr}.koeln-step-grid article{min-height:245px}.koeln-step-grid article svg{margin-top:2rem}.koeln-step-grid h3{min-height:0}.koeln-trust{display:block}.koeln-trust-icon{margin-bottom:2rem}.koeln-footer{padding:2rem 1.5rem}.orts-discover-grid{grid-template-columns:1fr}.orts-discover-grid article{min-height:0}}.city-page h1,.city-page h2,.city-page h3{letter-spacing:-.015em}.city-page .koeln-hero h1{letter-spacing:-.025em;line-height:1.1}.city-page .koeln-trust h2{letter-spacing:0;font-size:clamp(2.1rem,3.5vw,3.45rem);line-height:1.2}.city-page .orts-map-copy h2,.city-page .orts-discover-heading h2,.city-page .koeln-close h2{letter-spacing:0;line-height:1.16}.city-page .orts-map-copy .orts-map-note{max-width:520px;color:#dce6e3!important;font-size:1rem!important}.city-page .orts-map-visual svg{max-height:540px}.city-page .koeln-hero-image img{animation:1.3s ease-out both city-image-arrive}.city-page .koeln-hero-content>*{animation:.75s ease-out both city-rise}.city-page .koeln-hero-content>:nth-child(2){animation-delay:.12s}.city-page .koeln-hero-content>:nth-child(3){animation-delay:.22s}.city-page .koeln-hero-content>:nth-child(4){animation-delay:.32s}.city-page .koeln-header{animation:.55s ease-out both city-rise}.city-page .koeln-step-grid article,.city-page .orts-discover-grid article{transition:transform .3s,box-shadow .3s}.city-page .koeln-step-grid article:hover,.city-page .orts-discover-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 40px #082b3150}.city-page .orts-map-visual{padding:1.2rem}.city-connection{position:relative}.city-connection svg{aspect-ratio:330/310;width:100%;height:auto}.city-region{fill:#28545a;stroke:#8ea9a5;stroke-width:1px;stroke-linejoin:round;opacity:.58}.city-region-home{fill:#306167;stroke:#d7be91;stroke-width:1.6px;stroke-linejoin:round}.city-link-base{fill:none;stroke:#d7be91;stroke-width:2px;opacity:.55;stroke-linecap:round}.city-link-motion{fill:none;stroke:#f6f3ec;stroke-width:3px;stroke-linecap:round;stroke-dasharray:var(--dash-length);stroke-dashoffset:var(--dash-length);animation:8s ease-in-out infinite city-connection-line}.city-location-dot{fill:#d7be91;stroke:#f6f3ec;stroke-width:2px}.city-map-place{fill:#f6f3ec;letter-spacing:1.2px;font:800 14px Manrope,Inter,Arial,sans-serif}.city-map-role{fill:#dce6e3;font:500 12px Inter,Arial,sans-serif}.city-travelling-caravan{animation:8s ease-in-out infinite city-connection-travel}.city-www{opacity:0;animation:8s ease-in-out infinite city-connection-brand}.city-www-home{opacity:1;animation:none}.city-map-caption{text-align:center;color:#b9ceca;max-width:22rem;margin:.3rem auto .1rem;font-size:.72rem;line-height:1.5}@keyframes city-image-arrive{0%{opacity:.65;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes city-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes city-connection-line{0%,10%{stroke-dashoffset:var(--dash-length);opacity:0}16%{opacity:1}58%,84%{stroke-dashoffset:0;opacity:1}96%,to{stroke-dashoffset:var(--dash-length);opacity:0}}@keyframes city-connection-travel{0%,10%{opacity:1;transform:translate(0)}58%,86%{opacity:1;transform:translate(var(--route-x),var(--route-y))}96%{opacity:0;transform:translate(var(--route-x),var(--route-y))}to{opacity:1;transform:translate(0)}}@keyframes city-connection-brand{0%,57%{opacity:0}66%,85%{opacity:1}96%,to{opacity:0}}@supports (animation-timeline:view()){.city-page .koeln-intro-heading,.city-page .koeln-step-grid article,.city-page .orts-map-copy,.city-page .orts-map-visual,.city-page .orts-discover-heading,.city-page .orts-discover-grid article,.city-page .koeln-trust>div:last-child,.city-page .koeln-close{animation:1s both city-rise;animation-timeline:view();animation-range:entry cover 28%}}@media (prefers-reduced-motion:reduce){.city-page *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.city-link-motion,.city-travelling-caravan,.city-www{animation:none!important}.city-link-motion{stroke-dashoffset:0}.city-travelling-caravan{transform:translate(var(--route-x),var(--route-y))}.city-www{opacity:1}}
