.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-wpforms .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-wpforms .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-wpforms .eael-contact-form-description, .elementor-widget-eael-wpforms .wpforms-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field label, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field legend{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field textarea, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field select{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-submit-container .wpforms-submit{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms label.wpforms-error{display:block !important;}.elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms .wpforms-field select{height:30px;}.elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms .wpforms-submit-container .wpforms-submit:hover, 
                    .elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms .wpforms-container-full .wpforms-submit-container .wpforms-form button[type=submit]:hover{background:#065689 !important;}.elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms input.wpforms-error{border-width:1px;}.elementor-41 .elementor-element.elementor-element-5aab122 .eael-wpforms textarea.wpforms-error{border-width:1px;}:root{--page-title-display:none;}/* Start custom CSS for section, class: .elementor-element-4a3ebdc */.ap-hero-shell {
  --ap-hero-black: #050505;
  --ap-hero-black-2: #08080a;
  --ap-hero-white: #ffffff;
  --ap-hero-white-soft: rgba(255, 255, 255, 0.78);
  --ap-hero-white-muted: rgba(255, 255, 255, 0.58);
  --ap-hero-border: rgba(255, 255, 255, 0.09);
  --ap-hero-orange: #ff7a1a;
  --ap-hero-orange-2: #ff9a3c;
  --ap-hero-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-hero-max: 1260px;
  --ap-hero-radius: 28px;
  --ap-hero-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--ap-hero-black);
  overflow: hidden;
}

.ap-hero-shell,
.ap-hero-shell *,
.ap-hero-shell *::before,
.ap-hero-shell *::after {
  box-sizing: border-box;
}

.ap-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: calc(100vh - 84px);
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 122, 26, 0.14), transparent 36%),
    radial-gradient(circle at 8% 88%, rgba(255, 122, 26, 0.07), transparent 34%),
    linear-gradient(180deg, #050505 0%, #070708 100%);
  color: var(--ap-hero-white);
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-hero a {
  color: inherit !important;
  text-decoration: none !important;
}

.ap-hero img {
  display: block;
  max-width: 100%;
}

.ap-hero ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ap-hero :focus-visible {
  outline: 2px solid var(--ap-hero-orange);
  outline-offset: 4px;
  border-radius: 12px;
}

/* Background */
.ap-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.ap-hero__grid {
  position: absolute;
  inset: 0;
  opacity: 0.52;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(105% 78% at 74% 34%, #000 0%, transparent 72%);
  mask-image: radial-gradient(105% 78% at 74% 34%, #000 0%, transparent 72%);
}

.ap-hero__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(80px);
  opacity: 0.9;
}

.ap-hero__glow--one {
  width: 640px;
  height: 640px;
  top: -260px;
  right: -180px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.25), transparent 64%);
  animation: ap-hero-glow-drift 18s ease-in-out infinite;
}

.ap-hero__glow--two {
  width: 440px;
  height: 440px;
  left: -180px;
  bottom: -210px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.10), transparent 64%);
  animation: ap-hero-glow-drift 22s ease-in-out infinite reverse;
}

/* Layout */
.ap-hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-hero-max);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) clamp(18px, 4vw, 42px) clamp(74px, 8vw, 112px);
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  align-items: center;
  gap: clamp(46px, 5.4vw, 86px);
}

/* Content */
.ap-hero__content {
  position: relative;
  z-index: 3;
}

.ap-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  padding: 9px 17px;
  border: 1px solid rgba(255, 122, 26, 0.38);
  border-radius: 999px;
  background: rgba(255, 122, 26, 0.055);
  color: var(--ap-hero-orange-2);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 32px -24px var(--ap-hero-orange-glow);
}

.ap-hero__eyebrow-icon {
  font-size: 12px;
  line-height: 1;
}

.ap-hero__title {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--ap-hero-white);
  font-size: clamp(48px, 5.9vw, 82px);
  line-height: 0.98;
  font-weight: 900;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.ap-hero__lead {
  max-width: 650px;
  margin: 26px 0 0;
  color: var(--ap-hero-white-soft);
  font-size: clamp(16px, 1.18vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-hero__buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 36px;
}

.ap-hero__btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.015em;
  white-space: nowrap;
  transition:
    transform 0.3s var(--ap-hero-ease),
    box-shadow 0.3s var(--ap-hero-ease),
    border-color 0.3s var(--ap-hero-ease),
    background 0.3s var(--ap-hero-ease),
    color 0.3s var(--ap-hero-ease),
    filter 0.3s var(--ap-hero-ease);
}

.ap-hero__btn--primary {
  background: linear-gradient(135deg, var(--ap-hero-orange), var(--ap-hero-orange-2));
  color: #120700 !important;
  box-shadow:
    0 12px 30px rgba(255, 122, 26, 0.22),
    0 20px 48px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.ap-hero__btn--primary::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0)),
    linear-gradient(135deg, var(--ap-hero-orange), var(--ap-hero-orange-2));
}

.ap-hero__btn--primary::after {
  content: "";
  position: absolute;
  top: -45%;
  left: -60%;
  width: 42%;
  height: 190%;
  transform: rotate(23deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  opacity: 0;
  transition: left 0.72s var(--ap-hero-ease), opacity 0.28s var(--ap-hero-ease);
}

.ap-hero__btn--primary:hover,
.ap-hero__btn--primary:focus-visible {
  transform: translateY(-2px) scale(1.015);
  filter: saturate(1.08) brightness(1.03);
  box-shadow:
    0 16px 36px rgba(255, 122, 26, 0.28),
    0 30px 68px -22px rgba(255, 122, 26, 0.88),
    0 0 0 1px rgba(255, 165, 92, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.ap-hero__btn--primary:hover::after,
.ap-hero__btn--primary:focus-visible::after {
  left: 125%;
  opacity: 1;
}

.ap-hero__btn--primary span {
  transition: transform 0.28s var(--ap-hero-ease);
}

.ap-hero__btn--primary:hover span,
.ap-hero__btn--primary:focus-visible span {
  transform: translateX(4px);
}

.ap-hero__btn--secondary {
  border: 1px solid rgba(255, 122, 26, 0.52);
  background: rgba(255, 122, 26, 0.035);
  color: var(--ap-hero-orange-2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.ap-hero__btn--secondary:hover,
.ap-hero__btn--secondary:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255, 122, 26, 0.82);
  background: rgba(255, 122, 26, 0.09);
  color: #ffffff !important;
  box-shadow:
    0 16px 40px -24px var(--ap-hero-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.ap-hero__points {
  display: grid;
  gap: 14px;
  max-width: 720px;
  margin-top: 38px;
}

.ap-hero__points li {
  position: relative;
  padding-left: 24px;
  color: var(--ap-hero-white-soft);
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.ap-hero__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.66em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ap-hero-orange);
  box-shadow: 0 0 16px var(--ap-hero-orange-glow);
}

/* Visual */
.ap-hero__visual {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}

.ap-hero__photo-card {
  position: relative;
  width: min(100%, 440px);
  aspect-ratio: 4 / 5;
  isolation: isolate;
}

.ap-hero__photo-card::before {
  content: "";
  position: absolute;
  inset: -42px;
  z-index: -3;
  border-radius: 999px;
  background:
    radial-gradient(circle at 58% 38%, rgba(255, 122, 26, 0.32), transparent 58%),
    radial-gradient(circle at 32% 82%, rgba(116, 74, 255, 0.14), transparent 52%);
  filter: blur(34px);
  opacity: 0.95;
}

.ap-hero__photo-layer {
  position: absolute;
  border-radius: var(--ap-hero-radius);
  pointer-events: none;
}

.ap-hero__photo-layer--back {
  inset: 18px -20px -18px 22px;
  z-index: -2;
  border: 1px solid rgba(255, 255, 255, 0.075);
  background:
    linear-gradient(135deg, rgba(255, 122, 26, 0.10), rgba(255, 255, 255, 0.025)),
    rgba(255, 255, 255, 0.025);
  transform: rotate(2.2deg);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.ap-hero__photo-layer--grid {
  inset: -24px -32px 34px 46px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.065);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255, 122, 26, 0.10), rgba(94, 60, 255, 0.08));
  background-size: 36px 36px, 36px 36px, auto;
  opacity: 0.74;
  transform: translate(34px, -16px);
}

.ap-hero__img {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: var(--ap-hero-radius);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow:
    0 44px 110px -44px rgba(0, 0, 0, 0.96),
    0 0 76px -38px var(--ap-hero-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.ap-hero__photo-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: var(--ap-hero-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 32%),
    radial-gradient(circle at 78% 20%, rgba(255, 122, 26, 0.12), transparent 34%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.28), transparent 46%);
  pointer-events: none;
}

.ap-hero__badge {
  position: absolute;
  z-index: 5;
  top: 24px;
  right: -22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 17px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--ap-hero-orange), var(--ap-hero-orange-2));
  color: #120700;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow:
    0 18px 36px -16px var(--ap-hero-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ap-hero__name-card {
  position: absolute;
  z-index: 5;
  left: -34px;
  bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 280px;
  padding: 15px 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 122, 26, 0.10), transparent 48%),
    rgba(13, 13, 16, 0.84);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  box-shadow:
    0 26px 70px -30px rgba(0, 0, 0, 0.96),
    inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.ap-hero__name-card strong {
  color: var(--ap-hero-white);
  font-size: 14px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.ap-hero__name-card span {
  color: var(--ap-hero-white-muted);
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 600;
}

.ap-hero__mini-card {
  position: absolute;
  z-index: 5;
  right: -44px;
  bottom: 122px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.095);
  border-radius: 999px;
  background: rgba(13, 13, 16, 0.78);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  backdrop-filter: blur(12px) saturate(150%);
  color: var(--ap-hero-white-soft);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow:
    0 22px 58px -34px rgba(0, 0, 0, 0.96),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.ap-hero__mini-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ap-hero-orange);
  box-shadow: 0 0 14px var(--ap-hero-orange-glow);
}

/* Animations */
.ap-hero__anim {
  opacity: 0;
  transform: translateY(20px);
  animation: ap-hero-enter 0.72s var(--ap-hero-ease) forwards;
  animation-delay: var(--ap-hero-delay, 0s);
}

.ap-hero__anim--visual {
  transform: translateY(28px) scale(0.985);
}

.ap-hero__float {
  animation: ap-hero-float 7.2s ease-in-out infinite;
}

.ap-hero__float--slow {
  animation-duration: 8.8s;
  animation-delay: 0.45s;
}

.ap-hero__float--soft {
  animation-duration: 9.6s;
  animation-delay: 0.2s;
}

@keyframes ap-hero-enter {
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ap-hero-float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-9px);
  }
}

@keyframes ap-hero-glow-drift {
  0%, 100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-26px, 24px);
  }
}

/* Elementor shell reset */
.elementor-widget-html:has(.ap-hero-shell),
.elementor-widget-html:has(.ap-hero-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-hero-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

/* Responsive */
@media (max-width: 1120px) {
  .ap-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: 42px;
  }

  .ap-hero__title {
    font-size: clamp(44px, 5.5vw, 68px);
  }

  .ap-hero__photo-card {
    width: min(100%, 390px);
  }

  .ap-hero__mini-card {
    right: -20px;
  }
}

@media (max-width: 900px) {
  .ap-hero {
    min-height: auto;
  }

  .ap-hero__inner {
    grid-template-columns: 1fr;
    padding-top: 64px;
    padding-bottom: 76px;
    gap: 58px;
  }

  .ap-hero__content {
    max-width: 760px;
  }

  .ap-hero__title {
    max-width: 720px;
    font-size: clamp(42px, 9vw, 62px);
    letter-spacing: -0.055em;
  }

  .ap-hero__lead {
    max-width: 680px;
  }

  .ap-hero__visual {
    justify-content: center;
  }

  .ap-hero__photo-card {
    width: min(86vw, 400px);
  }
}

@media (max-width: 640px) {
  .ap-hero__inner {
    padding: 54px 18px 66px;
  }

  .ap-hero__eyebrow {
    max-width: 100%;
    font-size: 10.5px;
    letter-spacing: 0.09em;
    padding: 8px 13px;
  }

  .ap-hero__title {
    margin-top: 22px;
    font-size: clamp(38px, 12vw, 52px);
    line-height: 1.02;
  }

  .ap-hero__lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.68;
  }

  .ap-hero__buttons {
    align-items: stretch;
    margin-top: 30px;
  }

  .ap-hero__btn {
    width: 100%;
    min-height: 52px;
    padding: 0 22px;
  }

  .ap-hero__points {
    margin-top: 30px;
  }

  .ap-hero__points li {
    font-size: 14px;
  }

  .ap-hero__photo-card {
    width: min(88vw, 360px);
  }

  .ap-hero__badge {
    right: -8px;
  }

  .ap-hero__name-card {
    left: -10px;
    bottom: 24px;
    max-width: 245px;
  }

  .ap-hero__mini-card {
    display: none;
  }

  .ap-hero__photo-layer--back {
    inset: 12px -10px -14px 14px;
  }

  .ap-hero__photo-layer--grid {
    inset: -18px -16px 38px 30px;
    transform: translate(18px, -12px);
  }
}

@media (max-width: 420px) {
  .ap-hero__title {
    font-size: clamp(35px, 13vw, 46px);
  }

  .ap-hero__photo-card {
    width: min(90vw, 330px);
  }

  .ap-hero__name-card {
    position: relative;
    left: auto;
    bottom: auto;
    margin: 14px auto 0;
    width: calc(100% - 18px);
  }

  .ap-hero__badge {
    top: 18px;
    right: -6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-hero *,
  .ap-hero *::before,
  .ap-hero *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .ap-hero__anim {
    opacity: 1;
    transform: none;
  }
}
/* AP HERO — FINAL SPACING + ELEMENTOR SHELL FIX */

/* większy oddech między przyciskami a listą */
.ap-hero__points {
  margin-top: 56px !important;
}

/* shell hero ma dokładnie wypełniać całą szerokość i przykrywać mikro-piksele */
.ap-hero-shell {
  position: relative !important;
  display: block !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: -1px !important;
  margin-bottom: -1px !important;
  padding: 0 !important;
  background: #050505 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

/* czarny mikropasek nad hero — zabija biały piksel od góry */
.ap-hero-shell::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  transform: translateX(-50%);
  width: 100vw;
  height: 4px;
  background: #050505;
  pointer-events: none;
  z-index: 5;
}

/* czarny mikropasek pod hero — zabija biały piksel od dołu */
.ap-hero-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  transform: translateX(-50%);
  width: 100vw;
  height: 4px;
  background: #050505;
  pointer-events: none;
  z-index: 5;
}

.ap-hero {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 1.2 !important;
}

