/* WCAG 2.4.1 Bypass Blocks — skip link. Off-screen until keyboard-focused,
   then pinned top-left with a high-contrast cobalt chip. Focus target is
   <main id="az-main" tabindex="-1"> in every template. */
.az-skip-link {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 1000;
  padding: 12px 18px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  background: var(--az-color-surface);
  color: var(--az-color-text);
  font-family: var(--az-font-h6-family, sans-serif);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  border: 1px solid var(--az-color-border);
  /* Hidden until keyboard focus — clipped, not display:none, so screen
     readers and tab order still reach it. */
  clip-path: inset(50%);
  white-space: nowrap;
  overflow: hidden;
}
.az-skip-link:focus {
  clip-path: none;
  overflow: visible;
  outline: var(--az-token-focus);
  outline-offset: 2px;
}
#az-main:focus {
  outline: none;
}

body {
  color: var(--az-color-text);
}

:where(.wp-element-button, .wp-block-button__link) {
  border: 1px solid var(--az-token-action-primary-bg);
  background: var(--az-token-action-primary-bg);
  color: var(--az-token-action-primary-text);
  box-shadow: var(--az-token-action-shadow-rest);
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

:where(.wp-element-button, .wp-block-button__link):hover {
  border-color: color-mix(in srgb, var(--az-token-action-primary-bg) 88%, var(--az-token-signal-support) 12%);
  background: color-mix(in srgb, var(--az-token-action-primary-bg) 88%, var(--az-token-signal-support) 12%);
  color: var(--az-token-action-primary-text);
  box-shadow: var(--az-token-action-shadow-hover);
  transform: translate(-1px, -1px);
}

:where(.wp-element-button, .wp-block-button__link):focus-visible {
  outline: var(--az-token-focus);
  outline-offset: 3px;
}

:where(.wp-element-button, .wp-block-button__link):active {
  box-shadow: var(--az-token-action-shadow-pressed);
  transform: translate(1px, 1px);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
  border-color: var(--az-token-action-secondary-border);
  background: var(--az-token-surface);
  color: var(--az-token-action-secondary-text);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
  border-color: var(--az-token-action-secondary-border);
  background: var(--az-token-surface-subtle);
  color: var(--az-token-action-secondary-text);
}

:where(.wp-element-button, .wp-block-button__link, .wpforms-submit, .az-hub-page__button):where(:disabled, [aria-disabled="true"], .is-disabled) {
  border-color: var(--az-token-action-disabled-border);
  background: var(--az-token-action-disabled-bg);
  color: var(--az-token-action-disabled-text);
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
  opacity: 1;
}

.az-page-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)),
.az-post-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)),
.az-archive-shell :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)),
.az-case-study-archive :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)) {
  color: var(--az-token-action-secondary-text);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.az-page-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):hover,
.az-post-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):hover,
.az-archive-shell :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):hover,
.az-case-study-archive :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):hover {
  color: color-mix(in srgb, var(--az-token-action-secondary-text) 84%, var(--az-token-signal-support) 16%);
}

.az-page-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):focus-visible,
.az-post-shell__content :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):focus-visible,
.az-archive-shell :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):focus-visible,
.az-case-study-archive :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action):not(.page-numbers)):focus-visible {
  outline: var(--az-token-focus);
  outline-offset: 2px;
}

.az-shell-band {
  width: 100%;
}

.az-shell-inner {
  width: 100%;
  max-width: var(--az-shell-max-width);
  min-width: 0;
  margin-inline: auto;
  padding-inline: var(--az-shell-pad-x);
  box-sizing: border-box;
}

.az-shell-main {
  width: 100%;
}

.az-site-header,
.az-site-footer {
  border-top: 1px solid color-mix(in srgb, var(--az-color-neutral-line) 46%, transparent);
}

.az-site-header {
  border-top: 0;
  border-bottom: 0;
  box-shadow: none;
  padding: clamp(1.25rem, 2.1vw, 2rem) 0 0.5rem;
  background: var(--az-color-inverse);
  color: var(--az-token-action-primary-text);
}

.az-site-footer {
  margin-top: 0;
  padding: var(--az-space-80) 0;
  background: var(--az-color-inverse);
  color: var(--az-token-action-primary-text);
  border-top: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 12%, transparent);
}

.az-site-header__inner {
  display: grid;
  gap: clamp(0.35rem, 0.7vw, 0.55rem);
  align-items: start;
}

.az-site-header__inner.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.az-site-footer__inner {
  gap: 0;
}

.az-site-header__nav-row {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--az-space-20);
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 40;
  padding: 0.15rem 0 0.55rem;
  background: var(--az-color-inverse);
  border-bottom: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 18%, transparent);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--az-token-action-primary-text) 8%, transparent);
}

.az-site-header__title,
.az-site-footer__title {
  font-size: clamp(1.35rem, 1.15rem + 0.7vw, 1.85rem);
  margin: 0;
  line-height: 1.1;
}

.az-site-header__logo {
  margin: 0;
  justify-self: start;
  position: relative;
  height: clamp(1.8rem, 2.4vw, 2.4rem);
}

.az-site-header__logo img {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: auto;
  height: clamp(2.8rem, 3.9vw, 4.1rem);
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}

.az-site-header__title a,
.az-site-footer__title a,
.az-site-header__nav a,
.az-site-footer__nav a {
  color: inherit;
  text-decoration: none;
}

.az-site-header__nav .wp-block-navigation-item__content,
.az-site-footer__nav .wp-block-navigation-item__content {
  padding: 0.2rem 0;
  font-size: var(--az-type-body);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  text-decoration-color: currentColor;
}

.az-site-header__nav,
.az-site-footer__nav {
  row-gap: var(--az-space-20);
  column-gap: var(--az-space-20);
}

.az-site-header__nav--primary {
  flex: 1 1 34rem;
}

.az-site-header__nav--utility {
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.az-site-header__nav--primary .wp-block-navigation__container {
  justify-content: flex-start;
}

.az-site-header__nav--utility .wp-block-navigation__container {
  justify-content: flex-end;
}

.az-site-header__mobile-nav {
  display: none;
  width: 100%;
}

.az-site-header__menu-toggle {
  width: 100%;
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 18%, transparent);
  background: color-mix(in srgb, var(--az-token-action-primary-text) 6%, var(--az-color-inverse) 94%);
  color: var(--az-token-action-primary-text);
  font: inherit;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.az-site-header__menu-toggle:hover {
  background: color-mix(in srgb, var(--az-token-action-primary-text) 10%, var(--az-color-inverse) 90%);
}

.az-site-header__menu-toggle:focus-visible,
.az-site-header__mobile-menu-link:focus-visible {
  outline: var(--az-token-focus);
  outline-offset: 3px;
}

.az-site-header__menu-toggle-label {
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.az-site-header__menu-toggle-icon {
  width: 1.4rem;
  height: 1rem;
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 auto;
}

.az-site-header__menu-toggle-icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform-origin: center;
  transition: transform 160ms ease, opacity 160ms ease;
}

.az-site-header__mobile-nav[data-state="open"] .az-site-header__menu-toggle-icon span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.az-site-header__mobile-nav[data-state="open"] .az-site-header__menu-toggle-icon span:nth-child(2) {
  opacity: 0;
}

.az-site-header__mobile-nav[data-state="open"] .az-site-header__menu-toggle-icon span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.az-site-header__mobile-menu {
  margin-top: 0.6rem;
  border: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 16%, transparent);
  background: var(--az-color-inverse);
}

.az-site-header__mobile-menu-list {
  display: grid;
}

.az-site-header__mobile-menu-entry + .az-site-header__mobile-menu-entry {
  border-top: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 16%, transparent);
}

.az-site-header__mobile-menu-entry.is-current .az-site-header__mobile-menu-link {
  color: var(--az-color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.az-site-header__mobile-menu-link {
  display: block;
  width: 100%;
  min-height: 3.6rem;
  padding: 1rem 0.95rem;
  color: var(--az-token-action-primary-text);
  text-decoration: none;
}

.az-site-header__mobile-menu-link:hover {
  background: color-mix(in srgb, var(--az-token-action-primary-text) 8%, var(--az-color-inverse) 92%);
}

.az-site-header__mobile-menu-link .wp-block-navigation-item__label {
  display: block;
  font-size: clamp(1rem, 0.95rem + 0.35vw, 1.08rem);
  line-height: 1.35;
}

.az-site-footer__note {
  color: color-mix(in srgb, var(--az-token-action-primary-text) 76%, transparent);
  margin: 0;
}

.az-site-header__nav .wp-block-navigation-item__label,
.az-site-footer__nav .wp-block-navigation-item__label {
  transition: color 140ms ease;
}

.wp-site-blocks :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action)):hover,
.wp-site-blocks :where(a:not(.wp-element-button):not(.az-hub-page__button):not(.az-docs__preview-source):not(.az-docs__demo-action)):focus-visible {
  color: var(--az-color-accent);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.az-site-header__nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.az-site-header__nav .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content,
.az-site-header__nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
.az-site-header__nav .wp-block-navigation-item__content[aria-current="page"] {
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.az-site-footer__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
  gap: var(--az-space-40);
  align-items: start;
}

.az-site-footer__inner.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

.az-site-footer__grid > .wp-block-column {
  flex-basis: auto !important;
  margin: 0 !important;
}

.az-site-footer__intro-col {
  display: grid;
  gap: 0.55rem;
}

.az-site-footer__name {
  margin: 0;
  font-size: clamp(1.75rem, 1.4rem + 0.9vw, 2.35rem);
  line-height: 0.98;
}

.az-site-footer__role {
  margin: 0;
  color: color-mix(in srgb, var(--az-token-action-primary-text) 86%, transparent);
  font-size: var(--az-type-body);
}

.az-site-footer__section {
  display: grid;
  align-content: start;
  gap: var(--az-space-20);
}

.az-site-footer__label {
  margin: 0;
  color: var(--az-token-action-primary-text);
  font-size: var(--az-type-small);
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
}

.az-site-footer__nav--stack {
  gap: 0.6rem;
}

.az-site-footer__nav--profile {
  margin-top: var(--az-space-20);
}

.az-site-footer__nav--stack .wp-block-navigation__container {
  align-items: flex-start;
}

.az-site-footer__nav--stack .wp-block-navigation-item__content {
  padding: 0;
  font-size: var(--az-type-body);
}

.home .wp-site-blocks > main,
.az-post-shell,
.az-archive-shell,
.az-case-study-archive {
  width: 100%;
}

.home .wp-site-blocks > main.az-page-shell {
  margin-bottom: 0 !important;
}

.az-page-lead__eyebrow,
.az-case-study-archive__eyebrow {
  color: var(--az-color-accent);
  font-size: var(--az-type-small);
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
}

.az-post-shell__terms,
.az-archive-card__terms {
  color: var(--az-color-muted);
  font-size: var(--az-type-small);
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
}

.az-page-lead {
  width: 100%;
  display: grid;
  gap: var(--az-space-20);
  margin-bottom: var(--az-section-gap);
}

.az-page-lead.has-global-padding {
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}

.az-page-lead.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--az-page-lead-width, 52rem);
  margin-left: 0 !important;
  margin-right: auto !important;
}

