:root {
  --color-black: #050505;
  --color-white: #faf8f3;
  --color-ink: #111111;
  --color-paper: #f4f1ea;
  --color-muted: rgba(250, 248, 243, 0.68);
  --color-line: rgba(17, 17, 17, 0.12);
  --color-line-light: rgba(250, 248, 243, 0.16);
  --container: 100%;
  --gutter: 30px;
  --transition: 320ms cubic-bezier(.2,.8,.2,1);
  --font-display: "Manrope", Arial, sans-serif;
  --font-body: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { margin: 0; padding: 0; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

body.theme-dark {
  background: var(--color-black);
  color: var(--color-white);
}
body.theme-light {
  background: #ffffff;
  color: var(--color-ink);
}
body.menu-open { overflow: hidden; }

.container {
  width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.container.narrow { max-width: 960px; }
.container--full { max-width: none; width: 100%; }
.section-spacing { padding: clamp(18px, 2.2vw, 30px) 0; }
.section-spacing--last { padding-bottom: clamp(24px, 1.8vw, 30px); }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  pointer-events: auto;
}
.site-header__inner {
  min-height: 88px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 20px;
  pointer-events: auto;
}
.site-header--front { color: var(--color-white); }
.site-header--inner {
  color: var(--color-ink);
  background: linear-gradient(to bottom, rgba(244, 241, 234, 0.96), rgba(244, 241, 234, 0.78), transparent);
}

.menu-toggle {
  position: fixed;
  top: clamp(20px, 2.2vw, 30px);
  left: clamp(18px, 2.3vw, 34px);
  z-index: 140;
  border: 0;
  background: rgba(5, 5, 5, 0.28);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 10px 12px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  pointer-events: auto;
  justify-self: start;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: inherit;
  border-radius: 2px;
}
body.theme-light .menu-toggle {
  background: rgba(255, 255, 255, 0.72);
}
.menu-toggle__label {
  font-size: 0.65rem;
  line-height: 1;
}
.menu-toggle__icon {
  width: 18px;
  height: 13px;
  position: relative;
  display: inline-block;
}
.menu-toggle__icon span {
  position: absolute;
  left: 0;
  display: block;
  width: 18px;
  height: 1px;
  background: currentColor;
  transition: transform var(--transition), opacity var(--transition), top var(--transition);
}
.menu-toggle__icon span:nth-child(1) { top: 0; }
.menu-toggle__icon span:nth-child(2) { top: 6px; }
.menu-toggle__icon span:nth-child(3) { top: 12px; }
body.menu-open .menu-toggle__icon span:nth-child(1) { top: 6px; transform: rotate(45deg); }
body.menu-open .menu-toggle__icon span:nth-child(2) { opacity: 0; }
body.menu-open .menu-toggle__icon span:nth-child(3) { top: 6px; transform: rotate(-45deg); }
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.primary-nav {
  justify-self: center;
  width: 100%;
  padding-inline: clamp(72px, 12vw, 160px);
}
.primary-nav__list {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(18px, 1.8vw, 34px);
  padding: 0;
  margin: 0;
}
.primary-nav__list a {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.primary-nav__list a:hover { opacity: 0.65; }
.site-header__spacer {
  display: none;
}
.site-title-text {
  font-family: var(--font-display);
  font-size: 2rem;
  letter-spacing: 0.08em;
}


.hero-slider {
  position: relative;
  min-height: 100svh;
  background: #0a0a0a;
  overflow: hidden;
  touch-action: pan-y;
}
.hero-slider__media,
.hero-slider__set,
.hero-slide,
.hero-slide__media-wrap,
.hero-slide__image,
.hero-slide__video,
.hero-slide__overlay {
  position: absolute;
  inset: 0;
}
.hero-slide__link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
}
.hero-slider__set--mobile,
.hero-slider__captions--mobile {
  display: none;
}
.hero-slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1100ms ease, visibility 1100ms ease;
  pointer-events: none;
}
.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.hero-slide__media-wrap {
  overflow: hidden;
}
.hero-slide__image,
.hero-slide__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
}
.hero-slide__image--top,
.hero-slide__video.hero-slide__image--top { object-position: center top; }
.hero-slide__image--bottom,
.hero-slide__video.hero-slide__image--bottom { object-position: center bottom; }
.hero-slide__image--left,
.hero-slide__video.hero-slide__image--left { object-position: left center; }
.hero-slide__image--right,
.hero-slide__video.hero-slide__image--right { object-position: right center; }
.hero-slide__image--center,
.hero-slide__video.hero-slide__image--center { object-position: center center; }
.hero-slide__overlay {
  background: linear-gradient(to bottom, rgba(0,0,0,var(--slide-mask, 0)), rgba(0,0,0,var(--slide-mask, 0)) 100%);
}
.hero-slider__content-layer {
  position: relative;
  z-index: 3;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 120px;
  padding-bottom: clamp(32px, 4vw, 42px);
  pointer-events: none;
}
.hero-slider__copy {
  position: relative;
  width: 100%;
  padding-bottom: clamp(86px, 11vw, 132px);
}
.hero-slider__captions {
  position: relative;
  max-width: min(62vw, 860px);
  min-height: 180px;
}
.hero-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 600ms ease, transform 700ms ease;
  pointer-events: none;
}
.hero-caption.is-active {
  opacity: 1;
  transform: translateY(0);
}
.hero-caption__eyebrow {
  margin: 0 0 12px;
  font-size: .72rem;
  line-height: 1.2;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: rgba(250,248,243,.72);
}
.hero-caption__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.2rem, 5.3vw, 4.7rem);
  line-height: .98;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-slider__bottom {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 18px;
  width: 100%;
  pointer-events: auto;
}
.hero-slider__pagination {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-slider__pagination button {
  position: relative;
  flex: 1 1 0;
  min-width: 32px;
  max-width: 88px;
  height: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.hero-slider__pagination button::before,
.hero-slider__pagination button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  transform: translateY(-50%);
}
.hero-slider__pagination button::before {
  background: rgba(250,248,243,.26);
}
.hero-slider__pagination button::after {
  background: rgba(250,248,243,.92);
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  transition: transform 320ms ease;
}
.hero-slider__pagination button.is-active::after,
.hero-slider__pagination button:hover::after {
  transform: translateY(-50%) scaleX(1);
}
.hero-slider__control {
  position: relative;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: var(--color-white);
  cursor: pointer;
}
.hero-slider__control span,
.hero-slider__control::before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  background: currentColor;
}
.hero-slider__control span {
  width: 22px;
  height: 1px;
  transform: translate(-50%, -50%);
}
.hero-slider__control::before {
  width: 8px;
  height: 1px;
}
.hero-slider__control--prev::before {
  transform: translate(-11px, -50%) rotate(-45deg);
  transform-origin: left center;
  box-shadow: 0 6px 0 currentColor;
}
.hero-slider__control--next::before {
  transform: translate(3px, -50%) rotate(45deg);
  transform-origin: right center;
  box-shadow: 0 -6px 0 currentColor;
}
.hero-slide--placeholder {
  opacity: 1;
  visibility: visible;
  background: radial-gradient(circle at top left, #242424, #090909 65%);
}
.button-outline {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(250,248,243,.5);
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.button-outline:hover {
  background: var(--color-white);
  color: var(--color-black);
  border-color: var(--color-white);
}
.feature-grid {
  width: 100%;
}
.feature-grid__heading {
  margin: 0 0 58px;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 2.65vw, 2.375rem);
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 781px) {
  .feature-grid--vertical.section-spacing {
    padding-top: 20px;
  }
}
.tile-grid {
  display: grid;
  gap: clamp(12px, 1vw, 18px);
}
.tile-grid--horizontal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tile-grid--vertical {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: clamp(26px, 2vw, 34px);
}
.tile-card {
  position: relative;
  display: block;
  overflow: hidden;
  background: #121212;
}
.tile-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(to top, rgba(0,0,0,.44), rgba(0,0,0,.1) 48%, rgba(0,0,0,.04) 100%);
  opacity: .32;
  transition: opacity var(--transition), background var(--transition);
}
.tile-card__media,
.tile-card__image,
.tile-card__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.tile-card__placeholder {
  display: grid;
  place-items: center;
  background: #111;
}
.tile-card__placeholder-logo {
  display: block;
  width: min(84px, 32%);
  height: auto;
  opacity: .18;
}
.tile-card__image {
  object-fit: cover;
  filter: none;
  transform: none;
  transition: filter var(--transition);
}
body.home .front-page-main .tile-card__image {
  filter: grayscale(100%);
}
body.home .front-page-main .tile-card:hover .tile-card__image,
body.home .front-page-main .tile-card:focus-visible .tile-card__image {
  filter: grayscale(0%);
}
.tile-card__heading {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 10px;
  color: currentColor;
}
.tile-card__title {
  font-family: var(--font-display);
  font-size: 0.84rem;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.tile-card__subtitle {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  opacity: .78;
}
body.home .tile-card--vertical .tile-card__subtitle {
  color: rgba(250, 248, 243, .58);
  opacity: 1;
}
.tile-card--vertical {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  background: transparent;
}
.tile-card--vertical::before {
  inset: auto 0 0 0;
  height: 100%;
}
.tile-card--horizontal .tile-card__heading,
.tile-card--horizontal .tile-card__title,
.tile-card--horizontal .tile-card__subtitle,
.tile-card--horizontal .tile-card__content {
  display: none;
}
.tile-card--vertical .tile-card__media {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
}
.tile-card:hover::before,
.tile-card:focus-visible::before {
  opacity: .72;
}
.tile-card--placeholder {
  min-height: 200px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(250,248,243,.12);
  color: rgba(250,248,243,.6);
}
body.theme-light .tile-card--placeholder {
  border-color: rgba(17,17,17,.12);
  color: rgba(17,17,17,.52);
  background: #dfdbd1;
}
.ratio-horizontal { aspect-ratio: 918 / 606; }
.ratio-vertical { aspect-ratio: 454 / 680; }
.tile-card--vertical.ratio-vertical .tile-card__media {
  aspect-ratio: 454 / 680;
}
.tile-card--vertical.ratio-horizontal .tile-card__media {
  aspect-ratio: 918 / 606;
}
.people-slider {
  --people-slider-gap: clamp(12px, 1vw, 18px);
  --people-slider-visible: 5;
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--color-white);
}
.people-slider__header {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  gap: 18px;
  padding: 0 18px clamp(56px, calc(3vw + 30px), 72px);
}
.people-slider__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(0.95rem, 1.15vw, 1.25rem);
  line-height: 1;
  font-weight: 500;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}
