@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url("fonts/space-grotesk-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url("fonts/space-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/archivo-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/archivo-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("fonts/outfit-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("fonts/outfit-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* PURE3D design system baseline.
   Scope every rule to .p3d-ds or the current .p3d-gutenberg-lp wrapper. */

:where(.p3d-ds, .p3d-gutenberg-lp) {
  --p3d-color-ink: #070707;
  --p3d-color-text: #373a42;
  --p3d-color-muted: #5f626a;
  --p3d-color-subtle: #62656c;
  --p3d-color-line: rgba(7, 7, 7, .12);
  --p3d-color-line-soft: rgba(7, 7, 7, .08);
  --p3d-color-surface: #fff;
  --p3d-color-surface-soft: #f8f8f8;
  --p3d-color-surface-tint: #f5f5f2;
  --p3d-color-green: #307a23;
  --p3d-color-sage: #a5c170;
  --p3d-color-cta: #efb300;
  --p3d-color-cta-hover: #dca400;
  --p3d-color-cta-text: #070707;
  --p3d-color-on-dark: #fff;

  --p3d-font-body: Heebo, Arial, sans-serif;
  --p3d-font-display: "Outfit", Heebo, Arial, sans-serif;
  --p3d-font-family: var(--p3d-font-body);
  --p3d-letter-spacing-body: .02em;
  --p3d-letter-spacing-copy: .026em;
  --p3d-letter-spacing-strong: .024em;
  --p3d-weight-copy: 300;
  --p3d-weight-strong: 600;
  --p3d-weight-h1: 400;
  --p3d-weight-h2: 400;
  --p3d-weight-h3: 500;
  --p3d-weight-kicker: 600;
  --p3d-line-h1: 1.18;
  --p3d-line-h2: 1.16;
  --p3d-line-h3: 1.16;
  --p3d-line-copy: 1.6;
  --p3d-line-reading: 1.65;
  --p3d-copy-width: 70ch;

  --p3d-shell-max: 1440px;
  --p3d-shell-gutter: 150px;
  --p3d-shell-gutter-lg: 80px;
  --p3d-shell-gutter-md: 32px;
  --p3d-shell-gutter-sm: 18px;
  --p3d-section-y: clamp(70px, 7vw, 112px);
  --p3d-section-y-compact: clamp(54px, 5.4vw, 82px);
  --p3d-section-y-spacious: clamp(90px, 9vw, 142px);
  --p3d-section-head-gap: clamp(42px, 6vw, 86px);
  --p3d-section-head-copy-offset: 50px;
  --p3d-grid-gap: 18px;

  --p3d-radius-xs: 2px;
  --p3d-radius-sm: 3px;
  --p3d-radius-md: 4px;
  --p3d-radius-lg: 6px;

  --p3d-h1-size: clamp(32px, 3.8vw, 42px);
  --p3d-h2-size: clamp(30px, 2.9vw, 40px);
  --p3d-h3-size: clamp(21px, 1.7vw, 28px);
  --p3d-lead-size: clamp(21px, 1.7vw, 26px);
  --p3d-copy-size: 17px;
  --p3d-small-size: 15px;

  --p3d-hero-min-h: clamp(620px, 78vh, 790px);
  --p3d-hero-title-width: min(960px, 68vw);
  --p3d-hero-copy-width: min(820px, calc(50vw + 80px));
  --p3d-hero-overlay: rgba(0, 0, 0, .2);
  --p3d-hero-gradient: linear-gradient(90deg, rgba(0, 0, 0, .62), rgba(0, 0, 0, .36) 66%, rgba(0, 0, 0, 0));

  --p3d-motion-duration: 500ms;
  --p3d-motion-fast: 280ms;
  --p3d-motion-ease: cubic-bezier(.25, .8, .25, 1);
  --p3d-motion-ease-out: cubic-bezier(.16, 1, .3, 1);

  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  background: var(--p3d-color-surface-soft);
  color: var(--p3d-color-ink);
  font-family: var(--p3d-font-family);
  letter-spacing: var(--p3d-letter-spacing-body);
  overflow-x: hidden;
}

body .p3d-ds,
body .p3d-gutenberg-lp {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

body:has(:where(.p3d-ds, .p3d-gutenberg-lp)) .container-wrap,
body:has(:where(.p3d-ds, .p3d-gutenberg-lp)) .main-content,
body:has(:where(.p3d-ds, .p3d-gutenberg-lp)) .wp-block-html {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body:has(> .p3d-ds),
body:has(> .p3d-gutenberg-lp) {
  margin: 0;
}

:where(.p3d-ds, .p3d-gutenberg-lp),
:where(.p3d-ds, .p3d-gutenberg-lp) * {
  box-sizing: border-box;
}

:where(.p3d-ds, .p3d-gutenberg-lp) :where(section, article, aside, figure, blockquote) {
  position: relative;
}

:where(.p3d-ds, .p3d-gutenberg-lp) :where(h1, h2, h3, p, figure, blockquote) {
  margin-top: 0;
}

:where(.p3d-ds, .p3d-gutenberg-lp) img,
:where(.p3d-ds, .p3d-gutenberg-lp) video {
  max-width: 100%;
}

.p3d-shell {
  width: min(calc(100vw - (var(--p3d-shell-gutter) * 2)), var(--p3d-shell-max));
  max-width: var(--p3d-shell-max);
  margin-left: auto;
  margin-right: auto;
}

.p3d-section {
  padding: var(--p3d-section-y) 0;
  background: var(--p3d-color-surface);
}

.p3d-section--soft {
  background: var(--p3d-color-surface-soft);
}

.p3d-section--compact {
  padding-top: var(--p3d-section-y-compact);
  padding-bottom: var(--p3d-section-y-compact);
}

.p3d-section--spacious {
  padding-top: var(--p3d-section-y-spacious);
  padding-bottom: var(--p3d-section-y-spacious);
}

.p3d-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);
  gap: var(--p3d-section-head-gap);
  align-items: start;
  margin-bottom: clamp(42px, 5.5vw, 72px);
}

.p3d-section-head__copy,
.p3d-section-head > div:nth-child(2) {
  padding-top: var(--p3d-section-head-copy-offset);
}

.p3d-section-head__copy .p3d-copy:first-child,
.p3d-section-head > div:nth-child(2) .p3d-copy:first-child {
  margin-top: 0;
}

.p3d-section-head--flush .p3d-section-head__copy,
.p3d-section-head--flush > div:nth-child(2) {
  padding-top: 0;
}

.p3d-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .88fr);
  gap: clamp(48px, 6vw, 88px);
  align-items: start;
}

.p3d-split--offset > :nth-child(2) {
  margin-top: var(--p3d-section-head-copy-offset);
}

.p3d-kicker {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 0 22px;
  color: var(--p3d-color-green);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: .04em;
}

.p3d-kicker.light,
.p3d-kicker--light {
  color: rgba(255, 255, 255, .86);
}

.p3d-hero .p3d-kicker,
.p3d-hero .p3d-kicker.light,
.p3d-hero .p3d-kicker--light {
  margin-bottom: 4px !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
}

.p3d-ds h1,
.p3d-ds h2,
.p3d-ds h3,
.p3d-ds h4,
.p3d-ds .p3d-display,
.p3d-ds .p3d-h1,
.p3d-ds .p3d-h2,
.p3d-ds .p3d-h3,
.p3d-gutenberg-lp h1,
.p3d-gutenberg-lp h2,
.p3d-gutenberg-lp h3,
.p3d-gutenberg-lp h4,
.p3d-gutenberg-lp .p3d-display,
.p3d-gutenberg-lp .p3d-h1,
.p3d-gutenberg-lp .p3d-h2,
.p3d-gutenberg-lp .p3d-h3 {
  font-family: var(--p3d-font-display) !important;
}

.p3d-ds .p3d-display,
.p3d-ds .p3d-h1,
.p3d-gutenberg-lp .p3d-display,
.p3d-gutenberg-lp .p3d-h1 {
  line-height: var(--p3d-line-h1) !important;
  letter-spacing: .02em !important;
  font-weight: var(--p3d-weight-h1) !important;
}

.p3d-ds .p3d-h2,
.p3d-gutenberg-lp .p3d-h2 {
  line-height: var(--p3d-line-h2) !important;
  letter-spacing: .02em !important;
  font-weight: var(--p3d-weight-h2) !important;
}

.p3d-ds .p3d-h3,
.p3d-gutenberg-lp .p3d-h3 {
  line-height: var(--p3d-line-h3) !important;
  letter-spacing: -.008em !important;
  font-weight: var(--p3d-weight-h3) !important;
}

.p3d-ds .p3d-copy,
.p3d-gutenberg-lp .p3d-copy {
  line-height: var(--p3d-line-copy) !important;
  letter-spacing: var(--p3d-letter-spacing-copy) !important;
  font-weight: var(--p3d-weight-copy) !important;
  max-width: var(--p3d-copy-width);
}

.p3d-ds .p3d-copy strong,
.p3d-ds .p3d-lead strong,
.p3d-ds strong,
.p3d-gutenberg-lp .p3d-copy strong,
.p3d-gutenberg-lp .p3d-lead strong,
.p3d-gutenberg-lp strong {
  letter-spacing: var(--p3d-letter-spacing-strong) !important;
  font-weight: var(--p3d-weight-strong) !important;
}

.p3d-ds .p3d-kicker,
.p3d-gutenberg-lp .p3d-kicker {
  font-weight: var(--p3d-weight-kicker) !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}

.p3d-display,
.p3d-h1 {
  margin: 0 0 22px;
  color: inherit;
  font-size: var(--p3d-h1-size);
  line-height: var(--p3d-line-h1);
  letter-spacing: .02em;
  font-weight: var(--p3d-weight-h1);
  text-wrap: balance;
}

.p3d-h2 {
  margin: 0 0 24px;
  color: var(--p3d-color-ink);
  font-size: var(--p3d-h2-size);
  line-height: var(--p3d-line-h2);
  letter-spacing: .02em;
  font-weight: var(--p3d-weight-h2);
  text-wrap: balance;
}

.p3d-h3 {
  margin: 0;
  color: var(--p3d-color-ink);
  font-size: var(--p3d-h3-size);
  line-height: var(--p3d-line-h3);
  letter-spacing: -.008em;
  font-weight: var(--p3d-weight-h3);
  text-wrap: balance;
}

.p3d-copy {
  margin-bottom: 18px;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: var(--p3d-line-copy);
  font-weight: var(--p3d-weight-copy);
  max-width: var(--p3d-copy-width);
  text-wrap: pretty;
}

.p3d-lead,
.p3d-copy--lead {
  color: #202228;
  font-size: var(--p3d-lead-size);
  line-height: 1.22;
  letter-spacing: -.015em;
  font-weight: 300;
  max-width: 58ch;
}

.p3d-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 28px;
}

.p3d-actions--center {
  justify-content: center !important;
  text-align: center;
  width: 100%;
}

.p3d-actions--wide {
  grid-column: 1 / -1;
  justify-self: center;
}

.p3d-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: var(--p3d-radius-sm);
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .04em;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--p3d-motion-fast) var(--p3d-motion-ease), background-color var(--p3d-motion-fast) ease, border-color var(--p3d-motion-fast) ease, color var(--p3d-motion-fast) ease;
  box-shadow: none !important;
}

.p3d-btn:hover,
.p3d-btn:focus-visible {
  transform: translateY(-1px) scale(1.006);
}

.p3d-btn:focus-visible {
  outline: 2px solid var(--p3d-color-green);
  outline-offset: 4px;
}

.p3d-btn.primary,
.p3d-btn--primary {
  background: var(--p3d-color-cta);
  border-color: var(--p3d-color-cta);
  color: var(--p3d-color-cta-text);
}

.p3d-btn.primary:hover,
.p3d-btn.primary:focus-visible,
.p3d-btn--primary:hover,
.p3d-btn--primary:focus-visible {
  background: var(--p3d-color-cta-hover);
  border-color: var(--p3d-color-cta-hover);
  color: var(--p3d-color-cta-text);
}

.p3d-btn.line,
.p3d-btn--line {
  background: transparent;
  border-color: rgba(7, 7, 7, .24);
  color: #17191f;
  box-shadow: none !important;
}

.p3d-btn.line:hover,
.p3d-btn.line:focus-visible,
.p3d-btn--line:hover,
.p3d-btn--line:focus-visible {
  background: rgba(7, 7, 7, .055);
  border-color: rgba(7, 7, 7, .34);
  color: #17191f;
}

.p3d-btn.ghost,
.p3d-btn--ghost {
  background: transparent;
  border-color: rgba(7, 7, 7, .24);
  color: #17191f;
  box-shadow: none !important;
}

.p3d-btn.ghost:hover,
.p3d-btn.ghost:focus-visible,
.p3d-btn--ghost:hover,
.p3d-btn--ghost:focus-visible {
  background: rgba(7, 7, 7, .055);
  border-color: rgba(7, 7, 7, .34);
  color: #17191f;
}

.p3d-hero .p3d-btn.ghost,
.p3d-hero .p3d-btn--ghost {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .62);
  color: #fff;
  box-shadow: none;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.p3d-hero .p3d-btn.ghost:hover,
.p3d-hero .p3d-btn.ghost:focus-visible,
.p3d-hero .p3d-btn--ghost:hover,
.p3d-hero .p3d-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, .22);
  border-color: rgba(255, 255, 255, .82);
  color: #fff;
}

.p3d-hero {
  min-height: var(--p3d-hero-min-h);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--p3d-color-ink);
  color: var(--p3d-color-on-dark);
}

.p3d-hero::before,
.p3d-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.p3d-hero::before {
  z-index: 2;
  width: min(70vw, 1040px);
  background: var(--p3d-hero-gradient);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 78%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0, #000 78%, transparent 100%);
}

.p3d-hero::after {
  z-index: 1;
  background: var(--p3d-hero-overlay);
}

.p3d-hero video,
.p3d-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p3d-hero-inner,
.p3d-hero__inner {
  position: relative;
  z-index: 3;
  width: auto;
  max-width: none;
  margin-left: 50px;
  margin-right: 50px;
  padding: 118px 0 0;
}

.p3d-hero-copy,
.p3d-hero__copy {
  max-width: var(--p3d-hero-title-width);
  transform: translateY(-50px);
}

.p3d-hero .p3d-display,
.p3d-hero .p3d-h1 {
  max-width: var(--p3d-hero-title-width);
}

.p3d-hero p:not(.p3d-kicker) {
  max-width: var(--p3d-hero-copy-width);
  color: rgba(255, 255, 255, .86);
  font-size: var(--p3d-copy-size);
  line-height: 1.62;
  font-weight: 300;
}

.p3d-hero-note {
  margin: 20px 0 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.p3d-hero-note + .p3d-actions {
  margin-top: 22px;
}

.p3d-hero .p3d-actions {
  justify-content: flex-start !important;
  text-align: left;
  margin-left: 50px;
}

.p3d-hero-spacer,
.p3d-hero__spacer {
  height: clamp(96px, 14vh, 148px);
}

.p3d-hero--quiet {
  --p3d-hero-overlay: rgba(0, 0, 0, .04);
  --p3d-hero-gradient: linear-gradient(90deg, rgba(7, 7, 7, .64), rgba(7, 7, 7, .36) 68%, rgba(7, 7, 7, .08));
  background:
    radial-gradient(circle at 82% 22%, rgba(165, 193, 112, .18), transparent 34%),
    linear-gradient(135deg, #17191f 0%, #282c2a 56%, #111317 100%);
}

.p3d-hero--quiet .p3d-hero__media {
  opacity: .28;
  filter: saturate(.8) contrast(.96);
}

.p3d-logo-strip {
  border: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 50px !important;
  padding-bottom: 64px !important;
  background: #fff !important;
}

.p3d-logo-marquee {
  width: min(calc(100vw - (var(--p3d-shell-gutter) * 2)), var(--p3d-shell-max));
  max-width: var(--p3d-shell-max);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 16px 0 !important;
  border: 0 !important;
  background: #fff !important;
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.p3d-logo-track {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: clamp(28px, 4vw, 64px) !important;
  width: 100% !important;
  animation: none !important;
  transform: none !important;
}

.p3d-logo-track img {
  justify-self: center !important;
  max-height: 52px !important;
  max-width: 100% !important;
  opacity: 1 !important;
}

.p3d-logo-track img:nth-child(n+7) {
  display: none !important;
}

.p3d-card-grid,
.p3d-change-grid,
.p3d-partner-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--p3d-grid-gap);
}

.p3d-info-card,
.p3d-change-card,
.p3d-partner-card {
  min-height: 132px;
  display: flex;
  align-items: center;
  padding: 24px;
  background: var(--p3d-color-surface);
  border: 1px solid var(--p3d-color-line-soft);
  border-radius: var(--p3d-radius-xs);
}

.p3d-info-card p,
.p3d-change-card p,
.p3d-partner-card p {
  margin: 0 !important;
  color: var(--p3d-color-text);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 300;
}

.p3d-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
}

