/* Hyer Road × Elementor/Hello — layout only.
   Do not restyle links, headings, or buttons here: CTAs are <a class="btn">
   and body.kh-site a { background } previously wiped them. */

.elementor-widget-hyer-header,
.elementor-widget-hyer-hero,
.elementor-widget-hyer-stats,
.elementor-widget-hyer-credo,
.elementor-widget-hyer-practices,
.elementor-widget-hyer-abc,
.elementor-widget-hyer-packages,
.elementor-widget-hyer-offsite,
.elementor-widget-hyer-founder,
.elementor-widget-hyer-testimonials,
.elementor-widget-hyer-logos,
.elementor-widget-hyer-next-mile,
.elementor-widget-hyer-footer,
.elementor-widget-hyer-page-mast,
.elementor-widget-hyer-about-mast,
.elementor-widget-hyer-about-path,
.elementor-widget-hyer-about-family,
.elementor-widget-hyer-about-gallery,
.elementor-widget-hyer-about-paradox,
.elementor-widget-hyer-about-beliefs,
.elementor-widget-hyer-about-creds,
.elementor-widget-hyer-package-catalog,
.elementor-widget-hyer-icp,
.elementor-widget-hyer-moments,
.elementor-widget-hyer-faq,
.elementor-widget-hyer-atlas,
.elementor-widget-hyer-contact-sheet,
.elementor-widget-hyer-contact-crisis,
.elementor-widget-hyer-contact-connect,
.elementor-widget-hyer-blog-grid,
.elementor-widget-hyer-post-mast,
.elementor-widget-hyer-post-body,
.elementor-widget-hyer-post-related {
  width: 100%;
}

.elementor-element[data-widget_type^="hyer-"] > .elementor-widget-container {
  padding: 0;
}