.tp-project-sliders .people-slider__title,
.people-slider--projects .people-slider__title {
  font-size: clamp(1.7rem, 2.65vw, 2.375rem);
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: uppercase;
}
.people-slider__arrow {
  position: relative;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.72);
  cursor: pointer;
  transition: color var(--transition), opacity var(--transition);
}
.people-slider__arrow:hover,
.people-slider__arrow:focus-visible {
  color: var(--color-white);
}
.people-slider__arrow[disabled] {
  opacity: .28;
  cursor: default;
}
.people-slider__arrow span,
.people-slider__arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  background: currentColor;
}
.people-slider__arrow span {
  width: 22px;
  height: 1px;
  transform: translate(-50%, -50%);
}
.people-slider__arrow::before {
  content: "";
  width: 8px;
  height: 1px;
}
.people-slider__arrow--prev::before {
  transform: translate(-11px, -50%) rotate(-45deg);
  transform-origin: left center;
  box-shadow: 0 6px 0 currentColor;
}
.people-slider__arrow--next::before {
  transform: translate(3px, -50%) rotate(45deg);
  transform-origin: right center;
  box-shadow: 0 -6px 0 currentColor;
}
.people-slider__viewport {
  overflow: hidden;
  padding: 0 18px;
  touch-action: pan-y;
}
.people-slider__track {
  display: flex;
  gap: var(--people-slider-gap);
  transform: translateX(0);
  transition: transform 1100ms cubic-bezier(.19,1,.22,1);
  will-change: transform;
}
.people-slider__item {
  flex: 0 0 calc((100% - (var(--people-slider-gap) * (var(--people-slider-visible) - 1))) / var(--people-slider-visible));
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.people-slider__caption {
  display: block;
  min-height: 1em;
  margin: 0 0 clamp(16px, 1.45vw, 24px);
  font-size: 0.7rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .12em;
  text-align: left;
  text-transform: uppercase;
}
.people-slider__media {
  position: relative;
  display: block;
  aspect-ratio: 454 / 680;
  overflow: hidden;
  background: #111;
}
.people-slider--projects .people-slider__media {
  aspect-ratio: 918 / 606;
}
.people-slider--projects .people-slider__item {
  align-self: start;
}
.people-slider__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #000;
  opacity: .32;
  transition: opacity var(--transition);
}
.people-slider__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter var(--transition);
}
.people-slider__item:hover .people-slider__image,
.people-slider__item:focus-visible .people-slider__image {
  filter: grayscale(0%);
}
.people-slider__item:hover .people-slider__media::before,
.people-slider__item:focus-visible .people-slider__media::before {
  opacity: .18;
}
.people-slider__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 18px auto 0;
  padding: 0 18px;
  max-width: min(1100px, 74vw);
}
.people-slider__pagination button {
  flex: 1 1 24px;
  max-width: 42px;
  height: 2px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.22);
  cursor: pointer;
  transition: background var(--transition), opacity var(--transition);
}
.people-slider__pagination button.is-active,
.people-slider__pagination button:hover,
.people-slider__pagination button:focus-visible {
  background: rgba(255,255,255,.92);
}
.theme-light .tp-project-sliders .people-slider {
  color: var(--color-ink);
}
.theme-light .tp-project-sliders .people-slider__arrow {
  color: rgba(17,17,17,.68);
}
.theme-light .tp-project-sliders .people-slider__arrow:hover,
.theme-light .tp-project-sliders .people-slider__arrow:focus-visible {
  color: var(--color-ink);
}
.theme-light .tp-project-sliders .people-slider__pagination button {
  background: rgba(17,17,17,.18);
}
.theme-light .tp-project-sliders .people-slider__pagination button.is-active,
.theme-light .tp-project-sliders .people-slider__pagination button:hover,
.theme-light .tp-project-sliders .people-slider__pagination button:focus-visible {
  background: rgba(17,17,17,.82);
}