.p3d-service-card {
  height: 390px !important;
  min-height: 390px !important;
  display: flex;
  align-items: flex-end;
  overflow: hidden !important;
  border-radius: var(--p3d-radius-md);
  background-color: #dfe4dc;
  background-image: var(--p3d-card-image);
  background-position: center !important;
  background-size: cover;
  transition: transform 420ms ease !important;
  transform-origin: center center;
}

.p3d-service-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50% !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: auto !important;
  background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, .36) 28%, rgba(7, 7, 7, .68)) !important;
  -webkit-backdrop-filter: blur(7px) !important;
  backdrop-filter: blur(7px) !important;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, black 22%) !important;
  mask-image: linear-gradient(180deg, transparent 0, black 22%) !important;
}

.p3d-service-card:hover,
.p3d-service-card:focus-within {
  transform: scale(1.02) !important;
}

.p3d-service-content {
  position: absolute !important;
  z-index: 2 !important;
  top: 66% !important;
  right: 18px !important;
  bottom: auto !important;
  left: 18px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  gap: 14px;
  width: auto !important;
  padding: 0 !important;
  color: #fff;
}

.p3d-service-card--label .p3d-service-content {
  top: auto !important;
  bottom: 24px !important;
  justify-content: flex-end;
}

.p3d-service-card--label::after {
  top: 70% !important;
  background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, .28) 34%, rgba(7, 7, 7, .66)) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, black 28%) !important;
  mask-image: linear-gradient(180deg, transparent 0, black 28%) !important;
}

.p3d-media-offset {
  margin-top: var(--p3d-section-head-copy-offset) !important;
}

.p3d-split--left-offset > :first-child {
  margin-top: var(--p3d-section-head-copy-offset) !important;
}

.p3d-video-card.p3d-video-embed--person,
.p3d-video-embed--person.p3d-video-card {
  width: min(100%, 420px);
  min-height: 0 !important;
  aspect-ratio: 9 / 16;
  justify-self: center;
}

.p3d-video-card.p3d-video-embed--person img,
.p3d-video-embed--person.p3d-video-card img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
}

.p3d-inline-video {
  position: relative;
  width: min(100%, 420px);
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #101010;
  justify-self: center;
}

.p3d-inline-video--portrait {
  aspect-ratio: 9 / 16;
}

.p3d-home-intro-image {
  width: min(100%, 420px);
  margin: 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #101010;
  aspect-ratio: 1 / 1;
  justify-self: center;
}

.p3d-home-intro-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p3d-inline-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  background: #101010;
}

.p3d-inline-video__play {
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border: 1px solid var(--p3d-color-cta) !important;
  border-radius: var(--p3d-radius-sm) !important;
  background: var(--p3d-color-cta) !important;
  color: var(--p3d-color-cta-text) !important;
  box-shadow: none !important;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: transform var(--p3d-motion-fast) var(--p3d-motion-ease), background-color var(--p3d-motion-fast) ease, border-color var(--p3d-motion-fast) ease, opacity var(--p3d-motion-fast) ease;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-inline-video > button.p3d-inline-video__play,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-demo-frame > button.p3d-inline-video__play {
  width: 88px !important;
  height: 88px !important;
  min-width: 88px !important;
  min-height: 88px !important;
  padding: 0 !important;
  border: 1px solid var(--p3d-color-cta) !important;
  border-radius: var(--p3d-radius-sm) !important;
  -webkit-border-radius: var(--p3d-radius-sm) !important;
  background: var(--p3d-color-cta) !important;
  background-image: none !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  clip-path: none !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-inline-video > button.p3d-inline-video__play::before,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-inline-video > button.p3d-inline-video__play::after,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-demo-frame > button.p3d-inline-video__play::before,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-demo-frame > button.p3d-inline-video__play::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.p3d-inline-video__play:hover,
.p3d-inline-video__play:focus-visible {
  background: var(--p3d-color-cta-hover) !important;
  border-color: var(--p3d-color-cta-hover) !important;
  color: var(--p3d-color-cta-text) !important;
  transform: translate(-50%, -50%) scale(1.025);
}

.p3d-inline-video__play:focus-visible {
  outline: 2px solid var(--p3d-color-green);
  outline-offset: 4px;
}

.p3d-inline-video__play svg {
  width: 60px;
  height: 60px;
  margin-left: 3px;
  fill: currentColor;
}

.p3d-inline-video.is-playing .p3d-inline-video__play,
.p3d-inline-video.has-started .p3d-inline-video__play {
  opacity: 0;
  pointer-events: none;
}

.p3d-tour-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: clamp(32px, 4vw, 52px);
}

.p3d-tour-card {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 360px;
  border-radius: var(--p3d-radius-md);
  background: #101010;
  color: #fff !important;
  text-decoration: none !important;
}

.p3d-tour-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  transform: scale(1);
  transition: transform 420ms ease !important;
}

.p3d-tour-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 7, 7, .06), rgba(7, 7, 7, .18) 46%, rgba(7, 7, 7, .72));
  pointer-events: none;
}

.p3d-tour-card:hover img,
.p3d-tour-card:focus-visible img {
  transform: scale(1.02) !important;
}

.p3d-tour-card .p3d-inline-video__play {
  width: 88px;
  height: 88px;
}

.p3d-tour-card .p3d-inline-video__play svg {
  width: 60px;
  height: 60px;
}

.p3d-tour-grid + .p3d-actions {
  margin-top: 56px;
}

.p3d-tour-card__body {
  position: absolute;
  z-index: 2;
  left: clamp(20px, 3vw, 30px);
  right: clamp(20px, 3vw, 30px);
  bottom: clamp(20px, 3vw, 30px);
}

.p3d-tour-card__body h3 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(22px, 1.9vw, 30px) !important;
  line-height: 1.12 !important;
  font-weight: 300 !important;
  letter-spacing: -.012em;
}

.p3d-tour-card__body p {
  max-width: 54ch;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 300 !important;
}

.p3d-edition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: clamp(32px, 4vw, 52px);
}

.p3d-edition-card {
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fff;
}

.p3d-edition-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.p3d-edition-card__body {
  padding: clamp(22px, 3vw, 30px);
}

.p3d-edition-card h3 {
  margin: 0 0 12px;
  color: var(--p3d-color-ink);
  font-size: clamp(23px, 1.9vw, 30px);
  line-height: 1.14;
  font-weight: 300;
  letter-spacing: -.012em;
}

.p3d-edition-card p {
  margin: 0;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.58;
  font-weight: 300;
}

.p3d-demo-frame {
  position: relative;
  overflow: hidden;
  margin-top: clamp(32px, 4vw, 52px);
  border-radius: var(--p3d-radius-md);
  background: #101010;
  aspect-ratio: 16 / 9;
}

.p3d-demo-frame img,
.p3d-demo-frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p3d-demo-frame iframe {
  z-index: 1;
  background: #fff;
}

.p3d-demo-frame img {
  object-fit: cover;
  transition: transform 420ms ease !important;
}

.p3d-demo-frame--clean {
  background: #fff;
}

.p3d-demo-frame--clean img {
  object-fit: contain;
}

.p3d-demo-frame--clean::after,
.p3d-demo-frame--clean .p3d-demo-frame__label {
  display: none;
}

.p3d-demo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 7, 7, .08), rgba(7, 7, 7, .18) 48%, rgba(7, 7, 7, .62));
  pointer-events: none;
}

.p3d-demo-frame:hover img,
.p3d-demo-frame:focus-within img {
  transform: scale(1.02) !important;
}

.p3d-demo-frame__label {
  position: absolute;
  z-index: 2;
  left: clamp(20px, 3vw, 34px);
  right: clamp(20px, 3vw, 34px);
  bottom: clamp(20px, 3vw, 34px);
  color: #fff;
}

.p3d-demo-frame > .p3d-inline-video__play {
  z-index: 3;
}

.p3d-demo-frame__label h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.12;
  font-weight: 300;
}

.p3d-demo-frame__label p {
  margin: 0;
  max-width: 58ch;
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-demo-frame.is-loaded img,
.p3d-demo-frame.is-loaded::after,
.p3d-demo-frame.is-loaded .p3d-inline-video__play,
.p3d-demo-frame.is-loaded .p3d-demo-frame__label {
  opacity: 0;
  pointer-events: none;
}

.p3d-demo-open-link {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.p3d-demo-open-link a {
  color: var(--p3d-color-ink) !important;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(7, 7, 7, .24);
}

.p3d-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}

.p3d-work-intro {
  max-width: 920px;
}

.p3d-work-head {
  padding-top: clamp(52px, 6vw, 82px);
  padding-bottom: clamp(42px, 5vw, 64px);
  background: #fff;
}

.p3d-work-head__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 30px);
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.p3d-work-head .p3d-kicker {
  margin-bottom: 18px;
}

.p3d-work-head .p3d-h1 {
  margin-bottom: 0;
}

.p3d-work-head .p3d-lead {
  margin-bottom: 18px;
}

.p3d-work-head .p3d-actions {
  margin-top: 24px;
}

.p3d-work-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: clamp(26px, 4vw, 42px);
}

.p3d-work-filter button {
  appearance: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .14);
  border-radius: 0;
  background: #fff;
  color: var(--p3d-color-muted);
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  transition: border-color 520ms var(--p3d-motion-ease-out), color 520ms var(--p3d-motion-ease-out), transform 360ms var(--p3d-motion-ease-out);
}

.p3d-work-filter button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f7f7f5;
  opacity: 0;
  transform: scaleX(.92);
  transform-origin: center;
  transition: opacity 560ms var(--p3d-motion-ease-out), transform 560ms var(--p3d-motion-ease-out);
}

.p3d-work-filter button:hover,
.p3d-work-filter button:focus-visible,
.p3d-work-filter button.is-active {
  border-color: rgba(7, 7, 7, .38);
  background: #fff;
  color: var(--p3d-color-ink);
  transform: translateY(-1px);
}

.p3d-work-filter button:hover::before,
.p3d-work-filter button:focus-visible::before,
.p3d-work-filter button.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.p3d-work-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: clamp(12px, 1.5vw, 18px);
  width: min(calc(100vw - (var(--p3d-shell-gutter-md) * 2)), 1380px);
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

.p3d-work-tile {
  position: relative;
  display: block;
  grid-column: span 2;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #111;
  color: #fff;
  text-decoration: none !important;
  isolation: isolate;
}

.p3d-work-tile.is-hidden {
  display: none;
}

.p3d-work-tile--wide {
  grid-column: span 4;
}

.p3d-work-tile--tall {
  grid-row: span 2;
}

.p3d-work-tile img,
.p3d-work-tile video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transform: scale(1);
  transition: transform 620ms var(--p3d-motion-ease-out) !important;
}

.p3d-work-tile--wide img,
.p3d-work-tile--wide video {
  aspect-ratio: 2 / 1;
}

.p3d-work-tile--tall img,
.p3d-work-tile--tall video {
  aspect-ratio: 1 / 2;
}

.p3d-work-tile:hover img,
.p3d-work-tile:focus-visible img,
.p3d-work-tile:hover video,
.p3d-work-tile:focus-visible video {
  transform: scale(1.025) !important;
}

.p3d-work-tile::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 54%;
  background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, .72));
  opacity: .9;
  pointer-events: none;
  transition: opacity 220ms var(--p3d-motion-ease-out);
}

.p3d-work-tile--no-caption::after {
  content: none;
  display: none;
}

.p3d-work-tile__caption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  color: rgba(255, 255, 255, .88);
  transition: opacity 220ms var(--p3d-motion-ease-out);
}

.p3d-work-tile__caption strong,
.p3d-work-tile__caption span {
  display: block;
}

.p3d-work-tile__caption > span:first-child {
  display: flex;
  flex-direction: column;
}

.p3d-work-tile__caption strong {
  order: 2;
  color: #fff;
  font-size: clamp(17px, 1.4vw, 22px);
  line-height: 1.12;
  font-weight: 300 !important;
  letter-spacing: -.01em;
  text-wrap: balance;
}

.p3d-work-tile__caption > span:first-child > span {
  order: 1;
  margin-top: 0;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, .74);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 300;
}

.p3d-work-badge {
  flex: 0 0 auto;
  align-self: end;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 300;
}

.p3d-work-tile .p3d-before-after {
  aspect-ratio: 1 / 1;
  height: 100%;
  margin: 0;
  border-radius: 0;
}

.p3d-work-tile--wide .p3d-before-after {
  aspect-ratio: 2 / 1;
}

.p3d-work-tile--tall .p3d-before-after {
  aspect-ratio: 1 / 2;
}

.p3d-work-tile .p3d-before-after img {
  min-height: 280px;
}

.p3d-work-tile .p3d-inline-video__play {
  z-index: 3;
  width: 68px;
  height: 68px;
}

.p3d-work-link-play {
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border: 1px solid var(--p3d-color-cta);
  border-radius: var(--p3d-radius-sm);
  background: var(--p3d-color-cta);
  color: var(--p3d-color-cta-text);
  transform: translate(-50%, -50%);
  transition: transform var(--p3d-motion-fast) var(--p3d-motion-ease), background-color var(--p3d-motion-fast) ease, border-color var(--p3d-motion-fast) ease;
}

.p3d-work-link-play svg {
  width: 44px;
  height: 44px;
  margin-left: 2px;
  fill: currentColor;
}

.p3d-work-tile:hover .p3d-work-link-play,
.p3d-work-tile:focus-visible .p3d-work-link-play {
  background: var(--p3d-color-cta-hover);
  border-color: var(--p3d-color-cta-hover);
  transform: translate(-50%, -50%) scale(1.025);
}

.p3d-work-tile.p3d-inline-video {
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.p3d-work-tile.p3d-inline-video.has-started video {
  object-fit: contain;
  background: #111;
}

.p3d-work-tile.p3d-inline-video.has-started::after,
.p3d-work-tile.p3d-inline-video.has-started .p3d-work-tile__caption {
  opacity: 0;
  pointer-events: none;
}

.p3d-work-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--p3d-color-line);
  border-bottom: 1px solid var(--p3d-color-line);
}

.p3d-work-stats span {
  padding: 22px clamp(16px, 3vw, 30px);
  color: var(--p3d-color-ink);
  font-size: clamp(18px, 1.8vw, 26px);
  line-height: 1.22;
  font-weight: 300;
  text-align: center;
}

.p3d-work-stats span + span {
  border-left: 1px solid var(--p3d-color-line);
}

.p3d-timeline {
  position: relative;
  max-width: 1180px;
  margin: clamp(42px, 6vw, 78px) auto 0;
  padding: 4px 0;
}

.p3d-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(7, 7, 7, .22) 8%, rgba(7, 7, 7, .22) 92%, transparent);
  transform: translateX(-50%);
}

.p3d-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
  gap: 0;
  align-items: start;
  min-height: 126px;
}

.p3d-timeline__node {
  position: relative;
  z-index: 2;
  grid-column: 2;
  justify-self: center;
  width: 22px;
  height: 22px;
  margin-top: 20px;
  border: 2px solid #2c3034;
  border-radius: 50%;
  background: var(--p3d-color-surface-soft);
  box-shadow: 0 0 0 8px var(--p3d-color-surface-soft);
}

