/* Contact shares the same type scale, actions, form fields and page shell. */
.contact-intro{padding-block:clamp(40px,4vw,76px) 38px}
.contact-heading{margin-bottom:30px}
.bxm-contact-page h1{font:300 clamp(48px,5.1vw,96px)/1.07 var(--bxm-font-family);letter-spacing:-.06em;margin:0}
.contact-heading__details{padding-block:8px}
.contact-heading__details>p{font:300 var(--bxm-type-lead)/var(--bxm-leading-copy) var(--bxm-font-family);color:var(--about-muted);max-width:46ch;margin-bottom:22px}
.contact-heading__details .bxm-action>span:first-child{display:grid;gap:2px}
.contact-heading__details .bxm-action small{font:400 13px/1.3 var(--bxm-font-family)}
.contact-heading__details .bxm-action strong{font:600 var(--bxm-type-copy)/1.3 var(--bxm-font-family);white-space:nowrap}
.bxm-contact-page .contact-phone-icon svg{transform:none!important;position:static;grid-area:1/1}
.bxm-contact-page button.bxm-action{font:600 var(--bxm-type-action)/1.35 var(--bxm-font-family)}
.contact-hours{display:flex;align-items:center;justify-content:space-between;gap:18px 36px;border-block:1px solid var(--about-line);padding:18px 0;margin-bottom:30px}
.contact-hours p{font:400 var(--bxm-type-support)/1.5 var(--bxm-font-family);color:var(--about-muted);margin:0}
.contact-hours p:first-child{display:flex;align-items:center;gap:14px;color:var(--about-ink);flex-shrink:0}
.contact-hours strong{font-weight:600;margin-left:6px;white-space:nowrap}
.contact-hours svg{color:var(--about-blue)}
.contact-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}
.contact-city{min-width:0;text-align:center;padding-bottom:25px;position:relative;border-bottom:1px solid var(--about-line)}
.contact-city::after{content:'';position:absolute;bottom:-1px;left:50%;width:0;height:2px;background:var(--about-blue);transition:width .35s,left .35s}
.contact-city:hover::after,.contact-city:focus-within::after{width:100%;left:0}
.contact-city__art{display:grid;place-items:end center;--city-art-height:clamp(185px,15vw,255px);height:var(--city-art-height);margin:0 0 24px}
.contact-city__art img{width:auto;max-height:none;height:var(--city-art-height);object-fit:contain;transition:transform .5s ease}
.contact-city:hover .contact-city__art img,.contact-city:focus-within .contact-city__art img{transform:translateY(-6px)}
.contact-city.is-visible .contact-city__details{animation:contact-city-arrive .6s both;animation-delay:var(--city-delay,0ms)}
.bxm-contact-page .contact-city h2{font:600 var(--bxm-type-feature)/var(--bxm-leading-feature) var(--bxm-font-family);letter-spacing:-.03em;margin:0 0 6px}
.contact-city__street{font:300 var(--bxm-type-copy)/1.5 var(--bxm-font-family);color:var(--about-muted);margin:0 0 16px}
.contact-city address{display:grid;gap:8px;font-style:normal;margin:0}
.contact-city address a{color:var(--about-ink);overflow-wrap:anywhere;justify-self:center}
.contact-city address a:hover{color:var(--about-blue)}
.contact-city__phone{font:600 var(--bxm-type-copy)/1.5 var(--bxm-font-family);font-variant-numeric:tabular-nums}
.contact-city__email{font:400 var(--bxm-type-copy)/1.5 var(--bxm-font-family)}
.contact-city address .contact-city__web{font:300 var(--bxm-type-support)/1.6 var(--bxm-font-family);color:var(--about-muted)}
.contact-city__map{margin-top:20px}
.contact-meeting{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%;align-items:center;padding-block:clamp(42px,5vw,90px)}
.bxm-contact-page :is(.contact-person h2,.bxm-contact-v55__details h2){font:300 var(--bxm-type-section)/var(--bxm-leading-section) var(--bxm-font-family);letter-spacing:-.05em}
.contact-person>p:not(.bxm-about-kicker){font:300 var(--bxm-type-copy)/var(--bxm-leading-copy) var(--bxm-font-family);color:var(--about-muted);max-width:46ch}
.contact-person address{font-style:normal;display:grid;gap:5px;margin:25px 0 15px}
.contact-person address strong{font:600 var(--bxm-type-card)/var(--bxm-leading-card) var(--bxm-font-family)}
.contact-person address span{color:var(--about-muted);font-size:var(--bxm-type-support);margin-bottom:12px}
.contact-person address a{color:var(--about-ink);font-size:var(--bxm-type-copy);width:fit-content}
.contact-person address a:hover{color:var(--about-blue)}
.contact-person__phone{font-weight:600}
.bxm-contact-page #formularz_kontaktowy_pc.bxm-contact-v55{background:var(--about-bg);color:var(--about-ink);padding-block:clamp(38px,4vw,72px) 32px;border-top:1px solid var(--about-line)}
.bxm-contact-page .bxm-contact-v55__inner{width:94%;max-width:1800px}
.bxm-contact-page .bxm-contact-v55__form{gap:28px 6%}
.bxm-contact-page .bxm-contact-v55__details>p:not(.bxm-projects__eyebrow){font:300 var(--bxm-type-copy)/var(--bxm-leading-copy) var(--bxm-font-family);color:var(--about-muted)}
.bxm-contact-page .bxm-projects__eyebrow{font:600 14px/1.4 var(--bxm-font-family);letter-spacing:.14em;text-transform:uppercase;color:var(--about-blue);margin:0 0 20px}
.bxm-contact-page .bxm-contact-v55 label{color:var(--about-ink)}
.bxm-contact-page .bxm-contact-v55 :is(input,select,textarea){background:var(--about-bg);color:var(--about-ink)}
.bxm-contact-page .bxm-contact-v55__message textarea{min-height:330px}
.bxm-contact-page .bxm-contact-v55__brief{border-color:var(--about-line)}
.bxm-contact-page .bxm-contact-v55__brief>summary{color:var(--about-ink)}
.bxm-contact-page .bxm-contact-v55__downloads{gap:16px 24px;align-content:start}
.bxm-contact-page .bxm-contact-v55__downloads small{color:var(--about-muted)}
.bxm-contact-page .bxm-contact-v55__send>small{color:var(--about-muted)}
.bxm-contact-page .bxm-contact-v55__send a{color:var(--about-blue)}
.contact-company{padding-block:40px 55px;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start;border-top:1px solid var(--about-line)}
.bxm-contact-page .contact-company h2{font:600 var(--bxm-type-card)/var(--bxm-leading-card) var(--bxm-font-family);margin-bottom:15px;letter-spacing:-.025em}
.contact-company .bxm-about-kicker{font-size:12px;margin-bottom:12px}
.contact-company p:not(.bxm-about-kicker){font-size:var(--bxm-type-support);margin-bottom:4px;color:var(--about-muted)}
.contact-company address{font-style:normal;font-size:var(--bxm-type-support)}
.contact-company dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}
.contact-company dt{font:400 13px/1.5 var(--bxm-font-family);color:var(--about-muted);margin-bottom:8px}
.contact-company dd{margin:0;font:600 var(--bxm-type-copy)/1.5 var(--bxm-font-family);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.contact-company__bank{grid-column:1/-1;border-top:1px solid var(--about-line);padding-top:18px}
[data-bxm-theme="dark"] .contact-city__art img{filter:brightness(1.35)}
[data-bxm-theme="dark"] .bxm-contact-page :is(a,button).bxm-action:not(.bxm-action--primary){color:var(--about-ink)!important}
[data-bxm-theme="dark"] .bxm-contact-page .bxm-contact-v55 :is(input,select,textarea){border-color:var(--about-line);background:var(--about-soft)}
@keyframes contact-city-arrive{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.contact-map__heading{align-items:flex-start;flex-direction:column}.contact-map__tabs{justify-content:flex-start}.contact-meeting{gap:5%;grid-template-columns:1fr 1.1fr}.contact-hours{align-items:flex-start}.contact-hours p:first-child{flex-shrink:1}.contact-hours p:last-child{max-width:44ch}.contact-city__email{font-size:var(--bxm-type-support)}}
@media(max-width:900px){.contact-cities{gap:3%}.contact-city__art{--city-art-height:190px}.contact-hours{flex-direction:column;gap:10px}.contact-hours p:last-child{max-width:none}.contact-heading{gap:5%}.contact-meeting{grid-template-columns:1fr;gap:32px}.contact-map__heading{flex-direction:row}.contact-person address{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.contact-person address span{grid-column:1;margin:0}.contact-person address .contact-person__phone{grid-column:2;grid-row:1}.contact-person address a:last-child{grid-column:2;grid-row:2}.bxm-contact-page .bxm-contact-v55__form{grid-template-columns:1fr}.bxm-contact-page .bxm-contact-v55__message textarea{min-height:250px}.bxm-contact-page .bxm-contact-v55__send{align-items:flex-start}.contact-company{grid-template-columns:1fr 1.2fr;gap:5%}}
@media(max-width:760px){.contact-intro{padding-top:32px}.bxm-contact-page h1{font-size:clamp(40px,9vw,65px)}.contact-heading{gap:22px}.contact-heading__details{padding:0}.contact-heading__details>p{font-size:var(--bxm-type-copy)}.contact-cities{grid-template-columns:1fr;gap:26px}.contact-city{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;text-align:left;padding:15px 0 26px}.contact-city__art{--city-art-height:185px;margin:0;align-self:center}.contact-city address a{justify-self:start}.contact-city__map{margin-top:14px}.contact-city__street{margin-bottom:12px}.contact-hours{margin-bottom:20px}.contact-person address{grid-template-columns:1fr}.contact-person address :is(.contact-person__phone,a:last-child){grid-column:auto;grid-row:auto}.contact-person address span{margin-bottom:12px}.contact-map__heading{flex-direction:column;padding:22px}.contact-map__viewport{height:280px}.contact-map__footer{padding:18px 22px}.bxm-contact-page .bxm-contact-v55__inner{width:90%}.bxm-contact-page button.bxm-action{font-size:16px}.contact-company{grid-template-columns:1fr;gap:26px}.contact-company dl{gap:20px}.contact-company dd{font-size:17px}.bxm-contact-page .bxm-contact-v55__pair{grid-template-columns:1fr}.contact-hours p{font-size:14px}.contact-hours p:first-child{gap:10px}}
@media(max-width:440px){.contact-city{grid-template-columns:90px minmax(0,1fr);gap:16px}.contact-city__art{--city-art-height:145px}.bxm-contact-page .contact-city h2{font-size:27px}.contact-city__street{font-size:16px}.contact-city__phone{font-size:18px}.contact-city__email{font-size:14px}.contact-city address .contact-city__web{font-size:13px}.contact-map__tabs{gap:5px}.contact-map__tabs button{padding:9px 12px}.contact-hours strong{display:block;margin:2px 0 0}.bxm-contact-page .bxm-contact-v55__downloads{gap:12px 20px}.bxm-contact-page .bxm-contact-v55__send{min-width:0}.bxm-contact-page .bxm-contact-v55__send>.bxm-action{width:100%}}
@media(max-width:360px){.contact-city{grid-template-columns:1fr;text-align:center}.contact-city__art{--city-art-height:185px}.contact-city address a{justify-self:center}.contact-city__map{justify-self:center}.contact-city__email{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-city__art img{transform:none!important}.contact-city::after{transition:none}}

/* Keep the shared submit action on the right, with the e-mail alternative on the left. */
.bxm-contact-page .bxm-contact-v55__send{grid-column:2;grid-row:3}
.bxm-contact-page .bxm-contact-v55__alternative{grid-column:1;grid-row:3}
.bxm-contact-page .bxm-contact-v55__brief>.bxm-contact-v55__downloads{padding-bottom:22px}
@media(max-width:900px){.bxm-contact-page .bxm-contact-v55__send,.bxm-contact-page .bxm-contact-v55__alternative{grid-column:1;grid-row:auto}}

.contact-meeting{grid-template-columns:1fr 1fr;padding-block:32px 48px}
.contact-person--details{border-left:1px solid var(--about-line);padding-left:8%}
@media(max-width:900px){.contact-meeting{grid-template-columns:1fr;gap:14px}.contact-person--details{border-left:0;border-top:1px solid var(--about-line);padding:18px 0 0}}

/* Keep the map immediately after the three locations. */
.contact-intro{padding-bottom:16px}
.bxm-contact-page .bxm-contact-map{padding-top:20px;padding-bottom:32px}

/* Architectural details share the footer blue; the silhouette stays still. */
.bxm-contact-page .contact-city-illustration{display:block;width:auto;height:var(--city-art-height);max-width:100%;overflow:visible;color:#286bd2}
.city-window-light{fill:#f4cf7c;opacity:0}
.city-door,.city-shutter{fill:#1c4fa0;stroke:#8cbaff;stroke-width:.65;transform-origin:var(--hinge);transform-box:view-box}
.city-clock{stroke:#fff;stroke-width:1.7;stroke-linecap:round;fill:none}
.city-clock-hand{transform-box:view-box;transform-origin:0 0}
.city-bell{fill:#dcecff;transform-origin:var(--hinge);transform-box:view-box}
.city-bell-waves{stroke:#dcecff;stroke-width:1.3;opacity:0}
.contact-city.is-art-playing .city-window-light{animation:city-window-glow 12s ease-in-out infinite;animation-delay:var(--motion-offset,0s)}
.contact-city.is-art-playing .city-window-light--late{animation-delay:calc(var(--motion-offset,0s) + 1.2s)}
.contact-city.is-art-playing .city-door{animation:city-door-open 12s ease-in-out infinite}
.contact-city.is-art-playing .city-shutter{animation:city-shutter-open 12s ease-in-out infinite}
.contact-city.is-art-playing .city-shutter--late{animation-delay:1s}
.contact-city.is-art-playing .city-clock-hand{animation:city-clock-tick 12s ease-in-out infinite}
.contact-city.is-art-playing .city-bell{animation:city-bell-ring 12s ease-in-out infinite}
.contact-city.is-art-playing .city-bell-waves{animation:city-bell-waves 12s ease-in-out infinite}
.contact-city:not(.is-art-playing) .contact-city-illustration *{animation-play-state:paused}
.contact-city[data-contact-city="krakow"] .contact-city-illustration{--motion-offset:1.8s}
.contact-city[data-contact-city="gdansk"] .contact-city-illustration{--motion-offset:3.6s}
.contact-city.is-art-playing .city-door,.contact-city.is-art-playing .city-bell,.contact-city.is-art-playing .city-bell-waves{animation-delay:var(--motion-offset,0s)}
.contact-cities-motion{display:flex;justify-content:flex-end;min-height:38px;margin-top:14px}
.contact-cities-motion button{border:0;background:none;color:var(--about-muted);font:inherit;font-size:12px;cursor:pointer;min-height:36px;padding:6px 0 6px 12px;display:flex;gap:12px;align-items:center}
.contact-cities-motion button[hidden]{display:none}
.contact-cities-motion button:hover{color:#286bd2}
.contact-cities-motion button:focus-visible{outline:2px solid #286bd2;outline-offset:5px;border-radius:4px}
@keyframes city-window-glow{0%,8%,65%,100%{opacity:0}18%,48%{opacity:.95}56%{opacity:.45}}
@keyframes city-door-open{0%,15%,66%,100%{transform:scaleX(1)}28%,50%{transform:scaleX(.16)}}
@keyframes city-shutter-open{0%,8%,65%,100%{transform:scaleX(.12)}18%,46%{transform:scaleX(1)}}
@keyframes city-clock-tick{0%,12%{transform:rotate(0)}24%,70%{transform:rotate(180deg)}85%,100%{transform:rotate(360deg)}}
@keyframes city-bell-ring{0%,22%,46%,100%{transform:rotate(0)}26%,34%,42%{transform:rotate(15deg)}30%,38%{transform:rotate(-15deg)}}
@keyframes city-bell-waves{0%,22%,46%,100%{opacity:0}27%,35%,43%{opacity:.85}31%,39%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.contact-city-illustration *{animation:none!important}.contact-cities-motion{display:none}.city-shutter{transform:scaleX(.12)}}
/* A compact message field with a dedicated place for the shared companion. */
.contact-form-message-column{display:flex;flex-direction:column;gap:16px;align-self:stretch}
.bxm-contact-page .contact-form-message-column .bxm-contact-v55__message{margin:0;flex:1;display:flex;flex-direction:column}
.bxm-contact-page .contact-form-message-column textarea{flex:1;min-height:180px;height:180px;resize:vertical}
.contact-form-message-help{font-size:12px!important;line-height:1.5;color:var(--about-muted);margin:-6px 0 0}
.contact-form-guide{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:20px;align-items:center;padding:20px 22px;background:#f0f6ff;border:1px solid #d7e5f8;border-radius:18px;min-height:192px}
.contact-form-guide__slot{width:104px;height:104px;display:grid;place-items:center;color:#8daecc;font-size:20px;font-weight:600}
.contact-form-guide:is([data-active="true"],[data-arriving="true"]) .contact-form-guide__slot>span{visibility:hidden}
.contact-form-guide__eyebrow{font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;color:#286bd2;margin:0 0 8px!important;font-weight:600}
.bxm-contact-page .contact-form-guide h3{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}
.contact-form-guide [data-chapter-message]{font-size:14px;line-height:1.6;min-height:68px;margin:0;color:var(--about-muted)}
.bxm-contact-page .contact-form-guide button{display:inline-flex;gap:12px;align-items:center;min-height:36px;padding:7px 0 0;background:none;border:0;color:#286bd2;font-size:12px;font-weight:600;cursor:pointer}
[data-bxm-theme="dark"] .contact-form-guide{background:#14283f;border-color:#2d4c70}
@media(max-width:600px){.contact-form-guide{grid-template-columns:minmax(0,1fr) 80px;gap:12px;padding:16px}.contact-form-guide__slot{width:80px;height:80px}.contact-form-guide [data-chapter-message]{min-height:88px}.bxm-contact-page .contact-form-message-column textarea{min-height:150px;height:160px}}

/* Same portrait as the home page, beside the direct contact. */
.contact-person--details{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,290px);gap:24px;align-items:center;padding-left:5%}.contact-person__copy{min-width:0}.contact-person__portrait{margin:0;position:relative;padding:0;aspect-ratio:1;border:0;border-radius:50%;background:transparent}.bxm-contact-page .contact-person__portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}.contact-person__portrait::after{content:none}.contact-person--details address{margin:0 0 20px}.contact-person--details address strong{font-size:clamp(22px,1.8vw,30px)}
@media(min-width:901px) and (max-width:1200px){.contact-person--details{grid-template-columns:minmax(0,1fr) 190px;gap:14px;padding-left:4%}.contact-person--details address a{font-size:18px}}
@media(max-width:900px){.contact-person--details{grid-template-columns:minmax(0,1fr) 250px;padding-left:0}.contact-person--details address{grid-template-columns:1fr}.contact-person--details address :is(.contact-person__phone,a:last-child){grid-column:auto;grid-row:auto}.contact-person--details address span{margin-bottom:12px}}
@media(max-width:600px){.contact-person--details{grid-template-columns:1fr;gap:26px}.contact-person__portrait{grid-row:1;width:230px;max-width:100%;justify-self:start}.contact-person--details address strong{font-size:26px}}

/* Stack the form naturally on smaller screens; stretch only the desktop columns. */
@media(max-width:900px){.contact-form-message-column{align-self:start}.bxm-contact-page .contact-form-message-column .bxm-contact-v55__message{flex:none}.bxm-contact-page .contact-form-message-column textarea{flex:none}}