.site-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  pointer-events: none;
}
.site-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.42);
  opacity: 0;
  transition: opacity var(--transition);
}
.site-drawer__panel {
  display: flex;
  flex-direction: column;
  position: absolute;
  inset: 0 auto 0 0;
  width: min(420px, 88vw);
  padding: 28px clamp(24px, 3vw, 42px);
  background: rgba(8, 8, 8, 0.985);
  color: var(--color-white);
  transform: translateX(-102%);
  transition: transform 520ms cubic-bezier(.19,1,.22,1);
  border-right: 1px solid rgba(250,248,243,.12);
}
.site-drawer.is-open {
  pointer-events: auto;
}
.site-drawer.is-open .site-drawer__overlay {
  opacity: 1;
}
.site-drawer.is-open .site-drawer__panel {
  transform: translateX(0);
}
.site-drawer__close {
  flex-shrink: 0;
  align-self: flex-start;
  margin-left: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 0.68rem;
}
.site-drawer__close-icon {
  width: 14px;
  height: 14px;
  position: relative;
  display: inline-block;
}
.site-drawer__close-icon::before,
.site-drawer__close-icon::after {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 14px;
  height: 1px;
  background: currentColor;
}
.site-drawer__close-icon::before { transform: rotate(45deg); }
.site-drawer__close-icon::after { transform: rotate(-45deg); }
.site-drawer__content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  align-content: start;
  display: grid;
  gap: 28px;
  padding-top: 22px;
}
.site-drawer__footer {
  flex-shrink: 0;
  margin-top: 24px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
.site-drawer__brand {
  display: none;
}
.drawer-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.drawer-nav__list a {
  display: inline-block;
  padding: 6px 0;
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.drawer-secondary-nav {
  margin-top: 22px;
}
.drawer-secondary-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.drawer-secondary-nav__list a,
.site-drawer__privacy {
  display: inline-block;
  padding: 5px 0;
  font-family: var(--font-body);
  font-size: max(0.7rem, calc(clamp(0.95rem, 1.6vw, 1.05rem) - 4px));
  line-height: 1.35;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: inherit;
  opacity: .72;
  transition: opacity var(--transition);
}
.drawer-secondary-nav__list a:hover,
.drawer-secondary-nav__list a:focus-visible,
.site-drawer__privacy:hover,
.site-drawer__privacy:focus-visible {
  opacity: 1;
}
.site-drawer__meta {
  display: grid;
  gap: 6px;
  font-size: .95rem;
  color: rgba(250,248,243,.72);
}

.page-shell {
  padding: 140px 0 80px;
  min-height: 100svh;
}
.page-title {
  margin: 0 0 24px;
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 5.2vw, 4rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.default-content {
  border-top: 1px solid var(--color-line);
  padding-top: 22px;
}
.default-content p,
.default-content li {
  font-size: 1.05rem;
}
.default-content a { text-decoration: underline; text-underline-offset: 0.15em; }

.site-footer {
  border-top: 1px solid transparent;
  margin-top: clamp(24px, 1.8vw, 30px);
}
.site-footer__inner {
  display: grid;
  gap: clamp(34px, 3.8vw, 52px);
  padding-top: clamp(22px, 2vw, 30px);
  padding-bottom: clamp(36px, 3.8vw, 52px);
}
.site-footer__top,
.site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(76px, 104px) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(32px, 5.2vw, 78px);
}
.site-footer--dark {
  background: var(--color-black);
  color: var(--color-white);
  border-top-color: var(--color-line-light);
}
.site-footer--light {
  background: #fff;
  color: var(--color-ink);
  border-top-color: var(--color-line);
}
.site-footer__col--center {
  justify-self: center;
  text-align: center;
  position: relative;
}
.site-footer__col--right {
  justify-self: end;
  text-align: right;
}
.footer-nav {
  justify-self: start;
  grid-column: 3;
  margin-left: clamp(20px, 2vw, 32px);
}
.footer-nav__list,
.footer-socials {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.7vw, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .7rem;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.footer-socials {
  justify-self: end;
  margin-right: clamp(92px, 11vw, 180px);
}
.footer-nav__list a,
.footer-socials a {
  opacity: .78;
  transition: opacity var(--transition);
}
.footer-nav__list a:hover,
.footer-nav__list a:focus-visible,
.footer-socials a:hover,
.footer-socials a:focus-visible {
  opacity: 1;
}
.footer-company {
  display: block;
  max-width: 520px;
  text-align: left;
  text-decoration: none;
  transition: opacity var(--transition);
}
.footer-company:hover,
.footer-company:focus-visible {
  opacity: .72;
}
.footer-company__name {
  margin: 0 0 3px;
  font-size: clamp(1.42rem, 1.72vw, 1.72rem);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: 0;
  opacity: .55;
}
.footer-company__address {
  font-size: clamp(.86rem, 1.02vw, 1rem);
  line-height: 1.22;
  color: currentColor;
  opacity: .55;
}
.footer-company__meta {
  margin-top: 3px;
  font-size: clamp(.62rem, .72vw, .72rem);
  line-height: 1.2;
  opacity: .48;
}
.footer-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
}
.footer-action-button {
  min-width: 0;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 18px;
  border: 0;
  background: rgba(10,10,10,.84);
  color: #fff;
  cursor: pointer;
  font-size: .68rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.footer-action-button:not(.footer-action-button--video) {
  font-size: calc(.68rem + 2px);
}
.site-footer--dark .footer-action-button {
  background: var(--color-white);
  color: var(--color-black);
}
.site-footer--dark .footer-action-button:not(.footer-action-button--video) {
  color: var(--color-black);
}
.footer-action-button__icon {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
}
.footer-action-button__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
}

@media (max-width: 1080px) {
  .primary-nav {
    padding-inline: clamp(72px, 10vw, 120px);
  }
  .primary-nav__list {
    gap: 14px;
  }
  .tile-grid--vertical {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .people-slider {
    --people-slider-visible: 3;
  }
}

@media (max-width: 780px) {
  .site-header__inner {
    grid-template-columns: 1fr;
    justify-items: start;
    min-height: 76px;
  }
  .menu-toggle {
    top: 16px;
    left: 16px;
    padding: 9px 10px;
  }
  .primary-nav {
    display: none;
  }
  .site-header__spacer {
    display: none;
  }
  .hero-slider__set--desktop,
  .hero-slider__captions--desktop {
    display: none;
  }
  .hero-slider__set--mobile,
  .hero-slider__captions--mobile {
    display: block;
  }
  .hero-slider__content-layer {
    padding-top: 100px;
    padding-bottom: 24px;
  }
  .hero-slider__copy {
    padding-bottom: 64px;
  }
  .hero-slider__captions {
    max-width: 100%;
    min-height: 148px;
  }
  .hero-caption__eyebrow {
    margin-bottom: 10px;
    font-size: .65rem;
    letter-spacing: .26em;
  }
  .hero-caption__title {
    font-size: clamp(1.8rem, 10vw, 3rem);
  }
  .hero-slider__bottom {
    grid-template-columns: 38px minmax(0, min(58vw, 320px)) 38px;
    justify-content: center;
    gap: 10px;
  }
  .hero-slider__pagination {
    justify-content: center;
    gap: 7px;
  }
  .tile-grid--horizontal {
    grid-template-columns: 1fr;
  }
  .tile-grid--vertical {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-footer__top,
  .site-footer__main {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .site-footer__inner {
    gap: 28px;
    padding-top: 24px;
    padding-bottom: 34px;
  }
  .footer-nav {
    grid-column: auto;
    justify-self: start;
    margin-left: 0;
  }
  .footer-nav__list,
  .footer-socials {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .footer-socials {
    margin-right: 0;
  }
  .site-footer__col--center,
  .site-footer__col--right {
    justify-self: start;
    text-align: left;
  }
  .footer-actions {
    align-items: flex-start;
    gap: 12px;
  }
  .footer-company__name {
    font-size: 1.5rem;
  }
  .footer-company__address {
    font-size: .95rem;
  }
  .footer-company__meta {
    font-size: .68rem;
  }
  .footer-logo {
    width: 76px;
  }
  .footer-action-button {
    padding: 12px 16px;
    font-size: .62rem;
    line-height: 1.45;
  }
  .footer-action-button:not(.footer-action-button--video) {
    font-size: calc(.62rem + 2px);
  }
  .ratio-horizontal {
    aspect-ratio: 918 / 606;
  }
  .people-slider {
    --people-slider-visible: 2.15;
  }
  .people-slider__header {
    grid-template-columns: 38px 1fr 38px;
    padding-inline: 10px;
  }
  .people-slider__viewport {
    padding: 0 10px;
  }
  .people-slider__caption {
    text-align: left;
  }
}


@media (max-width: 520px) {
  .hero-slider__content-layer {
    padding-top: 86px;
  }
  .hero-slider__copy {
    padding-bottom: 48px;
  }
  .hero-caption__title {
    letter-spacing: .05em;
  }
  .tile-grid {
    gap: 10px;
  }
  .tile-grid--vertical {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tile-card--vertical {
    gap: 8px;
  }
  .tile-card__title {
    font-size: 0.72rem;
  }
  .tile-card__subtitle {
    font-size: 0.58rem;
  }
  .people-slider {
    --people-slider-visible: 2.05;
  }
  .site-drawer__panel {
    width: 66.6667vw;
    padding: 22px 20px;
  }
}


.footer-logo-link {
  display: inline-block;
}
.footer-logo { width: 92px; max-width: 100%; height: auto; }
.footer-cookie-settings {
  position: absolute;
  left: calc(100% + 30px);
  top: 50%;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
  display: none;
}
.footer-cookie-settings img {
  width: 36px;
  height: 36px;
  display: block;
}
.site-footer--dark .footer-cookie-settings img {
  filter: invert(1);
}
#cmplz-manage-consent .cmplz-manage-consent {
  display: none !important;
}

@media (max-width: 780px) {
  body.home .front-page-main .hero-slider__content-layer {
    z-index: 75;
  }
  body.home .front-page-main .video-popup-trigger {
    position: fixed;
    top: 16px;
    right: 16px;
    bottom: auto;
    z-index: 70;
  }
  .footer-socials {
    justify-self: start;
    text-align: left;
  }
  .site-footer__inner {
    gap: 28px;
    padding-top: 24px;
    padding-bottom: 34px;
  }
  .footer-company__name {
    font-size: 1.5rem;
  }
  .footer-company__address {
    font-size: .95rem;
  }
  .footer-company__meta {
    font-size: .68rem;
  }
  .footer-logo {
    width: 76px;
  }
  .footer-action-button {
    padding: 12px 16px;
    font-size: .62rem;
    line-height: 1.45;
  }
  .footer-action-button:not(.footer-action-button--video) {
    font-size: calc(.62rem + 2px);
  }
}
.default-wysiwyg p:first-child { margin-top: 0; }
.default-wysiwyg p:last-child { margin-bottom: 0; }


body.page-template-template-oferta.theme-light {
  background: #ffffff;
  color: var(--color-ink);
}
body.page-template-template-oferta .site-header--inner {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
body.page-template-template-oferta .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.page-template-template-oferta.offer-header-docking .site-header {
  transition: none;
}
body.page-template-template-oferta .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.page-template-template-oferta .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.page-template-template-oferta .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}

body.page-template-template-oferta.offer-header-visible .site-header {
  transform: translateY(0);
}
body.page-template-template-oferta .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.88);
  margin-left:30px;
}

.offer-page-main {
  padding: 0;
  min-height: 100svh;
}
.offer-hero {
  position: relative;
  min-height: 100svh;
  background: #0b0b0b;
  overflow: clip;
}
.offer-hero::after {
  content: "";
  display: block;
  min-height: 100svh;
}
.offer-hero__media {
  position: fixed;
  inset: 0 0 auto 0;
  height: 100svh;
  z-index: 0;
}
body.page-template-template-oferta.offer-hero-passed .offer-hero__media {
  visibility: hidden;
}
.offer-hero__set,
.offer-hero__image,
.offer-hero__video,
.offer-hero__placeholder {
  position: absolute;
  inset: 0;
}
.offer-hero__set--mobile { display: none; }
.offer-hero__image,
.offer-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offer-hero__placeholder {
  background: #f2f2f2;
}
.offer-header-bar {
  position: relative;
  z-index: 4;
  background: #ffffff;
  border-bottom: 1px solid rgba(17,17,17,.08);
}
.offer-header-bar__inner {
  position: relative;
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.offer-header-bar .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
.menu-toggle--offer-local {
  position: absolute;
  top: 50%;
  left: var(--gutter);
  transform: translateY(-50%);
  color: var(--color-ink);
  background: rgba(255,255,255,.92);
}
.offer-content {
  position: relative;
  z-index: 2;
  padding-top: clamp(28px, 4vw, 56px);
  background: #fff;
}
body.page-template-template-oferta .site-footer {
  position: relative;
  z-index: 3;
  background: #fff;
}

.offer-intro .container.narrow {
  max-width: 860px;
}
.offer-intro__content {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.85;
}
.offer-intro__content h2,
.offer-intro__content h3,
.offer-intro__content h4 {
  margin: 0 0 18px;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.offer-duo__grid,
.offer-trio__grid {
  display: grid;
  gap: clamp(12px, 1vw, 18px);
}
.offer-duo__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.offer-trio__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: clamp(24px, 2vw, 34px);
}
.ratio-offer-wide { aspect-ratio: 908 / 1361; }
.ratio-offer-tall { aspect-ratio: 595 / 892; }
.tile-card--offer-wide,
.tile-card--offer-tall {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  background: transparent;
}
.tile-card--offer-wide::before,
.tile-card--offer-tall::before {
  inset: auto 0 0 0;
  height: 100%;
  opacity: .4;
}
.tile-card--offer-wide .tile-card__media,
.tile-card--offer-tall .tile-card__media {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
}
.tile-card--offer-wide .tile-card__media { aspect-ratio: 908 / 1361; }
.tile-card--offer-tall .tile-card__media { aspect-ratio: 595 / 892; }
.tile-card--offer-wide .tile-card__title,
.tile-card--offer-tall .tile-card__title {
  font-size: 0.88rem;
}
.tile-card--offer-wide .tile-card__subtitle,
.tile-card--offer-tall .tile-card__subtitle {
  font-size: 0.7rem;
  opacity: .76;
}

@media (max-width: 1080px) {
  .offer-trio__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .offer-hero__media {
    position: absolute;
    inset: 0;
    height: auto;
  }
  .offer-hero__set--desktop { display: none; }
  .offer-hero__set--mobile { display: block; }
  .offer-header-bar__inner {
    min-height: 82px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .offer-duo__grid,
  .offer-trio__grid {
    grid-template-columns: 1fr;
  }
  .tile-card--offer-wide,
  .tile-card--offer-tall {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    aspect-ratio: auto;
  }
  .tile-card--offer-wide .tile-card__heading,
  .tile-card--offer-tall .tile-card__heading {
    width: 100%;
    min-width: 0;
  }
  .tile-card--offer-wide .tile-card__title,
  .tile-card--offer-wide .tile-card__subtitle,
  .tile-card--offer-tall .tile-card__title,
  .tile-card--offer-tall .tile-card__subtitle {
    overflow-wrap: anywhere;
  }
  .tile-card--offer-wide .tile-card__media {
    aspect-ratio: 908 / 1361;
  }
  .tile-card--offer-tall .tile-card__media {
    aspect-ratio: 595 / 892;
  }
}



.video-popup-trigger {
  position: fixed;
  right: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  z-index: 55;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  padding: 14px 18px;
  background: rgba(10,10,10,.84);
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  pointer-events: auto;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .68rem;
}
body.home .front-page-main .video-popup-trigger {
  position: absolute;
  right: var(--gutter);
  bottom: clamp(88px, 7vw, 112px);
}
.video-popup-trigger__icon {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
}
.video-popup-trigger__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
}
.video-popup {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 3vw, 40px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition);
}
.video-popup.is-open {
  opacity: 1;
  visibility: visible;
}
.video-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.86);
}
.video-popup__dialog {
  position: relative;
  z-index: 2;
  width: min(1120px, 100%);
}
@media (min-width: 781px) {
  .video-popup__dialog {
    width: min(var(--tp-video-popup-desktop-width, 1120px), 100%);
  }
}
.video-popup__close {
  position: absolute;
  top: -18px;
  right: 0;
  transform: translateY(-100%);
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}
.video-popup__frame-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: #000;
}

.video-popup__frame,
.video-popup__native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: none;
}
.video-popup__frame.is-active,
.video-popup__native.is-active {
  display: block;
}
body.video-popup-open {
  overflow: hidden;
}