.p3d-timeline__panel {
  position: relative;
  max-width: 440px;
  padding: 8px 0 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.p3d-timeline__panel::before {
  content: "";
  position: absolute;
  top: 30px;
  width: 36px;
  height: 1px;
  background: rgba(7, 7, 7, .2);
}

.p3d-timeline__item--left .p3d-timeline__panel {
  grid-column: 1;
  justify-self: end;
  text-align: right;
  transform-origin: right center;
}

.p3d-timeline__item--left .p3d-timeline__panel::before {
  right: -154px;
  width: 136px;
}

.p3d-timeline__item--right .p3d-timeline__panel {
  grid-column: 3;
  justify-self: start;
  transform-origin: left center;
}

.p3d-timeline__item--right .p3d-timeline__panel::before {
  left: -154px;
  width: 136px;
}

.p3d-timeline__year {
  display: block;
  margin: 0 0 12px;
  color: var(--p3d-color-ink);
  font-size: clamp(24px, 2.45vw, 31px);
  line-height: 1;
  letter-spacing: -.025em;
  font-weight: 400;
}

.p3d-timeline__title {
  margin: 0 0 8px;
  color: #202228;
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.24;
  font-weight: 400;
}

.p3d-timeline__text {
  margin: 0;
  color: var(--p3d-color-muted);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
}

.p3d-team-photo {
  margin: clamp(30px, 4vw, 50px) 0 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
}

.p3d-team-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
}

.p3d-profile-grid,
.p3d-download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: var(--p3d-grid-gap);
}

.p3d-profile-grid {
  gap: clamp(32px, 5vw, 78px);
}

.p3d-profile-card,
.p3d-download-card,
.p3d-cta-banner {
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fff;
}

.p3d-profile-card,
.p3d-download-card {
  padding: clamp(22px, 3vw, 30px);
}

.p3d-profile-card {
  overflow: hidden;
  padding: 0;
}

.p3d-profile-card__media {
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #eef0ec;
}

.p3d-profile-card__media img,
.p3d-profile-card img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.p3d-profile-card__body {
  padding: clamp(22px, 3vw, 30px);
}

.p3d-profile-card h3,
.p3d-download-card h3 {
  margin: 0 0 12px;
  color: var(--p3d-color-ink);
  font-size: clamp(21px, 1.65vw, 26px);
  line-height: 1.16;
  font-weight: 300;
  letter-spacing: -.012em;
}

.p3d-profile-card p,
.p3d-download-card p {
  margin: 0;
  color: var(--p3d-color-text);
  font-size: 16px;
  line-height: 1.56;
  font-weight: 300;
}

.p3d-download-card {
  background: #fbfbfa;
}

a.p3d-download-card {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

a.p3d-download-card:hover,
a.p3d-download-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(7, 7, 7, .18);
  background: #fff;
}

.p3d-download-card__icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  color: var(--p3d-color-green);
}

.p3d-download-card__icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.5;
}

.p3d-download-card--centered {
  text-align: center;
}

.p3d-download-card--centered .p3d-download-card__icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 22px;
}

.p3d-download-card__button {
  margin-top: 24px;
}

.p3d-download-card__hint {
  display: block;
  margin-top: 12px;
  color: var(--p3d-color-muted);
  font-size: 12px;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.p3d-download-card__label {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--p3d-color-muted);
  font-size: 13px;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.p3d-cta-banner {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px);
  text-align: center;
  background: #fff;
}

.p3d-cta-banner .p3d-copy {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.p3d-service-content h3 {
  min-height: 28px;
  margin: 0 !important;
  color: #fff;
  font-size: clamp(18px, 1.2vw, 20px) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
}

.p3d-service-content p {
  margin: 0 !important;
  color: #fff;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 300;
}

.p3d-service-cta-copy {
  max-width: none !important;
  margin: 50px auto 0 !important;
  text-align: center;
}

.p3d-service-cta-copy + .p3d-actions {
  margin-top: 18px;
}

.p3d-bridge-card {
  min-height: 0 !important;
  align-items: flex-start !important;
  margin-top: 28px;
  padding: 22px 24px !important;
  background: #fbfbfa !important;
  border-color: rgba(7, 7, 7, .09) !important;
}

.p3d-bridge-card p {
  margin: 0 !important;
  color: #202228 !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  font-weight: 300 !important;
}

.p3d-tabs,
.p3d-visual-tabs-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(38px, 6vw, 82px);
  align-items: start;
}

:where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-visual-tabs-layout + .p3d-actions,
:where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-layout + .p3d-actions.p3d-actions--center {
  margin-top: 64px !important;
}

.p3d-tabs__list,
.p3d-vertical-tabs {
  border-top: 0;
}

.p3d-visual-tabs-section .p3d-vertical-tabs {
  border-top: 0 !important;
}

.p3d-tab-trigger,
.p3d-tabs__trigger,
.p3d-accordion-tabs .ac-trigger {
  display: block;
  width: 100%;
  margin: 0;
  padding: 20px 0 19px;
  border: 0;
  border-bottom: 1px solid rgba(7, 7, 7, .13);
  border-radius: 0;
  background: transparent;
  color: #17191f;
  font: inherit;
  font-size: clamp(16px, 1.35vw, 17px);
  line-height: 1.24;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}

.p3d-tab-trigger:hover,
.p3d-tab-trigger:focus-visible,
.p3d-tabs__trigger:hover,
.p3d-tabs__trigger:focus-visible,
.p3d-accordion-tabs .ac-trigger:hover,
.p3d-accordion-tabs .ac-trigger:focus-visible {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0;
}

.p3d-accordion-tabs .ac-trigger::after {
  display: none !important;
  content: none !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac:hover,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac.is-active {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 7, 7, .13) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-header,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-header:hover {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger:hover,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger:focus,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger:focus-visible,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac.is-active .ac-trigger,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac.is-active .ac-trigger:hover {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 20px 0 19px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 7, 7, .13) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transform: none !important;
  text-shadow: none !important;
  color: #17191f !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger::before,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac-trigger::after {
  content: none !important;
  display: none !important;
}

.p3d-tab-title,
.p3d-tabs__title,
.p3d-tab-trigger span:first-child {
  display: block;
  color: #17191f;
  font-size: clamp(16px, 1.35vw, 17px);
  line-height: 1.24;
  font-weight: 400;
}

.p3d-tab-body,
.p3d-tabs__body {
  display: block;
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  color: var(--p3d-color-muted);
  transition: max-height var(--p3d-motion-duration) linear, opacity var(--p3d-motion-duration) linear, margin-top var(--p3d-motion-duration) linear;
}

.p3d-tab-trigger.is-active .p3d-tab-body,
.p3d-tab-trigger[aria-expanded="true"] .p3d-tab-body,
.p3d-tabs__trigger.is-active .p3d-tabs__body,
.p3d-tabs__trigger[aria-expanded="true"] .p3d-tabs__body {
  max-height: 420px;
  margin-top: 18px;
  opacity: 1;
}

.p3d-tab-current-image,
.p3d-tabs__image {
  display: block;
  width: 100%;
  min-height: clamp(360px, 42vw, 620px);
  aspect-ratio: 1.05 / 1;
  object-fit: cover;
  border-radius: var(--p3d-radius-md);
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
  transition: opacity var(--p3d-motion-fast) ease, filter var(--p3d-motion-fast) ease, transform var(--p3d-motion-fast) ease;
}

.p3d-tab-current-image.is-switching,
.p3d-tabs__image.is-switching {
  opacity: .58;
  filter: blur(5px);
  transform: scale(.992);
}

.p3d-accordion-tabs .ac,
.p3d-faq-accordion .ac,
[data-p3d-panel-accordion] .ac {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 7, 7, .13) !important;
  background: transparent !important;
}

.p3d-accordion-tabs .ac-panel,
.p3d-faq-accordion .ac-panel,
[data-p3d-panel-accordion] .ac-panel {
  overflow: hidden;
  transition-property: height, visibility !important;
  transition-duration: 500ms !important;
  transition-timing-function: cubic-bezier(.25, .8, .25, 1) !important;
}

.p3d-accordion-tabs .ac-panel .ac-text {
  padding: 16px 0 22px !important;
  color: var(--p3d-color-muted) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.56 !important;
  font-weight: 300 !important;
}

.p3d-visual-tabs-section .p3d-accordion-tabs .ac-text ul,
.p3d-tab-points {
  display: grid !important;
  gap: 9px;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.p3d-visual-tabs-section .p3d-accordion-tabs .ac-text li,
.p3d-tab-points > span {
  position: relative;
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--p3d-color-muted) !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  font-weight: 300 !important;
  list-style: none !important;
}

.p3d-visual-tabs-section .p3d-accordion-tabs .ac-text li::marker {
  content: "";
  font-size: 0;
}

.p3d-visual-tabs-section .p3d-accordion-tabs .ac-text li::before,
.p3d-check-icon {
  content: "" !important;
  position: relative;
  top: 2px;
  display: inline-block !important;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #cfd3cc;
}

.p3d-visual-tabs-section .p3d-accordion-tabs .ac-text li::after,
.p3d-check-icon::after {
  content: "" !important;
  position: absolute;
  left: 5px;
  top: 4px;
  display: block !important;
  width: 4px;
  height: 7px;
  border-right: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(45deg);
}

.p3d-gallery,
.p3d-masonry-gallery {
  display: grid !important;
  columns: initial !important;
  column-gap: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px !important;
  align-items: stretch !important;
}

.p3d-gallery--bento,
#beispiele .p3d-masonry-gallery {
  display: grid !important;
  columns: initial !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  aspect-ratio: 1 / 1;
}

.p3d-gallery--stack {
  grid-template-columns: 1fr !important;
  aspect-ratio: auto !important;
}

.p3d-gallery--stack .p3d-gallery__item {
  aspect-ratio: 16 / 9 !important;
}

.p3d-gallery--pairs {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  aspect-ratio: auto !important;
}

.p3d-gallery--pairs .p3d-gallery__item {
  aspect-ratio: 16 / 9 !important;
}

.p3d-service-grid + .p3d-gallery--pairs {
  margin-top: 16px;
}

.p3d-gallery + .p3d-actions {
  margin-top: 56px;
}

.p3d-split > .p3d-gallery + .p3d-actions--wide {
  margin-top: -44px !important;
}

.p3d-gallery--variant-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--p3d-grid-gap) !important;
  aspect-ratio: auto !important;
}

.p3d-gallery--variant-row .p3d-gallery__item:nth-child(1),
.p3d-gallery--variant-row .p3d-gallery__item:nth-child(2) {
  aspect-ratio: 4 / 3 !important;
}

.p3d-gallery--variant-row .p3d-gallery__item:nth-child(3) {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 7 !important;
}

.p3d-factor-list {
  display: grid;
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.p3d-factor-list li {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid rgba(7, 7, 7, .1);
  color: var(--p3d-color-text);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 300;
}

.p3d-factor-list strong {
  color: var(--p3d-color-ink);
  font-weight: 400;
}

.p3d-cost-example-grid,
.p3d-price-question-grid {
  display: grid;
  gap: var(--p3d-grid-gap);
  margin-top: clamp(32px, 4vw, 52px);
}

.p3d-cost-example-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p3d-price-question-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.p3d-cost-example-card,
.p3d-price-question-card {
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fff;
}

.p3d-cost-example-card {
  display: flex;
  flex-direction: column;
}

.p3d-price-question-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #fbfbfa;
}

.p3d-cost-example-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.p3d-cost-example-card__body,
.p3d-price-question-card {
  padding: clamp(22px, 3vw, 30px);
}

.p3d-cost-example-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.p3d-cost-example-card h3,
.p3d-price-question-card h3 {
  margin: 0 0 12px;
  color: var(--p3d-color-ink);
  font-size: clamp(21px, 1.65vw, 26px);
  line-height: 1.16;
  font-weight: 300;
  letter-spacing: -.012em;
}

.p3d-cost-example-card p,
.p3d-price-question-card p {
  margin: 0 0 16px;
  color: var(--p3d-color-text);
  font-size: 16px;
  line-height: 1.56;
  font-weight: 300;
}

.p3d-cost-example-card__meta {
  display: grid;
  gap: 9px;
  margin-bottom: 22px;
  padding-left: 4px;
  color: var(--p3d-color-muted);
  font-size: 14px;
  line-height: 1.38;
  font-weight: 300;
}

.p3d-cost-example-card__meta span {
  position: relative;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}

.p3d-cost-example-card__meta svg {
  display: block;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  color: #7f837b;
  stroke-width: 1.8;
}

.p3d-cost-example-card__price {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  margin-top: auto;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--p3d-color-ink);
  font-size: clamp(21px, 1.5vw, 24px);
  line-height: 1;
  font-weight: 400;
}

.p3d-price-question-card__link {
  display: inline-flex;
  margin-top: auto;
  color: var(--p3d-color-ink) !important;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 400;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(7, 7, 7, .22);
}

.p3d-side-image {
  margin: clamp(28px, 4vw, 42px) 0 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
}

.p3d-side-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.p3d-side-image--wide img {
  aspect-ratio: 2 / 1;
}

.p3d-compare-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  align-items: start;
}

.p3d-compare-pair figure {
  margin: 0;
}

.p3d-compare-pair img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--p3d-radius-md);
  background: #e9ece6;
}

.p3d-compare-pair figcaption {
  margin-top: 12px;
  color: var(--p3d-color-ink);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

.p3d-gallery--bento-six {
  display: grid !important;
  columns: initial !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--p3d-grid-gap) !important;
  align-items: stretch !important;
  aspect-ratio: 16 / 9;
}

.p3d-gallery--bento-six .p3d-gallery__item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.p3d-gallery--bento-six .p3d-gallery__item:nth-child(2) { grid-column: 3 / span 2; grid-row: 1; }
.p3d-gallery--bento-six .p3d-gallery__item:nth-child(3) { grid-column: 3; grid-row: 2; }
.p3d-gallery--bento-six .p3d-gallery__item:nth-child(4) { grid-column: 4; grid-row: 2 / span 2; }
.p3d-gallery--bento-six .p3d-gallery__item:nth-child(5) { grid-column: 1; grid-row: 3; }
.p3d-gallery--bento-six .p3d-gallery__item:nth-child(6) { grid-column: 2 / span 2; grid-row: 3; }

.p3d-gallery--leistung .p3d-gallery__item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1; }
.p3d-gallery--leistung .p3d-gallery__item:nth-child(2) { grid-column: 3; grid-row: 1; }
.p3d-gallery--leistung .p3d-gallery__item:nth-child(3) { grid-column: 2 / span 2; grid-row: 2; }
.p3d-gallery--leistung .p3d-gallery__item:nth-child(4) { grid-column: 1; grid-row: 2 / span 2; }
.p3d-gallery--leistung .p3d-gallery__item:nth-child(5) { grid-column: 2 / span 2; grid-row: 3; }

.p3d-gallery--arbeiten {
  display: grid !important;
  columns: initial !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: calc((min(calc(100vw - (var(--p3d-shell-gutter) * 2)), var(--p3d-shell-max)) - (var(--p3d-grid-gap) * 2)) / 3) !important;
  gap: var(--p3d-grid-gap) !important;
  align-items: stretch !important;
  aspect-ratio: auto !important;
}

.p3d-gallery--arbeiten .p3d-gallery__item {
  aspect-ratio: auto !important;
}

.p3d-gallery--arbeiten .p3d-gallery__item--wide { grid-column: span 2; }
.p3d-gallery--arbeiten .p3d-gallery__item--square { grid-column: span 1; }
.p3d-gallery--arbeiten .p3d-gallery__item--tall { grid-row: span 2; }

