/* Shared visual language for reviews, contact and the closing section. */
.bxm-contact-v55, .bxm-footer-v55 { clear:both; font-family:"Open Sans",Arial,sans-serif; }
.bxm-contact-v55 *, .bxm-footer-v55 * { box-sizing:border-box; }
.bxm-v55-icon { width:24px; height:24px; flex:0 0 auto; vertical-align:middle; }
.bxm-v55-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:54px; padding:12px 20px; border:1px solid #bdcbd7; border-radius:40px; background:transparent; color:#243b50; font:600 15px/1.4 "Open Sans",Arial,sans-serif; text-decoration:none; cursor:pointer; transition:background .2s,color .2s; }
.bxm-v55-button--primary { background:#286bd2; color:#fff; border-color:#286bd2; }
.bxm-v55-button:hover { background:#e0eafa; color:#1d4e94; text-decoration:none; }
.bxm-v55-button--primary:hover { background:#205ab4; color:#fff; }
.bxm-v55-button .bxm-v55-icon { transition:transform .2s; }
.bxm-v55-button:hover .bxm-v55-icon { transform:translateX(3px); }
.bxm-v55-button:focus-visible,.bxm-footer-v55 a:focus-visible,.bxm-footer-v55 button:focus-visible { outline:3px solid #68b5f2; outline-offset:4px; }
#formularz_kontaktowy_pc.bxm-contact-v55 { display:block!important; margin:0!important; padding:clamp(44px,4vw,76px) 0; background:#f3f5f6; color:#242d33; }
.bxm-contact-v55__inner { width:95%; max-width:1900px; margin:auto; scroll-margin-top:110px; }
.bxm-contact-v55__form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px clamp(30px,4vw,76px); }
/* Expanded brief controls must stay inside their grid track on narrow screens. */
.bxm-contact-v55__form > *, .bxm-contact-v55__brief-fields > * { min-width:0; }
.bxm-contact-v55__details h2 { margin:0 0 16px; max-width:18ch; font-size:clamp(34px,3.1vw,60px); line-height:1.08; font-weight:300; letter-spacing:-.045em; }
.bxm-contact-v55__details > p:not(.bxm-projects__eyebrow) { max-width:58ch; margin:0 0 28px; font-size:var(--bxm-type-body); line-height:1.65; color:#5c666e; }
.bxm-contact-v55 label { display:flex; flex-wrap:wrap; gap:8px; min-width:0; color:#364550; font-size:15px; font-weight:600; }
.bxm-contact-v55 input, .bxm-contact-v55 select, .bxm-contact-v55 textarea { width:100%; min-width:0; max-width:100%; padding:14px 16px; border:1px solid #bbcde3; border-radius:12px; background:#fff; box-shadow:none; color:#23313b; font:400 17px/1.5 "Open Sans",Arial,sans-serif; }
.bxm-contact-v55 input,.bxm-contact-v55 select { min-height:54px; }
.bxm-contact-v55 input:focus,.bxm-contact-v55 select:focus,.bxm-contact-v55 textarea:focus { outline:3px solid #d7e7fc; border-color:#3274d2; }
.bxm-contact-v55__pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.bxm-contact-v55__optional { font-size:12px; font-weight:400; align-self:center; }
.bxm-contact-v55 .bxm-contact-v55__message { display:flex; flex-direction:column; align-self:stretch; }
.bxm-contact-v55__message textarea { flex:1; min-height:260px; resize:vertical; }
.bxm-contact-v55__brief { grid-column:1/-1; border-top:1px solid #ced7dc; border-bottom:1px solid #ced7dc; }
.bxm-contact-v55__brief summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 6px 18px 0; font-size:17px; cursor:pointer; list-style:none; }
.bxm-contact-v55__brief summary > span:first-child { min-width:0; }
.bxm-contact-v55__brief summary::-webkit-details-marker { display:none; }
.bxm-contact-v55__brief summary small { margin-left:14px; font-size:14px; color:#66747d; }
.bxm-contact-v55__brief summary > span:last-child { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; line-height:1; font-size:28px; transition:transform .2s; }
.bxm-contact-v55__brief[open] > summary > span:last-child,.bxm-contact-v55__extra[open] > summary > span:last-child { transform:rotate(45deg); }
.bxm-contact-v55__brief > summary { color:#286bd2; }
.bxm-contact-v55__brief summary:focus-visible { outline:3px solid #3274d2; outline-offset:4px; border-radius:8px; }
.bxm-contact-v55__extra { border:1px solid #c9d9ec; border-radius:12px; background:#edf3fc; padding:0 18px; }
.bxm-contact-v55__extra > summary { font-size:15px; color:#286bd2; }
.bxm-contact-v55__extra > summary small { display:block; margin:4px 0 0; }
.bxm-contact-v55__features { border:0; padding:0; margin:0; min-width:0; }
.bxm-contact-v55__features legend { font-size:15px; font-weight:600; color:#364550; margin-bottom:12px; }
.bxm-contact-v55__features legend small { display:block; font-size:13px; font-weight:400; color:#626e77; margin-top:4px; }
.bxm-contact-v55__features > div { display:flex; flex-wrap:wrap; gap:10px; }
.bxm-contact-v55__features label { position:relative; display:flex; align-items:center; flex-wrap:nowrap; cursor:pointer; gap:9px; min-height:44px; padding:10px 13px; border:1px solid #bdcfe7; border-radius:10px; background:#fff; font-size:14px; font-weight:400; }
.bxm-contact-v55__features label:has(:checked) { border-color:#3274d2; background:#dceaff; color:#1f559e; }
.bxm-contact-v55__features input[type="checkbox"] { width:18px; height:18px; min-height:0; padding:0; margin:0; flex:0 0 18px; accent-color:#3274d2; }
.bxm-contact-v55__brief-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:8px 0 24px; }
.bxm-contact-v55__wide { grid-column:1/-1; }
.bxm-contact-v55__downloads { display:flex; align-content:flex-start; align-items:center; flex-wrap:wrap; gap:12px; }
.bxm-contact-v55__downloads small { flex-basis:100%; color:#626e77; font-size:13px; line-height:1.5; }
.bxm-contact-v55__mail { display:inline-flex; align-items:center; gap:6px; color:#2a609b; font-size:14px; padding:12px 0; }
.bxm-contact-v55__mail svg { width:18px; }
.bxm-contact-v55__send { display:flex; flex-direction:column; align-items:flex-end; gap:12px; container-type:inline-size; }
.bxm-contact-v55__send > small { color:#626e77; font-size:13px; }
.bxm-contact-v55__send .g-recaptcha { margin:0!important; }
/* Keep the loaded verification inside even a 320px screen with a scrollbar. */
@container (max-width:303px) {
 .bxm-contact-v55__send .g-recaptcha { width:100%; height:67px; overflow:hidden; }
 .bxm-contact-v55__send .g-recaptcha > div { transform:scale(.85); transform-origin:left top; }
}
.bxm-contact-v55__status { padding:16px; border:1px solid #9eb8cf; background:white; }

/* Previous footer colour: .bxm-footer-v55 { background:#176387; } */
/* Colour trial, 2026-09-15: same stronger blue as the portfolio invitation. */
.bxm-footer-v55 { background:#286bd2; color:#fff; padding:clamp(40px,3.5vw,66px) 0 24px; }
.bxm-footer-v55__inner { width:95%; max-width:1900px; margin:auto; }
.bxm-footer-v55__grid { display:grid; grid-template-columns:.85fr 2.25fr 1fr; gap:clamp(24px,3vw,56px); align-items:start; }
.bxm-footer-v55 h2 { min-height:2.5em; margin:0 0 18px; font-size:clamp(20px,1.4vw,27px); line-height:1.25; font-weight:400; letter-spacing:-.025em; color:#fff; }
.bxm-footer-v55 a { color:#fff; text-decoration:none; }
.bxm-footer-v55 a:hover { color:#d2efff; text-decoration:underline; text-underline-offset:5px; }
.bxm-footer-v55__services > a { display:block; width:fit-content; padding:8px 0; font-size:15px; line-height:1.4; }
.bxm-footer-v55__cities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.bxm-footer-v55 address { margin:0; min-width:0; font-style:normal; font-size:14px; line-height:1.6; }
.bxm-footer-v55 address h3 { font-size:20px; margin:0 0 4px; color:#fff; font-weight:600; }
.bxm-footer-v55 address p { margin:0 0 13px; color:#d8e8ef; }
.bxm-footer-v55 address a { display:block; padding:5px 0; overflow-wrap:anywhere; }
.bxm-footer-v55 address .bxm-footer-v55__map { display:flex; gap:6px; align-items:center; margin-top:8px; font-size:12px; }
.bxm-footer-v55__map svg { width:16px; height:16px; }
.bxm-footer-v55__marks { margin-top:26px; padding-top:18px; border-top:1px solid #ffffff30; }
.bxm-footer-v55__marks img { display:block; width:100%; height:auto; }
.bxm-footer-v55__phone { display:flex; gap:12px; align-items:center; width:fit-content; white-space:nowrap; font-size:clamp(21px,1.55vw,29px); line-height:1.35; letter-spacing:-.03em; }
.bxm-footer-v55__phone small { display:block; font-size:12px; font-weight:400; letter-spacing:0; margin-bottom:3px; color:#d2e9f5; }
.bxm-footer-v55__phone-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:50%; background:#ffffff16; border:1px solid #ffffff55; }
.bxm-footer-v55__phone:hover .bxm-v55-icon { animation:bxm-phone-hello .55s ease-in-out; }
.bxm-footer-v55__email { display:flex; align-items:center; gap:12px; padding:16px 0; font-size:17px; }
.bxm-footer-v55__hours { margin:14px 0 0; padding-top:18px; border-top:1px solid #ffffff30; font-size:14px; line-height:1.7; color:#d8e8ef; }
.bxm-footer-v55__hours strong { color:white; font-weight:600; }
.bxm-footer-v55__hours span { display:inline-block; margin-top:7px; font-size:12px; }
.bxm-footer-v55__bottom { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:24px; align-items:start; border-top:1px solid #ffffff30; margin-top:30px; padding-top:22px; color:#cce1ec; font-size:12px; line-height:1.7; }
.bxm-footer-v55__bottom p { margin:0; }
.bxm-footer-v55__bottom small { font-size:11px; }
.bxm-footer-v55__bottom button { color:#d9eaf3; border:0; padding:3px 0; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.bxm-footer-v55__bottom button:hover { text-decoration:underline; }
.bxm-footer-v55__bottom > div { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.bxm-footer-v55__bottom .bxm-guide-footer { margin:0; padding:0; }
.bxm-footer-v55__bottom .polityka_cookies_stopka_mob { display:block!important; }
@keyframes bxm-phone-hello { 25% {transform:rotate(-12deg)} 65% {transform:rotate(9deg)} }

.bxm-reviews { overflow:hidden; }
.bxm-reviews__list { display:flex; gap:clamp(28px,4vw,72px); overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; cursor:grab; padding:4px 0; }
.bxm-reviews__list.is-interactive { touch-action:pan-y; }
.bxm-reviews__list::-webkit-scrollbar { display:none; }
.bxm-reviews__quote { position:relative; flex:0 0 calc(50% - clamp(14px,2vw,36px)); scroll-snap-align:start; min-width:0; }
.bxm-reviews__quote blockquote p { font-size:clamp(24px,1.85vw,35px); }
.bxm-reviews__quote-mark { height:20px; color:#3274d2; font:54px/1 Georgia,serif; }
.bxm-reviews__quote figcaption small { display:block; margin-top:8px; color:#63717b; font-size:14px; line-height:1.5; font-weight:400; }
.bxm-reviews__list.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.bxm-reviews__controls { display:flex; align-items:center; gap:12px; margin-top:30px; }
.bxm-reviews__controls button { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid #bfccd5; background:#fff; color:#263b4a; cursor:pointer; font-size:20px; }
.bxm-reviews__controls button:hover { background:#edf3fb; }
.bxm-reviews__controls button:focus-visible { outline:3px solid #3274d2; outline-offset:3px; }
.bxm-reviews__count { margin-inline:8px; font-size:14px; color:#63717b; }
.bxm-reviews__controls[hidden] { display:none; }
@media(max-width:1150px) {
 .bxm-footer-v55__grid { grid-template-columns:1fr 2fr; }
 .bxm-footer-v55__call { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; align-items:center; border-top:1px solid #ffffff30; padding-top:22px; }
 .bxm-footer-v55__call h2 { display:none; }
 .bxm-footer-v55__hours { margin:0; padding:0; border:0; }
 .bxm-contact-v55__downloads .bxm-contact-v55__mail { flex-basis:100%; }
}
@media(max-width:760px) {
 .bxm-contact-v55__inner,.bxm-footer-v55__inner { width:calc(100% - 40px); }
 .bxm-contact-v55__form { grid-template-columns:minmax(0,1fr); gap:24px; }
 .bxm-contact-v55__message textarea { min-height:230px; }
 .bxm-contact-v55__send { align-items:flex-start; }
 .bxm-contact-v55__brief summary small { display:block; margin:4px 0 0; }
 .bxm-contact-v55__brief-fields { grid-template-columns:minmax(0,1fr); }
 .bxm-footer-v55__grid { grid-template-columns:1fr; gap:28px; }
 .bxm-footer-v55 h2 { min-height:0; margin-bottom:16px; }
 .bxm-footer-v55__services { display:grid; grid-template-columns:1fr 1fr; column-gap:14px; }
 .bxm-footer-v55__services h2 { grid-column:1/-1; }
 .bxm-footer-v55__call { grid-template-columns:1fr 1fr; }
 .bxm-footer-v55__hours { grid-column:1/-1; }
 .bxm-footer-v55__bottom { grid-template-columns:1fr; gap:16px; }
 .bxm-reviews__quote { flex-basis:88%; }
 .bxm-reviews__list { gap:24px; }
}
@media(max-width:480px) {
 .bxm-contact-v55__pair { grid-template-columns:minmax(0,1fr); }
 .bxm-footer-v55__cities { grid-template-columns:1fr; gap:20px; }
 .bxm-footer-v55 address { padding-bottom:16px; border-bottom:1px solid #ffffff24; }
 .bxm-footer-v55__call { grid-template-columns:1fr; }
 .bxm-contact-v55__send .bxm-v55-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .bxm-v55-button,.bxm-v55-button .bxm-v55-icon {transition:none} .bxm-footer-v55__phone:hover .bxm-v55-icon {animation:none} }