@media (max-width: 780px) {
  .offer-header-bar .primary-nav {
    padding-inline: 56px 0;
  }
  .offer-header-bar .primary-nav__list {
    justify-content: flex-end;
    gap: 14px;
  }
  .menu-toggle--offer-local {
    left: 0;
    padding: 10px;
  }
  body.page-template-template-oferta .site-header .menu-toggle {
    left: var(--gutter);
  }
  .video-popup-trigger {
    right: 12px;
    bottom: 12px;
    padding: 12px 14px;
  }
  body.home .front-page-main .video-popup-trigger {
    position: fixed;
    top: 16px;
    right: 16px;
    bottom: auto;
    z-index: 70;
  }
}

body.page-template-template-jasny-dwie-kolumny {
  background: #ffffff;
  color: var(--color-ink);
}
body.page-template-template-jasny-dwie-kolumny .site-header--inner {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
body.page-template-template-jasny-dwie-kolumny .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.page-template-template-jasny-dwie-kolumny.offer-header-docking .site-header {
  transition: none;
}
body.page-template-template-jasny-dwie-kolumny.offer-header-visible .site-header {
  transform: translateY(0);
}
body.page-template-template-jasny-dwie-kolumny .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.page-template-template-jasny-dwie-kolumny .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.page-template-template-jasny-dwie-kolumny .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
body.page-template-template-jasny-dwie-kolumny .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.88);
  margin-left: 30px;
}

