/* Selected production hero: full-width background film, with accessible playback control. */
.hero.hero-layout {
  /* Przesłony hero (--hero-overlay-*) i tło kontrolki są w tokens.css. */
  isolation:isolate; background:var(--graphite);
}
.hero.hero-layout::after,.hero-layout .stack::before { display:none; }
.hero.hero-layout .hero-layout__inner {
  position:relative; z-index:2; display:grid; align-items:center; gap:clamp(24px,4vw,64px);
  max-width:var(--container); min-height:600px; padding:48px min(var(--s-5),24px); margin-inline:auto;
}
.hero-layout__copy { min-width:0; }
.hero.hero-layout .display { font-size:clamp(2.3rem,3.1vw,3rem); line-height:1.08; text-wrap:balance; }
.hero.hero-layout .lead { font-size:1rem; line-height:1.55; max-width:var(--measure); }
.hero.hero-layout .display em { color:var(--accent-300); }
.hero-layout__media { position:relative; overflow:hidden; min-width:0; background:var(--graphite-2); }
.hero-layout__poster,.hero-layout__video { position:absolute; inset:0; display:block; width:100%; height:100%; }
.hero-layout__poster img,.hero-layout__video { display:block; width:100%; height:100%; object-fit:cover; object-position:55% center; }
.hero-layout__video { opacity:0; }
.hero-layout__video[data-hero-frame] { opacity:1; }
.hero-layout--background > .hero-layout__media { position:absolute; inset:0; z-index:0; }
.hero-layout--background > .hero-layout__media::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,var(--hero-overlay-start) 0%,var(--hero-overlay-copy) 46%,var(--hero-overlay-edge) 70%,var(--hero-overlay-end) 100%);
}
.hero-layout--background .hero-layout__inner { grid-template-columns:minmax(0,1fr); }
.hero-layout--background .hero-layout__copy { max-width:min(760px,66%); }
.hero-layout__toggle {
  display:inline-flex; align-items:center; justify-content:center; align-self:start; justify-self:start;
  min-height:44px; max-width:calc(100% - 32px); padding:10px 16px; border:1px solid var(--slate-d);
  border-radius:var(--r-md); background:var(--scrim-media-strong); color:var(--white);
  font:500 .875rem/1.4 var(--font-body); cursor:pointer; z-index:3;
}
.hero-layout__toggle[hidden] { display:inline-flex; visibility:hidden; pointer-events:none; }
html:not(.js) .hero-layout__toggle[hidden] { display:none; }
.hero-layout__toggle:hover { background:var(--surface-d2); }
.hero-layout__toggle:focus-visible { outline:3px solid var(--accent-300); outline-offset:4px; }
@media(max-width:1000px) {
  .hero.hero-layout .hero-layout__inner { padding:36px 24px; min-height:0; }
  .hero-layout--background .hero-layout__copy { max-width:740px; }
  .hero-layout--background > .hero-layout__media::after { background:var(--hero-overlay-edge); }
}
@media(max-width:600px) {
  .hero.hero-layout .hero-layout__inner { padding:28px min(var(--s-5),24px); gap:28px; }
  /* (0,4,0) w arkuszu ładowanym po site.min.css: wygrywa z .display--service (utilities.css) bez !important. */
  .hero.hero-layout .display,.hero.hero-layout .display.display--service { font-size:clamp(2rem,8.7vw,2.65rem); }
  .hero.hero-layout .lead { font-size:.95rem; line-height:1.5; }
  .hero-layout .hero__cta .btn { width:100%; white-space:normal; text-align:center; justify-content:center; }
}
