/*
Theme Name: Break Design Studio
Theme URI: https://breakdesign.pl/
Author: Break Design
Description: Lekki, edytowalny motyw agencyjny dla Break Design. Gutenberg + klasyczny, niezawodny header/footer.
Version: 4.7.9
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: break-design-studio
*/
:root{--bd-black:#0a0a0a;--bd-gray:#6f6f6f;--bd-line:#e6e6e6;--bd-soft:#f5f5f5;--bd-white:#fff;--bd-max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}p{color:#626262}h1,h2,h3,h4,p{overflow-wrap:normal;word-break:normal;hyphens:none}h1,h2,h3{letter-spacing:-.035em;line-height:1.03}.site-main{overflow:hidden}.bd-shell{width:min(var(--bd-max),calc(100% - 48px));margin-inline:auto}
/* header */
.bd-site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-bottom:1px solid #eee}.bd-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.bd-brand img{width:145px;height:auto}.bd-nav-wrap{display:flex;align-items:center;gap:28px}.bd-main-menu{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}.bd-main-menu a{font-size:15px;font-weight:600}.bd-header-cta{background:#111;color:#fff;padding:13px 20px;border:1px solid #111;transition:.25s}.bd-header-cta:hover{background:#fff;color:#111}.bd-mobile-menu{display:none;background:none;border:0;font-size:26px}.bd-nav-fallback{display:flex;gap:26px;align-items:center}
/* footer */
.bd-site-footer{border-top:1px solid var(--bd-line);padding:54px 0 24px;background:#fff}.bd-footer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:32px;align-items:start}.bd-footer-logo img{width:150px}.bd-footer-links{display:flex;flex-wrap:wrap;gap:14px 22px}.bd-footer-contact{text-align:right;color:#555}.bd-footer-bottom{border-top:1px solid var(--bd-line);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;color:#888;font-size:13px}
/* Gutenberg width */
.entry-content>.alignwide,.wp-block-group.alignwide,.wp-block-columns.alignwide,.wp-block-cover.alignwide{width:min(var(--bd-max),calc(100% - 48px));margin-left:auto!important;margin-right:auto!important}.entry-content>.alignfull,.wp-block-group.alignfull,.wp-block-cover.alignfull{width:100%;margin-left:0!important;margin-right:0!important}.entry-content>.wp-block-group:not(.alignfull):not(.alignwide),.entry-content>.wp-block-heading,.entry-content>p,.entry-content>.wp-block-buttons{width:min(1080px,calc(100% - 48px));margin-left:auto;margin-right:auto}
/* shared */
.bd-section{padding-top:76px!important;padding-bottom:76px!important}.bd-soft{background:var(--bd-soft)}.bd-dark{background:#0a0a0a;color:#fff}.bd-dark p{color:#b7b7b7}.bd-kicker,.bd-animated-kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:#777}.bd-animated-kicker{display:inline-block;color:transparent;background:linear-gradient(90deg,#111 0 35%,#aaa 49%,#111 63% 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:bdKicker 4.5s linear infinite}.bd-animated-kicker:after{content:"";display:block;width:38px;height:1px;background:#111;margin-top:12px;animation:bdLine 2.4s ease-in-out infinite}@keyframes bdKicker{to{background-position:-90% 0}}@keyframes bdLine{50%{width:92px}}.bd-hero-title{font-size:clamp(34px,3.8vw,52px)!important;line-height:1.02!important;letter-spacing:-.04em!important}.bd-display{font-size:clamp(30px,3.2vw,44px)!important}.bd-lead{font-size:clamp(18px,2vw,23px);max-width:780px}.bd-card{background:#fff;border:1px solid var(--bd-line);padding:28px;transition:transform .28s ease,box-shadow .28s ease}.bd-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.09)}.bd-card h3{margin-top:4px}.bd-number{font-size:12px;letter-spacing:.2em;color:#999}.bd-checklist{list-style:none;padding:0;margin:24px 0}.bd-checklist li{padding:11px 0 11px 26px;border-bottom:1px solid #e7e7e7;position:relative;color:#333}.bd-checklist li:before{content:"↗";position:absolute;left:0;font-weight:700}.bd-pill{display:inline-block;border:1px solid #444;border-radius:999px;padding:9px 13px;margin:5px 4px 0 0;font-size:13px}.wp-block-button__link{border-radius:0!important;padding:14px 22px!important;font-weight:700!important;transition:.25s}.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.12)}.is-style-outline>.wp-block-button__link{background:#fff!important;color:#111!important}.bd-image-frame{overflow:hidden;background:#111}.bd-image-frame img{width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.bd-image-frame:hover img{transform:scale(1.025)}.bd-parallax img{transform:translate3d(0,var(--bd-y,0),0);will-change:transform}.bd-diagonal{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.bd-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.bd-reveal.is-visible{opacity:1;transform:none}.bd-stagger>*{opacity:0;transform:translateY(22px);transition:.55s}.bd-stagger.is-visible>*{opacity:1;transform:none}.bd-stagger.is-visible>*:nth-child(2){transition-delay:.08s}.bd-stagger.is-visible>*:nth-child(3){transition-delay:.16s}.bd-stagger.is-visible>*:nth-child(4){transition-delay:.24s}
/* home */
.bd-center-head{text-align:center;width:min(1000px,calc(100% - 48px));margin:0 auto 42px}.bd-center-head .bd-kicker{display:block;margin-bottom:15px}.bd-center-head h2{margin:0}.bd-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--bd-line)}.bd-service-grid>.wp-block-group{padding:28px 24px;border-right:1px solid var(--bd-line);min-width:0}.bd-service-grid>.wp-block-group:last-child{border-right:0}.bd-service-grid h3,.bd-service-grid p{text-align:center}.bd-project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.bd-project-grid>div{background:#fff}.bd-project-a{grid-column:span 5}.bd-project-b{grid-column:span 7}.bd-project-c{grid-column:span 4}.bd-project-d{grid-column:span 4}.bd-project-e{grid-column:span 4}.bd-project-label{text-align:center;padding:14px 10px 22px}.bd-project-label h3,.bd-project-label p{margin:3px 0}.bd-project-grid .bd-image-frame{aspect-ratio:16/10}.bd-project-grid .bd-image-frame img{width:100%;height:100%;object-fit:cover}
/* page-specific */
.bd-feature-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bd-feature-band .bd-card{min-height:220px}.bd-process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.bd-process .bd-card{min-height:180px}.bd-split-stat{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.bd-big-number{font-size:clamp(80px,14vw,190px);font-weight:800;line-height:.75;letter-spacing:-.07em;color:#111}.bd-dark .bd-big-number{color:#fff}.bd-cinema{position:relative;min-height:520px;display:flex;align-items:end;background-size:cover;background-position:center}.bd-cinema:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.8))}.bd-cinema>.wp-block-group{position:relative;z-index:2;color:#fff;padding-bottom:56px}.bd-cinema p{color:#ddd}.bd-brand-mosaic{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.bd-brand-mosaic .bd-image-frame:first-child{grid-row:span 2}.bd-ai-demo{background:#111;color:#fff;border:1px solid #2a2a2a;padding:30px}.bd-ai-demo p{color:#bbb}.bd-ai-msg{background:#1d1d1d;padding:13px 15px;border-radius:10px;margin:9px 0;color:#e7e7e7}.bd-simple-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bd-simple-list .bd-card{display:flex;gap:18px;align-items:flex-start}.bd-simple-list .bd-number{font-size:18px;color:#111}.bd-faq details{border-top:1px solid #ddd;padding:16px 0}.bd-faq summary{font-weight:700;cursor:pointer}
@media(max-width:1050px){.bd-service-grid{grid-template-columns:repeat(2,1fr)}.bd-service-grid>.wp-block-group{border-bottom:1px solid var(--bd-line)}.bd-feature-band,.bd-process{grid-template-columns:repeat(2,1fr)}.bd-project-a,.bd-project-b,.bd-project-c,.bd-project-d,.bd-project-e{grid-column:span 6}.bd-footer-grid{grid-template-columns:1fr 1fr}.bd-footer-contact{text-align:left}.bd-main-menu{gap:16px}.bd-nav-wrap{gap:15px}}
@media(max-width:760px){.bd-shell{width:calc(100% - 28px)}.bd-site-header{position:relative}.bd-header-inner{min-height:74px}.bd-nav-wrap{display:none}.bd-service-grid,.bd-feature-band,.bd-process,.bd-simple-list,.bd-split-stat,.bd-brand-mosaic{grid-template-columns:1fr}.bd-project-grid{grid-template-columns:1fr}.bd-project-a,.bd-project-b,.bd-project-c,.bd-project-d,.bd-project-e{grid-column:auto}.bd-footer-grid{grid-template-columns:1fr}.bd-footer-contact{text-align:left}.bd-footer-bottom{flex-direction:column}.entry-content>.alignwide,.wp-block-group.alignwide,.wp-block-columns.alignwide,.wp-block-cover.alignwide{width:calc(100% - 28px)}.bd-diagonal{clip-path:none}.bd-section{padding-top:54px!important;padding-bottom:54px!important}.bd-cinema{min-height:440px}.bd-center-head{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){.bd-reveal,.bd-stagger>*{opacity:1!important;transform:none!important}.bd-animated-kicker{animation:none;color:#111;background:none}.bd-animated-kicker:after{animation:none}.bd-parallax img{transform:none!important}}

/* 4.1 — dokładny układ HOME przywrócony z poprzedniej wersji */
.bd-marquee{overflow:hidden;white-space:nowrap;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.bd-marquee-track{display:inline-block;min-width:200%;padding:13px 0;animation:bdMarquee 22s linear infinite;letter-spacing:.24em;text-transform:uppercase;font-size:.76rem;color:#555}.bd-marquee-track span{margin-right:52px}@keyframes bdMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bd-service-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(1360px,calc(100vw - 56px));max-width:none;margin-left:50%;transform:translateX(-50%);border-top:1px solid var(--bd-line);border-bottom:1px solid var(--bd-line)}
.bd-service-list>.wp-block-group{min-width:0;padding:28px 24px;border-right:1px solid var(--bd-line);text-align:center;position:relative;overflow:hidden}.bd-service-list>.wp-block-group:last-child{border-right:0}.bd-service-list h3{font-size:clamp(1.05rem,1.55vw,1.45rem)!important;white-space:nowrap;text-align:center}.bd-service-list p,.bd-service-list .bd-number,.bd-service-list .bd-arrow{text-align:center}.bd-service-list>.wp-block-group:before{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.bd-service-list>.wp-block-group:hover:before{transform:scaleX(1)}
.bd-section-head{width:min(1360px,calc(100vw - 56px));max-width:none;margin:0 auto 34px;text-align:center}.bd-section-head .bd-kicker{margin:0 0 12px;font-size:.72rem;letter-spacing:.28em;text-align:center}.bd-section-head .wp-block-heading{margin:0 auto;font-size:clamp(1.7rem,2.5vw,2.55rem)!important;line-height:1.08!important;letter-spacing:-.03em!important;max-width:920px;text-wrap:balance;text-align:center}
.bd-project-grid{width:min(1360px,calc(100vw - 56px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.bd-project-label,.bd-project-label h3,.bd-project-label p{text-align:center}
@media(max-width:1180px) and (min-width:901px){.bd-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}.bd-service-list>.wp-block-group:nth-child(3n){border-right:0}}
@media(max-width:900px){.bd-service-list,.bd-project-grid{width:calc(100vw - 32px)}.bd-section-head{width:calc(100vw - 32px);margin-bottom:24px}.bd-section-head .wp-block-heading{font-size:clamp(1.65rem,6vw,2.15rem)!important}}
@media(max-width:781px){.bd-service-list{grid-template-columns:1fr}.bd-service-list>.wp-block-group{border-right:0;border-bottom:1px solid var(--bd-line)}}

/* 4.2 — spokojniejsza skala typografii + wygodniejsza edycja */
.bd-section h2:not(.bd-hero-title):not(.bd-display){font-size:clamp(1.65rem,2.45vw,2.5rem);line-height:1.08}
.bd-section h3{font-size:clamp(1.05rem,1.35vw,1.28rem)}
.bd-image-frame{min-height:0}
.bd-image-frame img{max-width:100%;image-rendering:auto}
@media(max-width:760px){.bd-hero-title{font-size:clamp(2rem,8vw,2.65rem)!important}.bd-display{font-size:clamp(1.8rem,7vw,2.3rem)!important}}


/* 4.2.2 — precyzyjna typografia + kompaktowy marquee */
/* Główne tytuły i nagłówki sekcji: dokładnie 45 px */
.bd-hero-title,
.bd-display,
.bd-section h1.wp-block-heading,
.bd-section h2.wp-block-heading,
.bd-section-head .wp-block-heading {
  font-size:45px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}

/* Pasek kompetencji: węższy, niższy i wycentrowany */
.bd-marquee {
  width:min(920px,calc(100% - 48px));
  margin:0 auto;
  overflow:hidden;
  white-space:nowrap;
  border-top:1px solid #e8e8e8;
  border-bottom:1px solid #e8e8e8;
}
.bd-marquee-track {
  display:inline-block;
  width:max-content;
  min-width:200%;
  padding:6px 0;
  animation:bdMarqueeRight 20s linear infinite;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-size:.72rem;
  color:#555;
  will-change:transform;
}
.bd-marquee-track span { margin-right:44px; }
@keyframes bdMarqueeRight {
  from { transform:translateX(-50%); }
  to { transform:translateX(0); }
}

@media(max-width:760px){
  .bd-hero-title,
  .bd-display,
  .bd-section h1.wp-block-heading,
  .bd-section h2.wp-block-heading,
  .bd-section-head .wp-block-heading {
    font-size:36px!important;
  }
  .bd-marquee{width:calc(100% - 28px)}
}

/* === 4.2.3: Oferta + O nas layout refinement === */
/* Oferta: tekst w naprzemiennych sekcjach wycentrowany w swojej kolumnie */
body.page .bd-offer-row .bd-offer-copy,
.bd-offer-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.bd-offer-copy .wp-block-heading,
.bd-offer-copy .bd-kicker,
.bd-offer-copy p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bd-offer-copy .wp-block-buttons{justify-content:center}

/* O nas */
.bd-about-hero .wp-block-columns{align-items:center}
.bd-about-intro{text-align:center;max-width:980px;margin:0 auto}
.bd-about-intro .bd-kicker,.bd-about-intro p,.bd-about-intro .wp-block-heading{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.bd-about-360{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:64px;align-items:center;width:min(1180px,calc(100% - 48px));margin:0 auto}
.bd-about-360 .bd-big-number{font-size:clamp(88px,10vw,150px)!important;line-height:.8!important;text-align:center}
.bd-about-360-copy{max-width:720px}
.bd-about-360-copy .wp-block-heading{margin-top:0}
.bd-about-process-wrap{width:min(1360px,calc(100% - 56px));margin:0 auto}
.bd-about-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:30px}
.bd-about-process .bd-card{min-height:205px;padding:26px 22px;display:flex;flex-direction:column;justify-content:flex-start}
.bd-about-process .bd-number{margin-bottom:18px}
.bd-about-process h3{font-size:26px!important;line-height:1.05!important;margin:0 0 12px!important}
.bd-about-process p{margin-top:0}
.bd-about-process-head{text-align:center;max-width:900px;margin:0 auto}
.bd-about-process-head .bd-kicker,.bd-about-process-head .wp-block-heading{text-align:center!important}
@media(max-width:1100px){.bd-about-process{grid-template-columns:repeat(3,minmax(0,1fr))}.bd-about-360{grid-template-columns:1fr;gap:28px}.bd-about-360-copy{text-align:center;margin:0 auto}.bd-about-360-copy .wp-block-heading,.bd-about-360-copy p{text-align:center!important}}
@media(max-width:760px){.bd-about-process{grid-template-columns:1fr}.bd-about-process-wrap{width:calc(100% - 28px)}.bd-about-360{width:calc(100% - 28px)}.bd-about-process .bd-card{min-height:0}}

/* === 4.2.4: Kontakt - pełne wycentrowanie === */
.bd-contact-hero{
  width:min(980px,calc(100% - 48px));
  margin:0 auto;
  text-align:center;
}
.bd-contact-hero .bd-kicker,
.bd-contact-hero .wp-block-heading,
.bd-contact-hero p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bd-contact-hero .wp-block-buttons{justify-content:center}

.bd-contact-info{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
}
.bd-contact-info-box,
.bd-contact-ai{
  background:#fff;
  border:1px solid #e6e6e6;
  padding:34px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bd-contact-info-box .bd-kicker,
.bd-contact-info-box .wp-block-heading,
.bd-contact-info-box p,
.bd-contact-ai .bd-kicker,
.bd-contact-ai .wp-block-heading,
.bd-contact-ai p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.bd-contact-cards-wrap{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
}
.bd-contact-head{
  max-width:880px;
  margin:0 auto 34px;
  text-align:center;
}
.bd-contact-head .bd-kicker,
.bd-contact-head .wp-block-heading,
.bd-contact-head p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bd-contact-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.bd-contact-cards .bd-card{
  min-height:190px;
  padding:28px 24px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.bd-contact-cards .bd-card .bd-number,
.bd-contact-cards .bd-card h3,
.bd-contact-cards .bd-card p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:900px){
  .bd-contact-info{grid-template-columns:1fr}
  .bd-contact-cards{grid-template-columns:1fr}
}
@media(max-width:760px){
  .bd-contact-hero,.bd-contact-info,.bd-contact-cards-wrap{width:calc(100% - 28px)}
}

/* === 4.2.5: Kontakt — asystent AI + klasyczny formularz === */
.bd-contact-duo{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
}
.bd-contact-panel{
  background:#fff;
  border:1px solid #e5e5e5;
  padding:36px;
  min-height:100%;
}
.bd-contact-panel .bd-kicker,
.bd-contact-panel h3,
.bd-contact-panel>p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.bd-ai-assistant-box{
  margin-top:24px;
  min-height:310px;
  border:1px solid #202020;
  background:#0c0c0c;
  color:#fff;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:18px;
  position:relative;
  overflow:hidden;
}
.bd-ai-assistant-box:before{
  content:"";position:absolute;inset:-30%;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 36%);
  animation:bdAiPulse 5s ease-in-out infinite;
}
@keyframes bdAiPulse{0%,100%{transform:scale(.9);opacity:.6}50%{transform:scale(1.08);opacity:1}}
.bd-ai-assistant-box>*{position:relative;z-index:1}
.bd-ai-assistant-box p{color:#bcbcbc;max-width:420px;margin:8px auto 0}
.bd-ai-orb{width:72px;height:72px;border:1px solid #555;display:grid;place-items:center;font-weight:800;letter-spacing:.12em}
.bd-ai-placeholder-btn{margin-top:18px;background:#fff;color:#111;border:0;padding:13px 18px;font-weight:700;opacity:.8}
.bd-contact-form{margin-top:22px;text-align:left}
.bd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bd-contact-form label{display:block;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:14px;color:#222}
.bd-contact-form input,.bd-contact-form select,.bd-contact-form textarea{
  width:100%;margin-top:7px;border:1px solid #d8d8d8;background:#fff;color:#111;
  padding:13px 14px;font:inherit;border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s
}
.bd-contact-form input:focus,.bd-contact-form select:focus,.bd-contact-form textarea:focus{border-color:#111;box-shadow:0 0 0 1px #111}
.bd-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;line-height:1.4}
.bd-consent input{width:18px!important;height:18px;margin-top:1px!important;flex:0 0 auto}
.bd-form-submit{width:100%;border:1px solid #111;background:#111;color:#fff;padding:15px 18px;font-weight:800;cursor:pointer;transition:.2s}
.bd-form-submit:hover{background:#fff;color:#111}
.bd-form-notice{padding:12px 14px;margin:0 0 16px;border:1px solid #ddd;font-weight:700}
.bd-form-notice.success{border-color:#111}.bd-form-notice.error{border-color:#a00;color:#a00}
@media(max-width:900px){.bd-contact-duo{grid-template-columns:1fr}.bd-form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.bd-contact-duo{width:calc(100% - 28px)}.bd-contact-panel{padding:24px}}

/* 4.2.6 — wyśrodkowanie tytułów i nagłówków na wszystkich podstronach.
   Celowo wykluczona strona główna (.home). */
body.page:not(.home) main > .wp-block-group .bd-kicker,
body.page:not(.home) main > .wp-block-group .bd-animated-kicker,
body.page:not(.home) main > .wp-block-group h1,
body.page:not(.home) main > .wp-block-group h2,
body.page:not(.home) main > .wp-block-group h3,
body.page:not(.home) main > .wp-block-group .wp-block-heading {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Nagłówki znajdujące się głębiej w sekcjach podstron */
body.page:not(.home) main .bd-kicker,
body.page:not(.home) main .bd-animated-kicker,
body.page:not(.home) main h1.wp-block-heading,
body.page:not(.home) main h2.wp-block-heading,
body.page:not(.home) main h3.wp-block-heading,
body.page:not(.home) main .bd-display,
body.page:not(.home) main .bd-hero-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Kicker/etykieta nad tytułem ma również wyglądać jak część wycentrowanego nagłówka */
body.page:not(.home) main .bd-kicker,
body.page:not(.home) main .bd-animated-kicker {
  display: block;
  width: fit-content;
}

/* =========================================================
   4.2.7 — spójne centrowanie PODSTRON usługowych i ofertowych
   Home, O nas i Kontakt są celowo wykluczone.
   ========================================================= */
:root{--bd-subpage-max:1360px;--bd-copy-max:840px}

/* Podstrony, które mają być uporządkowane i wycentrowane */
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .bd-section > .wp-block-group__inner-container,
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .bd-shell{
  width:min(var(--bd-subpage-max),calc(100% - 48px));
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Główne tytuły, nadtytuły i zwykła treść */
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main :is(.bd-kicker,.bd-animated-kicker,h1,h2,h3,.wp-block-heading,.bd-display,.bd-hero-title,.bd-copy,.bd-lead,p){
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Nie pozwalamy akapitom rozciągać się absurdalnie szeroko */
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main p:not(.bd-editorial-number){max-width:var(--bd-copy-max)}

/* Przyciski i grupy CTA */
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .wp-block-buttons{justify-content:center!important}

/* Kolumny: wyśrodkowany tekst wewnątrz każdej kolumny, obrazy nadal mają swój układ */
:is(
  .bd-page-oferta,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .wp-block-column{
  text-align:center;
}
:is(
  .bd-page-oferta,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .wp-block-column > *:not(.wp-block-image):not(.wp-block-cover){
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Karty, proces, FAQ, portfolio */
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main :is(.bd-card,.bd-project-label,.bd-process > *, .bd-simple-list > *, .bd-faq details){
  text-align:center!important;
}
:is(
  .bd-page-oferta,
  .bd-page-realizacje,
  .bd-page-branding-i-grafika,
  .bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,
  .bd-page-strony-i-sklepy,
  .bd-page-projektowanie-i-druk-3d,
  .bd-page-strony-internetowe-krakow,
  .bd-page-sklepy-internetowe-krakow,
  .bd-page-branding-krakow,
  .bd-page-fotografia-produktowa-krakow,
  .bd-page-ai-dla-firm-krakow
) main .bd-faq summary{justify-content:center;text-align:center}

/* Oferta — tekst w naprzemiennych sekcjach jest pionowo i poziomo wycentrowany */
.bd-page-oferta main .wp-block-columns{align-items:center!important}
.bd-page-oferta main .wp-block-column:not(:has(.wp-block-image)){
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}

/* Realizacje — podpisy i CTA pod siatką */
.bd-page-realizacje main .bd-project-label{display:flex;flex-direction:column;align-items:center}
.bd-page-realizacje main .bd-arrow{display:inline-flex;justify-content:center}

/* Cover na Foto/Video — tekst też na środku */
.bd-page-foto-video-dron main .wp-block-cover__inner-container,
.bd-page-foto-video-dron main .wp-block-cover__inner-container > .wp-block-group{
  text-align:center!important;
}

/* Hero podstron: elegancki ograniczony blok treści */
:is(
  .bd-page-oferta,.bd-page-realizacje,.bd-page-branding-i-grafika,.bd-page-foto-video-dron,
  .bd-page-ai-dla-firm,.bd-page-strony-i-sklepy,.bd-page-projektowanie-i-druk-3d
) main .bd-hero-title{max-width:1000px}

@media(max-width:760px){
  :is(
    .bd-page-oferta,.bd-page-realizacje,.bd-page-branding-i-grafika,.bd-page-foto-video-dron,
    .bd-page-ai-dla-firm,.bd-page-strony-i-sklepy,.bd-page-projektowanie-i-druk-3d,
    .bd-page-strony-internetowe-krakow,.bd-page-sklepy-internetowe-krakow,.bd-page-branding-krakow,
    .bd-page-fotografia-produktowa-krakow,.bd-page-ai-dla-firm-krakow
  ) main .bd-shell{width:calc(100% - 28px)}
}

/* 4.2.8 — AI use-case tiles: center content inside each tile only */
.bd-simple-list .bd-card{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:235px;
}
.bd-simple-list .bd-card .bd-number,
.bd-simple-list .bd-card h1,
.bd-simple-list .bd-card h2,
.bd-simple-list .bd-card h3,
.bd-simple-list .bd-card h4,
.bd-simple-list .bd-card p{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center!important;
}
.bd-simple-list .bd-card p{max-width:560px;}

/* 4.2.9 — O nas: final dark CTA aligned and centered */
.bd-page-o-nas main .bd-dark .wp-block-columns{
  align-items:center!important;
}
.bd-page-o-nas main .bd-dark .wp-block-column:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.bd-page-o-nas main .bd-dark .wp-block-column:first-child h1,
.bd-page-o-nas main .bd-dark .wp-block-column:first-child h2,
.bd-page-o-nas main .bd-dark .wp-block-column:first-child h3,
.bd-page-o-nas main .bd-dark .wp-block-column:first-child p{
  text-align:center!important;
  margin-left:auto;
  margin-right:auto;
}
.bd-page-o-nas main .bd-dark .wp-block-column:last-child{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
}
.bd-page-o-nas main .bd-dark .wp-block-buttons{
  justify-content:center!important;
  margin:0!important;
}
.bd-page-o-nas main .bd-dark .wp-block-button{
  margin:0!important;
}

/* Home: center only the "Zobacz wszystkie realizacje" CTA */
.home .bd-home-projects-cta{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.home .bd-home-projects-cta .wp-block-buttons{
  width:auto!important;
  margin:0!important;
  justify-content:center!important;
}

/* 4.2.11 — Foto / Video / Dron: osobny obraz, prawdziwy tekst i klikalny button */
.bd-page-foto-video-dron .bd-content-hero{
  width:min(1360px,calc(100% - 48px));
  margin:0 auto;
}
.bd-page-foto-video-dron .bd-content-hero-copy{
  max-width:900px;
  margin:0 auto 36px;
  text-align:center;
}
.bd-page-foto-video-dron .bd-content-hero-copy .bd-kicker,
.bd-page-foto-video-dron .bd-content-hero-copy .bd-animated-kicker,
.bd-page-foto-video-dron .bd-content-hero-copy h1,
.bd-page-foto-video-dron .bd-content-hero-copy p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bd-page-foto-video-dron .bd-content-hero-copy .wp-block-buttons{
  justify-content:center!important;
}
.bd-page-foto-video-dron .bd-content-hero-media{
  width:min(1180px,100%);
  margin:0 auto;
}
.bd-page-foto-video-dron .bd-content-hero-media figure,
.bd-page-foto-video-dron .bd-content-hero-media img{
  width:100%;
}
.bd-page-foto-video-dron .bd-content-hero-media img{
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
@media(max-width:781px){
  .bd-page-foto-video-dron .bd-content-hero{width:min(100% - 28px,1360px)}
  .bd-page-foto-video-dron .bd-content-hero-copy{margin-bottom:24px}
}


/* === 4.2.12: mobilny hamburger === */
.bd-mobile-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.bd-mobile-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#111;
  transition:transform .25s ease, opacity .25s ease;
  transform-origin:center;
}
.bd-mobile-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bd-mobile-toggle.is-open span:nth-child(2){opacity:0}
.bd-mobile-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.bd-mobile-nav{
  display:none;
}

@media(max-width:760px){
  .bd-site-header{position:sticky;top:0}
  .bd-header-inner{min-height:72px}
  .bd-brand img{width:118px}
  .bd-nav-wrap{display:none!important}
  .bd-mobile-toggle{display:flex}

  .bd-mobile-nav{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border-top:1px solid #eee;
    border-bottom:1px solid #eee;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
    opacity:0;
    transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }
  .bd-mobile-nav[hidden]{display:none}
  .bd-mobile-nav.is-open{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .bd-mobile-nav-inner{padding-top:18px;padding-bottom:22px}
  .bd-mobile-menu-list,
  .bd-mobile-nav .bd-main-menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .bd-mobile-menu-list li,
  .bd-mobile-nav .bd-main-menu li{
    border-bottom:1px solid #eee;
  }
  .bd-mobile-menu-list a,
  .bd-mobile-nav .bd-main-menu a{
    display:block;
    padding:14px 2px;
    font-size:17px;
    font-weight:700;
  }
  .bd-mobile-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:18px;
    min-height:48px;
    background:#111;
    color:#fff;
    font-weight:700;
  }
  body.bd-menu-open{overflow:hidden}
}


/* === 4.2.13 Motion & Scroll Top === */

/* global entrance animations */
.bd-anim-ready .entry-content > .wp-block-group,
.bd-anim-ready .entry-content > .wp-block-columns,
.bd-anim-ready .entry-content > .wp-block-cover,
.bd-anim-ready .entry-content > .wp-block-image,
.bd-anim-ready .entry-content > .wp-block-media-text {
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1),
    transform .72s cubic-bezier(.2,.7,.2,1);
}
.bd-anim-ready .entry-content > .wp-block-group.bd-inview,
.bd-anim-ready .entry-content > .wp-block-columns.bd-inview,
.bd-anim-ready .entry-content > .wp-block-cover.bd-inview,
.bd-anim-ready .entry-content > .wp-block-image.bd-inview,
.bd-anim-ready .entry-content > .wp-block-media-text.bd-inview {
  opacity:1;
  transform:none;
}

/* animated headings */
.entry-content h1,
.entry-content h2,
.entry-content h3{
  transition:transform .35s ease, opacity .35s ease;
}
.bd-heading-reveal{
  opacity:0;
  transform:translateY(16px);
}
.bd-heading-reveal.bd-inview{
  opacity:1;
  transform:none;
}

/* images: subtle cinematic entrance + hover */
.entry-content .wp-block-image,
.entry-content .bd-image-frame{
  overflow:hidden;
}
.entry-content .wp-block-image img,
.entry-content .bd-image-frame img{
  transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.entry-content .wp-block-image:hover img,
.entry-content .bd-image-frame:hover img{
  transform:scale(1.025);
}

/* cards and tiles */
.bd-card,
.bd-project-grid > *,
.wp-block-columns > .wp-block-column{
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    box-shadow .35s ease,
    border-color .35s ease;
}
.bd-card:hover,
.bd-project-grid > *:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 52px rgba(0,0,0,.08);
}

/* CTA / buttons */
.wp-block-button__link,
.bd-header-cta,
.bd-mobile-cta,
.bd-arrow{
  position:relative;
  overflow:hidden;
  transition:
    transform .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}
.wp-block-button__link:hover,
.bd-header-cta:hover,
.bd-mobile-cta:hover{
  transform:translateY(-2px);
}
.wp-block-button__link::after,
.bd-header-cta::after,
.bd-mobile-cta::after{
  content:"";
  position:absolute;
  inset:-40% auto -40% -55%;
  width:35%;
  background:rgba(255,255,255,.16);
  transform:skewX(-20deg);
  transition:left .5s ease;
  pointer-events:none;
}
.wp-block-button__link:hover::after,
.bd-header-cta:hover::after,
.bd-mobile-cta:hover::after{
  left:125%;
}

/* animated text underline for section links */
.bd-arrow{
  display:inline-flex;
  align-items:center;
  gap:.45em;
}
.bd-arrow::after{
  content:"→";
  transition:transform .25s ease;
}
.bd-arrow:hover::after{
  transform:translateX(6px);
}

/* subtle parallax layers */
.bd-motion-parallax{
  will-change:transform;
}

/* floating scroll-to-top button */
.bd-scroll-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:120;
  width:52px;
  height:52px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:
    opacity .25s ease,
    visibility .25s ease,
    transform .25s ease,
    background .2s ease,
    color .2s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.bd-scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}
.bd-scroll-top:hover{
  background:#fff;
  color:#111;
}
.bd-scroll-top span{
  transform:translateY(-1px);
  transition:transform .2s ease;
}
.bd-scroll-top:hover span{
  transform:translateY(-5px);
}

/* small hover for nav */
.bd-main-menu a,
.bd-mobile-menu-list a{
  position:relative;
}
.bd-main-menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:1px;
  background:#111;
  transition:width .25s ease;
}
.bd-main-menu a:hover::after{
  width:100%;
}

/* hero visual soft motion */
.bd-hero-accent::before,
.bd-hero-accent::after{
  animation:bdFloatGeom 8s ease-in-out infinite alternate;
}
.bd-hero-accent::after{
  animation-delay:-3s;
}
@keyframes bdFloatGeom{
  from{ transform:translate3d(0,0,0) rotate(18deg); }
  to{ transform:translate3d(0,-10px,0) rotate(22deg); }
}

@media(max-width:760px){
  .bd-scroll-top{
    right:16px;
    bottom:16px;
    width:46px;
    height:46px;
    font-size:21px;
  }
  .bd-hero-accent::before,
  .bd-hero-accent::after{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .bd-anim-ready .entry-content > *,
  .bd-heading-reveal,
  .bd-card,
  .bd-project-grid > *,
  .wp-block-button__link,
  .bd-header-cta,
  .bd-mobile-cta,
  .bd-scroll-top,
  .bd-hero-accent::before,
  .bd-hero-accent::after{
    animation:none!important;
    transition:none!important;
    transform:none!important;
    opacity:1!important;
  }
}


/* === 4.2.14: mniejszy odstęp pod paskiem WEB / DESIGN / CONTENT / 3D / AI na mobile === */
@media(max-width:760px){
  /* sekcja zawierająca ticker nie dodaje dodatkowego pionowego światła */
  .bd-section:has(.bd-marquee){
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .bd-marquee{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* następna sekcja zaczyna się bliżej tickera */
  .bd-section:has(.bd-marquee) + .bd-section{
    padding-top:18px!important;
  }

  /* jeśli w następnej sekcji kolumny mają dodatkowy gap/margines */
  .bd-section:has(.bd-marquee) + .bd-section > .wp-block-columns,
  .bd-section:has(.bd-marquee) + .bd-section .wp-block-columns{
    margin-top:0!important;
  }
}


/* === 4.2.15: sekcja o Bartku na stronie O nas === */
.bd-about-person{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:64px;
  align-items:center;
}

.bd-about-person-image{
  min-height:520px;
  border-radius:0;
}
.bd-about-person-image img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}

.bd-about-person-copy{
  max-width:640px;
}

.bd-about-person-copy .bd-kicker,
.bd-about-person-copy h2,
.bd-about-person-copy p{
  text-align:left!important;
}

.bd-about-person-copy p{
  max-width:620px;
}

.bd-about-person-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 28px;
}
.bd-about-person-tags span{
  border:1px solid #d9d9d9;
  padding:8px 12px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:#fff;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.bd-about-person-tags span:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

@media(max-width:820px){
  .bd-about-person{
    grid-template-columns:1fr;
    gap:30px;
    width:min(100% - 28px,680px);
  }
  .bd-about-person-image,
  .bd-about-person-image img{
    min-height:360px;
  }
  .bd-about-person-copy{
    max-width:none;
  }
  .bd-about-person-copy .bd-kicker,
  .bd-about-person-copy h2,
  .bd-about-person-copy p{
    text-align:center!important;
    margin-left:auto;
    margin-right:auto;
  }
  .bd-about-person-tags{
    justify-content:center;
  }
  .bd-about-person-copy .wp-block-buttons{
    justify-content:center;
  }
}


/* === 4.2.17 Antyspam formularza === */
.bd-hp-wrap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bd-turnstile-wrap{margin:18px 0 4px;display:flex;justify-content:center}


/* === Break Design AI Assistant 4.3.0 === */
.bd-ai-chat{border:1px solid #262626;background:#101010;color:#fff;max-width:860px;margin:0 auto;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.12)}
.bd-ai-chat-head{display:flex;align-items:center;gap:13px;padding:18px 20px;border-bottom:1px solid #282828}.bd-ai-avatar{width:42px;height:42px;border:1px solid #555;display:grid;place-items:center;font-weight:800}.bd-ai-chat-head strong{display:block}.bd-ai-chat-head span{display:block;color:#999;font-size:12px;margin-top:2px}.bd-ai-status{margin-left:auto;color:#aaa;font-size:12px}.bd-ai-status i{display:inline-block;width:7px;height:7px;background:#58d68d;border-radius:50%;margin-right:5px}
.bd-ai-consent-screen,.bd-ai-not-configured{padding:24px}.bd-ai-intro{font-size:18px;line-height:1.55;color:#e8e8e8}.bd-ai-privacy-note{background:#181818;border-left:2px solid #fff;padding:15px 17px;margin:18px 0}.bd-ai-privacy-note p{color:#bcbcbc;margin:6px 0 0;font-size:13px;line-height:1.55}.bd-ai-chat .bd-consent{display:flex;gap:10px;align-items:flex-start;color:#bbb;font-size:12px;line-height:1.5}.bd-ai-chat .bd-consent a{color:#fff;text-decoration:underline}.bd-ai-chat input[type=checkbox]{margin-top:3px}.bd-ai-start,.bd-ai-submit-brief,.bd-ai-finish{border:1px solid #fff;background:#fff;color:#111;padding:13px 18px;font-weight:800;cursor:pointer;margin-top:18px}.bd-ai-start:disabled{opacity:.35;cursor:not-allowed}
.bd-ai-conversation{background:#0c0c0c}.bd-ai-progress{height:2px;background:#222}.bd-ai-progress span{display:block;height:100%;width:10%;background:#fff;transition:width .35s ease}.bd-ai-messages{padding:22px;display:flex;flex-direction:column;gap:12px;max-height:430px;overflow:auto}.bd-ai-msg{display:flex}.bd-ai-msg.is-user{justify-content:flex-end}.bd-ai-bubble{max-width:78%;padding:12px 15px;line-height:1.5;font-size:14px;background:#1b1b1b;border:1px solid #292929}.is-user .bd-ai-bubble{background:#fff;color:#111;border-color:#fff}.bd-ai-quick{padding:0 22px 12px;display:flex;flex-wrap:wrap;gap:7px}.bd-ai-quick button{background:transparent;color:#ddd;border:1px solid #444;padding:9px 11px;cursor:pointer}.bd-ai-quick button:hover{background:#fff;color:#111}.bd-ai-input-row{display:flex;border-top:1px solid #272727}.bd-ai-input{flex:1;background:#111!important;color:#fff!important;border:0!important;padding:16px!important;outline:0!important}.bd-ai-send{width:56px;border:0;background:#fff;color:#111;font-size:20px;cursor:pointer}.bd-ai-actions{padding:10px 22px 18px}.bd-ai-actions small{display:block;color:#777;font-size:10px;margin-top:12px}.bd-ai-finish{background:transparent;color:#fff;padding:10px 13px}
.bd-ai-lead{padding:24px;background:#fff;color:#111}.bd-ai-lead-head strong{display:block;font-size:22px}.bd-ai-lead-head span{color:#666;font-size:13px}.bd-ai-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.bd-ai-lead label:not(.bd-consent){font-size:12px;font-weight:700}.bd-ai-lead input[type=text],.bd-ai-lead input[type=email],.bd-ai-lead input[type=tel]{display:block;width:100%;border:1px solid #d6d6d6;padding:11px;margin-top:5px}.bd-ai-lead .bd-consent{color:#555;margin:10px 0}.bd-ai-lead .bd-consent a{color:#111}.bd-consent-optional{opacity:.9}.bd-ai-submit-brief{background:#111;color:#fff;border-color:#111}.bd-ai-submit-status{margin-top:12px;font-size:13px;color:#8b0000}.bd-ai-submit-status.is-success{color:#18784f}.bd-ai-turnstile-slot{margin-top:14px}.bd-ai-not-configured{background:#fff;color:#111}.bd-ai-not-configured p{color:#555}.bd-ai-chat.is-busy .bd-ai-send{opacity:.45}
.bd-contact-form .bd-consent a{font-weight:700;text-decoration:underline}.bd-contact-form .bd-consent-optional{margin-top:-6px}
@media(max-width:700px){.bd-ai-chat{width:100%}.bd-ai-messages{max-height:360px;padding:16px}.bd-ai-bubble{max-width:90%}.bd-ai-quick{padding-left:16px;padding-right:16px}.bd-ai-lead-grid{grid-template-columns:1fr}.bd-ai-consent-screen,.bd-ai-lead{padding:18px}}


/* === 4.4.0 Privacy / accessibility 2026-2027 === */
.bd-footer-legal{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid #e8e8e8;font-size:14px}
.bd-footer-legal a{text-decoration:underline;text-underline-offset:3px}
.bd-skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#111;color:#fff;padding:12px 16px;font-weight:700;transition:top .2s ease}
.bd-skip-link:focus{top:16px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #111;outline-offset:3px}
.bd-privacy-policy{max-width:980px!important;margin:0 auto;padding:64px 24px 90px}
.bd-privacy-policy h1,.bd-privacy-policy h2,.bd-privacy-policy h3{text-align:left!important}
.bd-privacy-policy h1{font-size:45px!important;margin-bottom:10px}
.bd-privacy-policy h2{font-size:30px!important;margin-top:46px;margin-bottom:16px}
.bd-privacy-policy p,.bd-privacy-policy li{font-size:16px;line-height:1.75;color:#333}
.bd-privacy-updated{color:#777!important;font-size:14px!important}
.bd-privacy-table-wrap{overflow-x:auto;margin:24px 0}
.bd-privacy-table{width:100%;border-collapse:collapse;min-width:720px}
.bd-privacy-table th,.bd-privacy-table td{border:1px solid #ddd;padding:14px;vertical-align:top;text-align:left}
.bd-privacy-table th{background:#111;color:#fff}
.bd-consent-optional{opacity:.92}
@media(max-width:760px){.bd-privacy-policy{padding:42px 18px 70px}.bd-privacy-policy h1{font-size:36px!important}.bd-privacy-policy h2{font-size:26px!important}.bd-footer-legal{gap:12px;flex-direction:column}}


/* === Guided brief assistant 4.5.0 === */
.bd-ai-chat .bd-ai-bubble{white-space:pre-line}
.bd-ai-restart{border:0;background:transparent;color:#888;padding:9px 0;margin:14px 16px 0 0;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.bd-ai-restart:hover{color:#fff}
.bd-ai-final-summary{margin:18px 0;padding:16px 18px;background:#f5f5f5;border:1px solid #ddd;white-space:pre-line;font-size:13px;line-height:1.6;max-height:300px;overflow:auto}
.bd-ai-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bd-ai-lead .bd-ai-turnstile-slot{margin:18px 0 4px}
.bd-ai-conversation.is-complete .bd-ai-input-row,.bd-ai-conversation.is-complete .bd-ai-quick{display:none}
.bd-ai-chat-head .bd-ai-avatar{font-size:12px;letter-spacing:.06em}

/* === 4.6.0 PORTFOLIO / REALIZACJE === */
.bd-portfolio-page{padding:0 0 90px;background:#fff}.bd-portfolio-hero{padding-top:76px;padding-bottom:46px;text-align:center}.bd-portfolio-hero h1{font-size:45px;margin:10px auto 18px;max-width:880px}.bd-portfolio-hero p{font-size:18px;max-width:760px;margin:0 auto;color:#686868}.bd-portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0 28px;border-bottom:1px solid var(--bd-line);margin-bottom:30px}.bd-portfolio-filters{display:flex;flex-wrap:wrap;gap:8px}.bd-portfolio-filters button{appearance:none;border:1px solid #d9d9d9;background:#fff;color:#111;padding:10px 15px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}.bd-portfolio-filters button:hover,.bd-portfolio-filters button.is-active{background:#111;color:#fff;border-color:#111}.bd-portfolio-count{font-size:13px;color:#888;white-space:nowrap}.bd-portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.bd-portfolio-card{grid-column:span 6;min-width:0;transition:opacity .25s ease,transform .25s ease}.bd-portfolio-card-1,.bd-portfolio-card-6{grid-column:span 7}.bd-portfolio-card-2,.bd-portfolio-card-5{grid-column:span 5}.bd-portfolio-card.is-filtered-out{display:none}.bd-portfolio-image{display:block;overflow:hidden;background:#0a0a0a;aspect-ratio:16/10}.bd-portfolio-card-1 .bd-portfolio-image,.bd-portfolio-card-6 .bd-portfolio-image{aspect-ratio:16/9}.bd-portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s}.bd-portfolio-card:hover .bd-portfolio-image img{transform:scale(1.035)}.bd-portfolio-placeholder{display:grid;place-items:center;height:100%;padding:30px;color:#fff;font-size:22px;font-weight:800}.bd-portfolio-card-copy{padding:19px 2px 34px;border-bottom:1px solid #e7e7e7}.bd-portfolio-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#8b8b8b;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800}.bd-portfolio-card h2{font-size:30px;margin:10px 0 10px}.bd-portfolio-card p{margin:0 0 16px;max-width:650px}.bd-portfolio-more{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.bd-portfolio-more span{transition:transform .2s}.bd-portfolio-card:hover .bd-portfolio-more span{transform:translate(3px,-3px)}.bd-portfolio-bottom-cta{margin-top:70px;padding:45px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:30px}.bd-portfolio-bottom-cta h2{font-size:38px;margin:7px 0}.bd-portfolio-cta{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border:1px solid #111;padding:15px 22px;font-weight:800;white-space:nowrap;transition:.2s}.bd-portfolio-cta:hover{background:#fff;color:#111;transform:translateY(-2px)}

/* single project */
.bd-project-single{padding-bottom:90px}.bd-project-single-head{padding-top:66px;padding-bottom:36px}.bd-project-back{display:inline-block;margin-bottom:34px;color:#777;font-size:13px;font-weight:700}.bd-project-single-head h1{font-size:45px;max-width:1050px;margin:10px 0 18px}.bd-project-intro{font-size:20px;max-width:840px;margin:0 0 34px}.bd-project-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ddd;border-bottom:1px solid #ddd}.bd-project-meta>div{padding:18px 18px 18px 0;min-height:82px}.bd-project-meta span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#969696;font-weight:800;margin-bottom:5px}.bd-project-meta strong{font-size:14px}.bd-project-single-cover{overflow:hidden;background:#111}.bd-project-single-cover img{width:100%;max-height:820px;object-fit:cover}.bd-project-single-content{width:min(920px,calc(100% - 48px));padding:58px 0}.bd-project-single-content>p{font-size:18px;line-height:1.75}.bd-project-single-content .wp-block-image{margin:38px 0}.bd-project-single-content .wp-block-image img{width:100%}.bd-project-single-footer{padding:45px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:30px}.bd-project-single-footer h2{font-size:38px;margin:7px 0}

@media(max-width:900px){.bd-portfolio-card,.bd-portfolio-card-1,.bd-portfolio-card-2,.bd-portfolio-card-5,.bd-portfolio-card-6{grid-column:span 6}.bd-project-meta{grid-template-columns:repeat(2,1fr)}.bd-portfolio-bottom-cta,.bd-project-single-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.bd-portfolio-page{padding-bottom:58px}.bd-portfolio-hero{padding-top:50px;padding-bottom:30px}.bd-portfolio-hero h1,.bd-project-single-head h1{font-size:36px}.bd-portfolio-toolbar{align-items:flex-start;flex-direction:column;margin-bottom:20px}.bd-portfolio-filters{gap:6px}.bd-portfolio-filters button{padding:9px 12px}.bd-portfolio-grid{grid-template-columns:1fr;gap:8px}.bd-portfolio-card,.bd-portfolio-card-1,.bd-portfolio-card-2,.bd-portfolio-card-5,.bd-portfolio-card-6{grid-column:auto}.bd-portfolio-image,.bd-portfolio-card-1 .bd-portfolio-image,.bd-portfolio-card-6 .bd-portfolio-image{aspect-ratio:4/3}.bd-portfolio-card h2{font-size:25px}.bd-portfolio-card-copy{padding-bottom:26px}.bd-portfolio-bottom-cta{margin-top:46px;padding:34px 0}.bd-portfolio-bottom-cta h2,.bd-project-single-footer h2{font-size:31px}.bd-project-single-head{padding-top:44px}.bd-project-back{margin-bottom:24px}.bd-project-intro{font-size:18px}.bd-project-meta{grid-template-columns:1fr 1fr}.bd-project-meta>div{padding:14px 10px 14px 0;min-height:70px}.bd-project-single-content{width:calc(100% - 28px);padding:38px 0}.bd-project-single-content>p{font-size:17px}.bd-project-single-footer{padding:34px 0}}

/* === 4.7.0 PROFESSIONAL PORTFOLIO / CASE STUDIES === */
.bd47-portfolio-page{background:#fff;padding-bottom:96px}.bd47-portfolio-hero{padding-top:82px;padding-bottom:42px;text-align:center}.bd47-portfolio-hero h1{font-size:45px;max-width:980px;margin:11px auto 18px}.bd47-portfolio-hero p{max-width:820px;margin:0 auto;color:#686868;font-size:18px;line-height:1.7}.bd47-portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:13px 0 31px;border-bottom:1px solid #ddd;margin-bottom:64px}.bd47-portfolio-section{margin-bottom:96px}.bd47-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:50px;align-items:end;margin-bottom:34px}.bd47-section-head h2{font-size:40px;margin:8px 0 0}.bd47-section-head>p{margin:0;max-width:620px;justify-self:end}.bd47-section-head>a{justify-self:end;font-size:13px;font-weight:800;border-bottom:1px solid #111;padding-bottom:3px}
.bd47-case-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px 22px}.bd47-case-card{grid-column:span 6;min-width:0}.bd47-case-card:nth-child(4n+1),.bd47-case-card:nth-child(4n+4){grid-column:span 7}.bd47-case-card:nth-child(4n+2),.bd47-case-card:nth-child(4n+3){grid-column:span 5}.bd47-case-media{display:block;position:relative;overflow:hidden;background:#111;aspect-ratio:3/2}.bd47-case-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.bd47-case-card:hover .bd47-case-media img{transform:scale(1.025)}.bd47-card-badge{position:absolute;left:18px;top:18px;background:#fff;color:#111;padding:8px 10px;font-size:10px;font-weight:900;letter-spacing:.12em}.bd47-case-copy{padding:19px 1px 37px;border-bottom:1px solid #ddd}.bd47-card-meta,.bd47-web-copy>span,.bd47-work-copy>span{display:block;color:#888;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800}.bd47-case-copy h2{font-size:30px;margin:10px 0 11px}.bd47-case-copy p{margin:0 0 17px;max-width:660px;line-height:1.65}
.bd47-web-section{padding-top:74px;padding-bottom:78px;background:#f5f5f5;width:100%;max-width:none!important}.bd47-web-section>.bd47-section-head,.bd47-web-section>.bd47-web-grid{width:min(var(--bd-max),calc(100% - 48px));margin-left:auto;margin-right:auto}.bd47-web-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.bd47-browser{display:block;background:#111;border:1px solid #d8d8d8;box-shadow:0 28px 70px rgba(0,0,0,.11);overflow:hidden}.bd47-browser-bar{height:42px;background:#f3f3f3;border-bottom:1px solid #ddd;display:flex;align-items:center;padding:0 14px;gap:7px;color:#777;font-size:11px}.bd47-browser-bar i{width:8px;height:8px;border-radius:50%;background:#bbb;display:block}.bd47-browser-bar span{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd47-browser-screen{background:#fff;aspect-ratio:16/10;overflow:hidden}.bd47-browser-screen>img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.bd47-web-card:hover .bd47-browser-screen>img{transform:scale(1.015)}.bd47-web-copy{padding:17px 2px 9px}.bd47-web-copy h3{font-size:25px;margin:7px 0 0}.bd47-web-card.is-filtered-out,.bd47-case-card.is-filtered-out,.bd47-work-card.is-filtered-out{display:none!important}
.bd47-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bd47-work-card{min-width:0}.bd47-work-media{display:block;overflow:hidden;background:#eee;aspect-ratio:4/3}.bd47-work-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.bd47-work-card:hover .bd47-work-media img{transform:scale(1.035)}.bd47-work-copy{padding:14px 1px 24px;border-bottom:1px solid #e4e4e4}.bd47-work-copy h3{font-size:22px;margin:7px 0 0}.bd-portfolio-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:30px;background:linear-gradient(135deg,#121212,#2a2a2a);color:#fff}.bd-portfolio-placeholder span{font-size:24px;font-weight:800}.bd-portfolio-placeholder small{font-size:12px;color:#aaa;font-weight:600}
/* Home: dynamic selected work */
.bd47-home-projects{padding:76px 0;background:#fff}.bd47-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}.bd47-home-head h2{font-size:40px;margin:8px 0 0}.bd47-home-head>a{font-size:13px;font-weight:800;border-bottom:1px solid #111;padding-bottom:3px}.bd47-home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.bd47-home-grid .bd47-case-card{grid-column:span 6}.bd47-home-grid .bd47-case-card:nth-child(1){grid-column:span 7}.bd47-home-grid .bd47-case-card:nth-child(2){grid-column:span 5}.bd47-home-grid .bd47-case-card:nth-child(3){grid-column:span 5}.bd47-home-grid .bd47-case-card:nth-child(4){grid-column:span 7}
/* Single project / case study */
.bd47-project-single{padding-bottom:92px;background:#fff}.bd47-project-head{padding-top:66px;padding-bottom:34px}.bd47-project-head h1{font-size:45px;max-width:1040px;margin:10px 0 18px}.bd47-project-meta{display:flex;flex-wrap:wrap;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-top:34px}.bd47-project-meta>div{flex:1 1 180px;padding:17px 22px 17px 0}.bd47-project-meta span{display:block;text-transform:uppercase;letter-spacing:.12em;color:#969696;font-size:9px;font-weight:900;margin-bottom:5px}.bd47-project-meta strong{font-size:13px;line-height:1.4}.bd47-project-cover{overflow:hidden;background:#111}.bd47-project-cover img{width:100%;aspect-ratio:3/2;object-fit:cover}.bd47-case-story{display:grid;grid-template-columns:1fr 1fr;gap:86px;padding-top:72px;padding-bottom:68px;border-bottom:1px solid #ddd}.bd47-case-story h2{font-size:35px;margin:9px 0 18px;max-width:560px}.bd47-case-story p{font-size:17px;line-height:1.8;margin:0;max-width:650px}.bd47-scope-section{padding-top:44px;padding-bottom:62px}.bd47-scope-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.bd47-scope-list span{border:1px solid #d9d9d9;background:#fff;padding:10px 13px;font-size:12px;font-weight:800}.bd47-web-preview-section{background:#0d0d0d;color:#fff;padding:76px 0 84px;margin:10px 0 80px}.bd47-web-preview-section .bd47-section-head{margin-bottom:28px}.bd47-web-preview-section .bd47-section-head p{color:#aaa}.bd47-web-preview-section .bd47-section-head>a{color:#fff;border-color:#fff}.bd47-web-preview-section .bd-kicker{color:#888}.bd47-browser-large{border-color:#3a3a3a;box-shadow:0 36px 90px rgba(0,0,0,.4)}.bd47-browser-large .bd47-browser-screen{aspect-ratio:16/9;max-height:760px}.bd47-project-gallery-wrap{padding-top:8px;padding-bottom:82px}.bd47-project-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}.bd47-gallery-item{grid-column:span 6;background:#f3f3f3;overflow:hidden}.bd47-gallery-item:nth-child(5n+1){grid-column:span 7}.bd47-gallery-item:nth-child(5n+2){grid-column:span 5}.bd47-gallery-item:nth-child(5n+4){grid-column:span 5}.bd47-gallery-item:nth-child(5n+5){grid-column:span 7}.bd47-gallery-item img{width:100%;height:100%;max-height:760px;object-fit:contain;background:#f2f2f2;transition:transform .55s ease}.bd47-gallery-item:hover img{transform:scale(1.01)}.bd47-project-single .bd-project-single-content{border-top:1px solid #e3e3e3;margin-top:0}.bd47-project-single .bd-project-single-footer{margin-top:20px}
@media(max-width:980px){.bd47-case-card,.bd47-case-card:nth-child(n){grid-column:span 6}.bd47-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bd47-case-story{gap:45px}.bd47-home-grid .bd47-case-card:nth-child(n){grid-column:span 6}}
@media(max-width:760px){.bd47-portfolio-page{padding-bottom:60px}.bd47-portfolio-hero{padding-top:52px;padding-bottom:30px}.bd47-portfolio-hero h1,.bd47-project-head h1{font-size:36px}.bd47-portfolio-toolbar{align-items:flex-start;flex-direction:column;margin-bottom:44px}.bd47-portfolio-section{margin-bottom:62px}.bd47-section-head{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.bd47-section-head h2,.bd47-home-head h2{font-size:31px}.bd47-section-head>p,.bd47-section-head>a{justify-self:start}.bd47-case-grid,.bd47-home-grid{grid-template-columns:1fr;gap:8px}.bd47-case-card,.bd47-case-card:nth-child(n),.bd47-home-grid .bd47-case-card:nth-child(n){grid-column:auto}.bd47-case-copy{padding-bottom:28px}.bd47-case-copy h2{font-size:26px}.bd47-web-section{padding-top:48px;padding-bottom:52px}.bd47-web-section>.bd47-section-head,.bd47-web-section>.bd47-web-grid{width:calc(100% - 28px)}.bd47-web-grid,.bd47-work-grid{grid-template-columns:1fr}.bd47-home-projects{padding:54px 0}.bd47-home-head{align-items:flex-start;flex-direction:column}.bd47-project-head{padding-top:42px}.bd47-project-meta{display:grid;grid-template-columns:1fr 1fr}.bd47-project-meta>div{padding:14px 12px 14px 0}.bd47-case-story{grid-template-columns:1fr;gap:42px;padding-top:48px;padding-bottom:48px}.bd47-case-story h2{font-size:30px}.bd47-web-preview-section{padding:52px 0;margin-bottom:54px}.bd47-browser-large .bd47-browser-screen{aspect-ratio:4/3}.bd47-project-gallery{grid-template-columns:1fr;gap:12px}.bd47-gallery-item,.bd47-gallery-item:nth-child(n){grid-column:auto}.bd47-project-gallery-wrap{padding-bottom:54px}}

/* 4.7.1 — fotografia produktowa */
.bd47-project-single.is-photo-case .bd47-project-cover{background:#f4f4f2;text-align:center}
.bd47-project-single.is-photo-case .bd47-project-cover img{width:auto;max-width:100%;max-height:920px;aspect-ratio:auto;object-fit:contain;margin:0 auto}
.bd47-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bd47-photo-gallery .bd47-gallery-item,.bd47-photo-gallery .bd47-gallery-item:nth-child(n){grid-column:auto;background:#f5f5f3;aspect-ratio:3/4}
.bd47-photo-gallery .bd47-gallery-item img{width:100%;height:100%;max-height:none;object-fit:contain;background:#f5f5f3}
@media(max-width:1000px){.bd47-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.bd47-photo-gallery{grid-template-columns:1fr}.bd47-photo-gallery .bd47-gallery-item{aspect-ratio:auto}.bd47-photo-gallery .bd47-gallery-item img{height:auto}}


/* === 4.7.2 Portfolio polish: no ugly crops + real website mockups === */
.bd47-case-media,.bd47-work-media{background:#f4f4f2}
.bd47-case-media img,.bd47-work-media img{object-fit:contain!important;object-position:center!important;background:#f4f4f2}
.bd47-project-cover{background:#f4f4f2;padding:0}
.bd47-project-cover img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4f4f2}
.bd47-gallery-item{background:#fff}
.bd47-gallery-item img{object-fit:contain!important;background:#fff!important}
.bd47-project-single.is-photo-case .bd47-project-cover{background:#fff}
.bd47-project-single.is-photo-case .bd47-project-cover img{max-height:980px!important;width:auto!important;margin-inline:auto!important}
.bd47-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bd47-photo-gallery .bd47-gallery-item,.bd47-photo-gallery .bd47-gallery-item:nth-child(n){grid-column:auto;background:#fff;border:1px solid #eee;aspect-ratio:4/5}
.bd47-photo-gallery .bd47-gallery-item img{width:100%;height:100%;object-fit:contain!important;padding:14px;background:#fff!important}

.bd47-web-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px}
.bd472-laptop-mockup{display:block;position:relative;padding:0 4.5% 4.3%;filter:drop-shadow(0 28px 36px rgba(0,0,0,.18));transition:transform .35s ease}
.bd47-web-card:hover .bd472-laptop-mockup{transform:translateY(-5px)}
.bd472-laptop-screen{display:block;background:#151515;padding:9px 9px 12px;border-radius:18px 18px 8px 8px;border:1px solid #343434;overflow:hidden}
.bd472-laptop-screen .bd47-browser-bar{border-radius:9px 9px 0 0;height:38px}
.bd472-laptop-screen .bd47-browser-screen{display:block;aspect-ratio:16/10;background:#fff;overflow:hidden}
.bd472-laptop-screen .bd47-browser-screen>img,.bd47-browser-large .bd47-browser-screen>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:top center!important;background:#fff!important;transform:none!important}
.bd472-laptop-base{display:block;position:absolute;left:0;right:0;bottom:0;height:5.4%;min-height:15px;background:linear-gradient(#dedede,#9d9d9d);border-radius:0 0 48% 48%/0 0 75% 75%;box-shadow:inset 0 1px 0 #fff}
.bd472-laptop-base:after{content:"";position:absolute;left:42%;right:42%;top:0;height:35%;background:#8b8b8b;border-radius:0 0 8px 8px}
.bd47-web-copy{padding-top:8px}

.bd47-browser-large{display:block;background:#111;border-radius:18px;padding:10px 10px 14px;border:1px solid #323232}
.bd47-browser-large .bd47-browser-bar{border-radius:9px 9px 0 0}
.bd47-browser-large .bd47-browser-screen{display:block;aspect-ratio:16/9;background:#fff;overflow:hidden}

@media(max-width:760px){
  .bd47-photo-gallery{grid-template-columns:1fr 1fr;gap:10px}
  .bd47-photo-gallery .bd47-gallery-item{aspect-ratio:4/5}
  .bd47-photo-gallery .bd47-gallery-item img{padding:8px}
  .bd472-laptop-mockup{padding-left:2%;padding-right:2%}
}


/* 4.7.3 — WEB FIRST / stronger website mockups / clean product photography */
.bd473-case-media-web{background:#0a0b0d!important;aspect-ratio:3/2!important;padding:0!important}
.bd473-case-media-web>img{display:none!important}
.bd473-web-card-visual{display:block;position:relative}
.bd473-web-stage{position:relative;display:block;min-height:420px;overflow:hidden;background:
  radial-gradient(circle at 78% 18%,rgba(255,255,255,.15),transparent 18%),
  radial-gradient(circle at 15% 88%,rgba(255,255,255,.08),transparent 24%),
  linear-gradient(145deg,#11151b,#050608 74%);border:1px solid #1e2228}
.bd473-web-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 75%)}
.bd473-stage-glow{position:absolute;right:-6%;top:-16%;width:46%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(46px)}
.bd473-device{position:absolute;display:block;z-index:2}
.bd473-device-desktop{left:6%;right:14%;top:9%;bottom:16%;padding-bottom:3.6%;filter:drop-shadow(0 28px 34px rgba(0,0,0,.46));transform:perspective(1100px) rotateX(1deg) rotateY(-3deg)}
.bd473-device-top{display:flex;align-items:center;height:32px;background:#e9e9e9;border-radius:13px 13px 0 0;padding:0 11px;gap:6px;color:#6f6f6f;font-size:9px;overflow:hidden}
.bd473-device-top i{display:block;width:7px;height:7px;border-radius:50%;background:#a7a7a7}.bd473-device-top b{font-weight:700;margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd473-device-screen{position:absolute;left:0;right:0;top:32px;bottom:4.2%;display:block;background:#fff;border:8px solid #17191c;border-top:0;overflow:hidden}
.bd473-device-screen img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;background:#fff!important}
.bd473-device-base{position:absolute;left:-4%;right:-4%;bottom:0;height:5%;background:linear-gradient(#e7e7e7,#8f9295);border-radius:0 0 46% 46%/0 0 85% 85%;box-shadow:inset 0 1px 0 #fff}
.bd473-device-base:after{content:"";position:absolute;left:42%;right:42%;top:0;height:32%;background:#787b7f;border-radius:0 0 8px 8px}
.bd473-device-phone{right:4.2%;top:22%;width:20%;height:59%;border:7px solid #0f1114;border-radius:28px;background:#0f1114;box-shadow:0 24px 45px rgba(0,0,0,.58);transform:rotate(2.5deg)}
.bd473-phone-notch{position:absolute;z-index:4;top:4px;left:32%;right:32%;height:10px;border-radius:8px;background:#0a0a0a}
.bd473-phone-screen{display:block;position:absolute;inset:7px 4px 5px;border-radius:18px;overflow:hidden;background:#fff}.bd473-phone-screen img{width:185%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:top center!important;transform:translateX(-22%)!important;background:#fff!important}
.bd473-stage-caption{position:absolute;z-index:3;left:6%;bottom:4.4%;color:#fff;display:flex;gap:12px;align-items:baseline}.bd473-stage-caption strong{font-size:13px}.bd473-stage-caption small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#90949a}
.bd47-web-card .bd473-web-stage{min-height:390px;transition:transform .45s ease,box-shadow .45s ease}.bd47-web-card:hover .bd473-web-stage{transform:translateY(-5px);box-shadow:0 34px 70px rgba(0,0,0,.22)}
.bd47-case-card .bd473-web-stage{min-height:100%;height:100%;border:0}.bd47-case-card .bd473-device-desktop{left:5%;right:12%;top:8%;bottom:14%}.bd47-case-card .bd473-device-phone{right:3.5%;top:21%;width:19%;height:60%}

/* Case study website presentation: website comes before branding collateral. */
.bd473-project-webhero{background:#0a0b0d;color:#fff;padding:48px 0 76px;margin-bottom:72px}.bd473-project-webhero .bd47-section-head{margin-bottom:26px}.bd473-project-webhero .bd47-section-head a{color:#fff;border-color:#fff}.bd473-project-webhero .bd47-section-head p{color:#aeb1b6}.bd473-project-webhero .bd473-web-stage{min-height:690px;border-color:#282d33}.bd473-project-webhero .bd473-device-desktop{left:4%;right:12%;top:7%;bottom:12%}.bd473-project-webhero .bd473-device-phone{right:3%;top:19%;height:65%;width:18%}.bd473-project-webhero .bd473-stage-caption{left:4%;bottom:3.2%}
.bd473-site-detail{margin-top:28px;background:#fff;border:1px solid #282d33;box-shadow:0 28px 70px rgba(0,0,0,.32);overflow:hidden}.bd473-site-detail-head{height:44px;background:#f2f2f2;color:#777;display:flex;align-items:center;gap:7px;padding:0 14px;font-size:11px}.bd473-site-detail-head i{width:8px;height:8px;border-radius:50%;background:#aaa}.bd473-site-detail-head span{margin-left:8px}.bd473-site-detail-image{display:block;max-height:900px;overflow:auto;background:#fff}.bd473-site-detail-image img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;object-position:top center!important;background:#fff!important}

/* Product photography = actual white product photography, not framed cards. */
.bd47-project-single.is-photo-case{background:#fff}.bd47-project-single.is-photo-case .bd47-project-cover{background:#fff!important;padding:0!important}.bd47-project-single.is-photo-case .bd47-project-cover img{background:#fff!important;box-shadow:none!important}
.bd47-photo-gallery{background:#fff;gap:22px!important}.bd47-photo-gallery .bd47-gallery-item,.bd47-photo-gallery .bd47-gallery-item:nth-child(n){background:#fff!important;border:0!important;aspect-ratio:auto!important;overflow:visible!important}.bd47-photo-gallery .bd47-gallery-item img{width:100%!important;height:auto!important;object-fit:contain!important;padding:0!important;background:#fff!important;box-shadow:none!important}.bd47-photo-gallery .bd47-gallery-item:hover img{transform:none!important}

/* Generic case-study gallery: never brutally crop supplied artwork/mockups. */
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item{background:#fff!important;min-height:0}.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#fff!important}

@media(max-width:980px){.bd473-web-stage{min-height:360px}.bd473-project-webhero .bd473-web-stage{min-height:560px}}
@media(max-width:760px){.bd473-web-stage{min-height:300px}.bd473-device-desktop{left:4%;right:8%;top:8%;bottom:17%}.bd473-device-phone{width:22%;height:58%;right:3%;top:25%;border-width:5px}.bd473-stage-caption{left:5%;bottom:4%}.bd473-project-webhero{padding:38px 0 48px;margin-bottom:48px}.bd473-project-webhero .bd473-web-stage{min-height:390px}.bd473-project-webhero .bd473-device-phone{width:21%;height:61%}.bd473-site-detail-image{max-height:620px}.bd47-photo-gallery{grid-template-columns:1fr!important}}
.bd473-project-webhero .bd47-section-head>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.bd473-project-webhero .bd47-section-head>div:last-child p{margin:0;max-width:560px;text-align:right}.bd473-project-webhero .bd47-section-head>div:last-child a{font-size:13px;font-weight:800;border-bottom:1px solid #fff;padding-bottom:3px}
.bd473-keyvisual-wrap{padding-top:8px;padding-bottom:70px}.bd473-keyvisual{background:#fff;overflow:hidden}.bd473-keyvisual img{width:100%;height:auto;object-fit:contain;background:#fff}
@media(max-width:760px){.bd473-project-webhero .bd47-section-head>div:last-child{align-items:flex-start}.bd473-project-webhero .bd47-section-head>div:last-child p{text-align:left}}

/* =======================================================
   4.7.5 — portfolio final correction
   Real website screens dominate case studies; supplied artwork stays intact.
   ======================================================= */

/* Premium website mockup: large screen first, subtle mobile second. */
.bd473-web-stage{
  min-height:470px!important;
  border:1px solid #d9d9d9!important;
  background:
    radial-gradient(circle at 80% 14%,rgba(255,255,255,.95),rgba(255,255,255,0) 30%),
    linear-gradient(145deg,#f7f7f7 0%,#e8e8e8 55%,#d7d7d7 100%)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.11);
}
.bd473-web-stage:before{
  opacity:.6;
  background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px)!important;
  background-size:52px 52px!important;
  mask-image:linear-gradient(to bottom,#000,transparent 88%)!important;
}
.bd473-stage-glow{right:-9%!important;top:-24%!important;width:52%!important;background:rgba(255,255,255,.8)!important;filter:blur(70px)!important}
.bd473-device-desktop{
  left:3.8%!important;right:11%!important;top:6.5%!important;bottom:13%!important;
  transform:perspective(1300px) rotateX(1deg) rotateY(-1.2deg)!important;
  filter:drop-shadow(0 32px 34px rgba(0,0,0,.24))!important;
}
.bd473-device-top{
  height:36px!important;border-radius:14px 14px 0 0!important;background:#f4f4f4!important;
  border:1px solid #d8d8d8;border-bottom:0;color:#606060!important;padding:0 12px!important;
}
.bd473-device-screen{
  top:36px!important;bottom:4.1%!important;border:7px solid #151515!important;border-top:0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.bd473-device-screen img{object-position:top center!important;object-fit:cover!important;transform:none!important}
.bd473-device-base{height:5.4%!important;background:linear-gradient(#ededed,#a5a5a5)!important;box-shadow:inset 0 1px 0 #fff,0 10px 18px rgba(0,0,0,.13)!important}
.bd473-device-phone{
  right:2.6%!important;top:24%!important;width:18.5%!important;height:60%!important;
  border:6px solid #101010!important;border-radius:29px!important;box-shadow:0 28px 48px rgba(0,0,0,.28)!important;
  transform:rotate(1.2deg)!important;
}
.bd473-phone-screen{inset:7px 4px 5px!important;border-radius:18px!important}
.bd473-phone-screen img{width:170%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:top center!important;transform:translateX(-20%)!important}
.bd473-stage-caption{left:4%!important;bottom:3%!important;color:#111!important;gap:10px!important}
.bd473-stage-caption strong{font-size:12px!important}.bd473-stage-caption small{color:#6f6f6f!important}
.bd47-case-media.bd473-case-media-web{background:#eee!important}
.bd47-case-card .bd473-web-stage{min-height:440px!important;box-shadow:none!important}
.bd47-web-card .bd473-web-stage{min-height:430px!important}

/* Full case study: website gets the strongest visual weight. */
.bd473-project-webhero{background:#0b0b0c!important;padding:62px 0 84px!important;margin-bottom:78px!important}
.bd473-project-webhero .bd473-web-stage{min-height:760px!important;border-color:#242424!important;box-shadow:0 40px 100px rgba(0,0,0,.40)!important}
.bd473-project-webhero .bd473-device-desktop{left:3%!important;right:10%!important;top:5%!important;bottom:11%!important}
.bd473-project-webhero .bd473-device-phone{right:2.2%!important;top:22%!important;width:17.5%!important;height:64%!important}
.bd473-project-webhero .bd473-stage-caption{left:3.2%!important;bottom:2.5%!important;color:#fff!important}
.bd473-project-webhero .bd473-stage-caption small{color:#b7b7b7!important}
.bd473-site-detail{margin-top:34px!important;border:0!important;box-shadow:0 32px 90px rgba(0,0,0,.38)!important;border-radius:16px;overflow:hidden!important}
.bd473-site-detail-head{height:46px!important;background:#f3f3f3!important}
.bd473-site-detail-image{max-height:980px!important;background:#fff!important}

/* Supplied graphics and mockups: never crop their content. */
.bd47-project-gallery:not(.bd47-photo-gallery){grid-auto-flow:row!important;align-items:start!important}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item,
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item:nth-child(n){
  aspect-ratio:auto!important;overflow:visible!important;background:transparent!important;border:0!important;
}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item img{
  display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;
  background:transparent!important;box-shadow:none!important;
}

/* Product photography: pure white presentation, no frames/cards. */
.bd47-project-single.is-photo-case .bd47-project-gallery-wrap{background:#fff!important}
.bd47-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;align-items:end!important;background:#fff!important}
.bd47-photo-gallery .bd47-gallery-item,.bd47-photo-gallery .bd47-gallery-item:nth-child(n){
  display:flex!important;align-items:flex-end!important;justify-content:center!important;background:#fff!important;
  border:0!important;box-shadow:none!important;aspect-ratio:auto!important;min-height:0!important;overflow:visible!important;
}
.bd47-photo-gallery .bd47-gallery-item img{
  width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;padding:0!important;
  background:#fff!important;border:0!important;box-shadow:none!important;transform:none!important;
}

@media(max-width:980px){
  .bd473-web-stage{min-height:390px!important}
  .bd473-project-webhero .bd473-web-stage{min-height:610px!important}
}
@media(max-width:760px){
  .bd473-web-stage{min-height:305px!important}
  .bd473-device-desktop{left:3%!important;right:7%!important;top:7%!important;bottom:16%!important}
  .bd473-device-phone{width:22%!important;height:58%!important;right:2%!important;top:27%!important;border-width:4px!important}
  .bd473-project-webhero{padding:42px 0 54px!important;margin-bottom:52px!important}
  .bd473-project-webhero .bd473-web-stage{min-height:410px!important}
  .bd473-project-webhero .bd473-device-phone{width:21%!important;height:61%!important}
  .bd47-photo-gallery{grid-template-columns:1fr!important;gap:18px!important}
}


/* =======================================================
   4.7.6 — portfolio: full screens, clean photos, no ugly crops
   ======================================================= */
/* Single-screen premium WWW mockup. The website is not duplicated on desktop + phone. */
.bd473-web-stage{
  min-height:500px!important;
  background:
    radial-gradient(circle at 80% 18%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,#17191d 0%,#0a0b0d 60%,#050506 100%)!important;
  border:1px solid #24262b!important;
  box-shadow:0 34px 90px rgba(0,0,0,.20)!important;
}
.bd473-web-stage:before{opacity:.42!important;background-size:64px 64px!important}
.bd476-browser-frame{
  position:absolute;z-index:2;left:4%;right:4%;top:7%;bottom:11%;display:flex;flex-direction:column;
  background:#0f1012;border:1px solid #2c2e32;border-radius:18px;overflow:hidden;
  box-shadow:0 34px 65px rgba(0,0,0,.44);transform:perspective(1400px) rotateX(.6deg) rotateY(-1deg);
}
.bd476-browser-bar{height:42px;flex:0 0 42px;display:flex;align-items:center;gap:7px;padding:0 13px;background:#f3f3f3;color:#5d5d5d}
.bd476-browser-bar i{width:8px;height:8px;border-radius:50%;background:#aaa}.bd476-browser-bar b{margin-left:7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd476-browser-screen{display:flex;align-items:flex-start;justify-content:center;flex:1;min-height:0;background:#fff;overflow:hidden}
.bd476-browser-screen img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:top center!important;background:#fff!important;transform:none!important}
.bd476-curated-stage{position:absolute;z-index:2;inset:3.5% 3.5% 8%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bd476-curated-stage img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;box-shadow:none!important}
.bd473-web-stage.has-curated-mockup{background:#0b0b0c!important}
.bd473-web-stage.has-curated-mockup:before{opacity:.20!important}
.bd473-web-stage.has-curated-mockup .bd473-stage-glow{display:none!important}
.bd473-device,.bd473-device-phone{display:none!important}
.bd473-stage-caption{left:4%!important;bottom:2.7%!important;color:#fff!important}.bd473-stage-caption small{color:#aaa!important}
.bd47-case-card .bd473-web-stage{min-height:500px!important}.bd47-web-card .bd473-web-stage{min-height:455px!important}

/* In a case study the real website preview is huge and never cropped to one repeated section. */
.bd473-project-webhero{background:#09090a!important;padding:62px 0 86px!important;margin-bottom:76px!important}
.bd473-project-webhero .bd473-web-stage{min-height:820px!important;background:#101114!important}
.bd473-project-webhero .bd476-browser-frame{left:2.5%;right:2.5%;top:4%;bottom:8%}
.bd473-project-webhero .bd476-curated-stage{inset:2% 2% 7%}
.bd473-site-detail{margin-top:36px!important;border:0!important;border-radius:16px!important;box-shadow:0 32px 90px rgba(0,0,0,.35)!important;background:#fff!important;overflow:hidden!important}
.bd473-site-detail-head{height:48px!important;background:#f4f4f4!important}
.bd473-site-detail-image{max-height:none!important;overflow:visible!important;background:#fff!important}
.bd473-site-detail-image img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:top center!important;background:#fff!important}

/* Every supplied graphic keeps its complete format. Wide work gets more space, portrait work stays portrait. */
.bd47-project-gallery:not(.bd47-photo-gallery){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:start!important}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item,
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item:nth-child(n){grid-column:auto!important;background:#fff!important;border:0!important;overflow:visible!important;aspect-ratio:auto!important;min-height:0!important}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item.bd476-gallery-wide{grid-column:1/-1!important}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#fff!important;box-shadow:none!important;transform:none!important}
.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item:hover img{transform:none!important}

/* Product photography means white — no grey cards, no grey squares, no inner frames. */
.bd47-project-single.is-photo-case,
.bd47-project-single.is-photo-case .bd47-project-gallery-wrap,
.bd47-project-single.is-photo-case .bd47-project-cover,
.bd47-photo-gallery,
.bd47-photo-gallery .bd47-gallery-item,
.bd47-photo-gallery .bd47-gallery-item:nth-child(n){background:#fff!important;border:0!important;box-shadow:none!important}
.bd47-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px!important;align-items:end!important}
.bd47-photo-gallery .bd47-gallery-item{display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:visible!important;aspect-ratio:auto!important;min-height:0!important;padding:0!important}
.bd47-photo-gallery .bd47-gallery-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;padding:0!important;margin:0!important;background:#fff!important;border:0!important;box-shadow:none!important}
.bd47-photo-gallery .bd47-gallery-item:empty{display:none!important}

@media(max-width:980px){
  .bd473-web-stage{min-height:390px!important}.bd473-project-webhero .bd473-web-stage{min-height:650px!important}
  .bd47-case-card .bd473-web-stage{min-height:420px!important}.bd47-web-card .bd473-web-stage{min-height:390px!important}
}
@media(max-width:760px){
  .bd473-web-stage{min-height:300px!important}.bd473-project-webhero{padding:42px 0 54px!important;margin-bottom:52px!important}.bd473-project-webhero .bd473-web-stage{min-height:430px!important}
  .bd476-browser-frame{left:2.5%;right:2.5%;top:5%;bottom:10%;border-radius:11px;transform:none}.bd476-browser-bar{height:30px;flex-basis:30px;padding:0 8px}.bd476-browser-bar i{width:6px;height:6px}.bd476-browser-bar b{font-size:8px}
  .bd476-curated-stage{inset:2% 2% 9%}.bd47-project-gallery:not(.bd47-photo-gallery),.bd47-photo-gallery{grid-template-columns:1fr!important;gap:18px!important}.bd47-project-gallery:not(.bd47-photo-gallery) .bd47-gallery-item.bd476-gallery-wide{grid-column:auto!important}
}


/* =======================================================
   4.7.7 — spójne wyśrodkowanie CTA / buttonów w treści
   ======================================================= */
/* Każdy Gutenbergowy CTA w głównej treści jest wyśrodkowany
   względem swojej sekcji / kolumny. Nie dotyczy nawigacji,
   filtrów portfolio ani przycisków technicznych. */
main .wp-block-buttons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
}
main .wp-block-buttons .wp-block-button{
  margin-left:0!important;
  margin-right:0!important;
}

/* Formularz kontaktowy — CTA nie jest już rozciągnięte na 100%. */
.bd-contact-form .bd-form-submit{
  width:auto!important;
  min-width:220px;
  display:block!important;
  margin:22px auto 0!important;
  text-align:center;
}

/* Portfolio — końcowe CTA na liście realizacji i w case study. */
.bd-portfolio-bottom-cta,
.bd-project-single-footer{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.bd-portfolio-bottom-cta>div,
.bd-project-single-footer>div{
  width:100%;
  text-align:center!important;
}
.bd-portfolio-bottom-cta .bd-kicker,
.bd-portfolio-bottom-cta h2,
.bd-project-single-footer .bd-kicker,
.bd-project-single-footer h2{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bd-portfolio-bottom-cta .bd-portfolio-cta,
.bd-project-single-footer .bd-portfolio-cta{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Asystent / brief — główne CTA są ustawione centralnie,
   ale szybkie odpowiedzi i przycisk wysyłania wiadomości zostają funkcjonalne. */
.bd-ai-consent-screen .bd-ai-start,
.bd-ai-lead .bd-ai-submit-brief{
  display:block!important;
  width:max-content;
  max-width:100%;
  margin:18px auto 0!important;
  text-align:center;
}
.bd-ai-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.bd-ai-actions .bd-ai-restart,
.bd-ai-actions .bd-ai-finish{
  margin:0!important;
}
.bd-ai-actions small{
  flex:0 0 100%;
  text-align:center;
}

@media(max-width:760px){
  .bd-contact-form .bd-form-submit{width:min(100%,320px)!important}
}

/* =======================================================
   4.7.9 — CTA / buttony wyrównane do lewej strony treści
   ======================================================= */
/* Gutenbergowe grupy przycisków: wracają do lewej krawędzi
   swojej sekcji/kolumny zamiast ustawienia centralnego. */
body[class] main .wp-block-buttons{
  justify-content:flex-start!important;
  align-items:center!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Home — CTA pod realizacjami również zgodnie z lewą krawędzią treści. */
body.home main .bd-home-projects-cta{
  justify-content:flex-start!important;
}
body.home main .bd-home-projects-cta .wp-block-buttons{
  width:100%!important;
  justify-content:flex-start!important;
}

/* Formularz kontaktowy — przycisk wysyłki po lewej. */
.bd-contact-form .bd-form-submit{
  display:inline-block!important;
  width:auto!important;
  margin:22px 0 0!important;
}

/* Końcowe CTA portfolio i case studies: treść i button po lewej. */
.bd-portfolio-bottom-cta,
.bd-project-single-footer{
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.bd-portfolio-bottom-cta>div,
.bd-project-single-footer>div,
.bd-portfolio-bottom-cta .bd-kicker,
.bd-portfolio-bottom-cta h2,
.bd-project-single-footer .bd-kicker,
.bd-project-single-footer h2{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
.bd-portfolio-bottom-cta .bd-portfolio-cta,
.bd-project-single-footer .bd-portfolio-cta{
  align-self:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* O nas — CTA w ciemnej sekcji nie jest już wymuszane na środku. */
body.bd-page-o-nas main .bd-dark .wp-block-buttons{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Asystent: duże CTA rozpoczynające / wysyłające brief po lewej,
   same szybkie odpowiedzi pozostają w swoim układzie funkcjonalnym. */
.bd-ai-consent-screen .bd-ai-start,
.bd-ai-lead .bd-ai-submit-brief{
  margin:18px 0 0!important;
}

@media(max-width:760px){
  .bd-contact-form .bd-form-submit{
    width:auto!important;
    max-width:100%;
  }
}

/* =======================================================
   4.7.9 — WEB MOCKUPS: pełna szerokość strony w ekranie
   ======================================================= */
/* Zrzut WWW nie jest już ściskany do całej wysokości (co tworzyło wąski pasek pośrodku).
   W mockupie zachowujemy naturalną szerokość strony i pokazujemy ją jak prawdziwy viewport przeglądarki. */
.bd479-web-stage-real{
  aspect-ratio:16/10!important;
  min-height:0!important;
  height:auto!important;
  background:
    radial-gradient(circle at 82% 15%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,#181a1e 0%,#0b0c0e 62%,#050506 100%)!important;
}
.bd47-case-card .bd479-web-stage-real,
.bd47-web-card .bd479-web-stage-real{
  min-height:0!important;
  height:auto!important;
}
.bd47-case-media.bd473-case-media-web{aspect-ratio:auto!important;background:#0b0c0e!important}

.bd479-web-stage-real .bd476-browser-frame{
  left:2.6%!important;
  right:2.6%!important;
  top:5.3%!important;
  bottom:9.2%!important;
  border-radius:16px!important;
  transform:perspective(1600px) rotateX(.35deg) rotateY(-.55deg)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.48)!important;
}
.bd479-web-stage-real .bd476-browser-bar{
  height:38px!important;
  flex-basis:38px!important;
  padding:0 12px!important;
  background:linear-gradient(#f8f8f8,#ececec)!important;
  border-bottom:1px solid #d8d8d8!important;
}
.bd479-web-stage-real .bd476-browser-bar b{font-size:10px!important;color:#555!important}
.bd479-web-stage-real .bd476-browser-screen{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.bd479-web-stage-real .bd476-browser-screen .bd47-site-shot{
  position:absolute!important;
  top:0!important;
  left:0!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:initial!important;
  object-position:top center!important;
  transform:translate3d(0,0,0)!important;
  transform-origin:top center!important;
  transition:transform .75s cubic-bezier(.2,.7,.2,1)!important;
  will-change:transform;
  background:#fff!important;
}
.bd479-web-stage-real:hover .bd476-browser-screen.can-pan .bd47-site-shot,
.bd479-web-stage-real:focus-within .bd476-browser-screen.can-pan .bd47-site-shot{
  transform:translate3d(0,calc(-1 * var(--bd-web-pan,0px)),0)!important;
  transition-duration:7.5s!important;
  transition-timing-function:cubic-bezier(.18,.72,.16,1)!important;
}
.bd479-web-pan-hint{
  position:absolute;z-index:6;right:10px;bottom:10px;width:26px;height:26px;
  display:none;place-items:center;border-radius:999px;background:rgba(10,10,10,.72);
  color:#fff;font-style:normal;font-size:14px;line-height:1;backdrop-filter:blur(6px);
  box-shadow:0 6px 18px rgba(0,0,0,.22);pointer-events:none;
}
.bd476-browser-screen.can-pan .bd479-web-pan-hint{display:grid}
.bd479-web-stage-real .bd473-stage-caption{left:2.8%!important;bottom:2.3%!important}

/* Case study — większy ekran strony jako pierwszy element, bez ściskania pełnego zrzutu. */
.bd473-project-webhero .bd479-web-stage-real{
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  max-width:1380px;
  margin-inline:auto;
}
.bd473-project-webhero .bd479-web-stage-real .bd476-browser-frame{
  left:1.6%!important;right:1.6%!important;top:3.1%!important;bottom:7.2%!important;
}
.bd473-project-webhero .bd479-web-stage-real .bd473-stage-caption{left:1.8%!important;bottom:1.3%!important}

/* Pełny, niekadrowany screenshot pozostaje pod mockupem w case study. */
.bd473-site-detail-image{overflow:visible!important;max-height:none!important;background:#fff!important}
.bd473-site-detail-image .bd47-site-shot{
  position:static!important;display:block!important;width:100%!important;height:auto!important;
  max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:top center!important;
  transform:none!important;background:#fff!important;
}

@media(max-width:980px){
  .bd479-web-stage-real{aspect-ratio:16/10!important}
  .bd473-project-webhero .bd479-web-stage-real{aspect-ratio:16/10!important}
}
@media(max-width:760px){
  .bd479-web-stage-real{aspect-ratio:4/3!important}
  .bd479-web-stage-real .bd476-browser-frame{left:1.8%!important;right:1.8%!important;top:4.4%!important;bottom:9.8%!important;border-radius:10px!important;transform:none!important}
  .bd479-web-stage-real .bd476-browser-bar{height:28px!important;flex-basis:28px!important;padding:0 8px!important}
  .bd479-web-stage-real .bd476-browser-bar b{font-size:8px!important}
  .bd473-project-webhero .bd479-web-stage-real{aspect-ratio:4/3!important}
  .bd479-web-pan-hint{width:22px;height:22px;right:6px;bottom:6px;font-size:12px}
}
@media(hover:none),(prefers-reduced-motion:reduce){
  .bd479-web-stage-real .bd476-browser-screen .bd47-site-shot{transition:none!important}
  .bd479-web-stage-real:hover .bd476-browser-screen.can-pan .bd47-site-shot{transform:none!important}
  .bd479-web-pan-hint{display:none!important}
}


/* =======================================================
   4.7.9 — PREMIUM REAL-WEB PRESENTATION
   Inspiracja: portfolio z pełnymi makietami strony + monitor.
   Źródło grafiki: wyłącznie rzeczywisty screenshot projektu WWW.
   ======================================================= */
.bd47-web-grid{
  grid-template-columns:1fr!important;
  gap:56px!important;
}
.bd47-web-card{
  max-width:1280px;
  width:100%;
  margin-inline:auto;
}
.bd473-web-card-visual{
  display:block!important;
  overflow:visible!important;
  background:transparent!important;
}
.bd481-web-presentation{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(300px,.92fr);
  gap:clamp(24px,4vw,64px);
  min-height:clamp(540px,63vw,790px);
  padding:clamp(28px,4vw,58px);
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.28),transparent 26%),
    linear-gradient(135deg,#d9d2ba 0%,#bbb697 50%,#a8a88d 100%);
  border-radius:2px;
  box-shadow:0 22px 60px rgba(0,0,0,.12);
}
.bd481-web-presentation::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 32%,rgba(0,0,0,.05));
  mix-blend-mode:soft-light;
}
.bd481-web-gridline{position:absolute;left:51%;top:0;width:1px;height:100%;background:rgba(255,255,255,.14);opacity:.55}
.bd481-web-pages{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,32px);
  align-items:start;
  min-width:0;
}
.bd481-page{
  position:relative;display:block;overflow:hidden;background:#fff;
  box-shadow:0 18px 45px rgba(30,28,20,.24);
  border:1px solid rgba(255,255,255,.55);
}
.bd481-page-full{
  height:clamp(450px,54vw,690px);
}
.bd481-page-detail{
  height:clamp(470px,57vw,725px);
  margin-top:clamp(-12px,-1vw,-5px);
}
.bd481-page .bd481-real-fullpage{
  display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;
  object-fit:initial!important;transform:none!important;background:#fff!important;
}
/* Drugi panel pokazuje środkową / dalszą część TEGO SAMEGO realnego screena, a nie wymyślony projekt. */
.bd481-page-detail .bd481-real-fullpage{
  position:absolute!important;left:0!important;top:-26%!important;width:100%!important;height:auto!important;
}
.bd481-web-device{
  position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;min-width:0;
  padding:5% 0 0;
}
.bd481-web-title{text-align:center;margin-bottom:clamp(24px,4vw,54px);color:#181713}
.bd481-web-title strong{display:block;font-size:clamp(28px,3.2vw,54px);line-height:.98;letter-spacing:.02em;font-weight:700}
.bd481-web-title small{display:block;margin-top:16px;font-size:clamp(9px,.8vw,13px);letter-spacing:.34em;text-transform:uppercase;opacity:.7}
.bd481-monitor{position:relative;display:block;width:100%;padding-bottom:66%;filter:drop-shadow(0 22px 28px rgba(0,0,0,.22))}
.bd481-monitor::before{
  content:"";position:absolute;left:2%;right:2%;top:0;height:66%;background:#171717;border-radius:16px 16px 8px 8px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);
}
.bd481-monitor-screen{
  position:absolute;left:4%;right:4%;top:3.7%;height:58.2%;overflow:hidden;background:#fff;z-index:2;
}
.bd481-monitor-screen .bd481-real-fullpage{
  position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;
  transform:none!important;object-fit:initial!important;background:#fff!important;
}
.bd481-monitor-neck{
  position:absolute;left:43%;top:65%;width:14%;height:16%;z-index:1;
  background:linear-gradient(90deg,#aaa,#e8e8e8 45%,#b9b9b9);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);
}
.bd481-monitor-foot{
  position:absolute;left:31%;top:79%;width:38%;height:5.5%;z-index:1;border-radius:50%;
  background:linear-gradient(#d9d9d9,#9d9d9d);box-shadow:0 8px 14px rgba(0,0,0,.18);
}
/* Case study — ten sam realny układ, większy i bez ściskania strony. */
.bd473-project-webhero .bd481-web-presentation,
.bd47-case-media .bd481-web-presentation{width:100%;}
.bd47-case-media.bd473-case-media-web{aspect-ratio:auto!important;background:transparent!important;overflow:visible!important}
.bd47-case-card .bd481-web-presentation{min-height:500px;padding:32px;gap:30px}
.bd47-case-card .bd481-web-title strong{font-size:clamp(24px,2.3vw,40px)}

/* Prawdziwy pełny screenshot w sekcji szczegółowej pozostaje pełny i niekadrowany. */
.bd473-site-detail-image{overflow:visible!important;max-height:none!important;background:#fff!important}
.bd473-site-detail-image .bd47-site-shot{
  position:static!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;
  object-fit:contain!important;object-position:top center!important;transform:none!important;background:#fff!important;
}

@media(max-width:980px){
  .bd481-web-presentation{grid-template-columns:1fr;min-height:0;padding:32px}
  .bd481-web-gridline{display:none}
  .bd481-web-device{padding:0;max-width:720px;width:100%;margin-inline:auto}
  .bd481-web-title{margin:8px 0 30px}
  .bd481-page-full{height:620px}.bd481-page-detail{height:640px}
}
@media(max-width:640px){
  .bd47-web-grid{gap:36px!important}
  .bd481-web-presentation{padding:18px;gap:22px}
  .bd481-web-pages{gap:10px}
  .bd481-page-full{height:420px}.bd481-page-detail{height:435px}
  .bd481-page-detail .bd481-real-fullpage{top:-18%!important}
  .bd481-web-title strong{font-size:28px}.bd481-web-title small{letter-spacing:.2em}
  .bd481-monitor::before{border-radius:10px 10px 6px 6px}
}


/* ============================================================
   4.7.9 — SINGLE WEB MOCKUP FIX
   Jeden projekt WWW / sklep = jeden realny mockup. Bez duplikatów.
   ============================================================ */
.bd479-single-webmockup{
  position:relative;
  width:100%;
  padding:clamp(22px,3vw,40px);
  background:
    radial-gradient(circle at 85% 12%,rgba(255,255,255,.34),transparent 25%),
    linear-gradient(135deg,#d8d2bd 0%,#c3bea5 52%,#aaa98f 100%);
  box-shadow:0 24px 65px rgba(0,0,0,.13);
  overflow:hidden;
}
.bd479-webmockup-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  margin:0 0 clamp(18px,2.5vw,30px);color:#171713;
}
.bd479-webmockup-head>div{min-width:0}
.bd479-webmockup-head strong{display:block;font-size:clamp(24px,3vw,44px);line-height:1;letter-spacing:-.035em}
.bd479-webmockup-head small{display:block;margin-top:9px;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd479-webmockup-head>span{font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(20,20,15,.28);padding:8px 10px;white-space:nowrap}
.bd479-browser-frame{
  width:100%;background:#0b0b0b;border:1px solid rgba(0,0,0,.22);
  border-radius:16px;overflow:hidden;
  box-shadow:0 26px 55px rgba(28,25,18,.28);
}
.bd479-browser-bar{
  height:42px;background:#f3f3f1;border-bottom:1px solid #dededb;
  display:flex;align-items:center;gap:7px;padding:0 14px;color:#6f6f6f;font-size:11px;
}
.bd479-browser-bar i{display:block;width:8px;height:8px;border-radius:50%;background:#b7b7b7;flex:0 0 auto}
.bd479-browser-bar span{margin-left:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd479-browser-viewport{
  position:relative;overflow:hidden;background:#fff;
  aspect-ratio:16/10;
  --bd-web-pan:0px;
}
.bd479-browser-viewport .bd47-site-shot,
.bd479-browser-viewport .bd481-real-fullpage{
  position:absolute!important;left:0!important;top:0!important;
  width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;
  object-fit:initial!important;object-position:top center!important;
  transform:translate3d(0,0,0)!important;
  transition:transform 7s cubic-bezier(.18,.7,.18,1)!important;
  background:#fff!important;
}
@media (hover:hover) and (pointer:fine){
  .bd479-browser-viewport.can-pan:hover .bd47-site-shot,
  .bd479-browser-viewport.can-pan:hover .bd481-real-fullpage{
    transform:translate3d(0,calc(-1 * var(--bd-web-pan)),0)!important;
  }
}
.bd47-case-card .bd479-single-webmockup{padding:clamp(18px,2.2vw,30px)}
.bd47-case-card .bd479-webmockup-head strong{font-size:clamp(22px,2.4vw,34px)}
.bd47-case-media.bd473-case-media-web{aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.bd473-project-webhero .bd479-single-webmockup{margin-top:8px}
@media(max-width:700px){
  .bd479-single-webmockup{padding:16px}
  .bd479-webmockup-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
  .bd479-webmockup-head>span{display:none}
  .bd479-browser-frame{border-radius:10px}
  .bd479-browser-bar{height:36px}
  .bd479-browser-viewport{aspect-ratio:4/3}
}


/* =======================================================
   4.7.9 — RĘCZNE WYRÓWNANIE BUTTONÓW (bez cofania wcześniejszych poprawek)
   =======================================================
   Domyślnie przyciski zostają po lewej, ale standardowe ustawienie
   „Wyrównanie elementów” w bloku Gutenberg „Przyciski” ma pierwszeństwo. */
body[class] main .wp-block-buttons.is-content-justification-left{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
body[class] main .wp-block-buttons.is-content-justification-center{
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body[class] main .wp-block-buttons.is-content-justification-right{
  justify-content:flex-end!important;
  margin-left:auto!important;
  margin-right:0!important;
}
body[class] main .wp-block-buttons.is-content-justification-space-between{
  justify-content:space-between!important;
}

/* =======================================================
   4.7.9 — BUTTON ALIGNMENT UI: ustawienie z Gutenberga zawsze wygrywa
   ======================================================= */
body main .wp-block-buttons{
  display:flex;
  flex-wrap:wrap;
}
body main .wp-block-buttons.is-content-justification-left{justify-content:flex-start!important}
body main .wp-block-buttons.is-content-justification-center{justify-content:center!important}
body main .wp-block-buttons.is-content-justification-right{justify-content:flex-end!important}
body main .wp-block-buttons.is-content-justification-space-between{justify-content:space-between!important}
body main .wp-block-buttons[style*="justify-content:left"],
body main .wp-block-buttons[style*="justify-content: left"]{justify-content:flex-start!important}
body main .wp-block-buttons[style*="justify-content:center"],
body main .wp-block-buttons[style*="justify-content: center"]{justify-content:center!important}
body main .wp-block-buttons[style*="justify-content:right"],
body main .wp-block-buttons[style*="justify-content: right"]{justify-content:flex-end!important}
body main .wp-block-buttons[style*="justify-content:space-between"],
body main .wp-block-buttons[style*="justify-content: space-between"]{justify-content:space-between!important}

/* 4.7.9 — BUTTON ALIGNMENT UI FIX 3
   Ręczne ustawienie zapisane z Gutenberga ma absolutne pierwszeństwo. */
body main .wp-block-buttons.bd-buttons-left,
body .entry-content .wp-block-buttons.bd-buttons-left{
  display:flex!important; width:100%!important; justify-content:flex-start!important;
}
body main .wp-block-buttons.bd-buttons-center,
body .entry-content .wp-block-buttons.bd-buttons-center{
  display:flex!important; width:100%!important; justify-content:center!important;
}
body main .wp-block-buttons.bd-buttons-right,
body .entry-content .wp-block-buttons.bd-buttons-right{
  display:flex!important; width:100%!important; justify-content:flex-end!important;
}
body main .wp-block-buttons.bd-buttons-space-between,
body .entry-content .wp-block-buttons.bd-buttons-space-between{
  display:flex!important; width:100%!important; justify-content:space-between!important;
}

/* 4.7.9 — BUTTON ALIGNMENT ALL PAGES
   Indywidualne klasy działają globalnie, niezależnie od szablonu podstrony. */
.wp-block-buttons.bd-buttons-left{display:flex!important;width:100%!important;justify-content:flex-start!important}
.wp-block-buttons.bd-buttons-center{display:flex!important;width:100%!important;justify-content:center!important}
.wp-block-buttons.bd-buttons-right{display:flex!important;width:100%!important;justify-content:flex-end!important}
.wp-block-buttons.bd-buttons-space-between{display:flex!important;width:100%!important;justify-content:space-between!important}

/* Opcjonalne ustawienie całej podstrony z panelu „Break Design — buttony na tej podstronie”. */
body.bd-page-buttons-left .wp-block-buttons{display:flex!important;width:100%!important;justify-content:flex-start!important}
body.bd-page-buttons-center .wp-block-buttons{display:flex!important;width:100%!important;justify-content:center!important}
body.bd-page-buttons-right .wp-block-buttons{display:flex!important;width:100%!important;justify-content:flex-end!important}

/* =======================================================
   4.7.9 — CTA CENTERED RELATIVE TO CONTENT
   Spójny wzorzec na wszystkich stronach i podstronach.
   Domyślnie CTA są wyśrodkowane w swojej kolumnie / sekcji,
   nie względem całego viewportu. Ręczne ustawienie nadal może to nadpisać.
   ======================================================= */
body main .wp-block-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  width:100%!important;
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* CTA formularza kontaktowego — nie na całą szerokość, tylko centralnie pod formularzem. */
body .bd-contact-form .bd-form-submit{
  display:block!important;
  width:min(100%,300px)!important;
  min-width:220px;
  margin:22px 0 0!important;
  text-align:center!important;
}

/* Główne akcje asystenta AI również centralnie względem treści panelu. */
body .bd-ai-consent-screen .bd-ai-start,
body .bd-ai-lead .bd-ai-submit-brief,
body .bd-ai-finish{
  display:block!important;
  width:max-content;
  max-width:100%;
  margin-left:0!important;
  margin-right:auto!important;
}
body .bd-ai-actions{
  justify-content:flex-start!important;
  text-align:left!important;
}

/* CTA na końcu portfolio i case study — spójny układ: treść + przycisk centralnie. */
body .bd-portfolio-bottom-cta,
body .bd-project-single-footer{
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
body .bd-portfolio-bottom-cta .bd-portfolio-cta,
body .bd-project-single-footer .bd-portfolio-cta{
  margin-left:0!important;
  margin-right:auto!important;
}

/* Ręczne ustawienie z Gutenberga / panelu podstrony nadal ma pierwszeństwo. */
body main .wp-block-buttons.bd-buttons-left,
body .entry-content .wp-block-buttons.bd-buttons-left,
body main .wp-block-buttons.is-content-justification-left,
body main .wp-block-buttons[style*="justify-content:left"],
body main .wp-block-buttons[style*="justify-content: left"]{
  justify-content:flex-start!important;
}
body main .wp-block-buttons.bd-buttons-center,
body .entry-content .wp-block-buttons.bd-buttons-center,
body main .wp-block-buttons.is-content-justification-center,
body main .wp-block-buttons[style*="justify-content:center"],
body main .wp-block-buttons[style*="justify-content: center"]{
  justify-content:center!important;
}
body main .wp-block-buttons.bd-buttons-right,
body .entry-content .wp-block-buttons.bd-buttons-right,
body main .wp-block-buttons.is-content-justification-right,
body main .wp-block-buttons[style*="justify-content:right"],
body main .wp-block-buttons[style*="justify-content: right"]{
  justify-content:flex-end!important;
}
body main .wp-block-buttons.bd-buttons-space-between,
body .entry-content .wp-block-buttons.bd-buttons-space-between,
body main .wp-block-buttons.is-content-justification-space-between,
body main .wp-block-buttons[style*="justify-content:space-between"],
body main .wp-block-buttons[style*="justify-content: space-between"]{
  justify-content:space-between!important;
}
body.bd-page-buttons-left main .wp-block-buttons{justify-content:flex-start!important}
body.bd-page-buttons-center main .wp-block-buttons{justify-content:center!important}
body.bd-page-buttons-right main .wp-block-buttons{justify-content:flex-end!important}

@media(max-width:760px){
  body .bd-contact-form .bd-form-submit{width:min(100%,320px)!important}
}

/* 4.7.9 — PageSpeed / LCP
   Elementy w pierwszej sekcji nie mogą czekać na IntersectionObserver.
   Pozostałe sekcje zachowują subtelne animacje wejścia. */
.bd-section:first-of-type .bd-reveal,
.bd-section:first-of-type.bd-reveal,
main > .bd-section:first-child .bd-reveal,
main > .bd-section:first-child.bd-reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
@media(max-width:782px){
  .bd-section:first-of-type .bd-reveal,
  .bd-section:first-of-type.bd-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* 4.7.9 PageSpeed II — ograniczamy koszt layoutu sekcji daleko pod pierwszym ekranem.
   content-visibility nie zmienia wyglądu: sekcja renderuje się normalnie tuż przed wejściem w viewport. */
@supports (content-visibility:auto){
  body.home .bd47-home-projects,
  body.home .bd-service-list,
  body.home .bd-ai-shell{
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}


/* =======================================================
   4.7.9 — DEFAULT BUTTON ALIGNMENT: LEFT
   Bazowo wszystkie CTA w treści są do lewej. Indywidualne klasy
   bd-buttons-center/right/space-between nadal mają pierwszeństwo.
   ======================================================= */
body main .wp-block-buttons:not(.bd-buttons-center):not(.bd-buttons-right):not(.bd-buttons-space-between),
body .entry-content .wp-block-buttons:not(.bd-buttons-center):not(.bd-buttons-right):not(.bd-buttons-space-between){
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
body .bd-contact-form .bd-form-submit{margin-left:0!important;margin-right:auto!important}
body .bd-ai-actions{justify-content:flex-start!important;text-align:left!important}
body .bd-ai-consent-screen .bd-ai-start,
body .bd-ai-lead .bd-ai-submit-brief,
body .bd-ai-finish{margin-left:0!important;margin-right:auto!important}
body .bd-portfolio-bottom-cta,
body .bd-project-single-footer{align-items:flex-start!important;text-align:left!important}
body .bd-portfolio-bottom-cta .bd-portfolio-cta,
body .bd-project-single-footer .bd-portfolio-cta{margin-left:0!important;margin-right:auto!important}

/* Ręczne ustawienie konkretnego bloku nadal wygrywa nad domyślnym lewym. */
body main .wp-block-buttons.bd-buttons-center,
body .entry-content .wp-block-buttons.bd-buttons-center{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
body main .wp-block-buttons.bd-buttons-right,
body .entry-content .wp-block-buttons.bd-buttons-right{justify-content:flex-end!important;margin-left:auto!important;margin-right:0!important}
body main .wp-block-buttons.bd-buttons-space-between,
body .entry-content .wp-block-buttons.bd-buttons-space-between{justify-content:space-between!important}

/* =======================================================
   4.7.9 — PageSpeed III / dostępność
   Delikatnie podnosimy kontrast małych opisów bez zmiany charakteru projektu.
   ======================================================= */
.bd-section:not(.bd-dark) .bd-kicker,
.bd-section:not(.bd-dark) .bd-animated-kicker,
.bd47-card-meta,
.bd47-web-copy>span,
.bd47-work-copy>span,
.bd-portfolio-count{
  color:#626262;
}
.bd-number{color:#666;}
.bd-dark .bd-kicker,
.bd-dark .bd-number{color:#b5b5b5;}

/* =======================================================
   4.7.9 — 404 PAGE
   ======================================================= */
body.error404 .site-main{background:#0a0a0a}
body.error404 .entry-content{margin:0!important;padding:0!important;max-width:none!important}
.bd404{
  position:relative;
  overflow:hidden;
  min-height:calc(100svh - 78px);
  display:flex;
  align-items:center;
  background:#0a0a0a;
  color:#fff;
  border-bottom:1px solid #242424;
}
.bd404:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.85),transparent 76%);
}
.bd404-shell{
  position:relative;
  z-index:1;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
  gap:72px;
  align-items:center;
  padding-top:86px;
  padding-bottom:92px;
}
.bd404-copy{max-width:760px}
.bd404 .bd-kicker{color:#a8a8a8;margin:0 0 20px}
.bd404 h1{
  margin:0;
  color:#fff;
  font-size:clamp(46px,6vw,92px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.bd404-lead{
  max-width:650px;
  margin:30px 0 0;
  color:#b8b8b8;
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.7;
}
.bd404-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  margin-top:34px;
}
.bd404-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 20px;
  border:1px solid #4a4a4a;
  font-weight:800;
  font-size:14px;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.bd404-button:hover{transform:translateY(-2px)}
.bd404-button-primary{background:#fff;color:#0a0a0a;border-color:#fff}
.bd404-button-primary:hover{background:#d9d9d9;border-color:#d9d9d9}
.bd404-button-secondary{background:transparent;color:#fff}
.bd404-button-secondary:hover{background:#fff;color:#0a0a0a;border-color:#fff}
.bd404-visual{
  position:relative;
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid #2b2b2b;
}
#bd-404-number{
  display:block;
  font-size:clamp(150px,20vw,330px);
  line-height:.72;
  letter-spacing:-.1em;
  font-weight:900;
  color:transparent;
  -webkit-text-stroke:1px #555;
  transform:translateX(-.04em);
  user-select:none;
}
.bd404-line{position:absolute;background:#fff;opacity:.9}
.bd404-line-1{width:110px;height:1px;right:3%;top:22%;transform:rotate(-32deg)}
.bd404-line-2{width:78px;height:1px;left:5%;bottom:22%;transform:rotate(32deg)}
.bd404-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;right:14%;bottom:20%}
#bd-404-label{
  position:absolute;
  right:2%;
  bottom:6%;
  color:#777;
  font-size:10px;
  font-weight:800;
  letter-spacing:.26em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
@media(max-width:900px){
  .bd404{min-height:auto}
  .bd404-shell{grid-template-columns:1fr;gap:40px;padding-top:68px;padding-bottom:72px}
  .bd404-visual{min-height:245px;border-left:0;border-top:1px solid #2b2b2b;padding-top:34px;justify-content:flex-start}
  #bd-404-number{font-size:clamp(120px,45vw,240px)}
  #bd-404-label{right:0;bottom:10%}
}
@media(max-width:560px){
  .bd404-shell{padding-top:54px;padding-bottom:58px}
  .bd404 h1{font-size:clamp(42px,13vw,62px)!important}
  .bd404-actions{flex-direction:column;align-items:stretch}
  .bd404-button{width:100%;justify-content:flex-start}
  .bd404-visual{min-height:190px}
  .bd404-line,.bd404-dot,#bd-404-label{display:none}
}

/* =======================================================
   4.7.9 — DESKTOP BOOST
   Tylko desktop: ograniczamy koszt renderowania sekcji Home znajdujących się
   pod pierwszym ekranem. Mobile pozostaje bez zmian.
   ======================================================= */
@media (min-width:901px){
  @supports (content-visibility:auto){
    body.home .entry-content > .bd-section:nth-of-type(n+2){
      content-visibility:auto;
      contain-intrinsic-size:auto 860px;
    }
  }
}
