.wfs-section {
  --wfs-text: #fff;
  --wfs-overlay: rgba(0, 0, 0, .65);
  --wfs-padding: 100px 30px;
  --wfs-container: 1200px;
  --wfs-title-size: 54px;
  --wfs-description-size: 18px;
  --wfs-title-align: start;
  --wfs-description-align: start;
  position: relative;
  isolation: isolate;
  width: 100%;
  padding: var(--wfs-padding);
  color: var(--wfs-text);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  box-sizing: border-box;
  overflow: hidden;
}

.wfs-section *, .wfs-section *::before, .wfs-section *::after { box-sizing: border-box; }
.wfs-overlay { position: absolute; inset: 0; z-index: 0; background: var(--wfs-overlay); }
.wfs-container { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(30px, 5vw, 80px); width: 100%; max-width: var(--wfs-container); margin-inline: auto; }
.wfs-text-wide .wfs-container { grid-template-columns: 3fr 2fr; }
.wfs-image-wide .wfs-container { grid-template-columns: 2fr 3fr; }
.wfs-text-column { text-align: left; }
.wfs-rtl .wfs-text-column { text-align: right; }
.wfs-title { margin: 0 0 20px; color: inherit; font-size: var(--wfs-title-size); line-height: 1.2; text-align: var(--wfs-title-align); }
.wfs-description { color: inherit; font-size: var(--wfs-description-size); line-height: 1.9; text-align: var(--wfs-description-align); }
.wfs-description > :last-child { margin-bottom: 0; }
.wfs-button { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; padding: 13px 24px; color: #111; background: #fff; border: 2px solid #fff; border-radius: 4px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.wfs-button:hover, .wfs-button:focus { color: #fff; background: transparent; text-decoration: none; transform: translateY(-2px); }
.wfs-button-arrow { display: inline-block; line-height: 1; }
.wfs-rtl .wfs-button-arrow { transform: scaleX(-1); }
.wfs-image-column { display: flex; justify-content: center; align-items: center; }
.wfs-content-image { display: block; width: 100%; max-width: 560px; height: auto; object-fit: contain; }

@media (max-width: 991px) {
  .wfs-section { background-attachment: scroll; }
  .wfs-container, .wfs-text-wide .wfs-container, .wfs-image-wide .wfs-container { grid-template-columns: 1fr; }
  .wfs-text-column { order: 1; }
  .wfs-image-column { order: 2; }
}

@media (max-width: 767px) {
  .wfs-section { padding: 60px 20px !important; }
  .wfs-title { font-size: min(var(--wfs-title-size), 32px); }
  .wfs-description { font-size: min(var(--wfs-description-size), 16px); }
}

@media (prefers-reduced-motion: reduce) {
  .wfs-section { background-attachment: scroll; }
  .wfs-button { transition: none; }
}