body.error404 {
  background: #ffffff;
  color: var(--color-ink);
}
body.error404 .site-header--inner {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
body.error404 .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.error404.offer-header-docking .site-header {
  transition: none;
}
body.error404.offer-header-visible .site-header {
  transform: translateY(0);
}
body.error404 .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.error404 .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.error404 .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
body.error404 .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.88);
  margin-left: 30px;
}

.tp-error-404-page {
  min-height: 100vh;
  background: #ffffff;
}
.tp-error-404-nav {
  margin-top: 0;
}
.tp-error-404 {
  min-height: clamp(460px, 66vh, 720px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(70px, 9vw, 140px) 30px;
  text-align: center;
}
.tp-error-404__inner {
  width: min(760px, 100%);
}
.tp-error-404__code {
  margin: 0 0 22px;
  font-family: var(--font-display);
  font-size: clamp(3.75rem, 8vw, 7.5rem);
  font-weight: 300;
  line-height: 1;
}
.tp-error-404__title {
  margin: 0 0 22px;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.2vw, 2rem);
  font-weight: 300;
  line-height: 1.45;
}
.tp-error-404__text {
  width: min(560px, 100%);
  margin: 0 auto 34px;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.85;
}
.tp-error-404__link {
  display: inline-block;
  color: var(--color-ink);
  font-size: 0.875rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.page-template-template-ciemny-galeria-trzy-kolumny {
  background: #111111;
  color: var(--color-white);
}
body.page-template-template-ciemny-jedna-kolumna {
  background: #111111;
  color: var(--color-white);
}
body.tp-lightbox-open {
  overflow: hidden;
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-header--inner {
  color: var(--color-white);
  background: rgba(5, 5, 5, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
body.page-template-template-ciemny-jedna-kolumna .site-header--inner {
  color: var(--color-white);
  background: rgba(5, 5, 5, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.page-template-template-ciemny-jedna-kolumna .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.page-template-template-ciemny-galeria-trzy-kolumny.offer-header-docking .site-header {
  transition: none;
}
body.page-template-template-ciemny-jedna-kolumna.offer-header-docking .site-header {
  transition: none;
}
body.page-template-template-ciemny-galeria-trzy-kolumny.offer-header-visible .site-header {
  transform: translateY(0);
}
body.page-template-template-ciemny-jedna-kolumna.offer-header-visible .site-header {
  transform: translateY(0);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.page-template-template-ciemny-jedna-kolumna .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  margin-left: 30px;
  color: var(--color-white);
  background: transparent;
}
body.page-template-template-ciemny-jedna-kolumna .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  margin-left: 30px;
  color: var(--color-white);
  background: transparent;
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
body.page-template-template-ciemny-jedna-kolumna .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-footer--dark {
  background: #050505;
}
body.page-template-template-ciemny-jedna-kolumna .site-footer--dark {
  background: #050505;
}
.tp-dark-gallery-page {
  min-height: 100vh;
  background: #050505;
}
.tp-dark-gallery-nav {
  margin-top: 0;
  color: var(--color-white);
  background: rgba(5, 5, 5, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.14);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .tp-dark-gallery-nav .menu-toggle {
  color: var(--color-white);
  background: transparent;
  margin-left: 30px;
}
body.page-template-template-ciemny-jedna-kolumna .tp-dark-gallery-nav .menu-toggle {
  color: var(--color-white);
  background: transparent;
  margin-left: 30px;
}
body.page-template-template-ciemny-galeria-trzy-kolumny.menu-open .menu-toggle,
body.page-template-template-ciemny-galeria-trzy-kolumny.menu-open .tp-dark-gallery-nav .menu-toggle,
body.page-template-template-ciemny-galeria-trzy-kolumny.menu-open .site-header .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.page-template-template-ciemny-jedna-kolumna.menu-open .menu-toggle,
body.page-template-template-ciemny-jedna-kolumna.menu-open .tp-dark-gallery-nav .menu-toggle,
body.page-template-template-ciemny-jedna-kolumna.menu-open .site-header .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-drawer__panel {
  background: #ffffff;
  color: var(--color-ink);
  border-right-color: rgba(17, 17, 17, 0.12);
}
body.page-template-template-ciemny-jedna-kolumna .site-drawer__panel {
  background: #ffffff;
  color: var(--color-ink);
  border-right-color: rgba(17, 17, 17, 0.12);
}
body.page-template-template-ciemny-galeria-trzy-kolumny .site-drawer__meta {
  color: rgba(17, 17, 17, 0.72);
}
body.page-template-template-ciemny-jedna-kolumna .site-drawer__meta {
  color: rgba(17, 17, 17, 0.72);
}
.tp-dark-gallery-nav .primary-nav a {
  color: var(--color-white);
}
.tp-dark-gallery {
  width: min(1220px, calc(100% - 60px));
  margin: 0 auto;
  padding-bottom: clamp(24px, 1.8vw, 30px);
}
.tp-dark-gallery__header {
  display: flex;
  justify-content: center;
  padding: 30px 0 60px;
  text-align: center;
}
.tp-dark-gallery__title {
  max-width: 980px;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.1vw, 1.875rem);
  font-weight: 300;
  line-height: 1.35;
}
.tp-dark-gallery__headline-image {
  width: min(320px, 70vw);
  height: auto;
  display: block;
}
.tp-dark-gallery__video-wrap {
  width: 100%;
  aspect-ratio: 1220 / 686;
  margin: 0 auto 108px;
  background: #111;
  overflow: hidden;
}
.tp-dark-gallery__video,
.tp-dark-gallery__video-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}
.tp-dark-gallery__section {
  margin: 0 0 30px;
}
.tp-dark-gallery__section:last-child {
  margin-bottom: 0;
}
.tp-dark-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
.tp-dark-gallery__item,
.tp-dark-gallery__full {
  margin: 0;
}
.tp-dark-gallery__lightbox-trigger {
  position: relative;
  width: 100%;
  aspect-ratio: 773 / 1031;
  display: block;
  padding: 0;
  border: 0;
  color: inherit;
  background: #141414;
  cursor: pointer;
  overflow: hidden;
}
.tp-dark-gallery__lightbox-trigger::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.34);
  opacity: 0;
  transition: opacity 220ms ease;
}
.tp-dark-gallery__lightbox-trigger:hover::after,
.tp-dark-gallery__lightbox-trigger:focus-visible::after {
  opacity: 1;
}
.tp-dark-gallery__image,
.tp-dark-gallery__full-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.tp-dark-gallery__image {
  transition: transform 360ms ease, filter 260ms ease;
}
.tp-dark-gallery__lightbox-trigger:hover .tp-dark-gallery__image,
.tp-dark-gallery__lightbox-trigger:focus-visible .tp-dark-gallery__image {
  transform: scale(1.035);
  filter: grayscale(100%);
}
.tp-dark-gallery__full {
  width: 100%;
  aspect-ratio: 2442 / 1628;
  margin: 30px 0;
  background: #141414;
  overflow: hidden;
}
.tp-dark-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 34px;
  background: rgba(0, 0, 0, 0.92);
}
.tp-dark-lightbox.is-open {
  display: flex;
}
.tp-dark-lightbox__image {
  max-width: min(92vw, 1220px);
  max-height: 88vh;
  display: block;
  object-fit: contain;
}
.tp-dark-lightbox__close {
  position: fixed;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border: 0;
  color: var(--color-white);
  background: transparent;
  cursor: pointer;
}
.tp-dark-lightbox__close::before,
.tp-dark-lightbox__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.tp-dark-lightbox__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.tp-dark-lightbox__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.tp-dark-single-page {
  min-height: 100vh;
  background: #050505;
}
.tp-dark-single {
  width: min(867px, calc(100% - 60px));
  margin: 0 auto;
  padding-bottom: clamp(24px, 1.8vw, 30px);
}
.tp-dark-single__intro {
  display: grid;
  justify-items: center;
  padding: 290px 0 276px;
  text-align: center;
}
.tp-dark-single__intro-media {
  width: min(233px, 54vw);
  margin: 0 0 0;
}
.tp-dark-single__title {
  max-width: 980px;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.1vw, 1.875rem);
  font-weight: 300;
  line-height: 1.35;
  text-align: center;
}
.tp-dark-single__intro-image {
  width: 100%;
  height: auto;
  display: block;
}
.tp-dark-single__intro-copy {
  width: min(760px, 100%);
  margin-top: 0;
}
.tp-dark-single__intro-media + .tp-dark-single__intro-copy {
  margin-top: 0;
}
.tp-dark-single__lead p,
.tp-dark-single__secondary p,
.tp-dark-single__caption p {
  margin: 0;
}
.tp-dark-single__lead {
  margin-top: 0;
  font-size: clamp(1.12rem, 1.45vw, 1.25rem);
  line-height: 2.5;
}
.tp-dark-single__lead + .tp-dark-single__secondary {
  margin-top: 0;
}
.tp-dark-single__secondary,
.tp-dark-single__caption {
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.85;
}
.tp-dark-single__sequence {
  display: grid;
}
.tp-dark-single__item {
  margin: 0;
}
.tp-dark-single__image {
  width: 100%;
  height: auto;
  display: block;
}
.tp-dark-single__image-link,
.tp-news-detail__gallery-image-link {
  display: block;
}
.tp-dark-single__caption {
  margin-top: 20px;
  text-align: center;
}
.tp-dark-single__item--gap-normalny {
  margin-bottom: 90px;
}
.tp-dark-single__item--gap-sredni {
  margin-bottom: 316px;
}
.tp-dark-single__item--gap-duzy {
  margin-bottom: 406px;
}
.tp-dark-single__item:last-child {
  margin-bottom: 0;
}

.tp-news-detail-page {
  padding: 0;
  background: #ffffff;
}
.tp-news-detail-nav {
  margin-top: 0;
}
.tp-news-detail {
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(30px, 3vw, 42px) 90px clamp(24px, 1.8vw, 30px);
}
.tp-news-detail__date {
  display: inline-block;
  padding: 7px 20px;
  background: #000;
  color: #fff;
  font-size: 0.625rem;
  line-height: 1.35;
  letter-spacing: 0.04em;
}
.tp-news-detail__author {
  display: inline-block;
  padding: 7px 20px;
  background: #000;
  color: #fff;
  font-size: 0.625rem;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-decoration: none;
}
.tp-news-detail__author:hover,
.tp-news-detail__author:focus-visible {
  color: #fff;
  text-decoration: none;
}
.tp-news-detail__date--mobile {
  display: none;
}
.tp-news-detail__author--mobile {
  display: none;
}
.tp-news-detail__title {
  margin: 0 16%;
  padding: 0 0 35px;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.1vw, 1.875rem);
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
}
.tp-project-subtitle {
  max-width: 980px;
  margin: -18px auto 34px;
  font-family: var(--font-display);
  font-size: clamp(1.18rem, 1.55vw, 1.35rem);
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  color: rgba(17, 17, 17, .62);
}
.theme-dark .tp-project-subtitle {
  color: rgba(250, 248, 243, .62);
}
.tp-dark-gallery__title + .tp-project-subtitle,
.tp-dark-single__title + .tp-project-subtitle {
  margin-top: 12px;
  margin-bottom: 0;
}
.tp-news-detail__hero-media {
  width: min(874px, 100%);
  margin: 0 auto;
  overflow: hidden;
  background: #d6d6d6;
}
.tp-news-detail__hero-image {
  width: 100%;
  height: auto;
  display: block;
}
.tp-news-detail__content {
  display: grid;
  grid-template-columns: 26% 63%;
  justify-content: space-between;
  gap: 0;
  padding: 60px 0;
}
.tp-news-detail__meta {
  text-align: left;
}
.tp-news-detail__share {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
.tp-news-detail__share a {
  display: grid;
  min-width: 30px;
  height: 30px;
  place-items: center;
  color: #000;
  font-size: 1rem;
  line-height: 1;
  font-weight: 600;
}
.tp-news-detail__social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}
.tp-news-detail__social-links a {
  display: inline-block;
  line-height: 0;
}
.tp-news-detail__social-icon {
  display: block;
  width: auto;
  height: auto;
}
.tp-news-detail__body {
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.85;
  text-align: left;
}
.tp-news-detail__body p {
  margin: 0 0 25px;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.85;
}
.tp-news-detail__body a {
  color: #777;
  text-decoration: underline;
}
.tp-news-detail__lead,
.tp-news-detail__secondary {
  max-width: min(836px, 100%);
}
.tp-news-detail__gallery {
  display: grid;
  gap: 25px;
  margin: 25px 0;
}
.tp-news-detail__gallery-item {
  width: min(836px, 100%);
  margin: 0;
  background: transparent;
}
.tp-news-detail__gallery-image {
  width: 100%;
  height: auto;
  display: block;
}
.tp-news-detail__gallery-caption {
  margin-top: 14px;
  color: var(--color-ink);
}
.tp-news-detail__gallery-caption p {
  margin-bottom: 8px;
}
body.page-template-template-jasny-dwie-kolumny .site-footer {
  position: relative;
  z-index: 3;
  background: #fff;
}

