/* Elementor DOM bridge: keeps the source design system authoritative. */
.cs-elementor-page {
  display: block;
  padding: 0 !important;
}

.cs-elementor-global-header {
  padding: 0 !important;
}

.cs-site .elementor-widget-text-editor p:last-child,
.cs-site .elementor-widget-text-editor ul:last-child,
.cs-site .elementor-widget-text-editor ol:last-child,
.cs-site .elementor-widget-text-editor blockquote:last-child {
  margin-bottom: 0;
}

.cs-site .elementor-widget-text-editor {
  color: inherit;
  font-family: var(--cs-font-sans) !important;
}

/* Elementor emits a global Text Editor color after the page stylesheet. Let
   the migrated section/container design system remain authoritative, then
   restore the few semantic widget colors that intentionally differ. */
.cs-site .cs-hero-side-note {
  color: var(--cs-muted);
}

.cs-site .cs-lead {
  color: #dbe0e7;
}

.cs-site .cs-kicker,
.cs-site .cs-eyebrow,
.cs-site .cs-card-label {
  color: var(--cs-green);
}

.cs-site .cs-paper .cs-eyebrow,
.cs-site .cs-paper .cs-card-label {
  color: var(--cs-blue);
}

.cs-site .cs-build-card .cs-card-copy {
  color: #c7d0db;
}

.cs-site .cs-build-card .cs-card-proof,
.cs-site .cs-scope-note,
.cs-site .cs-preview-body .elementor-widget-text-editor,
.cs-site .cs-contact-page-grid > div:last-child > .elementor-widget-text-editor:not(.cs-page-promise) {
  color: var(--cs-muted);
}

.cs-site .cs-page-promise {
  color: var(--cs-white);
}

.cs-site .cs-cta-grid > div:last-child .elementor-widget-text-editor {
  color: #e1e7ef;
}

.cs-site .elementor-widget-text-editor :where(p, li, blockquote) {
  font-family: inherit !important;
}

.cs-site .cs-primary-brand-claim,
.cs-site .cs-statement,
.cs-site .cs-page-promise,
.cs-site .cs-bridge {
  font-family: var(--cs-font-editorial) !important;
}

.cs-site .elementor-widget-button {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
}

.cs-site .cs-button.elementor-widget-button,
.cs-site .cs-text-link.elementor-widget-button,
.cs-site .cs-badge.elementor-widget-button {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.cs-site .cs-button .elementor-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid var(--cs-line-light);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font-family: var(--cs-font-sans) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  text-decoration: none;
}

.cs-site .cs-button .elementor-button-text {
  color: inherit !important;
}

.cs-site .cs-button-primary .elementor-button {
  border-color: var(--cs-green);
  background: var(--cs-green);
  color: var(--cs-ink) !important;
}

.cs-site .cs-button-secondary .elementor-button {
  background: transparent;
  color: var(--cs-white) !important;
}

.cs-site .cs-button-secondary .elementor-button-text {
  color: var(--cs-white) !important;
}

.cs-site .cs-button-light .elementor-button {
  border-color: var(--cs-white);
  background: var(--cs-white);
  color: var(--cs-blue) !important;
}

.cs-site .cs-button .elementor-button:hover {
  translate: 0 -2px;
}

.cs-site .cs-text-link .elementor-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.cs-site .cs-badge .elementor-button {
  padding: 6px 10px;
  border: 1px solid rgba(161, 204, 58, 0.5);
  border-radius: 999px;
  background: transparent;
  color: var(--cs-green);
  font-family: var(--cs-font-sans);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.07em;
  text-decoration: none;
}

.cs-site .cs-badge-secondary .elementor-button {
  border-color: rgba(63, 94, 140, 0.5);
  color: #6285b6;
}

/* Restore the intentional top spacing carried by source card-link wrappers. */
.cs-site .cs-project-card-compact > .cs-text-link.elementor-widget-button {
  margin-top: auto;
  padding-top: 28px;
}

.cs-site .cs-thinking-card > .cs-text-link.elementor-widget-button,
.cs-site .cs-essay-card > .cs-text-link.elementor-widget-button {
  margin-top: auto;
  padding-top: 24px;
}

.cs-actions > .elementor-widget-button,
.cs-card-topline > .elementor-widget-button {
  width: auto;
}

.cs-primary-nav,
.cs-actions,
.cs-card-topline,
.cs-feature-link {
  --flex-direction: row !important;
  flex-direction: row !important;
}

.cs-primary-nav {
  --align-items: center !important;
  --flex-wrap: nowrap !important;
  --justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
}

.cs-primary-brand {
  --width: auto !important;
  width: max-content !important;
  min-width: max-content;
  max-width: max-content;
  flex: 0 0 auto !important;
}