.az-page-lead {
  --az-page-lead-width: 52rem;
  --az-page-lead-title-width: 18ch;
}

.az-page-lead__eyebrow {
  margin: 0;
}

.az-page-lead__eyebrow a,
.az-post-shell__terms a {
  color: inherit;
  text-decoration: none;
}

.az-page-lead__eyebrow a:hover,
.az-page-lead__eyebrow a:focus-visible,
.az-post-shell__terms a:hover,
.az-post-shell__terms a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.az-page-lead > :where(.az-page-lead__title, .wp-block-query-title, .wp-block-post-title, h1) {
  margin: 0;
  font-family: var(--az-font-h1-family);
  font-size: var(--az-type-h1);
  font-style: var(--az-font-h1-style);
  font-weight: var(--az-font-h1-weight);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  line-height: var(--az-font-h1-line-height);
  max-width: min(var(--az-page-lead-title-width), 100%);
  text-wrap: balance;
}

.az-page-lead__body {
  display: grid;
  gap: var(--az-space-20);
  max-width: var(--az-reading-width);
}

.az-page-lead > :where(.az-page-lead__body, .wp-block-term-description, .wp-block-post-excerpt, p) {
  margin: 0;
  max-width: var(--az-reading-width);
  line-height: var(--az-font-body-line-height);
}

.az-page-lead__body > p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

.az-page-lead--display {
  --az-page-lead-width: 60rem;
  --az-page-lead-title-width: 18ch;
}

.az-page-lead--post {
  --az-page-lead-width: 46rem;
  --az-page-lead-title-width: 18ch;
}

.az-case-study-archive__intro > :where(.az-page-lead__title, .wp-block-query-title) {
  max-width: none;
}

.az-post-shell__header.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.az-archive-shell__intro.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.az-case-study-archive__intro.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.az-post-shell__header {
  gap: 0.75rem;
}

.az-post-shell {
  margin-top: var(--az-space-60) !important;
  margin-bottom: var(--az-space-80) !important;
}

.az-post-shell__image {
  margin-bottom: var(--az-space-80);
}

.az-post-shell__title {
  line-height: 0.95;
}