body.page-template-template-kontakt {
  background: #ffffff;
  color: var(--color-ink);
}
body.page-template-template-kontakt .site-header--inner {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
body.page-template-template-kontakt .site-header {
  transform: translateY(-100%);
  transition: transform 240ms ease;
}
body.page-template-template-kontakt.offer-header-docking .site-header {
  transition: none;
}
body.page-template-template-kontakt.offer-header-visible .site-header {
  transform: translateY(0);
}
body.page-template-template-kontakt .site-header__inner {
  min-height: 88px;
  justify-content: center;
}
body.page-template-template-kontakt .site-header .menu-toggle {
  position: fixed;
  top: 44px;
  left: var(--gutter);
  transform: translateY(-50%);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
}
body.page-template-template-kontakt .site-header .primary-nav {
  padding-inline: clamp(72px, 10vw, 140px);
}
body.page-template-template-kontakt .menu-toggle {
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.88);
  margin-left: 30px;
}

.tp-contact-page {
  background: #ffffff;
}
.tp-contact-nav {
  margin-top: 0;
}
.tp-contact {
  width: min(1460px, calc(100% - 110px));
  margin: 0 auto;
  padding: clamp(70px, 7vw, 118px) 0 clamp(42px, 4vw, 68px);
}
.tp-contact__header {
  margin-bottom: clamp(34px, 4.2vw, 58px);
}
.tp-contact__title {
  position: relative;
  margin: 0 0 18px;
  font-family: var(--font-display);
  font-size: clamp(3.05rem, 5.1vw, 5.4rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.tp-contact__title::after {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  margin-top: 18px;
  background: currentColor;
}
.tp-contact__intro {
  margin: 0;
  color: #000000;
  font-size: .66rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.tp-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) minmax(0, .9fr);
  gap: clamp(44px, 5vw, 84px);
  align-items: stretch;
  color: rgba(17, 17, 17, .55);
}
.tp-contact__column {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.tp-contact__column + .tp-contact__column {
  border-left: 1px solid rgba(17, 17, 17, .18);
  padding-left: clamp(44px, 5vw, 84px);
}
.tp-contact__section-title {
  position: relative;
  margin: 0 0 38px;
  font-family: var(--font-display);
  font-size: .98rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.tp-contact__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -18px;
  width: 18px;
  height: 1px;
  background: currentColor;
}
.tp-contact__copy,
.tp-contact__route-copy {
  color: rgba(17, 17, 17, .55);
  font-size: .82rem;
  line-height: 1.75;
  font-weight: 700;
}
.tp-contact__copy {
  max-width: 280px;
  margin-bottom: 46px;
}
.tp-contact__details {
  display: grid;
  gap: 15px;
  margin: 0 0 34px;
}
.tp-contact__details div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.tp-contact__details dt {
  color: rgba(17, 17, 17, .55);
  font-size: .72rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.tp-contact__details dd {
  margin: 0;
  color: rgba(17, 17, 17, .55);
  font-size: .82rem;
  line-height: 1.55;
  font-weight: 700;
}
.tp-contact__outline-button,
.tp-contact__map-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(17, 17, 17, .55);
  background: transparent;
  color: rgba(17, 17, 17, .55);
  transition: background var(--transition), color var(--transition), border-color var(--transition);
  text-transform: uppercase;
}
.tp-contact__outline-button {
  width: min(318px, 100%);
  margin-top: auto;
  padding: 0 28px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .28em;
}
.tp-contact__outline-button.is-initially-highlighted,
.tp-contact__outline-button:hover,
.tp-contact__outline-button:focus-visible,
.tp-contact__map-button:hover,
.tp-contact__map-button:focus-visible,
.tp-contact__form button:hover,
.tp-contact__form button:focus-visible,
.tp-contact__form input[type="submit"]:hover,
.tp-contact__form input[type="submit"]:focus-visible,
.tp-contact__form .wpcf7-submit:hover,
.tp-contact__form .wpcf7-submit:focus-visible {
  background: #050505;
  color: #ffffff;
  border-color: #111111;
}
.tp-contact__form form,
.tp-contact__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 21px;
  flex: 1;
  height: 100%;
}
.tp-contact__form {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.tp-contact__notice {
  margin: 0 0 18px;
  color: rgba(17, 17, 17, .55);
  font-size: .72rem;
  line-height: 1.55;
  font-weight: 700;
}
.tp-contact__notice--error {
  color: #9b1c1c;
}
.tp-contact__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.tp-contact__form label,
.tp-contact__form .wpcf7-form-control-wrap {
  display: grid;
  gap: 8px;
}
.tp-contact__form label span:first-child,
.tp-contact__form .wpcf7-form label,
.tp-contact__form .wpcf7-form p {
  margin: 0;
  color: rgba(17, 17, 17, .55);
  font-size: .66rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.tp-contact__form input,
.tp-contact__form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(17, 17, 17, .28);
  border-radius: 0;
  background: transparent;
  color: rgba(17, 17, 17, .55);
  padding: 7px 0 8px;
  font-size: .86rem;
  line-height: 1.5;
  outline: none;
}
.tp-contact__form textarea {
  min-height: 76px;
  resize: vertical;
}
.tp-contact__form input:focus,
.tp-contact__form textarea:focus {
  border-bottom-color: rgba(17, 17, 17, .55);
}
.tp-contact__form button,
.tp-contact__form input[type="submit"],
.tp-contact__form .wpcf7-submit {
  width: min(306px, 100%);
  min-height: 44px;
  margin-top: auto;
  border: 1px solid rgba(17, 17, 17, .55);
  background: transparent;
  color: rgba(17, 17, 17, .55);
  cursor: pointer;
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.tp-contact__route-item {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(17, 17, 17, .15);
}
.tp-contact__route-item h3 {
  margin: 0 0 12px;
  color: rgba(17, 17, 17, .55);
  font-family: var(--font-display);
  font-size: .72rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.tp-contact__map-button {
  width: min(250px, 100%);
  margin-top: auto;
  justify-content: center;
  padding: 0 22px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .26em;
}
.tp-contact__pin {
  position: relative;
  width: 12px;
  height: 16px;
  display: inline-block;
}
.tp-contact__pin::before {
  content: "";
  position: absolute;
  inset: 1px 2px 4px;
  border: 1px solid currentColor;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}
.tp-contact__pin::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: currentColor;
}

@media (max-width: 1080px) {
  .tp-news-detail {
    padding-left: 46px;
    padding-right: 46px;
  }
  .tp-news-detail__title {
    margin-inline: 8%;
  }
  .tp-contact {
    width: calc(100% - 60px);
  }
  .tp-contact__grid {
    gap: 34px;
  }
  .tp-contact__column + .tp-contact__column {
    padding-left: 34px;
  }
  .tp-contact__title {
    letter-spacing: .28em;
  }
}

@media (max-width: 780px) {
  body.page-template-template-kontakt .site-header .menu-toggle {
    left: var(--gutter);
  }
  .tp-contact {
    width: calc(100% - 40px);
    padding: 76px 0 54px;
  }
  .tp-contact__header {
    margin-bottom: 42px;
  }
  .tp-contact__title {
    font-size: clamp(2.45rem, 13vw, 4rem);
    letter-spacing: .18em;
  }
  .tp-contact__intro {
    font-size: .6rem;
    letter-spacing: .22em;
  }
  .tp-contact__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .tp-contact__column + .tp-contact__column {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid rgba(17, 17, 17, .14);
    padding-top: 48px;
  }
  .tp-contact__section-title {
    margin-bottom: 34px;
    font-size: .86rem;
    letter-spacing: .28em;
  }
  .tp-contact__copy {
    max-width: none;
    margin-bottom: 34px;
  }
  .tp-contact__details div {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 16px;
  }
  .tp-contact__outline-button,
  .tp-contact__form button,
  .tp-contact__form input[type="submit"],
  .tp-contact__form .wpcf7-submit,
  .tp-contact__map-button {
    width: 100%;
    margin-top: 0;
  }
  body.page-template-template-ciemny-jedna-kolumna .site-header .menu-toggle {
    left: var(--gutter);
  }
  .tp-dark-single {
    width: calc(100% - 40px);
    padding-bottom: 64px;
  }
  .tp-dark-single__intro {
    padding: 130px 0 120px;
  }
  .tp-dark-single__intro-media {
    width: min(220px, 62vw);
  }
  .tp-dark-single__lead {
    font-size: 1.125rem;
    line-height: 2.15;
  }
  .tp-dark-single__item--gap-normalny {
    margin-bottom: 60px;
  }
  .tp-dark-single__item--gap-sredni {
    margin-bottom: 120px;
  }
  .tp-dark-single__item--gap-duzy {
    margin-bottom: 170px;
  }
  body.page-template-template-ciemny-galeria-trzy-kolumny .site-header .menu-toggle {
    left: var(--gutter);
  }
  .tp-dark-gallery {
    width: calc(100% - 40px);
    padding-bottom: 48px;
  }
  .tp-dark-gallery__header {
    padding: 72px 0 44px;
  }
  .tp-dark-gallery__headline-image {
    width: min(290px, 82vw);
  }
  .tp-dark-gallery__video-wrap {
    margin-bottom: 70px;
  }
  .tp-dark-gallery__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .tp-dark-gallery__section {
    margin-bottom: 20px;
  }
  .tp-dark-gallery__full {
    margin: 20px 0;
  }
  .tp-dark-lightbox {
    padding: 20px;
  }
  .tp-dark-lightbox__close {
    top: 16px;
    right: 16px;
  }
  body.error404 .site-header .menu-toggle {
    left: var(--gutter);
  }
  .tp-error-404 {
    min-height: 560px;
    padding: 76px 20px 90px;
  }
  .tp-error-404__code {
    margin-bottom: 18px;
  }
  .tp-error-404__title {
    margin-bottom: 18px;
    font-size: 1.75rem;
  }
  .tp-error-404__text {
    margin-bottom: 30px;
  }
  body.page-template-template-jasny-dwie-kolumny .site-header .menu-toggle {
    left: var(--gutter);
  }
  .tp-news-detail {
    margin: 0 20px 40px;
    padding: 30px 0 0;
  }
  .tp-news-detail__date--mobile {
    display: inline-block;
  }
  .tp-news-detail__author--mobile {
    display: inline-block;
  }
  .tp-news-detail__date--desktop {
    display: none;
  }
  .tp-news-detail__author--desktop {
    display: none;
  }
  .tp-news-detail__title {
    margin: 0;
    padding: 45px 0 25px;
    font-size: 1.75rem;
    text-align: center;
  }
  .tp-news-detail__content {
    display: flex;
    flex-direction: column;
    padding: 20px 0;
  }
  .tp-news-detail__body {
    width: 100%;
    order: 1;
  }
  .tp-news-detail__meta {
    width: 100%;
    margin-top: 60px;
    order: 2;
  }
  .tp-news-detail__share a {
    min-width: 34px;
    height: 34px;
    font-size: 1.375rem;
  }
}

body.tp-has-custom-background-color {
  background: var(--tp-page-background-color);
}
body.tp-has-custom-background-color .site-header--inner,
body.tp-has-custom-background-color .offer-header-bar,
body.tp-has-custom-background-color .tp-dark-gallery-nav,
body.tp-has-custom-background-color .offer-page-main,
body.tp-has-custom-background-color .offer-content,
body.tp-has-custom-background-color .tp-dark-gallery-page,
body.tp-has-custom-background-color .tp-dark-gallery,
body.tp-has-custom-background-color .tp-dark-single-page,
body.tp-has-custom-background-color .tp-dark-single,
body.tp-has-custom-background-color .tp-news-detail-page,
body.tp-has-custom-background-color .tp-news-detail,
body.tp-has-custom-background-color .tp-project-sliders,
body.tp-has-custom-background-color .site-footer {
  background: var(--tp-page-background-color);
}
body.tp-has-custom-text-color,
body.tp-has-custom-text-color .site-header,
body.tp-has-custom-text-color .site-header--front,
body.tp-has-custom-text-color .site-header--inner,
body.tp-has-custom-text-color .offer-header-bar,
body.tp-has-custom-text-color .menu-toggle,
body.tp-has-custom-text-color .primary-nav__list a,
body.tp-has-custom-text-color .hero-caption__eyebrow,
body.tp-has-custom-text-color .hero-slider__control,
body.tp-has-custom-text-color .site-drawer__panel,
body.tp-has-custom-text-color .site-drawer__meta,
body.tp-has-custom-text-color .site-footer,
body.tp-has-custom-text-color .tp-dark-gallery-nav .primary-nav a,
body.tp-has-custom-text-color .tp-dark-gallery,
body.tp-has-custom-text-color .tp-dark-single,
body.tp-has-custom-text-color .tp-news-detail,
body.tp-has-custom-text-color .tp-news-detail__date,
body.tp-has-custom-text-color .tp-news-detail__gallery-caption {
  color: var(--tp-page-text-color);
}