.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(2) { grid-column: 3; grid-row: 1; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(3) { grid-column: 2 / span 2; grid-row: 2; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(4) { grid-column: 1; grid-row: 2 / span 2; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(5) { grid-column: 2 / span 2; grid-row: 3; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(6) { grid-column: 1 / span 2; grid-row: 4; }
.p3d-gallery--arbeiten .p3d-gallery__item:nth-child(7) { grid-column: 3; grid-row: 4; }

.p3d-gallery--produkt {
  display: grid !important;
  columns: initial !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: calc((min(calc(100vw - (var(--p3d-shell-gutter) * 2)), var(--p3d-shell-max)) - (var(--p3d-grid-gap) * 2)) / 3) !important;
  gap: var(--p3d-grid-gap) !important;
  align-items: stretch !important;
  aspect-ratio: auto !important;
}

.p3d-gallery--produkt .p3d-gallery__item {
  aspect-ratio: auto !important;
}

.p3d-gallery--produkt .p3d-gallery__item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1; }
.p3d-gallery--produkt .p3d-gallery__item:nth-child(2) { grid-column: 3; grid-row: 1; }
.p3d-gallery--produkt .p3d-gallery__item:nth-child(3) { grid-column: 1; grid-row: 2; }
.p3d-gallery--produkt .p3d-gallery__item:nth-child(4) { grid-column: 2; grid-row: 2; }
.p3d-gallery--produkt .p3d-gallery__item:nth-child(5) { grid-column: 3; grid-row: 2 / span 2; }
.p3d-gallery--produkt .p3d-gallery__item:nth-child(6) { grid-column: 1 / span 2; grid-row: 3; }

.p3d-gallery__item,
.p3d-masonry-item {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden !important;
  border-radius: var(--p3d-radius-md);
  break-inside: auto !important;
  aspect-ratio: auto !important;
  background: #e9ece6;
}

.p3d-gallery__item img,
.p3d-masonry-item img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  transition: transform 420ms ease !important;
}

.p3d-gallery__item:hover img,
.p3d-gallery__item:focus-within img,
.p3d-masonry-item:hover img,
.p3d-masonry-item:focus-within img {
  transform: scale(1.02) !important;
}

.p3d-gallery__wide-top,
.p3d-gallery-wide-top { grid-column: 1 / span 2; grid-row: 1; }
.p3d-gallery__tall-right,
.p3d-gallery-tall-right { grid-column: 3; grid-row: 1 / span 2; }
.p3d-gallery__tall-left,
.p3d-gallery-tall-left { grid-column: 1; grid-row: 2 / span 2; }
.p3d-gallery__square,
.p3d-gallery-square { grid-column: 2; grid-row: 2; }
.p3d-gallery__wide-bottom,
.p3d-gallery-wide-bottom { grid-column: 2 / span 2; grid-row: 3; }

.p3d-horizontal-tabs,
.p3d-stage-tabs {
  width: min(100%, 980px);
  margin-top: clamp(34px, 5vw, 56px);
  margin-left: auto;
  margin-right: auto;
}

.p3d-horizontal-tabs__nav,
.p3d-stage-tabs__nav {
  --p3d-active-index: 0;
  --p3d-tab-count: 4;
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--p3d-tab-count), minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid rgba(7, 7, 7, .13);
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
}

.p3d-horizontal-tabs__nav::after,
.p3d-stage-tabs__nav::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: calc(100% / var(--p3d-tab-count));
  height: 2px;
  background: #777a82;
  transform: translateX(calc(var(--p3d-active-index) * 100%));
  transition: transform 260ms var(--p3d-motion-ease);
  pointer-events: none;
}

.p3d-horizontal-tabs__tab,
.p3d-stage-tab {
  all: unset;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 19px 18px 18px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #17191f;
  font: inherit;
  font-size: clamp(15px, 1.12vw, 16px);
  line-height: 1.24;
  font-weight: 400;
  text-align: center;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  text-shadow: none !important;
  outline: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
  user-select: none;
  touch-action: manipulation;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: color var(--p3d-motion-fast) ease;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab {
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  outline: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab:hover,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab:active,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab:focus,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab:hover,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab:active,
body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab:focus {
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  filter: none !important;
  text-shadow: none !important;
  outline: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
}

.p3d-horizontal-tabs__tab::before,
.p3d-horizontal-tabs__tab::after,
.p3d-stage-tab::before,
.p3d-stage-tab::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.p3d-horizontal-tabs__tab:hover,
.p3d-stage-tab:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #17191f;
}

.p3d-horizontal-tabs__tab.is-active,
.p3d-horizontal-tabs__tab[aria-selected="true"],
.p3d-stage-tab.is-active,
.p3d-stage-tab[aria-selected="true"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #070707;
}

.p3d-horizontal-tabs__tab.is-active:hover,
.p3d-horizontal-tabs__tab[aria-selected="true"]:hover,
.p3d-stage-tab.is-active:hover,
.p3d-stage-tab[aria-selected="true"]:hover {
  color: #070707;
}

.p3d-horizontal-tabs__tab:focus-visible,
.p3d-stage-tab:focus-visible {
  outline: 2px solid var(--p3d-color-green);
  outline-offset: -4px;
}

.p3d-horizontal-tabs__panels,
.p3d-stage-tabs__panels {
  margin-top: clamp(28px, 4vw, 48px);
}

.p3d-horizontal-tabs__panel[hidden],
.p3d-stage-panel[hidden] {
  display: none !important;
}

.p3d-horizontal-tabs__copy,
.p3d-stage-panel__copy {
  max-width: none;
  margin: 0 0 24px;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.62;
  font-weight: 300;
  white-space: nowrap;
}

.p3d-horizontal-tabs__panel.is-active,
.p3d-stage-panel.is-active {
  animation: p3d-tab-panel-fade 240ms ease both;
}

@keyframes p3d-tab-panel-fade {
  from { opacity: .35; }
  to { opacity: 1; }
}

.p3d-horizontal-tabs + .p3d-actions,
.p3d-stage-tabs + .p3d-actions {
  margin-top: 78px;
}

.p3d-horizontal-tabs__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
}

.p3d-horizontal-tabs__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.p3d-before-after {
  --p3d-compare: 50%;
  --p3d-ba-slant: 16%;
  position: relative;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
  aspect-ratio: 16 / 9;
}

.p3d-before-after img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p3d-before-after__after {
  -webkit-clip-path: polygon(34% 0, 100% 0, 100% 100%, 8% 100%);
  clip-path: polygon(34% 0, 100% 0, 100% 100%, 8% 100%);
}

.p3d-before-after__divider {
  position: absolute;
  z-index: 3;
  left: 21%;
  top: -12%;
  width: 5px;
  height: 124%;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 0 0 1px rgba(7, 7, 7, .08);
  transform: rotate(13deg);
  transform-origin: center;
  pointer-events: none;
}

.p3d-before-after__label {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 8px 11px;
  border-radius: var(--p3d-radius-sm);
  background: rgba(255, 255, 255, .82);
  color: #17191f;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.p3d-before-after__label--before {
  left: 16px;
  top: 16px;
}

.p3d-before-after__label--after {
  right: 16px;
  bottom: 16px;
}

.p3d-before-after__label,
.p3d-before-after__badge {
  display: none !important;
}

.p3d-before-after--interactive .p3d-before-after__after {
  -webkit-clip-path: polygon(calc(var(--p3d-compare) + var(--p3d-ba-slant)) 0, 100% 0, 100% 100%, calc(var(--p3d-compare) - var(--p3d-ba-slant)) 100%);
  clip-path: polygon(calc(var(--p3d-compare) + var(--p3d-ba-slant)) 0, 100% 0, 100% 100%, calc(var(--p3d-compare) - var(--p3d-ba-slant)) 100%);
}

.p3d-before-after--interactive {
  border: 2px solid #fff;
}

.p3d-before-after--interactive .p3d-before-after__divider {
  left: var(--p3d-compare);
  width: 2px;
  background: #fff;
  box-shadow: none;
  transform: translateX(-50%) rotate(30deg);
}

.p3d-before-after__handle {
  position: absolute;
  z-index: 5;
  left: var(--p3d-compare);
  top: 50%;
  display: grid;
  place-items: center;
  width: 41px;
  height: 41px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 18px 44px rgba(7, 7, 7, .2);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.p3d-before-after__handle::before,
.p3d-before-after__handle::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
  transform: translateY(-50%);
}

.p3d-before-after__handle::before {
  left: 8px;
  border-top: 7px solid transparent;
  border-right: 8px solid #17191f;
  border-bottom: 7px solid transparent;
}

.p3d-before-after__handle::after {
  right: 8px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 8px solid #17191f;
}

.p3d-before-after__range {
  position: absolute;
  z-index: 6;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.p3d-before-after__range:focus-visible + .p3d-before-after__handle {
  outline: 3px solid rgba(205, 151, 61, .8);
  outline-offset: 4px;
}

.p3d-before-after__badge {
  position: absolute;
  z-index: 5;
  right: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .74);
  color: #17191f;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.p3d-three-stage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: clamp(30px, 4vw, 48px);
}

.p3d-stage-card {
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
}

.p3d-stage-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.p3d-stage-card figcaption {
  padding: 18px 20px;
  color: #202228;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-before-after-grid,
.p3d-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
}

.p3d-before-after-grid {
  margin-top: clamp(24px, 4vw, 44px);
}

.p3d-comparison-grid {
  margin-top: clamp(30px, 4vw, 48px);
}

.p3d-comparison-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
}

.p3d-comparison-card h3 {
  margin: 0;
  color: var(--p3d-color-ink);
  font-size: clamp(22px, 1.8vw, 27px);
  line-height: 1.16;
  letter-spacing: -.012em;
  font-weight: 300;
}

.p3d-comparison-card p {
  margin: 0;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.62;
  font-weight: 300;
}

.p3d-comparison-card img {
  display: block;
  width: 100%;
  margin-bottom: 6px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--p3d-radius-md);
}

.p3d-comparison-grid--staging .p3d-comparison-card img {
  aspect-ratio: 5 / 4;
}

.p3d-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: clamp(34px, 5vw, 56px);
}

.p3d-process-grid + .p3d-actions {
  margin-top: 78px;
}

.p3d-process-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p3d-step {
  min-height: 260px;
  padding: 24px;
  background: var(--p3d-color-surface-soft);
  border: 1px solid var(--p3d-color-line-soft);
  border-radius: var(--p3d-radius-xs);
}

.p3d-step b {
  display: block;
  margin-bottom: 36px;
  color: var(--p3d-color-ink);
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
}

.p3d-step h3 {
  margin: 0 0 14px;
  color: #202228;
  font-size: 19px;
  line-height: 1.22;
  font-weight: 400;
}

.p3d-step p {
  margin: 0;
  color: var(--p3d-color-text);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
}

.p3d-trust-head {
  margin-bottom: clamp(28px, 4vw, 44px);
}

.p3d-google-trust-grid,
.p3d-trust-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--p3d-grid-gap);
}

.p3d-google-score-card,
.p3d-trust-score,
.p3d-short-review,
.p3d-review-card {
  background: var(--p3d-color-surface);
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
}

.p3d-google-score-card,
.p3d-trust-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  padding: clamp(24px, 3vw, 34px);
}

.p3d-score-lockup {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(22px, 3vw, 34px);
  align-items: center;
}

.p3d-score-number {
  margin: 0;
  color: var(--p3d-color-ink);
  font-size: clamp(72px, 7vw, 104px);
  line-height: .82;
  letter-spacing: -.075em;
  font-weight: 300;
}

.p3d-stars {
  display: flex;
  gap: 5px;
  margin: 0 0 10px;
  color: var(--p3d-color-cta);
  font-size: 26px;
  line-height: 1;
}

.p3d-rating-copy {
  margin: 0;
  color: #202228;
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.16;
  letter-spacing: -.015em;
  font-weight: 300;
}

.p3d-rating-meta {
  margin: 10px 0 0;
  color: var(--p3d-color-subtle);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-short-review-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.p3d-short-review {
  min-height: 92px;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 8px !important;
  padding: 18px;
  color: var(--p3d-color-ink);
  font-size: 14px;
  line-height: 1.42;
  letter-spacing: .02em !important;
  font-weight: 300;
  text-wrap: pretty;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.p3d-short-review-quote {
  display: block !important;
  margin-top: 1px !important;
  color: #070707 !important;
  font-size: 22px !important;
  line-height: .7 !important;
  font-weight: 700 !important;
}

.p3d-short-review-text {
  display: block !important;
  min-width: 0 !important;
}

.p3d-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
}

.p3d-review-card {
  min-height: 294px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 3vw, 34px);
}

.p3d-review-card blockquote {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-inline-start: 0 !important;
  box-shadow: none !important;
  position: static !important;
  background: transparent !important;
  color: #202228 !important;
  font-size: clamp(17px, 1.7vw, 22px) !important;
  line-height: 1.42 !important;
  font-weight: 300 !important;
  text-wrap: pretty;
  padding-top: 3px !important;
}

.p3d-review-card blockquote::before,
.p3d-review-card blockquote::after {
  content: none !important;
  display: none !important;
}

.p3d-review-body {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  column-gap: 10px !important;
  align-items: start !important;
}

.p3d-review-quote {
  display: block !important;
  height: auto !important;
  margin-top: 0 !important;
  color: #070707 !important;
  font-size: 64px !important;
  line-height: .72 !important;
  font-weight: 700 !important;
}

.p3d-review-footer {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--p3d-color-line);
}

.p3d-review-initials {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .08em;
}

.p3d-review-footer cite {
  min-width: 0;
  font-style: normal;
}

.p3d-review-footer strong {
  display: block;
  color: #111;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p3d-review-footer span {
  display: block;
  margin-top: 4px;
  color: var(--p3d-color-subtle);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 300;
}

.p3d-article-hero {
  background: #fff;
}

.p3d-article-hero--editorial {
  padding-top: clamp(48px, 5vw, 75px);
  padding-bottom: clamp(40px, 5vw, 70px);
}

body.single-post:has(.p3d-page--insight-article) #page-header-wrap,
body.single-post:has(.p3d-page--insight-article) .row.heading-title,
body.single-post:has(.p3d-page--insight-article) .heading-title[data-header-style] {
  display: none !important;
}

body.single-post:has(.p3d-page--insight-article) .container-wrap,
body.single-post:has(.p3d-page--insight-article) .container.main-content,
body.single-post:has(.p3d-page--insight-article) .post-content,
body.single-post:has(.p3d-page--insight-article) .content-inner {
  padding-top: 0 !important;
}

.p3d-article-image {
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
}

.p3d-article-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

.p3d-article-body {
  max-width: 820px;
}

.p3d-article-body h2 {
  margin: 42px 0 14px;
  color: var(--p3d-color-ink);
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.18;
  letter-spacing: -.012em;
  font-weight: 400;
  text-wrap: pretty;
}

.p3d-article-body p:not(.p3d-copy) {
  margin: 0 0 18px;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.72;
  font-weight: 300;
  text-wrap: pretty;
}

.p3d-article-header {
  max-width: 900px;
  margin: 0 auto clamp(34px, 5vw, 58px);
}

.p3d-article-cover {
  position: relative;
  display: grid;
  width: min(calc(100vw - (var(--p3d-shell-gutter-md) * 2)), 1260px);
  max-width: none;
  height: clamp(420px, calc(34vw + 100px), 600px);
  min-height: 0;
  margin-left: 50%;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #101010;
  transform: translateX(-50%);
  isolation: isolate;
}

.p3d-article-cover::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(to top, rgba(10, 12, 16, .25) 0%, rgba(10, 12, 16, .15) 28%, rgba(10, 12, 16, 0) 66%),
    linear-gradient(to right, rgba(10, 12, 16, .2) 0%, rgba(10, 12, 16, .1) 34%, rgba(10, 12, 16, 0) 72%);
  pointer-events: none;
}

.p3d-article-cover__image {
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
}

.p3d-article-cover__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p3d-article-cover__copy {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  box-sizing: border-box;
  width: 100%;
  padding: clamp(28px, 4.5vw, 58px);
  color: #fff;
  transform: translateY(10px);
}

.p3d-article-cover__copy .p3d-h1 {
  max-width: min(1120px, 100%);
  color: #fff !important;
  margin-bottom: 0;
  font-size: clamp(26px, calc(3.7vw - 10px), 42px);
  line-height: 1.04;
  letter-spacing: -.026em;
  white-space: normal;
  overflow-wrap: break-word;
  hyphens: auto;
  text-shadow: 0 1px 18px rgba(0, 0, 0, .32);
  text-wrap: pretty;
}

.p3d-article-cover .p3d-article-badge {
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 clamp(12px, 1.6vw, 18px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, .88);
  font-weight: 400;
}