.az-post-shell__inner.is-layout-constrained > .az-post-shell__header {
  width: 100%;
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.az-post-shell__footer {
  max-width: 760px;
}

.az-post-shell__content {
  width: 100%;
  max-width: none;
}

.az-post-shell__content > :where(
  p,
  ul,
  ol,
  blockquote,
  pre,
  h2,
  h3,
  h4,
  h5,
  h6,
  hr,
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-quote,
  .wp-block-pullquote,
  .wp-block-preformatted,
  .wp-block-code,
  .wp-block-buttons,
  .wp-block-button,
  .wp-block-separator,
  .wp-block-details
) {
  max-width: 760px;
}

.az-post-shell__content > :where(
  figure,
  table,
  .wp-block-image,
  .wp-block-table,
  .wp-block-embed,
  .wp-block-gallery,
  .wp-block-video,
  .wp-block-audio,
  .wp-block-file,
  .wp-block-cover,
  .wp-block-media-text,
  .wp-block-group.alignwide,
  .wp-block-group.alignfull,
  .wp-block-columns,
  .wp-block-column,
  .wp-block-html,
  [data-az-component-id],
  [data-az-pattern-id],
  .az-ecosystem-case,
  .az-homepage,
  .az-portfolio-page,
  .az-series,
  [data-fw-shell],
  [data-mot-shell],
  [data-sdd-shell]
) {
  width: 100%;
}

.az-post-shell__footer {
  border-top: 1px solid var(--az-token-border);
  display: grid;
  gap: var(--az-space-20);
}

.single-post.az-content-type-teaching .az-post-shell__content > .az-shortcode-render--teaching-sequence,
.single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference,
.single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference-media {
  max-width: 760px;
}

.single-post.az-content-type-teaching .az-post-shell__content > .az-shortcode-render--teaching-sequence:first-child {
  margin-bottom: var(--az-space-20);
}

.single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference-media {
  margin-top: 0;
  margin-bottom: var(--az-space-40);
}

.single-post.az-content-layout-case-study .az-post-shell__content {
  font-size: var(--az-type-body);
  line-height: var(--az-font-body-line-height);
}

.single-post.az-content-layout-working-framework .az-post-shell__header {
  --az-page-lead-width: 54rem;
  --az-page-lead-title-width: 18ch;
  gap: var(--az-space-20);
}

.single-post.az-content-type-working-framework .az-post-shell__terms {
  color: var(--az-color-accent);
}

.az-archive-shell__inner,
.az-case-study-archive__inner,
.az-page-shell__inner,
.az-post-shell__inner {
  width: 100%;
  min-width: 0;
}

.az-page-shell__content > .az-shortcode-render > :where(.az-homepage, .az-portfolio-page) {
  max-width: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.az-page-shell__content > .az-shortcode-render > :where(.az-homepage, .az-portfolio-page) > .az-page-lead.az-block {
  padding-top: 0 !important;
}

.single-post.az-content-layout-case-study .az-post-shell__inner.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.single-post.az-content-layout-case-study .az-post-shell__content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.single-post.az-content-layout-case-study .az-post-shell__content > .az-shortcode-render--case-study,
.single-post.az-content-layout-case-study .az-post-shell__content > .az-shortcode-render--case-study > .az-case-study {
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-post.az-content-type-field-note.az-content-layout-essay .az-post-shell__content > :where(
  .az-shortcode-render--law-visual,
  .az-shortcode-render--ecosystem-visual
) {
  width: 100%;
  max-width: none;
}

.az-archive-shell__intro,
.az-case-study-archive__intro {
  padding-bottom: var(--az-space-40);
  border-bottom: 0;
}

.az-archive-shell .wp-block-query,
.az-case-study-archive .wp-block-query {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-width: 0;
}

.az-preview-card,
.az-archive-card,
.az-case-study-card,
.az-field-note-card {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-width: 0;
  padding: var(--az-card-pad);
  border: 1px solid var(--az-preview-card-border);
  background: var(--az-token-surface);
  box-shadow: var(--az-token-action-shadow-rest);
  gap: var(--az-space-20);
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.az-preview-card {
  color: var(--az-color-text);
}

.az-preview-card::before,
.az-archive-card::before,
.az-case-study-card::before,
.az-field-note-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 3px;
  background: var(--az-preview-card-accent);
}

.az-case-study-card {
  --az-preview-card-bg: color-mix(in srgb, var(--az-token-surface-subtle) 72%, var(--az-token-surface) 28%);
  --az-preview-card-accent: var(--az-token-signal-primary);
}

.az-archive-shell .wp-block-query .az-archive-card,
.az-case-study-archive .wp-block-query .az-case-study-card {
  --az-preview-card-bg: var(--az-token-surface);
  --az-preview-card-border: var(--az-token-border-strong);
}

.az-case-study-card .wp-block-post-featured-image,
.az-archive-card .wp-block-post-featured-image {
  margin-bottom: 0.35rem;
}

.az-archive-card:hover,
.az-case-study-card:hover,
.az-field-note-card:hover,
.az-archive-card:focus-within,
.az-case-study-card:focus-within,
.az-field-note-card:focus-within {
  border-color: var(--az-token-border-strong);
  background: var(--az-token-surface-subtle);
  color: var(--az-token-text);
  box-shadow: var(--az-token-action-shadow-hover);
  transform: none;
}

.az-archive-card:hover::before,
.az-case-study-card:hover::before,
.az-field-note-card:hover::before,
.az-archive-card:focus-within::before,
.az-case-study-card:focus-within::before,
.az-field-note-card:focus-within::before {
  background: var(--az-token-signal-primary);
}

.az-archive-card:focus-within,
.az-case-study-card:focus-within,
.az-field-note-card:focus-within {
  outline: var(--az-token-focus);
  outline-offset: 3px;
}

.az-case-study-card__title a,
.az-archive-card h2 a,
.az-field-note-card h2 a {
  color: var(--az-color-text);
  text-decoration: none;
}

.az-case-study-card__title,
.az-archive-card h2 {
  margin: 0;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.az-case-study-card .wp-block-post-excerpt,
.az-archive-card .wp-block-post-excerpt {
  margin: 0;
}

.az-case-study-card .wp-block-post-excerpt__excerpt:empty,
.az-archive-card .wp-block-post-excerpt__excerpt:empty {
  display: none;
}

.az-case-study-card__title a:visited,
.az-archive-card h2 a:visited,
.az-field-note-card h2 a:visited {
  color: var(--az-color-text);
}

.az-case-study-card:hover .az-case-study-card__title a,
.az-case-study-card:focus-within .az-case-study-card__title a,
.az-archive-card:hover h2 a,
.az-archive-card:focus-within h2 a,
.az-field-note-card:hover h2 a,
.az-field-note-card:focus-within h2 a,
.az-case-study-card:hover .az-case-study-card__title a:visited,
.az-case-study-card:focus-within .az-case-study-card__title a:visited,
.az-archive-card:hover h2 a:visited,
.az-archive-card:focus-within h2 a:visited,
.az-field-note-card:hover h2 a:visited,
.az-field-note-card:focus-within h2 a:visited {
  color: var(--az-color-text);
}

.az-case-study-card__title a::after,
.az-archive-card h2 a::after,
.az-field-note-card h2 a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.az-case-study-card .wp-block-post-featured-image,
.az-archive-card .wp-block-post-featured-image,
.az-case-study-card__eyebrow,
.az-archive-card__terms,
.az-case-study-card .wp-block-read-more,
.az-archive-card .wp-block-read-more,
.az-field-note-card .wp-block-read-more,
.az-case-study-card .wp-block-post-excerpt__more-link,
.az-archive-card .wp-block-post-excerpt__more-link,
.az-field-note-card .wp-block-post-excerpt__more-link {
  position: relative;
  z-index: 2;
}

.az-case-study-card .wp-block-read-more,
.az-archive-card .wp-block-read-more,
.az-post-shell__footer .wp-block-post-navigation-link a {
  color: var(--az-color-accent);
  text-decoration: none;
}

.az-case-study-card .wp-block-read-more,
.az-archive-card .wp-block-read-more,
.az-field-note-card .wp-block-read-more {
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
}

.az-post-shell__footer .wp-block-post-navigation-link {
  margin: 0;
}

.az-post-shell__footer .wp-block-post-navigation-link a {
  display: grid;
  gap: var(--az-space-20);
  padding: var(--az-space-20);
  border: 1px solid var(--az-token-border);
  background: var(--az-token-surface);
  color: var(--az-color-text);
  box-shadow: var(--az-token-action-shadow-rest);
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.az-post-shell__footer .wp-block-post-navigation-link a:hover {
  border-color: var(--az-token-action-secondary-border);
  background: var(--az-token-surface-subtle);
  color: var(--az-token-action-secondary-text);
  box-shadow: var(--az-token-action-shadow-hover);
  transform: translate(-1px, -1px);
}

.az-post-shell__footer .wp-block-post-navigation-link__label {
  font-size: var(--az-type-small);
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-token-text-muted);
}

.az-post-shell__footer .wp-block-post-navigation-link__title {
  font-family: var(--az-font-h4-family);
  font-weight: var(--az-font-h4-weight);
  line-height: var(--az-font-h4-line-height);
}

.az-post-shell__footer .post-navigation-link-previous a {
  justify-items: start;
}

.az-post-shell__footer .post-navigation-link-next a {
  justify-items: end;
  text-align: right;
}

.az-post-shell__footer .wp-block-post-navigation-link__arrow-previous,
.az-post-shell__footer .wp-block-post-navigation-link__arrow-next {
  color: var(--az-token-action-secondary-text);
}

.az-case-study-card .wp-block-read-more,
.az-archive-card .wp-block-read-more {
  margin-top: auto;
  padding-top: 0.5rem;
  font-size: var(--az-type-body);
}

.az-field-notes-query .wp-block-post-template {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--az-space-20);
}

.az-field-notes-query.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

.az-field-notes-query .wp-block-post-template,
.az-field-notes__pagination {
  max-width: none !important;
}

.az-field-note-card {
  --az-preview-card-bg: var(--az-token-surface);
  --az-preview-card-border: var(--az-token-border-strong);
  --az-preview-card-accent: var(--az-token-signal-primary);
}

.az-field-note-card__date {
  color: var(--az-token-text-muted);
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
}

.az-field-note-card h2 {
  font-size: clamp(1.8rem, 1.45rem + 1vw, 2.45rem);
  line-height: 0.98;
}

.az-field-note-card .wp-block-post-excerpt__excerpt {
  margin: 0;
}

.az-field-note-card .wp-block-read-more {
  color: var(--az-color-accent);
  text-decoration-thickness: 1px;
}

.az-case-study-card:hover :is(.az-case-study-card__eyebrow, .az-case-study-card__eyebrow a, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-case-study-card:focus-within :is(.az-case-study-card__eyebrow, .az-case-study-card__eyebrow a, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-archive-card:hover :is(.az-archive-card__terms, .az-archive-card__terms a, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-archive-card:focus-within :is(.az-archive-card__terms, .az-archive-card__terms a, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-field-note-card:hover :is(.az-field-note-card__date, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-field-note-card:focus-within :is(.az-field-note-card__date, .wp-block-post-excerpt, .wp-block-post-excerpt__excerpt, .wp-block-post-excerpt__more-link, .wp-block-read-more) {
  color: var(--az-color-text);
}

.az-case-study-card:hover :is(.wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-case-study-card:focus-within :is(.wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-archive-card:hover :is(.wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-archive-card:focus-within :is(.wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-field-note-card:hover :is(.wp-block-post-excerpt__more-link, .wp-block-read-more),
.az-field-note-card:focus-within :is(.wp-block-post-excerpt__more-link, .wp-block-read-more) {
  color: var(--az-color-accent);
}

.az-field-notes__pagination {
  gap: var(--az-space-20);
  margin-top: var(--az-space-40);
  padding-top: var(--az-space-20);
  border-top: 1px solid var(--az-token-border-strong);
}

.az-field-notes__pagination .wp-block-query-pagination-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.az-field-notes__pagination .page-numbers,
.az-field-notes__pagination .wp-block-query-pagination-next,
.az-field-notes__pagination .wp-block-query-pagination-previous {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  min-height: 2.2rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--az-token-border);
  background: var(--az-token-surface);
  color: var(--az-color-text);
  text-decoration: none;
  box-shadow: var(--az-token-action-shadow-rest);
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.az-field-notes__pagination .page-numbers:hover,
.az-field-notes__pagination .wp-block-query-pagination-next:hover,
.az-field-notes__pagination .wp-block-query-pagination-previous:hover {
  border-color: var(--az-token-action-secondary-border);
  background: var(--az-token-surface-subtle);
  color: var(--az-token-action-secondary-text);
  box-shadow: var(--az-token-action-shadow-hover);
  transform: translate(-1px, -1px);
}

.az-field-notes__pagination .page-numbers:focus-visible,
.az-field-notes__pagination .wp-block-query-pagination-next:focus-visible,
.az-field-notes__pagination .wp-block-query-pagination-previous:focus-visible {
  outline: var(--az-token-focus);
  outline-offset: 2px;
}

.az-field-notes__pagination .page-numbers.current {
  border-color: var(--az-token-action-primary-bg);
  background: var(--az-token-action-primary-bg);
  color: var(--az-token-action-primary-text);
  box-shadow: none;
}

/* The #az-main-prefixed selector out-specifies the per-block style tag
   WPForms generates from block attributes (#wpforms-NNN.wpforms-block-…),
   which otherwise reinstates its grey defaults (sub-labels 4:1, submit
   4.2:1 — both under WCAG 1.4.3) over these tokens. */
.wpforms-container.wpforms-render-modern,
#az-main .wpforms-container.wpforms-render-modern {
  --wpforms-field-border-radius: 0;
  --wpforms-field-background-color: var(--az-token-surface);
  --wpforms-field-border-color: var(--az-token-border);
  --wpforms-field-border-color-spare: var(--az-token-border);
  --wpforms-field-text-color: var(--az-token-text);
  --wpforms-field-menu-color: var(--az-token-surface);
  --wpforms-label-color: var(--az-token-text);
  --wpforms-label-sublabel-color: var(--az-token-text-muted);
  --wpforms-button-border-radius: 0;
  --wpforms-button-border-style: solid;
  --wpforms-button-border-size: 1px;
  --wpforms-button-background-color: var(--az-token-action-primary-bg);
  --wpforms-button-border-color: var(--az-token-action-primary-bg);
  --wpforms-button-text-color: var(--az-token-action-primary-text);
  --wpforms-page-break-color: var(--az-token-signal-primary);
  --wpforms-background-color: color-mix(in srgb, var(--az-token-surface-subtle) 72%, var(--az-token-surface) 28%);
  --wpforms-container-padding: var(--az-space-20);
  --wpforms-container-border-style: solid;
  --wpforms-container-border-width: 1px;
  --wpforms-container-border-color: var(--az-token-border-strong);
  --wpforms-container-border-radius: 0;
  --wpforms-container-shadow-size-box-shadow: none;
  --wpforms-field-size-input-spacing: var(--az-space-20) !important;
  --wpforms-button-size-margin-top: var(--az-space-20) !important;
}

.wpforms-container.wpforms-render-modern .wpforms-submit {
  box-shadow: var(--az-token-action-shadow-rest);
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.wpforms-container.wpforms-render-modern .wpforms-submit:hover {
  border-color: color-mix(in srgb, var(--az-token-action-primary-bg) 88%, var(--az-token-signal-support) 12%);
  background: color-mix(in srgb, var(--az-token-action-primary-bg) 88%, var(--az-token-signal-support) 12%);
  color: var(--az-token-action-primary-text);
  box-shadow: var(--az-token-action-shadow-hover);
  transform: translate(-1px, -1px);
}

.wpforms-container.wpforms-render-modern .wpforms-submit:active {
  box-shadow: var(--az-token-action-shadow-pressed);
  transform: translate(1px, 1px);
}

.wpforms-container.wpforms-render-modern .wpforms-submit:focus-visible,
.wpforms-container.wpforms-render-modern .wpforms-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select):focus-visible {
  outline: var(--az-token-focus);
  outline-offset: 2px;
}

.wpforms-container.wpforms-render-modern .wpforms-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select):focus-visible {
  border-color: var(--az-token-signal-primary);
}

@media (max-width: 1100px) {
  .az-field-notes-query .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1101px) {
  .single-post.az-content-layout-essay .az-post-shell__image {
    width: min(100%, 62rem);
    margin-left: auto;
  }

  .single-post.az-content-layout-essay .az-post-shell__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(12, minmax(0, 1fr));
    column-gap: clamp(1rem, 1.8vw, 1.75rem);
    row-gap: clamp(0.9rem, 1.4vw, 1.35rem);
    align-items: start;
  }

  .single-post.az-content-layout-essay .az-post-shell__content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > :where(
    p,
    ul,
    ol,
    blockquote,
    pre,
    h2,
    h3,
    h4,
    h5,
    h6,
    hr,
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-list,
    .wp-block-quote,
    .wp-block-pullquote,
    .wp-block-preformatted,
    .wp-block-code,
    .wp-block-buttons,
    .wp-block-button,
    .wp-block-separator,
    .wp-block-details
  ) {
    grid-column: 1 / span 7;
    max-width: 46rem;
    justify-self: start;
    width: 100%;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > :where(
    h2,
    h3,
    h4,
    h5,
    h6,
    .wp-block-heading
  ) {
    margin-top: clamp(1.4rem, 2vw, 2rem);
  }

  .single-post.az-content-layout-essay .az-post-shell__content > :where(
    figure,
    table,
    .wp-block-image,
    .wp-block-table,
    .wp-block-embed,
    .wp-block-gallery,
    .wp-block-video,
    .wp-block-audio,
    .wp-block-file,
    .wp-block-cover,
    .wp-block-media-text,
    .wp-block-columns,
    .wp-block-html
  ) {
    grid-column: 8 / -1;
    align-self: start;
    max-width: none;
    justify-self: stretch;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > :where(
    .az-shortcode-render,
    .wp-block-group.alignwide,
    .wp-block-group.alignfull,
    [data-az-component-id],
    [data-az-pattern-id],
    .az-ecosystem-case,
    .az-homepage,
    .az-portfolio-page,
    .az-series,
    [data-fw-shell],
    [data-mot-shell],
    [data-sdd-shell]
  ) {
    grid-column: 2 / -1;
    max-width: none;
    justify-self: stretch;
  }

  .single-post.az-content-type-teaching .az-post-shell__content > .az-shortcode-render--teaching-sequence,
  .single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference,
  .single-post.az-content-type-teaching .az-post-shell__content > .az-teaching-reference-media {
    grid-column: 1 / span 7;
    max-width: 46rem;
    justify-self: start;
    width: 100%;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > .az-shortcode-render--tabbed-content {
    grid-column: 1 / -1;
  }

  .single-post .az-post-shell__content > .az-singular-ending,
  .single-post.az-content-type-field-note.az-content-layout-essay .az-post-shell__content > :where(
    .az-shortcode-render--law-visual,
    .az-shortcode-render--ecosystem-visual
  ) {
    grid-column: 1 / -1;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > .alignwide {
    grid-column: 5 / -1;
    max-width: none;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > .alignfull {
    grid-column: 1 / -1;
    max-width: none;
  }

  .single-post.az-content-layout-essay .az-post-shell__content > :where(
    .wp-block-table,
    table
  ) {
    font-size: var(--az-type-small);
  }

  .single-post.az-content-layout-working-framework .az-post-shell__content {
    display: block;
  }

  .single-post.az-content-layout-working-framework .az-post-shell__content > .az-shortcode-render--working-framework {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 781px) {
  .az-shell-inner {
    padding-inline: clamp(1rem, 5vw, 1.35rem);
  }

  .az-site-header__inner {
    align-items: flex-start;
    gap: 0.3rem;
  }

  .az-site-header__nav-row {
    display: grid;
    gap: 0.65rem;
    padding: 0.05rem 0 0.45rem;
  }

  .az-site-header[data-mobile-menu-ready="true"] .az-site-header__nav-row {
    gap: 0;
    padding: 0.1rem 0 0.55rem;
  }

  .az-site-header__nav,
  .az-site-footer__nav {
    width: 100%;
  }

  .az-site-header__nav {
    justify-content: flex-start;
  }

  .az-site-header__nav--primary,
  .az-site-header__nav--utility {
    flex: 1 1 auto;
    margin-inline-start: 0;
  }

  .az-site-header__nav--utility .wp-block-navigation__container {
    justify-content: flex-start;
  }

  .az-site-header[data-mobile-menu-ready="true"] .az-site-header__mobile-nav {
    display: block;
  }

  .az-site-header[data-mobile-menu-ready="true"] .az-site-header__nav {
    display: none;
  }

  .az-site-header__title,
  .az-site-footer__title {
    font-size: clamp(1.25rem, 6vw, 1.6rem);
  }

  .az-site-footer {
    padding-bottom: 1.5rem;
  }

  .az-site-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .az-site-footer__name {
    font-size: clamp(1.5rem, 8vw, 1.95rem);
  }

  .az-post-shell__title,
  .az-case-study-archive h1 {
    line-height: 1;
  }

  .az-page-lead {
    margin-bottom: var(--az-space-40);
  }

  .az-page-lead > :where(.az-page-lead__title, .wp-block-query-title, .wp-block-post-title, h1) {
    max-width: none;
  }

  .az-archive-shell__intro,
  .az-case-study-archive__intro {
    padding-bottom: var(--az-space-20);
  }

  .az-case-study-archive .wp-block-post-template,
  .az-archive-shell .wp-block-post-template,
  .az-field-notes-query .wp-block-post-template {
    grid-template-columns: minmax(0, 1fr);
  }

  .az-post-shell__footer .post-navigation-link-next a {
    justify-items: start;
    text-align: left;
  }

  .az-post-shell__content > :where(
    p,
    ul,
    ol,
    blockquote,
    pre,
    h2,
    h3,
    h4,
    h5,
    h6,
    hr,
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-list,
    .wp-block-quote,
    .wp-block-pullquote,
    .wp-block-preformatted,
    .wp-block-code,
    .wp-block-buttons,
    .wp-block-button,
    .wp-block-separator,
    .wp-block-details
  ) {
    max-width: none;
  }
}

.az-gou {
  --az-gou-bg: var(--az-color-band);
  --az-gou-surface: var(--az-color-surface);
  --az-gou-surface-soft: var(--az-color-panel);
  --az-gou-ink: var(--az-color-text);
  --az-gou-line: var(--az-color-border);
  --az-gou-line-strong: var(--az-color-border-strong);
  --az-gou-muted: var(--az-color-muted);
  --az-gou-max: 1180px;
  --az-gou-node: var(--az-color-accent);
  --az-gou-access: var(--az-color-accent-pink);
  --az-gou-force: var(--az-color-accent-support);
  --az-gou-route: color-mix(in srgb, var(--az-color-accent) 55%, var(--az-color-accent-pink) 45%);
  --az-gou-ambiguity: color-mix(in srgb, var(--az-color-accent-support) 62%, var(--az-color-success) 38%);
  width: 100%;
  max-width: var(--az-gou-max);
  margin: 0 auto;
  color: var(--az-gou-ink);
}

.az-gou,
.az-gou * {
  box-sizing: border-box;
}

.az-gou a {
  color: inherit;
  text-decoration-color: var(--az-gou-line-strong);
  text-underline-offset: 0.18em;
}

.az-gou h1,
.az-gou h2,
.az-gou h1,
.az-gou h2,
.az-gou h3,
.az-gou p {
  margin-top: 0;
}

.az-gou p,
.az-gou li {
  font-family: inherit;
  line-height: var(--az-font-body-line-height);
}

.az-gou__muted {
  color: var(--az-gou-muted);
}

.az-gou__eyebrow {
  display: inline-block;
  margin: 0 0 0.9rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--az-gou-ink);
  font-size: var(--az-type-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.az-gou__title {
  margin: 0 0 1rem;
  max-width: min(var(--az-page-lead-title-width, 18ch), 100%);
  font-family: var(--az-font-h1-family);
  font-size: var(--az-type-h1);
  font-style: var(--az-font-h1-style);
  font-weight: var(--az-font-h1-weight);
  line-height: var(--az-font-h1-line-height);
  letter-spacing: 0;
  text-wrap: balance;
}

.az-gou__section-title {
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: var(--az-type-title);
  line-height: 1.02;
  letter-spacing: 0;
}

.az-gou__hero,
.az-gou__section,
.az-gou__section-head--two-col,
.az-gou__plate-layout,
.az-gou__method-grid,
.az-gou__micro-grid,
.az-gou__icon-grid,
.az-gou__reference-grid,
.az-gou__toolkit-grid,
.az-gou__section--two-col {
  display: grid;
  gap: 1.5rem;
}

.az-gou__hero {
  min-height: 56vh;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: end;
  padding: 1rem 0 3.5rem;
}

.az-gou__hero-copy {
  padding-bottom: 0.75rem;
}

.az-gou__hero-asset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0.9rem;
}

.az-gou__hero-asset {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--az-gou-line);
  background: var(--az-color-accent-band);
}

.az-gou__hero-visual,
.az-gou__card,
.az-gou__panel,
.az-gou__plate,
.az-gou__legend,
.az-gou__micro-card,
.az-gou__icon-card,
.az-gou__reference-card,
.az-gou__combo-card,
.az-gou__toolkit-card {
  background: var(--az-gou-surface-soft);
  border: 1px solid var(--az-gou-line);
}

.az-gou__micro-card,
.az-gou__icon-card,
.az-gou__toolkit-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.az-gou__hero-visual,
.az-gou__plate,
.az-gou__micro-card,
.az-gou__icon-card,
.az-gou__toolkit-card,
.az-gou__combo-card,
.az-gou__panel,
.az-gou__legend,
.az-gou__reference-card,
.az-gou__card {
  padding: 1rem;
}

.az-gou__hero-visual svg,
.az-gou__plate svg,
.az-gou__micro-card svg,
.az-gou__icon-card svg,
.az-gou__toolkit-card svg {
  display: block;
  width: 100%;
  height: auto;
  background: var(--az-gou-bg);
}

.az-gou__hero-asset img,
.az-gou__artifact-card img,
.az-gou__combo-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: var(--az-gou-bg);
}

.az-gou__scroll-cue {
  display: inline-flex;
  gap: 0.65rem;
  align-items: center;
  margin-top: 1.2rem;
  font-size: 0.92rem;
  color: var(--az-gou-muted);
  text-decoration: none;
}

.az-gou__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--az-gou-ink);
}

.az-gou__hero-note {
  margin-bottom: 0;
}

.az-gou__section {
  padding: 3.25rem 0;
  border-top: 1px solid var(--az-gou-line);
}

.az-gou__section--two-col,
.az-gou__section-head--two-col {
  grid-template-columns: 0.9fr 1.1fr;
}

.az-gou__method-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.az-gou__plate-triptych {
  align-items: start;
}

.az-gou__card h3,
.az-gou__micro-card h3,
.az-gou__reference-card h3,
.az-gou__combo-card h3,
.az-gou__toolkit-card h3,
.az-gou__icon-card h3 {
  margin: 0 0 0.6rem;
  font-family: inherit;
  line-height: 1.22;
}

.az-gou__plate-layout {
  grid-template-columns: 220px minmax(0, 1fr) 300px;
  align-items: start;
}

.az-gou__panel ul {
  margin: 0;
  padding-left: 1.1rem;
}

.az-gou__panel li + li,
.az-gou__legend-item + .az-gou__legend-item {
  margin-top: 0.65rem;
}

.az-gou__mini-title {
  margin: 0 0 0.85rem;
  font-size: var(--az-type-small);
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-gou-muted);
}

.az-gou__mini-title--spaced {
  margin-top: 1.2rem;
}

.az-gou__plate-stack {
  display: grid;
  gap: 1.35rem;
}

.az-gou__micro-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.az-gou__rule-note {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--az-gou-line);
  font-size: var(--az-type-body);
}

.az-gou__plate-card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-height: 100%;
}

.az-gou__plate-notes {
  display: grid;
  gap: 1rem;
}

.az-gou__guide-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.az-gou__guide-group ul {
  margin: 0;
  padding-left: 1.1rem;
}

.az-gou__guide-group li + li {
  margin-top: 0.55rem;
}

.az-gou__plate-note + .az-gou__plate-note {
  padding-top: 1rem;
  border-top: 1px solid var(--az-gou-line);
}

.az-gou__legend-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.az-gou__shape {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  border: 1px solid var(--az-gou-line-strong);
  background: var(--az-gou-bg);
  display: inline-grid;
  place-items: center;
}

.az-gou__shape--circle::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--az-gou-node);
}

.az-gou__shape--ring::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 4px solid var(--az-gou-access);
}

.az-gou__shape--band::before {
  content: "";
  width: 14px;
  height: 6px;
  background: var(--az-gou-route);
}

.az-gou__shape--split::before {
  content: "";
  width: 14px;
  height: 14px;
  background: linear-gradient(135deg, var(--az-gou-ambiguity) 50%, transparent 50%);
  border: 1px solid var(--az-gou-ambiguity);
}

.az-gou__shape--repeat::before {
  content: "";
  width: 16px;
  height: 10px;
  background:
    radial-gradient(circle at 2px 5px, var(--az-gou-node) 2px, transparent 3px),
    radial-gradient(circle at 8px 5px, var(--az-gou-node) 2px, transparent 3px),
    radial-gradient(circle at 14px 5px, var(--az-gou-node) 2px, transparent 3px);
}

.az-gou__shape--wedge::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 14px solid var(--az-gou-force);
}

.az-gou__icon-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin-top: 1.75rem;
}

.az-gou__icon-card svg {
  width: 84px;
  height: 84px;
  margin-bottom: 0.9rem;
}

.az-gou__icon-card p,
.az-gou__combo-card p,
.az-gou__toolkit-card p,
.az-gou__micro-card p,
.az-gou__reference-card p {
  max-width: none;
  line-height: 1.58;
}

.az-gou__artifact-card {
  min-height: 100%;
}

.az-gou__artifact-card img {
  width: 88px;
  margin-bottom: 0.9rem;
}

.az-gou__artifact-label {
  margin: 0;
  font-size: var(--az-type-small);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--az-gou-muted);
}

.az-gou__section-note {
  padding-top: 1rem;
  border-top: 1px solid var(--az-gou-line);
}

.az-gou__reference-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 2rem;
}

.az-gou__reference-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.az-gou__workshop-intro {
  max-width: 74ch;
}

.az-gou__combo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.7rem;
}