/* reset widgetu HTML w Elementorze */
.elementor-widget-html:has(.ap-hero-shell),
.elementor-widget-html:has(.ap-hero-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-hero-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

/* reset kontenera / kolumny, w której siedzi HTML */
.e-con:has(.ap-hero-shell),
.elementor-column:has(.ap-hero-shell),
.elementor-widget-wrap:has(.ap-hero-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

/* mobile — trochę mniejszy odstęp między CTA a listą */
@media (max-width: 640px) {
  .ap-hero__points {
    margin-top: 44px !important;
  }
}
/* AP HERO — poprawka nagłówka H1, żeby linie na siebie nie nachodziły */

.ap-hero__title {
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: -0.048em !important;
}

/* Desktop większy — nadal mocny, ale czytelny */
@media (min-width: 901px) {
  .ap-hero__title {
    line-height: 1.07 !important;
  }
}

/* Tablet/mobile — więcej oddechu, bo tekst mocniej się łamie */
@media (max-width: 900px) {
  .ap-hero__title {
    line-height: 1.1 !important;
    letter-spacing: -0.042em !important;
  }
}

@media (max-width: 640px) {
  .ap-hero__title {
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
  }
}
/* ============================================================
   AP HERO — RESPONSIVE FIX
   H1, zdjęcie i zabezpieczenie przed poziomym scrollem
   ============================================================ */

/* tablet / mały laptop — uspokojenie dekoracyjnego gridu za zdjęciem */
@media (max-width: 1120px) {
  .ap-hero__photo-layer--grid {
    inset: -16px -14px 34px 34px;
    transform: translate(16px, -12px);
  }
}

/* standardowy mobile — nagłówek nie wychodzi poza ekran */
@media (max-width: 430px) {
  .ap-hero__title {
    font-size: clamp(30px, 10.2vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.03em !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }

  .ap-hero__lead {
    font-size: 15px;
    line-height: 1.66;
  }

  .ap-hero__eyebrow {
    font-size: 10px;
    letter-spacing: 0.07em;
    padding: 7px 12px;
  }
}

/* małe telefony */
@media (max-width: 360px) {
  .ap-hero__inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-hero__title {
    font-size: clamp(26px, 9.2vw, 33px) !important;
  }

  .ap-hero__photo-card {
    width: min(92vw, 310px);
  }

  .ap-hero__badge {
    right: -2px;
    top: 14px;
  }

  .ap-hero__name-card {
    max-width: calc(100% - 14px);
  }
}

/* zabezpieczenie przed poziomym scrollem tylko w obrębie hero */
.ap-hero-shell {
  overflow-x: clip !important;
}

.ap-hero {
  overflow-x: clip !important;
}

.ap-hero__visual {
  min-width: 0;
  max-width: 100%;
}

/* Elementor wrapper — tylko dla kontenera z hero, bez ruszania całej strony */
.e-con:has(.ap-hero-shell),
.elementor-column:has(.ap-hero-shell),
.elementor-widget-wrap:has(.ap-hero-shell),
.elementor-widget-html:has(.ap-hero-shell),
.elementor-widget-html:has(.ap-hero-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-hero-shell) .elementor-widget-container {
  overflow-x: clip !important;
}
/* ============================================================
   AP HERO — FINAL MOBILE PHOTO CARD FIX
   Naprawia układ zdjęcia, badge WEB+ i karty z nazwiskiem na mobile
   ============================================================ */

/* Mobile/tablet photo layout safety */
@media (max-width: 900px) {
  .ap-hero__visual {
    justify-content: center !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .ap-hero__photo-card {
    position: relative !important;
    width: min(86vw, 400px) !important;
    max-width: 400px !important;
    overflow: visible !important;
    margin: 0 auto !important;
  }

  .ap-hero__photo-layer--back {
    inset: 14px -12px -14px 14px !important;
  }

  .ap-hero__photo-layer--grid {
    inset: -18px -12px 38px 28px !important;
    transform: translate(14px, -10px) !important;
  }

  .ap-hero__badge {
    top: 16px !important;
    right: 12px !important;
    z-index: 9 !important;
    min-height: 36px !important;
    padding: 0 15px !important;
    border-radius: 13px !important;
  }

  .ap-hero__name-card {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 18px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 8 !important;
  }

  .ap-hero__mini-card {
    display: none !important;
  }
}

/* Standard mobile */
@media (max-width: 640px) {
  .ap-hero__photo-card {
    width: min(88vw, 360px) !important;
    max-width: 360px !important;
  }

  .ap-hero__badge {
    top: 14px !important;
    right: 10px !important;
    font-size: 12px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
  }

  .ap-hero__name-card {
    left: 14px !important;
    right: 14px !important;
    bottom: 16px !important;
    padding: 13px 15px !important;
    border-radius: 16px !important;
  }

  .ap-hero__name-card strong {
    font-size: 13px !important;
  }

  .ap-hero__name-card span {
    font-size: 11px !important;
  }
}

/* Małe mobile — 430/420/390 */
@media (max-width: 430px) {
  .ap-hero__photo-card {
    width: min(90vw, 335px) !important;
    max-width: 335px !important;
  }

  .ap-hero__badge {
    top: 12px !important;
    right: 8px !important;
    font-size: 11.5px !important;
    min-height: 32px !important;
    padding: 0 13px !important;
  }

  .ap-hero__name-card {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 14px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .ap-hero__photo-layer--back {
    inset: 10px -8px -12px 12px !important;
  }

  .ap-hero__photo-layer--grid {
    inset: -14px -8px 36px 24px !important;
    transform: translate(10px, -8px) !important;
  }
}

/* Bardzo małe mobile — 360 i mniej */
@media (max-width: 360px) {
  .ap-hero__photo-card {
    width: min(91vw, 310px) !important;
    max-width: 310px !important;
  }

  .ap-hero__badge {
    top: 10px !important;
    right: 6px !important;
    font-size: 11px !important;
    min-height: 30px !important;
    padding: 0 11px !important;
  }

  .ap-hero__name-card {
    left: 10px !important;
    right: 10px !important;
    bottom: 12px !important;
    padding: 12px 13px !important;
  }

  .ap-hero__name-card strong {
    font-size: 12.5px !important;
  }

  .ap-hero__name-card span {
    font-size: 10.5px !important;
  }
}
@media (max-width: 640px) {
  .ap-hero__name-card {
    bottom: 24px !important;
  }
}

@media (max-width: 430px) {
  .ap-hero__name-card {
    bottom: 22px !important;
  }
}

@media (max-width: 360px) {
  .ap-hero__name-card {
    bottom: 20px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-eb1c321 */.ap-diagnosis-shell {
  --ap-diagnosis-black: #050505;
  --ap-diagnosis-black-2: #08080a;
  --ap-diagnosis-card: #0c0c0d;
  --ap-diagnosis-white: #ffffff;
  --ap-diagnosis-white-soft: rgba(255, 255, 255, 0.78);
  --ap-diagnosis-white-muted: rgba(255, 255, 255, 0.56);
  --ap-diagnosis-border: rgba(255, 255, 255, 0.09);
  --ap-diagnosis-orange: #ff7a1a;
  --ap-diagnosis-orange-2: #ff9a3c;
  --ap-diagnosis-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-diagnosis-max: 1260px;
  --ap-diagnosis-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-diagnosis-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* górny mikropasek — usuwa ewentualne białe piksele nad sekcją */
.ap-diagnosis-shell::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  z-index: 4;
  width: 100vw;
  height: 4px;
  transform: translateX(-50%);
  background: var(--ap-diagnosis-black);
  pointer-events: none;
}

.ap-diagnosis-shell,
.ap-diagnosis-shell *,
.ap-diagnosis-shell *::before,
.ap-diagnosis-shell *::after {
  box-sizing: border-box;
}

.ap-diagnosis-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 12%, rgba(255, 122, 26, 0.08), transparent 36%),
    radial-gradient(circle at 8% 86%, rgba(255, 122, 26, 0.05), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
  color: var(--ap-diagnosis-white);
  padding: clamp(68px, 7.5vw, 112px) clamp(18px, 4vw, 42px) clamp(78px, 8vw, 118px);
}

/* mocna kreska na dole sekcji — jak w Lovable */
.ap-diagnosis-section::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 5;
  width: 100vw;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 22px rgba(255, 122, 26, 0.42);
  pointer-events: none;
}

.ap-diagnosis-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-diagnosis-max);
  margin: 0 auto;
}

/* Intro */
.ap-diagnosis-intro {
  position: relative;
  max-width: 780px;
  margin-bottom: clamp(42px, 5vw, 66px);
  padding-left: 28px;
}

.ap-diagnosis-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-diagnosis-orange-2), var(--ap-diagnosis-orange));
  box-shadow: 0 0 18px var(--ap-diagnosis-orange-glow);
}

.ap-diagnosis-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-diagnosis-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-diagnosis-eyebrow::before {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-diagnosis-orange);
  opacity: 0.9;
}

.ap-diagnosis-title {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--ap-diagnosis-white);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-diagnosis-lead {
  max-width: 820px;
  margin: 0;
  color: var(--ap-diagnosis-white-muted);
  font-size: clamp(16px, 1.24vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* Cards */
.ap-diagnosis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.ap-diagnosis-card {
  position: relative;
  min-height: 178px;
  padding: clamp(26px, 2.5vw, 34px);
  border: 1px solid var(--ap-diagnosis-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
  transition:
    transform 0.34s var(--ap-diagnosis-ease),
    border-color 0.34s var(--ap-diagnosis-ease),
    box-shadow 0.34s var(--ap-diagnosis-ease),
    background 0.34s var(--ap-diagnosis-ease);
}

.ap-diagnosis-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 18% 0%, rgba(255, 122, 26, 0.13), transparent 42%);
  transition: opacity 0.34s var(--ap-diagnosis-ease);
  pointer-events: none;
}

.ap-diagnosis-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 122, 26, 0.34);
  box-shadow:
    0 24px 58px -34px rgba(0, 0, 0, 0.95),
    0 20px 54px -34px var(--ap-diagnosis-orange-glow);
}

.ap-diagnosis-card:hover::before {
  opacity: 1;
}

.ap-diagnosis-num {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 22px;
  color: var(--ap-diagnosis-orange);
  font-size: clamp(34px, 3vw, 43px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.ap-diagnosis-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ap-diagnosis-white-soft);
  font-size: 15.5px;
  line-height: 1.62;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* CTA Box */
.ap-diagnosis-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(22px, 4vw, 48px);
  margin-top: clamp(48px, 5vw, 66px);
  padding: clamp(28px, 3vw, 36px) clamp(28px, 3.4vw, 42px);
  padding-left: clamp(38px, 4vw, 50px);
  border: 1px solid var(--ap-diagnosis-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
}

.ap-diagnosis-cta::before {
  content: "";
  position: absolute;
  left: clamp(18px, 2vw, 24px);
  top: 24px;
  bottom: 24px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-diagnosis-orange-2), var(--ap-diagnosis-orange));
  box-shadow: 0 0 18px var(--ap-diagnosis-orange-glow);
}

.ap-diagnosis-cta-text {
  max-width: 690px;
  margin: 0;
  color: var(--ap-diagnosis-white);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.58;
  font-weight: 800;
  letter-spacing: -0.025em;
}

/* CTA — identyczny system jak header */
.ap-diagnosis-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-diagnosis-orange), var(--ap-diagnosis-orange-2));
  color: #130800 !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.2),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-diagnosis-ease),
    box-shadow 0.3s var(--ap-diagnosis-ease),
    filter 0.3s var(--ap-diagnosis-ease);
}

.ap-diagnosis-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-diagnosis-orange), var(--ap-diagnosis-orange-2));
}

.ap-diagnosis-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-diagnosis-ease), opacity 0.28s var(--ap-diagnosis-ease);
}

.ap-diagnosis-btn:hover,
.ap-diagnosis-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-diagnosis-btn:hover::after,
.ap-diagnosis-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-diagnosis-btn-arrow {
  transition: transform 0.28s var(--ap-diagnosis-ease);
}

.ap-diagnosis-btn:hover .ap-diagnosis-btn-arrow,
.ap-diagnosis-btn:focus-visible .ap-diagnosis-btn-arrow {
  transform: translateX(4px);
}

/* Focus */
.ap-diagnosis-btn:focus-visible {
  outline: 2px solid var(--ap-diagnosis-orange-2);
  outline-offset: 4px;
}

/* Animations */
.ap-diagnosis-anim {
  opacity: 0;
  transform: translateY(22px);
  animation: ap-diagnosis-enter 0.72s var(--ap-diagnosis-ease) forwards;
  animation-delay: var(--ap-diagnosis-delay, 0s);
}

@keyframes ap-diagnosis-enter {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Elementor shell reset */
.elementor-widget-html:has(.ap-diagnosis-shell),
.elementor-widget-html:has(.ap-diagnosis-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-diagnosis-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-diagnosis-shell),
.elementor-column:has(.ap-diagnosis-shell),
.elementor-widget-wrap:has(.ap-diagnosis-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

/* Responsive */
@media (max-width: 1120px) {
  .ap-diagnosis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ap-diagnosis-card {
    min-height: 168px;
  }
}

@media (max-width: 768px) {
  .ap-diagnosis-section {
    padding-top: 64px;
    padding-bottom: 86px;
  }

  .ap-diagnosis-intro {
    padding-left: 24px;
  }

  .ap-diagnosis-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .ap-diagnosis-btn {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-diagnosis-section {
    padding: 56px 18px 78px;
  }

  .ap-diagnosis-grid {
    grid-template-columns: 1fr;
  }

  .ap-diagnosis-card {
    min-height: auto;
    padding: 26px;
  }

  .ap-diagnosis-cta {
    padding: 28px 24px 28px 34px;
  }

  .ap-diagnosis-cta::before {
    left: 18px;
    top: 24px;
    bottom: 24px;
  }

  .ap-diagnosis-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-diagnosis-section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-diagnosis-title {
    font-size: 22px;
  }

  .ap-diagnosis-lead {
    font-size: 15.5px;
  }

  .ap-diagnosis-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-diagnosis-card p {
    font-size: 14.5px;
  }

  .ap-diagnosis-cta-text {
    font-size: 15.5px;
  }
}

@media (max-width: 360px) {
  .ap-diagnosis-section {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-diagnosis-card {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-diagnosis-shell *,
  .ap-diagnosis-shell *::before,
  .ap-diagnosis-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .ap-diagnosis-anim {
    opacity: 1;
    transform: none;
  }
}
/* AP DIAGNOSIS — button match with header CTA */

.ap-diagnosis-btn {
  background: linear-gradient(135deg, #ff7a1a, #ff9a3c) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
}

.ap-diagnosis-btn::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, #ff7a1a, #ff9a3c) !important;
}

.ap-diagnosis-btn:hover,
.ap-diagnosis-btn:focus-visible {
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-4164151 */.ap-webplus-shell {
  --ap-webplus-black: #050505;
  --ap-webplus-navy: #080d18;
  --ap-webplus-navy-2: #0b1020;
  --ap-webplus-card: rgba(12, 13, 16, 0.88);
  --ap-webplus-white: #ffffff;
  --ap-webplus-white-soft: rgba(255, 255, 255, 0.78);
  --ap-webplus-white-muted: rgba(255, 255, 255, 0.56);
  --ap-webplus-border: rgba(255, 255, 255, 0.09);
  --ap-webplus-orange: #ff7a1a;
  --ap-webplus-orange-2: #ff9a3c;
  --ap-webplus-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-webplus-purple: rgba(112, 76, 255, 0.20);
  --ap-webplus-max: 1260px;
  --ap-webplus-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-webplus-navy);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* usuwa puste miejsca / białe piksele na krawędziach */
.ap-webplus-shell::before,
.ap-webplus-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  height: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-webplus-shell::before {
  top: -3px;
  background: var(--ap-webplus-navy);
}

.ap-webplus-shell::after {
  bottom: -3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.28) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.28) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-webplus-shell,
.ap-webplus-shell *,
.ap-webplus-shell *::before,
.ap-webplus-shell *::after {
  box-sizing: border-box;
}

.ap-webplus-shell a {
  text-decoration: none !important;
}

.ap-webplus-shell svg {
  display: block;
}

.ap-webplus-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 4%, rgba(255, 122, 26, 0.08), transparent 32%),
    radial-gradient(circle at 88% 86%, rgba(119, 76, 255, 0.22), transparent 38%),
    radial-gradient(circle at 78% 74%, rgba(255, 122, 26, 0.055), transparent 34%),
    linear-gradient(135deg, #06080d 0%, #09101d 46%, #0b0d18 100%);
}

.ap-webplus-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-webplus-max);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 118px) clamp(18px, 4vw, 42px) clamp(78px, 8vw, 118px);
}

/* Badge */
.ap-webplus-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 17px;
  border: 1px solid rgba(255, 122, 26, 0.42);
  border-radius: 999px;
  background: rgba(255, 122, 26, 0.055);
  color: var(--ap-webplus-orange-2);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 32px -24px var(--ap-webplus-orange-glow);
}

