/* ============================================================
   PMB Partnerzy: baner, siatka logotypów, karuzela. Prefiks .pmbp
   Design: #070707, beż #e9e0cf, Lato 300/400, Playfair na H1
   ============================================================ */
.pmbp{--ink:#070707;--ink2:#0e0d0b;--beige:#e9e0cf;--fg:#fff;--fg70:rgba(255,255,255,.72);--fg50:rgba(255,255,255,.5);--fg20:rgba(255,255,255,.14);--fg10:rgba(255,255,255,.08);
  --font:'Lato',system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif;
  --e-out:cubic-bezier(.215,.61,.355,1);--t2:220ms;--t4:520ms;
  font-family:var(--font);font-weight:300;color:var(--fg);background:var(--ink);box-sizing:border-box}
.pmbp *,.pmbp *::before,.pmbp *::after{box-sizing:inherit}
body.pmbp-shell{margin:0;background:#070707}
.pmbp-page{overflow:hidden}
#pmbp-page{display:block}
.pmbp-page__in{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* ---------- BANER ---------- */
.pmbp-hero{position:relative;min-height:clamp(420px,62vh,720px);display:grid;place-items:center;text-align:center;padding:140px 24px 72px;isolation:isolate;overflow:hidden}
.pmbp-hero__bg{position:absolute;inset:0;z-index:-2;background:var(--bg) center 40%/cover no-repeat;transform:scale(1.08);will-change:transform}
.pmbp-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.72) 0%,rgba(7,7,7,.58) 45%,var(--ink) 100%)}
.pmbp-hero.no-bg .pmbp-hero__bg{background:radial-gradient(60% 60% at 50% 40%,#171512 0%,var(--ink) 100%)}
.pmbp-hero__mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);z-index:-1;font-family:var(--serif);font-weight:400;font-size:clamp(88px,22vw,300px);line-height:1;letter-spacing:.02em;color:rgba(233,224,207,.06);white-space:nowrap;pointer-events:none;user-select:none}
.pmbp-hero__in{max-width:760px;margin:0 auto;position:relative}
.pmbp-hero__eyebrow{margin:0 0 22px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--fg50)}
.pmbp-hero__title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.4vw,72px);line-height:1.04;letter-spacing:-.005em;color:var(--beige)}
.pmbp-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.pmbp-w i{display:inline-block;font-style:normal}
.pmbp-hero__lead{margin:22px auto 0;max-width:52ch;font-size:clamp(16px,1.8vw,19px);line-height:1.6;color:var(--fg70)}
.pmbp-hero__line{display:block;width:72px;height:1px;margin:36px auto 0;background:var(--beige);transform-origin:50% 50%}

/* ---------- WSTĘP ---------- */
.pmbp-intro{max-width:66ch;margin:64px auto 56px;text-align:center;font-size:clamp(16px,1.7vw,19px);line-height:1.7;color:var(--fg70)}

/* ---------- LOGOTYPY: luźny układ jak dotąd, bez ramek, ostatni rząd wyśrodkowany ---------- */
.pmbp-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(44px,5vw,80px) clamp(24px,3vw,44px);margin:0 auto 110px;max-width:1320px}
.pmbp-item{position:relative;display:block;flex:0 0 calc((100% - (var(--cols,5) - 1) * clamp(24px,3vw,44px)) / var(--cols,5));max-width:300px;text-decoration:none;color:inherit;
  transition:transform var(--t4) var(--e-out)}
.pmbp-item__logo{display:grid;place-items:center;width:100%;aspect-ratio:4/3;padding:6px;overflow:visible;transition:transform var(--t4) var(--e-out)}
.pmbp-item__logo img{display:block;max-width:calc(100% * var(--s,1));max-height:calc(100% * var(--s,1));width:var(--w,auto);height:auto;object-fit:contain;
  filter:grayscale(1) brightness(1.15) contrast(.95);opacity:.68;transition:filter var(--t4) var(--e-out),opacity var(--t4) var(--e-out)}