.az-gou__combo-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.az-gou__combo-visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.az-gou__combo-figure {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--az-gou-line);
  background: var(--az-gou-surface);
}

.az-gou__toolkit-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  margin-top: 1.5rem;
}

.az-gou__toolkit-card {
  min-height: 0;
}

.az-gou__toolkit-card svg {
  width: 72px;
  height: 72px;
  margin-bottom: 0.8rem;
}

.az-gou__toolkit-divider {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding-top: 1rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--az-gou-line);
}

.az-gou__toolkit-divider span {
  white-space: nowrap;
  font-size: var(--az-type-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--az-gou-muted);
}

.az-gou__toolkit-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--az-gou-line);
}

.az-gou__meta {
  margin-bottom: 0;
  font-size: var(--az-type-small);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--az-gou-muted);
}

@media (max-width: 1100px) {
  .az-gou__plate-layout {
    grid-template-columns: 1fr;
  }

  .az-gou__legend {
    max-width: 48rem;
  }

  .az-gou__toolkit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .az-gou__hero,
  .az-gou__section--two-col,
  .az-gou__section-head--two-col,
  .az-gou__method-grid,
  .az-gou__reference-grid {
    grid-template-columns: 1fr;
  }

  .az-gou__icon-grid,
  .az-gou__toolkit-grid,
  .az-gou__combo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-gou__hero {
    min-height: auto;
    padding-top: 0.5rem;
  }

  .az-gou__hero-visual {
    max-width: 420px;
    margin: 0 auto;
  }

  .az-gou__reference-grid--three {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .az-gou__micro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-gou__icon-grid,
  .az-gou__toolkit-grid,
  .az-gou__combo-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .az-gou__hero-visual,
  .az-gou__plate,
  .az-gou__micro-card,
  .az-gou__icon-card,
  .az-gou__toolkit-card,
  .az-gou__panel,
  .az-gou__legend,
  .az-gou__reference-card,
  .az-gou__card {
    padding: 0.85rem;
  }

  .az-gou__micro-grid {
    grid-template-columns: 1fr;
  }

  .az-gou__icon-card,
  .az-gou__toolkit-card,
  .az-gou__artifact-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    column-gap: 0.85rem;
    row-gap: 0.2rem;
  }

  .az-gou__icon-card svg,
  .az-gou__toolkit-card svg,
  .az-gou__artifact-card img {
    grid-row: 1 / span 3;
    grid-column: 1;
    width: 72px;
    height: auto;
    margin: 0;
  }

  .az-gou__icon-card h3,
  .az-gou__toolkit-card h3,
  .az-gou__artifact-card h3,
  .az-gou__icon-card p,
  .az-gou__toolkit-card p,
  .az-gou__artifact-card p,
  .az-gou__meta {
    grid-column: 2;
  }

  .az-gou__hero-asset-grid,
  .az-gou__combo-visuals {
    grid-template-columns: 1fr;
  }
}