.ap-webplus-badge-icon {
  font-size: 12px;
  line-height: 1;
}

/* Layout */
.ap-webplus-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  align-items: center;
  gap: clamp(44px, 5vw, 82px);
  margin-top: clamp(30px, 3.8vw, 46px);
}

.ap-webplus-left {
  min-width: 0;
}

.ap-webplus-head {
  position: relative;
  padding-left: 26px;
}

.ap-webplus-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-webplus-orange-2), var(--ap-webplus-orange));
  box-shadow: 0 0 18px var(--ap-webplus-orange-glow);
}

.ap-webplus-eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--ap-webplus-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.ap-webplus-title {
  max-width: 620px;
  margin: 0;
  color: var(--ap-webplus-white);
  font-size: clamp(22px, 2.15vw, 30px);
  line-height: 1.35;
  font-weight: 850;
  letter-spacing: -0.035em;
}

.ap-webplus-lead {
  max-width: 620px;
  margin: 28px 0 0;
  color: var(--ap-webplus-white-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* Buttons — system spójny z headerem/hero */
.ap-webplus-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 36px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-webplus-orange), var(--ap-webplus-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-webplus-ease),
    box-shadow 0.3s var(--ap-webplus-ease),
    filter 0.3s var(--ap-webplus-ease);
}

.ap-webplus-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-webplus-orange), var(--ap-webplus-orange-2));
}

.ap-webplus-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-webplus-ease), opacity 0.28s var(--ap-webplus-ease);
}

.ap-webplus-btn:hover,
.ap-webplus-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-webplus-btn:hover::after,
.ap-webplus-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-webplus-btn-arrow {
  transition: transform 0.28s var(--ap-webplus-ease);
}

.ap-webplus-btn:hover .ap-webplus-btn-arrow,
.ap-webplus-btn:focus-visible .ap-webplus-btn-arrow {
  transform: translateX(4px);
}

/* Right card */
.ap-webplus-card {
  position: relative;
  min-width: 0;
  padding: clamp(28px, 3vw, 40px);
  border: 1px solid rgba(255, 122, 26, 0.20);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 122, 26, 0.07), transparent 34%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(10, 10, 12, 0.86);
  box-shadow:
    0 34px 90px -44px rgba(0, 0, 0, 0.95),
    0 0 0 1px rgba(255, 122, 26, 0.025),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
  transition:
    transform 0.34s var(--ap-webplus-ease),
    border-color 0.34s var(--ap-webplus-ease),
    box-shadow 0.34s var(--ap-webplus-ease);
}

.ap-webplus-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 122, 26, 0.36);
  box-shadow:
    0 38px 100px -46px rgba(0, 0, 0, 0.96),
    0 18px 62px -42px var(--ap-webplus-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.ap-webplus-card-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-webplus-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ap-webplus-card-eyebrow::before {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-webplus-orange);
  opacity: 0.92;
}

.ap-webplus-card-title {
  margin: 0 0 clamp(24px, 2.6vw, 32px);
  color: var(--ap-webplus-white);
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.16;
  font-weight: 850;
  letter-spacing: -0.05em;
}

/* Feature tiles */
.ap-webplus-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ap-webplus-tile {
  position: relative;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  border: 1px solid var(--ap-webplus-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
  transition:
    transform 0.3s var(--ap-webplus-ease),
    border-color 0.3s var(--ap-webplus-ease),
    background 0.3s var(--ap-webplus-ease),
    box-shadow 0.3s var(--ap-webplus-ease);
}

.ap-webplus-tile::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 12% 0%, rgba(255, 122, 26, 0.11), transparent 46%);
  transition: opacity 0.3s var(--ap-webplus-ease);
  pointer-events: none;
}

.ap-webplus-tile:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 122, 26, 0.32);
  background: rgba(255, 122, 26, 0.055);
  box-shadow: 0 18px 44px -34px var(--ap-webplus-orange-glow);
}

.ap-webplus-tile:hover::before {
  opacity: 1;
}

.ap-webplus-tile-icon {
  position: relative;
  z-index: 2;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: var(--ap-webplus-orange-2);
  background: rgba(255, 122, 26, 0.08);
  border: 1px solid rgba(255, 122, 26, 0.20);
}

.ap-webplus-tile-icon svg {
  width: 18px;
  height: 18px;
}

.ap-webplus-tile-label {
  position: relative;
  z-index: 2;
  color: var(--ap-webplus-white-soft);
  font-size: 14px;
  line-height: 1.32;
  font-weight: 850;
  letter-spacing: -0.02em;
}

/* Bottom CTA */
.ap-webplus-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(22px, 4vw, 48px);
  margin-top: clamp(54px, 5.5vw, 74px);
  padding: clamp(28px, 3vw, 36px) clamp(28px, 3.4vw, 42px);
  padding-left: clamp(38px, 4vw, 50px);
  border: 1px solid var(--ap-webplus-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 16, 0.82);
  overflow: hidden;
}

.ap-webplus-cta::before {
  content: "";
  position: absolute;
  left: clamp(18px, 2vw, 24px);
  top: 24px;
  bottom: 24px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-webplus-orange-2), var(--ap-webplus-orange));
  box-shadow: 0 0 18px var(--ap-webplus-orange-glow);
}

.ap-webplus-cta-text {
  max-width: 720px;
  margin: 0;
  color: var(--ap-webplus-white);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.58;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.ap-webplus-btn--cta {
  flex: 0 0 auto;
  margin-top: 0;
}

/* Focus */
.ap-webplus-btn:focus-visible {
  outline: 2px solid var(--ap-webplus-orange-2);
  outline-offset: 4px;
}

/* Animations */
.ap-webplus-anim {
  opacity: 0;
  transform: translateY(22px);
  animation: ap-webplus-enter 0.72s var(--ap-webplus-ease) forwards;
  animation-delay: var(--ap-webplus-delay, 0s);
}

@keyframes ap-webplus-enter {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Elementor shell reset */
.elementor-widget-html:has(.ap-webplus-shell),
.elementor-widget-html:has(.ap-webplus-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-webplus-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #09101d !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-webplus-shell),
.elementor-column:has(.ap-webplus-shell),
.elementor-widget-wrap:has(.ap-webplus-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #09101d !important;
  overflow: visible !important;
}

/* Responsive */
@media (max-width: 1120px) {
  .ap-webplus-grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .ap-webplus-title,
  .ap-webplus-lead {
    max-width: 760px;
  }

  .ap-webplus-card {
    max-width: 760px;
  }
}

@media (max-width: 768px) {
  .ap-webplus-inner {
    padding-top: 64px;
    padding-bottom: 88px;
  }

  .ap-webplus-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ap-webplus-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .ap-webplus-btn--cta {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-webplus-inner {
    padding: 56px 18px 82px;
  }

  .ap-webplus-head {
    padding-left: 24px;
  }

  .ap-webplus-title {
    font-size: 23px;
  }

  .ap-webplus-lead {
    font-size: 15.5px;
  }

  .ap-webplus-btn {
    width: 100%;
    min-height: 52px;
  }

  .ap-webplus-card {
    padding: 26px 18px;
  }

  .ap-webplus-card-title {
    font-size: 28px;
  }

  .ap-webplus-tiles {
    grid-template-columns: 1fr;
  }

  .ap-webplus-tile {
    min-height: 74px;
  }

  .ap-webplus-cta {
    padding: 28px 24px 28px 34px;
  }

  .ap-webplus-cta::before {
    left: 18px;
    top: 24px;
    bottom: 24px;
  }

  .ap-webplus-btn--cta {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .ap-webplus-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-webplus-badge {
    font-size: 10.5px;
    letter-spacing: 0.11em;
    padding: 8px 13px;
  }

  .ap-webplus-eyebrow,
  .ap-webplus-card-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.15em;
  }

  .ap-webplus-title {
    font-size: 22px;
  }

  .ap-webplus-card-title {
    font-size: 26px;
    letter-spacing: -0.04em;
  }

  .ap-webplus-tile-label {
    font-size: 13.5px;
  }

  .ap-webplus-cta-text {
    font-size: 15.5px;
  }
}

@media (max-width: 360px) {
  .ap-webplus-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-webplus-card {
    padding: 24px 16px;
  }

  .ap-webplus-cta {
    padding-right: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-webplus-shell *,
  .ap-webplus-shell *::before,
  .ap-webplus-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .ap-webplus-anim {
    opacity: 1;
    transform: none;
  }
}
/* AP WEB+ — desktop/laptop card width fix */

@media (min-width: 1121px) {
  .ap-webplus-grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(590px, 1.14fr) !important;
    gap: clamp(42px, 4.6vw, 76px) !important;
  }

  .ap-webplus-card {
    width: min(100%, 660px) !important;
    justify-self: end !important;
  }

  .ap-webplus-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .ap-webplus-tile {
    min-height: 84px !important;
    padding: 15px 18px !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  .ap-webplus-tile-icon {
    flex: 0 0 34px !important;
  }

  .ap-webplus-tile-label {
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .ap-webplus-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(575px, 1.18fr) !important;
    gap: 42px !important;
  }

  .ap-webplus-card {
    width: min(100%, 640px) !important;
  }

  .ap-webplus-card {
    padding: 34px 32px !important;
  }

  .ap-webplus-tile {
    padding: 14px 15px !important;
    gap: 10px !important;
  }

  .ap-webplus-tile-label {
    font-size: 13.5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-b4cd107 */.ap-case-shell {
  --ap-case-black: #050505;
  --ap-case-card: rgba(13, 13, 15, 0.92);
  --ap-case-white: #ffffff;
  --ap-case-white-soft: rgba(255, 255, 255, 0.78);
  --ap-case-white-muted: rgba(255, 255, 255, 0.56);
  --ap-case-border: rgba(255, 255, 255, 0.09);
  --ap-case-orange: #ff7a1a;
  --ap-case-orange-2: #ff9a3c;
  --ap-case-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-case-max: 1260px;
  --ap-case-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-case-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-case-shell::before,
.ap-case-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  height: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-case-shell::before {
  top: -3px;
  background: var(--ap-case-black);
}

.ap-case-shell::after {
  bottom: -3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-case-shell,
.ap-case-shell *,
.ap-case-shell *::before,
.ap-case-shell *::after {
  box-sizing: border-box;
}

.ap-case-shell a {
  text-decoration: none !important;
}

.ap-case-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 122, 26, 0.08), transparent 34%),
    radial-gradient(circle at 84% 72%, rgba(255, 122, 26, 0.055), transparent 32%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-case-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-case-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 122px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 122px);
}

.ap-case-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(420px, 1.02fr);
  align-items: center;
  gap: clamp(46px, 6vw, 86px);
}

.ap-case-visual {
  position: relative;
  min-width: 0;
}

.ap-case-mockup {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 22px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(12, 12, 14, 0.94);
  box-shadow:
    0 38px 100px -46px rgba(0, 0, 0, 0.96),
    0 0 78px -52px var(--ap-case-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.ap-case-mockup::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 122, 26, 0.12);
}

.ap-case-browser {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 122, 26, 0.08), transparent 38%),
    rgba(15, 15, 18, 0.96);
}

.ap-case-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
}

.ap-case-dot-orange {
  background: var(--ap-case-orange);
  box-shadow: 0 0 14px var(--ap-case-orange-glow);
}

.ap-case-url {
  min-width: 0;
  margin-left: 10px;
  color: rgba(255, 255, 255, 0.44);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ap-case-screen {
  position: relative;
  z-index: 2;
  height: clamp(420px, 38vw, 540px);
  overflow-y: auto;
  overflow-x: hidden;
  background: #0b0b0d;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 122, 26, 0.72) rgba(255, 255, 255, 0.05);
}

.ap-case-screen:focus-visible {
  outline: 2px solid var(--ap-case-orange-2);
  outline-offset: -2px;
}

.ap-case-screen::-webkit-scrollbar {
  width: 10px;
}

.ap-case-screen::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.045);
}

.ap-case-screen::-webkit-scrollbar-thumb {
  border: 2px solid #0b0b0d;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-case-orange), var(--ap-case-orange-2));
}

.ap-case-shot {
  display: block;
  width: 100%;
  height: auto;
}

.ap-case-caption {
  margin: 16px 0 0;
  color: var(--ap-case-white-muted);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

.ap-case-content {
  min-width: 0;
}

.ap-case-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 22px;
  color: var(--ap-case-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ap-case-eyebrow span {
  display: block;
  width: 30px;
  height: 1px;
  background: var(--ap-case-orange);
  opacity: 0.92;
}

.ap-case-title {
  max-width: 680px;
  margin: 0 0 34px;
  color: var(--ap-case-white);
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.ap-case-block {
  max-width: 680px;
  margin: 0 0 28px;
}

.ap-case-label {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.ap-case-block p {
  margin: 0;
  color: var(--ap-case-white-soft);
  font-size: clamp(15.5px, 1.15vw, 17px);
  line-height: 1.68;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.ap-case-result {
  position: relative;
  max-width: 680px;
  margin: 34px 0 34px;
  padding: clamp(24px, 2.5vw, 32px);
  border: 1px solid rgba(255, 122, 26, 0.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 122, 26, 0.12), transparent 38%),
    linear-gradient(155deg, rgba(255, 122, 26, 0.09), rgba(255, 122, 26, 0.025) 60%),
    rgba(12, 12, 14, 0.88);
  box-shadow:
    0 24px 70px -44px var(--ap-case-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
  overflow: hidden;
}

.ap-case-result-label {
  display: block;
  margin-bottom: 14px;
  color: var(--ap-case-orange-2);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

.ap-case-result p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(15.5px, 1.15vw, 17px);
  line-height: 1.68;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ap-case-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-case-orange), var(--ap-case-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-case-ease),
    box-shadow 0.3s var(--ap-case-ease),
    filter 0.3s var(--ap-case-ease);
}

.ap-case-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-case-orange), var(--ap-case-orange-2));
}

.ap-case-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-case-ease), opacity 0.28s var(--ap-case-ease);
}

.ap-case-btn:hover,
.ap-case-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-case-btn:hover::after,
.ap-case-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-case-btn-arrow {
  transition: transform 0.28s var(--ap-case-ease);
}

.ap-case-btn:hover .ap-case-btn-arrow,
.ap-case-btn:focus-visible .ap-case-btn-arrow {
  transform: translateX(4px);
}

.ap-case-btn:focus-visible {
  outline: 2px solid var(--ap-case-orange-2);
  outline-offset: 4px;
}

.elementor-widget-html:has(.ap-case-shell),
.elementor-widget-html:has(.ap-case-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-case-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-case-shell),
.elementor-column:has(.ap-case-shell),
.elementor-widget-wrap:has(.ap-case-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .ap-case-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .ap-case-visual {
    max-width: 820px;
  }

  .ap-case-content {
    max-width: 820px;
  }

  .ap-case-title {
    max-width: 760px;
  }
}

