/* Shared by the source build and recovered preview. Keep as plain CSS. */
:root {
  color-scheme: light;
  --color-footer-surface: #0b192a;
  --font-body: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --font-display:var(--font-body);
  --font-hero:var(--font-body);
}

html body app-home .home-team-title,
html body app-home .split__rail h2 {
  white-space: pre-line;
}

html body app-team-cards .team-grid.team-grid--preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  overflow: visible;
  scroll-snap-type: none;
  margin: 0;
  padding: 0;
}

html body app-team-cards .team-grid.team-grid--preview .team-card {
  min-width: 0;
}

html body app-team-cards .team-grid.team-grid--preview .team-card__photo {
  aspect-ratio: 3 / 4;
}

html body app-team-cards .team-grid.team-grid--preview .team-card {
  border-radius: 18px;
  corner-shape: round;
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: 0 4px 18px rgba(3, 15, 34, 0.035);
}

html body app-team-cards .team-grid.team-grid--preview .team-card__body {
  padding: 1rem;
  min-height: 0;
}

html body app-team-cards .team-grid.team-grid--preview .member__name {
  font-size: clamp(1rem, 1.3vw, 1.35rem);
  margin: 0 0 0.35rem;
}

html body app-team-cards .team-grid.team-grid--preview .member__role {
  font-size: 0.875rem;
  margin: 0;
}

html body app-home .home-publications .home-insights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

html body app-home .home-publications .home-insight {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  min-height: 16rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  corner-shape: round;
  box-shadow: 0 4px 18px rgba(3, 15, 34, 0.035);
  background: var(--color-surface);
  transform: none;
}