.cs-site h1.elementor-heading-title,
.cs-site h2.elementor-heading-title,
.cs-site h3.elementor-heading-title,
.cs-site h4.elementor-heading-title,
.cs-site h5.elementor-heading-title,
.cs-site h6.elementor-heading-title {
  color: inherit !important;
  font-family: var(--cs-font-sans) !important;
  font-weight: inherit !important;
}

.cs-primary-brand-name .elementor-heading-title {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

.cs-primary-menu-widget {
  --width: auto !important;
  width: auto !important;
  max-width: max-content;
  flex: 0 0 auto;
}

.cs-primary-brand-claim {
  white-space: nowrap;
}

.cs-site .cs-home-hero .cs-lead,
.cs-site .cs-page-hero .cs-lead,
.cs-site .cs-contact-page .cs-lead {
  max-width: 780px !important;
}

.cs-site .cs-draft {
  width: max-content !important;
  max-width: 100%;
}

.cs-site .cs-page-hero h1.elementor-heading-title,
.cs-site .cs-contact-page h1.elementor-heading-title,
.cs-site .cs-article-hero h1.elementor-heading-title {
  font-family: var(--cs-font-display) !important;
  font-size: clamp(48px, 7.6vw, 104px) !important;
  font-weight: 740 !important;
  letter-spacing: -0.068em !important;
  line-height: 0.98 !important;
}

.cs-site .cs-section-head h2.elementor-heading-title,
.cs-site .cs-two-column h2.elementor-heading-title,
.cs-site .cs-decision-grid h2.elementor-heading-title,
.cs-site .cs-about-grid h2.elementor-heading-title,
.cs-site .cs-preview-grid h2.elementor-heading-title,
.cs-site .cs-article h2.elementor-heading-title {
  font-size: clamp(34px, 4.8vw, 68px) !important;
  font-weight: 760 !important;
  letter-spacing: -0.052em !important;
  line-height: 1.04 !important;
  margin-bottom: 24px !important;
}

.cs-site .cs-build-card h3.elementor-heading-title {
  margin: 60px 0 18px !important;
  font-size: clamp(25px, 2.35vw, 36px) !important;
  font-weight: 680 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
}

.cs-site .cs-project-card h3.elementor-heading-title {
  margin: 42px 0 16px !important;
  font-size: clamp(30px, 3.5vw, 48px) !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
}

.cs-site .cs-closing h2.elementor-heading-title {
  margin-bottom: 30px !important;
  font-family: var(--cs-font-display) !important;
  font-size: clamp(52px, 8.5vw, 112px) !important;
  letter-spacing: -0.065em !important;
  line-height: 0.94 !important;
}

.cs-site .cs-cta h2.elementor-heading-title {
  margin-bottom: 0 !important;
  font-size: clamp(48px, 7vw, 90px) !important;
  letter-spacing: -0.06em !important;
  line-height: 0.98 !important;
}

.cs-site .cs-thinking-card h3.elementor-heading-title,
.cs-site .cs-essay-card h3.elementor-heading-title {
  margin: 50px 0 16px !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
}

.cs-process-step > .elementor-widget-text-editor:first-child,
.cs-essay-card > .elementor-widget-text-editor:first-child {
  color: var(--cs-green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.cs-decision-grid article > .elementor-widget-text-editor:last-child,
.cs-two-column article > .elementor-widget-text-editor:last-child,
.cs-project-list .cs-project-card > .elementor-widget-text-editor,
.cs-article section > .elementor-widget-text-editor:last-child,
.cs-contact-page-grid > div:last-child > .elementor-widget-text-editor:not(.cs-page-promise),
.cs-cta-grid > div:last-child .elementor-widget-text-editor {
  margin-bottom: 0;
}

.cs-project-list .cs-project-card > .cs-text-link {
  justify-self: start;
}

.cs-project-list .cs-project-card > .elementor-widget-heading,
.cs-project-list .cs-project-card > .elementor-widget-text-editor {
  grid-column: 1;
}

.cs-project-list .cs-project-card > .cs-case-copy,
.cs-project-list .cs-project-card > .cs-text-link {
  grid-column: 2;
}

.cs-project-list .cs-project-card > .cs-case-copy {
  grid-row: 1 / span 3;
}

.cs-preview-global-header,
.cs-preview-global-footer,
.cs-preview-global-header > .elementor-widget-container,
.cs-preview-global-footer > .elementor-widget-container {
  width: 100%;
}

/* Global Elementor Pro navigation, matched to the former custom menu. */
.cs-primary-menu-widget {
  width: auto;
  margin-left: auto !important;
  color: #d7dde6;
  font-family: var(--cs-font-sans);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.035em;
}

.cs-primary-menu-widget .elementor-nav-menu--main .elementor-nav-menu {
  align-items: center;
  gap: 23px;
}

.cs-primary-menu-widget .elementor-nav-menu--main .elementor-item {
  padding: 8px 0;
  color: #d7dde6 !important;
  font: inherit;
  line-height: 1.2;
}

.cs-primary-menu-widget .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > .elementor-item .sub-arrow svg {
  display: none;
}

.cs-primary-menu-widget .elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > .elementor-item .sub-arrow::after {
  color: var(--cs-green);
  content: "+";
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.cs-primary-menu-widget .elementor-nav-menu--main .elementor-item:hover,
.cs-primary-menu-widget .elementor-nav-menu--main .elementor-item.elementor-item-active,
.cs-primary-menu-widget .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
  color: var(--cs-green) !important;
}

.cs-primary-menu-widget .elementor-nav-menu--main .sub-menu {
  min-width: 220px !important;
  padding: 10px;
  border: 1px solid var(--cs-line-light);
  border-radius: var(--cs-radius-sm);
  background: #0a0f15;
  box-shadow: var(--cs-shadow);
}

.cs-primary-menu-widget .elementor-nav-menu--main .sub-menu .elementor-item {
  padding: 9px 11px;
  border-radius: 8px;
  background: transparent;
}

.cs-primary-menu-widget .elementor-nav-menu--main .sub-menu .elementor-item:hover {
  background: rgba(161, 204, 58, 0.12);
  color: var(--cs-green) !important;
}

.cs-primary-menu-widget .elementor-menu-toggle {
  width: auto;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--cs-line-light);
  border-radius: 999px;
  background: transparent;
  color: var(--cs-white);
  font: 700 13px/1 var(--cs-font-sans);
}

.cs-primary-menu-widget .elementor-menu-toggle::before {
  margin-right: 10px;
  content: "Menü";
}

.cs-primary-menu-widget .elementor-nav-menu--dropdown {
  margin-top: 12px !important;
  padding: 12px;
  border: 1px solid var(--cs-line-light);
  border-radius: var(--cs-radius-md);
  background: rgba(7, 10, 14, 0.98);
  box-shadow: var(--cs-shadow);
}

.cs-primary-menu-widget .elementor-nav-menu--dropdown .elementor-item {
  padding: 11px 10px;
  border-radius: 9px;
  background: transparent;
  color: #d7dde6 !important;
  font: 700 15px/1.25 var(--cs-font-sans);
}

.cs-primary-menu-widget .elementor-nav-menu--dropdown .elementor-item:hover,
.cs-primary-menu-widget .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
  background: rgba(161, 204, 58, 0.12);
  color: var(--cs-green) !important;
}

.cs-footer-menu-widget .elementor-nav-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.cs-footer-menu-widget .elementor-nav-menu .elementor-item {
  padding: 0;
  background: transparent;
  color: inherit !important;
  font: inherit;
  line-height: inherit;
}

.cs-footer-menu-widget .elementor-nav-menu .elementor-item:hover {
  color: var(--cs-green);
}

@media (max-width: 1040px) {
  .cs-primary-menu-widget .elementor-nav-menu--main .elementor-nav-menu {
    gap: 16px;
  }
}

@media (min-width: 901px) {
  .cs-primary-menu-widget.elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
    display: flex !important;
  }

  .cs-primary-menu-widget.elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
  .cs-primary-menu-widget.elementor-nav-menu--dropdown-tablet > .elementor-nav-menu--dropdown {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .cs-primary-nav {
    position: relative;
  }

  .cs-primary-menu-widget {
    position: absolute !important;
    top: 11px;
    right: 12px !important;
    left: auto !important;
    width: 86px !important;
    max-width: 86px !important;
    margin: 0 !important;
  }

  .cs-primary-menu-widget .elementor-nav-menu--main {
    display: none;
  }

  .cs-primary-menu-widget > .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 53px;
    right: -12px;
    width: calc(100vw - 48px) !important;
    max-width: none !important;
  }
}

@media (max-width: 620px) {
  .cs-primary-brand-name .elementor-heading-title {
    font-size: 23px;
  }

  .cs-footer-menu-widget .elementor-nav-menu {
    gap: 12px 16px;
  }

  .cs-primary-menu-widget > .elementor-nav-menu--dropdown {
    width: calc(100vw - 20px) !important;
  }

  .cs-actions > .elementor-widget-button,
  .cs-actions .elementor-button,
  .cs-site .cs-button.elementor-widget-button,
  .cs-site .cs-button .elementor-button {
    width: 100% !important;
  }
}