@media (max-width: 768px) {
  .ap-case-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-case-screen {
    height: 420px;
  }

  .ap-case-title {
    font-size: clamp(34px, 8vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.05em;
  }
}

@media (max-width: 640px) {
  .ap-case-inner {
    padding: 58px 18px 84px;
  }

  .ap-case-grid {
    gap: 46px;
  }

  .ap-case-screen {
    height: 360px;
  }

  .ap-case-browser {
    min-height: 40px;
    padding: 0 13px;
  }

  .ap-case-url {
    font-size: 11px;
  }

  .ap-case-title {
    font-size: clamp(32px, 10vw, 42px);
  }

  .ap-case-block p,
  .ap-case-result p {
    font-size: 15px;
  }

  .ap-case-result {
    padding: 24px;
  }

  .ap-case-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-case-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-case-screen {
    height: 320px;
  }

  .ap-case-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.15em;
  }

  .ap-case-title {
    font-size: clamp(30px, 11vw, 38px);
    letter-spacing: -0.04em;
  }

  .ap-case-caption {
    font-size: 12.5px;
  }
}

@media (max-width: 360px) {
  .ap-case-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-case-screen {
    height: 300px;
  }

  .ap-case-title {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-case-shell *,
  .ap-case-shell *::before,
  .ap-case-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* AP CASE - desktop/laptop compact view */

@media (min-width: 1121px) {
  .ap-case-inner {
    padding-top: clamp(54px, 5.4vw, 78px) !important;
    padding-bottom: clamp(56px, 5.6vw, 82px) !important;
  }

  .ap-case-grid {
    grid-template-columns: minmax(0, 0.96fr) minmax(470px, 1.04fr) !important;
    gap: clamp(48px, 5vw, 78px) !important;
    align-items: center !important;
  }

  .ap-case-screen {
    height: clamp(390px, 31vw, 470px) !important;
  }

  .ap-case-title {
    max-width: 640px !important;
    margin-bottom: 26px !important;
    font-size: clamp(44px, 3.55vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em !important;
  }

  .ap-case-eyebrow {
    margin-bottom: 18px !important;
  }

  .ap-case-block {
    margin-bottom: 22px !important;
  }

  .ap-case-label {
    margin-bottom: 10px !important;
  }

  .ap-case-block p {
    font-size: clamp(15px, 1.05vw, 16.5px) !important;
    line-height: 1.58 !important;
  }

  .ap-case-result {
    margin-top: 26px !important;
    margin-bottom: 26px !important;
    padding: 24px 28px !important;
  }

  .ap-case-result-label {
    margin-bottom: 12px !important;
  }

  .ap-case-result p {
    font-size: clamp(15px, 1.05vw, 16.5px) !important;
    line-height: 1.58 !important;
  }

  .ap-case-btn {
    min-height: 46px !important;
  }

  .ap-case-caption {
    margin-top: 12px !important;
  }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .ap-case-inner {
    padding-top: 48px !important;
    padding-bottom: 54px !important;
  }

  .ap-case-screen {
    height: 390px !important;
  }

  .ap-case-title {
    font-size: clamp(40px, 3.25vw, 52px) !important;
    margin-bottom: 22px !important;
  }

  .ap-case-block {
    margin-bottom: 18px !important;
  }

  .ap-case-block p,
  .ap-case-result p {
    line-height: 1.52 !important;
  }

  .ap-case-result {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
    padding: 22px 26px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-492d09f */.ap-services-shell {
  --ap-services-black: #050505;
  --ap-services-black-2: #08080a;
  --ap-services-card: rgba(13, 13, 14, 0.92);
  --ap-services-white: #ffffff;
  --ap-services-white-soft: rgba(255, 255, 255, 0.78);
  --ap-services-white-muted: rgba(255, 255, 255, 0.56);
  --ap-services-border: rgba(255, 255, 255, 0.09);
  --ap-services-orange: #ff7a1a;
  --ap-services-orange-2: #ff9a3c;
  --ap-services-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-services-max: 1260px;
  --ap-services-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-services-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-services-shell::before,
.ap-services-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-services-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-services-black);
}

.ap-services-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-services-shell,
.ap-services-shell *,
.ap-services-shell *::before,
.ap-services-shell *::after {
  box-sizing: border-box;
}

.ap-services-shell a {
  text-decoration: none !important;
}

.ap-services-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 122, 26, 0.075), transparent 34%),
    radial-gradient(circle at 86% 84%, rgba(255, 122, 26, 0.045), transparent 32%),
    linear-gradient(180deg, #050505 0%, #070708 100%);
  color: var(--ap-services-white);
}

.ap-services-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-services-max);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) clamp(18px, 4vw, 42px) clamp(78px, 8vw, 118px);
}

.ap-services-intro {
  max-width: 820px;
}

.ap-services-head {
  position: relative;
  padding-left: 28px;
}

.ap-services-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-services-orange-2), var(--ap-services-orange));
  box-shadow: 0 0 18px var(--ap-services-orange-glow);
}

.ap-services-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-services-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-services-eyebrow::before {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-services-orange);
  opacity: 0.9;
}

.ap-services-title {
  max-width: 800px;
  margin: 0;
  color: var(--ap-services-white);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-services-lead {
  max-width: 820px;
  margin: 24px 0 0;
  padding-left: 31px;
  color: var(--ap-services-white-muted);
  font-size: clamp(16px, 1.24vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
  margin-top: clamp(48px, 5vw, 66px);
}

.ap-services-card {
  position: relative;
  min-height: 236px;
  padding: clamp(28px, 2.7vw, 38px);
  border: 1px solid var(--ap-services-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    var(--ap-services-card);
  overflow: hidden;
  transition:
    transform 0.34s var(--ap-services-ease),
    border-color 0.34s var(--ap-services-ease),
    box-shadow 0.34s var(--ap-services-ease),
    background 0.34s var(--ap-services-ease);
}

.ap-services-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 18% 0%, rgba(255, 122, 26, 0.13), transparent 42%);
  transition: opacity 0.34s var(--ap-services-ease);
  pointer-events: none;
}

.ap-services-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 122, 26, 0.34);
  box-shadow:
    0 24px 58px -34px rgba(0, 0, 0, 0.95),
    0 20px 54px -34px var(--ap-services-orange-glow);
}

.ap-services-card:hover::before {
  opacity: 1;
}

.ap-services-card-label {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 18px;
  color: var(--ap-services-orange);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-services-card-title {
  position: relative;
  z-index: 2;
  max-width: 320px;
  margin: 0 0 20px;
  color: var(--ap-services-white);
  font-size: clamp(26px, 2.1vw, 34px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.055em;
}

.ap-services-card-text {
  position: relative;
  z-index: 2;
  max-width: 330px;
  margin: 0;
  color: var(--ap-services-white-muted);
  font-size: 15.5px;
  line-height: 1.62;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ap-services-cta {
  margin-top: clamp(40px, 4.8vw, 58px);
}

.ap-services-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-services-orange), var(--ap-services-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-services-ease),
    box-shadow 0.3s var(--ap-services-ease),
    filter 0.3s var(--ap-services-ease);
}

.ap-services-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-services-orange), var(--ap-services-orange-2));
}

.ap-services-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-services-ease), opacity 0.28s var(--ap-services-ease);
}

.ap-services-btn:hover,
.ap-services-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-services-btn:hover::after,
.ap-services-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-services-btn-arrow {
  transition: transform 0.28s var(--ap-services-ease);
}

.ap-services-btn:hover .ap-services-btn-arrow,
.ap-services-btn:focus-visible .ap-services-btn-arrow {
  transform: translateX(4px);
}

.ap-services-btn:focus-visible {
  outline: 2px solid var(--ap-services-orange-2);
  outline-offset: 4px;
}

.elementor-widget-html:has(.ap-services-shell),
.elementor-widget-html:has(.ap-services-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-services-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-services-shell),
.elementor-column:has(.ap-services-shell),
.elementor-widget-wrap:has(.ap-services-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .ap-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ap-services-card {
    min-height: 220px;
  }
}

@media (max-width: 768px) {
  .ap-services-inner {
    padding-top: 64px;
    padding-bottom: 88px;
  }

  .ap-services-head {
    padding-left: 24px;
  }

  .ap-services-lead {
    padding-left: 27px;
  }
}

@media (max-width: 640px) {
  .ap-services-inner {
    padding: 56px 18px 82px;
  }

  .ap-services-grid {
    grid-template-columns: 1fr;
  }

  .ap-services-card {
    min-height: auto;
    padding: 28px 26px;
  }

  .ap-services-card-title {
    font-size: 28px;
  }

  .ap-services-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-services-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-services-eyebrow,
  .ap-services-card-label {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-services-title {
    font-size: 22px;
  }

  .ap-services-lead {
    font-size: 15.5px;
  }

  .ap-services-card-title {
    font-size: 27px;
  }

  .ap-services-card-text {
    font-size: 14.5px;
  }
}

@media (max-width: 360px) {
  .ap-services-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-services-card {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-services-shell *,
  .ap-services-shell *::before,
  .ap-services-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-4360bd5 */.ap-jakub-case-shell {
  --ap-jakub-case-black: #050505;
  --ap-jakub-case-card: rgba(13, 13, 15, 0.92);
  --ap-jakub-case-white: #ffffff;
  --ap-jakub-case-white-soft: rgba(255, 255, 255, 0.78);
  --ap-jakub-case-white-muted: rgba(255, 255, 255, 0.56);
  --ap-jakub-case-border: rgba(255, 255, 255, 0.09);
  --ap-jakub-case-orange: #ff7a1a;
  --ap-jakub-case-orange-2: #ff9a3c;
  --ap-jakub-case-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-jakub-case-max: 1260px;
  --ap-jakub-case-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-jakub-case-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-jakub-case-shell::before,
.ap-jakub-case-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  height: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-jakub-case-shell::before {
  top: -3px;
  background: var(--ap-jakub-case-black);
}

.ap-jakub-case-shell::after {
  bottom: -3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-jakub-case-shell,
.ap-jakub-case-shell *,
.ap-jakub-case-shell *::before,
.ap-jakub-case-shell *::after {
  box-sizing: border-box;
}

.ap-jakub-case-shell a {
  text-decoration: none !important;
}

.ap-jakub-case-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 122, 26, 0.08), transparent 34%),
    radial-gradient(circle at 10% 76%, rgba(255, 122, 26, 0.055), transparent 32%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-jakub-case-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-jakub-case-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 122px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 122px);
}

.ap-jakub-case-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.02fr) minmax(0, 0.98fr);
  align-items: center;
  gap: clamp(46px, 6vw, 86px);
}

.ap-jakub-case-content {
  min-width: 0;
}

.ap-jakub-case-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 22px;
  color: var(--ap-jakub-case-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ap-jakub-case-eyebrow span {
  display: block;
  width: 30px;
  height: 1px;
  background: var(--ap-jakub-case-orange);
  opacity: 0.92;
}

.ap-jakub-case-title {
  max-width: 680px;
  margin: 0 0 34px;
  color: var(--ap-jakub-case-white);
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.ap-jakub-case-block {
  max-width: 680px;
  margin: 0 0 28px;
}

.ap-jakub-case-label {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.ap-jakub-case-block p {
  margin: 0;
  color: var(--ap-jakub-case-white-soft);
  font-size: clamp(15.5px, 1.15vw, 17px);
  line-height: 1.68;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.ap-jakub-case-result {
  position: relative;
  max-width: 680px;
  margin: 34px 0 34px;
  padding: clamp(24px, 2.5vw, 32px);
  border: 1px solid rgba(255, 122, 26, 0.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 122, 26, 0.12), transparent 38%),
    linear-gradient(155deg, rgba(255, 122, 26, 0.09), rgba(255, 122, 26, 0.025) 60%),
    rgba(12, 12, 14, 0.88);
  box-shadow:
    0 24px 70px -44px var(--ap-jakub-case-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
  overflow: hidden;
}

.ap-jakub-case-result-label {
  display: block;
  margin-bottom: 14px;
  color: var(--ap-jakub-case-orange-2);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

.ap-jakub-case-result p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(15.5px, 1.15vw, 17px);
  line-height: 1.68;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ap-jakub-case-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-jakub-case-orange), var(--ap-jakub-case-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-jakub-case-ease),
    box-shadow 0.3s var(--ap-jakub-case-ease),
    filter 0.3s var(--ap-jakub-case-ease);
}

.ap-jakub-case-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-jakub-case-orange), var(--ap-jakub-case-orange-2));
}

.ap-jakub-case-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-jakub-case-ease), opacity 0.28s var(--ap-jakub-case-ease);
}

.ap-jakub-case-btn:hover,
.ap-jakub-case-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-jakub-case-btn:hover::after,
.ap-jakub-case-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-jakub-case-btn-arrow {
  transition: transform 0.28s var(--ap-jakub-case-ease);
}

.ap-jakub-case-btn:hover .ap-jakub-case-btn-arrow,
.ap-jakub-case-btn:focus-visible .ap-jakub-case-btn-arrow {
  transform: translateX(4px);
}

.ap-jakub-case-btn:focus-visible {
  outline: 2px solid var(--ap-jakub-case-orange-2);
  outline-offset: 4px;
}

.ap-jakub-case-visual {
  position: relative;
  min-width: 0;
}

.ap-jakub-case-mockup {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 22px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(12, 12, 14, 0.94);
  box-shadow:
    0 38px 100px -46px rgba(0, 0, 0, 0.96),
    0 0 78px -52px var(--ap-jakub-case-orange-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.ap-jakub-case-mockup::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 122, 26, 0.12);
}

.ap-jakub-case-browser {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 122, 26, 0.08), transparent 38%),
    rgba(15, 15, 18, 0.96);
}

.ap-jakub-case-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
}

.ap-jakub-case-dot-orange {
  background: var(--ap-jakub-case-orange);
  box-shadow: 0 0 14px var(--ap-jakub-case-orange-glow);
}

.ap-jakub-case-url {
  min-width: 0;
  margin-left: 10px;
  color: rgba(255, 255, 255, 0.44);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ap-jakub-case-screen {
  position: relative;
  z-index: 2;
  height: clamp(420px, 38vw, 540px);
  overflow-y: auto;
  overflow-x: hidden;
  background: #0b0b0d;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 122, 26, 0.72) rgba(255, 255, 255, 0.05);
}

.ap-jakub-case-screen:focus-visible {
  outline: 2px solid var(--ap-jakub-case-orange-2);
  outline-offset: -2px;
}

.ap-jakub-case-screen::-webkit-scrollbar {
  width: 10px;
}

.ap-jakub-case-screen::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.045);
}

.ap-jakub-case-screen::-webkit-scrollbar-thumb {
  border: 2px solid #0b0b0d;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-jakub-case-orange), var(--ap-jakub-case-orange-2));
}

.ap-jakub-case-shot {
  display: block;
  width: 100%;
  height: auto;
}