.az-gou-page {
  background: var(--az-color-surface);
}

.az-gou-page__content-shell {
  width: 100%;
  max-width: 1360px;
  margin-inline: auto;
  padding: 0 clamp(1.25rem, 3vw, 2.8rem);
}

.az-gou-page__content {
  padding: clamp(1.35rem, 3vw, 2.6rem) 0 4rem;
}

.page-id-1924 .az-gou {
  --az-gou-max: 1120px;
  --az-gou-surface-soft: color-mix(in srgb, var(--az-color-panel) 82%, var(--az-color-surface) 18%);
  --az-gou-line: var(--az-color-border);
  --az-gou-muted: var(--az-color-muted);
}

.page-id-1924 .az-gou__hero {
  min-height: 0;
  grid-template-columns: 1.18fr 0.82fr;
  align-items: start;
  gap: 2rem;
  padding: 0 0 2.6rem;
}

.page-id-1924 .az-gou__hero-copy {
  max-width: 42rem;
}

.page-id-1924 .az-gou__eyebrow {
  margin-bottom: 0.8rem;
  letter-spacing: 0.14em;
}

.page-id-1924 .az-gou__title {
  max-width: min(var(--az-page-lead-title-width, 18ch), 100%);
  margin-bottom: 1.15rem;
  font-size: var(--az-type-h1);
}

.page-id-1924 .az-gou__section-title {
  margin-bottom: 1.1rem;
  font-size: var(--az-type-h2);
}

.page-id-1924 .az-gou__hero-visual {
  align-self: start;
  padding: 1.2rem;
}

.page-id-1924 .az-gou__hero-visual svg {
  min-height: 280px;
}

.page-id-1924 .az-gou__section {
  padding: 2.6rem 0;
}

.page-id-1924 .az-gou__hero-visual,
.page-id-1924 .az-gou__card,
.page-id-1924 .az-gou__panel,
.page-id-1924 .az-gou__plate,
.page-id-1924 .az-gou__legend,
.page-id-1924 .az-gou__micro-card,
.page-id-1924 .az-gou__icon-card,
.page-id-1924 .az-gou__reference-card,
.page-id-1924 .az-gou__combo-card,
.page-id-1924 .az-gou__toolkit-card {
  background: var(--az-gou-surface-soft);
}

.page-id-1924 .az-gou__mini-title {
  margin-bottom: 0.75rem;
}

.page-id-1924 .az-gou__guide-groups {
  margin-top: 0.45rem;
}

.page-id-1924 .az-gou__rule-note {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
}

.page-id-1924 .az-gou__legend-item {
  align-items: start;
  gap: 0.85rem;
}

.page-id-1924 .az-gou__legend-item span:last-child {
  line-height: 1.58;
}

.page-id-1924 .az-gou__micro-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-id-1924 .az-gou__reference-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.3rem;
  margin: 1.7rem 0 2.25rem;
}

.page-id-1924 .az-gou__reference-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-id-1924 .az-gou__reference-card {
  background: var(--az-color-accent-band);
  padding: 1.2rem 1rem 1.15rem;
}

.page-id-1924 .az-gou__reference-card h3 {
  margin-bottom: 0.85rem;
  line-height: 1.28;
}

.page-id-1924 .az-gou__reference-card p {
  line-height: 1.7;
}

.page-id-1924 .az-gou__workshop-intro {
  max-width: 76ch;
}

.page-id-1924 .az-gou__icon-grid,
.page-id-1924 .az-gou__toolkit-grid,
.page-id-1924 .az-gou__combo-grid {
  gap: 1rem;
}

.page-id-1924 .az-gou__toolkit-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: 1.7rem;
}

.page-id-1924 .az-gou__icon-card,
.page-id-1924 .az-gou__toolkit-card,
.page-id-1924 .az-gou__combo-card,
.page-id-1924 .az-gou__micro-card {
  padding: 1rem;
}

.page-id-1924 .az-gou__icon-card,
.page-id-1924 .az-gou__toolkit-card,
.page-id-1924 .az-gou__combo-card,
.page-id-1924 .az-gou__micro-card,
.page-id-1924 .az-gou__reference-card {
  border-color: var(--az-gou-line);
}

.page-id-1924 .az-gou__toolkit-card {
  background: var(--az-color-accent-band);
  padding: 1.08rem 1rem 0.95rem;
}

.page-id-1924 .az-gou__combo-card {
  background: var(--az-color-accent-band);
  padding: 1.08rem 1rem 0.95rem;
}

.page-id-1924 .az-gou__toolkit-card svg {
  width: 62px;
  height: 62px;
  margin-bottom: 0.7rem;
}

.page-id-1924 .az-gou__artifact-card img {
  width: 62px;
  margin-bottom: 0.7rem;
}

.page-id-1924 .az-gou__toolkit-card h3 {
  margin-bottom: 0.8rem;
  line-height: 1.28;
}

.page-id-1924 .az-gou__toolkit-card p {
  line-height: 1.62;
}

.page-id-1924 .az-gou__meta {
  margin-top: auto;
  padding-top: 0.7rem;
  letter-spacing: 0.1em;
  color: var(--az-gou-muted);
}

.page-id-894 .az-page-shell__content > :where(
  .az-access-hub__aim,
  .az-access-hub__how,
  .az-access-hub__path,
  .az-access-hub__bridge,
  .az-access-hub__scenes
) {
  width: min(100%, 68rem);
}

