.psw-hero-premium {
  --psw-hero-bg: #f5f3ee;
  --psw-hero-accent: #f0c011;
  --psw-hero-split: 45%;
  --psw-hero-height: 580px;
  --psw-hero-image-height: clamp(240px, 38vw, 420px);
  --psw-hero-position-desktop: center center;
  --psw-hero-position-mobile: center center;
  --psw-hero-fit-desktop: cover;
  --psw-hero-fit-mobile: cover;
  --psw-hero-overlay-desktop: #242629;
  --psw-hero-overlay-mobile: #242629;
  --psw-hero-opacity-desktop: .04;
  --psw-hero-opacity-mobile: .04;
  --psw-hero-align: flex-start;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: var(--psw-hero-height);
  width: 100%;
  overflow: hidden;
  overflow: clip;
  background: var(--psw-hero-bg);
  color: #242629;
  font-family: Arial, Helvetica, sans-serif;
}
.psw-hero-premium, .psw-hero-premium *, .psw-hero-premium *::before, .psw-hero-premium *::after { box-sizing: border-box; }
.psw-hero-premium .psw-hero-premium-media {
  position: var(--psw-hero-media-position, absolute);
  inset: 0 0 auto auto;
  width: var(--psw-hero-media-width, calc(100% - var(--psw-hero-split) + 8%));
  height: var(--psw-hero-media-height, 100%);
  order: var(--psw-hero-media-order, 0);
  flex-shrink: 0;
  overflow: hidden;
  pointer-events: none;
}
.psw-hero-premium .psw-hero-premium-picture { display: block; width: 100%; height: 100%; }
.psw-hero-premium .psw-hero-premium-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: var(--psw-hero-fit-desktop);
  object-position: var(--psw-hero-position-desktop);
}
.psw-hero-premium .psw-hero-premium-media::before,
.psw-hero-premium .psw-hero-premium-media::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.psw-hero-premium .psw-hero-premium-media::before { background: var(--psw-hero-overlay-desktop); opacity: var(--psw-hero-opacity-desktop); }
.psw-hero-premium .psw-hero-premium-media::after { background: var(--psw-hero-blend, linear-gradient(90deg, var(--psw-hero-bg), transparent 24%)); }
.psw-hero-premium .psw-hero-premium-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: var(--psw-hero-container, 1440px);
  min-height: var(--psw-hero-inner-height, var(--psw-hero-height));
  margin-inline: auto;
  padding: clamp(28px, 5vw, 80px) clamp(20px, 6.4vw, 100px);
  flex: 1 0 auto;
}
.psw-hero-premium .psw-hero-premium-copy {
  display: flex;
  flex-direction: column;
  align-items: var(--psw-hero-align);
  gap: clamp(16px, 2vw, 28px);
  width: var(--psw-hero-copy-width, var(--psw-hero-split));
  min-width: 0;
  padding: 0 clamp(12px, 2vw, 32px) 0 0;
  text-align: left;
}
.psw-hero-premium .psw-hero-premium-eyebrow,
.psw-hero-premium .psw-hero-premium-title,
.psw-hero-premium .psw-hero-premium-description,
.psw-hero-premium .psw-hero-premium-services { margin: 0; padding: 0; color: inherit; overflow-wrap: anywhere; }
.psw-hero-premium .psw-hero-premium-eyebrow { display: flex; flex-direction: column; align-items: var(--psw-hero-align); gap: 14px; font-size: clamp(9px, .75vw, 12px); font-weight: 500; line-height: 1.6; letter-spacing: .18em; }
.psw-hero-premium .psw-hero-premium-eyebrow::before { content: ""; display: block; width: 36px; height: 2px; background: var(--psw-hero-line-color, var(--psw-hero-accent)); }
.psw-hero-premium .psw-hero-premium-title { font-size: clamp(26px, 3.15vw, 52px); font-weight: 300; line-height: 1.22; letter-spacing: -.035em; text-transform: none; }
.psw-hero-premium .psw-hero-premium-highlight { color: inherit; font-weight: 500; box-shadow: inset 0 -.08em var(--psw-hero-accent); }
.psw-hero-premium .psw-hero-premium-description { font-size: clamp(14px, 1.05vw, 17px); line-height: 1.7; }
.psw-hero-premium .psw-hero-premium-services { display: flex; flex-wrap: wrap; justify-content: var(--psw-hero-align); gap: 6px 12px; list-style: none; font-family: Georgia, serif; font-size: clamp(12px, .95vw, 15px); line-height: 1.7; }
.psw-hero-premium .psw-hero-premium-services li { display: flex; align-items: baseline; gap: 12px; margin: 0; padding: 0; list-style: none; }
.psw-hero-premium .psw-hero-premium-services li + li::before { content: "·"; color: currentColor; }
.psw-hero-premium .psw-hero-premium-services a { color: inherit; text-decoration: none; }
.psw-hero-premium .psw-hero-premium-services a:hover { text-decoration: underline; text-underline-offset: 4px; }
.psw-hero-premium .psw-hero-premium-actions { display: flex; flex-wrap: wrap; justify-content: var(--psw-hero-align); gap: clamp(12px, 1.5vw, 24px); width: 100%; margin-top: clamp(4px, .8vw, 14px); }
.psw-hero-premium .psw-hero-premium-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  max-width: 100%;
  padding: clamp(13px, 1.2vw, 19px) clamp(16px, 1.6vw, 26px);
  border: 1px solid transparent;
  border-radius: 0;
  box-shadow: none;
  font-family: inherit;
  font-size: clamp(9px, .7vw, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.psw-hero-premium .psw-hero-premium-cta-primary { color: #242629; background: var(--psw-hero-accent); border-color: var(--psw-hero-accent); }
.psw-hero-premium .psw-hero-premium-cta-secondary { color: #242629; background: transparent; border-color: #8c8a85; }
.psw-hero-premium .psw-hero-premium-cta:hover,
.psw-hero-premium .psw-hero-premium-cta:focus-visible { color: #fff; background: #242629; border-color: #242629; text-decoration: none; }
.psw-hero-premium a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.psw-hero-premium .psw-hero-premium-arrow { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 400; line-height: 1; transition: transform .25s ease; }
.psw-hero-premium .psw-hero-premium-arrow i { font-size: inherit; line-height: 1; }
.psw-hero-premium .psw-hero-premium-cta:hover .psw-hero-premium-arrow,
.psw-hero-premium .psw-hero-premium-cta:focus-visible .psw-hero-premium-arrow { transform: translateX(4px); }
/* Only JS-started animations run; content stays visible when JS is unavailable. */
.psw-hero-premium[data-psw-hero-running] .psw-hero-premium-step { animation: psw-hero-premium-up var(--psw-hero-duration, 900ms) ease both; animation-delay: calc(var(--psw-hero-delay, 0ms) + var(--psw-hero-step, 0) * var(--psw-hero-stagger, 120ms)); }
.psw-hero-premium[data-psw-hero-running] .psw-hero-premium-image { animation: psw-hero-premium-zoom var(--psw-hero-duration, 900ms) ease both; animation-delay: var(--psw-hero-delay, 0ms); }
.psw-hero-premium[data-psw-hero-running]:focus-within .psw-hero-premium-step { animation: none; }
/* Generated by Elementor at its configured breakpoints: layout and heights. */
@keyframes psw-hero-premium-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes psw-hero-premium-zoom { from { transform: scale(1.045); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .psw-hero-premium .psw-hero-premium-step,
  .psw-hero-premium .psw-hero-premium-image,
  .psw-hero-premium .psw-hero-premium-cta,
  .psw-hero-premium .psw-hero-premium-arrow { animation: none !important; transition: none !important; transform: none !important; }
}
.psw-hero-premium[data-psw-hero-motion="no"] .psw-hero-premium-cta,
.psw-hero-premium[data-psw-hero-motion="no"] .psw-hero-premium-arrow { transition: none; transform: none; }