.ap-jakub-case-caption {
  margin: 16px 0 0;
  color: var(--ap-jakub-case-white-muted);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

.elementor-widget-html:has(.ap-jakub-case-shell),
.elementor-widget-html:has(.ap-jakub-case-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-jakub-case-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-jakub-case-shell),
.elementor-column:has(.ap-jakub-case-shell),
.elementor-widget-wrap:has(.ap-jakub-case-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .ap-jakub-case-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .ap-jakub-case-content {
    max-width: 820px;
  }

  .ap-jakub-case-visual {
    max-width: 820px;
  }

  .ap-jakub-case-title {
    max-width: 760px;
  }
}

@media (max-width: 768px) {
  .ap-jakub-case-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-jakub-case-screen {
    height: 420px;
  }

  .ap-jakub-case-title {
    font-size: clamp(34px, 8vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.05em;
  }
}

@media (max-width: 640px) {
  .ap-jakub-case-inner {
    padding: 58px 18px 84px;
  }

  .ap-jakub-case-grid {
    gap: 46px;
  }

  .ap-jakub-case-screen {
    height: 360px;
  }

  .ap-jakub-case-browser {
    min-height: 40px;
    padding: 0 13px;
  }

  .ap-jakub-case-url {
    font-size: 11px;
  }

  .ap-jakub-case-title {
    font-size: clamp(32px, 10vw, 42px);
  }

  .ap-jakub-case-block p,
  .ap-jakub-case-result p {
    font-size: 15px;
  }

  .ap-jakub-case-result {
    padding: 24px;
  }

  .ap-jakub-case-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-jakub-case-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-jakub-case-screen {
    height: 320px;
  }

  .ap-jakub-case-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.15em;
  }

  .ap-jakub-case-title {
    font-size: clamp(30px, 11vw, 38px);
    letter-spacing: -0.04em;
  }

  .ap-jakub-case-caption {
    font-size: 12.5px;
  }
}

@media (max-width: 360px) {
  .ap-jakub-case-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-jakub-case-screen {
    height: 300px;
  }

  .ap-jakub-case-title {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-jakub-case-shell *,
  .ap-jakub-case-shell *::before,
  .ap-jakub-case-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* AP JAKUB CASE - desktop/laptop compact view */

@media (min-width: 1121px) {
  .ap-jakub-case-inner {
    padding-top: clamp(54px, 5.4vw, 78px) !important;
    padding-bottom: clamp(56px, 5.6vw, 82px) !important;
  }

  .ap-jakub-case-grid {
    grid-template-columns: minmax(470px, 1.04fr) minmax(0, 0.96fr) !important;
    gap: clamp(48px, 5vw, 78px) !important;
    align-items: center !important;
  }

  .ap-jakub-case-screen {
    height: clamp(390px, 31vw, 470px) !important;
  }

  .ap-jakub-case-title {
    max-width: 640px !important;
    margin-bottom: 26px !important;
    font-size: clamp(44px, 3.55vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em !important;
  }

  .ap-jakub-case-eyebrow {
    margin-bottom: 18px !important;
  }

  .ap-jakub-case-block {
    margin-bottom: 22px !important;
  }

  .ap-jakub-case-label {
    margin-bottom: 10px !important;
  }

  .ap-jakub-case-block p {
    font-size: clamp(15px, 1.05vw, 16.5px) !important;
    line-height: 1.58 !important;
  }

  .ap-jakub-case-result {
    margin-top: 26px !important;
    margin-bottom: 26px !important;
    padding: 24px 28px !important;
  }

  .ap-jakub-case-result-label {
    margin-bottom: 12px !important;
  }

  .ap-jakub-case-result p {
    font-size: clamp(15px, 1.05vw, 16.5px) !important;
    line-height: 1.58 !important;
  }

  .ap-jakub-case-btn {
    min-height: 46px !important;
  }

  .ap-jakub-case-caption {
    margin-top: 12px !important;
  }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .ap-jakub-case-inner {
    padding-top: 48px !important;
    padding-bottom: 54px !important;
  }

  .ap-jakub-case-screen {
    height: 390px !important;
  }

  .ap-jakub-case-title {
    font-size: clamp(40px, 3.25vw, 52px) !important;
    margin-bottom: 22px !important;
  }

  .ap-jakub-case-block {
    margin-bottom: 18px !important;
  }

  .ap-jakub-case-block p,
  .ap-jakub-case-result p {
    line-height: 1.52 !important;
  }

  .ap-jakub-case-result {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
    padding: 22px 26px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-36f2d3e */.ap-projects-shell {
  --ap-projects-black: #050505;
  --ap-projects-black-2: #08080a;
  --ap-projects-card: rgba(13, 13, 15, 0.92);
  --ap-projects-white: #ffffff;
  --ap-projects-white-soft: rgba(255, 255, 255, 0.78);
  --ap-projects-white-muted: rgba(255, 255, 255, 0.58);
  --ap-projects-border: rgba(255, 255, 255, 0.09);
  --ap-projects-orange: #ff7a1a;
  --ap-projects-orange-2: #ff9a3c;
  --ap-projects-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-projects-max: 1260px;
  --ap-projects-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-projects-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-projects-shell::before,
.ap-projects-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  height: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-projects-shell::before {
  top: -3px;
  background: var(--ap-projects-black);
}

.ap-projects-shell::after {
  bottom: -3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-projects-shell,
.ap-projects-shell *,
.ap-projects-shell *::before,
.ap-projects-shell *::after {
  box-sizing: border-box;
}

.ap-projects-shell a {
  text-decoration: none !important;
}

.ap-projects-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 14%, rgba(255, 122, 26, 0.08), transparent 34%),
    radial-gradient(circle at 86% 86%, rgba(255, 122, 26, 0.055), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-projects-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-projects-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px);
}

.ap-projects-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(28px, 5vw, 64px);
  margin-bottom: clamp(42px, 5vw, 62px);
}

.ap-projects-head-left {
  position: relative;
  max-width: 820px;
  padding-left: 28px;
}

.ap-projects-head-left::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-projects-orange-2), var(--ap-projects-orange));
  box-shadow: 0 0 18px var(--ap-projects-orange-glow);
}

.ap-projects-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-projects-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-projects-eyebrow span {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-projects-orange);
  opacity: 0.92;
}

.ap-projects-title {
  max-width: 820px;
  margin: 0;
  color: var(--ap-projects-white);
  font-size: clamp(22px, 2.15vw, 32px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-projects-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 0 0 auto;
  color: var(--ap-projects-white-soft) !important;
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
  white-space: nowrap;
  transition:
    color 0.28s var(--ap-projects-ease),
    transform 0.28s var(--ap-projects-ease),
    text-shadow 0.28s var(--ap-projects-ease);
}

.ap-projects-all:hover,
.ap-projects-all:focus-visible {
  color: var(--ap-projects-orange-2) !important;
  transform: translateY(-1px);
  text-shadow: 0 0 14px rgba(255, 122, 26, 0.22);
}

.ap-projects-arrow,
.ap-projects-btn-arrow {
  transition: transform 0.28s var(--ap-projects-ease);
}

.ap-projects-all:hover .ap-projects-arrow,
.ap-projects-all:focus-visible .ap-projects-arrow,
.ap-projects-link:hover .ap-projects-arrow,
.ap-projects-link:focus-visible .ap-projects-arrow,
.ap-projects-btn:hover .ap-projects-btn-arrow,
.ap-projects-btn:focus-visible .ap-projects-btn-arrow {
  transform: translateX(4px);
}

.ap-projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.ap-projects-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  border: 1px solid var(--ap-projects-border);
  border-radius: 22px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
  transition:
    transform 0.34s var(--ap-projects-ease),
    border-color 0.34s var(--ap-projects-ease),
    box-shadow 0.34s var(--ap-projects-ease),
    background 0.34s var(--ap-projects-ease);
}

.ap-projects-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 22% 0%, rgba(255, 122, 26, 0.16), transparent 44%);
  transition: opacity 0.34s var(--ap-projects-ease);
  pointer-events: none;
}

.ap-projects-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 122, 26, 0.38);
  box-shadow:
    0 24px 58px -34px rgba(0, 0, 0, 0.95),
    0 20px 54px -34px var(--ap-projects-orange-glow);
}

.ap-projects-card:hover::before {
  opacity: 1;
}

.ap-projects-frame {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075);
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 122, 26, 0.10), transparent 38%),
    rgba(11, 11, 13, 0.96);
}

.ap-projects-browser {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(15, 15, 18, 0.86);
}

.ap-projects-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
}

.ap-projects-dot-orange {
  background: var(--ap-projects-orange);
  box-shadow: 0 0 14px var(--ap-projects-orange-glow);
}

.ap-projects-url {
  min-width: 0;
  margin-left: 8px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ap-projects-shot {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #09090b;
}

.ap-projects-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transform: scale(1.001);
  transition: transform 0.58s var(--ap-projects-ease), filter 0.58s var(--ap-projects-ease);
}

.ap-projects-card:hover .ap-projects-img {
  transform: scale(1.055);
  filter: saturate(1.05) brightness(1.04);
}

.ap-projects-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(22px, 2.2vw, 28px);
}

.ap-projects-category {
  display: block;
  margin-bottom: 14px;
  color: var(--ap-projects-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ap-projects-name {
  margin: 0 0 14px;
  color: var(--ap-projects-white);
  font-size: clamp(23px, 1.8vw, 28px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.ap-projects-desc {
  margin: 0 0 26px;
  color: var(--ap-projects-white-muted);
  font-size: 15.5px;
  line-height: 1.62;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ap-projects-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: auto;
}

.ap-projects-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.02em;
  transition:
    color 0.26s var(--ap-projects-ease),
    transform 0.26s var(--ap-projects-ease),
    text-shadow 0.26s var(--ap-projects-ease);
}

.ap-projects-link:hover,
.ap-projects-link:focus-visible {
  transform: translateY(-1px);
}

.ap-projects-link-primary {
  color: var(--ap-projects-white) !important;
}

.ap-projects-link-primary:hover,
.ap-projects-link-primary:focus-visible {
  color: var(--ap-projects-orange-2) !important;
  text-shadow: 0 0 14px rgba(255, 122, 26, 0.22);
}

.ap-projects-link-secondary {
  color: rgba(255, 255, 255, 0.54) !important;
}

.ap-projects-link-secondary:hover,
.ap-projects-link-secondary:focus-visible {
  color: var(--ap-projects-white) !important;
}

.ap-projects-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(22px, 4vw, 48px);
  margin-top: clamp(48px, 5vw, 66px);
  padding: clamp(28px, 3vw, 36px) clamp(28px, 3.4vw, 42px);
  padding-left: clamp(38px, 4vw, 50px);
  border: 1px solid var(--ap-projects-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
}

.ap-projects-cta::before {
  content: "";
  position: absolute;
  left: clamp(18px, 2vw, 24px);
  top: 24px;
  bottom: 24px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-projects-orange-2), var(--ap-projects-orange));
  box-shadow: 0 0 18px var(--ap-projects-orange-glow);
}

.ap-projects-cta-text {
  max-width: 640px;
  margin: 0;
  color: var(--ap-projects-white);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.58;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.ap-projects-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-projects-orange), var(--ap-projects-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-projects-ease),
    box-shadow 0.3s var(--ap-projects-ease),
    filter 0.3s var(--ap-projects-ease);
}

.ap-projects-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-projects-orange), var(--ap-projects-orange-2));
}

.ap-projects-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-projects-ease), opacity 0.28s var(--ap-projects-ease);
}

.ap-projects-btn:hover,
.ap-projects-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-projects-btn:hover::after,
.ap-projects-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-projects-all:focus-visible,
.ap-projects-link:focus-visible,
.ap-projects-btn:focus-visible {
  outline: 2px solid var(--ap-projects-orange-2);
  outline-offset: 4px;
  border-radius: 10px;
}

.elementor-widget-html:has(.ap-projects-shell),
.elementor-widget-html:has(.ap-projects-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-projects-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-projects-shell),
.elementor-column:has(.ap-projects-shell),
.elementor-widget-wrap:has(.ap-projects-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .ap-projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ap-projects-card:last-child {
    grid-column: 1 / -1;
    max-width: 620px;
  }
}

@media (max-width: 900px) {
  .ap-projects-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ap-projects-all {
    margin-left: 28px;
  }
}

@media (max-width: 768px) {
  .ap-projects-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-projects-grid {
    grid-template-columns: 1fr;
  }

  .ap-projects-card:last-child {
    grid-column: auto;
    max-width: none;
  }

  .ap-projects-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .ap-projects-btn {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-projects-inner {
    padding: 58px 18px 84px;
  }

  .ap-projects-head-left {
    padding-left: 24px;
  }

  .ap-projects-all {
    margin-left: 24px;
  }

  .ap-projects-shot {
    aspect-ratio: 16 / 10.8;
  }

  .ap-projects-body {
    padding: 24px;
  }

  .ap-projects-links {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .ap-projects-cta {
    padding: 28px 24px 28px 34px;
  }

  .ap-projects-cta::before {
    left: 18px;
    top: 24px;
    bottom: 24px;
  }

  .ap-projects-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-projects-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-projects-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-projects-title {
    font-size: 22px;
  }

  .ap-projects-name {
    font-size: 22px;
  }

  .ap-projects-desc {
    font-size: 14.5px;
  }

  .ap-projects-category {
    font-size: 10.5px;
    letter-spacing: 0.15em;
  }

  .ap-projects-cta-text {
    font-size: 15.5px;
  }
}

@media (max-width: 360px) {
  .ap-projects-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-projects-body {
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-projects-shell *,
  .ap-projects-shell *::before,
  .ap-projects-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-454cae8 */.ap-process-shell {
  --ap-process-black: #050505;
  --ap-process-black-2: #08080a;
  --ap-process-card: rgba(13, 13, 14, 0.92);
  --ap-process-white: #ffffff;
  --ap-process-white-soft: rgba(255, 255, 255, 0.78);
  --ap-process-white-muted: rgba(255, 255, 255, 0.58);
  --ap-process-border: rgba(255, 255, 255, 0.09);
  --ap-process-orange: #ff7a1a;
  --ap-process-orange-2: #ff9a3c;
  --ap-process-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-process-max: 1260px;
  --ap-process-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-process-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-process-shell::before,
.ap-process-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-process-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-process-black);
}

.ap-process-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-process-shell,
.ap-process-shell *,
.ap-process-shell *::before,
.ap-process-shell *::after {
  box-sizing: border-box;
}

.ap-process-shell a {
  text-decoration: none !important;
}

.ap-process-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 122, 26, 0.075), transparent 34%),
    radial-gradient(circle at 86% 88%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-process-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-process-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px);
}

.ap-process-intro {
  position: relative;
  max-width: 840px;
  margin-bottom: clamp(42px, 5vw, 64px);
  padding-left: 28px;
}

.ap-process-intro-line {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-process-orange-2), var(--ap-process-orange));
  box-shadow: 0 0 18px var(--ap-process-orange-glow);
}

.ap-process-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-process-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-process-eyebrow span {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-process-orange);
  opacity: 0.92;
}

.ap-process-title {
  max-width: 820px;
  margin: 0 0 22px;
  color: var(--ap-process-white);
  font-size: clamp(22px, 2.15vw, 32px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-process-lead {
  max-width: 840px;
  margin: 0;
  color: var(--ap-process-white-muted);
  font-size: clamp(16px, 1.24vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: ap-process-counter;
}

.ap-process-card {
  position: relative;
  min-height: 194px;
  padding: clamp(26px, 2.5vw, 34px);
  border: 1px solid var(--ap-process-border);
  border-radius: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
  transition:
    transform 0.34s var(--ap-process-ease),
    border-color 0.34s var(--ap-process-ease),
    box-shadow 0.34s var(--ap-process-ease),
    background 0.34s var(--ap-process-ease);
}

.ap-process-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 18% 0%, rgba(255, 122, 26, 0.13), transparent 42%);
  transition: opacity 0.34s var(--ap-process-ease);
  pointer-events: none;
}

.ap-process-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 122, 26, 0.34);
  box-shadow:
    0 24px 58px -34px rgba(0, 0, 0, 0.95),
    0 20px 54px -34px var(--ap-process-orange-glow);
}

.ap-process-card:hover::before {
  opacity: 1;
}

