/* === nq25 x integrated custom (no forced slider height; smart sticky-footer padding) === */

/* === GLOBAL SCROLL BEHAVIOR === */
/* Scroll defaults: always ON; we only hide on true hero-only (float+no content) */
html, body {
  overflow-y: auto;
}
body.nq-no-content {
  overflow-y: hidden;
}

/* === HEADER SLIDER STRUCTURE === */
/* 1) Slider structure — no fixed heights */
.nq-header-slider-wrap {
  position: relative;
  z-index: 0;
  margin: 0;
  padding: 0;
}

/* When nav floats, DO NOT yank the slider; header overlays instead */
body.nq-nav-float .nq-header-slider-wrap {
  margin-top: 0;    /* was: calc(-1 * var(--nq-header-h)) */
  padding-top: 0;   /* was: var(--nq-header-h) */
}

.nq-native-hero {
  position: relative;
  min-height: clamp(275px, 31vw, 380px);
  overflow: hidden;
  background: #111;
  --nq-header-alpha: 0.7;
  --nq-footer-alpha: 0.7;
}

body.nq-header-alpha-100 { --nq-header-alpha: 1; }
body.nq-header-alpha-095 { --nq-header-alpha: 0.95; }
body.nq-header-alpha-090 { --nq-header-alpha: 0.9; }
body.nq-header-alpha-085 { --nq-header-alpha: 0.85; }
body.nq-header-alpha-080 { --nq-header-alpha: 0.8; }
body.nq-header-alpha-075 { --nq-header-alpha: 0.75; }
body.nq-header-alpha-070 { --nq-header-alpha: 0.7; }
body.nq-header-alpha-065 { --nq-header-alpha: 0.65; }
body.nq-header-alpha-060 { --nq-header-alpha: 0.6; }
body.nq-header-alpha-055 { --nq-header-alpha: 0.55; }
body.nq-header-alpha-050 { --nq-header-alpha: 0.5; }
body.nq-header-alpha-045 { --nq-header-alpha: 0.45; }
body.nq-header-alpha-040 { --nq-header-alpha: 0.4; }
body.nq-header-alpha-035 { --nq-header-alpha: 0.35; }
body.nq-header-alpha-030 { --nq-header-alpha: 0.3; }
body.nq-header-alpha-025 { --nq-header-alpha: 0.25; }
body.nq-header-alpha-020 { --nq-header-alpha: 0.2; }
body.nq-header-alpha-015 { --nq-header-alpha: 0.15; }
body.nq-header-alpha-010 { --nq-header-alpha: 0.1; }
body.nq-header-alpha-005 { --nq-header-alpha: 0.05; }
body.nq-header-alpha-000 { --nq-header-alpha: 0; }

body.nq-footer-alpha-100 { --nq-footer-alpha: 1; }
body.nq-footer-alpha-095 { --nq-footer-alpha: 0.95; }
body.nq-footer-alpha-090 { --nq-footer-alpha: 0.9; }
body.nq-footer-alpha-085 { --nq-footer-alpha: 0.85; }
body.nq-footer-alpha-080 { --nq-footer-alpha: 0.8; }
body.nq-footer-alpha-075 { --nq-footer-alpha: 0.75; }
body.nq-footer-alpha-070 { --nq-footer-alpha: 0.7; }
body.nq-footer-alpha-065 { --nq-footer-alpha: 0.65; }
body.nq-footer-alpha-060 { --nq-footer-alpha: 0.6; }
body.nq-footer-alpha-055 { --nq-footer-alpha: 0.55; }
body.nq-footer-alpha-050 { --nq-footer-alpha: 0.5; }
body.nq-footer-alpha-045 { --nq-footer-alpha: 0.45; }
body.nq-footer-alpha-040 { --nq-footer-alpha: 0.4; }
body.nq-footer-alpha-035 { --nq-footer-alpha: 0.35; }
body.nq-footer-alpha-030 { --nq-footer-alpha: 0.3; }
body.nq-footer-alpha-025 { --nq-footer-alpha: 0.25; }
body.nq-footer-alpha-020 { --nq-footer-alpha: 0.2; }
body.nq-footer-alpha-015 { --nq-footer-alpha: 0.15; }
body.nq-footer-alpha-010 { --nq-footer-alpha: 0.1; }
body.nq-footer-alpha-005 { --nq-footer-alpha: 0.05; }
body.nq-footer-alpha-000 { --nq-footer-alpha: 0; }