.pmbp-item.is-invert .pmbp-item__logo img{filter:grayscale(1) invert(1) brightness(1.05)}
.pmbp-item__name{display:block;margin-top:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--fg50);opacity:0;transform:translateY(4px);transition:opacity var(--t2),transform var(--t2) var(--e-out);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pmbp-item.is-light-hover .pmbp-item__logo{border-radius:2px;transition:transform var(--t4) var(--e-out),background var(--t4) var(--e-out)}
@media (hover:hover) and (pointer:fine){
  .pmbp-item:hover{transform:translateY(-6px)}
  .pmbp-item:hover .pmbp-item__logo img{filter:none;opacity:1}
  .pmbp-item:hover .pmbp-item__logo{transform:scale(1.04)}
  .pmbp-item.is-light-hover:hover .pmbp-item__logo{background:#f3eee5}
  .pmbp-item:hover .pmbp-item__name{opacity:1;transform:none}
}
.pmbp-item:focus-visible{outline:1px solid var(--beige);outline-offset:6px}
@media (max-width:1000px){.pmbp-item{flex-basis:calc((100% - 2 * clamp(24px,3vw,40px)) / 3)}}
@media (max-width:600px){
  .pmbp-logos{gap:32px 20px;margin-bottom:56px}
  .pmbp-item{flex-basis:calc((100% - 20px) / 2);max-width:none}
  .pmbp-item__logo img{opacity:.85;filter:none}
  .pmbp-item__name{display:none}
  .pmbp-intro{margin:44px auto 36px}.pmbp-hero{padding:110px 20px 56px;min-height:52vh}.pmbp-hero__line{margin-top:28px}
}

/* ---------- KARUZELA ---------- */
.pmbp-marquee{position:relative;overflow:hidden;padding:12px 0 88px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)}
.pmbp-marquee__track{display:flex;width:max-content;will-change:transform;animation:pmbpMarquee var(--speed,45s) linear infinite}
.pmbp-marquee:hover .pmbp-marquee__track{animation-play-state:paused}
.pmbp-marquee__set{display:flex;flex:none}
.pmbp-marquee .pmbp-item{flex:0 0 clamp(150px,18vw,220px);max-width:none;height:112px;padding:22px 28px}
.pmbp-marquee .pmbp-item__logo{aspect-ratio:auto;height:100%;padding:0}
.pmbp-marquee .pmbp-item__name{display:none}
.pmbp-marquee .pmbp-item__logo img{max-width:calc(100% * var(--s,1));max-height:calc(100% * var(--s,1))}
@media (hover:hover) and (pointer:fine){.pmbp-marquee .pmbp-item:hover{transform:translateY(-4px)}}
@keyframes pmbpMarquee{to{transform:translateX(-50%)}}
@media (max-width:600px){.pmbp-marquee{padding-bottom:60px}.pmbp-marquee .pmbp-item{height:84px;padding:16px 18px}}

/* ---------- ZACHĘTA ---------- */
.pmbp-cta{position:relative;padding:96px 0 120px;isolation:isolate;--mx:50%;--my:40%}
.pmbp-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 320px at var(--mx) var(--my),rgba(233,224,207,.09),transparent 70%);opacity:.7;transition:opacity var(--t4) var(--e-out)}
.pmbp-cta:hover::before{opacity:1}
.pmbp-cta::after{content:"";position:absolute;left:clamp(20px,4vw,48px);right:clamp(20px,4vw,48px);top:0;height:1px;background:var(--fg10)}
.pmbp-cta__in{text-align:center;max-width:760px;position:relative}
.pmbp-cta__line{display:block;width:72px;height:1px;margin:0 auto 40px;background:var(--beige);transform-origin:50% 50%}
.pmbp-cta__title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.6vw,54px);line-height:1.08;color:var(--beige)}
.pmbp-cta__title .pmbp-w i{transition:transform var(--t4) var(--e-out);transition-delay:calc(var(--i,0) * 20ms)}
.pmbp-cta__text{margin:24px auto 38px;max-width:56ch;font-size:clamp(15px,1.6vw,18px);line-height:1.65;color:var(--fg70)}
.pmbp-btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:18px 30px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--ink);background:var(--beige);text-decoration:none;overflow:hidden;isolation:isolate;
  transition:transform var(--t2) var(--e-out),color var(--t2)}
.pmbp-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(101%);transition:transform var(--t4) var(--e-out)}
.pmbp-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t2) var(--e-out)}
.pmbp-btn:hover{transform:translateY(-2px)}
.pmbp-btn:hover::before{transform:translateY(0)}
.pmbp-btn:hover svg{transform:translateX(5px)}
.pmbp-btn:active{transform:translateY(0) scale(.985)}
.pmbp-btn:focus-visible{outline:1px solid var(--beige);outline-offset:4px}
@media (max-width:600px){.pmbp-cta{padding:64px 0 76px}.pmbp-cta__line{margin-bottom:28px}}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .pmbp *{transition:none!important;animation:none!important}
  .pmbp-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .pmbp-marquee__track{width:auto}
  .pmbp-marquee__set[aria-hidden]{display:none}
}