.page-id-894 .az-page-shell__content > :where(
  .az-access-hub__aim,
  .az-access-hub__how,
  .az-access-hub__path,
  .az-access-hub__bridge
) {
  display: grid;
  gap: var(--az-space-16);
}

.page-id-894 .az-page-shell__content > :where(
  .az-access-hub__how,
  .az-access-hub__path,
  .az-access-hub__bridge
) {
  margin-top: clamp(2.5rem, 5vw, 3.75rem);
}

.page-id-894 .az-page-shell__content > .az-access-hub__scenes {
  margin-top: clamp(4.5rem, 9vw, 6.5rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid color-mix(in srgb, var(--az-color-border-strong) 56%, transparent);
}

.page-id-894 .az-access-hub__path .az-editorial-pathway,
.page-id-894 .az-access-hub__bridge .az-editorial-pathway {
  width: 100%;
}

@media (max-width: 980px) {
  .page-id-1924 .az-gou__hero,
  .page-id-1924 .az-gou__plate-triptych {
    grid-template-columns: 1fr;
  }

  .page-id-1924 .az-gou__toolkit-grid,
  .page-id-1924 .az-gou__combo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-id-1924 .az-gou__plate svg {
    min-height: 0;
  }

  .az-gou__guide-groups {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .page-id-1924 .az-gou__reference-grid,
  .page-id-1924 .az-gou__reference-grid--three,
  .page-id-1924 .az-gou__toolkit-grid,
  .page-id-1924 .az-gou__combo-grid {
    grid-template-columns: 1fr;
  }

  .az-gou-page__content-shell {
    padding-inline: 1rem;
  }

  .az-gou-page__content {
    padding-top: 1rem;
    padding-bottom: 2.4rem;
  }
}

/* ---------------------------------
   design-system typography consumers
--------------------------------- */

.az-page-lead > :is(.az-page-lead__title, .wp-block-query-title, .wp-block-post-title, h1, h1[class]),
.az-page-shell__content :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]),
.az-post-shell__header :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]),
.az-post-shell__content :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]),
.az-archive-shell :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]),
.az-case-study-archive :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]),
.az-shortcode-render :is(h1, h1[class], h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class]) {
  letter-spacing: 0;
  text-transform: none;
  color: var(--az-color-text, var(--wp--preset--color--contrast, #15111a));
}

.az-page-lead > :is(.az-page-lead__title, .wp-block-query-title, .wp-block-post-title, h1, h1[class]),
.az-post-shell__header :is(h1, h1[class], .wp-block-post-title, .az-page-lead__title),
.az-page-shell__content :is(h1, h1[class], .az-gou__title),
.az-post-shell__content :is(h1, h1[class]),
.az-archive-shell :is(h1, h1[class]),
.az-case-study-archive :is(h1, h1[class]),
.az-shortcode-render :is(h1, h1[class]) {
  font-family: var(--az-font-h1-family);
  font-size: var(--az-type-h1);
  font-style: var(--az-font-h1-style);
  font-weight: var(--az-font-h1-weight);
  line-height: var(--az-font-h1-line-height);
}

.az-page-shell__content :is(h2, h2[class], .az-gou__section-title),
.az-post-shell__content :is(h2, h2[class]),
.az-archive-shell :is(h2, h2[class]),
.az-case-study-archive :is(h2, h2[class]),
.az-shortcode-render :is(h2, h2[class]) {
  font-family: var(--az-font-h2-family);
  font-size: var(--az-type-h2);
  font-style: var(--az-font-h2-style);
  font-weight: var(--az-font-h2-weight);
  line-height: var(--az-font-h2-line-height);
}

.az-page-shell__content :is(h3, h3[class]),
.az-post-shell__content :is(h3, h3[class]),
.az-archive-shell :is(h3, h3[class]),
.az-case-study-archive :is(h3, h3[class]),
.az-shortcode-render :is(h3, h3[class]) {
  font-family: var(--az-font-h3-family);
  font-size: var(--az-type-h3);
  font-style: var(--az-font-h3-style);
  font-weight: var(--az-font-h3-weight);
  line-height: var(--az-font-h3-line-height);
}

.az-page-shell__content :is(h4, h4[class]),
.az-post-shell__content :is(h4, h4[class]),
.az-archive-shell :is(h4, h4[class]),
.az-case-study-archive :is(h4, h4[class]),
.az-shortcode-render :is(h4, h4[class]) {
  font-family: var(--az-font-h4-family);
  font-size: var(--az-type-h4);
  font-style: var(--az-font-h4-style);
  font-weight: var(--az-font-h4-weight);
  line-height: var(--az-font-h4-line-height);
}

.az-page-shell__content :is(h5, h5[class]),
.az-post-shell__content :is(h5, h5[class]),
.az-archive-shell :is(h5, h5[class]),
.az-case-study-archive :is(h5, h5[class]),
.az-shortcode-render :is(h5, h5[class]) {
  font-family: var(--az-font-h5-family);
  font-size: var(--az-type-h5);
  font-style: var(--az-font-h5-style);
  font-weight: var(--az-font-h5-weight);
  line-height: var(--az-font-h5-line-height);
}

.az-page-shell__content :is(h6, h6[class]),
.az-post-shell__content :is(h6, h6[class]),
.az-archive-shell :is(h6, h6[class]),
.az-case-study-archive :is(h6, h6[class]),
.az-shortcode-render :is(h6, h6[class]) {
  font-family: var(--az-font-h6-family);
  font-size: var(--az-type-h6);
  font-style: var(--az-font-h6-style);
  font-weight: var(--az-font-h6-weight);
  line-height: var(--az-font-h6-line-height);
}

.az-page-shell__content > :is(p, ul, ol) :is(li),
.az-page-shell__content > p,
.az-post-shell__content > :is(p, ul, ol) :is(li),
.az-post-shell__content > p,
.az-archive-shell :is(.az-archive-card, .az-field-note-card, .az-case-study-card) :is(p, li),
.az-case-study-archive :is(.az-case-study-card) :is(p, li),
.az-shortcode-render :where(
  .az-page-lead__body,
  .az-step-panel__body,
  .az-tabbed__main,
  .az-tabbed__field-block,
  .az-case-study__body,
  .az-docs__body,
  .az-docs__section-body,
  .az-docs__example-body,
  .az-hub-page__intro,
  .az-hub-page__section-body,
  .az-hub-page__tile-body,
  .az-hub-page__note-body,
  .az-blueprint-grammar__section-body,
  .az-blueprint-card__summary,
  .az-blueprint-card__body,
  .az-blueprint-card__detail-text,
  .az-working-framework-step__body,
  .az-working-framework__tension,
  .az-ecosystem-visual__scenario,
  .az-ecosystem-visual__intro,
  .az-ecosystem-visual__node-body,
  .az-ecosystem-visual__tension-body,
  .az-ecosystem-visual__opportunity-body,
  .az-law-visual__lede,
  .az-law-visual__reg-lede,
  .az-agentic__summary-card,
  .az-agentic__synthesis-card,
  .az-agentic__judgement,
  .az-agentic__empty,
  .az-agentic__lens-block
) :is(p, li),
.az-shortcode-render :is(.az-agentic__intro, .az-agentic__note, .az-agentic__textarea-note) {
  font-family: var(--az-font-body-family);
  font-size: var(--az-type-body);
  font-style: var(--az-font-body-style);
  font-weight: var(--az-font-body-weight);
  letter-spacing: 0;
  line-height: var(--az-font-body-line-height);
  text-transform: none;
  color: var(--az-color-text, var(--wp--preset--color--contrast, #15111a));
}

.az-page-shell__content :is(h1, h2, h3, h4, h5, h6) a,
.az-post-shell__content :is(h1, h2, h3, h4, h5, h6) a,
.az-archive-shell :is(h1, h2, h3, h4, h5, h6) a,
.az-case-study-archive :is(h1, h2, h3, h4, h5, h6) a,
.az-shortcode-render :is(h1, h2, h3, h4, h5, h6) a {
  color: inherit;
  text-decoration-color: currentColor;
}

/* =========================================================================
   SWISS / INTERNATIONAL-TYPOGRAPHIC PASS — case-study archive (Portfolio)
   Append-only override. Targets the exact classes in
   templates/category-az-case-study.html. The site carries no imagery, so the
   featured-image slot is dropped and each post becomes a numbered index row.
   Numerals are pure CSS counter() — no template change required.
   ========================================================================= */

/* archive intro: larger Swiss display title */
.az-case-study-archive__intro > :where(.az-page-lead__title, .wp-block-query-title) {
  font-size: clamp(2.75rem, 2rem + 3.6vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

/* the post grid → a single numbered index column */
.az-case-study-archive .wp-block-post-template {
  display: block !important;
  counter-reset: az-cs;
  border-top: 1px solid var(--az-color-border);
}

/* each card → flat index row: numeral · eyebrow+title+excerpt */
.az-case-study-archive .az-case-study-card {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  column-gap: clamp(20px, 4vw, 56px);
  align-items: start;
  margin: 0;
  padding: clamp(28px, 4vw, 44px) 0;
  border: 0;
  border-bottom: 1px solid var(--az-color-border);
  background: transparent;
  box-shadow: none;
  counter-increment: az-cs;
}

.az-case-study-archive .az-case-study-card::before {
  content: counter(az-cs, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1;
  font-family: var(--az-font-h2-family);
  font-weight: 200;
  font-size: 1.6rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--az-color-text-muted, var(--az-color-muted));
  background: none;
  position: static;
  width: auto;
  height: auto;
  inset: auto;
  transition: color 140ms ease;
}

.az-case-study-archive .az-case-study-card:hover::before,
.az-case-study-archive .az-case-study-card:focus-within::before {
  color: var(--az-color-accent);
}

/* no imagery on this site — drop the empty featured-image slot */
.az-case-study-archive .az-case-study-card .wp-block-post-featured-image {
  display: none;
}

/* stack the text block in column 2 */
.az-case-study-archive .az-case-study-card > :not(.wp-block-post-featured-image) {
  grid-column: 2;
}

.az-case-study-archive .az-case-study-card__eyebrow {
  margin: 0 0 0.5rem;
}

.az-case-study-archive .az-case-study-card__title {
  font-family: var(--az-font-h2-family);
  font-weight: 200;
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.5rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
  max-width: 22ch;
}

.az-case-study-archive .az-case-study-card__excerpt {
  margin-top: 1rem;
  max-width: 58ch;
  color: var(--az-color-text-muted, var(--az-color-muted));
}

.az-case-study-archive .az-case-study-card:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
}

/* ------------------------------------------------------------------ */
/* Eyebrow / label helpers — the design system's signature kicker      */
/* treatment (ported from the DS kit's tokens/base.css). Available in  */
/* content as paragraph block styles: "Eyebrow" and "Label".           */
/* ------------------------------------------------------------------ */
.az-eyebrow,
p.is-style-az-eyebrow {
  margin: 0;
  font-family: var(--az-font-h6-family);
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-color-accent);
}

.az-label,
p.is-style-az-label {
  margin: 0;
  font-family: var(--az-font-h6-family);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: var(--az-tracking-label-strong);
  text-transform: uppercase;
  color: var(--az-color-muted);
  line-height: 1.35;
}

/* ------------------------------------------------------------------ */
/* Editorial section rhythm — parity with the DS HomeScreen: sections  */
/* breathe on the 80/100px scale, an eyebrow opens a section and sits  */
/* 20px above its heading. Scoped to page shells (direct children      */
/* only), so column/card interiors keep their own rhythm.              */
/* ------------------------------------------------------------------ */
.az-page-shell__content > h2.wp-block-heading,
.az-post-shell__content > h2.wp-block-heading {
  margin-top: var(--az-space-80);
}

.az-page-shell__content > h3.wp-block-heading,
.az-post-shell__content > h3.wp-block-heading {
  margin-top: var(--az-space-40);
}

.az-page-shell__content > p.is-style-az-eyebrow,
.az-post-shell__content > p.is-style-az-eyebrow {
  margin-top: var(--az-space-80);
}

.az-page-shell__content > p.is-style-az-eyebrow + h1,
.az-page-shell__content > p.is-style-az-eyebrow + h2,
.az-page-shell__content > p.is-style-az-eyebrow + h3,
.az-post-shell__content > p.is-style-az-eyebrow + h1,
.az-post-shell__content > p.is-style-az-eyebrow + h2,
.az-post-shell__content > p.is-style-az-eyebrow + h3 {
  margin-top: 20px;
}

.az-page-shell__content > :first-child,
.az-post-shell__content > :first-child {
  margin-top: 0;
}

.az-page-shell__content > .wp-block-buttons,
.az-post-shell__content > .wp-block-buttons {
  margin-top: var(--az-space-40);
}

.az-page-shell__content > .wp-block-columns + .wp-block-columns,
.az-post-shell__content > .wp-block-columns + .wp-block-columns {
  margin-top: var(--az-space-20);
}

/* ------------------------------------------------------------------ */
/* Hairline tiles — columns block style "Tiles" (is-style-az-tiles).   */
/* Each column becomes a DS practice card: 1px hairline frame, sharp   */
/* corners, generous padding, border firms on hover (no shadow).       */
/* ------------------------------------------------------------------ */
.wp-block-columns.is-style-az-tiles {
  gap: 20px;
}

.wp-block-columns.is-style-az-tiles > .wp-block-column {
  border: 1px solid var(--az-color-border);
  background: var(--az-color-surface);
  padding: 26px 28px;
  transition: border-color 140ms ease;
}

.wp-block-columns.is-style-az-tiles > .wp-block-column:hover {
  border-color: var(--az-color-border-strong);
}

/* ------------------------------------------------------------------ */
/* Areas-of-practice band + practice cards — parity with the DS        */
/* HomeScreen "Areas of practice" (SectionTone muted + PracticeCard).  */
/* Ships as the block pattern azdstheme/areas-of-practice.             */
/* ------------------------------------------------------------------ */

/* Eyebrow with a leading hairline dash (Eyebrow rule variant). */
.az-eyebrow--rule::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
  margin-right: 0.7rem;
  vertical-align: middle;
}

/* Full-bleed tinted band that escapes the page shell, then re-aligns
   its content with the shell's inner edge. */
.az-practice-band {
  margin-block: var(--az-space-80) 0;
  margin-inline: calc(50% - 50vw);
  padding-block: var(--az-space-80);
  padding-inline: max(var(--az-shell-pad-x), calc((100vw - var(--az-shell-max-width)) / 2 + var(--az-shell-pad-x)));
  background: var(--az-color-band);
}

.az-practice-band__title {
  margin: 20px 0 0;
}

.az-practice-band__lead {
  margin: 18px 0 0;
  max-width: 60ch;
  color: var(--az-color-muted);
}

.az-practice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 44px;
}

@media (max-width: 1100px) {
  .az-practice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .az-practice-grid {
    grid-template-columns: 1fr;
  }
}

.az-practice-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px 28px;
  background: var(--az-color-surface);
  border: 1px solid var(--az-color-border);
  transition: border-color 140ms ease;
}

.az-practice-card:hover {
  border-color: var(--az-color-text);
}

.az-practice-card > * {
  margin: 0;
}

.az-practice-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.az-practice-card__glyph {
  color: var(--az-color-text);
  transition: color 140ms ease;
}

.az-practice-card__glyph svg {
  display: block;
  width: 36px;
  height: 36px;
}

.az-practice-card:hover .az-practice-card__glyph {
  color: var(--az-color-accent);
}

.az-practice-card__num {
  font-family: var(--az-font-h6-family);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-variant-numeric: tabular-nums;
  color: var(--az-color-muted);
  padding-top: 4px;
  transition: color 140ms ease;
}

.az-practice-card:hover .az-practice-card__num {
  color: var(--az-color-accent);
}

.az-practice-card__area {
  margin-top: 6px;
}

.az-practice-card h3 {
  font-size: 25px;
  line-height: 1.15;
}

.az-practice-card__desc {
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--az-color-muted);
  flex: 1;
}

