.site-editor-preview-banner {
  position: sticky;
  top: 0;
  z-index: 10000;
  padding: 12px 18px;
  background: #fff3bf;
  color: #4d3a00;
  border-bottom: 1px solid #e7cc63;
  font: 800 15px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: center;
}

.public-content-media{margin:0;min-width:0;overflow:hidden;border-radius:18px;background:#e8efec;line-height:0}
.public-content-media__asset{display:block;width:100%;height:clamp(220px,34vw,560px);object-fit:var(--content-media-fit,cover);object-position:var(--content-media-position,50% 50%)}
.public-content-media__copy{position:relative;z-index:1;min-width:0}
.public-content-media__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.content-media-layout-top .public-content-media{margin-bottom:clamp(24px,4vw,52px)}
.content-media-layout-bottom .public-content-media{margin-top:clamp(24px,4vw,52px)}
.content-media-layout-background{position:relative;isolation:isolate;overflow:hidden}
.content-media-layout-background .public-content-media{position:absolute;inset:0;z-index:0;border-radius:0}
.content-media-layout-background .public-content-media__asset{height:100%}
.content-media-layout-background .public-content-media__copy{position:relative;z-index:1}
.content-media-layout-media-left>.public-content-media,.content-media-layout-media-right>.public-content-media{margin:0 24px;align-self:center}
.content-media-layout-media-left>.container,.content-media-layout-media-right>.container{min-width:0}
.content-media-layout-media-left:has(>.public-content-media),.content-media-layout-media-right:has(>.public-content-media){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.content-media-layout-media-right:has(>.public-content-media)>.public-content-media{order:2}
@media(max-width:760px){.public-content-media__split,.content-media-layout-media-left:has(>.public-content-media),.content-media-layout-media-right:has(>.public-content-media){grid-template-columns:1fr}.content-media-layout-media-right .public-content-media__copy{order:2}.content-media-layout-media-right:has(>.public-content-media)>.public-content-media{order:0}.public-content-media__asset{height:clamp(210px,76vw,440px)}.content-media-layout-media-left>.public-content-media,.content-media-layout-media-right>.public-content-media{margin:0 16px 24px}}

[data-site-editor-hidden="1"] {
  display: none !important;
}

.site-editor-preline {
  white-space: pre-line;
}

.site-editor-optional-media { width:min(100%,1120px); margin:0 auto 28px; overflow:hidden; border-radius:18px; }
.site-editor-optional-media--bottom { margin-top:28px; margin-bottom:0; }
.site-editor-optional-media__asset,
.site-editor-optional-media__asset img,
.site-editor-optional-media__asset video { display:block; width:100%; max-height:620px; }
.site-editor-optional-media__asset img,
.site-editor-optional-media__asset video { object-fit:var(--site-editor-image-fit,cover); object-position:var(--site-editor-image-x,center) var(--site-editor-image-y,center); }

.public-site [data-site-editor-text-style] {
  min-width: 0;
  color: var(--site-text-color);
  font-weight: var(--site-text-weight);
  line-height: var(--site-text-line-height);
  letter-spacing: var(--site-text-letter-spacing);
  text-align: var(--site-text-align);
  position: relative;
  left: var(--site-text-offset-x-desktop, 0px);
  overflow-wrap: anywhere;
}

.public-site [data-site-editor-text-style][data-site-editor-max-width="1"] {
  display: inline-block;
  width: min(100%, var(--site-text-max-width));
}

.public-site [data-hero-dynamic-line] {
  position: relative;
  left: var(--site-line-offset-x-desktop, 0px);
  color: var(--site-line-color, inherit);
  font-size: var(--site-line-size-desktop, inherit);
  font-weight: var(--site-line-weight, inherit);
  line-height: var(--site-line-line-height, inherit);
  letter-spacing: var(--site-line-letter-spacing, inherit);
}

.public-site [data-hero-segment] {
  position: relative;
  left: var(--site-segment-offset-x-desktop, 0px);
  color: var(--site-segment-color, inherit);
  font-size: var(--site-segment-size-desktop, inherit);
  font-weight: var(--site-segment-weight, inherit);
  line-height: var(--site-segment-line-height, inherit);
  letter-spacing: var(--site-segment-letter-spacing, inherit);
}

@media (min-width: 861px) {
  .public-site [data-site-editor-text-style] {
    font-size: var(--site-text-size-desktop);
  }

  .public-site [data-site-editor-section="hero_1"]:has([data-site-editor-text-style][style]) .v3-hero-copy {
    max-width: min(100%, 36vw);
  }
}

[data-site-editor-background="color"] {
  background: var(--site-editor-bg-color) !important;
}

[data-site-editor-background="image"] {
  background-color: #07110f !important;
  background-image:
    linear-gradient(
      rgba(0, 0, 0, var(--site-editor-bg-darkness)),
      rgba(0, 0, 0, var(--site-editor-bg-darkness))
    ),
    var(--site-editor-bg-desktop) !important;
  background-position: var(--site-editor-bg-position) !important;
  background-repeat: no-repeat !important;
  background-size: var(--site-editor-bg-fit) !important;
}

[data-site-editor-section="hero_1"][data-site-editor-background="image"][data-synced-hero-index]:not([data-synced-hero-index="0"]) {
  background-image: none !important;
}

[data-site-editor-section="hero_1"][data-site-editor-background="image"][data-synced-hero-index="0"] {
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, var(--site-editor-bg-darkness)) 0%,
      rgba(0, 0, 0, var(--site-editor-bg-darkness)) 54%,
      rgba(0, 0, 0, calc(var(--site-editor-bg-darkness) * 0.72)) 74%,
      rgba(0, 0, 0, calc(var(--site-editor-bg-darkness) * 0.55)) 100%
    ),
    linear-gradient(
      90deg,
      rgba(210, 235, 228, 0) 54%,
      rgba(210, 235, 228, 0.02) 72%,
      rgba(210, 235, 228, 0.045) 100%
    ),
    var(--site-editor-bg-desktop) !important;
}