html body app-home .home-publications .home-insight__date {
  margin: 0;
  color: var(--c-ink-soft, #64748b);
  font-size: 0.8125rem;
  line-height: 1.5;
}

html body app-home .home-publications .home-insight__title {
  margin: 0;
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  line-height: 1.45;
  font-weight: 600;
}

html body app-home .home-publications .home-insight__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.6rem 1rem;
  margin-top: auto;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

html body app-home .home-publications .home-insight__action:hover {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: white;
}

html body app-home .home-publications .home-insight__action:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

@media (max-width: 767px) {
  html body app-home .home-publications .home-insights {
    grid-template-columns: 1fr;
  }

  html body app-team-cards .team-grid.team-grid--preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  html body app-team-cards .team-grid.team-grid--preview .team-card__body {
    padding: 0.8rem;
  }
}

html body,
html body :is(h1, h2, h3, h4, h5, h6, button, input, select, textarea, code, pre, kbd, samp) {
  font-family: var(--font-body);
}

/* The recovered bundle retains an empty host until its source is reconciled. */
app-theme-toggle,
.header__sep {
  display: none;
}

html body .hero:not(.hero--compact) .hero__copy {
  max-width: min(78%, 52rem);
}

html body .hero:not(.hero--compact) .hero__inner {
  min-height: clamp(30.6rem, 37.8vw, 37.8rem);
  justify-content: center;
  padding-block: clamp(4.5rem, 6.75vw, 6.3rem);
}

html body .hero:not(.hero--compact) .hero__title {
  font-family: var(--font-body);
  font-size: clamp(1.5rem, 4.2vw, 4rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

@media (max-width: 767px) {
  html body .hero:not(.hero--compact) .hero__inner {
    min-height: 21.6rem;
    padding-block: 2.7rem 3.6rem;
  }

  html body .hero:not(.hero--compact) .hero__copy {
    max-width: 100%;
  }

  html body .hero:not(.hero--compact) .hero__title {
    font-size: clamp(1.125rem, 7.5vw, 3rem);
  }
}

/* Service rows alternate on wide screens; reading order stays image then copy on mobile. */
@media (min-width: 1024px) {
  html body app-services .svc-row:nth-of-type(even) .svc-row__media {
    grid-column: 2;
    grid-row: 1;
    order: 0;
  }
  html body app-services .svc-row:nth-of-type(even) .svc-row__content {
    grid-column: 1;
    grid-row: 1;
  }
}
html body app-services .svc-row .svc-row__media {
  border-radius: 18px;
  corner-shape: round;
}
/* The photo is its own panel, without a scrim; captions sit on a solid surface. */
html body app-about .serve .serve__card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  aspect-ratio: auto;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  corner-shape: round;
  box-shadow: 0 4px 18px rgba(3, 15, 34, 0.035);
}
html body app-about .serve .serve__card::before,
html body app-about .serve .serve__card:hover::before {
  content: '';
  display: block;
  position: static;
  inset: auto;
  flex: none;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--serve-photo) center / cover no-repeat;
  opacity: 1;
  filter: none;
  transition: none;
}
html body app-about .serve .serve__card::after {
  display: none;
}
html body app-about .serve .serve__card-icon {
  color: var(--color-accent);
  opacity: 1;
  padding: 1.4rem 1.5rem 0;
}
html body app-about .serve .serve__card-body {
  padding: 1rem 1.5rem 1.5rem;
}
html body app-about .serve .serve__card-title {
  color: var(--c-ink-strong, #030f22);
  font-size: 1.2rem;
  line-height: 1.35;
}
html body app-about .serve .serve__card-text {
  color: var(--c-ink-soft, #64748b);
  font-size: 0.9rem;
  line-height: 1.6;
}

html body app-services-editor textarea.a-input { min-height: 6rem; resize: vertical; }

/* A restrained hierarchy, using the same Inter family throughout the site. */
html body app-home .split__rail h2,
html body app-services .svc-row__content h2,
html body app-about .serve .serve__card-title {
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-wrap: balance;
}
html body app-team-cards .team-grid.team-grid--preview .team-card__body {
  padding: clamp(1rem, 1.8vw, 1.5rem);
}
html body app-team-cards .team-grid.team-grid--preview .member__name,
html body app-team-cards .tm-card__name {
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.3;
  text-transform: none;
}
html body app-team-cards .team-grid.team-grid--preview .member__name {
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  margin-bottom: 0.6rem;
}
html body app-team-cards .team-grid.team-grid--preview .member__role,
html body app-team-cards .tm-card__role,
html body app-team-detail .td-role {
  color: #626975;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.6;
}
html body app-team-cards .team-grid.team-grid--preview .member__role {
  font-size: 0.8125rem;
}
html body app-home .home-publications .home-insight__title {
  font-weight: 500;
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  letter-spacing: -0.025em;
  line-height: 1.45;
  text-wrap: pretty;
}
html body app-home .home-publications .home-insight__date {
  color: #626975;
  font-size: 0.75rem;
  letter-spacing: 0.015em;
}
html body app-home .home-publications .home-insight__action {
  font-weight: 500;
  background: var(--color-footer-surface);
  border-color: var(--color-footer-surface);
  color: #fff;
}
html body app-home .home-publications .home-insight__action:hover {
  background: #122b43;
  border-color: #122b43;
  color: #fff;
}

/* A clear photograph and the footer's navy anchor the home introduction. */
html body .hero__instrument {
  display: none;
}
html body app-home .hero:not(.hero--compact) {
  background: linear-gradient(115deg, #0b192a 8%, #122b43);
  border-bottom-color: #253b52;
  --c-ink-strong: #ffffff;
  --c-ink-soft: #c7d2df;
}
html body app-home .hero:not(.hero--compact) .hero__title {
  color: #ffffff;
  font-size: clamp(1.5rem, 3.8vw, 3.5rem);
}
html body app-home .hero:not(.hero--compact) .hero__lede {
  color: #c7d2df;
}
html body app-home .hero:not(.hero--compact) .hero__rule {
  border-color: #8ca7c2;
  background-color: #8ca7c2;
}
html body app-home .hero:not(.hero--compact) .hero__copy {
  max-width: 52%;
}
html body app-home .hero:not(.hero--compact) .hero__media {
  position: absolute;
  inset: 2.25rem max(2rem, calc((100vw - 1200px) / 2)) 2.25rem auto;
  width: min(43%, 40rem);
  height: auto;
  margin: 0;
  opacity: 1;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}
html body app-home .hero:not(.hero--compact) .hero__photo {
  object-fit: cover;
  object-position: center;
}
html body app-home .hero:not(.hero--compact) .hero__veil {
  display: none;
}

/* Alternate cool surfaces give the existing sections a visible rhythm. */
html body app-home .home-band.home-band--alt {
  background: #f6f8fb;
  border-top: 0;
}
html body app-home .home-band.home-band--alt:has(app-team-cards),
html body app-team .team-section {
  background: #e9eef4;
}
html body app-home .home-band.home-publications {
  background: #f5f7fa;
}
html body app-team-cards .team-grid.team-grid--preview .team-card,
html body app-team-cards .tm-card {
  background: #ffffff;
  border-color: #dbe3ec;
  box-shadow: 0 10px 28px rgba(11, 25, 42, 0.055);
}
html body app-team-cards .team-card__body,
html body app-team-cards .tm-card__body,
html body app-home .home-publications .home-insight {
  background: #ffffff;
}
@media (max-width: 767px) {
  html body app-home .hero:not(.hero--compact) .hero__media {
    position: relative;
    inset: auto;
    width: calc(100% - 2rem);
    height: 13.5rem;
    flex: none;
    margin: 1rem 1rem 1.8rem;
    border-radius: 14px;
  }
  html body app-home .hero:not(.hero--compact) .hero__inner {
    min-height: 20.6rem;
  }
  html body app-home .hero:not(.hero--compact) .hero__copy {
    max-width: 100%;
  }
  html body app-home .hero:not(.hero--compact) .hero__title {
    font-size: clamp(1.125rem, 7.5vw, 3rem);
  }
}

/* Editorial hero: keep a generous, stable gap at every desktop width. */
html body app-home .hero:not(.hero--compact) .hero__copy {
  max-width: 56%;
  padding-right: 2rem;
}
html body app-home .hero:not(.hero--compact) .hero__title {
  font-size: clamp(1.75rem, 3.2vw, 3.125rem);
  line-height: 1.18;
  letter-spacing: -0.045em;
}
html body app-home .hero:not(.hero--compact) .hero__media {
  inset: 50% max(2rem, calc((100vw - 1200px) / 2)) auto auto;
  width: min(40%, 31rem);
  height: 23rem;
  transform: translateY(-50%);
  border-radius: 12px;
  box-shadow: none;
  border-color: rgba(255,255,255,.12);
}
html body app-home .hero:not(.hero--compact) .hero__photo {
  object-position: 55% center;
}
html body app-photo-credits { display: none; }

html body app-home .home-band app-service-grid .svc-index {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  background: transparent;
}
html body app-home .home-band app-service-grid .svc-idx {
  position: relative;
  min-height: 12rem;
  padding: 1.6rem;
  gap: 1.5rem;
  border: 1px solid #dce3eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(11,25,42,.025);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
html body app-home .home-band app-service-grid .svc-idx::after {
  content: '↗';
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  color: #8696a6;
  font-size: 1rem;
}
html body app-home .home-band app-service-grid .svc-idx:hover,
html body app-home .home-band app-service-grid .svc-idx:focus-visible {
  border-color: #9aabbd;
  background: #fbfcfe;
  box-shadow: 0 12px 28px rgba(11,25,42,.07);
}
html body app-home .home-band app-service-grid .svc-idx:focus-visible {
  outline: 2px solid #405d78;
  outline-offset: 3px;
}
html body app-home .home-band app-service-grid .svc-idx__icon {
  color: #29465f;
  padding: .65rem;
  background: #eef2f6;
  border-radius: 10px;
}
html body app-home .home-band app-service-grid .svc-idx__title {
  max-width: none;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.02em;
}
html body app-home .home-band app-service-grid .svc-idx--empty { display: none; }
@media (min-width: 768px) and (max-width: 1100px) {
  html body app-home .hero:not(.hero--compact) .hero__media { height: 20rem; }
  html body app-home .home-band app-service-grid .svc-index { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  html body app-home .hero:not(.hero--compact) { display: flex; flex-direction: column; }
  html body app-home .hero:not(.hero--compact) .hero__inner { order: 1; }
  html body app-home .hero:not(.hero--compact) .hero__copy { max-width: 100%; padding-right: 0; }
  html body app-home .hero:not(.hero--compact) .hero__title { font-size: clamp(1.125rem, 7.5vw, 3rem); }
  html body app-home .hero:not(.hero--compact) .hero__media {
    order: 2;
    inset: auto;
    transform: none;
    width: calc(100% - 2.5rem);
    height: 13.5rem;
    margin: 0 1.25rem 2.8rem;
  }
  html body app-home .home-band app-service-grid .svc-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html body app-home .home-band app-service-grid .svc-idx { min-height: 11rem; padding: 1.2rem; }
  html body app-home .home-band app-service-grid .svc-idx::after { top: 1.2rem; right: 1.2rem; }
}
@media (max-width: 479px) {
  html body app-home .home-band app-service-grid .svc-index { grid-template-columns: 1fr; }
  html body app-home .home-band app-service-grid .svc-idx { min-height: auto; gap: 1rem; }
}
.page-content-editor { padding: 1.25rem; margin: 1.25rem 0; border: 1px solid #dbe3ec; border-radius: 12px; background: #f6f8fb; }
.page-content-editor h3 { font-size: 1rem; margin: 0 0 .75rem; }
.page-content-links, .page-content-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.page-content-editor summary { cursor: pointer; padding-block: 1rem; font-weight: 500; }
.page-content-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1rem; }
.page-content-fields .a-field { display: flex; flex-direction: column; gap: .5rem; }
.page-content-fields textarea { min-height: 6rem; }
@media (max-width: 767px) { .page-content-fields { grid-template-columns: 1fr; } }

/* Full-bleed home introduction, following the supplied visual reference. */
pixis-home-hero { display: block; }
html body app-home .home-hero { position: relative; isolation: isolate; overflow: hidden; background: #0d1e31; color: #f7f9fc; }
html body app-home .home-hero__media { position: absolute; inset: 0; z-index: -2; }
html body app-home .home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
html body app-home .home-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0a192a 0%, rgba(10,25,42,.98) 32%, rgba(10,25,42,.88) 43%, rgba(10,25,42,.28) 63%, rgba(10,25,42,.03) 82%); }
html body app-home .home-hero__inner { min-height: clamp(34rem,43vw,44rem); padding-block: clamp(3.5rem,5.5vw,6rem) 2.5rem; display: flex; flex-direction: column; justify-content: center; }
html body app-home .home-hero__copy { max-width: 58%; }
html body app-home .home-hero h1 { margin: 0; color: #f7f9fc; font-family: var(--font-body); font-weight: 500; font-size: clamp(2.5rem,4.7vw,4.5rem); line-height: 1.08; letter-spacing: -.045em; }
html body app-home .home-hero h1 span { display: block; }
html body app-home .home-hero h1 .home-hero__accent { color: #a9c8ee; }
html body app-home .home-hero__description { max-width: 33rem; margin: 1.8rem 0 0; color: #d5dfe9; font-size: clamp(1rem,1.3vw,1.2rem); line-height: 1.65; }
html body app-home .home-band app-service-grid .svc-idx__icon { background: #0d1e31; color: #fff; }
html body app-home .home-band app-service-grid .svc-idx__icon app-icon,
html body app-home .home-band app-service-grid .svc-idx__icon svg { color: #fff; stroke: #fff; }
html body app-home .home-publications .home-insight__action,
html body app-public-layout .btn--primary,
html body app-public-layout .button--primary,
html body app-public-layout button[type="submit"] { background: #0d1e31; border-color: #0d1e31; color: #fff; }
html body app-home .home-publications .home-insight__action:hover { background: #0d1e31; border-color: #0d1e31; color: #fff; filter: brightness(1.15); }
@media (max-width: 1100px) and (min-width: 768px) {
 html body app-home .home-hero__copy { max-width: 64%; }
}
@media (max-width: 767px) {
 html body app-home .home-hero__inner { min-height: 32rem; padding-block: 4rem; justify-content: center; }
 html body app-home .home-hero__copy { max-width: 100%; }
 html body app-home .home-hero h1 { font-size: clamp(2.2rem,8.6vw,3.5rem); }
 html body app-home .home-hero__description { font-size: 1rem; margin-top: 1.5rem; }
 html body app-home .home-hero::before { background: linear-gradient(180deg,rgba(10,25,42,.98) 0%,rgba(10,25,42,.94) 40%,rgba(10,25,42,.75) 66%,rgba(10,25,42,.4) 100%); }
 html body app-home .home-hero__media img { object-position: 68% center; }
}
@media (prefers-reduced-motion: reduce) { html body app-home .home-hero * { animation: none; transition: none; } }

/* Homepage collections: full-width heading and four compact cards per row. */
html body app-home .home-band.home-band--alt:has(app-service-grid) {
  background: #f6f6f8;
}
html body app-home .home-band.home-band--alt:has(app-team-cards) {
  background: #e7e7eb;
}
html body app-home .home-band.home-band--alt.home-publications {
  background: #f6f6f8;
}
html body app-home .split:has(> app-service-grid),
html body app-home .split:has(> app-team-cards) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
html body app-home .split:has(> app-service-grid) > .split__rail,
html body app-home .split:has(> app-team-cards) > .split__rail {
  position: static;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0 0 1.5rem;
  border-bottom: 0;
}
html body app-home .split:has(> app-service-grid) > .split__rail h2,
html body app-home .split:has(> app-team-cards) > .split__rail h2 {
  margin: 0;
  max-width: none;
  white-space: normal;
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  line-height: 1.18;
  letter-spacing: -.045em;
  font-weight: 600;
  color: #0d1e31;
}
html body app-home .split:has(> app-service-grid) > .split__rail > .eyebrow,
html body app-home .split:has(> app-team-cards) > .split__rail > .eyebrow { display: none; }
html body app-home .split:has(> app-service-grid) > .split__rail .text-link,
html body app-home .split:has(> app-team-cards) > .split__rail .text-link {
  flex: none;
  margin: 0;
  gap: 1rem;
  color: #0d1e31;
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: -.02em;
}
html body app-home .home-band app-service-grid .svc-index,
html body app-home app-team-cards .team-grid.team-grid--preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.125rem;
}
html body app-home app-team-cards .team-grid.team-grid--preview {
  gap: clamp(1.25rem, 2vw, 1.5rem);
}
html body app-home .home-band app-service-grid .svc-idx {
  min-height: 13.25rem;
  padding: 1.5rem;
  gap: 1.25rem;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(13,30,49,.025);
}
html body app-home .home-band app-service-grid .svc-idx__title {
  font-size: 1rem;
  line-height: 1.45;
  color: #0d1e31;
}
html body app-home .home-band app-service-grid .svc-idx__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  padding: .8rem;
  border-radius: 8px;
}
html body app-home .home-band app-service-grid .svc-idx::after {
  top: 1.5rem;
  right: 1.5rem;
  color: #526b86;
  font-size: 1.25rem;
}
html body app-home app-team-cards .team-grid.team-grid--preview .team-card {
  border-radius: 9px;
  border-color: #dfe4ea;
  box-shadow: 0 5px 16px rgba(13,30,49,.05);
  text-decoration: none;
}
html body app-home app-team-cards .team-grid.team-grid--preview .team-card__photo {
  aspect-ratio: 3 / 4;
}
html body app-home app-team-cards .team-grid.team-grid--preview .team-card__photo img {
  object-position: center top;
  filter: none;
}
html body app-team-cards img[src*="/team/CanOzmen.png"],
html body app-team-detail img[src*="/team/CanOzmen.png"],
html body app-team-editor img[src*="/team/CanOzmen.png"] {
  background: linear-gradient(180deg, #eeedf3 0%, #f7f7fa 100%);
}
html body app-home .team-card__photo:has(img[src*="/team/CanOzmen.png"]) {
  background: #eeedf3;
}
html body app-home app-team-cards .team-card__photo img[src*="/team/CanOzmen.png"] {
  transform: translateY(6%) scale(1.18);
  transform-origin: 50% 15%;
}
html body app-home app-team-cards .team-grid.team-grid--preview .team-card__body {
  position: relative;
  padding: .8rem 2.6rem .95rem 1rem;
  min-height: 5.25rem;
}
html body app-home app-team-cards .team-grid.team-grid--preview .team-card__body::after {
  content: '↗';
  position: absolute;
  top: .8rem;
  right: 1rem;
  color: #0d1e31;
  font-size: 1.15rem;
  line-height: 1.3;
}
html body app-home app-team-cards .team-grid.team-grid--preview .member__name {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: #0d1e31;
  margin: 0 0 .25rem;
}
html body app-home app-team-cards .team-grid.team-grid--preview .member__role {
  font-size: .8rem;
  line-height: 1.45;
  color: #626f80;
}
html body app-home app-team-cards .team-card:focus-visible {
  outline: 2px solid #405d78;
  outline-offset: 4px;
}
@media (max-width: 1100px) {
  html body app-home .split:has(> app-service-grid) > .split__rail,
  html body app-home .split:has(> app-team-cards) > .split__rail { align-items: flex-start; }
  html body app-home .home-band app-service-grid .svc-index,
  html body app-home app-team-cards .team-grid.team-grid--preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  html body app-home .split:has(> app-service-grid) > .split__rail,
  html body app-home .split:has(> app-team-cards) > .split__rail { flex-direction: column; gap: 1rem; }
  html body app-home .split:has(> app-service-grid),
  html body app-home .split:has(> app-team-cards) { gap: 1.5rem; }
}
@media (max-width: 479px) {
  html body app-home .home-band app-service-grid .svc-index,
  html body app-home app-team-cards .team-grid.team-grid--preview { grid-template-columns: minmax(0, 1fr); }
  html body app-home .home-band app-service-grid .svc-idx { min-height: 11rem; }
}

/* Light icon tiles and restrained section titles match the service reference. */
html body app-home .home-band app-service-grid .svc-idx__icon {
  width: 4rem;
  height: 4rem;
  background: #eef3f7;
  color: #0d1e31;
}
html body app-home .home-band app-service-grid .svc-idx__icon app-icon,
html body app-home .home-band app-service-grid .svc-idx__icon svg {
  color: #0d1e31;
  stroke: #0d1e31;
  width: 2rem;
  height: 2rem;
}
html body app-home .home-publications .split__rail h2 {
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -.035em;
}
html body app-home .home-publications .split__rail .text-link {
  font-size: .9rem;
  font-weight: 500;
  color: #0d1e31;
}

/* A consistent soft-corner system for public-facing surfaces and controls. */
html body app-public-layout {
  --pixis-radius-card: 28px;
  --pixis-radius-media: 32px;
  --pixis-radius-control: 16px;
  --pixis-radius-icon: 18px;
  --a-radius: var(--pixis-radius-card);
  --a-radius-ctl: var(--pixis-radius-control);
}
html body app-home .home-band app-service-grid .svc-idx,
html body app-home app-team-cards .team-grid.team-grid--preview .team-card,
html body app-team-cards .team-grid.team-grid--preview .team-card,
html body app-team-cards .tm-card,
html body app-home .home-publications .home-insight,
html body app-about .serve .serve__card,
html body app-public-layout :is(.card, .core__item, .work__item, .out) {
  border-radius: var(--pixis-radius-card);
  corner-shape: round;
  overflow: hidden;
}
html body app-services .svc-row .svc-row__media,
html body app-public-layout :is(.sd-media, .td-photo, .insight-cover) {
  border-radius: var(--pixis-radius-media);
  corner-shape: round;
  overflow: hidden;
}
html body app-home .home-band app-service-grid .svc-idx__icon {
  border-radius: var(--pixis-radius-icon);
}
html body app-home .home-publications .home-insight__action,
html body app-public-layout :is(.btn, .button, .field__input, .field__select) {
  border-radius: var(--pixis-radius-control);
  corner-shape: round;
}
@media (max-width: 767px) {
  html body app-public-layout {
    --pixis-radius-card: 24px;
    --pixis-radius-media: 28px;
    --pixis-radius-icon: 16px;
  }
}

/* One vertical spacing rule for all sections below the homepage hero. */
html body app-home .home-band.home-band--alt {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
}

/* Editable section labels and a full-width PDF publication collection. */
html body app-home pixis-section-heading.split__rail {
  position: static;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0;
}
html body app-home .section-heading__eyebrow {
  margin: 0 0 .7rem;
  color: #68798b;
  font-size: .6875rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
html body app-home pixis-section-heading h2 { margin: 0; }
html body app-home .home-publications .split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
html body app-home .home-publications .split__rail h2 {
  margin: 0;
  max-width: none;
  color: #0d1e31;
}
html body app-home .home-publications .split__rail .text-link {
  flex: none;
  margin: 0;
  gap: 1rem;
}
html body app-home .home-publications .home-insights {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
html body app-home .home-publications .home-insight {
  position: relative;
  min-height: 16rem;
  gap: 1.5rem;
}
html body app-home .home-publications .home-insight__date { padding-right: 4rem; }
html body app-home .home-publications .home-insight__format {
  position: absolute;
  top: 1.65rem;
  right: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .25rem .4rem;
  background: #eef3f7;
  color: #68798b;
  border-radius: 6px;
  font-size: .625rem;
  font-weight: 500;
  line-height: 1.2;
}
html body app-home .home-publications .home-insight__title {
  font-size: 1.125rem;
  line-height: 1.4;
}
@media (max-width: 1100px) {
  html body app-home .home-publications .home-insights { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  html body app-home pixis-section-heading.split__rail { align-items: flex-start; }
  html body app-home .home-publications .split { gap: 1.5rem; }
  html body app-home .home-publications .home-insights { grid-template-columns: minmax(0,1fr); }
  html body app-home .home-publications .home-insight__format { top: 1.25rem; right: 1.25rem; }
}
@media (max-width: 479px) {
  html body app-home .home-publications pixis-section-heading.split__rail { flex-direction: column; gap: 1rem; }
}