.ap-process-card-glow {
  position: absolute;
  right: -80px;
  top: -80px;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.16), transparent 68%);
  opacity: 0;
  transition: opacity 0.34s var(--ap-process-ease);
  pointer-events: none;
}

.ap-process-card:hover .ap-process-card-glow {
  opacity: 1;
}

.ap-process-number {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 22px;
  color: rgba(255, 122, 26, 0.36);
  font-size: clamp(44px, 4.4vw, 56px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.06em;
  transition:
    color 0.34s var(--ap-process-ease),
    text-shadow 0.34s var(--ap-process-ease);
}

.ap-process-card:hover .ap-process-number {
  color: var(--ap-process-orange);
  text-shadow: 0 0 20px rgba(255, 122, 26, 0.22);
}

.ap-process-card-title {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  color: var(--ap-process-white);
  font-size: clamp(18px, 1.35vw, 21px);
  line-height: 1.32;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.ap-process-card-text {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ap-process-white-muted);
  font-size: 15.5px;
  line-height: 1.62;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ap-process-cta-wrap {
  margin-top: clamp(38px, 4vw, 54px);
}

.ap-process-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ap-process-orange), var(--ap-process-orange-2));
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.20),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
  transition:
    transform 0.3s var(--ap-process-ease),
    box-shadow 0.3s var(--ap-process-ease),
    filter 0.3s var(--ap-process-ease);
}

.ap-process-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-process-orange), var(--ap-process-orange-2));
}

.ap-process-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-process-ease), opacity 0.28s var(--ap-process-ease);
}

.ap-process-btn:hover,
.ap-process-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-process-btn:hover::after,
.ap-process-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-process-btn-arrow {
  transition: transform 0.28s var(--ap-process-ease);
}

.ap-process-btn:hover .ap-process-btn-arrow,
.ap-process-btn:focus-visible .ap-process-btn-arrow {
  transform: translateX(4px);
}

.ap-process-btn:focus-visible {
  outline: 2px solid var(--ap-process-orange-2);
  outline-offset: 4px;
  border-radius: 999px;
}

.elementor-widget-html:has(.ap-process-shell),
.elementor-widget-html:has(.ap-process-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-process-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-process-shell),
.elementor-column:has(.ap-process-shell),
.elementor-widget-wrap:has(.ap-process-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1120px) {
  .ap-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ap-process-card {
    min-height: 184px;
  }
}

@media (max-width: 768px) {
  .ap-process-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-process-intro {
    padding-left: 24px;
  }

  .ap-process-card {
    min-height: 176px;
  }

  .ap-process-btn {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-process-inner {
    padding: 58px 18px 84px;
  }

  .ap-process-grid {
    grid-template-columns: 1fr;
  }

  .ap-process-card {
    min-height: auto;
    padding: 26px;
  }

  .ap-process-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-process-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-process-title {
    font-size: 22px;
  }

  .ap-process-lead {
    font-size: 15.5px;
  }

  .ap-process-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-process-card-title {
    font-size: 18px;
  }

  .ap-process-card-text {
    font-size: 14.5px;
  }

  .ap-process-number {
    font-size: 42px;
  }
}

@media (max-width: 360px) {
  .ap-process-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-process-card {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-process-shell *,
  .ap-process-shell *::before,
  .ap-process-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-ed8bdce */.ap-about-shell {
  --ap-about-black: #050505;
  --ap-about-black-2: #08080a;
  --ap-about-card: rgba(13, 13, 14, 0.92);
  --ap-about-white: #ffffff;
  --ap-about-white-soft: rgba(255, 255, 255, 0.78);
  --ap-about-white-muted: rgba(255, 255, 255, 0.58);
  --ap-about-border: rgba(255, 255, 255, 0.09);
  --ap-about-orange: #ff7a1a;
  --ap-about-orange-2: #ff9a3c;
  --ap-about-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-about-max: 1260px;
  --ap-about-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-about-black);
  overflow: hidden;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-about-shell::before,
.ap-about-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-about-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-about-black);
}

.ap-about-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-about-shell,
.ap-about-shell *,
.ap-about-shell *::before,
.ap-about-shell *::after {
  box-sizing: border-box;
}

.ap-about-shell a {
  text-decoration: none !important;
}

.ap-about-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 24%, rgba(255, 122, 26, 0.075), transparent 34%),
    radial-gradient(circle at 82% 78%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-about-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-about-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px);
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(44px, 6vw, 92px);
}

.ap-about-media {
  position: relative;
  min-width: 0;
}

.ap-about-card {
  position: relative;
  width: min(100%, 470px);
  aspect-ratio: 4 / 5;
  margin: 0;
  border: 1px solid var(--ap-about-border);
  border-radius: 24px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    rgba(13, 13, 14, 0.92);
  overflow: hidden;
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    0 18px 54px -38px rgba(255, 122, 26, 0.38);
  transition:
    transform 0.38s var(--ap-about-ease),
    border-color 0.38s var(--ap-about-ease),
    box-shadow 0.38s var(--ap-about-ease);
}

.ap-about-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 122, 26, 0.34);
  box-shadow:
    0 38px 90px -42px rgba(0, 0, 0, 0.98),
    0 24px 64px -36px var(--ap-about-orange-glow);
}

.ap-about-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.55;
  -webkit-mask-image: radial-gradient(circle at 52% 32%, rgba(0, 0, 0, 0.72), transparent 76%);
  mask-image: radial-gradient(circle at 52% 32%, rgba(0, 0, 0, 0.72), transparent 76%);
}

.ap-about-card-glow {
  position: absolute;
  top: -18%;
  left: -22%;
  z-index: 1;
  width: 72%;
  height: 54%;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.22), transparent 68%);
  pointer-events: none;
}

.ap-about-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 28%;
  transform: scale(1.001);
  transition:
    transform 0.58s var(--ap-about-ease),
    filter 0.58s var(--ap-about-ease);
}

.ap-about-card:hover .ap-about-img {
  transform: scale(1.035);
  filter: saturate(1.04) brightness(1.04);
}

.ap-about-img-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.02) 35%, rgba(5, 5, 5, 0.78) 100%),
    radial-gradient(circle at 20% 0%, rgba(255, 122, 26, 0.12), transparent 40%);
}

.ap-about-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: calc(100% - 36px);
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  background: rgba(12, 12, 14, 0.68);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 42px -26px rgba(0, 0, 0, 0.95);
}

.ap-about-label-name {
  color: var(--ap-about-white);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.ap-about-label-role {
  color: var(--ap-about-orange-2);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.ap-about-content {
  position: relative;
  min-width: 0;
  padding-left: 28px;
}

.ap-about-content-line {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-about-orange-2), var(--ap-about-orange));
  box-shadow: 0 0 18px var(--ap-about-orange-glow);
}

.ap-about-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-about-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-about-eyebrow span {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-about-orange);
  opacity: 0.92;
}

.ap-about-heading {
  max-width: 720px;
  margin: 0 0 22px;
  color: var(--ap-about-white);
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.26;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.ap-about-text {
  max-width: 700px;
  margin: 0 0 32px;
}

.ap-about-text p {
  margin: 0 0 17px;
  color: var(--ap-about-white-muted);
  font-size: clamp(16px, 1.24vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-about-text p:last-child {
  margin-bottom: 0;
}

.ap-about-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border: 1px solid rgba(255, 122, 26, 0.58);
  border-radius: 999px;
  background: rgba(255, 122, 26, 0.045);
  color: var(--ap-about-orange-2) !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition:
    transform 0.3s var(--ap-about-ease),
    box-shadow 0.3s var(--ap-about-ease),
    background 0.3s var(--ap-about-ease),
    border-color 0.3s var(--ap-about-ease),
    color 0.3s var(--ap-about-ease);
}

.ap-about-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
    rgba(255, 122, 26, 0.045);
}

.ap-about-btn::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.24),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-about-ease), opacity 0.28s var(--ap-about-ease);
}

.ap-about-btn:hover,
.ap-about-btn:focus-visible {
  transform: translateY(-2px) scale(1.018);
  background: rgba(255, 122, 26, 0.10);
  border-color: rgba(255, 154, 60, 0.86);
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.14),
    0 24px 54px -26px rgba(255, 122, 26, 0.70),
    0 0 0 1px rgba(255, 165, 92, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.ap-about-btn:hover::after,
.ap-about-btn:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-about-btn-arrow {
  transition: transform 0.28s var(--ap-about-ease);
}

.ap-about-btn:hover .ap-about-btn-arrow,
.ap-about-btn:focus-visible .ap-about-btn-arrow {
  transform: translateX(4px);
}

.ap-about-btn:focus-visible {
  outline: 2px solid var(--ap-about-orange-2);
  outline-offset: 4px;
  border-radius: 999px;
}

.elementor-widget-html:has(.ap-about-shell),
.elementor-widget-html:has(.ap-about-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-about-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-about-shell),
.elementor-column:has(.ap-about-shell),
.elementor-widget-wrap:has(.ap-about-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 1024px) {
  .ap-about-inner {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .ap-about-card {
    width: min(100%, 560px);
    aspect-ratio: 16 / 11;
    margin: 0 auto;
  }

  .ap-about-img {
    object-position: 52% 30%;
  }

  .ap-about-content {
    max-width: 760px;
  }
}

@media (max-width: 768px) {
  .ap-about-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-about-content {
    padding-left: 24px;
  }

  .ap-about-btn {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-about-inner {
    padding: 58px 18px 84px;
  }

  .ap-about-card {
    aspect-ratio: 4 / 5;
    max-width: 100%;
  }

  .ap-about-label {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: none;
  }

  .ap-about-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-about-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-about-heading {
    font-size: 23px;
  }

  .ap-about-text p {
    font-size: 15.5px;
  }

  .ap-about-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }
}

@media (max-width: 360px) {
  .ap-about-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-about-label-name {
    font-size: 13px;
  }

  .ap-about-label-role {
    font-size: 11.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-about-shell *,
  .ap-about-shell *::before,
  .ap-about-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-0603ff0 */.ap-faq-shell {
  --ap-faq-black: #050505;
  --ap-faq-black-2: #08080a;
  --ap-faq-card: rgba(13, 13, 14, 0.94);
  --ap-faq-white: #ffffff;
  --ap-faq-white-soft: rgba(255, 255, 255, 0.82);
  --ap-faq-white-muted: rgba(255, 255, 255, 0.58);
  --ap-faq-border: rgba(255, 255, 255, 0.09);
  --ap-faq-orange: #ff7a1a;
  --ap-faq-orange-2: #ff9a3c;
  --ap-faq-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-faq-max: 1260px;
  --ap-faq-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-faq-black);
  overflow: hidden;
  line-height: 1;
  color: var(--ap-faq-white);
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-faq-shell::before,
.ap-faq-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-faq-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-faq-black);
}

.ap-faq-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-faq-shell,
.ap-faq-shell *,
.ap-faq-shell *::before,
.ap-faq-shell *::after {
  box-sizing: border-box;
}

.ap-faq-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 122, 26, 0.08), transparent 34%),
    radial-gradient(circle at 82% 80%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-faq-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-faq-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px);
}

.ap-faq-block {
  max-width: 860px;
}

.ap-faq-head {
  position: relative;
  margin-bottom: clamp(34px, 4vw, 48px);
  padding-left: 28px;
}

.ap-faq-vline {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-faq-orange-2), var(--ap-faq-orange));
  box-shadow: 0 0 18px var(--ap-faq-orange-glow);
}

.ap-faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-faq-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-faq-dash {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-faq-orange);
  opacity: 0.92;
}

.ap-faq-title {
  max-width: 760px;
  margin: 0;
  color: var(--ap-faq-white);
  font-size: clamp(22px, 2.15vw, 32px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-faq-card {
  border: 1px solid var(--ap-faq-border);
  border-radius: 22px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    var(--ap-faq-card);
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    0 18px 54px -42px rgba(255, 122, 26, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  overflow: hidden;
}

.ap-faq-item {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ap-faq-item:last-child {
  border-bottom: 0;
}

.ap-faq-item::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle at 8% 0%, rgba(255, 122, 26, 0.10), transparent 42%);
  transition: opacity 0.28s var(--ap-faq-ease);
  pointer-events: none;
}

.ap-faq-item:hover::before,
.ap-faq-item[open]::before {
  opacity: 1;
}

.ap-faq-question {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: clamp(22px, 2.3vw, 30px) clamp(24px, 3vw, 34px);
  cursor: pointer;
  list-style: none;
  color: var(--ap-faq-white);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: -0.035em;
  transition:
    color 0.24s var(--ap-faq-ease),
    background 0.24s var(--ap-faq-ease);
}

.ap-faq-question::-webkit-details-marker {
  display: none;
}

.ap-faq-question-text {
  min-width: 0;
  flex: 1 1 auto;
}

.ap-faq-item:hover .ap-faq-question,
.ap-faq-item[open] .ap-faq-question {
  color: var(--ap-faq-orange-2);
}

.ap-faq-question:focus-visible {
  outline: 2px solid var(--ap-faq-orange-2);
  outline-offset: -6px;
  border-radius: 16px;
}

.ap-faq-icon {
  position: relative;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    border-color 0.24s var(--ap-faq-ease),
    background 0.24s var(--ap-faq-ease),
    transform 0.24s var(--ap-faq-ease);
}

.ap-faq-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: rgba(255, 255, 255, 0.62);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition:
    stroke 0.24s var(--ap-faq-ease),
    transform 0.28s var(--ap-faq-ease);
}

.ap-faq-item:hover .ap-faq-icon,
.ap-faq-item[open] .ap-faq-icon {
  border-color: rgba(255, 122, 26, 0.42);
  background: rgba(255, 122, 26, 0.08);
}

.ap-faq-item:hover .ap-faq-icon svg,
.ap-faq-item[open] .ap-faq-icon svg {
  stroke: var(--ap-faq-orange-2);
}

.ap-faq-item[open] .ap-faq-icon svg {
  transform: rotate(180deg);
}

.ap-faq-answer {
  position: relative;
  z-index: 2;
  padding: 0 clamp(24px, 3vw, 34px) clamp(24px, 2.8vw, 32px);
  animation: ap-faq-answer-in 0.28s var(--ap-faq-ease);
}

.ap-faq-answer p {
  max-width: 68ch;
  margin: 0;
  color: var(--ap-faq-white-muted);
  font-size: clamp(14.5px, 1.05vw, 16px);
  line-height: 1.76;
  font-weight: 500;
  letter-spacing: -0.02em;
}

@keyframes ap-faq-answer-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.elementor-widget-html:has(.ap-faq-shell),
.elementor-widget-html:has(.ap-faq-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-faq-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-faq-shell),
.elementor-column:has(.ap-faq-shell),
.elementor-widget-wrap:has(.ap-faq-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 900px) {
  .ap-faq-block {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .ap-faq-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-faq-head {
    padding-left: 24px;
  }
}

@media (max-width: 640px) {
  .ap-faq-inner {
    padding: 58px 18px 84px;
  }

  .ap-faq-card {
    border-radius: 20px;
  }

  .ap-faq-question {
    padding: 22px 20px;
    gap: 14px;
  }

  .ap-faq-answer {
    padding: 0 20px 24px;
  }

  .ap-faq-icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 430px) {
  .ap-faq-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-faq-title {
    font-size: 22px;
  }

  .ap-faq-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-faq-question {
    font-size: 15.5px;
    line-height: 1.42;
  }

  .ap-faq-answer p {
    font-size: 14.5px;
  }
}

@media (max-width: 360px) {
  .ap-faq-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-faq-question {
    padding-left: 18px;
    padding-right: 18px;
  }

  .ap-faq-answer {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-faq-shell *,
  .ap-faq-shell *::before,
  .ap-faq-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-7cc5e17 */.ap-next-shell {
  --ap-next-black: #050505;
  --ap-next-black-2: #08080a;
  --ap-next-card: rgba(13, 13, 14, 0.94);
  --ap-next-white: #ffffff;
  --ap-next-white-soft: rgba(255, 255, 255, 0.82);
  --ap-next-white-muted: rgba(255, 255, 255, 0.58);
  --ap-next-border: rgba(255, 255, 255, 0.09);
  --ap-next-orange: #ff7a1a;
  --ap-next-orange-2: #ff9a3c;
  --ap-next-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-next-max: 1260px;
  --ap-next-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  background: var(--ap-next-black);
  overflow: hidden;
  line-height: 1;
  color: var(--ap-next-white);
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-next-shell::before,
.ap-next-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-next-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-next-black);
}

.ap-next-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-next-shell,
.ap-next-shell *,
.ap-next-shell *::before,
.ap-next-shell *::after {
  box-sizing: border-box;
}

.ap-next-shell a {
  text-decoration: none !important;
}

.ap-next-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 30%, rgba(255, 122, 26, 0.10), transparent 34%),
    radial-gradient(circle at 84% 78%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
}

.ap-next-inner {
  position: relative;
  z-index: 2;
  max-width: var(--ap-next-max);
  margin: 0 auto;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px);
}

.ap-next-head {
  position: relative;
  margin-bottom: clamp(36px, 4.6vw, 58px);
  padding-left: 28px;
}

.ap-next-vline {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-next-orange-2), var(--ap-next-orange));
  box-shadow: 0 0 18px var(--ap-next-orange-glow);
}