.nq-native-hero__media,
.nq-native-hero__inner {
  position: absolute;
  inset: 0;
}

.nq-native-hero__media {
  overflow: hidden;
  background-color: #111;
}

.nq-native-hero__media::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: var(--nq-hero-gap-fill, 0px);
  background-image: var(--nq-hero-image, none);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  filter: blur(8px);
  transform: scale(1.04);
  transform-origin: center top;
  opacity: 0.92;
  pointer-events: none;
  z-index: 0;
}

.nq-native-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.nq-native-hero__video,
.nq-native-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--nq-media-focal-x, 50%) var(--nq-media-focal-y, 50%);
  display: block;
  opacity: 0;
  position: relative;
  z-index: 1;
}

.nq-native-hero__image {
  transform: scale(1.08);
  transform-origin: var(--nq-media-focal-x, 50%) var(--nq-media-focal-y, 50%);
  animation: nqNativeHeroMediaIn 4.8s ease-out forwards;
}

.nq-native-hero__video {
  animation: nqNativeHeroFadeIn 0.9s ease-out forwards;
}

.nq-native-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.18) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.02) 65%, rgba(0, 0, 0, 0.05) 100%);
  z-index: 1;
}

.nq-native-hero__inner {
  z-index: 2;
  display: flex;
  align-items: center;
  padding: clamp(22px, 4vw, 42px) clamp(28px, 5vw, 56px);
}

.nq-native-hero__title-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  max-width: min(760px, 92vw);
  background: rgba(0, 0, 0, 0.58);
  padding: 8px 22px 12px 64px;
  margin-left: calc(-56px + var(--nq-title-offset-x, 0px));
  margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-y, 0px));
  transform: translateX(-120%);
  opacity: 0;
  animation: nqNativeHeroTitleIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

.nq-native-hero__title-wrap--stacked {
  max-width: none;
  gap: 10px;
  background: transparent;
  padding: 0;
  margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-y, 0px));
  transform: none;
  opacity: 1;
  animation: none;
}

.nq-native-hero__title-tab {
  display: inline-flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.58);
  padding: 8px 22px 12px 64px;
  transform: translateX(-120%);
  opacity: 0;
  animation: nqNativeHeroTitleIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

.nq-native-hero__headline-block {
  width: calc(100vw - 300px);
  max-width: calc(100vw - 300px);
  background: rgba(0, 0, 0, 0.58);
  padding: 12px 22px 12px 32px;
  box-sizing: border-box;
  text-align: left;
  opacity: 0;
  transform: translateY(-50px);
  animation-name: nqPeopleCardRevealSlideDown;
  animation-duration: 0.7s;
  animation-delay: 0.9s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: forwards;
}

.nq-native-hero__title {
  margin: 0;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: clamp(30px, 5.4vw, 58px);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: none;
  font-weight: 400;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.38);
}

.nq-native-hero__subtitle {
  padding-left:30px;
  margin: 0;
  max-width: none;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: clamp(16px, 1.8vw, 26px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  text-wrap: balance;
  text-align: left;
  text-justify: auto;
  opacity: 1;
  transform: none;
  animation: none;
}

.nq-native-hero--people .nq-native-hero__title,
.nq-native-hero--team .nq-native-hero__title,
.nq-native-hero--office .nq-native-hero__title,
.nq-native-hero--practice .nq-native-hero__title {
  font-size: clamp(28px, 4.9vw, 52px);
}

.nq-native-hero--homepage {
  min-height: 100svh;
  min-height: 100vh;
  background-color: #000;
}

.nq-native-hero--homepage .nq-native-hero__media {
  background-color: #000;
}

body.home .page-content {
  background-color: #fff;
}

.nq-native-hero:not(.nq-native-hero--homepage) {
  --nq-title-offset-y-base: -20px;
}

.nq-native-hero--people {
  min-height: clamp(360px, 48vw, 600px);
}

.nq-native-hero--people .nq-native-hero__image,
.nq-native-hero--people .nq-native-hero__video {
  object-position: var(--nq-media-focal-x, 50%) var(--nq-media-focal-y, 12%);
}

.nq-native-hero--homepage .nq-native-hero__inner {
  align-items: center;
  justify-content: center;
  padding: clamp(110px, 14vh, 160px) clamp(30px, 4vw, 48px) clamp(70px, 10vh, 110px);
  text-align: center;
}

.nq-native-hero--homepage .nq-native-hero__shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.10) 28%, rgba(0, 0, 0, 0.18) 100%);
}