.p3d-article-cover .p3d-article-badge::before {
  content: "";
  position: static;
  order: 2;
  flex: 0 0 1px;
  width: clamp(34px, 4vw, 52px);
  height: 1px;
  background: rgba(255, 255, 255, .72);
}

.p3d-article-byline {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(26px, 4vw, 48px);
  align-items: center;
  margin: clamp(18px, 2.6vw, 28px) 0 0;
  color: var(--p3d-color-muted);
}

.p3d-article-byline__author,
.p3d-article-byline__meta {
  display: inline-grid;
  gap: 12px;
  align-items: center;
}

.p3d-article-byline__author {
  grid-template-columns: 40px max-content;
}

.p3d-article-byline__meta {
  grid-template-columns: max-content;
}

.p3d-article-byline__author img {
  display: block;
  width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50%;
  object-fit: cover;
  align-self: center;
  vertical-align: middle;
  transform: none;
}

.p3d-article-byline__author > div,
.p3d-article-byline__meta > div {
  display: grid;
  gap: 3px;
  align-content: center;
}

.p3d-article-byline strong,
.p3d-article-byline span {
  display: block;
}

.p3d-article-byline strong {
  margin-bottom: 3px;
  color: var(--p3d-color-ink);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 400;
}

.p3d-article-byline span {
  color: var(--p3d-color-muted);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 300;
}

.p3d-article-badge,
.p3d-article-meta {
  color: var(--p3d-color-muted);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 300;
}

.p3d-article-badge {
  display: inline-flex;
  margin-top: 18px;
  margin-bottom: 0;
  padding: 8px 12px;
  border: 1px solid rgba(7, 7, 7, .12);
  border-radius: var(--p3d-radius-sm);
  background: #fbfbfa;
}

.p3d-article-meta {
  margin: 18px 0 0;
}

.p3d-article-author {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 24px;
}

.p3d-article-author img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}

.p3d-article-author span {
  color: #202228;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 300;
}

.p3d-article-body--insight {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.p3d-article-summary,
.p3d-pillar-card {
  margin: 0 0 clamp(34px, 4vw, 52px);
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(7, 7, 7, .1);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
}

.p3d-page--insight-article .p3d-article-summary {
  display: grid;
  grid-template-columns: minmax(150px, .24fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 34px);
  width: 100%;
  max-width: none;
  padding-top: clamp(20px, 2.4vw, 26px);
  padding-bottom: clamp(20px, 2.4vw, 26px);
  align-items: start;
}

.p3d-article-summary h2,
.p3d-pillar-card h2 {
  margin: 0 0 12px;
  color: var(--p3d-color-ink);
  font-size: clamp(20px, 1.7vw, 26px);
  line-height: 1.16;
  font-weight: 400;
}

.p3d-article-summary p,
.p3d-pillar-card p {
  margin: 0;
  color: #202228;
  font-size: 16px;
  line-height: 1.62;
  font-weight: 300;
}

.p3d-article-figure {
  margin-top: clamp(34px, 5vw, 58px);
  margin-bottom: clamp(34px, 5vw, 58px);
}

.p3d-article-float {
  float: none;
  width: min(100%, 760px);
  margin-top: clamp(28px, 4vw, 44px);
  margin-bottom: clamp(32px, 4vw, 50px);
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .08);
  border-radius: var(--p3d-radius-md);
  background: #fff;
  box-shadow: none;
}

.p3d-article-float--left {
  margin-right: 0;
  margin-left: 0;
}

.p3d-article-float--right {
  margin-left: 0;
  margin-right: 0;
}

.p3d-article-image-card,
.p3d-article-pair-card {
  position: relative;
  display: block;
  width: min(100%, 760px);
  aspect-ratio: 16 / 9;
  margin-top: clamp(28px, 4vw, 44px);
  margin-bottom: clamp(32px, 4vw, 50px);
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .08);
  border-radius: var(--p3d-radius-md);
  background: #fff;
  font-size: 0;
  line-height: 0;
  box-shadow: none;
}

.p3d-article-image-card::after,
.p3d-article-pair-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 25%;
  background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, .58));
  pointer-events: none;
}

.p3d-article-image-card--left {
  display: block;
  margin-left: 0;
  margin-right: auto;
}

.p3d-article-image-card--right {
  display: block;
  margin-left: auto;
  margin-right: 0;
}

.p3d-article-image-card--center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.p3d-article-image-card img,
.p3d-article-pair-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transform: scale(1);
  transition: transform 520ms var(--p3d-motion-ease-out) !important;
}

.p3d-article-image-card:hover img,
.p3d-article-pair-card:hover img {
  transform: scale(1.025) !important;
}

.p3d-article-image-card figcaption,
.p3d-article-pair-card figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 16px;
  left: 18px;
  margin: 0;
  padding: 0;
  background: transparent;
  color: rgba(255, 255, 255, .9);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-article-card-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: clamp(28px, 4vw, 44px);
  margin-bottom: clamp(32px, 4vw, 50px);
}

.p3d-article-card-pair .p3d-article-pair-card {
  width: 100%;
  margin: 0;
}

.p3d-article-before-after {
  width: min(100%, 760px);
  margin: clamp(30px, 4vw, 48px) auto clamp(34px, 4.5vw, 54px);
}

.p3d-article-before-after.p3d-before-after--interactive {
  border: 0;
}

.p3d-article-body h3.p3d-benefit-heading {
  display: flex;
  gap: 10px;
  align-items: center;
}

.p3d-benefit-heading svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: var(--p3d-color-green);
  stroke: currentColor;
  stroke-width: 1.8;
}

.p3d-article-float img {
  border-radius: 0;
}

.p3d-article-float figcaption,
.p3d-article-pair figcaption {
  margin: 0;
  padding: 16px 20px 18px;
  background: #fff;
  color: var(--p3d-color-muted);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-article-clear {
  clear: both;
}

.p3d-article-figure--breakout {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  transform: none;
}

.p3d-article-figure--inline {
  width: 100%;
}

.p3d-article-figure img,
.p3d-article-pair img {
  display: block;
  width: 100%;
  border-radius: var(--p3d-radius-md);
  object-fit: cover;
  transform: scale(1);
  transition: transform 520ms var(--p3d-motion-ease-out) !important;
}

.p3d-article-figure:hover > img,
.p3d-article-pair > div:hover img {
  transform: scale(1.025) !important;
}

.p3d-article-figure img {
  aspect-ratio: 16 / 9;
}

.p3d-article-figure--inline img {
  aspect-ratio: 4 / 3;
}

.p3d-article-figure figcaption,
.p3d-article-pair figcaption {
  margin-top: 12px;
  color: var(--p3d-color-muted);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-article-figure--caption-overlay {
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
}

.p3d-article-figure--caption-overlay::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, .68));
  pointer-events: none;
}

.p3d-article-figure--caption-overlay figcaption {
  position: absolute;
  z-index: 2;
  right: clamp(16px, 2.2vw, 26px);
  bottom: clamp(14px, 2vw, 24px);
  left: clamp(16px, 2.2vw, 26px);
  margin-top: 0;
  color: rgba(255, 255, 255, .9);
}

.p3d-article-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
}

.p3d-article-pair > div {
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
}

.p3d-article-pair img {
  aspect-ratio: 4 / 3;
}

.p3d-article-pair figcaption {
  grid-column: 1 / -1;
}

.p3d-pull-quote {
  margin: clamp(34px, 5vw, 58px) 0;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(7, 7, 7, .12);
  border-radius: var(--p3d-radius-md);
  background: #fff;
}

.p3d-pull-quote p {
  margin: 0;
  color: var(--p3d-color-ink);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.34;
  letter-spacing: -.01em;
  font-weight: 300;
}

.p3d-pillar-card {
  margin-top: clamp(42px, 5vw, 64px);
}

.p3d-pillar-card .p3d-actions {
  margin-top: 22px;
}

.p3d-article-cta {
  margin-top: clamp(42px, 5vw, 64px);
}

.p3d-article-bottom-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  align-items: stretch;
  margin-top: clamp(42px, 5vw, 64px);
}

.p3d-article-final-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: min(calc(100vw - (var(--p3d-shell-gutter-md) * 2)), 1180px);
  max-width: none;
  margin-top: clamp(42px, 5vw, 64px);
  margin-left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .1);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
}

.p3d-article-final-box .p3d-pillar-card,
.p3d-article-final-box .p3d-cta-banner {
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.p3d-article-final-box .p3d-cta-banner {
  border-top: 0;
  border-left: 1px solid rgba(7, 7, 7, .1);
}

.p3d-article-final-box .p3d-cta-banner .p3d-copy {
  margin-left: 0;
  margin-right: 0;
}

.p3d-article-final-box .p3d-actions--center {
  justify-content: flex-start !important;
  text-align: left;
}

.p3d-article-pillar-row {
  width: min(calc(100vw - (var(--p3d-shell-gutter-md) * 2)), 1180px);
  max-width: none;
  margin: clamp(42px, 5vw, 64px) 0 clamp(42px, 5vw, 64px) 50%;
  transform: translateX(-50%);
}

.p3d-article-pillar-row .p3d-pillar-card {
  width: min(100%, 780px);
  margin: 0 auto;
  text-align: center;
}

.p3d-article-pillar-row .p3d-actions {
  justify-content: center;
}

.p3d-article-cta--after-more {
  width: min(100%, 820px);
  margin: clamp(42px, 5vw, 64px) auto 0;
  background: var(--p3d-color-surface-soft);
}

.p3d-page--insight-article > .p3d-section:last-of-type {
  padding-bottom: 100px;
}

.p3d-page--insight-article .p3d-article-body--insight > :last-child {
  margin-bottom: 0;
}

.p3d-article-bottom-grid .p3d-pillar-card,
.p3d-article-bottom-grid .p3d-cta-banner {
  max-width: none;
  height: 100%;
  margin: 0;
  text-align: left;
}

.p3d-article-bottom-grid .p3d-cta-banner .p3d-copy {
  margin-left: 0;
  margin-right: 0;
}

.p3d-article-bottom-grid .p3d-actions--center {
  justify-content: flex-start !important;
  text-align: left;
}

.p3d-article-cta .p3d-contact-note {
  margin-top: 42px;
}

.p3d-page--insight-article .p3d-article-cta .p3d-actions + .p3d-contact-note {
  margin-top: 32px !important;
}

.p3d-article-more {
  margin-top: clamp(54px, 6vw, 78px);
}

.p3d-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--p3d-grid-gap);
  margin-top: 38px;
}

.p3d-insight-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden !important;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
  color: inherit;
  text-decoration: none;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
  transition: border-color var(--p3d-motion-fast) ease;
}

.p3d-insight-card:hover,
.p3d-insight-card:focus-visible {
  color: inherit;
  text-decoration: none;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.p3d-insight-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transform: scale(1) !important;
  transform-origin: center center;
  transition: transform 420ms ease !important;
  will-change: transform;
  backface-visibility: hidden;
  pointer-events: none;
}

.p3d-insight-card:hover img,
.p3d-insight-card:focus-visible img {
  transform: scale(1.02) !important;
}

.p3d-insight-card__body,
.p3d-insight-card div {
  flex: 1 1 auto;
  padding: 22px;
  background: #fbfbfa;
}

.p3d-insight-card h3 {
  margin: 0;
  color: #373a42 !important;
  font-size: 19px !important;
  line-height: 1.22 !important;
  font-weight: 300 !important;
  text-wrap: balance;
}

.p3d-article-more .p3d-insight-card h3 {
  font-size: 17px !important;
  line-height: 1.28 !important;
  text-wrap: pretty;
}

.p3d-insight-card p {
  margin: 0;
  color: var(--p3d-color-muted);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  text-wrap: pretty;
}

.p3d-insight-empty {
  margin-top: 28px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  color: var(--p3d-color-muted);
  font-size: 15px;
  line-height: 1.5;
}

.p3d-insights-hub-hero {
  min-height: clamp(460px, 62vh, 610px);
  --p3d-hero-overlay: transparent;
  --p3d-hero-gradient: linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .28) 58%, rgba(0, 0, 0, 0));
  background: #111;
}

.p3d-insights-hub-hero::before {
  width: min(760px, 78vw);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 72%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0, #000 72%, transparent 100%);
}

.p3d-insights-hub-hero::after {
  background: transparent;
}

.p3d-insights-hub-hero.p3d-hero--quiet .p3d-hero__media {
  opacity: 1;
  filter: none;
}

.p3d-insights-editorial {
  max-width: 980px;
}

.p3d-insight-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: clamp(30px, 4vw, 48px);
}

.p3d-insight-filter button {
  appearance: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 12px 16px;
  border: 1px solid rgba(7, 7, 7, .14);
  border-radius: 0;
  background: #fff;
  color: var(--p3d-color-muted);
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  transition: border-color 420ms var(--p3d-motion-ease-out), color 420ms var(--p3d-motion-ease-out), transform 320ms var(--p3d-motion-ease-out);
}

.p3d-insight-filter button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f4f5f2;
  opacity: 0;
  transform: scaleX(.92);
  transition: opacity 480ms var(--p3d-motion-ease-out), transform 480ms var(--p3d-motion-ease-out);
}

.p3d-insight-filter button:hover,
.p3d-insight-filter button:focus-visible,
.p3d-insight-filter button.is-active {
  border-color: rgba(7, 7, 7, .34);
  color: var(--p3d-color-ink);
  transform: translateY(-1px);
}

.p3d-insight-filter button:hover::before,
.p3d-insight-filter button:focus-visible::before,
.p3d-insight-filter button.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.p3d-insight-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.3vw, 28px);
}

.p3d-insight-hub-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fff;
}

.p3d-insight-hub-card.is-hidden {
  display: none;
}

.p3d-insight-hub-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none !important;
}

.p3d-insight-hub-card__media {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #e8eae5;
}

.p3d-insight-hub-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 560ms var(--p3d-motion-ease-out) !important;
}

.p3d-insight-hub-card:hover .p3d-insight-hub-card__media img,
.p3d-insight-hub-card:focus-within .p3d-insight-hub-card__media img {
  transform: scale(1.025) !important;
}

.p3d-insight-hub-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(20px, 2.4vw, 28px);
}

.p3d-insight-hub-card__badge {
  align-self: flex-start;
  margin-bottom: 16px;
  padding: 7px 10px;
  border: 1px solid rgba(7, 7, 7, .12);
  color: var(--p3d-color-muted);
  font-size: 12px;
  line-height: 1;
  font-weight: 300;
}

.p3d-insight-hub-card h3 {
  margin: 0 0 14px;
  color: var(--p3d-color-ink);
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.16;
  letter-spacing: -.015em;
  font-weight: 400;
  text-wrap: balance;
}

.p3d-insight-hub-card p {
  display: -webkit-box;
  margin: 0 0 22px;
  overflow: hidden;
  color: var(--p3d-color-text);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 300;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.p3d-insight-hub-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--p3d-color-line);
  color: var(--p3d-color-muted);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 300;
}

.p3d-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .82fr);
  gap: clamp(48px, 6vw, 88px);
  align-items: start;
}

.p3d-contact-note {
  margin: 20px 0 0;
  color: #202228;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 300;
}

.p3d-contact-note a {
  color: #202228 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(7, 7, 7, .24);
}

.p3d-contact-note__line {
  display: block;
  margin-top: 14px;
}

.p3d-contact-note + .p3d-form-card,
.p3d-contact-note + .p3d-form-placeholder {
  margin-top: 24px;
}

.p3d-contact-next {
  align-self: start;
  justify-self: center;
  width: min(100%, 560px);
  margin-top: clamp(180px, 11vw, 230px);
}

.p3d-contact-next .p3d-h3 {
  margin-bottom: 22px;
}

.p3d-contact-person {
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 0 0 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
}

.p3d-contact-person img {
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
}

.p3d-contact-person strong,
.p3d-contact-person span {
  display: block;
}

.p3d-contact-person strong {
  margin-bottom: 4px;
  color: var(--p3d-color-ink);
  font-size: 18px;
  line-height: 1.22;
  font-weight: 400;
}

.p3d-contact-person span {
  color: var(--p3d-color-muted);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 300;
}

.p3d-contact-flow {
  display: grid;
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid var(--p3d-color-line);
}

