/* Neutral defaults keep the original layout; Elementor's per-element styles remain editable. */
body:has(.inframe-builder) { overflow-x: clip; }
.inframe-builder.e-con { display: block; width: 100vw; margin: 0; margin-left: calc(50% - 50vw); padding: 0; gap: 0; }
.inframe-builder .e-con { display: block; --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --flex-direction: column; }
.inframe-builder .elementor-widget { --widgets-spacing: 0px; margin-block-end: 0; }
.inframe-builder .if-builder-text-wrap { min-width: 0; }
.inframe-builder .if-hero__title { max-width: 1450px; }
.inframe-builder .if-hero__title, .inframe-builder .if-display, .inframe-builder .if-contact__title { font-weight: 400; }
.inframe-builder .if-hero__content { display: flex; }
.inframe-builder .if-hero__footer, .inframe-builder .if-work__head { display: flex; flex-direction: row; }
.inframe-builder .if-work__head > .e-con, .inframe-builder .if-work__head > .if-builder-text-wrap { width: auto; }
.inframe-builder .if-work__head .if-pill { display: flex; }
.inframe-builder .if-hero__footer > .if-builder-text-wrap { width: auto; }
.inframe-builder .if-hero__footer > .if-builder-text-wrap:has(.if-scroll) { flex: none; }
.inframe-builder .if-benefits, .inframe-builder .if-projects, .inframe-builder .if-process-grid, .inframe-builder .if-apps-layout, .inframe-builder .if-apps-list, .inframe-builder .if-app, .inframe-builder .if-contact__mail, .inframe-builder .if-footer { display: grid; }
.inframe-builder .if-project__copy { display: block; width: auto; }
.inframe-builder .if-benefit p.if-benefit__number { max-width: none; color: var(--if-red); font-size: 15px; font-weight: 600; letter-spacing: .12em; line-height: 1.5; }
.inframe-builder .if-step p.if-step__label { color: var(--if-red); line-height: 1.5; }
.inframe-builder .if-step > .elementor-widget-html:has(.if-step__bullet) { position: static; }
.inframe-builder .if-step:has(.if-step__bullet:hover) h3 { color: var(--if-red); }
.inframe-builder .if-why > .if-wrap > .if-builder-text-wrap:has(.if-copy) { max-width: 930px; margin-top: 82px; }
.inframe-builder .if-process > .if-wrap > .if-builder-text-wrap:has(.if-copy) { margin-top: 76px; }
.inframe-builder .if-footer > .if-builder-text-wrap:nth-child(2) p { text-align: center; }
.inframe-builder .if-footer > .if-builder-text-wrap:last-child p { text-align: right; }
.inframe-builder .if-builder-media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.inframe-builder .if-builder-media > img, .inframe-builder .if-builder-media > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.inframe-builder .if-builder-chrome { height: 0; min-height: 0; margin: 0; padding: 0; }
/* Elementor's overlay defaults set left:0 and height:100%; keep the contact mark square and right-aligned. */
.inframe-builder .if-contact::before { left: auto; bottom: auto; height: auto; }
.elementor-editor-active .inframe-builder .if-reveal, .elementor-editor-active .inframe-builder .if-header, .elementor-editor-active .inframe-builder .if-hero .if-kicker, .elementor-editor-active .inframe-builder .if-hero__title, .elementor-editor-active .inframe-builder .if-hero__footer { opacity: 1; filter: none; transform: none; }
.elementor-editor-active .inframe-builder .if-hero__image { opacity: 1; transform: none; }
@media(max-width:760px) {
    html[lang="pl-PL"] .inframe-builder .if-contact__title { font-size: clamp(36px, 11.2vw, 58px); }
    .inframe-builder .if-app > .if-builder-text-wrap:first-child { grid-row: span 2; }
    .inframe-builder .if-app > .if-builder-text-wrap:last-child { grid-column: 2; }
    .inframe-builder .if-hero__footer, .inframe-builder .if-work__head { flex-direction: column; }
    .inframe-builder .if-why > .if-wrap > .if-builder-text-wrap:has(.if-copy), .inframe-builder .if-process > .if-wrap > .if-builder-text-wrap:has(.if-copy) { margin-top: 48px; }
    .inframe-builder .if-footer > .if-builder-text-wrap p { text-align: left; }
}
@media(max-width:360px) {
    html[lang="pl-PL"] .inframe-builder .if-hero__title { font-size: 42px; }
    html[lang="pl-PL"] .inframe-builder .if-display { font-size: 37px; }
}

/* Large headings use a face with lowercase glyphs and preserve authored case. */
.inframe-actual.inframe-builder .if-hero__title,
.inframe-actual.inframe-builder .if-display,
.inframe-actual.inframe-builder .if-contact__title {
  font-family: "Exo 2", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
}

/* Three bold strokes for the menu hamburger. */
.inframe-builder .if-menu-button::after,
.inframe-builder .if-menu-button:hover::after,
.inframe-builder .if-menu-button:focus-visible::after {
  width: 30px;
  height: 3px;
  border-radius: 1px;
  background: currentColor;
  box-shadow: 0 -8px 0 currentColor, 0 8px 0 currentColor;
}
@media (max-width: 760px) {
  .inframe-builder .if-menu-button::after,
  .inframe-builder .if-menu-button:hover::after,
  .inframe-builder .if-menu-button:focus-visible::after { width: 24px; }
}

/* Align the first portfolio title with the adjacent two-line caption. */
@media (min-width: 761px) {
  .inframe-builder .if-project:first-child .if-project__copy p { min-height: 3em; }
}

/* Highlight the process stage when hovering anywhere within its text area. */
.inframe-builder .if-step:hover h3,
.inframe-builder .if-step:focus-within h3 { color: var(--if-red); }
.inframe-builder .if-step:hover .if-step__bullet,
.inframe-builder .if-step:focus-within .if-step__bullet {
  border-color: var(--if-red);
  background: var(--if-red);
  box-shadow: none;
  transform: scale(1.14);
}
