/* Page-specific sections and page-level composition. */

/* Services */

.c-service-chooser {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-service-chooser__item {
  display: grid;
  gap: 6px;
  padding: 24px;
  border-right: var(--border-hairline);
  color: var(--sh-fg);
}

.c-service-chooser__item:last-child {
  border-right: 0;
}

.c-service-chooser__item.is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-service-chooser__item span,
.c-service-chooser__item em {
  color: currentColor;
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.06em;
  opacity: 0.6;
  text-transform: uppercase;
}

.c-service-chooser__item strong {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-service-chooser__item em {
  font-family: var(--sh-font-sans);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

.c-service-chooser--practices .c-service-chooser__item {
  min-height: 180px;
  gap: 10px;
  align-content: start;
  padding: 28px;
}

.c-service-chooser--practices .c-service-chooser__item:nth-child(3n) {
  border-right: 0;
}

.c-service-chooser--practices .c-service-chooser__item:nth-child(-n + 3) {
  border-bottom: var(--border-hairline);
}

.c-service-chooser--practices .c-service-chooser__item strong {
  line-height: 1.15;
}

.c-service-chooser--practices .c-service-chooser__item em {
  line-height: 1.5;
  opacity: 0.65;
}

.l-section--service-detail {
  padding-top: 64px;
  padding-bottom: 67px;
}

.l-section--service-practice {
  padding-bottom: 71px;
}

.c-service-detail {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 64px;
}

.c-service-detail h2 {
  margin: 0 0 24px;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-service-detail--practice h2 {
  font-size: 44px;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-service-detail__pitch {
  margin: 0 0 24px;
  color: var(--sh-fg);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.45;
}

.c-service-detail--practice .c-service-detail__pitch {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1.5;
}

.c-service-detail__desc {
  margin: 0 0 32px;
  color: var(--sh-muted);
  font-size: 16px;
  line-height: 1.6;
}

.c-service-detail--practice .c-service-detail__desc {
  margin-bottom: 28px;
  font-size: 15px;
}

.c-service-detail__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 20px 0;
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-service-detail__meta--practice {
  grid-template-columns: 1fr 1fr;
}

.c-service-detail__meta span {
  display: block;
  margin-bottom: 6px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-service-detail__meta strong {
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.c-service-detail__meta div:last-child strong {
  font-size: 13px;
  font-weight: 400;
}

.c-service-detail__meta--practice div:last-child {
  grid-column: 1 / -1;
}

.c-service-detail__meta--practice strong {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.c-service-detail__meta--practice div:last-child strong {
  color: var(--sh-accent);
  font-size: 14px;
}

.c-service-detail__actions {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

.c-service-detail__actions .c-button {
  padding: 13px 18px;
}

.c-service-detail__lists {
  display: grid;
  align-content: start;
  gap: 32px;
}

.c-service-detail__lists h4 {
  margin: 0 0 14px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.c-service-detail__lists ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-service-detail__lists li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: var(--border-hairline);
  font-size: 15px;
  line-height: 1.5;
}

.c-service-detail__lists li:last-child {
  border-bottom: 0;
}

.c-service-detail__lists li span:first-child {
  color: var(--sh-accent);
}

.c-service-detail__lists .is-muted li {
  color: var(--sh-muted);
}

.c-service-detail__lists .is-muted li span:first-child {
  color: inherit;
}

.c-service-detail__lists blockquote {
  margin: 0;
  padding: 24px;
  border: var(--border-hairline);
  border-left: 3px solid var(--sh-accent);
  background: var(--sh-card);
}

.c-service-detail__lists blockquote span {
  display: block;
  margin-bottom: 8px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-service-detail__lists blockquote p {
  margin: 0;
  color: var(--sh-fg);
  font-size: 15px;
  line-height: 1.55;
}

.c-service-detail__lists blockquote ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-service-detail__lists blockquote li {
  display: block;
  padding: 0;
  border: 0;
  color: var(--sh-fg);
  font-size: 14px;
  line-height: 1.5;
}

.l-section--service-compare .c-section-header,
.l-section--service-faq .c-section-header {
  margin-bottom: 28px;
}

.l-section--service-compare,
.l-section--service-faq {
  padding-bottom: 105px;
}

.l-section--service-compare {
  margin-top: -1px;
}

.c-service-table {
  border: var(--border-hairline);
}

.c-service-table__row {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  align-items: center;
  padding: 16px 20px;
  border-bottom: var(--border-hairline);
  font-size: 14px;
}

.c-service-table--five .c-service-table__row {
  grid-template-columns: 1.1fr repeat(4, minmax(0, 1fr));
  font-size: 13.5px;
}

.c-service-table__row:last-child {
  border-bottom: 0;
}

.c-service-table__row span:first-child {
  color: var(--sh-muted);
}

.c-service-table__row span:not(:first-child) {
  font-weight: 500;
}

.c-service-table__row.is-header {
  background: var(--sh-card);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-service-table__row.is-header span {
  color: inherit;
  font-weight: 400;
}

.l-section--service-no {
  padding-top: 64px;
  padding-bottom: 64px;
  border-top: var(--border-hairline);
}

.c-service-no {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
}

.c-service-no .c-eyebrow {
  margin-bottom: 14px;
}

.c-service-no h2 {
  margin: 0;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-service-no article {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  padding: 20px 0;
  border-top: var(--border-hairline);
}

.c-service-no article:last-child {
  border-bottom: var(--border-hairline);
}

.l-section--engagement-models {
  padding-bottom: 80px;
}

.l-section--engagement-models .c-section-header {
  margin-bottom: 28px;
}

.c-engagement-models {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-engagement-models article {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 275px;
  padding: 24px;
  border-right: var(--border-hairline);
}

.c-engagement-models article:last-child {
  border-right: 0;
}

.c-engagement-models span,
.c-engagement-models em {
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-engagement-models em {
  color: var(--sh-muted);
  font-size: 12px;
  letter-spacing: 0.04em;
}

.c-engagement-models h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
}

.c-engagement-models p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-service-no strong {
  font-size: 16px;
  font-weight: 500;
}

.c-service-no p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-service-faq {
  border: var(--border-hairline);
}

.c-service-faq details {
  border-bottom: var(--border-hairline);
}

.c-service-faq details:last-child {
  border-bottom: 0;
}

.c-service-faq summary {
  display: grid;
  grid-template-columns: 40px 1fr 24px;
  gap: 16px;
  align-items: center;
  width: 100%;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
}

.c-service-faq summary::-webkit-details-marker {
  display: none;
}

.c-service-faq summary span {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 12px;
}

.c-service-faq summary strong {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-service-faq summary em {
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-style: normal;
}

.c-service-faq p {
  max-width: 820px;
  margin: 0;
  padding: 0 24px 24px 80px;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.65;
}

.l-section--service-cta {
  margin-top: 1px;
  margin-bottom: -1px;
  padding-top: 88px;
  padding-bottom: 96px;
  border-top: var(--border-hairline);
}

.l-section--cta-strip {
  min-height: 460px;
  padding-top: 88px;
  padding-bottom: 88px;
  border-top: var(--border-hairline);
}

.l-section--cta-strip .c-cta,
.l-section--cta-strip .c-service-cta {
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: start;
}

.c-service-cta {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 64px;
  align-items: center;
}

.c-service-cta .c-eyebrow {
  margin-bottom: 16px;
}

.c-service-cta h2 {
  margin: 0;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-service-cta h2 span {
  color: var(--sh-muted);
}

.c-service-cta__body {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-service-cta__inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.c-service-cta__inline-actions .c-button {
  padding: 15px 22px;
  font-size: 14px;
}

.c-service-cta__actions {
  display: grid;
  gap: 12px;
}

.c-service-cta__actions .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

/* Legacy content/detail primitives */

.c-track-card,
.c-industry-card,
.c-timeline__item,
.c-price-card {
  border: var(--border-hairline);
  background: var(--sh-card);
  padding: 32px;
}

.c-track-card h2,
.c-industry-card h2,
.c-timeline__item h2,
.c-price-card h2,
.c-detail__hero h1,
.c-cta h2,
.c-form-title {
  margin: 12px 0 16px;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-track-card h3,
.c-industry-card h3 {
  max-width: 820px;
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 500;
}

.c-track-card > p,
.c-industry-card > p,
.c-timeline__item > p,
.c-price-card > p,
.c-cta p,
.c-detail__hero p {
  max-width: 860px;
  color: var(--sh-muted);
  line-height: 1.65;
}

.c-track-card__meta,
.c-mini-metrics,
.c-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}

.c-track-card__meta span,
.c-mini-metrics span,
.c-chip-row span {
  padding: 6px 9px;
  border: var(--border-hairline);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  text-transform: uppercase;
}

.c-track-card__columns,
.c-subgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 28px;
}

.c-track-card h4,
.c-industry-card h4,
.c-price-card h4 {
  margin: 0 0 12px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-track-card blockquote,
.c-quote {
  margin: 28px 0 0;
  padding: 24px;
  border-left: 3px solid var(--sh-accent);
  background: var(--sh-card);
  color: var(--sh-fg);
}

.c-small-row {
  padding: 16px 0;
  border-bottom: var(--border-hairline);
}

.c-small-row strong {
  display: block;
  margin-bottom: 6px;
}

.c-small-row p {
  margin: 0;
  color: var(--sh-muted);
  line-height: 1.55;
}

.c-week {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-week article {
  padding: 24px;
  border-right: var(--border-hairline);
}

.c-week article:last-child {
  border-right: 0;
}

.c-timeline--compact {
  gap: 12px;
}

.c-price-card.is-featured {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-price-card.is-featured p,
.c-price-card.is-featured li,
.c-price-card.is-featured .c-eyebrow,
.c-price-card.is-featured .c-note {
  color: rgba(250, 250, 247, 0.72);
}

.c-price-card > strong {
  display: block;
  margin-bottom: 16px;
  color: var(--sh-accent);
  font-size: 34px;
  font-weight: 500;
}

.c-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: var(--border-hairline);
}

.c-article-card {
  border-width: 0 1px 1px 0;
}

.c-detail__hero {
  padding: 72px var(--space-page-x) 56px;
  border-bottom: var(--border-hairline);
}

/* Shared page hero and industries/approach/process */

.c-page-hero {
  padding: 72px var(--space-page-x) 56px;
  border-bottom: var(--border-hairline);
}

.c-page-hero--split {
  padding-bottom: 50px;
}

.c-page-hero__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: end;
  margin-top: 14px;
}

.c-page-hero h1 {
  margin: 0;
  font-size: 84px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.96;
}

.c-page-hero--compact-title h1 {
  font-size: 64px;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-page-hero h1 span {
  color: var(--sh-muted);
}

.c-page-hero__grid > p {
  max-width: 460px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-services-hero {
  padding: 64px var(--space-page-x) 42px;
  border-bottom: var(--border-hairline);
}

.c-services-hero h1 {
  max-width: 880px;
  margin: 14px 0 0;
  font-size: 64px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-services-hero h1 span {
  color: var(--sh-muted);
}

.c-services-hero > p:last-child {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-industry-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-industry-stats article {
  padding: 28px 24px;
  border-right: var(--border-hairline);
}

.c-industry-stats article:last-child {
  border-right: 0;
}

.c-industry-stats span,
.c-industry-tabs__item span,
.c-industry-tabs__item em,
.c-process-tabs__item span,
.c-process-tabs__item em,
.c-approach-tabs__item span,
.c-industry-detail__numbers span,
.c-industry-detail__label,
.c-industry-problems span,
.c-industry-cases h4,
.c-industry-cases a span,
.c-industry-cases a em,
.c-process-artifacts h4,
.c-process-artifacts span,
.c-process-detail__label,
.c-process-days > li > span,
.c-process-glance span,
.c-process-glance em,
.c-process-boundaries__table h4,
.c-approach-subtitle,
.c-approach-table > div:first-child,
.c-approach-table em,
.c-approach-tools span,
.c-approach-tools em,
.c-approach-decisions header span,
.c-approach-decisions li span,
.c-approach-risk span,
.c-approach-week em,
.c-approach-footnote {
  font-family: var(--sh-font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-industry-stats span {
  display: block;
  margin-bottom: 10px;
  color: var(--sh-muted);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.c-industry-stats strong {
  display: block;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-industry-tabs,
.c-approach-tabs {
  display: grid;
  border-bottom: var(--border-hairline);
}

.c-industry-tabs {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.c-approach-tabs {
  position: sticky;
  top: 0;
  z-index: 20;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: var(--sh-bg);
}

.c-industry-tabs__item,
.c-process-tabs__item,
.c-approach-tabs__item {
  position: relative;
  display: block;
  border: 0;
  border-right: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.c-industry-tabs__item {
  min-height: 130px;
  padding: 20px 16px 22px;
}

.c-approach-tabs__item {
  min-height: 81px;
  padding: 20px 18px;
}

.c-industry-tabs__item:last-child,
.c-process-tabs__item:last-child,
.c-approach-tabs__item:last-child {
  border-right: 0;
}

.c-industry-tabs__item::after,
.c-process-tabs__item::after,
.c-approach-tabs__item::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: transparent;
  content: "";
}

.c-industry-tabs__item.is-active,
.c-process-tabs__item.is-active,
.c-approach-tabs__item.is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-industry-tabs__item.is-active::after,
.c-process-tabs__item.is-active::after,
.c-approach-tabs__item.is-active::after {
  background: var(--sh-accent);
}

.c-industry-tabs__item span,
.c-industry-tabs__item em,
.c-process-tabs__item span,
.c-process-tabs__item em,
.c-approach-tabs__item span {
  display: block;
  color: currentColor;
  font-size: 10px;
  font-style: normal;
  opacity: 0.55;
}

.c-industry-tabs__item strong,
.c-approach-tabs__item strong {
  display: block;
  margin-top: 8px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.c-approach-tabs__item strong {
  margin-top: 6px;
  font-size: 15px;
}

.c-industry-tabs__item em {
  margin-top: 8px;
}

.l-section--industry-detail,
.l-section--approach-panel {
  padding-top: 64px;
  padding-bottom: 64px;
}

.l-section--industry-detail {
  padding-bottom: 54px;
}

.l-section--approach-panel {
  padding-bottom: 114px;
}

.c-industry-detail > .c-eyebrow,
.l-section--approach-panel > .c-eyebrow {
  margin-bottom: 14px;
}

.c-industry-detail__intro,
.c-approach-panel__intro {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 64px;
  margin-bottom: 56px;
}

.c-approach-panel__intro {
  grid-template-columns: 1.3fr 1fr;
}

.c-industry-detail__intro h2,
.c-approach-panel__intro h2,
.c-process-detail h2 {
  margin: 0;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-page-hero--compact-title + div .c-industry-detail__intro h2,
.c-page-hero--compact-title + .c-industry-stats + div .c-industry-detail__intro h2 {
  font-size: 44px;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-approach-panel__intro h2 span {
  color: var(--sh-muted);
}

.c-industry-detail__pitch {
  margin: 0 0 20px;
  color: var(--sh-fg);
  font-size: 21px;
  line-height: 1.4;
}

.c-industry-detail__desc,
.c-approach-panel__intro p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.6;
}

.c-approach-panel__intro p {
  align-self: end;
  font-size: 17px;
  line-height: 1.55;
}

.c-industry-detail__numbers {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 24px;
  padding: 24px 0;
  margin-bottom: 56px;
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-industry-detail__numbers--compact {
  grid-template-columns: 1fr 2fr;
}

.c-industry-detail__problem-intro {
  max-width: 720px;
  margin: 0 0 20px;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.55;
}

.c-industry-detail__numbers span {
  display: block;
  margin-bottom: 6px;
  color: var(--sh-muted);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.c-industry-detail__numbers strong {
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-industry-detail__numbers p {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
}

.c-industry-detail__label,
.c-approach-subtitle {
  margin-bottom: 20px;
  color: var(--sh-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.c-industry-problems,
.c-approach-principles,
.c-approach-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-industry-problems {
  margin-bottom: 56px;
}

.c-industry-problems > div,
.c-approach-principles article,
.c-approach-tools article {
  padding: 28px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-industry-problems > div:nth-child(2n),
.c-approach-principles article:nth-child(2n) {
  border-right: 0;
}

.c-industry-problems > div:nth-last-child(-n + 2),
.c-approach-principles article:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.c-industry-problems span,
.c-approach-principles article > p:first-child span,
.c-approach-principles article > p:first-child em {
  color: var(--sh-muted);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.c-approach-principles article > p:first-child {
  display: flex;
  gap: 12px;
  margin: 0 0 12px;
}

.c-approach-principles article > p:first-child span {
  color: var(--sh-accent);
}

.c-industry-problems h4,
.c-industry-decline h4,
.c-approach-tools h3 {
  margin: 12px 0 10px;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-industry-problems h4,
.c-industry-decline h4 {
  font-size: 22px;
  line-height: 1.2;
}

.c-industry-problems p,
.c-industry-decline p,
.c-approach-tools p,
.c-approach-principles p,
.c-approach-principles li {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-approach-principles article {
  min-height: 280px;
  padding: 32px;
}

.c-approach-principles h3 {
  margin: 0 0 4px;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-approach-principles h4 {
  margin: 0 0 14px;
  color: var(--sh-muted);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
}

.c-approach-principles ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}

.c-approach-principles li {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 6px;
  font-size: 13px;
}

.c-approach-principles li span {
  color: var(--sh-accent);
}

.c-industry-yesno,
.c-industry-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 56px;
}

.c-industry-yesno > div,
.c-industry-meta > div,
.c-approach-note {
  border: var(--border-hairline);
  background: var(--sh-card);
}

.c-industry-yesno h4 {
  padding: 12px 18px;
  margin: 0;
  border-bottom: var(--border-hairline);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-industry-yesno > div:first-child h4 {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-industry-yesno ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-industry-yesno li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  padding: 16px 18px;
  border-top: var(--border-hairline);
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.5;
}

.c-industry-yesno > div:first-child li {
  color: var(--sh-fg);
}

.c-industry-yesno li span {
  color: var(--sh-accent);
}

.c-industry-meta > div {
  padding: 24px;
}

.c-industry-meta h4,
.c-approach-note h4 {
  margin: 0 0 12px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-industry-meta > div > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c-industry-meta span {
  padding: 6px 10px;
  border: var(--border-hairline);
  background: var(--sh-bg);
  font-family: var(--sh-font-mono);
  font-size: 12px;
}

.c-industry-cases h4 {
  margin: 0 0 16px;
  color: var(--sh-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.c-industry-cases > div {
  border: var(--border-hairline);
}

.c-industry-cases a {
  display: grid;
  grid-template-columns: 120px 1fr 200px 30px;
  gap: 16px;
  align-items: center;
  padding: 20px 24px;
  border-bottom: var(--border-hairline);
  color: var(--sh-fg);
}

.c-industry-cases a:last-child {
  border-bottom: 0;
}

.c-industry-cases a span {
  color: var(--sh-accent);
  font-size: 11px;
}

.c-industry-cases a strong {
  font-size: 16px;
  font-weight: 500;
}

.c-industry-cases a em,
.c-industry-cases a b {
  color: var(--sh-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.l-section--industry-cross .c-section-header,
.l-section--process-glance .c-section-header,
.l-section--process-glance .c-section-header {
  margin-bottom: 28px;
}

.l-section--industry-cross {
  padding-top: 86px;
  padding-bottom: 82px;
}

.l-section--industry-cross .c-panel {
  min-height: 180px;
  padding: 24px;
}

.l-section--industry-decline,
.l-section--process-boundaries {
  padding-top: 64px;
  padding-bottom: 64px;
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
  background: var(--sh-card);
}

.l-section--industry-decline {
  padding-top: 76px;
  padding-bottom: 81px;
}

.c-industry-decline,
.c-process-boundaries {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
}

.c-industry-decline .c-eyebrow,
.c-process-boundaries .c-eyebrow {
  margin-bottom: 14px;
}

.c-industry-decline h2,
.c-process-boundaries h2 {
  margin: 0 0 14px;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-industry-decline > div > p,
.c-process-boundaries > div > p {
  max-width: 360px;
}

.c-industry-decline > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-industry-decline article {
  padding: 14px 18px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-industry-decline article:nth-child(2n) {
  border-right: 0;
}

.c-industry-decline article:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.c-industry-decline article h4 {
  margin: 0 0 6px;
  font-size: 15px;
}

.c-industry-decline article p {
  font-size: 13px;
  line-height: 1.55;
}

.l-section--industry-cta,
.l-section--process-cta {
  padding-top: 88px;
  padding-bottom: 87px;
  border-top: var(--border-hairline);
}

.l-section--process-cta {
  padding-bottom: 82px;
}

.l-section--industry-cta {
  padding-top: 93px;
  padding-bottom: 92px;
}

.l-section--industry-cta.l-section--cta-strip {
  margin-top: 1px;
  padding-top: 88px;
  padding-bottom: 88px;
}

.c-process-tabs {
  display: grid;
  grid-template-columns: 1.6fr 1.6fr 2.6fr 1.4fr 1.6fr;
  padding: 40px var(--space-page-x) 0;
  border-bottom: var(--border-hairline);
}

.c-process-tabs__item {
  min-height: 187px;
  padding: 28px 20px 32px;
}

.c-process-tabs__item strong {
  display: block;
  margin: 6px 0 8px;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-process-tabs__item em {
  max-width: 220px;
  font-family: var(--sh-font-sans);
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.l-section--process-detail {
  padding-top: 64px;
  padding-bottom: 64px;
}

.c-process-detail {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
}

.c-process-detail .c-eyebrow {
  margin-bottom: 16px;
}

.c-process-detail h2 {
  margin-bottom: 24px;
}

.c-process-detail > div > p {
  margin: 0 0 32px;
  color: var(--sh-fg-2);
  font-size: 18px;
  line-height: 1.55;
}

.c-process-artifacts {
  padding-top: 24px;
  border-top: var(--border-hairline);
}

.c-process-artifacts h4,
.c-process-detail__label {
  margin: 0 0 14px;
  color: var(--sh-muted);
  font-size: 11px;
  font-weight: 400;
}

.c-process-artifacts ul,
.c-process-days {
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-process-artifacts li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--sh-line);
  font-size: 14px;
}

.c-process-artifacts li:last-child {
  border-bottom: 0;
}

.c-process-artifacts span {
  color: var(--sh-accent);
}

.c-process-days li {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  padding: 22px 0;
  border-bottom: var(--border-hairline);
}

.c-process-days li:last-child {
  border-bottom: 0;
}

.c-process-days > li > span {
  display: flex;
  gap: 10px;
  align-items: center;
  align-self: start;
  padding-top: 6px;
  color: var(--sh-muted);
  font-size: 12px;
}

.c-process-days i {
  width: 8px;
  height: 8px;
  background: var(--sh-accent);
  flex: 0 0 auto;
}

.c-process-days strong {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-process-days p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-process-glance {
  border: var(--border-hairline);
}

.c-process-glance button {
  display: grid;
  grid-template-columns: 70px 200px 1fr 140px;
  gap: 24px;
  align-items: center;
  width: 100%;
  padding: 22px 24px;
  border: 0;
  border-bottom: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.c-process-glance button:last-child {
  border-bottom: 0;
}

.c-process-glance button.is-active {
  background: var(--sh-card);
}

.c-process-glance span {
  color: var(--sh-accent);
  font-size: 12px;
}

.c-process-glance strong {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-process-glance p {
  max-width: 720px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.5;
}

.c-process-glance em {
  color: var(--sh-muted);
  font-size: 12px;
  font-style: normal;
  text-align: right;
}

.c-process-boundaries__table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-process-boundaries__table h4 {
  margin: 0;
  padding: 14px 18px;
  border-bottom: var(--border-hairline);
  font-size: 11px;
  font-weight: 400;
}

.c-process-boundaries__table h4:first-child {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-process-boundaries__table h4:nth-child(2) {
  border-left: var(--border-hairline);
  color: var(--sh-muted);
}

.c-process-boundaries__table p {
  margin: 0;
  padding: 20px 18px;
  border-top: var(--border-hairline);
  font-size: 15px;
  line-height: 1.5;
}

.c-process-boundaries__table p:nth-child(2n + 4) {
  border-left: var(--border-hairline);
  color: var(--sh-muted);
}

.l-section--process-artifacts {
  margin-top: 6px;
  padding-top: 86px;
  padding-bottom: 86px;
}

.l-section--process-boundaries {
  padding-top: 66px;
  padding-bottom: 67px;
}

.l-section--process-artifacts .c-panel {
  min-height: 160px;
  padding: 20px;
}

.l-section--process-artifacts .c-section-header {
  margin-bottom: 28px;
}

.c-service-cta--with-copy h2 {
  margin-bottom: 0;
}

.c-service-cta--with-copy p:not(.c-eyebrow) {
  max-width: 540px;
  margin: 18px 0 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.55;
}

.l-section--approach-adjacent {
  padding-top: 59px;
  padding-bottom: 60px;
  border-bottom: var(--border-hairline);
  background: var(--sh-card);
}

.c-approach-adjacent {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 64px;
  align-items: center;
}

.c-approach-adjacent .c-eyebrow {
  margin-bottom: 14px;
}

.c-approach-adjacent h2 {
  margin: 0 0 14px;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-approach-adjacent p {
  max-width: 380px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.55;
}

.c-approach-adjacent > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.c-approach-adjacent .c-button,
.l-section--approach-cta .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

.l-section--approach-cta {
  padding-top: 92px;
  padding-bottom: 93px;
  border-top: var(--border-hairline);
}

.l-section--approach-cta.l-section--cta-strip {
  margin-top: -2px;
  padding-top: 88px;
  padding-bottom: 88px;
}

.l-section--approach-cta .c-service-cta > div:first-child > p:not(.c-eyebrow) {
  max-width: 520px;
  margin: 18px 0 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.55;
}

.c-approach-table {
  margin-bottom: 48px;
  border: var(--border-hairline);
}

.c-approach-table > div {
  display: grid;
  grid-template-columns: 260px 120px 1fr;
  align-items: start;
  padding: 20px;
  border-top: var(--border-hairline);
}

.c-approach-table > div:first-child {
  padding: 12px 20px;
  border-top: 0;
  background: var(--sh-fg);
  color: var(--sh-bg);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.c-approach-table strong {
  font-size: 16px;
  font-weight: 500;
}

.c-approach-table em {
  color: var(--sh-accent);
  font-size: 13px;
  font-style: normal;
}

.c-approach-table p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-approach-tools {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 48px;
}

.c-approach-tools--three,
.c-approach-tools--four {
  margin-bottom: 0;
}

.c-approach-tools--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.c-approach-tools article {
  padding: 22px;
}

.c-approach-tools article:nth-child(3n) {
  border-right: 0;
}

.c-approach-tools article:nth-last-child(-n + 3) {
  border-bottom: 0;
}

.c-approach-tools--four article {
  padding: 24px;
}

.c-approach-tools--four article {
  border-bottom: 0;
}

.c-approach-tools--four article:nth-child(3n) {
  border-right: var(--border-hairline);
}

.c-approach-tools--four article:nth-child(4n) {
  border-right: 0;
}

.c-approach-tools span {
  display: block;
  margin-bottom: 8px;
  color: var(--sh-accent);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.c-approach-tools em {
  display: block;
  margin-bottom: 14px;
  color: var(--sh-muted);
  font-size: 12px;
  font-style: normal;
  text-transform: none;
}

.c-approach-decisions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-approach-decisions article {
  border-right: var(--border-hairline);
}

.c-approach-decisions article:last-child {
  border-right: 0;
}

.c-approach-decisions header {
  padding: 14px 22px;
  border-bottom: var(--border-hairline);
  background: var(--sh-card);
}

.c-approach-decisions article:first-child header {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-approach-decisions article:nth-child(2) header {
  background: var(--sh-accent);
  color: var(--sh-bg);
}

.c-approach-decisions header span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  opacity: 0.65;
}

.c-approach-decisions header strong {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-approach-decisions ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-approach-decisions li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  padding: 14px 22px;
  border-top: var(--border-hairline);
  font-size: 14px;
  line-height: 1.5;
}

.c-approach-decisions li span {
  color: var(--sh-muted);
  font-size: 11px;
}

.c-approach-note {
  margin-top: 56px;
  padding: 28px;
}

.c-approach-note h4 {
  color: var(--sh-accent);
}

.c-approach-note p {
  max-width: 880px;
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
}

.c-approach-note p:last-child {
  margin-bottom: 0;
  color: var(--sh-muted);
  font-size: 14px;
}

.c-approach-risk {
  border: var(--border-hairline);
}

.c-approach-risk__lead {
  max-width: 720px;
  margin: -4px 0 28px;
  padding-left: 16px;
  border-left: 2px solid var(--sh-accent);
  color: var(--sh-fg);
  font-size: 16px;
  line-height: 1.55;
}

.c-approach-risk div {
  display: grid;
  grid-template-columns: 60px 280px 1fr;
  gap: 0;
  align-items: start;
  padding: 24px;
  border-bottom: var(--border-hairline);
}

.c-approach-risk div:last-child {
  border-bottom: 0;
}

.c-approach-risk span {
  padding-top: 4px;
  color: var(--sh-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.c-approach-risk strong {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-approach-risk p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.6;
}

.c-approach-footnote {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--sh-muted);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
}

.c-approach-week {
  display: grid;
  grid-template-columns: 120px repeat(5, minmax(0, 1fr));
  margin-bottom: 48px;
  border: var(--border-hairline);
}

.c-approach-week > * {
  min-height: 64px;
  padding: 20px 16px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
  margin: 0;
}

.c-approach-week > *:nth-child(6n) {
  border-right: 0;
}

.c-approach-week > *:nth-last-child(-n + 6) {
  border-bottom: 0;
}

.c-approach-week strong {
  background: var(--sh-card);
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-approach-week em {
  color: var(--sh-muted);
  font-size: 11px;
  font-style: normal;
}

.c-approach-week p {
  font-size: 13px;
  line-height: 1.45;
}

/* Company */

.c-company-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-company-stats article {
  padding: 29px 24px;
  border-right: var(--border-hairline);
}

.c-company-stats article:last-child {
  border-right: 0;
}

.c-company-stats strong {
  display: block;
  margin-bottom: 8px;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-company-stats span,
.c-company-tabs button,
.c-company-manifesto > p,
.c-company-founders h4,
.c-company-principles > article > span,
.c-company-origin span,
.c-company-hiring span {
  font-family: var(--sh-font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-company-stats span {
  color: var(--sh-muted);
  font-size: 11px;
}

.c-company-tabs {
  display: flex;
  gap: 32px;
  padding: 0 var(--space-page-x);
  border-bottom: var(--border-hairline);
  background: var(--sh-card);
}

.c-company-tabs button {
  position: relative;
  padding: 20px 0;
  border: 0;
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
  font-size: 14px;
  font-family: var(--sh-font-sans);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.c-company-tabs button.is-active {
  color: var(--sh-fg);
}

.c-company-tabs button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--sh-accent);
  content: "";
}

.l-section--company-manifesto {
  padding-top: 80px;
  padding-bottom: 81px;
}

.c-company-manifesto {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 56px;
  max-width: 1100px;
}

.c-company-manifesto > p {
  padding-top: 8px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 11px;
  line-height: 1.5;
}

.c-company-manifesto > div {
  display: grid;
  gap: 24px;
  color: var(--sh-fg-2);
  font-size: 21px;
  line-height: 1.55;
}

.c-company-manifesto h2 {
  margin: 0;
  color: var(--sh-fg);
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.c-company-manifesto p {
  margin: 0;
}

.c-company-manifesto strong {
  color: var(--sh-fg);
  font-weight: 500;
}

.c-company-manifesto small {
  padding-top: 24px;
  border-top: var(--border-hairline);
  color: var(--sh-muted);
  font-size: 16px;
  line-height: 1.5;
}

.c-company-founders,
.c-company-locations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-company-founders article,
.c-company-locations article {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 24px;
  padding: 36px;
  border-right: var(--border-hairline);
}

.c-company-founders article:last-child,
.c-company-locations article:last-child {
  border-right: 0;
}

.c-company-founders article > div,
.c-company-locations article > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  background: var(--sh-fg);
  color: var(--sh-bg);
  font-family: var(--sh-font-mono);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.c-company-locations article > span {
  width: auto;
  min-width: 64px;
  height: 64px;
  padding: 0 10px;
  border: var(--border-hairline);
  background: var(--sh-card);
  color: var(--sh-accent);
  font-size: 22px;
}

.c-company-locations article:nth-child(2) > span {
  font-size: 13px;
}

.c-company-founders h3,
.c-company-locations h3 {
  margin: 6px 0 12px;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-company-locations h3 {
  margin: 0 0 6px;
  font-size: 28px;
}

.c-company-founders section > strong,
.c-company-locations strong {
  display: block;
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

.c-company-founders section > p:not(.c-eyebrow),
.c-company-locations div > p:not(.c-eyebrow) {
  margin: 0 0 20px;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.6;
}

.c-company-founders h4 {
  margin: 0 0 8px;
  color: var(--sh-muted);
  font-size: 10px;
}

.c-company-founders ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-company-founders li {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 8px;
  padding: 4px 0;
  font-size: 13px;
}

.c-company-founders li span {
  color: var(--sh-accent);
}

.l-section--company-team,
.l-section--company-principles,
.l-section--company-origin,
.l-section--company-hiring {
  padding-top: 64px;
  padding-bottom: 64px;
}

.l-section--company-team {
  padding-bottom: 82px;
}

.l-section--company-principles {
  padding-bottom: 76px;
}

.l-section--company-origin {
  padding-bottom: 72px;
}

.l-section--company-hiring {
  padding-bottom: 16px;
}

.l-section--company-team > .c-section-header,
.l-section--company-hiring > .c-section-header {
  margin-bottom: 28px;
}

.l-section--company-principles > .c-section-header,
.l-section--company-origin > .c-section-header {
  margin-bottom: 32px;
}

.c-company-working {
  margin-top: 56px;
}

.c-company-working .c-section-header {
  margin-bottom: 24px;
}

.c-company-working__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-company-working__grid article {
  display: grid;
  gap: 14px;
  padding: 28px 24px;
  border-right: var(--border-hairline);
}

.c-company-working__grid article:last-child {
  border-right: 0;
}

.c-company-working__grid span {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-company-working__grid p {
  margin: 0;
  color: var(--sh-fg-2);
  font-size: 15px;
  line-height: 1.55;
}

.c-company-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-company-principles article {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 18px;
  padding: 32px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-company-principles article:first-child {
  background: var(--sh-card);
}

.c-company-principles article:nth-child(2n) {
  border-right: 0;
}

.c-company-principles article:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.c-company-principles span,
.c-company-origin span {
  color: var(--sh-accent);
  font-size: 13px;
}

.c-company-principles h3 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 500;
}

.c-company-principles p,
.c-company-origin p,
.c-company-hiring p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.65;
}

.c-company-origin {
  border: var(--border-hairline);
}

.c-company-origin article {
  display: grid;
  grid-template-columns: 160px 1.5fr 1fr;
  gap: 32px;
  padding: 28px;
  border-bottom: var(--border-hairline);
}

.c-company-origin article:last-child {
  border-bottom: 0;
}

.c-company-origin strong {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.c-company-origin p {
  padding-left: 24px;
  border-left: 1px dashed var(--sh-line);
  font-size: 13px;
}

.c-company-hiring {
  border: var(--border-hairline);
}

.c-company-hiring article {
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr 2fr 110px;
  gap: 24px;
  align-items: center;
  padding: 24px;
  border-bottom: var(--border-hairline);
}

.c-company-hiring article:last-child {
  border-bottom: 0;
}

.c-company-hiring strong {
  font-size: 17px;
  font-weight: 500;
}

.c-company-hiring span {
  color: var(--sh-muted);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: none;
}

.c-company-interview {
  margin-top: 32px;
  padding: 28px;
  border: var(--border-hairline);
  border-left: 3px solid var(--sh-accent);
  background: var(--sh-card);
}

.c-company-interview span {
  display: block;
  margin-bottom: 12px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-company-interview p {
  max-width: 760px;
  margin: 0 0 12px;
  color: var(--sh-fg-2);
  font-size: 15px;
  line-height: 1.6;
}

.c-company-interview p:last-child {
  margin-bottom: 0;
  color: var(--sh-muted);
  font-size: 14px;
}

.l-section--company-locations {
  padding-top: 80px;
  padding-bottom: 93px;
}

.l-section--company-locations .c-section-header {
  margin-bottom: 28px;
}

.l-section--company-cta {
  border-top: var(--border-hairline);
}

.l-section--company-cta .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

.c-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--border-hairline);
  background:
    linear-gradient(135deg, var(--sh-line-2) 25%, transparent 25%) 0 0 / 20px 20px,
    var(--sh-card);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Research */

.c-blog-hero {
  padding: 64px var(--space-page-x) 0;
  border-bottom: var(--border-hairline);
}

.c-blog-hero__intro {
  padding-bottom: 26px;
}

.c-blog-hero__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: end;
  margin-top: 14px;
}

.c-blog-hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: 84px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.96;
}

.c-blog-hero h1 span {
  color: var(--sh-muted);
}

.c-blog-hero p:not(.c-eyebrow) {
  max-width: 420px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 16px;
  line-height: 1.6;
}

.c-blog-topics {
  display: flex;
  gap: 32px;
  overflow-x: auto;
  margin: 0 calc(var(--space-page-x) * -1);
  padding: 0 var(--space-page-x);
  border-top: var(--border-hairline);
  background: var(--sh-card);
}

.c-blog-topics button {
  position: relative;
  padding: 18px 0;
  border: 0;
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
}

.c-blog-topics button.is-active {
  color: var(--sh-fg);
}

.c-blog-topics button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--sh-accent);
  content: "";
}

.c-blog-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  padding: 40px var(--space-page-x) 43px;
  border-bottom: var(--border-hairline);
}

.c-blog-featured > .c-placeholder,
.c-blog-featured > div:first-child {
  min-height: 360px;
  aspect-ratio: 4 / 3;
}

.c-blog-featured article > div:first-child {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.c-blog-featured article > div:first-child span,
.c-blog-featured article > div:first-child em,
.c-blog-grid > article > span,
.c-blog-grid > article > em,
.c-blog-grid > article footer em,
.c-blog-grid > article footer a,
.c-blog-filters button,
.c-blog-author em {
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-blog-featured article > div:first-child span {
  padding: 4px 8px;
  border: 1px solid var(--sh-accent);
  color: var(--sh-accent);
}

.c-blog-featured article > div:first-child em,
.c-blog-grid > article > span,
.c-blog-grid > article > em,
.c-blog-grid > article footer em,
.c-blog-author em {
  color: var(--sh-muted);
  font-style: normal;
}

.c-blog-grid > article footer a {
  color: var(--sh-accent);
}

.c-blog-featured h2 {
  margin: 0 0 18px;
  font-size: 44px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.06;
}

.c-blog-featured article > p {
  max-width: 540px;
  margin: 0 0 28px;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-blog-author {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 28px;
}

.c-blog-author > span {
  width: 36px;
  height: 36px;
  border: var(--border-hairline);
  border-radius: 999px;
  background: var(--sh-card);
}

.c-blog-author strong {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

.l-section--blog-list {
  padding-top: 80px;
  padding-bottom: 79px;
}

.l-section--blog-list .c-section-header {
  align-items: start;
  margin-bottom: 28px;
}

.c-blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}

.c-blog-filters button {
  padding: 6px 12px;
  border: var(--border-hairline);
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
}

.c-blog-filters button.is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-blog-grid > article,
.c-blog-promo {
  position: relative;
  display: flex;
  min-height: 494px;
  flex-direction: column;
  padding: 24px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-blog-grid > article:nth-child(-n + 6) {
  min-height: 569px;
}

.c-blog-grid > article:nth-child(3n) {
  border-right: 0;
}

.c-blog-grid > .c-blog-promo:nth-child(3n) {
  border-right: 0;
}

.c-blog-grid > article:nth-child(n + 7),
.c-blog-promo:last-child {
  border-bottom: 0;
}

.c-blog-grid .c-placeholder {
  aspect-ratio: 16 / 10;
  margin-bottom: 18px;
}

.c-blog-grid h3 {
  margin: 10px 0;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.c-blog-grid p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.c-blog-grid em {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--sh-line);
  text-transform: none;
}

.c-blog-card > b {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  padding: 3px 7px;
  background: var(--sh-accent);
  color: var(--sh-accent-fg);
  font-family: var(--sh-font-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.c-blog-card > footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--sh-line);
}

.c-blog-card > footer em {
  margin: 0;
  padding: 0;
  border: 0;
}

.c-artifact {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 180px;
  flex-direction: column;
  overflow: hidden;
  border: var(--border-hairline);
  background: var(--sh-card);
}

.c-artifact header {
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: var(--border-hairline);
  background: var(--sh-bg);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-artifact__body {
  position: relative;
  flex: 1;
  padding: 16px;
  background:
    linear-gradient(to right, transparent 0 29px, var(--sh-line-2) 30px 31px, transparent 32px),
    linear-gradient(to bottom, transparent 0 29px, var(--sh-line-2) 30px 31px, transparent 32px);
  background-size: 32px 32px;
}

.c-artifact__body span,
.c-artifact__body i {
  position: absolute;
  display: block;
  background: var(--sh-fg);
}

.c-artifact__body span:nth-child(1) { left: 22px; top: 36px; width: 72%; height: 6px; }
.c-artifact__body span:nth-child(2) { left: 22px; top: 60px; width: 88%; height: 4px; background: var(--sh-line); }
.c-artifact__body span:nth-child(3) { left: 22px; top: 82px; width: 64%; height: 4px; background: var(--sh-line); }
.c-artifact__body span:nth-child(4) { left: 22px; top: 120px; width: 42%; height: 7px; background: var(--sh-accent); }
.c-artifact__body span:nth-child(5) { left: 22px; right: 22px; bottom: 30px; height: 1px; background: var(--sh-line); }
.c-artifact__body i { bottom: 52px; width: 10%; background: var(--sh-fg); }
.c-artifact__body i:nth-of-type(1) { left: 24px; height: 28%; }
.c-artifact__body i:nth-of-type(2) { left: 42%; height: 44%; }
.c-artifact__body i:nth-of-type(3) { right: 28%; height: 36%; background: var(--sh-accent); }
.c-artifact__body i:nth-of-type(4) { right: 24px; height: 20%; background: var(--sh-accent); }

.c-blog-card > div:first-of-type {
  aspect-ratio: 16 / 10;
  margin-bottom: 18px;
}

.c-outcome-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
  border: var(--border-hairline);
}

.c-outcome-strip small {
  padding: 10px 12px;
  border-right: var(--border-hairline);
  background: var(--sh-card);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 9px;
  line-height: 1.3;
  text-transform: uppercase;
}

.c-outcome-strip small:last-child {
  border-right: 0;
}

.c-outcome-strip strong {
  display: block;
  margin-top: 4px;
  color: var(--sh-fg);
  font-family: var(--sh-font-sans);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.c-blog-archive-head {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 32px;
  align-items: end;
  margin-bottom: 24px;
}

.c-blog-archive-head h2 {
  max-width: 880px;
  margin: 12px 0 0;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-blog-archive-head h2 span {
  color: var(--sh-muted);
}

.c-blog-search {
  display: flex;
  align-items: center;
  border: var(--border-hairline);
  background: var(--sh-bg);
}

.c-blog-search span {
  padding: 0 14px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 13px;
}

.c-blog-search input {
  min-width: 0;
  flex: 1;
  padding: 14px 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--sh-fg);
  font-family: var(--sh-font-mono);
  font-size: 13px;
}

.c-blog-filter-rows {
  margin-bottom: 50px;
}

.c-blog-filter-rows > div {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: var(--border-hairline);
}

.c-blog-filter-rows span {
  width: 80px;
  flex: 0 0 auto;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.c-blog-filter-rows button {
  padding: 5px 10px;
  border: var(--border-hairline);
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
  font-family: var(--sh-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-blog-filter-rows button.is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-blog-promo span {
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-blog-promo h3 {
  margin: 12px 0 14px;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.c-blog-promo p {
  margin: 0 0 20px;
}

.c-blog-promo form {
  display: flex;
  border: var(--border-hairline);
}

.c-blog-promo input {
  min-width: 0;
  flex: 1;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: var(--sh-font-mono);
  font-size: 12px;
}

.c-blog-promo button {
  border: 0;
  padding: 10px 14px;
  background: var(--sh-bg);
  color: var(--sh-fg);
  cursor: pointer;
  font-family: var(--sh-font-mono);
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.c-blog-promo .c-button {
  margin-top: 8px;
  padding: 10px 14px;
  font-size: 12px;
}

.c-blog-promo > em {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--sh-line);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  font-style: normal;
}

.c-blog-promo.is-inverted {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-blog-promo.is-inverted p,
.c-blog-promo.is-inverted span,
.c-blog-promo.is-inverted > em {
  color: rgba(255, 255, 255, 0.7);
}

.c-blog-load {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.l-section--blog-newsletter {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 85px;
  padding-bottom: 85px;
  border-bottom: var(--border-hairline);
  background-image:
    linear-gradient(to right, var(--sh-line-2) 1px, transparent 1px),
    linear-gradient(to bottom, var(--sh-line-2) 1px, transparent 1px);
  background-size: 64px 64px;
}

.l-section--blog-newsletter h2 {
  margin: 16px 0 14px;
  font-size: 44px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.l-section--blog-newsletter p:not(.c-eyebrow) {
  max-width: 520px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 16px;
  line-height: 1.6;
}

.l-section--blog-newsletter form {
  display: flex;
  border: 1px solid var(--sh-fg);
}

.l-section--blog-newsletter input {
  min-width: 0;
  flex: 1;
  padding: 14px 16px;
  border: 0;
  background: var(--sh-bg);
  color: var(--sh-fg);
}

.l-section--blog-newsletter button {
  border: 0;
  padding: 14px 22px;
}

.c-blog-hero--research .c-blog-hero__intro {
  padding-bottom: 26px;
}

.c-blog-hero--research h1 {
  font-size: 64px;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-blog-hero--research p:not(.c-eyebrow) {
  max-width: 460px;
  color: var(--sh-fg);
  letter-spacing: 0;
}

.c-blog-hero--research p:not(.c-eyebrow) span {
  color: var(--sh-muted);
}

.c-blog-formats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 calc(var(--space-page-x) * -1);
  border-top: var(--border-hairline);
}

.c-blog-formats button {
  display: block;
  min-height: 107px;
  padding: 22px 28px;
  border: 0;
  border-right: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  cursor: pointer;
  text-align: left;
}

.c-blog-formats button:last-child {
  border-right: 0;
}

.c-blog-formats span {
  display: block;
  margin-bottom: 8px;
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-blog-formats strong {
  display: block;
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.45;
}

.c-blog-archive {
  margin-bottom: 24px;
}

.c-blog-archive__heading {
  margin-bottom: 26px;
}

.c-blog-archive__heading h2 {
  max-width: 880px;
  margin: 12px 0 0;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-blog-archive__heading h2 span {
  color: var(--sh-muted);
}

.c-blog-toolbar {
  border: var(--border-hairline);
  background: var(--sh-card);
}

.c-blog-topic-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  padding: 0 18px;
  border-bottom: var(--border-hairline);
}

.c-blog-topic-tabs button {
  position: relative;
  padding: 14px 0;
  border: 0;
  background: transparent;
  color: var(--sh-muted);
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
}

.c-blog-topic-tabs button.is-active {
  color: var(--sh-fg);
}

.c-blog-topic-tabs button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--sh-accent);
  content: "";
}

.c-blog-toolbar__bottom {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto auto;
  align-items: stretch;
}

.c-blog-toolbar .c-blog-search {
  border: 0;
  border-right: var(--border-hairline);
  background: transparent;
}

.c-toolbar-select,
.c-blog-count {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 0 18px;
  border: 0;
  border-left: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  cursor: pointer;
  font-family: var(--sh-font-mono);
  font-size: 11px;
}

.c-toolbar-select span,
.c-blog-count {
  color: var(--sh-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-toolbar-select strong {
  font-size: 12px;
  font-weight: 500;
}

.c-blog-grid--research > article {
  height: 495px;
  min-height: 495px;
}

.c-blog-grid--research > article:nth-child(-n + 6) {
  height: 550px;
  min-height: 550px;
}

.c-blog-load .c-button {
  font-size: 13px;
}

.c-blog-grid--research > article > span strong {
  color: var(--sh-fg);
  font-weight: 600;
}

.c-blog-grid--research > article.is-case > span strong {
  color: var(--sh-accent);
}

.c-artifact__body svg {
  width: 100%;
  height: 100%;
}

.c-artifact__body svg rect,
.c-artifact__body svg line,
.c-artifact__body svg path {
  fill: none;
  stroke: var(--sh-fg);
  stroke-width: 1;
}

.c-artifact__body svg rect:not(.is-dashed) {
  fill: var(--sh-bg);
}

.c-artifact__body svg rect.is-accent {
  fill: var(--sh-accent);
  stroke: var(--sh-accent);
}

.c-artifact__body svg .is-dashed {
  stroke: var(--sh-line);
  stroke-dasharray: 3 3;
}

.c-artifact__body svg text {
  fill: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 9px;
}

.c-artifact__body .c-artifact-table,
.c-artifact__body .c-artifact-layers,
.c-artifact__body .c-artifact-matrix,
.c-artifact__body .c-artifact-doc {
  height: 100%;
}

.c-artifact__body .c-artifact-table {
  display: grid;
  grid-template-columns: 1.6fr 1.2fr 0.8fr 0.8fr 0.5fr;
  gap: 0 8px;
  align-content: start;
  color: var(--sh-fg-2);
  font-family: var(--sh-font-mono);
  font-size: 10.5px;
  line-height: 1.45;
}

.c-artifact__body .c-artifact-table span,
.c-artifact__body .c-artifact-table b,
.c-artifact__body .c-artifact-layers span,
.c-artifact__body .c-artifact-matrix span,
.c-artifact__body .c-artifact-doc i,
.c-artifact__body .c-artifact-doc b {
  position: static;
  display: block;
  width: auto;
  height: auto;
  background: transparent;
}

.c-artifact__body .c-artifact-table b,
.c-artifact__body .c-artifact-table span {
  padding: 5px 0;
  border-bottom: 1px dashed var(--sh-line);
  font-weight: 400;
}

.c-artifact__body .c-artifact-table b {
  color: var(--sh-muted);
  font-size: 9.5px;
  letter-spacing: 0.05em;
}

.c-artifact-layers {
  display: grid;
  gap: 8px;
  align-content: center;
}

.c-artifact-layers span {
  padding: 7px 10px;
  border: var(--border-hairline);
  color: var(--sh-fg);
  font-family: var(--sh-font-mono);
  font-size: 9.5px;
}

.c-artifact-layers span.is-accent {
  border-color: var(--sh-accent);
  background: rgba(231, 76, 95, 0.06);
}

.c-artifact-matrix {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  align-content: start;
  border-top: var(--border-hairline);
  border-left: var(--border-hairline);
  font-family: var(--sh-font-mono);
  font-size: 8.5px;
}

.c-artifact-matrix span {
  min-height: 27px;
  padding: 6px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
  color: var(--sh-muted);
}

.c-artifact-matrix span.is-owned {
  background: var(--sh-accent);
  color: var(--sh-accent-fg);
}

.c-artifact-doc {
  display: grid;
  grid-template-columns: 0.9fr 1.4fr;
  gap: 12px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 9.5px;
}

.c-artifact-doc nav {
  border-right: 1px dashed var(--sh-line);
  line-height: 1.8;
}

.c-artifact-doc div {
  display: grid;
  gap: 5px;
  align-content: start;
}

.c-artifact-doc i,
.c-artifact-doc b {
  height: 4px;
  background: var(--sh-line);
}

.c-artifact-doc b {
  width: 42%;
  height: 7px;
  background: var(--sh-accent);
}

.l-section--blog-newsletter {
  display: block;
  min-height: 539px;
  padding-top: 88px;
  padding-bottom: 88px;
}

.c-blog-newsletter-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: start;
}

.c-blog-newsletter-grid h2 {
  margin: 18px 0 0;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-blog-newsletter-grid h2 span {
  color: var(--sh-muted);
}

.c-blog-newsletter-grid p:not(.c-eyebrow) {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-blog-newsletter-grid em,
.c-blog-issues a span,
.c-blog-issues a em {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-blog-newsletter-grid > div:first-child > em {
  display: block;
  margin-top: 28px;
}

.c-blog-newsletter-grid form {
  display: flex;
  margin-top: 10px;
  border: 1px solid var(--sh-fg);
  background: var(--sh-bg);
}

.c-blog-newsletter-grid input {
  min-width: 0;
  flex: 1;
  padding: 15px 18px;
  border: 0;
  background: transparent;
  color: var(--sh-fg);
}

.c-blog-newsletter-grid button {
  border: 0;
  padding: 15px 22px;
  font-size: 14px;
}

.c-blog-issues {
  margin-top: 28px;
}

.c-blog-issues > .c-eyebrow {
  margin-bottom: 14px;
}

.c-blog-issues a {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 11px 4px;
  border-top: var(--border-hairline);
}

.c-blog-issues strong {
  display: block;
  font-size: 14px;
  font-weight: 450;
  line-height: 1.35;
}

.c-blog-issues__archive {
  display: inline-block;
  margin-top: 14px;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--sh-fg);
  color: var(--sh-fg);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-blog-issues small {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Contact */

.c-contact-hero {
  padding: 72px var(--space-page-x) 50px;
  border-bottom: var(--border-hairline);
}

.c-contact-hero__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: end;
  margin-top: 14px;
}

.c-contact-hero h1 {
  margin: 0;
  font-size: 84px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.96;
}

.c-contact-hero h1 span {
  color: var(--sh-muted);
}

.c-contact-hero__grid > p {
  max-width: 460px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 17px;
  line-height: 1.6;
}

.c-contact-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-contact-stats article {
  min-height: 143px;
  padding: 28px 24px;
  border-right: var(--border-hairline);
}

.c-contact-stats article:last-child {
  border-right: 0;
}

.c-contact-stats span,
.c-contact-label,
.c-contact-kind legend,
.c-contact-field span,
.c-contact-urgency legend {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-contact-stats span {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
}

.c-contact-stats strong {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-contact-form-section {
  padding: 64px var(--space-page-x);
  border-bottom: var(--border-hairline);
}

.c-contact-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 56px;
  align-items: start;
}

.c-contact-label {
  margin: 0 0 18px;
  color: var(--sh-accent);
}

.c-contact-intake fieldset {
  padding: 0;
  border: 0;
  margin: 0 0 32px;
}

.c-contact-kind legend,
.c-contact-urgency legend {
  display: block;
  margin-bottom: 14px;
}

.c-contact-kind__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-contact-kind input,
.c-contact-urgency input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.c-contact-kind label {
  display: block;
  min-height: 112px;
  padding: 18px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
  cursor: pointer;
}

.c-contact-kind__grid > div:nth-child(2n) label {
  border-right: 0;
}

.c-contact-kind__grid > div:nth-last-child(-n + 2) label {
  border-bottom: 0;
}

.c-contact-kind input:checked + label {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-contact-kind strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 500;
}

.c-contact-kind em {
  display: block;
  margin-bottom: 6px;
  opacity: 0.55;
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
}

.c-contact-kind span {
  display: block;
  opacity: 0.7;
  font-size: 12px;
  line-height: 1.4;
}

.c-contact-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.c-contact-field {
  display: block;
}

.c-contact-field span {
  display: block;
  margin-bottom: 8px;
}

.c-contact-field input,
.c-contact-field select,
.c-contact-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: var(--border-hairline);
  background: var(--sh-bg);
  color: var(--sh-fg);
  font: inherit;
  font-size: 14px;
}

.c-contact-field textarea {
  min-height: 162px;
  resize: vertical;
  line-height: 1.55;
}

.c-contact-urgency {
  margin-bottom: 24px;
}

.c-contact-urgency > div {
  border-right: var(--border-hairline);
  border-left: var(--border-hairline);
}

.c-contact-urgency > div:first-of-type {
  border-top: var(--border-hairline);
}

.c-contact-urgency label {
  display: grid;
  grid-template-columns: 20px 1fr 80px;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: var(--border-hairline);
  cursor: pointer;
}

.c-contact-urgency input:checked + label {
  background: var(--sh-card);
}

.c-contact-urgency i {
  width: 12px;
  height: 12px;
  border: var(--border-hairline);
  border-radius: 999px;
}

.c-contact-urgency input:checked + label i {
  background: var(--sh-accent);
}

.c-contact-urgency label span {
  font-size: 14px;
}

.c-contact-urgency label em {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
  text-align: right;
}

.c-contact-submit {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding-top: 20px;
  border-top: var(--border-hairline);
}

.c-contact-submit p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 12px;
  line-height: 1.55;
}

.c-contact-submit .c-button {
  padding: 14px 22px;
  font-size: 15px;
}

.c-contact-next {
  position: sticky;
  top: 32px;
}

.c-contact-next ol {
  padding: 0;
  border: var(--border-hairline);
  margin: 0;
  list-style: none;
}

.c-contact-next li {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-top: var(--border-hairline);
}

.c-contact-next li:first-child {
  border-top: 0;
}

.c-contact-next li > span {
  padding-top: 2px;
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 11px;
}

.c-contact-next strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
}

.c-contact-next li p,
.c-contact-referral p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 12px;
  line-height: 1.5;
}

.c-contact-referral {
  margin-top: 24px;
  padding: 18px;
  border: var(--border-hairline);
  background: var(--sh-card);
}

.c-contact-referral span,
.c-contact-alt article span {
  display: block;
  margin-bottom: 8px;
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-contact-alt,
.c-contact-offices {
  padding: 56px var(--space-page-x);
  border-bottom: var(--border-hairline);
}

.c-contact-alt .c-section-header,
.c-contact-offices .c-section-header,
.c-contact-faq .c-section-header {
  margin-bottom: 28px;
}

.c-contact-alt__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-contact-alt article {
  min-height: 172px;
  padding: 24px;
  border-right: var(--border-hairline);
}

.c-contact-alt article:last-child {
  border-right: 0;
}

.c-contact-alt article strong {
  display: block;
  margin-bottom: 10px;
  font-family: var(--sh-font-mono);
  font-size: 14px;
  font-weight: 500;
}

.c-contact-alt article p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 13px;
  line-height: 1.55;
}

.c-contact-offices__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-contact-offices article {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  min-height: 191px;
  padding: 32px;
  border-right: var(--border-hairline);
}

.c-contact-offices article:last-child {
  border-right: 0;
}

.c-contact-offices article > span {
  display: flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  border: var(--border-hairline);
  background: var(--sh-card);
  color: var(--sh-accent);
  font-family: var(--sh-font-mono);
  font-size: 18px;
  font-weight: 500;
}

.c-contact-offices h3 {
  margin: 0 0 4px;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-contact-offices em {
  display: block;
  margin-bottom: 14px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-contact-offices p {
  margin: 0 0 4px;
  color: var(--sh-fg-2);
  font-size: 14px;
}

.c-contact-offices p:last-child {
  color: var(--sh-muted);
  font-size: 13px;
}

.c-contact-faq {
  padding-top: 91px;
  padding-bottom: 91px;
}

.c-contact-faq__list {
  border: var(--border-hairline);
}

.c-contact-faq details {
  padding: 18px 24px;
  border-top: var(--border-hairline);
}

.c-contact-faq details:first-child {
  border-top: 0;
}

.c-contact-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  list-style: none;
}

.c-contact-faq summary::-webkit-details-marker {
  display: none;
}

.c-contact-faq summary em {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 12px;
  font-style: normal;
}

.c-contact-faq details p {
  margin: 14px 0 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.6;
}

.c-contact-cta {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 64px;
  align-items: center;
  padding: 85px var(--space-page-x);
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
  background: var(--sh-card);
}

.c-contact-cta .c-eyebrow {
  margin-bottom: 16px;
}

.c-contact-cta h2 {
  margin: 0;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
}

.c-contact-cta h2 span {
  color: var(--sh-muted);
}

.c-contact-cta > div:last-child {
  display: grid;
  gap: 12px;
}

.c-contact-cta .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

.c-contact-success,
.c-contact-error {
  padding: 48px;
  border: 1px solid var(--sh-accent);
  background: var(--sh-card);
}

.c-contact-success h2 {
  margin: 0 0 14px;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-contact-success p:not(.c-eyebrow),
.c-contact-error span {
  display: block;
  margin: 0 0 18px;
  color: var(--sh-fg-2);
  font-size: 15px;
  line-height: 1.6;
}

.c-contact-success em {
  color: var(--sh-muted);
  font-size: 13px;
  font-style: normal;
}

.c-contact-error {
  margin-bottom: 24px;
}

.c-contact-error strong {
  display: block;
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: 500;
}

/* Work */

.c-work-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-work-tabs button {
  position: relative;
  display: block;
  min-height: 153px;
  padding: 28px 24px;
  border: 0;
  border-right: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.c-work-tabs button:last-child {
  border-right: 0;
}

.c-work-tabs button.is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-work-tabs button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: var(--sh-accent);
  content: "";
}

.c-work-tabs span,
.c-work-tabs em,
.c-work-meta span,
.c-work-approach article span,
.c-work-results header,
.c-work-results article span,
.c-work-results article em,
.c-work-results article b,
.c-work-quote span,
.c-work-quote em,
.c-work-confidential header,
.c-work-confidential article > span {
  font-family: var(--sh-font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-work-tabs span,
.c-work-tabs em {
  display: block;
  color: currentColor;
  font-size: 10px;
  font-style: normal;
  opacity: 0.55;
}

.c-work-tabs strong {
  display: block;
  max-width: 360px;
  margin: 8px 0 10px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
}

.c-work-tabs em {
  font-size: 11px;
}

.l-section--work-detail {
  padding-top: 57px;
  padding-bottom: 59px;
}

.c-work-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  padding-bottom: 28px;
  margin-bottom: 40px;
  border-bottom: var(--border-hairline);
}

.c-work-meta span {
  display: block;
  margin-bottom: 6px;
  color: var(--sh-muted);
  font-size: 10px;
}

.c-work-meta strong {
  font-size: 15px;
  font-weight: 500;
}

.c-work-title,
.c-work-problem {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 64px;
  margin-bottom: 56px;
}

.c-work-title h2 {
  margin: 0;
  font-size: 52px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

.c-work-title div > p:not(.c-eyebrow) {
  margin: 10px 0 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.55;
}

.c-work-problem {
  padding-bottom: 48px;
  border-bottom: var(--border-hairline);
}

.c-work-problem > div:first-child > p:not(.c-eyebrow) {
  max-width: 720px;
  margin: 14px 0 0;
  color: var(--sh-fg-2);
  font-size: 19px;
  line-height: 1.5;
}

.c-work-problem ul {
  padding: 0;
  margin: 14px 0 0;
  list-style: none;
}

.c-work-problem li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--sh-line);
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.5;
}

.c-work-problem li:last-child {
  border-bottom: 0;
}

.c-work-approach,
.c-work-results {
  margin-bottom: 56px;
}

.c-work-approach > p,
.c-work-results > p {
  margin-bottom: 20px;
}

.c-work-approach > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-work-approach article {
  min-height: 200px;
  padding: 24px;
  border-right: var(--border-hairline);
}

.c-work-approach article:last-child {
  border-right: 0;
}

.c-work-approach span {
  color: var(--sh-muted);
  font-size: 10px;
}

.c-work-approach h4 {
  margin: 10px 0;
  font-size: 19px;
  font-weight: 500;
}

.c-work-approach p,
.c-work-quote article p,
.c-work-confidential p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 13px;
  line-height: 1.55;
}

.c-work-results > div,
.c-work-confidential {
  border: var(--border-hairline);
}

.c-work-results header,
.c-work-results article,
.c-work-confidential header,
.c-work-confidential article {
  display: grid;
  align-items: baseline;
  border-bottom: var(--border-hairline);
}

.c-work-results header,
.c-work-results article {
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  padding: 14px 24px;
}

.c-work-results header,
.c-work-confidential header {
  background: var(--sh-card);
  color: var(--sh-muted);
  font-size: 11px;
}

.c-work-results article {
  padding-top: 20px;
  padding-bottom: 20px;
}

.c-work-results article:last-child,
.c-work-confidential article:last-child {
  border-bottom: 0;
}

.c-work-results article strong {
  font-size: 15px;
  font-weight: 500;
}

.c-work-results article span {
  color: var(--sh-muted);
  font-size: 16px;
}

.c-work-results article em {
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
}

.c-work-results article b {
  color: var(--sh-accent);
  font-size: 14px;
  font-weight: 400;
}

.c-work-quote {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
}

.c-work-quote blockquote {
  margin: 0;
  padding: 32px;
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-work-quote blockquote span,
.c-work-quote blockquote em {
  color: currentColor;
  font-size: 11px;
  font-style: normal;
  opacity: 0.6;
}

.c-work-quote blockquote p {
  margin: 20px 0 24px;
  font-size: 24px;
  line-height: 1.35;
  letter-spacing: 0;
}

.c-work-quote article {
  padding: 32px;
  border: var(--border-hairline);
  border-left: 3px solid var(--sh-accent);
  background: var(--sh-card);
}

.c-work-quote article span {
  display: block;
  margin-bottom: 14px;
  color: var(--sh-muted);
  font-size: 11px;
}

.l-section--work-confidential {
  padding-top: 77px;
  padding-bottom: 77px;
}

.l-section--work-confidential .c-section-header {
  margin-bottom: 28px;
}

.c-work-confidential header,
.c-work-confidential article {
  grid-template-columns: 1.4fr 1.2fr 0.7fr 0.7fr 2.4fr;
  padding: 14px 20px;
}

.c-work-confidential article {
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 14px;
}

.c-work-confidential article strong {
  font-weight: 500;
}

.c-work-confidential article span {
  color: var(--sh-muted);
  font-size: 12px;
}

.l-section--work-fit {
  padding-top: 66px;
  padding-bottom: 67px;
  border-top: var(--border-hairline);
  background: var(--sh-card);
}

.c-work-fit {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
}

.c-work-fit h2 {
  margin: 14px 0 0;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-work-fit > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-work-fit h4 {
  margin: 0;
  padding: 14px 18px;
  border-bottom: var(--border-hairline);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-work-fit h4:first-child {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-work-fit h4:nth-child(2) {
  border-left: var(--border-hairline);
  color: var(--sh-muted);
}

.c-work-fit p {
  margin: 0;
  padding: 18px;
  border-top: var(--border-hairline);
  font-size: 14px;
  line-height: 1.5;
}

.c-work-fit p:nth-child(2n + 4) {
  border-left: var(--border-hairline);
  color: var(--sh-muted);
}

.l-section--work-cta {
  padding-top: 92px;
  padding-bottom: 93px;
  border-top: var(--border-hairline);
}

.l-section--work-cta .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

/* Pricing */

.c-pricing-packages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: var(--border-hairline);
}

.c-pricing-packages article {
  position: relative;
  display: flex;
  min-height: 883px;
  flex-direction: column;
  padding: 40px 28px 32px;
  border-right: var(--border-hairline);
}

.c-pricing-packages article:last-child {
  border-right: 0;
}

.c-pricing-packages .is-featured {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-pricing-packages b,
.c-pricing-packages > article > span,
.c-pricing-packages em,
.c-pricing-packages li span:last-child,
.c-pricing-packages h4,
.c-pricing-estimator label,
.c-pricing-estimator label span,
.c-pricing-estimator > div:last-child > span,
.c-pricing-estimator > div:last-child > em,
.c-pricing-table header,
.c-pricing-table--rates article span,
.c-pricing-note {
  font-family: var(--sh-font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-pricing-packages b {
  position: absolute;
  top: 16px;
  right: 20px;
  color: var(--sh-accent);
  font-size: 10px;
  font-weight: 400;
}

.c-pricing-packages > article > span {
  margin-bottom: 12px;
  font-size: 11px;
  opacity: 0.6;
}

.c-pricing-packages h3 {
  margin: 0 0 10px;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-pricing-packages p {
  max-width: 320px;
  margin: 0 0 28px;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.55;
}

.c-pricing-packages .is-featured p,
.c-pricing-packages .is-featured ol {
  color: rgba(255, 255, 255, 0.7);
}

.c-pricing-packages div {
  margin-bottom: 24px;
}

.c-pricing-packages em {
  display: block;
  color: currentColor;
  font-size: 10px;
  font-style: normal;
  opacity: 0.55;
}

.c-pricing-packages strong {
  display: block;
  margin: 6px 0 8px;
  font-size: 44px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-pricing-packages small {
  font-size: 18px;
  font-weight: 400;
  opacity: 0.6;
}

.c-pricing-packages ul,
.c-pricing-packages ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-pricing-packages li {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.9fr;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--sh-line);
  font-size: 13px;
}

.c-pricing-packages .is-featured li {
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

.c-pricing-packages li span:nth-child(2) {
  opacity: 0.6;
}

.c-pricing-packages li span:last-child {
  color: var(--sh-muted);
  font-size: 11px;
  text-align: right;
}

.c-pricing-packages .is-featured li span:last-child {
  color: rgba(255, 255, 255, 0.55);
}

.c-pricing-packages > article > p:nth-of-type(2) {
  max-width: none;
  padding-top: 14px;
  margin: 20px 0;
  border-top: var(--border-hairline);
  font-size: 12px;
  opacity: 0.65;
}

.c-pricing-packages h4 {
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 400;
  opacity: 0.55;
}

.c-pricing-packages ol li {
  display: block;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.55;
}

.c-pricing-packages .c-button {
  width: 100%;
  padding: 13px 18px;
  margin-top: auto;
}

.c-pricing-packages .is-featured .c-button {
  background: var(--sh-bg);
  color: var(--sh-fg);
}

.l-section--pricing-estimator {
  padding-top: 54px;
  padding-bottom: 54px;
}

.l-section--pricing-rates {
  padding-top: 86px;
  padding-bottom: 86px;
}

.l-section--pricing-faq {
  padding-top: 93px;
  padding-bottom: 93px;
}

.l-section--pricing-estimator .c-section-header,
.l-section--pricing-rates .c-section-header,
.l-section--pricing-compare .c-section-header,
.l-section--pricing-faq .c-section-header {
  margin-bottom: 28px;
}

.c-pricing-estimator {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: var(--border-hairline);
}

.c-pricing-estimator > div {
  display: grid;
  gap: 28px;
  padding: 32px;
  border-right: var(--border-hairline);
}

.c-pricing-estimator > div:last-child {
  display: block;
  border-right: 0;
  background: var(--sh-card);
}

.c-pricing-estimator label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  color: var(--sh-muted);
  font-size: 11px;
}

.c-pricing-estimator label span {
  color: var(--sh-accent);
  font-size: 13px;
}

.c-pricing-segment {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: var(--border-hairline);
}

.c-pricing-segment button {
  padding: 14px 12px;
  border: 0;
  border-right: var(--border-hairline);
  background: transparent;
  cursor: pointer;
}

.c-pricing-segment button:last-child {
  border-right: 0;
}

.c-pricing-segment .is-active {
  background: var(--sh-fg);
  color: var(--sh-bg);
}

.c-pricing-estimator input {
  width: 100%;
  accent-color: var(--sh-accent);
}

.c-pricing-estimator > div:last-child > span {
  color: var(--sh-muted);
  font-size: 11px;
}

.c-pricing-estimator > div:last-child > strong {
  display: block;
  margin: 14px 0 8px;
  font-size: 64px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-pricing-estimator > div:last-child > em {
  display: block;
  margin-bottom: 28px;
  color: var(--sh-muted);
  font-size: 12px;
  font-style: normal;
}

.c-pricing-estimator dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 24px;
  margin: 0 0 32px;
  border-top: var(--border-hairline);
  font-size: 14px;
}

.c-pricing-estimator dt {
  color: var(--sh-muted);
}

.c-pricing-estimator dd {
  margin: 0;
  text-align: right;
  font-weight: 500;
}

.c-pricing-estimator .c-button {
  width: 100%;
  padding: 14px 20px;
}

.c-pricing-table {
  border: var(--border-hairline);
}

.c-pricing-table header,
.c-pricing-table article {
  display: grid;
  align-items: center;
  border-bottom: var(--border-hairline);
}

.c-pricing-table header {
  padding: 14px 20px;
  background: var(--sh-card);
  color: var(--sh-muted);
  font-size: 11px;
}

.c-pricing-table article:last-child {
  border-bottom: 0;
}

.c-pricing-table--rates header,
.c-pricing-table--rates article {
  grid-template-columns: 1.2fr 0.8fr 2fr;
}

.c-pricing-table--rates article {
  padding: 18px 20px;
  font-size: 14px;
}

.c-pricing-table--rates strong {
  font-weight: 500;
}

.c-pricing-table--rates span {
  color: var(--sh-accent);
}

.c-pricing-table--rates p {
  margin: 0;
  color: var(--sh-muted);
}

.l-section--pricing-compare {
  padding-top: 75px;
  padding-bottom: 76px;
  border-top: var(--border-hairline);
  background: var(--sh-card);
  transform: translateY(-1px);
}

.c-pricing-table--compare {
  background: var(--sh-bg);
}

.c-pricing-table--compare article {
  grid-template-columns: 1.4fr 1fr 1.1fr 1fr;
  padding: 16px 20px;
  font-size: 14px;
}

.c-pricing-table--compare .is-header {
  background: var(--sh-card);
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-pricing-table--compare span:first-child {
  color: var(--sh-muted);
}

.c-pricing-table--compare span:nth-child(2):not(:first-child) {
  color: var(--sh-accent);
  font-weight: 500;
}

.c-pricing-note {
  margin: 14px 0 0;
  color: var(--sh-muted);
  font-size: 11px;
}

.c-pricing-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
}

.c-pricing-faq article {
  padding: 24px 28px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-pricing-faq article:nth-child(2n) {
  border-right: 0;
}

.c-pricing-faq article:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.c-pricing-faq h4 {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 500;
}

.c-pricing-faq p {
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.6;
}

.l-section--pricing-cta {
  padding-top: 85px;
  padding-bottom: 85px;
  border-top: var(--border-hairline);
  transform: translateY(-1px);
}

.l-section--pricing-cta .c-button {
  padding: 15px 22px;
  font-size: 15px;
}

.c-detail__hero h1 {
  max-width: 980px;
  font-size: 70px;
}

.c-richtext {
  max-width: 760px;
  color: var(--sh-fg);
  font-size: 18px;
  line-height: 1.75;
}

.c-richtext p {
  margin: 0 0 1.2em;
}

.c-quote p {
  max-width: 900px;
  margin: 0 0 14px;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1.25;
}

/* Shared final CTA */

.c-cta {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
}

.c-cta h2 {
  max-width: 980px;
  margin: 18px 0 0;
  font-size: 56px;
  line-height: 1.05;
}

.c-cta h2 span {
  color: var(--sh-muted);
}

.c-cta > div > .c-eyebrow {
  display: flex;
  line-height: 14px;
}

.c-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.c-cta__actions .c-button {
  padding: 15px 22px;
  font-size: 14px;
}

.c-cta__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: var(--border-hairline);
  background: var(--sh-bg);
}

.c-cta__stats-label {
  margin: 0 0 10px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-cta__stats article {
  padding: 18px 20px;
  border-right: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.c-cta__stats article:nth-child(2n) {
  border-right: 0;
}

.c-cta__stats article:nth-last-child(-n+2) {
  border-bottom: 0;
}

.c-cta__stats span {
  display: block;
  margin-bottom: 8px;
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.c-cta__stats strong {
  display: block;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0;
}

.c-quote cite {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 12px;
  font-style: normal;
  text-transform: uppercase;
}

.c-option-grid {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.c-option-grid article {
  padding: 16px;
  border: var(--border-hairline);
}

.c-option-grid strong,
.c-option-grid span {
  display: block;
}

.c-option-grid span,
.c-option-grid p {
  color: var(--sh-muted);
  font-size: 13px;
}

.c-form {
  display: grid;
  gap: 18px;
  padding: 28px;
  border: var(--border-hairline);
  background: var(--sh-card);
}

.c-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.c-form label {
  display: grid;
  gap: 8px;
}

.c-form label span {
  color: var(--sh-muted);
  font-family: var(--sh-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.c-form input,
.c-form select,
.c-form textarea {
  width: 100%;
  border: var(--border-hairline);
  background: transparent;
  color: var(--sh-fg);
  padding: 12px 14px;
  border-radius: 0;
}

.c-form textarea {
  min-height: 160px;
  resize: vertical;
}