.ap-next-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--ap-next-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-next-dash {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-next-orange);
  opacity: 0.92;
}

.ap-next-title {
  max-width: 760px;
  margin: 0;
  color: var(--ap-next-white);
  font-size: clamp(22px, 2.15vw, 32px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.ap-next-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 2.2vw, 30px);
}

.ap-next-card {
  position: relative;
  min-width: 0;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  padding: clamp(30px, 3vw, 44px);
  border-radius: 24px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    var(--ap-next-card);
  overflow: hidden;
  transition:
    transform 0.34s var(--ap-next-ease),
    border-color 0.34s var(--ap-next-ease),
    box-shadow 0.34s var(--ap-next-ease),
    background 0.34s var(--ap-next-ease);
}

.ap-next-card--primary {
  border: 1px solid rgba(255, 122, 26, 0.46);
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    0 24px 70px -34px rgba(255, 122, 26, 0.52);
}

.ap-next-card--neutral {
  border: 1px solid var(--ap-next-border);
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ap-next-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 18% 0%, rgba(255, 122, 26, 0.13), transparent 42%);
  transition: opacity 0.34s var(--ap-next-ease);
  pointer-events: none;
}

.ap-next-card:hover {
  transform: translateY(-6px);
}

.ap-next-card:hover::before {
  opacity: 1;
}

.ap-next-card--primary:hover {
  border-color: rgba(255, 122, 26, 0.70);
  box-shadow:
    0 38px 90px -42px rgba(0, 0, 0, 0.98),
    0 28px 76px -34px rgba(255, 122, 26, 0.64);
}

.ap-next-card--neutral:hover {
  border-color: rgba(255, 122, 26, 0.34);
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    0 18px 54px -38px rgba(255, 122, 26, 0.30);
}

.ap-next-card-glow {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -24%;
  z-index: 0;
  height: 62%;
  background: radial-gradient(60% 100% at 50% 100%, rgba(255, 122, 26, 0.28), transparent 70%);
  filter: blur(8px);
  pointer-events: none;
}

.ap-next-label {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

.ap-next-label--primary {
  color: var(--ap-next-orange);
}

.ap-next-card-title {
  position: relative;
  z-index: 2;
  max-width: 680px;
  margin: 0 0 20px;
  color: var(--ap-next-white);
  font-size: clamp(24px, 2.35vw, 34px);
  line-height: 1.16;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.ap-next-card-text {
  position: relative;
  z-index: 2;
  max-width: 58ch;
  margin: 0 0 34px;
  color: var(--ap-next-white-muted);
  font-size: clamp(15px, 1.12vw, 17px);
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-next-btn {
  position: relative;
  z-index: 2;
  isolation: isolate;
  overflow: hidden;
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition:
    transform 0.3s var(--ap-next-ease),
    box-shadow 0.3s var(--ap-next-ease),
    filter 0.3s var(--ap-next-ease),
    background 0.3s var(--ap-next-ease),
    border-color 0.3s var(--ap-next-ease),
    color 0.3s var(--ap-next-ease);
}

.ap-next-btn--fill {
  background: linear-gradient(135deg, var(--ap-next-orange), var(--ap-next-orange-2));
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.2),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.ap-next-btn--fill::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-next-orange), var(--ap-next-orange-2));
}

.ap-next-btn--fill::after,
.ap-next-btn--outline::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-next-ease), opacity 0.28s var(--ap-next-ease);
}

.ap-next-btn--fill:hover,
.ap-next-btn--fill:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-next-btn--fill:hover::after,
.ap-next-btn--fill:focus-visible::after,
.ap-next-btn--outline:hover::after,
.ap-next-btn--outline:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-next-btn--outline {
  border: 1px solid rgba(255, 122, 26, 0.58);
  background: rgba(255, 122, 26, 0.045);
  color: var(--ap-next-orange-2) !important;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.ap-next-btn--outline::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
    rgba(255, 122, 26, 0.045);
}