.nq-native-hero__homecopy {
  max-width: min(1200px, 92vw);
}

.nq-native-hero__home-top {
  color: #fff;
  font-family: "Sansita Swashed", serif;
  font-style: normal;
  font-weight: 500;
  font-size: clamp(42px, 5.6vw, 92px);
  line-height: 0.96;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.34);
  opacity: 0;
  transform: translateY(18px);
  animation: nqNativeHeroFadeUpIn 0.8s ease-out 0.2s forwards;
}

.nq-native-hero__home-bottom {
  margin-top: clamp(8px, 1.2vw, 18px);
  color: #1b75a6;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(42px, 5.8vw, 94px);
  line-height: 0.94;
  letter-spacing: -0.02em;
  text-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
}

.nq-native-hero__home-letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  animation: nqNativeHeroLetterIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: calc(0.45s + (var(--nq-letter-delay, 0) * 0.035s));
}

.nq-native-hero--people .nq-native-hero__inner,
.nq-native-hero--team .nq-native-hero__inner,
.nq-native-hero--office .nq-native-hero__inner,
.nq-native-hero--practice .nq-native-hero__inner {
  align-items: flex-start;
  padding-top: clamp(110px, 14vw, 150px);
}

.nq-native-hero--people .nq-native-hero__inner {
  padding-top: clamp(140px, 16vw, 190px);
}

.nq-people-hero-panel {
  position: absolute;
  z-index: 6002;
  left: clamp(28px, 5vw, 96px);
  right: auto;
  top: clamp(170px, 22vw, 250px);
  bottom: auto;
  width: min(460px, calc(100% - 96px));
  pointer-events: none;
  transform: translate(var(--nq-people-panel-offset-x, 0px), var(--nq-people-panel-offset-y, 0px));
}

.nq-people-hero-panel--center {
  left: 50%;
  right: auto;
  transform: translate(calc(-50% + var(--nq-people-panel-offset-x, 0px)), var(--nq-people-panel-offset-y, 0px));
}

.nq-people-hero-panel--right {
  left: auto;
  right: clamp(28px, 5vw, 56px);
  transform: translate(var(--nq-people-panel-offset-x, 0px), var(--nq-people-panel-offset-y, 0px));
}

.nq-people-hero-panel--admin {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: min(720px, 100%);
  transform: none;
  margin-top: 12px;
}

.nq-people-hero-card {
  display: grid;
  gap: 0.22em;
  pointer-events: auto;
  padding: 12px;
  color: #111;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  line-height: 1.2;
  opacity: 0;
  will-change: transform, opacity;
  animation-name: nqPeopleCardRevealSlideDown;
  animation-duration: 0.7s;
  animation-delay: 1.5s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: forwards;
}

.nq-people-hero-panel:not(.nq-people-hero-panel--admin) .nq-people-hero-card {
  transform: translateY(-50px);
}

.nq-people-hero-panel--admin .nq-people-hero-card {
  opacity: 1;
  transform: none;
  will-change: auto;
  animation: none;
}

.nq-people-hero-card__jobtitle {
  margin: 0 0 5px;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: #101010;
}

.nq-people-hero-card__row {
  display: grid;
  grid-template-columns: 1.6em minmax(0, 1fr);
  column-gap: 0.22em;
  align-items: center;
  justify-items: start;
  padding-inline-start: 0.04em;
  padding-inline-end: 0.2em;
  padding-block: 0;
  border-radius: 0.6em;
  background: transparent;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(24, 24, 24, 0.01);
  box-shadow: 0 18px 45px rgba(22, 22, 22, 0.08);
  color: inherit;
  text-decoration: none;
  cursor: default;
  transition: box-shadow .2s ease, transform .2s ease;
}