body.kh-site {
  background: var(--stone, #EEF1F4);
  color: var(--ink, #0A0A0A);
  font-family: var(--font-text, "Montserrat", "Helvetica Neue", Arial, sans-serif);
}

body.kh-site .elementor {
  font-family: var(--font-text, "Montserrat", "Helvetica Neue", Arial, sans-serif);
}

body.kh-site .elementor-element.e-con {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --container-max-width: 100%;
  --content-width: 100%;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  max-width: none;
  width: 100%;
}

body.kh-site .elementor-element {
  --widgets-spacing: 0px 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  --kit-widget-spacing: 0px;
}

body.kh-site .e-con-full,
body.kh-site .elementor,
body.kh-site main#main,
body.kh-site header.elementor,
body.kh-site footer.elementor {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

body.kh-site .site-header:not(.kh-header) {
  display: none;
}

.elementor-widget-hyer-header,
.e-con:has(> .elementor-widget-hyer-header),
.e-con:has(.site-header.kh-header) {
  overflow: visible;
  transform: none;
  filter: none;
  perspective: none;
  contain: none;
  max-width: none;
}

.elementor-widget-hyer-header {
  position: relative;
  z-index: 50;
}

body.kh-site .site-header.kh-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1.1rem 0 0;
  display: block;
  background: transparent;
  transform: none;
  pointer-events: none;
  z-index: 100;
  view-transition-name: kh-chrome;
}
body.kh-site .elementor-widget-hyer-header,
body.kh-site .elementor-widget-hyer-header.elementor-invisible,
body.kh-site .elementor-widget-hyer-header .elementor-widget-container {
  animation: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}
body.kh-site .main-nav ul a,
body.kh-site .main-nav ul a:hover,
body.kh-site .main-nav ul a[aria-current="page"] {
  font-weight: 600;
}

body.kh-site .header-island {
  pointer-events: auto;
  width: min(100% - 2rem, var(--container-wide, 1400px));
}
body.kh-site .header-island a.brand {
  flex: 0 0 auto;
  min-width: 0;
}
body.kh-site .header-island a.brand img {
  display: block;
  width: auto;
  height: 42px;
  max-width: none;
  aspect-ratio: 900 / 184;
  object-fit: contain;
  object-position: left center;
}

body.kh-site .site-footer {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: block;
}

/* Hello reset: magenta outline on every <button>. */
body.kh-site .nav-toggle,
body.kh-site .nav-toggle:hover,
body.kh-site .nav-toggle:focus,
body.kh-site .nav-toggle:focus-visible {
  background: var(--navy, #00245E);
  border: none;
  border-radius: 50%;
  box-shadow: none;
  color: var(--white, #fff);
  outline: none;
  padding: 0;
  width: 46px;
  height: 46px;
}
body.kh-site .nav-toggle {
  display: grid;
  place-items: center;
}
@media (max-width: 1199.98px) {
  body.kh-site .nav-toggle {
    display: grid;
    place-items: center;
  }
  body.kh-site .header-island a.btn.header-cta--bar {
    display: none;
  }
  body.kh-site .header-island a.brand img {
    height: 32px;
  }
}
@media (min-width: 1200px) {
  body.kh-site .nav-toggle {
    display: none;
  }
  body.kh-site .header-island a.brand img {
    height: 42px;
  }
}

/* Restore prototype buttons if a later theme `a` rule appears.
   Do not let this un-hide the compact-header CTA swap. */
body.kh-site a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-style: solid;
}
body.kh-site .header-island a.btn.header-cta--panel {
  display: none;
}
@media (max-width: 1199.98px) {
  body.kh-site .header-island .main-nav.is-open a.btn.header-cta--panel {
    display: inline-flex;
    width: 100%;
  }
}
@media (min-width: 1200px) {
  body.kh-site .header-island a.btn.header-cta--panel {
    display: none;
  }
}
body.kh-site a.btn.btn--primary {
  background: var(--navy, #00245E);
  color: var(--white, #fff);
  border-color: transparent;
}
body.kh-site a.btn.btn--primary:hover {
  background: var(--navy-mid, #00489A);
  color: var(--white, #fff);
}
body.kh-site a.btn.btn--solid-light {
  background: var(--white, #fff);
  color: var(--navy, #00245E);
  border-color: transparent;
}
body.kh-site a.btn.btn--solid-light:hover {
  background: var(--biscotti, #FFFFE8);
  color: var(--navy, #00245E);
}
body.kh-site a.btn.btn--ghost-light {
  background: rgba(255, 255, 255, 0.07);
  color: var(--white, #fff);
  border-color: rgba(255, 255, 255, 0.45);
}
body.kh-site a.btn.btn--ghost-light:hover {
  background: rgba(255, 255, 255, 0.15);
  color: var(--white, #fff);
  border-color: var(--white, #fff);
}
body.kh-site a.btn.btn--outline {
  background: transparent;
  color: var(--navy, #00245E);
  border-color: rgba(0, 36, 94, 0.35);
}
body.kh-site a.btn.btn--gold,
body.kh-site a.btn.btn--gold:hover {
  background: var(--gold, #C5A059);
  color: var(--ink, #0A0A0A);
  border-color: transparent;
}
body.kh-site a.btn.btn--gold:hover {
  background: #D4B26C;
}

body.kh-editor .reveal,
body.elementor-editor-active .reveal,
body.elementor-editor-preview .reveal {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

body.kh-editor .hero-badge,
body.kh-editor .hero-lead,
body.kh-editor .hero-actions,
body.kh-editor .hero-title .line > span,
body.elementor-editor-active .hero-badge,
body.elementor-editor-active .hero-lead,
body.elementor-editor-active .hero-actions,
body.elementor-editor-active .hero-title .line > span {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

/* Testimonials + logos are separate widgets; prototype kept them in one white band. */
body.kh-site .e-con:has(.elementor-widget-hyer-testimonials),
body.kh-site .elementor-widget-hyer-testimonials,
body.kh-site .elementor-widget-hyer-testimonials > .elementor-widget-container {
  background: var(--white, #fff);
  overflow: visible;
}
body.kh-site .e-con:has(.elementor-widget-hyer-testimonials) .voices {
  padding-bottom: 0;
  border-bottom: 0;
}
body.kh-site .e-con:has(.elementor-widget-hyer-logos),
body.kh-site .e-con:has(.elementor-widget-hyer-testimonials) + .e-con:has(.elementor-widget-hyer-logos) {
  background: var(--white, #fff);
  overflow: visible;
}
body.kh-site .kh-logos-band {
  background: var(--white, #fff);
  padding-bottom: var(--space-section, 5.5rem);
}
body.kh-site .kh-logos .client-strip {
  margin-top: 0;
  padding-top: 2.2rem;
  border-top: 1px solid rgba(197, 160, 89, 0.3);
  transform: none;
  filter: none;
  opacity: 1;
}

.kh-page-about .section-title,
.kh-page-services .section-title,
.kh-page-work .section-title,
.kh-page-blog .section-title,
.kh-page-post .section-title,
.kh-page-contact .section-title {
  max-width: none;
  text-wrap: pretty;
}

.kh-page-about .final-cta .section-title,
.kh-page-services .final-cta .section-title,
.kh-page-work .final-cta .section-title,
.kh-page-blog .final-cta .section-title,
.kh-page-post .final-cta .section-title,
.kh-page-contact .final-cta .section-title {
  max-width: none;
}

.kh-page-work .svc-mast-media img { object-position: center 18%; }
.kh-page-blog .svc-mast-media img { object-position: center 22%; }
.kh-page-contact .svc-mast-media img { object-position: center 18%; }
.kh-page-post .about-title {
  font-size: clamp(1.85rem, 2.6vw + 0.55rem, 2.7rem);
  max-width: 22ch;
  text-wrap: pretty;
}
.kh-page-work .voices { border-top: 0; }

body.kh-site .elementor-widget-hyer-credo .credo-principles {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  background: transparent !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles > li {
  grid-column: span 2;
  min-width: 0 !important;
  max-width: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles:has(> :nth-child(3n + 1):last-child) > :last-child {
  grid-column: 1 / -1;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles:has(> :nth-child(3n + 2):last-child) > :nth-last-child(-n + 2) {
  grid-column: span 3;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles > li:not(:nth-child(3n + 1)) {
  box-shadow: inset 1px 0 0 rgba(197, 160, 89, 0.45) !important;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles > li:nth-child(n + 4) {
  box-shadow: inset 0 1px 0 rgba(197, 160, 89, 0.45) !important;
}
body.kh-site .elementor-widget-hyer-credo .credo-principles > li:nth-child(n + 4):not(:nth-child(3n + 1)) {
  box-shadow:
    inset 1px 0 0 rgba(197, 160, 89, 0.45),
    inset 0 1px 0 rgba(197, 160, 89, 0.45) !important;
}
@media (max-width: 960px) {
  body.kh-site .elementor-widget-hyer-credo .credo-principles {
    grid-template-columns: 1fr !important;
  }
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li,
  body.kh-site .elementor-widget-hyer-credo .credo-principles:has(> :nth-child(3n + 1):last-child) > :last-child,
  body.kh-site .elementor-widget-hyer-credo .credo-principles:has(> :nth-child(3n + 2):last-child) > :nth-last-child(-n + 2) {
    grid-column: 1 / -1;
  }
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li:not(:nth-child(3n + 1)),
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li:nth-child(n + 4),
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li:nth-child(n + 4):not(:nth-child(3n + 1)) {
    box-shadow: none !important;
  }
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li + li,
  body.kh-site .elementor-widget-hyer-credo .credo-principles > li + li:not(:nth-child(3n + 1)) {
    box-shadow: inset 0 1px 0 rgba(197, 160, 89, 0.45) !important;
  }
}

body.kh-site .elementor-widget-hyer-faq .section-title,
body.kh-site .elementor-widget-hyer-faq .qa-item,
body.kh-site .elementor-widget-hyer-faq .qa-item summary,
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a,
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a p {
  max-width: none !important;
  width: 100%;
  text-wrap: wrap;
}

/* Hello/Elementor zero list padding; keep FAQ bullets inset from the answer. */
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a ul,
body.kh-site .qa-item .qa-a ul.qa-bullets {
  display: grid;
  gap: 0.42rem;
  list-style: none;
  margin: 0.95rem 0 1.2rem;
  padding: 0.1rem 0 0.1rem 0.15rem;
}
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a ul > li,
body.kh-site .qa-item .qa-a ul.qa-bullets > li {
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  align-items: start;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
}
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a ul > li::marker,
body.kh-site .qa-item .qa-a ul.qa-bullets > li::marker {
  content: none;
}
body.kh-site .elementor-widget-hyer-faq .qa-item .qa-a ul > li::before,
body.kh-site .qa-item .qa-a ul.qa-bullets > li::before {
  content: "";
  width: 0.38rem;
  height: 0.38rem;
  margin-top: 0.55em;
  border-radius: 50%;
  background: var(--navy, #00245E);
  justify-self: center;
}

body.kh-site .e-con:has(.svc-flow),
body.kh-site .e-con-inner:has(.svc-flow),
body.kh-site .elementor-element:has(.svc-flow),
body.kh-site .elementor-widget-hyer-practices,
body.kh-site .elementor-widget-hyer-practices .elementor-widget-container,
body.kh-site .elementor-widget-hyer-practices .svc-flow {
  overflow: visible !important;
}
body.kh-site .elementor-widget-hyer-practices .flow-viewport,
body.kh-site .svc-flow .flow-viewport:has([data-flow-mode="cover"]) {
  overflow: visible !important;
  max-width: 62rem;
  margin-inline: auto;
  padding-bottom: 1.15rem;
}
body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] {
  perspective: 1400px;
  transform-style: preserve-3d;
}
body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"],
body.kh-site .svc-flow .flow-scroller[data-flow-mode="cover"],
body.kh-site .svc-flow .flow-scroller[data-flow-mode="cover"] > * {
  overflow: visible !important;
}
body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] .flow-card {
  overflow: visible !important;
  background: #111 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] .flow-copy p:not(.flow-kicker) {
  display: none !important;
}
body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] > *,
body.kh-site .svc-flow .flow-scroller[data-flow-mode="cover"] > * {
  flex: none !important;
  width: min(22rem, 36%) !important;
}
@media (max-width: 900px) {
  body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] > *,
  body.kh-site .svc-flow .flow-scroller[data-flow-mode="cover"] > * {
    width: min(19.5rem, 40%) !important;
  }
}
@media (max-width: 560px) {
  body.kh-site .elementor-widget-hyer-practices .flow-scroller[data-flow-mode="cover"] > *,
  body.kh-site .svc-flow .flow-scroller[data-flow-mode="cover"] > * {
    width: min(19rem, 86%) !important;
  }
}

html.kh-page-services,
html:has(body.kh-page-services) {
  scroll-padding-top: 7.25rem;
}

@media (max-width: 960px) {
  html.kh-page-services,
  html:has(body.kh-page-services) {
    scroll-padding-top: 6.75rem;
  }
}