.p3d-contact-flow__item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--p3d-color-line);
}

.p3d-contact-flow__item b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--p3d-color-ink);
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}

.p3d-contact-flow__item p {
  margin: 0;
  color: var(--p3d-color-text);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 300;
}

.p3d-thanks-page {
  min-height: clamp(620px, 78vh, 820px);
  display: grid;
  align-items: center;
  padding: clamp(86px, 9vw, 132px) 0;
  background: var(--p3d-color-surface-soft);
}

.p3d-thanks-card {
  width: min(100%, 860px);
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(7, 7, 7, .09);
  border-radius: var(--p3d-radius-md);
  background: #fff;
  box-shadow: none;
}

.p3d-thanks-card .p3d-h1 {
  max-width: 760px;
}

.p3d-thanks-checks {
  display: grid;
  gap: 18px;
  margin: clamp(28px, 4vw, 42px) 0 0;
}

.p3d-thanks-check {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin: 0;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.55;
  font-weight: 300;
}

.p3d-thanks-check svg {
  display: block;
  width: 68px;
  height: 68px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--p3d-color-ink);
  stroke-width: 1.35;
}

.p3d-thanks-note {
  margin: clamp(30px, 4vw, 42px) 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(7, 7, 7, .11);
  color: #202228;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 300;
}

.p3d-thanks-note p {
  margin: 0 0 10px;
}

.p3d-thanks-note p:last-child {
  margin-bottom: 0;
}

.p3d-thanks-note a {
  color: #202228 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(7, 7, 7, .24);
}

.p3d-thanks-next {
  margin-top: clamp(28px, 4vw, 42px);
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid rgba(7, 7, 7, .08);
  border-radius: var(--p3d-radius-md);
  background: #fbfbfa;
}

.p3d-thanks-next p {
  margin: 0 0 18px;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.55;
  font-weight: 300;
}

.p3d-thanks-actions {
  margin-top: clamp(28px, 4vw, 42px);
}

.p3d-contact-form-offset {
  margin-top: clamp(96px, 7vw, 118px) !important;
}

.p3d-contact-image {
  min-height: 560px;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
}

.p3d-contact-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.p3d-media-white,
.p3d-contact-image.p3d-media-white {
  background: #fff;
}

.p3d-contact-image.p3d-media-white img {
  object-fit: contain;
}

.p3d-contact-options {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.p3d-contact-options a,
.p3d-contact-location {
  display: inline-grid;
  grid-template-columns: 22px max-content;
  gap: 12px;
  align-items: center;
  width: max-content;
  color: #17191f;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 300;
  text-decoration: none;
}

.p3d-contact-options svg {
  width: 22px;
  height: 22px;
  fill: var(--p3d-color-green);
}

.p3d-form-placeholder,
.p3d-form-card {
  padding: clamp(24px, 3vw, 32px);
  background: #fbfbfa;
  border: 1px solid var(--p3d-color-line-soft);
  border-radius: var(--p3d-radius-xs);
  box-shadow: none !important;
}

.p3d-form-card .wpcf7,
.p3d-form-placeholder .wpcf7 {
  margin: 0;
}

.p3d-form-card .wpcf7-form,
.p3d-form-placeholder .wpcf7-form {
  display: block;
  margin: 0;
}

.p3d-form-card .wpcf7-form p,
.p3d-form-placeholder .wpcf7-form p {
  display: grid;
  gap: 26px;
  margin: 0 !important;
}

.p3d-form-card .wpcf7-form br,
.p3d-form-placeholder .wpcf7-form br,
.p3d-form-card .hidden-fields-container,
.p3d-form-placeholder .hidden-fields-container {
  display: none !important;
}

.p3d-form-card .wpcf7-form-control-wrap,
.p3d-form-placeholder .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.p3d-form-placeholder input:not([type="submit"]),
.p3d-form-placeholder textarea,
.p3d-form-placeholder select,
.p3d-form-card input:not([type="submit"]),
.p3d-form-card textarea,
.p3d-form-card select,
.p3d-form-card .wpcf7 input:not([type="submit"]),
.p3d-form-card .wpcf7 textarea,
.p3d-form-card .wpcf7 select,
.p3d-form-placeholder .wpcf7 input:not([type="submit"]),
.p3d-form-placeholder .wpcf7 textarea,
.p3d-form-placeholder .wpcf7 select {
  appearance: none;
  width: 100%;
  min-height: 43px;
  padding: 0 12px !important;
  border: 1px solid rgba(7, 7, 7, .13) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #17191f !important;
  font: inherit;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

.p3d-form-card input:not([type="submit"]):focus,
.p3d-form-card textarea:focus,
.p3d-form-card select:focus,
.p3d-form-placeholder input:not([type="submit"]):focus,
.p3d-form-placeholder textarea:focus,
.p3d-form-placeholder select:focus {
  border-color: rgba(7, 7, 7, .42) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px rgba(48, 122, 35, .08) !important;
}

.p3d-form-card input::placeholder,
.p3d-form-card textarea::placeholder,
.p3d-form-placeholder input::placeholder,
.p3d-form-placeholder textarea::placeholder {
  color: #868990 !important;
  opacity: 1;
}

.p3d-form-placeholder textarea,
.p3d-form-card textarea,
.p3d-form-card .wpcf7 textarea,
.p3d-form-placeholder .wpcf7 textarea {
  min-height: 180px;
  height: 180px;
  padding: 10px 22px 20px 10px !important;
  resize: vertical;
}

.p3d-form-placeholder input[type="file"],
.p3d-form-card input[type="file"],
.p3d-form-card .wpcf7 input[type="file"],
.p3d-form-placeholder .wpcf7 input[type="file"] {
  min-height: 46px;
  padding: 0 14px 0 0 !important;
  border-color: rgba(7, 7, 7, .18) !important;
  background: #fff !important;
  color: var(--p3d-color-muted) !important;
  font-size: 14px !important;
  line-height: 46px !important;
  cursor: pointer;
}

.p3d-form-placeholder input[type="file"]::file-selector-button,
.p3d-form-card input[type="file"]::file-selector-button,
.p3d-form-card .wpcf7 input[type="file"]::file-selector-button,
.p3d-form-placeholder .wpcf7 input[type="file"]::file-selector-button {
  min-height: 44px;
  margin: 0 14px 0 0;
  padding: 13px 20px;
  border: 0;
  border-right: 1px solid rgba(7, 7, 7, .24);
  background: transparent;
  color: #17191f;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background-color var(--p3d-motion-fast) ease, color var(--p3d-motion-fast) ease;
}

.p3d-form-placeholder input[type="file"]::-webkit-file-upload-button,
.p3d-form-card input[type="file"]::-webkit-file-upload-button,
.p3d-form-card .wpcf7 input[type="file"]::-webkit-file-upload-button,
.p3d-form-placeholder .wpcf7 input[type="file"]::-webkit-file-upload-button {
  min-height: 44px;
  margin: 0 14px 0 0;
  padding: 13px 20px;
  border: 0;
  border-right: 1px solid rgba(7, 7, 7, .24);
  background: transparent;
  color: #17191f;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .04em;
  cursor: pointer;
}

.p3d-form-placeholder input[type="file"]:hover::file-selector-button,
.p3d-form-card input[type="file"]:hover::file-selector-button,
.p3d-form-card .wpcf7 input[type="file"]:hover::file-selector-button,
.p3d-form-placeholder .wpcf7 input[type="file"]:hover::file-selector-button,
.p3d-form-placeholder input[type="file"]:focus-visible::file-selector-button,
.p3d-form-card input[type="file"]:focus-visible::file-selector-button,
.p3d-form-card .wpcf7 input[type="file"]:focus-visible::file-selector-button,
.p3d-form-placeholder .wpcf7 input[type="file"]:focus-visible::file-selector-button {
  background: rgba(7, 7, 7, .055);
}

.p3d-form-placeholder input[type="submit"],
.p3d-form-placeholder .wpcf7-submit,
.p3d-form-card input[type="submit"],
.p3d-form-card .wpcf7-submit,
.p3d-form-card .wpcf7 input[type="submit"],
.p3d-form-placeholder .wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: max-content;
  padding: 13px 24px;
  border: 1px solid var(--p3d-color-cta) !important;
  border-radius: var(--p3d-radius-sm) !important;
  background: var(--p3d-color-cta) !important;
  color: var(--p3d-color-cta-text) !important;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .04em;
  box-shadow: none;
  cursor: pointer;
  transition: transform var(--p3d-motion-fast) var(--p3d-motion-ease), background-color var(--p3d-motion-fast) ease;
}

.p3d-form-card .wpcf7-spinner,
.p3d-form-placeholder .wpcf7-spinner {
  margin: 0 0 0 12px;
  vertical-align: middle;
}

.p3d-form-card .wpcf7-not-valid-tip,
.p3d-form-placeholder .wpcf7-not-valid-tip {
  margin-top: 7px;
  color: #a32b21;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 300;
}

.p3d-form-card .wpcf7-response-output,
.p3d-form-placeholder .wpcf7-response-output {
  margin: 22px 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(7, 7, 7, .16) !important;
  color: var(--p3d-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.p3d-form-placeholder input[type="submit"]:hover,
.p3d-form-placeholder .wpcf7-submit:hover,
.p3d-form-card input[type="submit"]:hover,
.p3d-form-card .wpcf7-submit:hover,
.p3d-form-card .wpcf7 input[type="submit"]:hover,
.p3d-form-placeholder .wpcf7 input[type="submit"]:hover {
  background: var(--p3d-color-cta-hover) !important;
  border-color: var(--p3d-color-cta-hover) !important;
  color: var(--p3d-color-cta-text) !important;
}

:where(.p3d-ds, .p3d-gutenberg-lp) blockquote {
  border-left: 0 !important;
}

.p3d-quote-media {
  min-height: 560px;
  overflow: hidden;
  border-radius: var(--p3d-radius-md);
  background: #101010;
  color: #fff;
}

.p3d-quote-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .74;
}

.p3d-quote-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .72));
}

.p3d-quote-box {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 28px;
}

.p3d-quote-box blockquote {
  margin: 0;
  padding: 0 !important;
  border-left: 0 !important;
  color: #fff;
  font-size: clamp(22px, 2vw, 31px);
  line-height: 1.18;
  letter-spacing: -.018em;
  font-weight: 300;
}

.p3d-quote-box cite {
  display: block;
  margin-top: 22px;
  color: rgba(255, 255, 255, .78);
  font-style: normal;
  font-size: 14px;
  line-height: 1.4;
}

.p3d-quote-overlay {
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 1 / 1;
  margin: 0 30px 62px 0;
  overflow: visible;
  border-radius: var(--p3d-radius-md);
  background: #dfe4dc;
}

.p3d-quote-overlay.p3d-media-offset {
  margin-top: var(--p3d-section-head-copy-offset) !important;
}

.p3d-quote-overlay img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--p3d-radius-md);
}

.p3d-quote-overlay__panel {
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: min(64%, 340px);
  min-height: 0;
  padding: clamp(18px, 3vw, 24px);
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: var(--p3d-radius-md);
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  backdrop-filter: blur(18px) saturate(1.05);
  box-shadow: 0 18px 42px rgba(7, 7, 7, .12);
}

.p3d-quote-overlay__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
}

.p3d-quote-overlay__mark {
  display: block;
  height: auto;
  margin-top: 0;
  color: var(--p3d-color-ink);
  font-size: 32px;
  line-height: .72;
  font-weight: 700;
}

.p3d-quote-overlay__text {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  color: var(--p3d-color-text) !important;
  font-family: var(--p3d-font-family) !important;
  font-size: clamp(15px, 1.55vw, 17px) !important;
  line-height: 1.42 !important;
  letter-spacing: -.005em !important;
  font-weight: 300 !important;
  text-align: left !important;
  hyphens: none !important;
  text-wrap: pretty;
}

.p3d-quote-overlay__text::before,
.p3d-quote-overlay__text::after {
  content: none !important;
  display: none !important;
}

.p3d-quote-overlay__author {
  margin-top: 24px;
  padding-left: 42px;
}

.p3d-quote-overlay__author strong,
.p3d-quote-overlay__author span {
  display: block;
}

.p3d-quote-overlay__author strong {
  color: var(--p3d-color-ink) !important;
  font-family: var(--p3d-font-family) !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 400 !important;
}

.p3d-quote-overlay__author span {
  margin-top: 5px;
  color: #777a82 !important;
  font-family: var(--p3d-font-family) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 300 !important;
}

@media (max-width: 620px) {
  .p3d-quote-overlay {
    width: 100%;
    margin: 0 0 28px 0;
  }

  .p3d-quote-overlay__panel {
    right: 14px;
    bottom: -28px;
    width: calc(100% - 28px);
  }

  .p3d-quote-overlay__author {
    padding-left: 42px;
  }
}

.p3d-video-embed--hero video,
.p3d-video-embed--hero iframe {
  aspect-ratio: 16 / 9;
}

.p3d-video-embed--person video,
.p3d-video-embed--person iframe {
  aspect-ratio: 9 / 16;
}

.p3d-faq-heading {
  max-width: 820px;
  margin-bottom: 58px;
}

.p3d-faq-grid {
  display: grid;
  grid-template-columns: minmax(390px, 38%) minmax(0, 1fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: start;
}

.p3d-faq-intro {
  max-width: 54ch;
  margin: 0 0 24px;
  color: var(--p3d-color-text);
  font-size: var(--p3d-copy-size);
  line-height: 1.62;
  font-weight: 300;
}

.p3d-faq-items,
.p3d-faq-accordion {
  border-top: 1px solid var(--p3d-color-line);
}

.p3d-faq-items--intro-aligned {
  margin-top: clamp(90px, 7vw, 104px);
}

.p3d-faq details,
.p3d-faq-accordion .ac {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--p3d-color-line);
  background: transparent;
}

.p3d-faq summary,
.p3d-faq-accordion .ac-trigger {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 24px;
  align-items: center;
  width: 100%;
  min-height: 78px;
  padding: 25px 0;
  border: 0;
  background: transparent;
  color: #25272d;
  font: inherit;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 500;
  text-align: left;
  list-style: none;
  cursor: pointer;
}

.p3d-faq summary::-webkit-details-marker {
  display: none;
}

.p3d-faq summary::after,
.p3d-faq-accordion .ac-trigger::after {
  content: "+";
  justify-self: end;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--p3d-color-ink);
  font-size: 24px;
  line-height: 1;
  font-weight: 300;
}

.p3d-faq details[open] summary::after,
.p3d-faq-accordion .ac.is-active .ac-trigger::after {
  content: "-";
}

.p3d-faq details > div,
.p3d-faq-accordion .ac-text {
  margin: 0 56px 25px 0;
  color: #555864;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 300;
  max-width: 76ch;
}