.az-practice-card__cta {
  margin-top: 8px;
}

.az-practice-card__cta a,
.az-page-shell__content .az-practice-card__cta :where(a),
.az-post-shell__content .az-practice-card__cta :where(a) {
  font-family: var(--az-font-h6-family);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-color-accent);
  text-decoration: none;
}

.az-practice-card__cta a:hover,
.az-practice-card__cta a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

/* ------------------------------------------------------------------ */
/* Homepage auto-DS layer — styles the existing block markup on the    */
/* front page WITHOUT requiring block styles or pattern insertion.     */
/* Structural selectors (:has) recognise the content model:            */
/*   p immediately before a heading  = eyebrow kicker                  */
/*   columns containing h3 cards     = hairline practice tiles         */
/*   trailing single-link paragraph  = uppercase cobalt CTA            */
/* Scoped to .home so prose on other pages is never touched there;     */
/* other pages keep the opt-in Eyebrow/Label/Tiles block styles.       */
/* ------------------------------------------------------------------ */

/* Kickers: "Featured case study", "Areas of practice", column labels
   ("Conversations", "Challenge", …) and the meta line above the hero. */
.home .az-page-shell__content > p:has(+ h1),
.home .az-page-shell__content > p:has(+ h2),
.home .az-page-shell__content .wp-block-column > p:has(+ h2),
.home .az-page-shell__content .wp-block-column > p:has(+ h3),
.home .az-page-shell__content .wp-block-columns:has(h2) .wp-block-column:last-child > p:nth-child(odd):has(+ p) {
  font-family: var(--az-font-h6-family);
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-color-accent);
  margin-bottom: 0;
}

/* Column facet labels (Challenge / Contribution / Outcome) read muted. */
.home .az-page-shell__content .wp-block-columns:has(h2) .wp-block-column:last-child > p:nth-child(odd):has(+ p) {
  color: var(--az-color-muted);
}

/* Section rhythm: 80px before a section kicker, 20px kicker → title. */
.home .az-page-shell__content > p:has(+ h2) {
  margin-top: var(--az-space-80);
}

.home .az-page-shell__content > p:has(+ h2) + h2 {
  margin-top: 20px;
}

.home .az-page-shell__content > h2 + p {
  max-width: 60ch;
  color: var(--az-color-muted);
}

