/* One content grid for the header, hero, sections and footer. */
#ks-wp-page {
  --paper: #fff !important;
  --e-global-color-eb8f610: #fff !important;
  background-color: #fff !important;
  --ks28-edge: max(var(--gutter, 24px), calc((100% - var(--max, 1440px)) * .5));
}
#ks-wp-page .site-header .header-inner,
#ks-wp-page #content > :is(#start, #advisory, #profile, #expertise, #impact, #contact) > .e-con-inner,
#ks-wp-page .site-footer > .shell {
  width: min(calc(100% - var(--gutter, 24px) * 2), var(--max, 1440px)) !important;
  max-width: var(--max, 1440px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box;
}
#ks-wp-page #content > :is(#start, #advisory, #profile, #expertise, #impact, #contact) {
  padding-inline: 0 !important;
}
/* Remove Elementor's inherited side padding from structural wrappers only. */
#ks-wp-page :is(.ks-service-grid, .elementor-element-215121f,
  .elementor-element-283b318, .elementor-element-75babbc,
  .elementor-element-001f907, .elementor-element-9d530f8,
  .ks-contact-methods, .elementor-element-f974347,
  .elementor-element-8239d76, .elementor-element-5febfbf,
  .elementor-element-d2736c8) {
  padding-inline: 0 !important;
}
#ks-wp-page #contact .elementor-element-f93b7f8 > .elementor-widget-container {
  padding-inline: 0 !important;
}
/* Natural button rows replace inherited widths, transforms and negative margins. */
#ks-wp-page #content :is(.elementor-element-d22cffc,
  .elementor-element-f835a60, .elementor-element-9f5719c) {
  width: 100% !important;
  max-width: 100% !important;
  --width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  transform: none !important;
}
#ks-wp-page #content :is(.elementor-element-3b23a19, .elementor-element-0fb9aab,
  .elementor-element-661bc68, .elementor-element-9e5eda4) {
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
#ks-wp-page #content :is(.elementor-element-3b23a19, .elementor-element-0fb9aab,
  .elementor-element-661bc68, .elementor-element-9e5eda4) > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
/* Remove the old invisible fixed preloader from Safari's color sampling. */
body.ks28-layout-page #loftloader-wrapper,
body.ks28-layout-page #loftloader-wrapper .loader-section {
  display: none !important;
  background: #fff !important;
}
#ks-wp-page .site-header,
#ks-wp-page #content > :is(#start, #advisory, #profile, #expertise, #impact) {
  background-color: #fff !important;
}
#ks-wp-page #content .elementor-element-b3773db {
  background: #fff !important;
}
/* Restore the fixed header and shell dimensions overridden by native containers. */
html:has(body.ks28-layout-page),
body.ks28-layout-page {
  background: #fff !important;
  color-scheme: only light !important;
}
body.ks28-layout-page {
  margin: 0 !important;
  padding: 0 !important;
}
body.ks28-layout-page > .elementor[data-elementor-type="wp-page"] {
  margin-block: 0 !important;
  padding-block: 0 !important;
}
html:has(body.ks28-layout-page:not(.admin-bar)) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
#ks-wp-page .site-header {
  height: 72px !important;
  min-height: 72px !important;
  margin-block: 0 !important;
  padding-block: 0 !important;
  overflow: visible !important;
}
#ks-wp-page .site-header .header-inner {
  height: 100% !important;
  min-height: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
}
#ks-wp-page .site-footer .ks-native-back-top {
  justify-self: end;
}
#ks-wp-page #content > :is(#advisory, #profile, #expertise, #impact) {
  --padding-block-start: 56px !important;
  --padding-block-end: 56px !important;
  margin-block: 0 !important;
  min-height: 0 !important;
}
#ks-wp-page #content > :is(#advisory, #profile, #expertise, #impact) > .e-con-inner {
  padding-block: 56px !important;
}
#ks-wp-page #contact > .e-con-inner {
  padding-block-start: 64px !important;
}
@media (min-width: 768px) {
  #ks-wp-page #start {
    /* Let the photo reach the viewport edge while text keeps its content grid. */
    background-position: right top !important;
    background-size: auto 100% !important;
    --min-height: min(39vw, 600px) !important;
    min-height: min(39vw, 600px) !important;
    --align-items: flex-start !important;
    align-items: flex-start !important;
  }
  #ks-wp-page #start::before {
    /* Finish the fade before the portrait, preserving a solid field under text. */
    background-image: linear-gradient(90deg, #fff 46%, rgba(255, 255, 255, 0) 60%) !important;
  }
  #ks-wp-page #start > .e-con-inner {
    align-items: flex-start !important;
    padding-block-start: 24px !important;
    padding-block-end: 32px !important;
  }
  #ks-wp-page #start .elementor-element-e48ef3a {
    --min-height: 0px !important;
    min-height: 0 !important;
    --align-self: flex-start !important;
    align-self: flex-start !important;
    --justify-content: flex-start !important;
    justify-content: flex-start !important;
    margin-block-start: 0 !important;
    padding: 0 !important;
  }
  #ks-wp-page #start .elementor-element-a00d613 {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  #ks-wp-page #start .elementor-element-e48ef3a {
    width: 55% !important;
    --width: 55% !important;
  }
  #ks-wp-page #start h1 {
    font-size: clamp(58px, 7vw, 96px) !important;
  }
  #ks-wp-page #start .elementor-element-b2d6696 {
    max-width: 100% !important;
  }
}
@media (max-width: 767px) {
  #ks-wp-page #content .elementor-element-8712375.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  #ks-wp-page #content .elementor-element-b3773db {
    padding-inline: var(--gutter, 24px) !important;
  }
  #ks-wp-page .elementor-element-b3773db :is(.elementor-element-c206d17,
    .elementor-element-cf413e7, .elementor-element-3eb83c0) {
    padding-inline: 0 !important;
  }
  #ks-wp-page #content > :is(#advisory, #profile, #expertise, #impact) {
    --padding-block-start: 40px !important;
    --padding-block-end: 40px !important;
  }
  #ks-wp-page #content > :is(#advisory, #profile, #expertise, #impact) > .e-con-inner {
    padding-block: 40px !important;
  }
  #ks-wp-page #contact > .e-con-inner {
    padding-block-start: 48px !important;
  }
}
@media (max-width: 760px) {
  #ks-wp-page .site-header .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px;
    column-gap: 20px !important;
  }
  #ks-wp-page .site-header .ks-native-logo {
    grid-column: 1;
    justify-self: start !important;
    align-self: center !important;
    width: min(238px, 100%) !important;
    max-width: 100% !important;
  }
  #ks-wp-page .site-header .menu-toggle {
    grid-column: 2;
    justify-self: end;
  }
  #ks-wp-page .site-footer .ks-native-back-top {
    justify-self: start;
    grid-column: 1 / -1;
  }
}