.nq-people-hero-card__row:hover,
.nq-people-hero-card__row:focus-visible,
.nq-people-hero-card__row:focus-within {
  box-shadow: 0 10px 10px rgba(0,0,0,.18), 0 3px 8px rgba(0,0,0,.12);
  transform: translateY(-1px);
  text-decoration: none;
}

.nq-people-hero-card__row:last-child {
  border-bottom: 0;
}

.nq-people-hero-card__row--link {
  cursor: pointer;
}

.nq-people-hero-card__row--phone,
.nq-people-hero-card__row--phone:link,
.nq-people-hero-card__row--phone:visited,
.nq-people-hero-card__row--phone:hover,
.nq-people-hero-card__row--phone:active,
.nq-people-hero-card__row--phone .nq-people-hero-card__text,
.nq-people-hero-card__row a[href^="tel"],
.nq-people-hero-card__row a[href^="tel"]:link,
.nq-people-hero-card__row a[href^="tel"]:visited,
.nq-people-hero-card__row a[x-apple-data-detectors],
.nq-people-hero-card__row a[x-apple-data-detectors]:link,
.nq-people-hero-card__row a[x-apple-data-detectors]:visited {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
}

.nq-people-hero-card__icon {
  width: 1.6em;
  height: 1.6em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  border-radius: 0.1em;
  color: #3e88bb;
}

.nq-people-hero-card__icon svg {
  width: 1em;
  height: 1em;
  display: block;
}

.nq-people-hero-card__text {
  display: block;
  width: 100%;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  line-height: 1.25;
  justify-self: stretch;
  text-align: left;
}

@media (min-width: 656px) and (max-width: 1104px) {
  .nq-people-hero-panel {
    width: min(460px, calc(100% - 96px));
  }

  .nq-people-hero-card {
    padding: clamp(8px, 1.2vw, 12px);
    font-size: clamp(15px, 2.2vw, 22px);
  }

  .nq-people-hero-card__jobtitle {
    font-size: clamp(18px, 2.5vw, 30px);
  }
}

@media (min-width: 656px) and (max-width: 1104px) {
  .nq-native-hero--people {
    --nq-hero-focus-x-responsive: clamp(
      var(--nq-media-focal-x, 50%),
      calc(var(--nq-media-focal-x, 50%) + (1104px - 100vw) * 0.13),
      100%
    );
    --nq-hero-gap-fill: max(0px, calc(150px - var(--nq-header-h, 150px)));
    --nq-hero-focus-y-responsive: calc(
      var(--nq-media-focal-y, 50%) + ((150px - var(--nq-header-h, 150px)) * 0.6)
    );
  }

  .nq-native-hero--people .nq-native-hero__media {
    background-position: var(--nq-hero-focus-x-responsive) top;
  }

  .nq-native-hero--people .nq-native-hero__video,
  .nq-native-hero--people .nq-native-hero__image {
    object-position: var(--nq-hero-focus-x-responsive) var(--nq-hero-focus-y-responsive);
  }

  .nq-native-hero--people .nq-native-hero__image {
    transform-origin: var(--nq-hero-focus-x-responsive) var(--nq-hero-focus-y-responsive);
  }
}

.single-nq_news .nq-native-hero__title-wrap--stacked {
    margin-top: 40px; 
}