/* Practice tiles: any homepage columns row whose columns hold an h3.  */
.home .az-page-shell__content > .wp-block-columns:has(h3) {
  gap: 20px;
  margin-top: 44px;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) + .wp-block-columns:has(h3) {
  margin-top: 20px;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px 28px;
  background: var(--az-color-surface);
  border: 1px solid var(--az-color-border);
  transition: border-color 140ms ease;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column:hover {
  border-color: var(--az-color-text);
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column > * {
  margin: 0;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column h3 {
  font-size: 25px;
  line-height: 1.15;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column h3 a {
  color: var(--az-color-text);
  text-decoration: none;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column > p:not(:has(a)):not(:has(+ h3)) {
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--az-color-muted);
  flex: 1;
}

/* Tile CTA: the trailing single-link paragraph ("Enter this section"). */
.home .az-page-shell__content .wp-block-column > p:last-child:has(> a:only-child) {
  margin-top: 8px;
  flex: 0 0 auto;
}

.home .az-page-shell__content .wp-block-column > p:last-child:has(> a:only-child) > a {
  font-family: var(--az-font-h6-family);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-color-accent);
  text-decoration: none;
}

.home .az-page-shell__content .wp-block-column > p:last-child:has(> a:only-child) > a::after {
  content: " \2192";
}

.home .az-page-shell__content .wp-block-column > p:last-child:has(> a:only-child) > a:hover,
.home .az-page-shell__content .wp-block-column > p:last-child:has(> a:only-child) > a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

/* Featured h2 link: serif ink, no resting underline. */
.home .az-page-shell__content .wp-block-column > h2 a {
  color: var(--az-color-text);
  text-decoration: none;
}

/* Tidy: hide empty trailing paragraphs the editor leaves behind. */
.az-page-shell__content > p:empty,
.az-post-shell__content > p:empty {
  display: none;
}

/* ------------------------------------------------------------------ */
/* Homepage tonal bands — parity with the DS HomeScreen section flow:  */
/* white hero → inverse navy "Featured case study" band → soft blue    */
/* "Areas of practice" band. The band is composed from consecutive     */
/* full-bleed siblings sharing one background, so no wrapper block is  */
/* needed in the content.                                              */
/* ------------------------------------------------------------------ */

/* --- Featured case study: inverse navy band ----------------------- */
.home .az-page-shell__content > .wp-block-columns:has(h2),
.home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons {
  margin-inline: calc(50% - 50vw);
  padding-inline: max(var(--az-shell-pad-x), calc((100vw - var(--az-shell-max-width)) / 2 + var(--az-shell-pad-x)));
  background: var(--az-color-inverse);
}

/* Band opener: the "Featured case study" kicker sits inside the first
   column — render it as a ruled eyebrow in support blue (the inverse
   variant: base support blue is only 3.5:1 on the navy band). */
.home .az-page-shell__content > .wp-block-columns:has(h2) .wp-block-column > p:has(+ h2) {
  color: var(--az-color-accent-support-inverse, #3d94f6);
  margin-bottom: 22px;
}

.home .az-page-shell__content > .wp-block-columns:has(h2) .wp-block-column > p:has(+ h2)::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
  margin-right: 0.7rem;
  vertical-align: middle;
}

.home .az-page-shell__content > .wp-block-columns:has(h2) {
  margin-top: var(--az-space-80);
  padding-top: var(--az-space-80);
  padding-bottom: 8px;
  gap: 56px;
  color: var(--az-token-action-primary-text);
}

.home .az-page-shell__content > .wp-block-columns:has(h2) h2,
.home .az-page-shell__content > .wp-block-columns:has(h2) h2 a {
  color: var(--az-token-action-primary-text);
  text-decoration: none;
  margin: 0;
}

.home .az-page-shell__content > .wp-block-columns:has(h2) .wp-block-column > p {
  color: color-mix(in srgb, var(--az-token-action-primary-text) 72%, transparent);
  max-width: 46ch;
}

/* Facet labels (Challenge / Contribution / Outcome) in support blue,
   values in near-white. */
.home .az-page-shell__content > .wp-block-columns:has(h2) .wp-block-column:last-child > p:nth-child(odd):has(+ p) {
  color: var(--az-color-accent-support-inverse, #3d94f6);
}

.home .az-page-shell__content > .wp-block-columns:has(h2) .wp-block-column:last-child > p:nth-child(even) {
  color: color-mix(in srgb, var(--az-token-action-primary-text) 86%, transparent);
}

/* Band closer: the "Read the case study" action as an outline button
   on dark — hairline white frame, transparent fill. */
.home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons {
  margin-top: 0;
  padding-top: 20px;
  padding-bottom: var(--az-space-80);
}

.home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons .wp-block-button__link {
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--az-token-action-primary-text) 38%, transparent);
  color: var(--az-token-action-primary-text);
}

.home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons .wp-block-button__link:hover,
.home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons .wp-block-button__link:focus-visible {
  background: color-mix(in srgb, var(--az-token-action-primary-text) 8%, transparent);
  border-color: color-mix(in srgb, var(--az-token-action-primary-text) 70%, transparent);
  color: var(--az-token-action-primary-text);
  transform: none;
}

/* --- Areas of practice: soft blue band ----------------------------- */
.home .az-page-shell__content > p:has(+ h2),
.home .az-page-shell__content > p:has(+ h2) + h2,
.home .az-page-shell__content > .wp-block-columns:has(h3) {
  margin-inline: calc(50% - 50vw);
  padding-inline: max(var(--az-shell-pad-x), calc((100vw - var(--az-shell-max-width)) / 2 + var(--az-shell-pad-x)));
  background: var(--az-color-band);
}

/* Band opener: sits directly under the navy band, with its own air. */
.home .az-page-shell__content > p:has(+ h2) {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: var(--az-space-80);
}

.home .az-page-shell__content > p:has(+ h2)::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
  margin-right: 0.7rem;
  vertical-align: middle;
}

.home .az-page-shell__content > p:has(+ h2) + h2 {
  margin-top: 0;
  padding-top: 20px;
}

.home .az-page-shell__content > p:has(+ h2) + h2 + p {
  margin-top: 0;
  padding-top: 18px;
  background: var(--az-color-band);
  box-shadow: 0 0 0 100vmax var(--az-color-band);
  clip-path: inset(0 -100vmax);
}

.home .az-page-shell__content > .wp-block-columns:has(h3) {
  margin-top: 0;
  padding-top: 44px;
}

.home .az-page-shell__content > .wp-block-columns:has(h3) + .wp-block-columns:has(h3) {
  margin-top: 0;
  padding-top: 20px;
}

.home .az-page-shell__content > div.wp-block-columns:has(h3):last-of-type {
  padding-bottom: var(--az-space-80);
}

/* ------------------------------------------------------------------ */
/* Homepage bands — mobile rhythm. Core columns already stack to one   */
/* column below 782px; here the band padding tightens from 80 to 60    */
/* and the featured grid loses its desktop gap.                        */
/* ------------------------------------------------------------------ */
@media (max-width: 781px) {
  .home .az-page-shell__content > .wp-block-columns:has(h2) {
    margin-top: var(--az-space-60);
    padding-top: var(--az-space-60);
    gap: 32px;
  }

  .home .az-page-shell__content > .wp-block-columns:has(h2) + .wp-block-buttons {
    padding-bottom: var(--az-space-60);
  }

  .home .az-page-shell__content > p:has(+ h2) {
    padding-top: var(--az-space-60);
  }

  .home .az-page-shell__content > .wp-block-columns:has(h3) {
    padding-top: 28px;
  }

  .home .az-page-shell__content > div.wp-block-columns:has(h3):last-of-type {
    padding-bottom: var(--az-space-60);
  }

  /* Tiles stack to a single column with a consistent 20px rhythm. */
  .home .az-page-shell__content > .wp-block-columns:has(h3) > .wp-block-column:not(:first-child) {
    margin-top: 20px;
  }

  .az-practice-band {
    padding-block: var(--az-space-60);
  }
}

/* Full-bleed bands use 50vw margins, which can create sideways
   overflow. Clip it (not hidden — overflow:hidden on an ancestor
   would break position:sticky; clip does not create a scroll box). */
body {
  overflow-x: clip;
}

/* ------------------------------------------------------------------ */
/* Contact form — DS "Field" treatment (readme: inputs are underline-  */
/* first, no boxes; a bottom hairline thickens to cobalt on focus;     */
/* labels are uppercase tracked caps above the control). Overrides the */
/* boxed WPForms theming above; applies to every WPForms instance.     */
/* ------------------------------------------------------------------ */
.wpforms-container.wpforms-render-modern {
  --wpforms-container-border-style: none;
  --wpforms-container-border-width: 0px;
  --wpforms-container-padding: 0px;
  --wpforms-background-color: transparent;
  --wpforms-field-border-radius: 0;
}

.wpforms-container.wpforms-render-modern .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.wpforms-container.wpforms-render-modern .wpforms-form textarea,
.wpforms-container.wpforms-render-modern .wpforms-form select {
  border: 0 !important;
  border-bottom: 1px solid var(--az-color-border-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0;
  padding-right: 0;
}

.wpforms-container.wpforms-render-modern .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):hover,
.wpforms-container.wpforms-render-modern .wpforms-form textarea:hover,
.wpforms-container.wpforms-render-modern .wpforms-form select:hover {
  border-bottom-color: color-mix(in srgb, var(--az-color-text) 55%, var(--az-color-border-strong) 45%) !important;
}

/* Focus: the hairline thickens to a 2px cobalt rule — this underline
   IS the focus indicator, so the boxy outline is dropped here. */
.wpforms-container.wpforms-render-modern .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
.wpforms-container.wpforms-render-modern .wpforms-form textarea:focus,
.wpforms-container.wpforms-render-modern .wpforms-form select:focus,
.wpforms-container.wpforms-render-modern .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus-visible,
.wpforms-container.wpforms-render-modern .wpforms-form textarea:focus-visible,
.wpforms-container.wpforms-render-modern .wpforms-form select:focus-visible {
  outline: none;
  border-bottom-color: var(--az-token-signal-primary) !important;
  box-shadow: 0 1px 0 var(--az-token-signal-primary) !important;
}

/* Labels: uppercase tracked caps above the control. */
.wpforms-container .wpforms-field-label {
  font-family: var(--az-font-h6-family);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: var(--az-tracking-label-strong);
  text-transform: uppercase;
  color: var(--az-color-muted);
  margin-bottom: 4px;
}

.wpforms-container .wpforms-field-label .wpforms-required-label {
  color: var(--az-color-accent);
}

.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description {
  font-size: 0.78rem;
  color: var(--az-color-muted);
}

/* Errors stay on the hairline system: the rule turns danger-red. */
.wpforms-container.wpforms-render-modern .wpforms-form input.wpforms-error,
.wpforms-container.wpforms-render-modern .wpforms-form textarea.wpforms-error {
  border-bottom-color: var(--az-color-danger) !important;
}

.wpforms-container .wpforms-error-container,
.wpforms-container label.wpforms-error {
  color: var(--az-color-danger);
  font-size: 0.78rem;
}

/* Generous vertical rhythm between fields; submit keeps the primary
   cobalt treatment it already inherits. */
.wpforms-container.wpforms-render-modern .wpforms-field {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* ------------------------------------------------------------------ */
/* Post prev/next navigation (single.html) — same-category, so case    */
/* studies page through case studies. Hairline-topped, DS treatment:   */
/* tracked micro label over a serif title, no boxes, no shadows.       */
/* ------------------------------------------------------------------ */
.az-post-nav {
  margin-top: var(--az-space-80);
  padding-top: var(--az-space-20);
  border-top: 1px solid var(--az-color-border);
  gap: var(--az-space-40);
}

.az-post-nav .az-post-nav__link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 34ch;
}

.az-post-nav .az-post-nav__link--next {
  margin-left: auto;
  text-align: right;
}

.az-post-nav .post-navigation-link__label {
  font-family: var(--az-font-h6-family);
  font-size: var(--az-type-small);
  font-weight: 600;
  letter-spacing: var(--az-tracking-label);
  text-transform: uppercase;
  color: var(--az-color-muted);
}

.az-post-nav .az-post-nav__link a {
  font-family: var(--az-font-h3-family);
  font-weight: 200;
  font-size: 1.35rem;
  line-height: 1.2;
  color: var(--az-color-text);
  text-decoration: none;
}

.az-post-nav .az-post-nav__link a:hover,
.az-post-nav .az-post-nav__link a:focus-visible {
  color: var(--az-color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

@media (max-width: 600px) {
  .az-post-nav {
    flex-direction: column;
  }

  .az-post-nav .az-post-nav__link--next {
    margin-left: 0;
    text-align: left;
  }
}

/* The "Start a project" CTA is retired from case-study closings. The
   button lives in post content, so it is switched off here: any
   outline button pointing at /contact/ inside a post shell. */
.az-post-shell__content .wp-block-button:has(> .wp-block-button__link[href*="/contact"]) {
  display: none;
}