.p3d-faq-accordion .ac:not(.is-active) .ac-panel,
.p3d-accordion-tabs .ac:not(.is-active) .ac-panel {
  height: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

.p3d-faq-accordion .ac.is-active .ac-panel,
.p3d-accordion-tabs .ac.is-active .ac-panel {
  visibility: visible !important;
}

.p3d-motion-card.aos-init[data-aos="zoom-in"] {
  opacity: 0;
  transform: scale(.97);
  transition-property: opacity, transform !important;
  transition-duration: 500ms !important;
  transition-timing-function: linear !important;
}

.p3d-motion-card.aos-init[data-aos="zoom-in"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

/* Audit round 1 refinements. */
:where(.p3d-ds, .p3d-gutenberg-lp) {
  --p3d-weight-kicker: 300;
}

body .p3d-ds.p3d-ds .p3d-kicker,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-kicker,
body .p3d-ds.p3d-ds .p3d-hero .p3d-kicker,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-hero .p3d-kicker {
  font-weight: 300 !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-insights-section .p3d-kicker {
  display: none !important;
}

body .p3d-ds.p3d-ds .p3d-visual-tabs-section .p3d-accordion-tabs .ac-panel > .ac-text,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-visual-tabs-section .p3d-accordion-tabs .ac-panel > .ac-text {
  padding: 18px 0 24px !important;
}

.p3d-tab-mobile-image {
  display: none;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-work-filter button, .p3d-insight-filter button) {
  transition: border-color 620ms var(--p3d-motion-ease-out), color 620ms var(--p3d-motion-ease-out), background-color 620ms var(--p3d-motion-ease-out), transform 500ms var(--p3d-motion-ease-out) !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-work-filter button, .p3d-insight-filter button)::before {
  transition: opacity 680ms var(--p3d-motion-ease-out), transform 680ms var(--p3d-motion-ease-out) !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-gallery__item, .p3d-masonry-item, .p3d-work-tile, .p3d-tour-card, .p3d-demo-frame, .p3d-insight-card, .p3d-insight-hub-card__media),
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure {
  backface-visibility: hidden;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-gallery__item, .p3d-masonry-item, .p3d-work-tile, .p3d-tour-card, .p3d-demo-frame, .p3d-insight-card, .p3d-insight-hub-card__media) img,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-work-tile video,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery img,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery video {
  transform: translateZ(0) scale(1) !important;
  transition: transform 720ms var(--p3d-motion-ease-out), filter 720ms var(--p3d-motion-ease-out) !important;
  will-change: transform;
  backface-visibility: hidden;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-gallery__item:hover, .p3d-gallery__item:focus-within, .p3d-masonry-item:hover, .p3d-masonry-item:focus-within, .p3d-work-tile:hover, .p3d-work-tile:focus-visible, .p3d-tour-card:hover, .p3d-tour-card:focus-visible, .p3d-demo-frame:hover, .p3d-demo-frame:focus-within, .p3d-insight-card:hover, .p3d-insight-card:focus-visible, .p3d-insight-hub-card:hover .p3d-insight-hub-card__media, .p3d-insight-hub-card:focus-within .p3d-insight-hub-card__media) img,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-work-tile:hover video,
body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-work-tile:focus-visible video,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:hover img,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:focus-within img,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:hover video,
body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:focus-within video {
  transform: translateZ(0) scale(1.018) !important;
}

body .p3d-architecture-page.p3d-architecture-page #ausbaustufen .p3d-gallery__item:hover img,
body .p3d-architecture-page.p3d-architecture-page #ausbaustufen .p3d-gallery__item:focus-within img,
body .p3d-page--gartenprodukte.p3d-page--gartenprodukte #varianten .p3d-gallery__item:hover img,
body .p3d-page--gartenprodukte.p3d-page--gartenprodukte #varianten .p3d-gallery__item:focus-within img {
  transform: translateZ(0) scale(1) !important;
}

body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery__caption strong {
  color: #fff !important;
  font-size: clamp(17px, 1.4vw, 22px) !important;
  line-height: 1.12 !important;
  font-weight: 300 !important;
  letter-spacing: -.01em !important;
  text-wrap: balance;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-insight-card h3 {
  font-size: 17px !important;
  line-height: 1.28 !important;
  text-wrap: pretty;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-insight-card h3 + p {
  margin-top: 12px !important;
}

body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-insight-hub-card h3 {
  font-size: clamp(16px, 1.55vw, 23px) !important;
  line-height: 1.2 !important;
  text-wrap: pretty;
}

@media (min-width: 1180px) {
  body .p3d-architecture-page.p3d-architecture-page {
    --p3d-hero-title-width: min(1180px, 84vw);
  }

  body .p3d-architecture-page.p3d-architecture-page .p3d-hero .p3d-display {
    max-width: none !important;
    white-space: nowrap;
    font-size: clamp(32px, 3.35vw, 42px) !important;
  }

  body .p3d-page--kosten.p3d-page--kosten #echte-preise .p3d-section-head {
    grid-template-columns: minmax(660px, 1fr) minmax(320px, 34%) !important;
  }

  body .p3d-page--kosten.p3d-page--kosten #echte-preise .p3d-h2 {
    max-width: none !important;
    white-space: nowrap;
    font-size: clamp(28px, 2.6vw, 38px) !important;
  }
}

@media (min-width: 761px) {
  body .p3d-page--ueber.p3d-page--ueber .p3d-timeline__panel::before {
    display: none !important;
  }

  body .p3d-page--ueber.p3d-page--ueber .p3d-timeline__item::after {
    content: "";
    position: absolute;
    top: 30px;
    z-index: 1;
    width: 110px;
    height: 1px;
    background: rgba(7, 7, 7, .2);
    pointer-events: none;
  }

  body .p3d-page--ueber.p3d-page--ueber .p3d-timeline__item--left::after {
    right: 50%;
  }

  body .p3d-page--ueber.p3d-page--ueber .p3d-timeline__item--right::after {
    left: 50%;
  }

  body .p3d-page--ueber.p3d-page--ueber .p3d-timeline__item--right .p3d-timeline__year {
    margin-top: 33px;
  }
}

@media (max-width: 767px) {
  body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-tab-media {
    display: none !important;
  }

  body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac > .p3d-tab-mobile-image {
    display: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 0 20px !important;
    border-radius: var(--p3d-radius-md) !important;
    object-fit: cover !important;
  }

  body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-visual-tabs-section .p3d-accordion-tabs .ac.is-active > .p3d-tab-mobile-image {
    display: block !important;
  }

  body .p3d-page--home-staging.p3d-page--home-staging .p3d-horizontal-tabs__media.p3d-before-after--interactive {
    --p3d-ba-slant: 14%;
    --p3d-ba-divider-width: 1px;
  }

  body .p3d-page--home-staging.p3d-page--home-staging .p3d-horizontal-tabs__media.p3d-before-after--interactive .p3d-before-after__divider {
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-clip-path: polygon(
      calc(var(--p3d-compare) + var(--p3d-ba-slant) - var(--p3d-ba-divider-width)) 0,
      calc(var(--p3d-compare) + var(--p3d-ba-slant) + var(--p3d-ba-divider-width)) 0,
      calc(var(--p3d-compare) - var(--p3d-ba-slant) + var(--p3d-ba-divider-width)) 100%,
      calc(var(--p3d-compare) - var(--p3d-ba-slant) - var(--p3d-ba-divider-width)) 100%
    ) !important;
    clip-path: polygon(
      calc(var(--p3d-compare) + var(--p3d-ba-slant) - var(--p3d-ba-divider-width)) 0,
      calc(var(--p3d-compare) + var(--p3d-ba-slant) + var(--p3d-ba-divider-width)) 0,
      calc(var(--p3d-compare) - var(--p3d-ba-slant) + var(--p3d-ba-divider-width)) 100%,
      calc(var(--p3d-compare) - var(--p3d-ba-slant) - var(--p3d-ba-divider-width)) 100%
    ) !important;
  }
}

/* Reference motion from page 2696. */
body .p3d-ds.p3d-ds .p3d-btn,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-btn,
body .p3d-ds.p3d-ds .p3d-demo-open-link a,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-demo-open-link a,
body .p3d-ds.p3d-ds .p3d-form-placeholder input[type="submit"],
body .p3d-ds.p3d-ds .p3d-form-placeholder .wpcf7-submit,
body .p3d-ds.p3d-ds .p3d-form-card input[type="submit"],
body .p3d-ds.p3d-ds .p3d-form-card .wpcf7-submit,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder input[type="submit"],
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder .wpcf7-submit {
  transition: transform 280ms cubic-bezier(.25, .8, .25, 1), background-color 280ms ease, border-color 280ms ease, color 280ms ease, box-shadow 280ms ease !important;
}

body .p3d-ds.p3d-ds .p3d-btn:hover,
body .p3d-ds.p3d-ds .p3d-btn:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-btn:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-btn:focus-visible,
body .p3d-ds.p3d-ds .p3d-demo-open-link a:hover,
body .p3d-ds.p3d-ds .p3d-demo-open-link a:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-demo-open-link a:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-demo-open-link a:focus-visible,
body .p3d-ds.p3d-ds .p3d-form-placeholder input[type="submit"]:hover,
body .p3d-ds.p3d-ds .p3d-form-placeholder input[type="submit"]:focus-visible,
body .p3d-ds.p3d-ds .p3d-form-placeholder .wpcf7-submit:hover,
body .p3d-ds.p3d-ds .p3d-form-placeholder .wpcf7-submit:focus-visible,
body .p3d-ds.p3d-ds .p3d-form-card input[type="submit"]:hover,
body .p3d-ds.p3d-ds .p3d-form-card input[type="submit"]:focus-visible,
body .p3d-ds.p3d-ds .p3d-form-card .wpcf7-submit:hover,
body .p3d-ds.p3d-ds .p3d-form-card .wpcf7-submit:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder input[type="submit"]:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder input[type="submit"]:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder .wpcf7-submit:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-form-placeholder .wpcf7-submit:focus-visible {
  transform: translateY(-1px) scale(1.006) !important;
}

body .p3d-ds.p3d-ds .p3d-inline-video__play,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-inline-video__play,
body .p3d-ds.p3d-ds .p3d-work-link-play,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-link-play {
  transition: transform 280ms cubic-bezier(.25, .8, .25, 1), background-color 280ms ease, border-color 280ms ease, color 280ms ease, opacity 280ms ease !important;
}

body .p3d-ds.p3d-ds .p3d-inline-video__play:hover,
body .p3d-ds.p3d-ds .p3d-inline-video__play:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-inline-video__play:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-inline-video__play:focus-visible,
body .p3d-ds.p3d-ds .p3d-work-tile:hover .p3d-work-link-play,
body .p3d-ds.p3d-ds .p3d-work-tile:focus-visible .p3d-work-link-play,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-tile:hover .p3d-work-link-play,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-tile:focus-visible .p3d-work-link-play {
  transform: translate(-50%, -50%) scale(1.012) !important;
}

body .p3d-ds.p3d-ds .p3d-work-filter button,
body .p3d-ds.p3d-ds .p3d-insight-filter button,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-filter button,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-insight-filter button {
  transition: transform 280ms cubic-bezier(.25, .8, .25, 1), background-color 280ms ease, border-color 280ms ease, color 280ms ease !important;
}

body .p3d-ds.p3d-ds .p3d-work-filter button::before,
body .p3d-ds.p3d-ds .p3d-insight-filter button::before,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-filter button::before,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-insight-filter button::before {
  transition: opacity 420ms ease, transform 420ms ease !important;
}

body .p3d-ds.p3d-ds .p3d-work-filter button:hover,
body .p3d-ds.p3d-ds .p3d-work-filter button:focus-visible,
body .p3d-ds.p3d-ds .p3d-insight-filter button:hover,
body .p3d-ds.p3d-ds .p3d-insight-filter button:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-filter button:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-work-filter button:focus-visible,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-insight-filter button:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-insight-filter button:focus-visible {
  transform: translateY(-1px) scale(1.006) !important;
}

body .p3d-ds.p3d-ds .p3d-service-card,
body .p3d-gutenberg-lp.p3d-gutenberg-lp #leistungen .p3d-service-card {
  transition: transform 420ms ease !important;
  transform-origin: center center;
}

body .p3d-ds.p3d-ds .p3d-service-card:hover,
body .p3d-ds.p3d-ds .p3d-service-card:focus-within,
body .p3d-gutenberg-lp.p3d-gutenberg-lp #leistungen .p3d-service-card:hover,
body .p3d-gutenberg-lp.p3d-gutenberg-lp #leistungen .p3d-service-card:focus-within {
  transform: scale(1.02) !important;
}

body .p3d-ds.p3d-ds .p3d-gallery__item img,
body .p3d-ds.p3d-ds .p3d-masonry-item img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-masonry-item img,
body .p3d-ds.p3d-ds .p3d-work-tile img,
body .p3d-ds.p3d-ds .p3d-work-tile video,
body .p3d-ds.p3d-ds .p3d-tour-card img,
body .p3d-ds.p3d-ds .p3d-demo-frame img,
body .p3d-ds.p3d-ds .p3d-insight-card img,
body .p3d-ds.p3d-ds .p3d-insight-hub-card__media img,
body .p3d-ds.p3d-ds .p3d-before-after img,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery img,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery video,
body .p3d-ds.p3d-interior-page.p3d-interior-page .p3d-interior-gallery figure img,
body .p3d-ds.p3d-architecture-page.p3d-architecture-page .p3d-architecture-gallery figure img,
body .p3d-ds.p3d-home-v1.p3d-home-v1 .p3d-home-gallery figure img {
  transform: translateZ(0) scale(1) !important;
  transition: transform 420ms ease !important;
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform;
}

body .p3d-ds.p3d-ds .p3d-gallery__item:hover img,
body .p3d-ds.p3d-ds .p3d-gallery__item:focus-within img,
body .p3d-ds.p3d-ds .p3d-masonry-item:hover img,
body .p3d-ds.p3d-ds .p3d-masonry-item:focus-within img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-masonry-item:hover img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-masonry-item:focus-within img,
body .p3d-ds.p3d-ds .p3d-work-tile:hover img,
body .p3d-ds.p3d-ds .p3d-work-tile:focus-visible img,
body .p3d-ds.p3d-ds .p3d-work-tile:hover video,
body .p3d-ds.p3d-ds .p3d-work-tile:focus-visible video,
body .p3d-ds.p3d-ds .p3d-tour-card:hover img,
body .p3d-ds.p3d-ds .p3d-tour-card:focus-visible img,
body .p3d-ds.p3d-ds .p3d-demo-frame:hover img,
body .p3d-ds.p3d-ds .p3d-demo-frame:focus-within img,
body .p3d-ds.p3d-ds .p3d-insight-card:hover img,
body .p3d-ds.p3d-ds .p3d-insight-card:focus-visible img,
body .p3d-ds.p3d-ds .p3d-insight-hub-card:hover .p3d-insight-hub-card__media img,
body .p3d-ds.p3d-ds .p3d-insight-hub-card:focus-within .p3d-insight-hub-card__media img,
body .p3d-ds.p3d-ds .p3d-before-after:hover img,
body .p3d-ds.p3d-ds .p3d-before-after:focus-within img,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:hover img,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:focus-within img,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:hover video,
body .p3d-ds.p3d-animation-page.p3d-animation-page .p3d-animation-gallery figure:focus-within video,
body .p3d-ds.p3d-interior-page.p3d-interior-page .p3d-interior-gallery figure:hover img,
body .p3d-ds.p3d-interior-page.p3d-interior-page .p3d-interior-gallery figure:focus-within img,
body .p3d-ds.p3d-architecture-page.p3d-architecture-page .p3d-architecture-gallery figure:hover img,
body .p3d-ds.p3d-architecture-page.p3d-architecture-page .p3d-architecture-gallery figure:focus-within img,
body .p3d-ds.p3d-home-v1.p3d-home-v1 .p3d-home-gallery figure:hover img,
body .p3d-ds.p3d-home-v1.p3d-home-v1 .p3d-home-gallery figure:focus-within img {
  transform: translateZ(0) scale(1.02) !important;
}

body .p3d-ds.p3d-architecture-page.p3d-architecture-page #ausbaustufen .p3d-gallery__item img,
body .p3d-ds.p3d-page--gartenprodukte.p3d-page--gartenprodukte #varianten .p3d-gallery__item img,
body .p3d-ds.p3d-architecture-page.p3d-architecture-page #ausbaustufen .p3d-gallery__item:hover img,
body .p3d-ds.p3d-architecture-page.p3d-architecture-page #ausbaustufen .p3d-gallery__item:focus-within img,
body .p3d-ds.p3d-page--gartenprodukte.p3d-page--gartenprodukte #varianten .p3d-gallery__item:hover img,
body .p3d-ds.p3d-page--gartenprodukte.p3d-page--gartenprodukte #varianten .p3d-gallery__item:focus-within img {
  transform: translateZ(0) scale(1) !important;
}

body .p3d-ds.p3d-ds .p3d-before-after img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after img,
body .p3d-ds.p3d-ds .p3d-before-after:hover img,
body .p3d-ds.p3d-ds .p3d-before-after:focus-within img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after:hover img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after:focus-within img {
  transform: none !important;
}

body .p3d-ds.p3d-ds .p3d-before-after img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after img {
  transition: filter 420ms ease !important;
  will-change: auto;
}

body .p3d-ds.p3d-ds .p3d-before-after:hover img,
body .p3d-ds.p3d-ds .p3d-before-after:focus-within img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after:hover img,
body .p3d-gutenberg-lp.p3d-gutenberg-lp .p3d-before-after:focus-within img {
  filter: brightness(1.025);
}