@keyframes nqNativeHeroMediaIn {
  0% {
    opacity: 0;
    transform: scale(1.08);
  }
  12% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes nqPeopleCardRevealSlideDown {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nqNativeHeroFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes nqNativeHeroFadeUpIn {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nqNativeHeroTitleIn {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes nqNativeHeroLetterIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nq-native-hero__video,
  .nq-native-hero__image,
  .nq-native-hero__title-wrap,
  .nq-native-hero__title-wrap--stacked,
  .nq-native-hero__title-tab,
  .nq-native-hero__headline-block,
  .nq-native-hero__subtitle,
  .nq-native-hero__home-top,
  .nq-native-hero__home-letter,
  .nq-people-hero-card {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

@keyframes nqNativeHomeTopIn {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nqNativeHomeLetterIn {
  0% {
    opacity: 0;
    transform: translateY(-24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 655px) {
  .nq-native-hero {
    min-height: 260px;
  }

  .nq-native-hero--people {
    min-height: 340px;
  }

  .nq-native-hero__video,
  .nq-native-hero__image {
    object-position: var(--nq-media-focal-mobile-x, var(--nq-media-focal-x, 50%)) var(--nq-media-focal-mobile-y, var(--nq-media-focal-y, 50%));
  }

  .nq-native-hero--people .nq-native-hero__video,
  .nq-native-hero--people .nq-native-hero__image {
    object-position: var(--nq-media-focal-mobile-x, var(--nq-media-focal-x, 50%)) var(--nq-media-focal-mobile-y, var(--nq-media-focal-y, 50%));
  }

  .nq-native-hero__image {
    transform-origin: var(--nq-media-focal-mobile-x, var(--nq-media-focal-x, 50%)) var(--nq-media-focal-mobile-y, var(--nq-media-focal-y, 50%));
  }

  .nq-native-hero--people .nq-native-hero__image {
    transform-origin: var(--nq-media-focal-mobile-x, var(--nq-media-focal-x, 50%)) var(--nq-media-focal-mobile-y, var(--nq-media-focal-y, 50%));
  }

  .nq-native-hero:not(.nq-native-hero--people) .nq-native-hero__title {
    font-size: clamp(34px, 8.2vw, 54px);
  }

  .nq-native-hero__inner {
    padding: 16px 18px;
  }

  .nq-native-hero__title-wrap {
    padding: 8px 14px 10px 34px;
    margin-left: calc(-28px + var(--nq-title-offset-mobile-x, var(--nq-title-offset-x, 0px)));
    margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-mobile-y, var(--nq-title-offset-y, 0px)));
  }

  .nq-native-hero__title-tab {
    padding: 8px 14px 10px 34px;
  }

  .nq-native-hero__headline-block {
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px);
    padding: 10px 14px 10px 34px;
  }

  .nq-native-hero__title-wrap--stacked {
    margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-mobile-y, var(--nq-title-offset-y, 0px)));
  }

  .nq-native-hero--people .nq-native-hero__inner,
  .nq-native-hero--team .nq-native-hero__inner,
  .nq-native-hero--office .nq-native-hero__inner,
  .nq-native-hero--practice .nq-native-hero__inner {
    padding-top: 92px;
  }

  .nq-native-hero--people .nq-native-hero__inner {
    padding-top: 122px;
  }

  .nq-people-hero-panel,
  .nq-people-hero-panel--right,
  .nq-people-hero-panel--center {
    position: relative;
    display: inline-block;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: fit-content;
    max-width: calc(100% - 32px);
    transform: translate(var(--nq-people-panel-offset-mobile-x, var(--nq-people-panel-offset-x, 0px)), var(--nq-people-panel-offset-mobile-y, var(--nq-people-panel-offset-y, 0px)));
    margin: 22px 16px 18px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    backdrop-filter: none;
    opacity: 1;
    will-change: auto;
    animation: none;
  }

  .nq-people-hero-card {
    display: inline-grid;
    width: fit-content;
    max-width: calc(100vw - 56px);
    box-sizing: border-box;
    padding: 10px 12px;
    color: #fff;
    background: rgba(0, 0, 0, 0.44);
    border-radius: 0.26em;
    backdrop-filter: blur(3px);
  }

  .nq-people-hero-card__jobtitle {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    line-height: 1.20;
    letter-spacing: 0.04em;
    color: #fff;
  }

  .nq-people-hero-card__row {
    grid-template-columns: 1.12em minmax(0, 1fr);
    column-gap: 0.08em;
    padding-inline-start: 0;
    padding-inline-end: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
  }

  .nq-people-hero-card__text {
    display: block;
    width: auto;
    max-width: 100%;
    font-size: 0.75em;
    font-weight: 400;
    line-height: 1.24;
    color: #fff;
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-decoration-break: slice;
    -webkit-box-decoration-break: slice;
  }

  .nq-people-hero-card__row,
  .nq-people-hero-card__row:link,
  .nq-people-hero-card__row:visited,
  .nq-people-hero-card__row:hover,
  .nq-people-hero-card__row:active,
  .nq-people-hero-card__row .nq-people-hero-card__text,
  .nq-people-hero-card__row a,
  .nq-people-hero-card__row a:link,
  .nq-people-hero-card__row a:visited,
  .nq-people-hero-card__row a[href^="tel"],
  .nq-people-hero-card__row a[href^="tel"]:link,
  .nq-people-hero-card__row a[href^="tel"]:visited,
  .nq-people-hero-card__row a[x-apple-data-detectors],
  .nq-people-hero-card__row a[x-apple-data-detectors]:link,
  .nq-people-hero-card__row a[x-apple-data-detectors]:visited {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  .nq-people-hero-card__icon {
    width: 1.12em;
    height: 1.12em;
  }

  .nq-people-hero-card__icon svg {
    width: 0.84em;
    height: 0.84em;
  }

  .nq-native-hero--homepage {
    min-height: 100svh;
  }

  .nq-native-hero--homepage .nq-native-hero__inner {
    justify-content: center;
    padding: 104px 18px 72px;
  }

  .nq-native-hero__home-top {
    font-size: clamp(34px, 8vw, 54px);
  }

  .nq-native-hero__home-bottom {
    margin-top: 10px;
    font-size: clamp(34px, 8vw, 56px);
    line-height: 0.96;
    white-space: normal;
  }
}

.nq-native-hero--admin-mobile {
  min-height: 260px;
}

.nq-native-hero--admin-mobile.nq-native-hero--people {
  min-height: 340px;
}

.nq-native-hero--admin-mobile .nq-native-hero__video,
.nq-native-hero--admin-mobile .nq-native-hero__image {
  object-position: var(--nq-media-focal-mobile-x, var(--nq-media-focal-x, 50%)) var(--nq-media-focal-mobile-y, var(--nq-media-focal-y, 50%));
}

.nq-native-hero--admin-mobile:not(.nq-native-hero--people) .nq-native-hero__title {
  font-size: clamp(34px, 8.2vw, 54px);
}

.nq-native-hero--admin-mobile .nq-native-hero__inner {
  padding: 16px 18px;
}

.nq-native-hero--admin-mobile .nq-native-hero__title-wrap {
  padding: 8px 14px 10px 34px;
  margin-left: calc(-28px + var(--nq-title-offset-mobile-x, var(--nq-title-offset-x, 0px)));
  margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-mobile-y, var(--nq-title-offset-y, 0px)));
}

.nq-native-hero--admin-mobile .nq-native-hero__title-tab {
  padding: 8px 14px 10px 34px;
}

.nq-native-hero--admin-mobile .nq-native-hero__headline-block {
  width: calc(100vw - 18px);
  max-width: calc(100vw - 18px);
  padding: 10px 14px 10px 34px;
}

.nq-native-hero--admin-mobile .nq-native-hero__title-wrap--stacked {
  margin-top: calc(var(--nq-title-offset-y-base, 0px) + var(--nq-title-offset-mobile-y, var(--nq-title-offset-y, 0px)));
}

.nq-native-hero--admin-mobile.nq-native-hero--people .nq-native-hero__inner,
.nq-native-hero--admin-mobile.nq-native-hero--team .nq-native-hero__inner,
.nq-native-hero--admin-mobile.nq-native-hero--office .nq-native-hero__inner,
.nq-native-hero--admin-mobile.nq-native-hero--practice .nq-native-hero__inner {
  padding-top: 92px;
}

.nq-native-hero--admin-mobile.nq-native-hero--people .nq-native-hero__inner {
  padding-top: 122px;
}

.nq-native-hero--admin-mobile .nq-people-hero-panel,
.nq-native-hero--admin-mobile .nq-people-hero-panel--right,
.nq-native-hero--admin-mobile .nq-people-hero-panel--center {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: min(clamp(260px, 88vw, 420px), calc(100% - 32px));
  transform: translate(var(--nq-people-panel-offset-mobile-x, var(--nq-people-panel-offset-x, 0px)), var(--nq-people-panel-offset-mobile-y, var(--nq-people-panel-offset-y, 0px)));
  margin: 34px 16px 18px;
}

.nq-native-hero--admin-mobile .nq-people-hero-card {
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
}

.nq-native-hero--admin-mobile .nq-people-hero-card__jobtitle {
  font-size: 18px;
}

.nq-native-hero--admin-mobile .nq-people-hero-card__row {
  grid-template-columns: 1.6em minmax(0, 1fr);
  column-gap: 0.22em;
  padding-inline-start: 0.04em;
  padding-inline-end: 0.2em;
}

.nq-native-hero--admin-mobile .nq-people-hero-card__icon {
  width: 1.6em;
  height: 1.6em;
}

.nq-native-hero--admin-mobile .nq-people-hero-card__icon svg {
  width: 1em;
  height: 1em;
}

/* === FLOATING HEADER STYLES === */
/* 2) Header overlay with transparency */
body.nq-nav-float .site-header {
  position: fixed; /* was: relative */
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, var(--nq-header-alpha));
  background-image: none;
}

body.nq-nav-float .site-header > .container,
body.nq-nav-float .site-header > .wrap,
body.nq-nav-float .site-header .header-inner {
  background: none;
}

/* Kill theme top spacing when floating */
body.nq-nav-float .site-main,
body.nq-nav-float .content-area,
body.nq-nav-float .site-content {
  margin-top: 0;
  padding-top: 0;
}
body.nq-nav-float .site-main > *:first-child,
body.nq-nav-float .content-area > *:first-child,
body.nq-nav-float .site-content > *:first-child {
  margin-top: 0;
}

/* Override any inline padding on .main-content when floating */
body.nq-nav-float .main-content {
  padding: 0;
}

@media (max-width: 655px) {
  body.nq-nav-float.nq-person-has-mobile-hero .nq-header-slider-wrap {
    margin-top: var(--nq-header-h, 0px);
    padding-top: 0;
    background: #363533;
  }
}

/* If float is enabled but there is NO slider, push content below fixed header */
body.nq-nav-float:not(.nq-has-header-slider) .site-main,
body.nq-nav-float:not(.nq-has-header-slider) .content-area,
body.nq-nav-float:not(.nq-has-header-slider) .site-content,
body.nq-nav-float:not(.nq-has-header-slider) .main-content {
  padding-top: var(--nq-header-h, 0px);
}

/* === STICKY FOOTER BEHAVIOR === */
/* 3) Sticky footer — fixed to screen bottom, transparent per var */
body.nq-footer-sticky .site-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, var(--nq-footer-alpha));
}

