/* Public interaction guarantees layered over the inherited v18 visual bundle. */
.workspace-skip-link {
  position: fixed;
  z-index: 30000;
  top: 10px;
  left: 10px;
  padding: 11px 16px;
  background: #fff;
  color: #17191d;
  font: 800 12px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  transform: translateY(-180%);
}
.workspace-skip-link:focus { transform: translateY(0); outline: 3px solid var(--red, #d83a34); }

:where(#root, .atesh-success-celebration) a:focus-visible,
:where(#root, .atesh-success-celebration) button:focus-visible,
:where(#root, .atesh-success-celebration) input:focus-visible,
:where(#root, .atesh-success-celebration) select:focus-visible,
:where(#root, .atesh-success-celebration) textarea:focus-visible {
  outline: 3px solid var(--red, #d83a34);
  outline-offset: 3px;
}

.atesh-success-celebration .atesh-tracking-reference {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: -8px auto 14px;
  padding: 10px 14px;
  border: 1px solid #d9dce1;
  background: #f5f6f7;
  color: #17191d;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.atesh-success-celebration .atesh-email-state { margin-bottom: 22px; font-size: 12px; }

.service-portfolio-modal header .service-portfolio-description {
  display: block !important;
  max-width: 760px;
  margin: 8px 0 0;
  color: #c8c8c8 !important;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.65;
}

@media (max-width: 600px) {
  .service-portfolio-modal header .service-portfolio-description {
    max-width: 52ch;
    font-size: 13px;
    line-height: 1.5;
  }
}

/* Non-destructive CMS extensions for protected React pages. */
#root > header.workspace-header-sticky {
  position: sticky;
  top: 0;
  z-index: 80;
}

#root > header.workspace-header-light {
  color: #20232a;
}

#root > header nav .workspace-nav-parent { position: relative; }
#root > header nav .workspace-nav-children {
  display: none;
  position: absolute;
  z-index: 90;
  top: 100%;
  left: 0;
  min-width: 230px;
  padding: 10px;
  border: 1px solid #ffffff24;
  background: var(--header-background, #242424);
  box-shadow: 0 18px 40px #0004;
}
#root > header nav .workspace-nav-parent:hover > .workspace-nav-children,
#root > header nav .workspace-nav-parent:focus-within > .workspace-nav-children { display: grid; }
#root > header nav .workspace-nav-children a { display: block; min-height: 40px; padding: 11px 13px; white-space: nowrap; }
#root > header nav .workspace-nav-children .workspace-nav-parent { width: 100%; }
#root > header nav .workspace-nav-children .workspace-nav-children { top: 0; left: 100%; }
#root > header nav .workspace-nav-children-inline { display: grid; position: static; min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }

.workspace-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 17px max(4vw, 24px);
  border-bottom: 1px solid #e4e6e9;
  background: #fff;
  color: #68707b;
  font-size: 11px;
}

.workspace-breadcrumbs b { color: #20232a; }
.workspace-breadcrumbs-dark { border-color: #ffffff22; background: #242424; color: #c3c7cd; }
.workspace-breadcrumbs-dark b { color: #fff; }
.workspace-breadcrumbs-banner { padding-top: 28px; padding-bottom: 28px; }

.workspace-cms-extension {
  position: relative;
  padding-right: max(4vw, 24px);
  padding-left: max(4vw, 24px);
  color: #20232a;
  font: 15px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.workspace-cms-container { width: 100%; margin: 0 auto; }
.workspace-cms-container.boxed { max-width: 1180px; }
.workspace-cms-container.wide { max-width: 1450px; }
.workspace-cms-columns { display: flex; align-items: stretch; gap: 32px; }
.workspace-cms-column { flex: 0 1 var(--workspace-column, 100%); min-width: 0; }
.workspace-cms-column h1,
.workspace-cms-column h2,
.workspace-cms-column h3,
.workspace-cms-column h4 { margin: 0 0 18px; line-height: 1.08; }
.workspace-cms-column h1 { font-size: clamp(42px, 6vw, 78px); }
.workspace-cms-column h2 { font-size: clamp(32px, 4vw, 54px); }
.workspace-cms-column h3 { font-size: 24px; }
.workspace-cms-richtext p:first-child { margin-top: 0; }
.workspace-cms-image { margin: 0; }
.workspace-cms-image img { display: block; width: 100%; border-radius: 12px; }
.workspace-cms-image figcaption { margin-top: 7px; color: #68707b; font-size: 10px; }
.workspace-cms-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 19px;
  border-radius: 7px;
  background: var(--red, #d83a34);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.workspace-cms-column blockquote { margin: 20px 0; padding: 24px; border-left: 4px solid var(--red, #d83a34); background: #f5f6f7; font-size: 20px; }
.workspace-cms-column blockquote cite { display: block; margin-top: 12px; font-size: 11px; font-weight: 800; }
.workspace-cms-video,
.workspace-cms-form { display: grid; place-items: center; min-height: 220px; padding: 30px; border-radius: 12px; background: #242424; color: #fff; text-align: center; }
video.workspace-cms-video,
iframe.workspace-cms-video { display: block; width: 100%; min-height: 0; aspect-ratio: 16 / 9; padding: 0; border: 0; background: #000; }

@media (min-width: 851px) { .workspace-visible-mobile { display: none; } }
@media (max-width: 850px) {
  .workspace-cms-columns { flex-direction: column; }
  .workspace-cms-column { flex-basis: auto !important; }
  .workspace-visible-desktop { display: none; }
  #root > header nav .workspace-nav-parent { width: 100%; }
  #root > header nav .workspace-nav-children,
  #root > header nav .workspace-nav-children .workspace-nav-children { display: grid; position: static; width: 100%; min-width: 0; padding: 2px 0 7px 18px; border: 0; background: transparent; box-shadow: none; }
}

/* Shared public header additions and the date-controlled homepage offer. */
#root > header.atesh-site-header { background: var(--header-background, #242424); }
#root > header nav a[aria-current="page"] { color: #ffb5b1; }
.gallery-summary,
.media-preview > header > div,
.media-preview > header .lead { max-width: 800px; margin-right: auto; margin-left: 0; text-align: left; }
.media-preview > header,
.media-preview > header h2,
.media-preview > header p { text-align: left !important; }
.workspace-home-offer { position: fixed; z-index: 950; inset: 0; display: grid; grid-template-columns: minmax(260px, 520px) minmax(280px, 440px); place-content: center; gap: 0; padding: 24px; background: #111317dc; backdrop-filter: blur(8px); }
.workspace-home-offer-poster { display: grid; place-items: center; max-height: calc(100vh - 48px); margin: 0; overflow: hidden; border-radius: 16px 0 0 16px; background: #fff; }
.workspace-home-offer-poster img { display: block; width: 100%; height: 100%; max-height: calc(100vh - 48px); object-fit: contain; }
.workspace-home-offer-copy { align-self: stretch; display: grid; align-content: center; padding: clamp(28px, 5vw, 56px); border-radius: 0 16px 16px 0; background: #fff; color: #222; }
.workspace-home-offer-copy small { color: var(--red, #d83a34); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.workspace-home-offer-copy h2 { margin: 10px 0 16px; font: 600 clamp(34px, 5vw, 64px)/.98 Georgia, serif; }
.workspace-home-offer-copy p { color: #626871; font-size: 16px; }
.workspace-home-offer-copy > div { display: flex; gap: 9px; margin-top: 16px; }
.workspace-home-offer-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 17px; border: 1px solid var(--red, #d83a34); border-radius: 6px; background: var(--red, #d83a34); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.workspace-home-offer-button.secondary { background: #fff; color: #222; }
.workspace-home-offer-close { position: absolute; top: 25px; right: 25px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff80; border-radius: 50%; background: #1c1f24; color: #fff; font-size: 29px; cursor: pointer; }
@media (max-width: 760px) { .workspace-home-offer { grid-template-columns: 1fr; align-content: center; overflow: auto; } .workspace-home-offer-poster { max-height: 52vh; border-radius: 13px 13px 0 0; } .workspace-home-offer-copy { padding: 25px; border-radius: 0 0 13px 13px; } .workspace-home-offer-copy h2 { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { .workspace-home-offer { scroll-behavior: auto; } }