[data-site-editor-image][data-site-editor-fit] img {
  object-fit: var(--site-editor-image-fit, cover) !important;
  object-position: var(--site-editor-image-x, center) var(--site-editor-image-y, center) !important;
  transform: scale(var(--site-editor-image-scale, 1));
  transform-origin: var(--site-editor-image-x, center) var(--site-editor-image-y, center);
}

[data-site-editor-fit="contain"] {
  --site-editor-image-fit: contain;
}

[data-site-editor-fit="cover"] {
  --site-editor-image-fit: cover;
}

[data-site-editor-position^="left-"] {
  --site-editor-image-x: left;
}

[data-site-editor-position^="center-"] {
  --site-editor-image-x: center;
}

[data-site-editor-position^="right-"] {
  --site-editor-image-x: right;
}

[data-site-editor-position$="-top"] {
  --site-editor-image-y: top;
}

[data-site-editor-position$="-center"] {
  --site-editor-image-y: center;
}

[data-site-editor-position$="-bottom"] {
  --site-editor-image-y: bottom;
}

[data-site-editor-scale="small"] {
  --site-editor-image-scale: .9;
}

[data-site-editor-scale="normal"] {
  --site-editor-image-scale: 1;
}

[data-site-editor-scale="large"] {
  --site-editor-image-scale: 1.1;
}

.public-site [data-site-editor-device-copy][data-desktop-visible="0"] {
  display: none;
}