/* Apply bottom padding ONLY when JS says we need it */
body.nq-footer-sticky.nq-footer-pad .site-main,
body.nq-footer-sticky.nq-footer-pad .content-area,
body.nq-footer-sticky.nq-footer-pad .site-content,
body.nq-footer-sticky.nq-footer-pad .main-content,
body.nq-footer-sticky.nq-footer-pad .page-content {
  padding-bottom: calc(var(--nq-footer-h, 0px) + env(safe-area-inset-bottom, 0px));
}

/* If there’s effectively no content and a floating hero, never pad or scroll */
body.nq-footer-sticky.nq-no-content.nq-has-header-slider .site-main,
body.nq-footer-sticky.nq-no-content.nq-has-header-slider .content-area,
body.nq-footer-sticky.nq-no-content.nq-has-header-slider .site-content,
body.nq-footer-sticky.nq-no-content.nq-has-header-slider .main-content,
body.nq-footer-sticky.nq-no-content.nq-has-header-slider .page-content {
  padding-bottom: 0;
}

/* Keep header from clipping logo/content */
.site-header {
  overflow: visible;
}

/* If the WP admin bar is visible, keep the header clear of it (safety) */
.admin-bar body.nq-nav-float .site-header {
  top: 32px;
}



/* === SIDEBAR & GRID MODIFIERS === */
.content-grid.no-sidebar {
  grid-template-columns: 1fr; /* collapse to single column */
}

.main-content.main-content--full {
  max-width: none; /* if your theme constrains main column width */
}