@media (prefers-reduced-motion: reduce) {
  body :where(.p3d-ds, .p3d-gutenberg-lp) :where(.p3d-gallery__item, .p3d-masonry-item, .p3d-work-tile, .p3d-tour-card, .p3d-demo-frame, .p3d-insight-card, .p3d-insight-hub-card__media) img,
  body :where(.p3d-ds, .p3d-gutenberg-lp) .p3d-work-tile video,
  body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery img,
  body .p3d-animation-page.p3d-animation-page .p3d-animation-gallery video {
    transition-duration: 1ms !important;
  }
}

/* End audit round 1 refinements. */

@media (max-width: 1200px) {
  .p3d-shell {
    width: calc(100vw - (var(--p3d-shell-gutter-lg) * 2));
    max-width: none;
  }

  .p3d-gallery--arbeiten {
    grid-auto-rows: calc((100vw - (var(--p3d-shell-gutter-lg) * 2) - (var(--p3d-grid-gap) * 2)) / 3) !important;
  }

  .p3d-gallery--produkt {
    grid-auto-rows: calc((100vw - (var(--p3d-shell-gutter-lg) * 2) - (var(--p3d-grid-gap) * 2)) / 3) !important;
  }

  .p3d-logo-marquee {
    width: calc(100vw - (var(--p3d-shell-gutter-lg) * 2));
    max-width: none;
  }
}

@media (max-width: 1080px) {
  .p3d-google-score-card,
  .p3d-trust-score {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .p3d-short-review-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .p3d-shell {
    width: calc(100vw - (var(--p3d-shell-gutter-md) * 2));
  }

  .p3d-logo-marquee {
    width: calc(100vw - (var(--p3d-shell-gutter-md) * 2));
  }

  .p3d-gallery--arbeiten {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: calc((100vw - (var(--p3d-shell-gutter-md) * 2) - var(--p3d-grid-gap)) / 2) !important;
  }

  .p3d-gallery--arbeiten .p3d-gallery__item:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .p3d-gallery--arbeiten .p3d-gallery__item--wide { grid-column: span 2 !important; }
  .p3d-gallery--arbeiten .p3d-gallery__item--tall { grid-row: span 2 !important; }

  .p3d-gallery--produkt {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: calc((100vw - (var(--p3d-shell-gutter-md) * 2) - var(--p3d-grid-gap)) / 2) !important;
  }

  .p3d-gallery--produkt .p3d-gallery__item:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .p3d-gallery--produkt .p3d-gallery__item:nth-child(1),
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(6) { grid-column: span 2 !important; }

  .p3d-gallery--produkt .p3d-gallery__item:nth-child(5) { grid-row: span 2 !important; }

  .p3d-hero-inner,
  .p3d-hero__inner {
    width: auto;
    margin-left: 32px;
    margin-right: 32px;
  }

  .p3d-section-head,
  .p3d-split,
  .p3d-tabs,
  .p3d-visual-tabs-layout,
  .p3d-contact-grid,
  .p3d-faq-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .p3d-section-head__copy,
  .p3d-section-head > div:nth-child(2),
  .p3d-split--offset > :nth-child(2) {
    padding-top: 0;
    margin-top: 0;
  }

  .p3d-hero-copy,
  .p3d-hero__copy {
    max-width: 760px;
    transform: none;
  }

  .p3d-card-grid,
  .p3d-change-grid,
  .p3d-partner-card-grid,
  .p3d-edition-grid,
  .p3d-service-grid,
  .p3d-cost-example-grid,
  .p3d-price-question-grid,
  .p3d-profile-grid,
  .p3d-download-grid,
  .p3d-process-grid,
  .p3d-review-grid,
  .p3d-insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p3d-horizontal-tabs,
  .p3d-stage-tabs {
    width: 100%;
  }

  .p3d-stage-tabs__nav,
  .p3d-horizontal-tabs__nav,
  .p3d-three-stage,
  .p3d-before-after-grid,
  .p3d-comparison-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p3d-horizontal-tabs__nav::after,
  .p3d-stage-tabs__nav::after {
    display: none;
  }

  .p3d-horizontal-tabs__tab,
  .p3d-stage-tab {
    border: 0 !important;
    font-size: 15px;
    box-shadow: none !important;
  }

  .p3d-horizontal-tabs__tab.is-active,
  .p3d-horizontal-tabs__tab[aria-selected="true"],
  .p3d-stage-tab.is-active,
  .p3d-stage-tab[aria-selected="true"] {
    border: 0 !important;
    box-shadow: inset 0 -2px 0 #777a82 !important;
  }

  body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab.is-active,
  body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-horizontal-tabs__tab[aria-selected="true"],
  body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab.is-active,
  body :where(.p3d-ds, .p3d-gutenberg-lp) button.p3d-stage-tab[aria-selected="true"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: inset 0 -2px 0 #777a82 !important;
  }

  .p3d-horizontal-tabs__copy,
  .p3d-stage-panel__copy {
    white-space: normal;
  }

  .p3d-faq-items--intro-aligned {
    margin-top: 0;
  }
}

@media (max-width: 760px) {
  .p3d-gallery,
  .p3d-masonry-gallery,
  .p3d-gallery--bento,
  #beispiele .p3d-masonry-gallery {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    aspect-ratio: auto !important;
  }

  .p3d-gallery__wide-top,
  .p3d-gallery-wide-top,
  .p3d-gallery__tall-right,
  .p3d-gallery-tall-right,
  .p3d-gallery__tall-left,
  .p3d-gallery-tall-left,
  .p3d-gallery__square,
  .p3d-gallery-square,
  .p3d-gallery__wide-bottom,
  .p3d-gallery-wide-bottom {
    grid-column: 1;
    grid-row: auto;
  }

  .p3d-gallery__wide-top,
  .p3d-gallery-wide-top,
  .p3d-gallery__wide-bottom,
  .p3d-gallery-wide-bottom { aspect-ratio: 2 / 1; }
  .p3d-gallery__tall-left,
  .p3d-gallery-tall-left,
  .p3d-gallery__tall-right,
  .p3d-gallery-tall-right { aspect-ratio: 1 / 2; }
  .p3d-gallery__square,
  .p3d-gallery-square { aspect-ratio: 1 / 1; }

  .p3d-gallery--bento-six {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    aspect-ratio: auto;
  }

  .p3d-gallery--bento-six .p3d-gallery__item:nth-child(n) {
    grid-column: 1;
    grid-row: auto;
    aspect-ratio: 16 / 10 !important;
  }

  .p3d-gallery--leistung .p3d-gallery__item:nth-child(n) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .p3d-gallery--leistung .p3d-gallery__item:nth-child(1),
  .p3d-gallery--leistung .p3d-gallery__item:nth-child(3),
  .p3d-gallery--leistung .p3d-gallery__item:nth-child(5) { aspect-ratio: 2 / 1 !important; }
  .p3d-gallery--leistung .p3d-gallery__item:nth-child(2) { aspect-ratio: 1 / 1 !important; }
  .p3d-gallery--leistung .p3d-gallery__item:nth-child(4) { aspect-ratio: 1 / 2 !important; }

  .p3d-gallery--produkt {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    aspect-ratio: auto !important;
  }

  .p3d-gallery--produkt .p3d-gallery__item:nth-child(n) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .p3d-gallery--produkt .p3d-gallery__item:nth-child(1),
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(6) { aspect-ratio: 2 / 1 !important; }
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(2),
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(3),
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(4) { aspect-ratio: 1 / 1 !important; }
  .p3d-gallery--produkt .p3d-gallery__item:nth-child(5) { aspect-ratio: 1 / 2 !important; }

  .p3d-gallery--arbeiten {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }

  .p3d-gallery--arbeiten .p3d-gallery__item:nth-child(n) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .p3d-gallery--arbeiten .p3d-gallery__item--wide { aspect-ratio: 2 / 1 !important; }
  .p3d-gallery--arbeiten .p3d-gallery__item--square { aspect-ratio: 1 / 1 !important; }
  .p3d-gallery--arbeiten .p3d-gallery__item--tall { aspect-ratio: 1 / 2 !important; }

  .p3d-compare-pair {
    grid-template-columns: 1fr;
  }

  .p3d-gallery--variant-row {
    grid-template-columns: 1fr !important;
  }

  .p3d-gallery--variant-row .p3d-gallery__item:nth-child(n) {
    grid-column: 1;
    aspect-ratio: 16 / 10 !important;
  }

  .p3d-tour-grid {
    grid-template-columns: 1fr;
  }

  .p3d-tour-card,
  .p3d-tour-card img {
    min-height: 300px;
  }

  .p3d-timeline::before {
    left: 11px;
  }

  .p3d-timeline__item {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 22px;
    min-height: 0;
    margin-bottom: 22px;
  }

  .p3d-timeline__node {
    grid-column: 1;
    margin-top: 22px;
    box-shadow: 0 0 0 7px var(--p3d-color-surface-soft);
  }

  .p3d-timeline__item--left .p3d-timeline__panel,
  .p3d-timeline__item--right .p3d-timeline__panel {
    grid-column: 2;
    justify-self: stretch;
    text-align: left;
    transform-origin: left center;
  }

  .p3d-timeline__item--left .p3d-timeline__panel::before,
  .p3d-timeline__item--right .p3d-timeline__panel::before {
    left: -34px;
    right: auto;
    width: 24px;
  }
}

@media (max-width: 640px) {
  :where(.p3d-ds, .p3d-gutenberg-lp) {
    --p3d-section-y: 58px;
    --p3d-hero-min-h: 620px;
  }

  .p3d-shell {
    width: calc(100vw - (var(--p3d-shell-gutter-sm) * 2));
  }

  .p3d-logo-marquee {
    width: calc(100vw - (var(--p3d-shell-gutter-sm) * 2));
    padding: 14px 0 !important;
  }

  .p3d-logo-strip {
    margin-top: 0 !important;
    padding-top: 34px !important;
  }

  .p3d-hero-inner,
  .p3d-hero__inner {
    width: auto;
    margin-left: 18px;
    margin-right: 18px;
    padding-top: 96px;
  }

  .p3d-hero-spacer,
  .p3d-hero__spacer {
    height: 78px;
  }

  .p3d-actions {
    align-items: stretch;
  }

  .p3d-hero .p3d-actions {
    margin-left: 0;
  }

  .p3d-btn {
    width: 100%;
  }

  .p3d-card-grid,
  .p3d-change-grid,
  .p3d-partner-card-grid,
  .p3d-edition-grid,
  .p3d-service-grid,
  .p3d-cost-example-grid,
  .p3d-price-question-grid,
  .p3d-profile-grid,
  .p3d-download-grid,
  .p3d-process-grid,
  .p3d-review-grid,
  .p3d-insight-grid {
    grid-template-columns: 1fr;
  }

  .p3d-article-figure--breakout {
    width: 100%;
  }

  .p3d-article-pair {
    grid-template-columns: 1fr;
  }

  .p3d-article-bottom-grid {
    grid-template-columns: 1fr;
  }

  .p3d-article-cover {
    width: 100%;
    height: clamp(400px, calc(70vw + 100px), 540px);
    margin-left: 0;
    transform: none;
  }

  .p3d-article-cover__image,
  .p3d-article-cover__copy {
    grid-column: 1;
    grid-row: 1;
  }

  .p3d-article-cover__copy .p3d-h1 {
    max-width: 100%;
    font-size: clamp(30px, 8vw, 44px);
    white-space: normal;
  }

  .p3d-article-cover__copy {
    padding: clamp(22px, 6vw, 34px);
  }

  .p3d-page--insight-article .p3d-article-summary,
  .p3d-article-final-box,
  .p3d-article-card-pair {
    grid-template-columns: 1fr;
  }

  .p3d-article-final-box,
  .p3d-article-pillar-row {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .p3d-article-final-box .p3d-cta-banner {
    border-top: 1px solid rgba(7, 7, 7, .1);
    border-left: 0;
  }

  .p3d-article-float,
  .p3d-article-float--left,
  .p3d-article-float--right {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .p3d-contact-next {
    margin-top: 0;
  }

  .p3d-factor-list li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .p3d-stage-tabs__nav,
  .p3d-horizontal-tabs__nav,
  .p3d-three-stage,
  .p3d-before-after-grid,
  .p3d-comparison-grid {
    grid-template-columns: 1fr;
  }

  .p3d-stage-tab {
    min-height: 0;
  }

  .p3d-horizontal-tabs__nav,
  .p3d-stage-tabs__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p3d-horizontal-tabs__tab,
  .p3d-stage-tab {
    padding: 14px 10px 13px;
    font-size: 14px;
  }

  .p3d-gallery--pairs {
    grid-template-columns: 1fr !important;
  }

  .p3d-before-after {
    aspect-ratio: 4 / 3;
  }

  .p3d-tab-current-image,
  .p3d-tabs__image {
    min-height: 280px;
  }

  .p3d-faq summary,
  .p3d-faq-accordion .ac-trigger {
    grid-template-columns: minmax(0, 1fr) 24px;
    min-height: 68px;
    padding: 20px 0;
    font-size: 17px;
  }

  .p3d-faq details > div,
  .p3d-faq-accordion .ac-text {
    margin-right: 0;
  }

  .p3d-quote-media {
    min-height: 360px;
  }

  .p3d-media-offset,
  .p3d-split--left-offset > :first-child {
    margin-top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.p3d-ds, .p3d-gutenberg-lp) *,
  :where(.p3d-ds, .p3d-gutenberg-lp) *::before,
  :where(.p3d-ds, .p3d-gutenberg-lp) *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .p3d-motion-card.aos-init[data-aos="zoom-in"] {
    opacity: 1;
    transform: none;
  }

  .p3d-timeline__item.aos-init[data-aos="zoom-in"] .p3d-timeline__panel {
    opacity: 1;
    transform: none;
  }

}


/* Insight image card rendering fix: avoid sub-pixel bottom seams from transformed images. */
.p3d-page--insight-article .p3d-article-image-card,
.p3d-page--insight-article .p3d-article-pair-card {
  display: block;
  line-height: 0 !important;
  background: transparent !important;
  border: 0;
}

.p3d-page--insight-article .p3d-article-image-card img,
.p3d-page--insight-article .p3d-article-pair-card img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-radius: var(--p3d-radius-md);
  object-fit: cover;
  transform: none !important;
}

.p3d-page--insight-article .p3d-article-image-card:hover img,
.p3d-page--insight-article .p3d-article-pair-card:hover img {
  transform: none !important;
}

.p3d-page--insight-article .p3d-article-image-card::after,
.p3d-page--insight-article .p3d-article-pair-card::after {
  bottom: 0;
  border-radius: 0 0 var(--p3d-radius-md) var(--p3d-radius-md);
}

@media (max-width: 980px) {
  .p3d-insight-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p3d-work-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p3d-work-tile,
  .p3d-work-tile--tall {
    grid-column: span 1;
    grid-row: auto;
  }

  .p3d-work-tile--wide {
    grid-column: 1 / -1;
  }

  .p3d-work-stats {
    grid-template-columns: 1fr;
  }

  .p3d-work-stats span + span {
    border-left: 0;
    border-top: 0;
  }
}

@media (max-width: 690px) {
  .p3d-insight-filter {
    justify-content: flex-start;
    gap: 8px;
  }

  .p3d-insight-filter button {
    padding: 10px 12px;
  }

  .p3d-insight-hub-grid {
    grid-template-columns: 1fr;
  }

  .p3d-work-gallery {
    grid-template-columns: 1fr;
  }

  .p3d-work-tile,
  .p3d-work-tile--wide,
  .p3d-work-tile--tall {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .p3d-work-tile img,
  .p3d-work-tile video {
    min-height: 0;
    height: 100%;
  }

  .p3d-work-filter {
    justify-content: flex-start;
    gap: 8px;
  }

  .p3d-work-filter button {
    padding: 9px 12px;
  }

  .p3d-work-tile__caption {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    padding: 15px;
    background: #111;
  }

  .p3d-work-tile::after {
    display: none;
  }

  .p3d-work-head__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

}