@media (max-width: 860px) {
  .public-site [data-site-editor-device-copy][data-mobile-visible="1"] {
    display: block;
  }

  .public-site [data-site-editor-device-copy][data-mobile-visible="0"] {
    display: none;
  }

  .public-site [data-site-editor-text-style] {
    font-size: var(--site-text-size-mobile);
    left: var(--site-text-offset-x-mobile, 0px);
  }

  .public-site [data-hero-dynamic-line] {
    left: var(--site-line-offset-x-mobile, 0px);
    font-size: var(--site-line-size-mobile, inherit);
  }

  .public-site [data-hero-segment] {
    left: var(--site-segment-offset-x-mobile, 0px);
    font-size: var(--site-segment-size-mobile, inherit);
  }

  .public-site [data-site-editor-section="hero_1"]:has([data-site-editor-text-style][style]) .v35-title-line {
    max-width: 100%;
    margin-left: 0;
  }
  /*
   * Mobile already has the persistent two-button consultation bar.
   * Keep the hero actions in the document for desktop and analytics,
   * but do not render the duplicate pair above the hero image.
   */
  .public-site .v3-hero-actions {
    display: none !important;
  }

  [data-site-editor-background="image"] {
    background-image:
      linear-gradient(
        rgba(0, 0, 0, var(--site-editor-bg-darkness)),
        rgba(0, 0, 0, var(--site-editor-bg-darkness))
      ),
      var(--site-editor-bg-mobile) !important;
  }

  [data-site-editor-section="hero_1"][data-site-editor-background="image"][data-synced-hero-index="0"] {
    background-image:
      linear-gradient(
        90deg,
        rgba(0, 0, 0, var(--site-editor-bg-darkness)) 0%,
        rgba(0, 0, 0, var(--site-editor-bg-darkness)) 54%,
        rgba(0, 0, 0, calc(var(--site-editor-bg-darkness) * 0.72)) 74%,
        rgba(0, 0, 0, calc(var(--site-editor-bg-darkness) * 0.55)) 100%
      ),
      linear-gradient(
        90deg,
        rgba(210, 235, 228, 0) 54%,
        rgba(210, 235, 228, 0.02) 72%,
        rgba(210, 235, 228, 0.045) 100%
      ),
      var(--site-editor-bg-mobile) !important;
    background-position: 72% calc(100% - 82px) !important;
    background-size: auto 49% !important;
  }
}

.public-site .case-blog-content .content-body{max-width:920px}
.public-site .case-blog-text{margin:0 0 1.6rem;white-space:pre-wrap;font-size:1.08rem;line-height:1.8}
.public-site .case-blog-media{margin:0 0 2rem;text-align:center}
.public-site .case-blog-media img,.public-site .case-blog-media video{display:block;width:100%;max-height:720px;margin:0 auto;object-fit:contain;border-radius:18px;background:transparent}
.public-site .case-blog-media figcaption{margin-top:.65rem;color:#60716e;font-size:.95rem}

.public-site .page-hero h1[data-site-editor-text-style^="case."] {
  font-size: clamp(42px, 4vw, 64px);
  line-height: 1.2;
  white-space: pre-line;
}

.public-site .page-hero h1[data-site-editor-text-style^="service."] {
  white-space: pre-line;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media (max-width: 640px) {
  .public-site .page-hero h1[data-site-editor-text-style^="case."] {
    font-size: clamp(30px, 8vw, 38px);
    line-height: 1.22;
  }
}

.public-site .site-editor-text-segment {
  line-height: var(--site-segment-line-height, inherit);
  position: relative;
  left: var(--site-segment-offset-x-desktop, 0px);
  color: var(--site-segment-color, inherit);
  font-size: var(--site-segment-size-desktop, inherit);
  font-weight: var(--site-segment-weight, inherit);
}
@media (max-width: 860px) {
  .public-site[data-page-context="public_page"] .case-blog-text {
    white-space: normal;
  }

  .public-site .site-editor-text-segment {
  line-height: var(--site-segment-line-height, inherit);
    left: var(--site-segment-offset-x-mobile, 0px);
    font-size: var(--site-segment-size-mobile, inherit);
  }
}
