/* =========================================================
   Maker Meik — Sub-page styles
   Builds on kit.css; add-ons for service category + sub-item pages,
   plus about, cases, notebook, resume pages.
   ========================================================= */

/* ---------- Sub-page shell ---------- */
.sp-page { padding-top: 2.5rem; }

/* ---------- Breadcrumb ---------- */
.breadcrumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.375rem;
  padding: 1.25rem 0 1.75rem;
  font: 500 var(--fs-body-sm)/1 var(--font-body);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}
.breadcrumb__item { display: flex; align-items: center; gap: 0.375rem; }
.breadcrumb__link { color: var(--fg-muted); text-decoration: none; transition: color var(--dur-base); }
.breadcrumb__link:hover { color: var(--accent); }
.breadcrumb__current { color: var(--fg); }
.breadcrumb__sep { color: var(--fg-subtle); font-size: var(--fs-micro); }

/* ---------- Service hero (replaces home hero on sub-pages) ---------- */
.sp-hero {
  position: relative;
  margin-top: 0;
  padding: 3.5rem 3.5rem 4rem;
  border-radius: var(--radius-xl);
  background: var(--accent-wash);
  border: 1px solid var(--border);
  overflow: hidden;
  isolation: isolate;
  transition: background var(--dur-base) var(--ease-out);
}
.sp-hero__pattern {
  position: absolute; inset: 0; z-index: -1;
  background: url("../assets/bg-pattern.svg") center / 30rem repeat;
  opacity: 0.5;
  mix-blend-mode: multiply;
}
.theme-dark .sp-hero { background: var(--bg-elevated); }
.theme-dark .sp-hero__pattern { opacity: 0.04; mix-blend-mode: normal; }

.sp-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
  margin-top: 1rem;
}
.sp-hero__body { max-width: 42.5rem; }
.sp-hero__body .eyebrow { margin-bottom: 0.5rem; }
.sp-hero__body .display { margin: 0.625rem 0 1.25rem; }
.sp-hero__lead {
  font-size: 1.25rem; line-height: 1.55;
  color: var(--ink-700);
  max-width: 35rem; margin: 0;
  text-wrap: pretty;
}
.theme-dark .sp-hero__lead { color: var(--fg-muted); }
.sp-hero__illo {
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
  background: color-mix(in srgb, var(--accent-tint) 60%, transparent);
  border-radius: var(--radius-lg);
  border: 1px solid var(--accent-soft);
  min-height: 16.25rem;
}
.sp-hero__illo img { width: 100%; max-width: 17.5rem; height: auto; object-fit: contain; }
.sp-hero__photo {
  position: relative;
  min-height: 16.25rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--accent-soft);
  overflow: hidden;
  box-shadow: var(--shadow-2);
}
.sp-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------- Scroll hint (hero footer cue) ---------- */
.scroll-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: none;
  border: none;
  padding: 1.5rem 0 0 0;
  cursor: pointer;
  opacity: 0;
  transform: translateY(10px);
  animation: scroll-hint-in 0.7s var(--ease-out) 0.9s forwards;
}
.scroll-hint__mouse {
  width: 1.625rem;
  height: 2.5rem;
  color: var(--fg-subtle);
  flex-shrink: 0;
  transition: color 0.2s var(--ease-out);
}
.scroll-hint__label {
  font: 600 var(--fs-micro)/1 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  transition: color 0.2s var(--ease-out);
}
.scroll-hint:hover .scroll-hint__mouse,
.scroll-hint:hover .scroll-hint__label { color: var(--fg); }
.scroll-hint__dot {
  animation: scroll-dot 2.2s ease-in-out 1.9s infinite;
  transform-origin: center;
  transform-box: fill-box;
}
@keyframes scroll-hint-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes scroll-dot {
  0%   { transform: translateY(0);    opacity: 1; }
  40%  { transform: translateY(13px); opacity: 0; }
  41%  { transform: translateY(0);    opacity: 0; }
  65%  { transform: translateY(0);    opacity: 1; }
  100% { transform: translateY(0);    opacity: 1; }
}

/* ---------- Sub-item cards (category pages) ---------- */
.sp-subs { margin-top: var(--space-11); }
.sp-subs__head { max-width: 680px; margin-bottom: 36px; }
.sp-subs__head .display { margin: 10px 0 0; }
.sp-subs__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.sp-sub-card {
  display: flex; flex-direction: column;
  background: var(--paper-50);
  border: 1px solid var(--paper-300);
  border-radius: var(--radius-lg);
  padding: 28px 28px 24px;
  text-decoration: none;
  color: inherit;
  transition: transform var(--dur-base) var(--ease-out),
              box-shadow var(--dur-base) var(--ease-out),
              border-color var(--dur-base) var(--ease-out);
}
.sp-sub-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-3);
  border-color: var(--accent-soft);
}
.theme-dark .sp-sub-card { background: var(--bg-elevated); border-color: var(--border); }
.sp-sub-card__num {
  font: 800 var(--fs-stat)/1 var(--font-display);
  letter-spacing: 0.06em;
  margin-bottom: 14px;
}
.sp-sub-card--ux   .sp-sub-card__num { color: var(--ux-base); }
.sp-sub-card--ai   .sp-sub-card__num { color: var(--ai-base); }
.sp-sub-card--play .sp-sub-card__num { color: var(--play-base); }

.sp-sub-card__title {
  font: 700 22px/1.1 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 10px;
  color: var(--fg);
}
.sp-sub-card__lead {
  font: 400 var(--fs-body-sm)/1.55 var(--font-body);
  color: var(--fg-muted);
  margin: 0;
  flex: 1;
  text-wrap: pretty;
}
.sp-sub-card__cta {
  display: block;
  font: 600 var(--fs-body-sm)/1 var(--font-body);
  color: var(--accent);
  margin-top: 20px;
  text-decoration: none;
  transition: gap var(--dur-fast);
}
.sp-sub-card:hover .sp-sub-card__cta { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Approach / key points ---------- */
.sp-approach { margin-top: var(--space-11); }
.sp-approach__head { margin-bottom: 2rem; }
.sp-approach__list {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.sp-approach__item {
  display: flex; gap: 1.25rem; align-items: flex-start;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  transition: border-color var(--dur-base);
}
.sp-approach__item:hover { border-color: var(--accent-soft); }
.sp-approach__num {
  font: 800 var(--fs-small)/1 var(--font-display);
  letter-spacing: 0.06em;
  flex: 0 0 auto;
  margin-top: 0.1875rem;
}
.sp-approach__num--ux   { color: var(--ux-base); }
.sp-approach__num--ai   { color: var(--ai-base); }
.sp-approach__num--play { color: var(--play-base); }
.sp-approach__heading {
  font: 700 1.0625rem/1.2 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 0.5rem;
  color: var(--fg);
}
.sp-approach__text {
  font: 400 var(--fs-body-sm)/1.6 var(--font-body);
  color: var(--fg-muted);
  margin: 0;
  text-wrap: pretty;
}

/* ---------- Approach items with optional inline image ---------- */
.sp-approach__item-body-wrap { display: contents; } /* transparent for non-image items */

.sp-approach__item--has-image {
  flex-direction: column;
  gap: 0;
  padding: 0;
  align-items: stretch;
  overflow: hidden;
}
.sp-approach__item-img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}
.sp-approach__item-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 500ms ease;
}
.sp-approach__item--has-image:hover .sp-approach__item-img img { transform: scale(1.04); }
.sp-approach__zoom-hint {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0);
  color: transparent;
  font: 400 2rem/1 var(--font-body);
  transition: background 180ms ease, color 180ms ease;
  pointer-events: none;
}
.sp-approach__item-img:hover .sp-approach__zoom-hint,
.sp-approach__item-img:focus-visible .sp-approach__zoom-hint {
  background: rgba(0, 0, 0, 0.34);
  color: rgba(255, 255, 255, 0.94);
}
.sp-approach__item-img:focus-visible {
  outline: 3px solid var(--accent, var(--ai-base));
  outline-offset: -3px;
}
.sp-approach__item--has-image .sp-approach__item-body-wrap {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.5rem 1.75rem 1.75rem;
  flex: 1;
}

/* ---------- Image lightbox ---------- */
.sp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: sp-lightbox-in 180ms ease;
}
@keyframes sp-lightbox-in { from { opacity: 0; } to { opacity: 1; } }
.sp-lightbox__close {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 1.125rem;
  cursor: pointer;
}
.sp-lightbox__close:hover,
.sp-lightbox__close:focus-visible { background: rgba(255, 255, 255, 0.24); }
.sp-lightbox__stage {
  flex: 1;
  width: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 3.5rem 1.5rem 0.5rem;
  touch-action: none;
}
.sp-lightbox__image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
  will-change: transform;
}
.sp-lightbox__caption {
  margin: 0;
  padding: 0.75rem 2.5rem 0.25rem;
  color: rgba(255, 255, 255, 0.78);
  font: 600 var(--fs-body-sm)/1.5 var(--font-body);
  text-align: center;
}
.sp-lightbox__hint {
  margin: 0;
  padding: 0.375rem 1rem 1rem;
  color: rgba(255, 255, 255, 0.42);
  font: 400 var(--fs-micro)/1.35 var(--font-body);
  letter-spacing: 0.03em;
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .sp-lightbox { animation: none; }
  .sp-approach__zoom-hint { transition: none; }
}

/* ---------- Related cases ---------- */
.sp-cases { margin-top: var(--space-11); }
.sp-cases__head { max-width: 42.5rem; margin-bottom: 2.25rem; }
.sp-cases__head .display { margin: 0.625rem 0 0.625rem; }
.sp-cases__lead { font-size: 1rem; color: var(--fg-muted); margin: 0; }
.sp-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.125rem;
  margin-bottom: 1.5rem;
}
.app--visual-design .sp-cases .mm-case-card--img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(8, 8, 12, .72) 0%,
    rgba(8, 8, 12, .2) 42%,
    rgba(8, 8, 12, .82) 100%
  );
}
.app--visual-design .sp-cases .mm-case-card__header,
.app--visual-design .sp-cases .mm-case-card__title,
.app--visual-design .sp-cases .mm-case-card__footer,
.app--visual-design .sp-cases .mm-case-card__arrow {
  position: relative;
  z-index: 1;
}
.app--visual-design .sp-cases .mm-case-card__kind {
  background: rgba(10,10,14,.52);
  border-color: rgba(255,255,255,.24);
  color: rgba(255,255,255,.82);
  backdrop-filter: blur(8px);
}
.app--visual-design .sp-cases .mm-case-card__tag {
  background: rgba(10,10,14,.48);
  border-color: rgba(255,255,255,.24);
  color: rgba(255,255,255,.78);
  backdrop-filter: blur(8px);
}
.app--visual-design .sp-cases .mm-case-card__title {
  max-width: 24ch;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0,0,0,.38);
}
/* Case tiles in this grid render via the shared CaseCard molecule
   (variant="tile" → .mm-case-card / .mm-case-card--tile, see kit.css). */
.sp-cases__all {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font: 600 var(--fs-body-sm)/1 var(--font-body);
  text-decoration: underline; text-underline-offset: 0.3125rem;
  transition: color var(--dur-fast);
}
.sp-cases__all--ux   { color: var(--ux-base); }
.sp-cases__all--ux:hover { color: var(--ux-deep); }
.sp-cases__all--ai   { color: var(--ai-base); }
.sp-cases__all--ai:hover { color: var(--ai-deep); }
.sp-cases__all--play { color: var(--play-base); }
.sp-cases__all--play:hover { color: var(--play-deep); }

/* ---------- Inline CTA callout ---------- */
.sp-cta {
  margin-top: var(--space-11);
  border-radius: var(--radius-xl);
  padding: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid var(--border);
}
.sp-cta--ux   { background: var(--ux-wash); border-color: var(--ux-tint); }
.sp-cta--ai   { background: var(--ai-wash); border-color: var(--ai-tint); }
.sp-cta--play { background: var(--play-wash); border-color: var(--play-tint); }
.theme-dark .sp-cta { background: var(--bg-elevated); border-color: var(--border); }

.sp-cta__inner {
  display: grid;
  grid-template-columns: clamp(10rem, 18vw, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: stretch;
}
.sp-cta__avatar {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 19vw, 16.5rem);
  border-radius: var(--radius-lg);
  object-fit: cover;
  object-position: center;
  flex: 0 0 auto;
  border: 0;
  box-shadow: var(--shadow-2);
}
.sp-cta__content {
  align-self: center;
  padding-block: clamp(.75rem, 1.6vw, 1.5rem);
}

.sp-cta__title {
  font: 700 26px/1.15 var(--font-display);
  letter-spacing: var(--tracking-tight);
  color: var(--fg);
  margin: 0 0 10px;
  text-wrap: pretty;
}
.sp-cta__body {
  font: 400 var(--fs-body-sm)/1.6 var(--font-body);
  color: var(--fg-muted);
  margin: 0 0 22px;
  max-width: 52ch;
}
.sp-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
.sp-cta__email {
  font: 700 18px/1 var(--font-display);
  text-decoration: none;
  transition: color var(--dur-fast);
}
.sp-cta--ux   .sp-cta__email { color: var(--ux-base); }
.sp-cta--ux   .sp-cta__email:hover { color: var(--ux-deep); }
.sp-cta--ai   .sp-cta__email { color: var(--ai-base); }
.sp-cta--ai   .sp-cta__email:hover { color: var(--ai-deep); }
.sp-cta--play .sp-cta__email { color: var(--play-base); }
.sp-cta--play .sp-cta__email:hover { color: var(--play-deep); }
.sp-cta__phone {
  font: 500 var(--fs-body-sm)/1 var(--font-body);
  color: var(--fg-muted);
  text-decoration: none;
}

/* ---------- Related services ---------- */
.sp-related { margin-top: var(--space-9); padding-top: var(--space-8); border-top: 1px solid var(--border); }
.sp-related > .eyebrow { margin-bottom: 1.25rem; }
.sp-related__grid { display: flex; flex-wrap: wrap; gap: 0.875rem; }
.sp-related-card {
  display: flex; align-items: center; gap: 0.875rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1rem 1.25rem;
  text-decoration: none; color: inherit;
  flex: 1 1 15rem;
  transition: transform var(--dur-base), box-shadow var(--dur-base), border-color var(--dur-base);
}
.sp-related-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-2); }
.sp-related-card--ux:hover   { border-color: var(--ux-soft); }
.sp-related-card--ai:hover   { border-color: var(--ai-soft); }
.sp-related-card--play:hover { border-color: var(--play-soft); }
.sp-related-card__mode {
  font: 600 var(--fs-micro)/1 var(--font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 8px;
  border-radius: var(--radius-pill);
  flex: 0 0 auto;
}
.sp-related-card__mode--ux   { background: var(--ux-tint); color: var(--ux-ink); }
.sp-related-card__mode--ai   { background: var(--ai-tint); color: var(--ai-ink); }
.sp-related-card__mode--play { background: var(--play-tint); color: var(--play-ink); }
.sp-related-card__title {
  font: 600 var(--fs-body-sm)/1.2 var(--font-body);
  color: var(--fg);
  margin: 0;
  flex: 1;
}
.sp-related-card__arrow { color: var(--fg-subtle); font-size: 16px; flex: 0 0 auto; }

/* =========================================================
   About page
   ========================================================= */
.about-hero {
  position: relative;
  padding: 72px 64px 80px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--paper-300); /* overridden by inline style */
  overflow: hidden;
  isolation: isolate;
  margin-top: 12px;
  transition: background 350ms cubic-bezier(0.2,0.7,0.2,1), border-color 350ms cubic-bezier(0.2,0.7,0.2,1);
}
.about-hero__pattern {
  position: absolute; inset: 0; z-index: -1;
  background: url("../assets/bg-pattern.svg") center / 480px repeat;
  opacity: 0.45; mix-blend-mode: multiply;
}
.theme-dark .about-hero { background: var(--bg-elevated) !important; border-color: var(--border) !important; }
.theme-dark .about-hero__pattern { opacity: 0.04; mix-blend-mode: normal; }
.about-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 56px; align-items: center;
}
.about-hero__lead {
  font-size: 19px; line-height: 1.6; color: var(--ink-700);
  max-width: 580px; margin: 0 0 32px;
  text-wrap: pretty;
}
.about-hero__portrait {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 360px;
}
.about-hero__blob {
  position: absolute; left: 50%; top: 50%;
  width: 340px; height: 340px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.about-hero__blob-shape {
  width: 100%; height: 100%;
  border-radius: 47% 53% 60% 40% / 55% 45% 55% 45%;
  background: radial-gradient(circle at 35% 30%, var(--accent-soft), var(--accent-deep));
  opacity: 0.8;
  animation: blob 18s ease-in-out infinite;
}
.about-hero__portrait img {
  position: relative; z-index: 1;
  max-width: 100%; max-height: 420px;
  display: block;
  filter: drop-shadow(0 18px 40px rgba(20, 16, 6, 0.18));
}
.about-hero__chips { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.about-hero__chips li {
  font: 500 var(--fs-body-sm)/1 var(--font-body);
  color: var(--accent-ink);
  background: var(--accent-tint);
  border: 1px solid var(--accent-soft);
  padding: 9px 13px; border-radius: var(--radius-pill);
}

/* About sections */
.about-section { margin-top: var(--space-11); }
.about-section__head { max-width: 680px; margin-bottom: 36px; }
.about-section__head .display { margin: 10px 0 0; }

/* Timeline */
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline__item {
  display: grid;
  grid-template-columns: 120px 1px 1fr;
  gap: 0 28px;
  padding-bottom: 36px;
}
.timeline__year {
  font: 800 var(--fs-body-sm)/1 var(--font-display);
  color: var(--accent);
  text-align: right;
  padding-top: 3px;
}
.timeline__line {
  background: var(--border);
  position: relative;
}
.timeline__line::before {
  content: "";
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--accent);
  position: absolute;
  left: 50%; top: 3px;
  transform: translateX(-50%);
}
.timeline__body { padding-top: 0; }
.timeline__role {
  font: 700 18px/1.2 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 4px; color: var(--fg);
}
.timeline__org {
  font: 500 var(--fs-body-sm)/1 var(--font-body);
  color: var(--fg-muted);
  margin-bottom: 8px;
}
.timeline__desc {
  font: 400 var(--fs-body-sm)/1.6 var(--font-body);
  color: var(--fg-muted);
  margin: 0;
  text-wrap: pretty;
}

/* Skills grid */
.skills-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.skill-chip {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 13px 16px;
  font: 500 var(--fs-body-sm)/1.2 var(--font-body);
  color: var(--fg);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 11px;
  transition: background var(--dur-fast), border-color var(--dur-fast),
              color var(--dur-fast), box-shadow var(--dur-fast),
              transform var(--dur-fast);
  cursor: default;
}
.skill-chip:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: var(--shadow-3);
  z-index: 10;
}
/* Per-tab fixed hover colors */
.skills-grid[data-tab="ux"]      .skill-chip:hover { background: var(--ux-base);   border-color: var(--ux-base); }
.skills-grid[data-tab="ai"]      .skill-chip:hover { background: var(--ai-base);   border-color: var(--ai-base); }
.skills-grid[data-tab="play"]    .skill-chip:hover { background: var(--play-base); border-color: var(--play-base); }
.skills-grid[data-tab="general"] .skill-chip:hover { background: #0b0b0b;          border-color: #0b0b0b; }
.skill-chip__icon {
  width: 32px; height: 32px; object-fit: contain; flex-shrink: 0;
  opacity: 0.6;
  transition: opacity var(--dur-fast), filter var(--dur-fast);
}
.skill-chip:hover .skill-chip__icon {
  opacity: 1;
  filter: brightness(0) invert(1);
}

/* Awards */
.awards-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.award-item {
  display: flex; align-items: flex-start; gap: 18px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
}
.award-item__star {
  font-size: 22px; line-height: 1; flex: 0 0 auto;
  background: var(--award-gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.award-item__title {
  font: 700 16px/1.2 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 4px; color: var(--fg);
}
.award-item__year { font: 500 var(--fs-body-sm)/1 var(--font-body); color: var(--fg-muted); }

/* =========================================================
   Cases page
   ========================================================= */
.cases-hero {
  padding: 64px 56px;
  border-radius: var(--radius-xl);
  background: var(--paper-200);
  border: 1px solid var(--paper-300);
  margin-top: 12px;
  position: relative; overflow: hidden;
}
.cases-hero__pattern {
  position: absolute; inset: 0; pointer-events: none;
  background: url("../assets/bg-pattern.svg") center / 480px repeat;
  opacity: 0.35; mix-blend-mode: multiply;
}
.cases-hero__lead { font-size: 19px; line-height: 1.6; color: var(--ink-700); max-width: 600px; margin: 0 0 32px; }
/* .cases-filter__btn extends .filter-btn from kit.css — no overrides needed */
.cases-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--space-7); margin-bottom: 40px; }
.cases-filter__btn { /* inherits all behaviour from .filter-btn */ }
.cases-filter__btn.is-active { /* inherits from .filter-btn.is-active */ }
.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.case-tile {
  border-radius: var(--radius-lg);
  border: 1px solid var(--paper-300);
  padding: 28px;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  min-height: 260px;
  transition: transform var(--dur-base), box-shadow var(--dur-base);
}
.case-tile--ux    { background: var(--ux-wash); border-color: var(--ux-tint); }
.case-tile--ai    { background: var(--ai-wash); border-color: var(--ai-tint); }
.case-tile--play  { background: var(--play-wash); border-color: var(--play-tint); }
.case-tile--dark  { background: var(--ink-900); border-color: var(--ink-900); }
.case-tile--paper { background: var(--paper-200); }
.case-tile--wide  { grid-column: span 2; }
.case-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); }
.case-tile__kind {
  align-self: flex-start;
  font: 600 var(--fs-micro)/1 var(--font-body);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  background: rgba(0,0,0,0.06);
  padding: 6px 10px; border-radius: var(--radius-pill);
  color: var(--fg-muted);
  margin-bottom: auto;
}
.case-tile--dark .case-tile__kind { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.6); }
.case-tile__title {
  font: 700 24px/1.15 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 16px 0 0;
  color: var(--fg);
  text-wrap: pretty;
}
.case-tile--dark .case-tile__title { color: var(--paper-100); }
.case-tile__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.case-tile__tag {
  font: 500 var(--fs-micro)/1 var(--font-body);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(0,0,0,0.05);
  padding: 5px 8px; border-radius: var(--radius-pill);
  color: var(--fg-muted);
}
.case-tile--dark .case-tile__tag { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }

/* =========================================================
   Case cards — image-first (cases.html grid)
   ========================================================= */
.cases-grid--cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 0;
}
/* Case cards in this grid render via the shared CaseCard molecule
   (variant="card" → .mm-case-card / .mm-case-card--card, see kit.css). */

/* =========================================================
   Notebook page
   ========================================================= */
.notebook-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 40px;
}
.notebook-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 0;
  text-decoration: none; color: inherit;
  display: flex; flex-direction: column;
  overflow: hidden;
  transition: transform var(--dur-base), box-shadow var(--dur-base), border-color var(--dur-base);
}
.notebook-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); border-color: var(--accent-soft); }
.notebook-card__thumb {
  width: 100%; height: 180px;
  overflow: hidden; flex-shrink: 0;
}
.notebook-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 400ms ease;
}
.notebook-card:hover .notebook-card__thumb img { transform: scale(1.04); }
.notebook-card__body { padding: 22px 24px; display: flex; flex-direction: column; flex: 1; }
.notebook-card__tag {
  align-self: flex-start;
  font: 600 var(--fs-micro)/1 var(--font-body);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  padding: 5px 9px; border-radius: var(--radius-pill);
  margin-bottom: 14px;
}
.notebook-card__tag--ux   { background: var(--ux-tint); color: var(--ux-ink); }
.notebook-card__tag--ai   { background: var(--ai-tint); color: var(--ai-ink); }
.notebook-card__tag--play { background: var(--play-tint); color: var(--play-ink); }
.notebook-card__title {
  font: 700 20px/1.15 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 10px; color: var(--fg);
  text-wrap: pretty; flex: 1;
}
.notebook-card__excerpt { font: 400 var(--fs-body-sm)/1.6 var(--font-body); color: var(--fg-muted); margin: 0 0 16px; }
.notebook-card__meta { font: 400 var(--fs-body-sm)/1 var(--font-body); color: var(--fg-subtle); }

/* =========================================================
   Resume page
   ========================================================= */
.resume-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  margin-top: 40px;
}
.resume-sidebar { display: flex; flex-direction: column; gap: 36px; }
.resume-section { margin-bottom: 48px; }
.resume-section:last-child { margin-bottom: 0; }
.resume-section__title {
  font: 800 var(--fs-body-sm)/1 var(--font-display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ux-base);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--ux-tint);
}
.resume-job { margin-bottom: 28px; }
.resume-job:last-child { margin-bottom: 0; }
.resume-job__title { font: 700 18px/1.2 var(--font-display); letter-spacing: var(--tracking-tight); margin: 0 0 4px; }
.resume-job__meta { font: 500 var(--fs-body-sm)/1 var(--font-body); color: var(--fg-muted); margin-bottom: 10px; }
.resume-job__desc { font: 400 var(--fs-body-sm)/1.6 var(--font-body); color: var(--fg-muted); margin: 0; text-wrap: pretty; }
.resume-skill-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.resume-skill-list li { font: 400 var(--fs-body-sm)/1.4 var(--font-body); color: var(--fg-muted); padding-left: 14px; position: relative; }
.resume-skill-list li::before { content: "—"; position: absolute; left: 0; color: var(--ux-base); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 900px) {
  .sp-hero__layout, .about-hero__layout { grid-template-columns: 1fr; }
  .about-hero__portrait { display: none; }
  .sp-hero__illo { min-height: 12rem; padding: 1.5rem; }
  .sp-hero__illo img { max-width: 13rem; }
  .sp-featured-image img { height: clamp(12rem, 45vw, 18rem); }
  .sp-subs__grid, .sp-approach__list, .sp-cases__grid, .sp-guide__grid { grid-template-columns: 1fr; }
  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .cases-grid, .cases-grid--cards, .notebook-grid { grid-template-columns: repeat(2, 1fr); }
  .case-tile--wide { grid-column: span 1; }
  .resume-layout { grid-template-columns: 1fr; }
  .timeline__item { grid-template-columns: 80px 1px 1fr; }
  .sp-cta__inner { grid-template-columns: clamp(8rem, 22vw, 11rem) minmax(0, 1fr); }
  .sp-cta__avatar { min-height: 11rem; }
}
@media (max-width: 600px) {
  .sp-hero { padding: 32px 20px 40px; }
  .sp-cta { padding: 1rem; }
  .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .sp-cta__avatar { min-height: 16rem; }
  .sp-cta__content { padding: .25rem .5rem .75rem; }
  .cases-grid, .cases-grid--cards, .notebook-grid { grid-template-columns: 1fr; }
  .sp-subs__grid { grid-template-columns: 1fr; }
}


/* ---------- Intro text (soft context paragraph) ---------- */
.sp-intro {
  margin: var(--space-9) 0 0;
  font: 400 1.125rem/1.7 var(--font-body);
  color: var(--fg-muted);
  max-width: 68ch;
  text-wrap: pretty;
}
.theme-dark .sp-intro { color: var(--fg-muted); }

/* ---------- Featured image (wide visual break) ---------- */
.sp-featured-image {
  margin-top: var(--space-10);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--border);
}
.sp-featured-image img {
  width: 100%;
  height: clamp(18rem, 40vw, 30rem);
  object-fit: cover;
  display: block;
  transition: transform 600ms ease;
}
.sp-featured-image:hover img { transform: scale(1.02); }
.sp-featured-image__caption {
  padding: 0.75rem 1.25rem;
  font: 400 var(--fs-body-sm)/1.4 var(--font-body);
  color: var(--fg-subtle);
  background: var(--bg-elevated);
  margin: 0;
  border-top: 1px solid var(--border);
}

/* ---------- Pull quote ---------- */
.sp-pull-quote {
  margin: var(--space-9) 0 0;
  padding: 1.25rem 1.75rem;
  border-left: 3px solid currentColor;
  font: 600 clamp(1.0625rem, 2vw, 1.25rem)/1.45 var(--font-display);
  letter-spacing: var(--tracking-tight);
  color: var(--fg);
  background: transparent;
}
.sp-pull-quote--ux   { color: var(--ux-ink);   border-color: var(--ux-base); }
.sp-pull-quote--ai   { color: var(--ai-ink);   border-color: var(--ai-base); }
.sp-pull-quote--play { color: var(--play-ink); border-color: var(--play-base); }
.theme-dark .sp-pull-quote { color: var(--fg); }

/* ---------- Tools bar ---------- */
.sp-tools {
  margin-top: var(--space-8);
  display: flex; flex-direction: column; gap: 0.75rem;
}
.sp-tools__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sp-tool-chip {
  display: inline-block;
  padding: 0.3125rem 0.75rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  font: 500 var(--fs-body-sm)/1 var(--font-body);
  color: var(--fg-muted);
  white-space: nowrap;
}

/* ---------- Personal note ---------- */
.sp-personal-note {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  margin-top: var(--space-9);
  padding: 1.75rem clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--bg-elevated);
}
.sp-personal-note__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  font: 700 1.1rem/1 var(--font-display);
  background: var(--surface);
}
.sp-personal-note h3 {
  margin: 0 0 0.5rem;
  font: 700 var(--fs-body-lg)/1.25 var(--font-display);
  letter-spacing: var(--tracking-tight);
  color: var(--fg);
}
.sp-personal-note p { margin: 0; color: var(--fg-muted); }
.sp-personal-note--ux   .sp-personal-note__icon { color: var(--ux-ink);   background: var(--ux-wash); }
.sp-personal-note--ai   .sp-personal-note__icon { color: var(--ai-ink);   background: var(--ai-wash); }
.sp-personal-note--play .sp-personal-note__icon { color: var(--play-ink); background: var(--play-wash); }
.sp-personal-note--ux   { border-color: var(--ux-tint); }
.sp-personal-note--ai   { border-color: var(--ai-tint); }
.sp-personal-note--play { border-color: var(--play-tint); }

/* ---------- Service guide (What / Why / How / When) ---------- */
.sp-guide { margin-top: var(--space-11); }
.sp-guide__head { max-width: 700px; margin-bottom: 2rem; }
.sp-guide__head .display { margin-top: 0.5rem; }
.sp-guide__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.sp-guide__card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  transition: border-color var(--dur-base);
}
.sp-guide__card:hover { border-color: var(--accent-soft); }
.sp-guide__label {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-pill);
  font: 700 var(--fs-micro)/1 var(--font-body);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  margin-bottom: 0.875rem;
}
.sp-guide__label--ux   { color: var(--ux-ink);   background: var(--ux-wash); }
.sp-guide__label--ai   { color: var(--ai-ink);   background: var(--ai-wash); }
.sp-guide__label--play { color: var(--play-ink); background: var(--play-wash); }
.sp-guide__title {
  font: 700 1.0625rem/1.25 var(--font-display);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 0.5rem;
  color: var(--fg);
}
.sp-guide__body {
  font: 400 var(--fs-body-sm)/1.6 var(--font-body);
  color: var(--fg-muted);
  margin: 0;
  text-wrap: pretty;
}
.sp-guide__list {
  list-style: none; margin: 0.875rem 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.sp-guide__list li {
  font: 400 var(--fs-body-sm)/1.5 var(--font-body);
  color: var(--fg-muted);
  padding-left: 1.125rem;
  position: relative;
}
.sp-guide__list li::before { content: "—"; position: absolute; left: 0; color: var(--accent); }

/* ---------- Category story (definition / context / funnel / discipline / deliverables) ---------- */
.cs-definition {
  margin-top: var(--space-11);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--ux-tint);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--ux-wash), var(--bg-elevated));
}
.cs-definition > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.7fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
  margin-top: 1rem;
}
.cs-definition h2 { max-width: 15ch; margin: 0; }
.cs-definition p, .cs-context p, .cs-funnel > div > p, .cs-discipline p { margin: 0; color: var(--fg-muted); line-height: 1.7; }
.theme-dark .cs-definition { background: var(--bg-elevated); border-color: var(--border); }

.cs-context {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  margin-top: var(--space-11);
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: var(--surface-inverse-bg);
  color: var(--surface-inverse-fg);
}
.cs-context figure { min-height: 28rem; margin: 0; }
.cs-context figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-context > div { align-self: center; padding: clamp(1.5rem, 4vw, 3.5rem); }
.cs-context .eyebrow { color: var(--ux-soft); }
.cs-context h2 { max-width: 14ch; margin: 0.75rem 0 1rem; color: #fff; }
.cs-context p { color: rgba(245, 239, 222, 0.68); }

.cs-funnel {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(20rem, 1.25fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin-top: var(--space-11);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--bg-elevated);
}
.cs-funnel h2 { max-width: 14ch; margin: 0.75rem 0 1rem; }
.cs-funnel ol { display: grid; gap: 0.65rem; list-style: none; margin: 0; padding: 0; }
.cs-funnel li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.85rem 1rem; border-radius: var(--radius-sm); background: var(--ux-base); color: #fff; }
.cs-funnel li:nth-child(2) { background: color-mix(in srgb, var(--ux-base) 82%, var(--bg-elevated)); }
.cs-funnel li:nth-child(3) { background: color-mix(in srgb, var(--ux-base) 68%, var(--bg-elevated)); }
.cs-funnel li:nth-child(4) { background: var(--ux-deep); }
.cs-funnel li span { font-size: var(--fs-micro); }
.cs-funnel li strong { font-size: var(--fs-body-sm); }

.cs-discipline {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin-top: var(--space-11);
}
.cs-discipline figure { min-height: 22rem; margin: 0; overflow: hidden; border-radius: var(--radius-xl); box-shadow: var(--shadow-1); }
.cs-discipline figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-discipline h2 { max-width: 13ch; margin: 0.75rem 0 1rem; color: var(--fg); font: 800 clamp(1.8rem, 3vw, 2.8rem)/1 var(--font-display); }

.cs-deliverables {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 5rem);
  margin-top: var(--space-11);
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--radius-xl);
  background: var(--ux-ink);
  color: var(--surface-inverse-fg);
}
.cs-deliverables .eyebrow { color: var(--ux-soft); }
.cs-deliverables h2 { max-width: 14ch; margin: 0.75rem 0 0; color: #fff; font: 800 clamp(1.75rem, 3vw, 2.7rem)/1 var(--font-display); }
.cs-deliverables ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; list-style: none; margin: 0; padding: 0; }
.cs-deliverables li { padding: 0.75rem 0.85rem; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.06); color: var(--surface-inverse-fg); font: 650 var(--fs-body-sm)/1.35 var(--font-body); }

@media (max-width: 900px) {
  .cs-definition > div, .cs-context, .cs-funnel, .cs-discipline, .cs-deliverables { grid-template-columns: 1fr; }
  .cs-context figure { min-height: 20rem; }
}
@media (max-width: 620px) {
  .cs-definition, .cs-deliverables { padding: 1.25rem; }
  .cs-deliverables ul { grid-template-columns: 1fr; }
  .cs-context figure, .cs-discipline figure { min-height: 18rem; }
}

/* =========================================================
   Visual design — editorial identity explainer
   ========================================================= */
.vd-story { margin-top: var(--space-11); }
.vd-definition {
  padding: 2.5rem 3rem;
  border: 1px solid var(--ux-tint);
  border-radius: var(--radius-xl);
  background: var(--ux-wash);
}
.theme-dark .vd-definition { background: var(--bg-elevated); border-color: var(--border); }
.vd-definition__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 3rem;
  align-items: start;
  margin-top: 1rem;
}
.vd-definition__grid h2 { margin: 0; }
.vd-definition__grid p,
.vd-section__head p,
.vd-process__intro p {
  margin: 0;
  color: var(--fg-muted);
  font: 400 1rem/1.7 var(--font-body);
  text-wrap: pretty;
}
.vd-section { margin-top: var(--space-11); }
.vd-section__head { max-width: 45rem; margin-bottom: 2rem; }
.vd-section__head h2 { margin: .625rem 0 .75rem; }
.vd-outcomes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--border);
}
.vd-outcome {
  min-height: 13rem;
  padding: 1.75rem;
  background: var(--bg-elevated);
}
.vd-outcome__num {
  display: block;
  margin-bottom: 2.5rem;
  color: var(--ux-base);
  font: 800 var(--fs-body-sm)/1 var(--font-display);
  letter-spacing: .08em;
}
.vd-outcome h3,
.vd-block h3,
.vd-process__steps h3 { margin: 0 0 .5rem; color: var(--fg); font: 700 1.0625rem/1.2 var(--font-display); }
.vd-outcome p,
.vd-block p,
.vd-process__steps p { margin: 0; color: var(--fg-muted); font: 400 var(--fs-body-sm)/1.6 var(--font-body); text-wrap: pretty; }
.vd-building-blocks {
  padding: 3rem;
  border-radius: var(--radius-xl);
  background: var(--ink-900);
  color: var(--paper-50);
}
.vd-building-blocks .eyebrow { color: var(--ux-soft); }
.vd-building-blocks .vd-section__head h2 { color: var(--paper-50); }
.vd-building-blocks .vd-section__head p { color: rgba(255,255,255,.68); }
.vd-blocks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.vd-block {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  padding: 1.35rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.04);
}
.vd-block__mark {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  color: var(--ink-900);
  background: var(--ux-soft);
  font: 800 1rem/1 var(--font-display);
}
.vd-block h3 { color: var(--paper-50); }
.vd-block p { color: rgba(255,255,255,.65); }
.vd-process {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 4rem;
  margin-top: var(--space-11);
  padding: 3rem 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.vd-process__intro h2 { margin: .625rem 0 .75rem; }
.vd-process__steps { list-style: none; margin: 0; padding: 0; }
.vd-process__steps li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 1rem;
  padding: 0 0 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.vd-process__steps li:last-child { margin: 0; padding: 0; border: 0; }
.vd-process__steps > li > span { color: var(--ux-base); font: 800 var(--fs-body-sm)/1.4 var(--font-display); letter-spacing: .08em; }
.vd-deliverables {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 3rem;
  margin-top: var(--space-10);
  padding: 2.5rem 3rem;
  border-radius: var(--radius-xl);
  background: var(--paper-200);
  border: 1px solid var(--paper-300);
}
.theme-dark .vd-deliverables { background: var(--bg-elevated); border-color: var(--border); }
.vd-deliverables h2 { margin: .625rem 0 0; color: var(--fg); font: 700 1.65rem/1.2 var(--font-display); }
.vd-deliverables ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1.5rem; list-style: none; margin: 0; padding: 0; }
.vd-deliverables li { position: relative; padding-left: 1.25rem; color: var(--fg-muted); font: 500 var(--fs-body-sm)/1.45 var(--font-body); }
.vd-deliverables li::before { content: "✓"; position: absolute; left: 0; color: var(--ux-base); font-weight: 800; }

/* ---------- Visual design — editorial, image-led variant ----------
   Extends the service template with existing CVI tokens only. */

/* ---------- Wireframing — blueprint/prototype variant ----------
   Keeps the UX mode colour but turns the page into a structural design lab. */
.app--wireframing .sp-hero {
  min-height: clamp(36rem, 68vh, 47rem);
  padding: clamp(2rem, 4vw, 4rem);
  background:
    linear-gradient(color-mix(in srgb, var(--ux-tint) 34%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ux-tint) 34%, transparent) 1px, transparent 1px),
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ux-soft) 38%, transparent), transparent 32%),
    linear-gradient(135deg, var(--paper-50), var(--ux-wash));
  background-size: 3.5rem 3.5rem, 3.5rem 3.5rem, auto, auto;
  border-color: color-mix(in srgb, var(--ux-soft) 45%, var(--border));
}
.app--wireframing .sp-hero__layout {
  grid-template-columns: minmax(0, .92fr) minmax(25rem, 1.08fr);
  gap: clamp(2rem, 5vw, 5rem);
}
.app--wireframing .sp-hero .display { max-width: 10ch; }
.wf-hero-board {
  position: relative;
  min-height: 31rem;
}
.wf-hero-board__track {
  position: absolute;
  inset: 22% 8% auto 12%;
  height: 50%;
  border: 2px dashed color-mix(in srgb, var(--ux-base) 42%, transparent);
  border-left: 0;
  border-bottom: 0;
  border-radius: 0 var(--radius-xl) 0 0;
}
.wf-hero-screen {
  position: absolute;
  width: 47%;
  min-height: 16rem;
  padding: 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--ux-base) 28%, var(--border));
  background: rgba(255,255,255,.82);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(10px);
}
.wf-hero-screen--1 { left: 0; top: 2.5rem; transform: rotate(-4deg); }
.wf-hero-screen--2 { right: 6%; top: 0; transform: rotate(2deg); }
.wf-hero-screen--3 { left: 22%; bottom: 0; transform: rotate(1deg); }
.wf-hero-screen__bar,
.wf-hero-screen__block,
.wf-hero-screen__line,
.wf-hero-screen__grid span {
  display: block;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--ux-base) 16%, var(--paper-50));
}
.wf-hero-screen__bar { width: 100%; height: .8rem; margin-bottom: 1rem; background: color-mix(in srgb, var(--ink-900) 9%, var(--paper-50)); }
.wf-hero-screen__block--hero { height: 4.6rem; margin-bottom: 1rem; }
.wf-hero-screen__line { height: .55rem; width: 84%; margin-bottom: .55rem; }
.wf-hero-screen__line--short { width: 58%; }
.wf-hero-screen__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-top: 1rem; }
.wf-hero-screen__grid span { height: 2.7rem; }
.wf-hero-note {
  position: absolute;
  z-index: 3;
  max-width: 14rem;
  padding: 1rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--ux-tint);
  background: var(--paper-50);
  box-shadow: var(--shadow-2);
}
.wf-hero-note--1 { left: 5%; bottom: 11%; transform: rotate(-2deg); }
.wf-hero-note--2 { right: 0; bottom: 16%; transform: rotate(3deg); }
.wf-hero-note span,
.wf-hero-board__badge {
  display: block;
  margin-bottom: .45rem;
  color: var(--ux-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wf-hero-note strong { color: var(--fg); font: 700 var(--fs-body-sm)/1.25 var(--font-display); }
.wf-hero-board__badge {
  position: absolute;
  right: 13%;
  top: 47%;
  padding: .7rem .9rem;
  border-radius: var(--radius-pill);
  background: var(--ux-base);
  color: var(--paper-50);
  box-shadow: var(--shadow-2);
}

.wf-opening {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(20rem, .72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  margin-top: var(--space-11);
}
.wf-opening__copy .sp-intro { margin-top: 1.25rem; }
.wf-opening .sp-pull-quote { margin-top: 2.5rem; }
.wf-hypothesis-card {
  position: relative;
  padding: clamp(2rem, 4vw, 3rem);
  border-radius: var(--radius-xl);
  border: 1px solid color-mix(in srgb, var(--ux-soft) 45%, var(--border));
  background:
    linear-gradient(color-mix(in srgb, var(--ux-tint) 38%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ux-tint) 38%, transparent) 1px, transparent 1px),
    var(--paper-50);
  background-size: 2rem 2rem;
  box-shadow: var(--shadow-1);
}
.wf-hypothesis-card::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: 5rem;
  height: 5rem;
  border: 2px dashed var(--ux-soft);
  border-radius: 50%;
}
.wf-hypothesis-card span,
.wf-section-head .eyebrow { color: var(--ux-base); }
.wf-hypothesis-card h2 {
  max-width: 12ch;
  margin: .8rem 0 1rem;
  color: var(--fg);
  font: 800 clamp(2rem, 4vw, 3.75rem)/.95 var(--font-display);
  letter-spacing: var(--tracking-tight);
}
.wf-hypothesis-card p {
  max-width: 32ch;
  margin: 0;
  color: var(--fg-muted);
  font: 500 1rem/1.55 var(--font-body);
}
.wf-definition {
  padding-block: clamp(3rem, 7vw, 6rem);
}
.wf-definition__grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.wf-definition__grid h2 { margin: 0; }
.wf-definition__grid p {
  margin: .35rem 0 0;
  color: var(--fg-muted);
  font: 500 clamp(1rem, 1.5vw, 1.2rem)/1.75 var(--font-body);
}
.wf-section-head { max-width: 48rem; margin-bottom: 1.5rem; }
.wf-section-head h2 { margin: .65rem 0 .85rem; }
.wf-section-head p { margin: 0; color: var(--fg-muted); max-width: 44rem; }
.wf-values__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.wf-value {
  min-height: 15rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--paper-50);
  box-shadow: var(--shadow-1);
}
.wf-value:nth-child(even) { transform: translateY(2rem); background: var(--ux-wash); }
.wf-value span {
  color: var(--ux-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
}
.wf-value h3 { margin: 3rem 0 .6rem; font: 800 1.2rem/1.1 var(--font-display); color: var(--fg); }
.wf-value p { margin: 0; color: var(--fg-muted); font: 500 var(--fs-body-sm)/1.55 var(--font-body); }
.wf-lab {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin: clamp(5rem, 9vw, 8rem) calc(50% - 50vw);
  padding: clamp(3rem, 7vw, 6rem) max(calc((100vw - var(--page-max, 88.75rem)) / 2 + 2rem), 2rem);
  background: var(--surface-inverse-bg);
  color: var(--surface-inverse-fg);
}
.wf-lab__visual {
  position: relative;
  min-height: 28rem;
}
.wf-lab-device {
  position: absolute;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: var(--shadow-3);
}
.wf-lab-device--main { inset: 1rem 18% 2rem 0; padding: 1.25rem; }
.wf-lab-device--small { right: 0; top: 21%; width: 42%; height: 42%; padding: 1rem; }
.wf-lab-device span {
  display: block;
  height: 1rem;
  margin-bottom: .85rem;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.16);
}
.wf-lab-device span:nth-child(1) { height: 5rem; background: rgba(180,182,239,.35); }
.wf-lab-device span:nth-child(2) { width: 72%; }
.wf-lab-device span:nth-child(3) { width: 88%; }
.wf-lab-device span:nth-child(4) { height: 7rem; margin-top: 1.25rem; background: rgba(255,255,255,.1); }
.wf-lab__content .eyebrow { color: var(--ux-soft); }
.wf-lab__content h2 { margin: .65rem 0 1rem; color: var(--surface-inverse-fg-strong); }
.wf-lab__content > p { margin: 0 0 2rem; max-width: 44ch; color: rgba(245,239,222,.72); }
.wf-lab__steps {
  list-style: none;
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
}
.wf-lab__steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-items: start;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
}
.wf-lab__steps li > span { color: var(--ux-soft); font: 800 var(--fs-micro)/1 var(--font-body); letter-spacing: .12em; }
.wf-lab__steps h3 { margin: 0 0 .3rem; color: var(--surface-inverse-fg-strong); font: 800 1rem/1.2 var(--font-display); }
.wf-lab__steps p { margin: 0; color: rgba(245,239,222,.68); font: 500 var(--fs-body-sm)/1.55 var(--font-body); }
.wf-deliverables {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 2rem;
  align-items: start;
  margin-top: var(--space-8);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: var(--radius-lg);
  background: var(--ux-wash);
  border: 1px solid var(--ux-tint);
}
.wf-deliverables h2 { margin: .625rem 0 0; color: var(--fg); font: 800 1.65rem/1.2 var(--font-display); }
.wf-deliverables ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.wf-deliverables li {
  padding: .8rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--paper-50);
  color: var(--fg-muted);
  font: 700 var(--fs-body-sm)/1 var(--font-body);
}
.app--wireframing .sp-approach__list {
  grid-template-columns: repeat(12, 1fr);
}
.app--wireframing .sp-approach__item {
  grid-column: span 6;
  background:
    linear-gradient(color-mix(in srgb, var(--ux-tint) 28%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ux-tint) 28%, transparent) 1px, transparent 1px),
    var(--paper-50);
  background-size: 2rem 2rem;
}
.app--wireframing .sp-approach__item:nth-child(2),
.app--wireframing .sp-approach__item:nth-child(3) { transform: translateY(2rem); }
.app--wireframing .sp-cta {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}
.app--wireframing .sp-cta__inner {
  display: grid;
  grid-template-columns: clamp(10rem, 18vw, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: stretch;
}
.app--wireframing .sp-cta__avatar {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 19vw, 16.5rem);
  border-radius: var(--radius-lg);
  border-width: 0;
}
.app--wireframing .sp-cta__content { align-self: center; padding-block: clamp(.75rem, 1.6vw, 1.5rem); }
.app--wireframing .sp-cta__title { max-width: 24ch; font-size: clamp(1.75rem, 3vw, 2.75rem); }
.app--wireframing .sp-cases {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid var(--border);
}
.app--wireframing .sp-cases__head {
  max-width: 50rem;
}
.app--wireframing .sp-cases__head .display {
  max-width: 15ch;
}
.app--wireframing .sp-cases__grid {
  gap: clamp(1rem, 2vw, 1.5rem);
}
.app--wireframing .sp-cases .mm-case-card--tile.mm-case-card--img {
  aspect-ratio: 1.18 / 1;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--ux-soft) 36%, var(--border));
  background-size: cover !important;
  box-shadow: var(--shadow-1);
}
.app--wireframing .sp-cases .mm-case-card--tile.mm-case-card--img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(11,11,11,.04) 0%, rgba(11,11,11,.18) 52%, rgba(11,11,11,.36) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--ux-base) 18%, transparent), transparent 46%);
}
.app--wireframing .sp-cases .mm-case-card--tile .mm-case-card__body {
  display: flex;
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: .85rem;
  z-index: 1;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-md);
  background: rgba(254,253,249,.9);
  box-shadow: 0 1rem 2.5rem rgba(11,11,11,.18);
  backdrop-filter: blur(14px);
}
.app--wireframing .sp-cases .mm-case-card__header {
  margin-bottom: .65rem;
}
.app--wireframing .sp-cases .mm-case-card__kind {
  overflow: hidden;
  max-width: calc(100% - 2rem);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ux-base);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
}
.app--wireframing .sp-cases .mm-case-card__title {
  color: var(--fg);
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 1.08;
}
.app--wireframing .sp-cases .mm-case-card__footer {
  margin-top: 1rem;
}
.app--wireframing .sp-cases .mm-case-card__tag {
  background: var(--ux-wash);
  border-color: var(--ux-tint);
  color: var(--ux-ink);
}
.app--wireframing .sp-cases .mm-case-card__arrow {
  z-index: 2;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: rgba(11,11,11,.28);
  color: var(--paper-50);
  backdrop-filter: blur(10px);
}
.app--wireframing .sp-cases .mm-case-card:hover .mm-case-card__arrow {
  transform: translate(2px, -2px);
}

.app--visual-design .sp-hero {
  min-height: clamp(37rem, 72vh, 49rem);
  padding: clamp(2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--ux-base) 42%, transparent), transparent 34%),
    linear-gradient(135deg, var(--ux-ink), color-mix(in srgb, var(--ux-ink) 82%, var(--ink-900)));
  border-color: color-mix(in srgb, var(--ux-soft) 35%, transparent);
}
.app--visual-design .sp-hero__pattern { opacity: .08; mix-blend-mode: screen; }
.app--visual-design .breadcrumb__link,
.app--visual-design .breadcrumb__current,
.app--visual-design .breadcrumb__sep,
.app--visual-design .sp-hero .eyebrow { color: rgba(255,255,255,.7); }
.app--visual-design .sp-hero .display { color: var(--paper-50); font-weight: 800; }
.app--visual-design .sp-hero__lead { color: rgba(255,255,255,.78); }
.app--visual-design .sp-hero__layout {
  grid-template-columns: minmax(0, .9fr) minmax(25rem, 1.1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
}
.vd-hero-collage { position: relative; min-height: 30rem; }
.vd-hero-collage__card {
  position: absolute; margin: 0; overflow: hidden;
  border: 1px solid rgba(255,255,255,.3); border-radius: var(--radius-lg);
  background: var(--paper-50); box-shadow: var(--shadow-3);
}
.vd-hero-collage__card img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vd-hero-collage__card--main { inset: 2rem 5rem 1.5rem 0; transform: rotate(-2deg); }
.vd-hero-collage__card--top { width: 44%; height: 34%; top: 0; right: 0; transform: rotate(5deg); }
.vd-hero-collage__card--bottom { width: 42%; height: 38%; right: .5rem; bottom: 0; transform: rotate(2deg); }
.vd-hero-collage__note {
  position: absolute; left: 1.25rem; bottom: .25rem; z-index: 2;
  padding: .7rem 1rem; border-radius: var(--radius-pill);
  background: var(--ux-base); color: var(--paper-50);
  font: 800 var(--fs-micro)/1 var(--font-body); letter-spacing: .12em;
}

.vd-opening {
  display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 6vw, 6rem); align-items: center;
  margin-top: var(--space-11);
}
.vd-opening__copy .sp-intro { margin-top: 1.25rem; }
.vd-opening .sp-pull-quote { margin-top: 2.5rem; }
.vd-opening .sp-featured-image { margin: 0; transform: rotate(1deg); }
.vd-opening .sp-featured-image img { height: clamp(29rem, 52vw, 43rem); }

.vd-gallery {
  display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(12rem, 18rem));
  gap: 1rem; margin: var(--space-11) 0;
}
.vd-gallery__item { margin: 0; overflow: hidden; border-radius: var(--radius-lg); border: 1px solid var(--border); }
.vd-gallery__item--1 { grid-row: 1 / 3; }
.vd-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms var(--ease-out); }
.vd-gallery__item:hover img { transform: scale(1.035); }

.app--visual-design .vd-definition { padding-block: clamp(3rem, 7vw, 6rem); }
.app--visual-design .vd-outcomes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.75rem, 1.4vw, 1.25rem);
  padding: clamp(.75rem, 1.6vw, 1.5rem);
  overflow: visible;
  background: var(--ux-wash);
  border-color: color-mix(in srgb, var(--ux-soft) 45%, var(--border));
}
.app--visual-design .vd-outcome {
  position: relative;
  min-height: 12.5rem;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  padding-bottom: clamp(2.4rem, 3.5vw, 3rem);
  border: 1px solid color-mix(in srgb, var(--ux-soft) 38%, var(--border));
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.app--visual-design .vd-outcome::after {
  content: "";
  position: absolute;
  left: clamp(1.4rem, 2.4vw, 2rem);
  right: clamp(1.4rem, 2.4vw, 2rem);
  bottom: 1.15rem;
  height: .25rem;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--ux-base), var(--ux-tint));
  opacity: .7;
}
.app--visual-design .vd-outcome__num { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.theme-dark .app--visual-design .vd-outcomes { background: var(--bg-pattern); }
.app--visual-design .vd-building-blocks {
  margin-inline: calc(50% - 50vw); padding-inline: max(calc((100vw - var(--page-max, 88.75rem)) / 2 + 2rem), 2rem);
}
.app--visual-design .sp-approach__list { grid-template-columns: repeat(12, 1fr); align-items: start; }
.app--visual-design .sp-approach__item { grid-column: span 6; }
.app--visual-design .sp-approach__item:nth-child(2),
.app--visual-design .sp-approach__item:nth-child(3) { grid-column: span 5; }
.app--visual-design .sp-approach__item:nth-child(1),
.app--visual-design .sp-approach__item:nth-child(4) { grid-column: span 7; }
.app--visual-design .sp-cta {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}
.app--visual-design .sp-cta__inner {
  display: grid;
  grid-template-columns: clamp(10rem, 18vw, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: stretch;
}
.app--visual-design .sp-cta__avatar {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 19vw, 16.5rem);
  border-radius: var(--radius-lg);
  border-width: 0;
  box-shadow: var(--shadow-2);
}
.app--visual-design .sp-cta__content {
  align-self: center;
  padding-block: clamp(.75rem, 1.6vw, 1.5rem);
}
.app--visual-design .sp-cta__title {
  max-width: 22ch;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
}
.app--visual-design .sp-cta__body {
  max-width: 44ch;
}
.app--visual-design .sp-cta__actions {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

/* ---------- Design systems — token/control-room variant ----------
   A systems page should feel structured, alive and usable — not like a component catalogue. */
.app--design-systems .sp-hero {
  min-height: clamp(37rem, 72vh, 49rem);
  padding: clamp(2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ux-soft) 42%, transparent), transparent 30%),
    radial-gradient(circle at 12% 84%, color-mix(in srgb, var(--ux-base) 20%, transparent), transparent 34%),
    linear-gradient(color-mix(in srgb, var(--ux-tint) 28%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ux-tint) 28%, transparent) 1px, transparent 1px),
    linear-gradient(135deg, var(--paper-50), var(--ux-wash));
  background-size: auto, auto, 3rem 3rem, 3rem 3rem, auto;
  border-color: color-mix(in srgb, var(--ux-soft) 45%, var(--border));
}
.app--design-systems .sp-hero__layout {
  grid-template-columns: minmax(0, .9fr) minmax(25rem, 1.1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
}
.app--design-systems .sp-hero .display { max-width: 11ch; }
.theme-dark .app--design-systems .sp-hero {
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ux-base) 28%, transparent), transparent 32%),
    linear-gradient(color-mix(in srgb, var(--ux-soft) 12%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ux-soft) 12%, transparent) 1px, transparent 1px),
    var(--surface-inverse-bg);
  background-size: auto, 3rem 3rem, 3rem 3rem, auto;
}
.ds-hero-system {
  position: relative;
  min-height: 31rem;
}
.ds-hero-system__axis {
  position: absolute;
  border-color: color-mix(in srgb, var(--ux-base) 35%, transparent);
  pointer-events: none;
}
.ds-hero-system__axis--x {
  left: 8%;
  right: 8%;
  top: 52%;
  border-top: 2px dashed color-mix(in srgb, var(--ux-base) 35%, transparent);
}
.ds-hero-system__axis--y {
  top: 6%;
  bottom: 8%;
  left: 50%;
  border-left: 2px dashed color-mix(in srgb, var(--ux-base) 35%, transparent);
}
.ds-hero-system__panel {
  position: absolute;
  z-index: 1;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--ux-soft) 48%, var(--border));
  border-radius: var(--radius-lg);
  background: rgba(254,253,249,.86);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(16px);
}
.theme-dark .ds-hero-system__panel { background: rgba(14,13,10,.78); border-color: rgba(255,255,255,.12); }
.ds-hero-system__panel > span {
  display: block;
  margin-bottom: .8rem;
  color: var(--ux-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.theme-dark .ds-hero-system__panel > span { color: var(--ux-soft); }
.ds-hero-system__panel--tokens {
  left: 0;
  top: 2rem;
  width: 44%;
  transform: rotate(-3deg);
}
.ds-hero-system__panel--component {
  right: 0;
  top: 0;
  width: 52%;
  min-height: 18rem;
  transform: rotate(2deg);
}
.ds-hero-system__panel--states {
  left: 18%;
  right: 8%;
  bottom: 0;
  transform: rotate(-1deg);
}
.ds-token-stack {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}
.ds-token-stack i {
  display: block;
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  background: var(--swatch);
  border: 1px solid rgba(11,11,11,.12);
}
.ds-component-preview {
  display: grid;
  gap: .8rem;
}
.ds-component-preview b,
.ds-component-preview small,
.ds-component-preview em,
.ds-control-card__preview span {
  display: block;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--ux-base) 16%, var(--paper-50));
}
.ds-component-preview b { height: 5.8rem; background: color-mix(in srgb, var(--ux-soft) 42%, var(--paper-50)); }
.ds-component-preview small { height: .75rem; width: 86%; }
.ds-component-preview small:nth-of-type(2) { width: 58%; }
.ds-component-preview em { width: 7rem; height: 2.35rem; border-radius: var(--radius-pill); background: var(--ux-base); }
.ds-state-row {
  display: flex;
  gap: .7rem;
}
.ds-state-row i {
  display: block;
  height: 2.4rem;
  flex: 1;
  border-radius: var(--radius-pill);
  border: 1px solid var(--ux-tint);
  background: var(--ux-wash);
}
.ds-state-row i:nth-child(2) { background: var(--ux-base); }
.ds-state-row i:nth-child(3) { border-style: dashed; background: transparent; }
.ds-hero-system__badge {
  position: absolute;
  right: 16%;
  top: 52%;
  z-index: 2;
  padding: .75rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--ink-900);
  color: var(--paper-50);
  box-shadow: var(--shadow-2);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
}

.ds-opening {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(20rem, .7fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  margin-top: var(--space-11);
}
.ds-opening__copy .sp-intro { margin-top: 1.25rem; }
.ds-opening .sp-pull-quote { margin-top: 2.5rem; }
.ds-control-card {
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid color-mix(in srgb, var(--ux-soft) 42%, var(--border));
  border-radius: var(--radius-xl);
  background: var(--ink-900);
  color: var(--paper-50);
  box-shadow: var(--shadow-2);
}
.ds-control-card__top {
  display: flex;
  gap: .45rem;
  margin-bottom: 1.25rem;
}
.ds-control-card__top span {
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  background: rgba(255,255,255,.28);
}
.ds-control-card__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: .9rem 0;
  border-top: 1px solid rgba(255,255,255,.12);
}
.ds-control-card__row b {
  font: 700 var(--fs-body-sm)/1.2 var(--font-display);
  color: var(--surface-inverse-fg-strong);
}
.ds-control-card__row i {
  color: var(--ux-soft);
  font: 700 var(--fs-body-sm)/1.2 var(--font-body);
  font-style: normal;
}
.ds-control-card__preview {
  display: grid;
  grid-template-columns: 1fr .55fr;
  gap: .75rem;
  margin-top: 1.25rem;
}
.ds-control-card__preview span {
  height: 6rem;
  background: rgba(255,255,255,.08);
}
.ds-control-card__preview span:first-child { background: rgba(180,182,239,.24); }

.ds-story { margin-top: var(--space-11); }
.ds-definition {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: stretch;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--ux-tint);
  border-radius: var(--radius-xl);
  background: var(--ux-wash);
}
.theme-dark .ds-definition { background: var(--bg-elevated); border-color: var(--border); }
.ds-definition__copy h2,
.ds-section-head h2,
.ds-anatomy__content h2 { margin: .65rem 0 .9rem; }
.ds-definition__copy p,
.ds-section-head p,
.ds-anatomy__content > p {
  margin: 0;
  max-width: 44rem;
  color: var(--fg-muted);
  font: 500 clamp(1rem, 1.45vw, 1.15rem)/1.7 var(--font-body);
}
.ds-definition__metrics {
  display: grid;
  gap: 1rem;
}
.ds-metric {
  padding: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--ux-soft) 35%, var(--border));
  border-radius: var(--radius-lg);
  background: var(--paper-50);
  box-shadow: var(--shadow-1);
}
.theme-dark .ds-metric { background: color-mix(in srgb, var(--bg-elevated) 85%, white 3%); }
.ds-metric span,
.ds-value span,
.ds-layers li > span,
.ds-process__steps li > span {
  color: var(--ux-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
}
.theme-dark .ds-metric span,
.theme-dark .ds-value span,
.theme-dark .ds-layers li > span,
.theme-dark .ds-process__steps li > span { color: var(--ux-soft); }
.ds-metric h3,
.ds-value h3,
.ds-layers h3,
.ds-process__steps h3 {
  margin: .85rem 0 .4rem;
  color: var(--fg);
  font: 800 1.05rem/1.12 var(--font-display);
}
.ds-metric p,
.ds-value p,
.ds-layers p,
.ds-process__steps p {
  margin: 0;
  color: var(--fg-muted);
  font: 500 var(--fs-body-sm)/1.55 var(--font-body);
  text-wrap: pretty;
}
.ds-values { margin-top: var(--space-11); }
.ds-section-head { max-width: 52rem; margin-bottom: 1.75rem; }
.ds-values__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}
.ds-value {
  grid-column: span 2;
  min-height: 13rem;
  padding: clamp(1.25rem, 2vw, 1.65rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--paper-50);
  box-shadow: var(--shadow-1);
}
.ds-value:nth-child(1),
.ds-value:nth-child(6) {
  grid-column: span 3;
  background: var(--ux-wash);
}
.ds-value:nth-child(3) { transform: translateY(1.5rem); }
.ds-value:nth-child(4) { transform: translateY(-.75rem); }

.ds-anatomy {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin: clamp(5rem, 9vw, 8rem) calc(50% - 50vw);
  padding: clamp(3rem, 7vw, 6rem) max(calc((100vw - var(--page-max, 88.75rem)) / 2 + 2rem), 2rem);
  background: var(--surface-inverse-bg);
  color: var(--surface-inverse-fg);
}
.ds-anatomy__visual {
  position: relative;
  min-height: 30rem;
  isolation: isolate;
}
.ds-anatomy__visual::before {
  content: "";
  position: absolute;
  inset: 4.5rem 6rem;
  z-index: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(74,77,216,.22) 0 11%, transparent 12%),
    radial-gradient(circle, transparent 0 23%, rgba(180,182,239,.2) 24% 24.4%, transparent 25%),
    radial-gradient(circle, transparent 0 39%, rgba(255,255,255,.13) 40% 40.4%, transparent 41%),
    radial-gradient(circle, transparent 0 56%, rgba(180,182,239,.18) 57% 57.4%, transparent 58%),
    radial-gradient(circle, transparent 0 74%, rgba(255,255,255,.12) 75% 75.4%, transparent 76%);
  box-shadow: 0 0 5rem rgba(74,77,216,.12);
}
.ds-anatomy__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, transparent 0 49.8%, rgba(180,182,239,.12) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 0 49.8%, rgba(180,182,239,.12) 50%, transparent 50.2%);
  mask: radial-gradient(circle at 50% 50%, black 0 42%, transparent 69%);
  opacity: .8;
}
.ds-anatomy__ring {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 8.75rem;
  padding: .72rem .9rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-pill);
  color: rgba(245,239,222,.8);
  background: rgba(255,255,255,.055);
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ds-anatomy__ring--1 {
  left: 4%;
  top: 16%;
}
.ds-anatomy__ring--2 {
  right: 3%;
  top: 28%;
  border-color: rgba(180,182,239,.32);
}
.ds-anatomy__ring--3 {
  left: 10%;
  bottom: 25%;
}
.ds-anatomy__ring--4 {
  right: 8%;
  bottom: 15%;
  border-color: rgba(180,182,239,.42);
}
.ds-anatomy__ring--5 {
  left: 50%;
  top: 50%;
  min-width: 9.5rem;
  transform: translate(-50%, -50%);
  border-color: rgba(255,255,255,.3);
  background: var(--ux-base);
  color: var(--paper-50);
  box-shadow: 0 1.2rem 3.5rem rgba(74,77,216,.38);
}
.ds-anatomy__ring--1::before,
.ds-anatomy__ring--2::before,
.ds-anatomy__ring--3::before,
.ds-anatomy__ring--4::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -.42rem;
  transform: translateX(-50%);
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--ux-soft);
  box-shadow: 0 0 0 .25rem rgba(180,182,239,.13);
}
.ds-anatomy__content .eyebrow { color: var(--ux-soft); }
.ds-anatomy__content h2,
.ds-layers h3 { color: var(--surface-inverse-fg-strong); }
.ds-anatomy__content > p { color: rgba(245,239,222,.72); }
.ds-layers,
.ds-process__steps {
  list-style: none;
  display: grid;
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 0;
}
.ds-layers li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
}
.ds-layers p { color: rgba(245,239,222,.68); }
.ds-process {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.ds-process__steps { margin: 0; }
.ds-process__steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--paper-50);
}
.theme-dark .ds-process__steps li,
.theme-dark .ds-value { background: var(--bg-elevated); }
.ds-deliverables {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 2rem;
  align-items: start;
  margin-top: var(--space-9);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: var(--radius-lg);
  background: var(--paper-200);
  border: 1px solid var(--paper-300);
}
.theme-dark .ds-deliverables { background: var(--bg-elevated); border-color: var(--border); }
.ds-deliverables h2 { margin: .625rem 0 0; color: var(--fg); font: 800 1.65rem/1.2 var(--font-display); }
.ds-deliverables ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ds-deliverables li {
  padding: .8rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--paper-50);
  color: var(--fg-muted);
  font: 700 var(--fs-body-sm)/1 var(--font-body);
}
.theme-dark .ds-deliverables li { background: rgba(255,255,255,.06); color: var(--fg-muted); }
.app--design-systems .sp-approach__list {
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
}
.app--design-systems .sp-approach__item { grid-column: span 6; }
.app--design-systems .sp-approach__item:nth-child(1),
.app--design-systems .sp-approach__item:nth-child(4) { grid-column: span 7; }
.app--design-systems .sp-approach__item:nth-child(2),
.app--design-systems .sp-approach__item:nth-child(3) { grid-column: span 5; }
.app--design-systems .sp-cta {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}
.app--design-systems .sp-cta__inner {
  display: grid;
  grid-template-columns: clamp(10rem, 18vw, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: stretch;
}
.app--design-systems .sp-cta__avatar {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 19vw, 16.5rem);
  border-radius: var(--radius-lg);
  border-width: 0;
  box-shadow: var(--shadow-2);
}
.app--design-systems .sp-cta__content { align-self: center; padding-block: clamp(.75rem, 1.6vw, 1.5rem); }
.app--design-systems .sp-cta__title { max-width: 24ch; font-size: clamp(1.75rem, 3vw, 2.75rem); }

/* ---------- Prompt patterns — human-in-the-loop AI variant ----------
   AI-mode, but UX remains the ethical foundation: control, context, consent and recovery. */
.app--prompt-patterns .sp-hero {
  min-height: clamp(37rem, 72vh, 49rem);
  padding: clamp(2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--ai-soft) 50%, transparent), transparent 32%),
    radial-gradient(circle at 18% 84%, color-mix(in srgb, var(--ai-base) 26%, transparent), transparent 34%),
    linear-gradient(135deg, var(--ai-wash), var(--paper-50));
  border-color: color-mix(in srgb, var(--ai-soft) 42%, var(--border));
}
.app--prompt-patterns .sp-hero__layout {
  grid-template-columns: minmax(0, .9fr) minmax(25rem, 1.1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
}
.app--prompt-patterns .sp-hero .display { max-width: 11ch; }
.theme-dark .app--prompt-patterns .sp-hero {
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ai-base) 24%, transparent), transparent 32%),
    radial-gradient(circle at 12% 84%, color-mix(in srgb, var(--ai-soft) 14%, transparent), transparent 32%),
    var(--surface-inverse-bg);
}
.pp-hero-console {
  position: relative;
  min-height: 31rem;
}
.pp-hero-console::before {
  content: "";
  position: absolute;
  inset: 2rem 1rem 1.5rem;
  border-radius: var(--radius-xl);
  background:
    linear-gradient(color-mix(in srgb, var(--ai-tint) 38%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ai-tint) 38%, transparent) 1px, transparent 1px),
    rgba(255,255,255,.42);
  background-size: 2.25rem 2.25rem;
  border: 1px solid color-mix(in srgb, var(--ai-soft) 42%, transparent);
  box-shadow: var(--shadow-2);
}
.theme-dark .pp-hero-console::before {
  background:
    linear-gradient(rgba(240,181,154,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,181,154,.1) 1px, transparent 1px),
    rgba(255,255,255,.035);
  background-size: 2.25rem 2.25rem;
  border-color: rgba(255,255,255,.1);
}
.pp-hero-console__thread {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 8%;
  top: 0;
  display: grid;
  gap: 1rem;
}
.pp-message,
.pp-checkpoint {
  border: 1px solid color-mix(in srgb, var(--ai-soft) 42%, var(--border));
  border-radius: var(--radius-lg);
  background: rgba(254,253,249,.88);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(16px);
}
.theme-dark .pp-message,
.theme-dark .pp-checkpoint { background: rgba(14,13,10,.78); border-color: rgba(255,255,255,.12); }
.pp-message {
  max-width: 74%;
  padding: 1rem 1.1rem;
}
.pp-message--human { justify-self: start; transform: rotate(-2deg); }
.pp-message--ai { justify-self: end; transform: rotate(2deg); background: color-mix(in srgb, var(--ai-wash) 82%, white); }
.theme-dark .pp-message--ai { background: rgba(94,40,20,.4); }
.pp-message span,
.pp-checkpoint span,
.pp-hero-console__badge {
  display: block;
  margin-bottom: .5rem;
  color: var(--ai-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.theme-dark .pp-message span,
.theme-dark .pp-checkpoint span { color: var(--ai-soft); }
.pp-message p {
  margin: 0;
  color: var(--fg);
  font: 700 clamp(.95rem, 1.3vw, 1.12rem)/1.35 var(--font-display);
  text-wrap: pretty;
}
.pp-control-strip {
  position: absolute;
  z-index: 2;
  left: 7%;
  right: 3%;
  bottom: 7.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding: .8rem;
  border: 1px solid color-mix(in srgb, var(--ai-soft) 44%, var(--border));
  border-radius: var(--radius-pill);
  background: rgba(254,253,249,.88);
  box-shadow: var(--shadow-1);
  backdrop-filter: blur(14px);
}
.theme-dark .pp-control-strip { background: rgba(14,13,10,.78); border-color: rgba(255,255,255,.12); }
.pp-control-strip span {
  flex: 1 1 5rem;
  padding: .68rem .8rem;
  border-radius: var(--radius-pill);
  background: var(--ai-wash);
  color: var(--ai-ink);
  text-align: center;
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.theme-dark .pp-control-strip span { background: rgba(255,255,255,.07); color: var(--surface-inverse-fg); }
.pp-checkpoint {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  width: min(21rem, 70%);
  padding: 1rem;
  transform: rotate(-1deg);
}
.pp-checkpoint strong {
  display: block;
  color: var(--fg);
  font: 800 1.15rem/1.1 var(--font-display);
}
.pp-checkpoint div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  margin-top: 1rem;
}
.pp-checkpoint i {
  display: block;
  height: 2rem;
  border-radius: var(--radius-pill);
  background: var(--ai-tint);
}
.pp-checkpoint i:nth-child(2) { background: var(--ai-base); }
.pp-checkpoint i:nth-child(3) { background: transparent; border: 1px dashed var(--ai-soft); }
.pp-hero-console__badge {
  position: absolute;
  z-index: 4;
  left: 3%;
  bottom: 1.2rem;
  padding: .72rem .95rem;
  border-radius: var(--radius-pill);
  background: var(--ai-base);
  color: var(--paper-50);
  box-shadow: var(--shadow-2);
}

.pp-opening {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(20rem, .7fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  margin-top: var(--space-11);
}
.pp-opening__copy .sp-intro { margin-top: 1.25rem; }
.pp-opening .sp-pull-quote { margin-top: 2.5rem; }
.pp-intent-card {
  padding: clamp(2rem, 4vw, 3rem);
  border-radius: var(--radius-xl);
  border: 1px solid color-mix(in srgb, var(--ai-soft) 45%, var(--border));
  background:
    radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--ai-soft) 34%, transparent), transparent 30%),
    var(--paper-50);
  box-shadow: var(--shadow-1);
}
.theme-dark .pp-intent-card { background: var(--bg-elevated); border-color: var(--border); }
.pp-intent-card > span { color: var(--ai-base); }
.pp-intent-card h2 {
  max-width: 12ch;
  margin: .8rem 0 1.6rem;
  color: var(--fg);
  font: 800 clamp(2rem, 4vw, 3.5rem)/.95 var(--font-display);
  letter-spacing: var(--tracking-tight);
}
.pp-intent-card div { display: grid; gap: .7rem; }
.pp-intent-card i {
  display: block;
  padding: .9rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--ai-wash);
  color: var(--ai-ink);
  font: 700 var(--fs-body-sm)/1.2 var(--font-body);
  font-style: normal;
}
.theme-dark .pp-intent-card i { background: rgba(255,255,255,.07); color: var(--fg-muted); }

.pp-story { margin-top: var(--space-11); }
.pp-definition {
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--ai-tint);
  border-radius: var(--radius-xl);
  background: var(--ai-wash);
}
.theme-dark .pp-definition { background: var(--bg-elevated); border-color: var(--border); }
.pp-definition__grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
  margin-top: .8rem;
}
.pp-definition__grid h2 { margin: 0; }
.pp-definition__grid p,
.pp-section-head p,
.pp-pattern__content > p {
  margin: 0;
  max-width: 44rem;
  color: var(--fg-muted);
  font: 500 clamp(1rem, 1.45vw, 1.15rem)/1.7 var(--font-body);
}
.pp-principles,
.pp-loop { margin-top: var(--space-11); }
.pp-section-head { max-width: 52rem; margin-bottom: 1.75rem; }
.pp-section-head h2,
.pp-pattern__content h2 { margin: .65rem 0 .9rem; }
.pp-principles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.pp-principle {
  min-height: 14rem;
  padding: clamp(1.25rem, 2vw, 1.65rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--paper-50);
  box-shadow: var(--shadow-1);
}
.pp-principle:nth-child(even) {
  transform: translateY(1.6rem);
  background: var(--ai-wash);
}
.theme-dark .pp-principle { background: var(--bg-elevated); }
.pp-principle span,
.pp-pattern__steps li > span,
.pp-loop__steps li > span {
  color: var(--ai-base);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.theme-dark .pp-principle span,
.theme-dark .pp-pattern__steps li > span,
.theme-dark .pp-loop__steps li > span { color: var(--ai-soft); }
.pp-principle h3,
.pp-pattern__steps h3,
.pp-loop__steps h3 {
  margin: 2.5rem 0 .5rem;
  color: var(--fg);
  font: 800 1.1rem/1.12 var(--font-display);
}
.pp-pattern__steps h3,
.pp-loop__steps h3 { margin-top: 0; }
.pp-principle p,
.pp-pattern__steps p,
.pp-loop__steps p {
  margin: 0;
  color: var(--fg-muted);
  font: 500 var(--fs-body-sm)/1.55 var(--font-body);
  text-wrap: pretty;
}
.pp-pattern {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
  margin: clamp(5rem, 9vw, 8rem) calc(50% - 50vw);
  padding: clamp(3rem, 7vw, 6rem) max(calc((100vw - var(--page-max, 88.75rem)) / 2 + 2rem), 2rem);
  background: var(--surface-inverse-bg);
  color: var(--surface-inverse-fg);
}
.pp-pattern__visual {
  position: relative;
  min-height: 29rem;
}
.pp-pattern__visual::before {
  content: "";
  position: absolute;
  inset: 4rem 3rem;
  border-radius: var(--radius-xl);
  border: 1px dashed rgba(240,181,154,.24);
  background:
    linear-gradient(90deg, transparent 0 49.8%, rgba(240,181,154,.12) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 0 49.8%, rgba(240,181,154,.12) 50%, transparent 50.2%);
}
.pp-flow-card {
  position: absolute;
  width: 44%;
  padding: 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(14px);
}
.pp-flow-card--1 { left: 0; top: 0; }
.pp-flow-card--2 { right: 4%; top: 16%; }
.pp-flow-card--3 { left: 10%; top: 38%; background: rgba(217,119,87,.22); }
.pp-flow-card--4 { right: 0; bottom: 18%; }
.pp-flow-card--5 { left: 4%; bottom: 0; }
.pp-flow-card span {
  display: block;
  margin-bottom: .8rem;
  color: var(--ai-soft);
  font: 800 var(--fs-micro)/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pp-flow-card b {
  display: block;
  height: 4rem;
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.12);
}
.pp-pattern__content .eyebrow { color: var(--ai-soft); }
.pp-pattern__content h2,
.pp-pattern__steps h3 { color: var(--surface-inverse-fg-strong); }
.pp-pattern__content > p,
.pp-pattern__steps p { color: rgba(245,239,222,.7); }
.pp-pattern__steps,
.pp-loop__steps {
  list-style: none;
  display: grid;
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 0;
}
.pp-pattern__steps li {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
}
.pp-loop {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.pp-loop__steps { margin: 0; }
.pp-loop__steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--paper-50);
}
.theme-dark .pp-loop__steps li { background: var(--bg-elevated); }
.pp-deliverables {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 2rem;
  align-items: start;
  margin-top: var(--space-9);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: var(--radius-lg);
  background: var(--paper-200);
  border: 1px solid var(--paper-300);
}
.theme-dark .pp-deliverables { background: var(--bg-elevated); border-color: var(--border); }
.pp-deliverables h2 { margin: .625rem 0 0; color: var(--fg); font: 800 1.65rem/1.2 var(--font-display); }
.pp-deliverables ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pp-deliverables li {
  padding: .8rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--paper-50);
  color: var(--fg-muted);
  font: 700 var(--fs-body-sm)/1 var(--font-body);
}
.theme-dark .pp-deliverables li { background: rgba(255,255,255,.06); }

/* ---------- Streaming patterns — time, pacing and human control ---------- */
.app--streaming-patterns .sp-hero {
  min-height: clamp(39rem, 76vh, 51rem);
  padding: clamp(2rem, 4vw, 4rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--ai-soft) 48%, transparent), transparent 31%),
    linear-gradient(135deg, color-mix(in srgb, var(--ai-ink) 94%, var(--ink-900)), var(--ink-900));
  border-color: color-mix(in srgb, var(--ai-soft) 36%, transparent);
}
.app--streaming-patterns .sp-hero__pattern { opacity: .07; mix-blend-mode: screen; }
.app--streaming-patterns .breadcrumb__link,
.app--streaming-patterns .breadcrumb__current,
.app--streaming-patterns .breadcrumb__sep,
.app--streaming-patterns .sp-hero .eyebrow { color: rgba(255,255,255,.68); }
.app--streaming-patterns .sp-hero .display { max-width: 10ch; color: var(--paper-50); font-weight: 800; }
.app--streaming-patterns .sp-hero__lead { max-width: 38rem; color: rgba(255,255,255,.76); }
.app--streaming-patterns .sp-hero__layout { grid-template-columns: minmax(0,.82fr) minmax(28rem,1.18fr); gap: clamp(2rem,5vw,5.5rem); }

.st-hero-stream { position: relative; min-height: 31rem; padding: 4.3rem 1.3rem 4.5rem; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-xl); background: rgba(255,255,255,.94); box-shadow: var(--shadow-3); color: var(--ink-900); transform: rotate(1deg); }
.theme-dark .st-hero-stream { background: color-mix(in srgb, var(--ink-900) 90%, var(--ai-ink)); color: var(--paper-50); }
.st-hero-stream__chrome { position: absolute; inset: 0 0 auto; height: 3rem; display: flex; align-items: center; gap: .45rem; padding: 0 1rem; border-bottom: 1px solid var(--border); color: var(--fg-muted); font-size: var(--fs-micro); }
.st-hero-stream__chrome i { width: .52rem; height: .52rem; border-radius: 50%; background: var(--ai-tint); }
.st-hero-stream__chrome i:nth-child(2) { background: var(--ai-soft); }
.st-hero-stream__chrome i:nth-child(3) { background: var(--ai-base); }
.st-hero-stream__chrome span { margin-left: auto; letter-spacing: .07em; text-transform: uppercase; }
.st-hero-stream__prompt { max-width: 82%; margin-left: auto; padding: .9rem 1rem; border-radius: 1rem 1rem .25rem 1rem; background: var(--ai-wash); color: var(--ai-ink); }
.st-hero-stream__prompt span, .st-stream-status { font: 700 var(--fs-micro)/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.st-hero-stream__prompt p { margin: .45rem 0 0; font-size: var(--fs-body-sm); line-height: 1.45; }
.st-hero-stream__answer { margin-top: 1.2rem; padding: 1.15rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.st-stream-status { display: flex; align-items: center; gap: .5rem; color: var(--ai-base); }
.st-stream-status i { width: .48rem; height: .48rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .3rem color-mix(in srgb,var(--ai-base) 18%,transparent); animation: st-pulse 1.6s ease-out infinite; }
.st-hero-stream__answer h2 { margin: 1rem 0 .55rem; color: var(--fg); font: 800 1.25rem/1.15 var(--font-display); }
.st-hero-stream__answer p { margin: 0; color: var(--fg-muted); font-size: var(--fs-body-sm); line-height: 1.55; }
.st-cursor { display: inline-block; width: .12rem; height: 1em; margin-left: .16rem; background: var(--ai-base); vertical-align: -.12em; animation: st-blink 1s steps(1) infinite; }
.st-stream-lines { display: grid; gap: .45rem; margin-top: 1rem; }
.st-stream-lines i { height: .38rem; border-radius: 1rem; background: var(--bg-soft); }
.st-stream-lines i:nth-child(2) { width: 86%; }.st-stream-lines i:nth-child(3) { width: 58%; }
.st-hero-stream__controls { position: absolute; left: 1.3rem; right: 1.3rem; bottom: 1rem; display: flex; align-items: center; gap: .8rem; }
.st-hero-stream__controls b { display: inline-flex; align-items: center; gap: .45rem; padding: .65rem .9rem; border: 0; border-radius: var(--radius-pill); background: var(--ink-900); color: var(--paper-50); font: 700 var(--fs-micro)/1 var(--font-body); }
.st-hero-stream__controls b i { width: .5rem; height: .5rem; background: currentColor; }
.st-hero-stream__controls span { color: var(--fg-muted); font-size: var(--fs-micro); }
.st-hero-stream__badge { position: absolute; right: -1rem; bottom: 4rem; padding: .7rem 1rem; border-radius: var(--radius-pill); background: var(--ai-base); color: var(--paper-50); font: 800 var(--fs-micro)/1 var(--font-body); letter-spacing: .1em; transform: rotate(-4deg); }
@keyframes st-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb,var(--ai-base) 32%,transparent); } 100% { box-shadow: 0 0 0 .6rem transparent; } }
@keyframes st-blink { 50% { opacity: 0; } }

.st-opening { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(20rem,.75fr); gap: clamp(2rem,6vw,6rem); align-items: center; margin-top: var(--space-11); }
.st-opening__copy .sp-intro { margin-top: 1.25rem; }.st-opening__copy .sp-pull-quote { margin-top: 2.5rem; }
.st-opening__pulse { padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid var(--ai-tint); border-radius: var(--radius-xl); background: var(--ai-wash); }
.st-opening__pulse > span { color: var(--ai-ink); font: 700 var(--fs-micro)/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.st-opening__pulse > div { display: flex; align-items: end; gap: .35rem; height: 5rem; margin: 2rem 0 1rem; }
.st-opening__pulse i { flex: 1; min-width: .35rem; border-radius: 2rem; background: var(--ai-base); }
.st-opening__pulse i:nth-child(1),.st-opening__pulse i:nth-child(7){height:22%}.st-opening__pulse i:nth-child(2),.st-opening__pulse i:nth-child(6){height:44%}.st-opening__pulse i:nth-child(3),.st-opening__pulse i:nth-child(5){height:72%}.st-opening__pulse i:nth-child(4){height:100%}
.st-opening__pulse strong { display: block; color: var(--ai-ink); font: 800 clamp(3rem,6vw,5rem)/.9 var(--font-display); }.st-opening__pulse p { margin: 1rem 0 0; color: var(--ai-ink); }
.theme-dark .st-opening__pulse { background: var(--bg-elevated); }

.st-story { margin-top: var(--space-11); }
.st-definition { padding: clamp(3rem,7vw,6rem) clamp(1.5rem,4vw,4rem); border: 1px solid var(--ai-tint); border-radius: var(--radius-xl); background: var(--ai-wash); }
.st-definition__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(18rem,.7fr); gap: clamp(2rem,7vw,7rem); align-items: end; margin-top: 1rem; }
.st-definition__grid h2 { margin: 0; max-width: 15ch; }.st-definition__grid p { margin: 0; color: var(--fg-muted); font-size: clamp(1rem,1.35vw,1.2rem); line-height: 1.75; }
.theme-dark .st-definition { background: var(--bg-pattern); border-color: var(--border); }
.st-section-head { max-width: 49rem; }.st-section-head h2 { margin: .75rem 0 1rem; }.st-section-head p { color: var(--fg-muted); font-size: 1.05rem; line-height: 1.7; }
.st-states { margin-top: var(--space-11); }
.st-state-track { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .9rem; margin: clamp(2rem,5vw,4rem) 0 0; padding: 0; list-style: none; }
.st-state-track::before { content:""; position:absolute; top:2.2rem; left:8%; right:8%; height:1px; background:var(--ai-soft); }
.st-state { position: relative; z-index: 1; min-height: 19rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-1); }
.st-state:nth-child(even) { margin-top: 2rem; }.st-state__signal { display: flex; align-items: center; gap: .25rem; height: 2rem; }.st-state__signal i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--ai-tint); }.st-state--2 .st-state__signal i { animation: st-pulse 1.6s ease-out infinite; background: var(--ai-base); }.st-state--3 .st-state__signal i:nth-child(2) { border-radius: 0; }.st-state--4 .st-state__signal i { background: var(--ai-base); }
.st-state > span { display:block; margin-top:1.5rem; color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.st-state h3 { margin:1rem 0 .75rem; color:var(--fg); font:800 1.45rem/1.1 var(--font-display); }.st-state p { margin:0; color:var(--fg-muted); line-height:1.6; }
.st-control { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(21rem,.9fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin:var(--space-11) calc(50% - 50vw) 0; padding:clamp(3rem,8vw,7rem) max(calc((100vw - var(--page-max,88.75rem))/2 + 2rem),2rem); background:var(--ink-900); color:var(--paper-50); }
.st-control__stage { position:relative; min-height:31rem; display:grid; place-items:center; background:radial-gradient(circle,var(--ai-base),transparent 58%); }
.st-control__window { width:min(100%,35rem); padding:clamp(1.5rem,3vw,2.4rem); border:1px solid rgba(255,255,255,.22); border-radius:var(--radius-xl); background:rgba(15,15,20,.86); box-shadow:var(--shadow-3); transform:rotate(-2deg); }.st-control__status { color:var(--ai-soft); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.st-control__status i { display:inline-block; width:.5rem; height:.5rem; margin-right:.5rem; border-radius:50%; background:currentColor; }.st-control__window h3 { margin:2rem 0 1rem; max-width:18ch; color:var(--paper-50); font:800 clamp(1.65rem,3vw,2.5rem)/1.08 var(--font-display); }.st-control__window p { color:rgba(255,255,255,.66); }.st-control__actions { display:flex; gap:.75rem; margin-top:2rem; }.st-control__actions b,.st-control__actions span { padding:.75rem 1rem; border-radius:var(--radius-pill); font-size:var(--fs-body-sm); }.st-control__actions b { background:var(--paper-50); color:var(--ink-900); }.st-control__actions span { border:1px solid rgba(255,255,255,.28); }.st-control__note { position:absolute; right:0; bottom:2.2rem; padding:.75rem 1rem; border-radius:var(--radius-pill); background:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-body); transform:rotate(3deg); }
.st-control__content .eyebrow { color:var(--ai-soft); }.st-control__content h2 { margin:.75rem 0 1rem; color:var(--paper-50); }.st-control__content > p { color:rgba(255,255,255,.65); line-height:1.7; }.st-control__content ol { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }.st-control__content li { display:grid; grid-template-columns:2.5rem 1fr; gap:.75rem; padding:1.2rem 0; border-bottom:1px solid rgba(255,255,255,.16); }.st-control__content li > span { color:var(--ai-soft); font-size:var(--fs-micro); }.st-control__content li h3 { margin:0 0 .35rem; color:var(--paper-50); font:700 1rem/1.2 var(--font-display); }.st-control__content li p { margin:0; color:rgba(255,255,255,.58); font-size:var(--fs-body-sm); line-height:1.5; }
.st-anatomy { display:grid; grid-template-columns:minmax(20rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,7vw,7rem); align-items:start; margin-top:var(--space-11); }.st-anatomy__intro { position:sticky; top:6rem; }.st-anatomy__intro h2 { margin:.75rem 0 1rem; }.st-anatomy__intro p { color:var(--fg-muted); line-height:1.75; }.st-anatomy__document { display:grid; grid-template-columns:2.5rem 1fr; min-height:38rem; padding:1rem; border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-soft); box-shadow:var(--shadow-2); }.st-document__rail { position:relative; display:flex; flex-direction:column; align-items:center; gap:3.8rem; padding-top:2rem; }.st-document__rail::before { content:""; position:absolute; width:1px; height:23rem; background:var(--ai-tint); }.st-document__rail i { z-index:1; width:.55rem; height:.55rem; border:2px solid var(--bg-soft); border-radius:50%; background:var(--ai-base); }.st-document__body { padding:.6rem; }.st-document__body article { display:grid; grid-template-columns:2.7rem 1fr; gap:.7rem; min-height:8.5rem; padding:1.25rem; border-bottom:1px solid var(--border); background:var(--surface); }.st-document__body article:first-child { border-radius:var(--radius-lg) var(--radius-lg) 0 0; }.st-document__body article span { color:var(--ai-base); font-size:var(--fs-micro); }.st-document__body article h3 { margin:0 0 .5rem; color:var(--fg); font:800 1.05rem/1.2 var(--font-display); }.st-document__body article p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.55; }.st-document__latest { display:block; width:max-content; margin:1rem auto 0; padding:.7rem 1rem; border:1px solid var(--ai-soft); border-radius:var(--radius-pill); background:var(--surface); color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); }
.st-deliverables { display:grid; grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr); gap:clamp(2rem,6vw,6rem); margin-top:var(--space-11); padding:clamp(2rem,5vw,4rem); border:1px solid var(--ai-tint); border-radius:var(--radius-xl); background:var(--ai-wash); }.st-deliverables h2 { margin:.65rem 0 0; color:var(--fg); font:800 1.7rem/1.2 var(--font-display); }.st-deliverables ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0; padding:0; list-style:none; }.st-deliverables li { padding:.9rem 1rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); color:var(--fg); font-size:var(--fs-body-sm); }.theme-dark .st-deliverables { background:var(--bg-elevated); border-color:var(--border); }
.app--streaming-patterns .sp-approach__list { grid-template-columns:repeat(12,1fr); align-items:start; }.app--streaming-patterns .sp-approach__item { grid-column:span 6; }.app--streaming-patterns .sp-approach__item:nth-child(2),.app--streaming-patterns .sp-approach__item:nth-child(3) { margin-top:2rem; }.app--streaming-patterns .sp-cta { padding:clamp(1.25rem,2.4vw,2rem); }.app--streaming-patterns .sp-cta__inner { display:grid; grid-template-columns:clamp(10rem,18vw,15rem) minmax(0,1fr); gap:clamp(1.5rem,3.5vw,3rem); align-items:stretch; }.app--streaming-patterns .sp-cta__avatar { width:100%; height:100%; min-height:clamp(12rem,19vw,16.5rem); border-radius:var(--radius-lg); border:0; box-shadow:var(--shadow-2); }

/* ---------- Trust & control — evidence, calibration and human agency ---------- */
.app--trust-control-ui .sp-hero { min-height:clamp(39rem,76vh,51rem); padding:clamp(2rem,4vw,4rem); overflow:hidden; background:radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--ai-soft) 42%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--ai-ink) 92%,var(--ink-900)),var(--ink-900)); border-color:color-mix(in srgb,var(--ai-soft) 36%,transparent); }
.app--trust-control-ui .sp-hero__pattern { opacity:.07; mix-blend-mode:screen; }.app--trust-control-ui .breadcrumb__link,.app--trust-control-ui .breadcrumb__current,.app--trust-control-ui .breadcrumb__sep,.app--trust-control-ui .sp-hero .eyebrow { color:rgba(255,255,255,.68); }.app--trust-control-ui .sp-hero .display { max-width:10ch; color:var(--paper-50); font-weight:800; }.app--trust-control-ui .sp-hero__lead { max-width:38rem; color:rgba(255,255,255,.76); }.app--trust-control-ui .sp-hero__layout { grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr); gap:clamp(2rem,5vw,5.5rem); }
.tc-hero-decision { position:relative; min-height:31rem; padding:4.5rem 1.35rem 5rem; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-xl); background:rgba(255,255,255,.96); box-shadow:var(--shadow-3); color:var(--ink-900); transform:rotate(1deg); }.theme-dark .tc-hero-decision { background:color-mix(in srgb,var(--ink-900) 90%,var(--ai-ink)); color:var(--paper-50); }.tc-hero-decision__top { position:absolute; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; min-height:3.2rem; padding:0 1.2rem; border-bottom:1px solid var(--border); font-size:var(--fs-micro); letter-spacing:.06em; text-transform:uppercase; }.tc-hero-decision__top span { color:var(--fg-muted); }.tc-hero-decision__top b { padding:.45rem .7rem; border-radius:var(--radius-pill); background:var(--ai-wash); color:var(--ai-ink); }.tc-hero-decision__proposal > span { color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.09em; text-transform:uppercase; }.tc-hero-decision__proposal h2 { margin:.8rem 0 .65rem; max-width:19ch; color:var(--fg); font:800 clamp(1.35rem,2.5vw,2.1rem)/1.08 var(--font-display); }.tc-hero-decision__proposal p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.55; }.tc-hero-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1.4rem; }.tc-hero-sources > div { display:grid; grid-template-columns:1.8rem 1fr; gap:.55rem; align-items:center; padding:.8rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); }.tc-hero-sources i { display:grid; place-items:center; width:1.6rem; height:1.6rem; border-radius:50%; background:var(--ai-wash); color:var(--ai-base); font-style:normal; font-weight:800; }.tc-hero-sources span { display:grid; gap:.2rem; }.tc-hero-sources b { color:var(--fg); font-size:var(--fs-micro); }.tc-hero-sources small { color:var(--fg-muted); font-size:var(--fs-micro); }.tc-hero-decision__actions { position:absolute; left:1.35rem; right:1.35rem; bottom:1.1rem; display:flex; align-items:center; gap:.65rem; }.tc-hero-decision__actions b,.tc-hero-decision__actions span { padding:.65rem .9rem; border-radius:var(--radius-pill); font-size:var(--fs-micro); }.tc-hero-decision__actions b { background:var(--ink-900); color:var(--paper-50); }.tc-hero-decision__actions span { border:1px solid var(--border); color:var(--fg-muted); }.tc-hero-decision__badge { position:absolute; right:-1rem; bottom:4.5rem; padding:.7rem 1rem; border-radius:var(--radius-pill); background:var(--ai-base); color:var(--paper-50); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.1em; transform:rotate(-4deg); }
.tc-opening { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(20rem,.75fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin-top:var(--space-11); }.tc-opening__copy .sp-intro { margin-top:1.25rem; }.tc-opening__copy .sp-pull-quote { margin-top:2.5rem; }.tc-opening__model { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--ai-tint); border-radius:var(--radius-xl); background:var(--ai-wash); }.tc-opening__model > span { color:var(--ai-ink); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }.tc-opening__model > div { display:grid; grid-template-columns:1fr 5fr; gap:.8rem; align-items:center; margin-top:1rem; padding:.8rem; border:1px solid color-mix(in srgb,var(--ai-soft) 45%,var(--border)); border-radius:var(--radius-md); background:var(--surface); color:var(--fg); }.tc-opening__model i { height:.45rem; border-radius:1rem; background:var(--ai-tint); }.tc-opening__model div:nth-child(3) i { background:var(--ai-soft); }.tc-opening__model div:nth-child(4) i { background:var(--ai-base); }.tc-opening__model b { font:700 var(--fs-body-sm)/1 var(--font-body); }.tc-opening__model strong { display:block; margin-top:1rem; padding:1rem; border-radius:var(--radius-md); background:var(--ai-ink); color:var(--paper-50); text-align:center; font:800 var(--fs-body-sm)/1 var(--font-display); }.theme-dark .tc-opening__model { background:var(--bg-elevated); }
.tc-story { margin-top:var(--space-11); }.tc-definition { padding:clamp(3rem,7vw,6rem) clamp(1.5rem,4vw,4rem); border:1px solid var(--ai-tint); border-radius:var(--radius-xl); background:var(--ai-wash); }.tc-definition__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(18rem,.7fr); gap:clamp(2rem,7vw,7rem); align-items:end; margin-top:1rem; }.tc-definition__grid h2 { margin:0; max-width:16ch; }.tc-definition__grid p { margin:0; color:var(--fg-muted); font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.75; }.theme-dark .tc-definition { background:var(--bg-pattern); border-color:var(--border); }
.tc-section-head { max-width:50rem; }.tc-section-head h2 { margin:.75rem 0 1rem; }.tc-section-head p { color:var(--fg-muted); font-size:1.05rem; line-height:1.7; }.tc-questions { margin-top:var(--space-11); }.tc-questions__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:clamp(2rem,5vw,4rem); }.tc-question { position:relative; min-height:16rem; padding:clamp(1.4rem,3vw,2.4rem); overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-1); }.tc-question:nth-child(2),.tc-question:nth-child(3) { background:var(--ai-wash); border-color:var(--ai-tint); }.tc-question > span { color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.tc-question h3 { margin:clamp(2rem,5vw,4rem) 0 .7rem; color:var(--fg); font:800 clamp(1.45rem,3vw,2.2rem)/1.08 var(--font-display); }.tc-question p { margin:0; max-width:36rem; color:var(--fg-muted); line-height:1.6; }.tc-question > i { position:absolute; width:7rem; height:7rem; right:-3.5rem; top:-3.5rem; border-radius:50%; background:var(--ai-tint); opacity:.55; }
.tc-evidence { display:grid; grid-template-columns:minmax(22rem,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin:var(--space-11) calc(50% - 50vw) 0; padding:clamp(3rem,8vw,7rem) max(calc((100vw - var(--page-max,88.75rem))/2 + 2rem),2rem); background:var(--ink-900); color:var(--paper-50); }.tc-evidence__content .eyebrow { color:var(--ai-soft); }.tc-evidence__content h2 { margin:.75rem 0 1rem; color:var(--paper-50); }.tc-evidence__content > p { color:rgba(255,255,255,.62); line-height:1.7; }.tc-evidence__content ol { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }.tc-evidence__content li { display:grid; grid-template-columns:2.5rem 1fr; gap:.7rem; padding:1.15rem 0; border-bottom:1px solid rgba(255,255,255,.16); }.tc-evidence__content li > span { color:var(--ai-soft); font-size:var(--fs-micro); }.tc-evidence__content li h3 { margin:0 0 .35rem; color:var(--paper-50); font:700 1rem/1.2 var(--font-display); }.tc-evidence__content li p { margin:0; color:rgba(255,255,255,.58); font-size:var(--fs-body-sm); line-height:1.5; }.tc-evidence__visual { position:relative; min-height:32rem; display:grid; place-items:center; background:radial-gradient(circle,color-mix(in srgb,var(--ai-base) 70%,transparent),transparent 58%); }.tc-claim { position:relative; z-index:2; width:min(88%,31rem); padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-xl); background:rgba(15,15,20,.88); box-shadow:var(--shadow-3); }.tc-claim > span { color:var(--ai-soft); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.tc-claim h3 { margin:1.2rem 0 2rem; color:var(--paper-50); font:800 clamp(1.5rem,3vw,2.35rem)/1.08 var(--font-display); }.tc-claim i { display:inline-grid; place-items:center; width:1.8rem; height:1.8rem; margin-right:.45rem; border-radius:50%; background:var(--ai-base); color:var(--paper-50); font-style:normal; font-size:var(--fs-micro); }.tc-source-card { position:absolute; z-index:3; display:grid; gap:.3rem; min-width:11rem; padding:1rem; border-radius:var(--radius-lg); background:var(--paper-50); color:var(--ink-900); box-shadow:var(--shadow-2); }.tc-source-card b { color:var(--ai-base); font-size:var(--fs-micro); }.tc-source-card span { font-size:var(--fs-micro); }.tc-source-card strong { font-size:var(--fs-body-sm); }.tc-source-card--one { right:0; top:2rem; transform:rotate(4deg); }.tc-source-card--two { left:0; bottom:2rem; transform:rotate(-3deg); }
.tc-calibration { margin-top:var(--space-11); }.tc-calibration__scale { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; margin-top:3rem; color:var(--fg-muted); font-size:var(--fs-micro); text-transform:uppercase; letter-spacing:.06em; }.tc-calibration__scale i { height:.35rem; border-radius:1rem; background:linear-gradient(90deg,var(--ai-soft),var(--ai-base),var(--ai-ink)); }.tc-calibration__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }.tc-calibration__grid article { position:relative; min-height:16rem; padding:1.5rem; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); }.tc-calibration__grid article > span { color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.tc-calibration__grid strong { display:block; margin:2.5rem 0 .75rem; color:var(--fg); font:800 1.65rem/1 var(--font-display); }.tc-calibration__grid p { margin:0; color:var(--fg-muted); line-height:1.6; }.tc-calibration__grid article > i { position:absolute; width:5rem; height:5rem; right:-2.5rem; bottom:-2.5rem; border-radius:50%; background:var(--ai-tint); }.tc-calibration__grid article:nth-child(2) > i { background:var(--ai-soft); }.tc-calibration__grid article:nth-child(3) > i { background:var(--ai-base); }

/* Meaningful card signals: contained bars replace ambiguous clipped circles. */
.tc-question > i {
  top: 1.5rem;
  right: 1.5rem;
  width: 2.25rem;
  height: .25rem;
  border-radius: var(--radius-pill);
  background: var(--ai-soft);
  opacity: .8;
}
.tc-calibration__grid article { padding-bottom: 3rem; }
.tc-calibration__grid article > i {
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.25rem;
  width: auto;
  height: .3rem;
  border-radius: var(--radius-pill);
}
.tc-calibration__grid article:nth-child(1) > i {
  background: linear-gradient(90deg, var(--ai-base) 0 88%, var(--ai-tint) 88%);
}
.tc-calibration__grid article:nth-child(2) > i {
  background: linear-gradient(90deg, var(--ai-base) 0 56%, var(--ai-tint) 56%);
}
.tc-calibration__grid article:nth-child(3) > i {
  background: linear-gradient(90deg, var(--ai-base) 0 24%, var(--ai-tint) 24%);
}
.tc-gate { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin-top:var(--space-11); padding:clamp(2rem,5vw,4rem); border:1px solid var(--ai-tint); border-radius:var(--radius-xl); background:var(--ai-wash); }.tc-gate__visual { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--surface); box-shadow:var(--shadow-2); transform:rotate(-1deg); }.tc-gate__visual > span { color:var(--ai-base); font:700 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.tc-gate__visual h3 { margin:2rem 0 .75rem; color:var(--fg); font:800 clamp(1.8rem,4vw,3rem)/1.05 var(--font-display); }.tc-gate__visual p { color:var(--fg-muted); }.tc-gate__visual div { display:flex; gap:.7rem; margin-top:2rem; }.tc-gate__visual b,.tc-gate__visual i { padding:.75rem 1rem; border-radius:var(--radius-pill); font-style:normal; font-size:var(--fs-micro); }.tc-gate__visual b { border:1px solid var(--border); color:var(--fg); }.tc-gate__visual i { background:var(--ai-base); color:var(--paper-50); }.tc-gate__visual small { display:block; margin-top:1rem; color:var(--fg-muted); }.tc-gate__content h2 { margin:.75rem 0 1rem; }.tc-gate__content > p { color:var(--fg-muted); line-height:1.7; }.tc-gate__content ol { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--ai-tint); }.tc-gate__content li { display:grid; grid-template-columns:2.5rem 1fr; gap:.7rem; padding:1rem 0; border-bottom:1px solid var(--ai-tint); }.tc-gate__content li > span { color:var(--ai-base); font-size:var(--fs-micro); }.tc-gate__content li h3 { margin:0 0 .3rem; color:var(--fg); font:700 1rem/1.2 var(--font-display); }.tc-gate__content li p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.5; }.theme-dark .tc-gate { background:var(--bg-elevated); border-color:var(--border); }
.tc-deliverables { display:grid; grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr); gap:clamp(2rem,6vw,6rem); margin-top:var(--space-11); padding:clamp(2rem,5vw,4rem); border:1px solid var(--ai-tint); border-radius:var(--radius-xl); background:var(--ai-wash); }.tc-deliverables h2 { margin:.65rem 0 0; color:var(--fg); font:800 1.7rem/1.2 var(--font-display); }.tc-deliverables ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:0; padding:0; list-style:none; }.tc-deliverables li { padding:.9rem 1rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); color:var(--fg); font-size:var(--fs-body-sm); }.theme-dark .tc-deliverables { background:var(--bg-elevated); border-color:var(--border); }
.app--trust-control-ui .sp-approach__list { grid-template-columns:repeat(12,1fr); align-items:start; }.app--trust-control-ui .sp-approach__item { grid-column:span 6; }.app--trust-control-ui .sp-approach__item:nth-child(2),.app--trust-control-ui .sp-approach__item:nth-child(3) { margin-top:2rem; }.app--trust-control-ui .sp-cta { padding:clamp(1.25rem,2.4vw,2rem); }.app--trust-control-ui .sp-cta__inner { display:grid; grid-template-columns:clamp(10rem,18vw,15rem) minmax(0,1fr); gap:clamp(1.5rem,3.5vw,3rem); align-items:stretch; }.app--trust-control-ui .sp-cta__avatar { width:100%; height:100%; min-height:clamp(12rem,19vw,16.5rem); border-radius:var(--radius-lg); border:0; box-shadow:var(--shadow-2); }
.app--prompt-patterns .sp-approach__list {
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
}
.app--prompt-patterns .sp-approach__item { grid-column: span 6; }
.app--prompt-patterns .sp-approach__item:nth-child(1),
.app--prompt-patterns .sp-approach__item:nth-child(4) { grid-column: span 7; }
.app--prompt-patterns .sp-approach__item:nth-child(2),
.app--prompt-patterns .sp-approach__item:nth-child(3) { grid-column: span 5; }
.app--prompt-patterns .sp-cta {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}
.app--prompt-patterns .sp-cta__inner {
  display: grid;
  grid-template-columns: clamp(10rem, 18vw, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: stretch;
}
.app--prompt-patterns .sp-cta__avatar {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 19vw, 16.5rem);
  border-radius: var(--radius-lg);
  border-width: 0;
  box-shadow: var(--shadow-2);
}
.app--prompt-patterns .sp-cta__content { align-self: center; padding-block: clamp(.75rem, 1.6vw, 1.5rem); }
.app--prompt-patterns .sp-cta__title { max-width: 24ch; font-size: clamp(1.75rem, 3vw, 2.75rem); }

/* ---------- Related case proof cards — shared service-page standard ----------
   Image creates atmosphere; a stable text panel carries the information. */
.app .sp-cases {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid var(--border);
}
.app .sp-cases__head {
  max-width: 50rem;
}
.app .sp-cases__head .display {
  max-width: 15ch;
}
.app .sp-cases__grid {
  gap: clamp(1rem, 2vw, 1.5rem);
}
.app .sp-cases .mm-case-card--tile.mm-case-card--img {
  aspect-ratio: 1.18 / 1;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--accent-soft, var(--ux-soft)) 36%, var(--border));
  background-size: cover !important;
  box-shadow: var(--shadow-1);
}
.app .sp-cases .mm-case-card--tile.mm-case-card--img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(11,11,11,.04) 0%, rgba(11,11,11,.18) 52%, rgba(11,11,11,.36) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--accent, var(--ux-base)) 18%, transparent), transparent 46%);
}
.app .sp-cases .mm-case-card--tile .mm-case-card__body {
  display: flex;
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: .85rem;
  z-index: 1;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-md);
  background: rgba(254,253,249,.9);
  box-shadow: 0 1rem 2.5rem rgba(11,11,11,.18);
  backdrop-filter: blur(14px);
}
.app .sp-cases .mm-case-card__header {
  margin-bottom: .65rem;
  position: relative;
  z-index: 1;
}
.app .sp-cases .mm-case-card__kind {
  overflow: hidden;
  max-width: calc(100% - 2rem);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent, var(--ux-base));
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  backdrop-filter: none;
}
.app .sp-cases .mm-case-card__title {
  position: relative;
  z-index: 1;
  max-width: none;
  color: var(--fg);
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 1.08;
  text-shadow: none;
}
.app .sp-cases .mm-case-card__footer {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
}
.app .sp-cases .mm-case-card__tag {
  background: var(--accent-wash, var(--ux-wash));
  border-color: var(--accent-tint, var(--ux-tint));
  color: var(--accent-ink, var(--ux-ink));
  backdrop-filter: none;
}
.app .sp-cases .mm-case-card__arrow {
  z-index: 2;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: rgba(11,11,11,.28);
  color: var(--paper-50);
  backdrop-filter: blur(10px);
}
.app .sp-cases .mm-case-card:hover .mm-case-card__arrow {
  transform: translate(2px, -2px);
}
.theme-dark .app .sp-cases .mm-case-card--tile .mm-case-card__body {
  border-color: rgba(255,255,255,.12);
  background: rgba(14,13,10,.86);
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.38);
}
.theme-dark .app .sp-cases .mm-case-card__kind {
  color: var(--accent-soft, var(--ux-soft));
}
.theme-dark .app .sp-cases .mm-case-card__title {
  color: var(--surface-inverse-fg-strong);
}
.theme-dark .app .sp-cases .mm-case-card__tag {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.14);
  color: rgba(245,239,222,.74);
}

@media (max-width: 900px) {
  .app--wireframing .sp-hero__layout,
  .wf-opening,
  .wf-definition__grid,
  .wf-lab,
  .wf-deliverables { grid-template-columns: 1fr; }
  .wf-hero-board { min-height: 27rem; }
  .wf-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wf-value:nth-child(even),
  .app--wireframing .sp-approach__item:nth-child(n) { transform: none; }
  .app--wireframing .sp-approach__item,
  .app--wireframing .sp-approach__item:nth-child(n) { grid-column: span 6; }
  .app--wireframing .sp-cta__inner { grid-template-columns: clamp(8rem, 22vw, 11rem) minmax(0, 1fr); }
  .app--wireframing .sp-cta__avatar { min-height: 11rem; }
  .app--visual-design .sp-hero__layout, .vd-opening { grid-template-columns: 1fr; }
  .vd-hero-collage { min-height: 25rem; }
  .app--visual-design .vd-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* 3 cards in a 2-col grid would leave the 3rd as a half-width orphan — span it full-width instead */
  .app--visual-design .vd-outcome:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .app--visual-design .sp-approach__item,
  .app--visual-design .sp-approach__item:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .app--visual-design .sp-cta__inner { grid-template-columns: clamp(8rem, 22vw, 11rem) minmax(0, 1fr); }
  .app--visual-design .sp-cta__avatar { min-height: 11rem; }
  .app--design-systems .sp-hero__layout,
  .ds-opening,
  .ds-definition,
  .ds-anatomy,
  .ds-process,
  .ds-deliverables { grid-template-columns: 1fr; }
  .ds-hero-system { min-height: 27rem; }
  .ds-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-value,
  .ds-value:nth-child(n) { grid-column: auto; transform: none; }
  .ds-anatomy__visual { min-height: 25rem; }
  .app--design-systems .sp-approach__item,
  .app--design-systems .sp-approach__item:nth-child(n) { grid-column: span 6; }
  .app--design-systems .sp-cta__inner { grid-template-columns: clamp(8rem, 22vw, 11rem) minmax(0, 1fr); }
  .app--design-systems .sp-cta__avatar { min-height: 11rem; }
  .app--prompt-patterns .sp-hero__layout,
  .pp-opening,
  .pp-definition__grid,
  .pp-pattern,
  .pp-loop,
  .pp-deliverables { grid-template-columns: 1fr; }
  .pp-hero-console { min-height: 28rem; }
  .pp-principles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-principle:nth-child(even) { transform: none; }
  .pp-pattern__visual { min-height: 24rem; }
  .app--prompt-patterns .sp-approach__item,
  .app--prompt-patterns .sp-approach__item:nth-child(n) { grid-column: span 6; }
  .app--prompt-patterns .sp-cta__inner { grid-template-columns: clamp(8rem, 22vw, 11rem) minmax(0, 1fr); }
  .app--prompt-patterns .sp-cta__avatar { min-height: 11rem; }
  .app--streaming-patterns .sp-hero__layout,
  .st-opening,
  .st-definition__grid,
  .st-control,
  .st-anatomy,
  .st-deliverables { grid-template-columns: 1fr; }
  .st-hero-stream { min-height: 29rem; }
  .st-state-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .st-state-track::before { display: none; }
  .st-state:nth-child(even) { margin-top: 0; }
  .st-control { padding-inline: 2rem; }
  .st-anatomy__intro { position: static; }
  .app--streaming-patterns .sp-approach__item,
  .app--streaming-patterns .sp-approach__item:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .app--streaming-patterns .sp-cta__inner { grid-template-columns: clamp(8rem,22vw,11rem) minmax(0,1fr); }
  .app--streaming-patterns .sp-cta__avatar { min-height: 11rem; }
  .app--trust-control-ui .sp-hero__layout,
  .tc-opening,
  .tc-definition__grid,
  .tc-evidence,
  .tc-gate,
  .tc-deliverables { grid-template-columns: 1fr; }
  .tc-hero-decision { min-height: 29rem; }
  .tc-evidence { padding-inline: 2rem; }
  .tc-evidence__visual { min-height: 29rem; }
  .app--trust-control-ui .sp-approach__item,
  .app--trust-control-ui .sp-approach__item:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .app--trust-control-ui .sp-cta__inner { grid-template-columns: clamp(8rem,22vw,11rem) minmax(0,1fr); }
  .app--trust-control-ui .sp-cta__avatar { min-height: 11rem; }
}
@media (max-width: 620px) {
  .app--wireframing .sp-hero { min-height: auto; padding: 1.5rem; }
  .wf-hero-board { min-height: 23rem; }
  .wf-hero-screen { width: 62%; min-height: 13rem; }
  .wf-hero-screen--2 { right: 0; }
  .wf-hero-screen--3 { left: 12%; }
  .wf-hero-note { display: none; }
  .wf-hero-board__badge { right: auto; left: 0; top: auto; bottom: .25rem; }
  .wf-values__grid,
  .wf-deliverables ul,
  .app--wireframing .sp-approach__list { grid-template-columns: 1fr; }
  .app--wireframing .sp-approach__item,
  .app--wireframing .sp-approach__item:nth-child(n) { grid-column: auto; }
  .wf-lab { padding-inline: 1.25rem; }
  .wf-lab__visual { min-height: 19rem; }
  .wf-lab-device--main { right: 8%; }
  .wf-lab-device--small { display: none; }
  .wf-deliverables { padding: 1.25rem; }
  .app--wireframing .sp-cta { padding: 1rem; }
  .app--wireframing .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--wireframing .sp-cta__avatar { min-height: 16rem; }
  .app--wireframing .sp-cta__content { padding: .25rem .5rem .75rem; }
  .app--wireframing .sp-cta__title { max-width: none; }
  .app--visual-design .sp-hero { min-height: auto; padding: 1.5rem; }
  .vd-hero-collage { min-height: 20rem; }
  .vd-hero-collage__card--main { inset: 1.5rem 2.5rem 1rem 0; }
  .vd-hero-collage__card--top { width: 42%; height: 31%; }
  .vd-hero-collage__card--bottom { width: 42%; height: 34%; }
  .vd-opening .sp-featured-image img { height: 24rem; }
  .vd-gallery { grid-template-columns: 1fr; grid-template-rows: repeat(3, 15rem); }
  .vd-gallery__item--1 { grid-row: auto; }
  .app--visual-design .vd-outcomes,
  .app--visual-design .sp-approach__list { grid-template-columns: 1fr; }
  .app--visual-design .vd-outcomes { padding: .75rem; }
  .app--visual-design .vd-outcome { min-height: 0; }
  .app--visual-design .vd-outcome,
  .app--visual-design .vd-outcome:nth-child(n),
  .app--visual-design .sp-approach__item,
  .app--visual-design .sp-approach__item:nth-child(n) { grid-column: auto; }
  .app--visual-design .sp-cta { padding: 1rem; }
  .app--visual-design .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--visual-design .sp-cta__avatar { min-height: 16rem; }
  .app--visual-design .sp-cta__content { padding: .25rem .5rem .75rem; }
  .app--visual-design .sp-cta__title { max-width: none; }
  .app--design-systems .sp-hero { min-height: auto; padding: 1.5rem; }
  .ds-hero-system { min-height: 24rem; }
  .ds-hero-system__panel--tokens { width: 56%; top: 1rem; }
  .ds-hero-system__panel--component { width: 66%; top: 5.5rem; }
  .ds-hero-system__panel--states { left: 0; right: 0; }
  .ds-hero-system__axis { display: none; }
  .ds-hero-system__badge { left: 0; right: auto; top: auto; bottom: 5rem; }
  .ds-opening,
  .ds-story { margin-top: var(--space-9); }
  .ds-definition,
  .ds-deliverables,
  .ds-control-card { padding: 1.25rem; }
  .ds-definition__metrics,
  .ds-values__grid,
  .ds-deliverables ul,
  .app--design-systems .sp-approach__list { grid-template-columns: 1fr; }
  .app--design-systems .sp-approach__item,
  .app--design-systems .sp-approach__item:nth-child(n) { grid-column: auto; }
  .ds-anatomy { padding-inline: 1.25rem; }
  .ds-anatomy__visual { min-height: 22rem; }
  .ds-anatomy__visual::before { inset: 2rem; }
  .ds-anatomy__ring {
    min-width: 0;
    padding: .6rem .72rem;
    font-size: var(--fs-micro);
  }
  .ds-anatomy__ring--1::before,
  .ds-anatomy__ring--2::before,
  .ds-anatomy__ring--3::before,
  .ds-anatomy__ring--4::before {
    top: -.34rem;
    width: .48rem;
    height: .48rem;
  }
  .ds-anatomy__ring--1 { left: 0; top: 7%; }
  .ds-anatomy__ring--2 { right: 0; top: 24%; }
  .ds-anatomy__ring--3 { left: 0; bottom: 27%; }
  .ds-anatomy__ring--4 { right: 0; bottom: 8%; }
  .ds-anatomy__ring--5 {
    left: 50%;
    top: 50%;
    min-width: 8rem;
    transform: translate(-50%, -50%);
    font-size: var(--fs-micro);
  }
  .ds-layers li,
  .ds-process__steps li { grid-template-columns: 2.5rem 1fr; padding: 1rem; }
  .app--design-systems .sp-cta { padding: 1rem; }
  .app--design-systems .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--design-systems .sp-cta__avatar { min-height: 16rem; }
  .app--design-systems .sp-cta__content { padding: .25rem .5rem .75rem; }
  .app--design-systems .sp-cta__title { max-width: none; }
  .app--prompt-patterns .sp-hero { min-height: auto; padding: 1.5rem; }
  .pp-hero-console { min-height: 26rem; }
  .pp-hero-console::before { inset: 1rem 0; }
  .pp-hero-console__thread { left: 0; right: 0; }
  .pp-message { max-width: 82%; padding: .9rem; }
  .pp-control-strip { left: 0; right: 0; bottom: 7rem; border-radius: var(--radius-lg); }
  .pp-control-strip span { flex-basis: calc(50% - .5rem); }
  .pp-checkpoint { width: 82%; }
  .pp-hero-console__badge { display: none; }
  .pp-opening,
  .pp-story { margin-top: var(--space-9); }
  .pp-intent-card,
  .pp-definition,
  .pp-deliverables { padding: 1.25rem; }
  .pp-principles__grid,
  .pp-deliverables ul,
  .app--prompt-patterns .sp-approach__list { grid-template-columns: 1fr; }
  .app--prompt-patterns .sp-approach__item,
  .app--prompt-patterns .sp-approach__item:nth-child(n) { grid-column: auto; }
  .pp-pattern { padding-inline: 1.25rem; }
  .pp-pattern__visual { min-height: 22rem; }
  .pp-flow-card { width: 56%; padding: .85rem; }
  .pp-flow-card--2 { right: 0; }
  .pp-flow-card--4 { right: 0; }
  .pp-pattern__steps li,
  .pp-loop__steps li { grid-template-columns: 1fr; padding: 1rem; }
  .app--prompt-patterns .sp-cta { padding: 1rem; }
  .app--prompt-patterns .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--prompt-patterns .sp-cta__avatar { min-height: 16rem; }
  .app--prompt-patterns .sp-cta__content { padding: .25rem .5rem .75rem; }
  .app--prompt-patterns .sp-cta__title { max-width: none; }
  .app--streaming-patterns .sp-hero { min-height: auto; padding: 1.5rem; }
  .app--streaming-patterns .sp-hero__layout { gap: 2rem; }
  .st-hero-stream { min-height: 28rem; padding-inline: .8rem; transform: none; }
  .st-hero-stream__prompt { max-width: 94%; }
  .st-hero-stream__controls { left: .8rem; right: .8rem; }
  .st-hero-stream__badge { right: -.35rem; }
  .st-opening,.st-story { margin-top: var(--space-9); }
  .st-definition,.st-deliverables { padding: 1.25rem; }
  .st-state-track,.st-deliverables ul,.app--streaming-patterns .sp-approach__list { grid-template-columns: 1fr; }
  .st-state { min-height: 0; }
  .st-control { margin-top: var(--space-9); padding: 3rem 1.25rem; }
  .st-control__stage { min-height: 25rem; }
  .st-control__note { right: -.25rem; bottom: 1rem; }
  .st-anatomy__document { grid-template-columns: 1.5rem 1fr; padding: .6rem; }
  .st-document__body article { grid-template-columns: 1fr; min-height: 0; }
  .app--streaming-patterns .sp-approach__item,
  .app--streaming-patterns .sp-approach__item:nth-child(n) { grid-column: auto; }
  .app--streaming-patterns .sp-cta { padding: 1rem; }
  .app--streaming-patterns .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--streaming-patterns .sp-cta__avatar { min-height: 16rem; }
  .app--trust-control-ui .sp-hero { min-height: auto; padding: 1.5rem; }
  .app--trust-control-ui .sp-hero__layout { gap: 2rem; }
  .tc-hero-decision { min-height: 30rem; padding-inline: .8rem; transform: none; }
  .tc-hero-sources { grid-template-columns: 1fr; }
  .tc-hero-decision__actions { left: .8rem; right: .8rem; }
  .tc-hero-decision__badge { right: -.35rem; }
  .tc-opening,.tc-story { margin-top: var(--space-9); }
  .tc-definition,.tc-gate,.tc-deliverables { padding: 1.25rem; }
  .tc-questions__grid,.tc-calibration__grid,.tc-deliverables ul,.app--trust-control-ui .sp-approach__list { grid-template-columns: 1fr; }
  .tc-question,.tc-calibration__grid article { min-height: 0; }
  .tc-question h3 { margin-top: 2rem; }
  .tc-calibration__scale { grid-template-columns: 1fr; }
  .tc-calibration__scale i { order: -1; }
  .tc-evidence { margin-top: var(--space-9); padding: 3rem 1.25rem; }
  .tc-evidence__visual { min-height: 25rem; }
  .tc-source-card { min-width: 9rem; }
  .tc-gate__visual div { flex-wrap: wrap; }
  .app--trust-control-ui .sp-approach__item,
  .app--trust-control-ui .sp-approach__item:nth-child(n) { grid-column: auto; }
  .app--trust-control-ui .sp-cta { padding: 1rem; }
  .app--trust-control-ui .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--trust-control-ui .sp-cta__avatar { min-height: 16rem; }
}

@media (prefers-reduced-motion: reduce) {
  .st-stream-status i,.st-state--2 .st-state__signal i,.st-cursor { animation: none; }
}

/* ================================================================
   ACCESSIBILITY — inclusive product-quality narrative
   ================================================================ */
.app--accessibility .sp-hero {
  min-height: min(48rem, calc(100vh - 2rem));
  background:
    radial-gradient(circle at 78% 24%, color-mix(in srgb, var(--ux-soft) 46%, transparent), transparent 30%),
    linear-gradient(145deg, var(--bg-elevated), color-mix(in srgb, var(--ux-wash) 68%, var(--bg)));
}
.app--accessibility .sp-hero__layout {
  grid-template-columns: minmax(0, .86fr) minmax(28rem, 1.14fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}
.app--accessibility .sp-hero .display { max-width: 10ch; }
.a11y-hero-audit {
  position: relative;
  min-height: 31rem;
  isolation: isolate;
}
.a11y-hero-audit::before {
  content: "";
  position: absolute;
  inset: 2.5rem 1.5rem 1rem;
  z-index: -1;
  border: 1px solid color-mix(in srgb, var(--ux-base) 22%, transparent);
  border-radius: 50%;
  transform: rotate(-8deg);
}
.a11y-hero-audit__window {
  position: absolute;
  inset: 3.25rem 1rem 3.8rem 2.75rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ux-base) 28%, var(--border));
  border-radius: var(--radius-xl);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-3);
  transform: rotate(-1.5deg);
}
.a11y-hero-audit__chrome {
  display: flex;
  align-items: center;
  gap: .4rem;
  height: 2.5rem;
  padding: 0 .85rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg-pattern);
}
.a11y-hero-audit__chrome i { width: .52rem; height: .52rem; border-radius: 50%; background: var(--ink-100); }
.a11y-hero-audit__chrome i:first-child { background: var(--ux-base); }
.a11y-hero-audit__chrome span { margin-left: .4rem; color: var(--fg-muted); font: 600 var(--fs-micro)/1 var(--font-body); }
.a11y-hero-audit__page { position: relative; height: calc(100% - 2.5rem); padding: 1.15rem 1.35rem; }
.a11y-hero-audit__page nav { display: flex; align-items: center; gap: .65rem; }
.a11y-hero-audit__page nav b { margin-right: auto; color: var(--ux-deep); font: 800 var(--fs-micro)/1 var(--font-display); }
.a11y-hero-audit__page nav span { width: 2.8rem; height: .35rem; border-radius: 1rem; background: var(--border); }
.a11y-hero-audit__content { max-width: 19rem; padding: clamp(2rem, 6vw, 4rem) 0 0 1rem; }
.a11y-hero-audit__content small { color: var(--ux-base); font: 800 var(--fs-micro)/1 var(--font-display); letter-spacing: .12em; }
.a11y-hero-audit__content h2 { margin: .75rem 0; color: var(--fg); font: 800 clamp(1.65rem, 3.2vw, 2.6rem)/.95 var(--font-display); letter-spacing: var(--tracking-tight); }
.a11y-hero-audit__content p { margin: 0 0 1.25rem; color: var(--fg-muted); font-size: var(--fs-body-sm); line-height: 1.55; }
.a11y-hero-audit__button { display: inline-block; padding: .72rem 1.05rem; border-radius: var(--radius-sm); background: var(--ux-base); color: #fff; font: 700 var(--fs-micro)/1 var(--font-body); box-shadow: 0 0 0 4px var(--bg-elevated), 0 0 0 7px var(--ux-base); }
.a11y-focus-ring { position: absolute; right: 12%; bottom: 17%; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--ux-ink); color: var(--surface-inverse-fg-strong); font: 800 1rem/1 var(--font-body); box-shadow: var(--shadow-2); }
.a11y-audit-card { position: absolute; z-index: 2; padding: .8rem .9rem; border: 1px solid color-mix(in srgb, var(--ux-base) 28%, var(--border)); border-radius: var(--radius-md); background: color-mix(in srgb, var(--bg-elevated) 92%, transparent); box-shadow: var(--shadow-2); backdrop-filter: blur(12px); }
.a11y-audit-card > span { display: block; margin-bottom: .45rem; color: var(--fg-muted); font: 700 var(--fs-micro)/1 var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.a11y-audit-card--contrast { top: .75rem; right: 0; min-width: 8.5rem; transform: rotate(3deg); }
.a11y-audit-card--contrast strong { color: var(--fg); font: 800 1.25rem/1 var(--font-display); }
.a11y-audit-card--contrast i { float: right; padding: .2rem .35rem; border-radius: 1rem; background: var(--play-tint); color: var(--play-ink); font: 800 var(--fs-micro)/1 var(--font-body); font-style: normal; }
.a11y-audit-card--focus { left: 0; bottom: 1.5rem; transform: rotate(-3deg); }
.a11y-audit-card--focus div { display: flex; align-items: center; gap: .3rem; }
.a11y-audit-card--focus i { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--ux-base); color: #fff; font: 700 var(--fs-micro)/1 var(--font-body); font-style: normal; }
.a11y-audit-card--focus b { width: 1.1rem; height: 1px; background: var(--ux-soft); }
.a11y-audit-card--semantic { right: 1rem; bottom: .4rem; transform: rotate(2deg); }
.a11y-audit-card--semantic code { color: var(--ux-deep); font: 700 var(--fs-micro)/1 var(--font-mono, monospace); }
.a11y-hero-audit__badge { position: absolute; top: 1.25rem; left: 0; padding: .55rem .7rem; border-radius: var(--radius-sm); background: var(--ux-ink); color: var(--surface-inverse-fg); font: 800 var(--fs-micro)/1 var(--font-body); letter-spacing: .12em; transform: rotate(-4deg); }

.a11y-opening { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .75fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; margin-top: var(--space-10); }
.a11y-opening__copy .sp-intro { margin-top: 1rem; }
.a11y-opening__media { position: relative; min-height: clamp(30rem, 42vw, 37rem); }
.a11y-opening__photo { position: absolute; inset: 0 3.25rem 3.75rem 0; margin: 0; overflow: hidden; border-radius: var(--radius-xl); background: var(--bg-pattern); box-shadow: var(--shadow-2); }
.a11y-opening__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(11,11,11,.2)); pointer-events: none; }
.a11y-opening__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; display: block; }
.a11y-opening__signal { position: absolute; right: 0; bottom: 0; width: min(18rem, 78%); padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--ux-base) 18%, var(--border)); border-radius: var(--radius-xl); background: color-mix(in srgb, var(--bg-elevated) 94%, transparent); box-shadow: var(--shadow-2); backdrop-filter: blur(16px); }
.a11y-opening__signal > span { color: var(--ux-base); font: 800 var(--fs-micro)/1 var(--font-body); letter-spacing: .12em; }
.a11y-opening__signal > div { display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .75rem; margin-top: .7rem; padding: .8rem; border-radius: var(--radius-md); background: var(--ux-wash); }
.a11y-opening__signal i { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--bg-elevated); color: var(--ux-deep); font: 800 var(--fs-body-sm)/1 var(--font-body); font-style: normal; }
.a11y-opening__signal b { color: var(--fg); font: 700 var(--fs-body-sm)/1 var(--font-body); }
.a11y-opening__signal strong { display: block; margin-top: .85rem; color: var(--fg-muted); font: 600 var(--fs-micro)/1.4 var(--font-body); text-align: center; }
.a11y-story { margin-top: var(--space-10); }
.a11y-definition { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--bg-elevated); }
.a11y-definition__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .7fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; margin-top: 1rem; }
.a11y-definition__grid h2 { max-width: 17ch; margin: 0; }
.a11y-definition__grid p, .a11y-section-head p, .a11y-evidence__intro > p, .a11y-process__intro > p { margin: 0; color: var(--fg-muted); line-height: 1.7; text-wrap: pretty; }
.a11y-needs { margin-top: var(--space-11); }
.a11y-section-head { max-width: 45rem; margin-bottom: 2rem; }
.a11y-section-head h2 { max-width: 15ch; margin: .75rem 0; }
.a11y-needs__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.a11y-need { position: relative; grid-column: span 6; min-height: 15rem; padding: 1.5rem; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--bg-elevated); }
.a11y-need:nth-child(2), .a11y-need:nth-child(3) { grid-column: span 5; }
.a11y-need:nth-child(1), .a11y-need:nth-child(4) { grid-column: span 7; }
.a11y-need > span { position: absolute; right: 1rem; top: .5rem; color: color-mix(in srgb, var(--ux-base) 18%, transparent); font: 900 clamp(4rem, 9vw, 7rem)/1 var(--font-display); letter-spacing: -.1em; }
.a11y-need small { color: var(--ux-base); font: 800 var(--fs-micro)/1 var(--font-display); letter-spacing: .12em; }
.a11y-need h3 { position: relative; margin: 4rem 0 .6rem; color: var(--fg); font: 800 1.35rem/1 var(--font-display); }
.a11y-need p { position: relative; max-width: 31rem; margin: 0; color: var(--fg-muted); line-height: 1.6; }
.a11y-photo-story { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto auto; gap: clamp(1rem, 2.5vw, 1.75rem); align-items: stretch; margin-top: var(--space-11); }
.a11y-photo-story figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius-xl); background: var(--bg-pattern); box-shadow: var(--shadow-1); }
.a11y-photo-story figure::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.22); border-radius: inherit; pointer-events: none; }
.a11y-photo-story img { width: 100%; height: 100%; object-fit: cover; display: block; }
.a11y-photo-story__sunlight { grid-column: 1 / span 5; grid-row: 1 / span 2; min-height: 42rem; }
.a11y-photo-story__sunlight img { object-position: center 48%; }
.a11y-photo-story__copy { grid-column: 6 / -1; align-self: end; padding: clamp(1rem, 2vw, 1.75rem) clamp(.25rem, 2vw, 1.5rem); }
.a11y-photo-story__copy h2 { max-width: 14ch; margin: .75rem 0 1rem; }
.a11y-photo-story__copy p { max-width: 40rem; margin: 0; color: var(--fg-muted); line-height: 1.7; text-wrap: pretty; }
.a11y-photo-story__keyboard { grid-column: 6 / -1; min-height: 20rem; }
.a11y-photo-story__keyboard img { object-position: center 58%; }
.a11y-evidence { display: grid; grid-template-columns: minmax(0, .85fr) minmax(21rem, 1.15fr); gap: clamp(2rem, 5vw, 4rem); margin-top: var(--space-11); padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: var(--radius-xl); background: var(--surface-inverse-bg); color: var(--surface-inverse-fg); }
.a11y-evidence__intro h2 { max-width: 14ch; margin: .75rem 0 1rem; color: var(--surface-inverse-fg-strong); }
.a11y-evidence__intro > p { color: color-mix(in srgb, var(--surface-inverse-fg) 72%, transparent); }
.a11y-evidence__visual { align-self: start; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); background: rgba(255,255,255,.05); }
.a11y-reader-bar { display: flex; align-items: center; gap: .5rem; padding: .6rem; color: rgba(255,255,255,.58); font: 700 var(--fs-micro)/1 var(--font-body); }
.a11y-reader-bar i { width: .55rem; height: .55rem; border-radius: 50%; background: var(--ux-glow); box-shadow: 0 0 0 .3rem rgba(174,177,245,.13); }
.a11y-reader-card { padding: 1rem; border-radius: var(--radius-md); background: rgba(255,255,255,.07); }
.a11y-reader-card small, .a11y-reader-card span { display: block; color: rgba(255,255,255,.48); font: 500 var(--fs-micro)/1.4 var(--font-body); }
.a11y-reader-card strong { display: block; margin: .45rem 0; color: #fff; font: 700 1rem/1.2 var(--font-display); }
.a11y-reader-focus { display: grid; grid-template-columns: 2rem 1fr auto; gap: .65rem; align-items: center; margin-top: .7rem; padding: .85rem; border: 2px solid var(--ux-glow); border-radius: var(--radius-md); }
.a11y-reader-focus b { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--ux-base); color: #fff; }
.a11y-reader-focus span { color: #fff; font: 700 var(--fs-micro)/1 var(--font-body); }
.a11y-reader-focus i { color: var(--ux-glow); font: 700 var(--fs-micro)/1 var(--font-body); font-style: normal; }
.a11y-reader-status { margin-top: .7rem; color: var(--play-soft); font: 700 var(--fs-micro)/1 var(--font-body); }
.a11y-evidence__steps { grid-column: 1 / -1; list-style: none; margin: 0; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.12); }
.a11y-evidence__steps li { display: grid; grid-template-columns: 5rem 1fr auto; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.a11y-evidence__steps li > span { color: var(--ux-glow); font: 800 var(--fs-micro)/1.2 var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.a11y-evidence__steps h3 { margin: 0 0 .3rem; color: #fff; font: 700 1rem/1.2 var(--font-display); }
.a11y-evidence__steps p { margin: 0; color: rgba(255,255,255,.55); font-size: var(--fs-body-sm); line-height: 1.55; }
.a11y-evidence__steps small { color: rgba(255,255,255,.3); font: 800 var(--fs-micro)/1 var(--font-display); }
.a11y-process { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 6vw, 5rem); margin-top: var(--space-11); }
.a11y-process__intro { position: sticky; top: 2rem; align-self: start; }
.a11y-process__intro h2 { max-width: 12ch; margin: .75rem 0 1rem; }
.a11y-process__steps { list-style: none; margin: 0; padding: 0; }
.a11y-process__steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.3rem 0; border-top: 1px solid var(--border); }
.a11y-process__steps li:last-child { border-bottom: 1px solid var(--border); }
.a11y-process__steps li > span { color: var(--ux-base); font: 800 var(--fs-body-sm)/1 var(--font-display); }
.a11y-process__steps h3 { margin: 0 0 .4rem; color: var(--fg); font: 700 1.1rem/1.2 var(--font-display); }
.a11y-process__steps p { margin: 0; color: var(--fg-muted); font-size: var(--fs-body-sm); line-height: 1.6; }
.a11y-deliverables { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); margin-top: var(--space-11); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid color-mix(in srgb, var(--ux-base) 24%, var(--border)); border-radius: var(--radius-xl); background: linear-gradient(135deg, var(--ux-wash), var(--bg-elevated)); }
.a11y-deliverables h2 { max-width: 14ch; margin: .75rem 0 0; color: var(--fg); font: 800 clamp(1.75rem, 3vw, 2.7rem)/1 var(--font-display); letter-spacing: var(--tracking-tight); }
.a11y-deliverables ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; list-style: none; margin: 0; padding: 0; }
.a11y-deliverables li { padding: .75rem .85rem; border: 1px solid color-mix(in srgb, var(--ux-base) 16%, var(--border)); border-radius: var(--radius-md); background: color-mix(in srgb, var(--bg-elevated) 82%, transparent); color: var(--fg); font: 650 var(--fs-body-sm)/1.35 var(--font-body); }
.app--accessibility .sp-approach__list { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
.app--accessibility .sp-approach__item { grid-column: span 6; }
.app--accessibility .sp-approach__item:nth-child(2), .app--accessibility .sp-approach__item:nth-child(3) { transform: translateY(1.5rem); }
.app--accessibility .sp-cta { padding: clamp(1.25rem, 2.4vw, 2rem); }
.app--accessibility .sp-cta__inner { display: grid; grid-template-columns: clamp(10rem,18vw,15rem) minmax(0,1fr); gap: clamp(1.5rem,3.5vw,3rem); align-items: stretch; }
.app--accessibility .sp-cta__avatar { width: 100%; height: 100%; min-height: clamp(12rem,19vw,16.5rem); border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-2); }

@media (max-width: 900px) {
  .app--accessibility .sp-hero__layout, .a11y-opening, .a11y-definition__grid, .a11y-process, .a11y-deliverables { grid-template-columns: 1fr; }
  .a11y-hero-audit { min-height: 29rem; }
  .a11y-evidence { grid-template-columns: 1fr; }
  .a11y-opening__media { min-height: 34rem; }
  .a11y-photo-story__sunlight { grid-column: 1 / span 5; min-height: 35rem; }
  .a11y-photo-story__copy, .a11y-photo-story__keyboard { grid-column: 6 / -1; }
  .a11y-needs__grid, .app--accessibility .sp-approach__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a11y-need, .a11y-need:nth-child(n), .app--accessibility .sp-approach__item { grid-column: auto; transform: none; }
  .a11y-process__intro { position: static; }
  .app--accessibility .sp-cta__inner { grid-template-columns: clamp(8rem,22vw,11rem) minmax(0,1fr); }
}
@media (max-width: 620px) {
  .app--accessibility .sp-hero { min-height: auto; padding: 1.5rem; }
  .app--accessibility .sp-hero__layout { gap: 1.5rem; }
  .a11y-hero-audit { min-height: 25rem; }
  .a11y-hero-audit__window { inset: 2.8rem .25rem 3.25rem .25rem; }
  .a11y-hero-audit__content { padding-left: 0; }
  .a11y-audit-card--focus { left: -.35rem; }
  .a11y-audit-card--semantic { right: -.35rem; }
  .a11y-opening, .a11y-story { margin-top: var(--space-9); }
  .a11y-opening__media { display: grid; min-height: 0; gap: 1rem; }
  .a11y-opening__photo { position: relative; inset: auto; min-height: 28rem; }
  .a11y-opening__signal { position: relative; right: auto; bottom: auto; width: auto; }
  .a11y-definition, .a11y-evidence, .a11y-deliverables { padding: 1.25rem; }
  .a11y-needs__grid, .a11y-deliverables ul, .app--accessibility .sp-approach__list { grid-template-columns: 1fr; }
  .a11y-need { min-height: 13rem; }
  .a11y-photo-story { grid-template-columns: 1fr; grid-template-rows: auto; }
  .a11y-photo-story__sunlight, .a11y-photo-story__copy, .a11y-photo-story__keyboard { grid-column: auto; grid-row: auto; }
  .a11y-photo-story__sunlight { min-height: 28rem; }
  .a11y-photo-story__keyboard { min-height: 15rem; }
  .a11y-photo-story__copy { padding: 1rem .25rem; }
  .a11y-evidence__steps li { grid-template-columns: 1fr; }
  .a11y-evidence__steps small { display: none; }
  .a11y-reader-focus { grid-template-columns: 2rem 1fr; }
  .a11y-reader-focus i { display: none; }
  .app--accessibility .sp-cta { padding: 1rem; }
  .app--accessibility .sp-cta__inner { grid-template-columns: 1fr; gap: 1rem; }
  .app--accessibility .sp-cta__avatar { min-height: 16rem; }
}

@media (prefers-reduced-motion: reduce) {
  .a11y-hero-audit__window, .a11y-audit-card, .a11y-hero-audit__badge { transform: none; }
}

/* ================================================================
   BIAS & FAIRNESS — comparison and accountability narrative
   ================================================================ */
.app--bias-fairness .sp-hero { min-height: min(47rem, calc(100vh - 2rem)); background: radial-gradient(circle at 78% 24%, color-mix(in srgb, var(--ai-soft) 42%, transparent), transparent 32%), linear-gradient(145deg, var(--bg-elevated), color-mix(in srgb, var(--ai-wash) 72%, var(--bg))); }
.app--bias-fairness .sp-hero__layout { grid-template-columns: minmax(0,.88fr) minmax(27rem,1.12fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.app--bias-fairness .sp-hero .display { max-width:10ch; }
.bias-hero { position:relative; min-height:30rem; padding:4rem 1.5rem 2rem; }
.bias-hero::before { content:""; position:absolute; inset:1rem 2rem; border:1px solid color-mix(in srgb,var(--ai-base) 22%,transparent); border-radius:50%; transform:rotate(9deg); }
.bias-hero__summary { position:absolute; top:0; left:1rem; z-index:2; width:10rem; padding:1rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--bg-elevated); box-shadow:var(--shadow-2); transform:rotate(-4deg); }
.bias-hero__summary span,.bias-hero__summary i { display:block; color:var(--fg-muted); font:700 var(--fs-micro)/1.3 var(--font-body); font-style:normal; }
.bias-hero__summary strong { display:block; margin:.45rem 0; color:var(--fg); font:900 2rem/1 var(--font-display); }
.bias-hero__split { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; padding:1rem; border:1px solid color-mix(in srgb,var(--ai-base) 25%,var(--border)); border-radius:var(--radius-xl); background:var(--bg-elevated); box-shadow:var(--shadow-3); }
.bias-hero__split article { min-height:15rem; padding:1.25rem; border-radius:var(--radius-lg); background:var(--ai-wash); }
.bias-hero__split article:last-child { background:color-mix(in srgb,var(--ai-tint) 62%,var(--bg-elevated)); }
.bias-hero__split span,.bias-hero__split small { display:block; color:var(--fg-muted); font:700 var(--fs-micro)/1.3 var(--font-body); }
.bias-hero__split strong { display:block; margin:2.4rem 0 1rem; color:var(--fg); font:900 3.2rem/1 var(--font-display); }
.bias-hero__split article > div { height:.5rem; margin-bottom:.8rem; overflow:hidden; border-radius:1rem; background:color-mix(in srgb,var(--ai-base) 12%,var(--bg)); }
.bias-hero__split article > div i { display:block; height:100%; border-radius:inherit; background:var(--ai-base); }
.bias-hero__split article:last-child > div i { background:var(--ai-deep); }
.bias-hero__question { position:absolute; right:0; bottom:.8rem; z-index:2; display:grid; grid-template-columns:2rem 1fr; gap:.75rem; align-items:center; width:min(19rem,72%); padding:.9rem; border-radius:var(--radius-lg); background:var(--surface-inverse-bg); color:var(--surface-inverse-fg); box-shadow:var(--shadow-2); transform:rotate(2deg); }
.bias-hero__question span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--ai-base); color:#fff; font-weight:900; }
.bias-hero__question p { margin:0; color:var(--surface-inverse-fg-strong); font:700 var(--fs-micro)/1.4 var(--font-body); }
.bias-hero__badge { position:absolute; top:1rem; right:0; padding:.55rem .7rem; border-radius:var(--radius-sm); background:var(--ai-ink); color:var(--surface-inverse-fg); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.12em; transform:rotate(4deg); }
.bias-opening { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:var(--space-10); }
.bias-opening__copy .sp-intro { margin-top:1rem; }
.bias-opening__media { position:relative; min-height:clamp(31rem,42vw,37rem); }
.bias-opening__photo { position:absolute; inset:0 3.2rem 4.25rem 0; margin:0; overflow:hidden; border-radius:var(--radius-xl); background:var(--bg-pattern); box-shadow:var(--shadow-2); }
.bias-opening__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(11,11,11,.28)); pointer-events:none; }
.bias-opening__photo img { width:100%; height:100%; object-fit:cover; object-position:center 48%; display:block; }
.bias-opening__decision { position:absolute; right:0; bottom:0; width:min(19rem,82%); padding:1.25rem; border:1px solid color-mix(in srgb,var(--ai-base) 20%,var(--border)); border-radius:var(--radius-xl); background:color-mix(in srgb,var(--bg-elevated) 94%,transparent); box-shadow:var(--shadow-2); backdrop-filter:blur(16px); }
.bias-opening__decision > span { color:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.12em; }
.bias-opening__decision > div { display:grid; grid-template-columns:1fr auto; gap:.35rem 1rem; margin-top:.75rem; padding:1rem; border-radius:var(--radius-md); background:var(--ai-wash); }
.bias-opening__decision > div:nth-child(3) { background:var(--ai-tint); }
.bias-opening__decision small { color:var(--fg-muted); font:700 var(--fs-micro)/1 var(--font-body); }
.bias-opening__decision b { color:var(--fg); font:700 var(--fs-body-sm)/1.2 var(--font-body); }
.bias-opening__decision i { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--ai-deep); font:900 1.15rem/1 var(--font-display); font-style:normal; }
.bias-opening__decision strong { display:block; margin-top:1rem; color:var(--fg-muted); font:700 var(--fs-micro)/1.4 var(--font-body); text-align:center; }
.bias-story { margin-top:var(--space-10); }
.bias-definition { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-elevated); }
.bias-definition > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr); gap:clamp(2rem,6vw,5rem); align-items:end; margin-top:1rem; }
.bias-definition h2 { max-width:16ch; margin:0; }
.bias-definition p,.bias-lenses header p,.bias-comparison__copy p,.bias-process__intro p,.bias-ledger__copy p { margin:0; color:var(--fg-muted); line-height:1.7; text-wrap:pretty; }
.bias-lenses { margin-top:var(--space-11); }
.bias-lenses header { max-width:45rem; margin-bottom:2rem; }
.bias-lenses header h2 { max-width:14ch; margin:.75rem 0; }
.bias-lenses__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.bias-lenses__grid article { position:relative; min-height:14rem; padding:1.5rem; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-elevated); }
.bias-lenses__grid article:nth-child(2),.bias-lenses__grid article:nth-child(3) { transform:translateY(1.5rem); }
.bias-lenses__grid small { color:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.bias-lenses__grid h3 { max-width:18ch; margin:3rem 0 .65rem; color:var(--fg); font:800 1.3rem/1.05 var(--font-display); }
.bias-lenses__grid p { position:relative; max-width:33rem; margin:0; color:var(--fg-muted); line-height:1.6; }
.bias-lenses__grid article > i { position:absolute; right:-2rem; top:-2rem; width:8rem; height:8rem; border:1.5rem solid color-mix(in srgb,var(--ai-base) 8%,transparent); border-radius:50%; }
.bias-photo-story { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto auto; gap:clamp(1rem,2.5vw,1.75rem); align-items:stretch; margin-top:var(--space-11); }
.bias-photo-story figure { position:relative; margin:0; overflow:hidden; border-radius:var(--radius-xl); background:var(--bg-pattern); box-shadow:var(--shadow-1); }
.bias-photo-story figure::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.22); border-radius:inherit; pointer-events:none; }
.bias-photo-story img { width:100%; height:100%; object-fit:cover; display:block; }
.bias-photo-story__poster { grid-column:1 / span 5; grid-row:1 / span 2; min-height:44rem; }
.bias-photo-story__poster img { object-fit:contain; object-position:center top; }
.bias-photo-story__poster figcaption { position:absolute; left:.8rem; right:.8rem; bottom:.8rem; z-index:1; padding:.75rem .8rem; border-radius:var(--radius-md); background:rgba(14,13,10,.8); color:var(--surface-inverse-fg); font:600 var(--fs-micro)/1.45 var(--font-body); backdrop-filter:blur(10px); }
.bias-photo-story__copy { grid-column:6 / -1; align-self:end; padding:clamp(1rem,2vw,1.75rem) clamp(.25rem,2vw,1.5rem); }
.bias-photo-story__copy h2 { max-width:14ch; margin:.75rem 0 1rem; }
.bias-photo-story__copy p { max-width:40rem; margin:0; color:var(--fg-muted); line-height:1.7; text-wrap:pretty; }
.bias-photo-story__consequence { grid-column:6 / -1; min-height:20rem; }
.bias-photo-story__consequence img { object-position:center 48%; }
.bias-comparison { display:grid; grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3.5rem); border-radius:var(--radius-xl); background:var(--surface-inverse-bg); color:var(--surface-inverse-fg); }
.bias-comparison__copy h2 { max-width:12ch; margin:.75rem 0 1rem; color:var(--surface-inverse-fg-strong); }
.bias-comparison__copy p { color:rgba(245,239,222,.65); }
.bias-comparison__chart { padding:1.25rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); background:rgba(255,255,255,.05); }
.bias-bar { display:grid; grid-template-columns:4.5rem 1fr 3rem; gap:.65rem; align-items:center; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.1); }
.bias-bar > span { color:rgba(255,255,255,.7); font:700 var(--fs-micro)/1 var(--font-body); }
.bias-bar > div { height:.65rem; overflow:hidden; border-radius:1rem; background:rgba(255,255,255,.08); }
.bias-bar > div i { display:block; height:100%; border-radius:inherit; background:var(--ai-glow); }
.bias-bar--3 > div i { background:var(--ai-base); }
.bias-bar strong { color:#fff; font:800 var(--fs-body-sm)/1 var(--font-display); }
.bias-bar small { grid-column:2 / -1; color:rgba(255,255,255,.42); font:600 var(--fs-micro)/1 var(--font-body); }
.bias-comparison__chart > p { display:flex; justify-content:space-between; margin:1rem 0 0; color:var(--ai-glow); font:700 var(--fs-micro)/1 var(--font-body); }
.bias-process { display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); }
.bias-process__intro { position:sticky; top:2rem; align-self:start; }
.bias-process__intro h2 { max-width:12ch; margin:.75rem 0 1rem; }
.bias-process ol { list-style:none; margin:0; padding:0; }
.bias-process li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.3rem 0; border-top:1px solid var(--border); }
.bias-process li:last-child { border-bottom:1px solid var(--border); }
.bias-process li > span { color:var(--ai-base); font:800 var(--fs-body-sm)/1 var(--font-display); }
.bias-process h3 { margin:0 0 .4rem; color:var(--fg); font:700 1.1rem/1.2 var(--font-display); }
.bias-process li p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.6; }
.bias-ledger { display:grid; grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3rem); border:1px solid color-mix(in srgb,var(--ai-base) 24%,var(--border)); border-radius:var(--radius-xl); background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated)); }
.bias-ledger__copy h2 { max-width:15ch; margin:.75rem 0 1rem; }
.bias-ledger__card { padding:1rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--bg-elevated); box-shadow:var(--shadow-2); }
.bias-ledger__card header { display:flex; justify-content:space-between; gap:1rem; padding:.5rem .5rem 1rem; border-bottom:1px solid var(--border); }
.bias-ledger__card header span { color:var(--fg); font:800 var(--fs-body-sm)/1 var(--font-display); }
.bias-ledger__card header b { color:var(--ai-deep); font:700 var(--fs-micro)/1 var(--font-body); }
.bias-ledger__card > div { display:grid; grid-template-columns:6rem 1fr; gap:1rem; padding:.8rem .5rem; border-bottom:1px solid var(--border); }
.bias-ledger__card small { color:var(--fg-muted); font:700 var(--fs-micro)/1.3 var(--font-body); text-transform:uppercase; letter-spacing:.06em; }
.bias-ledger__card strong { color:var(--fg); font:650 var(--fs-micro)/1.4 var(--font-body); }
.bias-ledger__card footer { padding:.9rem .5rem .25rem; color:var(--fg-muted); font:650 var(--fs-micro)/1 var(--font-body); }
.bias-ledger__card footer i { display:inline-block; width:.5rem; height:.5rem; margin-right:.5rem; border-radius:50%; background:var(--play-base); }
.bias-deliverables { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3rem); border-radius:var(--radius-xl); background:var(--ai-ink); color:var(--surface-inverse-fg); }
.bias-deliverables .eyebrow { color:var(--ai-soft); }
.bias-deliverables h2 { max-width:14ch; margin:.75rem 0 0; color:#fff; font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display); }
.bias-deliverables ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; list-style:none; margin:0; padding:0; }
.bias-deliverables li { padding:.75rem .85rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-md); background:rgba(255,255,255,.06); color:var(--surface-inverse-fg); font:650 var(--fs-body-sm)/1.35 var(--font-body); }
.app--bias-fairness .sp-approach__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.app--bias-fairness .sp-cta { padding:clamp(1.25rem,2.4vw,2rem); }
.app--bias-fairness .sp-cta__inner { display:grid; grid-template-columns:clamp(10rem,18vw,15rem) minmax(0,1fr); gap:clamp(1.5rem,3.5vw,3rem); align-items:stretch; }
.app--bias-fairness .sp-cta__avatar { width:100%; height:100%; min-height:clamp(12rem,19vw,16.5rem); border:0; border-radius:var(--radius-lg); box-shadow:var(--shadow-2); }
@media (max-width:900px) {
  .app--bias-fairness .sp-hero__layout,.bias-opening,.bias-definition > div,.bias-comparison,.bias-process,.bias-ledger,.bias-deliverables { grid-template-columns:1fr; }
  .bias-hero { min-height:29rem; }
  .bias-opening__media { min-height:34rem; }
  .bias-photo-story__poster { grid-column:1 / span 5; min-height:36rem; }
  .bias-photo-story__copy,.bias-photo-story__consequence { grid-column:6 / -1; }
  .bias-process__intro { position:static; }
  .app--bias-fairness .sp-cta__inner { grid-template-columns:clamp(8rem,22vw,11rem) minmax(0,1fr); }
}
@media (max-width:620px) {
  .app--bias-fairness .sp-hero { min-height:auto; padding:1.5rem; }
  .bias-hero { min-height:26rem; padding-inline:0; }
  .bias-hero__split { gap:.6rem; padding:.65rem; }
  .bias-hero__split article { min-height:13rem; padding:.85rem; }
  .bias-hero__split strong { font-size:2.4rem; }
  .bias-hero__summary { left:0; }
  .bias-hero__badge { right:0; }
  .bias-opening,.bias-story { margin-top:var(--space-9); }
  .bias-opening__media { display:grid; min-height:0; gap:1rem; }
  .bias-opening__photo { position:relative; inset:auto; min-height:29rem; }
  .bias-opening__decision { position:relative; right:auto; bottom:auto; width:auto; }
  .bias-definition,.bias-comparison,.bias-ledger,.bias-deliverables { padding:1.25rem; }
  .bias-lenses__grid,.bias-deliverables ul,.app--bias-fairness .sp-approach__list { grid-template-columns:1fr; }
  .bias-lenses__grid article:nth-child(n) { transform:none; }
  .bias-photo-story { grid-template-columns:1fr; grid-template-rows:auto; }
  .bias-photo-story__poster,.bias-photo-story__copy,.bias-photo-story__consequence { grid-column:auto; grid-row:auto; }
  .bias-photo-story__poster { min-height:35rem; }
  .bias-photo-story__consequence { min-height:15rem; }
  .bias-photo-story__copy { padding:1rem .25rem; }
  .bias-bar { grid-template-columns:4rem 1fr 2.5rem; }
  .bias-ledger__card > div { grid-template-columns:1fr; gap:.35rem; }
  .app--bias-fairness .sp-cta { padding:1rem; }
  .app--bias-fairness .sp-cta__inner { grid-template-columns:1fr; gap:1rem; }
  .app--bias-fairness .sp-cta__avatar { min-height:16rem; }
}
@media (prefers-reduced-motion:reduce) { .bias-hero::before,.bias-hero__summary,.bias-hero__question,.bias-hero__badge { transform:none; } }

/* ================================================================
   PRIVACY BY DESIGN — visible data flows and human agency
   ================================================================ */
.app--privacy-by-design .sp-hero { min-height:auto; padding-bottom:2.75rem; background:linear-gradient(135deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 70%,var(--bg))); }
.app--privacy-by-design .sp-hero__layout { grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.app--privacy-by-design .sp-hero .display { max-width:9ch; }
.privacy-hero { position:relative; min-height:31rem; }
.privacy-hero__image { position:absolute; inset:1rem 2.5rem 2.5rem 0; margin:0; overflow:hidden; border-radius:var(--radius-xl); background:var(--surface-inverse-bg); box-shadow:var(--shadow-3); }
.privacy-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,13,10,.15),transparent 55%),linear-gradient(0deg,rgba(14,13,10,.3),transparent 48%); pointer-events:none; }
.privacy-hero__image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.privacy-hero__flow { position:absolute; right:0; bottom:0; z-index:2; width:min(18rem,72%); padding:1rem; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); background:rgba(14,13,10,.9); color:var(--surface-inverse-fg); box-shadow:var(--shadow-2); backdrop-filter:blur(14px); }
.privacy-hero__flow > span { display:block; margin-bottom:.65rem; color:var(--ai-soft); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.12em; }
.privacy-hero__flow > div { display:grid; grid-template-columns:.55rem 1fr auto; gap:.65rem; align-items:center; padding:.65rem 0; border-top:1px solid rgba(255,255,255,.12); font:650 var(--fs-micro)/1 var(--font-body); }
.privacy-hero__flow i { width:.48rem; height:.48rem; border-radius:50%; background:var(--play-soft); }
.privacy-hero__flow b { color:rgba(245,239,222,.62); font-size:var(--fs-micro); }
.privacy-hero__badge { position:absolute; top:0; right:1rem; z-index:2; padding:.6rem .8rem; border-radius:var(--radius-sm); background:var(--ai-base); color:#fff; font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.1em; transform:rotate(2deg); }

.privacy-opening { display:grid; grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin-top:var(--space-10); }
.privacy-opening__copy .sp-intro { margin-top:1rem; }
.privacy-opening__image { position:relative; min-height:clamp(24rem,36vw,34rem); margin:0; overflow:hidden; border-radius:var(--radius-xl); background:var(--surface-inverse-bg); box-shadow:var(--shadow-2); }
.privacy-opening__image img { width:100%; height:100%; object-fit:cover; display:block; filter:contrast(1.04); }
.privacy-opening__image figcaption { position:absolute; left:1rem; right:1rem; bottom:1rem; padding:.8rem 1rem; border-radius:var(--radius-md); background:rgba(14,13,10,.82); color:var(--surface-inverse-fg); font:600 var(--fs-micro)/1.45 var(--font-body); backdrop-filter:blur(12px); }
.privacy-story { margin-top:var(--space-10); }
.privacy-definition { padding:clamp(1.5rem,4vw,3rem); border:1px solid color-mix(in srgb,var(--ai-base) 20%,var(--border)); border-radius:var(--radius-xl); background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated)); }
.privacy-definition > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr); gap:clamp(2rem,6vw,5rem); align-items:end; margin-top:1rem; }
.privacy-definition h2 { max-width:15ch; margin:0; }
.privacy-definition p,.privacy-principles header p,.privacy-evidence p,.privacy-process__intro p { margin:0; color:var(--fg-muted); line-height:1.7; text-wrap:pretty; }
.privacy-principles { margin-top:var(--space-11); }
.privacy-principles header { max-width:46rem; margin-bottom:2rem; }
.privacy-principles header h2 { max-width:14ch; margin:.75rem 0; }
.privacy-principles ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.privacy-principles li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; min-height:13rem; padding:1.5rem; border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-elevated); }
.privacy-principles li:nth-child(2),.privacy-principles li:nth-child(3) { background:var(--ai-wash); }
.privacy-principles li > span { color:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-display); }
.privacy-principles h3 { margin:2.5rem 0 .55rem; color:var(--fg); font:800 1.25rem/1.1 var(--font-display); }
.privacy-principles li p { margin:0; color:var(--fg-muted); line-height:1.6; }
.privacy-evidence { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(1rem,2.5vw,1.75rem); margin-top:var(--space-11); }
.privacy-evidence figure { margin:0; overflow:hidden; border-radius:var(--radius-xl); background:var(--surface-inverse-bg); box-shadow:var(--shadow-1); }
.privacy-evidence figure img { width:100%; height:100%; object-fit:cover; display:block; }
.privacy-evidence__fingerprint { grid-column:1 / span 7; min-height:31rem; }
.privacy-evidence__copy { grid-column:8 / -1; align-self:center; padding:clamp(1rem,3vw,2rem); }
.privacy-evidence__copy h2 { max-width:12ch; margin:.75rem 0 1rem; }
.privacy-evidence__login { grid-column:6 / -1; min-height:25rem; }
.privacy-evidence__login img { object-position:center; }
.privacy-evidence__interface { grid-column:1 / span 5; grid-row:2; align-self:center; padding:clamp(1rem,3vw,2rem); }
.privacy-evidence__interface h2 { max-width:14ch; margin:.75rem 0 1rem; color:var(--fg); font:800 clamp(1.75rem,3vw,2.7rem)/1.02 var(--font-display); }
.privacy-process { display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); }
.privacy-process__intro { position:sticky; top:2rem; align-self:start; }
.privacy-process__intro h2 { max-width:12ch; margin:.75rem 0 1rem; }
.privacy-process ol { list-style:none; margin:0; padding:0; }
.privacy-process li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.3rem 0; border-top:1px solid var(--border); }
.privacy-process li:last-child { border-bottom:1px solid var(--border); }
.privacy-process li > span { color:var(--ai-base); font:800 var(--fs-body-sm)/1 var(--font-display); }
.privacy-process h3 { margin:0 0 .4rem; color:var(--fg); font:700 1.1rem/1.2 var(--font-display); }
.privacy-process li p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.6; }
.privacy-deliverables { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3rem); border-radius:var(--radius-xl); background:var(--surface-inverse-bg); color:var(--surface-inverse-fg); }
.privacy-deliverables .eyebrow { color:var(--ai-soft); }
.privacy-deliverables h2 { max-width:13ch; margin:.75rem 0 0; color:var(--surface-inverse-fg-strong); font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display); }
.privacy-deliverables ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; list-style:none; margin:0; padding:0; }
.privacy-deliverables li { padding:.75rem .85rem; border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-md); background:rgba(255,255,255,.06); color:var(--surface-inverse-fg); font:650 var(--fs-body-sm)/1.35 var(--font-body); }
.app--privacy-by-design .sp-approach__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.app--privacy-by-design .sp-cta { padding:clamp(1.25rem,2.4vw,2rem); }
.app--privacy-by-design .sp-cta__inner { display:grid; grid-template-columns:clamp(10rem,18vw,15rem) minmax(0,1fr); gap:clamp(1.5rem,3.5vw,3rem); align-items:stretch; }
.app--privacy-by-design .sp-cta__avatar { width:100%; height:100%; min-height:clamp(12rem,19vw,16.5rem); border:0; border-radius:var(--radius-lg); box-shadow:var(--shadow-2); }
@media (max-width:900px) {
  .app--privacy-by-design .sp-hero__layout,.privacy-opening,.privacy-definition > div,.privacy-process,.privacy-deliverables { grid-template-columns:1fr; }
  .privacy-hero { min-height:30rem; }
  .privacy-evidence__fingerprint { grid-column:1 / span 7; min-height:26rem; }
  .privacy-evidence__copy { grid-column:8 / -1; }
  .privacy-evidence__interface { grid-column:1 / span 5; }
  .privacy-evidence__login { grid-column:6 / -1; }
  .privacy-process__intro { position:static; }
  .app--privacy-by-design .sp-cta__inner { grid-template-columns:clamp(8rem,22vw,11rem) minmax(0,1fr); }
}
@media (max-width:620px) {
  .app--privacy-by-design .sp-hero { min-height:auto; padding:1.5rem; }
  .privacy-hero { min-height:27rem; }
  .privacy-hero__image { inset:1rem 0 3.5rem; }
  .privacy-hero__flow { right:.5rem; width:82%; }
  .privacy-hero__badge { right:0; }
  .privacy-opening,.privacy-story { margin-top:var(--space-9); }
  .privacy-opening__image { min-height:22rem; }
  .privacy-definition,.privacy-deliverables { padding:1.25rem; }
  .privacy-principles ol,.privacy-deliverables ul,.app--privacy-by-design .sp-approach__list { grid-template-columns:1fr; }
  .privacy-principles li { min-height:11rem; }
  .privacy-evidence { grid-template-columns:1fr; }
  .privacy-evidence__fingerprint,.privacy-evidence__copy,.privacy-evidence__interface,.privacy-evidence__login { grid-column:auto; grid-row:auto; }
  .privacy-evidence__fingerprint { min-height:22rem; }
  .privacy-evidence__login { min-height:19rem; }
  .privacy-evidence__copy,.privacy-evidence__interface { padding:1rem .25rem; }
  .app--privacy-by-design .sp-cta { padding:1rem; }
  .app--privacy-by-design .sp-cta__inner { grid-template-columns:1fr; gap:1rem; }
  .app--privacy-by-design .sp-cta__avatar { min-height:16rem; }
}
@media (prefers-reduced-motion:reduce) { .privacy-hero__badge { transform:none; } }

/* Transparency & explanation — progressive disclosure narrative */
.app--transparency-explanation .sp-hero { min-height:auto; padding-bottom:2.75rem; background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 72%,var(--bg))); }
.app--transparency-explanation .sp-hero__layout { grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.app--transparency-explanation .sp-hero .display { max-width:10ch; }
.explain-hero { position:relative; min-height:31rem; }
.explain-hero figure { position:absolute; inset:1rem 2.5rem 2.5rem 0; margin:0; overflow:hidden; border-radius:var(--radius-xl); box-shadow:var(--shadow-3); }
.explain-hero figure img { width:100%; height:100%; object-fit:cover; display:block; }
.explain-hero__card { position:absolute; right:0; bottom:0; z-index:2; width:min(19rem,75%); padding:1.1rem; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); background:rgba(14,13,10,.9); color:var(--surface-inverse-fg); box-shadow:var(--shadow-2); backdrop-filter:blur(14px); }
.explain-hero__card > span,.explain-hero__card small { display:block; color:var(--ai-soft); font:800 var(--fs-micro)/1.3 var(--font-body); letter-spacing:.1em; }
.explain-hero__card strong { display:block; margin:.7rem 0; color:#fff; font:750 var(--fs-body-sm)/1.25 var(--font-display); }
.explain-hero__card div { display:flex; gap:.35rem; margin-bottom:.8rem; }.explain-hero__card i { width:2.8rem; height:.4rem; border-radius:1rem; background:var(--ai-soft); }.explain-hero__card i:last-child { opacity:.35; }
.explain-hero__badge { position:absolute; top:0; right:1rem; z-index:2; padding:.6rem .8rem; border-radius:var(--radius-sm); background:var(--ai-base); color:#fff; font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.1em; transform:rotate(2deg); }
.explain-opening { display:grid; grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin-top:var(--space-10); }
.explain-opening .sp-intro { margin-top:1rem; }
.explain-opening__anatomy { padding:1.25rem; border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-elevated); box-shadow:var(--shadow-1); }
.explain-opening__anatomy > span { display:block; margin-bottom:.75rem; color:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.1em; }
.explain-opening__anatomy > div { display:grid; grid-template-columns:2rem 1fr; gap:.75rem; padding:.8rem 0; border-top:1px solid var(--border); color:var(--fg); font:700 var(--fs-body-sm)/1.2 var(--font-body); }.explain-opening__anatomy b { color:var(--ai-base); font-size:var(--fs-micro); }
.explain-story { margin-top:var(--space-10); }
.explain-definition { padding:clamp(1.5rem,4vw,3rem); border-radius:var(--radius-xl); background:var(--surface-inverse-bg); color:var(--surface-inverse-fg); }
.explain-definition .eyebrow,.explain-deliverables .eyebrow { color:var(--ai-soft); }
.explain-definition > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr); gap:clamp(2rem,6vw,5rem); align-items:end; margin-top:1rem; }.explain-definition h2 { max-width:15ch; margin:0; color:#fff; }.explain-definition p { margin:0; color:rgba(245,239,222,.7); line-height:1.7; }
.explain-layers { margin-top:var(--space-11); }.explain-layers header { max-width:45rem; margin-bottom:2rem; }.explain-layers header h2 { max-width:14ch; margin:.75rem 0; }.explain-layers header p { margin:0; color:var(--fg-muted); }
.explain-layers ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }.explain-layers li { min-height:16rem; padding:1.35rem; border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--bg-elevated); }.explain-layers li:nth-child(even) { transform:translateY(1.5rem); background:var(--ai-wash); }.explain-layers li > span { color:var(--ai-base); font:800 var(--fs-micro)/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase; }.explain-layers h3 { margin:3rem 0 .6rem; color:var(--fg); font:800 1.15rem/1.1 var(--font-display); }.explain-layers li p { margin:0; color:var(--fg-muted); line-height:1.55; }
.explain-uncertainty { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr); gap:0; margin-top:var(--space-11); overflow:hidden; border-radius:var(--radius-xl); background:var(--surface-inverse-bg); }.explain-uncertainty figure { min-height:34rem; margin:0; }.explain-uncertainty figure img { width:100%; height:100%; object-fit:cover; display:block; }.explain-uncertainty__copy { align-self:center; padding:clamp(1.5rem,4vw,3.5rem); }.explain-uncertainty__copy .eyebrow { color:var(--ai-soft); }.explain-uncertainty__copy h2 { max-width:11ch; margin:.75rem 0 1rem; color:#fff; }.explain-uncertainty__copy > p { color:rgba(245,239,222,.68); line-height:1.7; }.explain-uncertainty ul { list-style:none; margin:2rem 0 0; padding:0; }.explain-uncertainty li { display:grid; grid-template-columns:.6rem 4rem 1fr; gap:.7rem; align-items:center; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.12); color:var(--surface-inverse-fg); font-size:var(--fs-micro); }.explain-uncertainty li i { width:.55rem; height:.55rem; border-radius:50%; background:var(--play-soft); }.explain-uncertainty li i.explain-confidence--2 { background:var(--award-gold); }.explain-uncertainty li i.explain-confidence--3 { background:var(--ai-base); }.explain-uncertainty li span { color:rgba(245,239,222,.58); }
.explain-counterfactual { display:grid; grid-template-columns:minmax(0,.9fr) minmax(19rem,1.1fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3rem); border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border)); border-radius:var(--radius-xl); background:var(--ai-wash); }.explain-counterfactual h2 { max-width:13ch; margin:.75rem 0 1rem; color:var(--fg); font:800 clamp(1.8rem,3.2vw,2.8rem)/1 var(--font-display); }.explain-counterfactual p { margin:0; color:var(--fg-muted); line-height:1.7; }.explain-before-after { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding:1.4rem; border-radius:var(--radius-lg); background:var(--bg-elevated); box-shadow:var(--shadow-2); }.explain-before-after > span { color:var(--ai-base); font:900 1.5rem/1 var(--font-display); }.explain-before-after p { display:grid; gap:.5rem; margin:0; }.explain-before-after s,.explain-before-after b { padding:.7rem; border-radius:var(--radius-sm); background:var(--bg-pattern); font-size:var(--fs-micro); }.explain-before-after b { background:var(--ai-tint); }.explain-before-after strong { grid-column:1 / -1; padding:.8rem; border-radius:var(--radius-sm); background:var(--ai-ink); color:#fff; text-align:center; font-size:var(--fs-micro); }
.explain-process { display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); }.explain-process > div { position:sticky; top:2rem; align-self:start; }.explain-process h2 { max-width:12ch; margin:.75rem 0; }.explain-process ol { list-style:none; margin:0; padding:0; }.explain-process li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.3rem 0; border-top:1px solid var(--border); }.explain-process li:last-child { border-bottom:1px solid var(--border); }.explain-process li > span { color:var(--ai-base); font:800 var(--fs-body-sm)/1 var(--font-display); }.explain-process h3 { margin:0 0 .4rem; color:var(--fg); font:700 1.1rem/1.2 var(--font-display); }.explain-process li p { margin:0; color:var(--fg-muted); font-size:var(--fs-body-sm); line-height:1.6; }
.explain-deliverables { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,5rem); margin-top:var(--space-11); padding:clamp(1.5rem,4vw,3rem); border-radius:var(--radius-xl); background:var(--ai-ink); color:var(--surface-inverse-fg); }.explain-deliverables h2 { max-width:14ch; margin:.75rem 0 0; color:#fff; font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display); }.explain-deliverables ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; list-style:none; margin:0; padding:0; }.explain-deliverables li { padding:.75rem .85rem; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-md); background:rgba(255,255,255,.06); color:var(--surface-inverse-fg); font:650 var(--fs-body-sm)/1.35 var(--font-body); }
.app--transparency-explanation .sp-approach__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:900px){.app--transparency-explanation .sp-hero__layout,.explain-opening,.explain-definition>div,.explain-counterfactual,.explain-process,.explain-deliverables{grid-template-columns:1fr}.explain-layers ol{grid-template-columns:repeat(2,minmax(0,1fr))}.explain-uncertainty{grid-template-columns:1fr}.explain-uncertainty figure{min-height:27rem}.explain-process>div{position:static}}
@media(max-width:620px){.app--transparency-explanation .sp-hero{padding:1.5rem}.explain-hero{min-height:27rem}.explain-hero figure{inset:1rem 0 3.5rem}.explain-hero__card{right:.5rem;width:82%}.explain-opening,.explain-story{margin-top:var(--space-9)}.explain-layers ol,.explain-deliverables ul,.app--transparency-explanation .sp-approach__list{grid-template-columns:1fr}.explain-layers li:nth-child(n){transform:none}.explain-uncertainty figure{min-height:22rem}.explain-definition,.explain-counterfactual,.explain-deliverables{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){.explain-hero__badge,.explain-layers li{transform:none}}

/* Rapid validation — experiment lab without photography */
.app--rapid-validation .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(color-mix(in srgb,var(--ai-tint) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ai-tint) 28%,transparent) 1px,transparent 1px),linear-gradient(145deg,var(--bg-elevated),var(--ai-wash));background-size:3rem 3rem,3rem 3rem,auto}.app--rapid-validation .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--rapid-validation .sp-hero .display{max-width:9ch}
.rapid-hero{position:relative;min-height:31rem}.rapid-hero__loop{position:absolute;inset:18% 12%;border:2px dashed color-mix(in srgb,var(--ai-base) 36%,transparent);border-radius:50%}.rapid-hero__loop i{position:absolute;width:.8rem;height:.8rem;border-radius:50%;background:var(--ai-base)}.rapid-hero__loop i:nth-child(1){top:-.4rem;left:50%}.rapid-hero__loop i:nth-child(2){right:-.4rem;top:50%}.rapid-hero__loop i:nth-child(3){bottom:-.4rem;left:50%}.rapid-hero__loop i:nth-child(4){left:-.4rem;top:50%}.rapid-hero__card{position:absolute;z-index:2;width:44%;min-height:8rem;padding:1.1rem;border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);box-shadow:var(--shadow-2);backdrop-filter:blur(12px)}.rapid-hero__card>span{display:block;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.rapid-hero__card strong{display:block;margin:1.8rem 0 0;color:var(--fg);font:800 1rem/1.2 var(--font-display)}.rapid-hero__card--question{left:0;top:1rem;transform:rotate(-2deg)}.rapid-hero__card--prototype{right:0;top:2rem;transform:rotate(2deg)}.rapid-hero__card--signal{left:5%;bottom:1rem;transform:rotate(1deg)}.rapid-hero__card--decision{right:2%;bottom:0;transform:rotate(-2deg);background:var(--ai-ink);color:#fff}.rapid-hero__card--decision strong{color:#fff}.rapid-hero__card--prototype>div{display:grid;gap:.45rem;margin:1.2rem 0}.rapid-hero__card--prototype i{height:.45rem;border-radius:1rem;background:var(--ai-tint)}.rapid-hero__card--prototype i:nth-child(2){width:70%}.rapid-hero__card--prototype i:nth-child(3){width:45%}.rapid-hero__card--prototype b{font-size:var(--fs-micro);color:var(--fg-muted)}.rapid-hero__card--signal strong{margin:1.1rem 0 .25rem;font-size:2rem}.rapid-hero__card--signal small{color:var(--fg-muted);font-size:var(--fs-micro)}.rapid-hero__badge{position:absolute;left:50%;top:46%;z-index:3;transform:translate(-50%,-50%) rotate(-2deg);padding:.7rem .9rem;border-radius:var(--radius-pill);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;white-space:nowrap}
.rapid-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.rapid-opening .sp-intro{margin-top:1rem}.rapid-opening__filter{padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.rapid-opening__filter>span{display:block;margin-bottom:.8rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.rapid-opening__filter p{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;align-items:center;margin:0;padding:.8rem 0;border-top:1px solid var(--border);color:var(--fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.rapid-opening__filter i{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--ai-wash);color:var(--ai-base);font-style:normal;font-weight:800}
.rapid-story{margin-top:var(--space-10)}.rapid-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.rapid-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.rapid-definition h2{max-width:15ch;margin:0}.rapid-definition p,.rapid-questions header p,.rapid-experiment>div>p,.rapid-loop header p,.rapid-evidence>div>p{margin:0;color:var(--fg-muted);line-height:1.7}
.rapid-questions{margin-top:var(--space-11)}.rapid-questions header{max-width:46rem;margin-bottom:2rem}.rapid-questions header h2{max-width:14ch;margin:.75rem 0}.rapid-questions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rapid-questions article{min-height:13rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.rapid-questions article:nth-child(2),.rapid-questions article:nth-child(3){background:var(--ai-wash)}.rapid-questions article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.rapid-questions h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.3rem/1.1 var(--font-display)}.rapid-questions article p{margin:0;color:var(--fg-muted);line-height:1.6}
.rapid-experiment{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.rapid-experiment .eyebrow{color:var(--ai-soft)}.rapid-experiment h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.rapid-experiment>div>p{color:rgba(245,239,222,.68)}.rapid-experiment dl{margin:0;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(255,255,255,.05)}.rapid-experiment dl>div{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:.9rem .5rem;border-bottom:1px solid rgba(255,255,255,.12)}.rapid-experiment dl>div:last-child{border:0}.rapid-experiment dt{color:var(--ai-soft);font:800 var(--fs-micro)/1.3 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.rapid-experiment dd{margin:0;color:#fff;font:650 var(--fs-body-sm)/1.4 var(--font-body)}
.rapid-loop{margin-top:var(--space-11)}.rapid-loop header{max-width:43rem;margin-bottom:2rem}.rapid-loop header h2{max-width:13ch;margin:.75rem 0}.rapid-loop ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.rapid-loop li{position:relative;padding:0 1rem}.rapid-loop time{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body)}.rapid-loop li>i{display:block;height:.5rem;margin:1rem -1rem;background:var(--ai-tint)}.rapid-loop li:first-child>i{border-radius:1rem 0 0 1rem}.rapid-loop li:last-child>i{border-radius:0 1rem 1rem 0;background:var(--ai-base)}.rapid-loop li span{color:var(--fg-muted);font-size:var(--fs-micro)}.rapid-loop h3{margin:.5rem 0;color:var(--fg);font:800 1.1rem/1.1 var(--font-display)}.rapid-loop li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.rapid-evidence{display:grid;grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.rapid-evidence h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3.2vw,2.8rem)/1 var(--font-display)}.rapid-evidence__log{padding:1rem;border-radius:var(--radius-lg);background:var(--ai-wash);box-shadow:var(--shadow-1)}.rapid-evidence__log>span{display:block;padding:.5rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.rapid-evidence__log p{display:grid;grid-template-columns:6rem 1fr;gap:.7rem;margin:0;padding:.9rem .5rem;border-top:1px solid var(--ai-tint)}.rapid-evidence__log b{color:var(--fg-muted);font-size:var(--fs-micro)}.rapid-evidence__log i{height:.5rem;border-radius:1rem;background:var(--ai-tint)}.rapid-evidence__log strong{color:var(--ai-deep);font-size:var(--fs-micro)}
.rapid-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.rapid-deliverables .eyebrow{color:var(--ai-soft)}.rapid-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.rapid-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.rapid-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--rapid-validation .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--rapid-validation .sp-hero__layout,.rapid-opening,.rapid-definition>div,.rapid-experiment,.rapid-evidence,.rapid-deliverables{grid-template-columns:1fr}.rapid-loop ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 0}}
@media(max-width:620px){.app--rapid-validation .sp-hero{padding:1.5rem}.rapid-hero{min-height:32rem}.rapid-hero__card{width:47%;padding:.85rem}.rapid-hero__card strong{font-size:var(--fs-body-sm)}.rapid-hero__badge{font-size:var(--fs-micro)}.rapid-opening,.rapid-story{margin-top:var(--space-9)}.rapid-questions>div,.rapid-loop ol,.rapid-deliverables ul,.app--rapid-validation .sp-approach__list{grid-template-columns:1fr}.rapid-definition,.rapid-experiment,.rapid-evidence,.rapid-deliverables{padding:1.25rem}.rapid-experiment dl>div{grid-template-columns:1fr;gap:.35rem}.rapid-loop li{padding:0}.rapid-loop li>i{margin:1rem 0;border-radius:1rem}}
@media(prefers-reduced-motion:reduce){.rapid-hero__card,.rapid-hero__badge{transform:none}.rapid-hero__badge{left:50%;transform:translate(-50%,-50%)}}

/* Evaluation — quality observatory */
.app--evaluation .sp-hero{min-height:auto;padding-bottom:2.75rem;background:radial-gradient(circle at 78% 24%,color-mix(in srgb,var(--ai-soft) 34%,transparent),transparent 30%),linear-gradient(145deg,var(--bg-elevated),var(--ai-wash))}.app--evaluation .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--evaluation .sp-hero .display{max-width:9ch}
.eval-hero{position:relative;min-height:29rem;padding:1.2rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg);box-shadow:var(--shadow-3)}.eval-hero header,.eval-hero footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem;border-bottom:1px solid rgba(255,255,255,.12);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}.eval-hero header b{padding:.4rem .55rem;border-radius:var(--radius-pill);background:rgba(255,255,255,.08);color:var(--ai-soft)}.eval-hero__score{display:flex;align-items:baseline;gap:.35rem;padding:1.5rem .7rem}.eval-hero__score strong{color:#fff;font:900 4rem/1 var(--font-display)}.eval-hero__score>span{color:rgba(245,239,222,.45);font-size:var(--fs-micro)}.eval-hero__score i{margin-left:auto;padding:.5rem .65rem;border-radius:var(--radius-pill);background:var(--play-deep);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);font-style:normal}.eval-hero__bars{padding:.2rem .7rem 1rem}.eval-hero__bars p{display:grid;grid-template-columns:5rem 1fr 2rem;gap:.7rem;align-items:center;margin:0;padding:.65rem 0;color:rgba(245,239,222,.7);font-size:var(--fs-micro)}.eval-hero__bars p>i{height:.55rem;overflow:hidden;border-radius:1rem;background:rgba(255,255,255,.08)}.eval-hero__bars p>i b{display:block;height:100%;border-radius:inherit;background:var(--ai-soft)}.eval-hero__bars p>strong{color:#fff}.eval-hero footer{border-top:1px solid rgba(255,255,255,.12);border-bottom:0;color:rgba(245,239,222,.55)}.eval-hero footer b{color:var(--ai-soft)}.eval-hero__badge{position:absolute;right:-.5rem;top:3.8rem;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.eval-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.eval-opening .sp-intro{margin-top:1rem}.eval-opening__contract{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.eval-opening__contract>span{display:block;margin-bottom:.7rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.eval-opening__contract p{display:grid;grid-template-columns:5rem 1fr;gap:.7rem;align-items:center;margin:0;padding:.75rem 0;border-top:1px solid var(--border)}.eval-opening__contract b{color:var(--fg-muted);font-size:var(--fs-micro)}.eval-opening__contract i{height:.5rem;border-radius:1rem;background:var(--ai-tint)}.eval-opening__contract strong{color:var(--fg);font-size:var(--fs-micro)}
.eval-story{margin-top:var(--space-10)}.eval-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.eval-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.eval-definition h2{max-width:15ch;margin:0}.eval-definition p,.eval-dimensions header p,.eval-suite>div>p,.eval-rubric>div>p,.eval-monitor header p{margin:0;color:var(--fg-muted);line-height:1.7}
.eval-dimensions{margin-top:var(--space-11)}.eval-dimensions header{max-width:46rem;margin-bottom:2rem}.eval-dimensions header h2{max-width:14ch;margin:.75rem 0}.eval-dimensions>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.eval-dimensions article{min-height:16rem;padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.eval-dimensions article>div strong{color:var(--fg);font:900 2.5rem/1 var(--font-display)}.eval-dimensions article>div span{color:var(--fg-muted);font-size:var(--fs-micro)}.eval-dimensions article>i{display:block;height:.5rem;margin:1rem 0 2.2rem;overflow:hidden;border-radius:1rem;background:var(--ai-wash)}.eval-dimensions article>i b{display:block;height:100%;border-radius:inherit;background:var(--ai-base)}.eval-dimensions h3{margin:0 0 .55rem;color:var(--fg);font:800 1.1rem/1.1 var(--font-display)}.eval-dimensions article p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.eval-suite{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.eval-suite>div{position:sticky;top:2rem;align-self:start}.eval-suite h2{max-width:12ch;margin:.75rem 0 1rem}.eval-suite ol{list-style:none;margin:0;padding:0}.eval-suite li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.eval-suite li:last-child{border-bottom:1px solid var(--border)}.eval-suite li>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-display)}.eval-suite h3{margin:0 0 .4rem;color:var(--fg);font:750 1.1rem/1.2 var(--font-display)}.eval-suite li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.eval-rubric{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.eval-rubric .eyebrow{color:var(--ai-soft)}.eval-rubric h2{max-width:14ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.eval-rubric>div>p{color:rgba(245,239,222,.68)}.eval-rubric__compare{padding:1.2rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(255,255,255,.05)}.eval-rubric__compare>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.eval-rubric__compare p{display:grid;grid-template-columns:1fr auto auto 1fr auto;gap:.6rem;align-items:center;margin:1.5rem 0;padding:1rem;border-radius:var(--radius-md);background:rgba(255,255,255,.06)}.eval-rubric__compare p b{font-size:var(--fs-micro)}.eval-rubric__compare p strong{color:#fff;font:900 1.8rem/1 var(--font-display)}.eval-rubric__compare small{color:var(--ai-soft);font-size:var(--fs-micro)}
.eval-monitor{margin-top:var(--space-11)}.eval-monitor header{max-width:44rem;margin-bottom:2rem}.eval-monitor header h2{max-width:14ch;margin:.75rem 0}.eval-monitor>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end;padding:2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.eval-monitor article{display:grid;grid-template-rows:auto 12rem auto auto;gap:.55rem;text-align:center}.eval-monitor article>span,.eval-monitor small{color:var(--fg-muted);font-size:var(--fs-micro)}.eval-monitor article>div{display:flex;align-items:end;justify-content:center;border-radius:var(--radius-md);background:var(--ai-wash)}.eval-monitor article>div i{display:block;width:48%;border-radius:.5rem .5rem 0 0;background:var(--ai-base)}.eval-monitor article:nth-child(3)>div i{background:var(--ai-deep)}.eval-monitor article>strong{color:var(--fg);font:900 1.3rem/1 var(--font-display)}
.eval-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.eval-process>div{position:sticky;top:2rem;align-self:start}.eval-process h2{max-width:12ch;margin:.75rem 0}.eval-process ol{list-style:none;margin:0;padding:0}.eval-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.eval-process li:last-child{border-bottom:1px solid var(--border)}.eval-process li>span{color:var(--ai-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.eval-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.eval-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.eval-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.eval-deliverables .eyebrow{color:var(--ai-soft)}.eval-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.eval-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.eval-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--evaluation .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--evaluation .sp-hero__layout,.eval-opening,.eval-definition>div,.eval-suite,.eval-rubric,.eval-process,.eval-deliverables{grid-template-columns:1fr}.eval-dimensions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.eval-suite>div,.eval-process>div{position:static}}
@media(max-width:620px){.app--evaluation .sp-hero{padding:1.5rem}.eval-hero{min-height:28rem}.eval-hero__badge{right:0}.eval-opening,.eval-story{margin-top:var(--space-9)}.eval-dimensions>div,.eval-monitor>div,.eval-deliverables ul,.app--evaluation .sp-approach__list{grid-template-columns:1fr}.eval-definition,.eval-rubric,.eval-deliverables{padding:1.25rem}.eval-monitor article{grid-template-rows:auto 7rem auto auto}.eval-rubric__compare p{grid-template-columns:1fr auto}.eval-rubric__compare p i{display:none}}
@media(prefers-reduced-motion:reduce){.eval-hero__badge{transform:none}}

/* Quantitative analysis — patterns, context and decisions */
.app--quantitative-analysis .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),var(--ux-wash))}.app--quantitative-analysis .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--quantitative-analysis .sp-hero .display{max-width:9ch}
.quant-hero{position:relative;min-height:31rem}.quant-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.quant-hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,11,.28),transparent 48%)}.quant-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.quant-hero__signal{position:absolute;right:0;bottom:0;z-index:2;width:min(17rem,72%);padding:1rem;border-radius:var(--radius-lg);background:rgba(14,13,10,.9);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.quant-hero__signal>span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.quant-hero__signal strong{display:block;margin:.8rem 0 .2rem;color:#fff;font:900 2.4rem/1 var(--font-display)}.quant-hero__signal small{color:rgba(245,239,222,.6)}.quant-hero__signal div{display:flex;gap:.35rem;align-items:end;height:3rem;margin-top:1rem}.quant-hero__signal i{flex:1;height:75%;border-radius:.25rem .25rem 0 0;background:var(--ux-soft)}.quant-hero__signal i:nth-child(2){height:58%}.quant-hero__signal i:nth-child(3){height:36%;background:var(--ai-base)}.quant-hero__signal i:nth-child(4){height:43%}.quant-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.quant-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.quant-opening .sp-intro{margin-top:1rem}.quant-opening__question{padding:1.3rem;border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:var(--ux-wash);box-shadow:var(--shadow-1)}.quant-opening__question>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.quant-opening__question strong{display:block;margin:1rem 0 .25rem;color:var(--fg);font:900 2.8rem/1 var(--font-display)}.quant-opening__question p{margin:0;color:var(--fg-muted);font-size:var(--fs-micro)}.quant-opening__question i{display:block;margin:1rem 0;color:var(--ux-base);font-style:normal}.quant-opening__question b{color:var(--fg);font:750 var(--fs-body-sm)/1.3 var(--font-display)}
.quant-story{margin-top:var(--space-10)}.quant-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.quant-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.quant-definition h2{max-width:15ch;margin:0}.quant-definition p,.quant-lenses header p,.quant-context p,.quant-funnel>div>p,.quant-discipline p{margin:0;color:var(--fg-muted);line-height:1.7}
.quant-lenses{margin-top:var(--space-11)}.quant-lenses header{max-width:46rem;margin-bottom:2rem}.quant-lenses header h2{max-width:14ch;margin:.75rem 0}.quant-lenses>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.quant-lenses article{min-height:13rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.quant-lenses article:nth-child(2),.quant-lenses article:nth-child(3){background:var(--ux-wash)}.quant-lenses article>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.quant-lenses h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.quant-lenses article p{margin:0;color:var(--fg-muted);line-height:1.6}
.quant-context{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.quant-context figure{min-height:34rem;margin:0}.quant-context figure img{width:100%;height:100%;object-fit:cover;display:block}.quant-context>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.quant-context .eyebrow{color:var(--ux-soft)}.quant-context h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.quant-context p{color:rgba(245,239,222,.68)}
.quant-funnel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.quant-funnel h2{max-width:12ch;margin:.75rem 0 1rem}.quant-funnel ol{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.quant-funnel li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff}.quant-funnel li:nth-child(2){background:color-mix(in srgb,var(--ux-base) 82%,var(--bg-elevated))}.quant-funnel li:nth-child(3){background:color-mix(in srgb,var(--ux-base) 68%,var(--bg-elevated))}.quant-funnel li:nth-child(4){background:var(--ux-deep)}.quant-funnel li span{font-size:var(--fs-micro)}.quant-funnel li strong{font-size:var(--fs-body-sm)}
.quant-discipline{display:grid;grid-template-columns:minmax(20rem,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.quant-discipline figure{min-height:25rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.quant-discipline figure img{width:100%;height:100%;object-fit:cover;display:block}.quant-discipline h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}
.quant-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.quant-process>div{position:sticky;top:2rem;align-self:start}.quant-process h2{max-width:12ch;margin:.75rem 0}.quant-process ol{list-style:none;margin:0;padding:0}.quant-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.quant-process li:last-child{border-bottom:1px solid var(--border)}.quant-process li>span{color:var(--ux-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.quant-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.quant-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.quant-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ux-ink);color:var(--surface-inverse-fg)}.quant-deliverables .eyebrow{color:var(--ux-soft)}.quant-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.quant-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.quant-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--quantitative-analysis .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--quantitative-analysis .sp-hero__layout,.quant-opening,.quant-definition>div,.quant-context,.quant-funnel,.quant-discipline,.quant-process,.quant-deliverables{grid-template-columns:1fr}.quant-process>div{position:static}.quant-context figure{min-height:28rem}}
@media(max-width:620px){.app--quantitative-analysis .sp-hero{padding:1.5rem}.quant-hero{min-height:27rem}.quant-hero figure{inset:1rem 0 3.5rem}.quant-hero__signal{right:.5rem;width:82%}.quant-opening,.quant-story{margin-top:var(--space-9)}.quant-lenses>div,.quant-deliverables ul,.app--quantitative-analysis .sp-approach__list{grid-template-columns:1fr}.quant-definition,.quant-funnel,.quant-deliverables{padding:1.25rem}.quant-context figure{min-height:22rem}.quant-discipline figure{min-height:20rem}}
@media(prefers-reduced-motion:reduce){.quant-hero__badge{transform:none}}

.usab-hero{position:relative;min-height:31rem}.usab-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.usab-hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,11,.28),transparent 48%)}.usab-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.usab-hero__signal{position:absolute;right:0;bottom:0;z-index:2;width:min(17rem,72%);padding:1rem;border-radius:var(--radius-lg);background:rgba(14,13,10,.9);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.usab-hero__signal>span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.usab-hero__signal strong{display:block;margin:.8rem 0 .2rem;color:#fff;font:900 2.4rem/1 var(--font-display)}.usab-hero__signal small{color:rgba(245,239,222,.6)}.usab-hero__signal div{display:flex;gap:.35rem;align-items:end;height:3rem;margin-top:1rem}.usab-hero__signal i{flex:1;height:45%;border-radius:.25rem .25rem 0 0;background:var(--ux-soft)}.usab-hero__signal i:nth-child(2){height:64%}.usab-hero__signal i:nth-child(3){height:87%;background:var(--ai-base)}.usab-hero__signal i:nth-child(4){height:100%}.usab-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.usab-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.usab-opening .sp-intro{margin-top:1rem}.usab-opening__question{padding:1.3rem;border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:var(--ux-wash);box-shadow:var(--shadow-1)}.usab-opening__question>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.usab-opening__question strong{display:block;margin:1rem 0 .25rem;color:var(--fg);font:900 2.8rem/1 var(--font-display)}.usab-opening__question p{margin:0;color:var(--fg-muted);font-size:var(--fs-micro)}.usab-opening__question i{display:block;margin:1rem 0;color:var(--ux-base);font-style:normal}.usab-opening__question b{color:var(--fg);font:750 var(--fs-body-sm)/1.3 var(--font-display)}
.usab-story{margin-top:var(--space-10)}.usab-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.usab-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.usab-definition h2{max-width:15ch;margin:0}.usab-definition p,.usab-lenses header p,.usab-context p,.usab-funnel>div>p,.usab-discipline p{margin:0;color:var(--fg-muted);line-height:1.7}
.usab-lenses{margin-top:var(--space-11)}.usab-lenses header{max-width:46rem;margin-bottom:2rem}.usab-lenses header h2{max-width:14ch;margin:.75rem 0}.usab-lenses>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.usab-lenses article{min-height:13rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.usab-lenses article:nth-child(2),.usab-lenses article:nth-child(3){background:var(--ux-wash)}.usab-lenses article>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.usab-lenses h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.usab-lenses article p{margin:0;color:var(--fg-muted);line-height:1.6}
.usab-context{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.usab-context figure{min-height:34rem;margin:0}.usab-context figure img{width:100%;height:100%;object-fit:cover;display:block}.usab-context>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.usab-context .eyebrow{color:var(--ux-soft)}.usab-context h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.usab-context p{color:rgba(245,239,222,.68)}
.usab-funnel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.usab-funnel h2{max-width:12ch;margin:.75rem 0 1rem}.usab-funnel ol{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.usab-funnel li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff}.usab-funnel li:nth-child(2){background:color-mix(in srgb,var(--ux-base) 82%,var(--bg-elevated))}.usab-funnel li:nth-child(3){background:color-mix(in srgb,var(--ux-base) 68%,var(--bg-elevated))}.usab-funnel li:nth-child(4){background:var(--ux-deep)}.usab-funnel li span{font-size:var(--fs-micro)}.usab-funnel li strong{font-size:var(--fs-body-sm)}
.usab-discipline{display:grid;grid-template-columns:minmax(20rem,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.usab-discipline figure{min-height:25rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.usab-discipline figure img{width:100%;height:100%;object-fit:cover;display:block}.usab-discipline h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}
.usab-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.usab-process>div{position:sticky;top:2rem;align-self:start}.usab-process h2{max-width:12ch;margin:.75rem 0}.usab-process ol{list-style:none;margin:0;padding:0}.usab-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.usab-process li:last-child{border-bottom:1px solid var(--border)}.usab-process li>span{color:var(--ux-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.usab-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.usab-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.usab-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ux-ink);color:var(--surface-inverse-fg)}.usab-deliverables .eyebrow{color:var(--ux-soft)}.usab-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.usab-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.usab-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--usability-tests .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--usability-tests .sp-hero__layout,.usab-opening,.usab-definition>div,.usab-context,.usab-funnel,.usab-discipline,.usab-process,.usab-deliverables{grid-template-columns:1fr}.usab-process>div{position:static}.usab-context figure{min-height:28rem}}
@media(max-width:620px){.app--usability-tests .sp-hero{padding:1.5rem}.usab-hero{min-height:27rem}.usab-hero figure{inset:1rem 0 3.5rem}.usab-hero__signal{right:.5rem;width:82%}.usab-opening,.usab-story{margin-top:var(--space-9)}.usab-lenses>div,.usab-deliverables ul,.app--usability-tests .sp-approach__list{grid-template-columns:1fr}.usab-definition,.usab-funnel,.usab-deliverables{padding:1.25rem}.usab-context figure{min-height:22rem}.usab-discipline figure{min-height:20rem}}
@media(prefers-reduced-motion:reduce){.usab-hero__badge{transform:none}}
.theme-dark .usab-opening__question{background:var(--bg-elevated);border-color:var(--border)}
.theme-dark .usab-opening__question>span,.theme-dark .usab-opening__question i{color:var(--ux-soft)}
.theme-dark .usab-definition{background:var(--bg-elevated);border-color:var(--border)}
.theme-dark .usab-lenses article:nth-child(2),.theme-dark .usab-lenses article:nth-child(3){background:var(--bg-pattern)}
.theme-dark .usab-lenses article>span{color:var(--ux-soft)}

.qual-hero{position:relative;min-height:31rem}.qual-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.qual-hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,11,.28),transparent 48%)}.qual-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.qual-hero__finding{position:absolute;right:0;bottom:0;z-index:2;width:min(19rem,76%);padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(14,13,10,.92);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.qual-hero__finding>span{color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.qual-hero__finding>strong{display:block;margin:.85rem 0;color:#fff;font:700 var(--fs-body-sm)/1.35 var(--font-display);font-style:italic}.qual-hero__finding p{display:flex;justify-content:space-between;margin:0;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.12);color:var(--surface-inverse-fg);font-size:var(--fs-micro)}.qual-hero__finding p i{padding:.35rem .5rem;border-radius:var(--radius-pill);background:var(--ux-deep);color:#fff;font-style:normal}.qual-hero__finding small{color:rgba(245,239,222,.72);font-size:var(--fs-micro)}.qual-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.qual-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.qual-opening .sp-intro{margin-top:1rem}.qual-opening__question{padding:1.3rem;border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:var(--ux-wash);box-shadow:var(--shadow-1)}.qual-opening__question>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.qual-opening__question strong{display:block;margin:1rem 0 .25rem;color:var(--fg);font:900 2.8rem/1 var(--font-display)}.qual-opening__question p{margin:0;color:var(--fg-muted);font-size:var(--fs-micro)}.qual-opening__question i{display:block;margin:1rem 0;color:var(--ux-base);font-style:normal}.qual-opening__question b{color:var(--fg);font:750 var(--fs-body-sm)/1.3 var(--font-display)}
.qual-story{margin-top:var(--space-10)}.qual-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.qual-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.qual-definition h2{max-width:15ch;margin:0}.qual-definition p,.qual-lenses header p,.qual-context p,.qual-funnel>div>p,.qual-discipline p{margin:0;color:var(--fg-muted);line-height:1.7}
.qual-lenses{margin-top:var(--space-11)}.qual-lenses header{max-width:46rem;margin-bottom:2rem}.qual-lenses header h2{max-width:14ch;margin:.75rem 0}.qual-lenses>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.qual-lenses article{min-height:13rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.qual-lenses article:nth-child(2),.qual-lenses article:nth-child(3){background:var(--ux-wash)}.qual-lenses article>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.qual-lenses h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.qual-lenses article p{margin:0;color:var(--fg-muted);line-height:1.6}
.qual-context{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.qual-context figure{min-height:34rem;margin:0}.qual-context figure img{width:100%;height:100%;object-fit:cover;display:block}.qual-context>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.qual-context .eyebrow{color:var(--ux-soft)}.qual-context h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.qual-context p{color:rgba(245,239,222,.68)}
.qual-funnel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.qual-funnel h2{max-width:12ch;margin:.75rem 0 1rem}.qual-funnel ol{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.qual-funnel li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff}.qual-funnel li:nth-child(2){background:color-mix(in srgb,var(--ux-base) 82%,var(--bg-elevated))}.qual-funnel li:nth-child(3){background:color-mix(in srgb,var(--ux-base) 68%,var(--bg-elevated))}.qual-funnel li:nth-child(4){background:var(--ux-deep)}.qual-funnel li span{font-size:var(--fs-micro)}.qual-funnel li strong{font-size:var(--fs-body-sm)}
.qual-discipline{display:grid;grid-template-columns:minmax(20rem,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.qual-discipline figure{min-height:25rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.qual-discipline figure img{width:100%;height:100%;object-fit:cover;display:block}.qual-discipline h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}
.qual-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.qual-process>div{position:sticky;top:2rem;align-self:start}.qual-process h2{max-width:12ch;margin:.75rem 0}.qual-process ol{list-style:none;margin:0;padding:0}.qual-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.qual-process li:last-child{border-bottom:1px solid var(--border)}.qual-process li>span{color:var(--ux-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.qual-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.qual-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.qual-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ux-ink);color:var(--surface-inverse-fg)}.qual-deliverables .eyebrow{color:var(--ux-soft)}.qual-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.qual-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.qual-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--qualitative-research .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--qualitative-research .sp-hero__layout,.qual-opening,.qual-definition>div,.qual-context,.qual-funnel,.qual-discipline,.qual-process,.qual-deliverables{grid-template-columns:1fr}.qual-process>div{position:static}.qual-context figure{min-height:28rem}}
@media(max-width:620px){.app--qualitative-research .sp-hero{padding:1.5rem}.qual-hero{min-height:27rem}.qual-hero figure{inset:1rem 0 3.5rem}.qual-hero__finding{right:.5rem;width:84%}.qual-opening,.qual-story{margin-top:var(--space-9)}.qual-deliverables ul,.app--qualitative-research .sp-approach__list{grid-template-columns:1fr}.qual-definition,.qual-deliverables{padding:1.25rem}.qual-menu figure{min-height:20rem}.qual-context figure{min-height:22rem}.qual-discipline figure{min-height:20rem}}
@media(prefers-reduced-motion:reduce){.qual-hero__badge{transform:none}}
.theme-dark .qual-opening__question{background:var(--bg-elevated);border-color:var(--border)}
.theme-dark .qual-opening__question>span,.theme-dark .qual-opening__question i{color:var(--ux-soft)}
.theme-dark .qual-definition{background:var(--bg-elevated);border-color:var(--border)}
.theme-dark .qual-lenses article:nth-child(2),.theme-dark .qual-lenses article:nth-child(3){background:var(--bg-pattern)}
.theme-dark .qual-lenses article>span{color:var(--ux-soft)}

.per-hero{position:relative;min-height:31rem;padding:1.75rem;border-radius:var(--radius-xl);background:linear-gradient(150deg,var(--ux-deep),var(--ux-ink));color:var(--surface-inverse-fg);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:1rem}
.per-hero__top{display:flex;justify-content:space-between;align-items:center}
.per-hero__top>span{color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}
.per-hero__top>b{padding:.35rem .6rem;border-radius:var(--radius-pill);background:rgba(255,255,255,.14);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em}
.per-hero__id{display:flex;align-items:center;gap:1rem}
.per-hero__avatar{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--ux-soft);color:var(--ux-ink);font:800 1.1rem/1 var(--font-display)}
.per-hero__id strong{display:block;color:#fff;font:800 1.3rem/1.1 var(--font-display)}
.per-hero__id small{color:rgba(245,239,222,.68)}
.per-hero__quote{margin:0;padding:1rem 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font:italic 650 var(--fs-body-sm)/1.5 var(--font-display)}
.per-hero__traits{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.per-hero__traits div{display:grid;gap:.3rem}
.per-hero__traits b{color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em}
.per-hero__traits span{color:rgba(245,239,222,.75);font-size:var(--fs-body-sm);line-height:1.4}
.per-hero__foot{display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);color:rgba(245,239,222,.55);font-size:var(--fs-micro);letter-spacing:.04em}
.per-hero__badge{position:absolute;top:-.75rem;right:1.25rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg);box-shadow:var(--shadow-2)}
.per-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}
.per-opening .sp-intro{margin-top:1rem}
.per-opening__filter{padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}
.per-opening__filter>span{display:block;margin-bottom:.8rem;color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}
.per-opening__filter p{display:grid;grid-template-columns:1.6rem 1fr;gap:.7rem;align-items:center;margin:0;padding:.75rem 0;border-top:1px solid var(--border);color:var(--fg);font:600 var(--fs-body-sm)/1.35 var(--font-body)}
.per-opening__filter p i{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ux-wash);color:var(--ux-ink);font-style:normal;font:800 var(--fs-micro)/1 var(--font-body)}
.per-opening__filter>strong{display:block;margin-top:.9rem;color:var(--fg-muted);font-size:var(--fs-micro);text-align:right;letter-spacing:.06em}
.per-story{margin-top:var(--space-10)}
.per-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--ux-tint);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}
.per-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}
.per-definition h2{max-width:15ch;margin:0}
.per-definition p{margin:0;color:var(--fg-muted);line-height:1.7}
.per-context{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}
.per-context figure{min-height:28rem;margin:0}
.per-context figure img{width:100%;height:100%;object-fit:cover;display:block}
.per-context>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}
.per-context .eyebrow{color:var(--ux-soft)}
.per-context h2{max-width:14ch;margin:.75rem 0 1rem;color:#fff}
.per-context p{margin:0;color:rgba(245,239,222,.68)}
.per-validation{display:grid;grid-template-columns:minmax(20rem,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}
.per-validation figure{min-height:22rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}
.per-validation figure img{width:100%;height:100%;object-fit:cover;display:block}
.per-validation h2{max-width:14ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}
.per-validation p{margin:0;color:var(--fg-muted);line-height:1.7}
.per-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,6vw,5rem);align-items:start;margin-top:var(--space-11)}
.per-evidence>div:first-child p{margin:.75rem 0 0;color:var(--fg-muted);line-height:1.7}
.per-persona-card{padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1);display:grid;gap:1rem}
.per-persona-card header{display:flex;align-items:center;gap:.85rem}
.per-persona-card__avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--ux-wash);color:var(--ux-ink);font:800 1rem/1 var(--font-display)}
.per-persona-card header strong{display:block;color:var(--fg);font:800 1.05rem/1.1 var(--font-display)}
.per-persona-card header small{color:var(--fg-muted)}
.per-persona-card__quote{margin:0;padding:.9rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--fg);font:italic 600 var(--fs-body-sm)/1.5 var(--font-display)}
.per-persona-card__row{display:grid;gap:.35rem}
.per-persona-card__row b{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.per-persona-card__row ul{margin:0;padding:0 0 0 1.1rem;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.per-persona-card__confidence{display:flex;align-items:center;gap:.6rem}
.per-persona-card__confidence span{color:var(--fg-muted);font-size:var(--fs-micro)}
.per-persona-card__confidence i{flex:1;height:.5rem;border-radius:1rem;background:var(--border);overflow:hidden}
.per-persona-card__confidence i b{display:block;height:100%;border-radius:1rem;background:var(--ux-base)}
.per-persona-card__confidence strong{color:var(--fg);font-size:var(--fs-body-sm)}
.per-jtbd{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}
.per-jtbd>div:first-child p{margin:.75rem 0 0;color:var(--fg-muted);line-height:1.7}
.per-jtbd-mock{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}
.per-jtbd-mock>div{padding:1rem;border-radius:var(--radius-lg);background:var(--ux-wash)}
.per-jtbd-mock>div span{display:block;margin-bottom:.4rem;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.per-jtbd-mock>div p{margin:0;color:var(--ux-ink);font-size:var(--fs-body-sm);line-height:1.5}
.per-jtbd-mock__arrow{color:var(--ux-base);font-size:1.4rem;font-style:normal}
.per-journey{margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}
.per-journey>div p{margin:.75rem 0 1.5rem;color:var(--fg-muted);line-height:1.7;max-width:46rem}
.per-journey ol{display:grid;gap:0;list-style:none;margin:0;padding:0}
.per-journey li{display:grid;grid-template-columns:8rem 1fr;column-gap:1rem;row-gap:.4rem;padding:.85rem 0;border-top:1px solid var(--border)}
.per-journey li:first-child{border-top:none}
.per-journey li span{grid-column:1;color:var(--fg);font:700 var(--fs-body-sm)/1.2 var(--font-display);align-self:center}
.per-journey li i{grid-column:2;position:relative;height:.6rem;border-radius:1rem;background:var(--border);overflow:hidden;align-self:center}
.per-journey li i b{display:block;height:100%;border-radius:1rem;background:var(--ux-base)}
.per-journey li p{grid-column:1/-1;margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.per-blueprint{margin-top:var(--space-11)}
.per-blueprint>div p{margin:.75rem 0 1.5rem;color:var(--fg-muted);line-height:1.7;max-width:46rem}
.per-blueprint ol{display:grid;gap:.85rem;list-style:none;margin:0;padding:0}
.per-blueprint li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;align-items:start;padding:1rem 1.2rem;border-radius:var(--radius-lg);background:var(--bg-elevated)}
.per-blueprint li b{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.per-blueprint li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.per-blueprint__lane--1{border-left:3px solid var(--ux-base)}
.per-blueprint__lane--2{border-left:3px solid var(--ux-deep)}
.per-blueprint__lane--3{border-left:3px solid var(--border)}
.per-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}
.per-process>div{position:sticky;top:2rem;align-self:start}
.per-process h2{max-width:12ch;margin:.75rem 0}
.per-process ol{list-style:none;margin:0;padding:0}
.per-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}
.per-process li:last-child{border-bottom:1px solid var(--border)}
.per-process li>span{color:var(--ux-base);font:800 var(--fs-body-sm)/1 var(--font-display)}
.per-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}
.per-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.per-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ux-ink);color:var(--surface-inverse-fg)}
.per-deliverables .eyebrow{color:var(--ux-soft)}
.per-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}
.per-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.per-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}
.app--personas .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--personas .sp-hero__layout,.per-opening,.per-definition>div,.per-context,.per-validation,.per-evidence,.per-jtbd,.per-process,.per-deliverables{grid-template-columns:1fr}.per-process>div{position:static}.per-jtbd-mock{grid-template-columns:1fr}.per-jtbd-mock__arrow{justify-self:center;transform:rotate(90deg)}.per-journey li{grid-template-columns:1fr}.per-journey li span{margin-bottom:.2rem}.per-context figure{min-height:22rem}}
@media(max-width:620px){.app--personas .sp-hero{padding:1.5rem}.per-hero{min-height:auto}.per-opening,.per-story{margin-top:var(--space-9)}.per-deliverables ul,.app--personas .sp-approach__list{grid-template-columns:1fr}.per-definition,.per-jtbd,.per-deliverables{padding:1.25rem}.per-hero__traits{grid-template-columns:1fr}.per-context figure{min-height:18rem}.per-validation figure{min-height:16rem}}
@media(prefers-reduced-motion:reduce){.per-hero__badge{transform:none}}
.theme-dark .per-definition{background:var(--bg-elevated);border-color:var(--border)}

/* Multi-agent flows — orchestration and handoffs */
.app--multi-agent-flows .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),var(--ai-wash))}.app--multi-agent-flows .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--multi-agent-flows .sp-hero .display{max-width:9ch}.agents-hero{position:relative;min-height:31rem}.agents-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.agents-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.agents-hero__status{position:absolute;right:0;bottom:0;z-index:2;width:min(18rem,74%);padding:1rem;border-radius:var(--radius-lg);background:rgba(14,13,10,.9);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.agents-hero__status>span{display:block;margin-bottom:.65rem;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.agents-hero__status p{display:grid;grid-template-columns:.6rem 1fr auto;gap:.6rem;align-items:center;margin:0;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.12);font-size:var(--fs-micro)}.agents-hero__status p i{width:.5rem;height:.5rem;border-radius:50%;background:var(--play-soft)}.agents-hero__status p:nth-child(3) i{background:var(--ai-soft)}.agents-hero__status p:nth-child(4) i{background:rgba(255,255,255,.25)}.agents-hero__status p b{color:rgba(245,239,222,.5);font-size:var(--fs-micro)}.agents-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.agents-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.agents-opening .sp-intro{margin-top:1rem}.agents-opening__contract{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.agents-opening__contract>span{display:block;margin-bottom:.7rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.agents-opening__contract p{display:grid;grid-template-columns:5rem 1fr;gap:.7rem;align-items:center;margin:0;padding:.75rem 0;border-top:1px solid var(--border)}.agents-opening__contract b{color:var(--fg-muted);font-size:var(--fs-micro)}.agents-opening__contract i{height:.5rem;border-radius:1rem;background:var(--ai-tint)}.agents-opening__contract strong{color:var(--fg);font-size:var(--fs-micro)}
.agents-story{margin-top:var(--space-10)}.agents-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.agents-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.agents-definition h2{max-width:15ch;margin:0}.agents-definition p,.agents-roles header p,.agents-handoff p,.agents-paths>div>p,.agents-build p{margin:0;color:var(--fg-muted);line-height:1.7}
.agents-roles{margin-top:var(--space-11)}.agents-roles header{max-width:46rem;margin-bottom:2rem}.agents-roles header h2{max-width:14ch;margin:.75rem 0}.agents-roles>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.agents-roles article{min-height:16rem;padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.agents-roles article:nth-child(even){transform:translateY(1.5rem);background:var(--ai-wash)}.agents-roles article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.agents-roles h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.15rem/1.1 var(--font-display)}.agents-roles article p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.agents-handoff{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.agents-handoff figure{min-height:34rem;margin:0}.agents-handoff figure img{width:100%;height:100%;object-fit:cover;display:block}.agents-handoff>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.agents-handoff .eyebrow{color:var(--ai-soft)}.agents-handoff h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.agents-handoff p{color:rgba(245,239,222,.68)}
.agents-paths{display:grid;grid-template-columns:minmax(0,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.agents-paths h2{max-width:12ch;margin:.75rem 0 1rem}.agents-paths__map{display:grid;gap:1rem}.agents-paths__map article{display:grid;grid-template-columns:3rem 8rem 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.agents-paths__map article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--ai-tint);color:var(--ai-deep);font-size:var(--fs-micro)}.agents-paths__map h3{margin:0;color:var(--fg);font:800 var(--fs-body-sm)/1.1 var(--font-display)}.agents-paths__map p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.agents-build{display:grid;grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.agents-build h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.agents-build figure{min-height:27rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.agents-build figure img{width:100%;height:100%;object-fit:cover;display:block}
.agents-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.agents-process>div{position:sticky;top:2rem;align-self:start}.agents-process h2{max-width:12ch;margin:.75rem 0}.agents-process ol{list-style:none;margin:0;padding:0}.agents-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.agents-process li:last-child{border-bottom:1px solid var(--border)}.agents-process li>span{color:var(--ai-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.agents-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.agents-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.agents-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.agents-deliverables .eyebrow{color:var(--ai-soft)}.agents-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.agents-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.agents-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--multi-agent-flows .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--multi-agent-flows .sp-hero__layout,.agents-opening,.agents-definition>div,.agents-handoff,.agents-paths,.agents-build,.agents-process,.agents-deliverables{grid-template-columns:1fr}.agents-roles>div{grid-template-columns:repeat(2,minmax(0,1fr))}.agents-process>div{position:static}.agents-handoff figure{min-height:27rem}}
@media(max-width:620px){.app--multi-agent-flows .sp-hero{padding:1.5rem}.agents-hero{min-height:27rem}.agents-hero figure{inset:1rem 0 3.5rem}.agents-hero__status{right:.5rem;width:82%}.agents-opening,.agents-story{margin-top:var(--space-9)}.agents-roles>div,.agents-deliverables ul,.app--multi-agent-flows .sp-approach__list{grid-template-columns:1fr}.agents-roles article:nth-child(n){transform:none}.agents-definition,.agents-deliverables{padding:1.25rem}.agents-handoff figure{min-height:21rem}.agents-paths__map article{grid-template-columns:2.5rem 1fr}.agents-paths__map p{grid-column:2}.agents-build figure{min-height:20rem}}
@media(prefers-reduced-motion:reduce){.agents-hero__badge,.agents-roles article{transform:none}}

/* Keep hero orchestration status readable on the inverse surface. */
.agents-hero__status p { color: var(--surface-inverse-fg); }
.agents-hero__status p b { color: rgba(245,239,222,.78); }
.agents-hero__status p:nth-child(4) i { background: rgba(255,255,255,.58); }

/* Red-teaming — controlled adversarial pressure */
.app--red-teaming .sp-hero{min-height:auto;padding-bottom:2.75rem;background:radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--ai-base) 20%,transparent),transparent 30%),linear-gradient(145deg,var(--bg-elevated),var(--ai-wash))}.app--red-teaming .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--red-teaming .sp-hero .display{max-width:9ch}.redteam-hero{position:relative;min-height:31rem}.redteam-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.redteam-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.redteam-hero__finding{position:absolute;right:0;bottom:0;z-index:2;width:min(19rem,76%);padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(14,13,10,.92);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.redteam-hero__finding>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.redteam-hero__finding>strong{display:block;margin:.85rem 0;color:#fff;font:800 var(--fs-body-sm)/1.25 var(--font-display)}.redteam-hero__finding p{display:flex;justify-content:space-between;margin:0;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.12);color:var(--surface-inverse-fg);font-size:var(--fs-micro)}.redteam-hero__finding p i{padding:.35rem .5rem;border-radius:var(--radius-pill);background:var(--ai-deep);color:#fff;font-style:normal}.redteam-hero__finding small{color:rgba(245,239,222,.72);font-size:var(--fs-micro)}.redteam-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-deep);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.redteam-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.redteam-opening .sp-intro{margin-top:1rem}.redteam-opening__scenario{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2)}.redteam-opening__scenario>span{display:block;margin-bottom:.7rem;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.redteam-opening__scenario p{display:grid;grid-template-columns:5rem 1fr;gap:.7rem;margin:0;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.12);color:var(--surface-inverse-fg);font-size:var(--fs-micro)}.redteam-opening__scenario p b{color:var(--ai-soft);font-size:var(--fs-micro)}.redteam-opening__scenario>strong{display:block;margin-top:.8rem;color:#fff;font-size:var(--fs-micro);text-align:right}
.redteam-story{margin-top:var(--space-10)}.redteam-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 24%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.redteam-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.redteam-definition h2{max-width:15ch;margin:0}.redteam-definition p,.redteam-surfaces header p,.redteam-stakes p,.redteam-severity>div>p,.redteam-embodied p{margin:0;color:var(--fg-muted);line-height:1.7}
.redteam-surfaces{margin-top:var(--space-11)}.redteam-surfaces header{max-width:46rem;margin-bottom:2rem}.redteam-surfaces header h2{max-width:14ch;margin:.75rem 0}.redteam-surfaces>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.redteam-surfaces article{min-height:13rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.redteam-surfaces article:nth-child(2),.redteam-surfaces article:nth-child(3){background:var(--ai-wash)}.redteam-surfaces article>span{color:var(--ai-deep);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.redteam-surfaces h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.redteam-surfaces article p{margin:0;color:var(--fg-muted);line-height:1.6}
.redteam-stakes{display:grid;grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.redteam-stakes figure{min-height:35rem;margin:0}.redteam-stakes figure img{width:100%;height:100%;object-fit:cover;display:block}.redteam-stakes>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.redteam-stakes .eyebrow{color:var(--ai-soft)}.redteam-stakes h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.redteam-stakes p{color:rgba(245,239,222,.68)}
.redteam-severity{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.redteam-severity h2{max-width:13ch;margin:.75rem 0 1rem}.redteam-severity ol{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.redteam-severity li{display:grid;grid-template-columns:5rem 1fr 7rem;gap:.8rem;align-items:center;padding:.8rem;border-radius:var(--radius-md);background:var(--ai-wash);font-size:var(--fs-micro)}.redteam-severity li i{height:.55rem;border-radius:1rem;background:var(--play-base)}.redteam-severity li i.redteam-level--2{background:var(--award-gold)}.redteam-severity li i.redteam-level--3{background:var(--ai-base)}.redteam-severity li i.redteam-level--4{background:var(--ai-deep)}.redteam-severity li b{text-align:right;color:var(--fg)}
.redteam-embodied{display:grid;grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.redteam-embodied h2{max-width:13ch;margin:.75rem 0 1rem;color:var(--fg);font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.redteam-embodied figure{min-height:28rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.redteam-embodied figure img{width:100%;height:100%;object-fit:cover;display:block}
.redteam-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.redteam-process>div{position:sticky;top:2rem;align-self:start}.redteam-process h2{max-width:12ch;margin:.75rem 0}.redteam-process ol{list-style:none;margin:0;padding:0}.redteam-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.redteam-process li:last-child{border-bottom:1px solid var(--border)}.redteam-process li>span{color:var(--ai-deep);font:800 var(--fs-body-sm)/1 var(--font-display)}.redteam-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.redteam-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.redteam-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.redteam-deliverables .eyebrow{color:var(--ai-soft)}.redteam-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.redteam-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.redteam-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--red-teaming .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--red-teaming .sp-hero__layout,.redteam-opening,.redteam-definition>div,.redteam-stakes,.redteam-severity,.redteam-embodied,.redteam-process,.redteam-deliverables{grid-template-columns:1fr}.redteam-process>div{position:static}.redteam-stakes figure{min-height:28rem}}
@media(max-width:620px){.app--red-teaming .sp-hero{padding:1.5rem}.redteam-hero{min-height:27rem}.redteam-hero figure{inset:1rem 0 3.5rem}.redteam-hero__finding{right:.5rem;width:84%}.redteam-opening,.redteam-story{margin-top:var(--space-9)}.redteam-surfaces>div,.redteam-deliverables ul,.app--red-teaming .sp-approach__list{grid-template-columns:1fr}.redteam-definition,.redteam-severity,.redteam-deliverables{padding:1.25rem}.redteam-stakes figure{min-height:22rem}.redteam-severity li{grid-template-columns:4rem 1fr}.redteam-severity li b{grid-column:2}.redteam-embodied figure{min-height:21rem}}
@media(prefers-reduced-motion:reduce){.redteam-hero__badge{transform:none}}

/* User testing with AI — trust calibration in the test room */
.app--user-testing-ai .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 74%,var(--bg)))}.app--user-testing-ai .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--user-testing-ai .sp-hero .display{max-width:9ch}.utai-hero{position:relative;min-height:31rem}.utai-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.utai-hero figure img{width:100%;height:100%;object-fit:cover;display:block}.utai-hero__observation{position:absolute;right:0;bottom:0;z-index:2;width:min(19rem,76%);padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(14,13,10,.92);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.utai-hero__observation>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.utai-hero__observation>strong{display:block;margin:.85rem 0;color:#fff;font:800 var(--fs-body-sm)/1.25 var(--font-display)}.utai-hero__observation p{display:flex;justify-content:space-between;margin:0;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.12);color:var(--surface-inverse-fg);font-size:var(--fs-micro)}.utai-hero__observation p i{padding:.35rem .5rem;border-radius:var(--radius-pill);background:var(--ai-deep);color:#fff;font-style:normal}.utai-hero__observation small{color:rgba(245,239,222,.72);font-size:var(--fs-micro)}.utai-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.utai-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(19rem,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.utai-opening .sp-intro{margin-top:1rem}.utai-opening__baseline{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.utai-opening__baseline>span{display:block;margin-bottom:.7rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.utai-opening__baseline p{display:grid;grid-template-columns:4rem 1fr 2rem;gap:.7rem;align-items:center;margin:0;padding:.75rem 0;border-top:1px solid var(--border)}.utai-opening__baseline p b,.utai-opening__baseline small{color:var(--fg-muted);font-size:var(--fs-micro)}.utai-opening__baseline p i{height:.55rem;border-radius:1rem;background:var(--ai-base)}.utai-opening__baseline p strong{color:var(--fg);font-size:var(--fs-micro)}
.utai-story{margin-top:var(--space-10)}.utai-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.utai-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.utai-definition h2{max-width:14ch;margin:0}.utai-definition p,.utai-dimensions header p,.utai-protocol p,.utai-signals p,.utai-variability p{margin:0;color:var(--fg-muted);line-height:1.7}
.utai-dimensions{margin-top:var(--space-11)}.utai-dimensions header{max-width:46rem;margin-bottom:2rem}.utai-dimensions header h2{max-width:14ch;margin:.75rem 0}.utai-dimensions>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.utai-dimensions article{min-height:16rem;padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.utai-dimensions article:nth-child(even){transform:translateY(1.5rem);background:var(--ai-wash)}.utai-dimensions article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.utai-dimensions h3{margin:3rem 0 .6rem;color:var(--fg);font:800 1.15rem/1.1 var(--font-display)}.utai-dimensions article p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.utai-protocol{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.utai-protocol figure{min-height:34rem;margin:0}.utai-protocol figure img{width:100%;height:100%;object-fit:cover;display:block}.utai-protocol>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.utai-protocol .eyebrow{color:var(--ai-soft)}.utai-protocol h2{max-width:11ch;margin:.75rem 0 1rem;color:#fff}.utai-protocol p{color:rgba(245,239,222,.72)}
.utai-signals{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:stretch;margin-top:var(--space-11)}.utai-signals__copy{align-self:center}.utai-signals h2{max-width:12ch;margin:.75rem 0 1rem}.utai-signals ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:1.5rem 0 0;padding:0}.utai-signals li{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:650 var(--fs-micro)/1.3 var(--font-body)}.utai-signals figure{min-height:35rem;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.utai-signals figure img{width:100%;height:100%;object-fit:cover;display:block}
.utai-variability{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.utai-variability>figure{min-height:31rem;margin:0}.utai-variability>figure img{width:100%;height:100%;object-fit:cover;display:block}.utai-variability>div{align-self:center;padding:clamp(1.5rem,4vw,3rem)}.utai-variability .eyebrow{color:var(--ai-soft)}.utai-variability h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.utai-variability p{color:rgba(245,239,222,.72)}.utai-variability video{display:block;width:100%;max-height:10rem;margin-top:1.5rem;object-fit:cover;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#000}
.utai-variability{grid-template-columns:minmax(20rem,1.2fr) minmax(18rem,.8fr);align-items:center;padding:clamp(1.5rem,4vw,3rem);gap:clamp(1.5rem,4vw,3rem)}.utai-variability>div{order:1;padding:0}.utai-variability>figure{order:2;justify-self:end;width:min(100%,22rem);min-height:0;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#000}.utai-variability>figure video{display:block;width:100%;height:auto;aspect-ratio:1;max-height:none;margin:0;border:0;border-radius:0;object-fit:cover;object-position:center 54%}
.utai-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.utai-process>div{position:sticky;top:2rem;align-self:start}.utai-process h2{max-width:12ch;margin:.75rem 0}.utai-process ol{list-style:none;margin:0;padding:0}.utai-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.utai-process li:last-child{border-bottom:1px solid var(--border)}.utai-process li>span{color:var(--ai-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.utai-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.utai-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.utai-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.utai-deliverables .eyebrow{color:var(--ai-soft)}.utai-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.utai-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.utai-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--user-testing-ai .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--user-testing-ai .sp-hero__layout,.utai-opening,.utai-definition>div,.utai-protocol,.utai-signals,.utai-variability,.utai-process,.utai-deliverables{grid-template-columns:1fr}.utai-dimensions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.utai-process>div{position:static}.utai-protocol figure{min-height:27rem}.utai-signals figure{min-height:28rem}}
@media(max-width:620px){.app--user-testing-ai .sp-hero{padding:1.5rem}.utai-hero{min-height:27rem}.utai-hero figure{inset:1rem 0 3.5rem}.utai-hero__observation{right:.5rem;width:84%}.utai-opening,.utai-story{margin-top:var(--space-9)}.utai-dimensions>div,.utai-signals ul,.utai-deliverables ul,.app--user-testing-ai .sp-approach__list{grid-template-columns:1fr}.utai-dimensions article:nth-child(n){transform:none}.utai-definition,.utai-deliverables{padding:1.25rem}.utai-protocol figure{min-height:21rem}.utai-signals figure{min-height:27rem}.utai-variability{padding:1.25rem}.utai-variability>figure{justify-self:start;width:min(100%,18rem);min-height:0}.utai-variability>figure video{height:auto;min-height:0}}
@media(prefers-reduced-motion:reduce){.utai-hero__badge,.utai-dimensions article{transform:none}}

/* Use-case mapping — from AI possibility to product decision */
.app--use-case-mapping .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 78%,var(--bg)))}.app--use-case-mapping .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--use-case-mapping .sp-hero .display{max-width:9ch}
.ucm-hero{position:relative;min-height:31rem}.ucm-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.ucm-hero figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ucm-hero__question{position:absolute;right:0;bottom:0;z-index:2;width:min(20rem,78%);padding:1.1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(14,13,10,.92);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.ucm-hero__question span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.ucm-hero__question strong{display:block;margin:.85rem 0;color:#fff;font:800 1.05rem/1.2 var(--font-display)}.ucm-hero__question p{margin:0;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.12);color:rgba(245,239,222,.7);font-size:var(--fs-micro)}.ucm-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.ucm-opening{display:grid;grid-template-columns:minmax(0,.95fr) minmax(18rem,.65fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.ucm-opening__filter{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.ucm-opening__filter>span{display:block;margin-bottom:.7rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.ucm-opening__filter p{display:grid;grid-template-columns:2rem 1fr 1.5rem;gap:.75rem;align-items:center;margin:0;padding:.85rem 0;border-top:1px solid var(--border);color:var(--fg);font-size:var(--fs-micro)}.ucm-opening__filter p b{color:var(--ai-base);font-size:var(--fs-micro)}.ucm-opening__filter p i{display:grid;width:1.3rem;height:1.3rem;place-items:center;border-radius:50%;background:var(--ai-wash);color:var(--ai-deep);font-style:normal}.ucm-opening__filter>strong{display:block;margin-top:.8rem;color:var(--fg-muted);font-size:var(--fs-micro);text-align:right;letter-spacing:.08em}
.ucm-story{margin-top:var(--space-10)}.ucm-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.ucm-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.ucm-definition h2{max-width:13ch;margin:0}.ucm-definition p,.ucm-lenses p,.ucm-options p,.ucm-matrix p,.ucm-focus p{margin:0;color:var(--fg-muted);line-height:1.7}
.ucm-lenses{margin-top:var(--space-11)}.ucm-lenses header{max-width:46rem;margin-bottom:2rem}.ucm-lenses header h2{max-width:14ch;margin:.75rem 0}.ucm-lenses>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ucm-lenses article{min-height:17rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.ucm-lenses article:nth-child(2){transform:translateY(1.5rem);background:var(--ai-wash)}.ucm-lenses article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.ucm-lenses h3{max-width:14ch;margin:4rem 0 .7rem;color:var(--fg);font:800 1.25rem/1.08 var(--font-display)}.ucm-lenses article p{font-size:var(--fs-body-sm);line-height:1.6}
.ucm-options{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.ucm-options figure{min-height:34rem;margin:0}.ucm-options figure img{display:block;width:100%;height:100%;object-fit:cover}.ucm-options>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.ucm-options .eyebrow{color:var(--ai-soft)}.ucm-options h2{max-width:11ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.ucm-options p{color:rgba(245,239,222,.72)}
.ucm-matrix{margin-top:var(--space-11)}.ucm-matrix header{display:grid;grid-template-columns:minmax(0,.9fr) minmax(18rem,.55fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2rem}.ucm-matrix header .eyebrow{grid-column:1/-1}.ucm-matrix header h2{max-width:14ch;margin:.75rem 0 0}.ucm-matrix__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}.ucm-matrix article{position:relative;min-height:15rem;padding:1.5rem;background:var(--bg-elevated)}.ucm-matrix article:nth-child(2),.ucm-matrix article:nth-child(3){background:var(--ai-wash)}.ucm-matrix article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.ucm-matrix h3{margin:3.5rem 0 .65rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.ucm-matrix article p{max-width:28rem;font-size:var(--fs-body-sm);line-height:1.55}.ucm-matrix article b{position:absolute;right:1.25rem;top:1.15rem;color:color-mix(in srgb,var(--ai-base) 22%,transparent);font:800 2.5rem/1 var(--font-display)}
.ucm-focus{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.ucm-focus>div:first-child h2{max-width:11ch;margin:.75rem 0 1rem}.ucm-focus__images{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1rem;align-items:end}.ucm-focus__images figure{margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.ucm-focus__images figure:first-child{height:31rem}.ucm-focus__images figure:last-child{height:23rem}.ucm-focus__images img{display:block;width:100%;height:100%;object-fit:cover}.ucm-focus__images figure:first-child img{object-position:center 35%}.ucm-focus__images figure:last-child img{object-position:70% center}
.ucm-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.ucm-process>div{position:sticky;top:2rem;align-self:start}.ucm-process h2{max-width:12ch;margin:.75rem 0}.ucm-process ol{list-style:none;margin:0;padding:0}.ucm-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.ucm-process li:last-child{border-bottom:1px solid var(--border)}.ucm-process li>span{color:var(--ai-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.ucm-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.ucm-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.ucm-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.ucm-deliverables .eyebrow{color:var(--ai-soft)}.ucm-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.ucm-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.ucm-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--use-case-mapping .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--use-case-mapping .sp-hero__layout,.ucm-opening,.ucm-definition>div,.ucm-options,.ucm-matrix header,.ucm-focus,.ucm-process,.ucm-deliverables{grid-template-columns:1fr}.ucm-lenses>div{grid-template-columns:repeat(3,minmax(0,1fr))}.ucm-process>div{position:static}.ucm-matrix header .eyebrow{grid-column:auto}.ucm-options figure{min-height:27rem}.ucm-focus__images{max-width:42rem}}
@media(max-width:620px){.app--use-case-mapping .sp-hero{padding:1.5rem}.ucm-hero{min-height:27rem}.ucm-hero figure{inset:1rem 0 3.5rem}.ucm-hero__question{right:.5rem;width:86%}.ucm-opening,.ucm-story{margin-top:var(--space-9)}.ucm-lenses>div,.ucm-matrix__grid,.ucm-focus__images,.ucm-deliverables ul,.app--use-case-mapping .sp-approach__list{grid-template-columns:1fr}.ucm-lenses article:nth-child(n){min-height:0;transform:none}.ucm-lenses h3{margin-top:2.5rem}.ucm-definition,.ucm-deliverables{padding:1.25rem}.ucm-options figure{min-height:22rem}.ucm-focus__images figure:first-child,.ucm-focus__images figure:last-child{height:23rem}.ucm-matrix article{min-height:13rem}.ucm-focus__images figure:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.ucm-hero__badge,.ucm-lenses article{transform:none}}

/* AI roadmap — a shared horizon across product, model and business */
.app--ai-roadmap .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 76%,var(--bg)))}.app--ai-roadmap .sp-hero__layout{grid-template-columns:minmax(0,.78fr) minmax(30rem,1.22fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--ai-roadmap .sp-hero .display{max-width:8ch}
.arm-hero{position:relative;display:grid;grid-template-rows:auto repeat(3,1fr);gap:.6rem;min-height:29rem;padding:4.5rem 1.4rem 3.5rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);box-shadow:var(--shadow-3);color:var(--surface-inverse-fg);transform:rotate(1deg)}.arm-hero:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--ai-base) 28%,transparent),transparent 34%);pointer-events:none}.arm-hero__horizons{position:absolute;inset:1.1rem 1.4rem auto 8.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em}.arm-hero__lane{position:relative;display:grid;grid-template-columns:6.2rem repeat(3,1fr);gap:.6rem;align-items:center}.arm-hero__lane b{color:rgba(245,239,222,.72);font:750 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em}.arm-hero__lane i{height:100%;min-height:3.2rem;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);background:rgba(255,255,255,.06)}.arm-hero__lane i:nth-of-type(1){background:color-mix(in srgb,var(--ai-base) 42%,transparent)}.arm-hero__lane:nth-of-type(3) i:nth-of-type(2),.arm-hero__lane:nth-of-type(4) i:nth-of-type(2){background:color-mix(in srgb,var(--ai-base) 22%,transparent)}.arm-hero__gate{position:absolute;inset:3.25rem 1.4rem 2.7rem 8.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;pointer-events:none}.arm-hero__gate span{display:flex;align-items:flex-end;padding:.35rem;border-left:1px dashed rgba(232,167,139,.45);color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body)}.arm-hero>strong{position:absolute;right:1.4rem;bottom:1rem;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em}
.arm-story{margin-top:var(--space-10)}.arm-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.arm-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.arm-definition h2{max-width:14ch;margin:0}.arm-definition p{margin:0;color:var(--fg-muted);font-size:1rem;line-height:1.7}
.arm-map{margin-top:var(--space-11)}.arm-map>header{display:grid;grid-template-columns:minmax(0,.9fr) minmax(18rem,.52fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2rem}.arm-map>header .eyebrow{grid-column:1/-1}.arm-map h2{max-width:14ch;margin:.75rem 0 0}.arm-map>header p{margin:0;color:var(--fg-muted);line-height:1.7}.arm-map__board{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border);box-shadow:var(--shadow-1)}.arm-map__head,.arm-map__lane{display:grid;grid-template-columns:minmax(8rem,.6fr) repeat(3,minmax(0,1fr));gap:1px}.arm-map__head>span,.arm-map__head>div,.arm-map__lane>strong,.arm-map__lane>div{background:var(--bg-elevated)}.arm-map__head>div{padding:1rem}.arm-map__head b,.arm-map__head small{display:block}.arm-map__head b{color:var(--ai-deep);font:850 var(--fs-micro)/1 var(--font-display);letter-spacing:.08em}.arm-map__head small{margin-top:.35rem;color:var(--fg-muted);font-size:var(--fs-micro)}.arm-map__lane>strong{display:flex;align-items:center;padding:1rem;color:var(--fg);font:800 var(--fs-micro)/1.2 var(--font-display)}.arm-map__lane>div{position:relative;min-height:7rem;padding:2.6rem 1rem 1rem}.arm-map__lane>div span{position:absolute;left:1rem;top:.8rem;color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body)}.arm-map__lane>div p{margin:0;color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}.arm-map__lane--1>div{background:var(--ai-wash)}.arm-map__lane--2>div:nth-of-type(2),.arm-map__lane--3>div:nth-of-type(2){background:color-mix(in srgb,var(--ai-wash) 62%,var(--bg-elevated))}.arm-map__lane>div:not(:last-child):after{position:absolute;right:-.35rem;top:50%;z-index:2;width:.7rem;height:.7rem;border-radius:50%;background:var(--ai-base);content:"";transform:translateY(-50%)}
.arm-gates{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.arm-gates>div{align-self:center}.arm-gates .eyebrow{color:var(--ai-soft)}.arm-gates h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.arm-gates>div p{margin:0;color:rgba(245,239,222,.72);line-height:1.7}.arm-gates ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}.arm-gates li{padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.arm-gates li>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}.arm-gates h3{margin:.55rem 0 .35rem;color:#fff;font:750 1.05rem/1.2 var(--font-display)}.arm-gates li p{margin:0;color:rgba(245,239,222,.72);font-size:var(--fs-body-sm);line-height:1.5}
.arm-cadence{margin-top:var(--space-11)}.arm-cadence header{max-width:48rem}.arm-cadence h2{max-width:14ch;margin:.75rem 0 1rem}.arm-cadence header p{color:var(--fg-muted);line-height:1.7}.arm-cadence ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:3rem 0 0;padding:0;list-style:none}.arm-cadence li{position:relative;padding:0 1.2rem 0 0}.arm-cadence li:not(:last-child):after{position:absolute;left:2.7rem;right:.5rem;top:1.2rem;height:1px;background:var(--ai-tint);content:""}.arm-cadence i{position:relative;z-index:1;display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:50%;background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);font-style:normal}.arm-cadence h3{margin:1.4rem 0 .5rem;color:var(--fg);font:800 1.15rem/1.1 var(--font-display)}.arm-cadence li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.arm-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.arm-deliverables .eyebrow{color:var(--ai-soft)}.arm-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.arm-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.arm-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:900px){.app--ai-roadmap .sp-hero__layout,.arm-definition>div,.arm-map>header,.arm-gates,.arm-deliverables{grid-template-columns:1fr}.arm-map>header .eyebrow{grid-column:auto}.arm-cadence ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1rem}.arm-cadence li:nth-child(2):after{display:none}}
@media(max-width:620px){.app--ai-roadmap .sp-hero{padding:1.5rem}.arm-hero{min-height:25rem;padding:4rem 1rem 3rem;transform:none}.arm-hero__horizons,.arm-hero__gate{left:6.3rem;right:1rem}.arm-hero__lane{grid-template-columns:4.7rem repeat(3,1fr);gap:.35rem}.arm-hero__lane b{font-size:var(--fs-micro)}.arm-hero__lane i{min-height:2.7rem}.arm-story{margin-top:var(--space-9)}.arm-definition,.arm-gates,.arm-deliverables{padding:1.25rem}.arm-map__board{overflow:visible;border:0;background:transparent;box-shadow:none}.arm-map__head{display:none}.arm-map__lane{grid-template-columns:1fr;gap:.5rem;margin-top:1.5rem}.arm-map__lane>strong{padding:0;background:transparent}.arm-map__lane>div{min-height:0;padding:2.4rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md)}.arm-map__lane>div:not(:last-child):after{right:auto;left:1.2rem;top:auto;bottom:-.7rem}.arm-cadence ol,.arm-deliverables ul{grid-template-columns:1fr}.arm-cadence li:not(:last-child):after{left:1.2rem;right:auto;top:2.5rem;width:1px;height:calc(100% + 1rem)}.arm-cadence li:nth-child(2):after{display:block}}
@media(prefers-reduced-motion:reduce){.arm-hero{transform:none}}

/* Hand-off & undo — reversible actions and human recovery */
.app--handoff-undo .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 76%,var(--bg)))}.app--handoff-undo .sp-hero__layout{grid-template-columns:minmax(0,.8fr) minmax(28rem,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--handoff-undo .sp-hero .display{max-width:9ch}.hu-hero{position:relative;min-height:29rem;padding:4.5rem 2rem 5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-3);transform:rotate(1deg)}.hu-hero__top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;padding:1.2rem;border-bottom:1px solid var(--border);color:var(--fg-muted);font:750 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}.hu-hero__top b{color:var(--ai-deep)}.hu-hero__change{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;margin-top:1.5rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.hu-hero__change i{color:var(--ai-base);font-style:normal;font-weight:900}.hu-hero__change s,.hu-hero__change strong{font-size:var(--fs-body-sm)}.hu-hero__change strong{color:var(--fg)}.hu-hero__scope{display:flex;gap:.6rem;align-items:center;margin-top:1rem;color:var(--fg-muted);font-size:var(--fs-micro)}.hu-hero__scope b{padding:.55rem .7rem;border-radius:var(--radius-pill);background:var(--ai-wash);color:var(--ai-ink)}.hu-hero__actions{position:absolute;left:2rem;right:2rem;bottom:2rem;display:flex;gap:.7rem}.hu-hero__actions>*{padding:.8rem 1rem;border-radius:var(--radius-pill);font:800 var(--fs-micro)/1 var(--font-body)}.hu-hero__actions b{background:var(--ai-base);color:#fff}.hu-hero__actions span{border:1px solid var(--border);color:var(--fg)}.hu-hero__badge{position:absolute;right:1rem;bottom:-.7rem;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--surface-inverse-bg);color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}
.hu-story{margin-top:var(--space-10)}.hu-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.hu-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.hu-definition h2{max-width:14ch;margin:0}.hu-definition p,.hu-moments p,.hu-preview p,.hu-undo p,.hu-boundary p,.hu-handoff p{margin:0;color:var(--fg-muted);line-height:1.7}.hu-moments{margin-top:var(--space-11)}.hu-moments header{max-width:48rem}.hu-moments h2{max-width:14ch;margin:.75rem 0 1rem}.hu-moments ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:2.5rem 0 0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}.hu-moments li{min-height:16rem;padding:1.4rem;background:var(--bg-elevated)}.hu-moments li:nth-child(2),.hu-moments li:nth-child(3){background:var(--ai-wash)}.hu-moments li:nth-child(4){background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.hu-moments li>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body)}.hu-moments li:nth-child(4)>span{color:var(--ai-soft)}.hu-moments h3{margin:4rem 0 .6rem;color:var(--fg);font:800 1.2rem/1.08 var(--font-display)}.hu-moments li:nth-child(4) h3{color:#fff}.hu-moments li p{font-size:var(--fs-body-sm);line-height:1.55}.hu-moments li:nth-child(4) p{color:rgba(245,239,222,.72)}
.hu-preview,.hu-undo,.hu-boundary,.hu-handoff{display:grid;grid-template-columns:minmax(0,.82fr) minmax(20rem,1.18fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.hu-preview h2,.hu-boundary h2{max-width:12ch;margin:.75rem 0 1rem}.hu-preview__card{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.hu-preview__card header{display:flex;justify-content:space-between;padding-bottom:.8rem;border-bottom:1px solid var(--border);color:var(--ai-deep);font:800 var(--fs-micro)/1 var(--font-body)}.hu-preview__card p{display:grid;grid-template-columns:2rem 1fr;margin:0;padding:1rem;border-bottom:1px solid var(--border);color:var(--fg)}.hu-preview__card p i{color:var(--ai-base);font-style:normal}.hu-preview__card footer{display:flex;gap:.6rem;margin-top:1rem}.hu-preview__card footer>*{padding:.7rem .9rem;border-radius:var(--radius-pill);font-size:var(--fs-micro)}.hu-preview__card footer b{background:var(--ai-base);color:#fff}.hu-preview__card footer span{border:1px solid var(--border)}
.hu-undo{grid-template-columns:minmax(20rem,1.15fr) minmax(0,.85fr);padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.hu-undo .eyebrow{color:var(--ai-soft)}.hu-undo h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff}.hu-undo>div:last-child p{color:rgba(245,239,222,.72)}.hu-undo__stack{display:grid;gap:.7rem}.hu-undo__stack p{display:grid;grid-template-columns:2rem 1fr auto;gap:.7rem;align-items:center;margin:0;padding:1rem;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);transform:translateX(calc(var(--offset) * 1rem))}.hu-undo__stack span{color:var(--ai-soft);font-size:1rem}.hu-undo__stack b{font-size:var(--fs-micro)}.hu-undo__stack small{color:rgba(245,239,222,.6)}
.hu-boundary{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.hu-boundary__line{display:grid;grid-template-columns:1fr 2.5rem auto 1fr;gap:.8rem;align-items:center}.hu-boundary__line span,.hu-boundary__line strong{font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em}.hu-boundary__line span{color:var(--play-base);text-align:right}.hu-boundary__line strong{color:var(--ai-deep)}.hu-boundary__line i{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:var(--ai-base);color:#fff;font-style:normal;font-weight:900}.hu-boundary__line b{padding:.75rem;border-radius:var(--radius-pill);background:var(--ai-wash);color:var(--ai-ink);font-size:var(--fs-micro)}
.hu-handoff{position:relative;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);gap:0;align-items:stretch;overflow:hidden;border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.hu-handoff__human{min-height:37rem;margin:0;overflow:hidden}.hu-handoff__human img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hu-handoff__content{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.hu-handoff h2{max-width:12ch;margin:.75rem 0 1rem}.hu-handoff ol{display:grid;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none}.hu-handoff li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.7rem;align-items:center;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.hu-handoff li span{color:var(--ai-base);font-size:var(--fs-micro)}.hu-handoff li b{color:var(--fg);font-size:var(--fs-body-sm)}.hu-handoff li i{color:var(--ai-deep);font-style:normal;font-weight:900}.hu-handoff__agent{position:absolute;left:calc(54% - 4.5rem);bottom:1.25rem;width:9rem;height:7rem;margin:0;overflow:hidden;border:4px solid var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);transform:rotate(3deg)}.hu-handoff__agent img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hu-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.hu-process>div{position:sticky;top:2rem;align-self:start}.hu-process h2{max-width:12ch;margin:.75rem 0}.hu-process ol{margin:0;padding:0;list-style:none}.hu-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--border)}.hu-process li:last-child{border-bottom:1px solid var(--border)}.hu-process li>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-display)}.hu-process h3{margin:0 0 .35rem;color:var(--fg);font:750 1.05rem/1.2 var(--font-display)}.hu-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}.hu-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.hu-deliverables .eyebrow{color:var(--ai-soft)}.hu-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.hu-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.hu-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);font:650 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:900px){.app--handoff-undo .sp-hero__layout,.hu-definition>div,.hu-preview,.hu-undo,.hu-boundary,.hu-handoff,.hu-process,.hu-deliverables{grid-template-columns:1fr}.hu-moments ol{grid-template-columns:repeat(2,minmax(0,1fr))}.hu-process>div{position:static}}
@media(max-width:620px){.app--handoff-undo .sp-hero{padding:1.5rem}.hu-hero{min-height:26rem;padding:4rem 1rem 5rem;transform:none}.hu-hero__actions{left:1rem;right:1rem}.hu-story{margin-top:var(--space-9)}.hu-definition,.hu-undo,.hu-boundary,.hu-deliverables{padding:1.25rem}.hu-moments ol,.hu-deliverables ul{grid-template-columns:1fr}.hu-moments li{min-height:0}.hu-moments h3{margin-top:2.5rem}.hu-undo__stack p{transform:none}.hu-boundary__line{grid-template-columns:1fr 2.5rem}.hu-boundary__line strong,.hu-boundary__line b{grid-column:2}.hu-boundary__line span{text-align:left}.hu-process li{grid-template-columns:2.5rem 1fr}}
@media(prefers-reduced-motion:reduce){.hu-hero,.hu-undo__stack p{transform:none}}
@media(max-width:900px){.hu-handoff__human{min-height:29rem}.hu-handoff__agent{left:auto;right:1.25rem;bottom:calc(50% - 12rem)}}
@media(max-width:620px){.hu-handoff__human{min-height:24rem}.hu-handoff__content{padding:1.25rem}.hu-handoff__agent{right:1rem;top:16rem;bottom:auto;width:7.5rem;height:5.8rem}}
.hu-handoff{gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,3vw,2.5rem);overflow:hidden}.hu-handoff__human{height:27rem;min-height:27rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.hu-handoff__content{padding:0}.hu-handoff__agent{display:none}
@media(min-width:901px){.hu-handoff{grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr)}}
@media(max-width:900px){.hu-handoff__human{height:23rem;min-height:23rem}}
@media(max-width:620px){.hu-handoff{padding:1rem}.hu-handoff__human{height:18rem;min-height:18rem}.hu-handoff__content{padding:0}}
.app--handoff-undo .sp-hero{padding:2rem 3.5rem}.app--handoff-undo .breadcrumb{padding-top:.75rem;padding-bottom:1rem}.app--handoff-undo .sp-hero__layout{margin-top:.25rem}.app--handoff-undo .scroll-hint{padding-top:.75rem}.hu-hero{min-height:21rem;padding:3.75rem 1.5rem 4rem}.hu-hero__change{margin-top:.5rem;padding:.8rem}.hu-hero__scope{margin-top:.75rem}.hu-hero__actions{left:1.5rem;right:1.5rem;bottom:1.25rem}
@media(max-width:620px){.app--handoff-undo .sp-hero{padding:1.25rem}.hu-hero{min-height:20rem;padding:3.5rem 1rem 4rem}.hu-hero__actions{left:1rem;right:1rem;bottom:1rem}}

/* Make vs buy — ownership, acceleration and a reversible decision */
.app--make-vs-buy .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 72%,var(--bg)))}.app--make-vs-buy .sp-hero__layout{grid-template-columns:minmax(0,.78fr) minmax(30rem,1.22fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--make-vs-buy .sp-hero .display{max-width:9ch}
.mvb-hero{position:relative;min-height:31rem}.mvb-hero figure{position:absolute;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.mvb-hero figure img{display:block;width:100%;height:100%;object-fit:cover}.mvb-hero__build{inset:0 42% 3.5rem 0}.mvb-hero__build img{object-position:center 68%}.mvb-hero__buy{inset:3.5rem 0 0 49%}.mvb-hero__buy img{object-position:center}.mvb-hero__choice{position:absolute;left:44%;right:2%;top:7%;z-index:2;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);background:rgba(14,13,10,.94);color:var(--surface-inverse-fg);box-shadow:var(--shadow-3);backdrop-filter:blur(14px)}.mvb-hero__choice>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.mvb-hero__choice p{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin:.85rem 0;padding:.75rem 0;border-block:1px solid rgba(255,255,255,.13);color:var(--surface-inverse-fg);text-align:center}.mvb-hero__choice p b{color:inherit;font:850 var(--fs-micro)/1 var(--font-display)}.mvb-hero__choice p i{color:var(--ai-soft);font-style:normal}.mvb-hero__choice strong{display:block;color:#fff;font:750 var(--fs-body-sm)/1.2 var(--font-display)}.mvb-hero__badge{position:absolute;right:1rem;bottom:0;z-index:3;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;transform:rotate(2deg)}
.mvb-story{margin-top:var(--space-10)}.mvb-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.mvb-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.mvb-definition h2{max-width:13ch;margin:0}.mvb-definition p,.mvb-paths p,.mvb-compare p,.mvb-photo p,.mvb-exit p{margin:0;color:var(--fg-muted);line-height:1.7}
.mvb-paths{margin-top:var(--space-11)}.mvb-paths header{max-width:48rem;margin-bottom:2rem}.mvb-paths h2{max-width:14ch;margin:.75rem 0 1rem}.mvb-paths>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mvb-paths article{position:relative;min-height:17rem;padding:1.5rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.mvb-paths article:nth-child(2){background:var(--ai-wash);transform:translateY(1.5rem)}.mvb-paths article:nth-child(3){background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.mvb-paths article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}.mvb-paths article:nth-child(3)>span{color:var(--ai-soft)}.mvb-paths h3{max-width:13ch;margin:4.5rem 0 .75rem;color:var(--fg);font:850 1.35rem/1.05 var(--font-display)}.mvb-paths article:nth-child(3) h3{color:#fff}.mvb-paths article p{font-size:var(--fs-body-sm);line-height:1.6}.mvb-paths article:nth-child(3) p{color:rgba(245,239,222,.72)}
.mvb-compare{display:grid;grid-template-columns:minmax(17rem,.68fr) minmax(0,1.32fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.mvb-compare h2{max-width:12ch;margin:.75rem 0 1rem}.mvb-scorecard{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border);box-shadow:var(--shadow-1)}.mvb-scorecard header,.mvb-scorecard>p{display:grid;grid-template-columns:minmax(8rem,1.25fr) repeat(3,minmax(0,.75fr));gap:1px;margin:0}.mvb-scorecard header>* ,.mvb-scorecard>p>*{display:grid;min-height:3.7rem;place-items:center;padding:.75rem;background:var(--bg-elevated)}.mvb-scorecard header b{color:var(--ai-deep);font:850 var(--fs-micro)/1 var(--font-display);letter-spacing:.07em}.mvb-scorecard p strong{place-items:center start;color:var(--fg);font:700 var(--fs-micro)/1.3 var(--font-body)}.mvb-scorecard p span{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em}.mvb-scorecard p span[data-level="HIGH"],.mvb-scorecard p span[data-level="HØJ"]{background:var(--ai-tint);color:var(--ai-ink)}.mvb-scorecard p span[data-level="MEDIUM"],.mvb-scorecard p span[data-level="MIDDEL"]{background:color-mix(in srgb,var(--ai-wash) 70%,var(--bg-elevated))}
.mvb-photo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.mvb-photo figure{min-height:34rem;margin:0}.mvb-photo img{display:block;width:100%;height:100%;object-fit:cover}.mvb-photo>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.mvb-photo .eyebrow{color:var(--ai-soft)}.mvb-photo h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:850 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.mvb-photo p{color:rgba(245,239,222,.74)}.mvb-photo--build img{object-position:center 68%}.mvb-photo--buy{grid-template-columns:minmax(20rem,.85fr) minmax(0,1.15fr);background:var(--ai-wash);color:var(--fg)}.mvb-photo--buy .eyebrow{color:var(--ai-deep)}.mvb-photo--buy h2{color:var(--fg)}.mvb-photo--buy p{color:var(--fg-muted)}
.mvb-gates{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.mvb-gates>div{position:sticky;top:2rem;align-self:start}.mvb-gates h2{max-width:12ch;margin:.75rem 0}.mvb-gates ol{margin:0;padding:0;list-style:none}.mvb-gates li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.mvb-gates li:last-child{border-bottom:1px solid var(--border)}.mvb-gates li>span{color:var(--ai-base);font:850 var(--fs-body-sm)/1 var(--font-display)}.mvb-gates h3{margin:0 0 .4rem;color:var(--fg);font:750 1.1rem/1.2 var(--font-display)}.mvb-gates li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.mvb-exit{display:grid;grid-template-columns:minmax(0,.86fr) minmax(20rem,1.14fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(2rem,5vw,4rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.mvb-exit h2{max-width:12ch;margin:.75rem 0 1rem}.mvb-exit ol{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.mvb-exit li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.8rem;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.mvb-exit li span{color:var(--ai-base);font:850 var(--fs-micro)/1 var(--font-body)}.mvb-exit li b{color:var(--fg);font:800 var(--fs-micro)/1 var(--font-display);letter-spacing:.06em}.mvb-exit li i{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:var(--ai-base);color:#fff;font-style:normal}
.mvb-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.mvb-deliverables .eyebrow{color:var(--ai-soft)}.mvb-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:850 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.mvb-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.mvb-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:900px){.app--make-vs-buy .sp-hero__layout,.mvb-definition>div,.mvb-compare,.mvb-photo,.mvb-photo--buy,.mvb-gates,.mvb-exit,.mvb-deliverables{grid-template-columns:1fr}.mvb-gates>div{position:static}.mvb-photo figure{min-height:28rem}.mvb-photo--buy>div{order:2}.mvb-photo--buy figure{order:1}}
@media(max-width:620px){.app--make-vs-buy .sp-hero{padding:1.5rem}.mvb-hero{min-height:28rem}.mvb-hero__build{inset:0 35% 7rem 0}.mvb-hero__buy{inset:8rem 0 0 45%}.mvb-hero__choice{left:8%;right:8%;top:38%}.mvb-story{margin-top:var(--space-9)}.mvb-definition,.mvb-exit,.mvb-deliverables{padding:1.25rem}.mvb-paths>div,.mvb-deliverables ul{grid-template-columns:1fr}.mvb-paths article:nth-child(2){transform:none}.mvb-paths article{min-height:0}.mvb-paths h3{margin-top:2.5rem}.mvb-scorecard{overflow-x:auto}.mvb-scorecard header,.mvb-scorecard>p{min-width:34rem}.mvb-photo figure{min-height:22rem}}
/* Scroll affordance for the horizontally-scrolling scorecard table on mobile */
@media (max-width: 620px) {
  .mvb-scorecard::before {
    content: "Swipe to compare →";
    display: block;
    padding: .5rem .75rem;
    font: 600 var(--fs-micro)/1 var(--font-body);
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--fg-subtle);
  }
  html[lang="da"] .mvb-scorecard::before { content: "Stryg for at sammenligne →"; }
}
@media(prefers-reduced-motion:reduce){.mvb-hero__badge,.mvb-paths article{transform:none}}

/* Risk analysis — exposure, response and ownership */
.app--risk-analysis .sp-hero{min-height:auto;padding-bottom:2.75rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 72%,var(--bg)))}.app--risk-analysis .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--risk-analysis .sp-hero .display{max-width:9ch}
.ria-hero{position:relative;min-height:31rem}.ria-hero figure{position:absolute;inset:1rem 2.5rem 2.5rem 0;margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.ria-hero figure:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 55%,rgba(14,13,10,.22))}.ria-hero figure img{display:block;width:100%;height:100%;object-fit:cover}.ria-hero__register{position:absolute;right:0;bottom:0;z-index:2;width:min(20rem,78%);padding:1.1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(14,13,10,.94);color:var(--surface-inverse-fg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px)}.ria-hero__register>span{color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.ria-hero__register>strong{display:block;margin:.85rem 0;color:#fff;font:800 1rem/1.2 var(--font-display)}.ria-hero__register p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(245,239,222,.72);font-size:var(--fs-micro)}.ria-hero__register p i{padding:.35rem .55rem;border-radius:var(--radius-pill);background:var(--ai-deep);color:#fff;font-style:normal}.ria-hero__register small{color:rgba(245,239,222,.62);font-size:var(--fs-micro)}.ria-hero__badge{position:absolute;top:0;right:1rem;z-index:2;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ai-base);color:#fff;font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em;transform:rotate(2deg)}
.ria-opening{display:grid;grid-template-columns:minmax(0,.95fr) minmax(20rem,.65fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-10)}.ria-opening .sp-intro{color:var(--fg)}.ria-opening__equation{padding:1.35rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg);box-shadow:var(--shadow-1)}.ria-opening__equation>span{display:block;margin-bottom:.9rem;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.1em}.ria-risk-factor{position:relative;padding:1rem 1rem 1rem 3.4rem;border-top:1px solid rgba(255,255,255,.13)}.ria-risk-factor:before{position:absolute;left:0;top:1rem;display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ai-base) 18%,transparent);color:var(--ai-soft);content:"!";font:900 1rem/1 var(--font-display)}.ria-risk-factor:nth-of-type(2):before{content:"↻"}.ria-risk-factor b{display:block;color:var(--ai-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}.ria-risk-factor strong{display:block;margin:.45rem 0;color:var(--surface-inverse-fg);font:750 var(--fs-body-sm)/1.25 var(--font-display)}.ria-risk-factor small{display:block;color:rgba(245,239,222,.72);font:var(--fs-micro)/1.35 var(--font-body)}.ria-opening__equation p{display:grid;grid-template-columns:1.5rem 1fr auto;gap:.65rem;align-items:center;margin:.35rem 0 0;padding:.8rem;border-radius:var(--radius-md);background:var(--ai-ink);color:var(--surface-inverse-fg);font-size:var(--fs-micro)}.ria-opening__equation p i{color:var(--ai-soft);font:900 1rem/1 var(--font-display);font-style:normal}.ria-opening__equation p span{line-height:1.3}.ria-opening__equation p b{padding:.4rem .55rem;border-radius:var(--radius-pill);background:var(--ai-base);color:#fff;font-size:var(--fs-micro);letter-spacing:.06em}
.ria-story{margin-top:var(--space-10)}.ria-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ai-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ai-wash),var(--bg-elevated))}.ria-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.ria-definition h2{max-width:14ch;margin:0}.ria-definition p,.ria-surfaces p,.ria-evidence p,.ria-matrix p,.ria-change p,.ria-monitor p{margin:0;color:var(--fg-muted);line-height:1.7}
.ria-surfaces{margin-top:var(--space-11)}.ria-surfaces header{max-width:46rem;margin-bottom:2rem}.ria-surfaces header h2{max-width:14ch;margin:.75rem 0}.ria-surfaces>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ria-surfaces article{min-height:14rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.ria-surfaces article:nth-child(2),.ria-surfaces article:nth-child(3){background:var(--ai-wash)}.ria-surfaces article>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.ria-surfaces h3{max-width:19ch;margin:3.2rem 0 .65rem;color:var(--fg);font:800 1.25rem/1.1 var(--font-display)}.ria-surfaces article p{font-size:var(--fs-body-sm);line-height:1.6}
.ria-evidence{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.ria-evidence figure{min-height:34rem;margin:0}.ria-evidence figure img{display:block;width:100%;height:100%;object-fit:cover}.ria-evidence>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.ria-evidence .eyebrow{color:var(--ai-soft)}.ria-evidence h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.ria-evidence p{color:rgba(245,239,222,.72)}
.ria-matrix{display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.ria-matrix header{align-self:start}.ria-matrix header h2{max-width:12ch;margin:.75rem 0 1rem}.ria-matrix ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.ria-matrix li{display:grid;grid-template-columns:2.5rem 1fr 7rem;gap:1rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--border)}.ria-matrix li>span{color:var(--ai-base);font:800 var(--fs-micro)/1 var(--font-display)}.ria-matrix li small{color:var(--fg-muted);font:700 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.ria-matrix h3{margin:.3rem 0;color:var(--fg);font:800 1.15rem/1.1 var(--font-display)}.ria-matrix li p{font-size:var(--fs-micro);line-height:1.5}.ria-matrix__level{height:.6rem;border-radius:var(--radius-pill);background:var(--play-base)}.ria-matrix__level--2{background:var(--award-gold)}.ria-matrix__level--3{background:var(--ai-base)}.ria-matrix__level--4{background:var(--ai-deep)}
.ria-change{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(18rem,.62fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.ria-change h2{max-width:12ch;margin:.75rem 0 1rem}.ria-change figure{justify-self:end;width:min(100%,22rem);margin:0;overflow:hidden;border-radius:var(--radius-xl);background:#000;box-shadow:var(--shadow-2)}.ria-change video{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.ria-monitor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--ai-ink);color:var(--surface-inverse-fg)}.ria-monitor figure{min-height:30rem;margin:0}.ria-monitor figure img{display:block;width:100%;height:100%;object-fit:cover}.ria-monitor>div{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.ria-monitor .eyebrow{color:var(--ai-soft)}.ria-monitor h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--font-display)}.ria-monitor p{color:rgba(245,239,222,.72)}
.ria-process{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11)}.ria-process>div{position:sticky;top:2rem;align-self:start}.ria-process h2{max-width:12ch;margin:.75rem 0}.ria-process ol{list-style:none;margin:0;padding:0}.ria-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--border)}.ria-process li:last-child{border-bottom:1px solid var(--border)}.ria-process li>span{color:var(--ai-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.ria-process h3{margin:0 0 .4rem;color:var(--fg);font:700 1.1rem/1.2 var(--font-display)}.ria-process li p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.ria-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.ria-deliverables .eyebrow{color:var(--ai-soft)}.ria-deliverables h2{max-width:14ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.ria-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.ria-deliverables li{padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--surface-inverse-fg);font:650 var(--fs-body-sm)/1.35 var(--font-body)}.app--risk-analysis .sp-approach__list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.app--risk-analysis .sp-hero__layout,.ria-opening,.ria-definition>div,.ria-evidence,.ria-matrix,.ria-change,.ria-monitor,.ria-process,.ria-deliverables{grid-template-columns:1fr}.ria-process>div{position:static}.ria-evidence figure{min-height:27rem}.ria-change figure{justify-self:start}.ria-monitor figure{min-height:25rem}}
@media(max-width:620px){.app--risk-analysis .sp-hero{padding:1.5rem}.ria-hero{min-height:27rem}.ria-hero figure{inset:1rem 0 3.5rem}.ria-hero__register{right:.5rem;width:86%}.ria-opening,.ria-story{margin-top:var(--space-9)}.ria-surfaces>div,.ria-deliverables ul,.app--risk-analysis .sp-approach__list{grid-template-columns:1fr}.ria-surfaces article{min-height:0}.ria-surfaces h3{margin-top:2.5rem}.ria-definition,.ria-change,.ria-deliverables{padding:1.25rem}.ria-evidence figure{min-height:21rem}.ria-matrix li{grid-template-columns:2rem 1fr}.ria-matrix__level{grid-column:2}.ria-change figure{width:min(100%,18rem)}.ria-monitor figure{min-height:20rem}}
@media(prefers-reduced-motion:reduce){.ria-hero__badge{transform:none}.ria-change{grid-template-columns:1fr}.ria-change figure{display:none}}

@media (max-width: 900px) {
  .vd-definition__grid, .vd-process, .vd-deliverables { grid-template-columns: 1fr; gap: 1.75rem; }
  .vd-outcomes { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .vd-definition, .vd-building-blocks, .vd-deliverables { padding: 1.75rem 1.25rem; }
  .vd-outcomes, .vd-blocks, .vd-deliverables ul { grid-template-columns: 1fr; }
  .vd-outcome { min-height: 0; }
  .vd-outcome__num { margin-bottom: 1.5rem; }
  .vd-block { grid-template-columns: 3rem 1fr; padding: 1rem; }
  .vd-block__mark { width: 3rem; height: 3rem; }
  .vd-process { gap: 2rem; }
}

/* =========================================================
   Article pages (pages/notebook/*.html)
   ========================================================= */
.art-page { padding-top: 0; }

.art-hero {
  position: relative; margin-top: 0;
  padding: 44px 56px 52px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  overflow: hidden; isolation: isolate;
}
.art-hero--ux   { background: var(--ux-wash);   border-color: var(--ux-tint); }
.art-hero--ai   { background: var(--ai-wash);   border-color: var(--ai-tint); }
.art-hero--play { background: var(--play-wash);  border-color: var(--play-tint); }
.theme-dark .art-hero { background: var(--bg-elevated); border-color: var(--border); }
.art-hero__pattern {
  position: absolute; inset: 0; z-index: -1;
  background: url("../assets/bg-pattern.svg") center/480px repeat;
  opacity: 0.4; mix-blend-mode: multiply;
}
.theme-dark .art-hero__pattern { opacity: 0.04; mix-blend-mode: normal; }
.art-hero__meta { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.art-hero__tag {
  font: 700 var(--fs-micro)/1 var(--font-body);
  letter-spacing: 0.1em; text-transform: uppercase;
  padding: 5px 10px; border-radius: var(--radius-pill);
}
.art-hero__tag--ux   { background: var(--ux-tint);   color: var(--ux-ink);   border: 1px solid var(--ux-soft); }
.art-hero__tag--ai   { background: var(--ai-tint);   color: var(--ai-ink);   border: 1px solid var(--ai-soft); }
.art-hero__tag--play { background: var(--play-tint); color: var(--play-ink); border: 1px solid var(--play-soft); }
.art-hero__date { font: 400 var(--fs-body-sm)/1 var(--font-body); color: var(--fg-muted); }
.art-hero__title {
  font: 800 clamp(32px,4vw,54px)/1.05 var(--font-display);
  letter-spacing: var(--tracking-tight);
  color: var(--fg); margin: 0 0 20px; text-wrap: pretty; max-width: 22ch;
}
.art-hero__intro {
  font: 400 19px/1.6 var(--font-body);
  color: var(--fg-muted); margin: 0; max-width: 64ch; text-wrap: pretty;
}
.art-hero__img { margin-top: 32px; border-radius: var(--radius-lg); overflow: hidden;  }
.art-hero__img img { width: 100%; height: auto; display: block; }

.art-body { max-width: 720px; margin: var(--space-9) 0; display: flex; flex-direction: column; gap: 40px; }
.art-section__h { font: 700 26px/1.2 var(--font-display); letter-spacing: var(--tracking-tight); color: var(--fg); margin: 0 0 14px; }
.art-section__p { font: 400 17px/1.72 var(--font-body); color: var(--fg-muted); margin: 0 0 14px; text-wrap: pretty; }
.art-section__p:last-child { margin-bottom: 0; }

.art-footer-row { padding: var(--space-7) 0 var(--space-8); border-top: 1px solid var(--border); }
.art-back { font: 600 var(--fs-body-sm)/1 var(--font-body); text-decoration: none; transition: color var(--dur-fast); }
.art-back--ux   { color: var(--ux-base); } .art-back--ux:hover   { color: var(--ux-deep); }
.art-back--ai   { color: var(--ai-base); } .art-back--ai:hover   { color: var(--ai-deep); }
.art-back--play { color: var(--play-base); } .art-back--play:hover { color: var(--play-deep); }

@media (max-width: 700px) { .art-hero { padding: 28px 20px 36px; } .art-body { margin: 40px 0; } }

/* AI like fire — an image-led editorial notebook story. */
.app--article-ai-like-fire .art-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(26rem,1.15fr);grid-template-rows:auto 1fr auto;gap:1.5rem 4rem;min-height:38rem;padding:clamp(2rem,5vw,5rem);background:var(--ink-900);border-color:color-mix(in srgb,var(--ai-base) 35%,transparent);color:var(--paper-50)}
.app--article-ai-like-fire .art-hero__pattern{opacity:.08;mix-blend-mode:screen}
.app--article-ai-like-fire .art-hero__meta{grid-column:1;margin:0;align-self:start}.app--article-ai-like-fire .art-hero__date,.app--article-ai-like-fire .art-hero__meta a{color:color-mix(in srgb,var(--paper-50) 70%,transparent)!important}
.app--article-ai-like-fire .art-hero__title{grid-column:1;align-self:end;margin:0;color:var(--paper-50);font-size:clamp(3rem,6vw,6.5rem);max-width:9ch;line-height:.92}
.app--article-ai-like-fire .art-hero__intro{grid-column:1;margin:0;color:color-mix(in srgb,var(--paper-50) 78%,transparent);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55;max-width:39ch}
.app--article-ai-like-fire .art-hero__img{grid-column:2;grid-row:1/4;min-height:32rem;margin:0;border-radius:var(--radius-xl)}
.app--article-ai-like-fire .art-hero__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.08)}
.app--article-ai-like-fire .art-body{max-width:none;gap:clamp(4rem,9vw,8rem);margin:var(--space-10) 0}
.app--article-ai-like-fire .art-section{max-width:48rem;margin:0 auto}
.app--article-ai-like-fire .art-section__h{font-size:clamp(2rem,4vw,4rem);line-height:1.02;max-width:14ch;margin-bottom:1.5rem}
.app--article-ai-like-fire .art-section__p{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.72}
.app--article-ai-like-fire .art-section--opening{max-width:64rem;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.app--article-ai-like-fire .art-section--opening .art-section__h{position:sticky;top:6rem;grid-column:1;grid-row:1/-1;align-self:start}
.app--article-ai-like-fire .art-section--opening .art-section__p{grid-column:2}
.app--article-ai-like-fire .art-section--wide{max-width:none}
.app--article-ai-like-fire .art-section--wide>.art-section__h,.app--article-ai-like-fire .art-section--wide>.art-section__p,.app--article-ai-like-fire .art-section--wide>div:not(.art-media-grid){max-width:48rem;margin-left:auto;margin-right:auto}
.art-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2rem,5vw,4rem);align-items:start}
.art-media-grid--1{grid-template-columns:1fr}.art-media{margin:0;overflow:hidden;border-radius:var(--radius-xl);background:var(--bg-elevated);border:1px solid var(--border)}
.art-media img{display:block;width:100%;height:clamp(22rem,42vw,38rem);object-fit:cover}.art-media-grid--2 .art-media:nth-child(2){margin-top:clamp(3rem,7vw,7rem)}
.art-media figcaption{padding:.8rem 1rem;color:var(--fg-muted);font-size:var(--fs-micro);line-height:1.4}
.app--article-ai-like-fire .art-section--dark{max-width:none;padding:clamp(2rem,6vw,6rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}
.app--article-ai-like-fire .art-section--dark .art-section__h{color:var(--paper-50)}.app--article-ai-like-fire .art-section--dark .art-section__p{color:color-mix(in srgb,var(--paper-50) 72%,transparent);max-width:48rem}
.app--article-ai-like-fire .art-section--dark>div{max-width:48rem;background:color-mix(in srgb,var(--paper-50) 7%,transparent)!important;border-color:color-mix(in srgb,var(--paper-50) 18%,transparent)!important}
.app--article-ai-like-fire .art-section--dark>div p{color:color-mix(in srgb,var(--paper-50) 78%,transparent)!important}.app--article-ai-like-fire .art-section--dark>div div{color:var(--paper-50)!important}
@media(max-width:900px){.app--article-ai-like-fire .art-hero{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}.app--article-ai-like-fire .art-hero__meta,.app--article-ai-like-fire .art-hero__title,.app--article-ai-like-fire .art-hero__intro,.app--article-ai-like-fire .art-hero__img{grid-column:1;grid-row:auto}.app--article-ai-like-fire .art-hero__img{height:28rem;min-height:0}.app--article-ai-like-fire .art-section--opening{grid-template-columns:1fr}.app--article-ai-like-fire .art-section--opening .art-section__h{position:static}}
@media(max-width:620px){.app--article-ai-like-fire .art-hero{padding:1.5rem;gap:1.25rem}.app--article-ai-like-fire .art-hero__title{font-size:3.25rem}.app--article-ai-like-fire .art-hero__img{height:21rem}.art-media-grid{grid-template-columns:1fr}.art-media-grid--2 .art-media:nth-child(2){margin-top:0}.art-media img{height:22rem}.app--article-ai-like-fire .art-section--dark{padding:1.5rem}}

/* AI category overviews */
.app--ai-strategy .sp-hero,.app--ai-in-loop .sp-hero,.app--prototyping-llms .sp-hero,.app--ai-ethics .sp-hero{min-height:auto;padding-bottom:3rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ai-wash) 70%,var(--bg)))}
.app--ai-strategy .sp-hero__layout,.app--ai-in-loop .sp-hero__layout,.app--prototyping-llms .sp-hero__layout,.app--ai-ethics .sp-hero__layout{grid-template-columns:minmax(20rem,.78fr) minmax(30rem,1.22fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.aio-hero{position:relative;min-height:31rem}.aio-hero figure{position:absolute;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ai-base) 25%,var(--border));background:var(--bg-elevated);box-shadow:var(--shadow-md)}.aio-hero img{width:100%;height:100%;object-fit:cover}.aio-hero__main{inset:0 22% 4% 0;border-radius:2rem}.aio-hero__support{inset:8% 0 28% 54%;border-radius:1.5rem}.aio-hero__path{position:absolute;left:6%;right:2%;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:1rem;border-radius:1rem;background:var(--ink-900);color:var(--paper-50);box-shadow:var(--shadow-lg)}.aio-hero__path span{display:flex;flex-direction:column;gap:.35rem;padding:.2rem .65rem;border-left:1px solid color-mix(in srgb,var(--paper-50) 20%,transparent);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em}.aio-hero__path b{color:var(--ai-base);font-size:var(--fs-micro)}.aio-hero__badge{position:absolute;top:3%;right:1%;padding:.65rem .8rem;border-radius:999px;background:var(--ai-base);color:var(--ink-900);font-size:var(--fs-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.aio-hero--ai-in-loop .aio-hero__main{inset:0 8% 5%}.aio-hero--ai-in-loop .aio-hero__main img{object-position:50% 38%}.aio-hero--ai-in-loop .aio-hero__path{left:0;right:0}.aio-hero--prototyping-llms .aio-hero__main img,.aio-hero--ai-ethics .aio-hero__main img{object-position:center 43%}
.aio-story{margin-top:var(--space-9)}.aio-opening{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,8vw,8rem);align-items:start;padding:clamp(2rem,5vw,5rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.aio-opening .eyebrow{grid-column:1/-1}.aio-opening h2{max-width:14ch}.aio-opening p{max-width:39rem;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.65;color:var(--text-muted)}
.aio-principle{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,7rem);margin-top:var(--space-7);padding:clamp(2rem,5vw,5rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}.aio-principle blockquote{margin:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(2rem,4vw,4.3rem);line-height:1.03}.aio-principle ol{display:grid;margin:0;padding:0;list-style:none}.aio-principle li{display:grid;grid-template-columns:2.5rem 1fr;align-items:center;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,var(--paper-50) 18%,transparent);font-size:var(--fs-body-sm);text-transform:uppercase;letter-spacing:.09em}.aio-principle li span{color:var(--ai-base);font-size:var(--fs-micro)}
.aio-services{margin-top:var(--space-9)}.aio-services>header{display:grid;grid-template-columns:.6fr 1.4fr;gap:2rem;align-items:end;margin-bottom:var(--space-6)}.aio-services>header h2{max-width:15ch}.aio-services__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.aio-service{display:grid;grid-template-columns:42% 58%;min-height:21rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.aio-service:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.aio-service figure{margin:0;overflow:hidden}.aio-service figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.aio-service:hover figure img{transform:scale(1.035)}.aio-service>div{display:flex;flex-direction:column;padding:clamp(1.25rem,2.5vw,2.25rem)}.aio-service span{color:var(--text-muted);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.aio-service h3{margin:1rem 0 .75rem;font-family:var(--font-display);font-size:clamp(1.5rem,2.3vw,2.4rem);line-height:1}.aio-service p{color:var(--text-muted);line-height:1.55}.aio-service b{margin-top:auto;padding-top:1rem;color:var(--ai-accent);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.07em}
@media(max-width:1000px){.app--ai-strategy .sp-hero__layout,.app--ai-in-loop .sp-hero__layout,.app--prototyping-llms .sp-hero__layout,.app--ai-ethics .sp-hero__layout{grid-template-columns:1fr}.aio-hero{min-height:29rem}.aio-services__grid{grid-template-columns:1fr}}
@media(max-width:700px){.app--ai-strategy .sp-hero,.app--ai-in-loop .sp-hero,.app--prototyping-llms .sp-hero,.app--ai-ethics .sp-hero{padding:1.5rem}.aio-hero{min-height:20rem}.aio-hero__main,.aio-hero--ai-in-loop .aio-hero__main{inset:0 0 6%}.aio-hero__support{display:none}.aio-hero__path{left:.5rem;right:.5rem;grid-template-columns:repeat(2,1fr);gap:.5rem}.aio-hero__badge{top:.75rem;right:.75rem}.aio-opening,.aio-principle,.aio-services>header{grid-template-columns:1fr}.aio-story{margin-top:var(--space-7)}.aio-service{grid-template-columns:1fr;min-height:0}.aio-service figure{height:12rem}.aio-service>div{min-height:18rem}}
@media(prefers-reduced-motion:reduce){.aio-service,.aio-service figure img{transition:none}}

/* Readable numbered sequences: numbers are information, not micro-decoration. */
.aio-hero{padding-bottom:5.5rem}
.aio-hero__path{min-height:7rem;align-items:center;padding:1.25rem}
.aio-hero__path span{gap:.55rem;padding:.4rem 1rem;font-size:1.65rem;line-height:1.08;letter-spacing:.025em}
.aio-hero__path b{font-size:1.55rem;line-height:1}
.aio-principle li{grid-template-columns:4rem 1fr;min-height:5.5rem;padding:1.25rem 0;font-size:1.65rem;line-height:1.12;letter-spacing:.035em}
.aio-principle li span{font-size:1.55rem;line-height:1}

/* The same sequence pattern elsewhere: smaller than the editorial overview,
   but never reduced to caption-size text. */
.st-control__content li,.tc-evidence__content li,.tc-gate__content li{grid-template-columns:3.5rem 1fr}
.st-control__content li>span,.tc-evidence__content li>span,.tc-gate__content li>span,
.vd-process__steps>li>span,.wf-lab__steps li>span,.a11y-evidence__steps li>span,
.a11y-process__steps li>span,.bias-process li>span,.privacy-principles li>span,
.privacy-process li>span,.explain-process li>span{font-size:1rem;line-height:1.2}
.rapid-loop time{font-size:1rem}.rapid-loop li span{font-size:var(--fs-body-sm)}
.hu-handoff li,.mvb-exit li{grid-template-columns:3.25rem 1fr auto}
.hu-handoff li span,.mvb-exit li span{font-size:1rem}
.hu-handoff li b,.mvb-exit li b{font-size:1rem;line-height:1.25}
.explain-layers li>span{font-size:var(--fs-body-sm);line-height:1.2}

@media(max-width:900px){.aio-hero{padding-bottom:7rem}.aio-hero__path{grid-template-columns:repeat(2,minmax(0,1fr));min-height:9rem}.aio-hero__path span{font-size:1.2rem}.aio-hero__path b{font-size:1.1rem}}
@media(max-width:700px){.aio-hero{min-height:28rem;padding-bottom:10rem}.aio-hero__path{min-height:11rem;padding:.75rem}.aio-hero__path span{padding:.35rem .6rem;font-size:1rem}.aio-hero__path b{font-size:1rem}.aio-principle li{grid-template-columns:3rem 1fr;min-height:4.5rem;font-size:1.15rem}.aio-principle li span{font-size:1.05rem}}

/* Keep the prototyping hero's process labels compact inside the visual. */
.aio-hero--prototyping-llms .aio-hero__support{display:none}
.aio-hero--prototyping-llms .aio-hero__main{inset:0 0 4%}
.app--prototyping-llms .aio-hero__path span{font-size:1.1rem}
.app--prototyping-llms .aio-hero__path b{font-size:var(--fs-body-sm)}
@media(max-width:700px){.app--prototyping-llms .aio-hero__path span{font-size:var(--fs-body-sm)}.app--prototyping-llms .aio-hero__path b{font-size:var(--fs-body-sm)}}

/* UX overview — real work, paced as an editorial journey. */
.app--ux-design .sp-hero{min-height:auto;padding-bottom:3rem;background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-wash) 72%,var(--bg)))}
.app--ux-design .sp-hero__layout{grid-template-columns:minmax(20rem,.78fr) minmax(31rem,1.22fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.pmo-hero{position:relative;min-height:31rem}.pmo-hero figure{position:absolute;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--play-base) 25%,var(--border));background:var(--bg-elevated);box-shadow:var(--shadow-md)}.pmo-hero img{width:100%;height:100%;object-fit:cover}.pmo-hero__main{inset:0 22% 4% 0;border-radius:2rem}.pmo-hero__support{inset:8% 0 28% 54%;border-radius:1.5rem}.pmo-hero__path{position:absolute;left:6%;right:2%;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:1rem;border-radius:1rem;background:var(--ink-900);color:var(--paper-50);box-shadow:var(--shadow-lg)}.pmo-hero__path span{display:flex;flex-direction:column;gap:.35rem;padding:.2rem .65rem;border-left:1px solid color-mix(in srgb,var(--paper-50) 20%,transparent);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em}.pmo-hero__path b{color:var(--play-base);font-size:var(--fs-micro)}.pmo-hero__badge{position:absolute;top:3%;right:1%;padding:.65rem .8rem;border-radius:999px;background:var(--play-base);color:var(--ink-900);font-size:var(--fs-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pmo-story{margin-top:var(--space-9)}.pmo-opening{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,8vw,8rem);align-items:start;padding:clamp(2rem,5vw,5rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}.pmo-opening .eyebrow{grid-column:1/-1}.pmo-opening h2{max-width:14ch}.pmo-opening p{max-width:39rem;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.65;color:var(--text-muted)}
.pmo-principle{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,7rem);margin-top:var(--space-7);padding:clamp(2rem,5vw,5rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}.pmo-principle blockquote{margin:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.6rem);line-height:1.03}.pmo-principle ol{display:grid;margin:0;padding:0;list-style:none}.pmo-principle li{display:grid;grid-template-columns:2.5rem 1fr;align-items:center;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,var(--paper-50) 18%,transparent);font-size:var(--fs-body-sm);text-transform:uppercase;letter-spacing:.09em}.pmo-principle li span{color:var(--play-base);font-size:var(--fs-micro)}
.pmo-services{margin-top:var(--space-9)}.pmo-services>header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:var(--space-6)}.pmo-services>header h2{max-width:26ch}.pmo-services__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pmo-service{display:grid;grid-template-columns:42% 58%;min-height:21rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.pmo-service:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pmo-service figure{margin:0;overflow:hidden}.pmo-service figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.pmo-service:hover figure img{transform:scale(1.035)}.pmo-service>div{display:flex;flex-direction:column;padding:clamp(1.25rem,2.5vw,2.25rem)}.pmo-service span{color:var(--text-muted);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pmo-service h3{margin:1rem 0 .75rem;font-family:var(--font-display);font-size:clamp(1.5rem,2.3vw,2.4rem);line-height:1}.pmo-service p{color:var(--text-muted);line-height:1.55}.pmo-service b{margin-top:auto;padding-top:1rem;color:var(--play-base);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.07em}
.app--sketch-delivery .sp-hero__layout,.app--3d-print .sp-hero__layout,.app--cnc .sp-hero__layout,.app--traditional-craft .sp-hero__layout{grid-template-columns:minmax(20rem,.78fr) minmax(30rem,1.22fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
@media(max-width:1000px){.app--sketch-delivery .sp-hero__layout,.app--3d-print .sp-hero__layout,.app--cnc .sp-hero__layout,.app--traditional-craft .sp-hero__layout{grid-template-columns:1fr}.pmo-hero{min-height:29rem}.pmo-services__grid{grid-template-columns:1fr}}
.uxo-hero{position:relative;min-height:32rem;padding-bottom:5rem}
.uxo-hero figure{position:absolute;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ux-base) 24%,var(--border));background:var(--bg-elevated);box-shadow:var(--shadow-md)}
.uxo-hero img{width:100%;height:100%;object-fit:cover}
.uxo-hero__main{inset:0 12% 7% 0;border-radius:2rem}.uxo-hero__main img{object-position:center top}
.uxo-hero__support{inset:8% 0 31% 62%;border-radius:1.5rem}.uxo-hero__support img{object-position:center}
.uxo-hero__path{position:absolute;left:6%;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:6.5rem;align-items:center;padding:1rem;border-radius:1rem;background:var(--ink-900);color:var(--paper-50);box-shadow:var(--shadow-lg)}
.uxo-hero__path span{display:flex;flex-direction:column;gap:.4rem;padding:.3rem .75rem;border-left:1px solid color-mix(in srgb,var(--paper-50) 20%,transparent);font-size:var(--fs-body-sm);text-transform:uppercase;letter-spacing:.055em}.uxo-hero__path b{color:var(--ux-base);font-size:var(--fs-micro)}
.uxo-hero__badge{position:absolute;top:3%;right:1%;padding:.65rem .85rem;border-radius:999px;background:var(--ux-base);color:var(--paper-50);font-size:var(--fs-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.uxo-story{margin-top:var(--space-9)}
.uxo-opening{display:grid;grid-template-columns:minmax(0,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,8vw,8rem);align-items:end;padding:clamp(2rem,5vw,5rem);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated)}
.uxo-opening .eyebrow{grid-column:1/-1}.uxo-opening h2{max-width:13ch;margin:0}.uxo-opening p{max-width:42rem;margin:0;color:var(--fg-muted);font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.65}
.uxo-principle{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,7rem);margin-top:var(--space-7);padding:clamp(2rem,5vw,5rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}
.uxo-principle blockquote{margin:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(2rem,4vw,4.2rem);line-height:1.03}.uxo-principle ol{display:grid;margin:0;padding:0;list-style:none}
.uxo-principle li{display:grid;grid-template-columns:3.5rem 1fr;align-items:center;min-height:4.75rem;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,var(--paper-50) 18%,transparent);font-size:1.2rem;text-transform:uppercase;letter-spacing:.045em}.uxo-principle li span{color:var(--ux-base);font-size:1rem}
.uxo-context{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);min-height:35rem;margin-top:var(--space-11);overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}
.uxo-context figure{margin:0;min-height:35rem}.uxo-context img{display:block;width:100%;height:100%;object-fit:cover}.uxo-context>div{align-self:center;padding:clamp(2rem,5vw,4rem)}.uxo-context .eyebrow{color:var(--ux-soft)}.uxo-context h2{max-width:11ch;margin:.8rem 0 1rem;color:var(--paper-50)}.uxo-context p{max-width:38rem;margin:0;color:color-mix(in srgb,var(--paper-50) 70%,transparent);font-size:1.05rem;line-height:1.7}
.uxo-work{margin-top:var(--space-11)}.uxo-work>header{display:grid;grid-template-columns:.65fr 1.35fr;gap:2rem;align-items:end;margin-bottom:var(--space-7)}.uxo-work>header h2{max-width:15ch;margin:0}
.uxo-feature{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.uxo-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.uxo-feature figure{margin:0;overflow:hidden}.uxo-feature img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.uxo-feature:hover img{transform:scale(1.025)}
.uxo-feature>div{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,3rem)}.uxo-feature span{color:var(--fg-muted);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.uxo-feature h3{margin:1rem 0 .8rem;font-family:var(--font-display);font-size:clamp(2rem,3.6vw,4rem);line-height:.98}.uxo-feature p{max-width:42ch;margin:0;color:var(--fg-muted);font-size:1rem;line-height:1.65}.uxo-feature b{margin-top:auto;padding-top:1.5rem;color:var(--ux-base);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.07em}
.uxo-feature--structure{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(21rem,.65fr);min-height:35rem;background:var(--ink-900);color:var(--paper-50)}.uxo-feature--structure figure{min-height:35rem;padding:clamp(1rem,2.5vw,2rem);background:color-mix(in srgb,var(--ux-wash) 65%,var(--paper-50))}.uxo-feature--structure img{object-fit:contain}.uxo-feature--structure>div{justify-content:center}.uxo-feature--structure h3{color:var(--paper-50)}.uxo-feature--structure p,.uxo-feature--structure span{color:color-mix(in srgb,var(--paper-50) 68%,transparent)}.uxo-feature--structure b{color:var(--ux-soft)}
.uxo-work__pair{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:1rem;margin-top:1rem}.uxo-work__pair .uxo-feature{display:grid;grid-template-rows:minmax(24rem,1fr) auto;min-height:43rem}.uxo-work__pair .uxo-feature>div{min-height:17rem}.uxo-feature--visual-design img{object-position:center}.uxo-feature--design-systems img{object-position:center 36%}
.uxo-feature--human{display:grid;grid-template-columns:minmax(20rem,.72fr) minmax(0,1.28fr);min-height:34rem;margin-top:1rem;background:color-mix(in srgb,var(--ux-wash) 72%,var(--bg-elevated))}.uxo-feature--human>div{justify-content:center}.uxo-feature--human figure{min-height:34rem}.uxo-feature--human img{object-position:center}
@media(max-width:1000px){.app--ux-design .sp-hero__layout{grid-template-columns:1fr}.uxo-hero{min-height:30rem}.uxo-work>header{grid-template-columns:1fr 1.4fr}.uxo-feature--structure{grid-template-columns:1fr}.uxo-feature--structure figure{min-height:28rem}.uxo-feature--structure>div{min-height:20rem}.uxo-context{grid-template-columns:1fr}.uxo-context figure{min-height:29rem}.uxo-context>div{min-height:20rem}.uxo-work__pair{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.app--ux-design .sp-hero{padding:1.5rem}.uxo-hero{min-height:26rem;padding-bottom:9rem}.uxo-hero__main{inset:0 0 8%}.uxo-hero__support{display:none}.uxo-hero__path{left:.5rem;right:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));min-height:10rem;gap:.35rem;padding:.75rem}.uxo-hero__path span{padding:.35rem .6rem;font-size:var(--fs-body-sm)}.uxo-opening,.uxo-principle,.uxo-work>header{grid-template-columns:1fr}.uxo-opening .eyebrow{grid-column:auto}.uxo-principle li{grid-template-columns:3rem 1fr;font-size:1rem}.uxo-context figure{min-height:22rem}.uxo-context>div{min-height:0}.uxo-feature--structure figure{min-height:18rem}.uxo-work__pair{grid-template-columns:1fr}.uxo-work__pair .uxo-feature{min-height:0;grid-template-rows:18rem auto}.uxo-feature--human{grid-template-columns:1fr}.uxo-feature--human figure{grid-row:1;min-height:22rem}.uxo-feature--human>div{grid-row:2;min-height:19rem}}
@media(prefers-reduced-motion:reduce){.uxo-feature,.uxo-feature img{transition:none}}

/* Design leadership — operating conditions for better design work */
.app--design-leadership .sp-hero{min-height:auto;padding-bottom:3rem;background:linear-gradient(color-mix(in srgb,var(--ux-base) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ux-base) 14%,transparent) 1px,transparent 1px),linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-wash) 74%,var(--bg)));background-size:3.25rem 3.25rem,3.25rem 3.25rem,auto}
.app--design-leadership .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(30rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--design-leadership .sp-hero .display{max-width:9ch}
.dl-hero{position:relative;min-height:32rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--ux-base) 24%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--ink-900),color-mix(in srgb,var(--ux-base) 34%,var(--ink-900)));color:var(--paper-50);box-shadow:var(--shadow-3)}
.dl-hero__orbit{position:absolute;left:50%;top:50%;width:19rem;height:19rem;border:1px solid color-mix(in srgb,var(--paper-50) 18%,transparent);border-radius:50%;transform:translate(-50%,-50%)}.dl-hero__orbit:before,.dl-hero__orbit:after{content:"";position:absolute;inset:2.8rem;border:1px dashed color-mix(in srgb,var(--paper-50) 18%,transparent);border-radius:50%}.dl-hero__orbit:after{inset:6.2rem;background:color-mix(in srgb,var(--ux-base) 42%,transparent);border-style:solid}
.dl-hero section,.dl-hero__decision,.dl-hero__badge{position:absolute;z-index:2;border:1px solid color-mix(in srgb,var(--paper-50) 14%,transparent);background:rgba(14,13,10,.72);backdrop-filter:blur(16px);box-shadow:var(--shadow-2)}
.dl-hero section{width:min(16rem,42%);padding:1rem;border-radius:var(--radius-lg)}.dl-hero section span,.dl-hero__decision span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.dl-hero section strong{display:block;margin:.75rem 0 .35rem;color:#fff;font:800 clamp(1.25rem,2.4vw,2rem)/1.02 var(--font-display)}.dl-hero section small{display:block;color:color-mix(in srgb,var(--paper-50) 68%,transparent);font:600 var(--fs-micro)/1.35 var(--font-body)}
.dl-hero__team{left:50%;top:50%;width:13rem!important;aspect-ratio:1;display:grid;place-content:center;text-align:center;border-radius:50%!important;transform:translate(-50%,-50%);background:var(--paper-50)!important;color:var(--ink-900)}.dl-hero__team span{color:var(--ux-base)!important}.dl-hero__team strong{color:var(--ink-900)!important;font-size:clamp(2.5rem,4vw,4rem)!important}.dl-hero__team small{color:var(--ink-700)!important}
.dl-hero__ritual--crit{left:1.2rem;top:1.4rem}.dl-hero__ritual--career{right:1.2rem;top:5rem}.dl-hero__ritual--delivery{left:7%;bottom:3rem}.dl-hero__decision{right:1.2rem;bottom:1.2rem;width:min(20rem,48%);padding:1rem;border-radius:var(--radius-lg)}.dl-hero__decision p{margin:.75rem 0 0;color:var(--paper-50);font:800 clamp(1.05rem,1.7vw,1.35rem)/1.18 var(--font-display)}
.dl-hero__badge{left:1.2rem;top:50%;padding:.65rem .8rem;border-radius:var(--radius-sm);color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;transform:rotate(-2deg)}
.dl-story{margin-top:var(--space-10)}.dl-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.dl-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.dl-definition h2{max-width:13ch;margin:0}.dl-definition p,.dl-operating-model header p,.dl-culture p,.dl-collaboration p{margin:0;color:var(--fg-muted);line-height:1.7}
.dl-operating-model{margin-top:var(--space-11)}.dl-operating-model header{display:grid;grid-template-columns:minmax(0,.72fr) minmax(18rem,.8fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2rem}.dl-operating-model header .eyebrow{grid-column:1/-1}.dl-operating-model h2{max-width:12ch;margin:.75rem 0 0}.dl-operating-model__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}.dl-operating-model article{min-height:18rem;padding:1.4rem;background:var(--bg-elevated)}.dl-operating-model article:nth-child(2),.dl-operating-model article:nth-child(3){background:var(--ux-wash)}.dl-operating-model article:nth-child(4){background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.dl-operating-model article>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.dl-operating-model article:nth-child(4)>span{color:var(--ux-soft)}.dl-operating-model h3{margin:4rem 0 .7rem;color:var(--fg);font:800 1.25rem/1.08 var(--font-display)}.dl-operating-model article:nth-child(4) h3{color:#fff}.dl-operating-model article p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}.dl-operating-model article:nth-child(4) p{color:color-mix(in srgb,var(--paper-50) 72%,transparent)}
.dl-culture{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.dl-culture__board{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.dl-culture__board>span{display:block;margin-bottom:.8rem;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.dl-culture__board p{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;align-items:center;margin:0;padding:1rem 0;border-top:1px solid var(--border);color:var(--fg);font-weight:700}.dl-culture__board p b{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.dl-culture__board strong{display:block;margin-top:1rem;color:var(--fg);font:800 1.2rem/1.15 var(--font-display)}.dl-culture h2{max-width:12ch;margin:.75rem 0 1rem}
.dl-collaboration{display:grid;grid-template-columns:minmax(18rem,.74fr) minmax(0,1.26fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}.dl-collaboration .eyebrow{color:var(--ux-soft)}.dl-collaboration h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.9rem,3.3vw,3.2rem)/1 var(--font-display)}.dl-collaboration p{color:color-mix(in srgb,var(--paper-50) 72%,transparent)}.dl-collaboration ol{list-style:none;margin:0;padding:0}.dl-collaboration li{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.dl-collaboration li:last-child{border-bottom:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.dl-collaboration li>span{color:var(--ux-soft);font:800 1rem/1 var(--font-display)}.dl-collaboration h3{margin:0 0 .4rem;color:#fff;font:800 1.1rem/1.15 var(--font-display)}
.dl-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}.dl-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.dl-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.dl-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.app--design-leadership .sp-hero__layout,.dl-definition>div,.dl-operating-model header,.dl-culture,.dl-collaboration,.dl-deliverables{grid-template-columns:1fr}.dl-operating-model header .eyebrow{grid-column:auto}.dl-operating-model__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app--design-leadership .sp-hero{padding:1.5rem}.dl-hero{min-height:34rem}.dl-hero__orbit{width:14rem;height:14rem}.dl-hero__team{width:9.5rem!important}.dl-hero__team strong{font-size:2.25rem!important}.dl-hero section{width:44%;padding:.85rem}.dl-hero__ritual--crit{left:.75rem;top:.75rem}.dl-hero__ritual--career{right:.75rem;top:4.2rem}.dl-hero__ritual--delivery{left:.75rem;bottom:5.7rem}.dl-hero__decision{right:.75rem;bottom:.75rem;width:62%;padding:.85rem}.dl-hero__badge{left:.75rem;top:auto;bottom:.75rem;max-width:33%;transform:none}.dl-story{margin-top:var(--space-9)}.dl-definition,.dl-collaboration,.dl-deliverables{padding:1.25rem}.dl-operating-model__grid,.dl-deliverables ul{grid-template-columns:1fr}.dl-operating-model article{min-height:0}.dl-operating-model h3{margin-top:2.5rem}.dl-collaboration li{grid-template-columns:2.5rem 1fr}}
@media(prefers-reduced-motion:reduce){.dl-hero__badge{transform:none}}

/* UX transformation — from output pressure to design-led product learning */
.app--ux-transformation .sp-hero{min-height:auto;padding-bottom:3rem;background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--ux-base) 18%,transparent),transparent 28%),linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-wash) 74%,var(--bg)))}.app--ux-transformation .sp-hero__layout{grid-template-columns:minmax(0,.82fr) minmax(30rem,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center}.app--ux-transformation .sp-hero .display{max-width:9ch}
.uxt-hero{display:flex;flex-direction:column;gap:1.5rem;padding:1.75rem 2rem 2rem;border:1px solid color-mix(in srgb,var(--ux-base) 24%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--paper-50),color-mix(in srgb,var(--ux-wash) 78%,var(--paper-50)));box-shadow:var(--shadow-3)}.theme-dark .uxt-hero{background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-base) 22%,var(--bg-elevated)))}
.uxt-hero__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.uxt-hero__rail{display:flex;align-items:center;gap:.6rem;color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.uxt-hero__rail i{width:2.5rem;height:2px;background:linear-gradient(90deg,var(--ux-base),var(--ink-900));border-radius:999px}
.uxt-hero__badge{padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:var(--paper-50);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;white-space:nowrap}
.uxt-hero__states{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.uxt-hero__state{flex:1 1 12rem;padding:1.1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.uxt-hero__state--after{background:var(--ink-900);color:var(--paper-50)}.uxt-hero__state span,.uxt-hero__signal>span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.uxt-hero__state--after span{color:var(--ux-soft)}.uxt-hero__state strong{display:block;margin:.7rem 0 .4rem;color:var(--fg);font:800 clamp(1.2rem,2.2vw,1.6rem)/1.1 var(--font-display)}.uxt-hero__state--after strong{color:#fff}.uxt-hero__state p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.45}.uxt-hero__state--after p{color:color-mix(in srgb,var(--paper-50) 70%,transparent)}
.uxt-hero__arrow{flex:0 0 auto;color:var(--ux-base);font-size:1.5rem;font-style:normal}
.uxt-hero__signal{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid color-mix(in srgb,var(--ux-base) 28%,var(--border));border-radius:var(--radius-lg);background:var(--paper-50);box-shadow:var(--shadow-1)}.theme-dark .uxt-hero__signal{background:var(--bg-elevated)}.uxt-hero__signal strong{color:var(--ux-base);font:800 2.75rem/1 var(--font-display)}.uxt-hero__signal small{display:block;color:var(--fg-muted);font:600 var(--fs-micro)/1.3 var(--font-body)}
.uxt-hero__loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);box-shadow:var(--shadow-1)}.uxt-hero__loop span{display:flex;flex-direction:column;gap:.4rem;min-height:5.5rem;padding:.9rem;background:var(--bg-elevated);color:var(--fg);font:800 var(--fs-body-sm)/1.08 var(--font-display)}.uxt-hero__loop b{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body)}
.uxt-story{margin-top:var(--space-10)}.uxt-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.uxt-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.uxt-definition h2{max-width:13ch;margin:0}.uxt-definition p,.uxt-shift header p,.uxt-momentum p,.uxt-sponsorship p,.uxt-scorecard p{margin:0;color:var(--fg-muted);line-height:1.7}
.uxt-shift{margin-top:var(--space-11)}.uxt-shift header{display:grid;grid-template-columns:minmax(0,.72fr) minmax(18rem,.8fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2rem}.uxt-shift header .eyebrow{grid-column:1/-1}.uxt-shift h2{max-width:12ch;margin:.75rem 0 0}.uxt-shift__map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.uxt-shift__map article{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.8rem;align-items:start;min-height:12rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.uxt-shift__map article:nth-child(2),.uxt-shift__map article:nth-child(3){background:var(--ux-wash)}.uxt-shift__map span{color:var(--ux-base);font:800 var(--fs-body-sm)/1 var(--font-display)}.uxt-shift__map h3,.uxt-shift__map strong{margin:0;color:var(--fg);font:800 1.2rem/1.08 var(--font-display)}.uxt-shift__map i{color:var(--ux-base);font-style:normal;font-weight:900}.uxt-shift__map p{grid-column:2/-1;margin:1.5rem 0 0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.uxt-momentum{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.uxt-momentum__visual{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.uxt-momentum__visual>span{display:block;margin-bottom:.8rem;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.uxt-momentum__visual p{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;align-items:center;margin:0;padding:1rem 0;border-top:1px solid var(--border);color:var(--fg);font-weight:700}.uxt-momentum__visual p b{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body)}.uxt-momentum__visual strong{display:block;margin-top:1rem;color:var(--fg);font:800 1.2rem/1.15 var(--font-display)}.uxt-momentum h2{max-width:13ch;margin:.75rem 0 1rem}
.uxt-sponsorship{display:grid;grid-template-columns:minmax(18rem,.74fr) minmax(0,1.26fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}.uxt-sponsorship .eyebrow{color:var(--ux-soft)}.uxt-sponsorship h2{max-width:13ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.9rem,3.3vw,3.2rem)/1 var(--font-display)}.uxt-sponsorship p{color:color-mix(in srgb,var(--paper-50) 72%,transparent)}.uxt-sponsorship ol{list-style:none;margin:0;padding:0}.uxt-sponsorship li{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.uxt-sponsorship li:last-child{border-bottom:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.uxt-sponsorship li>span{color:var(--ux-soft);font:800 1rem/1 var(--font-display)}.uxt-sponsorship h3{margin:0 0 .4rem;color:#fff;font:800 1.1rem/1.15 var(--font-display)}
.uxt-scorecard{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,5rem);align-items:start;margin-top:var(--space-11)}.uxt-scorecard h2{max-width:10ch;margin:.75rem 0 0;font:800 clamp(1.8rem,3vw,2.7rem)/1 var(--font-display)}.uxt-scorecard dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.uxt-scorecard dl>div{min-height:12rem;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.uxt-scorecard dt{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.uxt-scorecard dd{margin:1.3rem 0 .7rem;color:var(--ux-base);font:800 3.2rem/.8 var(--font-display)}
.uxt-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}.uxt-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.uxt-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.uxt-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.app--ux-transformation .sp-hero__layout,.uxt-definition>div,.uxt-shift header,.uxt-momentum,.uxt-sponsorship,.uxt-scorecard,.uxt-deliverables{grid-template-columns:1fr}.uxt-shift header .eyebrow{grid-column:auto}.uxt-scorecard dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app--ux-transformation .sp-hero{padding:1.5rem}.uxt-hero{padding:1.5rem}.uxt-hero__states{flex-direction:column;align-items:stretch}.uxt-hero__arrow{align-self:center;transform:rotate(90deg)}.uxt-hero__loop{grid-template-columns:repeat(2,minmax(0,1fr))}.uxt-hero__loop span{min-height:4.5rem}.uxt-story{margin-top:var(--space-9)}.uxt-definition,.uxt-sponsorship,.uxt-deliverables{padding:1.25rem}.uxt-shift__map,.uxt-scorecard dl,.uxt-deliverables ul{grid-template-columns:1fr}.uxt-shift__map article{grid-template-columns:2.5rem 1fr auto}.uxt-shift__map strong{grid-column:2/-1}.uxt-shift__map p{grid-column:2/-1;margin-top:.75rem}.uxt-sponsorship li{grid-template-columns:2.5rem 1fr}}
@media(prefers-reduced-motion:reduce){.uxt-hero__badge{transform:none}}

/* ── UX workshops hero ── */
.uxw-hero{position:relative;min-height:25rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--paper-50),color-mix(in srgb,var(--ux-wash) 76%,var(--paper-50)));box-shadow:var(--shadow-3)}
.theme-dark .uxw-hero{background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-base) 20%,var(--bg-elevated)))}
.uxw-hero__badge{position:absolute;left:50%;top:1.25rem;transform:translateX(-50%);z-index:4;padding:.6rem .9rem;border-radius:var(--radius-sm);background:var(--ux-base);color:var(--paper-50);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;white-space:nowrap}
.uxw-hero__card{position:absolute;z-index:2;top:4.25rem;width:min(11.5rem,30%);padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-2)}
.uxw-hero__card span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.uxw-hero__card strong{display:block;margin:.6rem 0 .3rem;color:var(--fg);font:800 clamp(1.05rem,1.8vw,1.3rem)/1.1 var(--font-display)}
.uxw-hero__card small{display:block;color:var(--fg-muted);font:600 var(--fs-micro)/1.35 var(--font-body)}
.uxw-hero__card--sprint{left:3%}
.uxw-hero__card--discovery{left:36%;top:3.5rem;z-index:3;box-shadow:var(--shadow-3)}
.uxw-hero__card--critique{left:69%}
.uxw-hero__room{position:absolute;left:50%;top:12.75rem;transform:translateX(-50%);width:9rem;aspect-ratio:1;display:grid;place-content:center;text-align:center;padding:.85rem;border-radius:50%;background:var(--ink-900);color:var(--paper-50);box-shadow:var(--shadow-3)}
.uxw-hero__room span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.uxw-hero__room strong{display:block;margin:.5rem 0 .2rem;color:#fff;font:800 1.9rem/1 var(--font-display)}
.uxw-hero__room small{color:color-mix(in srgb,var(--paper-50) 70%,transparent);font:600 var(--fs-micro)/1.3 var(--font-body)}

/* ── UX workshops opening ── */
.uxw-opening{display:grid;grid-template-columns:minmax(0,.88fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-11)}
.uxw-opening__copy .sp-intro{margin-top:1.25rem}
.uxw-opening .sp-pull-quote{margin-top:2.5rem}
.uxw-opening__card{padding:clamp(1.75rem,4vw,2.75rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ux-soft) 45%,var(--border));background:var(--ux-wash);box-shadow:var(--shadow-1)}
.uxw-opening__card span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.uxw-opening__card h2{max-width:16ch;margin:.8rem 0 1rem;color:var(--fg);font:800 clamp(1.6rem,3vw,2.35rem)/1.08 var(--font-display);letter-spacing:var(--tracking-tight)}
.uxw-opening__card p{max-width:32ch;margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}

/* ── UX workshops story ── */
.uxw-story{margin-top:var(--space-11)}
.uxw-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}
.uxw-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}
.uxw-definition h2{max-width:13ch;margin:0}
.uxw-definition p{margin:0;color:var(--fg-muted);line-height:1.7}
.uxw-formats{margin-top:var(--space-11)}
.uxw-formats header{max-width:60ch;margin-bottom:2rem}
.uxw-formats header p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.uxw-formats__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.uxw-formats__grid article{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);transition:transform var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base)}
.uxw-formats__grid article:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);border-color:var(--ux-soft)}
.uxw-formats__label{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.uxw-formats__grid h3{margin:0;color:var(--fg);font:700 1.2rem/1.15 var(--font-display);letter-spacing:var(--tracking-tight)}
.uxw-formats__grid p{margin:0;flex:1;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.6}
.uxw-formats__pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}
.uxw-formats__pills span{padding:.35rem .6rem;border-radius:var(--radius-pill);background:var(--ux-wash);border:1px solid var(--ux-tint);color:var(--ux-ink);font:500 var(--fs-micro)/1 var(--font-body);letter-spacing:.03em;text-transform:uppercase}
.uxw-process{margin-top:var(--space-11)}
.uxw-process header{max-width:56ch;margin-bottom:2rem}
.uxw-process__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.uxw-process__step{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.uxw-process__step>span{color:var(--ux-base);font:800 1.2rem/1 var(--font-display)}
.uxw-process__step h3{margin:0;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.uxw-process__step p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.uxw-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-top:var(--space-9);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}
.uxw-details__item{background:var(--bg-elevated);padding:1.4rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}
.uxw-details__item span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.uxw-details__item strong{color:var(--fg);font:700 1.15rem/1.15 var(--font-display);letter-spacing:var(--tracking-tight)}
.uxw-details__item small{color:var(--fg-muted);font-size:var(--fs-micro);line-height:1.4}
.uxw-outputs{margin-top:var(--space-11)}
.uxw-outputs header{max-width:60ch;margin-bottom:.5rem}
.uxw-outputs header p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.uxw-outputs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.5rem}
.uxw-outputs__item{display:flex;align-items:flex-start;gap:.9rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.1rem}
.uxw-outputs__item>span{flex:0 0 auto;margin-top:.1rem;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body)}
.uxw-outputs__item h3{margin:0 0 .25rem;color:var(--fg);font:700 var(--fs-body-sm)/1.2 var(--font-body)}
.uxw-outputs__item p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.uxw-quote{position:relative;margin-top:var(--space-11);padding:2.75rem 3.5rem;background:var(--ux-wash);border:1px solid var(--ux-tint);border-radius:var(--radius-xl)}
.uxw-quote__mark{position:absolute;top:1rem;left:2.5rem;color:var(--ux-soft);font:800 4.5rem/1 var(--font-display);pointer-events:none}
.uxw-quote p{max-width:72ch;margin:0 0 1rem;color:var(--fg);font:500 1.35rem/1.5 var(--font-display);letter-spacing:var(--tracking-tight)}
.uxw-quote cite{color:var(--fg-muted);font:500 var(--fs-body-sm)/1 var(--font-body);font-style:normal}
.uxw-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}
.uxw-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}
.uxw-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.uxw-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.uxw-opening,.uxw-definition>div,.uxw-deliverables{grid-template-columns:1fr}.uxw-formats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uxw-process__row{grid-template-columns:repeat(2,minmax(0,1fr))}.uxw-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.uxw-hero{min-height:38rem}.uxw-hero__card{width:70%;left:15%!important;top:auto!important}.uxw-hero__card--sprint{top:3.25rem!important}.uxw-hero__card--discovery{top:9rem!important}.uxw-hero__card--critique{top:14.75rem!important}.uxw-hero__room{top:21.5rem}.uxw-story{margin-top:var(--space-9)}.uxw-formats__grid,.uxw-process__row,.uxw-details,.uxw-outputs__grid,.uxw-deliverables ul{grid-template-columns:1fr}.uxw-quote{padding:2rem 1.5rem}.uxw-quote__mark{display:none}.uxw-deliverables{padding:1.25rem}}

/* ── Ideation hero ── */
.idea-hero{display:flex;flex-direction:column;gap:1.75rem;padding:1.75rem 2rem 2rem;border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--paper-50),color-mix(in srgb,var(--ux-wash) 76%,var(--paper-50)));box-shadow:var(--shadow-3)}
.theme-dark .idea-hero{background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-base) 20%,var(--bg-elevated)))}
.idea-hero__top{display:flex;justify-content:flex-end}
.idea-hero__badge{padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:var(--paper-50);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;white-space:nowrap}
.idea-hero__funnel{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:0 6%}
.idea-hero__funnel>span{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.idea-hero__funnel>span:last-child{color:var(--ux-base)}
.idea-hero__band{display:block;height:1.15rem;border-radius:var(--radius-pill);background:var(--ux-tint)}
.idea-hero__band--1{width:100%}
.idea-hero__band--2{width:66%;background:var(--ux-soft)}
.idea-hero__band--3{width:34%;background:var(--ux-base)}
.idea-hero__row{display:flex;gap:1rem;flex-wrap:wrap}
.idea-hero__hmw{flex:1 1 13rem;padding:1.1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-2)}
.idea-hero__hmw span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}
.idea-hero__hmw strong{display:block;margin-top:.6rem;color:var(--fg);font:800 clamp(1.1rem,2vw,1.4rem)/1.2 var(--font-display)}
.idea-hero__vote{flex:1 1 10rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--ink-900);color:var(--paper-50);box-shadow:var(--shadow-2)}
.idea-hero__vote span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}
.idea-hero__vote div{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0}
.idea-hero__vote div i{width:.6rem;height:.6rem;border-radius:50%;background:var(--ux-soft)}
.idea-hero__vote small{display:block;color:color-mix(in srgb,var(--paper-50) 68%,transparent);font:600 var(--fs-micro)/1.3 var(--font-body)}
@media(max-width:700px){.idea-hero{padding:1.5rem}.idea-hero__row{flex-direction:column}}

/* ── Business workshops hero ── */
.bizw-hero{display:flex;flex-direction:column;gap:1.5rem;padding:1.75rem 2rem 2rem;border:1px solid color-mix(in srgb,var(--ux-base) 24%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--ink-900),color-mix(in srgb,var(--ux-base) 30%,var(--ink-900)));color:var(--paper-50);box-shadow:var(--shadow-3)}
.bizw-hero__top{display:flex;justify-content:flex-end}
.bizw-hero__badge{padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:var(--paper-50);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;white-space:nowrap}
.bizw-hero__row{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:stretch}
.bizw-hero__grid{position:relative;flex:1 1 14rem;min-height:11rem;margin:1rem 1.5rem 1.5rem .5rem;border-left:1px solid color-mix(in srgb,var(--paper-50) 24%,transparent);border-bottom:1px solid color-mix(in srgb,var(--paper-50) 24%,transparent)}
.bizw-hero__axis-y{position:absolute;left:-.4rem;top:-1.4rem;color:color-mix(in srgb,var(--paper-50) 60%,transparent);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em}
.bizw-hero__axis-x{position:absolute;left:0;bottom:-1.6rem;color:color-mix(in srgb,var(--paper-50) 60%,transparent);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em}
.bizw-hero__dot{position:absolute;width:.85rem;height:.85rem;border-radius:50%;background:var(--ux-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--ux-soft) 30%,transparent)}
.bizw-hero__dot--1{left:20%;top:30%}
.bizw-hero__dot--2{left:55%;top:15%;width:1.15rem;height:1.15rem}
.bizw-hero__dot--3{left:70%;top:55%}
.bizw-hero__dot--4{left:35%;top:70%;width:.65rem;height:.65rem}
.bizw-hero__dot--5{left:85%;top:35%;width:.7rem;height:.7rem}
.bizw-hero__side{flex:1 1 12rem;display:flex;flex-direction:column;gap:1rem}
.bizw-hero__okr{flex:1;padding:1rem;border:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent);border-radius:var(--radius-lg);background:rgba(14,13,10,.68);backdrop-filter:blur(14px)}
.bizw-hero__okr span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}
.bizw-hero__okr strong{display:block;margin-top:.6rem;color:#fff;font:800 1.15rem/1.25 var(--font-display)}
.bizw-hero__signal{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem 1.1rem;border-radius:var(--radius-lg);background:var(--paper-50);box-shadow:var(--shadow-2)}
.bizw-hero__signal span{display:block;color:var(--ink-700);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em}
.bizw-hero__signal strong{display:block;margin:.35rem 0 .15rem;color:var(--ink-900);font:800 1.8rem/1 var(--font-display)}
.bizw-hero__signal small{color:var(--ink-700);font:600 var(--fs-micro)/1.25 var(--font-body)}
@media(max-width:700px){.bizw-hero{padding:1.5rem}.bizw-hero__row{flex-direction:column}.bizw-hero__grid{margin:1rem 1rem 2rem .5rem}}

/* ── Double-diamond hero ── */
.dd-hero{position:relative;min-height:26rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--paper-50),color-mix(in srgb,var(--ux-wash) 70%,var(--paper-50)));box-shadow:var(--shadow-3)}
.theme-dark .dd-hero{background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--ux-base) 18%,var(--bg-elevated)))}
.dd-hero__diamonds{position:absolute;left:8%;right:8%;top:2.5rem;height:11rem;display:flex}
.dd-hero__diamond{flex:1;margin:0 -1px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:var(--ux-tint);border:1px solid var(--ux-base)}
.dd-hero__diamond--2{background:var(--ux-wash)}
.dd-hero__phase{position:absolute;bottom:1.75rem;display:flex;flex-direction:column;gap:.35rem;text-align:center;width:6rem}
.dd-hero__phase span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em}
.dd-hero__phase strong{color:var(--fg);font:800 1rem/1.1 var(--font-display)}
.dd-hero__phase--discover{left:6%}
.dd-hero__phase--define{left:29%}
.dd-hero__phase--develop{left:54%}
.dd-hero__phase--deliver{left:78%}
.dd-hero__badge{position:absolute;left:1.2rem;top:1.2rem;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--ux-base);color:var(--paper-50);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;transform:rotate(-2deg)}
@media(max-width:700px){.dd-hero{min-height:30rem}.dd-hero__diamonds{top:1.75rem;height:9rem}.dd-hero__phase{width:5rem;bottom:1.25rem}.dd-hero__phase--discover{left:2%}.dd-hero__phase--define{left:27%}.dd-hero__phase--develop{left:52%}.dd-hero__phase--deliver{left:77%}}

/* ── Team building hero ── */
.tb-hero{position:relative;min-height:30rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--ux-base) 24%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--ink-900),color-mix(in srgb,var(--ux-base) 32%,var(--ink-900)));color:var(--paper-50);box-shadow:var(--shadow-3)}
.tb-hero__orbit{position:absolute;left:50%;top:50%;width:17rem;height:17rem;border:1px solid color-mix(in srgb,var(--paper-50) 18%,transparent);border-radius:50%;transform:translate(-50%,-50%)}
.tb-hero__orbit:before{content:"";position:absolute;inset:2.4rem;border:1px dashed color-mix(in srgb,var(--paper-50) 18%,transparent);border-radius:50%}
.tb-hero section,.tb-hero__team{position:absolute;z-index:2;border:1px solid color-mix(in srgb,var(--paper-50) 14%,transparent);background:rgba(14,13,10,.72);backdrop-filter:blur(16px);box-shadow:var(--shadow-2)}
.tb-hero section{width:min(14.5rem,40%);padding:1rem;border-radius:var(--radius-lg)}
.tb-hero section span{display:block;color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}
.tb-hero section strong{display:block;margin:.7rem 0 .3rem;color:#fff;font:800 clamp(1.1rem,2vw,1.5rem)/1.05 var(--font-display)}
.tb-hero section small{display:block;color:color-mix(in srgb,var(--paper-50) 68%,transparent);font:600 var(--fs-micro)/1.3 var(--font-body)}
.tb-hero__team{left:50%;top:50%;width:11.5rem!important;aspect-ratio:1;display:grid;place-content:center;text-align:center;border-radius:50%!important;transform:translate(-50%,-50%);background:var(--paper-50)!important;color:var(--ink-900)}
.tb-hero__team span{color:var(--ux-base)!important}
.tb-hero__team strong{color:var(--ink-900)!important;font-size:clamp(2rem,3.4vw,2.75rem)!important}
.tb-hero__team small{color:var(--ink-700)!important}
.tb-hero__stage--hire{left:1.2rem;top:1.5rem}
.tb-hero__stage--onboard{right:1.2rem;top:5.5rem}
.tb-hero__stage--grow{left:7%;bottom:2.5rem}
.tb-hero__badge{position:absolute;right:1.2rem;bottom:1.2rem;z-index:3;padding:.6rem .8rem;border-radius:var(--radius-sm);color:var(--ux-soft);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;white-space:nowrap;border:1px solid color-mix(in srgb,var(--paper-50) 14%,transparent);background:rgba(14,13,10,.72);backdrop-filter:blur(16px)}
@media(max-width:700px){.tb-hero{min-height:34rem}.tb-hero__orbit{width:13rem;height:13rem}.tb-hero__team{width:9rem!important}.tb-hero__team strong{font-size:2rem!important}.tb-hero section{width:46%;padding:.85rem}.tb-hero__stage--hire{left:.75rem;top:.75rem}.tb-hero__stage--onboard{right:.75rem;top:4.5rem}.tb-hero__stage--grow{left:.75rem;bottom:5.5rem}.tb-hero__badge{right:.75rem;bottom:.75rem}}
@media(prefers-reduced-motion:reduce){.uxw-hero__badge,.idea-hero__badge,.bizw-hero__badge,.dd-hero__badge,.tb-hero__badge{transform:none}}

/* ── Ideation opening + story ── */
.idea-opening{display:grid;grid-template-columns:minmax(0,.88fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-11)}
.idea-opening__copy .sp-intro{margin-top:1.25rem}
.idea-opening .sp-pull-quote{margin-top:2.5rem}
.idea-opening__card{padding:clamp(1.75rem,4vw,2.75rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ux-soft) 45%,var(--border));background:var(--ux-wash);box-shadow:var(--shadow-1)}
.idea-opening__card span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.idea-opening__card h2{max-width:16ch;margin:.8rem 0 1rem;color:var(--fg);font:800 clamp(1.6rem,3vw,2.35rem)/1.08 var(--font-display);letter-spacing:var(--tracking-tight)}
.idea-opening__card p{max-width:32ch;margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.idea-story{margin-top:var(--space-11)}
.idea-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}
.idea-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}
.idea-definition h2{max-width:13ch;margin:0}
.idea-definition p{margin:0;color:var(--fg-muted);line-height:1.7}
.idea-methods{margin-top:var(--space-11)}
.idea-methods header{max-width:60ch;margin-bottom:2rem}
.idea-methods header p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.idea-methods__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}
.idea-methods__grid article{min-height:14rem;padding:1.35rem;background:var(--bg-elevated);display:flex;flex-direction:column;gap:.5rem}
.idea-methods__grid article:nth-child(2),.idea-methods__grid article:nth-child(3){background:var(--ux-wash)}
.idea-methods__stage{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.idea-methods__grid h3{margin:0;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.idea-methods__grid p{margin:0;flex:1;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.idea-process{margin-top:var(--space-11)}
.idea-process header{max-width:56ch;margin-bottom:2rem}
.idea-process__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.idea-process__step{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.idea-process__step>span{color:var(--ux-base);font:800 1.2rem/1 var(--font-display)}
.idea-process__step h3{margin:0;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.idea-process__step p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.idea-outputs{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);align-items:start}
.idea-outputs h2{max-width:12ch;margin:.75rem 0 0}
.idea-outputs>div p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.idea-outputs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.idea-outputs li{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.5}
.idea-outputs li strong{display:block;margin-bottom:.25rem;color:var(--fg);font:700 var(--fs-body-sm)/1.2 var(--font-body)}
.idea-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}
.idea-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}
.idea-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.idea-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.idea-opening,.idea-definition>div,.idea-outputs,.idea-deliverables{grid-template-columns:1fr}.idea-methods__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-process__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.idea-story{margin-top:var(--space-9)}.idea-methods__grid,.idea-process__row,.idea-outputs ul,.idea-deliverables ul{grid-template-columns:1fr}.idea-methods__grid article{min-height:0}.idea-deliverables{padding:1.25rem}}

/* ── Business workshops opening + story ── */
.bizw-opening{display:grid;grid-template-columns:minmax(0,.88fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-11)}
.bizw-opening__copy .sp-intro{margin-top:1.25rem}
.bizw-opening .sp-pull-quote{margin-top:2.5rem}
.bizw-opening__card{padding:clamp(1.75rem,4vw,2.75rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ux-soft) 45%,var(--border));background:var(--ux-wash);box-shadow:var(--shadow-1)}
.bizw-opening__card span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.bizw-opening__card h2{max-width:16ch;margin:.8rem 0 1rem;color:var(--fg);font:800 clamp(1.6rem,3vw,2.35rem)/1.08 var(--font-display);letter-spacing:var(--tracking-tight)}
.bizw-opening__card p{max-width:32ch;margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.bizw-story{margin-top:var(--space-11)}
.bizw-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}
.bizw-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}
.bizw-definition h2{max-width:13ch;margin:0}
.bizw-definition p{margin:0;color:var(--fg-muted);line-height:1.7}
.bizw-methods{margin-top:var(--space-11)}
.bizw-methods header{max-width:60ch;margin-bottom:2rem}
.bizw-methods header p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.bizw-methods__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}
.bizw-methods__grid article{min-height:14rem;padding:1.35rem;background:var(--bg-elevated);display:flex;flex-direction:column;gap:.5rem}
.bizw-methods__grid article:nth-child(2),.bizw-methods__grid article:nth-child(3){background:var(--ux-wash)}
.bizw-methods__stage{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.bizw-methods__grid h3{margin:0;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.bizw-methods__grid p{margin:0;flex:1;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.bizw-process{display:grid;grid-template-columns:minmax(18rem,.74fr) minmax(0,1.26fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}
.bizw-process .eyebrow{color:var(--ux-soft)}
.bizw-process h2{max-width:12ch;margin:.75rem 0 0;color:#fff;font:800 clamp(1.9rem,3.3vw,3.2rem)/1 var(--font-display)}
.bizw-process ol{list-style:none;margin:0;padding:0}
.bizw-process li{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}
.bizw-process li:last-child{border-bottom:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}
.bizw-process li>span{color:var(--ux-soft);font:800 1rem/1 var(--font-display)}
.bizw-process h3{margin:0 0 .4rem;color:#fff;font:800 1.1rem/1.15 var(--font-display)}
.bizw-process p{margin:0;color:color-mix(in srgb,var(--paper-50) 72%,transparent)}
.bizw-outputs{margin-top:var(--space-11)}
.bizw-outputs header{max-width:60ch;margin-bottom:2rem}
.bizw-outputs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.bizw-outputs__grid article{padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.bizw-outputs__grid h3{margin:0 0 .5rem;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.bizw-outputs__grid p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.bizw-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}
.bizw-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}
.bizw-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.bizw-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.bizw-opening,.bizw-definition>div,.bizw-process,.bizw-deliverables{grid-template-columns:1fr}.bizw-methods__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bizw-outputs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bizw-story{margin-top:var(--space-9)}.bizw-methods__grid,.bizw-outputs__grid,.bizw-deliverables ul{grid-template-columns:1fr}.bizw-methods__grid article{min-height:0}.bizw-process,.bizw-deliverables{padding:1.25rem}.bizw-process li{grid-template-columns:2.5rem 1fr}}

/* ── Double-diamond opening + story ── */
.dd-opening{display:grid;grid-template-columns:minmax(0,.88fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:var(--space-11)}
.dd-opening__copy .sp-intro{margin-top:1.25rem}
.dd-opening .sp-pull-quote{margin-top:2.5rem}
.dd-opening__card{padding:clamp(1.75rem,4vw,2.75rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ux-soft) 45%,var(--border));background:var(--ux-wash);box-shadow:var(--shadow-1)}
.dd-opening__card span{display:block;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.dd-opening__card h2{max-width:16ch;margin:.8rem 0 1rem;color:var(--fg);font:800 clamp(1.6rem,3vw,2.35rem)/1.08 var(--font-display);letter-spacing:var(--tracking-tight)}
.dd-opening__card p{max-width:32ch;margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.dd-story{margin-top:var(--space-11)}
.dd-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}
.dd-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}
.dd-definition h2{max-width:13ch;margin:0}
.dd-definition p{margin:0;color:var(--fg-muted);line-height:1.7}
.dd-phases{margin-top:var(--space-11)}
.dd-phases header{max-width:60ch;margin-bottom:2rem}
.dd-phases header p{margin-top:.75rem;color:var(--fg-muted);line-height:1.6}
.dd-phases__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}
.dd-phases__grid article{min-height:15rem;padding:1.35rem;background:var(--bg-elevated);display:flex;flex-direction:column;gap:.5rem}
.dd-phases__grid article:nth-child(odd){background:var(--ux-wash)}
.dd-phases__stage{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.dd-phases__grid h3{margin:0;color:var(--fg);font:700 1.05rem/1.2 var(--font-display)}
.dd-phases__grid p{margin:0;flex:1;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.dd-pinch{margin-top:var(--space-11)}
.dd-pinch header{max-width:60ch;margin-bottom:2rem}
.dd-pinch__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.dd-pinch__grid article{padding:1.75rem;border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}
.dd-pinch__grid article>span{display:block;margin-bottom:.75rem;color:var(--ux-soft);font:800 1.4rem/1 var(--font-display)}
.dd-pinch__grid h3{margin:0 0 .5rem;color:#fff;font:800 1.2rem/1.2 var(--font-display)}
.dd-pinch__grid p{margin:0;color:color-mix(in srgb,var(--paper-50) 72%,transparent);line-height:1.55}
.dd-outputs{margin-top:var(--space-11)}
.dd-outputs header{max-width:60ch;margin-bottom:2rem}
.dd-outputs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.dd-outputs__grid article{padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.dd-outputs__grid h3{margin:0 0 .5rem;color:var(--fg);font:700 1.05rem/1.15 var(--font-display)}
.dd-outputs__grid p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}
.dd-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}
.dd-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}
.dd-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.dd-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.dd-opening,.dd-definition>div,.dd-deliverables{grid-template-columns:1fr}.dd-phases__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dd-pinch__grid{grid-template-columns:1fr}.dd-outputs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dd-story{margin-top:var(--space-9)}.dd-phases__grid,.dd-outputs__grid,.dd-deliverables ul{grid-template-columns:1fr}.dd-phases__grid article{min-height:0}.dd-deliverables{padding:1.25rem}}

/* ── Team building story ── */
.tb-story{margin-top:var(--space-10)}.tb-definition{padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--ux-wash),var(--bg-elevated))}.tb-definition>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:1rem}.tb-definition h2{max-width:13ch;margin:0}.tb-definition p,.tb-model header p,.tb-culture p,.tb-collaboration p{margin:0;color:var(--fg-muted);line-height:1.7}
.tb-model{margin-top:var(--space-11)}.tb-model header{display:grid;grid-template-columns:minmax(0,.72fr) minmax(18rem,.8fr);gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2rem}.tb-model header .eyebrow{grid-column:1/-1}.tb-model h2{max-width:12ch;margin:.75rem 0 0}.tb-model__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--border)}.tb-model__grid article{min-height:18rem;padding:1.4rem;background:var(--bg-elevated)}.tb-model__grid article:nth-child(2),.tb-model__grid article:nth-child(3){background:var(--ux-wash)}.tb-model__grid article:nth-child(4){background:var(--surface-inverse-bg);color:var(--surface-inverse-fg)}.tb-model__grid article>span{color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.tb-model__grid article:nth-child(4)>span{color:var(--ux-soft)}.tb-model__grid h3{margin:4rem 0 .7rem;color:var(--fg);font:800 1.25rem/1.08 var(--font-display)}.tb-model__grid article:nth-child(4) h3{color:#fff}.tb-model__grid article p{margin:0;color:var(--fg-muted);font-size:var(--fs-body-sm);line-height:1.55}.tb-model__grid article:nth-child(4) p{color:color-mix(in srgb,var(--paper-50) 72%,transparent)}
.tb-culture{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:var(--space-11)}.tb-culture__board{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.tb-culture__board>span{display:block;margin-bottom:.8rem;color:var(--ux-base);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase}.tb-culture__board p{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;align-items:center;margin:0;padding:1rem 0;border-top:1px solid var(--border);color:var(--fg);font-weight:700}.tb-culture__board p b{color:var(--fg-muted);font:800 var(--fs-micro)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.tb-culture__board strong{display:block;margin-top:1rem;color:var(--fg);font:800 1.2rem/1.15 var(--font-display)}.tb-culture h2{max-width:12ch;margin:.75rem 0 1rem}
.tb-collaboration{display:grid;grid-template-columns:minmax(18rem,.74fr) minmax(0,1.26fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--ink-900);color:var(--paper-50)}.tb-collaboration .eyebrow{color:var(--ux-soft)}.tb-collaboration h2{max-width:12ch;margin:.75rem 0 1rem;color:#fff;font:800 clamp(1.9rem,3.3vw,3.2rem)/1 var(--font-display)}.tb-collaboration p{color:color-mix(in srgb,var(--paper-50) 72%,transparent)}.tb-collaboration ol{list-style:none;margin:0;padding:0}.tb-collaboration li{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.tb-collaboration li:last-child{border-bottom:1px solid color-mix(in srgb,var(--paper-50) 16%,transparent)}.tb-collaboration li>span{color:var(--ux-soft);font:800 1rem/1 var(--font-display)}.tb-collaboration h3{margin:0 0 .4rem;color:#fff;font:800 1.1rem/1.15 var(--font-display)}
.tb-deliverables{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);margin-top:var(--space-11);padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--ux-base) 22%,var(--border));border-radius:var(--radius-xl);background:var(--ux-wash)}.tb-deliverables h2{max-width:14ch;margin:.75rem 0 0;font:800 clamp(1.75rem,3vw,2.7rem)/1 var(--font-display)}.tb-deliverables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.tb-deliverables li{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg);font:700 var(--fs-body-sm)/1.35 var(--font-body)}
@media(max-width:1000px){.app--team-building .sp-hero__layout,.tb-definition>div,.tb-model header,.tb-culture,.tb-collaboration,.tb-deliverables{grid-template-columns:1fr}.tb-model header .eyebrow{grid-column:auto}.tb-model__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tb-story{margin-top:var(--space-9)}.tb-definition,.tb-collaboration,.tb-deliverables{padding:1.25rem}.tb-model__grid,.tb-deliverables ul{grid-template-columns:1fr}.tb-model__grid article{min-height:0}.tb-model__grid h3{margin-top:2.5rem}.tb-collaboration li{grid-template-columns:2.5rem 1fr}}