.ap-next-btn--outline:hover,
.ap-next-btn--outline:focus-visible {
  transform: translateY(-2px) scale(1.018);
  background: rgba(255, 122, 26, 0.10);
  border-color: rgba(255, 154, 60, 0.86);
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.14),
    0 24px 54px -26px rgba(255, 122, 26, 0.70),
    0 0 0 1px rgba(255, 165, 92, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.ap-next-btn-arrow {
  transition: transform 0.28s var(--ap-next-ease);
}

.ap-next-btn:hover .ap-next-btn-arrow,
.ap-next-btn:focus-visible .ap-next-btn-arrow {
  transform: translateX(4px);
}

.ap-next-btn:focus-visible {
  outline: 2px solid var(--ap-next-orange-2);
  outline-offset: 4px;
  border-radius: 999px;
}

.elementor-widget-html:has(.ap-next-shell),
.elementor-widget-html:has(.ap-next-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-next-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-next-shell),
.elementor-column:has(.ap-next-shell),
.elementor-widget-wrap:has(.ap-next-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 900px) {
  .ap-next-grid {
    grid-template-columns: 1fr;
  }

  .ap-next-card {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .ap-next-inner {
    padding-top: 66px;
    padding-bottom: 92px;
  }

  .ap-next-head {
    padding-left: 24px;
  }

  .ap-next-btn {
    min-height: 52px;
  }
}

@media (max-width: 640px) {
  .ap-next-inner {
    padding: 58px 18px 84px;
  }

  .ap-next-card {
    padding: 28px 24px;
    border-radius: 22px;
  }

  .ap-next-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-next-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-next-title {
    font-size: 22px;
  }

  .ap-next-eyebrow,
  .ap-next-label {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-next-card-title {
    font-size: 24px;
  }

  .ap-next-card-text {
    font-size: 15px;
  }
}

@media (max-width: 360px) {
  .ap-next-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-next-card {
    padding-left: 22px;
    padding-right: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-next-shell *,
  .ap-next-shell *::before,
  .ap-next-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-4936b35 */.ap-final-shell {
  --ap-final-black: #050505;
  --ap-final-black-2: #08080a;
  --ap-final-white: #ffffff;
  --ap-final-white-muted: rgba(255, 255, 255, 0.62);
  --ap-final-orange: #ff7a1a;
  --ap-final-orange-2: #ff9a3c;
  --ap-final-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-final-max: 960px;
  --ap-final-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative;
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 14% 20%, rgba(255, 122, 26, 0.09), transparent 30%),
    radial-gradient(circle at 88% 84%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%);
  color: var(--ap-final-white);
  text-align: center;
  line-height: 1;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ap-final-shell::before,
.ap-final-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-final-shell::before {
  top: -3px;
  z-index: 6;
  height: 4px;
  background: var(--ap-final-black);
}

.ap-final-shell::after {
  bottom: -3px;
  z-index: 6;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-final-shell,
.ap-final-shell *,
.ap-final-shell *::before,
.ap-final-shell *::after {
  box-sizing: border-box;
}

.ap-final-shell a {
  text-decoration: none !important;
}

.ap-final-glow {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  border-radius: 999px;
  filter: blur(10px);
}

.ap-final-glow--left {
  top: -24%;
  left: -12%;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.12), transparent 68%);
}

.ap-final-glow--right {
  right: -16%;
  bottom: -28%;
  width: 620px;
  height: 620px;
  background: radial-gradient(circle, rgba(255, 122, 26, 0.07), transparent 68%);
}

.ap-final-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--ap-final-max);
  margin: 0 auto;
  padding: clamp(82px, 9vw, 142px) clamp(18px, 4vw, 42px) clamp(88px, 9vw, 148px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ap-final-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-bottom: 26px;
  color: var(--ap-final-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-final-dash {
  display: block;
  width: 34px;
  height: 1px;
  background: var(--ap-final-orange);
  box-shadow: 0 0 14px var(--ap-final-orange-glow);
}

.ap-final-title {
  max-width: 900px;
  margin: 0;
  color: var(--ap-final-white);
  font-size: clamp(36px, 4.2vw, 64px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.055em;
}

.ap-final-lead {
  max-width: 760px;
  margin: 32px 0 0;
  color: var(--ap-final-white-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-final-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 44px;
}

.ap-final-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 30px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition:
    transform 0.3s var(--ap-final-ease),
    box-shadow 0.3s var(--ap-final-ease),
    filter 0.3s var(--ap-final-ease),
    background 0.3s var(--ap-final-ease),
    border-color 0.3s var(--ap-final-ease),
    color 0.3s var(--ap-final-ease);
}

.ap-final-btn--primary {
  border: 0;
  background: linear-gradient(135deg, var(--ap-final-orange), var(--ap-final-orange-2));
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.2),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.ap-final-btn--primary::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--ap-final-orange), var(--ap-final-orange-2));
}

.ap-final-btn--primary::after,
.ap-final-btn--outline::after {
  content: "";
  position: absolute;
  top: -40%;
  left: -55%;
  width: 42%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  opacity: 0;
  transition: left 0.72s var(--ap-final-ease), opacity 0.28s var(--ap-final-ease);
}

.ap-final-btn--primary:hover,
.ap-final-btn--primary:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.ap-final-btn--primary:hover::after,
.ap-final-btn--primary:focus-visible::after,
.ap-final-btn--outline:hover::after,
.ap-final-btn--outline:focus-visible::after {
  left: 120%;
  opacity: 1;
}

.ap-final-arrow {
  transition: transform 0.28s var(--ap-final-ease);
}

.ap-final-btn--primary:hover .ap-final-arrow,
.ap-final-btn--primary:focus-visible .ap-final-arrow {
  transform: translateX(4px);
}

.ap-final-btn--outline {
  border: 1px solid rgba(255, 122, 26, 0.58);
  background: rgba(255, 122, 26, 0.045);
  color: var(--ap-final-orange-2) !important;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.ap-final-btn--outline::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
    rgba(255, 122, 26, 0.045);
}

.ap-final-btn--outline:hover,
.ap-final-btn--outline:focus-visible {
  transform: translateY(-2px) scale(1.018);
  background: rgba(255, 122, 26, 0.10);
  border-color: rgba(255, 154, 60, 0.86);
  color: #ffffff !important;
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.14),
    0 24px 54px -26px rgba(255, 122, 26, 0.70),
    0 0 0 1px rgba(255, 165, 92, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.ap-final-btn:focus-visible {
  outline: 2px solid var(--ap-final-orange-2);
  outline-offset: 4px;
}

.elementor-widget-html:has(.ap-final-shell),
.elementor-widget-html:has(.ap-final-shell) > .elementor-widget-container,
.elementor-widget-html:has(.ap-final-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #050505 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.e-con:has(.ap-final-shell),
.elementor-column:has(.ap-final-shell),
.elementor-widget-wrap:has(.ap-final-shell) {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #050505 !important;
  overflow: visible !important;
}

@media (max-width: 768px) {
  .ap-final-inner {
    padding-top: 72px;
    padding-bottom: 94px;
  }

  .ap-final-title {
    font-size: clamp(34px, 7.8vw, 52px);
    line-height: 1.08;
  }

  .ap-final-lead {
    margin-top: 26px;
  }

  .ap-final-actions {
    margin-top: 36px;
  }
}

@media (max-width: 640px) {
  .ap-final-inner {
    padding: 66px 18px 86px;
  }

  .ap-final-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-final-title {
    font-size: clamp(31px, 9vw, 42px);
    line-height: 1.08;
  }

  .ap-final-lead {
    font-size: 15.5px;
  }

  .ap-final-actions {
    width: 100%;
    max-width: 360px;
    flex-direction: column;
  }

  .ap-final-btn {
    width: 100%;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .ap-final-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ap-final-title {
    font-size: clamp(30px, 9.6vw, 38px);
  }

  .ap-final-lead {
    font-size: 15px;
  }
}

@media (max-width: 360px) {
  .ap-final-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ap-final-title {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-final-shell *,
  .ap-final-shell *::before,
  .ap-final-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-1a83a0f */.ap-contact-shell {
  --ap-contact-black: #050505;
  --ap-contact-black-2: #08080a;
  --ap-contact-card: rgba(13, 13, 14, 0.94);
  --ap-contact-white: #ffffff;
  --ap-contact-white-soft: rgba(255, 255, 255, 0.82);
  --ap-contact-white-muted: rgba(255, 255, 255, 0.58);
  --ap-contact-border: rgba(255, 255, 255, 0.09);
  --ap-contact-orange: #ff7a1a;
  --ap-contact-orange-2: #ff9a3c;
  --ap-contact-orange-glow: rgba(255, 122, 26, 0.48);
  --ap-contact-max: 1260px;
  --ap-contact-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: -1px !important;
  margin-bottom: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 18% 30%, rgba(255, 122, 26, 0.10), transparent 34%),
    radial-gradient(circle at 86% 78%, rgba(255, 122, 26, 0.045), transparent 34%),
    linear-gradient(180deg, #050505 0%, #08080a 100%) !important;
  color: var(--ap-contact-white);
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
}

.ap-contact-shell::before,
.ap-contact-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: 6;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.ap-contact-shell::before {
  top: -3px;
  height: 4px;
  background: var(--ap-contact-black);
}

.ap-contact-shell::after {
  bottom: -3px;
  height: 4px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 122, 26, 0.3) 10%,
    #ff7a1a 50%,
    rgba(255, 122, 26, 0.3) 90%,
    transparent 100%
  );
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.44);
}

.ap-contact-shell,
.ap-contact-shell *,
.ap-contact-shell *::before,
.ap-contact-shell *::after {
  box-sizing: border-box;
}

.ap-contact-shell a {
  text-decoration: none !important;
}

/* Elementor - główny kontener sekcji */
.ap-contact-shell > .elementor-container,
.ap-contact-shell > .e-con-inner {
  width: 100% !important;
  max-width: var(--ap-contact-max) !important;
  margin: 0 auto !important;
  padding: clamp(76px, 8vw, 116px) clamp(18px, 4vw, 42px) clamp(82px, 8vw, 118px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  align-items: center !important;
  gap: clamp(48px, 6vw, 86px) !important;
}

/* Elementor - kolumny nie mogą się ściskać */
.ap-contact-shell > .elementor-container > .elementor-column,
.ap-contact-shell > .e-con-inner > .e-con,
.ap-contact-shell > .e-con-inner > .elementor-element {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: initial !important;
}

/* HTML widget reset */
.elementor-widget-html:has(.ap-contact-content),
.elementor-widget-html:has(.ap-contact-content) > .elementor-widget-container,
.elementor-widget-html:has(.ap-contact-content) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* Lewa kolumna */
.ap-contact-content {
  position: relative;
  width: 100% !important;
  max-width: 640px !important;
  min-width: 0 !important;
  padding-left: 28px;
}

.ap-contact-content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ap-contact-orange-2), var(--ap-contact-orange));
  box-shadow: 0 0 18px var(--ap-contact-orange-glow);
}

.ap-contact-head {
  margin-bottom: 26px;
}

.ap-contact-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
  color: var(--ap-contact-orange);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ap-contact-dash {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ap-contact-orange);
  opacity: 0.92;
}

.ap-contact-title {
  max-width: 640px !important;
  margin: 0;
  color: var(--ap-contact-white);
  font-size: clamp(42px, 4vw, 62px) !important;
  line-height: 1.02 !important;
  font-weight: 900;
  letter-spacing: -0.055em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.ap-contact-lead {
  max-width: 570px;
  margin: 0 0 34px;
  color: var(--ap-contact-white-muted);
  font-size: clamp(16px, 1.18vw, 18px);
  line-height: 1.72;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ap-contact-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 26px;
}

.ap-contact-link {
  color: var(--ap-contact-white) !important;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.02em;
  transition:
    color 0.24s var(--ap-contact-ease),
    transform 0.24s var(--ap-contact-ease),
    text-shadow 0.24s var(--ap-contact-ease);
}

.ap-contact-link:hover,
.ap-contact-link:focus-visible {
  color: var(--ap-contact-orange-2) !important;
  transform: translateX(3px);
  text-shadow: 0 0 14px rgba(255, 122, 26, 0.20);
}

.ap-contact-link:focus-visible {
  outline: 2px solid var(--ap-contact-orange-2);
  outline-offset: 4px;
  border-radius: 8px;
}

.ap-contact-note {
  max-width: 500px;
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.48);
  font-size: 14.5px;
  line-height: 1.68;
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* WPForms - karta formularza */
.ap-contact-shell .wpforms-container {
  width: 100% !important;
  max-width: 660px !important;
  margin: 0 0 0 auto !important;
  padding: clamp(28px, 3vw, 44px) !important;
  border: 1px solid var(--ap-contact-border);
  border-radius: 24px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 54%),
    var(--ap-contact-card);
  box-shadow:
    0 34px 80px -42px rgba(0, 0, 0, 0.95),
    0 18px 54px -42px rgba(255, 122, 26, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ap-contact-shell .wpforms-form {
  width: 100% !important;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
}

.ap-contact-shell .wpforms-field {
  padding: 0 0 20px !important;
}

.ap-contact-shell .wpforms-field-label {
  display: block !important;
  margin: 0 0 9px !important;
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

.ap-contact-shell .wpforms-required-label {
  color: var(--ap-contact-orange) !important;
}

/* Pola */
.ap-contact-shell .wpforms-field input[type="text"],
.ap-contact-shell .wpforms-field input[type="email"],
.ap-contact-shell .wpforms-field input[type="tel"],
.ap-contact-shell .wpforms-field input[type="url"],
.ap-contact-shell .wpforms-field input[type="number"],
.ap-contact-shell .wpforms-field select,
.ap-contact-shell .wpforms-field textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 16px !important;
  background: rgba(5, 5, 5, 0.48) !important;
  color: var(--ap-contact-white) !important;
  box-shadow: none !important;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  transition:
    border-color 0.24s var(--ap-contact-ease),
    box-shadow 0.24s var(--ap-contact-ease),
    background 0.24s var(--ap-contact-ease);
}

.ap-contact-shell .wpforms-field textarea {
  min-height: 122px !important;
  padding: 16px 18px !important;
  resize: vertical;
}

.ap-contact-shell .wpforms-field input::placeholder,
.ap-contact-shell .wpforms-field textarea::placeholder {
  color: rgba(255, 255, 255, 0.38) !important;
  opacity: 1 !important;
}

.ap-contact-shell .wpforms-field input:focus,
.ap-contact-shell .wpforms-field select:focus,
.ap-contact-shell .wpforms-field textarea:focus {
  outline: none !important;
  border-color: rgba(255, 154, 60, 0.70) !important;
  background: rgba(8, 8, 10, 0.82) !important;
  box-shadow:
    0 0 0 3px rgba(255, 122, 26, 0.13),
    0 0 24px rgba(255, 122, 26, 0.10) !important;
}

/* Select */
.ap-contact-shell .wpforms-field select {
  padding-right: 46px !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23ff9a3c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
}

.ap-contact-shell .wpforms-field select option {
  background: #101012 !important;
  color: #ffffff !important;
}

/* WPForms 2 kolumny */
.ap-contact-shell .wpforms-field.wpforms-one-half {
  width: 48% !important;
  float: left !important;
  clear: none !important;
  margin-left: 0 !important;
}

.ap-contact-shell .wpforms-field.wpforms-one-half.wpforms-first {
  margin-right: 4% !important;
}

.ap-contact-shell .wpforms-field.wpforms-field-url,
.ap-contact-shell .wpforms-field.wpforms-field-textarea {
  clear: both !important;
}

/* Phone field z flagą */
.ap-contact-shell .iti,
.ap-contact-shell .wpforms-smart-phone-field {
  width: 100% !important;
}

.ap-contact-shell .iti input {
  padding-left: 58px !important;
}

/* Submit */
.ap-contact-shell .wpforms-submit-container {
  padding: 2px 0 0 !important;
  margin: 0 !important;
}

.ap-contact-shell .wpforms-submit {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 46px !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ap-contact-orange), var(--ap-contact-orange-2)) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow:
    0 10px 26px rgba(255, 122, 26, 0.2),
    0 18px 44px -20px rgba(255, 122, 26, 0.78),
    inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
  transition:
    transform 0.3s var(--ap-contact-ease),
    box-shadow 0.3s var(--ap-contact-ease),
    filter 0.3s var(--ap-contact-ease) !important;
}

.ap-contact-shell .wpforms-submit::after {
  content: "→";
  position: relative;
  display: inline-block;
  margin-left: 10px;
  font-size: 16px;
  line-height: 1;
  transition: transform 0.28s var(--ap-contact-ease);
}

.ap-contact-shell .wpforms-submit:hover,
.ap-contact-shell .wpforms-submit:focus-visible {
  transform: translateY(-2px) scale(1.018);
  filter: saturate(1.08) brightness(1.04);
  box-shadow:
    0 14px 34px rgba(255, 122, 26, 0.26),
    0 28px 62px -20px rgba(255, 122, 26, 0.86),
    0 0 0 1px rgba(255, 165, 92, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.46) !important;
}

.ap-contact-shell .wpforms-submit:hover::after,
.ap-contact-shell .wpforms-submit:focus-visible::after {
  transform: translateX(4px);
}

.ap-contact-shell .wpforms-submit:focus-visible {
  outline: 2px solid var(--ap-contact-orange-2) !important;
  outline-offset: 4px !important;
}

/* Błędy i potwierdzenie */
.ap-contact-shell .wpforms-error {
  color: #ff8a6a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}

.ap-contact-shell .wpforms-field input.wpforms-error,
.ap-contact-shell .wpforms-field textarea.wpforms-error,
.ap-contact-shell .wpforms-field select.wpforms-error {
  border-color: rgba(255, 90, 60, 0.72) !important;
}

.ap-contact-shell .wpforms-confirmation-container-full {
  margin: 0 !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(255, 122, 26, 0.35) !important;
  border-radius: 18px !important;
  background: rgba(255, 122, 26, 0.08) !important;
  color: var(--ap-contact-white) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .ap-contact-shell > .elementor-container,
  .ap-contact-shell > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }

  .ap-contact-content {
    max-width: 760px !important;
  }

  .ap-contact-lead {
    max-width: 720px;
  }

  .ap-contact-shell .wpforms-container {
    max-width: 760px !important;
    margin: 0 !important;
  }
}

@media (max-width: 768px) {
  .ap-contact-shell > .elementor-container,
  .ap-contact-shell > .e-con-inner {
    padding-top: 66px !important;
    padding-bottom: 92px !important;
  }

  .ap-contact-content {
    padding-left: 24px;
  }

  .ap-contact-title {
    font-size: clamp(36px, 8vw, 54px) !important;
  }

  .ap-contact-shell .wpforms-submit {
    min-height: 52px !important;
  }
}

@media (max-width: 640px) {
  .ap-contact-shell > .elementor-container,
  .ap-contact-shell > .e-con-inner {
    padding: 58px 18px 84px !important;
  }

  .ap-contact-title {
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1.04 !important;
  }

  .ap-contact-shell .wpforms-container {
    padding: 26px 20px !important;
    border-radius: 22px;
  }

  .ap-contact-shell .wpforms-field.wpforms-one-half {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ap-contact-shell .wpforms-field.wpforms-one-half.wpforms-first {
    margin-right: 0 !important;
  }

  .ap-contact-shell .wpforms-submit {
    width: 100% !important;
  }
}

@media (max-width: 430px) {
  .ap-contact-shell > .elementor-container,
  .ap-contact-shell > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .ap-contact-eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.16em;
  }

  .ap-contact-lead {
    font-size: 15px;
  }

  .ap-contact-link {
    font-size: 15px;
  }

  .ap-contact-note {
    font-size: 14px;
  }

  .ap-contact-shell .wpforms-field-label {
    font-size: 10.5px !important;
    letter-spacing: 0.15em !important;
  }
}

@media (max-width: 360px) {
  .ap-contact-shell > .elementor-container,
  .ap-contact-shell > .e-con-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ap-contact-content {
    padding-left: 22px;
  }

  .ap-contact-shell .wpforms-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ap-contact-shell *,
  .ap-contact-shell *::before,
  .ap-contact-shell *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
/* AP CONTACT - FINAL PATCH: eyebrow, dropdown, phone spacing */

/* 1. Mały napis nad nagłówkiem */
.ap-contact-eyebrow {
  color: #ff7a1a !important;
}

/* 2. WPForms select - zamknięte pole */
.ap-contact-shell .wpforms-field-select select,
.ap-contact-shell select {
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 48px 0 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 16px !important;
  background-color: rgba(5, 5, 5, 0.58) !important;
  color: #ffffff !important;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image:
    linear-gradient(135deg, rgba(255, 122, 26, 0.08), rgba(255, 122, 26, 0)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23ff9a3c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center, right 18px center !important;
  transition:
    border-color 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
    background-color 0.24s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

.ap-contact-shell .wpforms-field-select select:hover,
.ap-contact-shell select:hover {
  border-color: rgba(255, 122, 26, 0.38) !important;
}

.ap-contact-shell .wpforms-field-select select:focus,
.ap-contact-shell select:focus {
  outline: none !important;
  border-color: rgba(255, 154, 60, 0.78) !important;
  background-color: rgba(8, 8, 10, 0.88) !important;
  box-shadow:
    0 0 0 3px rgba(255, 122, 26, 0.13),
    0 0 24px rgba(255, 122, 26, 0.10) !important;
}

/* 2B. Opcje dropdowna - fallback dla natywnego selecta */
.ap-contact-shell .wpforms-field-select select option,
.ap-contact-shell select option {
  background: #0d0d0f !important;
  color: #ffffff !important;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 700 !important;
}

/* 2C. Jeśli WPForms użyje Modern Dropdown / Choices */
.ap-contact-shell .choices {
  width: 100% !important;
  margin: 0 !important;
  font-family: "Montserrat", "Inter", "Segoe UI", system-ui, sans-serif !important;
}

.ap-contact-shell .choices__inner {
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 48px 0 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 16px !important;
  background: rgba(5, 5, 5, 0.58) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.ap-contact-shell .choices[data-type*="select-one"]::after {
  right: 18px !important;
  border-color: #ff9a3c transparent transparent transparent !important;
}

.ap-contact-shell .choices.is-open .choices__inner,
.ap-contact-shell .choices.is-focused .choices__inner {
  border-color: rgba(255, 154, 60, 0.78) !important;
  box-shadow:
    0 0 0 3px rgba(255, 122, 26, 0.13),
    0 0 24px rgba(255, 122, 26, 0.10) !important;
}

.ap-contact-shell .choices__list--dropdown,
.ap-contact-shell .choices__list[aria-expanded] {
  margin-top: 8px !important;
  border: 1px solid rgba(255, 122, 26, 0.34) !important;
  border-radius: 14px !important;
  background: #0d0d0f !important;
  box-shadow:
    0 22px 50px rgba(0, 0, 0, 0.70),
    0 0 0 1px rgba(255, 122, 26, 0.08) !important;
  overflow: hidden !important;
}

.ap-contact-shell .choices__list--dropdown .choices__item,
.ap-contact-shell .choices__list[aria-expanded] .choices__item {
  padding: 13px 16px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  background: #0d0d0f !important;
}

.ap-contact-shell .choices__list--dropdown .choices__item--selectable.is-highlighted,
.ap-contact-shell .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: rgba(255, 122, 26, 0.14) !important;
  color: #ff9a3c !important;
}

/* 3. Telefon - przesunięcie numeru w prawo, żeby nie ucinało */
.ap-contact-shell .iti,
.ap-contact-shell .iti--allow-dropdown,
.ap-contact-shell .wpforms-smart-phone-field {
  width: 100% !important;
}

.ap-contact-shell .iti__flag-container {
  width: 58px !important;
}

.ap-contact-shell .iti__selected-flag {
  width: 58px !important;
  padding-left: 15px !important;
  padding-right: 8px !important;
  border-radius: 16px 0 0 16px !important;
}

.ap-contact-shell input.wpforms-smart-phone-field,
.ap-contact-shell .wpforms-field-phone input,
.ap-contact-shell .iti input[type="tel"] {
  padding-left: 72px !important;
  text-indent: 0 !important;
}

/* Telefon - gdy WPForms dodaje dodatkowe wrappery */
.ap-contact-shell .wpforms-field-phone .iti input {
  padding-left: 72px !important;
}

/* Mobile - zostawiamy większy luz */
@media (max-width: 640px) {
  .ap-contact-shell input.wpforms-smart-phone-field,
  .ap-contact-shell .wpforms-field-phone input,
  .ap-contact-shell .iti input[type="tel"],
  .ap-contact-shell .wpforms-field-phone .iti input {
    padding-left: 72px !important;
  }
}
/* AP CONTACT - mobile textarea placeholder fix */

@media (max-width: 640px) {
  .ap-contact-shell .wpforms-field-textarea textarea,
  .ap-contact-shell textarea {
    min-height: 118px !important;
    height: auto !important;
    padding: 16px 18px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .ap-contact-shell .wpforms-field-textarea textarea::placeholder,
  .ap-contact-shell textarea::placeholder {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 430px) {
  .ap-contact-shell .wpforms-field-textarea textarea,
  .ap-contact-shell textarea {
    min-height: 124px !important;
    padding: 16px 16px !important;
  }

  .ap-contact-shell .wpforms-field-textarea textarea::placeholder,
  .ap-contact-shell textarea::placeholder {
    font-size: 13px !important;
  }
}/* End custom CSS */